@treeseed/sdk 0.13.0-rc.11 → 0.13.0-rc.111

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 (453) hide show
  1. package/README.md +23 -9
  2. package/dist/.treeseed-build-complete.json +1 -0
  3. package/dist/accounts/account-contracts.d.ts +6 -0
  4. package/dist/agent-capacity/artifact-mutation-receipt.d.ts +1 -1
  5. package/dist/agent-capacity/artifacts.d.ts +17 -1
  6. package/dist/agent-capacity/authority/agent-authority-presets.js +2 -1
  7. package/dist/agent-capacity/contracts/capacity/assignments/assignment-context-pack.d.ts +304 -0
  8. package/dist/agent-capacity/contracts/capacity/assignments/assignment-context-pack.js +44 -0
  9. package/dist/agent-capacity/contracts/capacity/assignments/assignment-records.d.ts +10 -1
  10. package/dist/agent-capacity/contracts/capacity/assignments/context-pack-compiler.d.ts +25 -0
  11. package/dist/agent-capacity/contracts/capacity/assignments/context-pack-compiler.js +67 -0
  12. package/dist/agent-capacity/contracts/capacity/communication/communication-records.d.ts +1 -1
  13. package/dist/agent-capacity/contracts/capacity/providers/supply-policy.d.ts +0 -2
  14. package/dist/agent-capacity/contracts/capacity/workdays/workday-records.d.ts +1 -1
  15. package/dist/agent-capacity/contracts/configuration/configuration.js +1 -1
  16. package/dist/agent-capacity/contracts/projects/agents/project-agent-class.d.ts +0 -1
  17. package/dist/agent-capacity/contracts/runtime/runtime-observability.d.ts +3 -3
  18. package/dist/agent-capacity/contracts/support/decision-work.d.ts +2 -3
  19. package/dist/agent-capacity/validation/activity-profile.js +25 -12
  20. package/dist/agent-capacity/validation/agent-definition-schema.d.ts +1092 -1170
  21. package/dist/agent-capacity/validation/agent-definition-schema.js +11 -29
  22. package/dist/agent-capacity/validation/agent-lab-forensics-schema.d.ts +20 -20
  23. package/dist/agent-capacity/validation/configuration.d.ts +1 -1
  24. package/dist/agent-capacity/validation/configuration.js +1 -2
  25. package/dist/capacity/agents/agent-capacity.d.ts +2 -0
  26. package/dist/capacity/agents/agent-capacity.js +2 -0
  27. package/dist/capacity-provider/capability-ontology.d.ts +1495 -0
  28. package/dist/capacity-provider/capability-ontology.js +221 -0
  29. package/dist/capacity-provider/client.d.ts +24 -0
  30. package/dist/capacity-provider/client.js +11 -1
  31. package/dist/capacity-provider/contracts/environment-profiles.d.ts +255 -0
  32. package/dist/capacity-provider/contracts/environment-profiles.js +71 -0
  33. package/dist/capacity-provider/contracts/governance.d.ts +103 -35
  34. package/dist/capacity-provider/contracts/index.d.ts +1 -0
  35. package/dist/capacity-provider/contracts/index.js +1 -0
  36. package/dist/capacity-provider/core-capability-catalog.d.ts +47 -0
  37. package/dist/capacity-provider/core-capability-catalog.js +49 -0
  38. package/dist/capacity-provider/environment-catalog.d.ts +877 -0
  39. package/dist/capacity-provider/environment-catalog.js +116 -0
  40. package/dist/capacity-provider/index.d.ts +5 -0
  41. package/dist/capacity-provider/index.js +5 -0
  42. package/dist/capacity-provider/install-configuration.d.ts +39 -0
  43. package/dist/capacity-provider/install-configuration.js +18 -0
  44. package/dist/capacity-provider/sandbox-contracts.d.ts +548 -0
  45. package/dist/capacity-provider/sandbox-contracts.js +86 -0
  46. package/dist/capacity-provider/sandbox.d.ts +1 -0
  47. package/dist/capacity-provider/sandbox.js +1 -0
  48. package/dist/capacity-provider/validation.d.ts +2 -2
  49. package/dist/capacity-provider/validation.js +91 -55
  50. package/dist/configuration/secrets-capability.d.ts +5 -1
  51. package/dist/configuration/secrets-capability.js +5 -1
  52. package/dist/content/validation/agent-operational-content-schemas.d.ts +490 -168
  53. package/dist/content/validation/agent-operational-content-schemas.js +18 -3
  54. package/dist/content/validation/auxiliary-content-schemas.d.ts +160 -160
  55. package/dist/content/validation/content-model-schemas.d.ts +2943 -2747
  56. package/dist/content/validation/portable-content-data.d.ts +296 -292
  57. package/dist/deployment/ai/storage.d.ts +158 -0
  58. package/dist/deployment/ai/storage.js +32 -0
  59. package/dist/deployment/ai-hosting.d.ts +297 -0
  60. package/dist/deployment/ai-hosting.js +63 -0
  61. package/dist/deployment/ai-instance.d.ts +65 -0
  62. package/dist/deployment/ai-instance.js +30 -0
  63. package/dist/deployment/ai-mode.d.ts +454 -0
  64. package/dist/deployment/ai-mode.js +67 -0
  65. package/dist/deployment/canonical.d.ts +2 -0
  66. package/dist/deployment/canonical.js +17 -0
  67. package/dist/deployment/catalog.d.ts +16 -0
  68. package/dist/deployment/catalog.js +48 -0
  69. package/dist/deployment/hosted-topology-template.d.ts +449 -0
  70. package/dist/deployment/hosted-topology-template.js +56 -0
  71. package/dist/deployment/hosted-topology.d.ts +2698 -0
  72. package/dist/deployment/hosted-topology.js +468 -0
  73. package/dist/deployment/index.d.ts +13 -0
  74. package/dist/deployment/index.js +13 -0
  75. package/dist/deployment/postgres/contracts.d.ts +418 -0
  76. package/dist/deployment/postgres/contracts.js +83 -0
  77. package/dist/deployment/postgres/requirements.d.ts +14 -0
  78. package/dist/deployment/postgres/requirements.js +30 -0
  79. package/dist/deployment/postgres/transfer.d.ts +97 -0
  80. package/dist/deployment/postgres/transfer.js +29 -0
  81. package/dist/deployment/schemas.d.ts +8625 -0
  82. package/dist/deployment/schemas.js +455 -0
  83. package/dist/deployment/topology.d.ts +9 -0
  84. package/dist/deployment/topology.js +35 -0
  85. package/dist/development/index.d.ts +1 -0
  86. package/dist/development/index.js +1 -0
  87. package/dist/development/schemas.d.ts +3578 -0
  88. package/dist/development/schemas.js +199 -0
  89. package/dist/development/session-migration.d.ts +3 -0
  90. package/dist/development/session-migration.js +25 -0
  91. package/dist/entrypoints/clients/control-plane-client.d.ts +9 -1
  92. package/dist/entrypoints/clients/control-plane-client.js +17 -5
  93. package/dist/graph/context-query-contracts.d.ts +16 -1
  94. package/dist/graph/context-query-contracts.js +5 -0
  95. package/dist/guarantees/evidence-trust.d.ts +32 -0
  96. package/dist/guarantees/evidence-trust.js +47 -0
  97. package/dist/guarantees/index.d.ts +130 -0
  98. package/dist/guarantees/index.js +44 -0
  99. package/dist/identity/browser-session.d.ts +233 -0
  100. package/dist/identity/browser-session.js +51 -0
  101. package/dist/identity/contracts.d.ts +191 -0
  102. package/dist/identity/contracts.js +72 -0
  103. package/dist/identity/index.d.ts +3 -0
  104. package/dist/identity/index.js +3 -0
  105. package/dist/identity/runtime.d.ts +186 -0
  106. package/dist/identity/runtime.js +49 -0
  107. package/dist/model-registry/agent-operational-models.js +1 -1
  108. package/dist/operator-contracts/canonical-command-tree.js +465 -16
  109. package/dist/operator-contracts/catalog/admin-account-team-operations.d.ts +36 -0
  110. package/dist/operator-contracts/catalog/admin-account-team-operations.js +52 -0
  111. package/dist/operator-contracts/catalog/capability-ontology-operations.d.ts +163 -0
  112. package/dist/operator-contracts/catalog/capability-ontology-operations.js +24 -0
  113. package/dist/operator-contracts/catalog/communication-operations.d.ts +437 -0
  114. package/dist/operator-contracts/catalog/communication-operations.js +92 -0
  115. package/dist/operator-contracts/catalog/control-plane-catalog.d.ts +6 -0
  116. package/dist/operator-contracts/catalog/control-plane-catalog.js +18 -0
  117. package/dist/operator-contracts/catalog/hosted-topology-operations.d.ts +399 -0
  118. package/dist/operator-contracts/catalog/hosted-topology-operations.js +79 -0
  119. package/dist/operator-contracts/catalog/inbox-operations.d.ts +261 -0
  120. package/dist/operator-contracts/catalog/inbox-operations.js +36 -0
  121. package/dist/operator-contracts/catalog/infrastructure/ai-instance-operations.d.ts +53 -0
  122. package/dist/operator-contracts/catalog/infrastructure/ai-instance-operations.js +23 -0
  123. package/dist/operator-contracts/catalog/infrastructure/command-tree-paths.d.ts +3 -0
  124. package/dist/operator-contracts/catalog/infrastructure/command-tree-paths.js +15 -0
  125. package/dist/operator-contracts/catalog/knowledge-share-operations.d.ts +127 -0
  126. package/dist/operator-contracts/catalog/knowledge-share-operations.js +25 -0
  127. package/dist/operator-contracts/catalog/provider-environment-commands.d.ts +4 -0
  128. package/dist/operator-contracts/catalog/provider-environment-commands.js +69 -0
  129. package/dist/operator-contracts/catalog/provider-environment-operations.d.ts +41 -0
  130. package/dist/operator-contracts/catalog/provider-environment-operations.js +61 -0
  131. package/dist/operator-contracts/catalog/services/identity-commands.d.ts +2 -0
  132. package/dist/operator-contracts/catalog/services/identity-commands.js +13 -0
  133. package/dist/operator-contracts/catalog/services/secret-commands.d.ts +2 -0
  134. package/dist/operator-contracts/catalog/services/secret-commands.js +31 -0
  135. package/dist/operator-contracts/catalog/services/secret-operations.d.ts +62 -0
  136. package/dist/operator-contracts/catalog/services/secret-operations.js +51 -0
  137. package/dist/operator-contracts/catalog/treeai-operations.d.ts +13 -0
  138. package/dist/operator-contracts/catalog/treeai-operations.js +61 -0
  139. package/dist/operator-contracts/command-tree.d.ts +28 -0
  140. package/dist/operator-contracts/command-tree.js +49 -0
  141. package/dist/operator-contracts/communication/addressing.d.ts +8 -0
  142. package/dist/operator-contracts/communication/addressing.js +57 -0
  143. package/dist/operator-contracts/communication/contracts.d.ts +1818 -0
  144. package/dist/operator-contracts/communication/contracts.js +188 -0
  145. package/dist/operator-contracts/control-plane-operation.d.ts +9 -0
  146. package/dist/operator-contracts/control-plane-operation.js +12 -2
  147. package/dist/operator-contracts/control-plane-operations.d.ts +2255 -195
  148. package/dist/operator-contracts/control-plane-operations.js +247 -85
  149. package/dist/operator-contracts/inbox/contracts.d.ts +1099 -0
  150. package/dist/operator-contracts/inbox/contracts.js +134 -0
  151. package/dist/operator-contracts/index.d.ts +6 -0
  152. package/dist/operator-contracts/index.js +6 -0
  153. package/dist/operator-contracts/knowledge/contracts.d.ts +130 -0
  154. package/dist/operator-contracts/knowledge/contracts.js +39 -0
  155. package/dist/operator-contracts/mcp.d.ts +5 -0
  156. package/dist/operator-contracts/mcp.js +61 -0
  157. package/dist/operator-contracts/oauth.d.ts +45 -0
  158. package/dist/operator-contracts/oauth.js +7 -0
  159. package/dist/operator-contracts/operation-builder.d.ts +18 -0
  160. package/dist/operator-contracts/operation-builder.js +78 -0
  161. package/dist/operator-contracts/seed/seed-bundle.d.ts +138 -0
  162. package/dist/operator-contracts/seed/seed-bundle.js +68 -0
  163. package/dist/platform/contracts.d.ts +429 -0
  164. package/dist/platform/contracts.js +93 -0
  165. package/dist/platform/index.d.ts +6 -0
  166. package/dist/platform/index.js +6 -0
  167. package/dist/platform/inventory.d.ts +11 -0
  168. package/dist/platform/inventory.js +53 -0
  169. package/dist/platform/project-create.d.ts +49 -0
  170. package/dist/platform/project-create.js +75 -0
  171. package/dist/platform/schemas.d.ts +986 -0
  172. package/dist/platform/schemas.js +73 -0
  173. package/dist/platform/verification.d.ts +9 -0
  174. package/dist/platform/verification.js +104 -0
  175. package/dist/platform/workset.d.ts +21 -0
  176. package/dist/platform/workset.js +106 -0
  177. package/dist/secrets-capability/github-actions-encryption.d.ts +2 -0
  178. package/dist/secrets-capability/github-actions-encryption.js +11 -0
  179. package/dist/secrets-capability/provider-operation-contracts.d.ts +15 -1
  180. package/dist/secrets-capability/secret-contracts.d.ts +33 -0
  181. package/dist/secrets-capability/secret-contracts.js +49 -0
  182. package/dist/secrets-capability/service-provider-contracts.d.ts +5 -3
  183. package/dist/secrets-capability/service-provider-contracts.js +66 -50
  184. package/dist/secrets-capability/shared-access.d.ts +51 -0
  185. package/dist/secrets-capability/shared-access.js +36 -0
  186. package/dist/secrets-capability/shared-resources.d.ts +376 -0
  187. package/dist/secrets-capability/shared-resources.js +91 -0
  188. package/dist/secrets-capability/vault-contracts.d.ts +132 -0
  189. package/dist/secrets-capability/vault-contracts.js +56 -0
  190. package/dist/security/encrypted-envelope.d.ts +177 -0
  191. package/dist/security/encrypted-envelope.js +34 -0
  192. package/dist/security/envelope-codec.d.ts +38 -0
  193. package/dist/security/envelope-codec.js +96 -0
  194. package/dist/security/index.d.ts +2 -0
  195. package/dist/security/index.js +2 -0
  196. package/dist/site-contracts/catalog.d.ts +16 -0
  197. package/dist/site-contracts/catalog.js +19 -0
  198. package/dist/site-contracts/cloudflare.d.ts +48 -0
  199. package/dist/site-contracts/platform.d.ts +94 -0
  200. package/dist/site-contracts/plugin.d.ts +63 -0
  201. package/dist/site-contracts/plugin.js +26 -0
  202. package/dist/treeai/catalog.d.ts +1 -0
  203. package/dist/treeai/catalog.js +1 -0
  204. package/dist/treeai/client.d.ts +793 -0
  205. package/dist/treeai/client.js +44 -0
  206. package/dist/treeai/contract.d.ts +41 -0
  207. package/dist/treeai/contract.js +51 -0
  208. package/dist/treeai/generated/upstream.d.ts +770 -0
  209. package/dist/treeai/generated/upstream.js +4 -0
  210. package/dist/treeai/index.d.ts +4 -0
  211. package/dist/treeai/index.js +4 -0
  212. package/dist/treedx/client.d.ts +605 -0
  213. package/dist/treedx/client.js +39 -0
  214. package/dist/treedx/contract.d.ts +32 -0
  215. package/dist/treedx/contract.js +63 -0
  216. package/dist/treedx/index.d.ts +3 -0
  217. package/dist/treedx/index.js +2 -0
  218. package/dist/treedx/types.d.ts +8 -7
  219. package/dist/treedx/types.js +0 -7
  220. package/dist/types/agents/agent-activity-profile.d.ts +18 -36
  221. package/dist/types/agents/agent-trigger-kinds.d.ts +3 -5
  222. package/dist/types/agents/agent-trigger-kinds.js +1 -13
  223. package/package.json +64 -11
  224. package/dist/secrets-capability/service-vault-contracts.d.ts +0 -61
  225. package/dist/secrets-capability/service-vault-contracts.js +0 -39
  226. package/dist/treedx/accounts/auth.d.ts +0 -17
  227. package/dist/treedx/accounts/auth.js +0 -48
  228. package/dist/treedx/client/accounts/contracts/auth-mode.d.ts +0 -3
  229. package/dist/treedx/client/accounts/contracts/auth-mode.js +0 -6
  230. package/dist/treedx/client/build/creation/build-context.d.ts +0 -3
  231. package/dist/treedx/client/build/creation/build-context.js +0 -7
  232. package/dist/treedx/client/build/creation/build-snapshot.d.ts +0 -3
  233. package/dist/treedx/client/build/creation/build-snapshot.js +0 -8
  234. package/dist/treedx/client/capacity/allocations/contracts/put-capability-grant.d.ts +0 -3
  235. package/dist/treedx/client/capacity/allocations/contracts/put-capability-grant.js +0 -7
  236. package/dist/treedx/client/capacity/allocations/queries/list-capability-grants.d.ts +0 -6
  237. package/dist/treedx/client/capacity/allocations/queries/list-capability-grants.js +0 -10
  238. package/dist/treedx/client/methods.d.ts +0 -102
  239. package/dist/treedx/client/methods.js +0 -209
  240. package/dist/treedx/client/persistence/contracts/restore-storage.d.ts +0 -3
  241. package/dist/treedx/client/persistence/contracts/restore-storage.js +0 -6
  242. package/dist/treedx/client/persistence/lifecycle/verify-storage-restore.d.ts +0 -3
  243. package/dist/treedx/client/persistence/lifecycle/verify-storage-restore.js +0 -6
  244. package/dist/treedx/client/repositories/creation/register-repository.d.ts +0 -3
  245. package/dist/treedx/client/repositories/creation/register-repository.js +0 -7
  246. package/dist/treedx/client/repositories/queries/get-repository.d.ts +0 -3
  247. package/dist/treedx/client/repositories/queries/get-repository.js +0 -7
  248. package/dist/treedx/client/repositories/queries/list-repository-paths.d.ts +0 -3
  249. package/dist/treedx/client/repositories/queries/list-repository-paths.js +0 -7
  250. package/dist/treedx/client/repositories/queries/list-repository-refs.d.ts +0 -3
  251. package/dist/treedx/client/repositories/queries/list-repository-refs.js +0 -12
  252. package/dist/treedx/client/repositories/queries/query-repository.d.ts +0 -3
  253. package/dist/treedx/client/repositories/queries/query-repository.js +0 -7
  254. package/dist/treedx/client/repositories/queries/read-repository-file.d.ts +0 -3
  255. package/dist/treedx/client/repositories/queries/read-repository-file.js +0 -6
  256. package/dist/treedx/client/repositories/queries/read-repository-files.d.ts +0 -3
  257. package/dist/treedx/client/repositories/queries/read-repository-files.js +0 -7
  258. package/dist/treedx/client/repositories/queries/search-repository-files.d.ts +0 -3
  259. package/dist/treedx/client/repositories/queries/search-repository-files.js +0 -7
  260. package/dist/treedx/client/support/contracts/treedx/artifacts/contracts/download-artifact.d.ts +0 -3
  261. package/dist/treedx/client/support/contracts/treedx/artifacts/contracts/download-artifact.js +0 -9
  262. package/dist/treedx/client/support/contracts/treedx/authorization/contracts/whoami.d.ts +0 -3
  263. package/dist/treedx/client/support/contracts/treedx/authorization/contracts/whoami.js +0 -6
  264. package/dist/treedx/client/support/contracts/treedx/graph/contracts/parse-context-dsl.d.ts +0 -3
  265. package/dist/treedx/client/support/contracts/treedx/graph/contracts/parse-context-dsl.js +0 -7
  266. package/dist/treedx/client/support/contracts/treedx/health/contracts/deep-health.d.ts +0 -5
  267. package/dist/treedx/client/support/contracts/treedx/health/contracts/deep-health.js +0 -7
  268. package/dist/treedx/client/support/contracts/treedx/health/contracts/health.d.ts +0 -3
  269. package/dist/treedx/client/support/contracts/treedx/health/contracts/health.js +0 -6
  270. package/dist/treedx/client/support/contracts/treedx/health/contracts/metrics.d.ts +0 -3
  271. package/dist/treedx/client/support/contracts/treedx/health/contracts/metrics.js +0 -7
  272. package/dist/treedx/client/support/contracts/treedx/health/contracts/prometheus-metrics.d.ts +0 -2
  273. package/dist/treedx/client/support/contracts/treedx/health/contracts/prometheus-metrics.js +0 -19
  274. package/dist/treedx/client/support/contracts/treedx/health/contracts/ready.d.ts +0 -3
  275. package/dist/treedx/client/support/contracts/treedx/health/contracts/ready.js +0 -7
  276. package/dist/treedx/client/support/contracts/treedx/health/contracts/status.d.ts +0 -3
  277. package/dist/treedx/client/support/contracts/treedx/health/contracts/status.js +0 -6
  278. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/commit.d.ts +0 -3
  279. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/commit.js +0 -7
  280. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/diff.d.ts +0 -3
  281. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/diff.js +0 -6
  282. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/fetch-remote.d.ts +0 -3
  283. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/fetch-remote.js +0 -7
  284. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/push.d.ts +0 -6
  285. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/push.js +0 -23
  286. package/dist/treedx/client/support/contracts/treedx/search/contracts/compact-search-index.d.ts +0 -3
  287. package/dist/treedx/client/support/contracts/treedx/search/contracts/compact-search-index.js +0 -8
  288. package/dist/treedx/client/support/contracts/treedx/search/contracts/search.d.ts +0 -3
  289. package/dist/treedx/client/support/contracts/treedx/search/contracts/search.js +0 -7
  290. package/dist/treedx/client/support/contracts/treedx/storage/contracts/backup-storage.d.ts +0 -3
  291. package/dist/treedx/client/support/contracts/treedx/storage/contracts/backup-storage.js +0 -8
  292. package/dist/treedx/client/support/contracts/treedx/storage/contracts/compact-storage.d.ts +0 -3
  293. package/dist/treedx/client/support/contracts/treedx/storage/contracts/compact-storage.js +0 -8
  294. package/dist/treedx/client/support/contracts/treedx/transport/contracts/assert-binary-ok.d.ts +0 -2
  295. package/dist/treedx/client/support/contracts/treedx/transport/contracts/assert-binary-ok.js +0 -15
  296. package/dist/treedx/client/support/contracts/treedx/transport/contracts/fetch-with-timeout.d.ts +0 -2
  297. package/dist/treedx/client/support/contracts/treedx/transport/contracts/fetch-with-timeout.js +0 -38
  298. package/dist/treedx/client/support/contracts/treedx/transport/contracts/headers.d.ts +0 -2
  299. package/dist/treedx/client/support/contracts/treedx/transport/contracts/headers.js +0 -15
  300. package/dist/treedx/client/support/contracts/treedx/transport/contracts/parse-json-response.d.ts +0 -2
  301. package/dist/treedx/client/support/contracts/treedx/transport/contracts/parse-json-response.js +0 -15
  302. package/dist/treedx/client/support/contracts/treedx/transport/contracts/query.d.ts +0 -2
  303. package/dist/treedx/client/support/contracts/treedx/transport/contracts/query.js +0 -14
  304. package/dist/treedx/client/support/contracts/treedx/transport/contracts/repo-id.d.ts +0 -2
  305. package/dist/treedx/client/support/contracts/treedx/transport/contracts/repo-id.js +0 -14
  306. package/dist/treedx/client/support/contracts/treedx/transport/contracts/request.d.ts +0 -6
  307. package/dist/treedx/client/support/contracts/treedx/transport/contracts/request.js +0 -41
  308. package/dist/treedx/client/support/contracts/treedx/transport/contracts/throw-api-error.d.ts +0 -2
  309. package/dist/treedx/client/support/contracts/treedx/transport/contracts/throw-api-error.js +0 -14
  310. package/dist/treedx/client/support/contracts/treedx/workspaces/contracts/exec.d.ts +0 -3
  311. package/dist/treedx/client/support/contracts/treedx/workspaces/contracts/exec.js +0 -7
  312. package/dist/treedx/client/support/creation/apply-changeset.d.ts +0 -3
  313. package/dist/treedx/client/support/creation/apply-changeset.js +0 -10
  314. package/dist/treedx/client/support/creation/apply-storage-migration.d.ts +0 -3
  315. package/dist/treedx/client/support/creation/apply-storage-migration.js +0 -7
  316. package/dist/treedx/client/support/creation/create-migration.d.ts +0 -6
  317. package/dist/treedx/client/support/creation/create-migration.js +0 -7
  318. package/dist/treedx/client/support/creation/export-artifact.d.ts +0 -3
  319. package/dist/treedx/client/support/creation/export-artifact.js +0 -8
  320. package/dist/treedx/client/support/creation/plan-storage-migration.d.ts +0 -3
  321. package/dist/treedx/client/support/creation/plan-storage-migration.js +0 -7
  322. package/dist/treedx/client/support/creation/request-binary.d.ts +0 -6
  323. package/dist/treedx/client/support/creation/request-binary.js +0 -42
  324. package/dist/treedx/client/support/creation/write-file.d.ts +0 -3
  325. package/dist/treedx/client/support/creation/write-file.js +0 -10
  326. package/dist/treedx/client/support/creation/write-files.d.ts +0 -3
  327. package/dist/treedx/client/support/creation/write-files.js +0 -12
  328. package/dist/treedx/client/support/queries/treedx/artifacts/queries/get-artifact.d.ts +0 -3
  329. package/dist/treedx/client/support/queries/treedx/artifacts/queries/get-artifact.js +0 -7
  330. package/dist/treedx/client/support/queries/treedx/artifacts/queries/list-artifacts.d.ts +0 -3
  331. package/dist/treedx/client/support/queries/treedx/artifacts/queries/list-artifacts.js +0 -7
  332. package/dist/treedx/client/support/queries/treedx/authorization/queries/effective-scope.d.ts +0 -3
  333. package/dist/treedx/client/support/queries/treedx/authorization/queries/effective-scope.js +0 -9
  334. package/dist/treedx/client/support/queries/treedx/authorization/queries/list-capabilities.d.ts +0 -4
  335. package/dist/treedx/client/support/queries/treedx/authorization/queries/list-capabilities.js +0 -6
  336. package/dist/treedx/client/support/queries/treedx/federation/queries/get-placement.d.ts +0 -3
  337. package/dist/treedx/client/support/queries/treedx/federation/queries/get-placement.js +0 -7
  338. package/dist/treedx/client/support/queries/treedx/graph/queries/get-node.d.ts +0 -3
  339. package/dist/treedx/client/support/queries/treedx/graph/queries/get-node.js +0 -7
  340. package/dist/treedx/client/support/queries/treedx/graph/queries/get-related.d.ts +0 -3
  341. package/dist/treedx/client/support/queries/treedx/graph/queries/get-related.js +0 -7
  342. package/dist/treedx/client/support/queries/treedx/graph/queries/list-nodes.d.ts +0 -3
  343. package/dist/treedx/client/support/queries/treedx/graph/queries/list-nodes.js +0 -7
  344. package/dist/treedx/client/support/queries/treedx/repositories/queries/list-tree.d.ts +0 -3
  345. package/dist/treedx/client/support/queries/treedx/repositories/queries/list-tree.js +0 -10
  346. package/dist/treedx/client/support/queries/treedx/repositories/queries/read-file.d.ts +0 -3
  347. package/dist/treedx/client/support/queries/treedx/repositories/queries/read-file.js +0 -9
  348. package/dist/treedx/client/support/queries/treedx/search/queries/get-search-index-status.d.ts +0 -3
  349. package/dist/treedx/client/support/queries/treedx/search/queries/get-search-index-status.js +0 -7
  350. package/dist/treedx/client/support/queries/treedx/storage/queries/get-migration.d.ts +0 -6
  351. package/dist/treedx/client/support/queries/treedx/storage/queries/get-migration.js +0 -7
  352. package/dist/treedx/client/support/queries/treedx/storage/queries/get-snapshot.d.ts +0 -6
  353. package/dist/treedx/client/support/queries/treedx/storage/queries/get-snapshot.js +0 -7
  354. package/dist/treedx/client/support/queries/treedx/storage/queries/list-storage-migrations.d.ts +0 -6
  355. package/dist/treedx/client/support/queries/treedx/storage/queries/list-storage-migrations.js +0 -6
  356. package/dist/treedx/client/support/queries/treedx/transport/queries/list-audit-events.d.ts +0 -15
  357. package/dist/treedx/client/support/queries/treedx/transport/queries/list-audit-events.js +0 -6
  358. package/dist/treedx/client/support/queries/treedx/transport/queries/list-repositories.d.ts +0 -3
  359. package/dist/treedx/client/support/queries/treedx/transport/queries/list-repositories.js +0 -7
  360. package/dist/treedx/client/support/retirement/cleanup-artifacts.d.ts +0 -3
  361. package/dist/treedx/client/support/retirement/cleanup-artifacts.js +0 -7
  362. package/dist/treedx/client/support/retirement/delete-artifact.d.ts +0 -3
  363. package/dist/treedx/client/support/retirement/delete-artifact.js +0 -7
  364. package/dist/treedx/client/support/retirement/delete-file.d.ts +0 -3
  365. package/dist/treedx/client/support/retirement/delete-file.js +0 -10
  366. package/dist/treedx/client/support/retirement/rollback-storage-migration.d.ts +0 -3
  367. package/dist/treedx/client/support/retirement/rollback-storage-migration.js +0 -7
  368. package/dist/treedx/client/support/updates/patch-file.d.ts +0 -3
  369. package/dist/treedx/client/support/updates/patch-file.js +0 -10
  370. package/dist/treedx/client/support/updates/refresh-search-index.d.ts +0 -3
  371. package/dist/treedx/client/support/updates/refresh-search-index.js +0 -8
  372. package/dist/treedx/client/treedx/blobs/contracts/download-blob.d.ts +0 -3
  373. package/dist/treedx/client/treedx/blobs/contracts/download-blob.js +0 -6
  374. package/dist/treedx/client/treedx/blobs/creation/create-blob-upload.d.ts +0 -3
  375. package/dist/treedx/client/treedx/blobs/creation/create-blob-upload.js +0 -8
  376. package/dist/treedx/client/treedx/blobs/creation/request-blob-download.d.ts +0 -3
  377. package/dist/treedx/client/treedx/blobs/creation/request-blob-download.js +0 -27
  378. package/dist/treedx/client/treedx/blobs/creation/request-blob-upload.d.ts +0 -3
  379. package/dist/treedx/client/treedx/blobs/creation/request-blob-upload.js +0 -41
  380. package/dist/treedx/client/treedx/blobs/creation/upload-blob-part.d.ts +0 -3
  381. package/dist/treedx/client/treedx/blobs/creation/upload-blob-part.js +0 -27
  382. package/dist/treedx/client/treedx/blobs/creation/upload-blob.d.ts +0 -3
  383. package/dist/treedx/client/treedx/blobs/creation/upload-blob.js +0 -6
  384. package/dist/treedx/client/treedx/blobs/creation/write-blob.d.ts +0 -3
  385. package/dist/treedx/client/treedx/blobs/creation/write-blob.js +0 -8
  386. package/dist/treedx/client/treedx/blobs/lifecycle/complete-blob-upload.d.ts +0 -3
  387. package/dist/treedx/client/treedx/blobs/lifecycle/complete-blob-upload.js +0 -8
  388. package/dist/treedx/client/treedx/blobs/queries/read-blob.d.ts +0 -3
  389. package/dist/treedx/client/treedx/blobs/queries/read-blob.js +0 -10
  390. package/dist/treedx/client/treedx/blobs/retirement/abort-blob-upload.d.ts +0 -3
  391. package/dist/treedx/client/treedx/blobs/retirement/abort-blob-upload.js +0 -7
  392. package/dist/treedx/client/treedx/blobs/retirement/delete-blob.d.ts +0 -3
  393. package/dist/treedx/client/treedx/blobs/retirement/delete-blob.js +0 -8
  394. package/dist/treedx/client/treedx/federation/contracts/federated-query.d.ts +0 -3
  395. package/dist/treedx/client/treedx/federation/contracts/federated-query.js +0 -7
  396. package/dist/treedx/client/treedx/federation/creation/plan-federated-query.d.ts +0 -3
  397. package/dist/treedx/client/treedx/federation/creation/plan-federated-query.js +0 -6
  398. package/dist/treedx/client/treedx/federation/queries/check-mirror-health.d.ts +0 -3
  399. package/dist/treedx/client/treedx/federation/queries/check-mirror-health.js +0 -7
  400. package/dist/treedx/client/treedx/federation/updates/promote-mirror.d.ts +0 -3
  401. package/dist/treedx/client/treedx/federation/updates/promote-mirror.js +0 -7
  402. package/dist/treedx/client/treedx/federation/updates/sync-mirror.d.ts +0 -3
  403. package/dist/treedx/client/treedx/federation/updates/sync-mirror.js +0 -7
  404. package/dist/treedx/client/treedx/graph/contracts/federated-context.d.ts +0 -3
  405. package/dist/treedx/client/treedx/graph/contracts/federated-context.js +0 -7
  406. package/dist/treedx/client/treedx/graph/contracts/federated-graph.d.ts +0 -3
  407. package/dist/treedx/client/treedx/graph/contracts/federated-graph.js +0 -7
  408. package/dist/treedx/client/treedx/graph/contracts/graph-search.d.ts +0 -3
  409. package/dist/treedx/client/treedx/graph/contracts/graph-search.js +0 -8
  410. package/dist/treedx/client/treedx/graph/queries/get-graph-node.d.ts +0 -3
  411. package/dist/treedx/client/treedx/graph/queries/get-graph-node.js +0 -10
  412. package/dist/treedx/client/treedx/graph/queries/get-graph-refresh-job.d.ts +0 -3
  413. package/dist/treedx/client/treedx/graph/queries/get-graph-refresh-job.js +0 -7
  414. package/dist/treedx/client/treedx/graph/queries/get-subgraph.d.ts +0 -3
  415. package/dist/treedx/client/treedx/graph/queries/get-subgraph.js +0 -7
  416. package/dist/treedx/client/treedx/graph/queries/query-graph.d.ts +0 -3
  417. package/dist/treedx/client/treedx/graph/queries/query-graph.js +0 -7
  418. package/dist/treedx/client/treedx/graph/queries/search-graph-entities.d.ts +0 -3
  419. package/dist/treedx/client/treedx/graph/queries/search-graph-entities.js +0 -6
  420. package/dist/treedx/client/treedx/graph/queries/search-graph-files.d.ts +0 -3
  421. package/dist/treedx/client/treedx/graph/queries/search-graph-files.js +0 -6
  422. package/dist/treedx/client/treedx/graph/queries/search-graph-sections.d.ts +0 -3
  423. package/dist/treedx/client/treedx/graph/queries/search-graph-sections.js +0 -6
  424. package/dist/treedx/client/treedx/graph/updates/refresh-graph.d.ts +0 -3
  425. package/dist/treedx/client/treedx/graph/updates/refresh-graph.js +0 -7
  426. package/dist/treedx/client/treedx/search/contracts/federated-search.d.ts +0 -3
  427. package/dist/treedx/client/treedx/search/contracts/federated-search.js +0 -7
  428. package/dist/treedx/client/treedx/workspaces/creation/create-workspace.d.ts +0 -3
  429. package/dist/treedx/client/treedx/workspaces/creation/create-workspace.js +0 -7
  430. package/dist/treedx/client/treedx/workspaces/retirement/abandon-workspace.d.ts +0 -3
  431. package/dist/treedx/client/treedx/workspaces/retirement/abandon-workspace.js +0 -12
  432. package/dist/treedx/client/treedx/workspaces/retirement/close-workspace.d.ts +0 -2
  433. package/dist/treedx/client/treedx/workspaces/retirement/close-workspace.js +0 -6
  434. package/dist/treedx/generated/openapi-types.d.ts +0 -3662
  435. package/dist/treedx/support/client.d.ts +0 -251
  436. package/dist/treedx/support/client.js +0 -252
  437. package/dist/treedx/support/errors.d.ts +0 -13
  438. package/dist/treedx/support/errors.js +0 -17
  439. package/dist/treedx/types/tree-dx-actor.d.ts +0 -209
  440. package/dist/treedx/types/tree-dx-actor.js +0 -8
  441. package/dist/treedx/types/tree-dx-artifact-list-response.d.ts +0 -13
  442. package/dist/treedx/types/tree-dx-changeset.d.ts +0 -51
  443. package/dist/treedx/types/tree-dx-changeset.js +0 -6
  444. package/dist/treedx/types/tree-dx-context-request.d.ts +0 -245
  445. package/dist/treedx/types/tree-dx-context-request.js +0 -0
  446. package/dist/treedx/types/tree-dx-exec-result.d.ts +0 -249
  447. package/dist/treedx/types/tree-dx-exec-result.js +0 -0
  448. package/dist/treedx/types/tree-dx-list-tree-request.d.ts +0 -222
  449. package/dist/treedx/types/tree-dx-list-tree-request.js +0 -0
  450. package/dist/treedx/types/tree-dx-push-request.d.ts +0 -229
  451. package/dist/treedx/types/tree-dx-push-request.js +0 -0
  452. /package/dist/{treedx/generated/openapi-types.js → site-contracts/cloudflare.js} +0 -0
  453. /package/dist/{treedx/types/tree-dx-artifact-list-response.js → site-contracts/platform.js} +0 -0
