@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,194 +1,3 @@
1
- import { K as KvLike } from '../rate-limit-BOVmJRXZ.js';
2
- export { R as RateLimitResult, c as checkRateLimit } from '../rate-limit-BOVmJRXZ.js';
3
-
4
- /**
5
- * Rate-limit policy for FREE routes: authenticated, unmetered, compute-bearing
6
- * endpoints.
7
- *
8
- * Billing meters the chat turn. Everything deterministic a product adds beside
9
- * it — a planning recompute fired on every slider drag, a redline diff, a
10
- * deadline computation — runs unmetered, so nothing bounds how much worker CPU
11
- * one authenticated caller can spend. `checkRateLimit` is the primitive; this
12
- * is the policy around it, so a route declares a cost class instead of each one
13
- * inventing a key format, a budget, and a denial response.
14
- *
15
- * Three rules this enforces that a hand-rolled call site usually does not:
16
- *
17
- * 1. **Identity is required.** A missing subject is denied, never pooled into a
18
- * shared bucket and never quietly keyed by IP — a shared bucket makes one
19
- * heavy user throttle everyone, and an IP key makes one NAT do the same.
20
- * 2. **A limiter that throws denies.** KV `get`/`put` failures are transport
21
- * failures; treating them as "allowed" converts a KV outage into an
22
- * unbounded-compute hole, which is exactly when the limiter matters most.
23
- * 3. **The denial is a typed, correctable outcome** — reason, HTTP status and
24
- * `Retry-After` — so the caller answers the client rather than failing
25
- * opaquely or, worse, continuing.
26
- *
27
- * ```ts
28
- * export const action = withFreeRouteLimit(
29
- * {
30
- * route: 'tax.plan.recompute',
31
- * costClass: 'interactive',
32
- * kv: ({ context }) => context.cloudflare.env.RATE_LIMIT_KV,
33
- * identify: async ({ request }) => {
34
- * const session = await requireSession(request)
35
- * return { subject: session.userId, workspace: session.workspaceId }
36
- * },
37
- * },
38
- * async ({ request }) => Response.json(recompute(await request.json())),
39
- * )
40
- * ```
41
- */
42
-
43
- /** Requests allowed per identity inside a sliding window. */
44
- interface RateLimitBudget {
45
- limit: number;
46
- windowSeconds: number;
47
- }
48
- /**
49
- * How expensive one call is, which is what picks the default budget.
50
- *
51
- * - `interactive` — a control the user drags or types into, recomputed per
52
- * tick. Sized for sustained two-per-second interaction, so a real slider
53
- * never trips it and a script still stops.
54
- * - `compute` — a derivation the user triggers deliberately (recalculate a
55
- * plan, diff a document, compute a deadline set). The default.
56
- * - `heavy` — whole-document or whole-matter work measured in seconds of CPU.
57
- */
58
- type FreeRouteClass = 'interactive' | 'compute' | 'heavy';
59
- /** Default budget per cost class. A product overrides with an explicit
60
- * `budget` when it has measured its own route. */
61
- declare const FREE_ROUTE_BUDGETS: Readonly<Record<FreeRouteClass, RateLimitBudget>>;
62
- /** A workspace's shared ceiling defaults to this many times one member's, so a
63
- * multi-seat tenant is bounded without a single active member tripping it. */
64
- declare const WORKSPACE_BUDGET_MULTIPLIER = 5;
65
- /** Why a call was refused. Every value is a REFUSAL — there is no reason code
66
- * that lets the handler run. */
67
- type FreeRouteDenialReason =
68
- /** No authenticated subject. Not correctable by waiting. */
69
- 'unidentified'
70
- /** The window is full for this subject or workspace. */
71
- | 'rate-limited'
72
- /** The limiter itself failed (KV read/write threw). Denied, not passed. */
73
- | 'limiter-unavailable';
74
- /** Which window refused the call. `null` when no window was consulted. */
75
- type FreeRouteDimension = 'subject' | 'workspace' | null;
76
- /**
77
- * A correctable refusal: the caller maps `status` + `retryAfterSeconds` onto a
78
- * response (see {@link freeRouteLimitResponse}) so the client learns what to do
79
- * next. Carrying the limiter's own failure in `cause` keeps a KV outage
80
- * diagnosable instead of collapsing into a generic 429.
81
- */
82
- declare class FreeRouteLimitError extends Error {
83
- readonly reason: FreeRouteDenialReason;
84
- readonly status: 401 | 429 | 503;
85
- readonly retryAfterSeconds: number;
86
- readonly dimension: FreeRouteDimension;
87
- readonly route: string;
88
- constructor(init: {
89
- reason: FreeRouteDenialReason;
90
- status: 401 | 429 | 503;
91
- retryAfterSeconds: number;
92
- dimension: FreeRouteDimension;
93
- route: string;
94
- message: string;
95
- cause?: unknown;
96
- });
97
- }
98
- /** What remains of the binding window after an allowed call. */
99
- interface FreeRouteAllowance {
100
- /** Remaining calls in whichever window is tightest. */
101
- remaining: number;
102
- /** Unix seconds at which that window resets. */
103
- resetAt: number;
104
- /** The budget that window enforces. */
105
- budget: RateLimitBudget;
106
- /** Which window is tightest — `subject` unless a workspace ceiling binds. */
107
- dimension: Exclude<FreeRouteDimension, null>;
108
- }
109
- /** Typed outcome at the route boundary: an allowance, or a refusal that says
110
- * how to correct it. There is no third state and no silent pass. */
111
- type FreeRouteLimitOutcome = {
112
- succeeded: true;
113
- value: FreeRouteAllowance;
114
- } | {
115
- succeeded: false;
116
- error: FreeRouteLimitError;
117
- };
118
- interface FreeRouteLimitInput {
119
- kv: KvLike;
120
- /** Stable route name. Part of the key, so two routes never share a window. */
121
- route: string;
122
- /** The authenticated subject (user id). Absent or blank ⇒ denied. */
123
- subject: string | null | undefined;
124
- /** Tenant the call belongs to. When present, a second, wider window bounds
125
- * the workspace as a whole. */
126
- workspace?: string | null;
127
- /** Cost class picking the default budget. Ignored when `budget` is given.
128
- * Default `'compute'`. */
129
- costClass?: FreeRouteClass;
130
- budget?: RateLimitBudget;
131
- /** Workspace ceiling. Defaults to the subject budget's limit multiplied by
132
- * {@link WORKSPACE_BUDGET_MULTIPLIER} over the same window. */
133
- workspaceBudget?: RateLimitBudget;
134
- }
135
- /**
136
- * Decide whether one authenticated, unmetered call may run.
137
- *
138
- * Checks the subject's window first, then the workspace ceiling when a
139
- * workspace is supplied; the tighter of the two is what the allowance reports.
140
- * Every failure path returns a refusal — none returns an allowance.
141
- */
142
- declare function checkFreeRouteLimit(input: FreeRouteLimitInput): Promise<FreeRouteLimitOutcome>;
143
- interface FreeRouteLimitResponseOptions {
144
- /** Extra response headers (a product's security headers, CORS). */
145
- headers?: Record<string, string>;
146
- /** Client-facing message. Defaults to the error's own message. */
147
- message?: string;
148
- }
149
- /** The refusal as an HTTP response: the error's status, a JSON body carrying
150
- * the machine-readable `reason`, and `Retry-After` when waiting can fix it. */
151
- declare function freeRouteLimitResponse(error: FreeRouteLimitError, options?: FreeRouteLimitResponseOptions): Response;
152
- /** The authenticated caller behind one request. */
153
- interface FreeRouteIdentity {
154
- subject: string;
155
- workspace?: string | null;
156
- }
157
- interface WithFreeRouteLimitOptions<TArgs> {
158
- /** Stable route name; part of the key. */
159
- route: string;
160
- costClass?: FreeRouteClass;
161
- budget?: RateLimitBudget;
162
- workspaceBudget?: RateLimitBudget;
163
- /** The KV binding for this request. */
164
- kv: (args: TArgs) => KvLike;
165
- /**
166
- * Resolve the authenticated caller. Return `null` for an unauthenticated
167
- * request — the wrapper then refuses with 401 and the handler never runs.
168
- *
169
- * A THROW here propagates: an auth lookup that failed is not the same as an
170
- * absent session, and the wrapper will not invent a status for it. The
171
- * handler still does not run, so the failure stays closed.
172
- */
173
- identify: (args: TArgs) => Promise<FreeRouteIdentity | null> | FreeRouteIdentity | null;
174
- /** Build the refusal response. Defaults to {@link freeRouteLimitResponse}. */
175
- onDenied?: (error: FreeRouteLimitError, args: TArgs) => Response | Promise<Response>;
176
- }
177
- /**
178
- * Wrap an authenticated, unmetered, compute-bearing route handler in its
179
- * budget. The limit is applied BEFORE the handler is entered — including
180
- * before the request body is read — so a refused call costs a KV read, not the
181
- * compute the route exists to do.
182
- *
183
- * The handler's own response is returned untouched: this never rewrites status,
184
- * body or headers on the success path, so it cannot break a streaming or
185
- * pre-built response.
186
- *
187
- * `TArgs` is the router's handler-argument object (react-router's
188
- * `ActionFunctionArgs`, or any single-object shape a product uses).
189
- */
190
- declare function withFreeRouteLimit<TArgs>(options: WithFreeRouteLimitOptions<TArgs>, handler: (args: TArgs) => Response | Promise<Response>): (args: TArgs) => Promise<Response>;
191
-
192
1
  /**
193
2
  * Web-boundary utilities every agent app's routes hand-roll: JSON body parsing
194
3
  * + narrowing, request-context extraction (real client IP behind Cloudflare),
@@ -197,15 +6,16 @@ declare function withFreeRouteLimit<TArgs>(options: WithFreeRouteLimitOptions<TA
197
6
  * KV is a structural interface so this needs no `@cloudflare/workers-types`
198
7
  * dependency.
199
8
  */
