@mastra/temporal 0.4.6-alpha.0 → 0.4.6-alpha.11

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/index.cjs CHANGED
@@ -49,6 +49,33 @@ var TemporalRun = class extends _mastra_core_workflows.Run {
49
49
  await this.client.workflow.getHandle(this.runId).cancel();
50
50
  await super.cancel();
51
51
  }
52
+ unsupported(method) {
53
+ throw new Error(`@mastra/temporal does not support ${method}() yet. Use start() or startAsync() instead.`);
54
+ }
55
+ stream(..._args) {
56
+ return this.unsupported("stream");
57
+ }
58
+ streamLegacy(..._args) {
59
+ return this.unsupported("streamLegacy");
60
+ }
61
+ resumeStream(..._args) {
62
+ return this.unsupported("resumeStream");
63
+ }
64
+ resume(..._args) {
65
+ return this.unsupported("resume");
66
+ }
67
+ resumeAsync(..._args) {
68
+ return this.unsupported("resumeAsync");
69
+ }
70
+ restart(..._args) {
71
+ return this.unsupported("restart");
72
+ }
73
+ timeTravel(..._args) {
74
+ return this.unsupported("timeTravel");
75
+ }
76
+ timeTravelStream(..._args) {
77
+ return this.unsupported("timeTravelStream");
78
+ }
52
79
  async startAsync(args = {}) {
53
80
  const input = await this._validateInput(args.inputData);
54
81
  const initialState = await this._validateInitialState(args.initialState);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["Run","toWorkflowType","Workflow"],"sources":["../src/run.ts","../src/workflow.ts"],"sourcesContent":["import type { RequestContext } from '@mastra/core/di';\nimport { Run } from '@mastra/core/workflows';\nimport type { Step, WorkflowResult, WorkflowRunStartOptions } from '@mastra/core/workflows';\nimport type { Client } from '@temporalio/client';\nimport type { TemporalEngineType } from './types';\nimport { toWorkflowType } from './utils';\n\ntype TemporalRunStartArgs<TState, TInput, TRequestContext> = {\n inputData?: TInput;\n initialState?: TState;\n requestContext?: RequestContext<TRequestContext>;\n} & WorkflowRunStartOptions;\n\nexport class TemporalRun<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TRequestContext extends Record<string, any> | unknown = unknown,\n> extends Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext> {\n private readonly client: Client;\n private readonly taskQueue: string;\n\n constructor(\n params: ConstructorParameters<typeof Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>>[0],\n temporalParams: {\n client: Client;\n taskQueue: string;\n },\n ) {\n super(params);\n\n this.client = temporalParams.client;\n this.taskQueue = temporalParams.taskQueue;\n }\n\n async start(args: TemporalRunStartArgs<TState, TInput, TRequestContext> = {}) {\n const input = await this._validateInput(args.inputData);\n const initialState = await this._validateInitialState(args.initialState);\n await this._validateRequestContext(args.requestContext as RequestContext<unknown> | undefined);\n\n try {\n const handle = await this.client.workflow.start(toWorkflowType(this.workflowId), {\n taskQueue: this.taskQueue,\n workflowId: this.runId,\n args: [\n {\n inputData: input,\n initialState,\n requestContext: args.requestContext ? Object.fromEntries(args.requestContext.entries()) : {},\n runId: this.runId,\n resourceId: this.resourceId,\n outputOptions: args.outputOptions,\n tracingOptions: args.tracingOptions,\n perStep: args.perStep,\n },\n ],\n });\n const result = await handle.result();\n\n return {\n status: 'success',\n input: input as TInput,\n result: result as TOutput,\n state: initialState,\n steps: {},\n } as WorkflowResult<TState, TInput, TOutput, TSteps>;\n } catch (error) {\n return {\n status: 'failed',\n input: input as TInput,\n error: error instanceof Error ? error : new Error(String(error)),\n state: initialState,\n steps: {},\n } as WorkflowResult<TState, TInput, TOutput, TSteps>;\n }\n }\n\n async cancel() {\n await this.client.workflow.getHandle(this.runId).cancel();\n await super.cancel();\n }\n\n async startAsync(args: TemporalRunStartArgs<TState, TInput, TRequestContext> = {}) {\n const input = await this._validateInput(args.inputData);\n const initialState = await this._validateInitialState(args.initialState);\n await this._validateRequestContext(args.requestContext as RequestContext<unknown> | undefined);\n\n await this.client.workflow.start(toWorkflowType(this.workflowId), {\n taskQueue: this.taskQueue,\n workflowId: this.runId,\n args: [\n {\n inputData: input,\n initialState,\n requestContext: args.requestContext ? Object.fromEntries(args.requestContext.entries()) : {},\n runId: this.runId,\n resourceId: this.resourceId,\n outputOptions: args.outputOptions,\n tracingOptions: args.tracingOptions,\n perStep: args.perStep,\n },\n ],\n });\n\n return { runId: this.runId };\n }\n}\n","import { Workflow, createStep } from '@mastra/core/workflows';\nimport type { Step, WorkflowConfig } from '@mastra/core/workflows';\nimport type { Client } from '@temporalio/client';\nimport { TemporalRun } from './run';\nimport type { TemporalEngineType } from './types';\n\nexport type TemporalWorkflowParams = {\n client: Client;\n taskQueue: string;\n startToCloseTimeout?: string;\n};\n\nexport class TemporalWorkflow<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TWorkflowId extends string = string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TPrevSchema = TInput,\n TRequestContext extends Record<string, any> | unknown = unknown,\n> extends Workflow<TemporalEngineType, TSteps, TWorkflowId, TState, TInput, TOutput, TPrevSchema, TRequestContext> {\n private readonly temporalClient: Client;\n readonly taskQueue: string;\n readonly startToCloseTimeout: string;\n\n constructor(\n params: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n temporalParams: TemporalWorkflowParams,\n ) {\n super(params);\n\n this.engineType = 'temporal';\n this.temporalClient = temporalParams.client;\n this.taskQueue = temporalParams.taskQueue;\n this.startToCloseTimeout = temporalParams.startToCloseTimeout ?? '1 minute';\n }\n\n async createRun(options?: { runId?: string; resourceId?: string; disableScorers?: boolean }) {\n const runId = options?.runId ?? crypto.randomUUID();\n const run = new TemporalRun<TSteps, TState, TInput, TOutput, TRequestContext>(\n {\n workflowId: this.id,\n runId,\n resourceId: options?.resourceId,\n stateSchema: this.stateSchema,\n inputSchema: this.inputSchema,\n requestContextSchema: this.requestContextSchema,\n executionEngine: this.executionEngine,\n executionGraph: this.executionGraph,\n mastra: this.mastra,\n retryConfig: this.retryConfig,\n serializedStepGraph: this.serializedStepGraph,\n disableScorers: options?.disableScorers,\n tracingPolicy: this.options.tracingPolicy,\n workflowSteps: this.steps,\n validateInputs: this.options.validateInputs,\n workflowEngineType: this.engineType,\n cleanup: undefined,\n },\n {\n client: this.temporalClient,\n taskQueue: this.taskQueue,\n },\n );\n\n this.runs.set(runId, run);\n return run;\n }\n}\n\nexport function createWorkflow<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TWorkflowId extends string = string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TRequestContext extends Record<string, any> | unknown = unknown,\n>(\n config: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n temporal: TemporalWorkflowParams,\n) {\n return new TemporalWorkflow<TSteps, TWorkflowId, TState, TInput, TOutput, TInput, TRequestContext>(config, temporal);\n}\n\nexport function init(temporalParams: TemporalWorkflowParams) {\n return {\n createWorkflow: <\n TWorkflowId extends string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TSteps extends Step[] = Step[],\n TRequestContext extends Record<string, any> | unknown = unknown,\n >(\n config: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n ) => createWorkflow<TSteps, TWorkflowId, TState, TInput, TOutput, TRequestContext>(config, temporalParams),\n createStep,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["Run","toWorkflowType","Workflow"],"sources":["../src/run.ts","../src/workflow.ts"],"sourcesContent":["import type { RequestContext } from '@mastra/core/di';\nimport { Run } from '@mastra/core/workflows';\nimport type { Step, WorkflowResult, WorkflowRunStartOptions } from '@mastra/core/workflows';\nimport type { Client } from '@temporalio/client';\nimport type { TemporalEngineType } from './types';\nimport { toWorkflowType } from './utils';\n\ntype TemporalRunStartArgs<TState, TInput, TRequestContext> = {\n inputData?: TInput;\n initialState?: TState;\n requestContext?: RequestContext<TRequestContext>;\n} & WorkflowRunStartOptions;\n\nexport class TemporalRun<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TRequestContext extends Record<string, any> | unknown = unknown,\n> extends Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext> {\n private readonly client: Client;\n private readonly taskQueue: string;\n\n constructor(\n params: ConstructorParameters<typeof Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>>[0],\n temporalParams: {\n client: Client;\n taskQueue: string;\n },\n ) {\n super(params);\n\n this.client = temporalParams.client;\n this.taskQueue = temporalParams.taskQueue;\n }\n\n async start(args: TemporalRunStartArgs<TState, TInput, TRequestContext> = {}) {\n const input = await this._validateInput(args.inputData);\n const initialState = await this._validateInitialState(args.initialState);\n await this._validateRequestContext(args.requestContext as RequestContext<unknown> | undefined);\n\n try {\n const handle = await this.client.workflow.start(toWorkflowType(this.workflowId), {\n taskQueue: this.taskQueue,\n workflowId: this.runId,\n args: [\n {\n inputData: input,\n initialState,\n requestContext: args.requestContext ? Object.fromEntries(args.requestContext.entries()) : {},\n runId: this.runId,\n resourceId: this.resourceId,\n outputOptions: args.outputOptions,\n tracingOptions: args.tracingOptions,\n perStep: args.perStep,\n },\n ],\n });\n const result = await handle.result();\n\n return {\n status: 'success',\n input: input as TInput,\n result: result as TOutput,\n state: initialState,\n steps: {},\n } as WorkflowResult<TState, TInput, TOutput, TSteps>;\n } catch (error) {\n return {\n status: 'failed',\n input: input as TInput,\n error: error instanceof Error ? error : new Error(String(error)),\n state: initialState,\n steps: {},\n } as WorkflowResult<TState, TInput, TOutput, TSteps>;\n }\n }\n\n async cancel() {\n await this.client.workflow.getHandle(this.runId).cancel();\n await super.cancel();\n }\n\n private unsupported(method: string): never {\n throw new Error(`@mastra/temporal does not support ${method}() yet. Use start() or startAsync() instead.`);\n }\n\n override stream(\n ..._args: Parameters<Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>['stream']>\n ): never {\n return this.unsupported('stream');\n }\n\n override streamLegacy(\n ..._args: Parameters<Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>['streamLegacy']>\n ): never {\n return this.unsupported('streamLegacy');\n }\n\n override resumeStream(..._args: unknown[]): never {\n return this.unsupported('resumeStream');\n }\n\n override resume(..._args: unknown[]): never {\n return this.unsupported('resume');\n }\n\n override resumeAsync(..._args: unknown[]): never {\n return this.unsupported('resumeAsync');\n }\n\n override restart(\n ..._args: Parameters<Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>['restart']>\n ): never {\n return this.unsupported('restart');\n }\n\n override timeTravel(..._args: unknown[]): never {\n return this.unsupported('timeTravel');\n }\n\n override timeTravelStream(..._args: unknown[]): never {\n return this.unsupported('timeTravelStream');\n }\n\n async startAsync(args: TemporalRunStartArgs<TState, TInput, TRequestContext> = {}) {\n const input = await this._validateInput(args.inputData);\n const initialState = await this._validateInitialState(args.initialState);\n await this._validateRequestContext(args.requestContext as RequestContext<unknown> | undefined);\n\n await this.client.workflow.start(toWorkflowType(this.workflowId), {\n taskQueue: this.taskQueue,\n workflowId: this.runId,\n args: [\n {\n inputData: input,\n initialState,\n requestContext: args.requestContext ? Object.fromEntries(args.requestContext.entries()) : {},\n runId: this.runId,\n resourceId: this.resourceId,\n outputOptions: args.outputOptions,\n tracingOptions: args.tracingOptions,\n perStep: args.perStep,\n },\n ],\n });\n\n return { runId: this.runId };\n }\n}\n","import { Workflow, createStep } from '@mastra/core/workflows';\nimport type { Step, WorkflowConfig } from '@mastra/core/workflows';\nimport type { Client } from '@temporalio/client';\nimport { TemporalRun } from './run';\nimport type { TemporalEngineType } from './types';\n\nexport type TemporalWorkflowParams = {\n client: Client;\n taskQueue: string;\n startToCloseTimeout?: string;\n};\n\nexport class TemporalWorkflow<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TWorkflowId extends string = string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TPrevSchema = TInput,\n TRequestContext extends Record<string, any> | unknown = unknown,\n> extends Workflow<TemporalEngineType, TSteps, TWorkflowId, TState, TInput, TOutput, TPrevSchema, TRequestContext> {\n private readonly temporalClient: Client;\n readonly taskQueue: string;\n readonly startToCloseTimeout: string;\n\n constructor(\n params: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n temporalParams: TemporalWorkflowParams,\n ) {\n super(params);\n\n this.engineType = 'temporal';\n this.temporalClient = temporalParams.client;\n this.taskQueue = temporalParams.taskQueue;\n this.startToCloseTimeout = temporalParams.startToCloseTimeout ?? '1 minute';\n }\n\n async createRun(options?: { runId?: string; resourceId?: string; disableScorers?: boolean }) {\n const runId = options?.runId ?? crypto.randomUUID();\n const run = new TemporalRun<TSteps, TState, TInput, TOutput, TRequestContext>(\n {\n workflowId: this.id,\n runId,\n resourceId: options?.resourceId,\n stateSchema: this.stateSchema,\n inputSchema: this.inputSchema,\n requestContextSchema: this.requestContextSchema,\n executionEngine: this.executionEngine,\n executionGraph: this.executionGraph,\n mastra: this.mastra,\n retryConfig: this.retryConfig,\n serializedStepGraph: this.serializedStepGraph,\n disableScorers: options?.disableScorers,\n tracingPolicy: this.options.tracingPolicy,\n workflowSteps: this.steps,\n validateInputs: this.options.validateInputs,\n workflowEngineType: this.engineType,\n cleanup: undefined,\n },\n {\n client: this.temporalClient,\n taskQueue: this.taskQueue,\n },\n );\n\n this.runs.set(runId, run);\n return run;\n }\n}\n\nexport function createWorkflow<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TWorkflowId extends string = string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TRequestContext extends Record<string, any> | unknown = unknown,\n>(\n config: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n temporal: TemporalWorkflowParams,\n) {\n return new TemporalWorkflow<TSteps, TWorkflowId, TState, TInput, TOutput, TInput, TRequestContext>(config, temporal);\n}\n\nexport function init(temporalParams: TemporalWorkflowParams) {\n return {\n createWorkflow: <\n TWorkflowId extends string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TSteps extends Step[] = Step[],\n TRequestContext extends Record<string, any> | unknown = unknown,\n >(\n config: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n ) => createWorkflow<TSteps, TWorkflowId, TState, TInput, TOutput, TRequestContext>(config, temporalParams),\n createStep,\n };\n}\n"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -48,6 +48,33 @@ var TemporalRun = class extends Run {
48
48
  await this.client.workflow.getHandle(this.runId).cancel();
49
49
  await super.cancel();
50
50
  }
51
+ unsupported(method) {
52
+ throw new Error(`@mastra/temporal does not support ${method}() yet. Use start() or startAsync() instead.`);
53
+ }
54
+ stream(..._args) {
55
+ return this.unsupported("stream");
56
+ }
57
+ streamLegacy(..._args) {
58
+ return this.unsupported("streamLegacy");
59
+ }
60
+ resumeStream(..._args) {
61
+ return this.unsupported("resumeStream");
62
+ }
63
+ resume(..._args) {
64
+ return this.unsupported("resume");
65
+ }
66
+ resumeAsync(..._args) {
67
+ return this.unsupported("resumeAsync");
68
+ }
69
+ restart(..._args) {
70
+ return this.unsupported("restart");
71
+ }
72
+ timeTravel(..._args) {
73
+ return this.unsupported("timeTravel");
74
+ }
75
+ timeTravelStream(..._args) {
76
+ return this.unsupported("timeTravelStream");
77
+ }
51
78
  async startAsync(args = {}) {
52
79
  const input = await this._validateInput(args.inputData);
53
80
  const initialState = await this._validateInitialState(args.initialState);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/run.ts","../src/workflow.ts"],"sourcesContent":["import type { RequestContext } from '@mastra/core/di';\nimport { Run } from '@mastra/core/workflows';\nimport type { Step, WorkflowResult, WorkflowRunStartOptions } from '@mastra/core/workflows';\nimport type { Client } from '@temporalio/client';\nimport type { TemporalEngineType } from './types';\nimport { toWorkflowType } from './utils';\n\ntype TemporalRunStartArgs<TState, TInput, TRequestContext> = {\n inputData?: TInput;\n initialState?: TState;\n requestContext?: RequestContext<TRequestContext>;\n} & WorkflowRunStartOptions;\n\nexport class TemporalRun<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TRequestContext extends Record<string, any> | unknown = unknown,\n> extends Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext> {\n private readonly client: Client;\n private readonly taskQueue: string;\n\n constructor(\n params: ConstructorParameters<typeof Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>>[0],\n temporalParams: {\n client: Client;\n taskQueue: string;\n },\n ) {\n super(params);\n\n this.client = temporalParams.client;\n this.taskQueue = temporalParams.taskQueue;\n }\n\n async start(args: TemporalRunStartArgs<TState, TInput, TRequestContext> = {}) {\n const input = await this._validateInput(args.inputData);\n const initialState = await this._validateInitialState(args.initialState);\n await this._validateRequestContext(args.requestContext as RequestContext<unknown> | undefined);\n\n try {\n const handle = await this.client.workflow.start(toWorkflowType(this.workflowId), {\n taskQueue: this.taskQueue,\n workflowId: this.runId,\n args: [\n {\n inputData: input,\n initialState,\n requestContext: args.requestContext ? Object.fromEntries(args.requestContext.entries()) : {},\n runId: this.runId,\n resourceId: this.resourceId,\n outputOptions: args.outputOptions,\n tracingOptions: args.tracingOptions,\n perStep: args.perStep,\n },\n ],\n });\n const result = await handle.result();\n\n return {\n status: 'success',\n input: input as TInput,\n result: result as TOutput,\n state: initialState,\n steps: {},\n } as WorkflowResult<TState, TInput, TOutput, TSteps>;\n } catch (error) {\n return {\n status: 'failed',\n input: input as TInput,\n error: error instanceof Error ? error : new Error(String(error)),\n state: initialState,\n steps: {},\n } as WorkflowResult<TState, TInput, TOutput, TSteps>;\n }\n }\n\n async cancel() {\n await this.client.workflow.getHandle(this.runId).cancel();\n await super.cancel();\n }\n\n async startAsync(args: TemporalRunStartArgs<TState, TInput, TRequestContext> = {}) {\n const input = await this._validateInput(args.inputData);\n const initialState = await this._validateInitialState(args.initialState);\n await this._validateRequestContext(args.requestContext as RequestContext<unknown> | undefined);\n\n await this.client.workflow.start(toWorkflowType(this.workflowId), {\n taskQueue: this.taskQueue,\n workflowId: this.runId,\n args: [\n {\n inputData: input,\n initialState,\n requestContext: args.requestContext ? Object.fromEntries(args.requestContext.entries()) : {},\n runId: this.runId,\n resourceId: this.resourceId,\n outputOptions: args.outputOptions,\n tracingOptions: args.tracingOptions,\n perStep: args.perStep,\n },\n ],\n });\n\n return { runId: this.runId };\n }\n}\n","import { Workflow, createStep } from '@mastra/core/workflows';\nimport type { Step, WorkflowConfig } from '@mastra/core/workflows';\nimport type { Client } from '@temporalio/client';\nimport { TemporalRun } from './run';\nimport type { TemporalEngineType } from './types';\n\nexport type TemporalWorkflowParams = {\n client: Client;\n taskQueue: string;\n startToCloseTimeout?: string;\n};\n\nexport class TemporalWorkflow<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TWorkflowId extends string = string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TPrevSchema = TInput,\n TRequestContext extends Record<string, any> | unknown = unknown,\n> extends Workflow<TemporalEngineType, TSteps, TWorkflowId, TState, TInput, TOutput, TPrevSchema, TRequestContext> {\n private readonly temporalClient: Client;\n readonly taskQueue: string;\n readonly startToCloseTimeout: string;\n\n constructor(\n params: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n temporalParams: TemporalWorkflowParams,\n ) {\n super(params);\n\n this.engineType = 'temporal';\n this.temporalClient = temporalParams.client;\n this.taskQueue = temporalParams.taskQueue;\n this.startToCloseTimeout = temporalParams.startToCloseTimeout ?? '1 minute';\n }\n\n async createRun(options?: { runId?: string; resourceId?: string; disableScorers?: boolean }) {\n const runId = options?.runId ?? crypto.randomUUID();\n const run = new TemporalRun<TSteps, TState, TInput, TOutput, TRequestContext>(\n {\n workflowId: this.id,\n runId,\n resourceId: options?.resourceId,\n stateSchema: this.stateSchema,\n inputSchema: this.inputSchema,\n requestContextSchema: this.requestContextSchema,\n executionEngine: this.executionEngine,\n executionGraph: this.executionGraph,\n mastra: this.mastra,\n retryConfig: this.retryConfig,\n serializedStepGraph: this.serializedStepGraph,\n disableScorers: options?.disableScorers,\n tracingPolicy: this.options.tracingPolicy,\n workflowSteps: this.steps,\n validateInputs: this.options.validateInputs,\n workflowEngineType: this.engineType,\n cleanup: undefined,\n },\n {\n client: this.temporalClient,\n taskQueue: this.taskQueue,\n },\n );\n\n this.runs.set(runId, run);\n return run;\n }\n}\n\nexport function createWorkflow<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TWorkflowId extends string = string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TRequestContext extends Record<string, any> | unknown = unknown,\n>(\n config: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n temporal: TemporalWorkflowParams,\n) {\n return new TemporalWorkflow<TSteps, TWorkflowId, TState, TInput, TOutput, TInput, TRequestContext>(config, temporal);\n}\n\nexport function init(temporalParams: TemporalWorkflowParams) {\n return {\n createWorkflow: <\n TWorkflowId extends string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TSteps extends Step[] = Step[],\n TRequestContext extends Record<string, any> | unknown = unknown,\n >(\n config: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n ) => createWorkflow<TSteps, TWorkflowId, TState, TInput, TOutput, TRequestContext>(config, temporalParams),\n createStep,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/run.ts","../src/workflow.ts"],"sourcesContent":["import type { RequestContext } from '@mastra/core/di';\nimport { Run } from '@mastra/core/workflows';\nimport type { Step, WorkflowResult, WorkflowRunStartOptions } from '@mastra/core/workflows';\nimport type { Client } from '@temporalio/client';\nimport type { TemporalEngineType } from './types';\nimport { toWorkflowType } from './utils';\n\ntype TemporalRunStartArgs<TState, TInput, TRequestContext> = {\n inputData?: TInput;\n initialState?: TState;\n requestContext?: RequestContext<TRequestContext>;\n} & WorkflowRunStartOptions;\n\nexport class TemporalRun<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TRequestContext extends Record<string, any> | unknown = unknown,\n> extends Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext> {\n private readonly client: Client;\n private readonly taskQueue: string;\n\n constructor(\n params: ConstructorParameters<typeof Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>>[0],\n temporalParams: {\n client: Client;\n taskQueue: string;\n },\n ) {\n super(params);\n\n this.client = temporalParams.client;\n this.taskQueue = temporalParams.taskQueue;\n }\n\n async start(args: TemporalRunStartArgs<TState, TInput, TRequestContext> = {}) {\n const input = await this._validateInput(args.inputData);\n const initialState = await this._validateInitialState(args.initialState);\n await this._validateRequestContext(args.requestContext as RequestContext<unknown> | undefined);\n\n try {\n const handle = await this.client.workflow.start(toWorkflowType(this.workflowId), {\n taskQueue: this.taskQueue,\n workflowId: this.runId,\n args: [\n {\n inputData: input,\n initialState,\n requestContext: args.requestContext ? Object.fromEntries(args.requestContext.entries()) : {},\n runId: this.runId,\n resourceId: this.resourceId,\n outputOptions: args.outputOptions,\n tracingOptions: args.tracingOptions,\n perStep: args.perStep,\n },\n ],\n });\n const result = await handle.result();\n\n return {\n status: 'success',\n input: input as TInput,\n result: result as TOutput,\n state: initialState,\n steps: {},\n } as WorkflowResult<TState, TInput, TOutput, TSteps>;\n } catch (error) {\n return {\n status: 'failed',\n input: input as TInput,\n error: error instanceof Error ? error : new Error(String(error)),\n state: initialState,\n steps: {},\n } as WorkflowResult<TState, TInput, TOutput, TSteps>;\n }\n }\n\n async cancel() {\n await this.client.workflow.getHandle(this.runId).cancel();\n await super.cancel();\n }\n\n private unsupported(method: string): never {\n throw new Error(`@mastra/temporal does not support ${method}() yet. Use start() or startAsync() instead.`);\n }\n\n override stream(\n ..._args: Parameters<Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>['stream']>\n ): never {\n return this.unsupported('stream');\n }\n\n override streamLegacy(\n ..._args: Parameters<Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>['streamLegacy']>\n ): never {\n return this.unsupported('streamLegacy');\n }\n\n override resumeStream(..._args: unknown[]): never {\n return this.unsupported('resumeStream');\n }\n\n override resume(..._args: unknown[]): never {\n return this.unsupported('resume');\n }\n\n override resumeAsync(..._args: unknown[]): never {\n return this.unsupported('resumeAsync');\n }\n\n override restart(\n ..._args: Parameters<Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>['restart']>\n ): never {\n return this.unsupported('restart');\n }\n\n override timeTravel(..._args: unknown[]): never {\n return this.unsupported('timeTravel');\n }\n\n override timeTravelStream(..._args: unknown[]): never {\n return this.unsupported('timeTravelStream');\n }\n\n async startAsync(args: TemporalRunStartArgs<TState, TInput, TRequestContext> = {}) {\n const input = await this._validateInput(args.inputData);\n const initialState = await this._validateInitialState(args.initialState);\n await this._validateRequestContext(args.requestContext as RequestContext<unknown> | undefined);\n\n await this.client.workflow.start(toWorkflowType(this.workflowId), {\n taskQueue: this.taskQueue,\n workflowId: this.runId,\n args: [\n {\n inputData: input,\n initialState,\n requestContext: args.requestContext ? Object.fromEntries(args.requestContext.entries()) : {},\n runId: this.runId,\n resourceId: this.resourceId,\n outputOptions: args.outputOptions,\n tracingOptions: args.tracingOptions,\n perStep: args.perStep,\n },\n ],\n });\n\n return { runId: this.runId };\n }\n}\n","import { Workflow, createStep } from '@mastra/core/workflows';\nimport type { Step, WorkflowConfig } from '@mastra/core/workflows';\nimport type { Client } from '@temporalio/client';\nimport { TemporalRun } from './run';\nimport type { TemporalEngineType } from './types';\n\nexport type TemporalWorkflowParams = {\n client: Client;\n taskQueue: string;\n startToCloseTimeout?: string;\n};\n\nexport class TemporalWorkflow<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TWorkflowId extends string = string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TPrevSchema = TInput,\n TRequestContext extends Record<string, any> | unknown = unknown,\n> extends Workflow<TemporalEngineType, TSteps, TWorkflowId, TState, TInput, TOutput, TPrevSchema, TRequestContext> {\n private readonly temporalClient: Client;\n readonly taskQueue: string;\n readonly startToCloseTimeout: string;\n\n constructor(\n params: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n temporalParams: TemporalWorkflowParams,\n ) {\n super(params);\n\n this.engineType = 'temporal';\n this.temporalClient = temporalParams.client;\n this.taskQueue = temporalParams.taskQueue;\n this.startToCloseTimeout = temporalParams.startToCloseTimeout ?? '1 minute';\n }\n\n async createRun(options?: { runId?: string; resourceId?: string; disableScorers?: boolean }) {\n const runId = options?.runId ?? crypto.randomUUID();\n const run = new TemporalRun<TSteps, TState, TInput, TOutput, TRequestContext>(\n {\n workflowId: this.id,\n runId,\n resourceId: options?.resourceId,\n stateSchema: this.stateSchema,\n inputSchema: this.inputSchema,\n requestContextSchema: this.requestContextSchema,\n executionEngine: this.executionEngine,\n executionGraph: this.executionGraph,\n mastra: this.mastra,\n retryConfig: this.retryConfig,\n serializedStepGraph: this.serializedStepGraph,\n disableScorers: options?.disableScorers,\n tracingPolicy: this.options.tracingPolicy,\n workflowSteps: this.steps,\n validateInputs: this.options.validateInputs,\n workflowEngineType: this.engineType,\n cleanup: undefined,\n },\n {\n client: this.temporalClient,\n taskQueue: this.taskQueue,\n },\n );\n\n this.runs.set(runId, run);\n return run;\n }\n}\n\nexport function createWorkflow<\n TSteps extends Step<string, any, any, any, any, any, TemporalEngineType, any>[] = Step<\n string,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n TemporalEngineType\n >[],\n TWorkflowId extends string = string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TRequestContext extends Record<string, any> | unknown = unknown,\n>(\n config: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n temporal: TemporalWorkflowParams,\n) {\n return new TemporalWorkflow<TSteps, TWorkflowId, TState, TInput, TOutput, TInput, TRequestContext>(config, temporal);\n}\n\nexport function init(temporalParams: TemporalWorkflowParams) {\n return {\n createWorkflow: <\n TWorkflowId extends string,\n TState = unknown,\n TInput = unknown,\n TOutput = unknown,\n TSteps extends Step[] = Step[],\n TRequestContext extends Record<string, any> | unknown = unknown,\n >(\n config: WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps, TRequestContext>,\n ) => createWorkflow<TSteps, TWorkflowId, TState, TInput, TOutput, TRequestContext>(config, temporalParams),\n createStep,\n };\n}\n"],"mappings":"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"}
package/dist/run.d.ts CHANGED
@@ -17,6 +17,15 @@ export declare class TemporalRun<TSteps extends Step<string, any, any, any, any,
17
17
  });
18
18
  start(args?: TemporalRunStartArgs<TState, TInput, TRequestContext>): Promise<WorkflowResult<TState, TInput, TOutput, TSteps>>;
19
19
  cancel(): Promise<void>;
20
+ private unsupported;
21
+ stream(..._args: Parameters<Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>['stream']>): never;
22
+ streamLegacy(..._args: Parameters<Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>['streamLegacy']>): never;
23
+ resumeStream(..._args: unknown[]): never;
24
+ resume(..._args: unknown[]): never;
25
+ resumeAsync(..._args: unknown[]): never;
26
+ restart(..._args: Parameters<Run<TemporalEngineType, TSteps, TState, TInput, TOutput, TRequestContext>['restart']>): never;
27
+ timeTravel(..._args: unknown[]): never;
28
+ timeTravelStream(..._args: unknown[]): never;
20
29
  startAsync(args?: TemporalRunStartArgs<TState, TInput, TRequestContext>): Promise<{
21
30
  runId: string;
22
31
  }>;
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,KAAK,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,IAAI;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;CAClD,GAAG,uBAAuB,CAAC;AAE5B,qBAAa,WAAW,CACtB,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CACpF,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,kBAAkB,CACnB,EAAE,EACH,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EACjB,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,OAAO,CAC/D,SAAQ,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC;IACjF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,YACE,MAAM,EAAE,qBAAqB,CAAC,OAAO,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAClH,cAAc,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,EAMF;IAEK,KAAK,CAAC,IAAI,GAAE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAM,4DAwC3E;IAEK,MAAM,kBAGX;IAEK,UAAU,CAAC,IAAI,GAAE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAM;;OAuBhF;CACF"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export class TemporalExecutionEngine {
11
11
 
12
12
  async execute(params) {
13
13
  this.initData = params.input;
14
+ this.executionContext = {
15
+ ...(params.requestContext !== undefined && { requestContext: params.requestContext }),
16
+ ...(params.runId !== undefined && { runId: params.runId }),
17
+ ...(params.resourceId !== undefined && { resourceId: params.resourceId }),
18
+ workflowId: params.workflowId,
19
+ };
14
20
  let result = params.input;
15
21
  const stepResults = {};
16
22
 
@@ -27,25 +33,41 @@ export class TemporalExecutionEngine {
27
33
  };
28
34
  }
29
35
 
36
+ activityParams(inputData, extra = {}) {
37
+ return { inputData, ...extra, ...this.executionContext };
38
+ }
39
+
30
40
  async executeEntry(entry, inputData, stepResults) {
31
41
  switch (entry.type) {
32
42
  case 'step': {
33
43
  log.info('step', { stepId: entry.step.id });
34
- const out = await this.activityHandle[entry.step.id]({ inputData });
44
+ const out = await this.activityHandle[entry.step.id](
45
+ this.activityParams(inputData, { initData: this.initData }),
46
+ );
35
47
  stepResults[entry.step.id] = out;
36
48
  return out;
37
49
  }
38
50
 
39
51
  case 'childWorkflow': {
40
52
  log.info('childWorkflow', { workflowType: entry.workflowType });
41
- const childResult = await executeChild(entry.workflowType, { args: [{ inputData }] });
53
+ const childResult = await executeChild(entry.workflowType, {
54
+ args: [{ inputData, ...this.executionContext }],
55
+ });
42
56
  const out = childResult?.result ?? childResult;
43
57
  stepResults[entry.workflowType] = out;
44
58
  return out;
45
59
  }
46
60
 
61
+ case 'mapping': {
62
+ log.info('mapping', { mappingId: entry.id });
63
+ const out = await this.activityHandle[entry.id](this.activityParams(inputData, { initData: this.initData }));
64
+ stepResults[entry.id] = out;
65
+ return out;
66
+ }
67
+
47
68
  case 'sleep': {
48
- const duration = entry.duration ?? (entry.fn ? await this.activityHandle[entry.fn]({ inputData }) : 0);
69
+ const duration =
70
+ entry.duration ?? (entry.fn ? await this.activityHandle[entry.fn](this.activityParams(inputData)) : 0);
49
71
  log.info('sleep', { id: entry.id, duration });
50
72
  await sleep(duration);
51
73
  return inputData;
@@ -56,7 +78,7 @@ export class TemporalExecutionEngine {
56
78
  entry.date != null
57
79
  ? new Date(entry.date)
58
80
  : entry.fn
59
- ? new Date(await this.activityHandle[entry.fn]({ inputData }))
81
+ ? new Date(await this.activityHandle[entry.fn](this.activityParams(inputData)))
60
82
  : new Date();
61
83
  log.info('sleepUntil', { id: entry.id, date: date.toISOString() });
62
84
  const duration = Math.max(0, date.getTime() - Date.now());
@@ -65,13 +87,14 @@ export class TemporalExecutionEngine {
65
87
  }
66
88
 
67
89
  case 'parallel': {
68
- log.info('parallel', { steps: entry.steps.map(s => s.step.id) });
69
- const results = await Promise.all(entry.steps.map(s => this.activityHandle[s.step.id]({ inputData })));
90
+ const entryId = parallelEntry =>
91
+ parallelEntry.type === 'childWorkflow' ? parallelEntry.workflowType : parallelEntry.step.id;
92
+ log.info('parallel', { steps: entry.steps.map(entryId) });
93
+ const results = await Promise.all(entry.steps.map(step => this.executeEntry(step, inputData, stepResults)));
70
94
  const out = {};
71
95
 
72
- entry.steps.forEach((s, i) => {
73
- out[s.step.id] = results[i];
74
- stepResults[s.step.id] = results[i];
96
+ entry.steps.forEach((step, i) => {
97
+ out[entryId(step)] = results[i];
75
98
  });
76
99
 
77
100
  return out;
@@ -82,14 +105,16 @@ export class TemporalExecutionEngine {
82
105
  conditions: entry.serializedConditions.map(condition => condition.id),
83
106
  });
84
107
  const condResults = await Promise.all(
85
- entry.serializedConditions.map(condition => this.activityHandle[condition.id]({ inputData })),
108
+ entry.serializedConditions.map(condition =>
109
+ this.activityHandle[condition.id](this.activityParams(inputData)),
110
+ ),
86
111
  );
87
112
  const out = {};
88
113
 
89
114
  for (let i = 0; i < entry.steps.length; i++) {
90
115
  if (condResults[i]) {
91
116
  const stepId = entry.steps[i].step.id;
92
- const res = await this.activityHandle[stepId]({ inputData });
117
+ const res = await this.activityHandle[stepId](this.activityParams(inputData, { initData: this.initData }));
93
118
  out[stepId] = res;
94
119
  stepResults[stepId] = res;
95
120
  }
@@ -103,10 +128,10 @@ export class TemporalExecutionEngine {
103
128
  let current = inputData;
104
129
 
105
130
  while (true) {
106
- current = await this.activityHandle[entry.step.id]({ inputData: current });
131
+ current = await this.activityHandle[entry.step.id](this.activityParams(current, { initData: this.initData }));
107
132
  stepResults[entry.step.id] = current;
108
133
  const shouldContinue = Boolean(
109
- await this.activityHandle[entry.serializedCondition.id]({ inputData: current }),
134
+ await this.activityHandle[entry.serializedCondition.id](this.activityParams(current)),
110
135
  );
111
136
 
112
137
  if (entry.loopType === 'dowhile' ? !shouldContinue : shouldContinue) {
@@ -134,7 +159,9 @@ export class TemporalExecutionEngine {
134
159
  if (i >= items.length) {
135
160
  break;
136
161
  }
137
- results[i] = await this.activityHandle[entry.step.id]({ inputData: items[i] });
162
+ results[i] = await this.activityHandle[entry.step.id](
163
+ this.activityParams(items[i], { initData: this.initData }),
164
+ );
138
165
  }
139
166
  });
140
167
 
@@ -161,6 +188,7 @@ export function createWorkflow(workflowId, options) {
161
188
  workflowId,
162
189
  runId: startArgs?.runId,
163
190
  resourceId: startArgs?.resourceId,
191
+ requestContext: startArgs?.requestContext,
164
192
  graph: {
165
193
  id: workflowId,
166
194
  steps: stepFlow,
@@ -187,6 +215,13 @@ export function createWorkflow(workflowId, options) {
187
215
  });
188
216
  return workflow;
189
217
  },
218
+ map(mappingId) {
219
+ stepFlow.push({
220
+ type: 'mapping',
221
+ id: mappingId,
222
+ });
223
+ return workflow;
224
+ },
190
225
  sleep(durationOrFnId) {
191
226
  if (typeof durationOrFnId === 'number') {
192
227
  stepFlow.push({
@@ -225,15 +260,10 @@ export function createWorkflow(workflowId, options) {
225
260
  }
226
261
  return workflow;
227
262
  },
228
- parallel(stepIds) {
263
+ parallel(entries) {
229
264
  stepFlow.push({
230
265
  type: 'parallel',
231
- steps: stepIds.map(id => ({
232
- type: 'step',
233
- step: {
234
- id,
235
- },
236
- })),
266
+ steps: entries,
237
267
  });
238
268
  return workflow;
239
269
  },
@@ -1 +1 @@
1
- {"version":3,"file":"activities.d.ts","sourceRoot":"","sources":["../../src/transforms/activities.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mCAAmC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;CAC7C;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAmE/G;AA6HD,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,mCAAmC,CAAC,CA4W9C"}
1
+ {"version":3,"file":"activities.d.ts","sourceRoot":"","sources":["../../src/transforms/activities.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mCAAmC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;CAC7C;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAmE/G;AA2SD,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,mCAAmC,CAAC,CAoZ9C"}
@@ -1,5 +1,11 @@
1
1
  export declare class TemporalExecutionEngine {
2
2
  initData: any;
3
+ executionContext: {
4
+ requestContext?: any;
5
+ runId?: any;
6
+ resourceId?: any;
7
+ workflowId: any;
8
+ } | undefined;
3
9
  startToCloseTimeout: any;
4
10
  activityHandle: import("@temporalio/workflow").ActivityInterfaceFor<import("@temporalio/workflow").UntypedActivities>;
5
11
  constructor(params: any);
@@ -10,6 +16,13 @@ export declare class TemporalExecutionEngine {
10
16
  state: any;
11
17
  steps: {};
12
18
  }>;
19
+ activityParams(inputData: any, extra?: {}): {
20
+ requestContext?: any;
21
+ runId?: any;
22
+ resourceId?: any;
23
+ workflowId?: any;
24
+ inputData: any;
25
+ };
13
26
  executeEntry(entry: any, inputData: any, stepResults: any): Promise<any>;
14
27
  }
15
28
  export declare function createWorkflow(workflowId: any, options: any): ((startArgs: any) => Promise<{
@@ -33,6 +46,13 @@ export declare function createWorkflow(workflowId: any, options: any): ((startAr
33
46
  state: any;
34
47
  steps: {};
35
48
  }>;
49
+ map(mappingId: any): (startArgs: any) => Promise<{
50
+ status: string;
51
+ input: any;
52
+ result: any;
53
+ state: any;
54
+ steps: {};
55
+ }>;
36
56
  sleep(durationOrFnId: any): (startArgs: any) => Promise<{
37
57
  status: string;
38
58
  input: any;
@@ -47,7 +67,7 @@ export declare function createWorkflow(workflowId: any, options: any): ((startAr
47
67
  state: any;
48
68
  steps: {};
49
69
  }>;
50
- parallel(stepIds: any): (startArgs: any) => Promise<{
70
+ parallel(entries: any): (startArgs: any) => Promise<{
51
71
  status: string;
52
72
  input: any;
53
73
  result: any;
@@ -1 +1 @@
1
- {"version":3,"file":"temporal-workflow-runtime.d.mts","sourceRoot":"","sources":["../../src/transforms/temporal-workflow-runtime.mjs"],"names":[],"mappings":"AAEA,qBAAa,uBAAuB;IAU3B,QAAQ;IATf,mBAAmB,MAAC;IACpB,cAAc,wGAAC;IAEf,YAAY,MAAM,KAAA,EAGjB;IAEK,OAAO,CAAC,MAAM,KAAA;;;;;;OAgBnB;IAEK,YAAY,CAAC,KAAK,KAAA,EAAE,SAAS,KAAA,EAAE,WAAW,KAAA,gBAuH/C;CACF;AAED,wBAAgB,cAAc,CAAC,UAAU,KAAA,EAAE,OAAO,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiJjD"}
1
+ {"version":3,"file":"temporal-workflow-runtime.d.mts","sourceRoot":"","sources":["../../src/transforms/temporal-workflow-runtime.mjs"],"names":[],"mappings":"AAEA,qBAAa,uBAAuB;IAU3B,QAAQ;IACR,gBAAgB;;;;;;IAVvB,mBAAmB,MAAC;IACpB,cAAc,wGAAC;IAEf,YAAY,MAAM,KAAA,EAGjB;IAEK,OAAO,CAAC,MAAM,KAAA;;;;;;OAsBnB;IAED,cAAc,CAAC,SAAS,KAAA,EAAE,KAAK,KAAK;;;;;;MAEnC;IAEK,YAAY,CAAC,KAAK,KAAA,EAAE,SAAS,KAAA,EAAE,WAAW,KAAA,gBAwI/C;CACF;AAED,wBAAgB,cAAc,CAAC,UAAU,KAAA,EAAE,OAAO,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoJjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/transforms/workflows.ts"],"names":[],"mappings":"AAgcA,MAAM,WAAW,4BAA4B;CAE5C;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAoUD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCjC"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/transforms/workflows.ts"],"names":[],"mappings":"AAwfA,MAAM,WAAW,4BAA4B;CAE5C;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC;AA+UD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAsDjC"}