taskflow-mcp-core 0.3.0-beta.1.1 → 1.0.0
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/CONTROL_GUIDE.md +113 -0
- package/README.md +34 -25
- package/dist/control/admission-service.d.ts +15 -0
- package/dist/control/admission-service.d.ts.map +1 -0
- package/dist/control/admission-service.js +64 -0
- package/dist/control/admission-service.js.map +1 -0
- package/dist/control/approval-edits.d.ts +12 -0
- package/dist/control/approval-edits.d.ts.map +1 -0
- package/dist/control/approval-edits.js +66 -0
- package/dist/control/approval-edits.js.map +1 -0
- package/dist/control/approval-service.d.ts +173 -0
- package/dist/control/approval-service.d.ts.map +1 -0
- package/dist/control/approval-service.js +342 -0
- package/dist/control/approval-service.js.map +1 -0
- package/dist/control/authorization.d.ts +94 -0
- package/dist/control/authorization.d.ts.map +1 -0
- package/dist/control/authorization.js +302 -0
- package/dist/control/authorization.js.map +1 -0
- package/dist/control/control-cli.d.ts +3 -0
- package/dist/control/control-cli.d.ts.map +1 -0
- package/dist/control/control-cli.js +279 -0
- package/dist/control/control-cli.js.map +1 -0
- package/dist/control/control-console.d.ts +17 -0
- package/dist/control/control-console.d.ts.map +1 -0
- package/dist/control/control-console.js +67 -0
- package/dist/control/control-console.js.map +1 -0
- package/dist/control/control-host.d.ts +98 -0
- package/dist/control/control-host.d.ts.map +1 -0
- package/dist/control/control-host.js +459 -0
- package/dist/control/control-host.js.map +1 -0
- package/dist/control/control-mcp.d.ts +11 -0
- package/dist/control/control-mcp.d.ts.map +1 -0
- package/dist/control/control-mcp.js +78 -0
- package/dist/control/control-mcp.js.map +1 -0
- package/dist/control/errors.d.ts +44 -0
- package/dist/control/errors.d.ts.map +1 -0
- package/dist/control/errors.js +93 -0
- package/dist/control/errors.js.map +1 -0
- package/dist/control/hello.d.ts +39 -0
- package/dist/control/hello.d.ts.map +1 -0
- package/dist/control/hello.js +80 -0
- package/dist/control/hello.js.map +1 -0
- package/dist/control/host-runtime.d.ts +32 -0
- package/dist/control/host-runtime.d.ts.map +1 -0
- package/dist/control/host-runtime.js +542 -0
- package/dist/control/host-runtime.js.map +1 -0
- package/dist/control/index.d.ts +32 -0
- package/dist/control/index.d.ts.map +1 -0
- package/dist/control/index.js +32 -0
- package/dist/control/index.js.map +1 -0
- package/dist/control/legacy-conflict.d.ts +19 -0
- package/dist/control/legacy-conflict.d.ts.map +1 -0
- package/dist/control/legacy-conflict.js +176 -0
- package/dist/control/legacy-conflict.js.map +1 -0
- package/dist/control/local-bootstrap.d.ts +21 -0
- package/dist/control/local-bootstrap.d.ts.map +1 -0
- package/dist/control/local-bootstrap.js +224 -0
- package/dist/control/local-bootstrap.js.map +1 -0
- package/dist/control/modes.d.ts +60 -0
- package/dist/control/modes.d.ts.map +1 -0
- package/dist/control/modes.js +86 -0
- package/dist/control/modes.js.map +1 -0
- package/dist/control/project-admin-cli.d.ts +3 -0
- package/dist/control/project-admin-cli.d.ts.map +1 -0
- package/dist/control/project-admin-cli.js +155 -0
- package/dist/control/project-admin-cli.js.map +1 -0
- package/dist/control/project-registry.d.ts +20 -0
- package/dist/control/project-registry.d.ts.map +1 -0
- package/dist/control/project-registry.js +181 -0
- package/dist/control/project-registry.js.map +1 -0
- package/dist/control/runtime-checkpoint.d.ts +11 -0
- package/dist/control/runtime-checkpoint.d.ts.map +1 -0
- package/dist/control/runtime-checkpoint.js +39 -0
- package/dist/control/runtime-checkpoint.js.map +1 -0
- package/dist/control/runtime-provider.d.ts +100 -0
- package/dist/control/runtime-provider.d.ts.map +1 -0
- package/dist/control/runtime-provider.js +258 -0
- package/dist/control/runtime-provider.js.map +1 -0
- package/dist/control/schema/approval.d.ts +108 -0
- package/dist/control/schema/approval.d.ts.map +1 -0
- package/dist/control/schema/approval.js +65 -0
- package/dist/control/schema/approval.js.map +1 -0
- package/dist/control/schema/commands.d.ts +663 -0
- package/dist/control/schema/commands.d.ts.map +1 -0
- package/dist/control/schema/commands.js +147 -0
- package/dist/control/schema/commands.js.map +1 -0
- package/dist/control/schema/common.d.ts +24 -0
- package/dist/control/schema/common.d.ts.map +1 -0
- package/dist/control/schema/common.js +38 -0
- package/dist/control/schema/common.js.map +1 -0
- package/dist/control/schema/coordinator.d.ts +98 -0
- package/dist/control/schema/coordinator.d.ts.map +1 -0
- package/dist/control/schema/coordinator.js +87 -0
- package/dist/control/schema/coordinator.js.map +1 -0
- package/dist/control/schema/evidence.d.ts +140 -0
- package/dist/control/schema/evidence.d.ts.map +1 -0
- package/dist/control/schema/evidence.js +64 -0
- package/dist/control/schema/evidence.js.map +1 -0
- package/dist/control/schema/header.d.ts +79 -0
- package/dist/control/schema/header.d.ts.map +1 -0
- package/dist/control/schema/header.js +66 -0
- package/dist/control/schema/header.js.map +1 -0
- package/dist/control/schema/index.d.ts +31 -0
- package/dist/control/schema/index.d.ts.map +1 -0
- package/dist/control/schema/index.js +31 -0
- package/dist/control/schema/index.js.map +1 -0
- package/dist/control/schema/plan.d.ts +291 -0
- package/dist/control/schema/plan.d.ts.map +1 -0
- package/dist/control/schema/plan.js +80 -0
- package/dist/control/schema/plan.js.map +1 -0
- package/dist/control/schema/policy.d.ts +96 -0
- package/dist/control/schema/policy.d.ts.map +1 -0
- package/dist/control/schema/policy.js +73 -0
- package/dist/control/schema/policy.js.map +1 -0
- package/dist/control/schema/run.d.ts +61 -0
- package/dist/control/schema/run.d.ts.map +1 -0
- package/dist/control/schema/run.js +56 -0
- package/dist/control/schema/run.js.map +1 -0
- package/dist/control/schema/te-mirrors.d.ts +145 -0
- package/dist/control/schema/te-mirrors.d.ts.map +1 -0
- package/dist/control/schema/te-mirrors.js +145 -0
- package/dist/control/schema/te-mirrors.js.map +1 -0
- package/dist/control/schema/transport.d.ts +479 -0
- package/dist/control/schema/transport.d.ts.map +1 -0
- package/dist/control/schema/transport.js +181 -0
- package/dist/control/schema/transport.js.map +1 -0
- package/dist/control/singleton.d.ts +135 -0
- package/dist/control/singleton.d.ts.map +1 -0
- package/dist/control/singleton.js +607 -0
- package/dist/control/singleton.js.map +1 -0
- package/dist/control/store/coordinator-store.d.ts +143 -0
- package/dist/control/store/coordinator-store.d.ts.map +1 -0
- package/dist/control/store/coordinator-store.js +620 -0
- package/dist/control/store/coordinator-store.js.map +1 -0
- package/dist/control/store/evidence-adapter.d.ts +10 -0
- package/dist/control/store/evidence-adapter.d.ts.map +1 -0
- package/dist/control/store/evidence-adapter.js +114 -0
- package/dist/control/store/evidence-adapter.js.map +1 -0
- package/dist/control/store/evidence-explanation.d.ts +55 -0
- package/dist/control/store/evidence-explanation.d.ts.map +1 -0
- package/dist/control/store/evidence-explanation.js +50 -0
- package/dist/control/store/evidence-explanation.js.map +1 -0
- package/dist/control/store/evidence-store.d.ts +143 -0
- package/dist/control/store/evidence-store.d.ts.map +1 -0
- package/dist/control/store/evidence-store.js +437 -0
- package/dist/control/store/evidence-store.js.map +1 -0
- package/dist/control/store/index.d.ts +3 -0
- package/dist/control/store/index.d.ts.map +1 -0
- package/dist/control/store/index.js +2 -0
- package/dist/control/store/index.js.map +1 -0
- package/dist/control/store/journal.d.ts +270 -0
- package/dist/control/store/journal.d.ts.map +1 -0
- package/dist/control/store/journal.js +50 -0
- package/dist/control/store/journal.js.map +1 -0
- package/dist/control/store/project-lifecycle.d.ts +49 -0
- package/dist/control/store/project-lifecycle.d.ts.map +1 -0
- package/dist/control/store/project-lifecycle.js +288 -0
- package/dist/control/store/project-lifecycle.js.map +1 -0
- package/dist/control/store/store.d.ts +93 -0
- package/dist/control/store/store.d.ts.map +1 -0
- package/dist/control/store/store.js +873 -0
- package/dist/control/store/store.js.map +1 -0
- package/dist/control/te-provider.d.ts +86 -0
- package/dist/control/te-provider.d.ts.map +1 -0
- package/dist/control/te-provider.js +131 -0
- package/dist/control/te-provider.js.map +1 -0
- package/dist/control/uds.d.ts +114 -0
- package/dist/control/uds.d.ts.map +1 -0
- package/dist/control/uds.js +456 -0
- package/dist/control/uds.js.map +1 -0
- package/dist/control/web-console/view.d.ts +5 -0
- package/dist/control/web-console/view.d.ts.map +1 -0
- package/dist/control/web-console/view.js +122 -0
- package/dist/control/web-console/view.js.map +1 -0
- package/dist/control/web-console.d.ts +50 -0
- package/dist/control/web-console.d.ts.map +1 -0
- package/dist/control/web-console.js +317 -0
- package/dist/control/web-console.js.map +1 -0
- package/dist/mcp/jsonrpc.d.ts.map +1 -1
- package/dist/mcp/jsonrpc.js +12 -3
- package/dist/mcp/jsonrpc.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +26 -17
- package/dist/mcp/server.js.map +1 -1
- package/package.json +13 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator-store.js","sourceRoot":"","sources":["../../../../taskflow-control/src/store/coordinator-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ControlStore } from "./store.ts";
|
|
2
|
+
import { type EvidenceLedgerView, type EvidenceStore, type EvidenceStoreOptions } from "./evidence-store.ts";
|
|
3
|
+
export type ControlEvidenceOptions = Pick<EvidenceStoreOptions, "authorize" | "terminalEvidence" | "onDurabilityPoint">;
|
|
4
|
+
/** No cached projection or caller-selected anchor becomes an evidence authority. */
|
|
5
|
+
export declare function readControlEvidence(store: ControlStore): EvidenceLedgerView;
|
|
6
|
+
/** Use the project's existing writer exclusion for staging, issuance and reads. */
|
|
7
|
+
export declare function createControlEvidenceStore(store: ControlStore, options: ControlEvidenceOptions): Promise<EvidenceStore>;
|
|
8
|
+
/** Advance only the logical visibility floor; retained journal and blobs survive. */
|
|
9
|
+
export declare function compactControlEvidence(store: ControlStore, evidence: EvidenceStore, throughCommitSeq: number): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=evidence-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-adapter.d.ts","sourceRoot":"","sources":["../../../../taskflow-control/src/store/evidence-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EACkC,KAAK,kBAAkB,EAC/D,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAC7C,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,CAAC;AAYxH,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,kBAAkB,CA2D3E;AAED,mFAAmF;AACnF,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,CAiB7H;AAED,qFAAqF;AACrF,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASlI"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/** Evidence derived exclusively from the validated ControlStore journal. */
|
|
2
|
+
import { canonicalJson } from "taskflow-core/flowir/hash";
|
|
3
|
+
import { ControlError } from "../errors.js";
|
|
4
|
+
import { ControlStore } from "./store.js";
|
|
5
|
+
import { JOURNAL_GENESIS, journalHash } from "./journal.js";
|
|
6
|
+
import { createEvidenceStore, evidenceEventHash, } from "./evidence-store.js";
|
|
7
|
+
function fail(message) {
|
|
8
|
+
throw new ControlError("TF_DURABILITY_FAILED", message, { recoveryAction: "operator", sideEffects: "unknown" });
|
|
9
|
+
}
|
|
10
|
+
function batchTip(batches) {
|
|
11
|
+
const last = batches.at(-1);
|
|
12
|
+
return { commitSeq: last?.commitSeq ?? 0,
|
|
13
|
+
hash: last ? last.recordKind === "lifecycle-batch" ? last.contentHash : journalHash(last) : JOURNAL_GENESIS };
|
|
14
|
+
}
|
|
15
|
+
/** No cached projection or caller-selected anchor becomes an evidence authority. */
|
|
16
|
+
export function readControlEvidence(store) {
|
|
17
|
+
const batches = store.readJournal();
|
|
18
|
+
const header = store.header;
|
|
19
|
+
const view = {
|
|
20
|
+
projectId: header.projectId, controlDomainId: header.controlDomainId,
|
|
21
|
+
directoryBinding: header.directoryBinding,
|
|
22
|
+
anchorHash: JOURNAL_GENESIS, tipHash: JOURNAL_GENESIS, tipCommitSeq: 0,
|
|
23
|
+
events: [], runs: {}, commands: {}, receipts: {},
|
|
24
|
+
};
|
|
25
|
+
const events = [];
|
|
26
|
+
const runs = {};
|
|
27
|
+
const commands = {};
|
|
28
|
+
const receipts = {};
|
|
29
|
+
for (const batch of batches) {
|
|
30
|
+
for (const event of batch.events) {
|
|
31
|
+
const hash = evidenceEventHash(view.tipHash, event);
|
|
32
|
+
events.push({ event, previousHash: view.tipHash, hash });
|
|
33
|
+
view.tipHash = hash;
|
|
34
|
+
}
|
|
35
|
+
view.tipCommitSeq = batch.commitSeq;
|
|
36
|
+
if (batch.command)
|
|
37
|
+
commands[batch.command.commandId] = {
|
|
38
|
+
...(batch.command.responseArtifactRef ? { responseArtifactRef: batch.command.responseArtifactRef } : {}),
|
|
39
|
+
};
|
|
40
|
+
if (batch.recordKind !== "lifecycle-batch")
|
|
41
|
+
continue;
|
|
42
|
+
if (batch.evidenceMetadata) {
|
|
43
|
+
const metadata = batch.evidenceMetadata;
|
|
44
|
+
if (Object.hasOwn(runs, metadata.runId))
|
|
45
|
+
fail("run evidence metadata was committed more than once");
|
|
46
|
+
runs[metadata.runId] = { runId: metadata.runId, eventIds: [], artifactRefs: [],
|
|
47
|
+
buildInfo: metadata.buildInfo, assurance: metadata.assurance };
|
|
48
|
+
}
|
|
49
|
+
if (batch.receipt) {
|
|
50
|
+
if (!batch.receiptRef || !batch.manifestProofRef || Object.hasOwn(receipts, batch.receipt.runId))
|
|
51
|
+
fail("receipt issuance lacks unique atomic references");
|
|
52
|
+
receipts[batch.receipt.runId] = { receiptRef: batch.receiptRef, manifestProofRef: batch.manifestProofRef };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
for (const run of Object.values(runs)) {
|
|
56
|
+
const state = store.readRun(run.runId);
|
|
57
|
+
if (!state)
|
|
58
|
+
fail("evidence metadata has no committed run");
|
|
59
|
+
run.boundPlanHash = state.boundPlanHash;
|
|
60
|
+
run.boundFragmentHash = state.boundFragmentHash;
|
|
61
|
+
const scoped = events.filter(({ event }) => event.correlationId === run.runId);
|
|
62
|
+
const terminal = scoped.findIndex(({ event }) => event.payload.kind === "run.terminal");
|
|
63
|
+
// Receipt issuance and later release snapshots must never change its manifest.
|
|
64
|
+
const manifest = terminal < 0 ? scoped : scoped.slice(0, terminal + 1);
|
|
65
|
+
run.eventIds = manifest.map(({ event }) => event.eventId);
|
|
66
|
+
const refs = [];
|
|
67
|
+
for (const { event } of manifest) {
|
|
68
|
+
if (event.payload.kind !== "artifact.recorded" || event.payload.runId !== run.runId)
|
|
69
|
+
continue;
|
|
70
|
+
const ref = event.payload.artifact;
|
|
71
|
+
if (!refs.some(candidate => canonicalJson(candidate) === canonicalJson(ref)))
|
|
72
|
+
refs.push(ref);
|
|
73
|
+
}
|
|
74
|
+
run.artifactRefs = refs;
|
|
75
|
+
if (terminal >= 0) {
|
|
76
|
+
const event = scoped[terminal].event;
|
|
77
|
+
if (event.payload.kind !== "run.terminal" || event.payload.status !== state.status || state.stage !== "terminal")
|
|
78
|
+
fail("terminal event differs from authoritative run state");
|
|
79
|
+
run.terminalEvidenceId = event.eventId;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return { ...view, events, runs, commands, receipts };
|
|
83
|
+
}
|
|
84
|
+
/** Use the project's existing writer exclusion for staging, issuance and reads. */
|
|
85
|
+
export async function createControlEvidenceStore(store, options) {
|
|
86
|
+
return createEvidenceStore({
|
|
87
|
+
...options, storePath: store.storePath,
|
|
88
|
+
ledger: {
|
|
89
|
+
read: () => readControlEvidence(store),
|
|
90
|
+
withWriter: operation => store.withWriter(() => operation(readControlEvidence(store))),
|
|
91
|
+
async commitReceiptOnce(runId, prepared) {
|
|
92
|
+
const current = readControlEvidence(store);
|
|
93
|
+
if (prepared.expectedTip.commitSeq !== current.tipCommitSeq || prepared.expectedTip.hash !== current.tipHash) {
|
|
94
|
+
throw new ControlError("TF_STALE_VERSION", "evidence journal advanced before receipt issuance");
|
|
95
|
+
}
|
|
96
|
+
const tip = batchTip(store.readJournal());
|
|
97
|
+
store.appendReceipt(runId, { receipt: prepared.receipt, receiptRef: prepared.receiptRef,
|
|
98
|
+
manifestProofRef: prepared.manifestProofRef }, tip);
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/** Advance only the logical visibility floor; retained journal and blobs survive. */
|
|
104
|
+
export async function compactControlEvidence(store, evidence, throughCommitSeq) {
|
|
105
|
+
await store.withWriter(async () => {
|
|
106
|
+
const prepared = await evidence.prepareCheckpoint(throughCommitSeq);
|
|
107
|
+
const current = readControlEvidence(store);
|
|
108
|
+
if (prepared.expectedTip.commitSeq !== current.tipCommitSeq || prepared.expectedTip.hash !== current.tipHash) {
|
|
109
|
+
throw new ControlError("TF_STALE_VERSION", "journal advanced before compaction checkpoint");
|
|
110
|
+
}
|
|
111
|
+
store.appendCheckpoint(throughCommitSeq, batchTip(store.readJournal()));
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=evidence-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-adapter.js","sourceRoot":"","sources":["../../../../taskflow-control/src/store/evidence-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { RunState } from "taskflow-core";
|
|
2
|
+
import type { ControlStore } from "./store.ts";
|
|
3
|
+
import type { EvidenceStoreOptions } from "./evidence-store.ts";
|
|
4
|
+
export interface EvidenceDiagnostic {
|
|
5
|
+
runId: string;
|
|
6
|
+
projectId: string;
|
|
7
|
+
controlDomainId: string;
|
|
8
|
+
state: RunState;
|
|
9
|
+
controlDirectory: string;
|
|
10
|
+
projectRoot: string;
|
|
11
|
+
}
|
|
12
|
+
export interface EvidenceExplanationQuery {
|
|
13
|
+
effectId?: string;
|
|
14
|
+
phaseId?: string;
|
|
15
|
+
seeds?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface EvidenceExplanationOptions {
|
|
18
|
+
authorize: EvidenceStoreOptions["authorize"];
|
|
19
|
+
/** Trusted provider reader; callers cannot select a checkpoint or journal path. */
|
|
20
|
+
readDiagnostic(runId: string): EvidenceDiagnostic | undefined | Promise<EvidenceDiagnostic | undefined>;
|
|
21
|
+
}
|
|
22
|
+
export declare function explainControlEvidence(store: ControlStore, actor: unknown, runId: string, options: EvidenceExplanationOptions, query?: EvidenceExplanationQuery): Promise<{
|
|
23
|
+
runId: string;
|
|
24
|
+
projectId: string;
|
|
25
|
+
controlDomainId: string;
|
|
26
|
+
status: import("../index.ts").RunStatus;
|
|
27
|
+
stage: import("../index.ts").RunStage;
|
|
28
|
+
slot: import("../index.ts").RunSlotState;
|
|
29
|
+
needsOperator: boolean;
|
|
30
|
+
journalCommitSeq: number;
|
|
31
|
+
lifecycle: {
|
|
32
|
+
eventId: string;
|
|
33
|
+
commitSeq: number;
|
|
34
|
+
recordedAt: number;
|
|
35
|
+
payload: import("../index.ts").ControlEventPayload;
|
|
36
|
+
}[];
|
|
37
|
+
pendingApprovals: {
|
|
38
|
+
approvalRequestId: string;
|
|
39
|
+
nodeInstanceId: string;
|
|
40
|
+
deadline: number;
|
|
41
|
+
}[];
|
|
42
|
+
receiptIssued: boolean;
|
|
43
|
+
checkpoint: {
|
|
44
|
+
available: true;
|
|
45
|
+
updatedAt: number;
|
|
46
|
+
runtimeStatus: "blocked" | "completed" | "failed" | "paused" | "running";
|
|
47
|
+
stale: string | undefined;
|
|
48
|
+
effect?: import("taskflow-core").WhyEffectFromFlowResult | undefined;
|
|
49
|
+
reason?: undefined;
|
|
50
|
+
} | {
|
|
51
|
+
available: false;
|
|
52
|
+
reason: string;
|
|
53
|
+
};
|
|
54
|
+
}>;
|
|
55
|
+
//# sourceMappingURL=evidence-explanation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-explanation.d.ts","sourceRoot":"","sources":["../../../../taskflow-control/src/store/evidence-explanation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,wBAAwB;IAAG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE;AACnG,MAAM,WAAW,0BAA0B;IAC1C,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7C,mFAAmF;IACnF,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CACxG;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAC9F,OAAO,EAAE,0BAA0B,EAAE,KAAK,GAAE,wBAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CzE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** Authorized diagnostics from the real project journal and TE checkpoint. */
|
|
2
|
+
import { formatWhyStale, readMapOf, declaredReadMapOfDef } from "taskflow-core/stale";
|
|
3
|
+
import { whyEffectFromDurableJournal } from "taskflow-core/effects/why";
|
|
4
|
+
import { ControlError } from "../errors.js";
|
|
5
|
+
export async function explainControlEvidence(store, actor, runId, options, query = {}) {
|
|
6
|
+
if (query.effectId !== undefined && (typeof query.effectId !== "string" || !query.effectId.trim())
|
|
7
|
+
|| query.phaseId !== undefined && (typeof query.phaseId !== "string" || !query.phaseId.trim())
|
|
8
|
+
|| query.seeds !== undefined && (!Array.isArray(query.seeds) || query.seeds.some(seed => typeof seed !== "string" || !seed.trim()))) {
|
|
9
|
+
throw new ControlError("TF_COMMAND_FAILED", "invalid evidence diagnostic selector");
|
|
10
|
+
}
|
|
11
|
+
return store.withWriter(async () => {
|
|
12
|
+
const header = store.header;
|
|
13
|
+
const authorize = async () => {
|
|
14
|
+
const auth = await options.authorize(actor, { projectId: header.projectId, controlDomainId: header.controlDomainId,
|
|
15
|
+
target: { kind: "run", id: runId } });
|
|
16
|
+
if (!auth?.principal || !/^[a-f0-9]{64}$/.test(auth.authorizationContextHash))
|
|
17
|
+
throw new ControlError("TF_POLICY_DENIED", "diagnostic authority unavailable");
|
|
18
|
+
};
|
|
19
|
+
await authorize();
|
|
20
|
+
const batches = store.readJournal();
|
|
21
|
+
const run = store.readRun(runId);
|
|
22
|
+
if (!run)
|
|
23
|
+
throw new ControlError("TF_POLICY_DENIED", "run is absent from this project");
|
|
24
|
+
const diagnostic = await options.readDiagnostic(runId);
|
|
25
|
+
if (diagnostic && (diagnostic.runId !== runId || diagnostic.state.runId !== runId
|
|
26
|
+
|| diagnostic.projectId !== header.projectId || diagnostic.controlDomainId !== header.controlDomainId)) {
|
|
27
|
+
throw new ControlError("TF_DURABILITY_FAILED", "runtime checkpoint identity differs from the project journal");
|
|
28
|
+
}
|
|
29
|
+
const stale = diagnostic ? formatWhyStale(runId, diagnostic.state.flowName, readMapOf(diagnostic.state.phases), query.seeds ?? [], declaredReadMapOfDef(diagnostic.state.def)) : undefined;
|
|
30
|
+
const effect = query.effectId && diagnostic ? await whyEffectFromDurableJournal({ flow: diagnostic.state.def,
|
|
31
|
+
runId, effectId: query.effectId, phaseId: query.phaseId, workspaceRoot: diagnostic.projectRoot,
|
|
32
|
+
controlDirectory: diagnostic.controlDirectory }) : undefined;
|
|
33
|
+
await authorize();
|
|
34
|
+
// Validate authoritative bytes again after the asynchronous TE journal read.
|
|
35
|
+
store.readJournal();
|
|
36
|
+
const events = batches.flatMap(batch => batch.events).filter(event => event.correlationId === runId);
|
|
37
|
+
return {
|
|
38
|
+
runId, projectId: header.projectId, controlDomainId: header.controlDomainId,
|
|
39
|
+
status: run.status, stage: run.stage, slot: run.slot, needsOperator: run.needsOperator,
|
|
40
|
+
journalCommitSeq: store.commitSeq,
|
|
41
|
+
lifecycle: events.map(event => ({ eventId: event.eventId, commitSeq: event.commitSeq, recordedAt: event.recordedAt, payload: event.payload })),
|
|
42
|
+
pendingApprovals: store.listApprovals().filter(approval => approval.runId === runId && approval.status === "pending")
|
|
43
|
+
.map(approval => ({ approvalRequestId: approval.approvalRequestId, nodeInstanceId: approval.nodeInstanceId, deadline: approval.deadline })),
|
|
44
|
+
receiptIssued: batches.some(batch => batch.recordKind === "lifecycle-batch" && batch.receipt?.runId === runId),
|
|
45
|
+
checkpoint: diagnostic ? { available: true, updatedAt: diagnostic.state.updatedAt, runtimeStatus: diagnostic.state.status, stale,
|
|
46
|
+
...(effect ? { effect } : {}) } : { available: false, reason: "provider has no durable checkpoint for this run" },
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=evidence-explanation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-explanation.js","sourceRoot":"","sources":["../../../../taskflow-control/src/store/evidence-explanation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { type ArtifactRef, type ControlEvent, type Receipt, type ReceiptAssurance, type BuildInfoWire } from "../schema/index.ts";
|
|
2
|
+
export interface EvidenceChainEntry {
|
|
3
|
+
event: ControlEvent;
|
|
4
|
+
previousHash: string;
|
|
5
|
+
hash: string;
|
|
6
|
+
}
|
|
7
|
+
/** Committed projection; the adapter must derive it from its validated ledger. */
|
|
8
|
+
export interface EvidenceRun {
|
|
9
|
+
runId: string;
|
|
10
|
+
eventIds: readonly string[];
|
|
11
|
+
boundPlanHash?: string;
|
|
12
|
+
boundFragmentHash?: string;
|
|
13
|
+
artifactRefs: readonly ArtifactRef[];
|
|
14
|
+
assurance: ReceiptAssurance;
|
|
15
|
+
buildInfo: BuildInfoWire;
|
|
16
|
+
/** Durable TE evidence reference, resolved by the required trusted reader. */
|
|
17
|
+
terminalEvidenceId?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface IssuedEvidenceReceipt {
|
|
20
|
+
receiptRef: ArtifactRef;
|
|
21
|
+
manifestProofRef: ArtifactRef;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* All projections (runs/commands/receipts) must be derived by the owner's
|
|
25
|
+
* validated journal reader. Hash checking below detects changed chain bytes;
|
|
26
|
+
* it does not turn an untrusted caller-supplied anchor into a trust root.
|
|
27
|
+
*/
|
|
28
|
+
export interface EvidenceLedgerView {
|
|
29
|
+
projectId: string;
|
|
30
|
+
controlDomainId: string;
|
|
31
|
+
directoryBinding: {
|
|
32
|
+
canonicalPath: string;
|
|
33
|
+
device: string;
|
|
34
|
+
inode: string;
|
|
35
|
+
};
|
|
36
|
+
anchorHash: string;
|
|
37
|
+
tipHash: string;
|
|
38
|
+
tipCommitSeq: number;
|
|
39
|
+
events: readonly EvidenceChainEntry[];
|
|
40
|
+
runs: Readonly<Record<string, EvidenceRun>>;
|
|
41
|
+
commands: Readonly<Record<string, {
|
|
42
|
+
responseArtifactRef?: ArtifactRef;
|
|
43
|
+
}>>;
|
|
44
|
+
receipts: Readonly<Record<string, IssuedEvidenceReceipt>>;
|
|
45
|
+
}
|
|
46
|
+
export interface EvidenceStoreOptions {
|
|
47
|
+
storePath: string;
|
|
48
|
+
ledger: {
|
|
49
|
+
read(): EvidenceLedgerView | Promise<EvidenceLedgerView>;
|
|
50
|
+
/**
|
|
51
|
+
* Hold the SAME writer fence until the returned operation Promise settles,
|
|
52
|
+
* including disclosures. ALL journal/projection mutations must use this
|
|
53
|
+
* fence; reads within it must not recursively acquire it. Authorization
|
|
54
|
+
* must evaluate current policy at completion, not return a cached grant.
|
|
55
|
+
*/
|
|
56
|
+
withWriter<T>(operation: (view: EvidenceLedgerView) => Promise<T>): Promise<T>;
|
|
57
|
+
/** Atomic journal marker + tip CAS, called INSIDE the existing writer fence. */
|
|
58
|
+
commitReceiptOnce(runId: string, prepared: PreparedEvidenceReceipt): Promise<void>;
|
|
59
|
+
};
|
|
60
|
+
/** Resolve an authenticated transport actor and recheck CURRENT policy. */
|
|
61
|
+
authorize(actor: unknown, scope: {
|
|
62
|
+
projectId: string;
|
|
63
|
+
controlDomainId: string;
|
|
64
|
+
target: {
|
|
65
|
+
kind: "run" | "command";
|
|
66
|
+
id: string;
|
|
67
|
+
};
|
|
68
|
+
artifactRef?: ArtifactRef;
|
|
69
|
+
}): {
|
|
70
|
+
principal: string;
|
|
71
|
+
authorizationContextHash: string;
|
|
72
|
+
} | Promise<{
|
|
73
|
+
principal: string;
|
|
74
|
+
authorizationContextHash: string;
|
|
75
|
+
}>;
|
|
76
|
+
terminalEvidence: {
|
|
77
|
+
/** Must reject live processes/jobs, ambiguous jobs and pending/dirty intents. */
|
|
78
|
+
verify(project: {
|
|
79
|
+
projectId: string;
|
|
80
|
+
controlDomainId: string;
|
|
81
|
+
}, runId: string, evidenceId: string): TerminalEvidenceObservation | Promise<TerminalEvidenceObservation>;
|
|
82
|
+
};
|
|
83
|
+
/** Optional fault observer; never supplies authority. */
|
|
84
|
+
onDurabilityPoint?: (point: "file-fsynced" | "file-published") => void;
|
|
85
|
+
}
|
|
86
|
+
export interface TerminalEvidenceObservation {
|
|
87
|
+
terminalStatus: "completed" | "failed" | "blocked" | "cancelled";
|
|
88
|
+
terminalEventId: string;
|
|
89
|
+
evidenceCommit: string;
|
|
90
|
+
providerOutcome: "completed" | "failed" | "operator-intervened";
|
|
91
|
+
}
|
|
92
|
+
export interface PreparedEvidenceReceipt extends IssuedEvidenceReceipt {
|
|
93
|
+
receipt: Receipt;
|
|
94
|
+
expectedTip: {
|
|
95
|
+
commitSeq: number;
|
|
96
|
+
hash: string;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export declare function evidenceEventHash(previousHash: string, event: ControlEvent): string;
|
|
100
|
+
/** Resolve committed run artifacts without inventing Receipt metadata for live runs.
|
|
101
|
+
* Callers outside EvidenceStore must supply the validated owner ledger view. */
|
|
102
|
+
export declare function evidenceRunArtifactRefs(view: EvidenceLedgerView, runId: string): readonly ArtifactRef[];
|
|
103
|
+
/** Logical compaction only. No method in this class deletes journal or blobs. */
|
|
104
|
+
export declare class EvidenceStore {
|
|
105
|
+
#private;
|
|
106
|
+
private constructor();
|
|
107
|
+
static open(options: EvidenceStoreOptions): Promise<EvidenceStore>;
|
|
108
|
+
stageArtifact(bytes: Uint8Array, metadata: Omit<ArtifactRef, "digest" | "size">): Promise<ArtifactRef>;
|
|
109
|
+
/** Owner must call under its commit fence before acknowledging acceptance. */
|
|
110
|
+
assertDurableReferences(refs: readonly ArtifactRef[]): Promise<void>;
|
|
111
|
+
/** Internal preparation only; its blobs remain unreachable until committed. */
|
|
112
|
+
prepareFinalReceipt(runId: string): Promise<PreparedEvidenceReceipt>;
|
|
113
|
+
/** Trusted control service entry. Holds the owner fence through commit-once. */
|
|
114
|
+
issueFinalReceipt(runId: string): Promise<Receipt>;
|
|
115
|
+
readArtifact(actor: unknown, target: {
|
|
116
|
+
kind: "run" | "command";
|
|
117
|
+
id: string;
|
|
118
|
+
}, ref: ArtifactRef): Promise<Buffer>;
|
|
119
|
+
readReceipt(actor: unknown, runId: string): Promise<{
|
|
120
|
+
receipt: Receipt;
|
|
121
|
+
verification: {
|
|
122
|
+
artifactIntegrity: "verified" | "unknown";
|
|
123
|
+
};
|
|
124
|
+
}>;
|
|
125
|
+
prepareCheckpoint(throughCommitSeq: number): Promise<{
|
|
126
|
+
eventPayload: {
|
|
127
|
+
kind: "compaction.checkpoint";
|
|
128
|
+
throughCommitSeq: number;
|
|
129
|
+
};
|
|
130
|
+
expectedTip: {
|
|
131
|
+
commitSeq: number;
|
|
132
|
+
hash: string;
|
|
133
|
+
};
|
|
134
|
+
}>;
|
|
135
|
+
checkCursor(cursor: {
|
|
136
|
+
nextCommitSeq: number;
|
|
137
|
+
leaseExpiresAt: number;
|
|
138
|
+
}, now: number): Promise<{
|
|
139
|
+
minAvailableCommitSeq: number;
|
|
140
|
+
}>;
|
|
141
|
+
}
|
|
142
|
+
export declare function createEvidenceStore(options: EvidenceStoreOptions): Promise<EvidenceStore>;
|
|
143
|
+
//# sourceMappingURL=evidence-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-store.d.ts","sourceRoot":"","sources":["../../../../taskflow-control/src/store/evidence-store.ts"],"names":[],"mappings":"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"}
|