@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,258 +1,18 @@
1
- import { e as InteractionRequestWire } from '../contract-OxG_jVMx.js';
2
- export { f as ChatFreeTextField, b as ChatInteraction, C as ChatInteractionField, a as ChatInteractionStatus, d as ChatSelectField, g as ComposerAnswerDelivery, h as INTERACTION_CANCEL_EVENT, i as INTERACTION_EVENT, j as INTERACTION_RESOLVED_EVENT, k as InteractionAnswerValue, I as InteractionAnswers, c as InteractionCancelData, l as InteractionPersistedPart, N as NoticeKind, m as NoticePersistedPart, P as ParseInteractionAnswersResult, n as ParseInteractionResult, o as canTransitionInteractionStatus, p as cancelStatusFor, q as composerAnswerData, r as composerAnswerDeliveries, s as dedupeQuestionInteractionsByContent, t as fieldAcceptsFreeText, u as interactionFromWireRequest, v as interactionPartKey, w as interactionToPersistedPart, x as isRenderableInteractionKind, y as isSafeInteractionFieldKey, z as isTerminalInteractionStatus, A as noticePart, B as noticePartKey, D as parseInteractionAnswers, E as parseInteractionCancel, F as parseInteractionRequest, G as persistedPartToInteraction, H as questionInteractionContentSignature, J as stampInteractionAnswers } from '../contract-OxG_jVMx.js';
3
- import { InteractionOutcome, InteractionData } from '@tangle-network/agent-interface';
4
- export { InteractionData, InteractionOutcome, InteractionRequest } from '@tangle-network/agent-interface';
5
-
6
1
  /**
7
- * Server-side client for the sandbox sidecar's generic interaction routes
8
- * (`GET/POST {runtimeUrl}/agents/sessions/{sessionId}/interactions`). The
9
- * pinned sandbox SDK exposes only the question-specific `session().answer()`
10
- * convenience; these raw calls are backend-agnostic (question/permission/plan,
11
- * any harness) and carry explicit outcomes (accepted/declined).
12
- *
13
- * Server-only: the sidecar bearer must never reach browser code. The caller
14
- * supplies the connection as a structural value (runtime URL + bearer +
15
- * session id) no sandbox-SDK import, so any box-resolution strategy works.
16
- */
17
-
18
- /** Describe error details including code, message, and upstream HTTP status for sidecar interactions */
19
- interface SidecarInteractionsError {
20
- code: string;
21
- message: string;
22
- /** Upstream HTTP status; 0 when the sidecar was unreachable. */
23
- status: number;
24
- }
25
- /** Represent the outcome of sidecar interactions with success or error details */
26
- type SidecarInteractionsResult<T> = {
27
- succeeded: true;
28
- value: T;
29
- } | {
30
- succeeded: false;
31
- error: SidecarInteractionsError;
32
- };
33
- /** Where and how to reach one session's interaction registry. */
34
- interface SidecarInteractionsConnection {
35
- runtimeUrl: string;
36
- authToken?: string;
37
- /** The sidecar agent-session id (the chat thread's session). */
38
- sessionId: string;
39
- /** Request deadline. A pending interaction means the box is up and the
40
- * sidecar responsive; a short default keeps a wedged runtime from stalling
41
- * the answering request. */
42
- timeoutMs?: number;
43
- /** Injection seam for tests; defaults to global fetch. */
44
- fetchImpl?: typeof fetch;
45
- }
46
- /** Outstanding (unanswered) interactions for the session — the sidecar's
47
- * registry is authoritative, so this is the reconnect/reload source of truth. */
48
- declare function listSessionInteractions(connection: SidecarInteractionsConnection): Promise<SidecarInteractionsResult<InteractionRequestWire[]>>;
49
- /** Resolves one interaction. `data` is required by the sidecar only for
50
- * `accepted` outcomes and is validated fail-closed against the answerSpec
51
- * (400 INVALID_INTERACTION_ANSWER on mismatch). */
52
- declare function respondToSessionInteraction(connection: SidecarInteractionsConnection, response: {
53
- id: string;
54
- outcome: InteractionOutcome;
55
- data?: InteractionData;
56
- }): Promise<SidecarInteractionsResult<void>>;
57
- /**
58
- * A sandbox session's lifecycle as the sidecar reports it.
59
- *
60
- * Every field is optional because the sidecar's payload has grown over time and
61
- * an older box answers with a subset. A reader that assumes a field is present
62
- * mis-reads an old box as terminal; the shapes below are read defensively for
63
- * that reason, not out of caution about types.
64
- */
65
- interface SidecarSessionState {
66
- state?: string;
67
- activeExecutionId?: string | null;
68
- activeExecutionStatus?: string | null;
69
- reconnectable?: boolean;
70
- registryAuthority?: string | null;
71
- terminalReason?: string | null;
72
- lastEventAt?: string | number | null;
73
- outstandingInteractions?: unknown[];
74
- }
75
- interface SidecarAbortResult {
76
- cancelled: boolean;
77
- reason?: string;
78
- session?: SidecarSessionState;
79
- }
80
- /**
81
- * Whether a session has finished and will not produce more events.
82
- *
83
- * The three early returns are the ones that matter: a session with a live
84
- * execution, one the platform says is reconnectable, or one holding an
85
- * unanswered interaction is NOT terminal however its `state` string reads. An
86
- * app that treats such a session as finished abandons a turn mid-flight, or
87
- * leaves an agent blocked on an answer nobody will send.
88
- */
89
- declare function isTerminalSidecarState(state: {
90
- state?: string;
91
- activeExecutionId?: string | null;
92
- reconnectable?: boolean;
93
- outstandingInteractions?: unknown[];
94
- }): boolean;
95
- /** The session's current lifecycle, for reconnect and resume decisions. */
96
- declare function getSessionState(connection: SidecarInteractionsConnection): Promise<SidecarInteractionsResult<SidecarSessionState>>;
97
- /**
98
- * Cancel a running session.
99
- *
100
- * A 404 is reported as a SUCCESSFUL no-op rather than an error: the caller's
101
- * intent is "this session must not be running", and a session the sidecar has
102
- * never heard of already satisfies that. Surfacing it as a failure makes every
103
- * cancel-after-completion look like an outage.
104
- */
105
- declare function abortSession(connection: SidecarInteractionsConnection): Promise<SidecarInteractionsResult<SidecarAbortResult>>;
106
-
107
- /**
108
- * Framework-neutral interaction-answer endpoints, lifted out of the per-app
109
- * route files (gtm `api.chat.interactions`, legal `api.chat.interactions`,
110
- * tax `api.sessions.$id.interactions` — three byte-similar forks):
111
- *
112
- * list(request) — GET: outstanding asks for a live turn (reload restore)
113
- * answer(request) — POST `{ id, outcome, data? }`: resolve one ask
114
- *
115
- * The product supplies ONE seam, `resolveConnection`: authenticate the caller,
116
- * authorize the thread/session, and resolve the sidecar connection. Everything
117
- * behind the seam is mechanism the forks kept re-fixing:
118
- *
119
- * - body validation (safe field keys, typed values),
120
- * - sidecar error → client contract mapping (every "the ask is gone" shape
121
- * becomes 410 so the card flips to its expired state),
122
- * - duplicate resolution: after answering, every other outstanding ask with
123
- * the same content signature (a re-emitted duplicate) gets the same answer,
124
- * - unblock verification: re-list and fail loud (503 INTERACTION_STILL_PENDING)
125
- * when the sidecar accepted the POST but the ask is still open,
126
- * - best-effort list: sidecar failures return `{ interactions: [],
127
- * unavailable }` so a reload restore never breaks the live stream.
128
- *
129
- * Handlers return web-standard `Response`s (Workers, Node 18+, Deno) — no
130
- * router import anywhere.
2
+ * `@tangle-network/agent-app/interactions` the human-in-the-loop interaction
3
+ * channel, both halves:
4
+ *
5
+ * - the shared wire/persisted-part contract (`contract.ts`) a chat producer
6
+ * and a chat client agree on (also re-exported from `./web-react` so
7
+ * existing imports keep working),
8
+ * - the server side (`sidecar.ts` + `route.ts`): a structural client for the
9
+ * sidecar's `/agents/sessions/{id}/interactions` REST channel and
10
+ * `createInteractionAnswerRoute()`, the list/answer endpoint factory that
11
+ * retires the per-app route forks.
12
+ *
13
+ * The only shared-package peer is `@tangle-network/agent-interface` (schema +
14
+ * types). The sidecar connection is a structural value, never an SDK import.
131
15
  */
