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.
Files changed (115) hide show
  1. package/README.md +139 -377
  2. package/dist/agents.d.ts.map +1 -1
  3. package/dist/agents.js +3 -10
  4. package/dist/agents.js.map +1 -1
  5. package/dist/atomic-rename.d.ts +14 -0
  6. package/dist/atomic-rename.d.ts.map +1 -0
  7. package/dist/atomic-rename.js +35 -0
  8. package/dist/atomic-rename.js.map +1 -0
  9. package/dist/build-info.json +2 -2
  10. package/dist/detached-runner.js +2 -1
  11. package/dist/detached-runner.js.map +1 -1
  12. package/dist/discovery-boundary.d.ts +20 -0
  13. package/dist/discovery-boundary.d.ts.map +1 -0
  14. package/dist/discovery-boundary.js +101 -0
  15. package/dist/discovery-boundary.js.map +1 -0
  16. package/dist/effects/index.d.ts +9 -0
  17. package/dist/effects/index.d.ts.map +1 -0
  18. package/dist/effects/index.js +9 -0
  19. package/dist/effects/index.js.map +1 -0
  20. package/dist/effects/runtime-apply.d.ts +66 -0
  21. package/dist/effects/runtime-apply.d.ts.map +1 -0
  22. package/dist/effects/runtime-apply.js +214 -0
  23. package/dist/effects/runtime-apply.js.map +1 -0
  24. package/dist/effects/schema.d.ts +8 -0
  25. package/dist/effects/schema.d.ts.map +1 -0
  26. package/dist/effects/schema.js +41 -0
  27. package/dist/effects/schema.js.map +1 -0
  28. package/dist/effects/types.d.ts +93 -0
  29. package/dist/effects/types.d.ts.map +1 -0
  30. package/dist/effects/types.js +37 -0
  31. package/dist/effects/types.js.map +1 -0
  32. package/dist/effects/validate.d.ts +103 -0
  33. package/dist/effects/validate.d.ts.map +1 -0
  34. package/dist/effects/validate.js +543 -0
  35. package/dist/effects/validate.js.map +1 -0
  36. package/dist/effects/why.d.ts +94 -0
  37. package/dist/effects/why.d.ts.map +1 -0
  38. package/dist/effects/why.js +365 -0
  39. package/dist/effects/why.js.map +1 -0
  40. package/dist/exec/kernel-policy.d.ts.map +1 -1
  41. package/dist/exec/kernel-policy.js +4 -0
  42. package/dist/exec/kernel-policy.js.map +1 -1
  43. package/dist/exec/step.d.ts.map +1 -1
  44. package/dist/exec/step.js +6 -0
  45. package/dist/exec/step.js.map +1 -1
  46. package/dist/flowir/canonical-hash.d.ts.map +1 -1
  47. package/dist/flowir/canonical-hash.js +6 -2
  48. package/dist/flowir/canonical-hash.js.map +1 -1
  49. package/dist/flowir/compile.d.ts.map +1 -1
  50. package/dist/flowir/compile.js +41 -2
  51. package/dist/flowir/compile.js.map +1 -1
  52. package/dist/flowir/index.js +1 -1
  53. package/dist/flowir/index.js.map +1 -1
  54. package/dist/flowir/meta.d.ts +6 -0
  55. package/dist/flowir/meta.d.ts.map +1 -1
  56. package/dist/flowir/schema.d.ts +9 -0
  57. package/dist/flowir/schema.d.ts.map +1 -1
  58. package/dist/flowir/schema.js +8 -0
  59. package/dist/flowir/schema.js.map +1 -1
  60. package/dist/flowir/translate.d.ts.map +1 -1
  61. package/dist/flowir/translate.js +32 -0
  62. package/dist/flowir/translate.js.map +1 -1
  63. package/dist/index.d.ts +2 -0
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +3 -0
  66. package/dist/index.js.map +1 -1
  67. package/dist/module-specifier.d.ts +2 -0
  68. package/dist/module-specifier.d.ts.map +1 -0
  69. package/dist/module-specifier.js +47 -0
  70. package/dist/module-specifier.js.map +1 -0
  71. package/dist/resources/execution.d.ts +9 -0
  72. package/dist/resources/execution.d.ts.map +1 -1
  73. package/dist/resources/execution.js +80 -0
  74. package/dist/resources/execution.js.map +1 -1
  75. package/dist/resources/file-transaction.d.ts +105 -0
  76. package/dist/resources/file-transaction.d.ts.map +1 -0
  77. package/dist/resources/file-transaction.js +781 -0
  78. package/dist/resources/file-transaction.js.map +1 -0
  79. package/dist/resources/journal.d.ts +39 -4
  80. package/dist/resources/journal.d.ts.map +1 -1
  81. package/dist/resources/journal.js +140 -11
  82. package/dist/resources/journal.js.map +1 -1
  83. package/dist/resources/types.d.ts +4 -0
  84. package/dist/resources/types.d.ts.map +1 -1
  85. package/dist/resources/types.js.map +1 -1
  86. package/dist/runtime/phases/script.d.ts +6 -0
  87. package/dist/runtime/phases/script.d.ts.map +1 -1
  88. package/dist/runtime/phases/script.js +6 -0
  89. package/dist/runtime/phases/script.js.map +1 -1
  90. package/dist/runtime.d.ts.map +1 -1
  91. package/dist/runtime.js +203 -14
  92. package/dist/runtime.js.map +1 -1
  93. package/dist/schema.d.ts +18 -0
  94. package/dist/schema.d.ts.map +1 -1
  95. package/dist/schema.js +30 -0
  96. package/dist/schema.js.map +1 -1
  97. package/dist/store.d.ts.map +1 -1
  98. package/dist/store.js +15 -37
  99. package/dist/store.js.map +1 -1
  100. package/dist/verifiers/discover.d.ts.map +1 -1
  101. package/dist/verifiers/discover.js +1 -17
  102. package/dist/verifiers/discover.js.map +1 -1
  103. package/dist/verifiers/effects-lint.d.ts +33 -0
  104. package/dist/verifiers/effects-lint.d.ts.map +1 -0
  105. package/dist/verifiers/effects-lint.js +77 -0
  106. package/dist/verifiers/effects-lint.js.map +1 -0
  107. package/dist/verifiers/index.d.ts +1 -0
  108. package/dist/verifiers/index.d.ts.map +1 -1
  109. package/dist/verifiers/index.js +3 -1
  110. package/dist/verifiers/index.js.map +1 -1
  111. package/dist/verify.d.ts +7 -1
  112. package/dist/verify.d.ts.map +1 -1
  113. package/dist/verify.js +3 -0
  114. package/dist/verify.js.map +1 -1
  115. package/package.json +1 -1
