@treeseed/sdk 0.10.28 → 0.12.4

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 (509) hide show
  1. package/README.md +213 -7
  2. package/dist/agent-capacity.d.ts +916 -0
  3. package/dist/agent-capacity.js +1600 -0
  4. package/dist/agent-tools.d.ts +37 -0
  5. package/dist/agent-tools.js +301 -0
  6. package/dist/api/app.d.ts +1 -1
  7. package/dist/api/auth/d1-database.d.ts +2 -2
  8. package/dist/api/auth/d1-provider.d.ts +4 -4
  9. package/dist/api/auth/d1-store.d.ts +2 -2
  10. package/dist/api/auth/memory-provider.d.ts +1 -1
  11. package/dist/api/auth/tokens.d.ts +1 -1
  12. package/dist/api/config.d.ts +3 -1
  13. package/dist/api/config.js +34 -10
  14. package/dist/api/http.d.ts +2 -2
  15. package/dist/api/index.d.ts +10 -10
  16. package/dist/api/index.js +4 -2
  17. package/dist/api/operations-routes.d.ts +3 -3
  18. package/dist/api/operations.d.ts +1 -1
  19. package/dist/api/providers.d.ts +1 -1
  20. package/dist/api/providers.js +21 -4
  21. package/dist/api/railway.d.ts +3 -2
  22. package/dist/api/sdk-dispatch.d.ts +4 -4
  23. package/dist/api/sdk-routes.d.ts +2 -2
  24. package/dist/api/templates.d.ts +2 -2
  25. package/dist/api/types.d.ts +3 -2
  26. package/dist/capacity-provider.d.ts +118 -59
  27. package/dist/capacity-provider.js +235 -43
  28. package/dist/capacity.d.ts +2 -2
  29. package/dist/cli-tools.d.ts +1 -1
  30. package/dist/content-operations.d.ts +97 -0
  31. package/dist/content-operations.js +250 -0
  32. package/dist/content-store.d.ts +4 -4
  33. package/dist/control-plane-client.d.ts +13 -18
  34. package/dist/control-plane-client.js +8 -86
  35. package/dist/control-plane.d.ts +3 -2
  36. package/dist/control-plane.js +38 -13
  37. package/dist/copilot.d.ts +3 -0
  38. package/dist/copilot.js +16 -1
  39. package/dist/d1-http.d.ts +1 -1
  40. package/dist/d1-store.d.ts +32 -57
  41. package/dist/d1-store.js +115 -318
  42. package/dist/db/d1.d.ts +1 -232
  43. package/dist/db/index.d.ts +3 -3
  44. package/dist/db/market-schema.d.ts +50900 -11018
  45. package/dist/db/market-schema.js +2313 -467
  46. package/dist/db/node-sqlite.d.ts +1 -232
  47. package/dist/db/node-sqlite.js +7 -2
  48. package/dist/db/schema.d.ts +0 -462
  49. package/dist/db/schema.js +2 -22
  50. package/dist/dispatch.d.ts +1 -1
  51. package/dist/dispatch.js +0 -11
  52. package/dist/fixture-support.js +52 -4
  53. package/dist/governance.d.ts +133 -0
  54. package/dist/governance.js +285 -0
  55. package/dist/graph/build.d.ts +2 -2
  56. package/dist/graph/context-query-contracts.d.ts +1 -1
  57. package/dist/graph/dsl.d.ts +1 -1
  58. package/dist/graph/query.d.ts +4 -4
  59. package/dist/graph/ranking.d.ts +1 -1
  60. package/dist/graph/schema.d.ts +1 -1
  61. package/dist/graph.d.ts +11 -11
  62. package/dist/guarantees/index.d.ts +425 -0
  63. package/dist/guarantees/index.js +1146 -0
  64. package/dist/hosting/apps.d.ts +12 -0
  65. package/dist/hosting/apps.js +107 -0
  66. package/dist/hosting/builtins.d.ts +25 -0
  67. package/dist/hosting/builtins.js +602 -0
  68. package/dist/hosting/contracts.d.ts +208 -0
  69. package/dist/hosting/contracts.js +0 -0
  70. package/dist/hosting/graph.d.ts +195 -0
  71. package/dist/hosting/graph.js +1092 -0
  72. package/dist/hosting/index.d.ts +4 -0
  73. package/dist/hosting/index.js +4 -0
  74. package/dist/index.d.ts +88 -67
  75. package/dist/index.js +142 -14
  76. package/dist/local-dev/managed-dev.d.ts +85 -0
  77. package/dist/local-dev/managed-dev.js +368 -0
  78. package/dist/managed-dependencies.d.ts +9 -0
  79. package/dist/managed-dependencies.js +10 -9
  80. package/dist/market-client.d.ts +327 -9
  81. package/dist/market-client.js +464 -20
  82. package/dist/model-registry.d.ts +1 -1
  83. package/dist/model-registry.js +19 -19
  84. package/dist/operations/agent-tools.d.ts +2 -11
  85. package/dist/operations/agent-tools.js +2 -14
  86. package/dist/operations/providers/default.d.ts +1 -1
  87. package/dist/operations/providers/default.js +20 -37
  88. package/dist/operations/repository-operations.d.ts +26 -2
  89. package/dist/operations/repository-operations.js +159 -1
  90. package/dist/operations/runtime.d.ts +3 -3
  91. package/dist/operations/services/bootstrap-runner.d.ts +4 -2
  92. package/dist/operations/services/bootstrap-runner.js +22 -2
  93. package/dist/operations/services/build-warning-policy.d.ts +34 -0
  94. package/dist/operations/services/build-warning-policy.js +81 -82
  95. package/dist/operations/services/commit-message-provider.js +4 -4
  96. package/dist/operations/services/config-runtime.d.ts +83 -24
  97. package/dist/operations/services/config-runtime.js +449 -130
  98. package/dist/operations/services/deploy.d.ts +106 -624
  99. package/dist/operations/services/deploy.js +746 -263
  100. package/dist/operations/services/deployment-readiness.d.ts +30 -0
  101. package/dist/operations/services/deployment-readiness.js +206 -0
  102. package/dist/operations/services/git-remote-policy.js +12 -4
  103. package/dist/operations/services/git-runner.d.ts +66 -0
  104. package/dist/operations/services/git-runner.js +479 -0
  105. package/dist/operations/services/git-workflow.d.ts +45 -6
  106. package/dist/operations/services/git-workflow.js +251 -23
  107. package/dist/operations/services/github-actions-verification.d.ts +4 -1
  108. package/dist/operations/services/github-actions-verification.js +12 -3
  109. package/dist/operations/services/github-api.js +22 -6
  110. package/dist/operations/services/github-automation.d.ts +4 -4
  111. package/dist/operations/services/github-automation.js +19 -21
  112. package/dist/operations/services/github-credentials.d.ts +13 -0
  113. package/dist/operations/services/github-credentials.js +59 -0
  114. package/dist/operations/services/hosted-service-checks.d.ts +81 -0
  115. package/dist/operations/services/hosted-service-checks.js +478 -0
  116. package/dist/operations/services/hosting-audit.d.ts +2 -2
  117. package/dist/operations/services/hosting-audit.js +7 -7
  118. package/dist/operations/services/hub-launch.d.ts +1 -1
  119. package/dist/operations/services/hub-provider-launch.d.ts +5 -5
  120. package/dist/operations/services/hub-provider-launch.js +22 -17
  121. package/dist/operations/services/live-hosted-service-checks.d.ts +26 -0
  122. package/dist/operations/services/live-hosted-service-checks.js +463 -0
  123. package/dist/operations/services/local-dev.js +0 -1
  124. package/dist/operations/services/managed-host-security.d.ts +1 -1
  125. package/dist/operations/services/managed-host-security.js +1 -1
  126. package/dist/operations/services/managed-repositories.d.ts +37 -0
  127. package/dist/operations/services/managed-repositories.js +177 -0
  128. package/dist/operations/services/operations-runner-smoke.d.ts +31 -0
  129. package/dist/operations/services/operations-runner-smoke.js +198 -0
  130. package/dist/operations/services/package-adapters.d.ts +170 -0
  131. package/dist/operations/services/package-adapters.js +859 -0
  132. package/dist/operations/services/package-reference-policy.d.ts +13 -88
  133. package/dist/operations/services/package-reference-policy.js +96 -215
  134. package/dist/operations/services/project-host-operations.d.ts +4 -4
  135. package/dist/operations/services/project-platform.d.ts +57 -173
  136. package/dist/operations/services/project-platform.js +80 -111
  137. package/dist/operations/services/project-web-monitor.d.ts +2 -2
  138. package/dist/operations/services/project-web-monitor.js +122 -5
  139. package/dist/operations/services/railway-api.d.ts +117 -5
  140. package/dist/operations/services/railway-api.js +915 -93
  141. package/dist/operations/services/railway-deploy.d.ts +30 -112
  142. package/dist/operations/services/railway-deploy.js +521 -961
  143. package/dist/operations/services/release-history.js +3 -4
  144. package/dist/operations/services/release-proof-ledger.d.ts +13 -0
  145. package/dist/operations/services/release-proof-ledger.js +81 -0
  146. package/dist/operations/services/release-proof-planner.d.ts +48 -0
  147. package/dist/operations/services/release-proof-planner.js +195 -0
  148. package/dist/operations/services/release-proof-runner.d.ts +16 -0
  149. package/dist/operations/services/release-proof-runner.js +169 -0
  150. package/dist/operations/services/release-proof.d.ts +81 -0
  151. package/dist/operations/services/release-proof.js +79 -0
  152. package/dist/operations/services/repository-save-orchestrator.d.ts +8 -7
  153. package/dist/operations/services/repository-save-orchestrator.js +604 -212
  154. package/dist/operations/services/runtime-paths.d.ts +1 -3
  155. package/dist/operations/services/runtime-paths.js +0 -4
  156. package/dist/operations/services/runtime-tools.d.ts +1 -191
  157. package/dist/operations/services/runtime-tools.js +4 -443
  158. package/dist/operations/services/save-deploy-preflight.js +9 -1
  159. package/dist/operations/services/template-host-bindings.d.ts +2 -2
  160. package/dist/operations/services/template-host-bindings.js +3 -2
  161. package/dist/operations/services/template-registry.d.ts +6 -6
  162. package/dist/operations/services/template-registry.js +33 -14
  163. package/dist/operations/services/template-secret-sync.d.ts +3 -3
  164. package/dist/operations/services/verification-cache.d.ts +25 -0
  165. package/dist/operations/services/verification-cache.js +71 -0
  166. package/dist/operations/services/workflow-timing.d.ts +25 -0
  167. package/dist/operations/services/workflow-timing.js +79 -0
  168. package/dist/operations/services/workspace-dependency-mode.js +50 -5
  169. package/dist/operations/services/workspace-preflight.js +8 -8
  170. package/dist/operations/services/workspace-save-script.d.ts +4 -4
  171. package/dist/operations/services/workspace-save.d.ts +1 -0
  172. package/dist/operations/services/workspace-save.js +42 -19
  173. package/dist/operations/services/workspace-tools.js +42 -7
  174. package/dist/operations-registry.d.ts +1 -1
  175. package/dist/operations-registry.js +5 -6
  176. package/dist/operations-types.d.ts +1 -1
  177. package/dist/operations.d.ts +17 -11
  178. package/dist/operations.js +57 -3
  179. package/dist/platform/book-export.js +2 -0
  180. package/dist/platform/books-data.d.ts +1 -1
  181. package/dist/platform/config.d.ts +27 -0
  182. package/dist/platform/config.js +100 -0
  183. package/dist/platform/content-runtime-source.d.ts +54 -0
  184. package/dist/platform/content-runtime-source.js +169 -0
  185. package/dist/platform/contracts.d.ts +38 -2
  186. package/dist/platform/deploy-config.d.ts +1 -1
  187. package/dist/platform/deploy-config.js +80 -9
  188. package/dist/platform/deploy-runtime.d.ts +1 -1
  189. package/dist/platform/desired-state.d.ts +63 -0
  190. package/dist/platform/desired-state.js +1021 -0
  191. package/dist/platform/env.yaml +568 -45
  192. package/dist/platform/environment.d.ts +3 -2
  193. package/dist/platform/environment.js +122 -21
  194. package/dist/platform/local-content-materialization.d.ts +9 -0
  195. package/dist/platform/local-content-materialization.js +212 -0
  196. package/dist/platform/plugin.d.ts +13 -4
  197. package/dist/platform/plugins/runtime.d.ts +3 -3
  198. package/dist/platform/plugins/runtime.js +62 -1
  199. package/dist/platform/plugins.d.ts +6 -6
  200. package/dist/platform/published-content-pipeline.d.ts +3 -3
  201. package/dist/platform/published-content-pipeline.js +5 -1
  202. package/dist/platform/published-content.d.ts +4 -3
  203. package/dist/platform/site-config-schema.d.ts +1 -0
  204. package/dist/platform/site-config-schema.js +4 -1
  205. package/dist/platform/tenant/runtime-config.d.ts +152 -2
  206. package/dist/platform/tenant-config.d.ts +1 -1
  207. package/dist/platform/utils/site-config-schema.d.ts +154 -0
  208. package/dist/platform/utils/site-config-schema.js +400 -461
  209. package/dist/platform-operation-store.d.ts +1 -1
  210. package/dist/platform-operation-store.js +2 -2
  211. package/dist/platform-operations.js +1 -1
  212. package/dist/plugin-default.d.ts +1 -1
  213. package/dist/plugin-default.js +27 -12
  214. package/dist/project-import.d.ts +91 -0
  215. package/dist/project-import.js +257 -0
  216. package/dist/project-workflow.d.ts +1 -1
  217. package/dist/reconcile/bootstrap-systems.d.ts +2 -2
  218. package/dist/reconcile/bootstrap-systems.js +5 -5
  219. package/dist/reconcile/builtin-adapters.d.ts +7 -1
  220. package/dist/reconcile/builtin-adapters.js +3190 -429
  221. package/dist/reconcile/contracts.d.ts +23 -6
  222. package/dist/reconcile/desired-state.d.ts +2 -192
  223. package/dist/reconcile/desired-state.js +29 -38
  224. package/dist/reconcile/engine.d.ts +61 -395
  225. package/dist/reconcile/engine.js +229 -44
  226. package/dist/reconcile/index.d.ts +10 -8
  227. package/dist/reconcile/index.js +2 -0
  228. package/dist/reconcile/live-acceptance.d.ts +100 -0
  229. package/dist/reconcile/live-acceptance.js +2027 -0
  230. package/dist/reconcile/platform.d.ts +104 -0
  231. package/dist/reconcile/platform.js +100 -0
  232. package/dist/reconcile/providers/docker-private.d.ts +54 -0
  233. package/dist/reconcile/providers/docker-private.js +101 -0
  234. package/dist/reconcile/providers/github-private.d.ts +65 -0
  235. package/dist/reconcile/providers/github-private.js +119 -0
  236. package/dist/reconcile/providers/local-private.d.ts +28 -0
  237. package/dist/reconcile/providers/local-private.js +75 -0
  238. package/dist/reconcile/providers/railway-iac.d.ts +66 -0
  239. package/dist/reconcile/providers/railway-iac.js +275 -0
  240. package/dist/reconcile/providers/release-private.d.ts +92 -0
  241. package/dist/reconcile/providers/release-private.js +152 -0
  242. package/dist/reconcile/registry.d.ts +2 -2
  243. package/dist/reconcile/registry.js +16 -1
  244. package/dist/reconcile/state.d.ts +1 -1
  245. package/dist/reconcile/state.js +7 -44
  246. package/dist/reconcile/units.d.ts +1 -1
  247. package/dist/reconcile/units.js +9 -3
  248. package/dist/remote.d.ts +6 -6
  249. package/dist/scenes/artifacts.d.ts +16 -0
  250. package/dist/scenes/artifacts.js +61 -0
  251. package/dist/scenes/auth.d.ts +2 -0
  252. package/dist/scenes/auth.js +28 -0
  253. package/dist/scenes/base-url.d.ts +12 -0
  254. package/dist/scenes/base-url.js +123 -0
  255. package/dist/scenes/builtin-plugins.d.ts +2 -0
  256. package/dist/scenes/builtin-plugins.js +447 -0
  257. package/dist/scenes/checkpoints.d.ts +14 -0
  258. package/dist/scenes/checkpoints.js +33 -0
  259. package/dist/scenes/device-matrix.d.ts +2 -0
  260. package/dist/scenes/device-matrix.js +97 -0
  261. package/dist/scenes/devices.d.ts +11 -0
  262. package/dist/scenes/devices.js +22 -0
  263. package/dist/scenes/diagnostics.d.ts +5 -0
  264. package/dist/scenes/diagnostics.js +22 -0
  265. package/dist/scenes/diagram-providers.d.ts +2 -0
  266. package/dist/scenes/diagram-providers.js +181 -0
  267. package/dist/scenes/diagram-validation.d.ts +22 -0
  268. package/dist/scenes/diagram-validation.js +74 -0
  269. package/dist/scenes/environment.d.ts +2 -0
  270. package/dist/scenes/environment.js +65 -0
  271. package/dist/scenes/evidence-bundle.d.ts +5 -0
  272. package/dist/scenes/evidence-bundle.js +42 -0
  273. package/dist/scenes/evidence-report.d.ts +10 -0
  274. package/dist/scenes/evidence-report.js +73 -0
  275. package/dist/scenes/evidence.d.ts +16 -0
  276. package/dist/scenes/evidence.js +277 -0
  277. package/dist/scenes/index.d.ts +48 -0
  278. package/dist/scenes/index.js +312 -0
  279. package/dist/scenes/inspect.d.ts +9 -0
  280. package/dist/scenes/inspect.js +64 -0
  281. package/dist/scenes/loader.d.ts +3 -0
  282. package/dist/scenes/loader.js +38 -0
  283. package/dist/scenes/logs.d.ts +2 -0
  284. package/dist/scenes/logs.js +47 -0
  285. package/dist/scenes/operations.d.ts +3 -0
  286. package/dist/scenes/operations.js +128 -0
  287. package/dist/scenes/phase0.d.ts +9 -0
  288. package/dist/scenes/phase0.js +637 -0
  289. package/dist/scenes/planner.d.ts +12 -0
  290. package/dist/scenes/planner.js +166 -0
  291. package/dist/scenes/playwright-adapter.d.ts +2 -0
  292. package/dist/scenes/playwright-adapter.js +63 -0
  293. package/dist/scenes/plugins.d.ts +5 -0
  294. package/dist/scenes/plugins.js +115 -0
  295. package/dist/scenes/progress.d.ts +17 -0
  296. package/dist/scenes/progress.js +24 -0
  297. package/dist/scenes/publish-destinations.d.ts +12 -0
  298. package/dist/scenes/publish-destinations.js +99 -0
  299. package/dist/scenes/publish-plan-report.d.ts +10 -0
  300. package/dist/scenes/publish-plan-report.js +70 -0
  301. package/dist/scenes/publish-plan.d.ts +15 -0
  302. package/dist/scenes/publish-plan.js +248 -0
  303. package/dist/scenes/publish-redaction.d.ts +16 -0
  304. package/dist/scenes/publish-redaction.js +148 -0
  305. package/dist/scenes/publish-release-record.d.ts +13 -0
  306. package/dist/scenes/publish-release-record.js +34 -0
  307. package/dist/scenes/publish-report.d.ts +10 -0
  308. package/dist/scenes/publish-report.js +67 -0
  309. package/dist/scenes/publish.d.ts +16 -0
  310. package/dist/scenes/publish.js +298 -0
  311. package/dist/scenes/registry.d.ts +12 -0
  312. package/dist/scenes/registry.js +65 -0
  313. package/dist/scenes/remotion-adapter.d.ts +3 -0
  314. package/dist/scenes/remotion-adapter.js +94 -0
  315. package/dist/scenes/remotion-composition-registry.d.ts +2 -0
  316. package/dist/scenes/remotion-composition-registry.js +12 -0
  317. package/dist/scenes/remotion-compositions.d.ts +15 -0
  318. package/dist/scenes/remotion-compositions.js +464 -0
  319. package/dist/scenes/remotion-diagrams.d.ts +9 -0
  320. package/dist/scenes/remotion-diagrams.js +188 -0
  321. package/dist/scenes/remotion-input.d.ts +13 -0
  322. package/dist/scenes/remotion-input.js +291 -0
  323. package/dist/scenes/remotion-visuals.d.ts +29 -0
  324. package/dist/scenes/remotion-visuals.js +198 -0
  325. package/dist/scenes/render-media-assets.d.ts +9 -0
  326. package/dist/scenes/render-media-assets.js +117 -0
  327. package/dist/scenes/render-report.d.ts +10 -0
  328. package/dist/scenes/render-report.js +27 -0
  329. package/dist/scenes/render.d.ts +2 -0
  330. package/dist/scenes/render.js +218 -0
  331. package/dist/scenes/reporter.d.ts +3 -0
  332. package/dist/scenes/reporter.js +101 -0
  333. package/dist/scenes/resume.d.ts +2 -0
  334. package/dist/scenes/resume.js +79 -0
  335. package/dist/scenes/runner.d.ts +2 -0
  336. package/dist/scenes/runner.js +674 -0
  337. package/dist/scenes/schema.d.ts +6 -0
  338. package/dist/scenes/schema.js +994 -0
  339. package/dist/scenes/seed.d.ts +2 -0
  340. package/dist/scenes/seed.js +83 -0
  341. package/dist/scenes/segments.d.ts +15 -0
  342. package/dist/scenes/segments.js +79 -0
  343. package/dist/scenes/selectors.d.ts +3 -0
  344. package/dist/scenes/selectors.js +21 -0
  345. package/dist/scenes/timeline.d.ts +11 -0
  346. package/dist/scenes/timeline.js +26 -0
  347. package/dist/scenes/timeouts.d.ts +6 -0
  348. package/dist/scenes/timeouts.js +17 -0
  349. package/dist/scenes/training-captions.d.ts +14 -0
  350. package/dist/scenes/training-captions.js +98 -0
  351. package/dist/scenes/training-report.d.ts +10 -0
  352. package/dist/scenes/training-report.js +78 -0
  353. package/dist/scenes/training-transcript.d.ts +24 -0
  354. package/dist/scenes/training-transcript.js +204 -0
  355. package/dist/scenes/training.d.ts +10 -0
  356. package/dist/scenes/training.js +134 -0
  357. package/dist/scenes/types.d.ts +1872 -0
  358. package/dist/scenes/types.js +8 -0
  359. package/dist/scenes/visual-audit-contact-sheets.d.ts +6 -0
  360. package/dist/scenes/visual-audit-contact-sheets.js +119 -0
  361. package/dist/scenes/visual-audit-fixtures.d.ts +25 -0
  362. package/dist/scenes/visual-audit-fixtures.js +210 -0
  363. package/dist/scenes/visual-audit-report.d.ts +11 -0
  364. package/dist/scenes/visual-audit-report.js +85 -0
  365. package/dist/scenes/visual-audit-review.d.ts +23 -0
  366. package/dist/scenes/visual-audit-review.js +829 -0
  367. package/dist/scenes/visual-audit-routes.d.ts +13 -0
  368. package/dist/scenes/visual-audit-routes.js +308 -0
  369. package/dist/scenes/visual-audit.d.ts +3 -0
  370. package/dist/scenes/visual-audit.js +596 -0
  371. package/dist/scripts/build-dist.js +154 -40
  372. package/dist/scripts/check-build-warnings.js +42 -53
  373. package/dist/scripts/cleanup-markdown.js +1 -1
  374. package/dist/scripts/cli-test-fixtures.js +24 -28
  375. package/dist/scripts/deployment-readiness.js +20 -0
  376. package/dist/scripts/generate-treedx-openapi-types.js +186 -0
  377. package/dist/scripts/migrate-journey-csv-to-guarantees.js +140 -0
  378. package/dist/scripts/operations-runner-smoke.js +16 -0
  379. package/dist/scripts/package-tools.js +12 -1
  380. package/dist/scripts/prepare.js +3 -7
  381. package/dist/scripts/release-verify.js +6 -6
  382. package/dist/scripts/run-fixture-astro-command.js +1 -1
  383. package/dist/scripts/template-catalog.test.js +68 -82
  384. package/dist/scripts/tenant-dev.js +0 -10
  385. package/dist/scripts/tenant-workflow-action.js +10 -1
  386. package/dist/scripts/test-cloudflare-local.js +1 -1
  387. package/dist/scripts/test-scaffold.js +0 -1
  388. package/dist/scripts/test-smoke.js +3 -3
  389. package/dist/scripts/treeseed-build-dist.js +4 -7
  390. package/dist/scripts/treeseed-release-verify.js +1 -1
  391. package/dist/scripts/verify-driver.js +30 -21
  392. package/dist/scripts/workflow-commands.test.js +18 -27
  393. package/dist/scripts/workspace-command-e2e.js +1 -1
  394. package/dist/scripts/workspace-lint.js +6 -0
  395. package/dist/scripts/workspace-release-test.js +90 -1
  396. package/dist/scripts/workspace-test.js +6 -0
  397. package/dist/sdk-dispatch.d.ts +1 -1
  398. package/dist/sdk-dispatch.js +0 -16
  399. package/dist/sdk-fields.d.ts +1 -1
  400. package/dist/sdk-filters.d.ts +1 -1
  401. package/dist/sdk-types.d.ts +1352 -116
  402. package/dist/sdk-types.js +413 -2
  403. package/dist/sdk.d.ts +106 -100
  404. package/dist/sdk.js +211 -51
  405. package/dist/secrets-capability.d.ts +421 -0
  406. package/dist/secrets-capability.js +530 -0
  407. package/dist/seeds/normalize.js +1 -0
  408. package/dist/seeds/planner.js +38 -0
  409. package/dist/seeds/schema.js +293 -4
  410. package/dist/seeds/types.d.ts +60 -0
  411. package/dist/seeds/types.js +9 -1
  412. package/dist/service-credentials.d.ts +54 -0
  413. package/dist/service-credentials.js +112 -0
  414. package/dist/stores/cursor-store.d.ts +2 -2
  415. package/dist/stores/envelopes.d.ts +1 -1
  416. package/dist/stores/helpers.d.ts +1 -1
  417. package/dist/stores/lease-store.d.ts +2 -2
  418. package/dist/stores/message-store.d.ts +2 -2
  419. package/dist/stores/operational-store.d.ts +3 -26
  420. package/dist/stores/operational-store.js +0 -225
  421. package/dist/stores/project-workflow-store.d.ts +2 -2
  422. package/dist/stores/run-store.d.ts +2 -3
  423. package/dist/stores/run-store.js +0 -98
  424. package/dist/stores/subscription-store.d.ts +2 -3
  425. package/dist/stores/subscription-store.js +0 -100
  426. package/dist/template-catalog.d.ts +1 -1
  427. package/dist/template-launch-requirements.d.ts +2 -2
  428. package/dist/template-launch-requirements.js +9 -0
  429. package/dist/template-launch-ui.d.ts +2 -2
  430. package/dist/treedx/adapters.d.ts +6 -0
  431. package/dist/treedx/adapters.js +36 -0
  432. package/dist/treedx/client.d.ts +222 -0
  433. package/dist/treedx/client.js +871 -0
  434. package/dist/treedx/errors.d.ts +13 -0
  435. package/dist/treedx/errors.js +17 -0
  436. package/dist/treedx/federated-client.d.ts +27 -0
  437. package/dist/treedx/federated-client.js +158 -0
  438. package/dist/treedx/generated/openapi-types.d.ts +3558 -0
  439. package/dist/treedx/generated/openapi-types.js +0 -0
  440. package/dist/treedx/graph-adapter.d.ts +33 -0
  441. package/dist/treedx/graph-adapter.js +156 -0
  442. package/dist/treedx/index.d.ts +14 -0
  443. package/dist/treedx/index.js +48 -0
  444. package/dist/treedx/market-integration.d.ts +27 -0
  445. package/dist/treedx/market-integration.js +131 -0
  446. package/dist/treedx/ports.d.ts +166 -0
  447. package/dist/treedx/ports.js +231 -0
  448. package/dist/treedx/query-adapter.d.ts +19 -0
  449. package/dist/treedx/query-adapter.js +62 -0
  450. package/dist/treedx/registry-client.d.ts +11 -0
  451. package/dist/treedx/registry-client.js +19 -0
  452. package/dist/treedx/repository-adapter.d.ts +45 -0
  453. package/dist/treedx/repository-adapter.js +319 -0
  454. package/dist/treedx/sdk-integration.d.ts +27 -0
  455. package/dist/treedx/sdk-integration.js +63 -0
  456. package/dist/treedx/types.d.ts +1084 -0
  457. package/dist/treedx/types.js +8 -0
  458. package/dist/treedx/workspace-adapter.d.ts +27 -0
  459. package/dist/treedx/workspace-adapter.js +65 -0
  460. package/dist/treedx-backends.d.ts +220 -0
  461. package/dist/treedx-backends.js +634 -0
  462. package/dist/treedx-client.d.ts +89 -0
  463. package/dist/treedx-client.js +184 -0
  464. package/dist/treeseed/services/compose.yml +2 -3
  465. package/dist/treeseed/template-catalog/catalog.fixture.json +27 -27
  466. package/dist/types/agents.d.ts +256 -0
  467. package/dist/types/agents.js +42 -1
  468. package/dist/verification.d.ts +1 -0
  469. package/dist/verification.js +143 -14
  470. package/dist/workflow/operations.d.ts +580 -523
  471. package/dist/workflow/operations.js +2084 -1279
  472. package/dist/workflow/policy.js +19 -7
  473. package/dist/workflow/runs.d.ts +9 -3
  474. package/dist/workflow/runs.js +66 -26
  475. package/dist/workflow/session.d.ts +4 -1
  476. package/dist/workflow/session.js +50 -10
  477. package/dist/workflow/worktrees.d.ts +6 -2
  478. package/dist/workflow/worktrees.js +98 -15
  479. package/dist/workflow-state.d.ts +17 -4
  480. package/dist/workflow-state.js +68 -41
  481. package/dist/workflow-support.d.ts +26 -17
  482. package/dist/workflow-support.js +84 -24
  483. package/dist/workflow.d.ts +51 -16
  484. package/dist/workflow.js +19 -7
  485. package/drizzle/d1/0000_treeseed_d1.sql +0 -18
  486. package/drizzle/market/0000_market_control_plane.sql +1793 -1499
  487. package/drizzle/market/0004_treedx_market_integration.sql +99 -0
  488. package/drizzle/market/0005_agent_capacity_coordination.sql +145 -0
  489. package/drizzle/market/0006_provider_assignment_lifecycle.sql +9 -0
  490. package/drizzle/market/0007_agent_architecture_gap_closure.sql +157 -0
  491. package/drizzle/market/0008_agent_capacity_operational_closure.sql +27 -0
  492. package/drizzle/market/0009_agent_capacity_runtime_hardening.sql +29 -0
  493. package/drizzle/market/0010_secrets_capability_persistence.sql +130 -0
  494. package/drizzle/market/0011_github_app_adapter.sql +47 -0
  495. package/drizzle/market/0012_workday_test_runs.sql +44 -0
  496. package/drizzle/market/0013_runtime_task_lifecycle.sql +39 -0
  497. package/drizzle/market/0014_governance_pipeline.sql +189 -0
  498. package/package.json +106 -18
  499. package/scripts/{verify-driver.mjs → verify-driver.ts} +19 -4
  500. package/templates/github/deploy-web.workflow.yml +49 -12
  501. package/dist/operations/services/mailpit-runtime.d.ts +0 -20
  502. package/dist/operations/services/mailpit-runtime.js +0 -67
  503. package/dist/operations/services/release-candidate.d.ts +0 -41
  504. package/dist/operations/services/release-candidate.js +0 -616
  505. package/dist/scripts/ensure-mailpit.js +0 -48
  506. package/dist/scripts/logs-mailpit.js +0 -2
  507. package/dist/scripts/run-ts.js +0 -45
  508. package/dist/scripts/stop-mailpit.js +0 -5
  509. package/dist/scripts/treeseed-run-ts.js +0 -45
