@tangle-network/agent-app 0.45.54 → 0.45.55

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 (480) hide show
  1. package/README.md +1 -1
  2. package/dist/alerting/index.d.ts +5 -175
  3. package/dist/alerting/slack.d.ts +176 -0
  4. package/dist/app-auth/index.d.ts +14 -17
  5. package/dist/assets/index.d.ts +2 -504
  6. package/dist/assets/schema.d.ts +264 -0
  7. package/dist/assets/types.d.ts +237 -0
  8. package/dist/assistant/AssistantDock.d.ts +56 -0
  9. package/dist/assistant/AssistantHistory.d.ts +41 -0
  10. package/dist/assistant/AssistantPanel.d.ts +84 -0
  11. package/dist/assistant/ProposalCard.d.ts +41 -0
  12. package/dist/assistant/ResizeHandle.d.ts +19 -0
  13. package/dist/assistant/client-context.d.ts +20 -0
  14. package/dist/assistant/client.d.ts +117 -0
  15. package/dist/assistant/index.d.ts +19 -848
  16. package/dist/assistant/launcher.d.ts +23 -0
  17. package/dist/assistant/persistence.d.ts +26 -0
  18. package/dist/assistant/presentation.d.ts +99 -0
  19. package/dist/assistant/provider-label.d.ts +7 -0
  20. package/dist/assistant/reducer.d.ts +130 -0
  21. package/dist/assistant/sse.d.ts +24 -0
  22. package/dist/assistant/time-ago.d.ts +6 -0
  23. package/dist/assistant/transcript.d.ts +97 -0
  24. package/dist/assistant/types.d.ts +291 -0
  25. package/dist/assistant/use-stick-to-bottom.d.ts +28 -0
  26. package/dist/assistant/useAssistantChat.d.ts +63 -0
  27. package/dist/assistant/useAssistantModels.d.ts +22 -0
  28. package/dist/assistant/useAssistantThreads.d.ts +47 -0
  29. package/dist/assistant/usePanelPrefs.d.ts +55 -0
  30. package/dist/billing/index.d.ts +19 -21
  31. package/dist/brand/index.d.ts +16 -10
  32. package/dist/brand-extraction/extract.d.ts +34 -0
  33. package/dist/brand-extraction/index.d.ts +12 -214
  34. package/dist/brand-extraction/map.d.ts +58 -0
  35. package/dist/brand-extraction/types.d.ts +119 -0
  36. package/dist/catalog/index.d.ts +11 -101
  37. package/dist/chat-react/composer-mode-controls.d.ts +14 -0
  38. package/dist/chat-react/entry-composer.d.ts +92 -0
  39. package/dist/chat-react/index.d.ts +22 -118
  40. package/dist/chat-react/types.d.ts +11 -0
  41. package/dist/chat-routes/attachment-store.d.ts +84 -0
  42. package/dist/chat-routes/attachment-upload.d.ts +84 -0
  43. package/dist/chat-routes/attachment-validation.d.ts +95 -0
  44. package/dist/chat-routes/binary-sniff.d.ts +45 -0
  45. package/dist/chat-routes/completed-sandbox-turn.d.ts +25 -0
  46. package/dist/chat-routes/detached-turn.d.ts +197 -0
  47. package/dist/chat-routes/dispatch-parts.d.ts +101 -0
  48. package/dist/chat-routes/draft-persistence.d.ts +189 -0
  49. package/dist/chat-routes/durable-projection.d.ts +18 -0
  50. package/dist/chat-routes/file-index.d.ts +115 -0
  51. package/dist/chat-routes/index.d.ts +25 -1840
  52. package/dist/chat-routes/model-failover-stream.d.ts +206 -0
  53. package/dist/chat-routes/promote-file-part.d.ts +84 -0
  54. package/dist/chat-routes/resolve-attachments.d.ts +72 -0
  55. package/dist/chat-routes/sandbox-producer.d.ts +146 -0
  56. package/dist/chat-routes/sandbox-turn-usage.d.ts +4 -0
  57. package/dist/{stale-turn-lock-DucQzvXu.d.ts → chat-routes/stale-turn-lock.d.ts} +7 -9
  58. package/dist/chat-routes/turn-routes.d.ts +540 -0
  59. package/dist/chat-routes/upload.d.ts +84 -0
  60. package/dist/{wire-DOZ-O6hD.d.ts → chat-routes/wire.d.ts} +41 -44
  61. package/dist/chat-store/core.d.ts +19 -0
  62. package/dist/chat-store/index.d.ts +22 -322
  63. package/dist/{parts-BqIHMdyu.d.ts → chat-store/parts.d.ts} +49 -47
  64. package/dist/chat-store/schema.d.ts +157 -0
  65. package/dist/chat-store/store.d.ts +177 -0
  66. package/dist/config/index.d.ts +13 -18
  67. package/dist/crypto/index.d.ts +10 -12
  68. package/dist/crypto/web-token.d.ts +22 -0
  69. package/dist/design-canvas/apply.d.ts +70 -0
  70. package/dist/design-canvas/drizzle-store.d.ts +29 -0
  71. package/dist/design-canvas/drizzle.d.ts +7 -575
  72. package/dist/{export-presets-mgVulRaV.d.ts → design-canvas/export-presets.d.ts} +18 -22
  73. package/dist/design-canvas/index.d.ts +22 -268
  74. package/dist/design-canvas/mcp-entry.d.ts +15 -0
  75. package/dist/design-canvas/mcp-handler.d.ts +34 -0
  76. package/dist/design-canvas/mcp-tools.d.ts +30 -0
  77. package/dist/{model-DnfO_PdJ.d.ts → design-canvas/model.d.ts} +33 -35
  78. package/dist/{operations-ByJ6yXOW.d.ts → design-canvas/operations.d.ts} +21 -25
  79. package/dist/design-canvas/schema.d.ts +558 -0
  80. package/dist/{store-CqfDtnPQ.d.ts → design-canvas/store.d.ts} +8 -12
  81. package/dist/design-canvas/templates.d.ts +72 -0
  82. package/dist/design-canvas/validate.d.ts +32 -0
  83. package/dist/design-canvas-react/components/BleedTrimOverlay.d.ts +22 -0
  84. package/dist/design-canvas-react/components/BrandKnot.d.ts +11 -0
  85. package/dist/design-canvas-react/components/CanvasEmptyState.d.ts +32 -0
  86. package/dist/design-canvas-react/components/CanvasInsertPanel.d.ts +53 -0
  87. package/dist/{lazy-DrkVyDpe.d.ts → design-canvas-react/components/DesignCanvas.d.ts} +27 -20
  88. package/dist/design-canvas-react/components/DesignCanvasEditor.d.ts +23 -0
  89. package/dist/design-canvas-react/components/ElementNode.d.ts +51 -0
  90. package/dist/design-canvas-react/components/ExportControl.d.ts +21 -0
  91. package/dist/design-canvas-react/components/GridLayer.d.ts +47 -0
  92. package/dist/design-canvas-react/components/InlineTextEditor.d.ts +25 -0
  93. package/dist/design-canvas-react/components/LayersPanel.d.ts +20 -0
  94. package/dist/design-canvas-react/components/PagesStrip.d.ts +34 -0
  95. package/dist/design-canvas-react/components/Rulers.d.ts +31 -0
  96. package/dist/design-canvas-react/components/SelectionLayer.d.ts +51 -0
  97. package/dist/design-canvas-react/components/SnapGuidesOverlay.d.ts +25 -0
  98. package/dist/design-canvas-react/components/Toolbar.d.ts +64 -0
  99. package/dist/design-canvas-react/components/Workspace.d.ts +92 -0
  100. package/dist/design-canvas-react/components/ZoomControls.d.ts +14 -0
  101. package/dist/design-canvas-react/components/glyphs.d.ts +46 -0
  102. package/dist/design-canvas-react/components/icon-button.d.ts +22 -0
  103. package/dist/design-canvas-react/components/index.d.ts +27 -0
  104. package/dist/design-canvas-react/components/layer-tree.d.ts +34 -0
  105. package/dist/design-canvas-react/components/ruler-math.d.ts +78 -0
  106. package/dist/design-canvas-react/components/transform-math.d.ts +168 -0
  107. package/dist/{command-stack-TNPWJCzW.d.ts → design-canvas-react/contracts.d.ts} +16 -63
  108. package/dist/design-canvas-react/engine/command-stack.d.ts +43 -0
  109. package/dist/design-canvas-react/engine/commands.d.ts +154 -0
  110. package/dist/design-canvas-react/engine/selection.d.ts +48 -0
  111. package/dist/design-canvas-react/engine/snap.d.ts +24 -0
  112. package/dist/design-canvas-react/engine/zoom-pan.d.ts +18 -0
  113. package/dist/design-canvas-react/engine.d.ts +21 -399
  114. package/dist/design-canvas-react/export-math.d.ts +104 -0
  115. package/dist/design-canvas-react/export.d.ts +89 -0
  116. package/dist/design-canvas-react/index.d.ts +16 -586
  117. package/dist/design-canvas-react/insert-builders.d.ts +61 -0
  118. package/dist/design-canvas-react/lazy.d.ts +21 -6
  119. package/dist/documents/docx.d.ts +50 -0
  120. package/dist/documents/extract.d.ts +87 -0
  121. package/dist/documents/index.d.ts +26 -232
  122. package/dist/documents/media-type.d.ts +33 -0
  123. package/dist/documents/pdf-inspector.d.ts +5 -9
  124. package/dist/{types-DrBidf3O.d.ts → documents/types.d.ts} +13 -15
  125. package/dist/documents/zip.d.ts +56 -0
  126. package/dist/eval/calibration.d.ts +106 -0
  127. package/dist/eval/index.d.ts +8 -116
  128. package/dist/eval-campaign/index.d.ts +11 -12
  129. package/dist/{trust-gate-Dcm5xSva.d.ts → eval-campaign/trust-gate.d.ts} +5 -9
  130. package/dist/forms/blank.d.ts +48 -0
  131. package/dist/forms/fill.d.ts +105 -0
  132. package/dist/forms/index.d.ts +58 -332
  133. package/dist/forms/registry.d.ts +115 -0
  134. package/dist/forms/verify.d.ts +58 -0
  135. package/dist/harness/index.d.ts +21 -19
  136. package/dist/intakes/api.d.ts +5 -11
  137. package/dist/{completion-CvcNUz07.d.ts → intakes/completion.d.ts} +7 -11
  138. package/dist/intakes/context-sufficiency.d.ts +113 -0
  139. package/dist/intakes/drizzle/schema.d.ts +338 -0
  140. package/dist/intakes/drizzle/store.d.ts +75 -0
  141. package/dist/intakes/drizzle.d.ts +12 -391
  142. package/dist/intakes/index.d.ts +23 -113
  143. package/dist/{model-C8U0HZxL.d.ts → intakes/model.d.ts} +15 -17
  144. package/dist/intakes-react/components/BrandMark.d.ts +10 -0
  145. package/dist/intakes-react/components/IntakeInterview.d.ts +15 -0
  146. package/dist/intakes-react/components/index.d.ts +1 -0
  147. package/dist/intakes-react/contracts.d.ts +42 -0
  148. package/dist/intakes-react/index.d.ts +12 -47
  149. package/dist/intakes-react/lazy.d.ts +9 -8
  150. package/dist/integrations/index.d.ts +10 -12
  151. package/dist/{contract-OxG_jVMx.d.ts → interactions/contract.d.ts} +40 -42
  152. package/dist/interactions/index.d.ts +16 -256
  153. package/dist/interactions/route.d.ts +151 -0
  154. package/dist/interactions/sidecar.d.ts +100 -0
  155. package/dist/knowledge/index.d.ts +7 -11
  156. package/dist/knowledge-loop/index.d.ts +13 -20
  157. package/dist/legibility/checks/empty-state.d.ts +59 -0
  158. package/dist/legibility/checks/reachability.d.ts +103 -0
  159. package/dist/legibility/checks/silent-failure.d.ts +57 -0
  160. package/dist/legibility/checks/success.d.ts +38 -0
  161. package/dist/legibility/checks/vocabulary.d.ts +65 -0
  162. package/dist/legibility/cli-args.d.ts +30 -0
  163. package/dist/legibility/cli.d.ts +25 -0
  164. package/dist/legibility/index.d.ts +10 -530
  165. package/dist/legibility/report.d.ts +22 -0
  166. package/dist/legibility/scan.d.ts +29 -0
  167. package/dist/legibility/source.d.ts +132 -0
  168. package/dist/legibility/suppress.d.ts +36 -0
  169. package/dist/legibility/types.d.ts +168 -0
  170. package/dist/legibility/walk-sources.d.ts +21 -0
  171. package/dist/{agent-activity-C8ZG0F0M.d.ts → missions/agent-activity.d.ts} +3 -5
  172. package/dist/missions/engine.d.ts +251 -0
  173. package/dist/missions/events.d.ts +195 -0
  174. package/dist/missions/index.d.ts +12 -765
  175. package/dist/missions/plan-parse.d.ts +50 -0
  176. package/dist/missions/service.d.ts +265 -0
  177. package/dist/{failover-D-3UXXTb.d.ts → model-resolution/failover.d.ts} +10 -12
  178. package/dist/model-resolution/index.d.ts +15 -18
  179. package/dist/object-store/index.d.ts +15 -17
  180. package/dist/openui/action.d.ts +54 -0
  181. package/dist/openui/authoring.d.ts +25 -0
  182. package/dist/openui/index.d.ts +24 -206
  183. package/dist/openui/route.d.ts +124 -0
  184. package/dist/openui/segments.d.ts +71 -0
  185. package/dist/openui/values.d.ts +82 -0
  186. package/dist/openui-react/index.d.ts +9 -13
  187. package/dist/peer-floors/check.d.ts +9 -190
  188. package/dist/peer-floors/cli.d.ts +2 -3
  189. package/dist/peer-floors/dependency-source.d.ts +178 -0
  190. package/dist/plans/index.d.ts +13 -14
  191. package/dist/{billing-BuNlaKlE.d.ts → platform/billing.d.ts} +28 -32
  192. package/dist/platform/guards.d.ts +79 -0
  193. package/dist/platform/hub.d.ts +107 -0
  194. package/dist/platform/index.d.ts +7 -112
  195. package/dist/{sso-Cm00S61u.d.ts → platform/sso.d.ts} +15 -97
  196. package/dist/preflight/cli.d.ts +3 -6
  197. package/dist/preflight/index.d.ts +16 -18
  198. package/dist/preset-cloudflare/headers.d.ts +12 -0
  199. package/dist/preset-cloudflare/index.d.ts +22 -74
  200. package/dist/preset-cloudflare/workflow-instance.d.ts +35 -0
  201. package/dist/profile/budget.d.ts +72 -0
  202. package/dist/profile/fingerprint.d.ts +65 -0
  203. package/dist/profile/index.d.ts +27 -19
  204. package/dist/prompt/index.d.ts +3 -5
  205. package/dist/record/drizzle/schema.d.ts +488 -0
  206. package/dist/record/drizzle/store.d.ts +224 -0
  207. package/dist/record/drizzle.d.ts +10 -679
  208. package/dist/record/fold.d.ts +99 -0
  209. package/dist/record/index.d.ts +13 -13
  210. package/dist/{fold-DACU7gtf.d.ts → record/model.d.ts} +22 -124
  211. package/dist/record/ulid.d.ts +12 -0
  212. package/dist/redact/index.d.ts +14 -16
  213. package/dist/run/index.d.ts +11 -16
  214. package/dist/runtime/agent.d.ts +23 -0
  215. package/dist/runtime/certified-delivery.d.ts +57 -0
  216. package/dist/runtime/index.d.ts +17 -367
  217. package/dist/runtime/loop.d.ts +58 -0
  218. package/dist/runtime/model-catalog.d.ts +103 -0
  219. package/dist/{model-CdCDfBA9.d.ts → runtime/model.d.ts} +25 -27
  220. package/dist/runtime/openai-stream.d.ts +126 -0
  221. package/dist/runtime/surface-profile.d.ts +115 -0
  222. package/dist/sandbox/binary-read.d.ts +63 -0
  223. package/dist/sandbox/diagnostics.d.ts +69 -0
  224. package/dist/sandbox/index.d.ts +103 -1085
  225. package/dist/sandbox/model.d.ts +179 -0
  226. package/dist/sandbox/outcome.d.ts +10 -0
  227. package/dist/sandbox/prewarm-claim-d1.d.ts +80 -0
  228. package/dist/sandbox/prewarm.d.ts +193 -0
  229. package/dist/sandbox/recovery.d.ts +216 -0
  230. package/dist/sandbox/terminal-connection.d.ts +145 -0
  231. package/dist/sandbox/workspace-sandbox-manager.d.ts +44 -0
  232. package/dist/sequences/apply.d.ts +54 -0
  233. package/dist/sequences/captions.d.ts +91 -0
  234. package/dist/sequences/drizzle-store.d.ts +36 -0
  235. package/dist/sequences/drizzle.d.ts +7 -1252
  236. package/dist/sequences/exports.d.ts +138 -0
  237. package/dist/sequences/index.d.ts +19 -340
  238. package/dist/sequences/mcp-entry.d.ts +15 -0
  239. package/dist/sequences/mcp-handler.d.ts +39 -0
  240. package/dist/sequences/mcp-tools.d.ts +47 -0
  241. package/dist/{store-B7LLlk9p.d.ts → sequences/model.d.ts} +26 -110
  242. package/dist/sequences/operations.d.ts +126 -0
  243. package/dist/sequences/schema.d.ts +1231 -0
  244. package/dist/sequences/store.d.ts +81 -0
  245. package/dist/sequences/validate.d.ts +98 -0
  246. package/dist/sequences-react/components/BrandMark.d.ts +10 -0
  247. package/dist/sequences-react/components/PreviewCanvas.d.ts +26 -0
  248. package/dist/sequences-react/components/SnapIndicatorLine.d.ts +11 -0
  249. package/dist/sequences-react/components/TimelineClipChip.d.ts +80 -0
  250. package/dist/sequences-react/components/TimelineEditor.d.ts +44 -0
  251. package/dist/sequences-react/components/TimelineEmptyState.d.ts +21 -0
  252. package/dist/sequences-react/components/TimelineGhostLanes.d.ts +14 -0
  253. package/dist/sequences-react/components/TimelinePlayhead.d.ts +11 -0
  254. package/dist/sequences-react/components/TimelineRuler.d.ts +16 -0
  255. package/dist/sequences-react/components/TimelineSmallScreenGate.d.ts +12 -0
  256. package/dist/sequences-react/components/TimelineTrackRow.d.ts +51 -0
  257. package/dist/sequences-react/components/ZoomControl.d.ts +15 -0
  258. package/dist/sequences-react/components/composite-command.d.ts +8 -0
  259. package/dist/sequences-react/components/glyphs.d.ts +26 -0
  260. package/dist/sequences-react/components/index.d.ts +31 -0
  261. package/dist/sequences-react/components/interaction-math.d.ts +103 -0
  262. package/dist/sequences-react/contracts.d.ts +187 -0
  263. package/dist/sequences-react/engine/command-stack.d.ts +18 -0
  264. package/dist/sequences-react/engine/commands.d.ts +146 -0
  265. package/dist/sequences-react/engine/playback.d.ts +18 -0
  266. package/dist/sequences-react/engine/snap.d.ts +29 -0
  267. package/dist/sequences-react/engine/zoom.d.ts +29 -0
  268. package/dist/sequences-react/index.d.ts +20 -880
  269. package/dist/sequences-react/lazy.d.ts +8 -0
  270. package/dist/sequences-react/media/frame-provider.d.ts +70 -0
  271. package/dist/sequences-react/media/transcription.d.ts +33 -0
  272. package/dist/sequences-react/media/waveform.d.ts +34 -0
  273. package/dist/session-shell/index.d.ts +31 -204
  274. package/dist/session-shell/nav-guard.d.ts +170 -0
  275. package/dist/session-shell/path.d.ts +19 -0
  276. package/dist/signoff/cli.d.ts +4 -7
  277. package/dist/signoff/config.d.ts +12 -0
  278. package/dist/signoff/exec.d.ts +44 -0
  279. package/dist/signoff/index.d.ts +56 -14
  280. package/dist/signoff/invoked-as-script.d.ts +25 -0
  281. package/dist/signoff/node-version.d.ts +50 -0
  282. package/dist/signoff/proof-attach.d.ts +88 -0
  283. package/dist/signoff/proof-cli.d.ts +1 -0
  284. package/dist/signoff/proof-fixture.d.ts +13 -0
  285. package/dist/signoff/proof-from-report.d.ts +22 -0
  286. package/dist/signoff/proof-git.d.ts +57 -0
  287. package/dist/signoff/proof-record.d.ts +202 -0
  288. package/dist/signoff/proof-verify.d.ts +103 -0
  289. package/dist/signoff/proof.d.ts +35 -310
  290. package/dist/signoff/report.d.ts +7 -0
  291. package/dist/{run-D80hoLKh.d.ts → signoff/run.d.ts} +3 -6
  292. package/dist/signoff/schedule.d.ts +55 -0
  293. package/dist/signoff/seeds.d.ts +50 -0
  294. package/dist/signoff/store.d.ts +22 -0
  295. package/dist/{types-Bd6uW9vQ.d.ts → signoff/types.d.ts} +15 -17
  296. package/dist/signoff/workflow-pin.d.ts +56 -0
  297. package/dist/signoff/workspace.d.ts +40 -0
  298. package/dist/skills/index.d.ts +28 -32
  299. package/dist/skills-placement/index.d.ts +7 -11
  300. package/dist/spend/budget.d.ts +123 -0
  301. package/dist/spend/ceiling.d.ts +51 -0
  302. package/dist/spend/cli-args.d.ts +20 -0
  303. package/dist/spend/cli.d.ts +1 -0
  304. package/dist/spend/fixtures/incident-parked-time.d.ts +55 -0
  305. package/dist/spend/index.d.ts +38 -1144
  306. package/dist/spend/liveness.d.ts +131 -0
  307. package/dist/spend/ownership.d.ts +87 -0
  308. package/dist/spend/reconcile.d.ts +109 -0
  309. package/dist/spend/reference.d.ts +42 -0
  310. package/dist/spend/report.d.ts +12 -0
  311. package/dist/spend/store.d.ts +123 -0
  312. package/dist/spend/types.d.ts +466 -0
  313. package/dist/store/index.d.ts +10 -12
  314. package/dist/stories/app-shell/fixtures.d.ts +43 -0
  315. package/dist/stories/app-shell/shell.d.ts +81 -0
  316. package/dist/stories/assistant/fixtures.d.ts +73 -0
  317. package/dist/stories/chat/fixtures.d.ts +70 -0
  318. package/dist/stories/chat/markdown.d.ts +11 -0
  319. package/dist/stories/chat/run-drill-in.d.ts +19 -0
  320. package/dist/stories/chat-controls/fixtures.d.ts +116 -0
  321. package/dist/stories/design-canvas/fixtures.d.ts +57 -0
  322. package/dist/stories/fixtures/canvas.d.ts +10 -0
  323. package/dist/stories/fixtures/catalog.d.ts +7 -0
  324. package/dist/stories/fixtures/chat.d.ts +39 -0
  325. package/dist/stories/fixtures/index.d.ts +4 -0
  326. package/dist/stories/fixtures/sequences.d.ts +17 -0
  327. package/dist/stories/panels/fixtures.d.ts +63 -0
  328. package/dist/stories/sequences/fixtures.d.ts +30 -0
  329. package/dist/stories/studio/fixtures.d.ts +22 -0
  330. package/dist/stream/index.d.ts +10 -56
  331. package/dist/{stream-normalizer-DKRxyVlZ.d.ts → stream/stream-normalizer.d.ts} +23 -26
  332. package/dist/{turn-buffer-COMQUwO2.d.ts → stream/turn-buffer.d.ts} +21 -23
  333. package/dist/stream/turn-identity.d.ts +49 -0
  334. package/dist/studio/generation.d.ts +179 -0
  335. package/dist/studio/index.d.ts +12 -181
  336. package/dist/studio-react/avatar-composer.d.ts +8 -0
  337. package/dist/studio-react/composer-hero.d.ts +12 -0
  338. package/dist/studio-react/composer-shell.d.ts +18 -0
  339. package/dist/studio-react/generation-card.d.ts +9 -0
  340. package/dist/studio-react/generation-detail-modal.d.ts +11 -0
  341. package/dist/studio-react/generation-detail.d.ts +6 -0
  342. package/dist/studio-react/generation-grid.d.ts +15 -0
  343. package/dist/studio-react/image-composer.d.ts +8 -0
  344. package/dist/studio-react/index.d.ts +32 -245
  345. package/dist/studio-react/library-drawer.d.ts +12 -0
  346. package/dist/studio-react/library-panel.d.ts +15 -0
  347. package/dist/studio-react/publish-package-composer.d.ts +18 -0
  348. package/dist/studio-react/result-canvas.d.ts +6 -0
  349. package/dist/studio-react/speech-composer.d.ts +4 -0
  350. package/dist/studio-react/studio-header.d.ts +5 -0
  351. package/dist/studio-react/studio-sheet.d.ts +12 -0
  352. package/dist/studio-react/studio-workspace.d.ts +23 -0
  353. package/dist/studio-react/transcription-composer.d.ts +12 -0
  354. package/dist/studio-react/type-config.d.ts +11 -0
  355. package/dist/studio-react/use-studio-generations.d.ts +20 -0
  356. package/dist/studio-react/video-composer.d.ts +10 -0
  357. package/dist/tangle/index.d.ts +7 -9
  358. package/dist/teams/drizzle/access.d.ts +82 -0
  359. package/dist/{invitations-schema-_fI7HkJP.d.ts → teams/drizzle/invitations-schema.d.ts} +39 -27
  360. package/dist/teams/drizzle/personal-organization.d.ts +41 -0
  361. package/dist/{access-490O6aOU.d.ts → teams/drizzle/schema.d.ts} +57 -122
  362. package/dist/teams/drizzle.d.ts +12 -44
  363. package/dist/teams/index.d.ts +20 -44
  364. package/dist/teams/invitations-api.d.ts +17 -21
  365. package/dist/{invitations-DoYMvXea.d.ts → teams/invitations.d.ts} +14 -18
  366. package/dist/teams/invite.d.ts +42 -0
  367. package/dist/teams/members-api.d.ts +12 -16
  368. package/dist/teams/resend.d.ts +3 -13
  369. package/dist/{roles-B4nU3jDi.d.ts → teams/roles.d.ts} +18 -20
  370. package/dist/teams-react/components/BrandMark.d.ts +10 -0
  371. package/dist/teams-react/components/InvitationsPanel.d.ts +13 -0
  372. package/dist/teams-react/components/InviteAcceptPage.d.ts +10 -0
  373. package/dist/teams-react/components/MembersPanel.d.ts +14 -0
  374. package/dist/teams-react/components/RoleSelect.d.ts +17 -0
  375. package/dist/teams-react/components/index.d.ts +3 -0
  376. package/dist/teams-react/contracts.d.ts +134 -0
  377. package/dist/teams-react/index.d.ts +12 -143
  378. package/dist/teams-react/lazy.d.ts +11 -11
  379. package/dist/test-setup.d.ts +1 -0
  380. package/dist/theme/index.d.ts +6 -104
  381. package/dist/theme/tailwind-preset.d.ts +1 -2
  382. package/dist/theme/theme.d.ts +106 -0
  383. package/dist/theme-contract/cli.d.ts +21 -0
  384. package/dist/theme-contract/index.d.ts +4 -6
  385. package/dist/{auth-BYtiazA4.d.ts → tools/auth.d.ts} +8 -11
  386. package/dist/tools/capability.d.ts +54 -0
  387. package/dist/tools/dispatch.d.ts +37 -0
  388. package/dist/tools/errors.d.ts +8 -0
  389. package/dist/tools/gating.d.ts +62 -0
  390. package/dist/tools/http.d.ts +27 -0
  391. package/dist/tools/index.d.ts +12 -217
  392. package/dist/{mcp-rpc-DYwPlYbZ.d.ts → tools/mcp-rpc.d.ts} +7 -9
  393. package/dist/{mcp-xxoZZfor.d.ts → tools/mcp.d.ts} +14 -16
  394. package/dist/tools/openai.d.ts +28 -0
  395. package/dist/tools/registry.d.ts +39 -0
  396. package/dist/tools/runtime.d.ts +22 -0
  397. package/dist/{types-B25Mib1r.d.ts → tools/types.d.ts} +15 -83
  398. package/dist/{flow-types-CJxEmaRy.d.ts → trace/flow-types.d.ts} +2 -4
  399. package/dist/trace/index.d.ts +11 -148
  400. package/dist/trace/mission-flow.d.ts +82 -0
  401. package/dist/trace/mission-trace.d.ts +52 -0
  402. package/dist/turn-health/classify.d.ts +207 -0
  403. package/dist/turn-health/index.d.ts +29 -637
  404. package/dist/turn-health/lifecycle.d.ts +75 -0
  405. package/dist/turn-health/sink.d.ts +122 -0
  406. package/dist/turn-health/sweep.d.ts +245 -0
  407. package/dist/turn-stream/adapters.d.ts +257 -0
  408. package/dist/turn-stream/core.d.ts +293 -0
  409. package/dist/turn-stream/do.d.ts +144 -0
  410. package/dist/turn-stream/index.d.ts +62 -738
  411. package/dist/turn-stream/memory.d.ts +41 -0
  412. package/dist/vault/ConfirmDialog.d.ts +22 -0
  413. package/dist/vault/VaultPane.d.ts +15 -0
  414. package/dist/{VaultPane-BDP6SB_K.d.ts → vault/contracts.d.ts} +15 -22
  415. package/dist/vault/index.d.ts +15 -22
  416. package/dist/vault/lazy.d.ts +9 -7
  417. package/dist/vault/server.d.ts +8 -10
  418. package/dist/web/free-route-limit.d.ts +187 -0
  419. package/dist/web/index.d.ts +15 -207
  420. package/dist/{rate-limit-BOVmJRXZ.d.ts → web/rate-limit.d.ts} +3 -5
  421. package/dist/web-react/agent-session-controls.d.ts +105 -0
  422. package/dist/web-react/async/async-view.d.ts +69 -0
  423. package/dist/web-react/async/index.d.ts +13 -305
  424. package/dist/web-react/async/state.d.ts +107 -0
  425. package/dist/web-react/async/use-async-resource.d.ts +41 -0
  426. package/dist/web-react/async/use-confirmed-mutation.d.ts +90 -0
  427. package/dist/web-react/brand-mark.d.ts +11 -0
  428. package/dist/web-react/chat-attachments.d.ts +21 -0
  429. package/dist/web-react/chat-composer.d.ts +174 -0
  430. package/dist/web-react/chat-interactions.d.ts +1 -0
  431. package/dist/web-react/chat-mentions.d.ts +48 -0
  432. package/dist/web-react/chat-stream.d.ts +106 -0
  433. package/dist/web-react/class-names.d.ts +10 -0
  434. package/dist/web-react/controls.d.ts +265 -0
  435. package/dist/web-react/durable-chat-cards.d.ts +40 -0
  436. package/dist/web-react/durable-interaction-submit.d.ts +22 -0
  437. package/dist/web-react/durable-plan-card.d.ts +13 -0
  438. package/dist/web-react/durable-plan-flow.d.ts +77 -0
  439. package/dist/web-react/harness-glyphs.d.ts +28 -0
  440. package/dist/web-react/index.d.ts +80 -2347
  441. package/dist/web-react/inert.d.ts +39 -0
  442. package/dist/web-react/insight-card.d.ts +203 -0
  443. package/dist/web-react/interaction-card-support.d.ts +115 -0
  444. package/dist/web-react/interaction-plan-card.d.ts +39 -0
  445. package/dist/web-react/interaction-question-card.d.ts +100 -0
  446. package/dist/web-react/message-attachments.d.ts +56 -0
  447. package/dist/web-react/mission-activity.d.ts +96 -0
  448. package/dist/web-react/motion.d.ts +43 -0
  449. package/dist/web-react/provenance-model.d.ts +195 -0
  450. package/dist/web-react/provenance.d.ts +82 -0
  451. package/dist/web-react/provider-logo.d.ts +14 -0
  452. package/dist/web-react/record-grid-model.d.ts +257 -0
  453. package/dist/web-react/record-grid.d.ts +108 -0
  454. package/dist/web-react/sandbox-terminal.d.ts +90 -0
  455. package/dist/web-react/seat-paywall.d.ts +47 -0
  456. package/dist/web-react/session-history.d.ts +196 -0
  457. package/dist/web-react/smooth-text.d.ts +29 -0
  458. package/dist/web-react/sparkline.d.ts +150 -0
  459. package/dist/web-react/terminal.d.ts +1 -92
  460. package/dist/web-react/use-chat-interactions.d.ts +78 -0
  461. package/dist/web-react/use-composer-attachments.d.ts +111 -0
  462. package/dist/web-react/use-file-mentions.d.ts +94 -0
  463. package/dist/web-react/work-product.d.ts +105 -0
  464. package/dist/work-product/claim-support.d.ts +288 -0
  465. package/dist/work-product/index.d.ts +16 -849
  466. package/dist/work-product/provenance.d.ts +61 -0
  467. package/dist/{queue-VTBA5ONX.d.ts → work-product/queue.d.ts} +10 -12
  468. package/dist/work-product/quote.d.ts +139 -0
  469. package/dist/work-product/route.d.ts +88 -0
  470. package/dist/work-product/service.d.ts +123 -0
  471. package/dist/work-product/tools.d.ts +144 -0
  472. package/dist/{types-CCeYywdS.d.ts → work-product/types.d.ts} +29 -31
  473. package/dist/work-product-react/index.d.ts +19 -8
  474. package/dist/workspace-react/index.d.ts +8 -11
  475. package/package.json +4 -3
  476. package/dist/agent-session-controls-CmlXwp_H.d.ts +0 -384
  477. package/dist/apply-6wlMOLf8.d.ts +0 -280
  478. package/dist/attachment-validation-BfJDBU1g.d.ts +0 -261
  479. package/dist/budget-BOucfcb_.d.ts +0 -142
  480. package/dist/values-C7RidJuI.d.ts +0 -156
