@treeseed/sdk 0.11.0 → 0.12.5

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 (473) hide show
  1. package/README.md +9 -4
  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 +117 -60
  27. package/dist/capacity-provider.js +215 -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 +2 -2
  36. package/dist/copilot.d.ts +3 -0
  37. package/dist/copilot.js +16 -1
  38. package/dist/d1-http.d.ts +1 -1
  39. package/dist/d1-store.d.ts +32 -57
  40. package/dist/d1-store.js +115 -318
  41. package/dist/db/d1.d.ts +1 -232
  42. package/dist/db/index.d.ts +3 -3
  43. package/dist/db/market-schema.d.ts +49037 -11843
  44. package/dist/db/market-schema.js +1788 -50
  45. package/dist/db/node-sqlite.d.ts +1 -232
  46. package/dist/db/schema.d.ts +0 -462
  47. package/dist/db/schema.js +2 -22
  48. package/dist/dispatch.d.ts +1 -1
  49. package/dist/dispatch.js +0 -11
  50. package/dist/fixture-support.js +52 -4
  51. package/dist/governance.d.ts +133 -0
  52. package/dist/governance.js +285 -0
  53. package/dist/graph/build.d.ts +2 -2
  54. package/dist/graph/context-query-contracts.d.ts +1 -1
  55. package/dist/graph/dsl.d.ts +1 -1
  56. package/dist/graph/query.d.ts +4 -4
  57. package/dist/graph/ranking.d.ts +1 -1
  58. package/dist/graph/schema.d.ts +1 -1
  59. package/dist/graph.d.ts +11 -11
  60. package/dist/guarantees/index.d.ts +425 -0
  61. package/dist/guarantees/index.js +1146 -0
  62. package/dist/hosting/apps.d.ts +1 -1
  63. package/dist/hosting/builtins.d.ts +1 -1
  64. package/dist/hosting/builtins.js +9 -198
  65. package/dist/hosting/contracts.d.ts +3 -2
  66. package/dist/hosting/graph.d.ts +24 -21
  67. package/dist/hosting/graph.js +280 -294
  68. package/dist/hosting/index.d.ts +4 -4
  69. package/dist/index.d.ts +88 -74
  70. package/dist/index.js +81 -10
  71. package/dist/local-dev/managed-dev.d.ts +85 -0
  72. package/dist/local-dev/managed-dev.js +368 -0
  73. package/dist/managed-dependencies.d.ts +9 -0
  74. package/dist/managed-dependencies.js +10 -8
  75. package/dist/market-client.d.ts +265 -7
  76. package/dist/market-client.js +381 -9
  77. package/dist/model-registry.d.ts +1 -1
  78. package/dist/model-registry.js +19 -19
  79. package/dist/operations/agent-tools.d.ts +2 -11
  80. package/dist/operations/agent-tools.js +2 -14
  81. package/dist/operations/providers/default.d.ts +1 -1
  82. package/dist/operations/providers/default.js +20 -37
  83. package/dist/operations/repository-operations.d.ts +26 -2
  84. package/dist/operations/repository-operations.js +159 -1
  85. package/dist/operations/runtime.d.ts +3 -3
  86. package/dist/operations/services/bootstrap-runner.d.ts +1 -1
  87. package/dist/operations/services/build-warning-policy.d.ts +34 -0
  88. package/dist/operations/services/build-warning-policy.js +81 -82
  89. package/dist/operations/services/commit-message-provider.js +4 -4
  90. package/dist/operations/services/config-runtime.d.ts +73 -19
  91. package/dist/operations/services/config-runtime.js +276 -100
  92. package/dist/operations/services/deploy.d.ts +41 -622
  93. package/dist/operations/services/deploy.js +181 -213
  94. package/dist/operations/services/deployment-readiness.d.ts +1 -1
  95. package/dist/operations/services/deployment-readiness.js +38 -7
  96. package/dist/operations/services/git-remote-policy.js +12 -4
  97. package/dist/operations/services/git-runner.d.ts +66 -0
  98. package/dist/operations/services/git-runner.js +479 -0
  99. package/dist/operations/services/git-workflow.d.ts +43 -5
  100. package/dist/operations/services/git-workflow.js +242 -20
  101. package/dist/operations/services/github-actions-verification.d.ts +3 -1
  102. package/dist/operations/services/github-actions-verification.js +11 -3
  103. package/dist/operations/services/github-api.js +21 -5
  104. package/dist/operations/services/github-automation.d.ts +3 -3
  105. package/dist/operations/services/github-automation.js +15 -18
  106. package/dist/operations/services/github-credentials.js +2 -1
  107. package/dist/operations/services/hosted-service-checks.d.ts +19 -1
  108. package/dist/operations/services/hosted-service-checks.js +162 -11
  109. package/dist/operations/services/hosting-audit.d.ts +2 -2
  110. package/dist/operations/services/hosting-audit.js +7 -7
  111. package/dist/operations/services/hub-launch.d.ts +1 -1
  112. package/dist/operations/services/hub-provider-launch.d.ts +5 -5
  113. package/dist/operations/services/hub-provider-launch.js +19 -14
  114. package/dist/operations/services/live-hosted-service-checks.d.ts +2 -1
  115. package/dist/operations/services/live-hosted-service-checks.js +193 -80
  116. package/dist/operations/services/local-dev.js +0 -1
  117. package/dist/operations/services/managed-host-security.d.ts +1 -1
  118. package/dist/operations/services/managed-repositories.d.ts +37 -0
  119. package/dist/operations/services/managed-repositories.js +177 -0
  120. package/dist/operations/services/operations-runner-smoke.d.ts +3 -2
  121. package/dist/operations/services/operations-runner-smoke.js +22 -4
  122. package/dist/operations/services/package-adapters.d.ts +77 -2
  123. package/dist/operations/services/package-adapters.js +629 -56
  124. package/dist/operations/services/package-reference-policy.d.ts +12 -88
  125. package/dist/operations/services/package-reference-policy.js +81 -213
  126. package/dist/operations/services/project-host-operations.d.ts +4 -4
  127. package/dist/operations/services/project-platform.d.ts +19 -193
  128. package/dist/operations/services/project-platform.js +31 -103
  129. package/dist/operations/services/project-web-monitor.d.ts +2 -2
  130. package/dist/operations/services/project-web-monitor.js +97 -2
  131. package/dist/operations/services/railway-api.d.ts +36 -7
  132. package/dist/operations/services/railway-api.js +331 -100
  133. package/dist/operations/services/railway-deploy.d.ts +7 -95
  134. package/dist/operations/services/railway-deploy.js +334 -742
  135. package/dist/operations/services/release-history.js +3 -4
  136. package/dist/operations/services/release-proof-ledger.d.ts +13 -0
  137. package/dist/operations/services/release-proof-ledger.js +81 -0
  138. package/dist/operations/services/release-proof-planner.d.ts +48 -0
  139. package/dist/operations/services/release-proof-planner.js +195 -0
  140. package/dist/operations/services/release-proof-runner.d.ts +16 -0
  141. package/dist/operations/services/release-proof-runner.js +169 -0
  142. package/dist/operations/services/release-proof.d.ts +81 -0
  143. package/dist/operations/services/release-proof.js +79 -0
  144. package/dist/operations/services/repository-save-orchestrator.d.ts +6 -7
  145. package/dist/operations/services/repository-save-orchestrator.js +353 -174
  146. package/dist/operations/services/runtime-paths.d.ts +1 -3
  147. package/dist/operations/services/runtime-paths.js +0 -4
  148. package/dist/operations/services/runtime-tools.d.ts +1 -192
  149. package/dist/operations/services/runtime-tools.js +4 -444
  150. package/dist/operations/services/save-deploy-preflight.js +9 -1
  151. package/dist/operations/services/template-host-bindings.d.ts +2 -2
  152. package/dist/operations/services/template-host-bindings.js +3 -2
  153. package/dist/operations/services/template-registry.d.ts +6 -6
  154. package/dist/operations/services/template-registry.js +33 -14
  155. package/dist/operations/services/template-secret-sync.d.ts +3 -3
  156. package/dist/operations/services/workflow-timing.d.ts +25 -0
  157. package/dist/operations/services/workflow-timing.js +79 -0
  158. package/dist/operations/services/workspace-dependency-mode.js +41 -4
  159. package/dist/operations/services/workspace-preflight.js +8 -8
  160. package/dist/operations/services/workspace-save-script.d.ts +4 -4
  161. package/dist/operations/services/workspace-save.d.ts +1 -0
  162. package/dist/operations/services/workspace-save.js +41 -18
  163. package/dist/operations/services/workspace-tools.js +40 -6
  164. package/dist/operations-registry.d.ts +1 -1
  165. package/dist/operations-registry.js +5 -6
  166. package/dist/operations-types.d.ts +1 -1
  167. package/dist/operations.d.ts +17 -11
  168. package/dist/operations.js +57 -3
  169. package/dist/platform/book-export.js +2 -0
  170. package/dist/platform/books-data.d.ts +1 -1
  171. package/dist/platform/config.d.ts +27 -0
  172. package/dist/platform/config.js +100 -0
  173. package/dist/platform/content-runtime-source.d.ts +54 -0
  174. package/dist/platform/content-runtime-source.js +169 -0
  175. package/dist/platform/contracts.d.ts +6 -1
  176. package/dist/platform/deploy-config.d.ts +1 -1
  177. package/dist/platform/deploy-config.js +7 -1
  178. package/dist/platform/deploy-runtime.d.ts +1 -1
  179. package/dist/platform/desired-state.d.ts +66 -0
  180. package/dist/platform/desired-state.js +1052 -0
  181. package/dist/platform/env.yaml +414 -19
  182. package/dist/platform/environment.d.ts +2 -2
  183. package/dist/platform/environment.js +54 -22
  184. package/dist/platform/local-content-materialization.d.ts +9 -0
  185. package/dist/platform/local-content-materialization.js +212 -0
  186. package/dist/platform/plugin.d.ts +5 -5
  187. package/dist/platform/plugins/runtime.d.ts +3 -3
  188. package/dist/platform/plugins/runtime.js +62 -1
  189. package/dist/platform/plugins.d.ts +6 -6
  190. package/dist/platform/published-content-pipeline.d.ts +3 -3
  191. package/dist/platform/published-content-pipeline.js +5 -1
  192. package/dist/platform/published-content.d.ts +4 -3
  193. package/dist/platform/site-config-schema.d.ts +1 -0
  194. package/dist/platform/site-config-schema.js +4 -1
  195. package/dist/platform/tenant/runtime-config.d.ts +152 -2
  196. package/dist/platform/tenant-config.d.ts +1 -1
  197. package/dist/platform/utils/site-config-schema.d.ts +154 -0
  198. package/dist/platform/utils/site-config-schema.js +400 -461
  199. package/dist/platform-operation-store.d.ts +1 -1
  200. package/dist/plugin-default.d.ts +1 -1
  201. package/dist/plugin-default.js +27 -12
  202. package/dist/project-import.d.ts +91 -0
  203. package/dist/project-import.js +257 -0
  204. package/dist/project-workflow.d.ts +1 -1
  205. package/dist/reconcile/bootstrap-systems.d.ts +2 -2
  206. package/dist/reconcile/bootstrap-systems.js +3 -3
  207. package/dist/reconcile/builtin-adapters.d.ts +7 -1
  208. package/dist/reconcile/builtin-adapters.js +2924 -346
  209. package/dist/reconcile/contracts.d.ts +15 -2
  210. package/dist/reconcile/desired-state.d.ts +2 -193
  211. package/dist/reconcile/desired-state.js +24 -33
  212. package/dist/reconcile/engine.d.ts +60 -397
  213. package/dist/reconcile/engine.js +182 -18
  214. package/dist/reconcile/index.d.ts +10 -10
  215. package/dist/reconcile/live-acceptance.d.ts +22 -1
  216. package/dist/reconcile/live-acceptance.js +456 -44
  217. package/dist/reconcile/providers/docker-private.d.ts +54 -0
  218. package/dist/reconcile/providers/docker-private.js +101 -0
  219. package/dist/reconcile/providers/github-private.d.ts +65 -0
  220. package/dist/reconcile/providers/github-private.js +119 -0
  221. package/dist/reconcile/providers/local-private.d.ts +28 -0
  222. package/dist/reconcile/providers/local-private.js +75 -0
  223. package/dist/reconcile/providers/railway-iac.d.ts +66 -0
  224. package/dist/reconcile/providers/railway-iac.js +275 -0
  225. package/dist/reconcile/providers/release-private.d.ts +92 -0
  226. package/dist/reconcile/providers/release-private.js +152 -0
  227. package/dist/reconcile/registry.d.ts +2 -2
  228. package/dist/reconcile/registry.js +16 -1
  229. package/dist/reconcile/state.d.ts +1 -1
  230. package/dist/reconcile/state.js +3 -40
  231. package/dist/reconcile/units.d.ts +1 -1
  232. package/dist/reconcile/units.js +7 -1
  233. package/dist/remote.d.ts +6 -6
  234. package/dist/scenes/artifacts.d.ts +16 -0
  235. package/dist/scenes/artifacts.js +61 -0
  236. package/dist/scenes/auth.d.ts +2 -0
  237. package/dist/scenes/auth.js +28 -0
  238. package/dist/scenes/base-url.d.ts +12 -0
  239. package/dist/scenes/base-url.js +123 -0
  240. package/dist/scenes/builtin-plugins.d.ts +2 -0
  241. package/dist/scenes/builtin-plugins.js +447 -0
  242. package/dist/scenes/checkpoints.d.ts +14 -0
  243. package/dist/scenes/checkpoints.js +33 -0
  244. package/dist/scenes/device-matrix.d.ts +2 -0
  245. package/dist/scenes/device-matrix.js +97 -0
  246. package/dist/scenes/devices.d.ts +11 -0
  247. package/dist/scenes/devices.js +22 -0
  248. package/dist/scenes/diagnostics.d.ts +5 -0
  249. package/dist/scenes/diagnostics.js +22 -0
  250. package/dist/scenes/diagram-providers.d.ts +2 -0
  251. package/dist/scenes/diagram-providers.js +181 -0
  252. package/dist/scenes/diagram-validation.d.ts +22 -0
  253. package/dist/scenes/diagram-validation.js +74 -0
  254. package/dist/scenes/environment.d.ts +2 -0
  255. package/dist/scenes/environment.js +65 -0
  256. package/dist/scenes/evidence-bundle.d.ts +5 -0
  257. package/dist/scenes/evidence-bundle.js +42 -0
  258. package/dist/scenes/evidence-report.d.ts +10 -0
  259. package/dist/scenes/evidence-report.js +73 -0
  260. package/dist/scenes/evidence.d.ts +16 -0
  261. package/dist/scenes/evidence.js +277 -0
  262. package/dist/scenes/index.d.ts +48 -0
  263. package/dist/scenes/index.js +312 -0
  264. package/dist/scenes/inspect.d.ts +9 -0
  265. package/dist/scenes/inspect.js +64 -0
  266. package/dist/scenes/loader.d.ts +3 -0
  267. package/dist/scenes/loader.js +38 -0
  268. package/dist/scenes/logs.d.ts +2 -0
  269. package/dist/scenes/logs.js +47 -0
  270. package/dist/scenes/operations.d.ts +3 -0
  271. package/dist/scenes/operations.js +128 -0
  272. package/dist/scenes/phase0.d.ts +9 -0
  273. package/dist/scenes/phase0.js +637 -0
  274. package/dist/scenes/planner.d.ts +12 -0
  275. package/dist/scenes/planner.js +166 -0
  276. package/dist/scenes/playwright-adapter.d.ts +2 -0
  277. package/dist/scenes/playwright-adapter.js +63 -0
  278. package/dist/scenes/plugins.d.ts +5 -0
  279. package/dist/scenes/plugins.js +115 -0
  280. package/dist/scenes/progress.d.ts +17 -0
  281. package/dist/scenes/progress.js +24 -0
  282. package/dist/scenes/publish-destinations.d.ts +12 -0
  283. package/dist/scenes/publish-destinations.js +99 -0
  284. package/dist/scenes/publish-plan-report.d.ts +10 -0
  285. package/dist/scenes/publish-plan-report.js +70 -0
  286. package/dist/scenes/publish-plan.d.ts +15 -0
  287. package/dist/scenes/publish-plan.js +248 -0
  288. package/dist/scenes/publish-redaction.d.ts +16 -0
  289. package/dist/scenes/publish-redaction.js +148 -0
  290. package/dist/scenes/publish-release-record.d.ts +13 -0
  291. package/dist/scenes/publish-release-record.js +34 -0
  292. package/dist/scenes/publish-report.d.ts +10 -0
  293. package/dist/scenes/publish-report.js +67 -0
  294. package/dist/scenes/publish.d.ts +16 -0
  295. package/dist/scenes/publish.js +298 -0
  296. package/dist/scenes/registry.d.ts +12 -0
  297. package/dist/scenes/registry.js +65 -0
  298. package/dist/scenes/remotion-adapter.d.ts +3 -0
  299. package/dist/scenes/remotion-adapter.js +94 -0
  300. package/dist/scenes/remotion-composition-registry.d.ts +2 -0
  301. package/dist/scenes/remotion-composition-registry.js +12 -0
  302. package/dist/scenes/remotion-compositions.d.ts +15 -0
  303. package/dist/scenes/remotion-compositions.js +464 -0
  304. package/dist/scenes/remotion-diagrams.d.ts +9 -0
  305. package/dist/scenes/remotion-diagrams.js +188 -0
  306. package/dist/scenes/remotion-input.d.ts +13 -0
  307. package/dist/scenes/remotion-input.js +291 -0
  308. package/dist/scenes/remotion-visuals.d.ts +29 -0
  309. package/dist/scenes/remotion-visuals.js +198 -0
  310. package/dist/scenes/render-media-assets.d.ts +9 -0
  311. package/dist/scenes/render-media-assets.js +117 -0
  312. package/dist/scenes/render-report.d.ts +10 -0
  313. package/dist/scenes/render-report.js +27 -0
  314. package/dist/scenes/render.d.ts +2 -0
  315. package/dist/scenes/render.js +218 -0
  316. package/dist/scenes/reporter.d.ts +3 -0
  317. package/dist/scenes/reporter.js +101 -0
  318. package/dist/scenes/resume.d.ts +2 -0
  319. package/dist/scenes/resume.js +79 -0
  320. package/dist/scenes/runner.d.ts +2 -0
  321. package/dist/scenes/runner.js +674 -0
  322. package/dist/scenes/schema.d.ts +6 -0
  323. package/dist/scenes/schema.js +994 -0
  324. package/dist/scenes/seed.d.ts +2 -0
  325. package/dist/scenes/seed.js +83 -0
  326. package/dist/scenes/segments.d.ts +15 -0
  327. package/dist/scenes/segments.js +79 -0
  328. package/dist/scenes/selectors.d.ts +3 -0
  329. package/dist/scenes/selectors.js +21 -0
  330. package/dist/scenes/timeline.d.ts +11 -0
  331. package/dist/scenes/timeline.js +26 -0
  332. package/dist/scenes/timeouts.d.ts +6 -0
  333. package/dist/scenes/timeouts.js +17 -0
  334. package/dist/scenes/training-captions.d.ts +14 -0
  335. package/dist/scenes/training-captions.js +98 -0
  336. package/dist/scenes/training-report.d.ts +10 -0
  337. package/dist/scenes/training-report.js +78 -0
  338. package/dist/scenes/training-transcript.d.ts +24 -0
  339. package/dist/scenes/training-transcript.js +204 -0
  340. package/dist/scenes/training.d.ts +10 -0
  341. package/dist/scenes/training.js +134 -0
  342. package/dist/scenes/types.d.ts +1872 -0
  343. package/dist/scenes/types.js +8 -0
  344. package/dist/scenes/visual-audit-contact-sheets.d.ts +6 -0
  345. package/dist/scenes/visual-audit-contact-sheets.js +119 -0
  346. package/dist/scenes/visual-audit-fixtures.d.ts +25 -0
  347. package/dist/scenes/visual-audit-fixtures.js +210 -0
  348. package/dist/scenes/visual-audit-report.d.ts +11 -0
  349. package/dist/scenes/visual-audit-report.js +85 -0
  350. package/dist/scenes/visual-audit-review.d.ts +23 -0
  351. package/dist/scenes/visual-audit-review.js +829 -0
  352. package/dist/scenes/visual-audit-routes.d.ts +13 -0
  353. package/dist/scenes/visual-audit-routes.js +308 -0
  354. package/dist/scenes/visual-audit.d.ts +3 -0
  355. package/dist/scenes/visual-audit.js +596 -0
  356. package/dist/scripts/build-dist.js +154 -40
  357. package/dist/scripts/check-build-warnings.js +42 -53
  358. package/dist/scripts/cleanup-markdown.js +1 -1
  359. package/dist/scripts/cli-test-fixtures.js +24 -28
  360. package/dist/scripts/migrate-journey-csv-to-guarantees.js +140 -0
  361. package/dist/scripts/package-tools.js +12 -1
  362. package/dist/scripts/prepare.js +3 -7
  363. package/dist/scripts/release-verify.js +2 -5
  364. package/dist/scripts/run-fixture-astro-command.js +1 -1
  365. package/dist/scripts/template-catalog.test.js +68 -82
  366. package/dist/scripts/tenant-dev.js +0 -10
  367. package/dist/scripts/test-cloudflare-local.js +1 -1
  368. package/dist/scripts/test-scaffold.js +0 -1
  369. package/dist/scripts/test-smoke.js +3 -3
  370. package/dist/scripts/treeseed-build-dist.js +4 -7
  371. package/dist/scripts/treeseed-release-verify.js +1 -1
  372. package/dist/scripts/verify-driver.js +30 -21
  373. package/dist/scripts/workflow-commands.test.js +18 -27
  374. package/dist/scripts/workspace-command-e2e.js +1 -1
  375. package/dist/scripts/workspace-lint.js +6 -0
  376. package/dist/scripts/workspace-release-test.js +90 -1
  377. package/dist/scripts/workspace-test.js +6 -0
  378. package/dist/sdk-dispatch.d.ts +1 -1
  379. package/dist/sdk-dispatch.js +0 -16
  380. package/dist/sdk-fields.d.ts +1 -1
  381. package/dist/sdk-filters.d.ts +1 -1
  382. package/dist/sdk-types.d.ts +1184 -113
  383. package/dist/sdk-types.js +393 -0
  384. package/dist/sdk.d.ts +74 -79
  385. package/dist/sdk.js +27 -36
  386. package/dist/secrets-capability.d.ts +421 -0
  387. package/dist/secrets-capability.js +530 -0
  388. package/dist/seeds/normalize.js +1 -0
  389. package/dist/seeds/planner.js +38 -0
  390. package/dist/seeds/schema.js +293 -4
  391. package/dist/seeds/types.d.ts +60 -0
  392. package/dist/seeds/types.js +9 -1
  393. package/dist/service-credentials.d.ts +54 -0
  394. package/dist/service-credentials.js +112 -0
  395. package/dist/stores/cursor-store.d.ts +2 -2
  396. package/dist/stores/envelopes.d.ts +1 -1
  397. package/dist/stores/helpers.d.ts +1 -1
  398. package/dist/stores/lease-store.d.ts +2 -2
  399. package/dist/stores/message-store.d.ts +2 -2
  400. package/dist/stores/operational-store.d.ts +3 -26
  401. package/dist/stores/operational-store.js +0 -225
  402. package/dist/stores/project-workflow-store.d.ts +2 -2
  403. package/dist/stores/run-store.d.ts +2 -3
  404. package/dist/stores/run-store.js +0 -98
  405. package/dist/stores/subscription-store.d.ts +2 -3
  406. package/dist/stores/subscription-store.js +0 -100
  407. package/dist/template-catalog.d.ts +1 -1
  408. package/dist/template-launch-requirements.d.ts +2 -2
  409. package/dist/template-launch-ui.d.ts +2 -2
  410. package/dist/treedx/adapters.d.ts +6 -6
  411. package/dist/treedx/client.d.ts +1 -1
  412. package/dist/treedx/errors.d.ts +1 -1
  413. package/dist/treedx/federated-client.d.ts +3 -3
  414. package/dist/treedx/graph-adapter.d.ts +2 -2
  415. package/dist/treedx/index.d.ts +14 -14
  416. package/dist/treedx/market-integration.d.ts +1 -1
  417. package/dist/treedx/ports.d.ts +30 -30
  418. package/dist/treedx/query-adapter.d.ts +3 -3
  419. package/dist/treedx/registry-client.d.ts +2 -2
  420. package/dist/treedx/repository-adapter.d.ts +4 -4
  421. package/dist/treedx/repository-adapter.js +14 -3
  422. package/dist/treedx/sdk-integration.d.ts +3 -3
  423. package/dist/treedx/types.d.ts +2 -2
  424. package/dist/treedx/workspace-adapter.d.ts +2 -2
  425. package/dist/treedx-backends.d.ts +13 -11
  426. package/dist/treedx-backends.js +52 -50
  427. package/dist/treedx-client.d.ts +3 -0
  428. package/dist/treedx-client.js +10 -1
  429. package/dist/treeseed/services/compose.yml +2 -3
  430. package/dist/treeseed/template-catalog/catalog.fixture.json +4 -4
  431. package/dist/types/agents.d.ts +256 -0
  432. package/dist/types/agents.js +42 -1
  433. package/dist/verification.d.ts +1 -0
  434. package/dist/verification.js +143 -14
  435. package/dist/workflow/operations.d.ts +510 -559
  436. package/dist/workflow/operations.js +1891 -1342
  437. package/dist/workflow/policy.js +19 -7
  438. package/dist/workflow/runs.d.ts +9 -3
  439. package/dist/workflow/runs.js +66 -26
  440. package/dist/workflow/session.d.ts +4 -1
  441. package/dist/workflow/session.js +50 -10
  442. package/dist/workflow/worktrees.d.ts +6 -2
  443. package/dist/workflow/worktrees.js +98 -15
  444. package/dist/workflow-state.d.ts +5 -5
  445. package/dist/workflow-state.js +27 -17
  446. package/dist/workflow-support.d.ts +26 -25
  447. package/dist/workflow-support.js +27 -31
  448. package/dist/workflow.d.ts +46 -16
  449. package/dist/workflow.js +19 -7
  450. package/drizzle/d1/0000_treeseed_d1.sql +0 -18
  451. package/drizzle/market/0000_market_control_plane.sql +1793 -1499
  452. package/drizzle/market/0005_agent_capacity_coordination.sql +145 -0
  453. package/drizzle/market/0006_provider_assignment_lifecycle.sql +9 -0
  454. package/drizzle/market/0007_agent_architecture_gap_closure.sql +157 -0
  455. package/drizzle/market/0008_agent_capacity_operational_closure.sql +27 -0
  456. package/drizzle/market/0009_agent_capacity_runtime_hardening.sql +29 -0
  457. package/drizzle/market/0010_secrets_capability_persistence.sql +130 -0
  458. package/drizzle/market/0011_github_app_adapter.sql +47 -0
  459. package/drizzle/market/0012_workday_test_runs.sql +44 -0
  460. package/drizzle/market/0013_runtime_task_lifecycle.sql +39 -0
  461. package/drizzle/market/0014_governance_pipeline.sql +189 -0
  462. package/package.json +75 -18
  463. package/scripts/{verify-driver.mjs → verify-driver.ts} +19 -4
  464. package/templates/github/deploy-web.workflow.yml +12 -8
  465. package/dist/operations/services/mailpit-runtime.d.ts +0 -20
  466. package/dist/operations/services/mailpit-runtime.js +0 -67
  467. package/dist/operations/services/release-candidate.d.ts +0 -60
  468. package/dist/operations/services/release-candidate.js +0 -953
  469. package/dist/scripts/ensure-mailpit.js +0 -48
  470. package/dist/scripts/logs-mailpit.js +0 -2
  471. package/dist/scripts/run-ts.js +0 -45
  472. package/dist/scripts/stop-mailpit.js +0 -5
  473. package/dist/scripts/treeseed-run-ts.js +0 -45