@@ -19,6 +19,7 @@ import { WriteIntentJournal, } from "./journal.js";
19
19
  import { PersistentLeaseCoordinator } from "./leases.js";
20
20
  import { createHostRootGrant, createRootRegistry } from "./registry.js";
21
21
  import { resolvePathRef } from "./resolve.js";
22
+ import { garbageCollectResourceFileTransactions, prepareResourceFileTransaction, recoverResourceFileIntent, } from "./file-transaction.js";
22
23
  import { computeHostBaselineBodyDigest, createSandboxPolicyPlan, SandboxPolicyFactory } from "./sandbox.js";
23
24
  import { sameExecutionOwner } from "./types.js";
24
25
  export const WORKSPACE_RECONCILE_ACKNOWLEDGEMENT = "I acknowledge the current workspace state";
@@ -183,6 +184,7 @@ class ResolveOnlyWorkspaceSessionImpl {
183
184
  #rootIdentity;
184
185
  #pendingLeaseReleases = new Set();
185
186
  #allowReconcile;
187
+ #controlDirectory;
186
188
  // A single resolve-only session can fan out many tasks over the same granted
187
189
  // root. They are all potential writers and cannot safely overlap without a
188
190
  // native broker/snapshot backend. Serialize them before lease acquisition so
@@ -214,6 +216,7 @@ class ResolveOnlyWorkspaceSessionImpl {
214
216
  const controlDirectory = options.controlDirectory ?? defaultWorkspaceControlDirectory(this.invocationRoot);
215
217
  ensurePrivateDirectory(controlDirectory);
216
218
  const canonicalControlDirectory = fs.realpathSync(controlDirectory);
219
+ this.#controlDirectory = canonicalControlDirectory;
217
220
  if (isWithin(this.invocationRoot, canonicalControlDirectory) || isWithin(canonicalControlDirectory, this.invocationRoot)) {
218
221
  throw new Error("TFWS_INVALID_POLICY: control-plane storage must not overlap the flow workspace grant");
219
222
  }
@@ -248,7 +251,15 @@ class ResolveOnlyWorkspaceSessionImpl {
248
251
  const active = await this.#leases.list();
249
252
  return active.some((lease) => sameExecutionOwner(lease.owner, owner));
250
253
  },
254
+ recoverKnownClean: (intent) => recoverResourceFileIntent({
255
+ controlDirectory: this.#controlDirectory,
256
+ intent,
257
+ leases: this.#leases,
258
+ leaseTimeoutMs: this.#leaseTimeoutMs,
259
+ signal: this.#signal,
260
+ }),
251
261
  });