@@ -1,6 +1,3 @@
1
- import { HarnessType } from '@tangle-network/agent-interface';
2
- export { modelProvider } from '@tangle-network/agent-interface';
3
-
4
1
  /**
5
2
  * Coding-agent harness selection — taxonomy, coercion, and the session-lock invariant.
6
3
  *
@@ -21,7 +18,7 @@ export { modelProvider } from '@tangle-network/agent-interface';
21
18
  * sandbox-ui pickers and the cli-bridge backends. This module owns the harness TAXONOMY + the
22
19
  * session lock.
23
20
  */
24
-
21
+ import { modelProvider, type HarnessType } from '@tangle-network/agent-interface';
25
22
  /**
26
23
  * Canonical harnesses that are NOT sandbox backends. Each value in `KNOWN_HARNESSES` is dispatched
27
24
  * as `backend.type`, so a harness the platform ships no provider adapter for must stay out —
@@ -29,21 +26,21 @@ export { modelProvider } from '@tangle-network/agent-interface';
29
26
  */
30
27
  declare const NON_BACKEND_HARNESSES: readonly ["gemini"];
31
28
  /** A coding-agent backend this shell can dispatch a session onto. */
32
- type Harness = Exclude<HarnessType, (typeof NON_BACKEND_HARNESSES)[number]>;
29
+ export type Harness = Exclude<HarnessType, (typeof NON_BACKEND_HARNESSES)[number]>;
33
30
  /**
34
31
  * The known coding-agent backends: the canonical harness set minus what has no provider adapter,
35
32
  * Derived from `harnessTypeSchema.options` so a harness added upstream reaches this shell without
36
33
  * an edit here, and kept structural so this module still needs no sandbox dependency.
37
34
  */
