@fluidgrids/workflows 2026.1027.1 → 2026.1028.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +144 -13
- package/dist/activation-BBh1p82z.d.cts +57 -0
- package/dist/activation-DnhG7SmF.d.ts +57 -0
- package/dist/assemble-BLqQ8lSu.d.cts +39 -0
- package/dist/assemble-DWgaXHd-.d.ts +39 -0
- package/dist/chunk-2J6TF7YI.cjs +86 -0
- package/dist/chunk-4LYSEANA.js +199 -0
- package/dist/chunk-623FVQSN.cjs +251 -0
- package/dist/{chunk-W32BSO3M.js → chunk-6FSHT5IL.js} +2 -2
- package/dist/{chunk-E3APHA6O.cjs → chunk-7AAZGVKD.js} +1 -64
- package/dist/chunk-ABFZWYHT.js +612 -0
- package/dist/{chunk-6U446SKY.js → chunk-BD7ZPG53.js} +2 -2
- package/dist/chunk-BO6OVILK.js +79 -0
- package/dist/chunk-C5OLWZ42.js +245 -0
- package/dist/{chunk-OSPTJCDI.cjs → chunk-CPDK3K5N.cjs} +6 -6
- package/dist/chunk-DHTLALBL.cjs +80 -0
- package/dist/chunk-DJYMDLV5.js +227 -0
- package/dist/{chunk-IHKXLG6I.js → chunk-E2VK7J2C.js} +1 -1
- package/dist/{chunk-3M34AUIY.cjs → chunk-FEW3JBYA.cjs} +3 -3
- package/dist/chunk-FMSW2HDF.cjs +267 -0
- package/dist/chunk-FR7KYWRO.cjs +41 -0
- package/dist/{chunk-7YR7DI7B.cjs → chunk-GBQ33SIZ.cjs} +44 -44
- package/dist/{chunk-6AIAC2FP.cjs → chunk-GVTZMA5C.cjs} +4 -4
- package/dist/{chunk-EEAIM35V.js → chunk-HWJZVOG7.js} +64 -23
- package/dist/chunk-I5LR3D2K.js +869 -0
- package/dist/chunk-IISBRUWJ.js +13 -0
- package/dist/chunk-JD2VQIDZ.cjs +15 -0
- package/dist/{chunk-UB2BHU2M.js → chunk-JZ4TOOLN.js} +1 -1
- package/dist/chunk-L24YIZY7.cjs +207 -0
- package/dist/chunk-LNUQE6D6.js +39 -0
- package/dist/chunk-M4BBAERY.cjs +1635 -0
- package/dist/chunk-N23SKIG4.js +73 -0
- package/dist/{chunk-TWOYB4Y7.cjs → chunk-NEIUQASE.cjs} +13 -13
- package/dist/chunk-P6TA5EZT.cjs +634 -0
- package/dist/chunk-PMCM2OH4.js +46 -0
- package/dist/chunk-PZCVF76Q.cjs +868 -0
- package/dist/{chunk-6BEW4QD6.js → chunk-QAN5MZEM.js} +1 -1
- package/dist/{chunk-CSYBNN3V.cjs → chunk-QKZL3ONM.cjs} +2 -2
- package/dist/chunk-QQ6ULXHI.cjs +885 -0
- package/dist/chunk-SAENRNBJ.cjs +52 -0
- package/dist/{chunk-TQF7MYEN.cjs → chunk-SAOBPYYJ.cjs} +134 -96
- package/dist/{chunk-XBIID5DY.js → chunk-SMCANK3F.js} +5 -4
- package/dist/{chunk-UWQWD7BP.cjs → chunk-SX2PNKKT.cjs} +18 -17
- package/dist/{chunk-UJNHTS6D.js → chunk-TBDXTV22.cjs} +8 -45
- package/dist/chunk-UK3WM7YZ.cjs +75 -0
- package/dist/chunk-VOKMAAJP.js +848 -0
- package/dist/chunk-VRHHBPT6.js +1622 -0
- package/dist/{chunk-5AW745OG.js → chunk-XHXIDVEC.js} +1 -1
- package/dist/chunk-XKJA7KX3.js +72 -0
- package/dist/chunk-Z2Y65YOY.cjs +7 -0
- package/dist/codegen/index.cjs +9 -7
- package/dist/codegen/index.d.cts +2 -2
- package/dist/codegen/index.d.ts +2 -2
- package/dist/codegen/index.js +6 -5
- package/dist/file-BOoHZgoQ.d.cts +1557 -0
- package/dist/file-yuPCFU5b.d.ts +1557 -0
- package/dist/history/index.cjs +287 -0
- package/dist/history/index.d.cts +157 -0
- package/dist/history/index.d.ts +157 -0
- package/dist/history/index.js +5 -0
- package/dist/index.cjs +134 -36
- package/dist/index.d.cts +137 -9
- package/dist/index.d.ts +137 -9
- package/dist/index.js +8 -3
- package/dist/ir/index.cjs +152 -158
- package/dist/ir/index.d.cts +14 -4
- package/dist/ir/index.d.ts +14 -4
- package/dist/ir/index.js +41 -50
- package/dist/lower-BzmUz0sq.d.cts +129 -0
- package/dist/lower-_-iT4HYs.d.ts +129 -0
- package/dist/lower-types-DQNBfWQn.d.cts +37 -0
- package/dist/lower-types-DQNBfWQn.d.ts +37 -0
- package/dist/{manifest-Duf-gHdO.d.cts → manifest-0OLw0i7k.d.cts} +1 -1
- package/dist/{manifest-Bp9ZJlav.d.ts → manifest-C8N6HDYl.d.ts} +1 -1
- package/dist/node-evaluator-4MSDKWOG.cjs +22 -0
- package/dist/node-evaluator-SX4LEYQC.js +12 -0
- package/dist/quickjs/index.cjs +236 -12
- package/dist/quickjs/index.d.cts +46 -5
- package/dist/quickjs/index.d.ts +46 -5
- package/dist/quickjs/index.js +230 -9
- package/dist/roundtrip/index.cjs +333 -131
- package/dist/roundtrip/index.d.cts +39 -7
- package/dist/roundtrip/index.d.ts +39 -7
- package/dist/roundtrip/index.js +185 -13
- package/dist/runtime/index.cjs +90 -0
- package/dist/runtime/index.d.cts +297 -0
- package/dist/runtime/index.d.ts +297 -0
- package/dist/runtime/index.js +8 -0
- package/dist/testing/index.cjs +1057 -0
- package/dist/testing/index.d.cts +305 -0
- package/dist/testing/index.d.ts +305 -0
- package/dist/testing/index.js +1037 -0
- package/dist/{types-Dr2Fn1Ax.d.ts → types-BGoPzgcl.d.cts} +1 -1
- package/dist/{types-Dr2Fn1Ax.d.cts → types-BGoPzgcl.d.ts} +1 -1
- package/dist/types-CpBBjaGX.d.cts +380 -0
- package/dist/types-DV-HX_Gt.d.ts +380 -0
- package/dist/{assemble-CrpUyd_3.d.ts → workflow-Bpr3vnA_.d.ts} +40 -160
- package/dist/workflow-C2a05WUJ.d.ts +444 -0
- package/dist/{assemble-DEf3znGD.d.cts → workflow-FXUkpIBc.d.cts} +40 -160
- package/dist/workflow-J-yYixny.d.cts +444 -0
- package/fixtures/README.md +128 -0
- package/fixtures/histories/activity-failure-fails-run.history.json +163 -0
- package/fixtures/histories/activity-retry-then-success.history.json +147 -0
- package/fixtures/histories/cancel-activity-abandon.history.json +126 -0
- package/fixtures/histories/cancel-activity-compensate.history.json +307 -0
- package/fixtures/histories/cancel-concurrent-non-cancellable.history.json +234 -0
- package/fixtures/histories/cancel-concurrent-scope-timeout.history.json +184 -0
- package/fixtures/histories/cancel-condition-after-cancel.history.json +200 -0
- package/fixtures/histories/cancel-during-timer.history.json +123 -0
- package/fixtures/histories/cancel-saga-compensations.history.json +325 -0
- package/fixtures/histories/cancel-scope-timeout.history.json +148 -0
- package/fixtures/histories/child-abandon-outlives-parent.history.json +191 -0
- package/fixtures/histories/child-cancel-default.history.json +234 -0
- package/fixtures/histories/child-cancel-request.history.json +206 -0
- package/fixtures/histories/child-durable-child-side.history.json +124 -0
- package/fixtures/histories/child-durable-result.history.json +163 -0
- package/fixtures/histories/child-failure-caught.history.json +166 -0
- package/fixtures/histories/child-graph-by-key.history.json +138 -0
- package/fixtures/histories/child-terminated-by-parent-close.history.json +85 -0
- package/fixtures/histories/continue-as-new-first-run.history.json +146 -0
- package/fixtures/histories/continue-as-new-history-limit.history.json +489 -0
- package/fixtures/histories/continue-as-new-last-run.history.json +147 -0
- package/fixtures/histories/continue-as-new-suggested.history.json +352 -0
- package/fixtures/histories/details-and-context.history.json +176 -0
- package/fixtures/histories/deterministic-values.history.json +128 -0
- package/fixtures/histories/engine-builtins.history.json +172 -0
- package/fixtures/histories/gather-activities.history.json +291 -0
- package/fixtures/histories/gather-all-settled.history.json +219 -0
- package/fixtures/histories/gather-mixed.history.json +281 -0
- package/fixtures/histories/input-during-running-task.history.json +111 -0
- package/fixtures/histories/nondeterminism-reordered.history.json +218 -0
- package/fixtures/histories/patched-deprecated.history.json +271 -0
- package/fixtures/histories/patched-new-run.history.json +270 -0
- package/fixtures/histories/patched-old-history.history.json +190 -0
- package/fixtures/histories/race-activity-wins.history.json +152 -0
- package/fixtures/histories/race-signal-beats-child.history.json +161 -0
- package/fixtures/histories/race-timeout-wins.history.json +118 -0
- package/fixtures/histories/side-effect-recorded.history.json +153 -0
- package/fixtures/histories/signal-buffered-at-start.history.json +157 -0
- package/fixtures/histories/signal-default-handler.history.json +187 -0
- package/fixtures/histories/signal-handler.history.json +191 -0
- package/fixtures/histories/signal-parent-child-side.history.json +132 -0
- package/fixtures/histories/signal-parent.history.json +202 -0
- package/fixtures/histories/signal-run-delivered.history.json +128 -0
- package/fixtures/histories/signal-run-undelivered.history.json +134 -0
- package/fixtures/histories/signal-wait.history.json +111 -0
- package/fixtures/histories/task-failure-code-error.history.json +137 -0
- package/fixtures/histories/task-failure-then-transient-attempt.history.json +140 -0
- package/fixtures/histories/timer-condition-met.history.json +201 -0
- package/fixtures/histories/timer-condition-timeout.history.json +118 -0
- package/fixtures/histories/timer-sleep-once.history.json +118 -0
- package/fixtures/histories/timer-sleep-sequence.history.json +210 -0
- package/fixtures/histories/update-accepted-completed.history.json +149 -0
- package/fixtures/histories/update-with-start-rejected-validation.history.json +91 -0
- package/package.json +44 -5
- package/schema/history-file.schema.json +2544 -0
- package/schema/ir-v2.schema.json +16 -0
- package/schema/run-event.schema.json +2374 -0
- package/schema/workflow-command.schema.json +1095 -0
- package/schema/workflow-task.schema.json +3560 -0
- package/dist/chunk-MBBKGD7K.js +0 -440
- package/dist/chunk-Y7NWR3WH.cjs +0 -450
- package/dist/lower-CXggJTIo.d.ts +0 -67
- package/dist/lower-DAzvsJCo.d.cts +0 -67
- package/dist/node-evaluator-CH3XCJND.cjs +0 -17
- package/dist/node-evaluator-TULXA3WE.js +0 -8
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { autoLayout } from './chunk-5LUIDMF4.js';
|
|
2
|
-
import { makeRef, isPredicate, conditionTreeOf, BuilderError, refModelOf } from './chunk-
|
|
3
|
-
import {
|
|
2
|
+
import { makeRef, isPredicate, conditionTreeOf, BuilderError, refModelOf } from './chunk-JZ4TOOLN.js';
|
|
3
|
+
import { formatRefTemplate } from './chunk-7AAZGVKD.js';
|
|
4
|
+
import { isRecord, setOwn, cloneJson, ownValue } from './chunk-PMCM2OH4.js';
|
|
5
|
+
import { isDurableWorkflow, SDK_VERSION } from './chunk-N23SKIG4.js';
|
|
4
6
|
|
|
5
7
|
// src/builder/descriptors.ts
|
|
6
8
|
function op(nodeType, version, operation) {
|
|
@@ -201,6 +203,7 @@ var WorkflowBuilder = class {
|
|
|
201
203
|
/** Edges whose id is the default, as indices into `edges`, with the unsuffixed default id. */
|
|
202
204
|
defaultIds = [];
|
|
203
205
|
edgeOrder;
|
|
206
|
+
durableRefs = [];
|
|
204
207
|
/** A reference to a node by id, for nodes declared later in the source. */
|
|
205
208
|
ref(id) {
|
|
206
209
|
return nodeRef(id);
|
|
@@ -274,10 +277,21 @@ var WorkflowBuilder = class {
|
|
|
274
277
|
}
|
|
275
278
|
/** `internal:wait-for-signal` (IR v2). */
|
|
276
279
|
waitForSignal(options) {
|
|
277
|
-
const { name, limit, ...rest } = options;
|
|
280
|
+
const { name, limit, until, consume, ...rest } = options;
|
|
281
|
+
if (limit !== void 0 && until !== void 0)
|
|
282
|
+
throw new BuilderError("wf.waitForSignal takes limit or until, not both");
|
|
283
|
+
if (consume !== void 0 && consume !== "first" && consume !== "all")
|
|
284
|
+
throw new BuilderError(`consume must be "first" or "all" (got "${String(consume)}")`);
|
|
278
285
|
const sugar = {};
|
|
279
286
|
if (name !== void 0) sugar["signalName"] = name;
|
|
287
|
+
if (consume !== void 0) sugar["consume"] = consume;
|
|
280
288
|
if (limit !== void 0) sugar["limitWait"] = limitWait(limit);
|
|
289
|
+
if (until !== void 0) {
|
|
290
|
+
const deadline = until instanceof Date ? until.toISOString() : until;
|
|
291
|
+
if (typeof deadline !== "string" || Number.isNaN(Date.parse(deadline)))
|
|
292
|
+
throw new BuilderError(`until "${String(until)}" is not an ISO 8601 date-time`);
|
|
293
|
+
sugar["limitWaitUntil"] = deadline;
|
|
294
|
+
}
|
|
281
295
|
const ref = this.add(internalNodes.waitForSignal, rest, sugar);
|
|
282
296
|
return { ...ref, received: ref.handle("received"), timedOut: ref.handle("timedOut") };
|
|
283
297
|
}
|
|
@@ -300,6 +314,45 @@ var WorkflowBuilder = class {
|
|
|
300
314
|
if (input !== void 0) sugar["inputMapping"] = input;
|
|
301
315
|
return this.add(internalNodes.subworkflow, rest, sugar);
|
|
302
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* `internal:code-workflow`: run a tier-2 function of this project as a
|
|
319
|
+
* durable child run. `fn` is a `workflow()` value (its export name is
|
|
320
|
+
* resolved when the bundle is collected) or an export name.
|
|
321
|
+
*/
|
|
322
|
+
codeWorkflow(fn, options = {}) {
|
|
323
|
+
const {
|
|
324
|
+
input,
|
|
325
|
+
taskQueue,
|
|
326
|
+
waitForCompletion,
|
|
327
|
+
timeoutSeconds,
|
|
328
|
+
failOnError,
|
|
329
|
+
parentClosePolicy,
|
|
330
|
+
...rest
|
|
331
|
+
} = options;
|
|
332
|
+
let workflowFn;
|
|
333
|
+
let definition;
|
|
334
|
+
if (typeof fn === "string" && fn !== "") workflowFn = fn;
|
|
335
|
+
else if (isDurableWorkflow(fn)) {
|
|
336
|
+
definition = fn;
|
|
337
|
+
workflowFn = fn.name;
|
|
338
|
+
} else throw new BuilderError("wf.codeWorkflow needs a workflow() function or its export name");
|
|
339
|
+
if (parentClosePolicy !== void 0 && !["TERMINATE", "ABANDON", "REQUEST_CANCEL"].includes(parentClosePolicy))
|
|
340
|
+
throw new BuilderError(`parentClosePolicy "${String(parentClosePolicy)}" is not a policy`);
|
|
341
|
+
const sugar = { workflowFn };
|
|
342
|
+
if (input !== void 0) sugar["inputMapping"] = input;
|
|
343
|
+
if (taskQueue !== void 0) sugar["taskQueue"] = taskQueue;
|
|
344
|
+
if (waitForCompletion !== void 0) sugar["waitForCompletion"] = waitForCompletion;
|
|
345
|
+
if (timeoutSeconds !== void 0) sugar["timeout"] = timeoutSeconds;
|
|
346
|
+
if (failOnError !== void 0) sugar["failOnError"] = failOnError;
|
|
347
|
+
if (parentClosePolicy !== void 0) sugar["parentClosePolicy"] = parentClosePolicy;
|
|
348
|
+
const ref = this.add(internalNodes.codeWorkflow, rest, sugar);
|
|
349
|
+
if (definition) this.durableRefs.push({ nodeId: ref.id, definition });
|
|
350
|
+
return ref;
|
|
351
|
+
}
|
|
352
|
+
/** The `wf.codeWorkflow` calls that named a function. */
|
|
353
|
+
durableReferences() {
|
|
354
|
+
return [...this.durableRefs];
|
|
355
|
+
}
|
|
303
356
|
/** `internal:validate`. */
|
|
304
357
|
validate(options) {
|
|
305
358
|
const ref = this.add(internalNodes.validate, options, {});
|
|
@@ -580,12 +633,15 @@ function defineWorkflow(options, build) {
|
|
|
580
633
|
if (options.extra !== void 0)
|
|
581
634
|
deepMerge(document, lowerObject(options.extra, "extra"), "workflow");
|
|
582
635
|
const recording = builder.finish(options.key, document);
|
|
583
|
-
|
|
636
|
+
const durableRefs = builder.durableReferences();
|
|
637
|
+
return {
|
|
638
|
+
__fluidgrids: WORKFLOW_MARKER,
|
|
639
|
+
key: options.key,
|
|
640
|
+
recording,
|
|
641
|
+
...durableRefs.length > 0 ? { durableRefs } : {}
|
|
642
|
+
};
|
|
584
643
|
}
|
|
585
644
|
|
|
586
|
-
// src/generated/version.ts
|
|
587
|
-
var SDK_VERSION = "2026.1027.1";
|
|
588
|
-
|
|
589
645
|
// src/builder/assemble.ts
|
|
590
646
|
var LAYOUT_FORMAT = "fluidgrids.layout";
|
|
591
647
|
var LAYOUT_FORMAT_VERSION = 1;
|
|
@@ -730,19 +786,4 @@ function toIR(workflow, options = {}) {
|
|
|
730
786
|
return assembleRecording(workflow.recording, options);
|
|
731
787
|
}
|
|
732
788
|
|
|
733
|
-
|
|
734
|
-
var COLLECTION_FORMAT = "fluidgrids.tier1-collection";
|
|
735
|
-
function collectWorkflowExports(modules) {
|
|
736
|
-
const workflows = [];
|
|
737
|
-
for (const [module, namespace] of modules) {
|
|
738
|
-
for (const exportName of Object.keys(namespace).sort()) {
|
|
739
|
-
const value = namespace[exportName];
|
|
740
|
-
if (isTier1Workflow(value))
|
|
741
|
-
workflows.push({ module, exportName, recording: value.recording });
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
const collection = { format: COLLECTION_FORMAT, workflows };
|
|
745
|
-
return JSON.stringify(collection);
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
export { COLLECTION_FORMAT, LAYOUT_FORMAT, LAYOUT_FORMAT_VERSION, RECORDING_FORMAT, RECORDING_FORMAT_VERSION, SDK_VERSION, UnresolvedConnectionsError, WorkflowBuilder, assembleRecording, collectWorkflowExports, defaultEdgeId, defineWorkflow, edge, internalNodes, isOperation, isTier1Workflow, nodes, op, parseLayoutSidecar, toIR, trigger, triggers };
|
|
789
|
+
export { LAYOUT_FORMAT, LAYOUT_FORMAT_VERSION, RECORDING_FORMAT, RECORDING_FORMAT_VERSION, UnresolvedConnectionsError, WorkflowBuilder, assembleRecording, defaultEdgeId, defineWorkflow, edge, internalNodes, isOperation, isTier1Workflow, nodes, op, parseLayoutSidecar, toIR, trigger, triggers };
|