@fluidgrids/workflows 2026.1028.2 → 2026.1030.1
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/README.md +181 -11
- package/dist/{activation-BBh1p82z.d.cts → activation-DqUfpHzk.d.cts} +1 -1
- package/dist/{activation-DnhG7SmF.d.ts → activation-xpx1oWuo.d.ts} +1 -1
- package/dist/{chunk-VRHHBPT6.js → chunk-2D3MYIIF.js} +1212 -128
- package/dist/chunk-3U2NU7YC.cjs +124 -0
- package/dist/{chunk-NEIUQASE.cjs → chunk-4QKB4ARC.cjs} +3 -3
- package/dist/{chunk-GBQ33SIZ.cjs → chunk-54FLQNUM.cjs} +12 -1
- package/dist/chunk-5HIVIV53.js +330 -0
- package/dist/chunk-5MFVJM76.js +1222 -0
- package/dist/{chunk-JD2VQIDZ.cjs → chunk-672KMMBK.cjs} +2 -2
- package/dist/{chunk-C5OLWZ42.js → chunk-6A2FGSUS.js} +22 -14
- package/dist/{chunk-XKJA7KX3.js → chunk-6OLN6BMB.js} +52 -3
- package/dist/{chunk-6FSHT5IL.js → chunk-7EZIANC7.js} +1 -1
- package/dist/{chunk-2J6TF7YI.cjs → chunk-A5SXCA62.cjs} +10 -3
- package/dist/{chunk-BO6OVILK.js → chunk-AC6ZEXVR.js} +10 -4
- package/dist/{chunk-ABFZWYHT.js → chunk-AE5Q6ZAJ.js} +315 -50
- package/dist/chunk-C4F5KJTI.js +293 -0
- package/dist/{chunk-IISBRUWJ.js → chunk-G5H32GIG.js} +1 -1
- package/dist/chunk-GEQDGUGB.cjs +2719 -0
- package/dist/{chunk-XHXIDVEC.js → chunk-HCM7ZC7Q.js} +1 -1
- package/dist/chunk-HMZUGSMU.cjs +1554 -0
- package/dist/{chunk-SAOBPYYJ.cjs → chunk-IQPXHQQQ.cjs} +8 -4
- package/dist/{chunk-P6TA5EZT.cjs → chunk-ISOIA7NV.cjs} +335 -58
- package/dist/chunk-JSC75O5C.cjs +167 -0
- package/dist/chunk-M272AHEX.js +25 -0
- package/dist/{chunk-BD7ZPG53.js → chunk-NWQ5WRLE.js} +10 -2
- package/dist/chunk-ODZ2IAR2.cjs +1247 -0
- package/dist/chunk-Q4MWQNJK.cjs +28 -0
- package/dist/{chunk-HWJZVOG7.js → chunk-SR7TR5KX.js} +6 -2
- package/dist/{chunk-FEW3JBYA.cjs → chunk-TCTE7DX5.cjs} +3 -3
- package/dist/{chunk-623FVQSN.cjs → chunk-TYF56RGB.cjs} +123 -0
- package/dist/chunk-VA4OFR72.cjs +324 -0
- package/dist/chunk-VU5S5A7V.js +150 -0
- package/dist/chunk-YEHR4NNE.js +1522 -0
- package/dist/{chunk-FMSW2HDF.cjs → chunk-ZCGKGDCL.cjs} +23 -15
- package/dist/codegen/index.d.cts +2 -2
- package/dist/codegen/index.d.ts +2 -2
- package/dist/collect-6NIEufHd.d.ts +103 -0
- package/dist/collect-CcTCKqx6.d.cts +103 -0
- package/dist/{file-BOoHZgoQ.d.cts → file-BxYpwjRQ.d.cts} +1007 -21
- package/dist/{file-yuPCFU5b.d.ts → file-CFdPQJI9.d.ts} +1007 -21
- package/dist/history/index.cjs +375 -86
- package/dist/history/index.d.cts +590 -12
- package/dist/history/index.d.ts +590 -12
- package/dist/history/index.js +50 -4
- package/dist/index.cjs +156 -50
- package/dist/index.d.cts +38 -58
- package/dist/index.d.ts +38 -58
- package/dist/index.js +6 -4
- package/dist/interceptors-CNcr2dlk.d.ts +159 -0
- package/dist/interceptors-CqkNZVfI.d.cts +159 -0
- package/dist/ir/index.cjs +362 -38
- package/dist/ir/index.d.cts +282 -7
- package/dist/ir/index.d.ts +282 -7
- package/dist/ir/index.js +329 -23
- package/dist/{lower-BzmUz0sq.d.cts → lower-BtRfIW2A.d.cts} +56 -8
- package/dist/{lower-_-iT4HYs.d.ts → lower-CpsMFOFX.d.ts} +56 -8
- package/dist/{manifest-C8N6HDYl.d.ts → manifest-D-I_twys.d.ts} +1 -1
- package/dist/{manifest-0OLw0i7k.d.cts → manifest-DahBQVM8.d.cts} +1 -1
- package/dist/node-evaluator-DGQDPSPI.cjs +24 -0
- package/dist/node-evaluator-LEEVD7H7.js +14 -0
- package/dist/payload-fields-BVRQn2yH.d.cts +122 -0
- package/dist/payload-fields-oOBWxDiG.d.ts +122 -0
- package/dist/quickjs/index.cjs +28 -27
- package/dist/quickjs/index.d.cts +6 -6
- package/dist/quickjs/index.d.ts +6 -6
- package/dist/quickjs/index.js +10 -9
- package/dist/roundtrip/index.cjs +259 -51
- package/dist/roundtrip/index.d.cts +100 -9
- package/dist/roundtrip/index.d.ts +100 -9
- package/dist/roundtrip/index.js +177 -11
- package/dist/runtime/index.cjs +21 -20
- package/dist/runtime/index.d.cts +184 -15
- package/dist/runtime/index.d.ts +184 -15
- package/dist/runtime/index.js +8 -7
- package/dist/testing/index.cjs +1122 -115
- package/dist/testing/index.d.cts +294 -13
- package/dist/testing/index.d.ts +294 -13
- package/dist/testing/index.js +1086 -84
- package/dist/{types-DV-HX_Gt.d.ts → types-Bv2i4cBX.d.cts} +244 -33
- package/dist/{types-CpBBjaGX.d.cts → types-DGx-b9eq.d.ts} +244 -33
- package/dist/{types-BGoPzgcl.d.ts → types-V7jEEUaL.d.cts} +20 -1
- package/dist/{types-BGoPzgcl.d.cts → types-V7jEEUaL.d.ts} +20 -1
- package/dist/{workflow-Bpr3vnA_.d.ts → workflow-B18OeF7g.d.ts} +2 -2
- package/dist/workflow-BGnv8SS6.d.ts +803 -0
- package/dist/{workflow-FXUkpIBc.d.cts → workflow-BJPFv3cp.d.cts} +2 -2
- package/dist/workflow-DS32Gtws.d.cts +803 -0
- package/fixtures/histories/activity-options-updated.history.json +159 -0
- package/fixtures/histories/activity-paused-unpaused.history.json +160 -0
- package/fixtures/histories/auto-upgrade-patched.history.json +276 -0
- package/fixtures/histories/benign-failure.history.json +146 -0
- package/fixtures/histories/cancel-activity-try-cancel.history.json +150 -0
- package/fixtures/histories/child-cancel-wait-requested.history.json +217 -0
- package/fixtures/histories/child-options-roundtrip.history.json +192 -0
- package/fixtures/histories/codec-opaque.history.json +229 -0
- package/fixtures/histories/continue-as-new-last-result.history.json +86 -0
- package/fixtures/histories/continue-as-new-options.history.json +99 -0
- package/fixtures/histories/continue-as-new-r1-long-task-queue.history.json +78 -0
- package/fixtures/histories/continue-as-new-r1-retry-options.history.json +83 -0
- package/fixtures/histories/dynamic-workflow.history.json +150 -0
- package/fixtures/histories/execution-timeout-chain.history.json +98 -0
- package/fixtures/histories/external-cancel-resolved.history.json +123 -0
- package/fixtures/histories/external-cancel-unknown-target.history.json +127 -0
- package/fixtures/histories/failure-error-types-fails-run.history.json +144 -0
- package/fixtures/histories/handler-drain-warn.history.json +222 -0
- package/fixtures/histories/heartbeat-details-on-retry.history.json +145 -0
- package/fixtures/histories/interceptor-headers.history.json +339 -0
- package/fixtures/histories/local-activity-abandoned-at-completion.history.json +73 -0
- package/fixtures/histories/local-activity-cancelled-in-scope.history.json +118 -0
- package/fixtures/histories/local-activity-completed.history.json +157 -0
- package/fixtures/histories/local-activity-failed.history.json +93 -0
- package/fixtures/histories/local-activity-retry-in-task.history.json +88 -0
- package/fixtures/histories/query-custom.history.json +213 -0
- package/fixtures/histories/query-default-handler.history.json +120 -0
- package/fixtures/histories/reset-forked-reapplied-signals.history.json +239 -0
- package/fixtures/histories/reset-reapplied-update-admitted.history.json +228 -0
- package/fixtures/histories/run-retry-last-failure.history.json +90 -0
- package/fixtures/histories/run-timeout.history.json +159 -0
- package/fixtures/histories/schedule-to-start-timeout.history.json +132 -0
- package/fixtures/histories/search-attributes-upserted.history.json +177 -0
- package/fixtures/histories/start-delay-signal-ends-delay.history.json +155 -0
- package/fixtures/histories/typeerror-task-retry-100.history.json +137 -0
- package/fixtures/histories/update-accepted-completed.history.json +45 -30
- package/fixtures/histories/update-default-handler.history.json +246 -0
- package/fixtures/histories/update-handler-awaits-activity.history.json +196 -0
- package/fixtures/histories/update-not-handled.history.json +138 -0
- package/fixtures/histories/update-rejected-no-event.history.json +190 -0
- package/fixtures/histories/update-with-start-admitted.history.json +150 -0
- package/fixtures/histories/user-activity-cancel.history.json +149 -0
- package/fixtures/histories/user-activity-retry.history.json +143 -0
- package/fixtures/histories/user-activity.history.json +149 -0
- package/package.json +1 -1
- package/schema/bridge-v2.schema.json +1062 -0
- package/schema/history-file.schema.json +538 -83
- package/schema/ir-v2.schema.json +290 -0
- package/schema/payload-fields.json +162 -0
- package/schema/run-event.schema.json +503 -82
- package/schema/workflow-command.schema.json +372 -69
- package/schema/workflow-task.schema.json +924 -171
- package/dist/assemble-BLqQ8lSu.d.cts +0 -39
- package/dist/assemble-DWgaXHd-.d.ts +0 -39
- package/dist/chunk-DHTLALBL.cjs +0 -80
- package/dist/chunk-DJYMDLV5.js +0 -227
- package/dist/chunk-I5LR3D2K.js +0 -869
- package/dist/chunk-M4BBAERY.cjs +0 -1635
- package/dist/chunk-N23SKIG4.js +0 -73
- package/dist/chunk-PZCVF76Q.cjs +0 -868
- package/dist/chunk-QQ6ULXHI.cjs +0 -885
- package/dist/chunk-UK3WM7YZ.cjs +0 -75
- package/dist/chunk-VOKMAAJP.js +0 -848
- package/dist/node-evaluator-4MSDKWOG.cjs +0 -22
- package/dist/node-evaluator-SX4LEYQC.js +0 -12
- package/dist/workflow-C2a05WUJ.d.ts +0 -444
- package/dist/workflow-J-yYixny.d.cts +0 -444
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as ErrorType, a as Json, J as JsonObject } from './types-
|
|
2
|
-
import {
|
|
1
|
+
import { E as ErrorType, a as Json, J as JsonObject } from './types-V7jEEUaL.js';
|
|
2
|
+
import { W as WorkflowCommand, s as CommandType, F as Failure, P as ParentClosePolicy, ab as RunEventDraft, a as WorkflowTaskFailureCause, R as RunEventRecord, L as HISTORY_PROTOCOL, b as WorkflowInfoSnapshot, aA as WorkflowTaskResult } from './types-DGx-b9eq.js';
|
|
3
3
|
|
|
4
4
|
declare const RUN_EVENT_SCHEMA_ID = "https://docs.fluidgrids.ai/schemas/run-event.schema.json";
|
|
5
5
|
declare const WORKFLOW_COMMAND_SCHEMA_ID = "https://docs.fluidgrids.ai/schemas/workflow-command.schema.json";
|
|
@@ -123,6 +123,7 @@ declare const RUN_EVENT_SCHEMA: {
|
|
|
123
123
|
}, {
|
|
124
124
|
readonly type: "object";
|
|
125
125
|
readonly required: readonly ["workflowKey", "workflowId"];
|
|
126
|
+
readonly description: "The open run of a workflow id, following its continue-as-new chain; firstRunId pins the chain (R2).";
|
|
126
127
|
readonly properties: {
|
|
127
128
|
readonly workflowKey: {
|
|
128
129
|
readonly type: "string";
|
|
@@ -134,10 +135,70 @@ declare const RUN_EVENT_SCHEMA: {
|
|
|
134
135
|
readonly minLength: 1;
|
|
135
136
|
readonly maxLength: 256;
|
|
136
137
|
};
|
|
138
|
+
readonly firstRunId: {
|
|
139
|
+
readonly type: "string";
|
|
140
|
+
readonly minLength: 1;
|
|
141
|
+
readonly maxLength: 256;
|
|
142
|
+
};
|
|
137
143
|
};
|
|
138
144
|
readonly additionalProperties: false;
|
|
139
145
|
}];
|
|
140
146
|
};
|
|
147
|
+
readonly runRetryPolicy: {
|
|
148
|
+
readonly type: "object";
|
|
149
|
+
readonly required: readonly ["initialDelayMs"];
|
|
150
|
+
readonly description: "Run-level retry (11 §2.17), in milliseconds. maxAttempts counts every attempt; absent means unlimited, bounded by the execution timeout.";
|
|
151
|
+
readonly properties: {
|
|
152
|
+
readonly maxAttempts: {
|
|
153
|
+
readonly type: "integer";
|
|
154
|
+
readonly minimum: 1;
|
|
155
|
+
};
|
|
156
|
+
readonly initialDelayMs: {
|
|
157
|
+
readonly type: "integer";
|
|
158
|
+
readonly minimum: 0;
|
|
159
|
+
};
|
|
160
|
+
readonly backoffMultiplier: {
|
|
161
|
+
readonly type: "number";
|
|
162
|
+
readonly minimum: 1;
|
|
163
|
+
};
|
|
164
|
+
readonly maxDelayMs: {
|
|
165
|
+
readonly type: "integer";
|
|
166
|
+
readonly minimum: 0;
|
|
167
|
+
};
|
|
168
|
+
readonly retryOnErrorTypes: {
|
|
169
|
+
readonly type: "array";
|
|
170
|
+
readonly items: {
|
|
171
|
+
readonly enum: readonly ErrorType[];
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
readonly nonRetryableErrorTypes: {
|
|
175
|
+
readonly type: "array";
|
|
176
|
+
readonly items: {
|
|
177
|
+
readonly type: "string";
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
readonly additionalProperties: false;
|
|
182
|
+
};
|
|
183
|
+
readonly timeouts: {
|
|
184
|
+
readonly type: "object";
|
|
185
|
+
readonly description: "The three workflow timeouts (11 §2.20), in milliseconds.";
|
|
186
|
+
readonly properties: {
|
|
187
|
+
readonly executionTimeout: {
|
|
188
|
+
readonly type: "integer";
|
|
189
|
+
readonly minimum: 0;
|
|
190
|
+
};
|
|
191
|
+
readonly runTimeout: {
|
|
192
|
+
readonly type: "integer";
|
|
193
|
+
readonly minimum: 0;
|
|
194
|
+
};
|
|
195
|
+
readonly workflowTaskTimeout: {
|
|
196
|
+
readonly type: "integer";
|
|
197
|
+
readonly minimum: 0;
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
readonly additionalProperties: false;
|
|
201
|
+
};
|
|
141
202
|
readonly childOptions: {
|
|
142
203
|
readonly type: "object";
|
|
143
204
|
readonly required: readonly ["parentClosePolicy"];
|
|
@@ -189,13 +250,99 @@ declare const RUN_EVENT_SCHEMA: {
|
|
|
189
250
|
readonly type: "integer";
|
|
190
251
|
readonly minimum: 0;
|
|
191
252
|
};
|
|
253
|
+
readonly retry: {
|
|
254
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
255
|
+
};
|
|
256
|
+
readonly versioningBehavior: {
|
|
257
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
258
|
+
};
|
|
259
|
+
readonly idReusePolicy: {
|
|
260
|
+
readonly enum: readonly ["ALLOW_DUPLICATE", "ALLOW_DUPLICATE_FAILED_ONLY", "REJECT_DUPLICATE"];
|
|
261
|
+
};
|
|
262
|
+
readonly idConflictPolicy: {
|
|
263
|
+
readonly enum: readonly ["FAIL", "USE_EXISTING", "TERMINATE_EXISTING"];
|
|
264
|
+
};
|
|
265
|
+
readonly fairnessKey: {
|
|
266
|
+
readonly type: "string";
|
|
267
|
+
readonly minLength: 1;
|
|
268
|
+
readonly maxLength: 255;
|
|
269
|
+
readonly description: "Phase C: the fairness key of the task (11 §2.11); default the workspace id.";
|
|
270
|
+
};
|
|
271
|
+
readonly fairnessWeight: {
|
|
272
|
+
readonly type: "number";
|
|
273
|
+
readonly minimum: 0.1;
|
|
274
|
+
readonly maximum: 10;
|
|
275
|
+
readonly description: "Phase C: the weight of the fairness key, 0.1 to 10 (default 1).";
|
|
276
|
+
};
|
|
277
|
+
};
|
|
278
|
+
};
|
|
279
|
+
readonly legacyCanRetryPolicy: {
|
|
280
|
+
readonly type: "object";
|
|
281
|
+
readonly required: readonly ["retryDelay"];
|
|
282
|
+
readonly description: "The R1 activity-shaped CONTINUE_AS_NEW retry: whatever explicitRetryPolicy wrote from a Partial<RetryPolicy>, so numbers carry no integer or minimum constraint. It never had a meaning, and the service ignores it.";
|
|
283
|
+
readonly properties: {
|
|
284
|
+
readonly maxRetries: {
|
|
285
|
+
readonly type: "number";
|
|
286
|
+
};
|
|
287
|
+
readonly retryDelay: {
|
|
288
|
+
readonly type: "number";
|
|
289
|
+
};
|
|
290
|
+
readonly backoffMultiplier: {
|
|
291
|
+
readonly type: "number";
|
|
292
|
+
};
|
|
293
|
+
readonly maxDelay: {
|
|
294
|
+
readonly type: "number";
|
|
295
|
+
};
|
|
296
|
+
readonly retryOnErrorTypes: {
|
|
297
|
+
readonly type: "array";
|
|
298
|
+
readonly items: {
|
|
299
|
+
readonly type: "string";
|
|
300
|
+
};
|
|
301
|
+
};
|
|
302
|
+
readonly nonRetryableErrorTypes: {
|
|
303
|
+
readonly type: "array";
|
|
304
|
+
readonly items: {
|
|
305
|
+
readonly type: "string";
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
};
|
|
309
|
+
readonly additionalProperties: false;
|
|
310
|
+
};
|
|
311
|
+
readonly canOptions: {
|
|
312
|
+
readonly type: "object";
|
|
313
|
+
readonly description: "Options of a CONTINUE_AS_NEW command (C-SCHEMA, frozen in R2). retry is the R2 run-retry policy of the new run, or the R1 activity shape (retryDelay, maxRetries, maxDelay) that R1 bundles wrote and R2 bundles still write for that shape: it never had a meaning, and the service ignores it instead of reading it as a run-retry policy.";
|
|
314
|
+
readonly properties: {
|
|
315
|
+
readonly taskQueue: {
|
|
316
|
+
readonly type: "string";
|
|
317
|
+
readonly minLength: 1;
|
|
318
|
+
readonly maxLength: 256;
|
|
319
|
+
};
|
|
320
|
+
readonly retry: {
|
|
321
|
+
readonly oneOf: readonly [{
|
|
322
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
323
|
+
}, {
|
|
324
|
+
readonly $ref: "#/$defs/legacyCanRetryPolicy";
|
|
325
|
+
}];
|
|
326
|
+
};
|
|
327
|
+
readonly workflowTaskTimeout: {
|
|
328
|
+
readonly type: "integer";
|
|
329
|
+
readonly minimum: 0;
|
|
330
|
+
};
|
|
331
|
+
readonly context: {
|
|
332
|
+
readonly type: "object";
|
|
333
|
+
};
|
|
334
|
+
readonly versioningBehavior: {
|
|
335
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
336
|
+
};
|
|
192
337
|
};
|
|
338
|
+
readonly additionalProperties: false;
|
|
193
339
|
};
|
|
194
340
|
readonly headers: {
|
|
195
341
|
readonly type: "object";
|
|
196
342
|
readonly additionalProperties: {
|
|
197
343
|
readonly type: "string";
|
|
198
344
|
};
|
|
345
|
+
readonly description: "Interceptor headers (11 §2.10): string values; a user activity carries at most 16 KiB of JSON (checked by validateCommands).";
|
|
199
346
|
};
|
|
200
347
|
};
|
|
201
348
|
readonly type: "object";
|
|
@@ -360,6 +507,7 @@ declare const WORKFLOW_COMMAND_SCHEMA: {
|
|
|
360
507
|
}, {
|
|
361
508
|
readonly type: "object";
|
|
362
509
|
readonly required: readonly ["workflowKey", "workflowId"];
|
|
510
|
+
readonly description: "The open run of a workflow id, following its continue-as-new chain; firstRunId pins the chain (R2).";
|
|
363
511
|
readonly properties: {
|
|
364
512
|
readonly workflowKey: {
|
|
365
513
|
readonly type: "string";
|
|
@@ -371,10 +519,70 @@ declare const WORKFLOW_COMMAND_SCHEMA: {
|
|
|
371
519
|
readonly minLength: 1;
|
|
372
520
|
readonly maxLength: 256;
|
|
373
521
|
};
|
|
522
|
+
readonly firstRunId: {
|
|
523
|
+
readonly type: "string";
|
|
524
|
+
readonly minLength: 1;
|
|
525
|
+
readonly maxLength: 256;
|
|
526
|
+
};
|
|
374
527
|
};
|
|
375
528
|
readonly additionalProperties: false;
|
|
376
529
|
}];
|
|
377
530
|
};
|
|
531
|
+
readonly runRetryPolicy: {
|
|
532
|
+
readonly type: "object";
|
|
533
|
+
readonly required: readonly ["initialDelayMs"];
|
|
534
|
+
readonly description: "Run-level retry (11 §2.17), in milliseconds. maxAttempts counts every attempt; absent means unlimited, bounded by the execution timeout.";
|
|
535
|
+
readonly properties: {
|
|
536
|
+
readonly maxAttempts: {
|
|
537
|
+
readonly type: "integer";
|
|
538
|
+
readonly minimum: 1;
|
|
539
|
+
};
|
|
540
|
+
readonly initialDelayMs: {
|
|
541
|
+
readonly type: "integer";
|
|
542
|
+
readonly minimum: 0;
|
|
543
|
+
};
|
|
544
|
+
readonly backoffMultiplier: {
|
|
545
|
+
readonly type: "number";
|
|
546
|
+
readonly minimum: 1;
|
|
547
|
+
};
|
|
548
|
+
readonly maxDelayMs: {
|
|
549
|
+
readonly type: "integer";
|
|
550
|
+
readonly minimum: 0;
|
|
551
|
+
};
|
|
552
|
+
readonly retryOnErrorTypes: {
|
|
553
|
+
readonly type: "array";
|
|
554
|
+
readonly items: {
|
|
555
|
+
readonly enum: readonly ErrorType[];
|
|
556
|
+
};
|
|
557
|
+
};
|
|
558
|
+
readonly nonRetryableErrorTypes: {
|
|
559
|
+
readonly type: "array";
|
|
560
|
+
readonly items: {
|
|
561
|
+
readonly type: "string";
|
|
562
|
+
};
|
|
563
|
+
};
|
|
564
|
+
};
|
|
565
|
+
readonly additionalProperties: false;
|
|
566
|
+
};
|
|
567
|
+
readonly timeouts: {
|
|
568
|
+
readonly type: "object";
|
|
569
|
+
readonly description: "The three workflow timeouts (11 §2.20), in milliseconds.";
|
|
570
|
+
readonly properties: {
|
|
571
|
+
readonly executionTimeout: {
|
|
572
|
+
readonly type: "integer";
|
|
573
|
+
readonly minimum: 0;
|
|
574
|
+
};
|
|
575
|
+
readonly runTimeout: {
|
|
576
|
+
readonly type: "integer";
|
|
577
|
+
readonly minimum: 0;
|
|
578
|
+
};
|
|
579
|
+
readonly workflowTaskTimeout: {
|
|
580
|
+
readonly type: "integer";
|
|
581
|
+
readonly minimum: 0;
|
|
582
|
+
};
|
|
583
|
+
};
|
|
584
|
+
readonly additionalProperties: false;
|
|
585
|
+
};
|
|
378
586
|
readonly childOptions: {
|
|
379
587
|
readonly type: "object";
|
|
380
588
|
readonly required: readonly ["parentClosePolicy"];
|
|
@@ -426,13 +634,99 @@ declare const WORKFLOW_COMMAND_SCHEMA: {
|
|
|
426
634
|
readonly type: "integer";
|
|
427
635
|
readonly minimum: 0;
|
|
428
636
|
};
|
|
637
|
+
readonly retry: {
|
|
638
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
639
|
+
};
|
|
640
|
+
readonly versioningBehavior: {
|
|
641
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
642
|
+
};
|
|
643
|
+
readonly idReusePolicy: {
|
|
644
|
+
readonly enum: readonly ["ALLOW_DUPLICATE", "ALLOW_DUPLICATE_FAILED_ONLY", "REJECT_DUPLICATE"];
|
|
645
|
+
};
|
|
646
|
+
readonly idConflictPolicy: {
|
|
647
|
+
readonly enum: readonly ["FAIL", "USE_EXISTING", "TERMINATE_EXISTING"];
|
|
648
|
+
};
|
|
649
|
+
readonly fairnessKey: {
|
|
650
|
+
readonly type: "string";
|
|
651
|
+
readonly minLength: 1;
|
|
652
|
+
readonly maxLength: 255;
|
|
653
|
+
readonly description: "Phase C: the fairness key of the task (11 §2.11); default the workspace id.";
|
|
654
|
+
};
|
|
655
|
+
readonly fairnessWeight: {
|
|
656
|
+
readonly type: "number";
|
|
657
|
+
readonly minimum: 0.1;
|
|
658
|
+
readonly maximum: 10;
|
|
659
|
+
readonly description: "Phase C: the weight of the fairness key, 0.1 to 10 (default 1).";
|
|
660
|
+
};
|
|
661
|
+
};
|
|
662
|
+
};
|
|
663
|
+
readonly legacyCanRetryPolicy: {
|
|
664
|
+
readonly type: "object";
|
|
665
|
+
readonly required: readonly ["retryDelay"];
|
|
666
|
+
readonly description: "The R1 activity-shaped CONTINUE_AS_NEW retry: whatever explicitRetryPolicy wrote from a Partial<RetryPolicy>, so numbers carry no integer or minimum constraint. It never had a meaning, and the service ignores it.";
|
|
667
|
+
readonly properties: {
|
|
668
|
+
readonly maxRetries: {
|
|
669
|
+
readonly type: "number";
|
|
670
|
+
};
|
|
671
|
+
readonly retryDelay: {
|
|
672
|
+
readonly type: "number";
|
|
673
|
+
};
|
|
674
|
+
readonly backoffMultiplier: {
|
|
675
|
+
readonly type: "number";
|
|
676
|
+
};
|
|
677
|
+
readonly maxDelay: {
|
|
678
|
+
readonly type: "number";
|
|
679
|
+
};
|
|
680
|
+
readonly retryOnErrorTypes: {
|
|
681
|
+
readonly type: "array";
|
|
682
|
+
readonly items: {
|
|
683
|
+
readonly type: "string";
|
|
684
|
+
};
|
|
685
|
+
};
|
|
686
|
+
readonly nonRetryableErrorTypes: {
|
|
687
|
+
readonly type: "array";
|
|
688
|
+
readonly items: {
|
|
689
|
+
readonly type: "string";
|
|
690
|
+
};
|
|
691
|
+
};
|
|
692
|
+
};
|
|
693
|
+
readonly additionalProperties: false;
|
|
694
|
+
};
|
|
695
|
+
readonly canOptions: {
|
|
696
|
+
readonly type: "object";
|
|
697
|
+
readonly description: "Options of a CONTINUE_AS_NEW command (C-SCHEMA, frozen in R2). retry is the R2 run-retry policy of the new run, or the R1 activity shape (retryDelay, maxRetries, maxDelay) that R1 bundles wrote and R2 bundles still write for that shape: it never had a meaning, and the service ignores it instead of reading it as a run-retry policy.";
|
|
698
|
+
readonly properties: {
|
|
699
|
+
readonly taskQueue: {
|
|
700
|
+
readonly type: "string";
|
|
701
|
+
readonly minLength: 1;
|
|
702
|
+
readonly maxLength: 256;
|
|
703
|
+
};
|
|
704
|
+
readonly retry: {
|
|
705
|
+
readonly oneOf: readonly [{
|
|
706
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
707
|
+
}, {
|
|
708
|
+
readonly $ref: "#/$defs/legacyCanRetryPolicy";
|
|
709
|
+
}];
|
|
710
|
+
};
|
|
711
|
+
readonly workflowTaskTimeout: {
|
|
712
|
+
readonly type: "integer";
|
|
713
|
+
readonly minimum: 0;
|
|
714
|
+
};
|
|
715
|
+
readonly context: {
|
|
716
|
+
readonly type: "object";
|
|
717
|
+
};
|
|
718
|
+
readonly versioningBehavior: {
|
|
719
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
720
|
+
};
|
|
429
721
|
};
|
|
722
|
+
readonly additionalProperties: false;
|
|
430
723
|
};
|
|
431
724
|
readonly headers: {
|
|
432
725
|
readonly type: "object";
|
|
433
726
|
readonly additionalProperties: {
|
|
434
727
|
readonly type: "string";
|
|
435
728
|
};
|
|
729
|
+
readonly description: "Interceptor headers (11 §2.10): string values; a user activity carries at most 16 KiB of JSON (checked by validateCommands).";
|
|
436
730
|
};
|
|
437
731
|
};
|
|
438
732
|
readonly type: "object";
|
|
@@ -458,7 +752,7 @@ declare const WORKFLOW_COMMAND_SCHEMA: {
|
|
|
458
752
|
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
459
753
|
readonly $id: "https://docs.fluidgrids.ai/schemas/workflow-command.schema.json";
|
|
460
754
|
readonly title: "FluidGrids workflow-task command";
|
|
461
|
-
readonly description: "A flat object discriminated by an UPPER_SNAKE type. Commands travel as [JSON!]! (DB4). UPSERT_SEARCH_ATTRIBUTES, ACCEPT_UPDATE, REJECT_UPDATE and
|
|
755
|
+
readonly description: "A flat object discriminated by an UPPER_SNAKE type. Commands travel as [JSON!]! (DB4). UPSERT_SEARCH_ATTRIBUTES, ACCEPT_UPDATE, REJECT_UPDATE, COMPLETE_UPDATE and SCHEDULE_ACTIVITY of kind user are Phase C: the service accepts them only for the C-GATE features its flags enable (c.searchAttributes, c.updates, c.userActivity).";
|
|
462
756
|
};
|
|
463
757
|
/** The workflow-task request and result of the runtime ABI. */
|
|
464
758
|
declare const WORKFLOW_TASK_SCHEMA: {
|
|
@@ -561,10 +855,17 @@ declare const WORKFLOW_TASK_SCHEMA: {
|
|
|
561
855
|
readonly businessId: {
|
|
562
856
|
readonly type: "string";
|
|
563
857
|
};
|
|
858
|
+
readonly workflowId: {
|
|
859
|
+
readonly type: "string";
|
|
860
|
+
};
|
|
564
861
|
readonly attempt: {
|
|
565
862
|
readonly type: "integer";
|
|
566
863
|
readonly minimum: 1;
|
|
567
864
|
};
|
|
865
|
+
readonly runAttempt: {
|
|
866
|
+
readonly type: "integer";
|
|
867
|
+
readonly minimum: 1;
|
|
868
|
+
};
|
|
568
869
|
readonly taskQueue: {
|
|
569
870
|
readonly type: "string";
|
|
570
871
|
};
|
|
@@ -628,7 +929,132 @@ declare const WORKFLOW_TASK_SCHEMA: {
|
|
|
628
929
|
readonly context: {
|
|
629
930
|
readonly type: "object";
|
|
630
931
|
};
|
|
932
|
+
readonly memo: {
|
|
933
|
+
readonly type: "object";
|
|
934
|
+
};
|
|
935
|
+
readonly versioningBehavior: {
|
|
936
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
937
|
+
};
|
|
938
|
+
readonly retry: {
|
|
939
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
940
|
+
};
|
|
941
|
+
readonly searchAttributes: {
|
|
942
|
+
readonly type: "object";
|
|
943
|
+
};
|
|
944
|
+
readonly fairnessKey: {
|
|
945
|
+
readonly type: "string";
|
|
946
|
+
readonly minLength: 1;
|
|
947
|
+
readonly maxLength: 255;
|
|
948
|
+
readonly description: "Phase C: the fairness key of the task (11 §2.11); default the workspace id.";
|
|
949
|
+
};
|
|
950
|
+
readonly fairnessWeight: {
|
|
951
|
+
readonly type: "number";
|
|
952
|
+
readonly minimum: 0.1;
|
|
953
|
+
readonly maximum: 10;
|
|
954
|
+
readonly description: "Phase C: the weight of the fairness key, 0.1 to 10 (default 1).";
|
|
955
|
+
};
|
|
956
|
+
};
|
|
957
|
+
};
|
|
958
|
+
readonly updateRequest: {
|
|
959
|
+
readonly type: "object";
|
|
960
|
+
readonly required: readonly ["updateId", "name"];
|
|
961
|
+
readonly description: "Phase C (C-ABI-H): a pending update the lease delivers. admitted marks one history already holds as UPDATE_ADMITTED; the runtime delivers that one from the event.";
|
|
962
|
+
readonly properties: {
|
|
963
|
+
readonly updateId: {
|
|
964
|
+
readonly type: "string";
|
|
965
|
+
readonly minLength: 1;
|
|
966
|
+
readonly maxLength: 256;
|
|
967
|
+
};
|
|
968
|
+
readonly name: {
|
|
969
|
+
readonly type: "string";
|
|
970
|
+
readonly minLength: 1;
|
|
971
|
+
readonly maxLength: 256;
|
|
972
|
+
};
|
|
973
|
+
readonly args: {};
|
|
974
|
+
readonly admitted: {
|
|
975
|
+
readonly type: "boolean";
|
|
976
|
+
};
|
|
977
|
+
readonly headers: {
|
|
978
|
+
readonly $ref: "#/$defs/headers";
|
|
979
|
+
};
|
|
980
|
+
};
|
|
981
|
+
readonly additionalProperties: false;
|
|
982
|
+
};
|
|
983
|
+
readonly sinkCall: {
|
|
984
|
+
readonly type: "object";
|
|
985
|
+
readonly required: readonly ["sink", "fn", "args"];
|
|
986
|
+
readonly description: "Phase C: a call of ctx.sinks.<sink>.<fn>(...args), never made on replay.";
|
|
987
|
+
readonly properties: {
|
|
988
|
+
readonly sink: {
|
|
989
|
+
readonly type: "string";
|
|
990
|
+
readonly minLength: 1;
|
|
991
|
+
readonly maxLength: 256;
|
|
992
|
+
};
|
|
993
|
+
readonly fn: {
|
|
994
|
+
readonly type: "string";
|
|
995
|
+
readonly minLength: 1;
|
|
996
|
+
readonly maxLength: 256;
|
|
997
|
+
};
|
|
998
|
+
readonly args: {
|
|
999
|
+
readonly type: "array";
|
|
1000
|
+
};
|
|
1001
|
+
};
|
|
1002
|
+
readonly additionalProperties: false;
|
|
1003
|
+
};
|
|
1004
|
+
readonly localActivityRequest: {
|
|
1005
|
+
readonly type: "object";
|
|
1006
|
+
readonly required: readonly ["localActivityId", "kind", "nodeType", "operation", "args", "retry", "startToCloseTimeout", "attempt", "backoffMs"];
|
|
1007
|
+
readonly description: "R2: a local activity the task needs (11 §2.12). Run attempt `attempt` after waiting backoffMs, then run the same task again with the outcome in localActivityResults.";
|
|
1008
|
+
readonly properties: {
|
|
1009
|
+
readonly localActivityId: {
|
|
1010
|
+
readonly type: "string";
|
|
1011
|
+
readonly minLength: 1;
|
|
1012
|
+
readonly maxLength: 256;
|
|
1013
|
+
};
|
|
1014
|
+
readonly kind: {
|
|
1015
|
+
readonly const: "node";
|
|
1016
|
+
};
|
|
1017
|
+
readonly nodeType: {
|
|
1018
|
+
readonly type: "string";
|
|
1019
|
+
readonly minLength: 1;
|
|
1020
|
+
readonly maxLength: 256;
|
|
1021
|
+
};
|
|
1022
|
+
readonly nodeVersion: {
|
|
1023
|
+
readonly type: "string";
|
|
1024
|
+
};
|
|
1025
|
+
readonly operation: {
|
|
1026
|
+
readonly type: "string";
|
|
1027
|
+
readonly minLength: 1;
|
|
1028
|
+
readonly maxLength: 256;
|
|
1029
|
+
};
|
|
1030
|
+
readonly args: {};
|
|
1031
|
+
readonly connection: {
|
|
1032
|
+
readonly type: "string";
|
|
1033
|
+
readonly minLength: 1;
|
|
1034
|
+
readonly maxLength: 256;
|
|
1035
|
+
};
|
|
1036
|
+
readonly retry: {
|
|
1037
|
+
readonly $ref: "#/$defs/retryPolicy";
|
|
1038
|
+
};
|
|
1039
|
+
readonly startToCloseTimeout: {
|
|
1040
|
+
readonly type: "integer";
|
|
1041
|
+
readonly minimum: 1;
|
|
1042
|
+
readonly maximum: 30000;
|
|
1043
|
+
};
|
|
1044
|
+
readonly attempt: {
|
|
1045
|
+
readonly type: "integer";
|
|
1046
|
+
readonly minimum: 1;
|
|
1047
|
+
};
|
|
1048
|
+
readonly backoffMs: {
|
|
1049
|
+
readonly type: "integer";
|
|
1050
|
+
readonly minimum: 0;
|
|
1051
|
+
};
|
|
1052
|
+
readonly summary: {
|
|
1053
|
+
readonly type: "string";
|
|
1054
|
+
readonly maxLength: 200;
|
|
1055
|
+
};
|
|
631
1056
|
};
|
|
1057
|
+
readonly additionalProperties: false;
|
|
632
1058
|
};
|
|
633
1059
|
readonly request: {
|
|
634
1060
|
readonly type: "object";
|
|
@@ -679,6 +1105,12 @@ declare const WORKFLOW_TASK_SCHEMA: {
|
|
|
679
1105
|
};
|
|
680
1106
|
};
|
|
681
1107
|
};
|
|
1108
|
+
readonly updates: {
|
|
1109
|
+
readonly type: "array";
|
|
1110
|
+
readonly items: {
|
|
1111
|
+
readonly $ref: "#/$defs/updateRequest";
|
|
1112
|
+
};
|
|
1113
|
+
};
|
|
682
1114
|
readonly queries: {
|
|
683
1115
|
readonly type: "array";
|
|
684
1116
|
readonly items: {
|
|
@@ -691,12 +1123,24 @@ declare const WORKFLOW_TASK_SCHEMA: {
|
|
|
691
1123
|
readonly maxLength: 256;
|
|
692
1124
|
};
|
|
693
1125
|
readonly name: {
|
|
694
|
-
readonly
|
|
1126
|
+
readonly description: `A built-in query (${string}) or, from C-R1, the name of a custom query.`;
|
|
1127
|
+
readonly type: "string";
|
|
1128
|
+
readonly minLength: 1;
|
|
1129
|
+
readonly maxLength: 256;
|
|
695
1130
|
};
|
|
696
1131
|
readonly args: {};
|
|
697
1132
|
};
|
|
698
1133
|
};
|
|
699
1134
|
};
|
|
1135
|
+
readonly features: {
|
|
1136
|
+
readonly type: "array";
|
|
1137
|
+
readonly items: {
|
|
1138
|
+
readonly type: "string";
|
|
1139
|
+
readonly minLength: 1;
|
|
1140
|
+
};
|
|
1141
|
+
readonly uniqueItems: true;
|
|
1142
|
+
readonly description: "The bundle features (code.features names) the workspace enables for this task. From C-R1 the runtime reads `interceptors`: a task of a bundle that exports interceptors fails with UNSUPPORTED_COMMAND unless it is listed.";
|
|
1143
|
+
};
|
|
700
1144
|
};
|
|
701
1145
|
};
|
|
702
1146
|
readonly result: {
|
|
@@ -717,8 +1161,29 @@ declare const WORKFLOW_TASK_SCHEMA: {
|
|
|
717
1161
|
};
|
|
718
1162
|
readonly localActivityRequests: {
|
|
719
1163
|
readonly type: "array";
|
|
1164
|
+
readonly items: {
|
|
1165
|
+
readonly $ref: "#/$defs/localActivityRequest";
|
|
1166
|
+
};
|
|
1167
|
+
};
|
|
1168
|
+
readonly unfinishedHandlers: {
|
|
1169
|
+
readonly type: "array";
|
|
1170
|
+
readonly description: "R2: handlers still running when the terminal command was issued (11 §2.18); never set on replay.";
|
|
720
1171
|
readonly items: {
|
|
721
1172
|
readonly type: "object";
|
|
1173
|
+
readonly required: readonly ["kind", "name", "count"];
|
|
1174
|
+
readonly properties: {
|
|
1175
|
+
readonly kind: {
|
|
1176
|
+
readonly enum: readonly ["signal", "update"];
|
|
1177
|
+
};
|
|
1178
|
+
readonly name: {
|
|
1179
|
+
readonly type: "string";
|
|
1180
|
+
};
|
|
1181
|
+
readonly count: {
|
|
1182
|
+
readonly type: "integer";
|
|
1183
|
+
readonly minimum: 1;
|
|
1184
|
+
};
|
|
1185
|
+
};
|
|
1186
|
+
readonly additionalProperties: false;
|
|
722
1187
|
};
|
|
723
1188
|
};
|
|
724
1189
|
readonly queryResults: {
|
|
@@ -736,9 +1201,20 @@ declare const WORKFLOW_TASK_SCHEMA: {
|
|
|
736
1201
|
readonly error: {
|
|
737
1202
|
readonly type: "string";
|
|
738
1203
|
};
|
|
1204
|
+
readonly rejected: {
|
|
1205
|
+
readonly type: "boolean";
|
|
1206
|
+
readonly description: "Phase C: no handler took the query name (the service answers VALIDATION).";
|
|
1207
|
+
};
|
|
739
1208
|
};
|
|
740
1209
|
};
|
|
741
1210
|
};
|
|
1211
|
+
readonly sinkCalls: {
|
|
1212
|
+
readonly type: "array";
|
|
1213
|
+
readonly maxItems: 256;
|
|
1214
|
+
readonly items: {
|
|
1215
|
+
readonly $ref: "#/$defs/sinkCall";
|
|
1216
|
+
};
|
|
1217
|
+
};
|
|
742
1218
|
readonly failure: {
|
|
743
1219
|
readonly type: "object";
|
|
744
1220
|
readonly required: readonly ["cause", "message"];
|
|
@@ -894,20 +1370,81 @@ declare const WORKFLOW_TASK_SCHEMA: {
|
|
|
894
1370
|
}, {
|
|
895
1371
|
readonly type: "object";
|
|
896
1372
|
readonly required: readonly ["workflowKey", "workflowId"];
|
|
1373
|
+
readonly description: "The open run of a workflow id, following its continue-as-new chain; firstRunId pins the chain (R2).";
|
|
897
1374
|
readonly properties: {
|
|
898
1375
|
readonly workflowKey: {
|
|
899
1376
|
readonly type: "string";
|
|
900
1377
|
readonly minLength: 1;
|
|
901
1378
|
readonly maxLength: 256;
|
|
902
1379
|
};
|
|
903
|
-
readonly workflowId: {
|
|
1380
|
+
readonly workflowId: {
|
|
1381
|
+
readonly type: "string";
|
|
1382
|
+
readonly minLength: 1;
|
|
1383
|
+
readonly maxLength: 256;
|
|
1384
|
+
};
|
|
1385
|
+
readonly firstRunId: {
|
|
1386
|
+
readonly type: "string";
|
|
1387
|
+
readonly minLength: 1;
|
|
1388
|
+
readonly maxLength: 256;
|
|
1389
|
+
};
|
|
1390
|
+
};
|
|
1391
|
+
readonly additionalProperties: false;
|
|
1392
|
+
}];
|
|
1393
|
+
};
|
|
1394
|
+
readonly runRetryPolicy: {
|
|
1395
|
+
readonly type: "object";
|
|
1396
|
+
readonly required: readonly ["initialDelayMs"];
|
|
1397
|
+
readonly description: "Run-level retry (11 §2.17), in milliseconds. maxAttempts counts every attempt; absent means unlimited, bounded by the execution timeout.";
|
|
1398
|
+
readonly properties: {
|
|
1399
|
+
readonly maxAttempts: {
|
|
1400
|
+
readonly type: "integer";
|
|
1401
|
+
readonly minimum: 1;
|
|
1402
|
+
};
|
|
1403
|
+
readonly initialDelayMs: {
|
|
1404
|
+
readonly type: "integer";
|
|
1405
|
+
readonly minimum: 0;
|
|
1406
|
+
};
|
|
1407
|
+
readonly backoffMultiplier: {
|
|
1408
|
+
readonly type: "number";
|
|
1409
|
+
readonly minimum: 1;
|
|
1410
|
+
};
|
|
1411
|
+
readonly maxDelayMs: {
|
|
1412
|
+
readonly type: "integer";
|
|
1413
|
+
readonly minimum: 0;
|
|
1414
|
+
};
|
|
1415
|
+
readonly retryOnErrorTypes: {
|
|
1416
|
+
readonly type: "array";
|
|
1417
|
+
readonly items: {
|
|
1418
|
+
readonly enum: readonly ErrorType[];
|
|
1419
|
+
};
|
|
1420
|
+
};
|
|
1421
|
+
readonly nonRetryableErrorTypes: {
|
|
1422
|
+
readonly type: "array";
|
|
1423
|
+
readonly items: {
|
|
904
1424
|
readonly type: "string";
|
|
905
|
-
readonly minLength: 1;
|
|
906
|
-
readonly maxLength: 256;
|
|
907
1425
|
};
|
|
908
1426
|
};
|
|
909
|
-
|
|
910
|
-
|
|
1427
|
+
};
|
|
1428
|
+
readonly additionalProperties: false;
|
|
1429
|
+
};
|
|
1430
|
+
readonly timeouts: {
|
|
1431
|
+
readonly type: "object";
|
|
1432
|
+
readonly description: "The three workflow timeouts (11 §2.20), in milliseconds.";
|
|
1433
|
+
readonly properties: {
|
|
1434
|
+
readonly executionTimeout: {
|
|
1435
|
+
readonly type: "integer";
|
|
1436
|
+
readonly minimum: 0;
|
|
1437
|
+
};
|
|
1438
|
+
readonly runTimeout: {
|
|
1439
|
+
readonly type: "integer";
|
|
1440
|
+
readonly minimum: 0;
|
|
1441
|
+
};
|
|
1442
|
+
readonly workflowTaskTimeout: {
|
|
1443
|
+
readonly type: "integer";
|
|
1444
|
+
readonly minimum: 0;
|
|
1445
|
+
};
|
|
1446
|
+
};
|
|
1447
|
+
readonly additionalProperties: false;
|
|
911
1448
|
};
|
|
912
1449
|
readonly childOptions: {
|
|
913
1450
|
readonly type: "object";
|
|
@@ -960,13 +1497,99 @@ declare const WORKFLOW_TASK_SCHEMA: {
|
|
|
960
1497
|
readonly type: "integer";
|
|
961
1498
|
readonly minimum: 0;
|
|
962
1499
|
};
|
|
1500
|
+
readonly retry: {
|
|
1501
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
1502
|
+
};
|
|
1503
|
+
readonly versioningBehavior: {
|
|
1504
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
1505
|
+
};
|
|
1506
|
+
readonly idReusePolicy: {
|
|
1507
|
+
readonly enum: readonly ["ALLOW_DUPLICATE", "ALLOW_DUPLICATE_FAILED_ONLY", "REJECT_DUPLICATE"];
|
|
1508
|
+
};
|
|
1509
|
+
readonly idConflictPolicy: {
|
|
1510
|
+
readonly enum: readonly ["FAIL", "USE_EXISTING", "TERMINATE_EXISTING"];
|
|
1511
|
+
};
|
|
1512
|
+
readonly fairnessKey: {
|
|
1513
|
+
readonly type: "string";
|
|
1514
|
+
readonly minLength: 1;
|
|
1515
|
+
readonly maxLength: 255;
|
|
1516
|
+
readonly description: "Phase C: the fairness key of the task (11 §2.11); default the workspace id.";
|
|
1517
|
+
};
|
|
1518
|
+
readonly fairnessWeight: {
|
|
1519
|
+
readonly type: "number";
|
|
1520
|
+
readonly minimum: 0.1;
|
|
1521
|
+
readonly maximum: 10;
|
|
1522
|
+
readonly description: "Phase C: the weight of the fairness key, 0.1 to 10 (default 1).";
|
|
1523
|
+
};
|
|
1524
|
+
};
|
|
1525
|
+
};
|
|
1526
|
+
readonly legacyCanRetryPolicy: {
|
|
1527
|
+
readonly type: "object";
|
|
1528
|
+
readonly required: readonly ["retryDelay"];
|
|
1529
|
+
readonly description: "The R1 activity-shaped CONTINUE_AS_NEW retry: whatever explicitRetryPolicy wrote from a Partial<RetryPolicy>, so numbers carry no integer or minimum constraint. It never had a meaning, and the service ignores it.";
|
|
1530
|
+
readonly properties: {
|
|
1531
|
+
readonly maxRetries: {
|
|
1532
|
+
readonly type: "number";
|
|
1533
|
+
};
|
|
1534
|
+
readonly retryDelay: {
|
|
1535
|
+
readonly type: "number";
|
|
1536
|
+
};
|
|
1537
|
+
readonly backoffMultiplier: {
|
|
1538
|
+
readonly type: "number";
|
|
1539
|
+
};
|
|
1540
|
+
readonly maxDelay: {
|
|
1541
|
+
readonly type: "number";
|
|
1542
|
+
};
|
|
1543
|
+
readonly retryOnErrorTypes: {
|
|
1544
|
+
readonly type: "array";
|
|
1545
|
+
readonly items: {
|
|
1546
|
+
readonly type: "string";
|
|
1547
|
+
};
|
|
1548
|
+
};
|
|
1549
|
+
readonly nonRetryableErrorTypes: {
|
|
1550
|
+
readonly type: "array";
|
|
1551
|
+
readonly items: {
|
|
1552
|
+
readonly type: "string";
|
|
1553
|
+
};
|
|
1554
|
+
};
|
|
1555
|
+
};
|
|
1556
|
+
readonly additionalProperties: false;
|
|
1557
|
+
};
|
|
1558
|
+
readonly canOptions: {
|
|
1559
|
+
readonly type: "object";
|
|
1560
|
+
readonly description: "Options of a CONTINUE_AS_NEW command (C-SCHEMA, frozen in R2). retry is the R2 run-retry policy of the new run, or the R1 activity shape (retryDelay, maxRetries, maxDelay) that R1 bundles wrote and R2 bundles still write for that shape: it never had a meaning, and the service ignores it instead of reading it as a run-retry policy.";
|
|
1561
|
+
readonly properties: {
|
|
1562
|
+
readonly taskQueue: {
|
|
1563
|
+
readonly type: "string";
|
|
1564
|
+
readonly minLength: 1;
|
|
1565
|
+
readonly maxLength: 256;
|
|
1566
|
+
};
|
|
1567
|
+
readonly retry: {
|
|
1568
|
+
readonly oneOf: readonly [{
|
|
1569
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
1570
|
+
}, {
|
|
1571
|
+
readonly $ref: "#/$defs/legacyCanRetryPolicy";
|
|
1572
|
+
}];
|
|
1573
|
+
};
|
|
1574
|
+
readonly workflowTaskTimeout: {
|
|
1575
|
+
readonly type: "integer";
|
|
1576
|
+
readonly minimum: 0;
|
|
1577
|
+
};
|
|
1578
|
+
readonly context: {
|
|
1579
|
+
readonly type: "object";
|
|
1580
|
+
};
|
|
1581
|
+
readonly versioningBehavior: {
|
|
1582
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
1583
|
+
};
|
|
963
1584
|
};
|
|
1585
|
+
readonly additionalProperties: false;
|
|
964
1586
|
};
|
|
965
1587
|
readonly headers: {
|
|
966
1588
|
readonly type: "object";
|
|
967
1589
|
readonly additionalProperties: {
|
|
968
1590
|
readonly type: "string";
|
|
969
1591
|
};
|
|
1592
|
+
readonly description: "Interceptor headers (11 §2.10): string values; a user activity carries at most 16 KiB of JSON (checked by validateCommands).";
|
|
970
1593
|
};
|
|
971
1594
|
};
|
|
972
1595
|
};
|
|
@@ -1005,7 +1628,7 @@ declare const HISTORY_FILE_SCHEMA: {
|
|
|
1005
1628
|
};
|
|
1006
1629
|
readonly replay: {
|
|
1007
1630
|
readonly type: "boolean";
|
|
1008
|
-
readonly description: "False for histories that
|
|
1631
|
+
readonly description: "False for histories that are parsed and projected but not replayed (written by hand for a feature the recording runtime did not have).";
|
|
1009
1632
|
};
|
|
1010
1633
|
readonly info: {
|
|
1011
1634
|
readonly $ref: "#/$defs/info";
|
|
@@ -1093,10 +1716,17 @@ declare const HISTORY_FILE_SCHEMA: {
|
|
|
1093
1716
|
readonly businessId: {
|
|
1094
1717
|
readonly type: "string";
|
|
1095
1718
|
};
|
|
1719
|
+
readonly workflowId: {
|
|
1720
|
+
readonly type: "string";
|
|
1721
|
+
};
|
|
1096
1722
|
readonly attempt: {
|
|
1097
1723
|
readonly type: "integer";
|
|
1098
1724
|
readonly minimum: 1;
|
|
1099
1725
|
};
|
|
1726
|
+
readonly runAttempt: {
|
|
1727
|
+
readonly type: "integer";
|
|
1728
|
+
readonly minimum: 1;
|
|
1729
|
+
};
|
|
1100
1730
|
readonly taskQueue: {
|
|
1101
1731
|
readonly type: "string";
|
|
1102
1732
|
};
|
|
@@ -1160,6 +1790,30 @@ declare const HISTORY_FILE_SCHEMA: {
|
|
|
1160
1790
|
readonly context: {
|
|
1161
1791
|
readonly type: "object";
|
|
1162
1792
|
};
|
|
1793
|
+
readonly memo: {
|
|
1794
|
+
readonly type: "object";
|
|
1795
|
+
};
|
|
1796
|
+
readonly versioningBehavior: {
|
|
1797
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
1798
|
+
};
|
|
1799
|
+
readonly retry: {
|
|
1800
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
1801
|
+
};
|
|
1802
|
+
readonly searchAttributes: {
|
|
1803
|
+
readonly type: "object";
|
|
1804
|
+
};
|
|
1805
|
+
readonly fairnessKey: {
|
|
1806
|
+
readonly type: "string";
|
|
1807
|
+
readonly minLength: 1;
|
|
1808
|
+
readonly maxLength: 255;
|
|
1809
|
+
readonly description: "Phase C: the fairness key of the task (11 §2.11); default the workspace id.";
|
|
1810
|
+
};
|
|
1811
|
+
readonly fairnessWeight: {
|
|
1812
|
+
readonly type: "number";
|
|
1813
|
+
readonly minimum: 0.1;
|
|
1814
|
+
readonly maximum: 10;
|
|
1815
|
+
readonly description: "Phase C: the weight of the fairness key, 0.1 to 10 (default 1).";
|
|
1816
|
+
};
|
|
1163
1817
|
};
|
|
1164
1818
|
};
|
|
1165
1819
|
readonly json: {
|
|
@@ -1275,6 +1929,7 @@ declare const HISTORY_FILE_SCHEMA: {
|
|
|
1275
1929
|
}, {
|
|
1276
1930
|
readonly type: "object";
|
|
1277
1931
|
readonly required: readonly ["workflowKey", "workflowId"];
|
|
1932
|
+
readonly description: "The open run of a workflow id, following its continue-as-new chain; firstRunId pins the chain (R2).";
|
|
1278
1933
|
readonly properties: {
|
|
1279
1934
|
readonly workflowKey: {
|
|
1280
1935
|
readonly type: "string";
|
|
@@ -1286,10 +1941,70 @@ declare const HISTORY_FILE_SCHEMA: {
|
|
|
1286
1941
|
readonly minLength: 1;
|
|
1287
1942
|
readonly maxLength: 256;
|
|
1288
1943
|
};
|
|
1944
|
+
readonly firstRunId: {
|
|
1945
|
+
readonly type: "string";
|
|
1946
|
+
readonly minLength: 1;
|
|
1947
|
+
readonly maxLength: 256;
|
|
1948
|
+
};
|
|
1289
1949
|
};
|
|
1290
1950
|
readonly additionalProperties: false;
|
|
1291
1951
|
}];
|
|
1292
1952
|
};
|
|
1953
|
+
readonly runRetryPolicy: {
|
|
1954
|
+
readonly type: "object";
|
|
1955
|
+
readonly required: readonly ["initialDelayMs"];
|
|
1956
|
+
readonly description: "Run-level retry (11 §2.17), in milliseconds. maxAttempts counts every attempt; absent means unlimited, bounded by the execution timeout.";
|
|
1957
|
+
readonly properties: {
|
|
1958
|
+
readonly maxAttempts: {
|
|
1959
|
+
readonly type: "integer";
|
|
1960
|
+
readonly minimum: 1;
|
|
1961
|
+
};
|
|
1962
|
+
readonly initialDelayMs: {
|
|
1963
|
+
readonly type: "integer";
|
|
1964
|
+
readonly minimum: 0;
|
|
1965
|
+
};
|
|
1966
|
+
readonly backoffMultiplier: {
|
|
1967
|
+
readonly type: "number";
|
|
1968
|
+
readonly minimum: 1;
|
|
1969
|
+
};
|
|
1970
|
+
readonly maxDelayMs: {
|
|
1971
|
+
readonly type: "integer";
|
|
1972
|
+
readonly minimum: 0;
|
|
1973
|
+
};
|
|
1974
|
+
readonly retryOnErrorTypes: {
|
|
1975
|
+
readonly type: "array";
|
|
1976
|
+
readonly items: {
|
|
1977
|
+
readonly enum: readonly ErrorType[];
|
|
1978
|
+
};
|
|
1979
|
+
};
|
|
1980
|
+
readonly nonRetryableErrorTypes: {
|
|
1981
|
+
readonly type: "array";
|
|
1982
|
+
readonly items: {
|
|
1983
|
+
readonly type: "string";
|
|
1984
|
+
};
|
|
1985
|
+
};
|
|
1986
|
+
};
|
|
1987
|
+
readonly additionalProperties: false;
|
|
1988
|
+
};
|
|
1989
|
+
readonly timeouts: {
|
|
1990
|
+
readonly type: "object";
|
|
1991
|
+
readonly description: "The three workflow timeouts (11 §2.20), in milliseconds.";
|
|
1992
|
+
readonly properties: {
|
|
1993
|
+
readonly executionTimeout: {
|
|
1994
|
+
readonly type: "integer";
|
|
1995
|
+
readonly minimum: 0;
|
|
1996
|
+
};
|
|
1997
|
+
readonly runTimeout: {
|
|
1998
|
+
readonly type: "integer";
|
|
1999
|
+
readonly minimum: 0;
|
|
2000
|
+
};
|
|
2001
|
+
readonly workflowTaskTimeout: {
|
|
2002
|
+
readonly type: "integer";
|
|
2003
|
+
readonly minimum: 0;
|
|
2004
|
+
};
|
|
2005
|
+
};
|
|
2006
|
+
readonly additionalProperties: false;
|
|
2007
|
+
};
|
|
1293
2008
|
readonly childOptions: {
|
|
1294
2009
|
readonly type: "object";
|
|
1295
2010
|
readonly required: readonly ["parentClosePolicy"];
|
|
@@ -1341,20 +2056,118 @@ declare const HISTORY_FILE_SCHEMA: {
|
|
|
1341
2056
|
readonly type: "integer";
|
|
1342
2057
|
readonly minimum: 0;
|
|
1343
2058
|
};
|
|
2059
|
+
readonly retry: {
|
|
2060
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
2061
|
+
};
|
|
2062
|
+
readonly versioningBehavior: {
|
|
2063
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
2064
|
+
};
|
|
2065
|
+
readonly idReusePolicy: {
|
|
2066
|
+
readonly enum: readonly ["ALLOW_DUPLICATE", "ALLOW_DUPLICATE_FAILED_ONLY", "REJECT_DUPLICATE"];
|
|
2067
|
+
};
|
|
2068
|
+
readonly idConflictPolicy: {
|
|
2069
|
+
readonly enum: readonly ["FAIL", "USE_EXISTING", "TERMINATE_EXISTING"];
|
|
2070
|
+
};
|
|
2071
|
+
readonly fairnessKey: {
|
|
2072
|
+
readonly type: "string";
|
|
2073
|
+
readonly minLength: 1;
|
|
2074
|
+
readonly maxLength: 255;
|
|
2075
|
+
readonly description: "Phase C: the fairness key of the task (11 §2.11); default the workspace id.";
|
|
2076
|
+
};
|
|
2077
|
+
readonly fairnessWeight: {
|
|
2078
|
+
readonly type: "number";
|
|
2079
|
+
readonly minimum: 0.1;
|
|
2080
|
+
readonly maximum: 10;
|
|
2081
|
+
readonly description: "Phase C: the weight of the fairness key, 0.1 to 10 (default 1).";
|
|
2082
|
+
};
|
|
2083
|
+
};
|
|
2084
|
+
};
|
|
2085
|
+
readonly legacyCanRetryPolicy: {
|
|
2086
|
+
readonly type: "object";
|
|
2087
|
+
readonly required: readonly ["retryDelay"];
|
|
2088
|
+
readonly description: "The R1 activity-shaped CONTINUE_AS_NEW retry: whatever explicitRetryPolicy wrote from a Partial<RetryPolicy>, so numbers carry no integer or minimum constraint. It never had a meaning, and the service ignores it.";
|
|
2089
|
+
readonly properties: {
|
|
2090
|
+
readonly maxRetries: {
|
|
2091
|
+
readonly type: "number";
|
|
2092
|
+
};
|
|
2093
|
+
readonly retryDelay: {
|
|
2094
|
+
readonly type: "number";
|
|
2095
|
+
};
|
|
2096
|
+
readonly backoffMultiplier: {
|
|
2097
|
+
readonly type: "number";
|
|
2098
|
+
};
|
|
2099
|
+
readonly maxDelay: {
|
|
2100
|
+
readonly type: "number";
|
|
2101
|
+
};
|
|
2102
|
+
readonly retryOnErrorTypes: {
|
|
2103
|
+
readonly type: "array";
|
|
2104
|
+
readonly items: {
|
|
2105
|
+
readonly type: "string";
|
|
2106
|
+
};
|
|
2107
|
+
};
|
|
2108
|
+
readonly nonRetryableErrorTypes: {
|
|
2109
|
+
readonly type: "array";
|
|
2110
|
+
readonly items: {
|
|
2111
|
+
readonly type: "string";
|
|
2112
|
+
};
|
|
2113
|
+
};
|
|
2114
|
+
};
|
|
2115
|
+
readonly additionalProperties: false;
|
|
2116
|
+
};
|
|
2117
|
+
readonly canOptions: {
|
|
2118
|
+
readonly type: "object";
|
|
2119
|
+
readonly description: "Options of a CONTINUE_AS_NEW command (C-SCHEMA, frozen in R2). retry is the R2 run-retry policy of the new run, or the R1 activity shape (retryDelay, maxRetries, maxDelay) that R1 bundles wrote and R2 bundles still write for that shape: it never had a meaning, and the service ignores it instead of reading it as a run-retry policy.";
|
|
2120
|
+
readonly properties: {
|
|
2121
|
+
readonly taskQueue: {
|
|
2122
|
+
readonly type: "string";
|
|
2123
|
+
readonly minLength: 1;
|
|
2124
|
+
readonly maxLength: 256;
|
|
2125
|
+
};
|
|
2126
|
+
readonly retry: {
|
|
2127
|
+
readonly oneOf: readonly [{
|
|
2128
|
+
readonly $ref: "#/$defs/runRetryPolicy";
|
|
2129
|
+
}, {
|
|
2130
|
+
readonly $ref: "#/$defs/legacyCanRetryPolicy";
|
|
2131
|
+
}];
|
|
2132
|
+
};
|
|
2133
|
+
readonly workflowTaskTimeout: {
|
|
2134
|
+
readonly type: "integer";
|
|
2135
|
+
readonly minimum: 0;
|
|
2136
|
+
};
|
|
2137
|
+
readonly context: {
|
|
2138
|
+
readonly type: "object";
|
|
2139
|
+
};
|
|
2140
|
+
readonly versioningBehavior: {
|
|
2141
|
+
readonly enum: readonly ["PINNED", "AUTO_UPGRADE"];
|
|
2142
|
+
};
|
|
1344
2143
|
};
|
|
2144
|
+
readonly additionalProperties: false;
|
|
1345
2145
|
};
|
|
1346
2146
|
readonly headers: {
|
|
1347
2147
|
readonly type: "object";
|
|
1348
2148
|
readonly additionalProperties: {
|
|
1349
2149
|
readonly type: "string";
|
|
1350
2150
|
};
|
|
2151
|
+
readonly description: "Interceptor headers (11 §2.10): string values; a user activity carries at most 16 KiB of JSON (checked by validateCommands).";
|
|
1351
2152
|
};
|
|
1352
2153
|
};
|
|
1353
2154
|
};
|
|
1354
2155
|
/** File name and schema of every generated history schema. */
|
|
1355
2156
|
declare const HISTORY_SCHEMA_FILES: ReadonlyArray<readonly [string, unknown]>;
|
|
1356
2157
|
|
|
1357
|
-
/**
|
|
2158
|
+
/**
|
|
2159
|
+
* The command feature gate (C-GATE, frozen in SDK R2) and command helpers
|
|
2160
|
+
* shared by validation and the state machine; no schema code.
|
|
2161
|
+
*
|
|
2162
|
+
* Every command needs one or more features. The service builds the set of
|
|
2163
|
+
* features a workspace may use once per command batch, before it locks the
|
|
2164
|
+
* run (in Phase B: {@link PHASE_B_CORE_FEATURES}, plus
|
|
2165
|
+
* {@link PHASE_B_PARITY_FEATURES} when `fluidgrids.durable-parity` is on),
|
|
2166
|
+
* and refuses a batch with a command whose features are not all enabled
|
|
2167
|
+
* (`UNSUPPORTED_COMMAND`; the run stays RUNNING and heals when the flag is
|
|
2168
|
+
* turned back on). Relief commands ({@link isReliefCommand}) answer work the
|
|
2169
|
+
* service already granted and are never refused for a missing flag.
|
|
2170
|
+
*/
|
|
1358
2171
|
|
|
1359
2172
|
/** One problem found in a command batch or a history. */
|
|
1360
2173
|
interface HistoryIssue {
|
|
@@ -1365,18 +2178,142 @@ interface HistoryIssue {
|
|
|
1365
2178
|
path?: string;
|
|
1366
2179
|
}
|
|
1367
2180
|
/**
|
|
1368
|
-
*
|
|
1369
|
-
*
|
|
2181
|
+
* A feature a command may need (C-GATE).
|
|
2182
|
+
*
|
|
2183
|
+
* - `core`: the Phase B core command set.
|
|
2184
|
+
* - `parity.can`: `CONTINUE_AS_NEW` (enabled in Phase B core).
|
|
2185
|
+
* - `parity.context`: `UPSERT_CONTEXT` (enabled in Phase B core).
|
|
2186
|
+
* - `parity.localActivity`: `RECORD_LOCAL_ACTIVITY`.
|
|
2187
|
+
* - `parity.externalCancel`: `REQUEST_CANCEL_EXTERNAL_RUN` aimed at a run
|
|
2188
|
+
* that is not one of the run's own children.
|
|
2189
|
+
* - `parity.childOptions`: the `START_CHILD_RUN` options new in R2
|
|
2190
|
+
* (anything outside {@link CORE_CHILD_OPTIONS}: `retry`,
|
|
2191
|
+
* `versioningBehavior`, `idReusePolicy`, `idConflictPolicy`).
|
|
2192
|
+
* - `parity.canOptions`: the `CONTINUE_AS_NEW` options new in R2: a run-retry
|
|
2193
|
+
* `retry` and anything outside {@link CORE_CAN_OPTIONS}.
|
|
2194
|
+
* - `parity.workflowIdTarget`: a `SIGNAL_RUN` or `REQUEST_CANCEL_EXTERNAL_RUN`
|
|
2195
|
+
* target given as `{ workflowKey, workflowId }`.
|
|
2196
|
+
* - `c.updates` (Phase C, `fluidgrids.run-control`): `ACCEPT_UPDATE`,
|
|
2197
|
+
* `REJECT_UPDATE` and `COMPLETE_UPDATE`.
|
|
2198
|
+
* - `c.searchAttributes` (Phase C, `fluidgrids.search-attributes`):
|
|
2199
|
+
* `UPSERT_SEARCH_ATTRIBUTES`.
|
|
2200
|
+
* - `c.userActivity` (Phase C, `fluidgrids.self-hosted-workers`): a
|
|
2201
|
+
* `SCHEDULE_ACTIVITY` of `kind: 'user'`.
|
|
2202
|
+
*
|
|
2203
|
+
* Phase B never enables a `c.*` feature, so a workspace without the Phase C
|
|
2204
|
+
* flags gets exactly the B19 command set (CX1).
|
|
2205
|
+
*/
|
|
2206
|
+
type CommandFeature = 'core' | 'parity.can' | 'parity.context' | 'parity.localActivity' | 'parity.externalCancel' | 'parity.childOptions' | 'parity.canOptions' | 'parity.workflowIdTarget' | 'c.updates' | 'c.searchAttributes' | 'c.userActivity';
|
|
2207
|
+
/** Every feature, in a stable order. */
|
|
2208
|
+
declare const COMMAND_FEATURES: readonly CommandFeature[];
|
|
2209
|
+
/** The features of the Phase B core release (what the service enables without the parity flag). */
|
|
2210
|
+
declare const PHASE_B_CORE_FEATURES: ReadonlySet<CommandFeature>;
|
|
2211
|
+
/** Every Phase B feature: the core set plus what `fluidgrids.durable-parity` enables. */
|
|
2212
|
+
declare const PHASE_B_PARITY_FEATURES: ReadonlySet<CommandFeature>;
|
|
2213
|
+
/** The Phase C features (C-GATE extension, C-R1). */
|
|
2214
|
+
declare const PHASE_C_FEATURES: readonly CommandFeature[];
|
|
2215
|
+
/**
|
|
2216
|
+
* The platform flag that enables each Phase C feature (PLAN-C §2.1). Each one
|
|
2217
|
+
* also needs `fluidgrids.code-first` and `fluidgrids.durable-functions`.
|
|
2218
|
+
*/
|
|
2219
|
+
declare const PHASE_C_FEATURE_FLAGS: Readonly<Record<string, string>>;
|
|
2220
|
+
/**
|
|
2221
|
+
* The platform flag that each bundle feature (C-FEATURES, `code.features`)
|
|
2222
|
+
* needs. The service refuses a push that declares a feature whose flag is off
|
|
2223
|
+
* (`durableRuntimeIssues`). Features without an entry need no flag beyond
|
|
2224
|
+
* `fluidgrids.durable-functions`. `interceptors` is gated with run control so
|
|
2225
|
+
* that a Phase C bundle fails closed until its owner turns the flag on.
|
|
2226
|
+
*/
|
|
2227
|
+
declare const CODE_FEATURE_FLAGS: Readonly<Record<string, string>>;
|
|
2228
|
+
/** The bundle features added in Phase C (C-FEATURES, C-R1), in a stable order. */
|
|
2229
|
+
declare const PHASE_C_CODE_FEATURES: readonly string[];
|
|
2230
|
+
/**
|
|
2231
|
+
* Child options a Phase B core child may carry: every option the R1 runtime
|
|
2232
|
+
* already wrote into `START_CHILD_RUN` and the Phase B service accepted (it
|
|
2233
|
+
* stored or ignored them). Only the options new in R2 (`retry`,
|
|
2234
|
+
* `versioningBehavior`, `idReusePolicy`, `idConflictPolicy`) need
|
|
2235
|
+
* `parity.childOptions`, so a Phase B workflow behaves the same with the
|
|
2236
|
+
* parity flag off. The fairness options (C-R1) need only
|
|
2237
|
+
* `fluidgrids.durable-functions` (CWD2): a service without the dispatcher
|
|
2238
|
+
* stores and ignores them.
|
|
2239
|
+
*/
|
|
2240
|
+
declare const CORE_CHILD_OPTIONS: ReadonlySet<string>;
|
|
2241
|
+
/**
|
|
2242
|
+
* Continue-as-new options a Phase B core command may carry: every option the
|
|
2243
|
+
* R1 runtime wrote. `retry` is core only in its R1 (activity) shape, which the
|
|
2244
|
+
* Phase B service ignores ({@link continueAsNewRetryShape}); the R2 run-retry
|
|
2245
|
+
* shape needs `parity.canOptions`.
|
|
2246
|
+
*/
|
|
2247
|
+
declare const CORE_CAN_OPTIONS: ReadonlySet<string>;
|
|
2248
|
+
/**
|
|
2249
|
+
* The shape of `CONTINUE_AS_NEW` `options.retry` (C-SCHEMA `canOptions`):
|
|
2250
|
+
*
|
|
2251
|
+
* - `run`: the R2 run-retry policy (`initialDelayMs`, `maxAttempts`, ...),
|
|
2252
|
+
* which the service applies to the new run (11 §2.17);
|
|
2253
|
+
* - `legacy`: the R1 activity shape (`retryDelay`, `maxRetries`, `maxDelay`)
|
|
2254
|
+
* that R1 bundles and histories carry. It never had a meaning: the Phase B
|
|
2255
|
+
* service ignored it, and the service must keep ignoring it rather than
|
|
2256
|
+
* read it as a run-retry policy;
|
|
2257
|
+
* - `none`: no retry option.
|
|
2258
|
+
*
|
|
2259
|
+
* A value with keys of both shapes, or of neither, is `invalid`; the command
|
|
2260
|
+
* schema refuses it.
|
|
2261
|
+
*/
|
|
2262
|
+
declare function continueAsNewRetryShape(options: Readonly<Record<string, unknown>>): 'run' | 'legacy' | 'none' | 'invalid';
|
|
2263
|
+
/** The features `command` needs, without duplicates, in {@link COMMAND_FEATURES} order. */
|
|
2264
|
+
declare function commandFeatures(command: WorkflowCommand): CommandFeature[];
|
|
2265
|
+
/**
|
|
2266
|
+
* Which commands are enabled: a feature set (C-GATE), or the deprecated
|
|
2267
|
+
* release levels `core` and `parity`, which keep their R1 meaning (the type
|
|
2268
|
+
* lists of `isCommandEnabled`, with a child-targeted cancel always enabled).
|
|
2269
|
+
*/
|
|
2270
|
+
type CommandGate = 'core' | 'parity' | ReadonlySet<CommandFeature>;
|
|
2271
|
+
/**
|
|
2272
|
+
* True when the command type is enabled: the Phase B core set always, the
|
|
2273
|
+
* parity set when `enabled` is `parity`, Phase C commands never.
|
|
2274
|
+
*
|
|
2275
|
+
* @deprecated Since R2; use {@link isWorkflowCommandEnabled} with a feature
|
|
2276
|
+
* set. Kept for one release.
|
|
1370
2277
|
*/
|
|
1371
2278
|
declare function isCommandEnabled(type: CommandType, enabled?: 'core' | 'parity'): boolean;
|
|
1372
2279
|
/**
|
|
1373
|
-
* True when
|
|
1374
|
-
*
|
|
1375
|
-
*
|
|
1376
|
-
*
|
|
1377
|
-
*
|
|
2280
|
+
* True when every feature `command` needs is enabled. With a release level
|
|
2281
|
+
* (`core`, `parity`) it answers as R1 did: the command type decides, and
|
|
2282
|
+
* `REQUEST_CANCEL_EXTERNAL_RUN` aimed at one of the run's own children is
|
|
2283
|
+
* core. A command that needs a Phase C feature (`c.*`, for example a
|
|
2284
|
+
* `SCHEDULE_ACTIVITY` of kind `user`, whose type is core) is refused by every
|
|
2285
|
+
* release level, so the default gate fails closed.
|
|
2286
|
+
*/
|
|
2287
|
+
declare function isWorkflowCommandEnabled(command: WorkflowCommand, enabled?: CommandGate): boolean;
|
|
2288
|
+
/**
|
|
2289
|
+
* The bundle features (C-FEATURES, `code.features` names) a command gate's
|
|
2290
|
+
* flags enable, sorted: a feature is enabled when its flag
|
|
2291
|
+
* ({@link CODE_FEATURE_FLAGS}) is on, and a flag is on when the gate holds a
|
|
2292
|
+
* command feature it enables (`fluidgrids.run-control` for `c.updates`,
|
|
2293
|
+
* `fluidgrids.durable-parity` for a parity feature outside the Phase B core
|
|
2294
|
+
* set). Release levels enable none.
|
|
2295
|
+
* It is what a lease sends as `WorkflowTaskRequest.features`.
|
|
1378
2296
|
*/
|
|
1379
|
-
declare function
|
|
2297
|
+
declare function codeFeaturesEnabledBy(enabled: CommandGate): string[];
|
|
2298
|
+
/** Why a command is refused by the gate, naming the missing features. */
|
|
2299
|
+
declare function unsupportedMessage(command: WorkflowCommand, enabled?: CommandGate): string;
|
|
2300
|
+
/** What the lease of the current workflow task already granted (C-LEASE). */
|
|
2301
|
+
interface CommandRelief {
|
|
2302
|
+
/** Local activities the lease asked the worker to run (`localActivityRequested`). */
|
|
2303
|
+
grantedLocalActivityIds: readonly string[];
|
|
2304
|
+
/** Updates the lease delivered to the task (stamped with its `deliveredTaskId`, Phase C). */
|
|
2305
|
+
deliveredUpdateIds: readonly string[];
|
|
2306
|
+
}
|
|
2307
|
+
/**
|
|
2308
|
+
* True for a command that answers work the service already granted (BP7,
|
|
2309
|
+
* CX2): a `RECORD_LOCAL_ACTIVITY` of a granted local activity,
|
|
2310
|
+
* `ACCEPT_UPDATE` or `REJECT_UPDATE` of an update the lease delivered, and
|
|
2311
|
+
* every `COMPLETE_UPDATE` (it can only finish an update the run accepted,
|
|
2312
|
+
* which `eventsForCommands` checks against the history). Such commands are
|
|
2313
|
+
* accepted even when the flag that enables new requests of their kind is off,
|
|
2314
|
+
* so turning a flag off never strands work that was already started.
|
|
2315
|
+
*/
|
|
2316
|
+
declare function isReliefCommand(command: WorkflowCommand, lease: CommandRelief): boolean;
|
|
1380
2317
|
|
|
1381
2318
|
/**
|
|
1382
2319
|
* The pure state machine of a durable-function run (DB3): what a command batch
|
|
@@ -1394,8 +2331,16 @@ type ActivityStatus = 'SCHEDULED' | 'STARTED' | 'COMPLETED' | 'FAILED' | 'TIMED_
|
|
|
1394
2331
|
interface ActivityState {
|
|
1395
2332
|
status: ActivityStatus;
|
|
1396
2333
|
attempt: number;
|
|
2334
|
+
/** `node` (a canvas node operation) or `user` (a user activity, Phase C). */
|
|
2335
|
+
kind: 'node' | 'user';
|
|
2336
|
+
/** The node type; empty for a user activity. */
|
|
1397
2337
|
nodeType: string;
|
|
2338
|
+
/** The node operation; empty for a user activity. */
|
|
1398
2339
|
operation: string;
|
|
2340
|
+
/** The user activity's name (Phase C). */
|
|
2341
|
+
activityName?: string;
|
|
2342
|
+
/** The user activity's task queue (Phase C). */
|
|
2343
|
+
taskQueue?: string;
|
|
1399
2344
|
scheduledSeq: number;
|
|
1400
2345
|
cancellationType?: string;
|
|
1401
2346
|
summary?: string;
|
|
@@ -1417,11 +2362,32 @@ interface ChildState {
|
|
|
1417
2362
|
parentClosePolicy: ParentClosePolicy;
|
|
1418
2363
|
initiatedSeq: number;
|
|
1419
2364
|
}
|
|
2365
|
+
/** A local activity recorded in history (`LOCAL_ACTIVITY_COMPLETED` or `_FAILED`). */
|
|
2366
|
+
interface LocalActivityState {
|
|
2367
|
+
status: 'COMPLETED' | 'FAILED';
|
|
2368
|
+
attempts: number;
|
|
2369
|
+
recordedSeq: number;
|
|
2370
|
+
nodeType?: string;
|
|
2371
|
+
operation?: string;
|
|
2372
|
+
summary?: string;
|
|
2373
|
+
}
|
|
1420
2374
|
interface ExternalState {
|
|
1421
2375
|
kind: 'signal' | 'cancel';
|
|
1422
2376
|
status: 'PENDING' | 'RESOLVED';
|
|
1423
2377
|
ok?: boolean;
|
|
1424
2378
|
}
|
|
2379
|
+
/**
|
|
2380
|
+
* An update as history knows it (Phase C, 11 §2.39): `ADMITTED` (update-with-
|
|
2381
|
+
* start or a reset re-application, before the task accepted it), `ACCEPTED`
|
|
2382
|
+
* and `COMPLETED`. A rejected update leaves no event and is not here.
|
|
2383
|
+
*/
|
|
2384
|
+
interface UpdateState {
|
|
2385
|
+
status: 'ADMITTED' | 'ACCEPTED' | 'COMPLETED';
|
|
2386
|
+
name: string;
|
|
2387
|
+
/** Seq of `UPDATE_ADMITTED` or `UPDATE_ACCEPTED`, whichever came first. */
|
|
2388
|
+
seq: number;
|
|
2389
|
+
failed?: boolean;
|
|
2390
|
+
}
|
|
1425
2391
|
/** A run as its history describes it. */
|
|
1426
2392
|
interface RunState {
|
|
1427
2393
|
status: RunStatus;
|
|
@@ -1447,10 +2413,15 @@ interface RunState {
|
|
|
1447
2413
|
timers: Record<string, TimerState>;
|
|
1448
2414
|
children: Record<string, ChildState>;
|
|
1449
2415
|
externals: Record<string, ExternalState>;
|
|
2416
|
+
localActivities: Record<string, LocalActivityState>;
|
|
1450
2417
|
sideEffects: Record<string, Json>;
|
|
1451
2418
|
markers: Record<string, Json>;
|
|
1452
2419
|
signalsReceived: number;
|
|
1453
2420
|
context: JsonObject;
|
|
2421
|
+
/** Updates by id (Phase C). */
|
|
2422
|
+
updates: Record<string, UpdateState>;
|
|
2423
|
+
/** Search attributes: the start's, merged with every upsert; null removes a key (Phase C). */
|
|
2424
|
+
searchAttributes: JsonObject;
|
|
1454
2425
|
lastEventAt?: string;
|
|
1455
2426
|
}
|
|
1456
2427
|
/** A history that breaks the state machine (an event that cannot follow the ones before it). */
|
|
@@ -1460,6 +2431,8 @@ declare class HistoryStateError extends Error {
|
|
|
1460
2431
|
}
|
|
1461
2432
|
/** The state before any event. */
|
|
1462
2433
|
declare function initialRunState(): RunState;
|
|
2434
|
+
/** Merge search attributes: a null value removes the attribute (11 §2.8). */
|
|
2435
|
+
declare function mergeSearchAttributes(current: JsonObject, entries: JsonObject): JsonObject;
|
|
1463
2436
|
/** UTF-8 length of a string (the history byte caps count UTF-8). */
|
|
1464
2437
|
declare function utf8Bytes(text: string): number;
|
|
1465
2438
|
/** True while an activity may still produce a result. */
|
|
@@ -1485,7 +2458,20 @@ interface EventsForCommandsContext {
|
|
|
1485
2458
|
/** Task start time (the request's `nowMs`); timers fire at `nowMs + durationMs`. */
|
|
1486
2459
|
nowMs: number;
|
|
1487
2460
|
/** Which commands are enabled (see `validateCommands`). Default `core`. */
|
|
1488
|
-
enabled?:
|
|
2461
|
+
enabled?: CommandGate;
|
|
2462
|
+
/** What the lease already granted; relief commands pass the gate (see `isReliefCommand`). */
|
|
2463
|
+
relief?: CommandRelief;
|
|
2464
|
+
/**
|
|
2465
|
+
* The pending updates the lease delivered, by id (C-ABI-H): `UPDATE_ACCEPTED`
|
|
2466
|
+
* carries the request from here. An update history already admitted
|
|
2467
|
+
* (`UPDATE_ADMITTED`) is found in the run state instead. An update reply
|
|
2468
|
+
* for an id in neither is `INVALID_REQUEST`.
|
|
2469
|
+
*/
|
|
2470
|
+
updates?: Readonly<Record<string, {
|
|
2471
|
+
name: string;
|
|
2472
|
+
args?: Json;
|
|
2473
|
+
headers?: Record<string, string>;
|
|
2474
|
+
}>>;
|
|
1489
2475
|
}
|
|
1490
2476
|
type EventsForCommandsResult = {
|
|
1491
2477
|
ok: true;
|
|
@@ -1554,4 +2540,4 @@ declare function createHistoryFile(workflowFn: string, events: RunEventRecord[],
|
|
|
1554
2540
|
/** Serialise a history file the way the CLI and the fixtures write it. */
|
|
1555
2541
|
declare function serializeHistoryFile(file: HistoryFile): string;
|
|
1556
2542
|
|
|
1557
|
-
export { type ActivityState as A,
|
|
2543
|
+
export { pendingCounts as $, type ActivityState as A, WORKFLOW_TASK_SCHEMA as B, type CommandGate as C, WORKFLOW_TASK_SCHEMA_ID as D, type EventsForCommandsContext as E, applyEvent as F, codeFeaturesEnabledBy as G, type HistoryIssue as H, commandFeatures as I, continueAsNewRetryShape as J, createHistoryFile as K, type LocalActivityState as L, eventsForCommands as M, hasUnprocessedInput as N, initialRunState as O, PHASE_B_CORE_FEATURES as P, isActivityOpen as Q, RUN_EVENT_SCHEMA as R, isChildOpen as S, type TimerState as T, type UpdateState as U, isCommandEnabled as V, WORKFLOW_COMMAND_SCHEMA as W, isReliefCommand as X, isWorkflowCommandEnabled as Y, mergeSearchAttributes as Z, parseHistoryFile as _, type CommandRelief as a, projectRunState as a0, serializeHistoryFile as a1, taskCompletedEvents as a2, unsupportedMessage as a3, utf8Bytes as a4, type ActivityStatus as b, CODE_FEATURE_FLAGS as c, COMMAND_FEATURES as d, CORE_CAN_OPTIONS as e, CORE_CHILD_OPTIONS as f, type ChildState as g, type ChildStatus as h, type CommandFeature as i, type EventsForCommandsResult as j, type ExternalState as k, HISTORY_FILE_FORMAT as l, HISTORY_FILE_SCHEMA as m, HISTORY_FILE_SCHEMA_ID as n, HISTORY_SCHEMA_FILES as o, type HistoryFile as p, HistoryFileError as q, HistoryStateError as r, PHASE_B_PARITY_FEATURES as s, PHASE_C_CODE_FEATURES as t, PHASE_C_FEATURES as u, PHASE_C_FEATURE_FLAGS as v, RUN_EVENT_SCHEMA_ID as w, type RunState as x, type RunStatus as y, WORKFLOW_COMMAND_SCHEMA_ID as z };
|