38
- declare const KNOWN_HARNESSES: readonly Harness[];
35
+ export declare const KNOWN_HARNESSES: readonly Harness[];
39
36
  /** Define the default harness to use for code execution and testing environments */
40
- declare const DEFAULT_HARNESS: Harness;
37
+ export declare const DEFAULT_HARNESS: Harness;
41
38
  /** Determine if a value is a recognized harness string identifier */
42
- declare function isHarness(value: unknown): value is Harness;
39
+ export declare function isHarness(value: unknown): value is Harness;
43
40
  /** Coerce an arbitrary value to a known harness, falling back (default `opencode`). */
44
- declare function coerceHarness(value: unknown, fallback?: Harness): Harness;
41
+ export declare function coerceHarness(value: unknown, fallback?: Harness): Harness;
45
42
  /** Resolve input options to determine the appropriate session harness to use */
46
- interface ResolveSessionHarnessInput {
43
+ export interface ResolveSessionHarnessInput {
47
44
  /** The harness already locked to this session (recorded at its first turn). */
48
45
  sessionHarness?: unknown;
49
46
  /** The harness requested now — a new session's choice, or a turn's attempt to switch. */
@@ -54,7 +51,7 @@ interface ResolveSessionHarnessInput {
54
51
  fallback?: Harness;
55
52
  }
56
53
  /** Represent resolved session state including harness, lock status, and swap attempt flag */
57
- interface ResolvedSessionHarness {
54
+ export interface ResolvedSessionHarness {
58
55
  /** The harness to actually run — the locked one when the session already has it. */
59
56
  harness: Harness;
60
57
  /** True when the session already had a locked harness (this turn did not pick it). */
@@ -72,21 +69,26 @@ interface ResolvedSessionHarness {
72
69
  * - **Fresh session**: pick `requested → workspaceDefault → fallback`. The caller
73
70
  * persists the result as the session's lock for every subsequent turn.
74
71
  */
75
- declare function resolveSessionHarness(input?: ResolveSessionHarnessInput): ResolvedSessionHarness;
76
-
72
+ export declare function resolveSessionHarness(input?: ResolveSessionHarnessInput): ResolvedSessionHarness;
73
+ /**
74
+ * Harness ↔ model compatibility + snapping — delegated to `@tangle-network/agent-interface`.
75
+ *
76
+ * `Harness` is the dispatchable subset of `HarnessType`: this shell drops only canonical harnesses
77
+ * for which the platform has no backend. Compatibility therefore comes entirely from Interface;
78
+ * this package keeps no second harness taxonomy.
79
+ */
80
+ export { modelProvider };
77
81
  /** Provider-less ids (sentinels like "default", or a session's own config) are
78
82
  * compatible everywhere — every harness honors its own configuration. */
79
- declare function isModelCompatibleWithHarness(harness: Harness, modelId: string): boolean;
83
+ export declare function isModelCompatibleWithHarness(harness: Harness, modelId: string): boolean;
80
84
  /** Keep `modelId` when the harness can run it; else the harness's best compatible
81
85
  * catalog id (preferred patterns in order, highest version). When nothing in the
82
86
  * catalog fits, return the original so the caller sees the incompatibility. */
83
- declare function snapModelToHarness(harness: Harness, modelId: string, canonicalIds: readonly string[]): string;
87
+ export declare function snapModelToHarness(harness: Harness, modelId: string, canonicalIds: readonly string[]): string;
84
88
  /** Keep the harness when it can run `modelId`; else the model's native harness
85
89
  * (anthropic → claude-code, openai → codex, moonshot → kimi-code), falling back to opencode. */
86
- declare function snapHarnessToModel(harness: Harness, modelId: string): Harness;
90
+ export declare function snapHarnessToModel(harness: Harness, modelId: string): Harness;
87
91
  /** Fail-loud server guard: throw when a harness is asked to run a model it can't.
88
92
  * Call before dispatching a sandbox turn so a bypassed UI can't reach the sidecar
89
93
  * with an incompatible pair. */
90
- declare function assertHarnessModelCompatible(harness: Harness, modelId: string): void;
91
-
92
- export { DEFAULT_HARNESS, type Harness, KNOWN_HARNESSES, type ResolveSessionHarnessInput, type ResolvedSessionHarness, assertHarnessModelCompatible, coerceHarness, isHarness, isModelCompatibleWithHarness, resolveSessionHarness, snapHarnessToModel, snapModelToHarness };
94
+ export declare function assertHarnessModelCompatible(harness: Harness, modelId: string): void;
@@ -1,8 +1,3 @@
1
- import { I as IntakeAnswerValue, a as IntakeQuestion, b as IntakeGraph } from '../model-C8U0HZxL.js';
2
- import { IntakeStore } from './drizzle.js';
3
- import 'drizzle-orm/sqlite-core';
4
- import '../completion-CvcNUz07.js';
5
-
6
1
  /**
7
2
  * Framework-neutral intake API: the get-current / save-answer / complete logic,
8
3
  * lifted out of any one app's route file. Each app mounts these in its own
@@ -22,9 +17,10 @@ import '../completion-CvcNUz07.js';
22
17
  * Imports `drizzle-orm` transitively (through the store types), so this is a
23
18
  * subpath, never re-exported from root.
24
19
  */
25
-
20
+ import { type IntakeAnswerValue, type IntakeGraph, type IntakeQuestion } from './model';
21
+ import { type IntakeStore } from './drizzle/store';
26
22
  /** What the client renders: the saved state, the next prompt, and progress. */
27
- interface CurrentIntakeView {
23
+ export interface CurrentIntakeView {
28
24
  graphId: string;
29
25
  title: string;
30
26
  description?: string;
@@ -39,7 +35,7 @@ interface CurrentIntakeView {
39
35
  };
40
36
  }
41
37
  /** Define configuration options for initializing the intake API with store and graph components */
42
- interface IntakeApiOptions {
38
+ export interface IntakeApiOptions {
43
39
  store: IntakeStore;
44
40
  graph: IntakeGraph;
45
41
  }
@@ -48,7 +44,7 @@ interface IntakeApiOptions {
48
44
  * app maps its route methods onto them (GET→getCurrentIntake, POST→saveAnswer,
49
45
  * a complete action→completeIntake).
50
46
  */
51
- declare function createIntakeApi(opts: IntakeApiOptions): {
47
+ export declare function createIntakeApi(opts: IntakeApiOptions): {
52
48
  getCurrentIntake: () => Promise<Response>;
53
49
  saveAnswer: (input: {
54
50
  questionId?: string;
@@ -56,5 +52,3 @@ declare function createIntakeApi(opts: IntakeApiOptions): {
56
52
  }) => Promise<Response>;
57
53
  completeIntake: () => Promise<Response>;
58
54
  };
59
-
60
- export { type CurrentIntakeView, type IntakeApiOptions, createIntakeApi };
@@ -1,5 +1,3 @@
1
- import { e as IntakeAnswers, b as IntakeGraph, I as IntakeAnswerValue } from './model-C8U0HZxL.js';
2
-
3
1
  /**
4
2
  * Pure completion-state helpers for an intake payload — the small algebra over
5
3
  * the JSON blob the store persists. No I/O: the store reads/writes the row;
@@ -11,9 +9,9 @@ import { e as IntakeAnswers, b as IntakeGraph, I as IntakeAnswerValue } from './
11
9
  * revision can detect a stale payload (`graphId` mismatch) rather than
12
10
  * silently mixing answers from two question sets.
13
11
  */
14
-
12
+ import type { IntakeAnswers, IntakeAnswerValue, IntakeGraph } from './model';
15
13
  /** The persisted JSON for one intake (the `payload` column). */
16
- interface IntakePayload {
14
+ export interface IntakePayload {
17
15
  /** The graph id the answers were collected against — guards stale schemas. */
18
16
  graphId: string;
19
17
  answers: IntakeAnswers;
@@ -21,21 +19,19 @@ interface IntakePayload {
21
19
  completedAt?: string;
22
20
  }
23
21
  /** An empty payload for a fresh intake against `graph`. */
24
- declare function emptyPayload(graph: IntakeGraph): IntakePayload;
22
+ export declare function emptyPayload(graph: IntakeGraph): IntakePayload;
25
23
  /** A copy of `payload` with one answer set (does not mutate the input). */
26
- declare function withAnswer(payload: IntakePayload, questionId: string, value: IntakeAnswerValue): IntakePayload;
24
+ export declare function withAnswer(payload: IntakePayload, questionId: string, value: IntakeAnswerValue): IntakePayload;
27
25
  /**
28
26
  * True when the payload's answers complete the graph AND the payload was
29
27
  * collected against THIS graph. A `graphId` mismatch is never "complete" —
30
28
  * the answers belong to a different question set and must be re-collected.
31
29
  */
32
- declare function payloadComplete(graph: IntakeGraph, payload: IntakePayload): boolean;
30
+ export declare function payloadComplete(graph: IntakeGraph, payload: IntakePayload): boolean;
33
31
  /** True when the payload was collected against a DIFFERENT graph revision. */
34
- declare function payloadIsStale(graph: IntakeGraph, payload: IntakePayload): boolean;
32
+ export declare function payloadIsStale(graph: IntakeGraph, payload: IntakePayload): boolean;
35
33
  /**
36
34
  * Stamp the payload complete at `at` (default now). Returns a copy; pure. The
37
35
  * caller has already checked `payloadComplete` — this only records the instant.
38
36
  */
39
- declare function markComplete(payload: IntakePayload, at?: Date): IntakePayload;
40
-
41
- export { type IntakePayload as I, payloadIsStale as a, emptyPayload as e, markComplete as m, payloadComplete as p, withAnswer as w };
37
+ export declare function markComplete(payload: IntakePayload, at?: Date): IntakePayload;
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Pure context-sufficiency floor + conversational-gather scaffold — the
3
+ * product-agnostic core of a CONVERSATIONAL intake. Where the question-graph
4
+ * model (`./model`) runs a one-question-at-a-time interview, this leaf judges
5
+ * whether an agent has gathered ENOUGH context to act, and renders the prompt
6
+ * directive that tells the agent to fold the remaining gaps into its work
7
+ * instead of running a form.
8
+ *
9
+ * Zero dependencies: no drizzle, no env, no react, no I/O, no product reads.
10
+ * A product declares WHICH facts matter (`ContextFactSpec`), and its own
11
+ * adapter resolves those facts + named substrate flags from whatever substrate
12
+ * it owns (`ResolvedContextSignals`); this leaf only does the deterministic
13
+ * combine and the wording. That separation is what makes the framework opt-in
14
+ * and tree-shakeable, and what lets gtm/tax/legal/insurance share one core.
15
+ *
16
+ * Readiness is a two-part floor: SCOPE (every required fact has a value) AND
17
+ * SUBSTRATE (at least one named substrate flag is true). Scope alone is not
18
+ * enough — knowing the goal without any durable thing to act on is still
19
+ * not-ready; substrate alone is not enough either. The product's adapter
20
+ * decides what counts as a fact and what counts as substrate.
21
+ */
22
+ /** One fact the product treats as known context once it has a value. */
23
+ export interface ContextFact {
24
+ /** Stable key the resolved-signals map is keyed on. */
25
+ key: string;
26
+ /** Human label shown in the prompt's known/missing lists. */
27
+ label: string;
28
+ /** When true, this fact must have a value for SCOPE to be met. */
29
+ required?: boolean;
30
+ /** How the agent should gather this fact conversationally, if missing. */
31
+ gatherHint?: string;
32
+ }
33
+ /**
34
+ * The product's declaration of what context matters: the facts that make up
35
+ * scope, plus optional tool hints appended verbatim to the gather prompt (e.g.
36
+ * a product passes the command that extracts a brand from a URL). Pure data —
37
+ * the product supplies labels, hints, and tool lines; the framework never
38
+ * names a product-specific concept itself.
39
+ */
40
+ export interface ContextFactSpec {
41
+ facts: ContextFact[];
42
+ /** Lines appended after the gather directive — e.g. product tool pointers. */
43
+ toolHints?: string[];
44
+ }
45
+ /**
46
+ * What a product's adapter resolves from its own substrate, ready to combine.
47
+ * `facts` carries the resolved VALUE per fact key (undefined/empty = not
48
+ * known); `substrate` carries named boolean flags (e.g.
49
+ * `{ brandConfirmed, configHasContext, coreKnowledgePresent }`) — any one true
50
+ * satisfies the substrate half of the floor.
51
+ */
52
+ export interface ResolvedContextSignals {
53
+ facts: Record<string, string | undefined>;
54
+ substrate: Record<string, boolean>;
55
+ }
56
+ /** A resolved fact that has a value — surfaced to the prompt as known context. */
57
+ export interface KnownFact {
58
+ key: string;
59
+ label: string;
60
+ value: string;
61
+ }
62
+ /** A required fact with no value — surfaced to the prompt as a gap to close. */
63
+ export interface MissingFact {
64
+ key: string;
65
+ label: string;
66
+ gatherHint?: string;
67
+ }
68
+ /** The deterministic verdict over the resolved signals. */
69
+ export interface ContextSufficiency {
70
+ /** True when the floor is met: `hasScope && hasSubstrate`. */
71
+ ready: boolean;
72
+ /** Every REQUIRED fact has a non-empty value. */
73
+ hasScope: boolean;
74
+ /** At least one named substrate flag is true. */
75
+ hasSubstrate: boolean;
76
+ /** Facts (required or not) that have a value. */
77
+ knownFacts: KnownFact[];
78
+ /** Required facts that have no value yet. */
79
+ missingFacts: MissingFact[];
80
+ /** The substrate flags as resolved, passed through for the prompt/caller. */
81
+ substrate: Record<string, boolean>;
82
+ }
83
+ /**
84
+ * Combine a fact spec with resolved signals into the readiness verdict. Pure,
85
+ * deterministic, never throws — a missing fact key or an empty substrate map
86
+ * reads as not-ready, not an error, so a fresh scope is honestly not-ready
87
+ * rather than crashing the caller.
88
+ *
89
+ * SCOPE = every `required` fact resolves to a non-empty value.
90
+ * SUBSTRATE = any value in `signals.substrate` is true.
91
+ * READY = SCOPE && SUBSTRATE.
92
+ *
93
+ * `knownFacts` lists every fact (required or optional) that resolved to a
94
+ * value, in spec declaration order; `missingFacts` lists every REQUIRED fact
95
+ * that did not — optional facts never appear as missing because they never gate
96
+ * scope.
97
+ */
98
+ export declare function computeContextSufficiency(spec: ContextFactSpec, signals: ResolvedContextSignals): ContextSufficiency;
99
+ /**
100
+ * Render the prompt section that mirrors a conversational-gather flow:
101
+ * - "### Context you already have" — the known facts, as `label: value`.
102
+ * - "### Context still missing — gather it while you work, not as a form" —
103
+ * the missing facts (with their gather hints), the act-first directive, and
104
+ * any product tool hints appended verbatim.
105
+ *
106
+ * When scope is met but the floor still is not (no substrate flag), it emits
107
+ * the substrate directive instead of a missing-facts list. Returns '' when
108
+ * there is nothing to say (no known facts, no gaps, and ready) so a caller can
109
+ * concatenate it unconditionally. Pure: wording is product-neutral; every
110
+ * product-specific phrase comes from the spec's labels, gather hints, and tool
111
+ * hints.
112
+ */
113
+ export declare function buildContextGatherPrompt(spec: ContextFactSpec, sufficiency: ContextSufficiency): string;
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Drizzle schema factory for the intake tables. The product owns the user (and
3
+ * optionally workspace) tables; this factory creates the intake tables and
4
+ * wires their foreign keys into the passed-in tables so the whole graph lives
5
+ * in one drizzle schema with real cascade semantics.
6
+ *
7
+ * Two tables, two scopes:
8
+ * - `user_intake` — the one-time onboarding interview, keyed on `user.id`
9
+ * (UNIQUE per user: one onboarding payload per user). ALWAYS created.
10
+ * - `project_intake` — the structured intake attached to a workspace, keyed
11
+ * on `workspace.id` (UNIQUE per workspace). Created ONLY when a
12
+ * `workspaceTable` is passed.
13
+ *
14
+ * `workspaceTable` is OPTIONAL by design: a non-workspace app (a single-user
15
+ * tool, tax-without-workspaces) adopts per-user onboarding alone with zero
16
+ * teams and zero workspace concept. When omitted, `createIntakeTables` returns
17
+ * `{ userIntake }` and no `projectIntake` — the FK to a workspace table that
18
+ * does not exist is never created.
19
+ *
20
+ * Imports `drizzle-orm` at module top — that is WHY this lives behind the
21
+ * `/intakes/drizzle` sub-subpath. The pure `./intakes` leaf imports none of
22
+ * this, so a consumer that never touches the DB never pulls the optional peer.
23
+ */
24
+ import type { AnySQLiteColumn, AnySQLiteTable } from 'drizzle-orm/sqlite-core';
25
+ /** A product table referenced by FK — only the `id` column is touched. */
26
+ export type IntakeParentTable = AnySQLiteTable & {
27
+ id: AnySQLiteColumn;
28
+ };
29
+ /** Define options for creating intake tables including user and optional workspace references */
30
+ export interface CreateIntakeTablesOptions {
31
+ /** The product's user table — user-intake rows reference `userTable.id`. */
32
+ userTable: IntakeParentTable;
33
+ /**
34
+ * The product's workspace table — project-intake rows reference
35
+ * `workspaceTable.id`. OPTIONAL: omit it for a single-user / non-workspace
36
+ * app that wants per-user onboarding only. When omitted, no `projectIntake`
37
+ * table is created.
38
+ */
39
+ workspaceTable?: IntakeParentTable;
40
+ }
41
+ declare function createUserIntakeTable(userTable: IntakeParentTable): import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
42
+ name: "user_intake";
43
+ schema: undefined;
44
+ columns: {
45
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
46
+ name: "id";
47
+ tableName: "user_intake";
48
+ dataType: "string";
49
+ columnType: "SQLiteText";
50
+ data: string;
51
+ driverParam: string;
52
+ notNull: true;
53
+ hasDefault: true;
54
+ isPrimaryKey: true;
55
+ isAutoincrement: false;
56
+ hasRuntimeDefault: false;
57
+ enumValues: [string, ...string[]];
58
+ baseColumn: never;
59
+ identity: undefined;
60
+ generated: undefined;
61
+ }, {}, {
62
+ length: number | undefined;
63
+ }>;
64
+ userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
65
+ name: "user_id";
66
+ tableName: "user_intake";
67
+ dataType: "string";
68
+ columnType: "SQLiteText";
69
+ data: string;
70
+ driverParam: string;
71
+ notNull: true;
72
+ hasDefault: false;
73
+ isPrimaryKey: false;
74
+ isAutoincrement: false;
75
+ hasRuntimeDefault: false;
76
+ enumValues: [string, ...string[]];
77
+ baseColumn: never;
78
+ identity: undefined;
79
+ generated: undefined;
80
+ }, {}, {
81
+ length: number | undefined;
82
+ }>;
83
+ graphId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
84
+ name: "graph_id";
85
+ tableName: "user_intake";
86
+ dataType: "string";
87
+ columnType: "SQLiteText";
88
+ data: string;
89
+ driverParam: string;
90
+ notNull: true;
91
+ hasDefault: false;
92
+ isPrimaryKey: false;
93
+ isAutoincrement: false;
94
+ hasRuntimeDefault: false;
95
+ enumValues: [string, ...string[]];
96
+ baseColumn: never;
97
+ identity: undefined;
98
+ generated: undefined;
99
+ }, {}, {
100
+ length: number | undefined;
101
+ }>;
102
+ payload: import("drizzle-orm/sqlite-core").SQLiteColumn<{
103
+ name: "payload";
104
+ tableName: "user_intake";
105
+ dataType: "json";
106
+ columnType: "SQLiteTextJson";
107
+ data: unknown;
108
+ driverParam: string;
109
+ notNull: true;
110
+ hasDefault: false;
111
+ isPrimaryKey: false;
112
+ isAutoincrement: false;
113
+ hasRuntimeDefault: false;
114
+ enumValues: undefined;
115
+ baseColumn: never;
116
+ identity: undefined;
117
+ generated: undefined;
118
+ }, {}, {}>;
119
+ completedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
120
+ name: "completed_at";
121
+ tableName: "user_intake";
122
+ dataType: "date";
123
+ columnType: "SQLiteTimestamp";
124
+ data: Date;
125
+ driverParam: number;
126
+ notNull: false;
127
+ hasDefault: false;
128
+ isPrimaryKey: false;
129
+ isAutoincrement: false;
130
+ hasRuntimeDefault: false;
131
+ enumValues: undefined;
132
+ baseColumn: never;
133
+ identity: undefined;
134
+ generated: undefined;
135
+ }, {}, {}>;
136
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
137
+ name: "created_at";
138
+ tableName: "user_intake";
139
+ dataType: "date";
140
+ columnType: "SQLiteTimestamp";
141
+ data: Date;
142
+ driverParam: number;
143
+ notNull: true;
144
+ hasDefault: true;
145
+ isPrimaryKey: false;
146
+ isAutoincrement: false;
147
+ hasRuntimeDefault: false;
148
+ enumValues: undefined;
149
+ baseColumn: never;
150
+ identity: undefined;
151
+ generated: undefined;
152
+ }, {}, {}>;
153
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
154
+ name: "updated_at";
155
+ tableName: "user_intake";
156
+ dataType: "date";
157
+ columnType: "SQLiteTimestamp";
158
+ data: Date;
159
+ driverParam: number;
160
+ notNull: true;
161
+ hasDefault: true;
162
+ isPrimaryKey: false;
163
+ isAutoincrement: false;
164
+ hasRuntimeDefault: false;
165
+ enumValues: undefined;
166
+ baseColumn: never;
167
+ identity: undefined;
168
+ generated: undefined;
169
+ }, {}, {}>;
170
+ };
171
+ dialect: "sqlite";
172
+ }>;
173
+ declare function createProjectIntakeTable(workspaceTable: IntakeParentTable): import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
174
+ name: "project_intake";
175
+ schema: undefined;
176
+ columns: {
177
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
178
+ name: "id";
179
+ tableName: "project_intake";
180
+ dataType: "string";
181
+ columnType: "SQLiteText";
182
+ data: string;
183
+ driverParam: string;
184
+ notNull: true;
185
+ hasDefault: true;
186
+ isPrimaryKey: true;
187
+ isAutoincrement: false;
188
+ hasRuntimeDefault: false;
189
+ enumValues: [string, ...string[]];
190
+ baseColumn: never;
191
+ identity: undefined;
192
+ generated: undefined;
193
+ }, {}, {
194
+ length: number | undefined;
195
+ }>;
196
+ workspaceId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
197
+ name: "workspace_id";
198
+ tableName: "project_intake";
199
+ dataType: "string";
200
+ columnType: "SQLiteText";
201
+ data: string;
202
+ driverParam: string;
203
+ notNull: true;
204
+ hasDefault: false;
205
+ isPrimaryKey: false;
206
+ isAutoincrement: false;
207
+ hasRuntimeDefault: false;
208
+ enumValues: [string, ...string[]];
209
+ baseColumn: never;
210
+ identity: undefined;
211
+ generated: undefined;
212
+ }, {}, {
213
+ length: number | undefined;
214
+ }>;
215
+ graphId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
216
+ name: "graph_id";
217
+ tableName: "project_intake";
218
+ dataType: "string";
219
+ columnType: "SQLiteText";
220
+ data: string;
221
+ driverParam: string;
222
+ notNull: true;
223
+ hasDefault: false;
224
+ isPrimaryKey: false;
225
+ isAutoincrement: false;
226
+ hasRuntimeDefault: false;
227
+ enumValues: [string, ...string[]];
228
+ baseColumn: never;
229
+ identity: undefined;
230
+ generated: undefined;
231
+ }, {}, {
232
+ length: number | undefined;
233
+ }>;
234
+ payload: import("drizzle-orm/sqlite-core").SQLiteColumn<{
235
+ name: "payload";
236
+ tableName: "project_intake";
237
+ dataType: "json";
238
+ columnType: "SQLiteTextJson";
239
+ data: unknown;
240
+ driverParam: string;
241
+ notNull: true;
242
+ hasDefault: false;
243
+ isPrimaryKey: false;
244
+ isAutoincrement: false;
245
+ hasRuntimeDefault: false;
246
+ enumValues: undefined;
247
+ baseColumn: never;
248
+ identity: undefined;
249
+ generated: undefined;
250
+ }, {}, {}>;
251
+ completedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
252
+ name: "completed_at";
253
+ tableName: "project_intake";
254
+ dataType: "date";
255
+ columnType: "SQLiteTimestamp";
256
+ data: Date;
257
+ driverParam: number;
258
+ notNull: false;
259
+ hasDefault: false;
260
+ isPrimaryKey: false;
261
+ isAutoincrement: false;
262
+ hasRuntimeDefault: false;
263
+ enumValues: undefined;
264
+ baseColumn: never;
265
+ identity: undefined;
266
+ generated: undefined;
267
+ }, {}, {}>;
268
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
269
+ name: "created_at";
270
+ tableName: "project_intake";
271
+ dataType: "date";
272
+ columnType: "SQLiteTimestamp";
273
+ data: Date;
274
+ driverParam: number;
275
+ notNull: true;
276
+ hasDefault: true;
277
+ isPrimaryKey: false;
278
+ isAutoincrement: false;
279
+ hasRuntimeDefault: false;
280
+ enumValues: undefined;
281
+ baseColumn: never;
282
+ identity: undefined;
283
+ generated: undefined;
284
+ }, {}, {}>;
285
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
286
+ name: "updated_at";
287
+ tableName: "project_intake";
288
+ dataType: "date";
289
+ columnType: "SQLiteTimestamp";
290
+ data: Date;
291
+ driverParam: number;
292
+ notNull: true;
293
+ hasDefault: true;
294
+ isPrimaryKey: false;
295
+ isAutoincrement: false;
296
+ hasRuntimeDefault: false;
297
+ enumValues: undefined;
298
+ baseColumn: never;
299
+ identity: undefined;
300
+ generated: undefined;
301
+ }, {}, {}>;
302
+ };
303
+ dialect: "sqlite";
304
+ }>;
305
+ /**
306
+ * Build the intake tables wired to the product's tables. Always returns
307
+ * `userIntake`; returns `projectIntake` only when `workspaceTable` is passed.
308
+ * The return type carries `projectIntake?` so a consumer that passes no
309
+ * workspace table cannot reference a table that does not exist.
310
+ */
311
+ export declare function createIntakeTables<O extends CreateIntakeTablesOptions>(opts: O): IntakeTables<O>;
312
+ /** Resolve the structure and data of a user intake table based on the createUserIntakeTable function */
313
+ export type UserIntakeTable = ReturnType<typeof createUserIntakeTable>;
314
+ /** Resolve the structure and data of the project intake table from the factory function */
315
+ export type ProjectIntakeTable = ReturnType<typeof createProjectIntakeTable>;
316
+ /**
317
+ * The tables returned for a given options shape: `projectIntake` is present in
318
+ * the type exactly when `workspaceTable` was provided.
319
+ */
320
+ export type IntakeTables<O extends CreateIntakeTablesOptions> = O extends {
321
+ workspaceTable: IntakeParentTable;
322
+ } ? {
323
+ userIntake: UserIntakeTable;
324
+ projectIntake: ProjectIntakeTable;
325
+ } : {
326
+ userIntake: UserIntakeTable;
327
+ projectIntake?: ProjectIntakeTable;
328
+ };
329
+ /** The union table shape, for code that handles either scope generically. */
330
+ export type AnyIntakeTables = {
331
+ userIntake: UserIntakeTable;
332
+ projectIntake?: ProjectIntakeTable;
333
+ };
334
+ /** Infer and represent a selected row from the UserIntakeTable data structure */
335
+ export type UserIntakeRow = UserIntakeTable['$inferSelect'];
336
+ /** Resolve the selected data structure for a project intake table row */
337
+ export type ProjectIntakeRow = ProjectIntakeTable['$inferSelect'];
338
+ export {};