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.
Files changed (185) hide show
  1. package/CONTROL_GUIDE.md +113 -0
  2. package/README.md +34 -25
  3. package/dist/control/admission-service.d.ts +15 -0
  4. package/dist/control/admission-service.d.ts.map +1 -0
  5. package/dist/control/admission-service.js +64 -0
  6. package/dist/control/admission-service.js.map +1 -0
  7. package/dist/control/approval-edits.d.ts +12 -0
  8. package/dist/control/approval-edits.d.ts.map +1 -0
  9. package/dist/control/approval-edits.js +66 -0
  10. package/dist/control/approval-edits.js.map +1 -0
  11. package/dist/control/approval-service.d.ts +173 -0
  12. package/dist/control/approval-service.d.ts.map +1 -0
  13. package/dist/control/approval-service.js +342 -0
  14. package/dist/control/approval-service.js.map +1 -0
  15. package/dist/control/authorization.d.ts +94 -0
  16. package/dist/control/authorization.d.ts.map +1 -0
  17. package/dist/control/authorization.js +302 -0
  18. package/dist/control/authorization.js.map +1 -0
  19. package/dist/control/control-cli.d.ts +3 -0
  20. package/dist/control/control-cli.d.ts.map +1 -0
  21. package/dist/control/control-cli.js +279 -0
  22. package/dist/control/control-cli.js.map +1 -0
  23. package/dist/control/control-console.d.ts +17 -0
  24. package/dist/control/control-console.d.ts.map +1 -0
  25. package/dist/control/control-console.js +67 -0
  26. package/dist/control/control-console.js.map +1 -0
  27. package/dist/control/control-host.d.ts +98 -0
  28. package/dist/control/control-host.d.ts.map +1 -0
  29. package/dist/control/control-host.js +459 -0
  30. package/dist/control/control-host.js.map +1 -0
  31. package/dist/control/control-mcp.d.ts +11 -0
  32. package/dist/control/control-mcp.d.ts.map +1 -0
  33. package/dist/control/control-mcp.js +78 -0
  34. package/dist/control/control-mcp.js.map +1 -0
  35. package/dist/control/errors.d.ts +44 -0
  36. package/dist/control/errors.d.ts.map +1 -0
  37. package/dist/control/errors.js +93 -0
  38. package/dist/control/errors.js.map +1 -0
  39. package/dist/control/hello.d.ts +39 -0
  40. package/dist/control/hello.d.ts.map +1 -0
  41. package/dist/control/hello.js +80 -0
  42. package/dist/control/hello.js.map +1 -0
  43. package/dist/control/host-runtime.d.ts +32 -0
  44. package/dist/control/host-runtime.d.ts.map +1 -0
  45. package/dist/control/host-runtime.js +542 -0
  46. package/dist/control/host-runtime.js.map +1 -0
  47. package/dist/control/index.d.ts +32 -0
  48. package/dist/control/index.d.ts.map +1 -0
  49. package/dist/control/index.js +32 -0
  50. package/dist/control/index.js.map +1 -0
  51. package/dist/control/legacy-conflict.d.ts +19 -0
  52. package/dist/control/legacy-conflict.d.ts.map +1 -0
  53. package/dist/control/legacy-conflict.js +176 -0
  54. package/dist/control/legacy-conflict.js.map +1 -0
  55. package/dist/control/local-bootstrap.d.ts +21 -0
  56. package/dist/control/local-bootstrap.d.ts.map +1 -0
  57. package/dist/control/local-bootstrap.js +224 -0
  58. package/dist/control/local-bootstrap.js.map +1 -0
  59. package/dist/control/modes.d.ts +60 -0
  60. package/dist/control/modes.d.ts.map +1 -0
  61. package/dist/control/modes.js +86 -0
  62. package/dist/control/modes.js.map +1 -0
  63. package/dist/control/project-admin-cli.d.ts +3 -0
  64. package/dist/control/project-admin-cli.d.ts.map +1 -0
  65. package/dist/control/project-admin-cli.js +155 -0
  66. package/dist/control/project-admin-cli.js.map +1 -0
  67. package/dist/control/project-registry.d.ts +20 -0
  68. package/dist/control/project-registry.d.ts.map +1 -0
  69. package/dist/control/project-registry.js +181 -0
  70. package/dist/control/project-registry.js.map +1 -0
  71. package/dist/control/runtime-checkpoint.d.ts +11 -0
  72. package/dist/control/runtime-checkpoint.d.ts.map +1 -0
  73. package/dist/control/runtime-checkpoint.js +39 -0
  74. package/dist/control/runtime-checkpoint.js.map +1 -0
  75. package/dist/control/runtime-provider.d.ts +100 -0
  76. package/dist/control/runtime-provider.d.ts.map +1 -0
  77. package/dist/control/runtime-provider.js +258 -0
  78. package/dist/control/runtime-provider.js.map +1 -0
  79. package/dist/control/schema/approval.d.ts +108 -0
  80. package/dist/control/schema/approval.d.ts.map +1 -0
  81. package/dist/control/schema/approval.js +65 -0
  82. package/dist/control/schema/approval.js.map +1 -0
  83. package/dist/control/schema/commands.d.ts +663 -0
  84. package/dist/control/schema/commands.d.ts.map +1 -0
  85. package/dist/control/schema/commands.js +147 -0
  86. package/dist/control/schema/commands.js.map +1 -0
  87. package/dist/control/schema/common.d.ts +24 -0
  88. package/dist/control/schema/common.d.ts.map +1 -0
  89. package/dist/control/schema/common.js +38 -0
  90. package/dist/control/schema/common.js.map +1 -0
  91. package/dist/control/schema/coordinator.d.ts +98 -0
  92. package/dist/control/schema/coordinator.d.ts.map +1 -0
  93. package/dist/control/schema/coordinator.js +87 -0
  94. package/dist/control/schema/coordinator.js.map +1 -0
  95. package/dist/control/schema/evidence.d.ts +140 -0
  96. package/dist/control/schema/evidence.d.ts.map +1 -0
  97. package/dist/control/schema/evidence.js +64 -0
  98. package/dist/control/schema/evidence.js.map +1 -0
  99. package/dist/control/schema/header.d.ts +79 -0
  100. package/dist/control/schema/header.d.ts.map +1 -0
  101. package/dist/control/schema/header.js +66 -0
  102. package/dist/control/schema/header.js.map +1 -0
  103. package/dist/control/schema/index.d.ts +31 -0
  104. package/dist/control/schema/index.d.ts.map +1 -0
  105. package/dist/control/schema/index.js +31 -0
  106. package/dist/control/schema/index.js.map +1 -0
  107. package/dist/control/schema/plan.d.ts +291 -0
  108. package/dist/control/schema/plan.d.ts.map +1 -0
  109. package/dist/control/schema/plan.js +80 -0
  110. package/dist/control/schema/plan.js.map +1 -0
  111. package/dist/control/schema/policy.d.ts +96 -0
  112. package/dist/control/schema/policy.d.ts.map +1 -0
  113. package/dist/control/schema/policy.js +73 -0
  114. package/dist/control/schema/policy.js.map +1 -0
  115. package/dist/control/schema/run.d.ts +61 -0
  116. package/dist/control/schema/run.d.ts.map +1 -0
  117. package/dist/control/schema/run.js +56 -0
  118. package/dist/control/schema/run.js.map +1 -0
  119. package/dist/control/schema/te-mirrors.d.ts +145 -0
  120. package/dist/control/schema/te-mirrors.d.ts.map +1 -0
  121. package/dist/control/schema/te-mirrors.js +145 -0
  122. package/dist/control/schema/te-mirrors.js.map +1 -0
  123. package/dist/control/schema/transport.d.ts +479 -0
  124. package/dist/control/schema/transport.d.ts.map +1 -0
  125. package/dist/control/schema/transport.js +181 -0
  126. package/dist/control/schema/transport.js.map +1 -0
  127. package/dist/control/singleton.d.ts +135 -0
  128. package/dist/control/singleton.d.ts.map +1 -0
  129. package/dist/control/singleton.js +607 -0
  130. package/dist/control/singleton.js.map +1 -0
  131. package/dist/control/store/coordinator-store.d.ts +143 -0
  132. package/dist/control/store/coordinator-store.d.ts.map +1 -0
  133. package/dist/control/store/coordinator-store.js +620 -0
  134. package/dist/control/store/coordinator-store.js.map +1 -0
  135. package/dist/control/store/evidence-adapter.d.ts +10 -0
  136. package/dist/control/store/evidence-adapter.d.ts.map +1 -0
  137. package/dist/control/store/evidence-adapter.js +114 -0
  138. package/dist/control/store/evidence-adapter.js.map +1 -0
  139. package/dist/control/store/evidence-explanation.d.ts +55 -0
  140. package/dist/control/store/evidence-explanation.d.ts.map +1 -0
  141. package/dist/control/store/evidence-explanation.js +50 -0
  142. package/dist/control/store/evidence-explanation.js.map +1 -0
  143. package/dist/control/store/evidence-store.d.ts +143 -0
  144. package/dist/control/store/evidence-store.d.ts.map +1 -0
  145. package/dist/control/store/evidence-store.js +437 -0
  146. package/dist/control/store/evidence-store.js.map +1 -0
  147. package/dist/control/store/index.d.ts +3 -0
  148. package/dist/control/store/index.d.ts.map +1 -0
  149. package/dist/control/store/index.js +2 -0
  150. package/dist/control/store/index.js.map +1 -0
  151. package/dist/control/store/journal.d.ts +270 -0
  152. package/dist/control/store/journal.d.ts.map +1 -0
  153. package/dist/control/store/journal.js +50 -0
  154. package/dist/control/store/journal.js.map +1 -0
  155. package/dist/control/store/project-lifecycle.d.ts +49 -0
  156. package/dist/control/store/project-lifecycle.d.ts.map +1 -0
  157. package/dist/control/store/project-lifecycle.js +288 -0
  158. package/dist/control/store/project-lifecycle.js.map +1 -0
  159. package/dist/control/store/store.d.ts +93 -0
  160. package/dist/control/store/store.d.ts.map +1 -0
  161. package/dist/control/store/store.js +873 -0
  162. package/dist/control/store/store.js.map +1 -0
  163. package/dist/control/te-provider.d.ts +86 -0
  164. package/dist/control/te-provider.d.ts.map +1 -0
  165. package/dist/control/te-provider.js +131 -0
  166. package/dist/control/te-provider.js.map +1 -0
  167. package/dist/control/uds.d.ts +114 -0
  168. package/dist/control/uds.d.ts.map +1 -0
  169. package/dist/control/uds.js +456 -0
  170. package/dist/control/uds.js.map +1 -0
  171. package/dist/control/web-console/view.d.ts +5 -0
  172. package/dist/control/web-console/view.d.ts.map +1 -0
  173. package/dist/control/web-console/view.js +122 -0
  174. package/dist/control/web-console/view.js.map +1 -0
  175. package/dist/control/web-console.d.ts +50 -0
  176. package/dist/control/web-console.d.ts.map +1 -0
  177. package/dist/control/web-console.js +317 -0
  178. package/dist/control/web-console.js.map +1 -0
  179. package/dist/mcp/jsonrpc.d.ts.map +1 -1
  180. package/dist/mcp/jsonrpc.js +12 -3
  181. package/dist/mcp/jsonrpc.js.map +1 -1
  182. package/dist/mcp/server.d.ts.map +1 -1
  183. package/dist/mcp/server.js +26 -17
  184. package/dist/mcp/server.js.map +1 -1
  185. package/package.json +13 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * ControlDomain / ControlStore / Registry / Bootstrap wire types (๐ŸŸฅ NEW).