200
-
201
- type JsonObject = Record<string, unknown>;
9
+ export * from './rate-limit';
10
+ export * from './free-route-limit';
11
+ export type JsonObject = Record<string, unknown>;
202
12
  /** Parse + object-narrow a Request body. `[body, null]` on success, `[null,
203
13
  * errorResponse]` on a non-object body (callers `if (err) return err`). */
204
- declare function parseJsonObjectBody(request: Request): Promise<[JsonObject, null] | [null, Response]>;
14
+ export declare function parseJsonObjectBody(request: Request): Promise<[JsonObject, null] | [null, Response]>;
205
15
  /** Narrow one required string field, 400 if missing/empty. */
206
- declare function requireString(body: JsonObject, field: string): string | Response;
16
+ export declare function requireString(body: JsonObject, field: string): string | Response;
207
17
  /** Define the context of a request including IP address, user agent, timestamp, and request ID */
208
- interface RequestContext {
18
+ export interface RequestContext {
209
19
  ipAddress: string;
210
20
  userAgent: string;
211
21
  timestamp: string;
@@ -213,9 +23,9 @@ interface RequestContext {
213
23
  }
214
24
  /** Extract request context for audit trails. Uses `CF-Connecting-IP` for the
215
25
  * real client IP behind Cloudflare. */
216
- declare function extractRequestContext(request: Request): RequestContext;
26
+ export declare function extractRequestContext(request: Request): RequestContext;
217
27
  /** Define options for configuring cookie attributes and behavior */
218
- interface CookieOptions {
28
+ export interface CookieOptions {
219
29
  name: string;
220
30
  /** Default '/'. */
221
31
  path?: string;
@@ -231,13 +41,13 @@ interface CookieOptions {
231
41
  * attributes in Path / HttpOnly / SameSite / Max-Age / Secure order.
232
42
  * Throws on `SameSite=None` without `secure` — browsers silently drop that
233
43
  * combination, which would otherwise fail invisibly. */
234
- declare function serializeCookie(value: string, opts: CookieOptions): string;
44
+ export declare function serializeCookie(value: string, opts: CookieOptions): string;
235
45
  /** Set-Cookie header value that deletes the cookie (empty value, Max-Age=0). */
236
- declare function clearCookieHeader(opts: Omit<CookieOptions, 'maxAgeSeconds'>): string;
46
+ export declare function clearCookieHeader(opts: Omit<CookieOptions, 'maxAgeSeconds'>): string;
237
47
  /** Read + decode one cookie from a Cookie request header; null when absent. */
238
- declare function readCookieValue(cookieHeader: string | null, name: string): string | null;
48
+ export declare function readCookieValue(cookieHeader: string | null, name: string): string | null;
239
49
  /** Define options for configuring security-related HTTP headers including disclaimers and retention labels */
240
- interface SecurityHeaderOptions {
50
+ export interface SecurityHeaderOptions {
241
51
  /** Product disclaimer (e.g. "AI-powered tool. Not legal advice."). Omitted if absent. */
242
52
  disclaimer?: string;
243
53
  /** Data-retention label (e.g. "7-years"). Omitted if absent. */
@@ -248,7 +58,7 @@ interface SecurityHeaderOptions {
248
58
  /** Canonical generic response headers used by {@link addSecurityHeaders}.
249
59
  * Exported so static-asset hosts can apply the same policy without copying
250
60
  * values that silently drift from Worker/API responses. */
251
- declare const STANDARD_SECURITY_HEADERS: Readonly<{
61
+ export declare const STANDARD_SECURITY_HEADERS: Readonly<{
252
62
  readonly 'Strict-Transport-Security': "max-age=31536000; includeSubDomains; preload";
253
63
  readonly 'X-Content-Type-Options': "nosniff";
254
64
  readonly 'X-Frame-Options': "SAMEORIGIN";
@@ -258,7 +68,7 @@ declare const STANDARD_SECURITY_HEADERS: Readonly<{
258
68
  /** Set standard security headers on a response (HSTS, nosniff, frame-options,
259
69
  * referrer-policy, XSS) + optional product disclaimer/retention. The security
260
70
  * set is generic; the disclaimer/retention are the product's. */
261
- declare function addSecurityHeaders(response: Response, opts?: SecurityHeaderOptions): Response;
71
+ export declare function addSecurityHeaders(response: Response, opts?: SecurityHeaderOptions): Response;
262
72
  /**
263
73
  * Canonical media-reference boundary shared by every surface that persists a
264
74
  * media url (sequences clips, design-canvas image/video src). The ONE rule:
@@ -270,6 +80,4 @@ declare function addSecurityHeaders(response: Response, opts?: SecurityHeaderOpt
270
80
  *
271
81
  * @param what - noun for the error message (e.g. 'media url', 'src').
272
82
  */
273
- declare function assertMediaUrl(url: string, what?: string): void;
274
-
275
- export { type CookieOptions, FREE_ROUTE_BUDGETS, type FreeRouteAllowance, type FreeRouteClass, type FreeRouteDenialReason, type FreeRouteDimension, type FreeRouteIdentity, FreeRouteLimitError, type FreeRouteLimitInput, type FreeRouteLimitOutcome, type FreeRouteLimitResponseOptions, type JsonObject, KvLike, type RateLimitBudget, type RequestContext, STANDARD_SECURITY_HEADERS, type SecurityHeaderOptions, WORKSPACE_BUDGET_MULTIPLIER, type WithFreeRouteLimitOptions, addSecurityHeaders, assertMediaUrl, checkFreeRouteLimit, clearCookieHeader, extractRequestContext, freeRouteLimitResponse, parseJsonObjectBody, readCookieValue, requireString, serializeCookie, withFreeRouteLimit };
83
+ export declare function assertMediaUrl(url: string, what?: string): void;
@@ -5,14 +5,14 @@
5
5
  * published surface.
6
6
  */
7
7
  /** Minimal KV contract (Cloudflare `KVNamespace` satisfies it structurally). */
8
- interface KvLike {
8
+ export interface KvLike {
9
9
  get(key: string): Promise<string | null>;
10
10
  put(key: string, value: string, options?: {
11
11
  expirationTtl?: number;
12
12
  }): Promise<void>;
13
13
  }
14
14
  /** Describe the outcome of a rate limit check including allowance, remaining count, and reset time */
15
- interface RateLimitResult {
15
+ export interface RateLimitResult {
16
16
  allowed: boolean;
17
17
  remaining: number;
18
18
  resetAt: number;
@@ -30,6 +30,4 @@ interface RateLimitResult {
30
30
  * truncated value) is treated as a full window, so a tampered key cannot reset
31
31
  * the count and bypass the limiter. A bare `JSON.parse` here would throw and
32
32
  * abort the request handler, silently disabling the limit (fail-open). */
33
- declare function checkRateLimit(kv: KvLike, key: string, limit: number, windowSeconds: number): Promise<RateLimitResult>;
34
-
35
- export { type KvLike as K, type RateLimitResult as R, checkRateLimit as c };
33
+ export declare function checkRateLimit(kv: KvLike, key: string, limit: number, windowSeconds: number): Promise<RateLimitResult>;
@@ -0,0 +1,105 @@
1
+ /**
2
+ * `AgentSessionControls` — the CANONICAL model + harness + reasoning-effort
3
+ * cluster a chat composer docks (see "UI chrome ownership (picker canon)" in
4
+ * AGENTS.md). One component so every product's two composers (and every
5
+ * product) share the same control surface and harness↔model coherence policy.
6
+ *
7
+ * PICKER CANON. The model menu below IS `/web-react`'s `ModelPicker` and the
8
+ * thinking-budget pill IS `EffortPicker` — the canonical ecosystem pickers.
9
+ * sandbox-ui's `dashboard/ModelPicker` and the model menu inside sandbox-ui's
10
+ * `chat/AgentSessionControls` are legacy (deprecated, frozen, removed at
11
+ * sandbox-ui's next major), and the `/chat-react` `ComposerAgentControls`
12
+ * adapter that rendered sandbox-ui's strip is REMOVED — a surface that still
13
+ * renders the sandbox-ui strip is showing the old design; migrate it
14
+ * (props mapping in `docs/ui-picker-canon.md`).
15
+ *
16
+ * Dependency-free beyond React by design: `/web-react` must not force the
17
+ * optional sandbox-ui peer, so this component — the canonical one — can never
18
+ * require it.
19
+ *
20
+ * Two layouts, additive — the default preserves the prior hand-rolled behavior:
21
+ * - `layout="inline"` (default): model, harness, and effort sit side by side as
22
+ * pills. This is the original arrangement; existing call sites that mounted
23
+ * `ModelPicker` + a harness picker + `EffortPicker` in a row get the same UI.
24
+ * - `layout="compact"`: the model picker stays inline and visible; the agent
25
+ * backend ("harness") and reasoning-effort controls — internal jargon a user
26
+ * rarely needs — tuck behind a single gear popover with plain-English copy.
27
+ *
28
+ * Harness ↔ model coherence is identical in both layouts, via the substrate's
29
+ * snap helpers (`@tangle-network/agent-app/harness`): changing the harness snaps
30
+ * an incompatible model to that harness's best catalog option; changing the
31
+ * model switches to the model's native harness. Catalog model ids are canonical
32
+ * ("provider/model"), which is exactly what the snap helpers expect — no id
33
+ * translation is needed here.
34
+ *
35
+ * Dependency-free beyond React: inline SVG glyphs, CSS-var / Tailwind tokens the
36
+ * app shell defines. The harness picker is rendered inline so this needs no
37
+ * sandbox-ui dependency.
38
+ */
39
+ import { type ReactNode } from 'react';
40
+ import { type Harness } from '../harness';
41
+ import type { CatalogModel } from '../runtime/model-catalog';
42
+ import type { EffortLevel } from './controls';
43
+ export interface AgentSessionControlsProps {
44
+ /** Catalog models — canonical provider-prefixed ids. */
45
+ models: CatalogModel[];
46
+ modelsLoading?: boolean;
47
+ /** Selected canonical model id. */
48
+ model: string;
49
+ onModelChange(modelId: string): void;
50
+ /** Current harness; harness↔model coherence is enforced on every change. */
51
+ harness: Harness;
52
+ onHarnessChange(harness: Harness): void;
53
+ /** Harnesses to offer; defaults to the labeled set. */
54
+ availableHarnesses?: ReadonlyArray<Harness>;
55
+ /** Reasoning-effort value + setter. Shown only when the selected model
56
+ * `supportsReasoning`, matching `EffortPicker`'s guidance. */
57
+ effort: string;
58
+ onEffortChange(effort: string): void;
59
+ /**
60
+ * Levels to offer, forwarded verbatim to {@link EffortPicker}. Omit for the
61
+ * default vocabulary.
62
+ *
63
+ * A product whose backend applies only a SUBSET of the levels for the
64
+ * selected harness/model passes that subset here. Without it the strip
65
+ * offers every level and the backend silently ignores the ones it does not
66
+ * apply — a control that reports a choice the system never made.
67
+ *
68
+ * This is the COMPLETE renderable set, not an allow-list layered over a
69
+ * default one — the removed `ComposerAgentControls`' `available` list was the
70
+ * latter, and its picker injected the `auto` sentinel itself. A list that
71
+ * omits the current {@link effort} is still safe: `EffortPicker` reconciles
72
+ * the selected value into the rendered list under its own name rather than
73
+ * resolving it to a different entry (`reconcileEffortLevels`). Build the list
74
+ * from engine ids with `effortLevelsFromIds`; the migration is in
75
+ * `docs/ui-picker-canon.md`.
76
+ */
77
+ effortLevels?: readonly EffortLevel[];
78
+ /**
79
+ * `inline` (default): model, harness, effort side by side — the prior
80
+ * behavior. `compact`: model inline, harness + effort behind a gear popover.
81
+ */
82
+ layout?: 'inline' | 'compact';
83
+ /** Hide the harness control entirely (single-harness products). */
84
+ showHarness?: boolean;
85
+ /**
86
+ * PIN the harness and say why, in the user's words ("This thread already has
87
+ * messages — start a new chat to switch backend"). Presence IS the lock:
88
+ * there is no separate boolean, because a lock a user cannot read is the
89
+ * thing this prop exists to replace.
90
+ *
91
+ * The control stays VISIBLE and reports the harness the thread is on — the
92
+ * shape a locked selector has to keep, since a thread whose backend is fixed
93
+ * is exactly when a user wants to know what it is. Hiding it (`showHarness:
94
+ * false`) is what pushed products into rendering their own lock label
95
+ * outside the panel.
96
+ *
97
+ * While locked, `onHarnessChange` is never called — not from the picker, and
98
+ * not from the model↔harness coherence policy either. See
99
+ * {@link useCoherentHandlers}.
100
+ */
101
+ harnessLockReason?: string;
102
+ renderProviderBadge?: (provider: string) => ReactNode;
103
+ className?: string;
104
+ }
105
+ export declare function AgentSessionControls(props: AgentSessionControlsProps): import("react").JSX.Element;
@@ -0,0 +1,69 @@
1
+ import { type ReactElement, type ReactNode } from 'react';
2
+ import type { AsyncResourceState } from './state';
3
+ import type { MutationState } from './use-confirmed-mutation';
4
+ export interface AsyncEmptyAction {
5
+ label: string;
6
+ onClick: () => void;
7
+ }
8
+ export interface AsyncEmptySpec {
9
+ /** What is not there, in the reader's words ("No templates yet"). Required:
10
+ * an empty state with nothing to say is the state this module exists to
11
+ * stop being mistaken for a failure. */
12
+ title: string;
13
+ description?: string;
14
+ /** The next action. An element is rendered as supplied (a link, a dialog
15
+ * trigger); the object form renders the standard button. */
16
+ action?: AsyncEmptyAction | ReactElement;
17
+ }
18
+ export interface AsyncErrorRenderProps {
19
+ message: string;
20
+ retry: () => void;
21
+ }
22
+ export interface AsyncViewProps<T> {
23
+ state: AsyncResourceState<T>;
24
+ /** Rendered only for `ready`, with the loaded value — the branch cannot be
25
+ * entered without one. */
26
+ children: (value: T) => ReactNode;
27
+ /** Required: `empty` must name what is missing and what to do about it. */
28
+ empty: AsyncEmptySpec | ReactElement;
29
+ /** Must return an element. Returning nothing is what produced the blank
30
+ * screens this component replaces, so a nullish return falls back to the
31
+ * built-in block rather than rendering nothing. */
32
+ renderLoading?: () => ReactElement;
33
+ renderError?: (props: AsyncErrorRenderProps) => ReactElement;
34
+ /** `idle` renders the loading block by default — from the reader's side,
35
+ * "not started" and "in flight" are the same wait. */
36
+ renderIdle?: () => ReactElement;
37
+ loadingLabel?: string;
38
+ retryLabel?: string;
39
+ /** Applied to the wrapper around the non-`ready` branches. `ready` renders the
40
+ * children with no wrapper element, so grids and lists keep their layout. */
41
+ className?: string;
42
+ }
43
+ /**
44
+ * Renders the branch the state is actually in.
45
+ *
46
+ * The three anti-patterns this replaces (`catch` that only clears a loading
47
+ * flag, early return on a non-ok response, bare `null` while loading) all end at
48
+ * the same rendered output as a successful-but-empty load. Here every branch is
49
+ * reached from a different variant and each renders visibly: `loading` and
50
+ * `idle` render a labelled busy block, `error` renders the message plus the
51
+ * retry, `empty` renders the caller's copy and next action, and `ready` is the
52
+ * only branch with a value to hand to `children`.
53
+ */
54
+ export declare function AsyncView<T>({ state, children, empty, renderLoading, renderError, renderIdle, loadingLabel, retryLabel, className, }: AsyncViewProps<T>): ReactElement;
55
+ export interface MutationStatusLabels {
56
+ pending?: string;
57
+ succeeded?: string;
58
+ }
59
+ export interface MutationStatusProps<T> {
60
+ state: MutationState<T>;
61
+ labels?: MutationStatusLabels;
62
+ className?: string;
63
+ }
64
+ /**
65
+ * The write's own status line. "Saved" renders only from `succeeded`, which
66
+ * `useConfirmedMutation` can only reach through a confirmed write, so the label
67
+ * cannot appear over a failed request.
68
+ */
69
+ export declare function MutationStatus<T>({ state, labels, className }: MutationStatusProps<T>): ReactElement | null;