@tangle-network/agent-app 0.45.53 → 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 +5 -4
  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,367 +1,17 @@
1
- export { CatalogModel, ModelCatalog, RouterModel, __resetCatalogCache, buildCatalog, fetchModelCatalog, isChatCapableModel, normalizeModelId } from '../catalog/index.js';
2
- export { C as CreateTangleRouterModelConfigOptions, D as DEFAULT_TANGLE_BILLING_ENFORCEMENT_ENV_VAR, c as DEFAULT_TANGLE_ROUTER_BASE_URL, R as ResolveModelOptions, d as ResolveTangleDevOrUserKeyOptions, e as ResolveUserTangleExecutionKeyForUserOptions, f as ResolveUserTangleExecutionKeyOptions, g as ResolvedTangleExecutionKey, h as TangleBillingEnforcementOptions, a as TangleExecutionEnvironment, i as TangleExecutionKeyError, j as TangleExecutionKeyErrorCode, k as TangleExecutionKeyHttpError, b as TangleExecutionKeySource, T as TangleModelConfig, l as createTangleRouterModelConfig, m as isTangleBillingEnforcementDisabled, n as isTangleExecutionKeyError, r as resolveTangleDevOrUserKey, o as resolveTangleExecutionEnvironment, p as resolveTangleModelConfig, q as resolveUserTangleExecutionKey, s as resolveUserTangleExecutionKeyForUser, t as tangleExecutionKeyHttpError, u as trimOrNull } from '../model-CdCDfBA9.js';
3
- import * as _tangle_network_agent_runtime_tool_loop from '@tangle-network/agent-runtime/tool-loop';
4
- import { ToolLoopMessage } from '@tangle-network/agent-runtime/tool-loop';
5
- export { RunToolLoopOptions as AppToolLoopOptions, ToolLoopAssistantToolCall as LoopAssistantToolCall, ToolLoopMessage as LoopMessage, ToolLoopCall as LoopToolCall, StreamToolLoopOptions as StreamAppToolLoopOptions, StreamToolLoopYield as StreamLoopYield, ToolLoopEvent, ToolLoopResult, ToolLoopStopReason, runToolLoop as runAppToolLoop, streamToolLoop as streamAppToolLoop } from '@tangle-network/agent-runtime/tool-loop';
6
- import { CertifiedProfile } from '@tangle-network/agent-runtime/intelligence';
7
- import { A as AppToolMcpServer } from '../mcp-xxoZZfor.js';
8
- import '@tangle-network/agent-interface';
9
- import '../types-B25Mib1r.js';
10
- import '../auth-BYtiazA4.js';
11
-
12
- /**
13
- * Events the app's OpenAI-compat stream adapter ({@link toLoopEvents}) yields.
14
- *
15
- * This is the app's own `Raw` event type for the streaming loop — the canonical
16
- * `streamToolLoop<Raw>` is generic over it. It widens the substrate's
17
- * tool-loop event with `reasoning` (DeepSeek/router `reasoning_content` /
18
- * `thinking` deltas, rendered as thinking sections) and `usage` (per-message
19
- * token accounting) — neither belongs in the substrate's loop contract, so they
20
- * stay here. The adapter maps each into the `streamTurn` seam; `text` and
21
- * `tool_call` drive the loop, `reasoning` / `usage` pass through to the UI.
22
- */
23
- type LoopEvent = {
24
- type: 'text';
25
- text: string;
26
- } | {
27
- type: 'reasoning';
28
- text: string;
29
- } | {
30
- type: 'tool_call';
31
- call: _tangle_network_agent_runtime_tool_loop.ToolLoopCall;
32
- } | {
33
- type: 'usage';
34
- usage: {
35
- promptTokens: number;
36
- completionTokens: number;
37
- };
38
- } | {
39
- type: 'other';
40
- event: unknown;
41
- };
42
-
43
- /**
44
- * OpenAI-compatible stream → `LoopEvent` adapter, for NON-sandbox copilots.
45
- *
46
- * `streamAppToolLoop` takes a `streamTurn` seam that yields `LoopEvent`s. A
47
- * sandboxed agent produces those from its container; a browser/edge copilot
48
- * instead calls a model directly. The Tangle Router, the tcloud SDK, and most
49
- * providers all speak the OpenAI Chat Completions streaming shape — so the ONE
50
- * reusable piece is assembling that stream (content deltas + FRAGMENTED
51
- * tool-call deltas) into `LoopEvent`s. That assembly is the boilerplate every
52
- * copilot would re-write (and get wrong — OpenAI streams tool-call arguments in
53
- * pieces across chunks).
54
- *
55
- * This does NOT implement an HTTP client beyond a minimal `fetch` + SSE reader
56
- * (browser/edge/Node-safe, zero deps). For richer transport use the tcloud SDK
57
- * or the Vercel AI SDK and pipe their stream through {@link toLoopEvents}.
58
- */
59
-
60
- /** Minimal OpenAI Chat Completions streaming chunk (structural — no `openai` dep). */
61
- interface OpenAIStreamChunk {
62
- /** The model that produced this chunk. The Tangle Router reports the DATED
63
- * upstream id here (`gpt-5-2025-08-07`) whether or not it substituted, so
64
- * this is a served-model source only after id folding — see
65
- * {@link OpenAICompatServedModel}. */
66
- model?: string;
67
- choices?: Array<{
68
- delta?: {
69
- content?: string | null;
70
- /** Reasoning deltas — DeepSeek/router use `reasoning_content`; some proxies use `thinking`. */
71
- reasoning_content?: string | null;
72
- thinking?: string | null;
73
- tool_calls?: Array<{
74
- index: number;
75
- id?: string;
76
- function?: {
77
- name?: string;
78
- arguments?: string;
79
- };
80
- }>;
81
- };
82
- finish_reason?: string | null;
83
- }>;
84
- /** Final-chunk token accounting (requires `stream_options.include_usage`). */
85
- usage?: {
86
- prompt_tokens?: number;
87
- completion_tokens?: number;
88
- } | null;
89
- }
90
- /**
91
- * Map an OpenAI-compat streaming chunk iterator to `LoopEvent`s: each content
92
- * delta → a `text` event; tool-call deltas are accumulated by index across
93
- * chunks and emitted as one complete `tool_call` event when the stream finishes
94
- * (arguments JSON-parsed; an empty/garbled args string yields `{}` rather than
95
- * throwing). Works for the Tangle Router, tcloud, or any OpenAI-compat source.
96
- */
97
- declare function toLoopEvents(chunks: AsyncIterable<OpenAIStreamChunk>): AsyncIterable<LoopEvent>;
98
- /**
99
- * Which model actually served one direct-router turn.
100
- *
101
- * The router substitutes models on purpose — a quota-walled primary comes back
102
- * `200` answered by a different model — and says so in response headers. This
103
- * lane used to drop the whole `Response` after taking `.body`, so a turn
104
- * requested as `claude-sonnet-4-6` and answered by `openai/gpt-5` was recorded
105
- * by its caller as Claude: per-model quality scoring blamed the wrong model and
106
- * cost used the wrong price basis.
107
- *
108
- * Map this onto the shell's existing attribution contract rather than inventing
109
- * a second channel — `ChatTurnRouteProducer.modelAttribution()` (`/chat-routes`):
110
- *
111
- * modelAttribution: () => ({ requestedModel, servedModel, echoReceived: true })
112
- *
113
- * Leave that contract's `servedSource` unset: its union is sandbox
114
- * profile-resolution vocabulary with no router analogue.
115
- */
116
- interface OpenAICompatServedModel {
117
- /** The model id this turn asked for (`OpenAICompatStreamTurnOptions.model`). */
118
- requestedModel: string;
119
- /** The model the router/provider reports having actually served. */
120
- servedModel: string;
121
- /** Where `servedModel` was read from. The header is the router's own
122
- * substitution signal; the body is the backstop that survives CORS. */
123
- source: 'router_header' | 'response_body';
124
- /** True when served differs from requested after id folding. Folded, not
125
- * compared raw: the body reports a dated id on EVERY turn, so `!==` would
126
- * claim a substitution every time. */
127
- substituted: boolean;
128
- /** `x-tangle-failover` `trigger=` — why the router swapped. Absent when the
129
- * router did not inject the substitute (a caller-supplied fallback chain
130
- * sets the served-model header without the failover one). */
131
- trigger?: string;
132
- /** `x-tangle-failover` `degraded=`. */
133
- degraded?: boolean;
134
- }
135
- /** Define options for configuring an OpenAI-compatible streaming chat turn including API details and tools */
136
- interface OpenAICompatStreamTurnOptions {
137
- /** OpenAI-compat base URL (e.g. the Tangle Router `https://router.tangle.tools/v1`). */
138
- baseUrl: string;
139
- apiKey: string;
140
- model: string;
141
- /** OpenAI tool definitions — pass `buildAppToolOpenAITools(taxonomy)` so the
142
- * model can call the app tools. Omit for a tool-free copilot. */
143
- tools?: unknown[];
144
- temperature?: number;
145
- fetchImpl?: typeof fetch;
146
- /** Extra body fields (e.g. `max_tokens`). */
147
- extraBody?: Record<string, unknown>;
148
- /**
149
- * Called at most ONCE per turn, as soon as the serving model is
150
- * determinable, with what actually answered. Never called when neither the
151
- * header nor the body names a model — silence means "learned nothing", not
152
- * "nothing was substituted".
153
- *
154
- * `streamTurn` runs once per TOOL turn, so a multi-turn `runAppToolLoop`
155
- * fires this once per turn; take the last for row attribution.
156
- */
157
- onServedModel?: (served: OpenAICompatServedModel) => void;
158
- }
159
- /**
160
- * Build a `streamTurn` that calls an OpenAI-compatible `/chat/completions`
161
- * endpoint (Tangle Router / tcloud / any compat provider) with `stream: true`
162
- * and yields `LoopEvent`s via {@link toLoopEvents}. Browser/edge/Node-safe —
163
- * just `fetch` + an SSE reader. Drop straight into `streamAppToolLoop`:
164
- *
165
- * const cfg = resolveTangleModelConfig() // or { baseUrl, apiKey, model }
166
- * streamAppToolLoop({ streamTurn: createOpenAICompatStreamTurn({ ...cfg, tools }), executeToolCall, ... })
167
- */
168
- declare function createOpenAICompatStreamTurn(opts: OpenAICompatStreamTurnOptions): (messages: ToolLoopMessage[]) => AsyncIterable<LoopEvent>;
169
-
170
- /**
171
- * The resolved per-turn profile surfaces a delivered / certified `AgentProfile`
172
- * can change.
173
- *
174
- * This file used to also carry `createAgentRuntime` — a factory that hand-wired
175
- * `resolveTangleModelConfig` + `buildAppToolOpenAITools` + `createOpenAICompatStreamTurn`
176
- * + `createAppToolRuntimeExecutor` + `runAppToolLoop` into one object. It shipped
177
- * for the whole life of the package and never acquired a consumer (0 references
178
- * across all nine repos on the fleet's default branches), while every product
179
- * that drives an in-process model turn composes those five directly or uses
180
- * `handleChatTurn`. It was removed in 0.44.0; compose the pieces, or see
181
- * `examples/browser-copilot.md` for the sandbox-free assembly.
182
- */
183
- /** The agent's resolved profile surfaces for one turn — the things a delivered
184
- * / certified `AgentProfile` can change. Profile-WIDE on purpose: certified
185
- * delivery folds prompt-surface + skills into `systemPrompt` AND can add
186
- * certified `tool` artifacts to `extraTools`. MCP servers / memory / RAG that
187
- * materialize as files or servers deliver through the sandbox-provisioning
188
- * seam, not here. */
189
- interface ResolvedAgentProfile {
190
- systemPrompt: string;
191
- extraTools: unknown[];
192
- }
193
-
194
- /**
195
- * `createCertifiedDelivery` — the delivery truck for Tangle Intelligence.
196
- *
197
- * Pulls a tenant's CERTIFIED `AgentProfile` from the deployed plane
198
- * (`GET /v1/profiles/:target/composed`) and applies it to the agent's resolved
199
- * surfaces each turn, so an approved improvement reaches the running agent with
200
- * NO redeploy. This is the `composeProfile` transform `createAgentRuntime`
201
- * accepts — opt-in per product, fail-closed, cached + refreshed.
202
- *
203
- * Profile-WIDE by design (not prompt-only): the composed profile carries every
204
- * promoted artifact type keyed by kind. What's folded where:
205
- * - `prompt-surface` + `skill` → the system prompt (via `composeCertifiedPrompt`).
206
- * - `tool` artifacts that carry an OpenAI tool definition → `extraTools`
207
- * (advertised to the model; the matching executor is supplied by the product
208
- * via `executeOtherTool`). Until a `tool` artifact carries a runnable def,
209
- * it is surfaced (see `current()`) but not advertised — advertising a tool
210
- * with no executor would make the model call into a dead end.
211
- * - `mcp` / `memory` / `rag` artifacts materialize as servers/files and deliver
212
- * through the SANDBOX-provisioning seam, not this in-process one. The full
213
- * certified profile is exposed via `current()` so that seam can consume it.
214
- *
215
- * Substrate boundary: THIS module imports `@tangle-network/agent-runtime`; the
216
- * `createAgentRuntime` core does not (it only consumes the generic transform).
217
- */
218
-
219
- /** Define configuration options for delivering certified artifacts to a specified tenant target */
220
- interface CertifiedDeliveryConfig {
221
- /** The tenant target whose certified artifacts to deliver (the agent id). */
222
- target: string;
223
- /** Bearer for the plane. Reads `TANGLE_API_KEY` when omitted. */
224
- apiKey?: string;
225
- /** Plane base URL. Reads `TANGLE_INTELLIGENCE_URL` then the public plane. */
226
- baseUrl?: string;
227
- /** Min interval between certified-profile pulls. Default 5m. */
228
- refreshMs?: number;
229
- /** fetch impl (tests / non-global-fetch runtimes). */
230
- fetchImpl?: typeof fetch;
231
- }
232
- /** Resolve and manage certified profiles with refresh and composition capabilities */
233
- interface CertifiedDelivery {
234
- /** The `composeProfile` transform to pass to `createAgentRuntime`. Applies the
235
- * cached certified profile to the base surfaces; refreshes on the cadence. */
236
- composeProfile(base: ResolvedAgentProfile): Promise<ResolvedAgentProfile>;
237
- /** Force a pull now (ignores the refresh window). Best-effort. */
238
- refresh(): Promise<void>;
239
- /** The certified profile currently in effect (null = none promoted / pull
240
- * failed). Lets the sandbox-provisioning seam deliver the file/server
241
- * artifact types this in-process seam doesn't. */
242
- current(): CertifiedProfile | null;
243
- }
244
- /**
245
- * Build a certified-delivery transform for one agent target. Fail-closed: a pull
246
- * error or 404 keeps the last-known certified profile (or null), and the agent
247
- * runs on its base surfaces — it never breaks because Intelligence is down.
248
- */
249
- declare function createCertifiedDelivery(config: CertifiedDeliveryConfig): CertifiedDelivery;
250
-
251
- /**
252
- * Surface-scoped profile overlay — the seam letting any product page (a
253
- * sequence editor, a brief composer, a dataset view) add MCP servers, a prompt
254
- * addendum, and permission tightening to the workspace agent profile for turns
255
- * initiated FROM that surface, without the chat orchestrator knowing any
256
- * surface's specifics. The orchestrator resolves `(kind, ctx)` through a
257
- * registry the REQUEST HANDLER constructs per request (construction is a Map
258
- * build — cheap) and merges the result into the base profile it was about to
259
- * send to the sandbox. Per-request construction is the trust mechanism, not an
260
- * optimization target: each `build()` closes over server-trusted request state
261
- * (env bindings, secrets, the AUTHENTICATED user/workspace), which on Workers
262
- * exists only per request — a startup-built registry would force identity
263
- * through the untrusted client `ctx`.
264
- *
265
- * SECURITY INVARIANT: the surface `kind` and the ids inside `ctx` arrive on
266
- * the client request and are pure ROUTING data — never trusted content, never
267
- * identity. Identity comes from the closure (see above). The registered
268
- * `build()` runs server-side only: it validates the routing ids against the
269
- * product's access control, then mints its own URLs from server configuration
270
- * (`buildHttpMcpServer` in ../tools). A client can therefore never inject an
271
- * arbitrary MCP url, header, or credential into the agent profile: the
272
- * overlay's `mcp` values are typed as {@link SurfaceMcpServer} (= the
273
- * server-built `AppToolMcpServer` entry shape), and only build() constructs
274
- * them.
275
- *
276
- * The credential itself never appears in the overlay. Since the tagged-config
277
- * contract (`agent-interface` 0.38.0) the `Authorization` header is a
278
- * `secret-ref` naming a box-environment variable, which the sandbox resolves
279
- * privately; `build()` supplies that key NAME from server configuration and the
280
- * product writes the value into `SandboxRuntimeConfig.env` at box creation. The
281
- * value must be deterministic for the box's lifetime (an HMAC over the
282
- * workspace id, e.g. `createCapabilityToken` in ../tools), because a freshly
283
- * random per-request mint would never match what the box already carries.
284
- */
285
-
286
- /** Sandbox permission posture values, ranked deny > ask > allow for merging. */
287
- type SurfacePermissionValue = 'allow' | 'ask' | 'deny';
288
- /** The only MCP entry shape an overlay may carry: the server-built bridge
289
- * entry from ../tools/mcp (transport, url, headers, and capability token all
290
- * assembled server-side). The alias exists so overlay authors reach for the
291
- * builders in ../tools rather than hand-rolling `{ url: ctx.url }` shapes
292
- * that would let request data become a dialable endpoint. */
293
- type SurfaceMcpServer = AppToolMcpServer;
294
- /** What one surface contributes to the agent profile for a single turn. */
295
- interface SurfaceOverlay {
296
- /** MCP servers to mount for this turn, keyed by tool-routing name. Names
297
- * must not collide with the base profile's — see {@link mergeSurfaceOverlay}. */
298
- mcp?: Record<string, SurfaceMcpServer>;
299
- /** Appended to the base system-prompt addendum with a blank-line separator. */
300
- promptAddendum?: string;
301
- /** Per-key posture the surface wants for its turns. Merging is monotone
302
- * fail-closed: the stricter of base/overlay wins, so a surface can tighten
303
- * the workspace posture but never relax it. */
304
- permissions?: Record<string, SurfacePermissionValue>;
305
- }
306
- /**
307
- * One registered surface kind. `TCtx` is the shape build() expects — a CLAIM
308
- * about the client payload, not a guarantee: the registry hands build() the
309
- * request's `ctx` unvalidated, so build() must treat every field as an
310
- * untrusted id (resolve it through access control that throws on a bad or
311
- * foreign id) before minting anything from it.
312
- */
313
- interface SurfaceKindDefinition<TCtx> {
314
- kind: string;
315
- build: (ctx: TCtx) => SurfaceOverlay | Promise<SurfaceOverlay>;
316
- }
317
- /** The variance-erased form a registry accepts (`build` is contravariant in
318
- * `TCtx`, so every concrete definition is assignable to this). */
319
- type AnySurfaceKind = SurfaceKindDefinition<never>;
320
- /**
321
- * Declare one surface kind. The `kind` string is the client-visible routing
322
- * key (e.g. `'sequences'`); `build` is the server-side factory that turns a
323
- * validated ctx into the overlay for one turn.
324
- */
325
- declare function defineSurfaceKind<TCtx>(opts: {
326
- kind: string;
327
- build: (ctx: TCtx) => SurfaceOverlay | Promise<SurfaceOverlay>;
328
- }): SurfaceKindDefinition<TCtx>;
329
- /** Resolve and build the overlay for a given surface kind within a turn context */
330
- interface SurfaceRegistry {
331
- /** Build the overlay for one turn. Throws on an unknown kind — an unknown
332
- * surface is a routing bug (client and server registries drifted), and
333
- * silently returning an empty overlay would strip the surface's tools from
334
- * the turn with no signal anywhere. Build errors propagate unwrapped. */
335
- resolve(kind: string, ctx: unknown): Promise<SurfaceOverlay>;
336
- }
337
- /**
338
- * Assemble the product's surface registry from its registered kinds. Duplicate
339
- * kinds throw at construction: two builders behind one routing key would make
340
- * the mounted toolset depend on registration order.
341
- */
342
- declare function createSurfaceRegistry(kinds: readonly AnySurfaceKind[]): SurfaceRegistry;
343
- /** Base-profile slice the merge reads/writes. Real callers pass their full
344
- * profile object; every field outside this slice passes through untouched. */
345
- interface SurfaceMergeBase {
346
- mcp?: Record<string, unknown>;
347
- systemPromptAddendum?: string;
348
- permissions?: Record<string, SurfacePermissionValue>;
349
- }
350
- /**
351
- * Merge one surface overlay into a base profile, returning a new object
352
- * (the base is never mutated; untouched nested records are shared by
353
- * reference).
354
- *
355
- * - `mcp`: overlay servers are added under their own names. A name already
356
- * present on the base THROWS — a collision is two servers claiming one
357
- * routing name, and renaming either silently would corrupt tool routing for
358
- * whichever caller expected the original binding.
359
- * - `systemPromptAddendum`: the overlay's `promptAddendum` appends after a
360
- * blank-line separator (no separator when the base has no addendum).
361
- * - `permissions`: per key the STRICTER value wins (deny > ask > allow). A
362
- * surface can tighten the base posture for its turns; a base 'deny' survives
363
- * any overlay.
364
- */
365
- declare function mergeSurfaceOverlay<TBase extends SurfaceMergeBase>(base: TBase, overlay: SurfaceOverlay): TBase & SurfaceMergeBase;
366
-
367
- export { type AnySurfaceKind, type CertifiedDelivery, type CertifiedDeliveryConfig, type LoopEvent, type OpenAICompatServedModel, type OpenAICompatStreamTurnOptions, type OpenAIStreamChunk, type ResolvedAgentProfile, type SurfaceKindDefinition, type SurfaceMcpServer, type SurfaceMergeBase, type SurfaceOverlay, type SurfacePermissionValue, type SurfaceRegistry, createCertifiedDelivery, createOpenAICompatStreamTurn, createSurfaceRegistry, defineSurfaceKind, mergeSurfaceOverlay, toLoopEvents };
1
+ export * from './model-catalog';
2
+ export * from './model';
3
+ export * from './openai-stream';
4
+ export * from './agent';
5
+ export * from './certified-delivery';
6
+ export * from './surface-profile';
7
+ /**
8
+ * The bounded agent tool-loop — the app-facing aliases of the substrate's
9
+ * `runToolLoop` / `streamToolLoop`, plus the app's `LoopEvent` raw-event type.
10
+ *
11
+ * These live in the leaf `./loop` so the barrel AND its children
12
+ * (`./agent`, `./openai-stream`) can both import the tool-loop vocabulary
13
+ * without an import cycle through the barrel. See `./loop` for the full
14
+ * rationale on the OpenAI function-calling history contract and the
15
+ * `reasoning` / `usage` widening.
16
+ */
17
+ export * from './loop';
@@ -0,0 +1,58 @@
1
+ /**
2
+ * The bounded agent tool-loop — owned by `@tangle-network/agent-runtime`.
3
+ *
4
+ * A model turn may emit tool calls (integration-hub actions, the app tools from
5
+ * `../tools`, delegation). The loop streams a turn, collects the executable tool
6
+ * calls, dispatches each, appends the results to history in OpenAI
7
+ * function-calling shape, and re-runs so the model reads them — bounded by
8
+ * `maxToolTurns`, a wall-clock `deadlineMs`, and a `maxCostUsd` budget.
9
+ *
10
+ * The history shape is the OpenAI function-calling contract: the assistant turn
11
+ * that emitted tool calls is preserved as an `assistant` message carrying its
12
+ * `tool_calls` array, and each result is its own `{ role: 'tool', tool_call_id,
13
+ * content }` message keyed to the call. A strict model (Claude, and any
14
+ * OpenAI-compatible provider that validates tool history) needs this to read its
15
+ * own tool use back; folding results into a `user` message makes such models
16
+ * re-issue the same call in a loop.
17
+ *
18
+ * The loop is substrate-owned (`runToolLoop` / `streamToolLoop`); the app
19
+ * supplies `streamTurn` (wrapping its model endpoint) and `executeToolCall`
20
+ * (routing to its integration + app-tool executors). The app-facing names below
21
+ * are 1:1 aliases of the canonical symbols, kept so this package's consumers and
22
+ * the in-package `createAgentRuntime` read against a single, stable vocabulary.
23
+ *
24
+ * This is the LEAF the runtime barrel and its children both import — keeping the
25
+ * tool-loop vocabulary out of any import cycle. The barrel re-exports it.
26
+ */
27
+ export { runToolLoop as runAppToolLoop, streamToolLoop as streamAppToolLoop, } from '@tangle-network/agent-runtime/tool-loop';
28
+ export type { ToolLoopCall as LoopToolCall, ToolLoopAssistantToolCall as LoopAssistantToolCall, ToolLoopMessage as LoopMessage, ToolLoopEvent, ToolLoopStopReason, ToolLoopResult, RunToolLoopOptions as AppToolLoopOptions, StreamToolLoopOptions as StreamAppToolLoopOptions, StreamToolLoopYield as StreamLoopYield, } from '@tangle-network/agent-runtime/tool-loop';
29
+ /**
30
+ * Events the app's OpenAI-compat stream adapter ({@link toLoopEvents}) yields.
31
+ *
32
+ * This is the app's own `Raw` event type for the streaming loop — the canonical
33
+ * `streamToolLoop<Raw>` is generic over it. It widens the substrate's
34
+ * tool-loop event with `reasoning` (DeepSeek/router `reasoning_content` /
35
+ * `thinking` deltas, rendered as thinking sections) and `usage` (per-message
36
+ * token accounting) — neither belongs in the substrate's loop contract, so they
37
+ * stay here. The adapter maps each into the `streamTurn` seam; `text` and
38
+ * `tool_call` drive the loop, `reasoning` / `usage` pass through to the UI.
39
+ */
40
+ export type LoopEvent = {
41
+ type: 'text';
42
+ text: string;
43
+ } | {
44
+ type: 'reasoning';
45
+ text: string;
46
+ } | {
47
+ type: 'tool_call';
48
+ call: import('@tangle-network/agent-runtime/tool-loop').ToolLoopCall;
49
+ } | {
50
+ type: 'usage';
51
+ usage: {
52
+ promptTokens: number;
53
+ completionTokens: number;
54
+ };
55
+ } | {
56
+ type: 'other';
57
+ event: unknown;
58
+ };
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Model catalogue — computed live from the Tangle Router, never hand-curated.
3
+ * Lifted from tuner-agent so every agent app's model picker shares one
4
+ * filter/dedupe/rank/feature pipeline instead of re-deriving it.
5
+ *
6
+ * The router's /models endpoint returns every routeable model (~200), which is
7
+ * unusable as a picker list: it mixes chat models with TTS/embedding/realtime
8
+ * endpoints, dated snapshots alias their parents, and provider-prefixed ids
9
+ * duplicate canonical ones. This module turns that into a product catalogue:
10
+ *
11
+ * filter (chat-capable, routeable) → dedupe (snapshot/prefix/:free aliases)
12
+ * → rank (provider tier, family, version) → feature (best model per family)
13
+ * → default (env override or first featured)
14
+ *
15
+ * Freshness is automatic: everything is derived from the live router response,
16
+ * so new models surface as soon as the router lists them. The only static
17
+ * knowledge here is slow-moving: provider display order and family name
18
+ * patterns (e.g. "claude-sonnet-*", "gpt-N"). A new Sonnet or GPT release
19
+ * outranks its predecessor by version comparison with zero code change; only
20
+ * a brand-new *family name* (rare) needs a one-line rule addition.
21
+ */
22
+ export interface RouterModel {
23
+ id: string;
24
+ name?: string;
25
+ description?: string;
26
+ _provider?: string;
27
+ pricing?: {
28
+ prompt?: string | null;
29
+ completion?: string | null;
30
+ };
31
+ context_length?: number;
32
+ architecture?: {
33
+ modality?: string;
34
+ input_modalities?: string[];
35
+ output_modalities?: string[];
36
+ };
37
+ supported_parameters?: string[];
38
+ routeability?: {
39
+ status?: string;
40
+ routeable?: boolean;
41
+ provider?: string;
42
+ };
43
+ }
44
+ /** Define the structure and capabilities of a catalog item with optional pricing and feature flags */
45
+ export interface CatalogModel {
46
+ id: string;
47
+ name: string;
48
+ provider: string;
49
+ description?: string;
50
+ contextLength?: number;
51
+ pricing?: {
52
+ prompt?: string;
53
+ completion?: string;
54
+ };
55
+ supportsTools: boolean;
56
+ supportsReasoning: boolean;
57
+ featured: boolean;
58
+ }
59
+ /** Define a catalog containing models with a default ID and fetch timestamp */
60
+ export interface ModelCatalog {
61
+ defaultModelId: string | null;
62
+ fetchedAt: string;
63
+ models: CatalogModel[];
64
+ }
65
+ /** Strip provider prefix, :free suffix, and trailing date stamps. */
66
+ export declare function normalizeModelId(id: string): string;
67
+ /**
68
+ * Can this router entry serve a text chat turn?
69
+ *
70
+ * The router lists every routeable endpoint, which is not the same list a chat
71
+ * picker should show: measured against the live catalogue (504 entries), this
72
+ * rejects 35 — image generators, TTS voices, embedding models, and the
73
+ * audio-IN transcription endpoints (`whisper-1`, `gpt-4o-transcribe`, …) that
74
+ * emit text but cannot take a text prompt.
75
+ *
76
+ * A model whose metadata omits either modality list is KEPT. The router is the
77
+ * source of that metadata and it is occasionally sparse; dropping a usable
78
+ * model because a field is missing is the worse failure of the two.
79
+ *
80
+ * Exported because a picker needs the same answer `buildCatalog` uses — the
81
+ * fleet had this predicate copied into a product component, where its narrower
82
+ * spelling let the 10 transcription endpoints through.
83
+ */
84
+ export declare function isChatCapableModel(m: RouterModel): boolean;
85
+ /**
86
+ * Pure catalogue pipeline. `preferredDefault` (typically the MODEL_NAME env
87
+ * var) wins when it survives filtering; otherwise the first featured model.
88
+ */
89
+ export declare function buildCatalog(raw: RouterModel[], opts?: {
90
+ preferredDefault?: string;
91
+ }): ModelCatalog;
92
+ /**
93
+ * Fetch the router model list and build the catalogue, with an in-isolate
94
+ * cache (TTL 5 min). On router failure a stale catalogue is served rather
95
+ * than erroring the picker.
96
+ */
97
+ export declare function fetchModelCatalog(cfg: {
98
+ baseUrl: string;
99
+ apiKey: string;
100
+ preferredDefault?: string;
101
+ }): Promise<ModelCatalog>;
102
+ /** Test-only: clear the catalogue cache. */
103
+ export declare function __resetCatalogCache(): void;