@@ -1,6 +1,6 @@
1
- export { TreeDxRepositoryAdapter, resolveContentDir, type TreeDxContentMutationResult, type TreeDxRepositoryAdapterOptions, } from './repository-adapter.ts';
2
- export { TreeDxQueryAdapter, type TreeDxQueryAdapterOptions } from './query-adapter.ts';
3
- export { TreeDxGraphAdapter, type TreeDxGraphAdapterOptions } from './graph-adapter.ts';
4
- export { TreeDxWorkspaceAdapter, type TreeDxWorkspaceAdapterOptions } from './workspace-adapter.ts';
5
- export { LocalGraphPort, LocalRepositoryPort, LocalRepositoryQueryPort, TreeDxArtifactPort, TreeDxExecPort, TreeDxFederatedPort, TreeDxGraphPort, TreeDxRegistryPort, TreeDxRepositoryPort, TreeDxRepositoryQueryPort, } from './ports.ts';
6
- export type * from './ports.ts';
1
+ export { TreeDxRepositoryAdapter, resolveContentDir, type TreeDxContentMutationResult, type TreeDxRepositoryAdapterOptions, } from './repository-adapter.js';
2
+ export { TreeDxQueryAdapter, type TreeDxQueryAdapterOptions } from './query-adapter.js';
3
+ export { TreeDxGraphAdapter, type TreeDxGraphAdapterOptions } from './graph-adapter.js';
4
+ export { TreeDxWorkspaceAdapter, type TreeDxWorkspaceAdapterOptions } from './workspace-adapter.js';
5
+ export { LocalGraphPort, LocalRepositoryPort, LocalRepositoryQueryPort, TreeDxArtifactPort, TreeDxExecPort, TreeDxFederatedPort, TreeDxGraphPort, TreeDxRegistryPort, TreeDxRepositoryPort, TreeDxRepositoryQueryPort, } from './ports.js';
6
+ export type * from './ports.js';
@@ -1,4 +1,4 @@
1
- import type { SdkGraphSearchResult, TreeDxAuditEvent, TreeDxAuthMode, TreeDxBlob, TreeDxBlobUploadAbortRequest, TreeDxBlobUploadCompleteRequest, TreeDxBlobUploadCreateRequest, TreeDxBlobUploadPart, TreeDxBlobUploadPartRequest, TreeDxBlobUploadSession, TreeDxBlobDeleteRequest, TreeDxBlobDownload, TreeDxBlobDownloadRequest, TreeDxBlobMutationResult, TreeDxBlobReadRequest, TreeDxBlobUploadRequest, TreeDxBlobWriteRequest, TreeDxCapabilityGrant, TreeDxCommitRequest, TreeDxCommitResult, TreeDxContextRequest, TreeDxContextResult, TreeDxCtxParseRequest, TreeDxCtxParseResult, TreeDxDiff, TreeDxEffectiveScope, TreeDxEffectiveScopeRequest, TreeDxExecRequest, TreeDxExecResult, TreeDxFetchRemoteRequest, TreeDxFetchRemoteResult, TreeDxFederatedContextRequest, TreeDxFederatedContextResult, TreeDxFederatedGraphRequest, TreeDxFederatedGraphResult, TreeDxFederatedQueryRequest, TreeDxFederatedQueryResult, TreeDxFederatedSearchRequest, TreeDxFederatedSearchResult, TreeDxArtifact, TreeDxArtifactCleanupRequest, TreeDxArtifactCleanupResult, TreeDxArtifactDeleteRequest, TreeDxArtifactDownload, TreeDxArtifactExportRequest, TreeDxArtifactGetRequest, TreeDxArtifactListRequest, TreeDxFederationQueryPlan, TreeDxFederationQueryPlanRequest, TreeDxFile, TreeDxFileMutationResult, TreeDxGraphNodeRequest, TreeDxGraphQueryRequest, TreeDxGraphQueryResult, TreeDxGraphRefreshJob, TreeDxGraphRefreshJobRequest, TreeDxGraphRefreshRequest, TreeDxGraphRefreshResult, TreeDxGraphRelatedRequest, TreeDxGraphSearchRequest, TreeDxGraphSubgraphRequest, TreeDxHealth, TreeDxListTreeRequest, TreeDxMigration, TreeDxMigrationRequest, TreeDxMirrorHealthRequest, TreeDxMirrorHealthResult, TreeDxMirrorPromotionRequest, TreeDxMirrorPromotionResult, TreeDxMirrorSyncRequest, TreeDxMirrorSyncResult, TreeDxNode, TreeDxPatchFileRequest, TreeDxReadFileRequest, TreeDxRepository, TreeDxRepositoryPathsRequest, TreeDxRepositoryPlacement, TreeDxRepositoryQueryRequest, TreeDxRepositoryQueryResult, TreeDxRepositoryReadRequest, TreeDxRepositorySearchRequest, TreeDxSearchRequest, TreeDxSearchIndexCompactRequest, TreeDxSearchIndexCompactResult, TreeDxSearchIndexRefreshRequest, TreeDxSearchIndexRefreshResult, TreeDxSearchIndexStatus, TreeDxSearchIndexStatusRequest, TreeDxSearchResult, TreeDxSnapshot, TreeDxSnapshotBuildRequest, TreeDxStorageBackupRequest, TreeDxStorageBackupResult, TreeDxStorageCompactRequest, TreeDxStorageCompactResult, TreeDxStorageMigration, TreeDxStorageMigrationPlanRequest, TreeDxStorageMigrationRollbackRequest, TreeDxStorageRestoreRequest, TreeDxStorageRestoreResult, TreeDxStorageRestoreVerifyRequest, TreeDxStatus, TreeDxTreeEntry, TreeDxClientOptions, TreeDxPushRequest, TreeDxPushResult, TreeDxWhoami, TreeDxWorkspace, TreeDxCreateWorkspaceRequest, TreeDxDeleteFileRequest, TreeDxDeepHealth, TreeDxWorkspaceRequest, TreeDxWriteFileRequest, TreeDxMetrics, TreeDxReadiness } from './types.ts';
1
+ import type { SdkGraphSearchResult, TreeDxAuditEvent, TreeDxAuthMode, TreeDxBlob, TreeDxBlobUploadAbortRequest, TreeDxBlobUploadCompleteRequest, TreeDxBlobUploadCreateRequest, TreeDxBlobUploadPart, TreeDxBlobUploadPartRequest, TreeDxBlobUploadSession, TreeDxBlobDeleteRequest, TreeDxBlobDownload, TreeDxBlobDownloadRequest, TreeDxBlobMutationResult, TreeDxBlobReadRequest, TreeDxBlobUploadRequest, TreeDxBlobWriteRequest, TreeDxCapabilityGrant, TreeDxCommitRequest, TreeDxCommitResult, TreeDxContextRequest, TreeDxContextResult, TreeDxCtxParseRequest, TreeDxCtxParseResult, TreeDxDiff, TreeDxEffectiveScope, TreeDxEffectiveScopeRequest, TreeDxExecRequest, TreeDxExecResult, TreeDxFetchRemoteRequest, TreeDxFetchRemoteResult, TreeDxFederatedContextRequest, TreeDxFederatedContextResult, TreeDxFederatedGraphRequest, TreeDxFederatedGraphResult, TreeDxFederatedQueryRequest, TreeDxFederatedQueryResult, TreeDxFederatedSearchRequest, TreeDxFederatedSearchResult, TreeDxArtifact, TreeDxArtifactCleanupRequest, TreeDxArtifactCleanupResult, TreeDxArtifactDeleteRequest, TreeDxArtifactDownload, TreeDxArtifactExportRequest, TreeDxArtifactGetRequest, TreeDxArtifactListRequest, TreeDxFederationQueryPlan, TreeDxFederationQueryPlanRequest, TreeDxFile, TreeDxFileMutationResult, TreeDxGraphNodeRequest, TreeDxGraphQueryRequest, TreeDxGraphQueryResult, TreeDxGraphRefreshJob, TreeDxGraphRefreshJobRequest, TreeDxGraphRefreshRequest, TreeDxGraphRefreshResult, TreeDxGraphRelatedRequest, TreeDxGraphSearchRequest, TreeDxGraphSubgraphRequest, TreeDxHealth, TreeDxListTreeRequest, TreeDxMigration, TreeDxMigrationRequest, TreeDxMirrorHealthRequest, TreeDxMirrorHealthResult, TreeDxMirrorPromotionRequest, TreeDxMirrorPromotionResult, TreeDxMirrorSyncRequest, TreeDxMirrorSyncResult, TreeDxNode, TreeDxPatchFileRequest, TreeDxReadFileRequest, TreeDxRepository, TreeDxRepositoryPathsRequest, TreeDxRepositoryPlacement, TreeDxRepositoryQueryRequest, TreeDxRepositoryQueryResult, TreeDxRepositoryReadRequest, TreeDxRepositorySearchRequest, TreeDxSearchRequest, TreeDxSearchIndexCompactRequest, TreeDxSearchIndexCompactResult, TreeDxSearchIndexRefreshRequest, TreeDxSearchIndexRefreshResult, TreeDxSearchIndexStatus, TreeDxSearchIndexStatusRequest, TreeDxSearchResult, TreeDxSnapshot, TreeDxSnapshotBuildRequest, TreeDxStorageBackupRequest, TreeDxStorageBackupResult, TreeDxStorageCompactRequest, TreeDxStorageCompactResult, TreeDxStorageMigration, TreeDxStorageMigrationPlanRequest, TreeDxStorageMigrationRollbackRequest, TreeDxStorageRestoreRequest, TreeDxStorageRestoreResult, TreeDxStorageRestoreVerifyRequest, TreeDxStatus, TreeDxTreeEntry, TreeDxClientOptions, TreeDxPushRequest, TreeDxPushResult, TreeDxWhoami, TreeDxWorkspace, TreeDxCreateWorkspaceRequest, TreeDxDeleteFileRequest, TreeDxDeepHealth, TreeDxWorkspaceRequest, TreeDxWriteFileRequest, TreeDxMetrics, TreeDxReadiness } from './types.js';
2
2
  export declare const TREEDX_CLIENT_OPERATION_MAP: {
3
3
  readonly health: "getHealth";
4
4
  readonly ready: "getReadiness";
@@ -1,4 +1,4 @@
1
- import type { TreeDxErrorCode } from './types.ts';
1
+ import type { TreeDxErrorCode } from './types.js';
2
2
  export declare class TreeDxApiError extends Error {
3
3
  readonly status: number;
4
4
  readonly code: TreeDxErrorCode;
@@ -1,6 +1,6 @@
1
- import { TreeDxClient } from './client.ts';
2
- import { TreeDxRegistryClient, type TreeDxRegistryClientOptions } from './registry-client.ts';
3
- import type { TreeDxFederatedContextRequest, TreeDxFederatedContextResult, TreeDxFederatedGraphRequest, TreeDxFederatedGraphResult, TreeDxFederatedQueryRequest, TreeDxFederatedQueryResult, TreeDxFederatedSearchRequest, TreeDxFederatedSearchResult, TreeDxFederationQueryPlan, TreeDxFederationQueryPlanRequest } from './types.ts';
1
+ import { TreeDxClient } from './client.js';
2
+ import { TreeDxRegistryClient, type TreeDxRegistryClientOptions } from './registry-client.js';
3
+ import type { TreeDxFederatedContextRequest, TreeDxFederatedContextResult, TreeDxFederatedGraphRequest, TreeDxFederatedGraphResult, TreeDxFederatedQueryRequest, TreeDxFederatedQueryResult, TreeDxFederatedSearchRequest, TreeDxFederatedSearchResult, TreeDxFederationQueryPlan, TreeDxFederationQueryPlanRequest } from './types.js';
4
4
  export interface TreeDxFederatedClientOptions {
5
5
  registry: TreeDxRegistryClientOptions | TreeDxRegistryClient;
6
6
  token?: string;
@@ -1,5 +1,5 @@
1
- import { TreeDxClient } from './client.ts';
2
- import type { SdkContextPack, SdkContextPackRequest, SdkGraphDslParseResult, SdkGraphNode, SdkGraphQueryOptions, SdkGraphQueryRequest, SdkGraphQueryResult, SdkGraphRefreshPayload, SdkGraphSearchOptions, SdkGraphSearchResult, SdkGraphSeedResolution, SdkGraphTraversalResult, TreeDxGraphRefreshRequest } from './types.ts';
1
+ import { TreeDxClient } from './client.js';
2
+ import type { SdkContextPack, SdkContextPackRequest, SdkGraphDslParseResult, SdkGraphNode, SdkGraphQueryOptions, SdkGraphQueryRequest, SdkGraphQueryResult, SdkGraphRefreshPayload, SdkGraphSearchOptions, SdkGraphSearchResult, SdkGraphSeedResolution, SdkGraphTraversalResult, TreeDxGraphRefreshRequest } from './types.js';
3
3
  export interface TreeDxGraphAdapterOptions {
4
4
  client: TreeDxClient;
5
5
  repoId?: string;
@@ -1,14 +1,14 @@
1
- export { TREEDX_CLIENT_OPERATION_MAP, TreeDxClient } from './client.ts';
2
- export { TreeDxRegistryClient, type TreeDxRegistryClientOptions } from './registry-client.ts';
3
- export { TreeDxFederatedClient, type TreeDxFederatedClientOptions } from './federated-client.ts';
4
- export { TreeDxApiError } from './errors.ts';
5
- export { resolveAgentTreeDxIntegration, type AgentSdkTreeDxIntegration, type AgentSdkTreeDxOptions } from './sdk-integration.ts';
6
- export { TreeDxRepositoryAdapter, resolveContentDir, type TreeDxContentMutationResult, type TreeDxRepositoryAdapterOptions, } from './repository-adapter.ts';
7
- export { TreeDxQueryAdapter, type TreeDxQueryAdapterOptions } from './query-adapter.ts';
8
- export { TreeDxGraphAdapter, type TreeDxGraphAdapterOptions } from './graph-adapter.ts';
9
- export { TreeDxWorkspaceAdapter, type TreeDxWorkspaceAdapterOptions } from './workspace-adapter.ts';
10
- export * from './market-integration.ts';
11
- export { LocalGraphPort, LocalRepositoryPort, LocalRepositoryQueryPort, TreeDxArtifactPort, TreeDxExecPort, TreeDxFederatedPort, TreeDxGraphPort, TreeDxRegistryPort, TreeDxRepositoryPort, TreeDxRepositoryQueryPort, } from './ports.ts';
12
- export type * from './ports.ts';
13
- export type * from './types.ts';
14
- export type { components as TreeDxOpenApiComponents, operations as TreeDxOpenApiOperations, paths as TreeDxOpenApiPaths, } from './generated/openapi-types.ts';
1
+ export { TREEDX_CLIENT_OPERATION_MAP, TreeDxClient } from './client.js';
2
+ export { TreeDxRegistryClient, type TreeDxRegistryClientOptions } from './registry-client.js';
3
+ export { TreeDxFederatedClient, type TreeDxFederatedClientOptions } from './federated-client.js';
4
+ export { TreeDxApiError } from './errors.js';
5
+ export { resolveAgentTreeDxIntegration, type AgentSdkTreeDxIntegration, type AgentSdkTreeDxOptions } from './sdk-integration.js';
6
+ export { TreeDxRepositoryAdapter, resolveContentDir, type TreeDxContentMutationResult, type TreeDxRepositoryAdapterOptions, } from './repository-adapter.js';
7
+ export { TreeDxQueryAdapter, type TreeDxQueryAdapterOptions } from './query-adapter.js';
8
+ export { TreeDxGraphAdapter, type TreeDxGraphAdapterOptions } from './graph-adapter.js';
9
+ export { TreeDxWorkspaceAdapter, type TreeDxWorkspaceAdapterOptions } from './workspace-adapter.js';
10
+ export * from './market-integration.js';
11
+ export { LocalGraphPort, LocalRepositoryPort, LocalRepositoryQueryPort, TreeDxArtifactPort, TreeDxExecPort, TreeDxFederatedPort, TreeDxGraphPort, TreeDxRegistryPort, TreeDxRepositoryPort, TreeDxRepositoryQueryPort, } from './ports.js';
12
+ export type * from './ports.js';
13
+ export type * from './types.js';
14
+ export type { components as TreeDxOpenApiComponents, operations as TreeDxOpenApiOperations, paths as TreeDxOpenApiPaths, } from './generated/openapi-types.js';
@@ -1,4 +1,4 @@
1
- import type { ProjectFilesystemRepositoryTopology, ProjectRepositoryTopology, TreeDxInstance, TreeDxProjectLibraryBinding } from '../sdk-types.ts';
1
+ import type { ProjectFilesystemRepositoryTopology, ProjectRepositoryTopology, TreeDxInstance, TreeDxProjectLibraryBinding } from '../sdk-types.js';
2
2
  export declare const TREEDX_DOCKER_IMAGE: "treeseed/treedx:latest";
3
3
  export declare const TREEDX_VOLUME_MOUNT_PATH: "/data";
4
4
  export declare const TREEDX_CONTENT_PATH: "src/content";
@@ -1,14 +1,14 @@
1
- import type { TreeDxClient } from './client.ts';
2
- import type { TreeDxFederatedClient } from './federated-client.ts';
3
- import type { TreeDxGraphAdapter } from './graph-adapter.ts';
4
- import type { TreeDxQueryAdapter } from './query-adapter.ts';
5
- import type { TreeDxRegistryClient } from './registry-client.ts';
6
- import type { TreeDxRepositoryAdapter } from './repository-adapter.ts';
7
- import type { TreeDxWorkspaceAdapter } from './workspace-adapter.ts';
8
- import type { ContentStore } from '../content-store.ts';
9
- import type { ContentGraphRuntime } from '../graph.ts';
10
- import type { SdkContentEntry, SdkFollowRequest, SdkGetRequest, SdkMutationRequest, SdkPickRequest, SdkSearchRequest } from '../sdk-types.ts';
11
- import type { TreeDxArtifact, TreeDxArtifactDownload, TreeDxArtifactExportRequest, TreeDxCommitRequest, TreeDxCommitResult, TreeDxCreateWorkspaceRequest, TreeDxDiff, TreeDxExecRequest, TreeDxExecResult, TreeDxFederatedContextRequest, TreeDxFederatedContextResult, TreeDxFederatedGraphRequest, TreeDxFederatedGraphResult, TreeDxFederatedQueryRequest, TreeDxFederatedQueryResult, TreeDxFederatedSearchRequest, TreeDxFederatedSearchResult, TreeDxFile, TreeDxFileMutationResult, TreeDxListTreeRequest, TreeDxPatchFileRequest, TreeDxReadFileRequest, TreeDxRepositoryPathsRequest, TreeDxRepositoryPlacement, TreeDxRepositoryQueryRequest, TreeDxRepositoryQueryResult, TreeDxRepositoryReadRequest, TreeDxRepositorySearchRequest, TreeDxSearchRequest, TreeDxSearchResult, TreeDxSnapshot, TreeDxSnapshotBuildRequest, TreeDxStatus, TreeDxTreeEntry, TreeDxWorkspace, TreeDxWorkspaceRequest, TreeDxWriteFileRequest, TreeDxDeleteFileRequest } from './types.ts';
1
+ import type { TreeDxClient } from './client.js';
2
+ import type { TreeDxFederatedClient } from './federated-client.js';
3
+ import type { TreeDxGraphAdapter } from './graph-adapter.js';
4
+ import type { TreeDxQueryAdapter } from './query-adapter.js';
5
+ import type { TreeDxRegistryClient } from './registry-client.js';
6
+ import type { TreeDxRepositoryAdapter } from './repository-adapter.js';
7
+ import type { TreeDxWorkspaceAdapter } from './workspace-adapter.js';
8
+ import type { ContentStore } from '../content-store.js';
9
+ import type { ContentGraphRuntime } from '../graph.js';
10
+ import type { SdkContentEntry, SdkFollowRequest, SdkGetRequest, SdkMutationRequest, SdkPickRequest, SdkSearchRequest } from '../sdk-types.js';
11
+ import type { TreeDxArtifact, TreeDxArtifactDownload, TreeDxArtifactExportRequest, TreeDxCommitRequest, TreeDxCommitResult, TreeDxCreateWorkspaceRequest, TreeDxDiff, TreeDxExecRequest, TreeDxExecResult, TreeDxFederatedContextRequest, TreeDxFederatedContextResult, TreeDxFederatedGraphRequest, TreeDxFederatedGraphResult, TreeDxFederatedQueryRequest, TreeDxFederatedQueryResult, TreeDxFederatedSearchRequest, TreeDxFederatedSearchResult, TreeDxFile, TreeDxFileMutationResult, TreeDxListTreeRequest, TreeDxPatchFileRequest, TreeDxReadFileRequest, TreeDxRepositoryPathsRequest, TreeDxRepositoryPlacement, TreeDxRepositoryQueryRequest, TreeDxRepositoryQueryResult, TreeDxRepositoryReadRequest, TreeDxRepositorySearchRequest, TreeDxSearchRequest, TreeDxSearchResult, TreeDxSnapshot, TreeDxSnapshotBuildRequest, TreeDxStatus, TreeDxTreeEntry, TreeDxWorkspace, TreeDxWorkspaceRequest, TreeDxWriteFileRequest, TreeDxDeleteFileRequest } from './types.js';
12
12
  export interface AuthPort {
13
13
  whoami(): Promise<unknown>;
14
14
  effectiveScope(input?: unknown): Promise<unknown>;
@@ -71,14 +71,14 @@ export declare class LocalRepositoryPort {
71
71
  items: SdkContentEntry[];
72
72
  since: string;
73
73
  }>;
74
- pick(input: SdkPickRequest): Promise<import("../sdk-types.ts").SdkPickResult<SdkContentEntry>>;
74
+ pick(input: SdkPickRequest): Promise<import("../sdk-types.js").SdkPickResult<SdkContentEntry>>;
75
75
  create(input: SdkMutationRequest): Promise<{
76
76
  item: SdkContentEntry;
77
- git: import("../git-runtime.ts").GitMutationResult;
77
+ git: import("../git-runtime.js").GitMutationResult;
78
78
  }>;
79
79
  update(input: SdkMutationRequest): Promise<{
80
80
  item: SdkContentEntry;
81
- git: import("../git-runtime.ts").GitMutationResult;
81
+ git: import("../git-runtime.js").GitMutationResult;
82
82
  }>;
83
83
  }
84
84
  export declare class LocalRepositoryQueryPort {
@@ -90,14 +90,14 @@ export declare class LocalRepositoryQueryPort {
90
90
  export declare class LocalGraphPort implements GraphPort {
91
91
  readonly runtime: ContentGraphRuntime;
92
92
  constructor(runtime: ContentGraphRuntime);
93
- refresh(input?: unknown): Promise<import("./types.ts").SdkGraphRefreshPayload>;
94
- searchFiles(query: string, options?: unknown): Promise<import("./types.ts").SdkGraphSearchResult[]>;
95
- searchSections(query: string, options?: unknown): Promise<import("./types.ts").SdkGraphSearchResult[]>;
96
- searchEntities(query: string, options?: unknown): Promise<import("./types.ts").SdkGraphSearchResult[]>;
97
- getNode(id: string): Promise<import("./types.ts").SdkGraphNode | null>;
98
- query(input: unknown): Promise<import("./types.ts").SdkGraphQueryResult>;
99
- buildContext(input: unknown): Promise<import("./types.ts").SdkContextPack>;
100
- parseDsl(source: string): Promise<import("./types.ts").SdkGraphDslParseResult>;
93
+ refresh(input?: unknown): Promise<import("./types.js").SdkGraphRefreshPayload>;
94
+ searchFiles(query: string, options?: unknown): Promise<import("./types.js").SdkGraphSearchResult[]>;
95
+ searchSections(query: string, options?: unknown): Promise<import("./types.js").SdkGraphSearchResult[]>;
96
+ searchEntities(query: string, options?: unknown): Promise<import("./types.js").SdkGraphSearchResult[]>;
97
+ getNode(id: string): Promise<import("./types.js").SdkGraphNode | null>;
98
+ query(input: unknown): Promise<import("./types.js").SdkGraphQueryResult>;
99
+ buildContext(input: unknown): Promise<import("./types.js").SdkContextPack>;
100
+ parseDsl(source: string): Promise<import("./types.js").SdkGraphDslParseResult>;
101
101
  }
102
102
  export declare class TreeDxRepositoryPort implements RepositoryPort {
103
103
  readonly client: TreeDxClient;
@@ -129,14 +129,14 @@ export declare class TreeDxRepositoryQueryPort implements RepositoryQueryPort {
129
129
  export declare class TreeDxGraphPort implements GraphPort {
130
130
  readonly adapter: TreeDxGraphAdapter;
131
131
  constructor(adapter: TreeDxGraphAdapter);
132
- refresh(input?: unknown): Promise<import("./types.ts").SdkGraphRefreshPayload>;
133
- searchFiles(query: string, options?: unknown): Promise<import("./types.ts").SdkGraphSearchResult[]>;
134
- searchSections(query: string, options?: unknown): Promise<import("./types.ts").SdkGraphSearchResult[]>;
135
- searchEntities(query: string, options?: unknown): Promise<import("./types.ts").SdkGraphSearchResult[]>;
136
- getNode(id: string, options?: unknown): Promise<import("./types.ts").SdkGraphNode | null>;
137
- query(input: unknown): Promise<import("./types.ts").SdkGraphQueryResult>;
138
- buildContext(input: unknown): Promise<import("./types.ts").SdkContextPack>;
139
- parseDsl(source: string): Promise<import("./types.ts").SdkGraphDslParseResult>;
132
+ refresh(input?: unknown): Promise<import("./types.js").SdkGraphRefreshPayload>;
133
+ searchFiles(query: string, options?: unknown): Promise<import("./types.js").SdkGraphSearchResult[]>;
134
+ searchSections(query: string, options?: unknown): Promise<import("./types.js").SdkGraphSearchResult[]>;
135
+ searchEntities(query: string, options?: unknown): Promise<import("./types.js").SdkGraphSearchResult[]>;
136
+ getNode(id: string, options?: unknown): Promise<import("./types.js").SdkGraphNode | null>;
137
+ query(input: unknown): Promise<import("./types.js").SdkGraphQueryResult>;
138
+ buildContext(input: unknown): Promise<import("./types.js").SdkContextPack>;
139
+ parseDsl(source: string): Promise<import("./types.js").SdkGraphDslParseResult>;
140
140
  }
141
141
  export declare class TreeDxRegistryPort implements RegistryPort {
142
142
  readonly client: TreeDxRegistryClient;
@@ -1,6 +1,6 @@
1
- import type { SdkContentEntry, SdkGetRequest, SdkModelRegistry, SdkSearchRequest } from '../sdk-types.ts';
2
- import { TreeDxClient } from './client.ts';
3
- import type { TreeDxRepositoryQueryRequest, TreeDxRepositoryQueryResult } from './types.ts';
1
+ import type { SdkContentEntry, SdkGetRequest, SdkModelRegistry, SdkSearchRequest } from '../sdk-types.js';
2
+ import { TreeDxClient } from './client.js';
3
+ import type { TreeDxRepositoryQueryRequest, TreeDxRepositoryQueryResult } from './types.js';
4
4
  export interface TreeDxQueryAdapterOptions {
5
5
  client: TreeDxClient;
6
6
  models: SdkModelRegistry;
@@ -1,5 +1,5 @@
1
- import { TreeDxClient } from './client.ts';
2
- import type { TreeDxClientOptions, TreeDxNode, TreeDxRepositoryPlacement } from './types.ts';
1
+ import { TreeDxClient } from './client.js';
2
+ import type { TreeDxClientOptions, TreeDxNode, TreeDxRepositoryPlacement } from './types.js';
3
3
  export interface TreeDxRegistryClientOptions extends TreeDxClientOptions {
4
4
  }
5
5
  export declare class TreeDxRegistryClient {
@@ -1,6 +1,6 @@
1
- import type { SdkContentEntry, SdkFilterCondition, SdkFollowRequest, SdkGetRequest, SdkModelDefinition, SdkModelRegistry, SdkMutationRequest, SdkPickRequest, SdkPickResult, SdkSearchRequest, SdkSortSpec, SdkUpdateRequest } from '../sdk-types.ts';
2
- import { TreeDxClient } from './client.ts';
3
- import type { TreeDxCommitResult } from './types.ts';
1
+ import type { SdkContentEntry, SdkFilterCondition, SdkFollowRequest, SdkGetRequest, SdkModelDefinition, SdkModelRegistry, SdkMutationRequest, SdkPickRequest, SdkPickResult, SdkSearchRequest, SdkSortSpec, SdkUpdateRequest } from '../sdk-types.js';
2
+ import { TreeDxClient } from './client.js';
3
+ import type { TreeDxCommitResult } from './types.js';
4
4
  export interface TreeDxRepositoryAdapterOptions {
5
5
  client: TreeDxClient;
6
6
  models: SdkModelRegistry;
@@ -20,7 +20,7 @@ export interface TreeDxContentMutationResult {
20
20
  export declare function resolveContentDir(definition: SdkModelDefinition, options: Pick<TreeDxRepositoryAdapterOptions, 'contentPathMap' | 'repoRoot'>): string;
21
21
  export declare function mapFilters(definition: SdkModelDefinition, filters?: SdkFilterCondition[]): {
22
22
  field: string;
23
- op: import("../sdk-types.ts").SdkFilterOperator;
23
+ op: import("../sdk-types.js").SdkFilterOperator;
24
24
  value: unknown;
25
25
  }[];
26
26
  export declare function mapSort(definition: SdkModelDefinition, sort?: SdkSortSpec[]): {
@@ -1,7 +1,7 @@
1
1
  import crypto from "node:crypto";
2
2
  import path from "node:path";
3
3
  import { resolveModelDefinition } from "../model-registry.js";
4
- import { serializeFrontmatterDocument } from "../frontmatter.js";
4
+ import { parseFrontmatterDocument, serializeFrontmatterDocument } from "../frontmatter.js";
5
5
  import {
6
6
  canonicalizeFrontmatter,
7
7
  normalizeFilterFields,
@@ -88,6 +88,13 @@ function titleFrom(definition, frontmatter) {
88
88
  const nameField = definition.fields.name ? readCanonicalFieldValue(definition, { frontmatter }, "name") : void 0;
89
89
  return typeof titleField === "string" ? titleField : typeof nameField === "string" ? nameField : void 0;
90
90
  }
91
+ function textFromTreeDxFile(file, keys) {
92
+ for (const key of keys) {
93
+ const value = file[key];
94
+ if (typeof value === "string" && value.trim()) return value;
95
+ }
96
+ return null;
97
+ }
91
98
  function entryFromTreeDxFile(definition, value, contentDir) {
92
99
  const file = isRecord(value) && isRecord(value.file) ? value.file : value;
93
100
  if (!isRecord(file)) {
@@ -98,8 +105,12 @@ function entryFromTreeDxFile(definition, value, contentDir) {
98
105
  });
99
106
  }
100
107
  const filePath = String(file.path ?? "");
101
- const frontmatter = isRecord(file.frontmatter) ? file.frontmatter : {};
102
- const body = typeof file.body === "string" ? file.body : typeof file.content === "string" ? file.content : "";
108
+ const rawDocument = textFromTreeDxFile(file, ["content", "source", "text"]);
109
+ const parsed = rawDocument ? parseFrontmatterDocument(rawDocument) : {
110
+ frontmatter: isRecord(file.frontmatter) ? file.frontmatter : {},
111
+ body: textFromTreeDxFile(file, ["body"]) ?? ""
112
+ };
113
+ const { frontmatter, body } = parsed;
103
114
  const slug = stripExtension(normalizeRepoPath(path.posix.relative(contentDir, filePath)));
104
115
  const created = frontmatter.created_at ?? frontmatter.createdAt ?? null;
105
116
  const updated = frontmatter.updated_at ?? frontmatter.updatedAt ?? null;
@@ -1,6 +1,6 @@
1
- import { TreeDxClient, type TreeDxClientOptions } from './client.ts';
2
- import { TreeDxFederatedClient } from './federated-client.ts';
3
- import { TreeDxRegistryClient, type TreeDxRegistryClientOptions } from './registry-client.ts';
1
+ import { TreeDxClient, type TreeDxClientOptions } from './client.js';
2
+ import { TreeDxFederatedClient } from './federated-client.js';
3
+ import { TreeDxRegistryClient, type TreeDxRegistryClientOptions } from './registry-client.js';
4
4
  export interface AgentSdkTreeDxOptions {
5
5
  enabled: boolean;
6
6
  client?: TreeDxClient | TreeDxClientOptions;
@@ -1,5 +1,5 @@
1
- import type { SdkContextPack, SdkContextPackRequest, SdkGraphDslParseResult, SdkGraphEdge, SdkGraphNode, SdkGraphQueryRequest, SdkGraphQueryResult, SdkGraphRefreshPayload, SdkGraphRefreshRequest, SdkGraphSearchOptions, SdkGraphSearchResult, SdkGraphTraversalResult } from '../sdk-types.ts';
2
- import type { components, operations, paths } from './generated/openapi-types.ts';
1
+ import type { SdkContextPack, SdkContextPackRequest, SdkGraphDslParseResult, SdkGraphEdge, SdkGraphNode, SdkGraphQueryRequest, SdkGraphQueryResult, SdkGraphRefreshPayload, SdkGraphRefreshRequest, SdkGraphSearchOptions, SdkGraphSearchResult, SdkGraphTraversalResult } from '../sdk-types.js';
2
+ import type { components, operations, paths } from './generated/openapi-types.js';
3
3
  export interface TreeDxActor {
4
4
  actorId: string;
5
5
  tenantId: string;
@@ -1,5 +1,5 @@
1
- import { TreeDxClient } from './client.ts';
2
- import type { TreeDxCommitRequest, TreeDxCommitResult, TreeDxCreateWorkspaceRequest, TreeDxDiff, TreeDxExecRequest, TreeDxExecResult, TreeDxFile, TreeDxFileMutationResult, TreeDxListTreeRequest, TreeDxPatchFileRequest, TreeDxReadFileRequest, TreeDxSearchRequest, TreeDxSearchResult, TreeDxStatus, TreeDxTreeEntry, TreeDxWorkspace, TreeDxWriteFileRequest, TreeDxDeleteFileRequest } from './types.ts';
1
+ import { TreeDxClient } from './client.js';
2
+ import type { TreeDxCommitRequest, TreeDxCommitResult, TreeDxCreateWorkspaceRequest, TreeDxDiff, TreeDxExecRequest, TreeDxExecResult, TreeDxFile, TreeDxFileMutationResult, TreeDxListTreeRequest, TreeDxPatchFileRequest, TreeDxReadFileRequest, TreeDxSearchRequest, TreeDxSearchResult, TreeDxStatus, TreeDxTreeEntry, TreeDxWorkspace, TreeDxWriteFileRequest, TreeDxDeleteFileRequest } from './types.js';
3
3
  export interface TreeDxWorkspaceAdapterOptions {
4
4
  client: TreeDxClient;
5
5
  repoId: string;
@@ -1,7 +1,7 @@
1
- import { TreeDxApiError, TreeDxClient } from './treedx-client.ts';
2
- import { ContentStore } from './content-store.ts';
3
- import { ContentGraphRuntime } from './graph.ts';
4
- import type { SdkContentEntry, SdkContextPackRequest, SdkFollowRequest, SdkGetRequest, SdkGraphDslParseResult, SdkGraphQueryRequest, SdkGraphRefreshRequest, SdkModelRegistry, SdkMutationRequest, SdkPickRequest, SdkPickResult, SdkSearchRequest, SdkUpdateRequest } from './sdk-types.ts';
1
+ import { TreeDxApiError, TreeDxClient } from './treedx-client.js';
2
+ import { ContentStore } from './content-store.js';
3
+ import { ContentGraphRuntime } from './graph.js';
4
+ import type { SdkContentEntry, SdkContextPackRequest, SdkFollowRequest, SdkGetRequest, SdkGraphDslParseResult, SdkGraphQueryRequest, SdkGraphRefreshRequest, SdkModelRegistry, SdkMutationRequest, SdkPickRequest, SdkPickResult, SdkSearchRequest, SdkUpdateRequest } from './sdk-types.js';
5
5
  export interface TreeSeedTreeDxRepositoryHint {
6
6
  name?: string;
7
7
  owner?: string;
@@ -27,6 +27,7 @@ export interface AgentSdkTreeDxOptions {
27
27
  }
28
28
  export interface AgentSdkContentRepositoryOptions {
29
29
  adapter?: 'treedx' | 'local';
30
+ allowLocalFallback?: boolean;
30
31
  }
31
32
  export interface ResolvedTreeDxOptions {
32
33
  baseUrl: string;
@@ -105,11 +106,11 @@ export declare class LocalContentBackend implements ContentBackend {
105
106
  pick(request: SdkPickRequest): Promise<SdkPickResult<SdkContentEntry>>;
106
107
  create(request: SdkMutationRequest): Promise<{
107
108
  item: SdkContentEntry;
108
- git: import("./git-runtime.ts").GitMutationResult;
109
+ git: import("./git-runtime.js").GitMutationResult;
109
110
  }>;
110
111
  update(request: SdkUpdateRequest): Promise<{
111
112
  item: SdkContentEntry;
112
- git: import("./git-runtime.ts").GitMutationResult;
113
+ git: import("./git-runtime.js").GitMutationResult;
113
114
  }>;
114
115
  }
115
116
  export declare class MissingTreeDxContentBackend implements ContentBackend {
@@ -157,7 +158,7 @@ export declare class TreeDxContentBackend implements ContentBackend {
157
158
  item: {
158
159
  id: string;
159
160
  slug: string;
160
- model: import("./sdk-types.ts").SdkModelName;
161
+ model: import("./sdk-types.js").SdkModelName;
161
162
  title: string | undefined;
162
163
  path: string;
163
164
  body: string;
@@ -177,7 +178,7 @@ export declare class TreeDxContentBackend implements ContentBackend {
177
178
  updatedAt: string | null;
178
179
  id: string;
179
180
  slug: string;
180
- model: import("./sdk-types.ts").SdkModelName;
181
+ model: import("./sdk-types.js").SdkModelName;
181
182
  path: string;
182
183
  createdAt: string | null;
183
184
  };
@@ -187,9 +188,9 @@ export declare class TreeDxContentBackend implements ContentBackend {
187
188
  export declare class LocalGraphBackend implements GraphBackend {
188
189
  private readonly runtime;
189
190
  constructor(runtime: ContentGraphRuntime);
190
- refresh(request?: SdkGraphRefreshRequest): Promise<import("./sdk-types.ts").SdkGraphRefreshPayload>;
191
- queryGraph(request: SdkGraphQueryRequest): Promise<import("./sdk-types.ts").SdkGraphQueryResult>;
192
- buildContextPack(request: SdkContextPackRequest): Promise<import("./sdk-types.ts").SdkContextPack>;
191
+ refresh(request?: SdkGraphRefreshRequest): Promise<import("./sdk-types.js").SdkGraphRefreshPayload>;
192
+ queryGraph(request: SdkGraphQueryRequest): Promise<import("./sdk-types.js").SdkGraphQueryResult>;
193
+ buildContextPack(request: SdkContextPackRequest): Promise<import("./sdk-types.js").SdkContextPack>;
193
194
  parseGraphDsl(source: string): Promise<SdkGraphDslParseResult>;
194
195
  }
195
196
  export declare class TreeDxGraphBackend implements GraphBackend {
@@ -198,6 +199,7 @@ export declare class TreeDxGraphBackend implements GraphBackend {
198
199
  client: TreeDxClient;
199
200
  resolver: TreeDxPortfolioResolver;
200
201
  localRuntime: ContentGraphRuntime;
202
+ directRepoId?: string;
201
203
  ref?: string;
202
204
  });
203
205
  refresh(request?: SdkGraphRefreshRequest): Promise<unknown[]>;
@@ -13,7 +13,7 @@ import {
13
13
  } from "./sdk-fields.js";
14
14
  import { assertExpectedVersion } from "./sdk-version.js";
15
15
  class TreeDxContentRepositoryConfigError extends Error {
16
- constructor(message = 'TreeDX content repository is not configured. Set TREESEED_TREEDX_BASE_URL or pass treeDx.baseUrl, or select contentRepository.adapter = "local".') {
16
+ constructor(message = "TreeDX content repository is required. Configure TREESEED_TREEDX_BASE_URL or TREESEED_TREEDX_URL for content model access.") {
17
17
  super(message);
18
18
  this.name = "TreeDxContentRepositoryConfigError";
19
19
  }
@@ -59,12 +59,23 @@ function segment(value) {
59
59
  function isMarkdownPath(value) {
60
60
  return /\.(md|mdx)$/i.test(value);
61
61
  }
62
+ function isGraphNotReadyError(error) {
63
+ return error instanceof TreeDxApiError && error.code === "graph_not_ready";
64
+ }
62
65
  function inferSlug(filePath, pathPattern) {
63
66
  const normalizedPath = normalizePathPattern(filePath);
64
67
  const root = normalizePathPattern(pathPattern).replace(/\*\*.*$/u, "").replace(/\/?$/u, "/");
65
68
  const withoutRoot = normalizedPath.startsWith(root) ? normalizedPath.slice(root.length) : normalizedPath;
66
69
  return withoutRoot.replace(/\.(md|mdx)$/i, "");
67
70
  }
71
+ function pathMatchesPattern(filePath, pathPattern) {
72
+ const normalizedPath = normalizePathPattern(filePath);
73
+ const normalizedPattern = normalizePathPattern(pathPattern);
74
+ const wildcardIndex = normalizedPattern.indexOf("**");
75
+ const root = (wildcardIndex >= 0 ? normalizedPattern.slice(0, wildcardIndex) : normalizedPattern).replace(/\/+$/u, "");
76
+ if (!root) return true;
77
+ return normalizedPath === root || normalizedPath.startsWith(`${root}/`);
78
+ }
68
79
  function normalizePathList(value) {
69
80
  if (Array.isArray(value)) {
70
81
  return value.flatMap((entry) => {
@@ -79,7 +90,7 @@ function normalizePathList(value) {
79
90
  }
80
91
  if (value && typeof value === "object") {
81
92
  const record = value;
82
- for (const key of ["paths", "items", "files", "results", "data"]) {
93
+ for (const key of ["paths", "items", "files", "entries", "results", "data"]) {
83
94
  const normalized = normalizePathList(record[key]);
84
95
  if (normalized.length > 0) return normalized;
85
96
  }
@@ -90,7 +101,7 @@ function extractTextPayload(value) {
90
101
  if (typeof value === "string") return value;
91
102
  if (value && typeof value === "object") {
92
103
  const record = value;
93
- for (const key of ["content", "body", "text", "source", "data"]) {
104
+ for (const key of ["content", "body", "text", "source", "file", "data"]) {
94
105
  const candidate = record[key];
95
106
  if (typeof candidate === "string") return candidate;
96
107
  if (candidate && typeof candidate === "object") {
@@ -101,38 +112,6 @@ function extractTextPayload(value) {
101
112
  }
102
113
  return "";
103
114
  }
104
- function normalizeFilesPayload(value) {
105
- if (Array.isArray(value)) {
106
- return value.filter((entry) => Boolean(entry && typeof entry === "object" && !Array.isArray(entry)));
107
- }
108
- if (value && typeof value === "object") {
109
- const record = value;
110
- for (const key of ["results", "files", "items", "data"]) {
111
- const normalized = normalizeFilesPayload(record[key]);
112
- if (normalized.length > 0) return normalized;
113
- }
114
- }
115
- return [];
116
- }
117
- function entryFromTreeDxPayload(definition, file, contentRoot) {
118
- const filePath = stringValue(file.path) ?? stringValue(file.file) ?? stringValue(file.key) ?? "";
119
- const parsed = file.frontmatter && typeof file.frontmatter === "object" ? {
120
- frontmatter: file.frontmatter,
121
- body: typeof file.body === "string" ? file.body : extractTextPayload(file)
122
- } : parseFrontmatterDocument(extractTextPayload(file));
123
- const slug = inferSlug(filePath, contentRoot);
124
- return {
125
- id: slug,
126
- slug,
127
- model: definition.name,
128
- title: titleForEntry(definition, parsed.frontmatter),
129
- path: filePath,
130
- body: parsed.body,
131
- frontmatter: parsed.frontmatter,
132
- createdAt: dateForEntry(definition, parsed.frontmatter, "created_at"),
133
- updatedAt: dateForEntry(definition, parsed.frontmatter, "updated_at")
134
- };
135
- }
136
115
  function entryMatchesIdentity(entry, request) {
137
116
  return [request.id, request.slug, request.key].filter(Boolean).includes(entry.id) || [request.id, request.slug, request.key].filter(Boolean).includes(entry.slug);
138
117
  }
@@ -175,12 +154,12 @@ function mutationPath(definition, repoRoot, slug) {
175
154
  return `${relative.replace(/\/$/u, "")}/${slug}${extension}`;
176
155
  }
177
156
  function resolveTreeDxOptions(input) {
178
- const baseUrl = stringValue(input?.baseUrl) ?? stringValue(process.env.TREESEED_TREEDX_BASE_URL);
157
+ const baseUrl = stringValue(input?.baseUrl) ?? stringValue(process.env.TREESEED_TREEDX_BASE_URL) ?? stringValue(process.env.TREESEED_TREEDX_URL);
179
158
  if (!baseUrl) return null;
180
159
  return {
181
160
  baseUrl,
182
161
  token: stringValue(input?.token) ?? stringValue(process.env.TREESEED_TREEDX_TOKEN),
183
- repoId: stringValue(input?.repoId),
162
+ repoId: stringValue(input?.repoId) ?? stringValue(process.env.TREESEED_TREEDX_REPO_ID),
184
163
  ref: stringValue(input?.ref) ?? stringValue(process.env.TREESEED_TREEDX_REF),
185
164
  workspaceId: stringValue(input?.workspaceId) ?? stringValue(process.env.TREESEED_TREEDX_WORKSPACE_ID),
186
165
  contentPathMap: input?.contentPathMap,
@@ -322,9 +301,9 @@ class TreeDxContentBackend {
322
301
  ref: candidate.ref,
323
302
  path: filePath
324
303
  }));
325
- const parsed = parseFrontmatterDocument(extractTextPayload(payload));
326
304
  const payloadRecord = payload && typeof payload === "object" ? payload : {};
327
305
  const payloadFile = payloadRecord.file && typeof payloadRecord.file === "object" ? payloadRecord.file : {};
306
+ const parsed = parseFrontmatterDocument(extractTextPayload(payloadFile) || extractTextPayload(payload));
328
307
  const resolvedPath = stringValue(payloadFile.path) ?? stringValue(payloadRecord.path) ?? filePath;
329
308
  const slug = inferSlug(resolvedPath, candidate.path);
330
309
  return {
@@ -348,7 +327,7 @@ class TreeDxContentBackend {
348
327
  ref: candidate.ref,
349
328
  path: candidate.path
350
329
  }));
351
- const paths = normalizePathList(listPayload).filter(isMarkdownPath);
330
+ const paths = normalizePathList(listPayload).filter((filePath) => pathMatchesPattern(filePath, candidate.path)).filter(isMarkdownPath);
352
331
  return await Promise.all(paths.map((filePath) => this.readEntry(definition, candidate, filePath)));
353
332
  }))).flat();
354
333
  const deduped = /* @__PURE__ */ new Map();
@@ -388,17 +367,10 @@ class TreeDxContentBackend {
388
367
  async search(request) {
389
368
  const definition = this.definition(request.model);
390
369
  if (this.options.directRepoId) {
391
- const rule = this.pathRule(definition);
392
- const payload = await this.options.client.query.searchFiles(this.options.directRepoId, compactObject({
393
- ref: this.options.ref,
394
- paths: rule.paths.map((path2) => `${path2.replace(/\/$/u, "")}/**`),
395
- query: "",
396
- limit: request.limit,
397
- includeBody: true,
398
- includeFrontmatter: true
399
- }));
400
- const results = normalizeFilesPayload(payload);
401
- return results.map((file) => entryFromTreeDxPayload(definition, file, rule.paths[0] ?? ""));
370
+ const items2 = await this.list(definition.name);
371
+ const filtered2 = applyFilters(items2, normalizeFilterFields(definition, request.filters), definition);
372
+ const sorted2 = applySort(filtered2, normalizeSortFields(definition, request.sort), definition);
373
+ return sorted2.slice(0, request.limit ?? sorted2.length);
402
374
  }
403
375
  const items = await this.list(definition.name);
404
376
  const filtered = applyFilters(items, normalizeFilterFields(definition, request.filters), definition);
@@ -580,6 +552,16 @@ class TreeDxGraphBackend {
580
552
  });
581
553
  }
582
554
  async queryGraph(request) {
555
+ if (this.options.directRepoId) {
556
+ return this.options.client.request({
557
+ method: "POST",
558
+ path: `/api/v1/repos/${segment(this.options.directRepoId)}/graph/query`,
559
+ body: compactObject({
560
+ ...request,
561
+ ref: this.options.ref
562
+ })
563
+ });
564
+ }
583
565
  return this.options.client.federation.graphQuery({
584
566
  ...request,
585
567
  repoIds: await this.repoIds(),
@@ -587,6 +569,26 @@ class TreeDxGraphBackend {
587
569
  });
588
570
  }
589
571
  async buildContextPack(request) {
572
+ if (this.options.directRepoId) {
573
+ const build = () => this.options.client.request({
574
+ method: "POST",
575
+ path: `/api/v1/repos/${segment(this.options.directRepoId)}/context/build`,
576
+ body: compactObject({
577
+ ...request,
578
+ ref: this.options.ref
579
+ })
580
+ });
581
+ try {
582
+ return await build();
583
+ } catch (error) {
584
+ if (!isGraphNotReadyError(error)) throw error;
585
+ await this.options.client.graph.refresh(this.options.directRepoId, compactObject({
586
+ ref: this.options.ref,
587
+ paths: ["**"]
588
+ }));
589
+ return await build();
590
+ }
591
+ }
590
592
  return this.options.client.federation.contextBuild({
591
593
  ...request,
592
594
  repoIds: await this.repoIds(),
@@ -48,11 +48,14 @@ export declare class TreeDxClient {
48
48
  readonly federation: FederationAdapter;
49
49
  readonly exec: ExecAdapter;
50
50
  constructor(config: TreeDxClientConfig);
51
+ request<T = unknown>(request: TreeDxRequest): Promise<T>;
51
52
  }
52
53
  declare class RepositoriesAdapter {
53
54
  private readonly transport;
54
55
  constructor(transport: Transport);
55
56
  list(): Promise<unknown>;
57
+ get(repoId: string): Promise<unknown>;
58
+ register(body: unknown): Promise<unknown>;
56
59
  }
57
60
  declare class QueryAdapter {
58
61
  private readonly transport;
@@ -102,6 +102,9 @@ class TreeDxClient {
102
102
  graph;
103
103
  federation;
104
104
  exec;
105
+ request(request) {
106
+ return requestData(this.transport, request);
107
+ }
105
108
  }
106
109
  class RepositoriesAdapter {
107
110
  constructor(transport) {
@@ -111,6 +114,12 @@ class RepositoriesAdapter {
111
114
  list() {
112
115
  return requestData(this.transport, { method: "GET", path: "/api/v1/repos" });
113
116
  }
117
+ get(repoId) {
118
+ return requestData(this.transport, { method: "GET", path: `/api/v1/repos/${segment(repoId)}` });
119
+ }
120
+ register(body) {
121
+ return requestData(this.transport, { method: "POST", path: "/api/v1/repos/register", body });
122
+ }
114
123
  }
115
124
  class QueryAdapter {
116
125
  constructor(transport) {
@@ -124,7 +133,7 @@ class QueryAdapter {
124
133
  return requestData(this.transport, { method: "POST", path: `/api/v1/repos/${segment(repoId)}/paths/list`, body });
125
134
  }
126
135
  searchFiles(repoId, body) {
127
- return requestData(this.transport, { method: "POST", path: `/api/v1/repos/${segment(repoId)}/search/files`, body });
136
+ return requestData(this.transport, { method: "POST", path: `/api/v1/repos/${segment(repoId)}/files/search`, body });
128
137
  }
129
138
  }
130
139
  class FilesAdapter {
@@ -1,7 +1,6 @@
1
1
  services:
2
2
  mailpit:
3
3
  image: axllent/mailpit:latest
4
- container_name: treeseed_mailpit
5
4
  ports:
6
- - "1025:1025"
7
- - "8025:8025"
5
+ - "${TREESEED_MAILPIT_SMTP_BIND:-127.0.0.1}:${TREESEED_MAILPIT_SMTP_PORT:-1025}:1025"
6
+ - "${TREESEED_MAILPIT_UI_BIND:-127.0.0.1}:${TREESEED_MAILPIT_UI_PORT:-8025}:8025"