@xemahq/kernel-contracts 0.1.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 (802) hide show
  1. package/dist/agent-composition/index.d.ts +7 -0
  2. package/dist/agent-composition/index.d.ts.map +1 -0
  3. package/dist/agent-composition/index.js +23 -0
  4. package/dist/agent-composition/index.js.map +1 -0
  5. package/dist/agent-composition/lib/capability-layer.d.ts +11 -0
  6. package/dist/agent-composition/lib/capability-layer.d.ts.map +1 -0
  7. package/dist/agent-composition/lib/capability-layer.js +10 -0
  8. package/dist/agent-composition/lib/capability-layer.js.map +1 -0
  9. package/dist/agent-composition/lib/composition-limits-schema.d.ts +4 -0
  10. package/dist/agent-composition/lib/composition-limits-schema.d.ts.map +1 -0
  11. package/dist/agent-composition/lib/composition-limits-schema.js +13 -0
  12. package/dist/agent-composition/lib/composition-limits-schema.js.map +1 -0
  13. package/dist/agent-composition/lib/composition-workspace.d.ts +35 -0
  14. package/dist/agent-composition/lib/composition-workspace.d.ts.map +1 -0
  15. package/dist/agent-composition/lib/composition-workspace.js +9 -0
  16. package/dist/agent-composition/lib/composition-workspace.js.map +1 -0
  17. package/dist/agent-composition/lib/composition.d.ts +66 -0
  18. package/dist/agent-composition/lib/composition.d.ts.map +1 -0
  19. package/dist/agent-composition/lib/composition.js +18 -0
  20. package/dist/agent-composition/lib/composition.js.map +1 -0
  21. package/dist/agent-composition/lib/intrinsic-floor.d.ts +15 -0
  22. package/dist/agent-composition/lib/intrinsic-floor.d.ts.map +1 -0
  23. package/dist/agent-composition/lib/intrinsic-floor.js +22 -0
  24. package/dist/agent-composition/lib/intrinsic-floor.js.map +1 -0
  25. package/dist/agent-composition/lib/model-resolution-matrix.d.ts +38 -0
  26. package/dist/agent-composition/lib/model-resolution-matrix.d.ts.map +1 -0
  27. package/dist/agent-composition/lib/model-resolution-matrix.js +12 -0
  28. package/dist/agent-composition/lib/model-resolution-matrix.js.map +1 -0
  29. package/dist/agent-workspace/awp-spec.json +225 -0
  30. package/dist/agent-workspace/index.d.ts +12 -0
  31. package/dist/agent-workspace/index.d.ts.map +1 -0
  32. package/dist/agent-workspace/index.js +28 -0
  33. package/dist/agent-workspace/index.js.map +1 -0
  34. package/dist/agent-workspace/lib/agent-run-context.d.ts +12 -0
  35. package/dist/agent-workspace/lib/agent-run-context.d.ts.map +1 -0
  36. package/dist/agent-workspace/lib/agent-run-context.js +3 -0
  37. package/dist/agent-workspace/lib/agent-run-context.js.map +1 -0
  38. package/dist/agent-workspace/lib/agent-tool-defaults.d.ts +21 -0
  39. package/dist/agent-workspace/lib/agent-tool-defaults.d.ts.map +1 -0
  40. package/dist/agent-workspace/lib/agent-tool-defaults.js +111 -0
  41. package/dist/agent-workspace/lib/agent-tool-defaults.js.map +1 -0
  42. package/dist/agent-workspace/lib/awp-v1.d.ts +15 -0
  43. package/dist/agent-workspace/lib/awp-v1.d.ts.map +1 -0
  44. package/dist/agent-workspace/lib/awp-v1.js +197 -0
  45. package/dist/agent-workspace/lib/awp-v1.js.map +1 -0
  46. package/dist/agent-workspace/lib/context-json.d.ts +35 -0
  47. package/dist/agent-workspace/lib/context-json.d.ts.map +1 -0
  48. package/dist/agent-workspace/lib/context-json.js +3 -0
  49. package/dist/agent-workspace/lib/context-json.js.map +1 -0
  50. package/dist/agent-workspace/lib/deliverable-spec-ref.d.ts +10 -0
  51. package/dist/agent-workspace/lib/deliverable-spec-ref.d.ts.map +1 -0
  52. package/dist/agent-workspace/lib/deliverable-spec-ref.js +33 -0
  53. package/dist/agent-workspace/lib/deliverable-spec-ref.js.map +1 -0
  54. package/dist/agent-workspace/lib/endpoint-fetch-spec.d.ts +31 -0
  55. package/dist/agent-workspace/lib/endpoint-fetch-spec.d.ts.map +1 -0
  56. package/dist/agent-workspace/lib/endpoint-fetch-spec.js +20 -0
  57. package/dist/agent-workspace/lib/endpoint-fetch-spec.js.map +1 -0
  58. package/dist/agent-workspace/lib/manifest.d.ts +28 -0
  59. package/dist/agent-workspace/lib/manifest.d.ts.map +1 -0
  60. package/dist/agent-workspace/lib/manifest.js +16 -0
  61. package/dist/agent-workspace/lib/manifest.js.map +1 -0
  62. package/dist/agent-workspace/lib/mount-apply.d.ts +42 -0
  63. package/dist/agent-workspace/lib/mount-apply.d.ts.map +1 -0
  64. package/dist/agent-workspace/lib/mount-apply.js +15 -0
  65. package/dist/agent-workspace/lib/mount-apply.js.map +1 -0
  66. package/dist/agent-workspace/lib/working-file.d.ts +20 -0
  67. package/dist/agent-workspace/lib/working-file.d.ts.map +1 -0
  68. package/dist/agent-workspace/lib/working-file.js +42 -0
  69. package/dist/agent-workspace/lib/working-file.js.map +1 -0
  70. package/dist/agent-workspace/lib/workspace-layout.d.ts +34 -0
  71. package/dist/agent-workspace/lib/workspace-layout.d.ts.map +1 -0
  72. package/dist/agent-workspace/lib/workspace-layout.js +31 -0
  73. package/dist/agent-workspace/lib/workspace-layout.js.map +1 -0
  74. package/dist/agent-workspace/lib/workspace-spec.d.ts +61 -0
  75. package/dist/agent-workspace/lib/workspace-spec.d.ts.map +1 -0
  76. package/dist/agent-workspace/lib/workspace-spec.js +19 -0
  77. package/dist/agent-workspace/lib/workspace-spec.js.map +1 -0
  78. package/dist/biome/index.d.ts +11 -0
  79. package/dist/biome/index.d.ts.map +1 -0
  80. package/dist/biome/index.js +27 -0
  81. package/dist/biome/index.js.map +1 -0
  82. package/dist/biome/lib/biome-api.d.ts +12 -0
  83. package/dist/biome/lib/biome-api.d.ts.map +1 -0
  84. package/dist/biome/lib/biome-api.js +14 -0
  85. package/dist/biome/lib/biome-api.js.map +1 -0
  86. package/dist/biome/lib/biome-capability-refs.d.ts +11 -0
  87. package/dist/biome/lib/biome-capability-refs.d.ts.map +1 -0
  88. package/dist/biome/lib/biome-capability-refs.js +12 -0
  89. package/dist/biome/lib/biome-capability-refs.js.map +1 -0
  90. package/dist/biome/lib/biome-engines.d.ts +6 -0
  91. package/dist/biome/lib/biome-engines.d.ts.map +1 -0
  92. package/dist/biome/lib/biome-engines.js +8 -0
  93. package/dist/biome/lib/biome-engines.js.map +1 -0
  94. package/dist/biome/lib/biome-lifecycle-hooks.d.ts +10 -0
  95. package/dist/biome/lib/biome-lifecycle-hooks.d.ts.map +1 -0
  96. package/dist/biome/lib/biome-lifecycle-hooks.js +12 -0
  97. package/dist/biome/lib/biome-lifecycle-hooks.js.map +1 -0
  98. package/dist/biome/lib/biome-lifecycle.d.ts +12 -0
  99. package/dist/biome/lib/biome-lifecycle.d.ts.map +1 -0
  100. package/dist/biome/lib/biome-lifecycle.js +16 -0
  101. package/dist/biome/lib/biome-lifecycle.js.map +1 -0
  102. package/dist/biome/lib/biome-manifest.d.ts +36 -0
  103. package/dist/biome/lib/biome-manifest.d.ts.map +1 -0
  104. package/dist/biome/lib/biome-manifest.js +38 -0
  105. package/dist/biome/lib/biome-manifest.js.map +1 -0
  106. package/dist/biome/lib/biome-permissions.d.ts +9 -0
  107. package/dist/biome/lib/biome-permissions.d.ts.map +1 -0
  108. package/dist/biome/lib/biome-permissions.js +11 -0
  109. package/dist/biome/lib/biome-permissions.js.map +1 -0
  110. package/dist/biome/lib/biome-scope.d.ts +9 -0
  111. package/dist/biome/lib/biome-scope.d.ts.map +1 -0
  112. package/dist/biome/lib/biome-scope.js +13 -0
  113. package/dist/biome/lib/biome-scope.js.map +1 -0
  114. package/dist/biome/lib/biome-trust-tier.d.ts +11 -0
  115. package/dist/biome/lib/biome-trust-tier.d.ts.map +1 -0
  116. package/dist/biome/lib/biome-trust-tier.js +15 -0
  117. package/dist/biome/lib/biome-trust-tier.js.map +1 -0
  118. package/dist/biome/lib/trust-tier-policies.d.ts +8 -0
  119. package/dist/biome/lib/trust-tier-policies.d.ts.map +1 -0
  120. package/dist/biome/lib/trust-tier-policies.js +66 -0
  121. package/dist/biome/lib/trust-tier-policies.js.map +1 -0
  122. package/dist/capability/index.d.ts +9 -0
  123. package/dist/capability/index.d.ts.map +1 -0
  124. package/dist/capability/index.js +25 -0
  125. package/dist/capability/index.js.map +1 -0
  126. package/dist/capability/lib/capability-contribution.d.ts +18 -0
  127. package/dist/capability/lib/capability-contribution.d.ts.map +1 -0
  128. package/dist/capability/lib/capability-contribution.js +23 -0
  129. package/dist/capability/lib/capability-contribution.js.map +1 -0
  130. package/dist/capability/lib/capability-grant.d.ts +22 -0
  131. package/dist/capability/lib/capability-grant.d.ts.map +1 -0
  132. package/dist/capability/lib/capability-grant.js +27 -0
  133. package/dist/capability/lib/capability-grant.js.map +1 -0
  134. package/dist/capability/lib/capability-policy.d.ts +12 -0
  135. package/dist/capability/lib/capability-policy.d.ts.map +1 -0
  136. package/dist/capability/lib/capability-policy.js +14 -0
  137. package/dist/capability/lib/capability-policy.js.map +1 -0
  138. package/dist/capability/lib/capability-ref.d.ts +19 -0
  139. package/dist/capability/lib/capability-ref.d.ts.map +1 -0
  140. package/dist/capability/lib/capability-ref.js +63 -0
  141. package/dist/capability/lib/capability-ref.js.map +1 -0
  142. package/dist/capability/lib/errors.d.ts +60 -0
  143. package/dist/capability/lib/errors.d.ts.map +1 -0
  144. package/dist/capability/lib/errors.js +73 -0
  145. package/dist/capability/lib/errors.js.map +1 -0
  146. package/dist/capability/lib/meta-tool.d.ts +77 -0
  147. package/dist/capability/lib/meta-tool.d.ts.map +1 -0
  148. package/dist/capability/lib/meta-tool.js +76 -0
  149. package/dist/capability/lib/meta-tool.js.map +1 -0
  150. package/dist/capability/lib/permission-profile.d.ts +35 -0
  151. package/dist/capability/lib/permission-profile.d.ts.map +1 -0
  152. package/dist/capability/lib/permission-profile.js +38 -0
  153. package/dist/capability/lib/permission-profile.js.map +1 -0
  154. package/dist/capability/lib/shell-command-descriptor.d.ts +19 -0
  155. package/dist/capability/lib/shell-command-descriptor.d.ts.map +1 -0
  156. package/dist/capability/lib/shell-command-descriptor.js +20 -0
  157. package/dist/capability/lib/shell-command-descriptor.js.map +1 -0
  158. package/dist/contribution/index.d.ts +5 -0
  159. package/dist/contribution/index.d.ts.map +1 -0
  160. package/dist/contribution/index.js +21 -0
  161. package/dist/contribution/index.js.map +1 -0
  162. package/dist/contribution/lib/contribution-kind.d.ts +44 -0
  163. package/dist/contribution/lib/contribution-kind.d.ts.map +1 -0
  164. package/dist/contribution/lib/contribution-kind.js +47 -0
  165. package/dist/contribution/lib/contribution-kind.js.map +1 -0
  166. package/dist/contribution/lib/contribution-source.d.ts +11 -0
  167. package/dist/contribution/lib/contribution-source.d.ts.map +1 -0
  168. package/dist/contribution/lib/contribution-source.js +14 -0
  169. package/dist/contribution/lib/contribution-source.js.map +1 -0
  170. package/dist/contribution/lib/contribution.d.ts +36 -0
  171. package/dist/contribution/lib/contribution.d.ts.map +1 -0
  172. package/dist/contribution/lib/contribution.js +56 -0
  173. package/dist/contribution/lib/contribution.js.map +1 -0
  174. package/dist/contribution/lib/registry.d.ts +25 -0
  175. package/dist/contribution/lib/registry.d.ts.map +1 -0
  176. package/dist/contribution/lib/registry.js +54 -0
  177. package/dist/contribution/lib/registry.js.map +1 -0
  178. package/dist/document-templates/index.d.ts +3 -0
  179. package/dist/document-templates/index.d.ts.map +1 -0
  180. package/dist/document-templates/index.js +19 -0
  181. package/dist/document-templates/index.js.map +1 -0
  182. package/dist/document-templates/lib/document-template.d.ts +24 -0
  183. package/dist/document-templates/lib/document-template.d.ts.map +1 -0
  184. package/dist/document-templates/lib/document-template.js +10 -0
  185. package/dist/document-templates/lib/document-template.js.map +1 -0
  186. package/dist/document-templates/lib/index.d.ts +3 -0
  187. package/dist/document-templates/lib/index.d.ts.map +1 -0
  188. package/dist/document-templates/lib/index.js +19 -0
  189. package/dist/document-templates/lib/index.js.map +1 -0
  190. package/dist/document-templates/lib/rendering-shape.d.ts +7 -0
  191. package/dist/document-templates/lib/rendering-shape.d.ts.map +1 -0
  192. package/dist/document-templates/lib/rendering-shape.js +20 -0
  193. package/dist/document-templates/lib/rendering-shape.js.map +1 -0
  194. package/dist/document-themes/index.d.ts +3 -0
  195. package/dist/document-themes/index.d.ts.map +1 -0
  196. package/dist/document-themes/index.js +19 -0
  197. package/dist/document-themes/index.js.map +1 -0
  198. package/dist/document-themes/lib/component-vocabulary.d.ts +16 -0
  199. package/dist/document-themes/lib/component-vocabulary.d.ts.map +1 -0
  200. package/dist/document-themes/lib/component-vocabulary.js +55 -0
  201. package/dist/document-themes/lib/component-vocabulary.js.map +1 -0
  202. package/dist/document-themes/lib/document-theme.d.ts +57 -0
  203. package/dist/document-themes/lib/document-theme.d.ts.map +1 -0
  204. package/dist/document-themes/lib/document-theme.js +10 -0
  205. package/dist/document-themes/lib/document-theme.js.map +1 -0
  206. package/dist/document-themes/lib/index.d.ts +3 -0
  207. package/dist/document-themes/lib/index.d.ts.map +1 -0
  208. package/dist/document-themes/lib/index.js +19 -0
  209. package/dist/document-themes/lib/index.js.map +1 -0
  210. package/dist/entitlement/index.d.ts +2 -0
  211. package/dist/entitlement/index.d.ts.map +1 -0
  212. package/dist/entitlement/index.js +18 -0
  213. package/dist/entitlement/index.js.map +1 -0
  214. package/dist/entitlement/lib/entitlement.d.ts +25 -0
  215. package/dist/entitlement/lib/entitlement.d.ts.map +1 -0
  216. package/dist/entitlement/lib/entitlement.js +54 -0
  217. package/dist/entitlement/lib/entitlement.js.map +1 -0
  218. package/dist/execution-context/index.d.ts +4 -0
  219. package/dist/execution-context/index.d.ts.map +1 -0
  220. package/dist/execution-context/index.js +20 -0
  221. package/dist/execution-context/index.js.map +1 -0
  222. package/dist/execution-context/lib/caller.d.ts +19 -0
  223. package/dist/execution-context/lib/caller.d.ts.map +1 -0
  224. package/dist/execution-context/lib/caller.js +22 -0
  225. package/dist/execution-context/lib/caller.js.map +1 -0
  226. package/dist/execution-context/lib/execution-context.d.ts +60 -0
  227. package/dist/execution-context/lib/execution-context.d.ts.map +1 -0
  228. package/dist/execution-context/lib/execution-context.js +58 -0
  229. package/dist/execution-context/lib/execution-context.js.map +1 -0
  230. package/dist/execution-context/lib/subject.d.ts +3 -0
  231. package/dist/execution-context/lib/subject.d.ts.map +1 -0
  232. package/dist/execution-context/lib/subject.js +11 -0
  233. package/dist/execution-context/lib/subject.js.map +1 -0
  234. package/dist/execution-environment/index.d.ts +4 -0
  235. package/dist/execution-environment/index.d.ts.map +1 -0
  236. package/dist/execution-environment/index.js +20 -0
  237. package/dist/execution-environment/index.js.map +1 -0
  238. package/dist/execution-environment/lib/approval-rule.d.ts +10 -0
  239. package/dist/execution-environment/lib/approval-rule.d.ts.map +1 -0
  240. package/dist/execution-environment/lib/approval-rule.js +12 -0
  241. package/dist/execution-environment/lib/approval-rule.js.map +1 -0
  242. package/dist/execution-environment/lib/built-in-environments.d.ts +16 -0
  243. package/dist/execution-environment/lib/built-in-environments.d.ts.map +1 -0
  244. package/dist/execution-environment/lib/built-in-environments.js +33 -0
  245. package/dist/execution-environment/lib/built-in-environments.js.map +1 -0
  246. package/dist/execution-environment/lib/execution-environment.d.ts +58 -0
  247. package/dist/execution-environment/lib/execution-environment.d.ts.map +1 -0
  248. package/dist/execution-environment/lib/execution-environment.js +89 -0
  249. package/dist/execution-environment/lib/execution-environment.js.map +1 -0
  250. package/dist/kernel-state/index.d.ts +4 -0
  251. package/dist/kernel-state/index.d.ts.map +1 -0
  252. package/dist/kernel-state/index.js +20 -0
  253. package/dist/kernel-state/index.js.map +1 -0
  254. package/dist/kernel-state/lib/adapter-kind.d.ts +5 -0
  255. package/dist/kernel-state/lib/adapter-kind.d.ts.map +1 -0
  256. package/dist/kernel-state/lib/adapter-kind.js +9 -0
  257. package/dist/kernel-state/lib/adapter-kind.js.map +1 -0
  258. package/dist/kernel-state/lib/kernel-state.d.ts +37 -0
  259. package/dist/kernel-state/lib/kernel-state.d.ts.map +1 -0
  260. package/dist/kernel-state/lib/kernel-state.js +9 -0
  261. package/dist/kernel-state/lib/kernel-state.js.map +1 -0
  262. package/dist/kernel-state/lib/key-grammar.d.ts +16 -0
  263. package/dist/kernel-state/lib/key-grammar.d.ts.map +1 -0
  264. package/dist/kernel-state/lib/key-grammar.js +56 -0
  265. package/dist/kernel-state/lib/key-grammar.js.map +1 -0
  266. package/dist/llm-gateway/index.d.ts +3 -0
  267. package/dist/llm-gateway/index.d.ts.map +1 -0
  268. package/dist/llm-gateway/index.js +19 -0
  269. package/dist/llm-gateway/index.js.map +1 -0
  270. package/dist/llm-gateway/lib/caller.d.ts +14 -0
  271. package/dist/llm-gateway/lib/caller.d.ts.map +1 -0
  272. package/dist/llm-gateway/lib/caller.js +11 -0
  273. package/dist/llm-gateway/lib/caller.js.map +1 -0
  274. package/dist/llm-gateway/lib/errors.d.ts +27 -0
  275. package/dist/llm-gateway/lib/errors.d.ts.map +1 -0
  276. package/dist/llm-gateway/lib/errors.js +36 -0
  277. package/dist/llm-gateway/lib/errors.js.map +1 -0
  278. package/dist/mcp-tool/index.d.ts +7 -0
  279. package/dist/mcp-tool/index.d.ts.map +1 -0
  280. package/dist/mcp-tool/index.js +23 -0
  281. package/dist/mcp-tool/index.js.map +1 -0
  282. package/dist/mcp-tool/lib/mcp-protocol.d.ts +75 -0
  283. package/dist/mcp-tool/lib/mcp-protocol.d.ts.map +1 -0
  284. package/dist/mcp-tool/lib/mcp-protocol.js +19 -0
  285. package/dist/mcp-tool/lib/mcp-protocol.js.map +1 -0
  286. package/dist/mcp-tool/lib/mcp-server-config.d.ts +8 -0
  287. package/dist/mcp-tool/lib/mcp-server-config.d.ts.map +1 -0
  288. package/dist/mcp-tool/lib/mcp-server-config.js +3 -0
  289. package/dist/mcp-tool/lib/mcp-server-config.js.map +1 -0
  290. package/dist/mcp-tool/lib/provider-kind.d.ts +10 -0
  291. package/dist/mcp-tool/lib/provider-kind.d.ts.map +1 -0
  292. package/dist/mcp-tool/lib/provider-kind.js +14 -0
  293. package/dist/mcp-tool/lib/provider-kind.js.map +1 -0
  294. package/dist/mcp-tool/lib/resolver-scope.d.ts +16 -0
  295. package/dist/mcp-tool/lib/resolver-scope.d.ts.map +1 -0
  296. package/dist/mcp-tool/lib/resolver-scope.js +12 -0
  297. package/dist/mcp-tool/lib/resolver-scope.js.map +1 -0
  298. package/dist/mcp-tool/lib/tool-provider.d.ts +21 -0
  299. package/dist/mcp-tool/lib/tool-provider.d.ts.map +1 -0
  300. package/dist/mcp-tool/lib/tool-provider.js +3 -0
  301. package/dist/mcp-tool/lib/tool-provider.js.map +1 -0
  302. package/dist/mcp-tool/lib/tool-selection.d.ts +34 -0
  303. package/dist/mcp-tool/lib/tool-selection.d.ts.map +1 -0
  304. package/dist/mcp-tool/lib/tool-selection.js +18 -0
  305. package/dist/mcp-tool/lib/tool-selection.js.map +1 -0
  306. package/dist/object/index.d.ts +5 -0
  307. package/dist/object/index.d.ts.map +1 -0
  308. package/dist/object/index.js +21 -0
  309. package/dist/object/index.js.map +1 -0
  310. package/dist/object/lib/object-lifecycle.d.ts +8 -0
  311. package/dist/object/lib/object-lifecycle.d.ts.map +1 -0
  312. package/dist/object/lib/object-lifecycle.js +12 -0
  313. package/dist/object/lib/object-lifecycle.js.map +1 -0
  314. package/dist/object/lib/xema-object-kind.d.ts +43 -0
  315. package/dist/object/lib/xema-object-kind.d.ts.map +1 -0
  316. package/dist/object/lib/xema-object-kind.js +47 -0
  317. package/dist/object/lib/xema-object-kind.js.map +1 -0
  318. package/dist/object/lib/xema-object-ref.d.ts +20 -0
  319. package/dist/object/lib/xema-object-ref.d.ts.map +1 -0
  320. package/dist/object/lib/xema-object-ref.js +133 -0
  321. package/dist/object/lib/xema-object-ref.js.map +1 -0
  322. package/dist/object/lib/xema-object.d.ts +24 -0
  323. package/dist/object/lib/xema-object.d.ts.map +1 -0
  324. package/dist/object/lib/xema-object.js +24 -0
  325. package/dist/object/lib/xema-object.js.map +1 -0
  326. package/dist/policy/index.d.ts +4 -0
  327. package/dist/policy/index.d.ts.map +1 -0
  328. package/dist/policy/index.js +20 -0
  329. package/dist/policy/index.js.map +1 -0
  330. package/dist/policy/lib/obligations.d.ts +91 -0
  331. package/dist/policy/lib/obligations.d.ts.map +1 -0
  332. package/dist/policy/lib/obligations.js +76 -0
  333. package/dist/policy/lib/obligations.js.map +1 -0
  334. package/dist/policy/lib/policy.d.ts +29 -0
  335. package/dist/policy/lib/policy.d.ts.map +1 -0
  336. package/dist/policy/lib/policy.js +32 -0
  337. package/dist/policy/lib/policy.js.map +1 -0
  338. package/dist/policy/lib/route-hints.d.ts +11 -0
  339. package/dist/policy/lib/route-hints.d.ts.map +1 -0
  340. package/dist/policy/lib/route-hints.js +15 -0
  341. package/dist/policy/lib/route-hints.js.map +1 -0
  342. package/dist/runner/index.d.ts +12 -0
  343. package/dist/runner/index.d.ts.map +1 -0
  344. package/dist/runner/index.js +28 -0
  345. package/dist/runner/index.js.map +1 -0
  346. package/dist/runner/lib/dispatch.d.ts +13 -0
  347. package/dist/runner/lib/dispatch.d.ts.map +1 -0
  348. package/dist/runner/lib/dispatch.js +15 -0
  349. package/dist/runner/lib/dispatch.js.map +1 -0
  350. package/dist/runner/lib/input-hash.d.ts +2 -0
  351. package/dist/runner/lib/input-hash.d.ts.map +1 -0
  352. package/dist/runner/lib/input-hash.js +37 -0
  353. package/dist/runner/lib/input-hash.js.map +1 -0
  354. package/dist/runner/lib/job-token.d.ts +22 -0
  355. package/dist/runner/lib/job-token.d.ts.map +1 -0
  356. package/dist/runner/lib/job-token.js +3 -0
  357. package/dist/runner/lib/job-token.js.map +1 -0
  358. package/dist/runner/lib/runner-attestation.d.ts +10 -0
  359. package/dist/runner/lib/runner-attestation.d.ts.map +1 -0
  360. package/dist/runner/lib/runner-attestation.js +5 -0
  361. package/dist/runner/lib/runner-attestation.js.map +1 -0
  362. package/dist/runner/lib/runner-job.d.ts +26 -0
  363. package/dist/runner/lib/runner-job.d.ts.map +1 -0
  364. package/dist/runner/lib/runner-job.js +36 -0
  365. package/dist/runner/lib/runner-job.js.map +1 -0
  366. package/dist/runner/lib/runner-kind.d.ts +2 -0
  367. package/dist/runner/lib/runner-kind.d.ts.map +1 -0
  368. package/dist/runner/lib/runner-kind.js +7 -0
  369. package/dist/runner/lib/runner-kind.js.map +1 -0
  370. package/dist/runner/lib/runner-mode.d.ts +5 -0
  371. package/dist/runner/lib/runner-mode.d.ts.map +1 -0
  372. package/dist/runner/lib/runner-mode.js +9 -0
  373. package/dist/runner/lib/runner-mode.js.map +1 -0
  374. package/dist/runner/lib/runner-plane.d.ts +19 -0
  375. package/dist/runner/lib/runner-plane.d.ts.map +1 -0
  376. package/dist/runner/lib/runner-plane.js +31 -0
  377. package/dist/runner/lib/runner-plane.js.map +1 -0
  378. package/dist/runner/lib/runner-registration.d.ts +60 -0
  379. package/dist/runner/lib/runner-registration.d.ts.map +1 -0
  380. package/dist/runner/lib/runner-registration.js +62 -0
  381. package/dist/runner/lib/runner-registration.js.map +1 -0
  382. package/dist/runner/lib/runner.d.ts +24 -0
  383. package/dist/runner/lib/runner.d.ts.map +1 -0
  384. package/dist/runner/lib/runner.js +26 -0
  385. package/dist/runner/lib/runner.js.map +1 -0
  386. package/dist/runner/lib/runtime-isolation.d.ts +10 -0
  387. package/dist/runner/lib/runtime-isolation.d.ts.map +1 -0
  388. package/dist/runner/lib/runtime-isolation.js +23 -0
  389. package/dist/runner/lib/runtime-isolation.js.map +1 -0
  390. package/dist/search-source/index.d.ts +5 -0
  391. package/dist/search-source/index.d.ts.map +1 -0
  392. package/dist/search-source/index.js +21 -0
  393. package/dist/search-source/index.js.map +1 -0
  394. package/dist/search-source/lib/indexable-document.d.ts +40 -0
  395. package/dist/search-source/lib/indexable-document.d.ts.map +1 -0
  396. package/dist/search-source/lib/indexable-document.js +26 -0
  397. package/dist/search-source/lib/indexable-document.js.map +1 -0
  398. package/dist/search-source/lib/search-index-event.d.ts +52 -0
  399. package/dist/search-source/lib/search-index-event.d.ts.map +1 -0
  400. package/dist/search-source/lib/search-index-event.js +29 -0
  401. package/dist/search-source/lib/search-index-event.js.map +1 -0
  402. package/dist/search-source/lib/search-replay.d.ts +46 -0
  403. package/dist/search-source/lib/search-replay.d.ts.map +1 -0
  404. package/dist/search-source/lib/search-replay.js +36 -0
  405. package/dist/search-source/lib/search-replay.js.map +1 -0
  406. package/dist/search-source/lib/search-source-descriptor.d.ts +15 -0
  407. package/dist/search-source/lib/search-source-descriptor.d.ts.map +1 -0
  408. package/dist/search-source/lib/search-source-descriptor.js +3 -0
  409. package/dist/search-source/lib/search-source-descriptor.js.map +1 -0
  410. package/dist/service-registry/index.d.ts +4 -0
  411. package/dist/service-registry/index.d.ts.map +1 -0
  412. package/dist/service-registry/index.js +20 -0
  413. package/dist/service-registry/index.js.map +1 -0
  414. package/dist/service-registry/lib/inject-service.d.ts +6 -0
  415. package/dist/service-registry/lib/inject-service.d.ts.map +1 -0
  416. package/dist/service-registry/lib/inject-service.js +5 -0
  417. package/dist/service-registry/lib/inject-service.js.map +1 -0
  418. package/dist/service-registry/lib/service-descriptor.d.ts +28 -0
  419. package/dist/service-registry/lib/service-descriptor.d.ts.map +1 -0
  420. package/dist/service-registry/lib/service-descriptor.js +17 -0
  421. package/dist/service-registry/lib/service-descriptor.js.map +1 -0
  422. package/dist/service-registry/lib/service-registry-client.d.ts +30 -0
  423. package/dist/service-registry/lib/service-registry-client.d.ts.map +1 -0
  424. package/dist/service-registry/lib/service-registry-client.js +3 -0
  425. package/dist/service-registry/lib/service-registry-client.js.map +1 -0
  426. package/dist/skill/index.d.ts +5 -0
  427. package/dist/skill/index.d.ts.map +1 -0
  428. package/dist/skill/index.js +21 -0
  429. package/dist/skill/index.js.map +1 -0
  430. package/dist/skill/lib/skill-enums.d.ts +41 -0
  431. package/dist/skill/lib/skill-enums.d.ts.map +1 -0
  432. package/dist/skill/lib/skill-enums.js +54 -0
  433. package/dist/skill/lib/skill-enums.js.map +1 -0
  434. package/dist/skill/lib/skill-governance.d.ts +106 -0
  435. package/dist/skill/lib/skill-governance.d.ts.map +1 -0
  436. package/dist/skill/lib/skill-governance.js +61 -0
  437. package/dist/skill/lib/skill-governance.js.map +1 -0
  438. package/dist/skill/lib/skill-source.d.ts +14 -0
  439. package/dist/skill/lib/skill-source.d.ts.map +1 -0
  440. package/dist/skill/lib/skill-source.js +3 -0
  441. package/dist/skill/lib/skill-source.js.map +1 -0
  442. package/dist/skill/lib/skill.d.ts +52 -0
  443. package/dist/skill/lib/skill.d.ts.map +1 -0
  444. package/dist/skill/lib/skill.js +3 -0
  445. package/dist/skill/lib/skill.js.map +1 -0
  446. package/dist/space/index.d.ts +4 -0
  447. package/dist/space/index.d.ts.map +1 -0
  448. package/dist/space/index.js +20 -0
  449. package/dist/space/index.js.map +1 -0
  450. package/dist/space/lib/space-ref-parser.d.ts +8 -0
  451. package/dist/space/lib/space-ref-parser.d.ts.map +1 -0
  452. package/dist/space/lib/space-ref-parser.js +149 -0
  453. package/dist/space/lib/space-ref-parser.js.map +1 -0
  454. package/dist/space/lib/space-traversal.d.ts +3 -0
  455. package/dist/space/lib/space-traversal.d.ts.map +1 -0
  456. package/dist/space/lib/space-traversal.js +56 -0
  457. package/dist/space/lib/space-traversal.js.map +1 -0
  458. package/dist/space/lib/space.d.ts +53 -0
  459. package/dist/space/lib/space.d.ts.map +1 -0
  460. package/dist/space/lib/space.js +98 -0
  461. package/dist/space/lib/space.js.map +1 -0
  462. package/dist/subject/index.d.ts +3 -0
  463. package/dist/subject/index.d.ts.map +1 -0
  464. package/dist/subject/index.js +19 -0
  465. package/dist/subject/index.js.map +1 -0
  466. package/dist/subject/lib/subject.d.ts +29 -0
  467. package/dist/subject/lib/subject.d.ts.map +1 -0
  468. package/dist/subject/lib/subject.js +47 -0
  469. package/dist/subject/lib/subject.js.map +1 -0
  470. package/dist/subject/lib/token-class.d.ts +11 -0
  471. package/dist/subject/lib/token-class.d.ts.map +1 -0
  472. package/dist/subject/lib/token-class.js +15 -0
  473. package/dist/subject/lib/token-class.js.map +1 -0
  474. package/dist/workflow/index.d.ts +31 -0
  475. package/dist/workflow/index.d.ts.map +1 -0
  476. package/dist/workflow/index.js +47 -0
  477. package/dist/workflow/index.js.map +1 -0
  478. package/dist/workflow/lib/action-ref.d.ts +12 -0
  479. package/dist/workflow/lib/action-ref.d.ts.map +1 -0
  480. package/dist/workflow/lib/action-ref.js +3 -0
  481. package/dist/workflow/lib/action-ref.js.map +1 -0
  482. package/dist/workflow/lib/activity-outputs.d.ts +14 -0
  483. package/dist/workflow/lib/activity-outputs.d.ts.map +1 -0
  484. package/dist/workflow/lib/activity-outputs.js +3 -0
  485. package/dist/workflow/lib/activity-outputs.js.map +1 -0
  486. package/dist/workflow/lib/agent-role.d.ts +6 -0
  487. package/dist/workflow/lib/agent-role.d.ts.map +1 -0
  488. package/dist/workflow/lib/agent-role.js +41 -0
  489. package/dist/workflow/lib/agent-role.js.map +1 -0
  490. package/dist/workflow/lib/artifact-ref.d.ts +21 -0
  491. package/dist/workflow/lib/artifact-ref.d.ts.map +1 -0
  492. package/dist/workflow/lib/artifact-ref.js +38 -0
  493. package/dist/workflow/lib/artifact-ref.js.map +1 -0
  494. package/dist/workflow/lib/briefcase.d.ts +107 -0
  495. package/dist/workflow/lib/briefcase.d.ts.map +1 -0
  496. package/dist/workflow/lib/briefcase.js +62 -0
  497. package/dist/workflow/lib/briefcase.js.map +1 -0
  498. package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.d.ts +18 -0
  499. package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.d.ts.map +1 -0
  500. package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.js +45 -0
  501. package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.js.map +1 -0
  502. package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.d.ts +3 -0
  503. package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.d.ts.map +1 -0
  504. package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.js +79 -0
  505. package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.js.map +1 -0
  506. package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.d.ts +3 -0
  507. package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.d.ts.map +1 -0
  508. package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.js +133 -0
  509. package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.js.map +1 -0
  510. package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.d.ts +3 -0
  511. package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.d.ts.map +1 -0
  512. package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.js +116 -0
  513. package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.js.map +1 -0
  514. package/dist/workflow/lib/canonical-concepts/concepts/index.d.ts +8 -0
  515. package/dist/workflow/lib/canonical-concepts/concepts/index.d.ts.map +1 -0
  516. package/dist/workflow/lib/canonical-concepts/concepts/index.js +18 -0
  517. package/dist/workflow/lib/canonical-concepts/concepts/index.js.map +1 -0
  518. package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.d.ts +3 -0
  519. package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.d.ts.map +1 -0
  520. package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.js +462 -0
  521. package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.js.map +1 -0
  522. package/dist/workflow/lib/canonical-concepts/index.d.ts +3 -0
  523. package/dist/workflow/lib/canonical-concepts/index.d.ts.map +1 -0
  524. package/dist/workflow/lib/canonical-concepts/index.js +16 -0
  525. package/dist/workflow/lib/canonical-concepts/index.js.map +1 -0
  526. package/dist/workflow/lib/catalog-taxonomies.d.ts +41 -0
  527. package/dist/workflow/lib/catalog-taxonomies.d.ts.map +1 -0
  528. package/dist/workflow/lib/catalog-taxonomies.js +3475 -0
  529. package/dist/workflow/lib/catalog-taxonomies.js.map +1 -0
  530. package/dist/workflow/lib/compiled-run.d.ts +118 -0
  531. package/dist/workflow/lib/compiled-run.d.ts.map +1 -0
  532. package/dist/workflow/lib/compiled-run.js +3 -0
  533. package/dist/workflow/lib/compiled-run.js.map +1 -0
  534. package/dist/workflow/lib/compiled-working-file.d.ts +11 -0
  535. package/dist/workflow/lib/compiled-working-file.d.ts.map +1 -0
  536. package/dist/workflow/lib/compiled-working-file.js +3 -0
  537. package/dist/workflow/lib/compiled-working-file.js.map +1 -0
  538. package/dist/workflow/lib/compiled-workspace-manifest.d.ts +101 -0
  539. package/dist/workflow/lib/compiled-workspace-manifest.d.ts.map +1 -0
  540. package/dist/workflow/lib/compiled-workspace-manifest.js +3 -0
  541. package/dist/workflow/lib/compiled-workspace-manifest.js.map +1 -0
  542. package/dist/workflow/lib/concurrency-group.d.ts +6 -0
  543. package/dist/workflow/lib/concurrency-group.d.ts.map +1 -0
  544. package/dist/workflow/lib/concurrency-group.js +3 -0
  545. package/dist/workflow/lib/concurrency-group.js.map +1 -0
  546. package/dist/workflow/lib/deliverable-result.d.ts +124 -0
  547. package/dist/workflow/lib/deliverable-result.d.ts.map +1 -0
  548. package/dist/workflow/lib/deliverable-result.js +27 -0
  549. package/dist/workflow/lib/deliverable-result.js.map +1 -0
  550. package/dist/workflow/lib/domain-tag.d.ts +2 -0
  551. package/dist/workflow/lib/domain-tag.d.ts.map +1 -0
  552. package/dist/workflow/lib/domain-tag.js +3 -0
  553. package/dist/workflow/lib/domain-tag.js.map +1 -0
  554. package/dist/workflow/lib/enums.d.ts +138 -0
  555. package/dist/workflow/lib/enums.d.ts.map +1 -0
  556. package/dist/workflow/lib/enums.js +166 -0
  557. package/dist/workflow/lib/enums.js.map +1 -0
  558. package/dist/workflow/lib/errors.d.ts +35 -0
  559. package/dist/workflow/lib/errors.d.ts.map +1 -0
  560. package/dist/workflow/lib/errors.js +62 -0
  561. package/dist/workflow/lib/errors.js.map +1 -0
  562. package/dist/workflow/lib/job-run.d.ts +32 -0
  563. package/dist/workflow/lib/job-run.d.ts.map +1 -0
  564. package/dist/workflow/lib/job-run.js +3 -0
  565. package/dist/workflow/lib/job-run.js.map +1 -0
  566. package/dist/workflow/lib/model-ref.d.ts +40 -0
  567. package/dist/workflow/lib/model-ref.d.ts.map +1 -0
  568. package/dist/workflow/lib/model-ref.js +34 -0
  569. package/dist/workflow/lib/model-ref.js.map +1 -0
  570. package/dist/workflow/lib/mount-plan.d.ts +105 -0
  571. package/dist/workflow/lib/mount-plan.d.ts.map +1 -0
  572. package/dist/workflow/lib/mount-plan.js +3 -0
  573. package/dist/workflow/lib/mount-plan.js.map +1 -0
  574. package/dist/workflow/lib/phase-report.d.ts +9 -0
  575. package/dist/workflow/lib/phase-report.d.ts.map +1 -0
  576. package/dist/workflow/lib/phase-report.js +30 -0
  577. package/dist/workflow/lib/phase-report.js.map +1 -0
  578. package/dist/workflow/lib/platform-task-queue.d.ts +17 -0
  579. package/dist/workflow/lib/platform-task-queue.d.ts.map +1 -0
  580. package/dist/workflow/lib/platform-task-queue.js +33 -0
  581. package/dist/workflow/lib/platform-task-queue.js.map +1 -0
  582. package/dist/workflow/lib/review-subject/index.d.ts +5 -0
  583. package/dist/workflow/lib/review-subject/index.d.ts.map +1 -0
  584. package/dist/workflow/lib/review-subject/index.js +8 -0
  585. package/dist/workflow/lib/review-subject/index.js.map +1 -0
  586. package/dist/workflow/lib/review-subject/kinds.d.ts +5 -0
  587. package/dist/workflow/lib/review-subject/kinds.d.ts.map +1 -0
  588. package/dist/workflow/lib/review-subject/kinds.js +9 -0
  589. package/dist/workflow/lib/review-subject/kinds.js.map +1 -0
  590. package/dist/workflow/lib/review-subject/narrow.d.ts +5 -0
  591. package/dist/workflow/lib/review-subject/narrow.d.ts.map +1 -0
  592. package/dist/workflow/lib/review-subject/narrow.js +79 -0
  593. package/dist/workflow/lib/review-subject/narrow.js.map +1 -0
  594. package/dist/workflow/lib/review-subject/producers/artifact-ref.d.ts +9 -0
  595. package/dist/workflow/lib/review-subject/producers/artifact-ref.d.ts.map +1 -0
  596. package/dist/workflow/lib/review-subject/producers/artifact-ref.js +16 -0
  597. package/dist/workflow/lib/review-subject/producers/artifact-ref.js.map +1 -0
  598. package/dist/workflow/lib/review-subject/producers/string.d.ts +7 -0
  599. package/dist/workflow/lib/review-subject/producers/string.d.ts.map +1 -0
  600. package/dist/workflow/lib/review-subject/producers/string.js +11 -0
  601. package/dist/workflow/lib/review-subject/producers/string.js.map +1 -0
  602. package/dist/workflow/lib/role-capability.d.ts +16 -0
  603. package/dist/workflow/lib/role-capability.d.ts.map +1 -0
  604. package/dist/workflow/lib/role-capability.js +19 -0
  605. package/dist/workflow/lib/role-capability.js.map +1 -0
  606. package/dist/workflow/lib/run-progress.d.ts +100 -0
  607. package/dist/workflow/lib/run-progress.d.ts.map +1 -0
  608. package/dist/workflow/lib/run-progress.js +96 -0
  609. package/dist/workflow/lib/run-progress.js.map +1 -0
  610. package/dist/workflow/lib/sampling-profiles.d.ts +18 -0
  611. package/dist/workflow/lib/sampling-profiles.d.ts.map +1 -0
  612. package/dist/workflow/lib/sampling-profiles.js +56 -0
  613. package/dist/workflow/lib/sampling-profiles.js.map +1 -0
  614. package/dist/workflow/lib/snapshot-ref.d.ts +10 -0
  615. package/dist/workflow/lib/snapshot-ref.d.ts.map +1 -0
  616. package/dist/workflow/lib/snapshot-ref.js +3 -0
  617. package/dist/workflow/lib/snapshot-ref.js.map +1 -0
  618. package/dist/workflow/lib/temporal-namespace.d.ts +5 -0
  619. package/dist/workflow/lib/temporal-namespace.d.ts.map +1 -0
  620. package/dist/workflow/lib/temporal-namespace.js +34 -0
  621. package/dist/workflow/lib/temporal-namespace.js.map +1 -0
  622. package/dist/workflow/lib/trigger-payload.d.ts +35 -0
  623. package/dist/workflow/lib/trigger-payload.d.ts.map +1 -0
  624. package/dist/workflow/lib/trigger-payload.js +3 -0
  625. package/dist/workflow/lib/trigger-payload.js.map +1 -0
  626. package/dist/workflow/lib/variable-requirement.d.ts +18 -0
  627. package/dist/workflow/lib/variable-requirement.d.ts.map +1 -0
  628. package/dist/workflow/lib/variable-requirement.js +3 -0
  629. package/dist/workflow/lib/variable-requirement.js.map +1 -0
  630. package/dist/workflow/lib/work-item-payloads.d.ts +114 -0
  631. package/dist/workflow/lib/work-item-payloads.d.ts.map +1 -0
  632. package/dist/workflow/lib/work-item-payloads.js +60 -0
  633. package/dist/workflow/lib/work-item-payloads.js.map +1 -0
  634. package/dist/workflow/lib/workflow-stage.d.ts +11 -0
  635. package/dist/workflow/lib/workflow-stage.d.ts.map +1 -0
  636. package/dist/workflow/lib/workflow-stage.js +28 -0
  637. package/dist/workflow/lib/workflow-stage.js.map +1 -0
  638. package/dist/workflow/lib/workspace-manifest-enums.d.ts +42 -0
  639. package/dist/workflow/lib/workspace-manifest-enums.d.ts.map +1 -0
  640. package/dist/workflow/lib/workspace-manifest-enums.js +80 -0
  641. package/dist/workflow/lib/workspace-manifest-enums.js.map +1 -0
  642. package/package.json +173 -0
  643. package/src/agent-composition/index.ts +17 -0
  644. package/src/agent-composition/lib/capability-layer.ts +46 -0
  645. package/src/agent-composition/lib/composition-limits-schema.ts +38 -0
  646. package/src/agent-composition/lib/composition-workspace.ts +210 -0
  647. package/src/agent-composition/lib/composition.ts +205 -0
  648. package/src/agent-composition/lib/intrinsic-floor.ts +50 -0
  649. package/src/agent-composition/lib/model-resolution-matrix.ts +112 -0
  650. package/src/agent-workspace/index.ts +27 -0
  651. package/src/agent-workspace/lib/agent-run-context.ts +44 -0
  652. package/src/agent-workspace/lib/agent-tool-defaults.ts +252 -0
  653. package/src/agent-workspace/lib/awp-v1.ts +289 -0
  654. package/src/agent-workspace/lib/context-json.ts +92 -0
  655. package/src/agent-workspace/lib/deliverable-spec-ref.ts +60 -0
  656. package/src/agent-workspace/lib/endpoint-fetch-spec.ts +66 -0
  657. package/src/agent-workspace/lib/manifest.ts +53 -0
  658. package/src/agent-workspace/lib/mount-apply.ts +79 -0
  659. package/src/agent-workspace/lib/working-file.ts +173 -0
  660. package/src/agent-workspace/lib/workspace-layout.ts +106 -0
  661. package/src/agent-workspace/lib/workspace-spec.ts +212 -0
  662. package/src/biome/index.ts +10 -0
  663. package/src/biome/lib/biome-api.ts +33 -0
  664. package/src/biome/lib/biome-capability-refs.ts +29 -0
  665. package/src/biome/lib/biome-engines.ts +18 -0
  666. package/src/biome/lib/biome-lifecycle-hooks.ts +28 -0
  667. package/src/biome/lib/biome-lifecycle.ts +29 -0
  668. package/src/biome/lib/biome-manifest.ts +102 -0
  669. package/src/biome/lib/biome-permissions.ts +35 -0
  670. package/src/biome/lib/biome-scope.ts +19 -0
  671. package/src/biome/lib/biome-trust-tier.ts +21 -0
  672. package/src/biome/lib/trust-tier-policies.ts +99 -0
  673. package/src/capability/index.ts +8 -0
  674. package/src/capability/lib/capability-contribution.ts +99 -0
  675. package/src/capability/lib/capability-grant.ts +90 -0
  676. package/src/capability/lib/capability-policy.ts +37 -0
  677. package/src/capability/lib/capability-ref.ts +138 -0
  678. package/src/capability/lib/errors.ts +180 -0
  679. package/src/capability/lib/meta-tool.ts +213 -0
  680. package/src/capability/lib/permission-profile.ts +91 -0
  681. package/src/capability/lib/shell-command-descriptor.ts +66 -0
  682. package/src/contribution/index.ts +4 -0
  683. package/src/contribution/lib/contribution-kind.ts +132 -0
  684. package/src/contribution/lib/contribution-source.ts +29 -0
  685. package/src/contribution/lib/contribution.ts +209 -0
  686. package/src/contribution/lib/registry.ts +100 -0
  687. package/src/document-templates/index.ts +24 -0
  688. package/src/document-templates/lib/document-template.ts +88 -0
  689. package/src/document-templates/lib/index.ts +2 -0
  690. package/src/document-templates/lib/rendering-shape.ts +48 -0
  691. package/src/document-themes/index.ts +21 -0
  692. package/src/document-themes/lib/component-vocabulary.ts +100 -0
  693. package/src/document-themes/lib/document-theme.ts +110 -0
  694. package/src/document-themes/lib/index.ts +2 -0
  695. package/src/entitlement/index.ts +1 -0
  696. package/src/entitlement/lib/entitlement.ts +142 -0
  697. package/src/execution-context/index.ts +3 -0
  698. package/src/execution-context/lib/caller.ts +46 -0
  699. package/src/execution-context/lib/execution-context.ts +205 -0
  700. package/src/execution-context/lib/subject.ts +17 -0
  701. package/src/execution-environment/index.ts +3 -0
  702. package/src/execution-environment/lib/approval-rule.ts +32 -0
  703. package/src/execution-environment/lib/built-in-environments.ts +89 -0
  704. package/src/execution-environment/lib/execution-environment.ts +266 -0
  705. package/src/kernel-state/index.ts +3 -0
  706. package/src/kernel-state/lib/adapter-kind.ts +18 -0
  707. package/src/kernel-state/lib/kernel-state.ts +139 -0
  708. package/src/kernel-state/lib/key-grammar.ts +105 -0
  709. package/src/llm-gateway/index.ts +2 -0
  710. package/src/llm-gateway/lib/caller.ts +48 -0
  711. package/src/llm-gateway/lib/errors.ts +111 -0
  712. package/src/mcp-tool/index.ts +6 -0
  713. package/src/mcp-tool/lib/mcp-protocol.ts +94 -0
  714. package/src/mcp-tool/lib/mcp-server-config.ts +17 -0
  715. package/src/mcp-tool/lib/provider-kind.ts +35 -0
  716. package/src/mcp-tool/lib/resolver-scope.ts +32 -0
  717. package/src/mcp-tool/lib/tool-provider.ts +62 -0
  718. package/src/mcp-tool/lib/tool-selection.ts +48 -0
  719. package/src/object/index.ts +4 -0
  720. package/src/object/lib/object-lifecycle.ts +22 -0
  721. package/src/object/lib/xema-object-kind.ts +73 -0
  722. package/src/object/lib/xema-object-ref.ts +233 -0
  723. package/src/object/lib/xema-object.ts +81 -0
  724. package/src/policy/index.ts +3 -0
  725. package/src/policy/lib/obligations.ts +155 -0
  726. package/src/policy/lib/policy.ts +104 -0
  727. package/src/policy/lib/route-hints.ts +51 -0
  728. package/src/runner/index.ts +11 -0
  729. package/src/runner/lib/dispatch.ts +61 -0
  730. package/src/runner/lib/input-hash.ts +66 -0
  731. package/src/runner/lib/job-token.ts +80 -0
  732. package/src/runner/lib/runner-attestation.ts +53 -0
  733. package/src/runner/lib/runner-job.ts +90 -0
  734. package/src/runner/lib/runner-kind.ts +10 -0
  735. package/src/runner/lib/runner-mode.ts +16 -0
  736. package/src/runner/lib/runner-plane.ts +101 -0
  737. package/src/runner/lib/runner-registration.ts +204 -0
  738. package/src/runner/lib/runner.ts +103 -0
  739. package/src/runner/lib/runtime-isolation.ts +53 -0
  740. package/src/search-source/index.ts +4 -0
  741. package/src/search-source/lib/indexable-document.ts +70 -0
  742. package/src/search-source/lib/search-index-event.ts +56 -0
  743. package/src/search-source/lib/search-replay.ts +96 -0
  744. package/src/search-source/lib/search-source-descriptor.ts +50 -0
  745. package/src/service-registry/index.ts +3 -0
  746. package/src/service-registry/lib/inject-service.ts +25 -0
  747. package/src/service-registry/lib/service-descriptor.ts +75 -0
  748. package/src/service-registry/lib/service-registry-client.ts +107 -0
  749. package/src/skill/index.ts +15 -0
  750. package/src/skill/lib/skill-enums.ts +124 -0
  751. package/src/skill/lib/skill-governance.ts +281 -0
  752. package/src/skill/lib/skill-source.ts +41 -0
  753. package/src/skill/lib/skill.ts +150 -0
  754. package/src/space/index.ts +3 -0
  755. package/src/space/lib/space-ref-parser.ts +198 -0
  756. package/src/space/lib/space-traversal.ts +55 -0
  757. package/src/space/lib/space.ts +173 -0
  758. package/src/subject/index.ts +2 -0
  759. package/src/subject/lib/subject.ts +111 -0
  760. package/src/subject/lib/token-class.ts +27 -0
  761. package/src/workflow/index.ts +45 -0
  762. package/src/workflow/lib/action-ref.ts +48 -0
  763. package/src/workflow/lib/activity-outputs.ts +105 -0
  764. package/src/workflow/lib/agent-role.ts +136 -0
  765. package/src/workflow/lib/artifact-ref.ts +93 -0
  766. package/src/workflow/lib/briefcase.ts +194 -0
  767. package/src/workflow/lib/canonical-concepts/canonical-concept-registry.ts +99 -0
  768. package/src/workflow/lib/canonical-concepts/concepts/change-intent.concepts.ts +124 -0
  769. package/src/workflow/lib/canonical-concepts/concepts/concern.concepts.ts +194 -0
  770. package/src/workflow/lib/canonical-concepts/concepts/domain.concepts.ts +205 -0
  771. package/src/workflow/lib/canonical-concepts/concepts/index.ts +15 -0
  772. package/src/workflow/lib/canonical-concepts/concepts/technology.concepts.ts +667 -0
  773. package/src/workflow/lib/canonical-concepts/index.ts +2 -0
  774. package/src/workflow/lib/catalog-taxonomies.ts +3695 -0
  775. package/src/workflow/lib/compiled-run.ts +376 -0
  776. package/src/workflow/lib/compiled-working-file.ts +35 -0
  777. package/src/workflow/lib/compiled-workspace-manifest.ts +185 -0
  778. package/src/workflow/lib/concurrency-group.ts +17 -0
  779. package/src/workflow/lib/deliverable-result.ts +238 -0
  780. package/src/workflow/lib/domain-tag.ts +48 -0
  781. package/src/workflow/lib/enums.ts +288 -0
  782. package/src/workflow/lib/errors.ts +171 -0
  783. package/src/workflow/lib/job-run.ts +65 -0
  784. package/src/workflow/lib/model-ref.ts +118 -0
  785. package/src/workflow/lib/mount-plan.ts +230 -0
  786. package/src/workflow/lib/phase-report.ts +67 -0
  787. package/src/workflow/lib/platform-task-queue.ts +83 -0
  788. package/src/workflow/lib/review-subject/index.ts +15 -0
  789. package/src/workflow/lib/review-subject/kinds.ts +31 -0
  790. package/src/workflow/lib/review-subject/narrow.ts +123 -0
  791. package/src/workflow/lib/review-subject/producers/artifact-ref.ts +33 -0
  792. package/src/workflow/lib/review-subject/producers/string.ts +24 -0
  793. package/src/workflow/lib/role-capability.ts +80 -0
  794. package/src/workflow/lib/run-progress.ts +254 -0
  795. package/src/workflow/lib/sampling-profiles.ts +153 -0
  796. package/src/workflow/lib/snapshot-ref.ts +27 -0
  797. package/src/workflow/lib/temporal-namespace.ts +78 -0
  798. package/src/workflow/lib/trigger-payload.ts +69 -0
  799. package/src/workflow/lib/variable-requirement.ts +66 -0
  800. package/src/workflow/lib/work-item-payloads.ts +139 -0
  801. package/src/workflow/lib/workflow-stage.ts +89 -0
  802. package/src/workflow/lib/workspace-manifest-enums.ts +143 -0