132
-
133
- /** Define possible outcomes for an interaction client as accepted or declined */
134
- type InteractionClientOutcome = 'accepted' | 'declined';
135
- /** Validate interaction answer body and return success with data or failure with error message */
136
- type InteractionAnswerBodyValidation = {
137
- ok: true;
138
- id: string;
139
- outcome: InteractionClientOutcome;
140
- data?: InteractionData;
141
- } | {
142
- ok: false;
143
- error: string;
144
- };
145
- /** Validates the client POST body: `{ id, outcome, data? }` with
146
- * identifier-safe field keys and primitive/string-array values only. */
147
- declare function validateInteractionAnswerBody(body: Record<string, unknown>): InteractionAnswerBodyValidation;
148
- /** Provide logging methods for warnings and errors in interaction routes */
149
- type InteractionRouteLogger = Pick<Console, 'warn' | 'error'>;
150
- /** Sidecar error → the client-actionable contract. Every "the ask is gone"
151
- * shape maps to 410 so the card flips to its expired state — a raw 404/409
152
- * must never surface. */
153
- declare function mapInteractionRespondFailure(error: SidecarInteractionsError, logger?: InteractionRouteLogger): Response;
154
- /** The product seam's verdict for one request. `response` short-circuits with
155
- * a product-authored Response (401/404/429…); `unavailable` means the caller
156
- * is fine but the sandbox runtime is not reachable — the factory shapes that
157
- * per intent (empty list for `list`, 503 for `answer`). */
158
- type InteractionConnectionResolution = {
159
- ok: true;
160
- connection: SidecarInteractionsConnection;
161
- } | {
162
- ok: false;
163
- response: Response;
164
- } | {
165
- ok: false;
166
- unavailable: string;
167
- };
168
- /** Define arguments required to resolve interaction connections based on request and intent */
169
- interface ResolveInteractionConnectionArgs {
170
- request: Request;
171
- intent: 'list' | 'answer';
172
- /** The parsed, validated POST body (answer intent only) so the resolver can
173
- * read product routing fields (workspaceId/threadId) without re-parsing. */
174
- body?: Record<string, unknown>;
175
- }
176
- /** Describe the arguments provided before processing an interaction answer including request, body, and connection details */
177
- interface BeforeInteractionAnswerArgs {
178
- request: Request;
179
- /** Original parsed body, including product routing fields. */
180
- body: Record<string, unknown>;
181
- /** Shared validation result; products never need to parse the answer again. */
182
- answer: Extract<InteractionAnswerBodyValidation, {
183
- ok: true;
184
- }>;
185
- connection: SidecarInteractionsConnection;
186
- /** The route's single authoritative pre-answer sidecar snapshot. */
187
- outstanding: InteractionRequestWire[];
188
- answeredRequest?: InteractionRequestWire;
189
- /** Content-identical questions that the shared route will also answer. */
190
- duplicateRequests: InteractionRequestWire[];
191
- }
192
- /** Define arguments for durable interaction routes including a stable caller-created attempt key */
193
- interface DurableInteractionRouteArgs extends BeforeInteractionAnswerArgs {
194
- /** Caller-created opaque identifier, stable across an ambiguous retry. */
195
- attemptKey: string;
196
- }
197
- /** Crash-recoverable persistence lifecycle for the answer route. The product
198
- * binds this structural port to its OWN durable store — agent-app ships no
199
- * implementation (the `/durable-chat` module that used to provide one was
200
- * removed in 0.44.0 after nine repos produced zero imports of it). Existing
201
- * `beforeAnswer` behavior remains independent and unchanged. */
202
- interface DurableInteractionRoutePersistence<TPrepared = unknown> {
203
- guarantee: 'reconciled' | 'best-effort';
204
- prepare(args: DurableInteractionRouteArgs): TPrepared | Promise<TPrepared>;
205
- /** Resolve an ambiguous retry (for example, the sidecar says the ask is
206
- * already gone). Only `settled:true` permits the route to report success. */
207
- reconcile(args: DurableInteractionRouteArgs & {
208
- prepared: TPrepared;
209
- }): {
210
- settled: boolean;
211
- } | Promise<{
212
- settled: boolean;
213
- }>;
214
- /** Record the authority acknowledgement before terminal projection. */
215
- acknowledge(args: DurableInteractionRouteArgs & {
216
- prepared: TPrepared;
217
- duplicateIds: string[];
218
- }): void | Promise<void>;
219
- /** Idempotently materialize terminal status and accepted values. */
220
- finalize(args: DurableInteractionRouteArgs & {
221
- prepared: TPrepared;
222
- duplicateIds: string[];
223
- }): void | Promise<void>;
224
- fail?(args: DurableInteractionRouteArgs & {
225
- prepared: TPrepared;
226
- error: unknown;
227
- }): void | Promise<void>;
228
- }
229
- /** Define options to authenticate, authorize, and manage persistence for interaction answer routes */
230
- interface InteractionAnswerRouteOptions {
231
- /** Authenticate + authorize the caller and resolve the sidecar connection.
232
- * This is the only product-supplied step: session auth, workspace/thread
233
- * access, rate limiting, and box resolution all live here. */
234
- resolveConnection: (args: ResolveInteractionConnectionArgs) => Promise<InteractionConnectionResolution>;
235
- /** Product persistence seam that runs before the answer can unblock and
236
- * finalize the agent turn. A throw aborts the request before any answer POST. */
237
- beforeAnswer?: (args: BeforeInteractionAnswerArgs) => void | Promise<void>;
238
- /** Additive crash-recoverable settlement. When configured, POST requires an
239
- * `attemptKey`; accepted values are finalized only after sidecar ack. */
240
- durable?: DurableInteractionRoutePersistence;
241
- logger?: InteractionRouteLogger;
242
- }
243
- /** Define routes to list outstanding interactions and resolve answers for live turns */
244
- interface InteractionAnswerRoute {
245
- /** GET — outstanding interactions for a live turn. Failures return an empty
246
- * list with an explicit `unavailable` code: the caller is a best-effort
247
- * reload restore, and the live/replayed stream must stay untouched when the
248
- * sidecar cannot answer. */
249
- list: (request: Request) => Promise<Response>;
250
- /** POST `{ id, outcome, data?, ...productFields }` — resolve one ask, answer
251
- * content-identical duplicates the same way, then re-list to prove the run
252
- * actually unblocked. */
253
- answer: (request: Request) => Promise<Response>;
254
- }
255
- /** Create an interaction answer route that handles listing and resolving interaction requests */
256
- declare function createInteractionAnswerRoute(options: InteractionAnswerRouteOptions): InteractionAnswerRoute;
257
-
258
- export { type BeforeInteractionAnswerArgs, type DurableInteractionRouteArgs, type DurableInteractionRoutePersistence, type InteractionAnswerBodyValidation, type InteractionAnswerRoute, type InteractionAnswerRouteOptions, type InteractionClientOutcome, type InteractionConnectionResolution, InteractionRequestWire, type InteractionRouteLogger, type ResolveInteractionConnectionArgs, type SidecarAbortResult, type SidecarInteractionsConnection, type SidecarInteractionsError, type SidecarInteractionsResult, type SidecarSessionState, abortSession, createInteractionAnswerRoute, getSessionState, isTerminalSidecarState, listSessionInteractions, mapInteractionRespondFailure, respondToSessionInteraction, validateInteractionAnswerBody };
16
+ export * from './contract';
17
+ export * from './sidecar';
18
+ export * from './route';
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Framework-neutral interaction-answer endpoints, lifted out of the per-app
3
+ * route files (gtm `api.chat.interactions`, legal `api.chat.interactions`,
4
+ * tax `api.sessions.$id.interactions` — three byte-similar forks):
5
+ *
6
+ * list(request) — GET: outstanding asks for a live turn (reload restore)
7
+ * answer(request) — POST `{ id, outcome, data? }`: resolve one ask
8
+ *
9
+ * The product supplies ONE seam, `resolveConnection`: authenticate the caller,
10
+ * authorize the thread/session, and resolve the sidecar connection. Everything
11
+ * behind the seam is mechanism the forks kept re-fixing:
12
+ *
13
+ * - body validation (safe field keys, typed values),
14
+ * - sidecar error → client contract mapping (every "the ask is gone" shape
15
+ * becomes 410 so the card flips to its expired state),
16
+ * - duplicate resolution: after answering, every other outstanding ask with
17
+ * the same content signature (a re-emitted duplicate) gets the same answer,
18
+ * - unblock verification: re-list and fail loud (503 INTERACTION_STILL_PENDING)
19
+ * when the sidecar accepted the POST but the ask is still open,
20
+ * - best-effort list: sidecar failures return `{ interactions: [],
21
+ * unavailable }` so a reload restore never breaks the live stream.
22
+ *
23
+ * Handlers return web-standard `Response`s (Workers, Node 18+, Deno) — no
24
+ * router import anywhere.
25
+ */
26
+ import { type InteractionData, type InteractionRequestWire } from './contract';
27
+ import { type SidecarInteractionsConnection, type SidecarInteractionsError } from './sidecar';
28
+ /** Define possible outcomes for an interaction client as accepted or declined */
29
+ export type InteractionClientOutcome = 'accepted' | 'declined';
30
+ /** Validate interaction answer body and return success with data or failure with error message */
31
+ export type InteractionAnswerBodyValidation = {
32
+ ok: true;
33
+ id: string;
34
+ outcome: InteractionClientOutcome;
35
+ data?: InteractionData;
36
+ } | {
37
+ ok: false;
38
+ error: string;
39
+ };
40
+ /** Validates the client POST body: `{ id, outcome, data? }` with
41
+ * identifier-safe field keys and primitive/string-array values only. */
42
+ export declare function validateInteractionAnswerBody(body: Record<string, unknown>): InteractionAnswerBodyValidation;
43
+ /** Provide logging methods for warnings and errors in interaction routes */
44
+ export type InteractionRouteLogger = Pick<Console, 'warn' | 'error'>;
45
+ /** Sidecar error → the client-actionable contract. Every "the ask is gone"
46
+ * shape maps to 410 so the card flips to its expired state — a raw 404/409
47
+ * must never surface. */
48
+ export declare function mapInteractionRespondFailure(error: SidecarInteractionsError, logger?: InteractionRouteLogger): Response;
49
+ /** The product seam's verdict for one request. `response` short-circuits with
50
+ * a product-authored Response (401/404/429…); `unavailable` means the caller
51
+ * is fine but the sandbox runtime is not reachable — the factory shapes that
52
+ * per intent (empty list for `list`, 503 for `answer`). */
53
+ export type InteractionConnectionResolution = {
54
+ ok: true;
55
+ connection: SidecarInteractionsConnection;
56
+ } | {
57
+ ok: false;
58
+ response: Response;
59
+ } | {
60
+ ok: false;
61
+ unavailable: string;
62
+ };
63
+ /** Define arguments required to resolve interaction connections based on request and intent */
64
+ export interface ResolveInteractionConnectionArgs {
65
+ request: Request;
66
+ intent: 'list' | 'answer';
67
+ /** The parsed, validated POST body (answer intent only) so the resolver can
68
+ * read product routing fields (workspaceId/threadId) without re-parsing. */
69
+ body?: Record<string, unknown>;
70
+ }
71
+ /** Describe the arguments provided before processing an interaction answer including request, body, and connection details */
72
+ export interface BeforeInteractionAnswerArgs {
73
+ request: Request;
74
+ /** Original parsed body, including product routing fields. */
75
+ body: Record<string, unknown>;
76
+ /** Shared validation result; products never need to parse the answer again. */
77
+ answer: Extract<InteractionAnswerBodyValidation, {
78
+ ok: true;
79
+ }>;
80
+ connection: SidecarInteractionsConnection;
81
+ /** The route's single authoritative pre-answer sidecar snapshot. */
82
+ outstanding: InteractionRequestWire[];
83
+ answeredRequest?: InteractionRequestWire;
84
+ /** Content-identical questions that the shared route will also answer. */
85
+ duplicateRequests: InteractionRequestWire[];
86
+ }
87
+ /** Define arguments for durable interaction routes including a stable caller-created attempt key */
88
+ export interface DurableInteractionRouteArgs extends BeforeInteractionAnswerArgs {
89
+ /** Caller-created opaque identifier, stable across an ambiguous retry. */
90
+ attemptKey: string;
91
+ }
92
+ /** Crash-recoverable persistence lifecycle for the answer route. The product
93
+ * binds this structural port to its OWN durable store — agent-app ships no
94
+ * implementation (the `/durable-chat` module that used to provide one was
95
+ * removed in 0.44.0 after nine repos produced zero imports of it). Existing
96
+ * `beforeAnswer` behavior remains independent and unchanged. */
97
+ export interface DurableInteractionRoutePersistence<TPrepared = unknown> {
98
+ guarantee: 'reconciled' | 'best-effort';
99
+ prepare(args: DurableInteractionRouteArgs): TPrepared | Promise<TPrepared>;
100
+ /** Resolve an ambiguous retry (for example, the sidecar says the ask is
101
+ * already gone). Only `settled:true` permits the route to report success. */
102
+ reconcile(args: DurableInteractionRouteArgs & {
103
+ prepared: TPrepared;
104
+ }): {
105
+ settled: boolean;
106
+ } | Promise<{
107
+ settled: boolean;
108
+ }>;
109
+ /** Record the authority acknowledgement before terminal projection. */
110
+ acknowledge(args: DurableInteractionRouteArgs & {
111
+ prepared: TPrepared;
112
+ duplicateIds: string[];
113
+ }): void | Promise<void>;
114
+ /** Idempotently materialize terminal status and accepted values. */
115
+ finalize(args: DurableInteractionRouteArgs & {
116
+ prepared: TPrepared;
117
+ duplicateIds: string[];
118
+ }): void | Promise<void>;
119
+ fail?(args: DurableInteractionRouteArgs & {
120
+ prepared: TPrepared;
121
+ error: unknown;
122
+ }): void | Promise<void>;
123
+ }
124
+ /** Define options to authenticate, authorize, and manage persistence for interaction answer routes */
125
+ export interface InteractionAnswerRouteOptions {
126
+ /** Authenticate + authorize the caller and resolve the sidecar connection.
127
+ * This is the only product-supplied step: session auth, workspace/thread
128
+ * access, rate limiting, and box resolution all live here. */
129
+ resolveConnection: (args: ResolveInteractionConnectionArgs) => Promise<InteractionConnectionResolution>;
130
+ /** Product persistence seam that runs before the answer can unblock and
131
+ * finalize the agent turn. A throw aborts the request before any answer POST. */
132
+ beforeAnswer?: (args: BeforeInteractionAnswerArgs) => void | Promise<void>;
133
+ /** Additive crash-recoverable settlement. When configured, POST requires an
134
+ * `attemptKey`; accepted values are finalized only after sidecar ack. */
135
+ durable?: DurableInteractionRoutePersistence;
136
+ logger?: InteractionRouteLogger;
137
+ }
138
+ /** Define routes to list outstanding interactions and resolve answers for live turns */
139
+ export interface InteractionAnswerRoute {
140
+ /** GET — outstanding interactions for a live turn. Failures return an empty
141
+ * list with an explicit `unavailable` code: the caller is a best-effort
142
+ * reload restore, and the live/replayed stream must stay untouched when the
143
+ * sidecar cannot answer. */
144
+ list: (request: Request) => Promise<Response>;
145
+ /** POST `{ id, outcome, data?, ...productFields }` — resolve one ask, answer
146
+ * content-identical duplicates the same way, then re-list to prove the run
147
+ * actually unblocked. */
148
+ answer: (request: Request) => Promise<Response>;
149
+ }
150
+ /** Create an interaction answer route that handles listing and resolving interaction requests */
151
+ export declare function createInteractionAnswerRoute(options: InteractionAnswerRouteOptions): InteractionAnswerRoute;
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Server-side client for the sandbox sidecar's generic interaction routes
3
+ * (`GET/POST {runtimeUrl}/agents/sessions/{sessionId}/interactions`). The
4
+ * pinned sandbox SDK exposes only the question-specific `session().answer()`
5
+ * convenience; these raw calls are backend-agnostic (question/permission/plan,
6
+ * any harness) and carry explicit outcomes (accepted/declined).
7
+ *
8
+ * Server-only: the sidecar bearer must never reach browser code. The caller
9
+ * supplies the connection as a structural value (runtime URL + bearer +
10
+ * session id) — no sandbox-SDK import, so any box-resolution strategy works.
11
+ */
12
+ import type { InteractionData, InteractionOutcome, InteractionRequestWire } from './contract';
13
+ /** Describe error details including code, message, and upstream HTTP status for sidecar interactions */
14
+ export interface SidecarInteractionsError {
15
+ code: string;
16
+ message: string;
17
+ /** Upstream HTTP status; 0 when the sidecar was unreachable. */
18
+ status: number;
19
+ }
20
+ /** Represent the outcome of sidecar interactions with success or error details */
21
+ export type SidecarInteractionsResult<T> = {
22
+ succeeded: true;
23
+ value: T;
24
+ } | {
25
+ succeeded: false;
26
+ error: SidecarInteractionsError;
27
+ };
28
+ /** Where and how to reach one session's interaction registry. */
29
+ export interface SidecarInteractionsConnection {
30
+ runtimeUrl: string;
31
+ authToken?: string;
32
+ /** The sidecar agent-session id (the chat thread's session). */
33
+ sessionId: string;
34
+ /** Request deadline. A pending interaction means the box is up and the
35
+ * sidecar responsive; a short default keeps a wedged runtime from stalling
36
+ * the answering request. */
37
+ timeoutMs?: number;
38
+ /** Injection seam for tests; defaults to global fetch. */
39
+ fetchImpl?: typeof fetch;
40
+ }
41
+ /** Outstanding (unanswered) interactions for the session — the sidecar's
42
+ * registry is authoritative, so this is the reconnect/reload source of truth. */
43
+ export declare function listSessionInteractions(connection: SidecarInteractionsConnection): Promise<SidecarInteractionsResult<InteractionRequestWire[]>>;
44
+ /** Resolves one interaction. `data` is required by the sidecar only for
45
+ * `accepted` outcomes and is validated fail-closed against the answerSpec
46
+ * (400 INVALID_INTERACTION_ANSWER on mismatch). */
47
+ export declare function respondToSessionInteraction(connection: SidecarInteractionsConnection, response: {
48
+ id: string;
49
+ outcome: InteractionOutcome;
50
+ data?: InteractionData;
51
+ }): Promise<SidecarInteractionsResult<void>>;
52
+ /**
53
+ * A sandbox session's lifecycle as the sidecar reports it.
54
+ *
55
+ * Every field is optional because the sidecar's payload has grown over time and
56
+ * an older box answers with a subset. A reader that assumes a field is present
57
+ * mis-reads an old box as terminal; the shapes below are read defensively for
58
+ * that reason, not out of caution about types.
59
+ */
60
+ export interface SidecarSessionState {
61
+ state?: string;
62
+ activeExecutionId?: string | null;
63
+ activeExecutionStatus?: string | null;
64
+ reconnectable?: boolean;
65
+ registryAuthority?: string | null;
66
+ terminalReason?: string | null;
67
+ lastEventAt?: string | number | null;
68
+ outstandingInteractions?: unknown[];
69
+ }
70
+ export interface SidecarAbortResult {
71
+ cancelled: boolean;
72
+ reason?: string;
73
+ session?: SidecarSessionState;
74
+ }
75
+ /**
76
+ * Whether a session has finished and will not produce more events.
77
+ *
78
+ * The three early returns are the ones that matter: a session with a live
79
+ * execution, one the platform says is reconnectable, or one holding an
80
+ * unanswered interaction is NOT terminal however its `state` string reads. An
81
+ * app that treats such a session as finished abandons a turn mid-flight, or
82
+ * leaves an agent blocked on an answer nobody will send.
83
+ */
84
+ export declare function isTerminalSidecarState(state: {
85
+ state?: string;
86
+ activeExecutionId?: string | null;
87
+ reconnectable?: boolean;
88
+ outstandingInteractions?: unknown[];
89
+ }): boolean;
90
+ /** The session's current lifecycle, for reconnect and resume decisions. */
91
+ export declare function getSessionState(connection: SidecarInteractionsConnection): Promise<SidecarInteractionsResult<SidecarSessionState>>;
92
+ /**
93
+ * Cancel a running session.
94
+ *
95
+ * A 404 is reported as a SUCCESSFUL no-op rather than an error: the caller's
96
+ * intent is "this session must not be running", and a session the sidecar has
97
+ * never heard of already satisfies that. Surfacing it as a failure makes every
98
+ * cancel-after-completion look like an outage.
99
+ */
100
+ export declare function abortSession(connection: SidecarInteractionsConnection): Promise<SidecarInteractionsResult<SidecarAbortResult>>;
@@ -1,5 +1,3 @@
1
- import { KnowledgeRequirementCategory, KnowledgeAcquisitionMode, KnowledgeImportance, KnowledgeFreshness, KnowledgeSensitivity, KnowledgeRequirement } from '@tangle-network/agent-eval';
2
-
3
1
  /**
4
2
  * Declarative knowledge-requirement gate.
5
3
  *
@@ -18,9 +16,9 @@ import { KnowledgeRequirementCategory, KnowledgeAcquisitionMode, KnowledgeImport
18
16
  * — implements. Emits `@tangle-network/agent-eval`'s `KnowledgeRequirement[]`,
19
17
  * exactly what the agent-runtime control loop consumes.
20
18
  */