262
+ garbageCollectResourceFileTransactions(this.#controlDirectory, await this.#journal.listIntents());
252
263
  }
253
264
  async bindPhase(input) {
254
265
  await this.#drainPendingLeaseReleases();
@@ -347,6 +358,72 @@ class ResolveOnlyWorkspaceSessionImpl {
347
358
  releaseTurn();
348
359
  }
349
360
  }
361
+ async beginFileWriteTransaction(input, boundPath, targets, unitId, signal) {
362
+ await this.#drainPendingLeaseReleases();
363
+ this.#assertRootIdentity();
364
+ if (signal?.aborted || this.#signal?.aborted) {
365
+ throw new Error("ABORT_ERR: file transaction was cancelled before admission");
366
+ }
367
+ const dirty = (await this.#journal.listIntents()).find((intent) => intent.resourceDomainId === this.#grant.resourceDomainId && intent.status === "dirty-unknown");
368
+ if (dirty)
369
+ throw new Error("TFWS_RESOURCE_DIRTY: workspace requires reconciliation before another write");
370
+ const owner = {
371
+ runId: input.runId,
372
+ phaseId: input.phaseId,
373
+ attemptId: crypto.randomUUID(),
374
+ unitId,
375
+ ancestry: [],
376
+ };
377
+ const generation = await this.#journal.getDomainGeneration(this.#grant.resourceDomainId);
378
+ const rootPrefix = path.relative(this.invocationRoot, boundPath).split(path.sep).filter(Boolean).join("/");
379
+ const baseCapability = {
380
+ bindingId: this.#grant.bindingId,
381
+ resourceDomainId: this.#grant.resourceDomainId,
382
+ providerInstanceId: "root",
383
+ logicalWorkspaceId: "invocation",
384
+ logicalPrefix: rootPrefix,
385
+ physicalScopeRoot: boundPath,
386
+ access: "read-write",
387
+ version: { identityMode: "path-bound", generation, state: "clean" },
388
+ lifetime: { scope: "phase", runId: input.runId, phaseId: input.phaseId, attemptId: owner.attemptId },
389
+ };
390
+ const resolvedTargets = targets.map((target) => {
391
+ if (!("workspace" in target.path) || target.path.workspace === undefined) {
392
+ throw new Error(`TFWS_HANDLE_INVALID: effect '${target.effectId}' requires a bound workspace PathRef`);
393
+ }
394
+ if (target.path.intent !== "create-file" && target.path.intent !== "existing-file") {
395
+ throw new Error(`TFWS_INVALID_PATH: effect '${target.effectId}' fs.write requires create-file or existing-file intent`);
396
+ }
397
+ const logicalWorkspaceId = target.path.workspace;
398
+ const capability = { ...baseCapability, logicalWorkspaceId };
399
+ const resolved = resolvePathRef({ ...target.path, access: "read-write", maxLifetime: { scope: "phase" } }, {
400
+ workspaces: new Map([[logicalWorkspaceId, capability]]),
401
+ runId: input.runId,
402
+ phaseId: input.phaseId,
403
+ attemptId: owner.attemptId,
404
+ }, { definitions: input.argDefinitions, values: input.argValues });
405
+ if (!resolved.ok)
406
+ throw new Error(`${resolved.error.code}: ${resolved.error.redactedMessage}`);
407
+ return { effectId: target.effectId, ref: resolved.value };
408
+ });
409
+ const combinedSignal = this.#signal && signal
410
+ ? AbortSignal.any([this.#signal, signal])
411
+ : this.#signal ?? signal;
412
+ return prepareResourceFileTransaction({
413
+ controlDirectory: this.#controlDirectory,
414
+ resourceDomainId: this.#grant.resourceDomainId,
415
+ owner,
416
+ targets: resolvedTargets,
417
+ leases: this.#leases,
418
+ journal: this.#journal,
419
+ leaseTimeoutMs: this.#leaseTimeoutMs,
420
+ permitTtlMs: this.#permitTtlMs,
421
+ signal: combinedSignal,
422
+ authorizationPrincipalId: this.authority.principalId,
423
+ authorizationScopeRoot: boundPath,
424
+ onDeferredLeaseRelease: (lease) => this.#pendingLeaseReleases.add(lease),
425
+ });
426
+ }
350
427
  async #executeMutationNow(input, boundPath, unitId, target, signal, invoke, succeeded) {
351
428
  await this.#drainPendingLeaseReleases();
352
429
  const owner = {
@@ -565,6 +642,9 @@ class ResolveOnlyPhaseBindingImpl {
565
642
  return agentFailure(call.agentName, call.task, error);
566
643
  }
567
644
  }
645
+ beginFileWriteTransaction(targets, options = {}) {
646
+ return this.#session.beginFileWriteTransaction(this.#input, this.absolutePath, targets, options.unitId ?? this.phaseId, options.signal);
647
+ }
568
648
  runScript(call) {
569
649
  return this.#session.executeMutation(this.#input, this.absolutePath, call.unitId ?? this.phaseId, "script", call.signal, call.invoke, scriptSucceeded);
570
650
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/resources/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/resources/execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Resource-controlled file mutation transaction.
3
+ *
4
+ * This module is deliberately internal to `resources/execution.ts`: callers
5
+ * receive transactions only after host authority and PathRef resolution. It
6
+ * owns the data-plane sequence beneath that boundary:
7
+ *
8
+ * durable snapshots -> atomic multi-scope lease -> durable intent/permit
9
+ * -> stage -> promote -> commit-content | restore + abort-restored
10
+ *
11
+ * The local backend provides taskflow-exclusive isolation. It does not claim
12
+ * hostile external-process fencing; concurrent Taskflow writers are excluded
13
+ * by the persistent lease and unexpected external changes fail closed.
14
+ */
15
+ import type { ResolvedPathRef } from "./resolve.ts";
16
+ import type { WriteIntentJournal, PreparedMutation, WriteIntentRecord } from "./journal.ts";
17
+ import type { LeaseHandle, PersistentLeaseCoordinator } from "./leases.ts";
18
+ import type { ExecutionOwner, ScopedContentEvidence } from "./types.ts";
19
+ export interface ResolvedFileWriteTarget {
20
+ effectId: string;
21
+ ref: ResolvedPathRef;
22
+ }
23
+ export interface FileWritePayload {
24
+ effectId: string;
25
+ content: string | Buffer;
26
+ }
27
+ export type FileTransactionResult = {
28
+ ok: true;
29
+ intentId: string;
30
+ committedPaths: string[];
31
+ commitGeneration: number;
32
+ } | {
33
+ ok: false;
34
+ intentId: string;
35
+ code: "declared-path-bypass" | "commit-rejected";
36
+ reason: string;
37
+ restored: true;
38
+ };
39
+ interface SnapshotManifest {
40
+ version: 1;
41
+ artifactId: string;
42
+ effectId: string;
43
+ physicalPath: string;
44
+ logicalSubpath: string;
45
+ exists: boolean;
46
+ contentId: string;
47
+ mode?: number;
48
+ nearestExistingAncestor: string;
49
+ blobPath?: string;
50
+ }
51
+ interface Snapshot extends SnapshotManifest {
52
+ capabilityBindingId: string;
53
+ scopeDigest: string;
54
+ }
55
+ export interface ResourceFileTransactionOptions {
56
+ controlDirectory: string;
57
+ resourceDomainId: string;
58
+ owner: ExecutionOwner;
59
+ targets: readonly ResolvedFileWriteTarget[];
60
+ leases: PersistentLeaseCoordinator;
61
+ journal: WriteIntentJournal;
62
+ leaseTimeoutMs: number;
63
+ permitTtlMs: number;
64
+ signal?: AbortSignal;
65
+ authorizationPrincipalId?: string;
66
+ authorizationScopeRoot: string;
67
+ /** Preserve a failed authenticated release for the session's next-admission drain. */
68
+ onDeferredLeaseRelease?: (lease: LeaseHandle) => void;
69
+ /** Internal fault-injection seam for post-terminal staging cleanup tests. */
70
+ cleanupStaging?: (stagingDirectory: string) => void;
71
+ }
72
+ /** Remove terminal and pre-intent orphan before-images while retaining any
73
+ * pending/dirty transaction needed for recovery or explicit reconciliation. */
74
+ export declare function garbageCollectResourceFileTransactions(controlDirectory: string, intents: readonly WriteIntentRecord[]): void;
75
+ /** Restore a stale content intent while journal recovery holds its mutex. */
76
+ export declare function recoverResourceFileIntent(options: {
77
+ controlDirectory: string;
78
+ intent: WriteIntentRecord;
79
+ leases: PersistentLeaseCoordinator;
80
+ leaseTimeoutMs: number;
81
+ signal?: AbortSignal;
82
+ }): Promise<{
83
+ scopes: ScopedContentEvidence[];
84
+ reason: string;
85
+ restorableSnapshotArtifactIds: string[];
86
+ } | undefined>;
87
+ export declare class PreparedResourceFileTransaction {
88
+ #private;
89
+ readonly intentId: string;
90
+ constructor(input: {
91
+ snapshots: readonly Snapshot[];
92
+ mutation: PreparedMutation;
93
+ lease: LeaseHandle;
94
+ journal: WriteIntentJournal;
95
+ stagingDirectory: string;
96
+ onDeferredLeaseRelease?: (lease: LeaseHandle) => void;
97
+ authorizationScopeRoot: string;
98
+ cleanupStaging?: (stagingDirectory: string) => void;
99
+ });
100
+ commit(payloads: readonly FileWritePayload[]): Promise<FileTransactionResult>;
101
+ reject(reason: string): Promise<FileTransactionResult>;
102
+ }
103
+ export declare function prepareResourceFileTransaction(options: ResourceFileTransactionOptions): Promise<PreparedResourceFileTransaction>;
104
+ export {};
105
+ //# sourceMappingURL=file-transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-transaction.d.ts","sourceRoot":"","sources":["../../src/resources/file-transaction.ts"],"names":[],"mappings":"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"}