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,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy + enforcement capability wire types (🟥 NEW).
|
|
3
|
+
*
|
|
4
|
+
* Decisions: P1/P2 (PolicyBundle with explicit inheritance + fail-closed empty
|
|
5
|
+
* baseline; authorizationContextHash records the decision), P8 (orthogonal
|
|
6
|
+
* EnforcementCapabilities bound to TE evidence surfaces; `unsupported` host
|
|
7
|
+
* probe fails closed; 0.3-C does not offer unbound / per-mutation).
|
|
8
|
+
*/
|
|
9
|
+
import { Type } from "typebox";
|
|
10
|
+
export declare const PolicyCeilingSchema: Type.TObject<{
|
|
11
|
+
maxActiveRuns: Type.TOptional<Type.TInteger>;
|
|
12
|
+
maxTokens: Type.TOptional<Type.TInteger>;
|
|
13
|
+
maxUSD: Type.TOptional<Type.TNumber>;
|
|
14
|
+
}>;
|
|
15
|
+
export type PolicyCeiling = {
|
|
16
|
+
maxActiveRuns?: number;
|
|
17
|
+
maxTokens?: number;
|
|
18
|
+
maxUSD?: number;
|
|
19
|
+
};
|
|
20
|
+
export declare const PolicyBundleSchema: Type.TObject<{
|
|
21
|
+
hostCeiling: Type.TObject<{
|
|
22
|
+
maxActiveRuns: Type.TOptional<Type.TInteger>;
|
|
23
|
+
maxTokens: Type.TOptional<Type.TInteger>;
|
|
24
|
+
maxUSD: Type.TOptional<Type.TNumber>;
|
|
25
|
+
}>;
|
|
26
|
+
userCeiling: Type.TOptional<Type.TObject<{
|
|
27
|
+
maxActiveRuns: Type.TOptional<Type.TInteger>;
|
|
28
|
+
maxTokens: Type.TOptional<Type.TInteger>;
|
|
29
|
+
maxUSD: Type.TOptional<Type.TNumber>;
|
|
30
|
+
}>>;
|
|
31
|
+
projectCeiling: Type.TOptional<Type.TObject<{
|
|
32
|
+
maxActiveRuns: Type.TOptional<Type.TInteger>;
|
|
33
|
+
maxTokens: Type.TOptional<Type.TInteger>;
|
|
34
|
+
maxUSD: Type.TOptional<Type.TNumber>;
|
|
35
|
+
}>>;
|
|
36
|
+
invocationCeiling: Type.TOptional<Type.TObject<{
|
|
37
|
+
maxActiveRuns: Type.TOptional<Type.TInteger>;
|
|
38
|
+
maxTokens: Type.TOptional<Type.TInteger>;
|
|
39
|
+
maxUSD: Type.TOptional<Type.TNumber>;
|
|
40
|
+
}>>;
|
|
41
|
+
authorizationContextHash: Type.TString;
|
|
42
|
+
}>;
|
|
43
|
+
export type PolicyBundle = {
|
|
44
|
+
hostCeiling: PolicyCeiling;
|
|
45
|
+
userCeiling?: PolicyCeiling;
|
|
46
|
+
projectCeiling?: PolicyCeiling;
|
|
47
|
+
invocationCeiling?: PolicyCeiling;
|
|
48
|
+
authorizationContextHash: string;
|
|
49
|
+
};
|
|
50
|
+
export declare const ResolutionCapabilitySchema: import("typebox").TUnsafe<string>;
|
|
51
|
+
export type ResolutionCapability = "contained" | "unbound";
|
|
52
|
+
export declare const MutationMediationCapabilitySchema: import("typebox").TUnsafe<string>;
|
|
53
|
+
export type MutationMediationCapability = "none" | "brokered";
|
|
54
|
+
export declare const ProcessIsolationCapabilitySchema: import("typebox").TUnsafe<string>;
|
|
55
|
+
export type ProcessIsolationCapability = "none" | "sandboxed";
|
|
56
|
+
export declare const RevocationCapabilitySchema: Type.TUnion<[Type.TLiteral<"admission-only">, Type.TLiteral<"per-mutation">, Type.TObject<{
|
|
57
|
+
mode: Type.TLiteral<"bounded-latency">;
|
|
58
|
+
maxLatencyMs: Type.TInteger;
|
|
59
|
+
}>]>;
|
|
60
|
+
export type RevocationCapability = "admission-only" | "per-mutation" | {
|
|
61
|
+
mode: "bounded-latency";
|
|
62
|
+
maxLatencyMs: number;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* P8 default capability package (wire-frozen values): resolution contained,
|
|
66
|
+
* mutationMediation brokered, revocation admission-only, processIsolation
|
|
67
|
+
* host-probe-derived (no baseline evidence ⇒ resolve-only ⇒ `none`).
|
|
68
|
+
*/
|
|
69
|
+
export declare const DEFAULT_ENFORCEMENT_CAPABILITIES: {
|
|
70
|
+
readonly resolution: "contained";
|
|
71
|
+
readonly mutationMediation: "brokered";
|
|
72
|
+
readonly processIsolation: "none";
|
|
73
|
+
readonly revocation: "admission-only";
|
|
74
|
+
};
|
|
75
|
+
export declare const EnforcementCapabilitiesSchema: Type.TObject<{
|
|
76
|
+
resolution: import("typebox").TUnsafe<string>;
|
|
77
|
+
mutationMediation: import("typebox").TUnsafe<string>;
|
|
78
|
+
processIsolation: import("typebox").TUnsafe<string>;
|
|
79
|
+
revocation: Type.TUnion<[Type.TLiteral<"admission-only">, Type.TLiteral<"per-mutation">, Type.TObject<{
|
|
80
|
+
mode: Type.TLiteral<"bounded-latency">;
|
|
81
|
+
maxLatencyMs: Type.TInteger;
|
|
82
|
+
}>]>;
|
|
83
|
+
baselinePolicyId: Type.TString;
|
|
84
|
+
hostProbeSha256: Type.TString;
|
|
85
|
+
}>;
|
|
86
|
+
export type EnforcementCapabilities = {
|
|
87
|
+
resolution: ResolutionCapability;
|
|
88
|
+
mutationMediation: MutationMediationCapability;
|
|
89
|
+
processIsolation: ProcessIsolationCapability;
|
|
90
|
+
revocation: RevocationCapability;
|
|
91
|
+
baselinePolicyId: string;
|
|
92
|
+
hostProbeSha256: string;
|
|
93
|
+
};
|
|
94
|
+
/** A flow requesting a capability 0.3-C does not offer → TF_FEATURE_REQUIRED. */
|
|
95
|
+
export declare function capabilityDemandsUnavailable(capabilities: Pick<EnforcementCapabilities, "resolution" | "mutationMediation" | "processIsolation" | "revocation">): boolean;
|
|
96
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAQ/B,eAAO,MAAM,mBAAmB;;;;EAO/B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5F,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;EAS9B,CAAC;AACF,MAAM,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,wBAAwB,EAAE,MAAM,CAAC;CACjC,CAAC;AAMF,eAAO,MAAM,0BAA0B,mCAAuC,CAAC;AAC/E,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,SAAS,CAAC;AAE3D,eAAO,MAAM,iCAAiC,mCAAmC,CAAC;AAClF,MAAM,MAAM,2BAA2B,GAAG,MAAM,GAAG,UAAU,CAAC;AAE9D,eAAO,MAAM,gCAAgC,mCAAoC,CAAC;AAClF,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,WAAW,CAAC;AAE9D,eAAO,MAAM,0BAA0B;;;IAUrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAC7B,gBAAgB,GAChB,cAAc,GACd;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,gCAAgC;aAC5C,UAAU,EAAE,WAAW;aACvB,iBAAiB,EAAE,UAAU;aAC7B,gBAAgB,EAAE,MAAM;aACxB,UAAU,EAAE,gBAAgB;CACnB,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;EAWzC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IACrC,UAAU,EAAE,oBAAoB,CAAC;IACjC,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,UAAU,EAAE,oBAAoB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,YAAY,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,YAAY,CAAC,GAAG,OAAO,CAMzK"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy + enforcement capability wire types (🟥 NEW).
|
|
3
|
+
*
|
|
4
|
+
* Decisions: P1/P2 (PolicyBundle with explicit inheritance + fail-closed empty
|
|
5
|
+
* baseline; authorizationContextHash records the decision), P8 (orthogonal
|
|
6
|
+
* EnforcementCapabilities bound to TE evidence surfaces; `unsupported` host
|
|
7
|
+
* probe fails closed; 0.3-C does not offer unbound / per-mutation).
|
|
8
|
+
*/
|
|
9
|
+
import { Type } from "typebox";
|
|
10
|
+
import { StringEnum } from "taskflow-core/typebox-helpers";
|
|
11
|
+
import { Sha256HexSchema } from "./common.js";
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// PolicyBundle (P1/P2)
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
export const PolicyCeilingSchema = Type.Object({
|
|
16
|
+
maxActiveRuns: Type.Optional(Type.Integer({ minimum: 1 })),
|
|
17
|
+
maxTokens: Type.Optional(Type.Integer({ minimum: 1 })),
|
|
18
|
+
maxUSD: Type.Optional(Type.Number({ minimum: 0 })),
|
|
19
|
+
}, { additionalProperties: false });
|
|
20
|
+
export const PolicyBundleSchema = Type.Object({
|
|
21
|
+
hostCeiling: PolicyCeilingSchema,
|
|
22
|
+
userCeiling: Type.Optional(PolicyCeilingSchema),
|
|
23
|
+
projectCeiling: Type.Optional(PolicyCeilingSchema),
|
|
24
|
+
invocationCeiling: Type.Optional(PolicyCeilingSchema),
|
|
25
|
+
authorizationContextHash: Sha256HexSchema,
|
|
26
|
+
}, { additionalProperties: false });
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// EnforcementCapabilities (P8) — four orthogonal dimensions + evidence
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
export const ResolutionCapabilitySchema = StringEnum(["contained", "unbound"]);
|
|
31
|
+
export const MutationMediationCapabilitySchema = StringEnum(["none", "brokered"]);
|
|
32
|
+
export const ProcessIsolationCapabilitySchema = StringEnum(["none", "sandboxed"]);
|
|
33
|
+
export const RevocationCapabilitySchema = Type.Union([
|
|
34
|
+
Type.Literal("admission-only"),
|
|
35
|
+
Type.Literal("per-mutation"),
|
|
36
|
+
Type.Object({
|
|
37
|
+
mode: Type.Literal("bounded-latency"),
|
|
38
|
+
maxLatencyMs: Type.Integer({ minimum: 1 }),
|
|
39
|
+
}, { additionalProperties: false }),
|
|
40
|
+
]);
|
|
41
|
+
/**
|
|
42
|
+
* P8 default capability package (wire-frozen values): resolution contained,
|
|
43
|
+
* mutationMediation brokered, revocation admission-only, processIsolation
|
|
44
|
+
* host-probe-derived (no baseline evidence ⇒ resolve-only ⇒ `none`).
|
|
45
|
+
*/
|
|
46
|
+
export const DEFAULT_ENFORCEMENT_CAPABILITIES = {
|
|
47
|
+
resolution: "contained",
|
|
48
|
+
mutationMediation: "brokered",
|
|
49
|
+
processIsolation: "none",
|
|
50
|
+
revocation: "admission-only",
|
|
51
|
+
};
|
|
52
|
+
export const EnforcementCapabilitiesSchema = Type.Object({
|
|
53
|
+
resolution: ResolutionCapabilitySchema,
|
|
54
|
+
mutationMediation: MutationMediationCapabilitySchema,
|
|
55
|
+
processIsolation: ProcessIsolationCapabilitySchema,
|
|
56
|
+
revocation: RevocationCapabilitySchema,
|
|
57
|
+
// Evidence provenance (P8): baseline policy + host probe digest.
|
|
58
|
+
baselinePolicyId: Type.String({ minLength: 1 }),
|
|
59
|
+
hostProbeSha256: Sha256HexSchema,
|
|
60
|
+
}, { additionalProperties: false });
|
|
61
|
+
/** A flow requesting a capability 0.3-C does not offer → TF_FEATURE_REQUIRED. */
|
|
62
|
+
export function capabilityDemandsUnavailable(capabilities) {
|
|
63
|
+
if (capabilities.resolution === "unbound")
|
|
64
|
+
return true;
|
|
65
|
+
if (capabilities.mutationMediation === "none")
|
|
66
|
+
return true;
|
|
67
|
+
if (capabilities.processIsolation === "sandboxed")
|
|
68
|
+
return true; // no approved host baseline in 0.3-C
|
|
69
|
+
if (capabilities.revocation !== "admission-only")
|
|
70
|
+
return true;
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAC7C;IACC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;CAClD,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAGF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAC5C;IACC,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAClD,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACrD,wBAAwB,EAAE,eAAe;CACzC,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AASF,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AAG/E,MAAM,CAAC,MAAM,iCAAiC,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAGlF,MAAM,CAAC,MAAM,gCAAgC,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAGlF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC;IACpD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IAC5B,IAAI,CAAC,MAAM,CACV;QACC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACrC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KAC1C,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B;CACD,CAAC,CAAC;AAMH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC/C,UAAU,EAAE,WAAW;IACvB,iBAAiB,EAAE,UAAU;IAC7B,gBAAgB,EAAE,MAAM;IACxB,UAAU,EAAE,gBAAgB;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC,MAAM,CACvD;IACC,UAAU,EAAE,0BAA0B;IACtC,iBAAiB,EAAE,iCAAiC;IACpD,gBAAgB,EAAE,gCAAgC;IAClD,UAAU,EAAE,0BAA0B;IACtC,iEAAiE;IACjE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC/C,eAAe,EAAE,eAAe;CAChC,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAUF,iFAAiF;AACjF,MAAM,UAAU,4BAA4B,CAAC,YAAmH;IAC/J,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,YAAY,CAAC,iBAAiB,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,YAAY,CAAC,gBAAgB,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC,CAAC,qCAAqC;IACrG,IAAI,YAAY,CAAC,UAAU,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run lifecycle wire types (🟥 NEW).
|
|
3
|
+
*
|
|
4
|
+
* Decisions: P5 — RunStatus and RunStage are independent closed enums; only
|
|
5
|
+
* `completed | failed | blocked | cancelled` are terminal; `unknown` is
|
|
6
|
+
* non-terminal (D33); RunSnapshot carries status + stage + slot + operator flag.
|
|
7
|
+
*/
|
|
8
|
+
import { Type } from "typebox";
|
|
9
|
+
import { type ExecutionOwner } from "./te-mirrors.ts";
|
|
10
|
+
export declare const RunStatusSchema: import("typebox").TUnsafe<string>;
|
|
11
|
+
export type RunStatus = "running" | "completed" | "failed" | "paused" | "blocked" | "cancelled" | "unknown";
|
|
12
|
+
export declare const TERMINAL_RUN_STATUSES: readonly RunStatus[];
|
|
13
|
+
export declare function isTerminalRunStatus(status: RunStatus): boolean;
|
|
14
|
+
export declare const RunStageSchema: import("typebox").TUnsafe<string>;
|
|
15
|
+
export type RunStage = "received" | "compiled" | "linked" | "queued" | "admitted" | "executing" | "parked" | "reconciling" | "terminal";
|
|
16
|
+
/** Slot state per P16 — how the reservation contributes to maxActiveRuns. */
|
|
17
|
+
export declare const RunSlotStateSchema: import("typebox").TUnsafe<string>;
|
|
18
|
+
export type RunSlotState = "none" | "reserved" | "committed" | "orphan-suspect" | "released";
|
|
19
|
+
export declare const RunSnapshotSchema: Type.TObject<{
|
|
20
|
+
runId: Type.TString;
|
|
21
|
+
projectId: Type.TString;
|
|
22
|
+
controlDomainId: Type.TString;
|
|
23
|
+
status: import("typebox").TUnsafe<string>;
|
|
24
|
+
stage: import("typebox").TUnsafe<string>;
|
|
25
|
+
slot: import("typebox").TUnsafe<string>;
|
|
26
|
+
needsOperator: Type.TBoolean;
|
|
27
|
+
runVersion: Type.TInteger;
|
|
28
|
+
boundPlanHash: Type.TOptional<Type.TString>;
|
|
29
|
+
boundFragmentHash: Type.TOptional<Type.TString>;
|
|
30
|
+
reservationId: Type.TOptional<Type.TString>;
|
|
31
|
+
owner: Type.TOptional<Type.TObject<{
|
|
32
|
+
runId: Type.TString;
|
|
33
|
+
phaseId: Type.TString;
|
|
34
|
+
attemptId: Type.TString;
|
|
35
|
+
unitId: Type.TString;
|
|
36
|
+
ancestry: Type.TArray<Type.TString>;
|
|
37
|
+
}>>;
|
|
38
|
+
policyHash: Type.TOptional<Type.TString>;
|
|
39
|
+
authorityEpoch: Type.TOptional<Type.TInteger>;
|
|
40
|
+
requiresReadmission: Type.TOptional<Type.TBoolean>;
|
|
41
|
+
projectAdmitCommitSeq: Type.TOptional<Type.TInteger>;
|
|
42
|
+
}>;
|
|
43
|
+
export type RunSnapshot = {
|
|
44
|
+
runId: string;
|
|
45
|
+
projectId: string;
|
|
46
|
+
controlDomainId: string;
|
|
47
|
+
status: RunStatus;
|
|
48
|
+
stage: RunStage;
|
|
49
|
+
slot: RunSlotState;
|
|
50
|
+
needsOperator: boolean;
|
|
51
|
+
runVersion: number;
|
|
52
|
+
boundPlanHash?: string;
|
|
53
|
+
boundFragmentHash?: string;
|
|
54
|
+
reservationId?: string;
|
|
55
|
+
owner?: ExecutionOwner;
|
|
56
|
+
policyHash?: string;
|
|
57
|
+
authorityEpoch?: number;
|
|
58
|
+
requiresReadmission?: boolean;
|
|
59
|
+
projectAdmitCommitSeq?: number;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE5E,eAAO,MAAM,eAAe,mCAQ1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAE5G,eAAO,MAAM,qBAAqB,EAAE,SAAS,SAAS,EAAoD,CAAC;AAE3G,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAE9D;AAED,eAAO,MAAM,cAAc,mCAUzB,CAAC;AACH,MAAM,MAAM,QAAQ,GACjB,UAAU,GACV,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,UAAU,CAAC;AAEd,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,mCAA8E,CAAC;AAC9G,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,gBAAgB,GAAG,UAAU,CAAC;AAE7F,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;EAoB7B,CAAC;AACF,MAAM,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run lifecycle wire types (🟥 NEW).
|
|
3
|
+
*
|
|
4
|
+
* Decisions: P5 — RunStatus and RunStage are independent closed enums; only
|
|
5
|
+
* `completed | failed | blocked | cancelled` are terminal; `unknown` is
|
|
6
|
+
* non-terminal (D33); RunSnapshot carries status + stage + slot + operator flag.
|
|
7
|
+
*/
|
|
8
|
+
import { Type } from "typebox";
|
|
9
|
+
import { StringEnum } from "taskflow-core/typebox-helpers";
|
|
10
|
+
import { UuidSchema, Sha256HexSchema } from "./common.js";
|
|
11
|
+
import { ExecutionOwnerSchema } from "./te-mirrors.js";
|
|
12
|
+
export const RunStatusSchema = StringEnum([
|
|
13
|
+
"running",
|
|
14
|
+
"completed",
|
|
15
|
+
"failed",
|
|
16
|
+
"paused",
|
|
17
|
+
"blocked",
|
|
18
|
+
"cancelled",
|
|
19
|
+
"unknown",
|
|
20
|
+
]);
|
|
21
|
+
export const TERMINAL_RUN_STATUSES = ["completed", "failed", "blocked", "cancelled"];
|
|
22
|
+
export function isTerminalRunStatus(status) {
|
|
23
|
+
return TERMINAL_RUN_STATUSES.includes(status);
|
|
24
|
+
}
|
|
25
|
+
export const RunStageSchema = StringEnum([
|
|
26
|
+
"received",
|
|
27
|
+
"compiled",
|
|
28
|
+
"linked",
|
|
29
|
+
"queued",
|
|
30
|
+
"admitted",
|
|
31
|
+
"executing",
|
|
32
|
+
"parked",
|
|
33
|
+
"reconciling",
|
|
34
|
+
"terminal",
|
|
35
|
+
]);
|
|
36
|
+
/** Slot state per P16 — how the reservation contributes to maxActiveRuns. */
|
|
37
|
+
export const RunSlotStateSchema = StringEnum(["none", "reserved", "committed", "orphan-suspect", "released"]);
|
|
38
|
+
export const RunSnapshotSchema = Type.Object({
|
|
39
|
+
runId: UuidSchema,
|
|
40
|
+
projectId: UuidSchema,
|
|
41
|
+
controlDomainId: UuidSchema,
|
|
42
|
+
status: RunStatusSchema,
|
|
43
|
+
stage: RunStageSchema,
|
|
44
|
+
slot: RunSlotStateSchema,
|
|
45
|
+
needsOperator: Type.Boolean(),
|
|
46
|
+
runVersion: Type.Integer({ minimum: 0 }),
|
|
47
|
+
boundPlanHash: Type.Optional(Type.String({ minLength: 1 })),
|
|
48
|
+
boundFragmentHash: Type.Optional(Type.String({ minLength: 1 })),
|
|
49
|
+
reservationId: Type.Optional(UuidSchema),
|
|
50
|
+
owner: Type.Optional(ExecutionOwnerSchema),
|
|
51
|
+
policyHash: Type.Optional(Sha256HexSchema),
|
|
52
|
+
authorityEpoch: Type.Optional(Type.Integer({ minimum: 0 })),
|
|
53
|
+
requiresReadmission: Type.Optional(Type.Boolean()),
|
|
54
|
+
projectAdmitCommitSeq: Type.Optional(Type.Integer({ minimum: 1 })),
|
|
55
|
+
}, { additionalProperties: false });
|
|
56
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAuB,MAAM,iBAAiB,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACzC,SAAS;IACT,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,SAAS;CACT,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAyB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAE3G,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACpD,OAAQ,qBAA2C,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACxC,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,WAAW;IACX,QAAQ;IACR,aAAa;IACb,UAAU;CACV,CAAC,CAAC;AAYH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;AAG9G,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAC3C;IACC,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,UAAU;IACrB,eAAe,EAAE,UAAU;IAC3B,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,kBAAkB;IACxB,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE;IAC7B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACxC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/D,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IACxC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC1C,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC1C,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAClD,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;CAClE,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TE wire mirrors (🟩 REUSE per wire-freeze §3.1).
|
|
3
|
+
*
|
|
4
|
+
* The wire-freeze reuses eleven Trusted Effects shapes. Most of them are
|
|
5
|
+
* importable from `taskflow-core`'s package surface (`effects/*`, `flowir/*`);
|
|
6
|
+
* the `resources/*` shapes are deliberately NOT exported by taskflow-core
|
|
7
|
+
* (the workspace-capability freeze blocks `taskflow-core/resources/*` — see
|
|
8
|
+
* scripts/smoke-packed-packages.mjs), so this module carries closed TypeBox
|
|
9
|
+
* mirrors of exactly those shapes. TE remains the authority that produces and
|
|
10
|
+
* consumes these values; 0.3-C only references them as evidence.
|
|
11
|
+
*
|
|
12
|
+
* Mirrors are kept field-for-field identical to the TE interfaces; any drift
|
|
13
|
+
* fails the closed-contract tests in this package.
|
|
14
|
+
*/
|
|
15
|
+
import { Type, type Static } from "typebox";
|
|
16
|
+
export declare const WorkspaceAccessSchema: Type.TUnion<[Type.TLiteral<"read-only">, Type.TLiteral<"read-write">]>;
|
|
17
|
+
export type WorkspaceAccess = "read-only" | "read-write";
|
|
18
|
+
export declare const PathIntentSchema: Type.TUnion<[Type.TLiteral<"existing-file">, Type.TLiteral<"existing-directory">, Type.TLiteral<"create-file">, Type.TLiteral<"create-directory">, Type.TLiteral<"executable">]>;
|
|
19
|
+
export type PathIntent = "existing-file" | "existing-directory" | "create-file" | "create-directory" | "executable";
|
|
20
|
+
export declare const PathRefSchema: Type.TUnion<[Type.TObject<{
|
|
21
|
+
subpath: Type.TOptional<Type.TUnion<[Type.TObject<{
|
|
22
|
+
literalPath: Type.TString;
|
|
23
|
+
argPath: Type.TOptional<Type.TNever>;
|
|
24
|
+
segments: Type.TOptional<Type.TNever>;
|
|
25
|
+
}>, Type.TObject<{
|
|
26
|
+
argPath: Type.TString;
|
|
27
|
+
literalPath: Type.TOptional<Type.TNever>;
|
|
28
|
+
segments: Type.TOptional<Type.TNever>;
|
|
29
|
+
}>, Type.TObject<{
|
|
30
|
+
segments: Type.TArray<Type.TUnion<[Type.TObject<{
|
|
31
|
+
segment: Type.TString;
|
|
32
|
+
argSegment: Type.TOptional<Type.TNever>;
|
|
33
|
+
}>, Type.TObject<{
|
|
34
|
+
argSegment: Type.TString;
|
|
35
|
+
segment: Type.TOptional<Type.TNever>;
|
|
36
|
+
}>]>>;
|
|
37
|
+
literalPath: Type.TOptional<Type.TNever>;
|
|
38
|
+
argPath: Type.TOptional<Type.TNever>;
|
|
39
|
+
}>]>>;
|
|
40
|
+
access: Type.TOptional<Type.TUnion<[Type.TLiteral<"read-only">, Type.TLiteral<"read-write">]>>;
|
|
41
|
+
maxLifetime: Type.TOptional<Type.TUnion<Type.TObject<{
|
|
42
|
+
scope: Type.TLiteral<"external" | "phase" | "run">;
|
|
43
|
+
}>[]>>;
|
|
44
|
+
intent: Type.TUnion<[Type.TLiteral<"existing-file">, Type.TLiteral<"existing-directory">, Type.TLiteral<"create-file">, Type.TLiteral<"create-directory">, Type.TLiteral<"executable">]>;
|
|
45
|
+
workspace: Type.TString;
|
|
46
|
+
handle: Type.TOptional<Type.TNever>;
|
|
47
|
+
}>, Type.TObject<{
|
|
48
|
+
subpath: Type.TOptional<Type.TUnion<[Type.TObject<{
|
|
49
|
+
literalPath: Type.TString;
|
|
50
|
+
argPath: Type.TOptional<Type.TNever>;
|
|
51
|
+
segments: Type.TOptional<Type.TNever>;
|
|
52
|
+
}>, Type.TObject<{
|
|
53
|
+
argPath: Type.TString;
|
|
54
|
+
literalPath: Type.TOptional<Type.TNever>;
|
|
55
|
+
segments: Type.TOptional<Type.TNever>;
|
|
56
|
+
}>, Type.TObject<{
|
|
57
|
+
segments: Type.TArray<Type.TUnion<[Type.TObject<{
|
|
58
|
+
segment: Type.TString;
|
|
59
|
+
argSegment: Type.TOptional<Type.TNever>;
|
|
60
|
+
}>, Type.TObject<{
|
|
61
|
+
argSegment: Type.TString;
|
|
62
|
+
segment: Type.TOptional<Type.TNever>;
|
|
63
|
+
}>]>>;
|
|
64
|
+
literalPath: Type.TOptional<Type.TNever>;
|
|
65
|
+
argPath: Type.TOptional<Type.TNever>;
|
|
66
|
+
}>]>>;
|
|
67
|
+
access: Type.TOptional<Type.TUnion<[Type.TLiteral<"read-only">, Type.TLiteral<"read-write">]>>;
|
|
68
|
+
maxLifetime: Type.TOptional<Type.TUnion<Type.TObject<{
|
|
69
|
+
scope: Type.TLiteral<"external" | "phase" | "run">;
|
|
70
|
+
}>[]>>;
|
|
71
|
+
intent: Type.TUnion<[Type.TLiteral<"existing-file">, Type.TLiteral<"existing-directory">, Type.TLiteral<"create-file">, Type.TLiteral<"create-directory">, Type.TLiteral<"executable">]>;
|
|
72
|
+
handle: Type.TObject<{
|
|
73
|
+
producerPhaseId: Type.TString;
|
|
74
|
+
exportName: Type.TString;
|
|
75
|
+
}>;
|
|
76
|
+
workspace: Type.TOptional<Type.TNever>;
|
|
77
|
+
}>]>;
|
|
78
|
+
export type PathRef = Static<typeof PathRefSchema>;
|
|
79
|
+
export declare const BoundCapabilityLifetimeSchema: Type.TUnion<[Type.TObject<{
|
|
80
|
+
scope: Type.TLiteral<"phase">;
|
|
81
|
+
runId: Type.TString;
|
|
82
|
+
phaseId: Type.TString;
|
|
83
|
+
attemptId: Type.TString;
|
|
84
|
+
}>, Type.TObject<{
|
|
85
|
+
scope: Type.TLiteral<"run">;
|
|
86
|
+
runId: Type.TString;
|
|
87
|
+
}>, Type.TObject<{
|
|
88
|
+
scope: Type.TLiteral<"external">;
|
|
89
|
+
bindingId: Type.TString;
|
|
90
|
+
providerInstanceId: Type.TOptional<Type.TString>;
|
|
91
|
+
}>]>;
|
|
92
|
+
export type BoundCapabilityLifetime = Static<typeof BoundCapabilityLifetimeSchema>;
|
|
93
|
+
export declare const ExecutionOwnerSchema: Type.TObject<{
|
|
94
|
+
runId: Type.TString;
|
|
95
|
+
phaseId: Type.TString;
|
|
96
|
+
attemptId: Type.TString;
|
|
97
|
+
unitId: Type.TString;
|
|
98
|
+
ancestry: Type.TArray<Type.TString>;
|
|
99
|
+
}>;
|
|
100
|
+
export type ExecutionOwner = Static<typeof ExecutionOwnerSchema>;
|
|
101
|
+
export declare const ScopedContentEvidenceSchema: Type.TObject<{
|
|
102
|
+
canonicalPrefix: Type.TString;
|
|
103
|
+
scopeDigest: Type.TString;
|
|
104
|
+
effectId: Type.TOptional<Type.TString>;
|
|
105
|
+
capabilityBindingId: Type.TOptional<Type.TString>;
|
|
106
|
+
beforeContentId: Type.TOptional<Type.TString>;
|
|
107
|
+
afterContentId: Type.TOptional<Type.TString>;
|
|
108
|
+
}>;
|
|
109
|
+
export declare const WriteIntentStatusSchema: import("typebox").TUnsafe<string>;
|
|
110
|
+
export type WriteIntentStatus = "pending" | "committed-content" | "committed-generation" | "aborted-restored" | "dirty-unknown" | "reconciled";
|
|
111
|
+
export declare const WriteIntentRecordSchema: Type.TObject<{
|
|
112
|
+
journalVersion: Type.TLiteral<1>;
|
|
113
|
+
intentId: Type.TString;
|
|
114
|
+
resourceDomainId: Type.TString;
|
|
115
|
+
providerInstanceId: Type.TOptional<Type.TString>;
|
|
116
|
+
scopes: Type.TArray<Type.TObject<{
|
|
117
|
+
canonicalPrefix: Type.TString;
|
|
118
|
+
scopeDigest: Type.TString;
|
|
119
|
+
effectId: Type.TOptional<Type.TString>;
|
|
120
|
+
capabilityBindingId: Type.TOptional<Type.TString>;
|
|
121
|
+
beforeContentId: Type.TOptional<Type.TString>;
|
|
122
|
+
afterContentId: Type.TOptional<Type.TString>;
|
|
123
|
+
}>>;
|
|
124
|
+
owner: Type.TObject<{
|
|
125
|
+
runId: Type.TString;
|
|
126
|
+
phaseId: Type.TString;
|
|
127
|
+
attemptId: Type.TString;
|
|
128
|
+
unitId: Type.TString;
|
|
129
|
+
ancestry: Type.TArray<Type.TString>;
|
|
130
|
+
}>;
|
|
131
|
+
beforeGeneration: Type.TInteger;
|
|
132
|
+
intentSequence: Type.TInteger;
|
|
133
|
+
commitGeneration: Type.TOptional<Type.TInteger>;
|
|
134
|
+
journalEpoch: Type.TInteger;
|
|
135
|
+
commitMode: import("typebox").TUnsafe<string>;
|
|
136
|
+
externalMutation: import("typebox").TUnsafe<string>;
|
|
137
|
+
status: import("typebox").TUnsafe<string>;
|
|
138
|
+
restorableSnapshotArtifactIds: Type.TOptional<Type.TArray<Type.TString>>;
|
|
139
|
+
terminalReason: Type.TOptional<Type.TString>;
|
|
140
|
+
authorizationPrincipalId: Type.TOptional<Type.TString>;
|
|
141
|
+
authorizationScopeRoot: Type.TOptional<Type.TString>;
|
|
142
|
+
}>;
|
|
143
|
+
export declare const HostProbeClassificationSchema: import("typebox").TUnsafe<string>;
|
|
144
|
+
export type HostProbeClassification = "sandboxed-single-root" | "sandboxed-multi-root" | "resolve-only" | "unsupported";
|
|
145
|
+
//# sourceMappingURL=te-mirrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"te-mirrors.d.ts","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/te-mirrors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAO5C,eAAO,MAAM,qBAAqB,wEAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,CAAC;AAEzD,eAAO,MAAM,gBAAgB,kLAM3B,CAAC;AACH,MAAM,MAAM,UAAU,GACnB,eAAe,GACf,oBAAoB,GACpB,aAAa,GACb,kBAAkB,GAClB,YAAY,CAAC;AAuDhB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAMnD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;IAsBxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAMnF,eAAO,MAAM,oBAAoB;;;;;;EAShC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMjE,eAAO,MAAM,2BAA2B;;;;;;;EAUvC,CAAC;AAMF,eAAO,MAAM,uBAAuB,mCAOlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAC1B,SAAS,GACT,mBAAmB,GACnB,sBAAsB,GACtB,kBAAkB,GAClB,eAAe,GACf,YAAY,CAAC;AAEhB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBnC,CAAC;AAMF,eAAO,MAAM,6BAA6B,mCAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAChC,uBAAuB,GACvB,sBAAsB,GACtB,cAAc,GACd,aAAa,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TE wire mirrors (🟩 REUSE per wire-freeze §3.1).
|
|
3
|
+
*
|
|
4
|
+
* The wire-freeze reuses eleven Trusted Effects shapes. Most of them are
|
|
5
|
+
* importable from `taskflow-core`'s package surface (`effects/*`, `flowir/*`);
|
|
6
|
+
* the `resources/*` shapes are deliberately NOT exported by taskflow-core
|
|
7
|
+
* (the workspace-capability freeze blocks `taskflow-core/resources/*` — see
|
|
8
|
+
* scripts/smoke-packed-packages.mjs), so this module carries closed TypeBox
|
|
9
|
+
* mirrors of exactly those shapes. TE remains the authority that produces and
|
|
10
|
+
* consumes these values; 0.3-C only references them as evidence.
|
|
11
|
+
*
|
|
12
|
+
* Mirrors are kept field-for-field identical to the TE interfaces; any drift
|
|
13
|
+
* fails the closed-contract tests in this package.
|
|
14
|
+
*/
|
|
15
|
+
import { Type } from "typebox";
|
|
16
|
+
import { StringEnum } from "taskflow-core/typebox-helpers";
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// PathRef (resources/schema.ts) — literalPath/argPath/segments + PathIntent
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
export const WorkspaceAccessSchema = Type.Union([
|
|
21
|
+
Type.Literal("read-only"),
|
|
22
|
+
Type.Literal("read-write"),
|
|
23
|
+
]);
|
|
24
|
+
export const PathIntentSchema = Type.Union([
|
|
25
|
+
Type.Literal("existing-file"),
|
|
26
|
+
Type.Literal("existing-directory"),
|
|
27
|
+
Type.Literal("create-file"),
|
|
28
|
+
Type.Literal("create-directory"),
|
|
29
|
+
Type.Literal("executable"),
|
|
30
|
+
]);
|
|
31
|
+
const LiteralPathExprSchema = Type.Object({
|
|
32
|
+
literalPath: Type.String({ minLength: 1 }),
|
|
33
|
+
argPath: Type.Optional(Type.Never()),
|
|
34
|
+
segments: Type.Optional(Type.Never()),
|
|
35
|
+
}, { additionalProperties: false });
|
|
36
|
+
const ArgPathExprSchema = Type.Object({
|
|
37
|
+
argPath: Type.String({ minLength: 1 }),
|
|
38
|
+
literalPath: Type.Optional(Type.Never()),
|
|
39
|
+
segments: Type.Optional(Type.Never()),
|
|
40
|
+
}, { additionalProperties: false });
|
|
41
|
+
const SegmentExprSchema = Type.Union([
|
|
42
|
+
Type.Object({ segment: Type.String({ minLength: 1 }), argSegment: Type.Optional(Type.Never()) }, { additionalProperties: false }),
|
|
43
|
+
Type.Object({ argSegment: Type.String({ minLength: 1 }), segment: Type.Optional(Type.Never()) }, { additionalProperties: false }),
|
|
44
|
+
]);
|
|
45
|
+
const SegmentsExprSchema = Type.Object({
|
|
46
|
+
segments: Type.Array(SegmentExprSchema, { minItems: 1 }),
|
|
47
|
+
literalPath: Type.Optional(Type.Never()),
|
|
48
|
+
argPath: Type.Optional(Type.Never()),
|
|
49
|
+
}, { additionalProperties: false });
|
|
50
|
+
const RelativePathExprSchema = Type.Union([LiteralPathExprSchema, ArgPathExprSchema, SegmentsExprSchema]);
|
|
51
|
+
const pathRefBase = {
|
|
52
|
+
subpath: Type.Optional(RelativePathExprSchema),
|
|
53
|
+
access: Type.Optional(WorkspaceAccessSchema),
|
|
54
|
+
maxLifetime: Type.Optional(Type.Union(["phase", "run", "external"].map((scope) => Type.Object({ scope: Type.Literal(scope) }, { additionalProperties: false })))),
|
|
55
|
+
intent: PathIntentSchema,
|
|
56
|
+
};
|
|
57
|
+
export const PathRefSchema = Type.Union([
|
|
58
|
+
Type.Object({ ...pathRefBase, workspace: Type.String({ minLength: 1 }), handle: Type.Optional(Type.Never()) }, { additionalProperties: false }),
|
|
59
|
+
Type.Object({
|
|
60
|
+
...pathRefBase,
|
|
61
|
+
handle: Type.Object({
|
|
62
|
+
producerPhaseId: Type.String({ minLength: 1 }),
|
|
63
|
+
exportName: Type.String({ minLength: 1 }),
|
|
64
|
+
}, { additionalProperties: false }),
|
|
65
|
+
workspace: Type.Optional(Type.Never()),
|
|
66
|
+
}, { additionalProperties: false }),
|
|
67
|
+
]);
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
// BoundCapabilityLifetime (resources/schema.ts)
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
export const BoundCapabilityLifetimeSchema = Type.Union([
|
|
72
|
+
Type.Object({
|
|
73
|
+
scope: Type.Literal("phase"),
|
|
74
|
+
runId: Type.String({ minLength: 1 }),
|
|
75
|
+
phaseId: Type.String({ minLength: 1 }),
|
|
76
|
+
attemptId: Type.String({ minLength: 1 }),
|
|
77
|
+
}, { additionalProperties: false }),
|
|
78
|
+
Type.Object({ scope: Type.Literal("run"), runId: Type.String({ minLength: 1 }) }, { additionalProperties: false }),
|
|
79
|
+
Type.Object({
|
|
80
|
+
scope: Type.Literal("external"),
|
|
81
|
+
bindingId: Type.String({ minLength: 1 }),
|
|
82
|
+
providerInstanceId: Type.Optional(Type.String({ minLength: 1 })),
|
|
83
|
+
}, { additionalProperties: false }),
|
|
84
|
+
]);
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
// ExecutionOwner (resources/types.ts)
|
|
87
|
+
// ---------------------------------------------------------------------------
|
|
88
|
+
export const ExecutionOwnerSchema = Type.Object({
|
|
89
|
+
runId: Type.String({ minLength: 1 }),
|
|
90
|
+
phaseId: Type.String({ minLength: 1 }),
|
|
91
|
+
attemptId: Type.String({ minLength: 1 }),
|
|
92
|
+
unitId: Type.String({ minLength: 1 }),
|
|
93
|
+
ancestry: Type.Array(Type.String()),
|
|
94
|
+
}, { additionalProperties: false });
|
|
95
|
+
// ---------------------------------------------------------------------------
|
|
96
|
+
// ScopedContentEvidence (resources/types.ts)
|
|
97
|
+
// ---------------------------------------------------------------------------
|
|
98
|
+
export const ScopedContentEvidenceSchema = Type.Object({
|
|
99
|
+
canonicalPrefix: Type.String({ minLength: 1 }),
|
|
100
|
+
scopeDigest: Type.String({ minLength: 1 }),
|
|
101
|
+
effectId: Type.Optional(Type.String({ minLength: 1 })),
|
|
102
|
+
capabilityBindingId: Type.Optional(Type.String({ minLength: 1 })),
|
|
103
|
+
beforeContentId: Type.Optional(Type.String({ minLength: 1 })),
|
|
104
|
+
afterContentId: Type.Optional(Type.String({ minLength: 1 })),
|
|
105
|
+
}, { additionalProperties: false });
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// WriteIntentRecord / WriteIntentStatus (resources/journal.ts)
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
export const WriteIntentStatusSchema = StringEnum([
|
|
110
|
+
"pending",
|
|
111
|
+
"committed-content",
|
|
112
|
+
"committed-generation",
|
|
113
|
+
"aborted-restored",
|
|
114
|
+
"dirty-unknown",
|
|
115
|
+
"reconciled",
|
|
116
|
+
]);
|
|
117
|
+
export const WriteIntentRecordSchema = Type.Object({
|
|
118
|
+
journalVersion: Type.Literal(1),
|
|
119
|
+
intentId: Type.String({ minLength: 1 }),
|
|
120
|
+
resourceDomainId: Type.String({ minLength: 1 }),
|
|
121
|
+
providerInstanceId: Type.Optional(Type.String({ minLength: 1 })),
|
|
122
|
+
scopes: Type.Array(ScopedContentEvidenceSchema),
|
|
123
|
+
owner: ExecutionOwnerSchema,
|
|
124
|
+
beforeGeneration: Type.Integer({ minimum: 0 }),
|
|
125
|
+
intentSequence: Type.Integer({ minimum: 1 }),
|
|
126
|
+
commitGeneration: Type.Optional(Type.Integer({ minimum: 0 })),
|
|
127
|
+
journalEpoch: Type.Integer({ minimum: 1 }),
|
|
128
|
+
commitMode: StringEnum(["content-snapshot", "generation-only", "unavailable"]),
|
|
129
|
+
externalMutation: StringEnum(["taskflow-managed", "externally-mutable"]),
|
|
130
|
+
status: WriteIntentStatusSchema,
|
|
131
|
+
restorableSnapshotArtifactIds: Type.Optional(Type.Array(Type.String({ minLength: 1 }))),
|
|
132
|
+
terminalReason: Type.Optional(Type.String()),
|
|
133
|
+
authorizationPrincipalId: Type.Optional(Type.String({ minLength: 1 })),
|
|
134
|
+
authorizationScopeRoot: Type.Optional(Type.String({ minLength: 1 })),
|
|
135
|
+
}, { additionalProperties: false });
|
|
136
|
+
// ---------------------------------------------------------------------------
|
|
137
|
+
// HostProbeClassification (resources/baseline.ts) — enforcement evidence
|
|
138
|
+
// ---------------------------------------------------------------------------
|
|
139
|
+
export const HostProbeClassificationSchema = StringEnum([
|
|
140
|
+
"sandboxed-single-root",
|
|
141
|
+
"sandboxed-multi-root",
|
|
142
|
+
"resolve-only",
|
|
143
|
+
"unsupported",
|
|
144
|
+
]);
|
|
145
|
+
//# sourceMappingURL=te-mirrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"te-mirrors.js","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/te-mirrors.ts"],"names":[],"mappings":"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"}
|