{
  "version": 3,
  "sources": ["../../../../src/workers/workflows/wrapped-binding.worker.ts"],
  "sourcesContent": ["import type {\n\tWorkflowBinding,\n\tWorkflowInstanceRestartOptions,\n\tWorkflowInstanceTerminateOptions,\n} from \"@cloudflare/workflows-shared/src/binding\";\nimport type { WorkflowIntrospectionOperation } from \"@cloudflare/workflows-shared/src/types\";\n\nclass WorkflowImpl implements Workflow {\n\tconstructor(private binding: WorkflowBinding) {}\n\n\tasync get(id: string): Promise<WorkflowInstance> {\n\t\tconst instanceHandle = new InstanceImpl(id, this.binding);\n\t\t// throws instance.not_found if instance doesn't exist\n\t\t// this is needed for backwards compat\n\t\tawait instanceHandle.status();\n\t\treturn instanceHandle;\n\t}\n\n\tasync create(\n\t\toptions?: WorkflowInstanceCreateOptions\n\t): Promise<WorkflowInstance> {\n\t\tusing result = (await this.binding.create(options)) as WorkflowInstance &\n\t\t\tDisposable;\n\n\t\treturn new InstanceImpl(result.id, this.binding);\n\t}\n\n\tasync createBatch(\n\t\toptions: WorkflowInstanceCreateOptions[]\n\t): Promise<WorkflowInstance[]> {\n\t\tconst result = await this.binding.createBatch(options);\n\t\treturn result.map((res) => {\n\t\t\treturn new InstanceImpl(res.id, this.binding);\n\t\t});\n\t}\n\n\tasync unsafeGetBindingName(): Promise<string> {\n\t\treturn this.binding.unsafeGetBindingName();\n\t}\n\n\tasync unsafeStartIntrospection(): Promise<string> {\n\t\treturn this.binding.unsafeStartIntrospection();\n\t}\n\n\tasync unsafeStopIntrospection(sessionId: string): Promise<void> {\n\t\treturn this.binding.unsafeStopIntrospection(sessionId);\n\t}\n\n\tasync unsafeSetIntrospectionOperations(\n\t\tsessionId: string,\n\t\toperations: WorkflowIntrospectionOperation[]\n\t): Promise<void> {\n\t\treturn this.binding.unsafeSetIntrospectionOperations(sessionId, operations);\n\t}\n\n\tasync unsafeGetIntrospectionInstances(sessionId: string): Promise<string[]> {\n\t\treturn this.binding.unsafeGetIntrospectionInstances(sessionId);\n\t}\n\n\tasync unsafeAbort(instanceId: string, reason?: string): Promise<void> {\n\t\treturn this.binding.unsafeAbort(instanceId, reason);\n\t}\n\n\tasync unsafeGetInstanceModifier(instanceId: string): Promise<unknown> {\n\t\treturn this.binding.unsafeGetInstanceModifier(instanceId);\n\t}\n\n\tasync unsafeWaitForStepResult(\n\t\tinstanceId: string,\n\t\tname: string,\n\t\tindex?: number\n\t): Promise<unknown> {\n\t\treturn this.binding.unsafeWaitForStepResult(instanceId, name, index);\n\t}\n\n\tasync unsafeWaitForStatus(instanceId: string, status: string): Promise<void> {\n\t\treturn await this.binding.unsafeWaitForStatus(instanceId, status);\n\t}\n\n\tpublic async unsafeGetOutputOrError(\n\t\tinstanceId: string,\n\t\tisOutput: boolean\n\t): Promise<unknown> {\n\t\treturn this.binding.unsafeGetOutputOrError(instanceId, isOutput);\n\t}\n}\n\nclass InstanceImpl implements WorkflowInstance {\n\tconstructor(\n\t\tpublic id: string,\n\t\tprivate binding: WorkflowBinding\n\t) {}\n\n\tprivate async getInstance(): Promise<WorkflowInstance & Disposable> {\n\t\treturn (await this.binding.get(this.id)) as WorkflowInstance & Disposable;\n\t}\n\n\tpublic async pause(): Promise<void> {\n\t\tusing instance = await this.getInstance();\n\t\tawait instance.pause();\n\t}\n\n\tpublic async resume(): Promise<void> {\n\t\tusing instance = await this.getInstance();\n\t\tawait instance.resume();\n\t}\n\n\tpublic async terminate(\n\t\toptions?: WorkflowInstanceTerminateOptions\n\t): Promise<void> {\n\t\tusing instance = await this.getInstance();\n\t\t// TODO(vaish): remove cast once @cloudflare/workers-types ships terminate options\n\t\tawait (\n\t\t\tinstance.terminate as (\n\t\t\t\toptions?: WorkflowInstanceTerminateOptions\n\t\t\t) => Promise<void>\n\t\t)(options);\n\t}\n\n\tpublic async restart(\n\t\toptions?: WorkflowInstanceRestartOptions\n\t): Promise<void> {\n\t\tusing instance = await this.getInstance();\n\t\tawait instance.restart(options);\n\t}\n\n\tpublic async status(): Promise<InstanceStatus> {\n\t\tusing instance = await this.getInstance();\n\t\tusing res = (await instance.status()) as InstanceStatus & Disposable;\n\t\treturn structuredClone(res);\n\t}\n\n\tpublic async sendEvent(args: {\n\t\tpayload: unknown;\n\t\ttype: string;\n\t}): Promise<void> {\n\t\tusing instance = await this.getInstance();\n\t\tawait instance.sendEvent(args);\n\t}\n}\n\nexport function makeBinding(env: { binding: WorkflowBinding }): Workflow {\n\treturn new WorkflowImpl(env.binding);\n}\n\nexport default makeBinding;\n"],
  "mappings": ";AAOA,IAAM,eAAN,MAAuC;AAAA,EACtC,YAAoB,SAA0B;AAA1B;AAAA,EAA2B;AAAA,EAA3B;AAAA,EAEpB,MAAM,IAAI,IAAuC;AAChD,QAAM,iBAAiB,IAAI,aAAa,IAAI,KAAK,OAAO;AAGxD,iBAAM,eAAe,OAAO,GACrB;AAAA,EACR;AAAA,EAEA,MAAM,OACL,SAC4B;AAC5B,UAAM,SAAU,MAAM,KAAK,QAAQ,OAAO,OAAO;AAGjD,WAAO,IAAI,aAAa,OAAO,IAAI,KAAK,OAAO;AAAA,EAChD;AAAA,EAEA,MAAM,YACL,SAC8B;AAE9B,YADe,MAAM,KAAK,QAAQ,YAAY,OAAO,GACvC,IAAI,CAAC,QACX,IAAI,aAAa,IAAI,IAAI,KAAK,OAAO,CAC5C;AAAA,EACF;AAAA,EAEA,MAAM,uBAAwC;AAC7C,WAAO,KAAK,QAAQ,qBAAqB;AAAA,EAC1C;AAAA,EAEA,MAAM,2BAA4C;AACjD,WAAO,KAAK,QAAQ,yBAAyB;AAAA,EAC9C;AAAA,EAEA,MAAM,wBAAwB,WAAkC;AAC/D,WAAO,KAAK,QAAQ,wBAAwB,SAAS;AAAA,EACtD;AAAA,EAEA,MAAM,iCACL,WACA,YACgB;AAChB,WAAO,KAAK,QAAQ,iCAAiC,WAAW,UAAU;AAAA,EAC3E;AAAA,EAEA,MAAM,gCAAgC,WAAsC;AAC3E,WAAO,KAAK,QAAQ,gCAAgC,SAAS;AAAA,EAC9D;AAAA,EAEA,MAAM,YAAY,YAAoB,QAAgC;AACrE,WAAO,KAAK,QAAQ,YAAY,YAAY,MAAM;AAAA,EACnD;AAAA,EAEA,MAAM,0BAA0B,YAAsC;AACrE,WAAO,KAAK,QAAQ,0BAA0B,UAAU;AAAA,EACzD;AAAA,EAEA,MAAM,wBACL,YACA,MACA,OACmB;AACnB,WAAO,KAAK,QAAQ,wBAAwB,YAAY,MAAM,KAAK;AAAA,EACpE;AAAA,EAEA,MAAM,oBAAoB,YAAoB,QAA+B;AAC5E,WAAO,MAAM,KAAK,QAAQ,oBAAoB,YAAY,MAAM;AAAA,EACjE;AAAA,EAEA,MAAa,uBACZ,YACA,UACmB;AACnB,WAAO,KAAK,QAAQ,uBAAuB,YAAY,QAAQ;AAAA,EAChE;AACD,GAEM,eAAN,MAA+C;AAAA,EAC9C,YACQ,IACC,SACP;AAFM;AACC;AAAA,EACN;AAAA,EAFK;AAAA,EACC;AAAA,EAGT,MAAc,cAAsD;AACnE,WAAQ,MAAM,KAAK,QAAQ,IAAI,KAAK,EAAE;AAAA,EACvC;AAAA,EAEA,MAAa,QAAuB;AACnC,UAAM,WAAW,MAAM,KAAK,YAAY;AACxC,UAAM,SAAS,MAAM;AAAA,EACtB;AAAA,EAEA,MAAa,SAAwB;AACpC,UAAM,WAAW,MAAM,KAAK,YAAY;AACxC,UAAM,SAAS,OAAO;AAAA,EACvB;AAAA,EAEA,MAAa,UACZ,SACgB;AAChB,UAAM,WAAW,MAAM,KAAK,YAAY;AAExC,UACC,SAAS,UAGR,OAAO;AAAA,EACV;AAAA,EAEA,MAAa,QACZ,SACgB;AAChB,UAAM,WAAW,MAAM,KAAK,YAAY;AACxC,UAAM,SAAS,QAAQ,OAAO;AAAA,EAC/B;AAAA,EAEA,MAAa,SAAkC;AAC9C,UAAM,WAAW,MAAM,KAAK,YAAY,GAClC,MAAO,MAAM,SAAS,OAAO;AACnC,WAAO,gBAAgB,GAAG;AAAA,EAC3B;AAAA,EAEA,MAAa,UAAU,MAGL;AACjB,UAAM,WAAW,MAAM,KAAK,YAAY;AACxC,UAAM,SAAS,UAAU,IAAI;AAAA,EAC9B;AACD;AAEO,SAAS,YAAY,KAA6C;AACxE,SAAO,IAAI,aAAa,IAAI,OAAO;AACpC;AAEA,IAAO,iCAAQ;",
  "names": []
}
