@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,212 @@
1
+ import type { WorkingFileBinding } from './working-file';
2
+
3
+ // ═══════════════════════════════════════════════════════════════════════════
4
+ // ── Agent Workspace Protocol (AWP) — versioned WorkspaceSpec ──
5
+ //
6
+ // The declarative description of the `/workspace/` tree every agent session
7
+ // runs inside. Versioned (`awp/v<n>`) and serializable so it can seed a
8
+ // fine-tune corpus.
9
+ //
10
+ // Replaces the closed `WorkspaceMount` enum + the hardcoded
11
+ // `READWRITE_MOUNT_KEYS` set in the DSL compiler. Biomes additively
12
+ // contribute slots/sub-slots through `WorkspaceSpec` overlays at platform
13
+ // boot — they cannot drop or modify base slots.
14
+ // ═══════════════════════════════════════════════════════════════════════════
15
+
16
+ export enum SlotMode {
17
+ ReadOnly = 'read-only',
18
+ ReadWrite = 'read-write',
19
+ }
20
+
21
+ /**
22
+ * Whether a slot is included in every workspace by default (`always`) or
23
+ * only when a workflow explicitly mounts it (`optional`).
24
+ *
25
+ * `always` slots are auto-mounted by the renderer regardless of the
26
+ * workflow YAML's `with.mounts` block. The action manifest's
27
+ * `allowedMounts` is the per-action subset of `optional` slots that may be
28
+ * explicitly declared.
29
+ */
30
+ export type SlotPresence = 'always' | 'optional';
31
+
32
+ /**
33
+ * Who controls a sub-slot's contents. `user` sub-slots are populated from
34
+ * DSL refIds (workflow author or runtime caller); `platform` sub-slots
35
+ * are populated by the orchestrator adapter at session start (e.g. the
36
+ * OpenCode adapter writing `.opencode/biomes/`).
37
+ */
38
+ export type SlotOwnership = 'user' | 'platform';
39
+
40
+ /**
41
+ * Which runtime identifier the `git-push` policy uses as the suffix on
42
+ * the branch name. Closed enum so manifest overrides and callers stay
43
+ * type-safe. `sessionId` (default) gives session-scoped branches
44
+ * (`xema/session/<sessionId>`) — the right choice when each session's
45
+ * work is short-lived. `projectId` gives a long-lived working branch
46
+ * shared across sessions (`xema/webapp/<projectId>`) — used by the
47
+ * Webapp Studio biome where the user accumulates progress.
48
+ */
49
+ export enum GitPushBranchSuffix {
50
+ SessionId = 'sessionId',
51
+ ProjectId = 'projectId',
52
+ }
53
+
54
+ /**
55
+ * Concurrency posture for the `git-push` policy when multiple sessions
56
+ * might write the same branch. `force` (default) blindly overwrites —
57
+ * safe for session-scoped branches because each session owns its own
58
+ * suffix. `lease` uses `git push --force-with-lease` so concurrent
59
+ * writers fail fast with a recoverable conflict instead of clobbering
60
+ * each other — required when multiple sessions can target the same
61
+ * long-lived branch (studio working branch).
62
+ */
63
+ export enum GitPushConcurrencyMode {
64
+ Force = 'force',
65
+ Lease = 'lease',
66
+ }
67
+
68
+ /**
69
+ * How a slot's contents survive across pod recycle / session resume.
70
+ *
71
+ * - `none` (default) — ephemeral. The slot is regenerated at session
72
+ * start and never persisted. Use for platform-rendered slots and for
73
+ * user-data slots that are deterministic functions of the invocation
74
+ * (e.g. `inputs/`).
75
+ * - `tarball` — captured by the existing snapshot pipeline as
76
+ * per-path tarballs in MinIO (`{org}/{project}/{sessionId}/workspace/<path>.tar.gz`)
77
+ * and restored on resume. Use for user-authored content that must
78
+ * survive worker recycle (e.g. `deliverables/`, `uploads/`).
79
+ * - `git-push` — captured by pushing the slot's working tree to a
80
+ * branch on the SCM remote. The branch name is
81
+ * `{branchPrefix}{<branchSuffix>}` where `branchSuffix` picks the
82
+ * runtime identifier (sessionId by default; projectId for studio's
83
+ * long-lived working branch). `concurrencyMode` selects between
84
+ * `--force` (overwrite — fine for session-scoped suffixes) and
85
+ * `--force-with-lease` (fail-fast on concurrent writers — required
86
+ * for shared long-lived suffixes).
87
+ */
88
+ export type SlotPersistencePolicy =
89
+ | { readonly kind: 'none' }
90
+ | { readonly kind: 'tarball' }
91
+ | {
92
+ readonly kind: 'git-push';
93
+ readonly branchPrefix: string;
94
+ /** Defaults to `GitPushBranchSuffix.SessionId` when omitted. */
95
+ readonly branchSuffix?: GitPushBranchSuffix;
96
+ /** Defaults to `GitPushConcurrencyMode.Force` when omitted. */
97
+ readonly concurrencyMode?: GitPushConcurrencyMode;
98
+ };
99
+
100
+ export interface SubSlotDefinition {
101
+ readonly key: string;
102
+ readonly path: string;
103
+ readonly allowedModes: readonly SlotMode[];
104
+ readonly defaultMode: SlotMode;
105
+ readonly ownership: SlotOwnership;
106
+ }
107
+
108
+ export interface SlotDefinition {
109
+ readonly key: string;
110
+ readonly path: string;
111
+ readonly presence: SlotPresence;
112
+ readonly allowedModes: readonly SlotMode[];
113
+ readonly defaultMode: SlotMode;
114
+ readonly subSlots?: readonly SubSlotDefinition[];
115
+ /**
116
+ * When true, the slot's `path` IS the full target file path (no
117
+ * sub-paths allowed). Mount entries targeting a single-file slot must
118
+ * have `relPath === ''`. Used for platform-rendered single-file slots
119
+ * like `agents-md` (`/workspace/AGENTS.md`) and `context-json`
120
+ * (`/workspace/context.json`).
121
+ */
122
+ readonly singleFile?: boolean;
123
+ /**
124
+ * Who controls this slot's contents. Mirrors `SubSlotDefinition.ownership`.
125
+ * `platform` slots are populated by platform-rendered sources (e.g.
126
+ * `rendered-agents-md`, `agent-definition`); `user` slots are populated
127
+ * from user-declared inputs. Optional for backward compatibility — when
128
+ * absent, treated as `user`.
129
+ */
130
+ readonly ownership?: SlotOwnership;
131
+ /**
132
+ * Short human-facing sentence the renderer drops into AGENTS.md so
133
+ * the agent knows what each mounted slot is for. Omitting it yields a
134
+ * bare `- /workspace/<slot>/` line — fine for platform slots that
135
+ * have obvious purposes; preferred for user-data slots.
136
+ */
137
+ readonly humanDescription?: string;
138
+ /**
139
+ * How this slot's contents survive across pod recycle. Defaults to
140
+ * `{ kind: 'none' }` (ephemeral) when omitted. The session snapshot
141
+ * pipeline reads this field to decide which slots to capture/restore
142
+ * and via which mechanism (tarball vs git push).
143
+ */
144
+ readonly persistencePolicy?: SlotPersistencePolicy;
145
+ }
146
+
147
+ /**
148
+ * Workspace-relative paths captured on session pause and restored on
149
+ * resume, plus per-slot policy overrides. The authoritative SOURCE of
150
+ * these values is the authored `Composition.workspace.persistence` block
151
+ * (`@xemahq/agent-composition-contracts`); they are projected onto
152
+ * `WorkspaceSpec` so workspace-tree consumers (session lifecycle,
153
+ * workspace-proxy snapshot pipeline) read them off one resolved spec
154
+ * without re-resolving the composition.
155
+ *
156
+ * Replaces the equivalent `persistence` block carried by the legacy
157
+ * `WorkspaceManifest` (`ManifestPersistence` in `@xemahq/workspace-manifest-dsl`).
158
+ */
159
+ export interface WorkspacePersistenceSpec {
160
+ /** Workspace-relative paths. No leading `/`, no `..`. */
161
+ readonly paths: readonly string[];
162
+ /**
163
+ * Per-slot persistence policy overrides, keyed by AWP slot key
164
+ * (`repos`, etc.). Only `git-push` slots are overridable — `none` /
165
+ * `tarball` carry no fields to tune. An override never widens the
166
+ * slot's allowed modes; it only refines branch naming + concurrency.
167
+ */
168
+ readonly overrides?: Readonly<Record<string, SlotPersistencePolicy>>;
169
+ }
170
+
171
+ /**
172
+ * A single environment variable applied to the agent runtime before
173
+ * dispatch. `name` is SCREAMING_SNAKE_CASE; `value` is the resolved
174
+ * literal (the composition author may have used `${input.x}`
175
+ * interpolation, but the projected spec carries resolved values only).
176
+ */
177
+ export interface WorkspaceEnvVar {
178
+ readonly name: string;
179
+ readonly value: string;
180
+ }
181
+
182
+ export interface WorkspaceSpec {
183
+ readonly id: string;
184
+ readonly version: string;
185
+ readonly slots: readonly SlotDefinition[];
186
+ /**
187
+ * Workspace-relative persist-paths + per-slot policy overrides.
188
+ * Projected from `Composition.workspace.persistence`. Optional — when
189
+ * absent the workspace persists only what the slots' own
190
+ * `persistencePolicy` fields declare. Additive: pre-existing consumers
191
+ * that never read this field keep compiling.
192
+ */
193
+ readonly persistence?: WorkspacePersistenceSpec;
194
+ /**
195
+ * Environment variables applied to the agent runtime before dispatch.
196
+ * Projected from `Composition.workspace.env`. Optional / additive —
197
+ * absent means the composition declared no env block.
198
+ */
199
+ readonly env?: readonly WorkspaceEnvVar[];
200
+ /**
201
+ * Working files the platform materialises before the agent's first
202
+ * turn — the first-class primitive that replaces the legacy
203
+ * document-sync hardcoded path. Each binding's resolved `path`
204
+ * contributes to `authority.mayWriteWorkspace` (write authority
205
+ * narrowed by contract, not by prompt prose).
206
+ *
207
+ * Optional / additive — compositions that do not declare a working
208
+ * file produce no entries, and the worker's working-file engine stays
209
+ * idle for that session.
210
+ */
211
+ readonly workingFiles?: readonly WorkingFileBinding[];
212
+ }
@@ -0,0 +1,10 @@
1
+ export * from './lib/biome-capability-refs';
2
+ export * from './lib/biome-lifecycle';
3
+ export * from './lib/biome-scope';
4
+ export * from './lib/biome-trust-tier';
5
+ export * from './lib/biome-api';
6
+ export * from './lib/biome-lifecycle-hooks';
7
+ export * from './lib/biome-engines';
8
+ export * from './lib/biome-permissions';
9
+ export * from './lib/biome-manifest';
10
+ export * from './lib/trust-tier-policies';
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * `BiomeApiManifest` — one entry of the biome manifest's `ships.apis[]`
5
+ * array (plan §25.1). A biome may ship zero, one, or many NestJS
6
+ * services; each becomes its own Helm sub-chart, its own Docker image,
7
+ * its own subdomain (`<biomeId>.<name>.api.<domain>`), and its own
8
+ * capability namespace (`biome:<biomeId>.<apiName>.<verb>@1`).
9
+ *
10
+ * `scopes` is the closed list of capability verb scopes this API
11
+ * advertises. Strings are intentional here (not a TS enum) because the
12
+ * value space is biome-author-defined; the kernel only validates the
13
+ * outer shape.
14
+ */
15
+ export interface BiomeApiManifest {
16
+ name: string;
17
+ basePath: string;
18
+ image: {
19
+ package: string;
20
+ port: number;
21
+ };
22
+ scopes: readonly string[];
23
+ }
24
+
25
+ export const BiomeApiManifestSchema = z.object({
26
+ name: z.string().min(1),
27
+ basePath: z.string().min(1),
28
+ image: z.object({
29
+ package: z.string().min(1),
30
+ port: z.number().int().positive(),
31
+ }),
32
+ scopes: z.array(z.string().min(1)).readonly(),
33
+ }) as z.ZodType<BiomeApiManifest>;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `BIOME_CAPABILITY_REFS` — the closed set of capability refs guarding
3
+ * biome-lifecycle transitions (plan §4.2, §17.7 Phase 6). Each transition
4
+ * out of `draft`/`sandbox-installed` requires the corresponding capability
5
+ * check at `xema-capability-router`; promote-out-of-sandbox defaults to
6
+ * `requiresApproval=true`.
7
+ *
8
+ * Frozen so consumers (biome-host-api lifecycle controller, store, UI)
9
+ * cannot mutate the ref strings at runtime.
10
+ */
11
+ export const BIOME_CAPABILITY_REFS = Object.freeze({
12
+ Install: 'biome:install@1',
13
+ Promote: 'biome:promote@1',
14
+ SubmitToStore: 'biome:submit-to-store@1',
15
+ ApproveInStore: 'biome:approve-in-store@1',
16
+ Archive: 'biome:archive@1',
17
+ /**
18
+ * Sandbox-environment-only real-terminal capability (plan §6.3 + §17.6 Phase
19
+ * 5 item 4). Guards the `WS /sandbox/terminal/:installationId`
20
+ * endpoint in `biome-host-api` — the ONLY PTY surface in Xema. The
21
+ * gateway MUST refuse the invocation when the subject's effective
22
+ * environment is not `sandbox`.
23
+ */
24
+ SandboxTerminal: 'biome:sandbox.terminal@1',
25
+ } as const);
26
+
27
+ export type BiomeCapabilityRefKey = keyof typeof BIOME_CAPABILITY_REFS;
28
+ export type BiomeCapabilityRef =
29
+ (typeof BIOME_CAPABILITY_REFS)[BiomeCapabilityRefKey];
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * `BiomeEngines` — the required `engines` block of the biome manifest
5
+ * (plan §24.4). `xema` is a semver range; `biome-host-api` refuses to
6
+ * install a biome whose engine constraint is not satisfied by the
7
+ * running platform version. The constraint is a hard, fail-fast gate.
8
+ *
9
+ * Range syntax is not parsed here — that is the host's responsibility.
10
+ * The kernel only validates that the field is a non-empty string.
11
+ */
12
+ export interface BiomeEngines {
13
+ xema: string;
14
+ }
15
+
16
+ export const BiomeEnginesSchema = z.object({
17
+ xema: z.string().min(1),
18
+ }) as z.ZodType<BiomeEngines>;
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * `BiomeLifecycleHooks` — the optional `lifecycle` block of the biome
5
+ * manifest (plan §24.5). Each value is the module path (relative to the
6
+ * biome package root) of a hook module that `biome-host-api` invokes at
7
+ * the corresponding `BiomeLifecycle` transition.
8
+ *
9
+ * Hooks run with the biome's own capability set — they cannot do
10
+ * anything the biome cannot do as a running participant. The kernel
11
+ * does not load the modules; it only validates that the manifest
12
+ * declares well-formed strings.
13
+ */
14
+ export interface BiomeLifecycleHooks {
15
+ onInstall?: string;
16
+ onUninstall?: string;
17
+ onUpgrade?: string;
18
+ onEnable?: string;
19
+ onDisable?: string;
20
+ }
21
+
22
+ export const BiomeLifecycleHooksSchema = z.object({
23
+ onInstall: z.string().min(1).optional(),
24
+ onUninstall: z.string().min(1).optional(),
25
+ onUpgrade: z.string().min(1).optional(),
26
+ onEnable: z.string().min(1).optional(),
27
+ onDisable: z.string().min(1).optional(),
28
+ }) as z.ZodType<BiomeLifecycleHooks>;
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * `BiomeLifecycle` is the closed set of deliberate, observable stages a
5
+ * biome (plan §4) moves through from authoring to the Xema Store and
6
+ * eventually to archival. Generated-by-agent biomes (§7) traverse the
7
+ * same stages — humans hold every promote-out-of-sandbox gate.
8
+ *
9
+ * Linear progression (plan §4.2):
10
+ *
11
+ * draft → sandbox-installed → review-required → org-installed
12
+ * → store-submitted
13
+ * → store-approved
14
+ * → archived
15
+ *
16
+ * String values match the on-wire / on-disk representation written by
17
+ * `biome-host-api` lifecycle transitions and emitted on audit events.
18
+ */
19
+ export enum BiomeLifecycle {
20
+ Draft = 'draft',
21
+ SandboxInstalled = 'sandbox-installed',
22
+ ReviewRequired = 'review-required',
23
+ OrgInstalled = 'org-installed',
24
+ StoreSubmitted = 'store-submitted',
25
+ StoreApproved = 'store-approved',
26
+ Archived = 'archived',
27
+ }
28
+
29
+ export const BiomeLifecycleSchema = z.nativeEnum(BiomeLifecycle);
@@ -0,0 +1,102 @@
1
+ import { z } from 'zod';
2
+ import {
3
+ CapabilityRefSchema,
4
+ type CapabilityRef,
5
+ } from '../../capability';
6
+ import {
7
+ ContributionKind,
8
+ ContributionKindSchema,
9
+ } from '../../contribution';
10
+ import { BiomeTrustTier, BiomeTrustTierSchema } from './biome-trust-tier';
11
+ import { BiomeEnginesSchema, type BiomeEngines } from './biome-engines';
12
+ import {
13
+ BiomePermissionsManifestSchema,
14
+ type BiomePermissionsManifest,
15
+ } from './biome-permissions';
16
+ import {
17
+ BiomeLifecycleHooksSchema,
18
+ type BiomeLifecycleHooks,
19
+ } from './biome-lifecycle-hooks';
20
+ import { BiomeApiManifestSchema, type BiomeApiManifest } from './biome-api';
21
+
22
+ /**
23
+ * Canonical filename of the new biome manifest at the root of every
24
+ * biome source package (plan §4.1). The legacy `xema-biome.json` name
25
+ * is NOT recognised by this contracts package — Phase 6 (plan §17.7)
26
+ * renames it in a single coordinated PR, with no dual parser.
27
+ */
28
+ export const BIOME_MANIFEST_FILENAME = 'xema-biome.json';
29
+
30
+ /**
31
+ * Schema-versioning seed for the biome manifest. Bumped via a
32
+ * coordinated PR whenever the manifest shape changes incompatibly;
33
+ * downstream consumers refuse manifests whose `schemaVersion` they do
34
+ * not understand (fail-fast — no silent best-effort parse).
35
+ */
36
+ export type BiomeManifestSchemaVersion = 1;
37
+
38
+ /**
39
+ * Declarative event subscription entry of the biome manifest
40
+ * (plan §12.4). `event` is the CloudEvents `type` the biome subscribes
41
+ * to (e.g. `xema.kb.page.published.v1`); `handlerModule` is the module
42
+ * path relative to the biome package root that `biome-host-api` loads
43
+ * to dispatch matching events.
44
+ */
45
+ export interface BiomeEventSubscription {
46
+ event: string;
47
+ handlerModule: string;
48
+ }
49
+
50
+ export const BiomeEventSubscriptionSchema = z.object({
51
+ event: z.string().min(1),
52
+ handlerModule: z.string().min(1),
53
+ }) as z.ZodType<BiomeEventSubscription>;
54
+
55
+ /**
56
+ * `BiomeManifest` — the top-level shape of `xema-biome.json` (plan §4,
57
+ * §12, §24.4, §24.5, §25). This is the NEW shape introduced in Phase
58
+ * 1A; the SDK-side parser is still housed under `biome-host-sdk` until
59
+ * the Phase 6 rename, but the schema itself lives here from day one.
60
+ */
61
+ export interface BiomeManifest {
62
+ schemaVersion: BiomeManifestSchemaVersion;
63
+ id: string;
64
+ name: string;
65
+ version: string;
66
+ trustTier: BiomeTrustTier;
67
+ engines: BiomeEngines;
68
+ requiresCapabilities: readonly CapabilityRef[];
69
+ exposesCapabilities: readonly CapabilityRef[];
70
+ contributes: readonly ContributionKind[];
71
+ subscribes?: readonly BiomeEventSubscription[];
72
+ /** biome-id → semver range. */
73
+ requires?: Readonly<Record<string, string>>;
74
+ permissions?: BiomePermissionsManifest;
75
+ lifecycle?: BiomeLifecycleHooks;
76
+ ships?: {
77
+ apis?: readonly BiomeApiManifest[];
78
+ content?: readonly string[];
79
+ };
80
+ }
81
+
82
+ export const BiomeManifestSchema = z.object({
83
+ schemaVersion: z.literal(1),
84
+ id: z.string().min(1),
85
+ name: z.string().min(1),
86
+ version: z.string().min(1),
87
+ trustTier: BiomeTrustTierSchema,
88
+ engines: BiomeEnginesSchema,
89
+ requiresCapabilities: z.array(CapabilityRefSchema).readonly(),
90
+ exposesCapabilities: z.array(CapabilityRefSchema).readonly(),
91
+ contributes: z.array(ContributionKindSchema).readonly(),
92
+ subscribes: z.array(BiomeEventSubscriptionSchema).readonly().optional(),
93
+ requires: z.record(z.string().min(1), z.string().min(1)).optional(),
94
+ permissions: BiomePermissionsManifestSchema.optional(),
95
+ lifecycle: BiomeLifecycleHooksSchema.optional(),
96
+ ships: z
97
+ .object({
98
+ apis: z.array(BiomeApiManifestSchema).readonly().optional(),
99
+ content: z.array(z.string().min(1)).readonly().optional(),
100
+ })
101
+ .optional(),
102
+ }) as z.ZodType<BiomeManifest>;
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ import {
3
+ BiomePermissionProfile,
4
+ BiomePermissionProfileSchema,
5
+ PermissionGroupSchema,
6
+ PermissionHintSchema,
7
+ type PermissionGroup,
8
+ type PermissionHint,
9
+ } from '../../capability';
10
+
11
+ /**
12
+ * `BiomePermissionsManifest` — the optional `permissions` block of the
13
+ * biome manifest (plan §30.2). It carries:
14
+ *
15
+ * - `defaultProfile`: the built-in `BiomePermissionProfile` (plan §30.3)
16
+ * the install UI suggests by default. Third-party biomes MUST NOT
17
+ * define new profiles — those are kernel-shipped or org-custom only.
18
+ * - `hints`: one entry per declared `requiresCapabilities[]` ref. The
19
+ * hint is author-facing copy used to render the install-time digest;
20
+ * it does not itself grant anything.
21
+ * - `groups`: optional author-side bundling of related capabilities so
22
+ * the install UI can render "Grant the *kb-read* group" as one
23
+ * toggle. Pure UX sugar — grants are still recorded per-capability.
24
+ */
25
+ export interface BiomePermissionsManifest {
26
+ defaultProfile: BiomePermissionProfile;
27
+ hints: readonly PermissionHint[];
28
+ groups?: readonly PermissionGroup[];
29
+ }
30
+
31
+ export const BiomePermissionsManifestSchema = z.object({
32
+ defaultProfile: BiomePermissionProfileSchema,
33
+ hints: z.array(PermissionHintSchema).readonly(),
34
+ groups: z.array(PermissionGroupSchema).readonly().optional(),
35
+ }) as z.ZodType<BiomePermissionsManifest>;
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * `BiomeScope` is the closed set of installation scopes a biome may live
5
+ * in (plan §4). A biome installed twice — once in `Org` and once in
6
+ * `Sandbox` — is two installations with disjoint state (storage,
7
+ * grants, audit lineage) per §25.2.
8
+ *
9
+ * String values match the on-wire representation used by
10
+ * `biome-host-api` install records and Object Registry projections.
11
+ */
12
+ export enum BiomeScope {
13
+ System = 'system',
14
+ Org = 'org',
15
+ Project = 'project',
16
+ Sandbox = 'sandbox',
17
+ }
18
+
19
+ export const BiomeScopeSchema = z.nativeEnum(BiomeScope);
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * `BiomeTrustTier` is the closed set of provenance tiers a biome may
5
+ * carry (plan §21 OQ6). The tier is set at biome publication / install
6
+ * time and is the primary input to the trust-tier default capability
7
+ * policy (see `trust-tier-policies.ts`).
8
+ *
9
+ * String values match the on-wire representation in `xema-biome.json`
10
+ * manifests, Store catalog entries, and audit events.
11
+ */
12
+ export enum BiomeTrustTier {
13
+ System = 'system',
14
+ FirstParty = 'first-party',
15
+ VerifiedStore = 'verified-store',
16
+ CommunityStore = 'community-store',
17
+ PrivateOrg = 'private-org',
18
+ GeneratedSandbox = 'generated-sandbox',
19
+ }
20
+
21
+ export const BiomeTrustTierSchema = z.nativeEnum(BiomeTrustTier);
@@ -0,0 +1,99 @@
1
+ import { BiomeTrustTier } from './biome-trust-tier';
2
+
3
+ /**
4
+ * Default capability-policy summary per `BiomeTrustTier` (plan §21 OQ6).
5
+ *
6
+ * This table is NOT the authorization decision — `authorization-api` is
7
+ * the source of truth at runtime. It is the kernel-shipped default that
8
+ * the install UI uses to render the digest, that the boundary CI uses
9
+ * to spot ill-formed manifests, and that `biome-host-api` uses as the
10
+ * starting point for the `(BiomeInstall, ExecutionEnvironment)` grant
11
+ * materialisation.
12
+ *
13
+ * Fields:
14
+ *
15
+ * - `allowsProdZones`: whether the tier is allowed to be installed in
16
+ * any of `org` / `project` / `app` / `session` zones by default.
17
+ * `false` means the install is fenced to `sandbox` and/or
18
+ * `store-review` regardless of org policy.
19
+ * - `requiresHumanApproval`: whether install / promote-out-of-sandbox
20
+ * defaults to `requiresApproval=true` on the corresponding capability
21
+ * call (`biome:install@1`, `biome:promote@1`).
22
+ * - `allowedEnvironments`: the environment slugs the tier may live in by default —
23
+ * one of the eight built-in zones declared in plan §3.4
24
+ * (`system | org | project | app | session | sandbox | public |
25
+ * store-review`). Org admins may relax or tighten this through
26
+ * custom policy; the kernel default is the conservative baseline.
27
+ *
28
+ * The frozen const guarantees every `BiomeTrustTier` value is mapped;
29
+ * adding a tier without extending this table is a compile-time error.
30
+ */
31
+ export interface BiomeTrustTierDefaultPolicy {
32
+ readonly allowsProdZones: boolean;
33
+ readonly requiresHumanApproval: boolean;
34
+ readonly allowedEnvironments: readonly string[];
35
+ }
36
+
37
+ export const TRUST_TIER_DEFAULT_CAPABILITY_POLICIES: Readonly<
38
+ Record<BiomeTrustTier, BiomeTrustTierDefaultPolicy>
39
+ > = Object.freeze({
40
+ [BiomeTrustTier.System]: Object.freeze({
41
+ allowsProdZones: true,
42
+ requiresHumanApproval: false,
43
+ allowedEnvironments: Object.freeze([
44
+ 'system',
45
+ 'org',
46
+ 'project',
47
+ 'app',
48
+ 'session',
49
+ 'sandbox',
50
+ 'public',
51
+ 'store-review',
52
+ ] as const),
53
+ }),
54
+ [BiomeTrustTier.FirstParty]: Object.freeze({
55
+ allowsProdZones: true,
56
+ requiresHumanApproval: false,
57
+ allowedEnvironments: Object.freeze([
58
+ 'org',
59
+ 'project',
60
+ 'app',
61
+ 'session',
62
+ 'sandbox',
63
+ 'store-review',
64
+ ] as const),
65
+ }),
66
+ [BiomeTrustTier.VerifiedStore]: Object.freeze({
67
+ allowsProdZones: true,
68
+ requiresHumanApproval: true,
69
+ allowedEnvironments: Object.freeze([
70
+ 'org',
71
+ 'project',
72
+ 'app',
73
+ 'session',
74
+ 'sandbox',
75
+ 'store-review',
76
+ ] as const),
77
+ }),
78
+ [BiomeTrustTier.CommunityStore]: Object.freeze({
79
+ allowsProdZones: false,
80
+ requiresHumanApproval: true,
81
+ allowedEnvironments: Object.freeze(['sandbox', 'store-review'] as const),
82
+ }),
83
+ [BiomeTrustTier.PrivateOrg]: Object.freeze({
84
+ allowsProdZones: true,
85
+ requiresHumanApproval: true,
86
+ allowedEnvironments: Object.freeze([
87
+ 'org',
88
+ 'project',
89
+ 'app',
90
+ 'session',
91
+ 'sandbox',
92
+ ] as const),
93
+ }),
94
+ [BiomeTrustTier.GeneratedSandbox]: Object.freeze({
95
+ allowsProdZones: false,
96
+ requiresHumanApproval: true,
97
+ allowedEnvironments: Object.freeze(['sandbox'] as const),
98
+ }),
99
+ });
@@ -0,0 +1,8 @@
1
+ export * from './lib/capability-ref';
2
+ export * from './lib/capability-grant';
3
+ export * from './lib/capability-policy';
4
+ export * from './lib/permission-profile';
5
+ export * from './lib/shell-command-descriptor';
6
+ export * from './lib/meta-tool';
7
+ export * from './lib/capability-contribution';
8
+ export * from './lib/errors';