21
-
19
+ import type { KnowledgeAcquisitionMode, KnowledgeFreshness, KnowledgeImportance, KnowledgeRequirement, KnowledgeRequirementCategory, KnowledgeSensitivity } from '@tangle-network/agent-eval';
22
20
  /** A declarative rule for satisfying a requirement from workspace state. */
23
- type SatisfiedByRule =
21
+ export type SatisfiedByRule =
24
22
  /** A workspace-config field (dot-path) is set. `nonEmpty` requires a
25
23
  * non-empty array/string rather than mere presence. */
26
24
  {
@@ -41,7 +39,7 @@ type SatisfiedByRule =
41
39
  allOf: SatisfiedByRule[];
42
40
  };
43
41
  /** Define the criteria and conditions required to satisfy a specific knowledge requirement */
44
- interface KnowledgeRequirementSpec {
42
+ export interface KnowledgeRequirementSpec {
45
43
  id: string;
46
44
  description: string;
47
45
  category: KnowledgeRequirementCategory;
@@ -61,7 +59,7 @@ interface KnowledgeRequirementSpec {
61
59
  }
62
60
  /** The single seam a backend implements. `preset-cloudflare` provides a D1
63
61
  * implementation; a custom stack supplies its own. */
64
- interface KnowledgeStateAccessor {
62
+ export interface KnowledgeStateAccessor {
65
63
  /** Resolve a workspace-config field value (dot-path), or undefined. */
66
64
  config: (path: string) => unknown;
67
65
  /** Count rows in `table` for the active workspace, optionally status-filtered. */
@@ -72,7 +70,7 @@ interface KnowledgeStateAccessor {
72
70
  }) => number | Promise<number>;
73
71
  }
74
72
  /** Define a signal representing knowledge with confidence level and optional supporting evidence */
75
- interface KnowledgeSignal {
73
+ export interface KnowledgeSignal {
76
74
  confidence: number;
77
75
  evidence?: string;
78
76
  }
@@ -81,12 +79,10 @@ interface KnowledgeSignal {
81
79
  * confidence from `signals` (default 0). Pure + sync: an eval harness can pass
82
80
  * hand-authored signals; production passes the output of {@link deriveSignals}.
83
81
  */
84
- declare function buildKnowledgeRequirements(specs: KnowledgeRequirementSpec[], signals?: Record<string, KnowledgeSignal>): KnowledgeRequirement[];
82
+ export declare function buildKnowledgeRequirements(specs: KnowledgeRequirementSpec[], signals?: Record<string, KnowledgeSignal>): KnowledgeRequirement[];
85
83
  /**
86
84
  * Score every spec from workspace state. `derive` (code) wins; otherwise the
87
85
  * declarative `satisfiedBy` rule is evaluated through the accessor; a spec with
88
86
  * neither scores 0 (an acquisition gate, e.g. `search_web`).
89
87
  */
90
- declare function deriveSignals(specs: KnowledgeRequirementSpec[], ctx: KnowledgeStateAccessor): Promise<Record<string, KnowledgeSignal>>;
91
-
92
- export { type KnowledgeRequirementSpec, type KnowledgeSignal, type KnowledgeStateAccessor, type SatisfiedByRule, buildKnowledgeRequirements, deriveSignals };
88
+ export declare function deriveSignals(specs: KnowledgeRequirementSpec[], ctx: KnowledgeStateAccessor): Promise<Record<string, KnowledgeSignal>>;