@@ -0,0 +1,110 @@
1
+ // ═══════════════════════════════════════════════════════════════════════════
2
+ // ── DocumentTheme manifest + tokens ──
3
+ //
4
+ // The shape every theme — built-in, biome-shipped, org-authored —
5
+ // conforms to. The registry persists `manifest`, `tokens`, and `css`
6
+ // separately so the FE can fetch only what it needs (manifest for the
7
+ // gallery; manifest+tokens+css when activating a theme on a document).
8
+ // ═══════════════════════════════════════════════════════════════════════════
9
+
10
+ import type { RenderingShape } from '../../document-templates';
11
+
12
+ /**
13
+ * Same 3-tier scope as templates. Resolution precedence:
14
+ * ORG > BIOME > SYSTEM (most specific wins). Themes are scoped at the
15
+ * registry level; per-page selection is via `Page.themeRef` (a ref into
16
+ * this registry).
17
+ */
18
+ export enum DocumentThemeScope {
19
+ SYSTEM = 'SYSTEM',
20
+ BIOME = 'BIOME',
21
+ ORG = 'ORG',
22
+ }
23
+
24
+ /**
25
+ * Manifest entry — the metadata fetched for the theme gallery and the
26
+ * theme dropdown in the document topbar.
27
+ *
28
+ * `supportedShapes` lets a theme opt out of rendering shapes that don't
29
+ * fit it visually (e.g. a heavily-decorated letter theme might exclude
30
+ * `ANIMATED_SLIDES`). Empty / unset = supports all shapes.
31
+ *
32
+ * `supportedFormats` lets a theme constrain itself to a subset of paper
33
+ * formats (e.g. a poster theme might only support TABLOID). Empty /
34
+ * unset = supports all formats.
35
+ */
36
+ export interface DocumentThemeManifest {
37
+ readonly slug: string;
38
+ readonly name: string;
39
+ readonly description: string;
40
+ readonly supportedShapes?: readonly RenderingShape[];
41
+ readonly supportedFormats?: readonly string[];
42
+ readonly previewThumbnailUrl?: string;
43
+ readonly version: string;
44
+ readonly scope: DocumentThemeScope;
45
+ }
46
+
47
+ /**
48
+ * The token pack — `theme.json`. Closed VOCABULARY (the keys defined
49
+ * here), open VALUES (the strings each implementation picks).
50
+ *
51
+ * Themes are expected to populate the full token surface; missing keys
52
+ * fall back to the system default theme's tokens at resolution time
53
+ * (registry-side defaulting, not silent — logged + emitted as a
54
+ * warning so theme authors notice).
55
+ */
56
+ export interface DocumentThemeTokens {
57
+ readonly color: {
58
+ readonly ink: string;
59
+ readonly paper: string;
60
+ readonly accent: string;
61
+ readonly accentInk: string;
62
+ readonly muted: string;
63
+ readonly mutedInk: string;
64
+ readonly rule: string;
65
+ readonly success: string;
66
+ readonly warn: string;
67
+ readonly danger: string;
68
+ };
69
+ readonly type: {
70
+ readonly familySans: string;
71
+ readonly familySerif: string;
72
+ readonly familyMono: string;
73
+ /** [display, title, h2, h3, body, caption, overline] — pt values. */
74
+ readonly scalePt: readonly [number, number, number, number, number, number, number];
75
+ /** Matching line-heights for the scale. */
76
+ readonly lineHeight: readonly [number, number, number, number, number, number, number];
77
+ /** Matching weights for the scale. */
78
+ readonly weight: readonly [number, number, number, number, number, number, number];
79
+ };
80
+ readonly space: {
81
+ /** mm values used by `@page` margins and macro layout. */
82
+ readonly pageMargin: { top: number; right: number; bottom: number; left: number };
83
+ /** Generic spacing scale (0/4/8/12/16/24/32/48 — px). */
84
+ readonly scalePx: readonly [number, number, number, number, number, number, number, number];
85
+ };
86
+ readonly radius: {
87
+ /** Corner radii — px. */
88
+ readonly scalePx: readonly [number, number, number, number];
89
+ };
90
+ }
91
+
92
+ /**
93
+ * Full theme bundle the kb-api theme endpoint returns on activation.
94
+ * `css` is the serialized theme stylesheet (already token-substituted
95
+ * OR using CSS custom properties that reference the same tokens — the
96
+ * runtime treats it as an opaque string).
97
+ */
98
+ export interface DocumentTheme {
99
+ readonly manifest: DocumentThemeManifest;
100
+ readonly tokens: DocumentThemeTokens;
101
+ readonly css: string;
102
+ }
103
+
104
+ /**
105
+ * Wire-shape reference to a theme — `<scope>:<slug>` (system or
106
+ * biome) or `<scope>:<orgId>:<slug>` (org). Matches
107
+ * DocumentTemplateRef's encoding so consumers parse both with one
108
+ * helper.
109
+ */
110
+ export type DocumentThemeRef = string;
@@ -0,0 +1,2 @@
1
+ export * from './document-theme';
2
+ export * from './component-vocabulary';
@@ -0,0 +1 @@
1
+ export * from './lib/entitlement';
@@ -0,0 +1,142 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * The Xema deployment/org edition. Closed set — the build is compiled for
5
+ * exactly one ceiling edition, and an org is provisioned at exactly one
6
+ * edition (never above the build ceiling).
7
+ *
8
+ * `Community` is the FAIL-CLOSED default: any ambiguity in resolution
9
+ * (missing config, missing org row, malformed upstream payload) collapses to
10
+ * `Community`. Enterprise capability is granted only on an explicit, valid
11
+ * `Enterprise` signal at BOTH the deployment ceiling AND the org row.
12
+ */
13
+ export enum Edition {
14
+ Community = 'community',
15
+ Enterprise = 'enterprise',
16
+ }
17
+
18
+ export const EditionSchema = z.nativeEnum(Edition);
19
+
20
+ /**
21
+ * The closed set of feature keys other Xema features gate on. Each key names a
22
+ * single Enterprise-gated capability; a key being absent from an
23
+ * `EntitlementSet.features` map (or set to `false`) means NOT entitled.
24
+ *
25
+ * Closed set — adding a gated feature is a kernel change. Never gate on a
26
+ * free-form string; always reference a member of this enum so the boundary
27
+ * between "known gated feature" and "typo / unknown feature" stays explicit
28
+ * (an unknown key can never be entitled).
29
+ */
30
+ export enum EntitlementKey {
31
+ /** Nested / hierarchical teams (sub-teams within teams). */
32
+ TeamsNested = 'teams.nested',
33
+ /** Delegated team administration (team-scoped admins below the org admin). */
34
+ TeamsDelegatedAdmin = 'teams.delegatedAdmin',
35
+ /** SCIM provisioning for teams/membership. */
36
+ TeamsScim = 'teams.scim',
37
+ /** Custom (org-authored) roles beyond the built-in role set. */
38
+ RolesCustom = 'roles.custom',
39
+ /** Access-request approval workflow. */
40
+ AccessRequestWorkflow = 'access.requestWorkflow',
41
+ /** External OIDC identity-provider federation (SSO). */
42
+ SsoOidcFederation = 'sso.oidc-federation',
43
+ }
44
+
45
+ export const EntitlementKeySchema = z.nativeEnum(EntitlementKey);
46
+
47
+ /**
48
+ * An entitlement decision for a single org: the resolved `edition` plus a
49
+ * per-feature map. A feature is entitled only when its key maps to `true`;
50
+ * absent or `false` ⇒ not entitled (fail-closed).
51
+ */
52
+ export interface EntitlementSet {
53
+ edition: Edition;
54
+ features: Partial<Record<EntitlementKey, boolean>>;
55
+ }
56
+
57
+ export const EntitlementSetSchema = z.object({
58
+ edition: EditionSchema,
59
+ features: z.record(EntitlementKeySchema, z.boolean()),
60
+ }) as z.ZodType<EntitlementSet>;
61
+
62
+ /**
63
+ * The fully-locked-down Community entitlement: Community edition with every
64
+ * gated feature off. Returned by every fail-closed path.
65
+ */
66
+ const COMMUNITY_ENTITLEMENT: EntitlementSet = {
67
+ edition: Edition.Community,
68
+ features: {},
69
+ };
70
+
71
+ /**
72
+ * Resolve the EFFECTIVE entitlement for an org as
73
+ * **`effective = min(deploymentCeiling, orgEntitlement)`**.
74
+ *
75
+ * FAIL-CLOSED rules (a compromised or stale org row can never exceed the build
76
+ * edition, and any ambiguity collapses to Community):
77
+ *
78
+ * 1. If `deploymentCeiling` is `Community`, the result is ALWAYS Community with
79
+ * every gated feature `false`, regardless of what the org row claims. The
80
+ * build simply does not contain Enterprise capability to grant.
81
+ * 2. If the org entitlement is `undefined` (unknown / absent / not yet
82
+ * provisioned), the result is the Community default.
83
+ * 3. If `deploymentCeiling` is `Enterprise` but the org row's edition is
84
+ * `Community`, the org is Community and every feature is `false`.
85
+ * 4. Only when BOTH the ceiling and the org row are `Enterprise` are the org's
86
+ * `true` feature flags honored; any non-`true` (absent / `false`) feature
87
+ * stays off.
88
+ *
89
+ * Never grants MORE than the org explicitly enabled, and never more than the
90
+ * build ceiling allows. There is no path that returns Enterprise without an
91
+ * explicit Enterprise signal on both sides.
92
+ */
93
+ export function resolveEffectiveEntitlement(
94
+ deploymentCeiling: Edition,
95
+ orgEntitlement: EntitlementSet | undefined,
96
+ ): EntitlementSet {
97
+ // Rule 1: a Community build can never grant Enterprise.
98
+ if (deploymentCeiling !== Edition.Enterprise) {
99
+ return { edition: Edition.Community, features: {} };
100
+ }
101
+
102
+ // Rule 2: unknown / absent org ⇒ Community default.
103
+ if (!orgEntitlement) {
104
+ return { edition: Edition.Community, features: {} };
105
+ }
106
+
107
+ // Rule 3: org row not Enterprise ⇒ Community, all features off.
108
+ if (orgEntitlement.edition !== Edition.Enterprise) {
109
+ return { edition: Edition.Community, features: {} };
110
+ }
111
+
112
+ // Rule 4: ceiling AND org are Enterprise — honor only explicit `true` flags.
113
+ const features: Partial<Record<EntitlementKey, boolean>> = {};
114
+ for (const key of Object.values(EntitlementKey)) {
115
+ if (orgEntitlement.features[key] === true) {
116
+ features[key] = true;
117
+ }
118
+ }
119
+ return { edition: Edition.Enterprise, features };
120
+ }
121
+
122
+ /** Re-exported for callers that want the canonical fail-closed default. */
123
+ export { COMMUNITY_ENTITLEMENT };
124
+
125
+ /**
126
+ * Whether a single feature is entitled under an already-resolved EFFECTIVE
127
+ * entitlement. Fail-closed: returns `true` ONLY when the effective edition is
128
+ * `Enterprise` AND the feature flag is explicitly `true`. Any absent / `false`
129
+ * / unknown state ⇒ `false`.
130
+ *
131
+ * Always call this against the output of `resolveEffectiveEntitlement` — never
132
+ * against a raw org row, so the deployment ceiling has already been applied.
133
+ */
134
+ export function isFeatureEntitled(
135
+ effective: EntitlementSet,
136
+ key: EntitlementKey,
137
+ ): boolean {
138
+ return (
139
+ effective.edition === Edition.Enterprise &&
140
+ effective.features[key] === true
141
+ );
142
+ }
@@ -0,0 +1,3 @@
1
+ export * from './lib/subject';
2
+ export * from './lib/caller';
3
+ export * from './lib/execution-context';
@@ -0,0 +1,46 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * Closed caller-kind set (plan v4.3 §A.3).
5
+ *
6
+ * Distinguishes how the invocation entered the system — drives audit
7
+ * shape, default obligations (e.g. `Web` callers default to `audit` +
8
+ * `redact-secrets`), and route-hint fallbacks. Closed set.
9
+ */
10
+ export enum CallerKind {
11
+ Web = 'web',
12
+ Api = 'api',
13
+ Agent = 'agent',
14
+ Workflow = 'workflow',
15
+ Shell = 'shell',
16
+ Scheduler = 'scheduler',
17
+ }
18
+
19
+ export const CallerKindSchema = z.nativeEnum(CallerKind);
20
+
21
+ /**
22
+ * `Caller` — entry-point envelope captured on every invocation.
23
+ *
24
+ * v4.3 contract shape per plan §A.3:
25
+ * { kind: CallerKind; appId?; sessionId?; ip?; userAgent? }
26
+ *
27
+ * `appId` and `sessionId` are populated when the caller is an embedded
28
+ * app or interactive session; `ip` + `userAgent` come from the HTTP edge
29
+ * (public-gateway-api) and are dropped at internal hops to avoid silent
30
+ * PII propagation past the audit boundary.
31
+ */
32
+ export interface Caller {
33
+ kind: CallerKind;
34
+ appId?: string;
35
+ sessionId?: string;
36
+ ip?: string;
37
+ userAgent?: string;
38
+ }
39
+
40
+ export const CallerSchema = z.object({
41
+ kind: CallerKindSchema,
42
+ appId: z.string().min(1).optional(),
43
+ sessionId: z.string().min(1).optional(),
44
+ ip: z.string().min(1).optional(),
45
+ userAgent: z.string().min(1).optional(),
46
+ }) as z.ZodType<Caller>;
@@ -0,0 +1,205 @@
1
+ import { z } from 'zod';
2
+ import {
3
+ CapabilityRefSchema,
4
+ type CapabilityRef,
5
+ } from '../../capability';
6
+ import {
7
+ ExecutionEnvironmentKind,
8
+ ExecutionEnvironmentKindSchema,
9
+ } from '../../execution-environment';
10
+ import {
11
+ DataClassification,
12
+ DataClassificationSchema,
13
+ SpaceRefSchema,
14
+ type SpaceRef,
15
+ } from '../../space';
16
+ import { CallerSchema, type Caller } from './caller';
17
+ import {
18
+ ActingForRefSchema,
19
+ SubjectRefSchema,
20
+ type ActingForRef,
21
+ type SubjectRef,
22
+ } from './subject';
23
+
24
+ /**
25
+ * Closed biome trust-tier set referenced by `ExecutionContext.biome`
26
+ * (plan v4.3 §A.3).
27
+ *
28
+ * Tier ordering goes Untrusted → Community → Verified → Official; OPA
29
+ * policy bundles MAY gate a capability to a minimum tier, but the kernel
30
+ * never assumes a fallback default — `signatureVerified=false` on a non-
31
+ * `Untrusted` tier MUST fail-fast at the gateway.
32
+ */
33
+ export enum BiomeTrustTier {
34
+ Official = 'official',
35
+ Verified = 'verified',
36
+ Community = 'community',
37
+ Untrusted = 'untrusted',
38
+ }
39
+
40
+ export const BiomeTrustTierSchema = z.nativeEnum(BiomeTrustTier);
41
+
42
+ /**
43
+ * Biome attestation block carried on `ExecutionContext.biome` (plan
44
+ * v4.3 §A.3). Set when the capability is provided by a biome (vs. an
45
+ * embedded built-in). `signatureVerified` is the Cosign verdict from the
46
+ * biome-fetcher-api at install time.
47
+ */
48
+ export interface ExecutionContextBiome {
49
+ id: string;
50
+ version: string;
51
+ trustTier: BiomeTrustTier;
52
+ signatureVerified: boolean;
53
+ }
54
+
55
+ export const ExecutionContextBiomeSchema = z.object({
56
+ id: z.string().min(1),
57
+ version: z.string().min(1),
58
+ trustTier: BiomeTrustTierSchema,
59
+ signatureVerified: z.boolean(),
60
+ }) as z.ZodType<ExecutionContextBiome>;
61
+
62
+ /**
63
+ * Environment block carried on `ExecutionContext.environment` (plan
64
+ * v4.3 §A.3).
65
+ *
66
+ * `id` is the canonical `environment:<slug>` ref (string-typed here to
67
+ * keep the envelope JSON-clean — the kernel-side reference type lives in
68
+ * `@xemahq/execution-environment-contracts`).
69
+ *
70
+ * `kind` is the {@link ExecutionEnvironmentKind} value matched against the eight
71
+ * built-in environments + the `trusted-dev` escape hatch. The internal
72
+ * identifier `ExecutionEnvironmentKind` is still named "Zone" — the rename to
73
+ * `ExecutionEnvironmentKind` is scheduled for Phase A.5 (plan §A.1
74
+ * follow-up sweep), not Phase A.3.
75
+ */
76
+ export interface ExecutionContextEnvironment {
77
+ id: string;
78
+ kind: ExecutionEnvironmentKind;
79
+ }
80
+
81
+ export const ExecutionContextEnvironmentSchema = z.object({
82
+ id: z.string().min(1),
83
+ kind: ExecutionEnvironmentKindSchema,
84
+ }) as z.ZodType<ExecutionContextEnvironment>;
85
+
86
+ /**
87
+ * Capability block carried on `ExecutionContext.capability` (plan
88
+ * v4.3 §A.3).
89
+ *
90
+ * `ref` is the canonical capability reference (`<biome>:<verb>@<major>`).
91
+ * `inputHash` is an optional SHA-256 fingerprint of the JSON-serialised
92
+ * input — used for cache-key composition and audit replay. Omitted on
93
+ * invocations whose input is non-deterministic (e.g. streaming uploads).
94
+ */
95
+ export interface ExecutionContextCapability {
96
+ ref: CapabilityRef;
97
+ inputHash?: string;
98
+ }
99
+
100
+ export const ExecutionContextCapabilitySchema = z.object({
101
+ ref: CapabilityRefSchema,
102
+ inputHash: z.string().min(1).optional(),
103
+ }) as z.ZodType<ExecutionContextCapability>;
104
+
105
+ /**
106
+ * Resource block carried on `ExecutionContext.resource` (plan v4.3 §A.3).
107
+ *
108
+ * Set when the invocation targets a specific persistent object (a
109
+ * XemaObject, a document, an SCM file). `ref` is the resource reference
110
+ * (XVFS path or domain ref); `classification` MUST be carried alongside
111
+ * because policy obligations like `redact-secrets` and
112
+ * `restrict-output-classification` key on it.
113
+ */
114
+ export interface ExecutionContextResource {
115
+ ref: string;
116
+ classification: DataClassification;
117
+ }
118
+
119
+ export const ExecutionContextResourceSchema = z.object({
120
+ ref: z.string().min(1),
121
+ classification: DataClassificationSchema,
122
+ }) as z.ZodType<ExecutionContextResource>;
123
+
124
+ /**
125
+ * Constraints block carried on `ExecutionContext.constraints` (plan
126
+ * v4.3 §A.3).
127
+ *
128
+ * Per-invocation caps + flags the gateway derives from the caller's
129
+ * grant, the org's environment policy, and the capability's defaults.
130
+ * `requireCustomerEdge` is a hard runner-selection constraint (see
131
+ * `RouteHint.requireCustomerEdge` in `@xemahq/policy-contracts`).
132
+ *
133
+ * Omitted fields mean "no constraint at this layer"; the runner MUST
134
+ * still respect downstream layers (e.g. org-level cost budgets).
135
+ */
136
+ export interface ExecutionContextConstraints {
137
+ maxCostUsd?: number;
138
+ maxDurationSeconds?: number;
139
+ requireApproval?: boolean;
140
+ requireAudit?: boolean;
141
+ requireCustomerEdge?: boolean;
142
+ }
143
+
144
+ export const ExecutionContextConstraintsSchema = z.object({
145
+ maxCostUsd: z.number().nonnegative().optional(),
146
+ maxDurationSeconds: z.number().int().nonnegative().optional(),
147
+ requireApproval: z.boolean().optional(),
148
+ requireAudit: z.boolean().optional(),
149
+ requireCustomerEdge: z.boolean().optional(),
150
+ }) as z.ZodType<ExecutionContextConstraints>;
151
+
152
+ /**
153
+ * `ExecutionContext` — the per-invocation envelope (plan v4.3 §A.3).
154
+ *
155
+ * Constructed by `biomes/xema-capability-router/api/xema-capability-router` at the gateway boundary,
156
+ * passed verbatim to `authorization-api` for the policy check, and
157
+ * forwarded to the dispatched runner. Audit, policy, and runner all
158
+ * read the SAME shape — no parallel envelopes.
159
+ *
160
+ * Wave 4 (Phase A.5) wires this through `dispatch.service.ts`. This
161
+ * package is contract-only — no consumer rewiring lives here.
162
+ */
163
+ export interface ExecutionContext {
164
+ id: string;
165
+ requestId: string;
166
+ traceId: string;
167
+ subject: SubjectRef;
168
+ caller: Caller;
169
+ space: SpaceRef;
170
+ environment: ExecutionContextEnvironment;
171
+ biome?: ExecutionContextBiome;
172
+ capability: ExecutionContextCapability;
173
+ resource?: ExecutionContextResource;
174
+ constraints?: ExecutionContextConstraints;
175
+ /**
176
+ * RFC 8693 delegation chain (`act`), outermost-acting-first. Built at the
177
+ * gateway from `RequestContext.actorChain` and carried through policy → audit
178
+ * → credential-broker. Empty/omitted for a non-delegated invocation
179
+ * (plan §W4 / Pillar 3.2).
180
+ */
181
+ actorChain?: ActingForRef[];
182
+ /**
183
+ * Opaque credential-binding id the PDP selected for this invocation
184
+ * (`PolicyDecision.credentialBindingId`). When present, the executing
185
+ * gateway/runner resolves it via the credential-broker. NEVER a secret
186
+ * (plan §W4 / Pillar 3.2).
187
+ */
188
+ credentialBindingId?: string;
189
+ }
190
+
191
+ export const ExecutionContextSchema = z.object({
192
+ id: z.string().min(1),
193
+ requestId: z.string().min(1),
194
+ traceId: z.string().min(1),
195
+ subject: SubjectRefSchema,
196
+ caller: CallerSchema,
197
+ space: SpaceRefSchema,
198
+ environment: ExecutionContextEnvironmentSchema,
199
+ biome: ExecutionContextBiomeSchema.optional(),
200
+ capability: ExecutionContextCapabilitySchema,
201
+ resource: ExecutionContextResourceSchema.optional(),
202
+ constraints: ExecutionContextConstraintsSchema.optional(),
203
+ actorChain: z.array(ActingForRefSchema).optional(),
204
+ credentialBindingId: z.string().min(1).optional(),
205
+ }) as z.ZodType<ExecutionContext>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The canonical subject taxonomy now lives in `@xemahq/subject-contracts`
3
+ * (the single closed `SubjectKind`, the `{ kind, id, roles?, actingFor? }`
4
+ * `SubjectRef`, the `ActingForRef` delegation pointer, and the
5
+ * `subjectRefToString`/`parseSubjectRef` composite bridges). This module
6
+ * re-exports that surface so existing `@xemahq/execution-context-contracts`
7
+ * importers are unaffected. Do NOT redeclare a `SubjectKind`/`SubjectRef` here.
8
+ */
9
+ export {
10
+ SubjectKind,
11
+ SubjectKindSchema,
12
+ SubjectRefSchema,
13
+ ActingForRefSchema,
14
+ subjectRefToString,
15
+ parseSubjectRef,
16
+ } from '../../subject';
17
+ export type { SubjectRef, ActingForRef } from '../../subject';
@@ -0,0 +1,3 @@
1
+ export * from './lib/built-in-environments';
2
+ export * from './lib/approval-rule';
3
+ export * from './lib/execution-environment';
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ import {
3
+ CapabilityRefSchema,
4
+ type CapabilityRef,
5
+ } from '../../capability';
6
+
7
+ /**
8
+ * Per-environment approval rule (plan §3.4 `ExecutionEnvironment.approvalRules[]`,
9
+ * §30.7 Human-in-the-loop approval at runtime).
10
+ *
11
+ * When a runtime invocation matches a rule whose `capability` ref covers the
12
+ * call, the gateway suspends the invocation, emits an `ApprovalRequested`
13
+ * CloudEvent, and renders a typed approval dialog. The rule may further
14
+ * require a specific approver role and/or a minimum approver count.
15
+ *
16
+ * `requireApproverCount` defaults are NOT encoded here — the gateway
17
+ * fail-fasts on a missing/invalid count rather than substituting a silent
18
+ * default (engineering constitution: no silent fallbacks).
19
+ */
20
+ export interface ApprovalRule {
21
+ capability: CapabilityRef;
22
+ requireRole?: string;
23
+ requireApproverCount?: number;
24
+ reason?: string;
25
+ }
26
+
27
+ export const ApprovalRuleSchema = z.object({
28
+ capability: CapabilityRefSchema,
29
+ requireRole: z.string().min(1).optional(),
30
+ requireApproverCount: z.number().int().positive().optional(),
31
+ reason: z.string().min(1).optional(),
32
+ }) as z.ZodType<ApprovalRule>;
@@ -0,0 +1,89 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * Closed set of built-in Execution Environment kinds.
5
+ *
6
+ * Plan-of-record: v4.3 §2 vocabulary table (`Zone → Environment` row),
7
+ * §3.4 (the eight built-in environments that cover every story we have
8
+ * today), and §30.6 (`trusted-dev` environment — the developer escape
9
+ * hatch).
10
+ *
11
+ * v1 ships ONLY these built-ins; custom environments are an explicit v2
12
+ * extension (plan §16). The downstream `ExecutionEnvironment.scope` type
13
+ * intentionally widens to `ExecutionEnvironmentKind | string` for future-
14
+ * proofing, but at v1 the only legal scope values are members of this
15
+ * enum — see `isExecutionEnvironmentKind`.
16
+ *
17
+ * Slugs are stable wire identifiers and MUST NOT change once shipped;
18
+ * they appear in `ExecutionEnvironmentRef` (`environment:<slug>`), in
19
+ * capability grants, and in audit logs.
20
+ */
21
+ export enum ExecutionEnvironmentKind {
22
+ /** Platform operators / migrations. */
23
+ System = 'system',
24
+ /** Org admins; biome install/uninstall. */
25
+ Org = 'org',
26
+ /** Project members; default agent/workflow runtime. */
27
+ Project = 'project',
28
+ /** Apps configured for an audience. */
29
+ App = 'app',
30
+ /** Interactive session bounded by user permissions. */
31
+ Session = 'session',
32
+ /**
33
+ * Biome build/test (Linux container OK here) + agent-generated biome
34
+ * staging. NOT the same as `TrustedDev` — `Sandbox` is for untrusted
35
+ * biomes the org is evaluating.
36
+ */
37
+ Sandbox = 'sandbox',
38
+ /** External delegated sessions (chat widgets, customer portals). */
39
+ Public = 'public',
40
+ /** Biome inspected for publication; no real org data access. */
41
+ StoreReview = 'store-review',
42
+ /**
43
+ * Local-dev / personal-sandbox environment (plan §30.6). Inside it the
44
+ * Capability Gateway grants every capability the biome *declared* in
45
+ * its manifest, no resource glob, no rate limit, no human approval.
46
+ * Audit-log still records every call so devs can inspect what their
47
+ * biome *would* do in production. Only `power-user-developer` profile
48
+ * can be installed here, and the environment is never reachable from
49
+ * production data.
50
+ */
51
+ TrustedDev = 'trusted-dev',
52
+ }
53
+
54
+ export const ExecutionEnvironmentKindSchema = z.nativeEnum(ExecutionEnvironmentKind);
55
+
56
+ /**
57
+ * Stable, ordered list of every built-in environment slug. Seeded at
58
+ * boot by `authorization-api` / `object-registry-api` per plan §17.5
59
+ * step 1.
60
+ *
61
+ * Ordering is intentional (system → org → project → app → session →
62
+ * sandbox → public → store-review → trusted-dev) and matches the table
63
+ * in §3.4 followed by the dev escape hatch from §30.6. Do not reorder
64
+ * without a coordinated migration of any consumer that relies on
65
+ * positional iteration.
66
+ */
67
+ export const BUILT_IN_ENVIRONMENT_SLUGS: readonly ExecutionEnvironmentKind[] = [
68
+ ExecutionEnvironmentKind.System,
69
+ ExecutionEnvironmentKind.Org,
70
+ ExecutionEnvironmentKind.Project,
71
+ ExecutionEnvironmentKind.App,
72
+ ExecutionEnvironmentKind.Session,
73
+ ExecutionEnvironmentKind.Sandbox,
74
+ ExecutionEnvironmentKind.Public,
75
+ ExecutionEnvironmentKind.StoreReview,
76
+ ExecutionEnvironmentKind.TrustedDev,
77
+ ] as const;
78
+
79
+ /**
80
+ * Narrowing guard: returns `true` iff `slug` is one of the built-in
81
+ * environment slugs. Used by `ExecutionEnvironmentSchema` and the
82
+ * authorization-api to refuse custom-scoped environments at v1 (plan §16
83
+ * non-goal).
84
+ */
85
+ export function isExecutionEnvironmentKind(
86
+ slug: string,
87
+ ): slug is ExecutionEnvironmentKind {
88
+ return (BUILT_IN_ENVIRONMENT_SLUGS as readonly string[]).includes(slug);
89
+ }