3
+ *
4
+ * Decisions: P3 (domain + registry identity), P14 (store header), P13
5
+ * (bootstrap manifest + layout). The store header is the authoritative
6
+ * identity source; the registry is a rebuildable non-authoritative projection.
7
+ */
8
+ import { Type } from "typebox";
9
+ import { CONTROL_WIRE_SCHEMA_VERSION } from "./common.ts";
10
+ /** 1:1 with a project ledger; stable across daemon restarts and mode switches. */
11
+ export declare const ControlDomainIdSchema: Type.TString;
12
+ export type ControlDomainId = string;
13
+ /** Stable project UUID; lives in the ControlStore header and the registry. */
14
+ export declare const ProjectIdSchema: Type.TString;
15
+ export type ProjectId = string;
16
+ /** Directory binding evidence for swap/move detection (P3 move/rebind). */
17
+ export declare const DirectoryBindingSchema: Type.TObject<{
18
+ canonicalPath: Type.TString;
19
+ device: Type.TString;
20
+ inode: Type.TString;
21
+ }>;
22
+ export type DirectoryBinding = {
23
+ canonicalPath: string;
24
+ device: string;
25
+ inode: string;
26
+ };
27
+ export declare const ControlStoreHeaderSchema: Type.TObject<{
28
+ projectId: Type.TString;
29
+ controlDomainId: Type.TString;
30
+ schemaVersion: Type.TUnion<[Type.TLiteral<1>, Type.TLiteral<2>]>;
31
+ directoryBinding: Type.TObject<{
32
+ canonicalPath: Type.TString;
33
+ device: Type.TString;
34
+ inode: Type.TString;
35
+ }>;
36
+ }>;
37
+ export type ControlStoreHeader = {
38
+ projectId: ProjectId;
39
+ controlDomainId: ControlDomainId;
40
+ schemaVersion: 1 | typeof CONTROL_WIRE_SCHEMA_VERSION;
41
+ directoryBinding: DirectoryBinding;
42
+ };
43
+ export declare const MountStateSchema: Type.TUnion<[Type.TLiteral<"unmounted">, Type.TLiteral<"mounting">, Type.TLiteral<"mounted">, Type.TLiteral<"drained">]>;
44
+ export type MountState = "unmounted" | "mounting" | "mounted" | "drained";
45
+ export declare const ControlRegistryEntrySchema: Type.TObject<{
46
+ projectId: Type.TString;
47
+ controlDomainId: Type.TString;
48
+ storePath: Type.TString;
49
+ directoryBinding: Type.TObject<{
50
+ canonicalPath: Type.TString;
51
+ device: Type.TString;
52
+ inode: Type.TString;
53
+ }>;
54
+ mountState: Type.TUnion<[Type.TLiteral<"unmounted">, Type.TLiteral<"mounting">, Type.TLiteral<"mounted">, Type.TLiteral<"drained">]>;
55
+ summary: Type.TOptional<Type.TString>;
56
+ }>;
57
+ export type ControlRegistryEntry = {
58
+ projectId: ProjectId;
59
+ controlDomainId: ControlDomainId;
60
+ storePath: string;
61
+ directoryBinding: DirectoryBinding;
62
+ mountState: MountState;
63
+ summary?: string;
64
+ };
65
+ export declare const ControlStoreStatusSchema: Type.TUnion<[Type.TLiteral<"healthy">, Type.TLiteral<"recovering">, Type.TLiteral<"fail-closed">]>;
66
+ export type ControlStoreStatus = "healthy" | "recovering" | "fail-closed";
67
+ export declare const BootstrapManifestSchema: Type.TObject<{
68
+ controlBinaryPath: Type.TString;
69
+ controlHome: Type.TString;
70
+ singletonEndpoint: Type.TString;
71
+ fencingEpoch: Type.TInteger;
72
+ }>;
73
+ export type BootstrapManifest = {
74
+ controlBinaryPath: string;
75
+ controlHome: string;
76
+ singletonEndpoint: string;
77
+ fencingEpoch: number;
78
+ };
79
+ //# sourceMappingURL=header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/header.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAc,MAAM,aAAa,CAAC;AAMtE,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,cAAa,CAAC;AAChD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,8EAA8E;AAC9E,eAAO,MAAM,eAAe,cAAa,CAAC;AAC1C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB;;;;EAOlC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAMF,eAAO,MAAM,wBAAwB;;;;;;;;;EAQpC,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,CAAC,GAAG,OAAO,2BAA2B,CAAC;IACtD,gBAAgB,EAAE,gBAAgB,CAAC;CACnC,CAAC;AAMF,eAAO,MAAM,gBAAgB,0HAK3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1E,eAAO,MAAM,0BAA0B;;;;;;;;;;;EAUtC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAMF,eAAO,MAAM,wBAAwB,oGAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,GAAG,aAAa,CAAC;AAM1E,eAAO,MAAM,uBAAuB;;;;;EAQnC,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * ControlDomain / ControlStore / Registry / Bootstrap wire types (๐ŸŸฅ NEW).
3
+ *
4
+ * Decisions: P3 (domain + registry identity), P14 (store header), P13
5
+ * (bootstrap manifest + layout). The store header is the authoritative
6
+ * identity source; the registry is a rebuildable non-authoritative projection.
7
+ */
8
+ import { Type } from "typebox";
9
+ import { CONTROL_WIRE_SCHEMA_VERSION, UuidSchema } from "./common.js";
10
+ // ---------------------------------------------------------------------------
11
+ // Scalars (P3: UUID ๆ ‡้‡็บฆๅฎš)
12
+ // ---------------------------------------------------------------------------
13
+ /** 1:1 with a project ledger; stable across daemon restarts and mode switches. */
14
+ export const ControlDomainIdSchema = UuidSchema;
15
+ /** Stable project UUID; lives in the ControlStore header and the registry. */
16
+ export const ProjectIdSchema = UuidSchema;
17
+ /** Directory binding evidence for swap/move detection (P3 move/rebind). */
18
+ export const DirectoryBindingSchema = Type.Object({
19
+ canonicalPath: Type.String({ minLength: 1 }),
20
+ device: Type.String({ minLength: 1 }),
21
+ inode: Type.String({ minLength: 1 }),
22
+ }, { additionalProperties: false });
23
+ // ---------------------------------------------------------------------------
24
+ // ControlStoreHeader (P14) โ€” authoritative identity source
25
+ // ---------------------------------------------------------------------------
26
+ export const ControlStoreHeaderSchema = Type.Object({
27
+ projectId: ProjectIdSchema,
28
+ controlDomainId: ControlDomainIdSchema,
29
+ schemaVersion: Type.Union([Type.Literal(1), Type.Literal(CONTROL_WIRE_SCHEMA_VERSION)]),
30
+ directoryBinding: DirectoryBindingSchema,
31
+ }, { additionalProperties: false });
32
+ // ---------------------------------------------------------------------------
33
+ // ControlRegistryEntry (P3) โ€” non-authoritative discovery/projection
34
+ // ---------------------------------------------------------------------------
35
+ export const MountStateSchema = Type.Union([
36
+ Type.Literal("unmounted"),
37
+ Type.Literal("mounting"),
38
+ Type.Literal("mounted"),
39
+ Type.Literal("drained"),
40
+ ]);
41
+ export const ControlRegistryEntrySchema = Type.Object({
42
+ projectId: ProjectIdSchema,
43
+ controlDomainId: ControlDomainIdSchema,
44
+ storePath: Type.String({ minLength: 1 }),
45
+ directoryBinding: DirectoryBindingSchema,
46
+ mountState: MountStateSchema,
47
+ summary: Type.Optional(Type.String()),
48
+ }, { additionalProperties: false });
49
+ // ---------------------------------------------------------------------------
50
+ // ControlStoreStatus (P14) โ€” store health/recovery state
51
+ // ---------------------------------------------------------------------------
52
+ export const ControlStoreStatusSchema = Type.Union([
53
+ Type.Literal("healthy"),
54
+ Type.Literal("recovering"),
55
+ Type.Literal("fail-closed"),
56
+ ]);
57
+ // ---------------------------------------------------------------------------
58
+ // BootstrapManifest (P13) โ€” install/start contract
59
+ // ---------------------------------------------------------------------------
60
+ export const BootstrapManifestSchema = Type.Object({
61
+ controlBinaryPath: Type.String({ minLength: 1 }),
62
+ controlHome: Type.String({ minLength: 1 }),
63
+ singletonEndpoint: Type.String({ minLength: 1 }),
64
+ fencingEpoch: Type.Integer({ minimum: 0 }),
65
+ }, { additionalProperties: false });
66
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/header.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * taskflow-control wire schema barrel โ€” the single source of truth for the
3
+ * 0.3-C frozen TypeBox contracts (wire-freeze ยง3).
4
+ *
5
+ * REUSE (TE, import read-only): EffectDeclSchema / EffectIRSchema come from
6
+ * `taskflow-core/effects/schema`; SecretRef / ServiceRef / labels from
7
+ * `taskflow-core/effects/types`; canonical-hash from
8
+ * `taskflow-core/flowir/canonical-hash`. The `resources/*` shapes that
9
+ * taskflow-core deliberately does not export are mirrored in
10
+ * `./te-mirrors.ts` (TE remains the authority).
11
+ *
12
+ * Every top-level document carries `schemaVersion` where the ADR pins it
13
+ * (ControlStoreHeader, ControlEvent, BoundPlan, BoundFragment, Receipt) and
14
+ * closed `additionalProperties: false` objects throughout.
15
+ */
16
+ export { CONTROL_WIRE_SCHEMA_VERSION, UuidSchema, Sha256HexSchema, CanonicalHashRefSchema, StringEnum, } from "./common.ts";
17
+ export type { ControlWireSchemaVersion } from "./common.ts";
18
+ export * from "./te-mirrors.ts";
19
+ export * from "./header.ts";
20
+ export * from "./commands.ts";
21
+ export * from "./plan.ts";
22
+ export * from "./run.ts";
23
+ export * from "./approval.ts";
24
+ export * from "./coordinator.ts";
25
+ export * from "./policy.ts";
26
+ export * from "./evidence.ts";
27
+ export * from "./transport.ts";
28
+ export { EffectDeclSchema, EffectIRSchema } from "taskflow-core/effects/schema";
29
+ export type { EffectDecl, EffectIR, EffectKind, ConfidentialityLabel, IntegrityLabel, SecretRef, ServiceRef } from "taskflow-core/effects/types";
30
+ export { hashFlowIR, hashNode, canonicalizeFlowIR, canonicalizeNode } from "taskflow-core/flowir/canonical-hash";
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACN,2BAA2B,EAC3B,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAI/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACjJ,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * taskflow-control wire schema barrel โ€” the single source of truth for the
3
+ * 0.3-C frozen TypeBox contracts (wire-freeze ยง3).
4
+ *
5
+ * REUSE (TE, import read-only): EffectDeclSchema / EffectIRSchema come from
6
+ * `taskflow-core/effects/schema`; SecretRef / ServiceRef / labels from
7
+ * `taskflow-core/effects/types`; canonical-hash from
8
+ * `taskflow-core/flowir/canonical-hash`. The `resources/*` shapes that
9
+ * taskflow-core deliberately does not export are mirrored in
10
+ * `./te-mirrors.ts` (TE remains the authority).
11
+ *
12
+ * Every top-level document carries `schemaVersion` where the ADR pins it
13
+ * (ControlStoreHeader, ControlEvent, BoundPlan, BoundFragment, Receipt) and
14
+ * closed `additionalProperties: false` objects throughout.
15
+ */
16
+ export { CONTROL_WIRE_SCHEMA_VERSION, UuidSchema, Sha256HexSchema, CanonicalHashRefSchema, StringEnum, } from "./common.js";
17
+ export * from "./te-mirrors.js";
18
+ export * from "./header.js";
19
+ export * from "./commands.js";
20
+ export * from "./plan.js";
21
+ export * from "./run.js";
22
+ export * from "./approval.js";
23
+ export * from "./coordinator.js";
24
+ export * from "./policy.js";
25
+ export * from "./evidence.js";
26
+ export * from "./transport.js";
27
+ // REUSE re-exports from taskflow-core (TE schemas are the authority; the
28
+ // control wire references them as read-only evidence).
29
+ export { EffectDeclSchema, EffectIRSchema } from "taskflow-core/effects/schema";
30
+ export { hashFlowIR, hashNode, canonicalizeFlowIR, canonicalizeNode } from "taskflow-core/flowir/canonical-hash";
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACN,2BAA2B,EAC3B,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,UAAU,GACV,MAAM,aAAa,CAAC;AAGrB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAE/B,yEAAyE;AACzE,uDAAuD;AACvD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,291 @@
1
+ /**
2
+ * BoundPlan / BoundFragment / SpawnTemplate wire types (๐ŸŸฅ NEW).
3
+ *
4
+ * Decisions: P1/P7 (immutable BoundPlan template, evidence-not-bearer), P7
5
+ * (BoundFragment dual hashes + parent chain + authorityEpoch), P8
6
+ * (enforcementCapabilities required โ€” no holes), P6 (single hash family).
7
+ */
8
+ import { Type } from "typebox";
9
+ import { CONTROL_WIRE_SCHEMA_VERSION } from "./common.ts";
10
+ import { type PathRef } from "./te-mirrors.ts";
11
+ import { type EnforcementCapabilities, type PolicyBundle } from "./policy.ts";
12
+ export declare const SpawnTemplateSchema: Type.TObject<{
13
+ allowedAgentClasses: Type.TArray<Type.TString>;
14
+ allowedProviderClasses: Type.TArray<Type.TString>;
15
+ maxToolCallsPerStep: Type.TInteger;
16
+ maxEffectsPerNode: Type.TInteger;
17
+ maxChildren: Type.TInteger;
18
+ maxDepth: Type.TInteger;
19
+ budgetShare: Type.TNumber;
20
+ }>;
21
+ export type SpawnTemplate = {
22
+ allowedAgentClasses: string[];
23
+ allowedProviderClasses: string[];
24
+ maxToolCallsPerStep: number;
25
+ maxEffectsPerNode: number;
26
+ maxChildren: number;
27
+ maxDepth: number;
28
+ budgetShare: number;
29
+ };
30
+ export declare const PlanBindingSchema: Type.TObject<{
31
+ name: Type.TString;
32
+ path: Type.TUnion<[Type.TObject<{
33
+ subpath: Type.TOptional<Type.TUnion<[Type.TObject<{
34
+ literalPath: Type.TString;
35
+ argPath: Type.TOptional<Type.TNever>;
36
+ segments: Type.TOptional<Type.TNever>;
37
+ }>, Type.TObject<{
38
+ argPath: Type.TString;
39
+ literalPath: Type.TOptional<Type.TNever>;
40
+ segments: Type.TOptional<Type.TNever>;
41
+ }>, Type.TObject<{
42
+ segments: Type.TArray<Type.TUnion<[Type.TObject<{
43
+ segment: Type.TString;
44
+ argSegment: Type.TOptional<Type.TNever>;
45
+ }>, Type.TObject<{
46
+ argSegment: Type.TString;
47
+ segment: Type.TOptional<Type.TNever>;
48
+ }>]>>;
49
+ literalPath: Type.TOptional<Type.TNever>;
50
+ argPath: Type.TOptional<Type.TNever>;
51
+ }>]>>;
52
+ access: Type.TOptional<Type.TUnion<[Type.TLiteral<"read-only">, Type.TLiteral<"read-write">]>>;
53
+ maxLifetime: Type.TOptional<Type.TUnion<Type.TObject<{
54
+ scope: Type.TLiteral<"external" | "phase" | "run">;
55
+ }>[]>>;
56
+ intent: Type.TUnion<[Type.TLiteral<"existing-file">, Type.TLiteral<"existing-directory">, Type.TLiteral<"create-file">, Type.TLiteral<"create-directory">, Type.TLiteral<"executable">]>;
57
+ workspace: Type.TString;
58
+ handle: Type.TOptional<Type.TNever>;
59
+ }>, Type.TObject<{
60
+ subpath: Type.TOptional<Type.TUnion<[Type.TObject<{
61
+ literalPath: Type.TString;
62
+ argPath: Type.TOptional<Type.TNever>;
63
+ segments: Type.TOptional<Type.TNever>;
64
+ }>, Type.TObject<{
65
+ argPath: Type.TString;
66
+ literalPath: Type.TOptional<Type.TNever>;
67
+ segments: Type.TOptional<Type.TNever>;
68
+ }>, Type.TObject<{
69
+ segments: Type.TArray<Type.TUnion<[Type.TObject<{
70
+ segment: Type.TString;
71
+ argSegment: Type.TOptional<Type.TNever>;
72
+ }>, Type.TObject<{
73
+ argSegment: Type.TString;
74
+ segment: Type.TOptional<Type.TNever>;
75
+ }>]>>;
76
+ literalPath: Type.TOptional<Type.TNever>;
77
+ argPath: Type.TOptional<Type.TNever>;
78
+ }>]>>;
79
+ access: Type.TOptional<Type.TUnion<[Type.TLiteral<"read-only">, Type.TLiteral<"read-write">]>>;
80
+ maxLifetime: Type.TOptional<Type.TUnion<Type.TObject<{
81
+ scope: Type.TLiteral<"external" | "phase" | "run">;
82
+ }>[]>>;
83
+ intent: Type.TUnion<[Type.TLiteral<"existing-file">, Type.TLiteral<"existing-directory">, Type.TLiteral<"create-file">, Type.TLiteral<"create-directory">, Type.TLiteral<"executable">]>;
84
+ handle: Type.TObject<{
85
+ producerPhaseId: Type.TString;
86
+ exportName: Type.TString;
87
+ }>;
88
+ workspace: Type.TOptional<Type.TNever>;
89
+ }>]>;
90
+ }>;
91
+ export type PlanBinding = {
92
+ name: string;
93
+ path: PathRef;
94
+ };
95
+ export declare const SavedFlowPinSchema: Type.TObject<{
96
+ flowId: Type.TString;
97
+ irHash: Type.TString;
98
+ boundPlanHash: Type.TString;
99
+ }>;
100
+ export type SavedFlowPin = {
101
+ flowId: string;
102
+ irHash: string;
103
+ boundPlanHash: string;
104
+ };
105
+ export declare const GrantRefSchema: Type.TObject<{
106
+ grantId: Type.TString;
107
+ bindingId: Type.TOptional<Type.TString>;
108
+ }>;
109
+ export type GrantRef = {
110
+ grantId: string;
111
+ bindingId?: string;
112
+ };
113
+ export declare const ClaimSchema: Type.TObject<{
114
+ name: Type.TString;
115
+ value: Type.TUnion<[Type.TString, Type.TBoolean, Type.TNumber]>;
116
+ }>;
117
+ export type Claim = {
118
+ name: string;
119
+ value: string | boolean | number;
120
+ };
121
+ export declare const BoundPlanSchema: Type.TObject<{
122
+ schemaVersion: Type.TLiteral<2>;
123
+ projectId: Type.TString;
124
+ controlDomainId: Type.TString;
125
+ planId: Type.TString;
126
+ bindings: Type.TArray<Type.TObject<{
127
+ name: Type.TString;
128
+ path: Type.TUnion<[Type.TObject<{
129
+ subpath: Type.TOptional<Type.TUnion<[Type.TObject<{
130
+ literalPath: Type.TString;
131
+ argPath: Type.TOptional<Type.TNever>;
132
+ segments: Type.TOptional<Type.TNever>;
133
+ }>, Type.TObject<{
134
+ argPath: Type.TString;
135
+ literalPath: Type.TOptional<Type.TNever>;
136
+ segments: Type.TOptional<Type.TNever>;
137
+ }>, Type.TObject<{
138
+ segments: Type.TArray<Type.TUnion<[Type.TObject<{
139
+ segment: Type.TString;
140
+ argSegment: Type.TOptional<Type.TNever>;
141
+ }>, Type.TObject<{
142
+ argSegment: Type.TString;
143
+ segment: Type.TOptional<Type.TNever>;
144
+ }>]>>;
145
+ literalPath: Type.TOptional<Type.TNever>;
146
+ argPath: Type.TOptional<Type.TNever>;
147
+ }>]>>;
148
+ access: Type.TOptional<Type.TUnion<[Type.TLiteral<"read-only">, Type.TLiteral<"read-write">]>>;
149
+ maxLifetime: Type.TOptional<Type.TUnion<Type.TObject<{
150
+ scope: Type.TLiteral<"external" | "phase" | "run">;
151
+ }>[]>>;
152
+ intent: Type.TUnion<[Type.TLiteral<"existing-file">, Type.TLiteral<"existing-directory">, Type.TLiteral<"create-file">, Type.TLiteral<"create-directory">, Type.TLiteral<"executable">]>;
153
+ workspace: Type.TString;
154
+ handle: Type.TOptional<Type.TNever>;
155
+ }>, Type.TObject<{
156
+ subpath: Type.TOptional<Type.TUnion<[Type.TObject<{
157
+ literalPath: Type.TString;
158
+ argPath: Type.TOptional<Type.TNever>;
159
+ segments: Type.TOptional<Type.TNever>;
160
+ }>, Type.TObject<{
161
+ argPath: Type.TString;
162
+ literalPath: Type.TOptional<Type.TNever>;
163
+ segments: Type.TOptional<Type.TNever>;
164
+ }>, Type.TObject<{
165
+ segments: Type.TArray<Type.TUnion<[Type.TObject<{
166
+ segment: Type.TString;
167
+ argSegment: Type.TOptional<Type.TNever>;
168
+ }>, Type.TObject<{
169
+ argSegment: Type.TString;
170
+ segment: Type.TOptional<Type.TNever>;
171
+ }>]>>;
172
+ literalPath: Type.TOptional<Type.TNever>;
173
+ argPath: Type.TOptional<Type.TNever>;
174
+ }>]>>;
175
+ access: Type.TOptional<Type.TUnion<[Type.TLiteral<"read-only">, Type.TLiteral<"read-write">]>>;
176
+ maxLifetime: Type.TOptional<Type.TUnion<Type.TObject<{
177
+ scope: Type.TLiteral<"external" | "phase" | "run">;
178
+ }>[]>>;
179
+ intent: Type.TUnion<[Type.TLiteral<"existing-file">, Type.TLiteral<"existing-directory">, Type.TLiteral<"create-file">, Type.TLiteral<"create-directory">, Type.TLiteral<"executable">]>;
180
+ handle: Type.TObject<{
181
+ producerPhaseId: Type.TString;
182
+ exportName: Type.TString;
183
+ }>;
184
+ workspace: Type.TOptional<Type.TNever>;
185
+ }>]>;
186
+ }>>;
187
+ spawnTemplate: Type.TObject<{
188
+ allowedAgentClasses: Type.TArray<Type.TString>;
189
+ allowedProviderClasses: Type.TArray<Type.TString>;
190
+ maxToolCallsPerStep: Type.TInteger;
191
+ maxEffectsPerNode: Type.TInteger;
192
+ maxChildren: Type.TInteger;
193
+ maxDepth: Type.TInteger;
194
+ budgetShare: Type.TNumber;
195
+ }>;
196
+ savedFlowPins: Type.TArray<Type.TObject<{
197
+ flowId: Type.TString;
198
+ irHash: Type.TString;
199
+ boundPlanHash: Type.TString;
200
+ }>>;
201
+ grantRefs: Type.TArray<Type.TObject<{
202
+ grantId: Type.TString;
203
+ bindingId: Type.TOptional<Type.TString>;
204
+ }>>;
205
+ claims: Type.TArray<Type.TObject<{
206
+ name: Type.TString;
207
+ value: Type.TUnion<[Type.TString, Type.TBoolean, Type.TNumber]>;
208
+ }>>;
209
+ enforcementCapabilities: Type.TObject<{
210
+ resolution: import("typebox").TUnsafe<string>;
211
+ mutationMediation: import("typebox").TUnsafe<string>;
212
+ processIsolation: import("typebox").TUnsafe<string>;
213
+ revocation: Type.TUnion<[Type.TLiteral<"admission-only">, Type.TLiteral<"per-mutation">, Type.TObject<{
214
+ mode: Type.TLiteral<"bounded-latency">;
215
+ maxLatencyMs: Type.TInteger;
216
+ }>]>;
217
+ baselinePolicyId: Type.TString;
218
+ hostProbeSha256: Type.TString;
219
+ }>;
220
+ dynamicPolicy: Type.TObject<{
221
+ hostCeiling: Type.TObject<{
222
+ maxActiveRuns: Type.TOptional<Type.TInteger>;
223
+ maxTokens: Type.TOptional<Type.TInteger>;
224
+ maxUSD: Type.TOptional<Type.TNumber>;
225
+ }>;
226
+ userCeiling: Type.TOptional<Type.TObject<{
227
+ maxActiveRuns: Type.TOptional<Type.TInteger>;
228
+ maxTokens: Type.TOptional<Type.TInteger>;
229
+ maxUSD: Type.TOptional<Type.TNumber>;
230
+ }>>;
231
+ projectCeiling: Type.TOptional<Type.TObject<{
232
+ maxActiveRuns: Type.TOptional<Type.TInteger>;
233
+ maxTokens: Type.TOptional<Type.TInteger>;
234
+ maxUSD: Type.TOptional<Type.TNumber>;
235
+ }>>;
236
+ invocationCeiling: Type.TOptional<Type.TObject<{
237
+ maxActiveRuns: Type.TOptional<Type.TInteger>;
238
+ maxTokens: Type.TOptional<Type.TInteger>;
239
+ maxUSD: Type.TOptional<Type.TNumber>;
240
+ }>>;
241
+ authorizationContextHash: Type.TString;
242
+ }>;
243
+ boundPlanHash: Type.TString;
244
+ }>;
245
+ export type BoundPlan = {
246
+ schemaVersion: typeof CONTROL_WIRE_SCHEMA_VERSION;
247
+ projectId: string;
248
+ controlDomainId: string;
249
+ planId: string;
250
+ bindings: PlanBinding[];
251
+ spawnTemplate: SpawnTemplate;
252
+ savedFlowPins: SavedFlowPin[];
253
+ grantRefs: GrantRef[];
254
+ claims: Claim[];
255
+ enforcementCapabilities: EnforcementCapabilities;
256
+ dynamicPolicy: PolicyBundle;
257
+ boundPlanHash: string;
258
+ };
259
+ export declare const BoundFragmentSchema: Type.TObject<{
260
+ schemaVersion: Type.TLiteral<2>;
261
+ projectId: Type.TString;
262
+ controlDomainId: Type.TString;
263
+ fragmentId: Type.TString;
264
+ parentBoundPlanHash: Type.TString;
265
+ parentBoundFragmentHash: Type.TOptional<Type.TString>;
266
+ sourceEventId: Type.TString;
267
+ sourceCommitSeq: Type.TInteger;
268
+ fragmentIRHash: Type.TString;
269
+ fragmentPolicyHash: Type.TString;
270
+ capabilitySetHash: Type.TString;
271
+ authorityEpoch: Type.TInteger;
272
+ boundFragmentHash: Type.TString;
273
+ executionSemanticHash: Type.TString;
274
+ }>;
275
+ export type BoundFragment = {
276
+ schemaVersion: typeof CONTROL_WIRE_SCHEMA_VERSION;
277
+ projectId: string;
278
+ controlDomainId: string;
279
+ fragmentId: string;
280
+ parentBoundPlanHash: string;
281
+ parentBoundFragmentHash?: string;
282
+ sourceEventId: string;
283
+ sourceCommitSeq: number;
284
+ fragmentIRHash: string;
285
+ fragmentPolicyHash: string;
286
+ capabilitySetHash: string;
287
+ authorityEpoch: number;
288
+ boundFragmentHash: string;
289
+ executionSemanticHash: string;
290
+ };
291
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/plan.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAsC,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAiC,KAAK,uBAAuB,EAAsB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAMjI,eAAO,MAAM,mBAAmB;;;;;;;;EAW/B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAMF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AACF,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D,eAAO,MAAM,kBAAkB;;;;EAO9B,CAAC;AACF,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF,eAAO,MAAM,cAAc;;;EAM1B,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,WAAW;;;EAMvB,CAAC;AACF,MAAM,MAAM,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;CAAE,CAAC;AAMvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IACvB,aAAa,EAAE,OAAO,2BAA2B,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,aAAa,EAAE,YAAY,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAkB/B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC3B,aAAa,EAAE,OAAO,2BAA2B,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC9B,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * BoundPlan / BoundFragment / SpawnTemplate wire types (๐ŸŸฅ NEW).
3
+ *
4
+ * Decisions: P1/P7 (immutable BoundPlan template, evidence-not-bearer), P7
5
+ * (BoundFragment dual hashes + parent chain + authorityEpoch), P8
6
+ * (enforcementCapabilities required โ€” no holes), P6 (single hash family).
7
+ */
8
+ import { Type } from "typebox";
9
+ import { CONTROL_WIRE_SCHEMA_VERSION, CanonicalHashRefSchema, UuidSchema } from "./common.js";
10
+ import { PathRefSchema } from "./te-mirrors.js";
11
+ import { EnforcementCapabilitiesSchema, PolicyBundleSchema } from "./policy.js";
12
+ // ---------------------------------------------------------------------------
13
+ // SpawnTemplate (P7 ยง7.4) โ€” dynamic expansion ceilings
14
+ // ---------------------------------------------------------------------------
15
+ export const SpawnTemplateSchema = Type.Object({
16
+ allowedAgentClasses: Type.Array(Type.String({ minLength: 1 })),
17
+ allowedProviderClasses: Type.Array(Type.String({ minLength: 1 })),
18
+ maxToolCallsPerStep: Type.Integer({ minimum: 0 }),
19
+ maxEffectsPerNode: Type.Integer({ minimum: 0 }),
20
+ maxChildren: Type.Integer({ minimum: 1 }),
21
+ maxDepth: Type.Integer({ minimum: 1 }),
22
+ budgetShare: Type.Number({ minimum: 0, maximum: 1 }),
23
+ }, { additionalProperties: false });
24
+ // ---------------------------------------------------------------------------
25
+ // Plan bindings / saved-flow pins / grants / claims
26
+ // ---------------------------------------------------------------------------
27
+ export const PlanBindingSchema = Type.Object({
28
+ name: Type.String({ minLength: 1 }),
29
+ path: PathRefSchema,
30
+ }, { additionalProperties: false });
31
+ export const SavedFlowPinSchema = Type.Object({
32
+ flowId: Type.String({ minLength: 1 }),
33
+ irHash: CanonicalHashRefSchema,
34
+ boundPlanHash: CanonicalHashRefSchema,
35
+ }, { additionalProperties: false });
36
+ export const GrantRefSchema = Type.Object({
37
+ grantId: Type.String({ minLength: 1 }),
38
+ bindingId: Type.Optional(Type.String({ minLength: 1 })),
39
+ }, { additionalProperties: false });
40
+ export const ClaimSchema = Type.Object({
41
+ name: Type.String({ minLength: 1 }),
42
+ value: Type.Union([Type.String(), Type.Boolean(), Type.Number()]),
43
+ }, { additionalProperties: false });
44
+ // ---------------------------------------------------------------------------
45
+ // BoundPlan (P1/P7/P8) โ€” immutable template; evidence-not-bearer
46
+ // ---------------------------------------------------------------------------
47
+ export const BoundPlanSchema = Type.Object({
48
+ schemaVersion: Type.Literal(CONTROL_WIRE_SCHEMA_VERSION),
49
+ projectId: UuidSchema,
50
+ controlDomainId: UuidSchema,
51
+ planId: UuidSchema,
52
+ bindings: Type.Array(PlanBindingSchema),
53
+ spawnTemplate: SpawnTemplateSchema,
54
+ savedFlowPins: Type.Array(SavedFlowPinSchema),
55
+ grantRefs: Type.Array(GrantRefSchema),
56
+ claims: Type.Array(ClaimSchema),
57
+ enforcementCapabilities: EnforcementCapabilitiesSchema,
58
+ dynamicPolicy: PolicyBundleSchema,
59
+ boundPlanHash: CanonicalHashRefSchema,
60
+ }, { additionalProperties: false });
61
+ // ---------------------------------------------------------------------------
62
+ // BoundFragment (P7 ยง7.2) โ€” dynamic IR product under attenuated authority
63
+ // ---------------------------------------------------------------------------
64
+ export const BoundFragmentSchema = Type.Object({
65
+ schemaVersion: Type.Literal(CONTROL_WIRE_SCHEMA_VERSION),
66
+ projectId: UuidSchema,
67
+ controlDomainId: UuidSchema,
68
+ fragmentId: UuidSchema,
69
+ parentBoundPlanHash: CanonicalHashRefSchema,
70
+ parentBoundFragmentHash: Type.Optional(CanonicalHashRefSchema),
71
+ sourceEventId: UuidSchema,
72
+ sourceCommitSeq: Type.Integer({ minimum: 1 }),
73
+ fragmentIRHash: CanonicalHashRefSchema,
74
+ fragmentPolicyHash: CanonicalHashRefSchema,
75
+ capabilitySetHash: CanonicalHashRefSchema,
76
+ authorityEpoch: Type.Integer({ minimum: 0 }),
77
+ boundFragmentHash: CanonicalHashRefSchema,
78
+ executionSemanticHash: CanonicalHashRefSchema,
79
+ }, { additionalProperties: false });
80
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../taskflow-control/src/schema/plan.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAgC,kBAAkB,EAAqB,MAAM,aAAa,CAAC;AAEjI,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAC7C;IACC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9D,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACjE,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACjD,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC/C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACtC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;CACpD,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAWF,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAC3C;IACC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACnC,IAAI,EAAE,aAAa;CACnB,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAGF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAC5C;IACC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACrC,MAAM,EAAE,sBAAsB;IAC9B,aAAa,EAAE,sBAAsB;CACrC,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CACxC;IACC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACtC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;CACvD,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CACrC;IACC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;CACjE,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAGF,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CACzC;IACC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACxD,SAAS,EAAE,UAAU;IACrB,eAAe,EAAE,UAAU;IAC3B,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACvC,aAAa,EAAE,mBAAmB;IAClC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAC7C,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IACrC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAC/B,uBAAuB,EAAE,6BAA6B;IACtD,aAAa,EAAE,kBAAkB;IACjC,aAAa,EAAE,sBAAsB;CACrC,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC;AAgBF,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAC7C;IACC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACxD,SAAS,EAAE,UAAU;IACrB,eAAe,EAAE,UAAU;IAC3B,UAAU,EAAE,UAAU;IACtB,mBAAmB,EAAE,sBAAsB;IAC3C,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC9D,aAAa,EAAE,UAAU;IACzB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC7C,cAAc,EAAE,sBAAsB;IACtC,kBAAkB,EAAE,sBAAsB;IAC1C,iBAAiB,EAAE,sBAAsB;IACzC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC5C,iBAAiB,EAAE,sBAAsB;IACzC,qBAAqB,EAAE,sBAAsB;CAC7C,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAC/B,CAAC"}