@proompteng/temporal-bun-sdk 0.2.0 → 0.4.0

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.
Files changed (123) hide show
  1. package/README.md +141 -10
  2. package/dist/src/bin/replay-command.d.ts.map +1 -1
  3. package/dist/src/bin/replay-command.js +6 -2
  4. package/dist/src/bin/replay-command.js.map +1 -1
  5. package/dist/src/bin/temporal-bun.d.ts +1 -1
  6. package/dist/src/bin/temporal-bun.d.ts.map +1 -1
  7. package/dist/src/bin/temporal-bun.js +74 -0
  8. package/dist/src/bin/temporal-bun.js.map +1 -1
  9. package/dist/src/client/layer.d.ts +2 -2
  10. package/dist/src/client/layer.d.ts.map +1 -1
  11. package/dist/src/client/retries.d.ts.map +1 -1
  12. package/dist/src/client/retries.js +27 -3
  13. package/dist/src/client/retries.js.map +1 -1
  14. package/dist/src/client/serialization.d.ts +34 -2
  15. package/dist/src/client/serialization.d.ts.map +1 -1
  16. package/dist/src/client/serialization.js +78 -5
  17. package/dist/src/client/serialization.js.map +1 -1
  18. package/dist/src/client/types.d.ts +26 -0
  19. package/dist/src/client/types.d.ts.map +1 -1
  20. package/dist/src/client.d.ts +22 -6
  21. package/dist/src/client.d.ts.map +1 -1
  22. package/dist/src/client.js +488 -39
  23. package/dist/src/client.js.map +1 -1
  24. package/dist/src/common/payloads/codecs.d.ts +38 -0
  25. package/dist/src/common/payloads/codecs.d.ts.map +1 -0
  26. package/dist/src/common/payloads/codecs.js +174 -0
  27. package/dist/src/common/payloads/codecs.js.map +1 -0
  28. package/dist/src/common/payloads/converter.d.ts +52 -3
  29. package/dist/src/common/payloads/converter.d.ts.map +1 -1
  30. package/dist/src/common/payloads/converter.js +340 -2
  31. package/dist/src/common/payloads/converter.js.map +1 -1
  32. package/dist/src/common/payloads/failure.d.ts +5 -6
  33. package/dist/src/common/payloads/failure.d.ts.map +1 -1
  34. package/dist/src/common/payloads/failure.js +3 -52
  35. package/dist/src/common/payloads/failure.js.map +1 -1
  36. package/dist/src/common/payloads/index.d.ts +1 -0
  37. package/dist/src/common/payloads/index.d.ts.map +1 -1
  38. package/dist/src/common/payloads/index.js +1 -0
  39. package/dist/src/common/payloads/index.js.map +1 -1
  40. package/dist/src/config.d.ts +9 -0
  41. package/dist/src/config.d.ts.map +1 -1
  42. package/dist/src/config.js +62 -1
  43. package/dist/src/config.js.map +1 -1
  44. package/dist/src/index.d.ts +1 -1
  45. package/dist/src/index.d.ts.map +1 -1
  46. package/dist/src/index.js.map +1 -1
  47. package/dist/src/interceptors/client.d.ts +28 -0
  48. package/dist/src/interceptors/client.d.ts.map +1 -0
  49. package/dist/src/interceptors/client.js +169 -0
  50. package/dist/src/interceptors/client.js.map +1 -0
  51. package/dist/src/interceptors/types.d.ts +33 -0
  52. package/dist/src/interceptors/types.d.ts.map +1 -0
  53. package/dist/src/interceptors/types.js +44 -0
  54. package/dist/src/interceptors/types.js.map +1 -0
  55. package/dist/src/interceptors/worker.d.ts +22 -0
  56. package/dist/src/interceptors/worker.d.ts.map +1 -0
  57. package/dist/src/interceptors/worker.js +156 -0
  58. package/dist/src/interceptors/worker.js.map +1 -0
  59. package/dist/src/runtime/cli-layer.d.ts +4 -3
  60. package/dist/src/runtime/cli-layer.d.ts.map +1 -1
  61. package/dist/src/runtime/cli-layer.js +5 -2
  62. package/dist/src/runtime/cli-layer.js.map +1 -1
  63. package/dist/src/runtime/effect-layers.d.ts +9 -0
  64. package/dist/src/runtime/effect-layers.d.ts.map +1 -1
  65. package/dist/src/runtime/effect-layers.js +15 -0
  66. package/dist/src/runtime/effect-layers.js.map +1 -1
  67. package/dist/src/worker/concurrency.d.ts +8 -0
  68. package/dist/src/worker/concurrency.d.ts.map +1 -1
  69. package/dist/src/worker/concurrency.js +5 -9
  70. package/dist/src/worker/concurrency.js.map +1 -1
  71. package/dist/src/worker/runtime.d.ts +5 -0
  72. package/dist/src/worker/runtime.d.ts.map +1 -1
  73. package/dist/src/worker/runtime.js +509 -40
  74. package/dist/src/worker/runtime.js.map +1 -1
  75. package/dist/src/worker/sticky-cache.d.ts +5 -0
  76. package/dist/src/worker/sticky-cache.d.ts.map +1 -1
  77. package/dist/src/worker/sticky-cache.js +26 -0
  78. package/dist/src/worker/sticky-cache.js.map +1 -1
  79. package/dist/src/worker/update-protocol.d.ts +33 -0
  80. package/dist/src/worker/update-protocol.d.ts.map +1 -0
  81. package/dist/src/worker/update-protocol.js +243 -0
  82. package/dist/src/worker/update-protocol.js.map +1 -0
  83. package/dist/src/worker.js +1 -0
  84. package/dist/src/worker.js.map +1 -1
  85. package/dist/src/workflow/commands.d.ts +38 -2
  86. package/dist/src/workflow/commands.d.ts.map +1 -1
  87. package/dist/src/workflow/commands.js +153 -1
  88. package/dist/src/workflow/commands.js.map +1 -1
  89. package/dist/src/workflow/context.d.ts +111 -3
  90. package/dist/src/workflow/context.d.ts.map +1 -1
  91. package/dist/src/workflow/context.js +526 -6
  92. package/dist/src/workflow/context.js.map +1 -1
  93. package/dist/src/workflow/definition.d.ts +29 -3
  94. package/dist/src/workflow/definition.d.ts.map +1 -1
  95. package/dist/src/workflow/definition.js +30 -4
  96. package/dist/src/workflow/definition.js.map +1 -1
  97. package/dist/src/workflow/determinism.d.ts +64 -0
  98. package/dist/src/workflow/determinism.d.ts.map +1 -1
  99. package/dist/src/workflow/determinism.js +120 -3
  100. package/dist/src/workflow/determinism.js.map +1 -1
  101. package/dist/src/workflow/errors.d.ts +6 -0
  102. package/dist/src/workflow/errors.d.ts.map +1 -1
  103. package/dist/src/workflow/errors.js +12 -0
  104. package/dist/src/workflow/errors.js.map +1 -1
  105. package/dist/src/workflow/executor.d.ts +56 -0
  106. package/dist/src/workflow/executor.d.ts.map +1 -1
  107. package/dist/src/workflow/executor.js +300 -9
  108. package/dist/src/workflow/executor.js.map +1 -1
  109. package/dist/src/workflow/inbound.d.ts +84 -0
  110. package/dist/src/workflow/inbound.d.ts.map +1 -0
  111. package/dist/src/workflow/inbound.js +65 -0
  112. package/dist/src/workflow/inbound.js.map +1 -0
  113. package/dist/src/workflow/index.d.ts +1 -0
  114. package/dist/src/workflow/index.d.ts.map +1 -1
  115. package/dist/src/workflow/index.js +1 -0
  116. package/dist/src/workflow/index.js.map +1 -1
  117. package/dist/src/workflow/replay.d.ts +24 -2
  118. package/dist/src/workflow/replay.d.ts.map +1 -1
  119. package/dist/src/workflow/replay.js +679 -15
  120. package/dist/src/workflow/replay.js.map +1 -1
  121. package/dist/src/workflows/index.d.ts +1 -1
  122. package/dist/src/workflows/index.d.ts.map +1 -1
  123. package/package.json +1 -1