@@ -11,9 +11,9 @@ import {
11
11
  setTreeseedRemoteSession,
12
12
  clearTreeseedRemoteSession
13
13
  } from "./operations/services/config-runtime.js";
14
- const DEFAULT_TREESEED_MARKET_BASE_URL = "https://api.treeseed.ai";
14
+ const DEFAULT_TREESEED_MARKET_BASE_URL = "https://api.treeseed.dev";
15
15
  const TREESEED_CENTRAL_MARKET_API_BASE_URL_ENV = "TREESEED_CENTRAL_MARKET_API_BASE_URL";
16
- const TREESEED_MARKET_API_BASE_URL_ENV = "TREESEED_MARKET_API_BASE_URL";
16
+ const TREESEED_API_BASE_URL_ENV = "TREESEED_API_BASE_URL";
17
17
  const TREESEED_CATALOG_MARKET_API_BASE_URLS_ENV = "TREESEED_CATALOG_MARKET_API_BASE_URLS";
18
18
  const MARKET_REGISTRY_RELATIVE_PATH = ".treeseed/config/markets.json";
19
19
  function envValue(name, env = process.env) {
@@ -38,7 +38,7 @@ function defaultLocalMarket(env = process.env) {
38
38
  id: "local",
39
39
  label: "Local TreeSeed Market",
40
40
  baseUrl: normalizeBaseUrl(
41
- envValue(TREESEED_MARKET_API_BASE_URL_ENV, env) ?? "http://127.0.0.1:3000"
41
+ envValue(TREESEED_API_BASE_URL_ENV, env) ?? "http://127.0.0.1:3000"
42
42
  ),
43
43
  kind: "specialized",
44
44
  alwaysAvailable: true
@@ -162,7 +162,12 @@ function resolveMarketProfile(selector) {
162
162
  return profile;
163
163
  }
164
164
  function resolveMarketSession(tenantRoot, marketId) {
165
- const session = resolveTreeseedRemoteSession(tenantRoot, marketId);
165
+ let session;
166
+ try {
167
+ session = resolveTreeseedRemoteSession(tenantRoot, marketId);
168
+ } catch {
169
+ return null;
170
+ }
166
171
  return session?.accessToken ? {
167
172
  marketId,
168
173
  accessToken: session.accessToken,
@@ -228,12 +233,12 @@ function resolveCatalogMarketProfiles(selector, env = process.env) {
228
233
  return left.id.localeCompare(right.id);
229
234
  });
230
235
  }
231
- class MarketApiError extends Error {
236
+ class MarketClientError extends Error {
232
237
  constructor(message, status, payload) {
233
238
  super(message);
234
239
  this.status = status;
235
240
  this.payload = payload;
236
- this.name = "MarketApiError";
241
+ this.name = "MarketClientError";
237
242
  }
238
243
  status;
239
244
  payload;
@@ -254,7 +259,8 @@ class MarketClient {
254
259
  async request(path, options = {}) {
255
260
  const headers = {
256
261
  accept: "application/json",
257
- [TREESEED_REMOTE_CONTRACT_HEADER]: String(TREESEED_REMOTE_CONTRACT_VERSION)
262
+ [TREESEED_REMOTE_CONTRACT_HEADER]: String(TREESEED_REMOTE_CONTRACT_VERSION),
263
+ ...options.headers ?? {}
258
264
  };
259
265
  if (this.userAgent) {
260
266
  headers["user-agent"] = this.userAgent;
@@ -274,7 +280,7 @@ class MarketClient {
274
280
  if (!response.ok) {
275
281
  const payloadError = payload.error;
276
282
  const error = typeof payloadError === "string" ? String(payloadError) : payloadError && typeof payloadError === "object" && typeof payloadError.message === "string" ? String(payloadError.message) : `Market request failed with ${response.status}.`;
277
- throw new MarketApiError(error, response.status, payload);
283
+ throw new MarketClientError(error, response.status, payload);
278
284
  }
279
285
  return payload;
280
286
  }
@@ -287,14 +293,14 @@ class MarketClient {
287
293
  try {
288
294
  return await this.request(path, options);
289
295
  } catch (error) {
290
- if (error instanceof MarketApiError && error.status === 404) {
296
+ if (error instanceof MarketClientError && error.status === 404) {
291
297
  notFound = error;
292
298
  continue;
293
299
  }
294
300
  throw error;
295
301
  }
296
302
  }
297
- throw notFound ?? new MarketApiError("Market request failed with 404.", 404, {});
303
+ throw notFound ?? new MarketClientError("Market request failed with 404.", 404, {});
298
304
  }
299
305
  startDeviceLogin(request) {
300
306
  return this.requestFirst(this.localAuthPaths("/v1/auth/device/start", "/auth/device/start"), {
@@ -467,6 +473,196 @@ class MarketClient {
467
473
  { requireAuth: true }
468
474
  );
469
475
  }
476
+ projectSecretEscrowRecords(projectId, filters = {}) {
477
+ const query = new URLSearchParams();
478
+ if (filters.secretId) query.set("secretId", String(filters.secretId));
479
+ if (filters.status) query.set("status", String(filters.status));
480
+ if (filters.limit) query.set("limit", String(filters.limit));
481
+ return this.request(
482
+ `/v1/projects/${encodeURIComponent(projectId)}/secrets/escrow${query.toString() ? `?${query}` : ""}`,
483
+ { requireAuth: true }
484
+ );
485
+ }
486
+ createProjectSecretEscrow(projectId, body) {
487
+ return this.request(
488
+ `/v1/projects/${encodeURIComponent(projectId)}/secrets/escrow`,
489
+ { method: "POST", body, requireAuth: true }
490
+ );
491
+ }
492
+ projectSecretEscrow(projectId, escrowId) {
493
+ return this.request(
494
+ `/v1/projects/${encodeURIComponent(projectId)}/secrets/escrow/${encodeURIComponent(escrowId)}`,
495
+ { requireAuth: true }
496
+ );
497
+ }
498
+ updateProjectSecretEscrow(projectId, escrowId, body) {
499
+ return this.request(
500
+ `/v1/projects/${encodeURIComponent(projectId)}/secrets/escrow/${encodeURIComponent(escrowId)}`,
501
+ { method: "PATCH", body, requireAuth: true }
502
+ );
503
+ }
504
+ migrateProjectSecretEscrow(projectId, escrowId, body) {
505
+ return this.request(
506
+ `/v1/projects/${encodeURIComponent(projectId)}/secrets/escrow/${encodeURIComponent(escrowId)}/migrate`,
507
+ { method: "POST", body, requireAuth: true }
508
+ );
509
+ }
510
+ tombstoneProjectSecretEscrow(projectId, escrowId) {
511
+ return this.request(
512
+ `/v1/projects/${encodeURIComponent(projectId)}/secrets/escrow/${encodeURIComponent(escrowId)}`,
513
+ { method: "DELETE", requireAuth: true }
514
+ );
515
+ }
516
+ projectGitHubActionsSecretPublicKey(projectId, input) {
517
+ const query = new URLSearchParams();
518
+ if (input.installationId) query.set("installationId", String(input.installationId));
519
+ query.set("repository", input.repository);
520
+ if (input.scope) query.set("scope", String(input.scope));
521
+ if (input.environment) query.set("environment", String(input.environment));
522
+ return this.request(
523
+ `/v1/projects/${encodeURIComponent(projectId)}/secrets/github-actions/public-key?${query}`,
524
+ { requireAuth: true }
525
+ );
526
+ }
527
+ deployProjectGitHubActionsSecret(projectId, body) {
528
+ return this.request(
529
+ `/v1/projects/${encodeURIComponent(projectId)}/secrets/github-actions/deploy`,
530
+ { method: "POST", body, requireAuth: true }
531
+ );
532
+ }
533
+ dispatchProjectWorkflowOperation(projectId, operationId, body) {
534
+ return this.request(
535
+ `/v1/projects/${encodeURIComponent(projectId)}/workflow-operations/${encodeURIComponent(operationId)}/dispatch`,
536
+ { method: "POST", body, requireAuth: true }
537
+ );
538
+ }
539
+ teamTreeDx(teamId) {
540
+ return this.request(
541
+ `/v1/teams/${encodeURIComponent(teamId)}/treedx`,
542
+ { requireAuth: true }
543
+ );
544
+ }
545
+ updateTeamTreeDx(teamId, body) {
546
+ return this.request(
547
+ `/v1/teams/${encodeURIComponent(teamId)}/treedx`,
548
+ { method: "PUT", body, requireAuth: true }
549
+ );
550
+ }
551
+ provisionTeamTreeDx(teamId, body = {}) {
552
+ return this.request(
553
+ `/v1/teams/${encodeURIComponent(teamId)}/treedx/provision`,
554
+ { method: "POST", body, requireAuth: true }
555
+ );
556
+ }
557
+ treeDxMirrors(teamId) {
558
+ return this.request(
559
+ `/v1/teams/${encodeURIComponent(teamId)}/treedx/mirrors`,
560
+ { requireAuth: true }
561
+ );
562
+ }
563
+ createTreeDxMirror(teamId, body) {
564
+ return this.request(
565
+ `/v1/teams/${encodeURIComponent(teamId)}/treedx/mirrors`,
566
+ { method: "POST", body, requireAuth: true }
567
+ );
568
+ }
569
+ syncTreeDxMirror(teamId, mirrorId, body = {}) {
570
+ return this.request(
571
+ `/v1/teams/${encodeURIComponent(teamId)}/treedx/mirrors/${encodeURIComponent(mirrorId)}/sync`,
572
+ { method: "POST", body, requireAuth: true }
573
+ );
574
+ }
575
+ treeDxShares(teamId) {
576
+ return this.request(
577
+ `/v1/teams/${encodeURIComponent(teamId)}/treedx/shares`,
578
+ { requireAuth: true }
579
+ );
580
+ }
581
+ createTreeDxShare(teamId, body) {
582
+ return this.request(
583
+ `/v1/teams/${encodeURIComponent(teamId)}/treedx/shares`,
584
+ { method: "POST", body, requireAuth: true }
585
+ );
586
+ }
587
+ projectTreeDxLibrary(projectId) {
588
+ return this.request(
589
+ `/v1/projects/${encodeURIComponent(projectId)}/treedx-library`,
590
+ { requireAuth: true }
591
+ );
592
+ }
593
+ upsertProjectTreeDxLibrary(projectId, body) {
594
+ return this.request(
595
+ `/v1/projects/${encodeURIComponent(projectId)}/treedx-library`,
596
+ { method: "POST", body, requireAuth: true }
597
+ );
598
+ }
599
+ projectRepositoryTopology(projectId) {
600
+ return this.request(
601
+ `/v1/projects/${encodeURIComponent(projectId)}/repository-topology`,
602
+ { requireAuth: true }
603
+ );
604
+ }
605
+ projectTreeDxProxyAudit(projectId, options = {}) {
606
+ const query = new URLSearchParams();
607
+ if (options.assignmentId) query.set("assignmentId", options.assignmentId);
608
+ if (options.actorType) query.set("actorType", options.actorType);
609
+ return this.request(
610
+ `/v1/projects/${encodeURIComponent(projectId)}/treedx-proxy-audit${query.toString() ? `?${query}` : ""}`,
611
+ { requireAuth: true }
612
+ );
613
+ }
614
+ createCapacityReservation(projectId, body) {
615
+ return this.request(
616
+ `/v1/projects/${encodeURIComponent(projectId)}/capacity/reservations`,
617
+ { method: "POST", body, requireAuth: true }
618
+ );
619
+ }
620
+ projectAgentFallbackOutputs(projectId, options = {}) {
621
+ const query = new URLSearchParams();
622
+ if (options.assignmentId) query.set("assignmentId", options.assignmentId);
623
+ if (options.mode) query.set("mode", options.mode);
624
+ if (options.status) query.set("status", options.status);
625
+ return this.request(
626
+ `/v1/projects/${encodeURIComponent(projectId)}/agent-fallback-outputs${query.toString() ? `?${query}` : ""}`,
627
+ { requireAuth: true }
628
+ );
629
+ }
630
+ treeDxBuildContext(projectId, repoId, body, headers = {}) {
631
+ return this.request(
632
+ `/v1/dx/projects/${encodeURIComponent(projectId)}/repos/${encodeURIComponent(repoId)}/context/build`,
633
+ { method: "POST", body, headers, requireAuth: true }
634
+ );
635
+ }
636
+ treeDxReadRepositoryFiles(projectId, repoId, body, headers = {}) {
637
+ return this.request(
638
+ `/v1/dx/projects/${encodeURIComponent(projectId)}/repos/${encodeURIComponent(repoId)}/files/read`,
639
+ { method: "POST", body, headers, requireAuth: true }
640
+ );
641
+ }
642
+ createTreeDxWorkspace(projectId, repoId, body, headers = {}) {
643
+ return this.request(
644
+ `/v1/dx/projects/${encodeURIComponent(projectId)}/repos/${encodeURIComponent(repoId)}/workspaces`,
645
+ { method: "POST", body, headers, requireAuth: true }
646
+ );
647
+ }
648
+ updateProjectRepositoryTopology(projectId, body) {
649
+ return this.request(
650
+ `/v1/projects/${encodeURIComponent(projectId)}/repository-topology`,
651
+ { method: "PUT", body, requireAuth: true }
652
+ );
653
+ }
654
+ initializeProjectRepository(projectId, role, body = {}) {
655
+ return this.request(
656
+ `/v1/projects/${encodeURIComponent(projectId)}/repositories/${encodeURIComponent(role)}/initialize`,
657
+ { method: "POST", body, requireAuth: true }
658
+ );
659
+ }
660
+ importProjectRepository(teamId, plan) {
661
+ return this.request(
662
+ `/v1/teams/${encodeURIComponent(teamId)}/projects/import`,
663
+ { method: "POST", body: { plan }, requireAuth: true }
664
+ );
665
+ }
470
666
  auditProjectHosts(projectId, body = {}) {
471
667
  return this.request(
472
668
  `/v1/projects/${encodeURIComponent(projectId)}/hosts/audit`,
@@ -624,6 +820,63 @@ class MarketClient {
624
820
  { method: "POST", body, requireAuth: true }
625
821
  );
626
822
  }
823
+ capacityAllocationSets(teamId) {
824
+ return this.request(
825
+ `/v1/teams/${encodeURIComponent(teamId)}/capacity/allocation-sets`,
826
+ { requireAuth: true }
827
+ );
828
+ }
829
+ createCapacityAllocationSet(teamId, body) {
830
+ return this.request(
831
+ `/v1/teams/${encodeURIComponent(teamId)}/capacity/allocation-sets`,
832
+ { method: "POST", body, requireAuth: true }
833
+ );
834
+ }
835
+ capacityAllocationSet(teamId, allocationSetId) {
836
+ return this.request(
837
+ `/v1/teams/${encodeURIComponent(teamId)}/capacity/allocation-sets/${encodeURIComponent(allocationSetId)}`,
838
+ { requireAuth: true }
839
+ );
840
+ }
841
+ activateCapacityAllocationSet(teamId, allocationSetId) {
842
+ return this.request(
843
+ `/v1/teams/${encodeURIComponent(teamId)}/capacity/allocation-sets/${encodeURIComponent(allocationSetId)}/activate`,
844
+ { method: "POST", requireAuth: true }
845
+ );
846
+ }
847
+ providerAvailabilitySessions(teamId, options = {}) {
848
+ const params = new URLSearchParams();
849
+ if (options.providerId) params.set("providerId", options.providerId);
850
+ if (options.status) params.set("status", options.status);
851
+ const query = params.toString() ? `?${params.toString()}` : "";
852
+ return this.request(
853
+ `/v1/teams/${encodeURIComponent(teamId)}/capacity/provider-sessions${query}`,
854
+ { requireAuth: true }
855
+ );
856
+ }
857
+ providerAssignments(teamId, options = {}) {
858
+ const params = new URLSearchParams();
859
+ if (options.projectId) params.set("projectId", options.projectId);
860
+ if (options.providerId) params.set("providerId", options.providerId);
861
+ if (options.status) params.set("status", options.status);
862
+ const query = params.toString() ? `?${params.toString()}` : "";
863
+ return this.request(
864
+ `/v1/teams/${encodeURIComponent(teamId)}/capacity/assignments${query}`,
865
+ { requireAuth: true }
866
+ );
867
+ }
868
+ createProviderAssignment(teamId, body) {
869
+ return this.request(
870
+ `/v1/teams/${encodeURIComponent(teamId)}/capacity/assignments`,
871
+ { method: "POST", body, requireAuth: true }
872
+ );
873
+ }
874
+ providerAssignmentExplanation(teamId, assignmentId) {
875
+ return this.request(
876
+ `/v1/teams/${encodeURIComponent(teamId)}/capacity/assignments/${encodeURIComponent(assignmentId)}/explanation`,
877
+ { requireAuth: true }
878
+ );
879
+ }
627
880
  projectCapacityPlan(projectId, environment) {
628
881
  const query = environment ? `?environment=${encodeURIComponent(environment)}` : "";
629
882
  return this.request(
@@ -631,6 +884,203 @@ class MarketClient {
631
884
  { requireAuth: true }
632
885
  );
633
886
  }
887
+ projectAgentClasses(projectId) {
888
+ return this.request(
889
+ `/v1/projects/${encodeURIComponent(projectId)}/agent-classes`,
890
+ { requireAuth: true }
891
+ );
892
+ }
893
+ createProjectAgentClass(projectId, body) {
894
+ return this.request(
895
+ `/v1/projects/${encodeURIComponent(projectId)}/agent-classes`,
896
+ { method: "POST", body, requireAuth: true }
897
+ );
898
+ }
899
+ projectAgentClass(projectId, classId) {
900
+ return this.request(
901
+ `/v1/projects/${encodeURIComponent(projectId)}/agent-classes/${encodeURIComponent(classId)}`,
902
+ { requireAuth: true }
903
+ );
904
+ }
905
+ updateProjectAgentClass(projectId, classId, body) {
906
+ return this.request(
907
+ `/v1/projects/${encodeURIComponent(projectId)}/agent-classes/${encodeURIComponent(classId)}`,
908
+ { method: "PATCH", body, requireAuth: true }
909
+ );
910
+ }
911
+ projectAgentModeRuns(projectId, options = {}) {
912
+ const params = new URLSearchParams();
913
+ if (options.mode) params.set("mode", options.mode);
914
+ if (options.assignmentId) params.set("assignmentId", options.assignmentId);
915
+ const query = params.toString() ? `?${params.toString()}` : "";
916
+ return this.request(
917
+ `/v1/projects/${encodeURIComponent(projectId)}/agent-mode-runs${query}`,
918
+ { requireAuth: true }
919
+ );
920
+ }
921
+ projectCapacityRuntimeDiagnostics(projectId, teamId) {
922
+ const query = new URLSearchParams({ teamId });
923
+ return this.request(
924
+ `/v1/projects/${encodeURIComponent(projectId)}/capacity-runtime-diagnostics?${query.toString()}`,
925
+ { requireAuth: true }
926
+ );
927
+ }
928
+ decisionPlanningStatus(decisionId) {
929
+ return this.request(
930
+ `/v1/decisions/${encodeURIComponent(decisionId)}/planning-status`,
931
+ { requireAuth: true }
932
+ );
933
+ }
934
+ createPlanningInputRequest(decisionId, body) {
935
+ return this.request(
936
+ `/v1/decisions/${encodeURIComponent(decisionId)}/planning-input-requests`,
937
+ { method: "POST", body, requireAuth: true }
938
+ );
939
+ }
940
+ decisionExecutionInputs(decisionId, options = {}) {
941
+ const query = options.status ? `?status=${encodeURIComponent(options.status)}` : "";
942
+ return this.request(
943
+ `/v1/decisions/${encodeURIComponent(decisionId)}/execution-inputs${query}`,
944
+ { requireAuth: true }
945
+ );
946
+ }
947
+ createDecisionExecutionInput(decisionId, body) {
948
+ return this.request(
949
+ `/v1/decisions/${encodeURIComponent(decisionId)}/execution-inputs`,
950
+ { method: "POST", body, requireAuth: true }
951
+ );
952
+ }
953
+ acceptDecisionExecutionInput(inputId, body = {}) {
954
+ return this.request(
955
+ `/v1/decision-execution-inputs/${encodeURIComponent(inputId)}/accept`,
956
+ { method: "POST", body, requireAuth: true }
957
+ );
958
+ }
959
+ requestDecisionExecutionInputRevision(inputId, body = {}) {
960
+ return this.request(
961
+ `/v1/decision-execution-inputs/${encodeURIComponent(inputId)}/request-revision`,
962
+ { method: "POST", body, requireAuth: true }
963
+ );
964
+ }
965
+ decisionCapacityPlans(decisionId, options = {}) {
966
+ const query = options.status ? `?status=${encodeURIComponent(options.status)}` : "";
967
+ return this.request(
968
+ `/v1/decisions/${encodeURIComponent(decisionId)}/capacity-plans${query}`,
969
+ { requireAuth: true }
970
+ );
971
+ }
972
+ createDecisionCapacityPlan(decisionId, body) {
973
+ return this.request(
974
+ `/v1/decisions/${encodeURIComponent(decisionId)}/capacity-plans`,
975
+ { method: "POST", body, requireAuth: true }
976
+ );
977
+ }
978
+ capacityPlan(capacityPlanId) {
979
+ return this.request(
980
+ `/v1/capacity-plans/${encodeURIComponent(capacityPlanId)}`,
981
+ { requireAuth: true }
982
+ );
983
+ }
984
+ acceptCapacityPlan(capacityPlanId, body = {}) {
985
+ return this.request(
986
+ `/v1/capacity-plans/${encodeURIComponent(capacityPlanId)}/accept`,
987
+ { method: "POST", body, requireAuth: true }
988
+ );
989
+ }
990
+ requestCapacityPlanRevision(capacityPlanId, body = {}) {
991
+ return this.request(
992
+ `/v1/capacity-plans/${encodeURIComponent(capacityPlanId)}/request-revision`,
993
+ { method: "POST", body, requireAuth: true }
994
+ );
995
+ }
996
+ scheduleCapacityPlan(capacityPlanId, body = {}) {
997
+ return this.request(
998
+ `/v1/capacity-plans/${encodeURIComponent(capacityPlanId)}/schedule`,
999
+ { method: "POST", body, requireAuth: true }
1000
+ );
1001
+ }
1002
+ supersedeCapacityPlan(capacityPlanId, body = {}) {
1003
+ return this.request(
1004
+ `/v1/capacity-plans/${encodeURIComponent(capacityPlanId)}/supersede`,
1005
+ { method: "POST", body, requireAuth: true }
1006
+ );
1007
+ }
1008
+ createWorkday(body) {
1009
+ return this.request(
1010
+ "/v1/workdays",
1011
+ { method: "POST", body, requireAuth: true }
1012
+ );
1013
+ }
1014
+ workday(workdayId) {
1015
+ return this.request(
1016
+ `/v1/workdays/${encodeURIComponent(workdayId)}`,
1017
+ { requireAuth: true }
1018
+ );
1019
+ }
1020
+ startWorkday(workdayId) {
1021
+ return this.request(
1022
+ `/v1/workdays/${encodeURIComponent(workdayId)}/start`,
1023
+ { method: "POST", requireAuth: true }
1024
+ );
1025
+ }
1026
+ pauseWorkday(workdayId) {
1027
+ return this.request(
1028
+ `/v1/workdays/${encodeURIComponent(workdayId)}/pause`,
1029
+ { method: "POST", requireAuth: true }
1030
+ );
1031
+ }
1032
+ completeWorkday(workdayId) {
1033
+ return this.request(
1034
+ `/v1/workdays/${encodeURIComponent(workdayId)}/complete`,
1035
+ { method: "POST", requireAuth: true }
1036
+ );
1037
+ }
1038
+ workdaySummary(workdayId) {
1039
+ return this.request(
1040
+ `/v1/workdays/${encodeURIComponent(workdayId)}/summary`,
1041
+ { requireAuth: true }
1042
+ );
1043
+ }
1044
+ workdayRuns(teamId, options = {}) {
1045
+ const params = new URLSearchParams();
1046
+ if (options.status) params.set("status", options.status);
1047
+ if (options.providerId) params.set("providerId", options.providerId);
1048
+ const query = params.toString() ? `?${params.toString()}` : "";
1049
+ return this.request(
1050
+ `/v1/teams/${encodeURIComponent(teamId)}/workday-runs${query}`,
1051
+ { requireAuth: true }
1052
+ );
1053
+ }
1054
+ createWorkdayRun(teamId, body) {
1055
+ return this.request(
1056
+ `/v1/teams/${encodeURIComponent(teamId)}/workday-runs`,
1057
+ { method: "POST", body, requireAuth: true }
1058
+ );
1059
+ }
1060
+ workdayRun(teamId, runId) {
1061
+ return this.request(
1062
+ `/v1/teams/${encodeURIComponent(teamId)}/workday-runs/${encodeURIComponent(runId)}`,
1063
+ { requireAuth: true }
1064
+ );
1065
+ }
1066
+ updateWorkdayRun(teamId, runId, body) {
1067
+ return this.request(
1068
+ `/v1/teams/${encodeURIComponent(teamId)}/workday-runs/${encodeURIComponent(runId)}`,
1069
+ { method: "PATCH", body, requireAuth: true }
1070
+ );
1071
+ }
1072
+ workdayEvents(teamId, runId) {
1073
+ return this.request(
1074
+ `/v1/teams/${encodeURIComponent(teamId)}/workday-runs/${encodeURIComponent(runId)}/events`,
1075
+ { requireAuth: true }
1076
+ );
1077
+ }
1078
+ createWorkdayEvent(teamId, runId, body) {
1079
+ return this.request(
1080
+ `/v1/teams/${encodeURIComponent(teamId)}/workday-runs/${encodeURIComponent(runId)}/events`,
1081
+ { method: "POST", body, requireAuth: true }
1082
+ );
1083
+ }
634
1084
  planSeed(seedName, body) {
635
1085
  return this.request(
636
1086
  `/v1/seeds/${encodeURIComponent(seedName)}/plan`,
@@ -653,12 +1103,6 @@ class MarketClient {
653
1103
  { method: "POST", body, requireAuth: true }
654
1104
  );
655
1105
  }
656
- enqueueAgentTask(projectId, body) {
657
- return this.request(
658
- `/v1/projects/${encodeURIComponent(projectId)}/agent-tasks`,
659
- { method: "POST", body, requireAuth: true }
660
- );
661
- }
662
1106
  catalog(kind) {
663
1107
  const query = kind ? `?kind=${encodeURIComponent(kind)}` : "";
664
1108
  return this.request(`/v1/catalog${query}`, { requireAuth: Boolean(this.accessToken) });
@@ -698,7 +1142,7 @@ async function listIntegratedMarketCatalog({
698
1142
  } catch (error) {
699
1143
  errors.push({
700
1144
  market: profileToSource(profile),
701
- status: error instanceof MarketApiError ? error.status : void 0,
1145
+ status: error instanceof MarketClientError ? error.status : void 0,
702
1146
  error: error instanceof Error ? error.message : String(error)
703
1147
  });
704
1148
  }
@@ -732,7 +1176,7 @@ async function resolveIntegratedCatalogArtifactDownload({
732
1176
  }
733
1177
  };
734
1178
  } catch (error) {
735
- if (error instanceof MarketApiError && error.status === 404) {
1179
+ if (error instanceof MarketClientError && error.status === 404) {
736
1180
  continue;
737
1181
  }
738
1182
  errors.push(`${profile.id}: ${error instanceof Error ? error.message : String(error)}`);
@@ -753,11 +1197,11 @@ async function verifyArtifactBytes(response, expectedSha256) {
753
1197
  }
754
1198
  export {
755
1199
  DEFAULT_TREESEED_MARKET_BASE_URL,
756
- MarketApiError,
757
1200
  MarketClient,
1201
+ MarketClientError,
1202
+ TREESEED_API_BASE_URL_ENV,
758
1203
  TREESEED_CATALOG_MARKET_API_BASE_URLS_ENV,
759
1204
  TREESEED_CENTRAL_MARKET_API_BASE_URL_ENV,
760
- TREESEED_MARKET_API_BASE_URL_ENV,
761
1205
  addMarketProfile,
762
1206
  clearMarketSession,
763
1207
  listIntegratedMarketCatalog,
@@ -1,4 +1,4 @@
1
- import type { SdkBuiltinModelName, SdkModelDefinition, SdkModelRegistry } from './sdk-types.ts';
1
+ import type { SdkBuiltinModelName, SdkModelDefinition, SdkModelRegistry } from './sdk-types.js';
2
2
  export declare function buildBuiltinModelRegistry(repoRoot?: string): Record<SdkBuiltinModelName, SdkModelDefinition>;
3
3
  export declare function mergeModelRegistries(baseRegistry: SdkModelRegistry, definitions?: SdkModelDefinition[]): SdkModelRegistry;
4
4
  export declare function buildModelRegistry(definitions?: SdkModelDefinition[]): SdkModelRegistry;
@@ -350,21 +350,20 @@ function buildBuiltinModelRegistry(repoRoot) {
350
350
  name: "task",
351
351
  aliases: ["tasks"],
352
352
  storage: "d1",
353
- operations: ["get", "read", "search", "pick", "create", "update"],
353
+ operations: ["get", "read", "search", "create", "update"],
354
354
  fields: {
355
- id: field("id", { filterable: true, dbColumns: ["id"], writeDbColumn: "id" }),
355
+ id: field("id", { filterable: true, dbColumns: ["id"], payloadPaths: ["id"], writeDbColumn: "id" }),
356
356
  work_day_id: field("work_day_id", { aliases: ["workDayId"], filterable: true, dbColumns: ["work_day_id"], payloadPaths: ["workDayId"], writeDbColumn: "work_day_id" }),
357
357
  agent_id: field("agent_id", { aliases: ["agentId"], filterable: true, dbColumns: ["agent_id"], payloadPaths: ["agentId"], writeDbColumn: "agent_id" }),
358
- type: field("type", { filterable: true, dbColumns: ["type"], writeDbColumn: "type" }),
359
- state: field("state", { filterable: true, dbColumns: ["state"], writeDbColumn: "state" }),
360
- priority: field("priority", { filterable: true, sortable: true, comparableAs: "number", dbColumns: ["priority"], writeDbColumn: "priority" }),
358
+ type: field("type", { filterable: true, dbColumns: ["type"], payloadPaths: ["type"], writeDbColumn: "type" }),
359
+ state: field("state", { filterable: true, dbColumns: ["state"], payloadPaths: ["state"], writeDbColumn: "state" }),
361
360
  idempotency_key: field("idempotency_key", { aliases: ["idempotencyKey"], filterable: true, dbColumns: ["idempotency_key"], payloadPaths: ["idempotencyKey"], writeDbColumn: "idempotency_key" }),
362
- available_at: field("available_at", { aliases: ["availableAt"], filterable: true, sortable: true, comparableAs: "date", dbColumns: ["available_at"], payloadPaths: ["availableAt"], writeDbColumn: "available_at" }),
361
+ created_at: field("created_at", { aliases: ["createdAt"], filterable: true, sortable: true, comparableAs: "date", dbColumns: ["created_at"], payloadPaths: ["createdAt"], writeDbColumn: "created_at" }),
363
362
  updated_at: field("updated_at", { aliases: ["updatedAt"], filterable: true, sortable: true, comparableAs: "date", dbColumns: ["updated_at"], payloadPaths: ["updatedAt"], writeDbColumn: "updated_at" })
364
363
  },
365
- filterableFields: ["id", "work_day_id", "agent_id", "type", "state", "priority", "idempotency_key", "available_at", "updated_at"],
366
- sortableFields: ["priority", "available_at", "updated_at"],
367
- pickField: "available_at"
364
+ filterableFields: ["id", "work_day_id", "agent_id", "type", "state", "idempotency_key", "created_at", "updated_at"],
365
+ sortableFields: ["created_at", "updated_at"],
366
+ pickField: "updated_at"
368
367
  },
369
368
  task_event: {
370
369
  name: "task_event",
@@ -372,14 +371,13 @@ function buildBuiltinModelRegistry(repoRoot) {
372
371
  storage: "d1",
373
372
  operations: ["get", "read", "search", "create"],
374
373
  fields: {
375
- id: field("id", { filterable: true, dbColumns: ["id"], writeDbColumn: "id" }),
374
+ id: field("id", { filterable: true, dbColumns: ["id"], payloadPaths: ["id"], writeDbColumn: "id" }),
376
375
  task_id: field("task_id", { aliases: ["taskId"], filterable: true, dbColumns: ["task_id"], payloadPaths: ["taskId"], writeDbColumn: "task_id" }),
377
- kind: field("kind", { filterable: true, dbColumns: ["kind"], writeDbColumn: "kind" }),
378
- seq: field("seq", { filterable: true, sortable: true, comparableAs: "number", dbColumns: ["seq"], writeDbColumn: "seq" }),
376
+ kind: field("kind", { filterable: true, dbColumns: ["kind"], payloadPaths: ["kind"], writeDbColumn: "kind" }),
379
377
  created_at: field("created_at", { aliases: ["createdAt"], filterable: true, sortable: true, comparableAs: "date", dbColumns: ["created_at"], payloadPaths: ["createdAt"], writeDbColumn: "created_at" })
380
378
  },
381
- filterableFields: ["id", "task_id", "kind", "seq", "created_at"],
382
- sortableFields: ["seq", "created_at"],
379
+ filterableFields: ["id", "task_id", "kind", "created_at"],
380
+ sortableFields: ["created_at"],
383
381
  pickField: "created_at"
384
382
  },
385
383
  task_output: {
@@ -388,13 +386,15 @@ function buildBuiltinModelRegistry(repoRoot) {
388
386
  storage: "d1",
389
387
  operations: ["get", "read", "search", "create"],
390
388
  fields: {
391
- id: field("id", { filterable: true, dbColumns: ["id"], writeDbColumn: "id" }),
389
+ id: field("id", { filterable: true, dbColumns: ["id"], payloadPaths: ["id"], writeDbColumn: "id" }),
392
390
  task_id: field("task_id", { aliases: ["taskId"], filterable: true, dbColumns: ["task_id"], payloadPaths: ["taskId"], writeDbColumn: "task_id" }),
393
- created_at: field("created_at", { aliases: ["createdAt"], filterable: true, sortable: true, comparableAs: "date", dbColumns: ["created_at"], payloadPaths: ["createdAt"], writeDbColumn: "created_at" })
391
+ output_ref: field("output_ref", { aliases: ["outputRef"], filterable: true, dbColumns: ["output_ref"], payloadPaths: ["outputRef"], writeDbColumn: "output_ref" }),
392
+ created_at: field("created_at", { aliases: ["createdAt"], filterable: true, sortable: true, comparableAs: "date", dbColumns: ["created_at"], payloadPaths: ["createdAt"], writeDbColumn: "created_at" }),
393
+ updated_at: field("updated_at", { aliases: ["updatedAt"], filterable: true, sortable: true, comparableAs: "date", dbColumns: ["updated_at"], payloadPaths: ["updatedAt"], writeDbColumn: "updated_at" })
394
394
  },
395
- filterableFields: ["id", "task_id", "created_at"],
396
- sortableFields: ["created_at"],
397
- pickField: "created_at"
395
+ filterableFields: ["id", "task_id", "output_ref", "created_at", "updated_at"],
396
+ sortableFields: ["created_at", "updated_at"],
397
+ pickField: "updated_at"
398
398
  },
399
399
  graph_run: {
400
400
  name: "graph_run",