@@ -55,84 +55,92 @@ function validateProviderSupplyOffer(offer, path = "offer") {
55
55
  if (!Array.isArray(offer.capabilities) || offer.capabilities.some((entry) => !nonEmpty(entry))) add(diagnostics, "provider_offer_capabilities_invalid", `${path}.capabilities`, "Offer capabilities must be non-empty strings.");
56
56
  return result(diagnostics);
57
57
  }
58
- function validateCapacityProviderManifestV2(manifest) {
58
+ function validateCapacityProviderManifestV5(manifest) {
59
59
  const diagnostics = [];
60
- if (manifest?.schemaVersion !== 2) add(diagnostics, "provider_manifest_schema_invalid", "schemaVersion", "Capacity provider manifest schemaVersion must be 2.");
61
- if (!["agent", "platform-operation"].includes(manifest?.providerClass)) add(diagnostics, "provider_manifest_class_invalid", "providerClass", "providerClass must be agent or platform-operation.");
60
+ if (manifest?.schemaVersion !== 5) add(diagnostics, "provider_manifest_schema_invalid", "schemaVersion", "Capacity provider manifest schemaVersion must be 5.");
61
+ if ("providerClass" in manifest) add(diagnostics, "provider_manifest_legacy_class_forbidden", "providerClass", "Provider classes are not part of the unified battery contract.");
62
62
  if (!["team", "external"].includes(manifest?.ownership?.type)) add(diagnostics, "provider_manifest_ownership_invalid", "ownership.type", "ownership.type must be team or external.");
63
63
  if (manifest?.ownership?.type === "team" && !nonEmpty(manifest.ownership.teamId)) add(diagnostics, "provider_manifest_owner_team_required", "ownership.teamId", "Team-owned providers require ownership.teamId.");
64
64
  if (!nonEmpty(manifest?.configuration?.generation)) add(diagnostics, "provider_manifest_generation_required", "configuration.generation", "An immutable desired configuration generation is required.");
65
65
  if (!nonEmpty(manifest?.identity?.privateKeyRef) || !manifest.identity.privateKeyRef.includes("://")) add(diagnostics, "provider_manifest_identity_ref_invalid", "identity.privateKeyRef", "Provider identity must use an encrypted secret reference.");
66
66
  if (!nonEmpty(manifest?.identity?.displayName)) add(diagnostics, "provider_manifest_identity_name_required", "identity.displayName", "Provider identity displayName is required.");
67
- if (!Number.isInteger(manifest?.supplyCeilings?.maxConcurrentAssignments) || manifest.supplyCeilings.maxConcurrentAssignments < 1) add(diagnostics, "provider_manifest_concurrency_invalid", "supplyCeilings.maxConcurrentAssignments", "Provider concurrency must be a positive integer.");
67
+ if (!Number.isInteger(manifest?.capacity?.maxConcurrentWorkers) || manifest.capacity.maxConcurrentWorkers < 1) add(diagnostics, "provider_manifest_concurrency_invalid", "capacity.maxConcurrentWorkers", "Provider worker concurrency must be a positive integer.");
68
+ for (const field of ["cpuCores", "memoryBytes"]) {
69
+ const value = manifest?.capacity?.[field];
70
+ if (value !== void 0 && (!Number.isFinite(value) || value <= 0)) add(diagnostics, "provider_manifest_resource_capacity_invalid", `capacity.${field}`, `${field} must be greater than zero when configured.`);
71
+ }
72
+ for (const [index, accelerator] of (manifest?.capacity?.accelerators ?? []).entries()) {
73
+ if (!nonEmpty(accelerator.kind)) add(diagnostics, "provider_manifest_accelerator_kind_required", `capacity.accelerators[${index}].kind`, "Accelerator kind is required.");
74
+ if (!Number.isInteger(accelerator.count) || accelerator.count < 1) add(diagnostics, "provider_manifest_accelerator_count_invalid", `capacity.accelerators[${index}].count`, "Accelerator count must be a positive integer.");
75
+ }
68
76
  for (const field of ["maxActiveSeconds", "maxInputTokens", "maxOutputTokens", "maxCost", "maxAttempts"]) {
69
- const value = manifest?.supplyCeilings?.[field];
70
- if (value !== void 0 && (!Number.isFinite(value) || value <= 0)) add(diagnostics, "provider_manifest_supply_ceiling_invalid", `supplyCeilings.${field}`, `${field} must be greater than zero when configured.`);
77
+ const value = manifest?.capacity?.[field];
78
+ if (value !== void 0 && (!Number.isFinite(value) || value <= 0)) add(diagnostics, "provider_manifest_supply_ceiling_invalid", `capacity.${field}`, `${field} must be greater than zero when configured.`);
71
79
  }
72
- if (manifest?.supplyCeilings?.maxCost !== void 0 && !nonEmpty(manifest.supplyCeilings.currency)) add(diagnostics, "provider_manifest_supply_currency_required", "supplyCeilings.currency", "A currency is required when maxCost is configured.");
80
+ if (manifest?.capacity?.maxCost !== void 0 && !nonEmpty(manifest.capacity.currency)) add(diagnostics, "provider_manifest_supply_currency_required", "capacity.currency", "A currency is required when maxCost is configured.");
73
81
  const bindingIds = /* @__PURE__ */ new Set();
74
- for (const [index, binding] of (manifest?.credentialBindings ?? []).entries()) {
75
- const path = `credentialBindings[${index}]`;
82
+ for (const [index, binding] of (manifest?.credentialProfiles ?? []).entries()) {
83
+ const path = `credentialProfiles[${index}]`;
76
84
  if (!nonEmpty(binding.id) || bindingIds.has(binding.id)) add(diagnostics, "provider_manifest_credential_binding_id_invalid", `${path}.id`, "Credential binding IDs must be non-empty and unique.");
77
85
  bindingIds.add(binding.id);
78
- if (!["service-vault", "process-environment"].includes(binding.source)) add(diagnostics, "provider_manifest_credential_binding_source_invalid", `${path}.source`, "Credential bindings must use service-vault or process-environment.");
86
+ if (binding.source !== "service-vault") add(diagnostics, "provider_manifest_credential_binding_source_invalid", `${path}.source`, "Credential bindings must use the service vault.");
79
87
  if (!nonEmpty(binding.reference)) add(diagnostics, "provider_manifest_credential_binding_reference_required", `${path}.reference`, "Credential binding reference is required.");
80
- if (binding.source === "process-environment" && !/^TREESEED_[A-Z0-9_]+$/u.test(binding.reference)) add(diagnostics, "provider_manifest_credential_environment_invalid", `${path}.reference`, "Process-environment bindings must name a TREESEED_* variable.");
81
88
  }
82
- if (!Array.isArray(manifest?.executionProviders) || manifest.executionProviders.length === 0) add(diagnostics, "provider_manifest_execution_providers_required", "executionProviders", "At least one execution provider is required.");
83
- const executionProviderIds = /* @__PURE__ */ new Set();
89
+ if (!Array.isArray(manifest?.lanes) || manifest.lanes.length === 0) add(diagnostics, "provider_manifest_lanes_required", "lanes", "At least one provider lane is required.");
84
90
  const laneIds = /* @__PURE__ */ new Set();
85
- for (const [index, executionProvider] of (manifest?.executionProviders ?? []).entries()) {
86
- const path = `executionProviders[${index}]`;
87
- if (!nonEmpty(executionProvider.id) || executionProviderIds.has(executionProvider.id)) add(diagnostics, "provider_execution_provider_id_invalid", `${path}.id`, "Execution provider id must be non-empty and unique.");
88
- executionProviderIds.add(executionProvider.id);
89
- if (!nonEmpty(executionProvider.adapter)) add(diagnostics, "provider_execution_provider_adapter_required", `${path}.adapter`, "Execution provider adapter is required.");
90
- for (const entry of validateExecutionProviderRuntimeConfiguration(executionProvider, path).diagnostics) add(diagnostics, entry.code, entry.path, entry.message);
91
- for (const bindingId of executionProvider.credentialBindings ?? []) if (!bindingIds.has(bindingId)) add(diagnostics, "provider_execution_provider_credential_unknown", `${path}.credentialBindings`, `Execution provider references unknown credential binding ${bindingId}.`);
92
- if (!executionProvider.nativeLimits || typeof executionProvider.nativeLimits !== "object" || Array.isArray(executionProvider.nativeLimits)) add(diagnostics, "provider_execution_provider_limits_invalid", `${path}.nativeLimits`, "Execution provider nativeLimits must be an object.");
93
- const minimumDuration = executionProvider.minimumAssignmentDuration;
91
+ let reservedWorkers = 0;
92
+ const purposes = /* @__PURE__ */ new Set();
93
+ for (const [laneIndex, lane] of (manifest?.lanes ?? []).entries()) {
94
+ const lanePath = `lanes[${laneIndex}]`;
95
+ if (!nonEmpty(lane.id) || laneIds.has(lane.id)) add(diagnostics, "provider_lane_id_invalid", `${lanePath}.id`, "Provider lane id must be non-empty and provider-global unique.");
96
+ laneIds.add(lane.id);
97
+ purposes.add(lane.purpose);
98
+ if (!["communication", "platform", "workday"].includes(lane.purpose)) add(diagnostics, "provider_lane_purpose_invalid", `${lanePath}.purpose`, "Provider lane purpose must be communication, platform, or workday.");
99
+ if (!Number.isInteger(lane.priority) || lane.priority < 1) add(diagnostics, "provider_lane_priority_invalid", `${lanePath}.priority`, "Provider lane priority must be a positive integer.");
100
+ if (!Number.isInteger(lane.reservedConcurrentWorkers) || lane.reservedConcurrentWorkers < 0) add(diagnostics, "provider_lane_reservation_invalid", `${lanePath}.reservedConcurrentWorkers`, "Reserved workers must be a non-negative integer.");
101
+ if (!Number.isInteger(lane.maxConcurrentWorkers) || lane.maxConcurrentWorkers < 1 || lane.maxConcurrentWorkers > manifest.capacity.maxConcurrentWorkers) add(diagnostics, "provider_lane_concurrency_invalid", `${lanePath}.maxConcurrentWorkers`, "Lane concurrency must be positive and no greater than provider capacity.");
102
+ if (lane.reservedConcurrentWorkers > lane.maxConcurrentWorkers) add(diagnostics, "provider_lane_reservation_exceeds_maximum", `${lanePath}.reservedConcurrentWorkers`, "Lane reservation may not exceed its maximum.");
103
+ reservedWorkers += Number.isInteger(lane.reservedConcurrentWorkers) ? lane.reservedConcurrentWorkers : 0;
104
+ if (lane.reclaimPolicy !== "admission") add(diagnostics, "provider_lane_reclaim_policy_invalid", `${lanePath}.reclaimPolicy`, "Borrowed capacity is reclaimed through admission control, never worker termination.");
105
+ if (!Number.isInteger(lane.queueLimit) || lane.queueLimit < 0) add(diagnostics, "provider_lane_queue_limit_invalid", `${lanePath}.queueLimit`, "Lane queueLimit must be a non-negative integer.");
106
+ if (!Number.isInteger(lane.timeoutSeconds) || lane.timeoutSeconds < 1) add(diagnostics, "provider_lane_timeout_invalid", `${lanePath}.timeoutSeconds`, "Lane timeoutSeconds must be a positive integer.");
107
+ if (lane.capabilities && lane.capabilities.some((entry) => !nonEmpty(entry))) add(diagnostics, "provider_lane_capabilities_invalid", `${lanePath}.capabilities`, "Provider lane capabilities must be non-empty strings.");
108
+ const minimumDuration = lane.minimumAssignmentDuration;
94
109
  if (minimumDuration !== void 0) {
95
- if (!Number.isInteger(minimumDuration.amount) || minimumDuration.amount < 1) add(diagnostics, "provider_execution_provider_minimum_duration_invalid", `${path}.minimumAssignmentDuration.amount`, "Minimum assignment duration amount must be a positive integer.");
96
- if (!["seconds", "business-days"].includes(minimumDuration.unit)) add(diagnostics, "provider_execution_provider_minimum_duration_unit_invalid", `${path}.minimumAssignmentDuration.unit`, "Minimum assignment duration unit must be seconds or business-days.");
110
+ if (!Number.isInteger(minimumDuration.amount) || minimumDuration.amount < 1) add(diagnostics, "provider_lane_minimum_duration_invalid", `${lanePath}.minimumAssignmentDuration.amount`, "Minimum assignment duration amount must be a positive integer.");
111
+ if (!["seconds", "business-days"].includes(minimumDuration.unit)) add(diagnostics, "provider_lane_minimum_duration_unit_invalid", `${lanePath}.minimumAssignmentDuration.unit`, "Minimum assignment duration unit must be seconds or business-days.");
97
112
  if (minimumDuration.unit === "business-days") {
98
113
  try {
99
114
  new Intl.DateTimeFormat("en", { timeZone: minimumDuration.calendar?.timeZone }).format();
100
115
  } catch {
101
- add(diagnostics, "provider_execution_provider_minimum_duration_timezone_invalid", `${path}.minimumAssignmentDuration.calendar.timeZone`, "Business-day duration requires a valid IANA time zone.");
116
+ add(diagnostics, "provider_lane_minimum_duration_timezone_invalid", `${lanePath}.minimumAssignmentDuration.calendar.timeZone`, "Business-day duration requires a valid IANA time zone.");
102
117
  }
103
118
  const weekdays = minimumDuration.calendar?.weekdays ?? [1, 2, 3, 4, 5];
104
- if (!Array.isArray(weekdays) || weekdays.length === 0 || weekdays.some((day) => !Number.isInteger(day) || day < 1 || day > 7) || new Set(weekdays).size !== weekdays.length) add(diagnostics, "provider_execution_provider_minimum_duration_weekdays_invalid", `${path}.minimumAssignmentDuration.calendar.weekdays`, "Business weekdays must be unique ISO weekday numbers from 1 through 7.");
105
- if ((minimumDuration.calendar?.holidayDates ?? []).some((date) => !/^\d{4}-\d{2}-\d{2}$/u.test(date))) add(diagnostics, "provider_execution_provider_minimum_duration_holidays_invalid", `${path}.minimumAssignmentDuration.calendar.holidayDates`, "Business-day holidays must use YYYY-MM-DD dates.");
106
- }
107
- }
108
- if (executionProvider.researchSourcePolicy !== void 0) {
109
- for (const diagnostic of validateResearchSourcePolicy(executionProvider.researchSourcePolicy).diagnostics) {
110
- add(diagnostics, diagnostic.code, `${path}.researchSourcePolicy.${diagnostic.path}`, diagnostic.message);
111
- }
112
- }
113
- for (const [laneIndex, lane] of (executionProvider.lanes ?? []).entries()) {
114
- const lanePath = `${path}.lanes[${laneIndex}]`;
115
- if (!nonEmpty(lane.id) || laneIds.has(lane.id)) add(diagnostics, "provider_lane_id_invalid", `${lanePath}.id`, "Provider lane id must be non-empty and provider-global unique.");
116
- laneIds.add(lane.id);
117
- if (!["communication", "operation"].includes(lane.purpose)) add(diagnostics, "provider_lane_purpose_invalid", `${lanePath}.purpose`, "Provider lane purpose must be communication or operation.");
118
- if (!Number.isInteger(lane.maxConcurrentRunners) || lane.maxConcurrentRunners < 1) add(diagnostics, "provider_lane_concurrency_invalid", `${lanePath}.maxConcurrentRunners`, "Provider lane concurrency must be a positive integer.");
119
- const laneMinimum = lane.minimumAssignmentDuration;
120
- if (laneMinimum !== void 0) {
121
- if (!Number.isInteger(laneMinimum.amount) || laneMinimum.amount < 1) add(diagnostics, "provider_lane_minimum_duration_invalid", `${lanePath}.minimumAssignmentDuration.amount`, "Lane minimum assignment duration amount must be a positive integer.");
122
- if (!["seconds", "business-days"].includes(laneMinimum.unit)) add(diagnostics, "provider_lane_minimum_duration_unit_invalid", `${lanePath}.minimumAssignmentDuration.unit`, "Lane minimum assignment duration unit must be seconds or business-days.");
123
- if (laneMinimum.unit === "business-days") {
124
- try {
125
- new Intl.DateTimeFormat("en", { timeZone: laneMinimum.calendar?.timeZone }).format();
126
- } catch {
127
- add(diagnostics, "provider_lane_minimum_duration_timezone_invalid", `${lanePath}.minimumAssignmentDuration.calendar.timeZone`, "Business-day lane duration requires a valid IANA time zone.");
128
- }
129
- }
119
+ if (!Array.isArray(weekdays) || weekdays.length === 0 || weekdays.some((day) => !Number.isInteger(day) || day < 1 || day > 7) || new Set(weekdays).size !== weekdays.length) add(diagnostics, "provider_lane_minimum_duration_weekdays_invalid", `${lanePath}.minimumAssignmentDuration.calendar.weekdays`, "Business weekdays must be unique ISO weekday numbers from 1 through 7.");
120
+ if ((minimumDuration.calendar?.holidayDates ?? []).some((date) => !/^\d{4}-\d{2}-\d{2}$/u.test(date))) add(diagnostics, "provider_lane_minimum_duration_holidays_invalid", `${lanePath}.minimumAssignmentDuration.calendar.holidayDates`, "Business-day holidays must use YYYY-MM-DD dates.");
130
121
  }
131
- if (lane.capabilities && lane.capabilities.some((entry) => !nonEmpty(entry))) add(diagnostics, "provider_lane_capabilities_invalid", `${lanePath}.capabilities`, "Provider lane capabilities must be non-empty strings.");
132
122
  }
133
123
  }
134
- if (manifest?.defaultExecutionProviderId !== void 0 && !executionProviderIds.has(manifest.defaultExecutionProviderId)) {
135
- add(diagnostics, "provider_default_execution_provider_unknown", "defaultExecutionProviderId", "The default execution provider must reference a configured execution provider id.");
124
+ if (reservedWorkers > manifest?.capacity?.maxConcurrentWorkers) add(diagnostics, "provider_lane_reservations_exceed_capacity", "lanes", "Total reserved workers may not exceed provider capacity.");
125
+ for (const purpose of ["communication", "platform", "workday"]) if (!purposes.has(purpose)) add(diagnostics, "provider_lane_purpose_required", "lanes", `Unified providers require a ${purpose} lane.`);
126
+ const communication = (manifest?.lanes ?? []).find((lane) => lane.purpose === "communication");
127
+ if (communication && communication.reservedConcurrentWorkers < 1) add(diagnostics, "provider_communication_reservation_required", "lanes", "Communication requires at least one reserved worker.");
128
+ if (communication && (manifest?.lanes ?? []).some((lane) => lane.purpose !== "communication" && lane.priority >= communication.priority)) add(diagnostics, "provider_communication_priority_invalid", "lanes", "Communication must have the highest lane priority.");
129
+ if (!Array.isArray(manifest?.adapters) || manifest.adapters.length === 0) add(diagnostics, "provider_manifest_adapters_required", "adapters", "At least one execution adapter is required.");
130
+ const adapterIds = /* @__PURE__ */ new Set();
131
+ for (const [index, adapter] of (manifest?.adapters ?? []).entries()) {
132
+ const path = `adapters[${index}]`;
133
+ if (!nonEmpty(adapter.id) || adapterIds.has(adapter.id)) add(diagnostics, "provider_adapter_id_invalid", `${path}.id`, "Adapter id must be non-empty and unique.");
134
+ adapterIds.add(adapter.id);
135
+ if (!nonEmpty(adapter.adapter)) add(diagnostics, "provider_adapter_required", `${path}.adapter`, "Adapter implementation is required.");
136
+ if (adapter.isolation !== "microvm") add(diagnostics, "provider_adapter_isolation_invalid", `${path}.isolation`, "Adapters must use microVM isolation.");
137
+ if (!Number.isInteger(adapter.maxConcurrentWorkers) || adapter.maxConcurrentWorkers < 1 || adapter.maxConcurrentWorkers > manifest.capacity.maxConcurrentWorkers) add(diagnostics, "provider_adapter_concurrency_invalid", `${path}.maxConcurrentWorkers`, "Adapter concurrency must be positive and no greater than provider capacity.");
138
+ if (!Array.isArray(adapter.laneIds) || adapter.laneIds.length === 0) add(diagnostics, "provider_adapter_lanes_required", `${path}.laneIds`, "Every adapter must serve at least one lane.");
139
+ for (const laneId of adapter.laneIds ?? []) if (!laneIds.has(laneId)) add(diagnostics, "provider_adapter_lane_unknown", `${path}.laneIds`, `Adapter references unknown lane ${laneId}.`);
140
+ for (const bindingId of adapter.credentialProfiles ?? []) if (!bindingIds.has(bindingId)) add(diagnostics, "provider_adapter_credential_unknown", `${path}.credentialProfiles`, `Adapter references unknown credential profile ${bindingId}.`);
141
+ if (!adapter.nativeLimits || typeof adapter.nativeLimits !== "object" || Array.isArray(adapter.nativeLimits)) add(diagnostics, "provider_adapter_limits_invalid", `${path}.nativeLimits`, "Adapter nativeLimits must be an object.");
142
+ for (const entry of validateExecutionProviderRuntimeConfiguration(adapter, path).diagnostics) add(diagnostics, entry.code, entry.path, entry.message);
143
+ if (adapter.researchSourcePolicy !== void 0) for (const diagnostic of validateResearchSourcePolicy(adapter.researchSourcePolicy).diagnostics) add(diagnostics, diagnostic.code, `${path}.researchSourcePolicy.${diagnostic.path}`, diagnostic.message);
136
144
  }
137
145
  if (!Array.isArray(manifest?.connections)) add(diagnostics, "provider_manifest_connections_required", "connections", "connections must be an array.");
138
146
  const ids = /* @__PURE__ */ new Set();
@@ -163,6 +171,34 @@ function validateCapacityProviderManifestV2(manifest) {
163
171
  }
164
172
  if (providerIds.size > 1) add(diagnostics, "provider_connection_identity_mismatch", "connections", "Every connection in one provider manifest must reference the same global provider identity.");
165
173
  if (explicitShare > 100) add(diagnostics, "provider_connection_share_exceeded", "connections", "Explicit connection shares may not exceed 100 percent.");
174
+ if (manifest.sandbox?.required !== true || manifest.sandbox?.runtime !== "kata-runtime-rs-qemu") add(diagnostics, "provider_sandbox_required", "sandbox", "Capacity providers require the Kata runtime-rs QEMU sandbox.");
175
+ if (!manifest.sandbox?.brokerSocket?.startsWith("/run/treeseed/")) add(diagnostics, "provider_sandbox_socket_invalid", "sandbox.brokerSocket", "Sandbox broker socket must remain under /run/treeseed.");
176
+ const profiles = new Set((manifest.sandbox?.profiles ?? []).map((profile) => profile.id));
177
+ for (const [index, profile] of (manifest.sandbox?.profiles ?? []).entries()) {
178
+ if (!/^[a-z][a-z0-9._-]{0,127}$/u.test(profile.id)) add(diagnostics, "provider_sandbox_profile_invalid", `sandbox.profiles[${index}].id`, "Sandbox profile id must be a provider-local identifier.");
179
+ if (profile.contract) {
180
+ if (!/^[a-z][a-z0-9._-]{0,127}$/u.test(profile.contract.id) || !/^\d+\.\d+\.\d+$/u.test(profile.contract.version) || !/^sha256:[a-f0-9]{64}$/u.test(profile.contract.digest)) add(diagnostics, "provider_sandbox_contract_invalid", `sandbox.profiles[${index}].contract`, "Portable sandbox contracts require an id, exact semantic version, and immutable digest.");
181
+ if (!Array.isArray(profile.contract.capabilities) || profile.contract.capabilities.some((capability) => !/^[a-z][a-z0-9._-]{0,127}$/u.test(capability))) add(diagnostics, "provider_sandbox_contract_capabilities_invalid", `sandbox.profiles[${index}].contract.capabilities`, "Sandbox contract capabilities must be portable identifiers.");
182
+ }
183
+ if (!/^sha256:[a-f0-9]{64}$/u.test(profile.guestImageDigest)) add(diagnostics, "provider_sandbox_image_digest_invalid", `sandbox.profiles[${index}].guestImageDigest`, "Guest images require an immutable SHA-256 digest.");
184
+ if (profile.defaultDenyNetwork !== true) add(diagnostics, "provider_sandbox_network_policy_invalid", `sandbox.profiles[${index}].defaultDenyNetwork`, "Sandbox networking must default deny.");
185
+ }
186
+ if (!Number.isInteger(manifest.ontology?.generation) || manifest.ontology.generation < 1 || !/^sha256:[a-f0-9]{64}$/u.test(manifest.ontology?.digest ?? "")) add(diagnostics, "provider_ontology_binding_invalid", "ontology", "Manifest v5 requires an exact ontology generation and digest.");
187
+ const offerIds = /* @__PURE__ */ new Set();
188
+ for (const [profileIndex, profile] of manifest.sandbox.profiles.entries()) {
189
+ if (!profile.lineage || !/^sha256:[a-f0-9]{64}$/u.test(profile.lineage.baseImageDigest) || !/^sha256:[a-f0-9]{64}$/u.test(profile.lineage.provenanceDigest) || !profile.lineage.architectures.length || !profile.lineage.signature.value) add(diagnostics, "provider_sandbox_lineage_required", `sandbox.profiles[${profileIndex}].lineage`, "Manifest v5 sandbox images require signed exact sandbox-base lineage and architectures.");
190
+ }
191
+ for (const [adapterIndex, adapter] of manifest.adapters.entries()) {
192
+ if (!adapter.offers.length) add(diagnostics, "provider_adapter_offers_required", `adapters[${adapterIndex}].offers`, "Every v5 adapter must expose at least one standardized capability offer.");
193
+ for (const [offerIndex, binding] of adapter.offers.entries()) {
194
+ const path = `adapters[${adapterIndex}].offers[${offerIndex}]`;
195
+ if (offerIds.has(binding.offer.offerId)) add(diagnostics, "provider_offer_id_duplicate", `${path}.offer.offerId`, "Offer ids must be provider-global unique.");
196
+ offerIds.add(binding.offer.offerId);
197
+ if (!profiles.has(binding.sandboxProfileId)) add(diagnostics, "provider_offer_sandbox_unknown", `${path}.sandboxProfileId`, "Offer references an unknown provider-local sandbox profile.");
198
+ if (binding.offer.capabilities.some((reference) => !reference.id.startsWith("treeseed.") && !reference.id.startsWith("provider."))) add(diagnostics, "provider_offer_capability_namespace_invalid", `${path}.offer.capabilities`, "Offers require standardized TreeSeed or provider capability references.");
199
+ if (binding.offer.conformance.some((entry) => entry.status !== "passed")) add(diagnostics, "provider_offer_conformance_failed", `${path}.offer.conformance`, "Only passing capability conformance may be advertised.");
200
+ }
201
+ }
166
202
  return result(diagnostics);
167
203
  }
168
204
  function capacityProviderSecurityDefaults() {
@@ -177,7 +213,7 @@ export {
177
213
  capacityProviderSecurityDefaults,
178
214
  nonEmpty,
179
215
  result,
180
- validateCapacityProviderManifestV2,
216
+ validateCapacityProviderManifestV5,
181
217
  validateCapacityProviderProofPayload,
182
218
  validateCapacityProviderPublicJwk,
183
219
  validateProviderSupplyOffer
@@ -1,4 +1,8 @@
1
1
  export * from '../secrets-capability/service-provider-contracts.js';
2
2
  export * from '../secrets-capability/provider-operation-contracts.js';
3
3
  export * from '../secrets-capability/workflow-operation-contracts.js';
4
- export * from '../secrets-capability/service-vault-contracts.js';
4
+ export * from '../secrets-capability/secret-contracts.js';
5
+ export * from '../secrets-capability/github-actions-encryption.js';
6
+ export * from '../secrets-capability/shared-resources.js';
7
+ export * from '../secrets-capability/vault-contracts.js';
8
+ export * from '../secrets-capability/shared-access.js';
@@ -1,4 +1,8 @@
1
1
  export * from "../secrets-capability/service-provider-contracts.js";
2
2
  export * from "../secrets-capability/provider-operation-contracts.js";
3
3
  export * from "../secrets-capability/workflow-operation-contracts.js";
4
- export * from "../secrets-capability/service-vault-contracts.js";
4
+ export * from "../secrets-capability/secret-contracts.js";
5
+ export * from "../secrets-capability/github-actions-encryption.js";
6
+ export * from "../secrets-capability/shared-resources.js";
7
+ export * from "../secrets-capability/vault-contracts.js";
8
+ export * from "../secrets-capability/shared-access.js";