@@ -1,9 +1,53 @@
1
1
  import type { DataConverter } from '../common/payloads';
2
2
  import { type Command } from '../proto/temporal/api/command/v1/message_pb';
3
+ import { type WorkflowQueryResult } from '../proto/temporal/api/query/v1/message_pb';
3
4
  import { type WorkflowCommandIntent } from './commands';
4
5
  import { type ActivityResolution } from './context';
5
6
  import { type WorkflowDeterminismState } from './determinism';
7
+ import type { WorkflowQueryRequest, WorkflowSignalDeliveryInput } from './inbound';
6
8
  import type { WorkflowRegistry } from './registry';
9
+ export interface WorkflowUpdateInvocation {
10
+ readonly protocolInstanceId: string;
11
+ readonly requestMessageId: string;
12
+ readonly updateId: string;
13
+ readonly name: string;
14
+ readonly payload: unknown;
15
+ readonly identity?: string;
16
+ readonly sequencingEventId?: string;
17
+ }
18
+ export type WorkflowUpdateDispatch = {
19
+ readonly type: 'acceptance';
20
+ readonly protocolInstanceId: string;
21
+ readonly requestMessageId: string;
22
+ readonly updateId: string;
23
+ readonly handlerName: string;
24
+ readonly identity?: string;
25
+ readonly sequencingEventId?: string;
26
+ } | {
27
+ readonly type: 'rejection';
28
+ readonly protocolInstanceId: string;
29
+ readonly requestMessageId: string;
30
+ readonly updateId: string;
31
+ readonly reason: string;
32
+ readonly failure?: unknown;
33
+ readonly sequencingEventId?: string;
34
+ } | {
35
+ readonly type: 'completion';
36
+ readonly protocolInstanceId: string;
37
+ readonly updateId: string;
38
+ readonly status: 'success';
39
+ readonly result?: unknown;
40
+ readonly handlerName: string;
41
+ readonly identity?: string;
42
+ } | {
43
+ readonly type: 'completion';
44
+ readonly protocolInstanceId: string;
45
+ readonly updateId: string;
46
+ readonly status: 'failure';
47
+ readonly failure: unknown;
48
+ readonly handlerName: string;
49
+ readonly identity?: string;
50
+ };
7
51
  export interface ExecuteWorkflowInput {
8
52
  readonly workflowType: string;
9
53
  readonly workflowId: string;
@@ -13,6 +57,12 @@ export interface ExecuteWorkflowInput {
13
57
  readonly arguments: unknown;
14
58
  readonly determinismState?: WorkflowDeterminismState;
15
59
  readonly activityResults?: Map<string, ActivityResolution>;
60
+ readonly activityScheduleEventIds?: Map<string, string>;
61
+ readonly signalDeliveries?: readonly WorkflowSignalDeliveryInput[];
62
+ readonly timerResults?: ReadonlySet<string>;
63
+ readonly queryRequests?: readonly WorkflowQueryRequest[];
64
+ readonly updates?: readonly WorkflowUpdateInvocation[];
65
+ readonly mode?: 'workflow' | 'query';
16
66
  }
17
67
  export type WorkflowCompletionStatus = 'completed' | 'failed' | 'continued-as-new' | 'pending';
18
68
  export interface WorkflowExecutionOutput {
@@ -22,6 +72,12 @@ export interface WorkflowExecutionOutput {
22
72
  readonly completion: WorkflowCompletionStatus;
23
73
  readonly result?: unknown;
24
74
  readonly failure?: unknown;
75
+ readonly queryResults: readonly WorkflowQueryEvaluationResult[];
76
+ readonly updateDispatches?: readonly WorkflowUpdateDispatch[];
77
+ }
78
+ export interface WorkflowQueryEvaluationResult {
79
+ readonly request: WorkflowQueryRequest;
80
+ readonly result: WorkflowQueryResult;
25
81
  }
26
82
  export interface WorkflowExecutorOptions {
27
83
  registry: WorkflowRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/workflow/executor.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGvD,OAAO,EACL,KAAK,OAAO,EAIb,MAAM,6CAA6C,CAAA;AAGpD,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAgD,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAE3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;IACpD,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;CAC3D;AAED,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,QAAQ,GAAG,kBAAkB,GAAG,SAAS,CAAA;AAE9F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAA;IAClD,QAAQ,CAAC,gBAAgB,EAAE,wBAAwB,CAAA;IACnD,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAA;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,aAAa,EAAE,aAAa,CAAA;CAC7B;AAED,qBAAa,gBAAgB;;gBAIf,OAAO,EAAE,uBAAuB;IAKtC,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAsK7E"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/workflow/executor.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,12 @@ import { encodeErrorToFailure, encodeFailurePayloads } from '../common/payloads/
9
9
  import { CommandSchema, CompleteWorkflowExecutionCommandAttributesSchema, FailWorkflowExecutionCommandAttributesSchema, } from '../proto/temporal/api/command/v1/message_pb';
10
10
  import { PayloadsSchema } from '../proto/temporal/api/common/v1/message_pb';
11
11
  import { CommandType } from '../proto/temporal/api/enums/v1/command_type_pb';
12
+ import { QueryResultType } from '../proto/temporal/api/enums/v1/query_pb';
13
+ import { WorkflowQueryResultSchema } from '../proto/temporal/api/query/v1/message_pb';
12
14
  import { materializeCommands } from './commands';
13
15
  import { createWorkflowContext, } from './context';
14
16
  import { DeterminismGuard, snapshotToDeterminismState } from './determinism';
15
- import { ContinueAsNewWorkflowError, WorkflowBlockedError, WorkflowNondeterminismError } from './errors';
17
+ import { ContinueAsNewWorkflowError, WorkflowBlockedError, WorkflowNondeterminismError, WorkflowQueryViolationError, } from './errors';
16
18
  export class WorkflowExecutor {
17
19
  #registry;
18
20
  #dataConverter;
@@ -28,25 +30,77 @@ export class WorkflowExecutor {
28
30
  runId: input.runId,
29
31
  workflowType: input.workflowType,
30
32
  };
33
+ const executionMode = input.mode ?? 'workflow';
31
34
  const definition = this.#registry.get(input.workflowType);
32
35
  const normalizedArguments = this.#normalizeArguments(input.arguments, definition.decodeArgumentsAsArray);
33
36
  const decodedEffect = Schema.decodeUnknown(definition.schema)(normalizedArguments);
34
- const guard = new DeterminismGuard({ previousState: input.determinismState });
37
+ const guard = new DeterminismGuard({ previousState: input.determinismState, mode: executionMode });
35
38
  let lastCommandContext;
39
+ let lastQueryRegistry;
40
+ let lastWorkflowContext;
41
+ let lastUpdateRegistry;
42
+ let blockedFromUpdates;
36
43
  const workflowEffect = Effect.flatMap(decodedEffect, (parsed) => {
37
44
  const created = createWorkflowContext({
38
45
  input: parsed,
39
46
  info,
40
47
  determinismGuard: guard,
41
48
  activityResults: input.activityResults,
49
+ activityScheduleEventIds: input.activityScheduleEventIds,
50
+ signalDeliveries: input.signalDeliveries,
51
+ timerResults: input.timerResults,
52
+ updates: definition.updates,
42
53
  });
43
54
  lastCommandContext = created.commandContext;
44
- return Effect.flatMap(definition.handler(created.context), (result) => Effect.sync(() => ({ result, commandContext: created.commandContext })));
55
+ lastQueryRegistry = created.queryRegistry;
56
+ lastWorkflowContext = created.context;
57
+ lastUpdateRegistry = created.updateRegistry;
58
+ return Effect.flatMap(definition.handler(created.context), (result) => Effect.sync(() => ({
59
+ result,
60
+ context: created.context,
61
+ commandContext: created.commandContext,
62
+ updateRegistry: created.updateRegistry,
63
+ })));
45
64
  });
46
65
  const exit = await Effect.runPromiseExit(workflowEffect);
47
- const rawSnapshot = guard.snapshot;
48
- const determinismState = snapshotToDeterminismState(rawSnapshot);
66
+ const updatesToProcess = input.updates ?? [];
67
+ let updateDispatches = [];
68
+ if (updatesToProcess.length > 0) {
69
+ const contextForUpdates = Exit.isSuccess(exit) ? exit.value.context : lastWorkflowContext;
70
+ const registryForUpdates = Exit.isSuccess(exit) ? exit.value.updateRegistry : lastUpdateRegistry;
71
+ if (!contextForUpdates || !registryForUpdates) {
72
+ throw new Error('Workflow update context unavailable after execution');
73
+ }
74
+ try {
75
+ updateDispatches = await this.#processWorkflowUpdates({
76
+ context: contextForUpdates,
77
+ registry: registryForUpdates,
78
+ updates: updatesToProcess,
79
+ guard,
80
+ });
81
+ }
82
+ catch (error) {
83
+ if (error instanceof WorkflowBlockedError) {
84
+ blockedFromUpdates = error;
85
+ }
86
+ else {
87
+ throw error;
88
+ }
89
+ }
90
+ }
91
+ const queryResults = await this.#evaluateQueryRequests(lastQueryRegistry, input.queryRequests);
49
92
  if (Exit.isSuccess(exit)) {
93
+ const determinismState = snapshotToDeterminismState(guard.snapshot);
94
+ if (executionMode === 'query') {
95
+ return {
96
+ commands: [],
97
+ intents: [],
98
+ determinismState,
99
+ completion: 'completed',
100
+ result: exit.value.result,
101
+ queryResults,
102
+ };
103
+ }
50
104
  const commands = await this.#buildSuccessCommands(exit.value.commandContext, exit.value.result);
51
105
  return {
52
106
  commands,
@@ -54,25 +108,33 @@ export class WorkflowExecutor {
54
108
  determinismState,
55
109
  completion: 'completed',
56
110
  result: exit.value.result,
111
+ queryResults,
112
+ ...(updateDispatches.length > 0 ? { updateDispatches } : {}),
57
113
  };
58
114
  }
59
115
  const error = this.#resolveError(exit.cause);
60
116
  const continueAsNewError = unwrapWorkflowError(error, ContinueAsNewWorkflowError);
61
117
  if (continueAsNewError) {
118
+ if (executionMode === 'query') {
119
+ throw new WorkflowQueryViolationError('Workflow query cannot request continue-as-new');
120
+ }
121
+ const rawSnapshot = guard.snapshot;
62
122
  const intents = rawSnapshot.commandHistory.map((entry) => entry.intent);
63
123
  const commands = await materializeCommands(intents, { dataConverter: this.#dataConverter });
64
124
  return {
65
125
  commands,
66
126
  intents,
67
- determinismState,
127
+ determinismState: snapshotToDeterminismState(rawSnapshot),
68
128
  completion: 'continued-as-new',
129
+ queryResults,
130
+ ...(updateDispatches.length > 0 ? { updateDispatches } : {}),
69
131
  };
70
132
  }
71
133
  const nondeterminismError = unwrapWorkflowError(error, WorkflowNondeterminismError);
72
134
  if (nondeterminismError) {
73
135
  throw nondeterminismError;
74
136
  }
75
- const blockedError = unwrapWorkflowError(error, WorkflowBlockedError);
137
+ const blockedError = unwrapWorkflowError(error, WorkflowBlockedError) ?? blockedFromUpdates;
76
138
  if (blockedError) {
77
139
  const contextForPending = lastCommandContext ??
78
140
  (() => {
@@ -81,22 +143,213 @@ export class WorkflowExecutor {
81
143
  const pendingCommands = await materializeCommands(contextForPending.intents, {
82
144
  dataConverter: this.#dataConverter,
83
145
  });
146
+ if (executionMode === 'query') {
147
+ return {
148
+ commands: [],
149
+ intents: contextForPending.intents,
150
+ determinismState: snapshotToDeterminismState(guard.snapshot),
151
+ completion: 'pending',
152
+ queryResults,
153
+ ...(updateDispatches.length > 0 ? { updateDispatches } : {}),
154
+ };
155
+ }
84
156
  return {
85
157
  commands: pendingCommands,
86
158
  intents: contextForPending.intents,
87
- determinismState,
159
+ determinismState: snapshotToDeterminismState(guard.snapshot),
88
160
  completion: 'pending',
161
+ queryResults,
162
+ ...(updateDispatches.length > 0 ? { updateDispatches } : {}),
163
+ };
164
+ }
165
+ if (executionMode === 'query') {
166
+ return {
167
+ commands: [],
168
+ intents: [],
169
+ determinismState: snapshotToDeterminismState(guard.snapshot),
170
+ completion: 'failed',
171
+ failure: error,
172
+ queryResults,
89
173
  };
90
174
  }
91
175
  const failureCommands = await this.#buildFailureCommands(error);
92
176
  return {
93
177
  commands: failureCommands,
94
178
  intents: [],
95
- determinismState,
179
+ determinismState: snapshotToDeterminismState(guard.snapshot),
96
180
  completion: 'failed',
97
181
  failure: error,
182
+ queryResults,
183
+ ...(updateDispatches.length > 0 ? { updateDispatches } : {}),
98
184
  };
99
185
  }
186
+ async #processWorkflowUpdates({ context, registry, updates, guard, }) {
187
+ if (!updates.length) {
188
+ return [];
189
+ }
190
+ const dispatches = [];
191
+ for (const invocation of updates) {
192
+ const messageId = invocation.requestMessageId;
193
+ guard.recordUpdate({
194
+ updateId: invocation.updateId,
195
+ stage: 'admitted',
196
+ handlerName: invocation.name,
197
+ identity: invocation.identity,
198
+ messageId,
199
+ });
200
+ const registered = registry.get(invocation.name) ?? registry.getDefault();
201
+ if (!registered) {
202
+ const failure = new Error(`Workflow update handler "${invocation.name}" was not found`);
203
+ dispatches.push({
204
+ type: 'rejection',
205
+ protocolInstanceId: invocation.protocolInstanceId,
206
+ requestMessageId: invocation.requestMessageId,
207
+ updateId: invocation.updateId,
208
+ reason: 'handler-not-found',
209
+ failure,
210
+ sequencingEventId: invocation.sequencingEventId,
211
+ });
212
+ guard.recordUpdate({
213
+ updateId: invocation.updateId,
214
+ stage: 'rejected',
215
+ handlerName: invocation.name,
216
+ identity: invocation.identity,
217
+ failureMessage: failure.message,
218
+ messageId,
219
+ });
220
+ continue;
221
+ }
222
+ let decodedInput;
223
+ try {
224
+ decodedInput = await Effect.runPromise(Schema.decodeUnknown(registered.input)(invocation.payload));
225
+ }
226
+ catch (error) {
227
+ const failure = this.#normalizeUpdateError(error);
228
+ dispatches.push({
229
+ type: 'rejection',
230
+ protocolInstanceId: invocation.protocolInstanceId,
231
+ requestMessageId: invocation.requestMessageId,
232
+ updateId: invocation.updateId,
233
+ reason: 'invalid-input',
234
+ failure,
235
+ sequencingEventId: invocation.sequencingEventId,
236
+ });
237
+ guard.recordUpdate({
238
+ updateId: invocation.updateId,
239
+ stage: 'rejected',
240
+ handlerName: registered.name,
241
+ identity: invocation.identity,
242
+ failureMessage: failure.message,
243
+ messageId,
244
+ });
245
+ continue;
246
+ }
247
+ if (registered.validator) {
248
+ try {
249
+ registered.validator(decodedInput);
250
+ }
251
+ catch (error) {
252
+ const failure = this.#normalizeUpdateError(error);
253
+ dispatches.push({
254
+ type: 'rejection',
255
+ protocolInstanceId: invocation.protocolInstanceId,
256
+ requestMessageId: invocation.requestMessageId,
257
+ updateId: invocation.updateId,
258
+ reason: 'validation-failed',
259
+ failure,
260
+ sequencingEventId: invocation.sequencingEventId,
261
+ });
262
+ guard.recordUpdate({
263
+ updateId: invocation.updateId,
264
+ stage: 'rejected',
265
+ handlerName: registered.name,
266
+ identity: invocation.identity,
267
+ failureMessage: failure.message,
268
+ messageId,
269
+ });
270
+ continue;
271
+ }
272
+ }
273
+ dispatches.push({
274
+ type: 'acceptance',
275
+ protocolInstanceId: invocation.protocolInstanceId,
276
+ requestMessageId: invocation.requestMessageId,
277
+ updateId: invocation.updateId,
278
+ handlerName: registered.name,
279
+ identity: invocation.identity,
280
+ sequencingEventId: invocation.sequencingEventId,
281
+ });
282
+ guard.recordUpdate({
283
+ updateId: invocation.updateId,
284
+ stage: 'accepted',
285
+ handlerName: registered.name,
286
+ identity: invocation.identity,
287
+ sequencingEventId: invocation.sequencingEventId,
288
+ messageId,
289
+ });
290
+ const priorCompletion = guard.getUpdateCompletion(invocation.updateId);
291
+ if (priorCompletion) {
292
+ // Re-run the handler to rebuild workflow state during replay, but avoid emitting duplicate protocol messages.
293
+ await Effect.runPromiseExit(registered.handler(context, decodedInput));
294
+ guard.recordUpdate(priorCompletion);
295
+ continue;
296
+ }
297
+ const executionExit = await Effect.runPromiseExit(registered.handler(context, decodedInput));
298
+ if (Exit.isSuccess(executionExit)) {
299
+ dispatches.push({
300
+ type: 'completion',
301
+ protocolInstanceId: invocation.protocolInstanceId,
302
+ updateId: invocation.updateId,
303
+ status: 'success',
304
+ result: executionExit.value,
305
+ handlerName: registered.name,
306
+ identity: invocation.identity,
307
+ });
308
+ guard.recordUpdate({
309
+ updateId: invocation.updateId,
310
+ stage: 'completed',
311
+ handlerName: registered.name,
312
+ identity: invocation.identity,
313
+ outcome: 'success',
314
+ messageId,
315
+ });
316
+ }
317
+ else {
318
+ const failure = this.#resolveError(executionExit.cause);
319
+ if (failure instanceof WorkflowBlockedError) {
320
+ continue;
321
+ }
322
+ dispatches.push({
323
+ type: 'completion',
324
+ protocolInstanceId: invocation.protocolInstanceId,
325
+ updateId: invocation.updateId,
326
+ status: 'failure',
327
+ failure,
328
+ handlerName: registered.name,
329
+ identity: invocation.identity,
330
+ });
331
+ guard.recordUpdate({
332
+ updateId: invocation.updateId,
333
+ stage: 'completed',
334
+ handlerName: registered.name,
335
+ identity: invocation.identity,
336
+ outcome: 'failure',
337
+ failureMessage: failure instanceof Error ? failure.message : String(failure),
338
+ messageId,
339
+ });
340
+ }
341
+ }
342
+ return dispatches;
343
+ }
344
+ #normalizeUpdateError(error) {
345
+ if (error instanceof Error) {
346
+ return error;
347
+ }
348
+ if (typeof error === 'string') {
349
+ return new Error(error);
350
+ }
351
+ return new Error('Workflow update failed validation');
352
+ }
100
353
  #resolveError(cause) {
101
354
  if (cause === undefined) {
102
355
  return new Error('Workflow failed');
@@ -148,6 +401,44 @@ export class WorkflowExecutor {
148
401
  }),
149
402
  ];
150
403
  }
404
+ async #evaluateQueryRequests(registry, requests) {
405
+ if (!requests || requests.length === 0) {
406
+ return [];
407
+ }
408
+ if (!registry) {
409
+ throw new Error('Workflow query registry unavailable');
410
+ }
411
+ if (process.env.CODEX_DEBUG_QUERY_REGISTRY === '1') {
412
+ console.log('query registry handlers', registry.list().map((handler) => handler.handle.name), 'requests', requests.map((request) => request.name));
413
+ }
414
+ const results = [];
415
+ for (const request of requests) {
416
+ const evaluation = await Effect.runPromise(registry.evaluate(request));
417
+ const encoded = evaluation.status === 'success'
418
+ ? await this.#encodeSuccessfulQueryResult(evaluation.result)
419
+ : await this.#encodeFailedQueryResult(evaluation.error);
420
+ results.push({ request: evaluation.request, result: encoded });
421
+ }
422
+ return results;
423
+ }
424
+ async #encodeSuccessfulQueryResult(value) {
425
+ const payloads = await encodeValuesToPayloads(this.#dataConverter, value === undefined ? [] : [value]);
426
+ const answer = payloads && payloads.length > 0 ? create(PayloadsSchema, { payloads }) : undefined;
427
+ return create(WorkflowQueryResultSchema, {
428
+ resultType: QueryResultType.ANSWERED,
429
+ answer,
430
+ errorMessage: '',
431
+ });
432
+ }
433
+ async #encodeFailedQueryResult(error) {
434
+ const normalized = error instanceof Error ? error : new Error(String(error ?? 'Workflow query failed'));
435
+ const failure = await encodeErrorToFailure(this.#dataConverter, normalized);
436
+ return create(WorkflowQueryResultSchema, {
437
+ resultType: QueryResultType.FAILED,
438
+ errorMessage: normalized.message ?? 'Workflow query failed',
439
+ failure,
440
+ });
441
+ }
151
442
  #normalizeArguments(raw, expectArray) {
152
443
  if (expectArray) {
153
444
  return raw ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/workflow/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/workflow/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import type { Effect } from 'effect';
2
+ import * as Schema from 'effect/Schema';
3
+ declare const defaultSignalSchema: Schema.Schema<unknown>;
4
+ declare const defaultQueryInputSchema: Schema.Schema<unknown>;
5
+ declare const defaultQueryOutputSchema: Schema.Schema<unknown>;
6
+ type RecordValue<T> = Schema.Schema<T> | {
7
+ schema?: Schema.Schema<T>;
8
+ description?: string;
9
+ };
10
+ export interface WorkflowSignalHandle<I> {
11
+ readonly kind: 'workflow-signal';
12
+ readonly name: string;
13
+ readonly schema: Schema.Schema<I>;
14
+ readonly decodeArgumentsAsArray: boolean;
15
+ readonly description?: string;
16
+ }
17
+ export type WorkflowSignalsDefinition<T extends Record<string, RecordValue<unknown>>> = {
18
+ readonly [K in keyof T]: WorkflowSignalHandle<Schema.Schema.Type<ExtractSignalSchema<T[K]>>>;
19
+ };
20
+ type ExtractSignalSchema<T> = T extends Schema.Schema<infer I> ? Schema.Schema<I> : T extends {
21
+ schema?: Schema.Schema<infer I>;
22
+ } ? Schema.Schema<I> : typeof defaultSignalSchema;
23
+ export declare const defineWorkflowSignals: <T extends Record<string, RecordValue<unknown>>>(definitions: T) => WorkflowSignalsDefinition<T>;
24
+ export interface WorkflowSignalMetadata {
25
+ readonly eventId?: string | null;
26
+ readonly workflowTaskCompletedEventId?: string | null;
27
+ readonly identity?: string | null;
28
+ readonly timestamp?: string | null;
29
+ }
30
+ export interface WorkflowSignalDelivery<T> {
31
+ readonly payload: T;
32
+ readonly metadata: WorkflowSignalMetadata;
33
+ }
34
+ export interface WorkflowSignalDeliveryInput {
35
+ readonly name: string;
36
+ readonly args: readonly unknown[];
37
+ readonly metadata?: WorkflowSignalMetadata;
38
+ }
39
+ export type WorkflowSignalHandler<I, A = void> = (payload: I, metadata: WorkflowSignalMetadata) => Effect.Effect<A, unknown, never>;
40
+ export interface WorkflowSignalHandlerOptions {
41
+ readonly name?: string;
42
+ }
43
+ type QueryRecordValue<I, O> = Schema.Schema<I> | {
44
+ readonly input?: Schema.Schema<I>;
45
+ readonly output?: Schema.Schema<O>;
46
+ readonly description?: string;
47
+ };
48
+ export interface WorkflowQueryHandle<I, O> {
49
+ readonly kind: 'workflow-query';
50
+ readonly name: string;
51
+ readonly inputSchema: Schema.Schema<I>;
52
+ readonly outputSchema: Schema.Schema<O>;
53
+ readonly decodeInputAsArray: boolean;
54
+ readonly description?: string;
55
+ }
56
+ export type WorkflowQueriesDefinition<T extends Record<string, QueryRecordValue<unknown, unknown>>> = {
57
+ readonly [K in keyof T]: WorkflowQueryHandle<Schema.Schema.Type<ExtractQueryInputSchema<T[K]>>, Schema.Schema.Type<ExtractQueryOutputSchema<T[K]>>>;
58
+ };
59
+ type ExtractQueryInputSchema<T> = T extends Schema.Schema<infer I> ? Schema.Schema<I> : T extends {
60
+ input?: Schema.Schema<infer I>;
61
+ } ? Schema.Schema<I> : typeof defaultQueryInputSchema;
62
+ type ExtractQueryOutputSchema<T> = T extends {
63
+ output?: Schema.Schema<infer O>;
64
+ } ? Schema.Schema<O> : typeof defaultQueryOutputSchema;
65
+ export declare const defineWorkflowQueries: <T extends Record<string, QueryRecordValue<unknown, unknown>>>(definitions: T) => WorkflowQueriesDefinition<T>;
66
+ export interface WorkflowQueryMetadata {
67
+ readonly id?: string;
68
+ readonly identity?: string | null;
69
+ readonly header?: Record<string, unknown>;
70
+ }
71
+ export interface WorkflowQueryRequest {
72
+ readonly id?: string;
73
+ readonly name: string;
74
+ readonly args: readonly unknown[];
75
+ readonly metadata?: WorkflowQueryMetadata;
76
+ readonly source: 'legacy' | 'multi';
77
+ }
78
+ export type WorkflowQueryResolver<I, O> = (input: I, metadata: WorkflowQueryMetadata) => Effect.Effect<O, unknown, never>;
79
+ export interface WorkflowQueryHandlerOptions {
80
+ readonly name?: string;
81
+ }
82
+ export declare const normalizeInboundArguments: (raw: readonly unknown[] | undefined, decodeAsArray: boolean) => unknown;
83
+ export {};
84
+ //# sourceMappingURL=inbound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../../src/workflow/inbound.ts"],"names":[],"mappings":"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"}