taskflow-core 0.2.10 → 0.3.0-beta.1.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 +139 -377
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +3 -10
- package/dist/agents.js.map +1 -1
- package/dist/atomic-rename.d.ts +14 -0
- package/dist/atomic-rename.d.ts.map +1 -0
- package/dist/atomic-rename.js +35 -0
- package/dist/atomic-rename.js.map +1 -0
- package/dist/build-info.json +2 -2
- package/dist/detached-runner.js +2 -1
- package/dist/detached-runner.js.map +1 -1
- package/dist/discovery-boundary.d.ts +20 -0
- package/dist/discovery-boundary.d.ts.map +1 -0
- package/dist/discovery-boundary.js +101 -0
- package/dist/discovery-boundary.js.map +1 -0
- package/dist/effects/index.d.ts +9 -0
- package/dist/effects/index.d.ts.map +1 -0
- package/dist/effects/index.js +9 -0
- package/dist/effects/index.js.map +1 -0
- package/dist/effects/runtime-apply.d.ts +66 -0
- package/dist/effects/runtime-apply.d.ts.map +1 -0
- package/dist/effects/runtime-apply.js +214 -0
- package/dist/effects/runtime-apply.js.map +1 -0
- package/dist/effects/schema.d.ts +8 -0
- package/dist/effects/schema.d.ts.map +1 -0
- package/dist/effects/schema.js +41 -0
- package/dist/effects/schema.js.map +1 -0
- package/dist/effects/types.d.ts +93 -0
- package/dist/effects/types.d.ts.map +1 -0
- package/dist/effects/types.js +37 -0
- package/dist/effects/types.js.map +1 -0
- package/dist/effects/validate.d.ts +103 -0
- package/dist/effects/validate.d.ts.map +1 -0
- package/dist/effects/validate.js +543 -0
- package/dist/effects/validate.js.map +1 -0
- package/dist/effects/why.d.ts +94 -0
- package/dist/effects/why.d.ts.map +1 -0
- package/dist/effects/why.js +365 -0
- package/dist/effects/why.js.map +1 -0
- package/dist/exec/kernel-policy.d.ts.map +1 -1
- package/dist/exec/kernel-policy.js +4 -0
- package/dist/exec/kernel-policy.js.map +1 -1
- package/dist/exec/step.d.ts.map +1 -1
- package/dist/exec/step.js +6 -0
- package/dist/exec/step.js.map +1 -1
- package/dist/flowir/canonical-hash.d.ts.map +1 -1
- package/dist/flowir/canonical-hash.js +6 -2
- package/dist/flowir/canonical-hash.js.map +1 -1
- package/dist/flowir/compile.d.ts.map +1 -1
- package/dist/flowir/compile.js +41 -2
- package/dist/flowir/compile.js.map +1 -1
- package/dist/flowir/index.js +1 -1
- package/dist/flowir/index.js.map +1 -1
- package/dist/flowir/meta.d.ts +6 -0
- package/dist/flowir/meta.d.ts.map +1 -1
- package/dist/flowir/schema.d.ts +9 -0
- package/dist/flowir/schema.d.ts.map +1 -1
- package/dist/flowir/schema.js +8 -0
- package/dist/flowir/schema.js.map +1 -1
- package/dist/flowir/translate.d.ts.map +1 -1
- package/dist/flowir/translate.js +32 -0
- package/dist/flowir/translate.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/module-specifier.d.ts +2 -0
- package/dist/module-specifier.d.ts.map +1 -0
- package/dist/module-specifier.js +47 -0
- package/dist/module-specifier.js.map +1 -0
- package/dist/resources/execution.d.ts +9 -0
- package/dist/resources/execution.d.ts.map +1 -1
- package/dist/resources/execution.js +80 -0
- package/dist/resources/execution.js.map +1 -1
- package/dist/resources/file-transaction.d.ts +105 -0
- package/dist/resources/file-transaction.d.ts.map +1 -0
- package/dist/resources/file-transaction.js +781 -0
- package/dist/resources/file-transaction.js.map +1 -0
- package/dist/resources/journal.d.ts +39 -4
- package/dist/resources/journal.d.ts.map +1 -1
- package/dist/resources/journal.js +140 -11
- package/dist/resources/journal.js.map +1 -1
- package/dist/resources/types.d.ts +4 -0
- package/dist/resources/types.d.ts.map +1 -1
- package/dist/resources/types.js.map +1 -1
- package/dist/runtime/phases/script.d.ts +6 -0
- package/dist/runtime/phases/script.d.ts.map +1 -1
- package/dist/runtime/phases/script.js +6 -0
- package/dist/runtime/phases/script.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +203 -14
- package/dist/runtime.js.map +1 -1
- package/dist/schema.d.ts +18 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +30 -0
- package/dist/schema.js.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +15 -37
- package/dist/store.js.map +1 -1
- package/dist/verifiers/discover.d.ts.map +1 -1
- package/dist/verifiers/discover.js +1 -17
- package/dist/verifiers/discover.js.map +1 -1
- package/dist/verifiers/effects-lint.d.ts +33 -0
- package/dist/verifiers/effects-lint.d.ts.map +1 -0
- package/dist/verifiers/effects-lint.js +77 -0
- package/dist/verifiers/effects-lint.js.map +1 -0
- package/dist/verifiers/index.d.ts +1 -0
- package/dist/verifiers/index.d.ts.map +1 -1
- package/dist/verifiers/index.js +3 -1
- package/dist/verifiers/index.js.map +1 -1
- package/dist/verify.d.ts +7 -1
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +3 -0
- package/dist/verify.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/runtime/phases/script.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/runtime/phases/script.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,OAAO,KAAK,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEpF;kEACkE;AAClE,KAAK,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAchD,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAe,KAAK,UAAU,EAA8J,KAAK,KAAK,EAAe,KAAK,QAAQ,EAAwI,MAAM,aAAa,CAAC;AACrY,OAAO,EAAmE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAErH,OAAO,EAAE,gBAAgB,EAA+E,MAAM,oBAAoB,CAAC;AACnI,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAG5B,OAAO,EAAuB,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAW,MAAM,YAAY,CAAC;AAE1F,OAAO,EAAE,UAAU,EAAsB,MAAM,YAAY,CAAC;AAK5D,OAAO,EAKN,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEN,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,MAAM,0BAA0B,CAAC;AAElC,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2FAA2F;AAC3F,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,QAAQ,CAAC;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;kFAE8E;IAC9E,eAAe,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC;IAC9D,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,gDAAgD;IAChD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,sFAAsF;IACtF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,gFAAgF;IAChF,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE;6DACyD;IACzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;IAClD;8EAC0E;IAC1E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IAC9D,mFAAmF;IACnF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B;;;iDAG6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;uFAKmF;IACnF,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;qFACiF;IACjF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;uEACmE;IACnE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;8EAC0E;IAC1E,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C;8EAC0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;2EACuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;6EACyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;mFAC+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;4EACwE;IACxE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC3D;;;+EAG2E;IAC3E,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;yDACqD;IACrD,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CAC5C;AAED,KAAK,uBAAuB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAA;CAAE,GAChD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjC,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC;IACvB;;;;;;wBAMoB;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;4DAIwD;IACxD,KAAK,CAAC,EAAE,YAAY,CAAC;CACrB;AAMD,OAAO,EACN,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC5B,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb;sFACkF;IAClF,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;mFAEmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,CAuB5D;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -593,6 +593,52 @@ function flowTreeUsesCwdBridge(def, loadFlow, seenUses = new Set()) {
|
|
|
593
593
|
}
|
|
594
594
|
return false;
|
|
595
595
|
}
|
|
596
|
+
function flowTreeUsesDeclaredEffects(def, loadFlow, seenUses = new Set()) {
|
|
597
|
+
if (def.contextSharing === true || def.phases.some((phase) => phase.shareContext === true))
|
|
598
|
+
return true;
|
|
599
|
+
if (def.phases.some((phase) => phase.effects !== undefined))
|
|
600
|
+
return true;
|
|
601
|
+
for (const phase of def.phases) {
|
|
602
|
+
const type = phase.type ?? "agent";
|
|
603
|
+
if ((type === "flow" || type === "expand") && phase.def !== undefined) {
|
|
604
|
+
// Inline definitions are resolved before their parent phase cache lookup.
|
|
605
|
+
// Statically inspect authored object/JSON forms. An interpolated/malformed
|
|
606
|
+
// form is capability-bearing until resolution proves otherwise: otherwise a
|
|
607
|
+
// prior parent cache row could skip a newly generated resource transaction.
|
|
608
|
+
const parsed = typeof phase.def === "string" ? safeParse(phase.def) : phase.def;
|
|
609
|
+
if (parsed === undefined &&
|
|
610
|
+
typeof phase.def === "string" &&
|
|
611
|
+
!/[{](?:steps[.]|args[.]|previous[.]|item(?:[.}]|\b)|loop[.]|reflexion[}])/.test(phase.def)) {
|
|
612
|
+
// A malformed authored literal cannot resolve into a child at runtime;
|
|
613
|
+
// preserve the established fail-open/cleanup path. Interpolated strings
|
|
614
|
+
// remain unknown and therefore authority-bearing until resolved.
|
|
615
|
+
continue;
|
|
616
|
+
}
|
|
617
|
+
const child = normalizeInlineDef(parsed, phase.id);
|
|
618
|
+
if (!child)
|
|
619
|
+
return true;
|
|
620
|
+
if (flowTreeUsesDeclaredEffects(child, loadFlow, seenUses))
|
|
621
|
+
return true;
|
|
622
|
+
}
|
|
623
|
+
if (type === "flow" && phase.use) {
|
|
624
|
+
if (seenUses.has(phase.use))
|
|
625
|
+
continue;
|
|
626
|
+
seenUses.add(phase.use);
|
|
627
|
+
if (!loadFlow)
|
|
628
|
+
return true;
|
|
629
|
+
try {
|
|
630
|
+
const child = loadFlow(phase.use);
|
|
631
|
+
if (child && flowTreeUsesDeclaredEffects(child, loadFlow, seenUses))
|
|
632
|
+
return true;
|
|
633
|
+
}
|
|
634
|
+
catch {
|
|
635
|
+
// A mutable/unavailable saved flow is authority-bearing until proven otherwise.
|
|
636
|
+
return true;
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
return false;
|
|
641
|
+
}
|
|
596
642
|
/**
|
|
597
643
|
* Freeze the saved-flow namespace for one top-level execution. Capability
|
|
598
644
|
* discovery and phase execution must observe the same definition, including
|
|
@@ -864,9 +910,131 @@ async function executePhaseImpl(phase, state, deps, prior, emitProgress, _retryD
|
|
|
864
910
|
}
|
|
865
911
|
return ps;
|
|
866
912
|
};
|
|
913
|
+
const executeInnerWithDeclaredEffects = async (innerDeps) => {
|
|
914
|
+
const effects = phase.effects;
|
|
915
|
+
if (effects === undefined || (Array.isArray(effects) && effects.length === 0)) {
|
|
916
|
+
return executePhaseInner(phase, state, innerDeps, prior, emitProgress, _retryDepth, innerOpts);
|
|
917
|
+
}
|
|
918
|
+
if (!Array.isArray(effects)) {
|
|
919
|
+
return {
|
|
920
|
+
id: phase.id,
|
|
921
|
+
status: "failed",
|
|
922
|
+
error: "trusted-effects admission failed (effects-not-array): effects must be an array",
|
|
923
|
+
endedAt: Date.now(),
|
|
924
|
+
usage: emptyUsage(),
|
|
925
|
+
};
|
|
926
|
+
}
|
|
927
|
+
const te = await import("./effects/index.js");
|
|
928
|
+
const effectValidation = te.validateDeclaredEffectsBeforeAdmission(effects);
|
|
929
|
+
if (!effectValidation.ok) {
|
|
930
|
+
return {
|
|
931
|
+
id: phase.id,
|
|
932
|
+
status: "failed",
|
|
933
|
+
error: `trusted-effects admission failed (${effectValidation.code}): ${effectValidation.reason}`,
|
|
934
|
+
endedAt: Date.now(),
|
|
935
|
+
usage: emptyUsage(),
|
|
936
|
+
};
|
|
937
|
+
}
|
|
938
|
+
const hasWrites = te.hasDeclaredFsWriteEffects(effects);
|
|
939
|
+
let binding = innerDeps._workspaceBinding;
|
|
940
|
+
if (hasWrites && !binding) {
|
|
941
|
+
const effectiveCwd = resolveEffCwd(innerDeps, phase);
|
|
942
|
+
try {
|
|
943
|
+
binding = await innerDeps.workspaceSession?.bindPhase({
|
|
944
|
+
invocationRoot: effectiveCwd,
|
|
945
|
+
runId: state.runId,
|
|
946
|
+
phaseId: phase.id,
|
|
947
|
+
argDefinitions: state.def.args ?? {},
|
|
948
|
+
argValues: state.args,
|
|
949
|
+
});
|
|
950
|
+
}
|
|
951
|
+
catch (error) {
|
|
952
|
+
return {
|
|
953
|
+
id: phase.id,
|
|
954
|
+
status: "failed",
|
|
955
|
+
error: error instanceof Error ? error.message : String(error),
|
|
956
|
+
endedAt: Date.now(),
|
|
957
|
+
usage: emptyUsage(),
|
|
958
|
+
};
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
if (hasWrites && !binding) {
|
|
962
|
+
return {
|
|
963
|
+
id: phase.id,
|
|
964
|
+
status: "failed",
|
|
965
|
+
error: "TFWS_RESOURCE_AUTHORITY_UNAVAILABLE: declared fs.write requires a workspace authority binding",
|
|
966
|
+
endedAt: Date.now(),
|
|
967
|
+
usage: emptyUsage(),
|
|
968
|
+
};
|
|
969
|
+
}
|
|
970
|
+
const admitted = binding
|
|
971
|
+
? await te.preparePhaseDeclaredFsWrites(binding, { effects, signal: innerDeps.signal })
|
|
972
|
+
: { ok: true, prepared: undefined };
|
|
973
|
+
if (!admitted.ok) {
|
|
974
|
+
return {
|
|
975
|
+
id: phase.id,
|
|
976
|
+
status: "failed",
|
|
977
|
+
error: `trusted-effects admission failed (${admitted.code}): ${admitted.reason}`,
|
|
978
|
+
endedAt: Date.now(),
|
|
979
|
+
usage: emptyUsage(),
|
|
980
|
+
};
|
|
981
|
+
}
|
|
982
|
+
let ps;
|
|
983
|
+
try {
|
|
984
|
+
// The file transaction owns admission for declared targets. Do not open a
|
|
985
|
+
// second broad generation-only intent around each nested runner call.
|
|
986
|
+
ps = await executePhaseInner(phase, state, hasWrites
|
|
987
|
+
? { ...innerDeps, _workspaceBinding: undefined, _disableCache: true }
|
|
988
|
+
: innerDeps, prior, emitProgress, _retryDepth, innerOpts);
|
|
989
|
+
}
|
|
990
|
+
catch (error) {
|
|
991
|
+
if (admitted.prepared) {
|
|
992
|
+
await te.rejectPreparedDeclaredFsWrites(admitted.prepared, `phase body threw: ${error instanceof Error ? error.message : String(error)}`);
|
|
993
|
+
}
|
|
994
|
+
throw error;
|
|
995
|
+
}
|
|
996
|
+
if (!admitted.prepared)
|
|
997
|
+
return ps;
|
|
998
|
+
if (ps.status !== "done") {
|
|
999
|
+
try {
|
|
1000
|
+
await te.rejectPreparedDeclaredFsWrites(admitted.prepared, ps.error ?? `phase ended with status ${ps.status}`);
|
|
1001
|
+
}
|
|
1002
|
+
catch (error) {
|
|
1003
|
+
return {
|
|
1004
|
+
...ps,
|
|
1005
|
+
status: "failed",
|
|
1006
|
+
error: `${ps.error ?? "phase failed"}; trusted-effects restore failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
1007
|
+
endedAt: Date.now(),
|
|
1008
|
+
};
|
|
1009
|
+
}
|
|
1010
|
+
return ps;
|
|
1011
|
+
}
|
|
1012
|
+
const finalized = await te.finalizePreparedDeclaredFsWrites(admitted.prepared, ps.output ?? "");
|
|
1013
|
+
if (!finalized.ok) {
|
|
1014
|
+
return {
|
|
1015
|
+
...ps,
|
|
1016
|
+
status: "failed",
|
|
1017
|
+
error: `trusted-effects finalize failed (${finalized.code}): ${finalized.reason}`,
|
|
1018
|
+
sideEffect: true,
|
|
1019
|
+
endedAt: Date.now(),
|
|
1020
|
+
};
|
|
1021
|
+
}
|
|
1022
|
+
return {
|
|
1023
|
+
...ps,
|
|
1024
|
+
sideEffect: finalized.committedPaths.length > 0 || ps.sideEffect,
|
|
1025
|
+
warnings: finalized.committedPaths.length === 0
|
|
1026
|
+
? ps.warnings
|
|
1027
|
+
: [
|
|
1028
|
+
...(ps.warnings ?? []),
|
|
1029
|
+
`trusted-effects: committed ${finalized.committedPaths.join(", ")} via resource intent ${finalized.intentId}`,
|
|
1030
|
+
],
|
|
1031
|
+
};
|
|
1032
|
+
};
|
|
867
1033
|
const cwdArg = cwdArgName(phase.cwd);
|
|
868
1034
|
let innerOpts = { ...opts, upstreamDeps: deps };
|
|
869
|
-
if ((cwdArg !== undefined || deps._dynamic === true || deps._cwdBoundary !== undefined
|
|
1035
|
+
if ((cwdArg !== undefined || deps._dynamic === true || deps._cwdBoundary !== undefined ||
|
|
1036
|
+
(Array.isArray(phase.effects) && (phase.effects?.length ?? 0) > 0)) &&
|
|
1037
|
+
phase.when !== undefined) {
|
|
870
1038
|
const whenReadRefs = [];
|
|
871
1039
|
const whenCtx = buildInterpolationContext(state, lastCompletedOutput(state, phase), undefined, (ref) => whenReadRefs.push(ref));
|
|
872
1040
|
const whenResult = evaluateCondition(phase.when, whenCtx);
|
|
@@ -964,7 +1132,7 @@ async function executePhaseImpl(phase, state, deps, prior, emitProgress, _retryD
|
|
|
964
1132
|
_disableCache: true,
|
|
965
1133
|
_workspaceBinding: workspaceBinding,
|
|
966
1134
|
};
|
|
967
|
-
const ps = await
|
|
1135
|
+
const ps = await executeInnerWithDeclaredEffects(innerDeps);
|
|
968
1136
|
ps.warnings = [
|
|
969
1137
|
...(ps.warnings ?? []),
|
|
970
1138
|
`cwd bridge: resolve-only {args.${cwdArg}} -> ${bound.value.logicalPath}; principal/root authorization, cross-process lease, and write journal are active, but filesystem access outside this directory is not sandbox-enforced`,
|
|
@@ -1010,17 +1178,17 @@ async function executePhaseImpl(phase, state, deps, prior, emitProgress, _retryD
|
|
|
1010
1178
|
usage: emptyUsage(),
|
|
1011
1179
|
});
|
|
1012
1180
|
}
|
|
1013
|
-
return stamp(await
|
|
1181
|
+
return stamp(await executeInnerWithDeclaredEffects({
|
|
1014
1182
|
...deps,
|
|
1015
1183
|
_cwdOverride: selected.canonicalPath,
|
|
1016
1184
|
_cwdBoundary: selected.canonicalPath,
|
|
1017
1185
|
_cacheCwdIdentity: selected.canonicalPath,
|
|
1018
1186
|
_workspaceBinding: narrowedBinding,
|
|
1019
|
-
}
|
|
1187
|
+
}));
|
|
1020
1188
|
}
|
|
1021
1189
|
// Non-keyword cwd (or none): no workspace lifecycle — run directly.
|
|
1022
1190
|
if (!isWorkspaceKeyword(phase.cwd)) {
|
|
1023
|
-
return stamp(await
|
|
1191
|
+
return stamp(await executeInnerWithDeclaredEffects(deps));
|
|
1024
1192
|
}
|
|
1025
1193
|
let ws;
|
|
1026
1194
|
try {
|
|
@@ -1036,7 +1204,7 @@ async function executePhaseImpl(phase, state, deps, prior, emitProgress, _retryD
|
|
|
1036
1204
|
}
|
|
1037
1205
|
const innerDeps = ws ? { ...deps, _cwdOverride: ws.dir, _cacheCwdIdentity: ws.dir } : deps;
|
|
1038
1206
|
try {
|
|
1039
|
-
const ps = await
|
|
1207
|
+
const ps = await executeInnerWithDeclaredEffects(innerDeps);
|
|
1040
1208
|
if (ws && (ws.kind !== "inherited" || ws.note)) {
|
|
1041
1209
|
const tag = ws.kind === "inherited" ? "workspace" : `workspace:${ws.kind}`;
|
|
1042
1210
|
const msg = ws.note ? `${tag} — ${ws.note}` : `${tag} at ${ws.dir}`;
|
|
@@ -1154,6 +1322,11 @@ async function executePhaseInner(phase, state, deps, prior, emitProgress, _retry
|
|
|
1154
1322
|
if (phase.idempotent === false) {
|
|
1155
1323
|
cacheScope = "off";
|
|
1156
1324
|
}
|
|
1325
|
+
// Declared fs.write → resource transaction finalize; never cache-skip promotion.
|
|
1326
|
+
if (Array.isArray(phase.effects) &&
|
|
1327
|
+
(phase.effects ?? []).some((e) => e?.kind === "fs.write")) {
|
|
1328
|
+
cacheScope = "off";
|
|
1329
|
+
}
|
|
1157
1330
|
if (deps._disableCache) {
|
|
1158
1331
|
cacheScope = "off";
|
|
1159
1332
|
}
|
|
@@ -1169,7 +1342,7 @@ async function executePhaseInner(phase, state, deps, prior, emitProgress, _retry
|
|
|
1169
1342
|
flowDefHash: state.flowDefHash === "failed" ? undefined : state.flowDefHash,
|
|
1170
1343
|
phaseFp: state.phaseFingerprints?.[phase.id],
|
|
1171
1344
|
forceRerun: opts?.forceRerun,
|
|
1172
|
-
thinking: phase.thinking,
|
|
1345
|
+
thinking: phase.thinking ?? deps.globalThinking,
|
|
1173
1346
|
tools: phase.tools,
|
|
1174
1347
|
preRead,
|
|
1175
1348
|
agentScope: state.def.agentScope,
|
|
@@ -2588,7 +2761,9 @@ async function executePhaseInner(phase, state, deps, prior, emitProgress, _retry
|
|
|
2588
2761
|
// change between the root pre-scan and this phase (or return aliases), and
|
|
2589
2762
|
// a bridge-bearing child must never be skipped by a cached parent result.
|
|
2590
2763
|
const nestedBridgeTree = flowTreeUsesCwdBridge(subDef, deps.loadFlow);
|
|
2591
|
-
|
|
2764
|
+
const nestedEffectsTree = flowTreeUsesDeclaredEffects(subDef, deps.loadFlow);
|
|
2765
|
+
const nestedResourceTree = nestedBridgeTree || nestedEffectsTree;
|
|
2766
|
+
if (nestedResourceTree)
|
|
2592
2767
|
deps._disableCache = true;
|
|
2593
2768
|
// Plugin-error verifier preflight (no-spend gate) BEFORE cache/resume reuse,
|
|
2594
2769
|
// for SAVED-USE children only. Inline-def children are already gated by the
|
|
@@ -2606,7 +2781,7 @@ async function executePhaseInner(phase, state, deps, prior, emitProgress, _retry
|
|
|
2606
2781
|
return failPhase(phase.id, `flow phase '${phase.id}': sub-flow '${subDef.name}' failed verifier preflight: ${flowPluginErrors.join("; ")}`);
|
|
2607
2782
|
}
|
|
2608
2783
|
}
|
|
2609
|
-
const flowCc =
|
|
2784
|
+
const flowCc = nestedResourceTree ? { ...cc, scope: "off" } : cc;
|
|
2610
2785
|
// Every sub-flow cache identity includes the resolved definition. A saved
|
|
2611
2786
|
// flow's name alone is insufficient: its contents can change without the
|
|
2612
2787
|
// parent definition moving.
|
|
@@ -3765,11 +3940,25 @@ export async function executeTaskflow(state, deps) {
|
|
|
3765
3940
|
// mutations or let downstream phases observe stale files. Disable cache and
|
|
3766
3941
|
// within-run resume reuse across the complete reachable flow tree.
|
|
3767
3942
|
const bridgeTree = flowTreeUsesCwdBridge(def, deps.loadFlow);
|
|
3943
|
+
const effectsTree = flowTreeUsesDeclaredEffects(def, deps.loadFlow);
|
|
3944
|
+
const resourceTree = bridgeTree || effectsTree;
|
|
3945
|
+
if (effectsTree) {
|
|
3946
|
+
const { validateComposedEffectFlow } = await import("./effects/validate.js");
|
|
3947
|
+
const labelFlow = validateComposedEffectFlow({ name: def.name, phases: def.phases }, {
|
|
3948
|
+
resolveFlow: deps.loadFlow,
|
|
3949
|
+
});
|
|
3950
|
+
if (!labelFlow.ok) {
|
|
3951
|
+
return failBeforeExecution(`Taskflow '${def.name}' EffectIR label flow is invalid: ${labelFlow.issues
|
|
3952
|
+
.filter((issue) => issue.severity === "error")
|
|
3953
|
+
.map((issue) => issue.message)
|
|
3954
|
+
.join("; ")}`);
|
|
3955
|
+
}
|
|
3956
|
+
}
|
|
3768
3957
|
// Persisted binding is a permanent taint bit: saved-flow definitions can
|
|
3769
3958
|
// change between resumes, but prior outputs may already depend on filesystem
|
|
3770
3959
|
// mutations. Never regain cache/rebind privileges merely because the current
|
|
3771
3960
|
// snapshot no longer declares the bridge.
|
|
3772
|
-
const bridgeTainted =
|
|
3961
|
+
const bridgeTainted = resourceTree || state.cwdRootBinding !== undefined;
|
|
3773
3962
|
if (bridgeTainted) {
|
|
3774
3963
|
const invocationRoot = directoryIdentity(deps.cwd);
|
|
3775
3964
|
const statePathRoot = directoryIdentity(state.cwd);
|
|
@@ -3781,12 +3970,12 @@ export async function executeTaskflow(state, deps) {
|
|
|
3781
3970
|
// phase previously executed without a persisted root binding. Conversely,
|
|
3782
3971
|
// a host's launch snapshot proves root continuity, not prior bridge
|
|
3783
3972
|
// authorization: adding a bridge after ordinary phases ran still fails.
|
|
3784
|
-
const isLegacyResume =
|
|
3973
|
+
const isLegacyResume = resourceTree && recordedRoot === undefined && hasExecutablePriorState;
|
|
3785
3974
|
if (isLegacyResume ||
|
|
3786
3975
|
!sameDirectoryIdentity(statePathRoot, invocationRoot) ||
|
|
3787
3976
|
(launchRoot !== undefined && !sameDirectoryIdentity(launchRoot, invocationRoot)) ||
|
|
3788
3977
|
(recordedRoot !== undefined && !sameDirectoryIdentity(recordedRoot, invocationRoot))) {
|
|
3789
|
-
return failBeforeExecution(`Taskflow '${def.name}'
|
|
3978
|
+
return failBeforeExecution(`Taskflow '${def.name}' resource-authority invocation root does not match the run's persisted root; start a new run instead of rebinding on resume`);
|
|
3790
3979
|
}
|
|
3791
3980
|
state.cwdRootBinding ??= invocationRoot;
|
|
3792
3981
|
// Freeze the invocation root to the canonical identity we just bound. In
|
|
@@ -3802,7 +3991,7 @@ export async function executeTaskflow(state, deps) {
|
|
|
3802
3991
|
// control/durability scaffold. This does not upgrade its assurance: the
|
|
3803
3992
|
// session is deliberately labelled resolve-only and no OS sandbox claim is
|
|
3804
3993
|
// made. A native session must come from an exact approved host baseline cell.
|
|
3805
|
-
if (
|
|
3994
|
+
if (resourceTree && (effectsTree || deps.cwdBridgeMode === "resolve-only") && !deps.workspaceSession) {
|
|
3806
3995
|
try {
|
|
3807
3996
|
deps = {
|
|
3808
3997
|
...deps,
|
|
@@ -3859,7 +4048,7 @@ export async function executeTaskflow(state, deps) {
|
|
|
3859
4048
|
// not yet persist compatible input hashes, so it must never blindly trust a
|
|
3860
4049
|
// prior `done` row.
|
|
3861
4050
|
const hasPriorState = Object.keys(state.phases).length > 0;
|
|
3862
|
-
if (eventKernelEnabled(deps) && deps._cwdBoundary === undefined && !hasPriorState && canUseEventKernel(def, deps.loadFlow)) {
|
|
4051
|
+
if (eventKernelEnabled(deps) && !effectsTree && deps._cwdBoundary === undefined && !hasPriorState && canUseEventKernel(def, deps.loadFlow)) {
|
|
3863
4052
|
if (!deps.runTask) {
|
|
3864
4053
|
throw new Error("event kernel requires RuntimeDeps.runTask");
|
|
3865
4054
|
}
|