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
|
@@ -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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"}
|