rivetkit 2.1.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/client.d.ts +22 -2
- package/dist/browser/client.js +1 -1
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +1 -1
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/inspector.tar.gz +0 -0
- package/dist/tsup/{chunk-65RINRXE.cjs → chunk-772NPMTY.cjs} +98 -98
- package/dist/tsup/{chunk-65RINRXE.cjs.map → chunk-772NPMTY.cjs.map} +1 -1
- package/dist/tsup/{chunk-NAM3D5W5.js → chunk-BFI4LYS2.js} +5 -6
- package/dist/tsup/chunk-BFI4LYS2.js.map +1 -0
- package/dist/tsup/{chunk-OONQLPOH.js → chunk-BSIJG3LG.js} +7 -7
- package/dist/tsup/chunk-BSIJG3LG.js.map +1 -0
- package/dist/tsup/{chunk-WPDQXB7R.cjs → chunk-GVQAVU7R.cjs} +4 -4
- package/dist/tsup/{chunk-WPDQXB7R.cjs.map → chunk-GVQAVU7R.cjs.map} +1 -1
- package/dist/tsup/{chunk-AWJU3AZB.js → chunk-HB4RGGMC.js} +5 -5
- package/dist/tsup/{chunk-LNDVGTPQ.cjs → chunk-HFWRHT5T.cjs} +24 -10
- package/dist/tsup/chunk-HFWRHT5T.cjs.map +1 -0
- package/dist/tsup/{chunk-Q5CW77IT.cjs → chunk-MNS5LY6M.cjs} +81 -75
- package/dist/tsup/chunk-MNS5LY6M.cjs.map +1 -0
- package/dist/tsup/{chunk-ZR76ZGYS.cjs → chunk-NXEHFUDB.cjs} +20 -20
- package/dist/tsup/chunk-NXEHFUDB.cjs.map +1 -0
- package/dist/tsup/{chunk-XQWBEBLD.js → chunk-PSUVV4HM.js} +23 -9
- package/dist/tsup/{chunk-XQWBEBLD.js.map → chunk-PSUVV4HM.js.map} +1 -1
- package/dist/tsup/{chunk-VBU4P2IX.js → chunk-PW3YONDJ.js} +2 -2
- package/dist/tsup/{chunk-AGERRJ32.cjs → chunk-PZAV6PP2.cjs} +152 -152
- package/dist/tsup/{chunk-AGERRJ32.cjs.map → chunk-PZAV6PP2.cjs.map} +1 -1
- package/dist/tsup/{chunk-LPXB254R.cjs → chunk-QABDKI3W.cjs} +236 -237
- package/dist/tsup/chunk-QABDKI3W.cjs.map +1 -0
- package/dist/tsup/{chunk-T4PQK4WA.js → chunk-RHUII57M.js} +7 -8
- package/dist/tsup/chunk-RHUII57M.js.map +1 -0
- package/dist/tsup/{chunk-MMUXNMJF.cjs → chunk-RMJJE43B.cjs} +2 -2
- package/dist/tsup/{chunk-MMUXNMJF.cjs.map → chunk-RMJJE43B.cjs.map} +1 -1
- package/dist/tsup/{chunk-WTRB56DR.js → chunk-TDFDR7AO.js} +2 -2
- package/dist/tsup/{chunk-F5B36GL7.cjs → chunk-UZV7NXC6.cjs} +31 -32
- package/dist/tsup/chunk-UZV7NXC6.cjs.map +1 -0
- package/dist/tsup/{chunk-MICYEINX.js → chunk-VMX4I4MP.js} +10 -4
- package/dist/tsup/{chunk-MICYEINX.js.map → chunk-VMX4I4MP.js.map} +1 -1
- package/dist/tsup/{chunk-IZ4M5TJU.js → chunk-WUXR722E.js} +2 -2
- package/dist/tsup/{chunk-IZ4M5TJU.js.map → chunk-WUXR722E.js.map} +1 -1
- package/dist/tsup/{chunk-74ER4FEE.js → chunk-YQ5P6KMN.js} +4 -4
- package/dist/tsup/chunk-YQ5P6KMN.js.map +1 -0
- package/dist/tsup/{chunk-FUBHHHK5.cjs → chunk-ZHQDRRMY.cjs} +3 -3
- package/dist/tsup/{chunk-FUBHHHK5.cjs.map → chunk-ZHQDRRMY.cjs.map} +1 -1
- package/dist/tsup/client/mod.cjs +6 -6
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +5 -5
- package/dist/tsup/common/log.cjs +2 -2
- package/dist/tsup/common/log.js +1 -1
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/{config-BFqid9Gr.d.ts → config-P3XujgRr.d.ts} +23 -3
- package/dist/tsup/{config-CAZphOS1.d.cts → config-_gfywqqI.d.cts} +23 -3
- package/dist/tsup/{context-7X-Dm6_f.d.cts → context-Bxd8Cx4H.d.cts} +5 -5
- package/dist/tsup/{context-x9zKhx5T.d.ts → context-uNA4TRn3.d.ts} +5 -5
- package/dist/tsup/{driver-DYXwJR5D.d.cts → driver-BcLvZcKl.d.cts} +1 -1
- package/dist/tsup/{driver-Bxv62E2p.d.ts → driver-CPGHKXyh.d.ts} +1 -1
- package/dist/tsup/driver-helpers/mod.cjs +6 -4
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +16 -4
- package/dist/tsup/driver-helpers/mod.d.ts +16 -4
- package/dist/tsup/driver-helpers/mod.js +6 -4
- package/dist/tsup/driver-test-suite/mod.cjs +64 -64
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
- package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
- package/dist/tsup/driver-test-suite/mod.js +14 -14
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +3 -3
- package/dist/tsup/inspector/mod.js +2 -2
- package/dist/tsup/mod.cjs +8 -8
- package/dist/tsup/mod.d.cts +5 -5
- package/dist/tsup/mod.d.ts +5 -5
- package/dist/tsup/mod.js +7 -7
- package/dist/tsup/serve-test-suite/mod.cjs +126 -118
- package/dist/tsup/serve-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/serve-test-suite/mod.js +37 -29
- package/dist/tsup/serve-test-suite/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +10 -10
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +6 -6
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/dist/tsup/workflow/mod.cjs +5 -5
- package/dist/tsup/workflow/mod.d.cts +3 -3
- package/dist/tsup/workflow/mod.d.ts +3 -3
- package/dist/tsup/workflow/mod.js +4 -4
- package/package.json +5 -5
- package/src/actor/instance/queue.ts +67 -9
- package/src/driver-helpers/mod.ts +1 -1
- package/src/driver-helpers/utils.ts +18 -0
- package/src/driver-test-suite/tests/actor-queue.ts +4 -4
- package/src/drivers/file-system/actor.ts +6 -16
- package/src/engine-process/mod.ts +1 -1
- package/src/workflow/context.ts +5 -4
- package/dist/tsup/chunk-74ER4FEE.js.map +0 -1
- package/dist/tsup/chunk-F5B36GL7.cjs.map +0 -1
- package/dist/tsup/chunk-LNDVGTPQ.cjs.map +0 -1
- package/dist/tsup/chunk-LPXB254R.cjs.map +0 -1
- package/dist/tsup/chunk-NAM3D5W5.js.map +0 -1
- package/dist/tsup/chunk-OONQLPOH.js.map +0 -1
- package/dist/tsup/chunk-Q5CW77IT.cjs.map +0 -1
- package/dist/tsup/chunk-T4PQK4WA.js.map +0 -1
- package/dist/tsup/chunk-ZR76ZGYS.cjs.map +0 -1
- /package/dist/tsup/{chunk-AWJU3AZB.js.map → chunk-HB4RGGMC.js.map} +0 -0
- /package/dist/tsup/{chunk-VBU4P2IX.js.map → chunk-PW3YONDJ.js.map} +0 -0
- /package/dist/tsup/{chunk-WTRB56DR.js.map → chunk-TDFDR7AO.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-ZR76ZGYS.cjs","../../src/workflow/mod.ts","../../src/workflow/constants.ts","../../src/workflow/context.ts","../../src/workflow/driver.ts","../../src/workflow/inspector.ts"],"names":[],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-ZR76ZGYS.cjs","sourcesContent":[null,"import { ACTOR_CONTEXT_INTERNAL_SYMBOL } from \"@/actor/contexts/base/actor\";\nimport type { RunContext } from \"@/actor/contexts/run\";\nimport type { AnyDatabaseProvider } from \"@/actor/database\";\nimport type { AnyActorInstance } from \"@/actor/instance/mod\";\nimport type { EventSchemaConfig, QueueSchemaConfig } from \"@/actor/schema\";\nimport { RUN_FUNCTION_CONFIG_SYMBOL } from \"@/actor/config\";\nimport { stringifyError } from \"@/utils\";\nimport { runWorkflow } from \"@rivetkit/workflow-engine\";\nimport invariant from \"invariant\";\nimport { ActorWorkflowContext } from \"./context\";\nimport { ActorWorkflowDriver } from \"./driver\";\nimport { createWorkflowInspectorAdapter } from \"./inspector\";\n\nexport { Loop } from \"@rivetkit/workflow-engine\";\nexport {\n\tActorWorkflowContext,\n\ttype WorkflowBranchContextOf,\n\ttype WorkflowContextOf,\n\ttype WorkflowLoopContextOf,\n\ttype WorkflowStepContextOf,\n} from \"./context\";\n\nexport function workflow<\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig = Record<never, never>,\n\tTQueues extends QueueSchemaConfig = Record<never, never>,\n>(\n\tfn: (\n\t\tctx: ActorWorkflowContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t) => Promise<unknown>,\n): (\n\tc: RunContext<\n\t\tTState,\n\t\tTConnParams,\n\t\tTConnState,\n\t\tTVars,\n\t\tTInput,\n\t\tTDatabase,\n\t\tTEvents,\n\t\tTQueues\n\t>,\n) => Promise<void> {\n\tconst workflowInspector = createWorkflowInspectorAdapter();\n\n\tasync function run(\n\t\trunCtx: RunContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t): Promise<void> {\n\t\tconst actor = (\n\t\t\trunCtx as unknown as {\n\t\t\t\t[ACTOR_CONTEXT_INTERNAL_SYMBOL]?: AnyActorInstance;\n\t\t\t}\n\t\t)[ACTOR_CONTEXT_INTERNAL_SYMBOL];\n\t\tinvariant(actor, \"workflow() requires an actor instance\");\n\n\t\tconst driver = new ActorWorkflowDriver(actor, runCtx);\n\n\t\tconst handle = runWorkflow(\n\t\t\tactor.id,\n\t\t\tasync (ctx) => await fn(new ActorWorkflowContext(ctx, runCtx)),\n\t\t\tundefined,\n\t\t\tdriver,\n\t\t\t{\n\t\t\t\tmode: \"live\",\n\t\t\t\tlogger: runCtx.log,\n\t\t\t\tonHistoryUpdated: workflowInspector.update,\n\t\t\t},\n\t\t);\n\n\t\tconst onAbort = () => {\n\t\t\thandle.evict();\n\t\t};\n\t\tif (runCtx.abortSignal.aborted) {\n\t\t\tonAbort();\n\t\t} else {\n\t\t\trunCtx.abortSignal.addEventListener(\"abort\", onAbort, {\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t}\n\n\t\ttry {\n\t\t\tawait handle.result;\n\t\t} catch (error) {\n\t\t\trunCtx.log.error({\n\t\t\t\tmsg: \"workflow run failed\",\n\t\t\t\terror: stringifyError(error),\n\t\t\t});\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\trunCtx.abortSignal.removeEventListener(\"abort\", onAbort);\n\t\t}\n\t}\n\n\tconst runWithConfig = run as typeof run & {\n\t\t[RUN_FUNCTION_CONFIG_SYMBOL]?: {\n\t\t\ticon?: string;\n\t\t\tinspector?: { workflow: typeof workflowInspector.adapter };\n\t\t};\n\t};\n\trunWithConfig[RUN_FUNCTION_CONFIG_SYMBOL] = {\n\t\ticon: \"diagram-project\",\n\t\tinspector: { workflow: workflowInspector.adapter },\n\t};\n\n\treturn runWithConfig;\n}\n","export const WORKFLOW_GUARD_KV_KEY =\n\t\"__rivet_actor_workflow_guard_triggered\";\n","import type { RunContext } from \"@/actor/contexts/run\";\nimport type { Client } from \"@/client/client\";\nimport type { Registry } from \"@/registry\";\nimport type { ActorDefinition, AnyActorDefinition } from \"@/actor/definition\";\nimport type { AnyDatabaseProvider, InferDatabaseClient } from \"@/actor/database\";\nimport type {\n\tQueueFilterName,\n\tQueueNextOptions,\n\tQueueResultMessageForName,\n} from \"@/actor/instance/queue\";\nimport type {\n\tEventSchemaConfig,\n\tInferEventArgs,\n\tInferSchemaMap,\n\tQueueSchemaConfig,\n} from \"@/actor/schema\";\nimport type { WorkflowContextInterface } from \"@rivetkit/workflow-engine\";\nimport type {\n\tBranchConfig,\n\tBranchOutput,\n\tEntryKindType,\n\tLoopConfig,\n\tLoopResult,\n\tStepConfig,\n\tWorkflowQueueMessage,\n} from \"@rivetkit/workflow-engine\";\nimport { WORKFLOW_GUARD_KV_KEY } from \"./constants\";\n\ntype WorkflowActorQueueNextOptions<\n\tTName extends string,\n\tTCompletable extends boolean,\n> = Omit<QueueNextOptions<TName, TCompletable>, \"signal\" | \"count\">;\n\ntype WorkflowActorQueueNextOptionsFallback<TCompletable extends boolean> = Omit<\n\tQueueNextOptions<string, TCompletable>,\n\t\"signal\" | \"count\"\n>;\n\ntype WorkflowActorQueueNextBatchOptions<\n\tTName extends string,\n\tTCompletable extends boolean,\n> = Omit<QueueNextOptions<TName, TCompletable>, \"signal\">;\n\ntype WorkflowActorQueueNextBatchOptionsFallback<\n\tTCompletable extends boolean,\n> = Omit<QueueNextOptions<string, TCompletable>, \"signal\">;\n\ntype ActorWorkflowLoopConfig<\n\tS,\n\tT,\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig,\n\tTQueues extends QueueSchemaConfig,\n> = Omit<LoopConfig<S, T>, \"run\"> & {\n\trun: (\n\t\tctx: ActorWorkflowContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t\tstate: S,\n\t) => Promise<LoopResult<S, T> | (S extends undefined ? void : never)>;\n};\n\ntype ActorWorkflowBranchConfig<\n\tTOutput,\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig,\n\tTQueues extends QueueSchemaConfig,\n> = {\n\trun: (\n\t\tctx: ActorWorkflowContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t) => Promise<TOutput>;\n};\n\nexport class ActorWorkflowContext<\n\tTState,\n\tTConnParams,\n\tTConnState,\n\tTVars,\n\tTInput,\n\tTDatabase extends AnyDatabaseProvider,\n\tTEvents extends EventSchemaConfig = Record<never, never>,\n\tTQueues extends QueueSchemaConfig = Record<never, never>,\n> implements WorkflowContextInterface\n{\n\t#inner: WorkflowContextInterface;\n\t#runCtx: RunContext<\n\t\tTState,\n\t\tTConnParams,\n\t\tTConnState,\n\t\tTVars,\n\t\tTInput,\n\t\tTDatabase,\n\t\tTEvents,\n\t\tTQueues\n\t>;\n\t#actorAccessDepth = 0;\n\t#allowActorAccess = false;\n\t#guardViolation = false;\n\n\tconstructor(\n\t\tinner: WorkflowContextInterface,\n\t\trunCtx: RunContext<\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t) {\n\t\tthis.#inner = inner;\n\t\tthis.#runCtx = runCtx;\n\t}\n\n\tget workflowId(): string {\n\t\treturn this.#inner.workflowId;\n\t}\n\n\tget abortSignal(): AbortSignal {\n\t\treturn this.#inner.abortSignal;\n\t}\n\n\tget queue() {\n\t\tconst self = this;\n\t\tfunction next<\n\t\t\tconst TName extends QueueFilterName<TQueues>,\n\t\t\tconst TCompletable extends boolean = false,\n\t\t>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextOptions<TName, TCompletable>,\n\t\t): Promise<QueueResultMessageForName<TQueues, TName, TCompletable>>;\n\t\tfunction next<const TCompletable extends boolean = false>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextOptionsFallback<TCompletable>,\n\t\t): Promise<\n\t\t\tQueueResultMessageForName<\n\t\t\t\tTQueues,\n\t\t\t\tQueueFilterName<TQueues>,\n\t\t\t\tTCompletable\n\t\t\t>\n\t\t>;\n\t\tasync function next(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextOptions<string, boolean>,\n\t\t): Promise<WorkflowQueueMessage<unknown>> {\n\t\t\tconst message = await self.#inner.queue.next(name, opts);\n\t\t\treturn self.#toActorQueueMessage(message);\n\t\t}\n\n\t\tfunction nextBatch<\n\t\t\tconst TName extends QueueFilterName<TQueues>,\n\t\t\tconst TCompletable extends boolean = false,\n\t\t>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextBatchOptions<TName, TCompletable>,\n\t\t): Promise<Array<QueueResultMessageForName<TQueues, TName, TCompletable>>>;\n\t\tfunction nextBatch<const TCompletable extends boolean = false>(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextBatchOptionsFallback<TCompletable>,\n\t\t): Promise<\n\t\t\tArray<\n\t\t\t\tQueueResultMessageForName<\n\t\t\t\t\tTQueues,\n\t\t\t\t\tQueueFilterName<TQueues>,\n\t\t\t\t\tTCompletable\n\t\t\t\t>\n\t\t\t>\n\t\t>;\n\t\tasync function nextBatch(\n\t\t\tname: string,\n\t\t\topts?: WorkflowActorQueueNextBatchOptions<string, boolean>,\n\t\t): Promise<Array<WorkflowQueueMessage<unknown>>> {\n\t\t\tconst messages = await self.#inner.queue.nextBatch(name, opts);\n\t\t\treturn messages.map((message) => self.#toActorQueueMessage(message));\n\t\t}\n\n\t\tfunction send<K extends keyof TQueues & string>(\n\t\t\tname: K,\n\t\t\tbody: InferSchemaMap<TQueues>[K],\n\t\t): Promise<void>;\n\t\tfunction send(\n\t\t\tname: keyof TQueues extends never ? string : never,\n\t\t\tbody: unknown,\n\t\t): Promise<void>;\n\t\tasync function send(name: string, body: unknown): Promise<void> {\n\t\t\tawait self.#runCtx.queue.send(name as never, body as never);\n\t\t}\n\n\t\treturn {\n\t\t\tnext,\n\t\t\tnextBatch,\n\t\t\tsend,\n\t\t};\n\t}\n\n\tasync step<T>(\n\t\tnameOrConfig: string | Parameters<WorkflowContextInterface[\"step\"]>[0],\n\t\trun?: () => Promise<T>,\n\t): Promise<T> {\n\t\tif (typeof nameOrConfig === \"string\") {\n\t\t\tif (!run) {\n\t\t\t\tthrow new Error(\"Step run function missing\");\n\t\t\t}\n\t\t\treturn await this.#wrapActive(() =>\n\t\t\t\tthis.#inner.step(nameOrConfig, () => this.#withActorAccess(run)),\n\t\t\t);\n\t\t}\n\t\tconst stepConfig = nameOrConfig as StepConfig<T>;\n\t\tconst config: StepConfig<T> = {\n\t\t\t...stepConfig,\n\t\t\trun: () => this.#withActorAccess(stepConfig.run),\n\t\t};\n\t\treturn await this.#wrapActive(() => this.#inner.step(config));\n\t}\n\n\tasync loop<T>(\n\t\tname: string,\n\t\trun: (\n\t\t\tctx: ActorWorkflowContext<\n\t\t\t\tTState,\n\t\t\t\tTConnParams,\n\t\t\t\tTConnState,\n\t\t\t\tTVars,\n\t\t\t\tTInput,\n\t\t\t\tTDatabase,\n\t\t\t\tTEvents,\n\t\t\t\tTQueues\n\t\t\t>,\n\t\t) => Promise<LoopResult<undefined, T> | void>,\n\t): Promise<T>;\n\tasync loop<T>(\n\t\tname: string,\n\t\trun: (\n\t\t\tctx: WorkflowContextInterface,\n\t\t) => Promise<LoopResult<undefined, T> | void>,\n\t): Promise<T>;\n\tasync loop<S, T>(\n\t\tconfig: ActorWorkflowLoopConfig<\n\t\t\tS,\n\t\t\tT,\n\t\t\tTState,\n\t\t\tTConnParams,\n\t\t\tTConnState,\n\t\t\tTVars,\n\t\t\tTInput,\n\t\t\tTDatabase,\n\t\t\tTEvents,\n\t\t\tTQueues\n\t\t>,\n\t): Promise<T>;\n\tasync loop<S, T>(config: LoopConfig<S, T>): Promise<T>;\n\tasync loop(\n\t\tnameOrConfig:\n\t\t\t| string\n\t\t\t| LoopConfig<any, any>\n\t\t\t| ActorWorkflowLoopConfig<\n\t\t\t\t\tany,\n\t\t\t\t\tany,\n\t\t\t\t\tTState,\n\t\t\t\t\tTConnParams,\n\t\t\t\t\tTConnState,\n\t\t\t\t\tTVars,\n\t\t\t\t\tTInput,\n\t\t\t\t\tTDatabase,\n\t\t\t\t\tTEvents,\n\t\t\t\t\tTQueues\n\t\t\t >,\n\t\trun?: (\n\t\t\tctx: ActorWorkflowContext<\n\t\t\t\tTState,\n\t\t\t\tTConnParams,\n\t\t\t\tTConnState,\n\t\t\t\tTVars,\n\t\t\t\tTInput,\n\t\t\t\tTDatabase,\n\t\t\t\tTEvents,\n\t\t\t\tTQueues\n\t\t\t>,\n\t\t) => Promise<LoopResult<undefined, any> | void>,\n\t): Promise<any> {\n\t\tif (typeof nameOrConfig === \"string\") {\n\t\t\tif (!run) {\n\t\t\t\tthrow new Error(\"Loop run function missing\");\n\t\t\t}\n\t\t\treturn await this.#wrapActive(() =>\n\t\t\t\tthis.#inner.loop(nameOrConfig, async (ctx) =>\n\t\t\t\t\trun(this.#createChildContext(ctx)),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tconst wrapped: LoopConfig<any, any> = {\n\t\t\t...nameOrConfig,\n\t\t\trun: async (ctx, state) =>\n\t\t\t\tnameOrConfig.run(this.#createChildContext(ctx), state),\n\t\t};\n\t\treturn await this.#wrapActive(() => this.#inner.loop(wrapped));\n\t}\n\n\tsleep(name: string, durationMs: number): Promise<void> {\n\t\treturn this.#inner.sleep(name, durationMs);\n\t}\n\n\tsleepUntil(name: string, timestampMs: number): Promise<void> {\n\t\treturn this.#inner.sleepUntil(name, timestampMs);\n\t}\n\n\tasync rollbackCheckpoint(name: string): Promise<void> {\n\t\tawait this.#wrapActive(() => this.#inner.rollbackCheckpoint(name));\n\t}\n\n\tasync join<\n\t\tT extends Record<\n\t\t\tstring,\n\t\t\tActorWorkflowBranchConfig<\n\t\t\t\tunknown,\n\t\t\t\tTState,\n\t\t\t\tTConnParams,\n\t\t\t\tTConnState,\n\t\t\t\tTVars,\n\t\t\t\tTInput,\n\t\t\t\tTDatabase,\n\t\t\t\tTEvents,\n\t\t\t\tTQueues\n\t\t\t>\n\t\t>,\n\t>(\n\t\tname: string,\n\t\tbranches: T,\n\t): Promise<{ [K in keyof T]: Awaited<ReturnType<T[K][\"run\"]>> }>;\n\tasync join<T extends Record<string, BranchConfig<unknown>>>(\n\t\tname: string,\n\t\tbranches: T,\n\t): Promise<{ [K in keyof T]: BranchOutput<T[K]> }>;\n\tasync join(name: string, branches: Record<string, BranchConfig<unknown>>) {\n\t\tconst wrappedBranches = Object.fromEntries(\n\t\t\tObject.entries(branches).map(([key, branch]) => [\n\t\t\t\tkey,\n\t\t\t\t{\n\t\t\t\t\trun: async (ctx: WorkflowContextInterface) =>\n\t\t\t\t\t\tbranch.run(this.#createChildContext(ctx)),\n\t\t\t\t},\n\t\t\t]),\n\t\t) as Record<string, BranchConfig<unknown>>;\n\t\treturn await this.#wrapActive(() =>\n\t\t\tthis.#inner.join(name, wrappedBranches),\n\t\t);\n\t}\n\n\tasync race<T>(\n\t\tname: string,\n\t\tbranches: Array<{\n\t\t\tname: string;\n\t\t\trun: (\n\t\t\t\tctx: ActorWorkflowContext<\n\t\t\t\t\tTState,\n\t\t\t\t\tTConnParams,\n\t\t\t\t\tTConnState,\n\t\t\t\t\tTVars,\n\t\t\t\t\tTInput,\n\t\t\t\t\tTDatabase,\n\t\t\t\t\tTEvents,\n\t\t\t\t\tTQueues\n\t\t\t\t>,\n\t\t\t) => Promise<T>;\n\t\t}>,\n\t): Promise<{ winner: string; value: T }>;\n\tasync race<T>(\n\t\tname: string,\n\t\tbranches: Array<{\n\t\t\tname: string;\n\t\t\trun: (ctx: WorkflowContextInterface) => Promise<T>;\n\t\t}>,\n\t): Promise<{ winner: string; value: T }> {\n\t\tconst wrappedBranches = branches.map((branch) => ({\n\t\t\tname: branch.name,\n\t\t\trun: (ctx: WorkflowContextInterface) =>\n\t\t\t\tbranch.run(this.#createChildContext(ctx)),\n\t\t}));\n\t\treturn (await this.#wrapActive(() =>\n\t\t\tthis.#inner.race(name, wrappedBranches),\n\t\t)) as { winner: string; value: T };\n\t}\n\n\tasync removed(name: string, originalType: EntryKindType): Promise<void> {\n\t\tawait this.#wrapActive(() => this.#inner.removed(name, originalType));\n\t}\n\n\tisEvicted(): boolean {\n\t\treturn this.#inner.isEvicted();\n\t}\n\n\tget state(): TState extends never ? never : TState {\n\t\tthis.#ensureActorAccess(\"state\");\n\t\treturn this.#runCtx.state as TState extends never ? never : TState;\n\t}\n\n\tget vars(): TVars extends never ? never : TVars {\n\t\tthis.#ensureActorAccess(\"vars\");\n\t\treturn this.#runCtx.vars as TVars extends never ? never : TVars;\n\t}\n\n\tclient<R extends Registry<any>>(): Client<R> {\n\t\tthis.#ensureActorAccess(\"client\");\n\t\treturn this.#runCtx.client<R>();\n\t}\n\n\tget db(): TDatabase extends never ? never : InferDatabaseClient<TDatabase> {\n\t\tthis.#ensureActorAccess(\"db\");\n\t\treturn this.#runCtx.db as TDatabase extends never\n\t\t\t? never\n\t\t\t: InferDatabaseClient<TDatabase>;\n\t}\n\n\tget log() {\n\t\treturn this.#runCtx.log;\n\t}\n\n\tkeepAwake<T>(promise: Promise<T>): Promise<T> {\n\t\treturn this.#runCtx.keepAwake(promise);\n\t}\n\n\twaitUntil(promise: Promise<void>): void {\n\t\tthis.#runCtx.waitUntil(promise);\n\t}\n\n\tget actorId(): string {\n\t\treturn this.#runCtx.actorId;\n\t}\n\n\tbroadcast<K extends keyof TEvents & string>(\n\t\tname: K,\n\t\t...args: InferEventArgs<InferSchemaMap<TEvents>[K]>\n\t): void;\n\tbroadcast(\n\t\tname: keyof TEvents extends never ? string : never,\n\t\t...args: Array<unknown>\n\t): void;\n\tbroadcast(name: string, ...args: Array<unknown>): void {\n\t\tthis.#runCtx.broadcast(\n\t\t\tname as never,\n\t\t\t...((args as unknown[]) as never[]),\n\t\t);\n\t}\n\n\t#toActorQueueMessage<T>(\n\t\tmessage: WorkflowQueueMessage<T>,\n\t): WorkflowQueueMessage<T> & { id: bigint } {\n\t\tlet id: bigint;\n\t\ttry {\n\t\t\tid = BigInt(message.id);\n\t\t} catch {\n\t\t\tthrow new Error(`Invalid queue message id \"${message.id}\"`);\n\t\t}\n\t\treturn {\n\t\t\tid,\n\t\t\tname: message.name,\n\t\t\tbody: message.body,\n\t\t\tcreatedAt: message.createdAt,\n\t\t\t...(message.complete ? { complete: message.complete } : {}),\n\t\t};\n\t}\n\n\tasync #wrapActive<T>(run: () => Promise<T>): Promise<T> {\n\t\treturn await this.#runCtx.keepAwake(run());\n\t}\n\n\tasync #withActorAccess<T>(run: () => Promise<T>): Promise<T> {\n\t\tthis.#actorAccessDepth++;\n\t\tif (this.#actorAccessDepth === 1) {\n\t\t\tthis.#allowActorAccess = true;\n\t\t}\n\t\ttry {\n\t\t\treturn await run();\n\t\t} finally {\n\t\t\tthis.#actorAccessDepth--;\n\t\t\tif (this.#actorAccessDepth === 0) {\n\t\t\t\tthis.#allowActorAccess = false;\n\t\t\t}\n\t\t}\n\t}\n\n\t#ensureActorAccess(feature: string): void {\n\t\tif (!this.#allowActorAccess) {\n\t\t\tthis.#guardViolation = true;\n\t\t\tthis.#markGuardTriggered();\n\t\t\tthrow new Error(\n\t\t\t\t`${feature} is only available inside workflow steps`,\n\t\t\t);\n\t\t}\n\t}\n\n\tconsumeGuardViolation(): boolean {\n\t\tconst violated = this.#guardViolation;\n\t\tthis.#guardViolation = false;\n\t\treturn violated;\n\t}\n\n\t#markGuardTriggered(): void {\n\t\ttry {\n\t\t\tconst state = this.#runCtx.state as Record<string, unknown>;\n\t\t\tif (\n\t\t\t\tstate &&\n\t\t\t\ttypeof state === \"object\" &&\n\t\t\t\t\"guardTriggered\" in state\n\t\t\t) {\n\t\t\t\t(state as Record<string, unknown>).guardTriggered = true;\n\t\t\t}\n\t\t} catch {\n\t\t\t// Ignore if state is unavailable\n\t\t}\n\n\t\tthis.#runCtx.waitUntil(\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.#runCtx.kv.put(WORKFLOW_GUARD_KV_KEY, \"true\");\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.#runCtx.log.error({\n\t\t\t\t\t\tmsg: \"failed to persist workflow guard flag\",\n\t\t\t\t\t\terror,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})(),\n\t\t);\n\t}\n\n\t#createChildContext(\n\t\tctx: WorkflowContextInterface,\n\t): ActorWorkflowContext<\n\t\tTState,\n\t\tTConnParams,\n\t\tTConnState,\n\t\tTVars,\n\t\tTInput,\n\t\tTDatabase,\n\t\tTEvents,\n\t\tTQueues\n\t> {\n\t\treturn new ActorWorkflowContext(ctx, this.#runCtx);\n\t}\n}\n\nexport type WorkflowContextOf<AD extends AnyActorDefinition> =\n\tAD extends ActorDefinition<\n\t\tinfer S,\n\t\tinfer CP,\n\t\tinfer CS,\n\t\tinfer V,\n\t\tinfer I,\n\t\tinfer DB extends AnyDatabaseProvider,\n\t\tinfer E extends EventSchemaConfig,\n\t\tinfer Q extends QueueSchemaConfig,\n\t\tany\n\t>\n\t\t? ActorWorkflowContext<S, CP, CS, V, I, DB, E, Q>\n\t\t: never;\n\nexport type WorkflowLoopContextOf<AD extends AnyActorDefinition> =\n\tWorkflowContextOf<AD>;\n\nexport type WorkflowBranchContextOf<AD extends AnyActorDefinition> =\n\tWorkflowContextOf<AD>;\n\nexport type WorkflowStepContextOf<AD extends AnyActorDefinition> =\n\tWorkflowContextOf<AD>;\n","import type { RunContext } from \"@/actor/contexts/run\";\nimport type { AnyActorInstance } from \"@/actor/instance/mod\";\nimport { makeWorkflowKey, workflowStoragePrefix } from \"@/actor/instance/keys\";\nimport type {\n\tEngineDriver,\n\tKVEntry,\n\tKVWrite,\n\tMessage,\n\tWorkflowMessageDriver,\n} from \"@rivetkit/workflow-engine\";\n\nconst WORKFLOW_STORAGE_PREFIX = workflowStoragePrefix();\n\nfunction stripWorkflowKey(prefixed: Uint8Array): Uint8Array {\n\treturn prefixed.slice(WORKFLOW_STORAGE_PREFIX.length);\n}\n\nclass ActorWorkflowMessageDriver implements WorkflowMessageDriver {\n\t#actor: AnyActorInstance;\n\t#runCtx: RunContext<any, any, any, any, any, any, any, any>;\n\n\tconstructor(\n\t\tactor: AnyActorInstance,\n\t\trunCtx: RunContext<any, any, any, any, any, any, any, any>,\n\t) {\n\t\tthis.#actor = actor;\n\t\tthis.#runCtx = runCtx;\n\t}\n\n\tasync addMessage(message: Message): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.queueManager.enqueue(message.name, message.data),\n\t\t);\n\t}\n\n\tasync receiveMessages(opts: {\n\t\tnames?: readonly string[];\n\t\tcount: number;\n\t\tcompletable: boolean;\n\t}): Promise<Message[]> {\n\t\tconst messages = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.queueManager.receive(\n\t\t\t\topts.names && opts.names.length > 0 ? [...opts.names] : undefined,\n\t\t\t\topts.count,\n\t\t\t\t0,\n\t\t\t\tundefined,\n\t\t\t\topts.completable,\n\t\t\t),\n\t\t);\n\t\treturn messages.map((message) => ({\n\t\t\tid: message.id.toString(),\n\t\t\tname: message.name,\n\t\t\tdata: message.body,\n\t\t\tsentAt: message.createdAt,\n\t\t\t...(opts.completable\n\t\t\t\t? {\n\t\t\t\t\t\tcomplete: async (response?: unknown) => {\n\t\t\t\t\t\t\tawait this.#runCtx.keepAwake(\n\t\t\t\t\t\t\t\tthis.#actor.queueManager.completeMessage(\n\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\tresponse,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: {}),\n\t\t}));\n\t}\n\n\tasync completeMessage(messageId: string, response?: unknown): Promise<void> {\n\t\tlet parsedId: bigint;\n\t\ttry {\n\t\t\tparsedId = BigInt(messageId);\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.queueManager.completeMessageById(parsedId, response),\n\t\t);\n\t}\n}\n\nexport class ActorWorkflowDriver implements EngineDriver {\n\treadonly workerPollInterval = 100;\n\treadonly messageDriver: WorkflowMessageDriver;\n\t#actor: AnyActorInstance;\n\t#runCtx: RunContext<any, any, any, any, any, any, any, any>;\n\n\tconstructor(\n\t\tactor: AnyActorInstance,\n\t\trunCtx: RunContext<any, any, any, any, any, any, any, any>,\n\t) {\n\t\tthis.#actor = actor;\n\t\tthis.#runCtx = runCtx;\n\t\tthis.messageDriver = new ActorWorkflowMessageDriver(actor, runCtx);\n\t}\n\n\tasync get(key: Uint8Array): Promise<Uint8Array | null> {\n\t\tconst [value] = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchGet(this.#actor.id, [\n\t\t\t\tmakeWorkflowKey(key),\n\t\t\t]),\n\t\t);\n\t\treturn value ?? null;\n\t}\n\n\tasync set(key: Uint8Array, value: Uint8Array): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchPut(this.#actor.id, [\n\t\t\t\t[makeWorkflowKey(key), value],\n\t\t\t]),\n\t\t);\n\t}\n\n\tasync delete(key: Uint8Array): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchDelete(this.#actor.id, [\n\t\t\t\tmakeWorkflowKey(key),\n\t\t\t]),\n\t\t);\n\t}\n\n\tasync deletePrefix(prefix: Uint8Array): Promise<void> {\n\t\tconst entries = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvListPrefix(\n\t\t\t\tthis.#actor.id,\n\t\t\t\tmakeWorkflowKey(prefix),\n\t\t\t),\n\t\t);\n\t\tif (entries.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvBatchDelete(\n\t\t\t\tthis.#actor.id,\n\t\t\t\tentries.map(([key]) => key),\n\t\t\t),\n\t\t);\n\t}\n\n\tasync list(prefix: Uint8Array): Promise<KVEntry[]> {\n\t\tconst entries = await this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.kvListPrefix(\n\t\t\t\tthis.#actor.id,\n\t\t\t\tmakeWorkflowKey(prefix),\n\t\t\t),\n\t\t);\n\t\treturn entries.map(([key, value]) => ({\n\t\t\tkey: stripWorkflowKey(key),\n\t\t\tvalue,\n\t\t}));\n\t}\n\n\tasync batch(writes: KVWrite[]): Promise<void> {\n\t\tif (writes.length === 0) return;\n\n\t\t// Flush actor state together with workflow state to ensure atomicity.\n\t\t// If the server crashes after workflow flush, actor state must also be persisted.\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tPromise.all([\n\t\t\t\tthis.#actor.driver.kvBatchPut(\n\t\t\t\t\tthis.#actor.id,\n\t\t\t\t\twrites.map(({ key, value }) => [makeWorkflowKey(key), value]),\n\t\t\t\t),\n\t\t\t\tthis.#actor.stateManager.saveState({ immediate: true }),\n\t\t\t]),\n\t\t);\n\t}\n\n\tasync setAlarm(_workflowId: string, wakeAt: number): Promise<void> {\n\t\tawait this.#runCtx.keepAwake(\n\t\t\tthis.#actor.driver.setAlarm(this.#actor, wakeAt),\n\t\t);\n\t}\n\n\tasync clearAlarm(_workflowId: string): Promise<void> {\n\t\t// No dedicated clear alarm support in actor drivers.\n\t\treturn;\n\t}\n\n\twaitForMessages(\n\t\tmessageNames: string[],\n\t\tabortSignal: AbortSignal,\n\t): Promise<void> {\n\t\treturn this.#actor.queueManager.waitForNames(\n\t\t\tmessageNames.length > 0 ? messageNames : undefined,\n\t\t\tabortSignal,\n\t\t);\n\t}\n}\n","import * as cbor from \"cbor-x\";\nimport { createNanoEvents } from \"nanoevents\";\nimport type {\n\tBranchStatus,\n\tBranchStatusType,\n\tEntryKind,\n\tEntryStatus,\n\tLocation,\n\tSleepState,\n\tWorkflowHistoryEntry,\n\tWorkflowHistorySnapshot,\n\tWorkflowEntryMetadataSnapshot,\n} from \"@rivetkit/workflow-engine\";\nimport { encodeWorkflowHistoryTransport } from \"@/inspector/transport\";\nimport type * as inspectorSchema from \"@/schemas/actor-inspector/mod\";\nimport * as transport from \"@/schemas/transport/mod\";\nimport { assertUnreachable, bufferToArrayBuffer } from \"@/utils\";\n\nexport interface WorkflowInspectorAdapter {\n\tgetHistory: () => inspectorSchema.WorkflowHistory | null;\n\tonHistoryUpdated: (\n\t\tlistener: (history: inspectorSchema.WorkflowHistory) => void,\n\t) => () => void;\n}\n\nexport function createWorkflowInspectorAdapter(): {\n\tadapter: WorkflowInspectorAdapter;\n\tupdate: (snapshot: WorkflowHistorySnapshot) => void;\n} {\n\tconst emitter = createNanoEvents<{\n\t\tupdated: (history: inspectorSchema.WorkflowHistory) => void;\n\t}>();\n\tlet history: inspectorSchema.WorkflowHistory | null = null;\n\n\tconst adapter: WorkflowInspectorAdapter = {\n\t\tgetHistory: () => history,\n\t\tonHistoryUpdated: (listener) => emitter.on(\"updated\", listener),\n\t};\n\n\tconst update = (snapshot: WorkflowHistorySnapshot) => {\n\t\tconst transportHistory = toWorkflowHistory(snapshot);\n\t\tconst next = encodeWorkflowHistoryTransport(transportHistory);\n\t\thistory = next;\n\t\temitter.emit(\"updated\", next);\n\t};\n\n\treturn { adapter, update };\n}\n\nfunction encodeCbor(value: unknown): ArrayBuffer {\n\treturn bufferToArrayBuffer(cbor.encode(value));\n}\n\nfunction encodeOptionalCbor(value: unknown): ArrayBuffer | null {\n\tif (value === undefined) {\n\t\treturn null;\n\t}\n\treturn encodeCbor(value);\n}\n\nfunction toU64(value: number): bigint {\n\treturn BigInt(Math.max(0, Math.floor(value)));\n}\n\nfunction toWorkflowLocation(\n\tlocation: Location,\n): transport.WorkflowLocation {\n\treturn location.map((segment) => {\n\t\tif (typeof segment === \"number\") {\n\t\t\treturn { tag: \"WorkflowNameIndex\", val: segment };\n\t\t}\n\t\treturn {\n\t\t\ttag: \"WorkflowLoopIterationMarker\",\n\t\t\tval: {\n\t\t\t\tloop: segment.loop,\n\t\t\t\titeration: segment.iteration,\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction toWorkflowEntryKind(\n\tkind: EntryKind,\n): transport.WorkflowEntryKind {\n\tswitch (kind.type) {\n\t\tcase \"step\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowStepEntry\",\n\t\t\t\tval: {\n\t\t\t\t\toutput: encodeOptionalCbor(kind.data.output),\n\t\t\t\t\terror: kind.data.error ?? null,\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"loop\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowLoopEntry\",\n\t\t\t\tval: {\n\t\t\t\t\tstate: encodeCbor(kind.data.state),\n\t\t\t\t\titeration: kind.data.iteration,\n\t\t\t\t\toutput: encodeOptionalCbor(kind.data.output),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"sleep\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowSleepEntry\",\n\t\t\t\tval: {\n\t\t\t\t\tdeadline: toU64(kind.data.deadline),\n\t\t\t\t\tstate: toWorkflowSleepState(kind.data.state),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"message\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowMessageEntry\",\n\t\t\t\tval: {\n\t\t\t\t\tname: kind.data.name,\n\t\t\t\t\tmessageData: encodeCbor(kind.data.data),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"rollback_checkpoint\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRollbackCheckpointEntry\",\n\t\t\t\tval: { name: kind.data.name },\n\t\t\t};\n\t\tcase \"join\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowJoinEntry\",\n\t\t\t\tval: { branches: toWorkflowBranchStatusMap(kind.data.branches) },\n\t\t\t};\n\t\tcase \"race\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRaceEntry\",\n\t\t\t\tval: {\n\t\t\t\t\twinner: kind.data.winner ?? null,\n\t\t\t\t\tbranches: toWorkflowBranchStatusMap(kind.data.branches),\n\t\t\t\t},\n\t\t\t};\n\t\tcase \"removed\":\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRemovedEntry\",\n\t\t\t\tval: {\n\t\t\t\t\toriginalType: kind.data.originalType,\n\t\t\t\t\toriginalName: kind.data.originalName ?? null,\n\t\t\t\t},\n\t\t\t};\n\t\tdefault:\n\t\t\tassertUnreachable(kind as never);\n\t}\n}\n\nfunction toWorkflowEntry(\n\tentry: WorkflowHistoryEntry,\n): transport.WorkflowEntry {\n\treturn {\n\t\tid: entry.id,\n\t\tlocation: toWorkflowLocation(entry.location),\n\t\tkind: toWorkflowEntryKind(entry.kind),\n\t};\n}\n\nfunction toWorkflowEntryStatus(\n\tstatus: EntryStatus,\n): transport.WorkflowEntryStatus {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn transport.WorkflowEntryStatus.PENDING;\n\t\tcase \"running\":\n\t\t\treturn transport.WorkflowEntryStatus.RUNNING;\n\t\tcase \"completed\":\n\t\t\treturn transport.WorkflowEntryStatus.COMPLETED;\n\t\tcase \"failed\":\n\t\t\treturn transport.WorkflowEntryStatus.FAILED;\n\t\tcase \"exhausted\":\n\t\t\treturn transport.WorkflowEntryStatus.EXHAUSTED;\n\t\tdefault:\n\t\t\tassertUnreachable(status as never);\n\t}\n}\n\nfunction toWorkflowSleepState(\n\tstate: SleepState,\n): transport.WorkflowSleepState {\n\tswitch (state) {\n\t\tcase \"pending\":\n\t\t\treturn transport.WorkflowSleepState.PENDING;\n\t\tcase \"completed\":\n\t\t\treturn transport.WorkflowSleepState.COMPLETED;\n\t\tcase \"interrupted\":\n\t\t\treturn transport.WorkflowSleepState.INTERRUPTED;\n\t\tdefault:\n\t\t\tassertUnreachable(state as never);\n\t}\n}\n\nfunction toWorkflowBranchStatusType(\n\tstatus: BranchStatusType,\n): transport.WorkflowBranchStatusType {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn transport.WorkflowBranchStatusType.PENDING;\n\t\tcase \"running\":\n\t\t\treturn transport.WorkflowBranchStatusType.RUNNING;\n\t\tcase \"completed\":\n\t\t\treturn transport.WorkflowBranchStatusType.COMPLETED;\n\t\tcase \"failed\":\n\t\t\treturn transport.WorkflowBranchStatusType.FAILED;\n\t\tcase \"cancelled\":\n\t\t\treturn transport.WorkflowBranchStatusType.CANCELLED;\n\t\tdefault:\n\t\t\tassertUnreachable(status as never);\n\t}\n}\n\nfunction toWorkflowBranchStatus(\n\tstatus: BranchStatus,\n): transport.WorkflowBranchStatus {\n\treturn {\n\t\tstatus: toWorkflowBranchStatusType(status.status),\n\t\toutput: encodeOptionalCbor(status.output),\n\t\terror: status.error ?? null,\n\t};\n}\n\nfunction toWorkflowBranchStatusMap(\n\tbranches: Record<string, BranchStatus>,\n): ReadonlyMap<string, transport.WorkflowBranchStatus> {\n\treturn new Map(\n\t\tObject.entries(branches).map(([name, status]) => [\n\t\t\tname,\n\t\t\ttoWorkflowBranchStatus(status),\n\t\t]),\n\t);\n}\n\nfunction toWorkflowEntryMetadata(\n\tmetadata: WorkflowEntryMetadataSnapshot,\n): transport.WorkflowEntryMetadata {\n\treturn {\n\t\tstatus: toWorkflowEntryStatus(metadata.status),\n\t\terror: metadata.error ?? null,\n\t\tattempts: metadata.attempts,\n\t\tlastAttemptAt: toU64(metadata.lastAttemptAt),\n\t\tcreatedAt: toU64(metadata.createdAt),\n\t\tcompletedAt:\n\t\t\tmetadata.completedAt === undefined\n\t\t\t\t? null\n\t\t\t\t: toU64(metadata.completedAt),\n\t\trollbackCompletedAt:\n\t\t\tmetadata.rollbackCompletedAt === undefined\n\t\t\t\t? null\n\t\t\t\t: toU64(metadata.rollbackCompletedAt),\n\t\trollbackError: metadata.rollbackError ?? null,\n\t};\n}\n\nfunction toWorkflowHistory(\n\tsnapshot: WorkflowHistorySnapshot,\n): transport.WorkflowHistory {\n\tconst entryMetadata = new Map<string, transport.WorkflowEntryMetadata>();\n\tfor (const [id, metadata] of snapshot.entryMetadata) {\n\t\tentryMetadata.set(id, toWorkflowEntryMetadata(metadata));\n\t}\n\n\treturn {\n\t\tnameRegistry: snapshot.nameRegistry,\n\t\tentries: snapshot.entries.map((entry) => toWorkflowEntry(entry)),\n\t\tentryMetadata,\n\t};\n}\n"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|