@tangle-network/agent-app 0.45.53 → 0.45.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/README.md +1 -1
  2. package/dist/alerting/index.d.ts +5 -175
  3. package/dist/alerting/slack.d.ts +176 -0
  4. package/dist/app-auth/index.d.ts +14 -17
  5. package/dist/assets/index.d.ts +2 -504
  6. package/dist/assets/schema.d.ts +264 -0
  7. package/dist/assets/types.d.ts +237 -0
  8. package/dist/assistant/AssistantDock.d.ts +56 -0
  9. package/dist/assistant/AssistantHistory.d.ts +41 -0
  10. package/dist/assistant/AssistantPanel.d.ts +84 -0
  11. package/dist/assistant/ProposalCard.d.ts +41 -0
  12. package/dist/assistant/ResizeHandle.d.ts +19 -0
  13. package/dist/assistant/client-context.d.ts +20 -0
  14. package/dist/assistant/client.d.ts +117 -0
  15. package/dist/assistant/index.d.ts +19 -848
  16. package/dist/assistant/launcher.d.ts +23 -0
  17. package/dist/assistant/persistence.d.ts +26 -0
  18. package/dist/assistant/presentation.d.ts +99 -0
  19. package/dist/assistant/provider-label.d.ts +7 -0
  20. package/dist/assistant/reducer.d.ts +130 -0
  21. package/dist/assistant/sse.d.ts +24 -0
  22. package/dist/assistant/time-ago.d.ts +6 -0
  23. package/dist/assistant/transcript.d.ts +97 -0
  24. package/dist/assistant/types.d.ts +291 -0
  25. package/dist/assistant/use-stick-to-bottom.d.ts +28 -0
  26. package/dist/assistant/useAssistantChat.d.ts +63 -0
  27. package/dist/assistant/useAssistantModels.d.ts +22 -0
  28. package/dist/assistant/useAssistantThreads.d.ts +47 -0
  29. package/dist/assistant/usePanelPrefs.d.ts +55 -0
  30. package/dist/billing/index.d.ts +19 -21
  31. package/dist/brand/index.d.ts +16 -10
  32. package/dist/brand-extraction/extract.d.ts +34 -0
  33. package/dist/brand-extraction/index.d.ts +12 -214
  34. package/dist/brand-extraction/map.d.ts +58 -0
  35. package/dist/brand-extraction/types.d.ts +119 -0
  36. package/dist/catalog/index.d.ts +11 -101
  37. package/dist/chat-react/composer-mode-controls.d.ts +14 -0
  38. package/dist/chat-react/entry-composer.d.ts +92 -0
  39. package/dist/chat-react/index.d.ts +22 -118
  40. package/dist/chat-react/types.d.ts +11 -0
  41. package/dist/chat-routes/attachment-store.d.ts +84 -0
  42. package/dist/chat-routes/attachment-upload.d.ts +84 -0
  43. package/dist/chat-routes/attachment-validation.d.ts +95 -0
  44. package/dist/chat-routes/binary-sniff.d.ts +45 -0
  45. package/dist/chat-routes/completed-sandbox-turn.d.ts +25 -0
  46. package/dist/chat-routes/detached-turn.d.ts +197 -0
  47. package/dist/chat-routes/dispatch-parts.d.ts +101 -0
  48. package/dist/chat-routes/draft-persistence.d.ts +189 -0
  49. package/dist/chat-routes/durable-projection.d.ts +18 -0
  50. package/dist/chat-routes/file-index.d.ts +115 -0
  51. package/dist/chat-routes/index.d.ts +25 -1840
  52. package/dist/chat-routes/model-failover-stream.d.ts +206 -0
  53. package/dist/chat-routes/promote-file-part.d.ts +84 -0
  54. package/dist/chat-routes/resolve-attachments.d.ts +72 -0
  55. package/dist/chat-routes/sandbox-producer.d.ts +146 -0
  56. package/dist/chat-routes/sandbox-turn-usage.d.ts +4 -0
  57. package/dist/{stale-turn-lock-DucQzvXu.d.ts → chat-routes/stale-turn-lock.d.ts} +7 -9
  58. package/dist/chat-routes/turn-routes.d.ts +540 -0
  59. package/dist/chat-routes/upload.d.ts +84 -0
  60. package/dist/{wire-DOZ-O6hD.d.ts → chat-routes/wire.d.ts} +41 -44
  61. package/dist/chat-store/core.d.ts +19 -0
  62. package/dist/chat-store/index.d.ts +22 -322
  63. package/dist/{parts-BqIHMdyu.d.ts → chat-store/parts.d.ts} +49 -47
  64. package/dist/chat-store/schema.d.ts +157 -0
  65. package/dist/chat-store/store.d.ts +177 -0
  66. package/dist/config/index.d.ts +13 -18
  67. package/dist/crypto/index.d.ts +10 -12
  68. package/dist/crypto/web-token.d.ts +22 -0
  69. package/dist/design-canvas/apply.d.ts +70 -0
  70. package/dist/design-canvas/drizzle-store.d.ts +29 -0
  71. package/dist/design-canvas/drizzle.d.ts +7 -575
  72. package/dist/{export-presets-mgVulRaV.d.ts → design-canvas/export-presets.d.ts} +18 -22
  73. package/dist/design-canvas/index.d.ts +22 -268
  74. package/dist/design-canvas/mcp-entry.d.ts +15 -0
  75. package/dist/design-canvas/mcp-handler.d.ts +34 -0
  76. package/dist/design-canvas/mcp-tools.d.ts +30 -0
  77. package/dist/{model-DnfO_PdJ.d.ts → design-canvas/model.d.ts} +33 -35
  78. package/dist/{operations-ByJ6yXOW.d.ts → design-canvas/operations.d.ts} +21 -25
  79. package/dist/design-canvas/schema.d.ts +558 -0
  80. package/dist/{store-CqfDtnPQ.d.ts → design-canvas/store.d.ts} +8 -12
  81. package/dist/design-canvas/templates.d.ts +72 -0
  82. package/dist/design-canvas/validate.d.ts +32 -0
  83. package/dist/design-canvas-react/components/BleedTrimOverlay.d.ts +22 -0
  84. package/dist/design-canvas-react/components/BrandKnot.d.ts +11 -0
  85. package/dist/design-canvas-react/components/CanvasEmptyState.d.ts +32 -0
  86. package/dist/design-canvas-react/components/CanvasInsertPanel.d.ts +53 -0
  87. package/dist/{lazy-DrkVyDpe.d.ts → design-canvas-react/components/DesignCanvas.d.ts} +27 -20
  88. package/dist/design-canvas-react/components/DesignCanvasEditor.d.ts +23 -0
  89. package/dist/design-canvas-react/components/ElementNode.d.ts +51 -0
  90. package/dist/design-canvas-react/components/ExportControl.d.ts +21 -0
  91. package/dist/design-canvas-react/components/GridLayer.d.ts +47 -0
  92. package/dist/design-canvas-react/components/InlineTextEditor.d.ts +25 -0
  93. package/dist/design-canvas-react/components/LayersPanel.d.ts +20 -0
  94. package/dist/design-canvas-react/components/PagesStrip.d.ts +34 -0
  95. package/dist/design-canvas-react/components/Rulers.d.ts +31 -0
  96. package/dist/design-canvas-react/components/SelectionLayer.d.ts +51 -0
  97. package/dist/design-canvas-react/components/SnapGuidesOverlay.d.ts +25 -0
  98. package/dist/design-canvas-react/components/Toolbar.d.ts +64 -0
  99. package/dist/design-canvas-react/components/Workspace.d.ts +92 -0
  100. package/dist/design-canvas-react/components/ZoomControls.d.ts +14 -0
  101. package/dist/design-canvas-react/components/glyphs.d.ts +46 -0
  102. package/dist/design-canvas-react/components/icon-button.d.ts +22 -0
  103. package/dist/design-canvas-react/components/index.d.ts +27 -0
  104. package/dist/design-canvas-react/components/layer-tree.d.ts +34 -0
  105. package/dist/design-canvas-react/components/ruler-math.d.ts +78 -0
  106. package/dist/design-canvas-react/components/transform-math.d.ts +168 -0
  107. package/dist/{command-stack-TNPWJCzW.d.ts → design-canvas-react/contracts.d.ts} +16 -63
  108. package/dist/design-canvas-react/engine/command-stack.d.ts +43 -0
  109. package/dist/design-canvas-react/engine/commands.d.ts +154 -0
  110. package/dist/design-canvas-react/engine/selection.d.ts +48 -0
  111. package/dist/design-canvas-react/engine/snap.d.ts +24 -0
  112. package/dist/design-canvas-react/engine/zoom-pan.d.ts +18 -0
  113. package/dist/design-canvas-react/engine.d.ts +21 -399
  114. package/dist/design-canvas-react/export-math.d.ts +104 -0
  115. package/dist/design-canvas-react/export.d.ts +89 -0
  116. package/dist/design-canvas-react/index.d.ts +16 -586
  117. package/dist/design-canvas-react/insert-builders.d.ts +61 -0
  118. package/dist/design-canvas-react/lazy.d.ts +21 -6
  119. package/dist/documents/docx.d.ts +50 -0
  120. package/dist/documents/extract.d.ts +87 -0
  121. package/dist/documents/index.d.ts +26 -232
  122. package/dist/documents/media-type.d.ts +33 -0
  123. package/dist/documents/pdf-inspector.d.ts +5 -9
  124. package/dist/{types-DrBidf3O.d.ts → documents/types.d.ts} +13 -15
  125. package/dist/documents/zip.d.ts +56 -0
  126. package/dist/eval/calibration.d.ts +106 -0
  127. package/dist/eval/index.d.ts +8 -116
  128. package/dist/eval-campaign/index.d.ts +11 -12
  129. package/dist/{trust-gate-Dcm5xSva.d.ts → eval-campaign/trust-gate.d.ts} +5 -9
  130. package/dist/forms/blank.d.ts +48 -0
  131. package/dist/forms/fill.d.ts +105 -0
  132. package/dist/forms/index.d.ts +58 -332
  133. package/dist/forms/registry.d.ts +115 -0
  134. package/dist/forms/verify.d.ts +58 -0
  135. package/dist/harness/index.d.ts +21 -19
  136. package/dist/intakes/api.d.ts +5 -11
  137. package/dist/{completion-CvcNUz07.d.ts → intakes/completion.d.ts} +7 -11
  138. package/dist/intakes/context-sufficiency.d.ts +113 -0
  139. package/dist/intakes/drizzle/schema.d.ts +338 -0
  140. package/dist/intakes/drizzle/store.d.ts +75 -0
  141. package/dist/intakes/drizzle.d.ts +12 -391
  142. package/dist/intakes/index.d.ts +23 -113
  143. package/dist/{model-C8U0HZxL.d.ts → intakes/model.d.ts} +15 -17
  144. package/dist/intakes-react/components/BrandMark.d.ts +10 -0
  145. package/dist/intakes-react/components/IntakeInterview.d.ts +15 -0
  146. package/dist/intakes-react/components/index.d.ts +1 -0
  147. package/dist/intakes-react/contracts.d.ts +42 -0
  148. package/dist/intakes-react/index.d.ts +12 -47
  149. package/dist/intakes-react/lazy.d.ts +9 -8
  150. package/dist/integrations/index.d.ts +10 -12
  151. package/dist/{contract-OxG_jVMx.d.ts → interactions/contract.d.ts} +40 -42
  152. package/dist/interactions/index.d.ts +16 -256
  153. package/dist/interactions/route.d.ts +151 -0
  154. package/dist/interactions/sidecar.d.ts +100 -0
  155. package/dist/knowledge/index.d.ts +7 -11
  156. package/dist/knowledge-loop/index.d.ts +13 -20
  157. package/dist/legibility/checks/empty-state.d.ts +59 -0
  158. package/dist/legibility/checks/reachability.d.ts +103 -0
  159. package/dist/legibility/checks/silent-failure.d.ts +57 -0
  160. package/dist/legibility/checks/success.d.ts +38 -0
  161. package/dist/legibility/checks/vocabulary.d.ts +65 -0
  162. package/dist/legibility/cli-args.d.ts +30 -0
  163. package/dist/legibility/cli.d.ts +25 -0
  164. package/dist/legibility/index.d.ts +10 -530
  165. package/dist/legibility/report.d.ts +22 -0
  166. package/dist/legibility/scan.d.ts +29 -0
  167. package/dist/legibility/source.d.ts +132 -0
  168. package/dist/legibility/suppress.d.ts +36 -0
  169. package/dist/legibility/types.d.ts +168 -0
  170. package/dist/legibility/walk-sources.d.ts +21 -0
  171. package/dist/{agent-activity-C8ZG0F0M.d.ts → missions/agent-activity.d.ts} +3 -5
  172. package/dist/missions/engine.d.ts +251 -0
  173. package/dist/missions/events.d.ts +195 -0
  174. package/dist/missions/index.d.ts +12 -765
  175. package/dist/missions/plan-parse.d.ts +50 -0
  176. package/dist/missions/service.d.ts +265 -0
  177. package/dist/{failover-D-3UXXTb.d.ts → model-resolution/failover.d.ts} +10 -12
  178. package/dist/model-resolution/index.d.ts +15 -18
  179. package/dist/object-store/index.d.ts +15 -17
  180. package/dist/openui/action.d.ts +54 -0
  181. package/dist/openui/authoring.d.ts +25 -0
  182. package/dist/openui/index.d.ts +24 -206
  183. package/dist/openui/route.d.ts +124 -0
  184. package/dist/openui/segments.d.ts +71 -0
  185. package/dist/openui/values.d.ts +82 -0
  186. package/dist/openui-react/index.d.ts +9 -13
  187. package/dist/peer-floors/check.d.ts +9 -190
  188. package/dist/peer-floors/cli.d.ts +2 -3
  189. package/dist/peer-floors/dependency-source.d.ts +178 -0
  190. package/dist/plans/index.d.ts +13 -14
  191. package/dist/{billing-BuNlaKlE.d.ts → platform/billing.d.ts} +28 -32
  192. package/dist/platform/guards.d.ts +79 -0
  193. package/dist/platform/hub.d.ts +107 -0
  194. package/dist/platform/index.d.ts +7 -112
  195. package/dist/{sso-Cm00S61u.d.ts → platform/sso.d.ts} +15 -97
  196. package/dist/preflight/cli.d.ts +3 -6
  197. package/dist/preflight/index.d.ts +16 -18
  198. package/dist/preset-cloudflare/headers.d.ts +12 -0
  199. package/dist/preset-cloudflare/index.d.ts +22 -74
  200. package/dist/preset-cloudflare/workflow-instance.d.ts +35 -0
  201. package/dist/profile/budget.d.ts +72 -0
  202. package/dist/profile/fingerprint.d.ts +65 -0
  203. package/dist/profile/index.d.ts +27 -19
  204. package/dist/prompt/index.d.ts +3 -5
  205. package/dist/record/drizzle/schema.d.ts +488 -0
  206. package/dist/record/drizzle/store.d.ts +224 -0
  207. package/dist/record/drizzle.d.ts +10 -679
  208. package/dist/record/fold.d.ts +99 -0
  209. package/dist/record/index.d.ts +13 -13
  210. package/dist/{fold-DACU7gtf.d.ts → record/model.d.ts} +22 -124
  211. package/dist/record/ulid.d.ts +12 -0
  212. package/dist/redact/index.d.ts +14 -16
  213. package/dist/run/index.d.ts +11 -16
  214. package/dist/runtime/agent.d.ts +23 -0
  215. package/dist/runtime/certified-delivery.d.ts +57 -0
  216. package/dist/runtime/index.d.ts +17 -367
  217. package/dist/runtime/loop.d.ts +58 -0
  218. package/dist/runtime/model-catalog.d.ts +103 -0
  219. package/dist/{model-CdCDfBA9.d.ts → runtime/model.d.ts} +25 -27
  220. package/dist/runtime/openai-stream.d.ts +126 -0
  221. package/dist/runtime/surface-profile.d.ts +115 -0
  222. package/dist/sandbox/binary-read.d.ts +63 -0
  223. package/dist/sandbox/diagnostics.d.ts +69 -0
  224. package/dist/sandbox/index.d.ts +103 -1085
  225. package/dist/sandbox/model.d.ts +179 -0
  226. package/dist/sandbox/outcome.d.ts +10 -0
  227. package/dist/sandbox/prewarm-claim-d1.d.ts +80 -0
  228. package/dist/sandbox/prewarm.d.ts +193 -0
  229. package/dist/sandbox/recovery.d.ts +216 -0
  230. package/dist/sandbox/terminal-connection.d.ts +145 -0
  231. package/dist/sandbox/workspace-sandbox-manager.d.ts +44 -0
  232. package/dist/sequences/apply.d.ts +54 -0
  233. package/dist/sequences/captions.d.ts +91 -0
  234. package/dist/sequences/drizzle-store.d.ts +36 -0
  235. package/dist/sequences/drizzle.d.ts +7 -1252
  236. package/dist/sequences/exports.d.ts +138 -0
  237. package/dist/sequences/index.d.ts +19 -340
  238. package/dist/sequences/mcp-entry.d.ts +15 -0
  239. package/dist/sequences/mcp-handler.d.ts +39 -0
  240. package/dist/sequences/mcp-tools.d.ts +47 -0
  241. package/dist/{store-B7LLlk9p.d.ts → sequences/model.d.ts} +26 -110
  242. package/dist/sequences/operations.d.ts +126 -0
  243. package/dist/sequences/schema.d.ts +1231 -0
  244. package/dist/sequences/store.d.ts +81 -0
  245. package/dist/sequences/validate.d.ts +98 -0
  246. package/dist/sequences-react/components/BrandMark.d.ts +10 -0
  247. package/dist/sequences-react/components/PreviewCanvas.d.ts +26 -0
  248. package/dist/sequences-react/components/SnapIndicatorLine.d.ts +11 -0
  249. package/dist/sequences-react/components/TimelineClipChip.d.ts +80 -0
  250. package/dist/sequences-react/components/TimelineEditor.d.ts +44 -0
  251. package/dist/sequences-react/components/TimelineEmptyState.d.ts +21 -0
  252. package/dist/sequences-react/components/TimelineGhostLanes.d.ts +14 -0
  253. package/dist/sequences-react/components/TimelinePlayhead.d.ts +11 -0
  254. package/dist/sequences-react/components/TimelineRuler.d.ts +16 -0
  255. package/dist/sequences-react/components/TimelineSmallScreenGate.d.ts +12 -0
  256. package/dist/sequences-react/components/TimelineTrackRow.d.ts +51 -0
  257. package/dist/sequences-react/components/ZoomControl.d.ts +15 -0
  258. package/dist/sequences-react/components/composite-command.d.ts +8 -0
  259. package/dist/sequences-react/components/glyphs.d.ts +26 -0
  260. package/dist/sequences-react/components/index.d.ts +31 -0
  261. package/dist/sequences-react/components/interaction-math.d.ts +103 -0
  262. package/dist/sequences-react/contracts.d.ts +187 -0
  263. package/dist/sequences-react/engine/command-stack.d.ts +18 -0
  264. package/dist/sequences-react/engine/commands.d.ts +146 -0
  265. package/dist/sequences-react/engine/playback.d.ts +18 -0
  266. package/dist/sequences-react/engine/snap.d.ts +29 -0
  267. package/dist/sequences-react/engine/zoom.d.ts +29 -0
  268. package/dist/sequences-react/index.d.ts +20 -880
  269. package/dist/sequences-react/lazy.d.ts +8 -0
  270. package/dist/sequences-react/media/frame-provider.d.ts +70 -0
  271. package/dist/sequences-react/media/transcription.d.ts +33 -0
  272. package/dist/sequences-react/media/waveform.d.ts +34 -0
  273. package/dist/session-shell/index.d.ts +31 -204
  274. package/dist/session-shell/nav-guard.d.ts +170 -0
  275. package/dist/session-shell/path.d.ts +19 -0
  276. package/dist/signoff/cli.d.ts +4 -7
  277. package/dist/signoff/config.d.ts +12 -0
  278. package/dist/signoff/exec.d.ts +44 -0
  279. package/dist/signoff/index.d.ts +56 -14
  280. package/dist/signoff/invoked-as-script.d.ts +25 -0
  281. package/dist/signoff/node-version.d.ts +50 -0
  282. package/dist/signoff/proof-attach.d.ts +88 -0
  283. package/dist/signoff/proof-cli.d.ts +1 -0
  284. package/dist/signoff/proof-fixture.d.ts +13 -0
  285. package/dist/signoff/proof-from-report.d.ts +22 -0
  286. package/dist/signoff/proof-git.d.ts +57 -0
  287. package/dist/signoff/proof-record.d.ts +202 -0
  288. package/dist/signoff/proof-verify.d.ts +103 -0
  289. package/dist/signoff/proof.d.ts +35 -310
  290. package/dist/signoff/report.d.ts +7 -0
  291. package/dist/{run-D80hoLKh.d.ts → signoff/run.d.ts} +3 -6
  292. package/dist/signoff/schedule.d.ts +55 -0
  293. package/dist/signoff/seeds.d.ts +50 -0
  294. package/dist/signoff/store.d.ts +22 -0
  295. package/dist/{types-Bd6uW9vQ.d.ts → signoff/types.d.ts} +15 -17
  296. package/dist/signoff/workflow-pin.d.ts +56 -0
  297. package/dist/signoff/workspace.d.ts +40 -0
  298. package/dist/skills/index.d.ts +28 -32
  299. package/dist/skills-placement/index.d.ts +7 -11
  300. package/dist/spend/budget.d.ts +123 -0
  301. package/dist/spend/ceiling.d.ts +51 -0
  302. package/dist/spend/cli-args.d.ts +20 -0
  303. package/dist/spend/cli.d.ts +1 -0
  304. package/dist/spend/fixtures/incident-parked-time.d.ts +55 -0
  305. package/dist/spend/index.d.ts +38 -1144
  306. package/dist/spend/liveness.d.ts +131 -0
  307. package/dist/spend/ownership.d.ts +87 -0
  308. package/dist/spend/reconcile.d.ts +109 -0
  309. package/dist/spend/reference.d.ts +42 -0
  310. package/dist/spend/report.d.ts +12 -0
  311. package/dist/spend/store.d.ts +123 -0
  312. package/dist/spend/types.d.ts +466 -0
  313. package/dist/store/index.d.ts +10 -12
  314. package/dist/stories/app-shell/fixtures.d.ts +43 -0
  315. package/dist/stories/app-shell/shell.d.ts +81 -0
  316. package/dist/stories/assistant/fixtures.d.ts +73 -0
  317. package/dist/stories/chat/fixtures.d.ts +70 -0
  318. package/dist/stories/chat/markdown.d.ts +11 -0
  319. package/dist/stories/chat/run-drill-in.d.ts +19 -0
  320. package/dist/stories/chat-controls/fixtures.d.ts +116 -0
  321. package/dist/stories/design-canvas/fixtures.d.ts +57 -0
  322. package/dist/stories/fixtures/canvas.d.ts +10 -0
  323. package/dist/stories/fixtures/catalog.d.ts +7 -0
  324. package/dist/stories/fixtures/chat.d.ts +39 -0
  325. package/dist/stories/fixtures/index.d.ts +4 -0
  326. package/dist/stories/fixtures/sequences.d.ts +17 -0
  327. package/dist/stories/panels/fixtures.d.ts +63 -0
  328. package/dist/stories/sequences/fixtures.d.ts +30 -0
  329. package/dist/stories/studio/fixtures.d.ts +22 -0
  330. package/dist/stream/index.d.ts +10 -56
  331. package/dist/{stream-normalizer-DKRxyVlZ.d.ts → stream/stream-normalizer.d.ts} +23 -26
  332. package/dist/{turn-buffer-COMQUwO2.d.ts → stream/turn-buffer.d.ts} +21 -23
  333. package/dist/stream/turn-identity.d.ts +49 -0
  334. package/dist/studio/generation.d.ts +179 -0
  335. package/dist/studio/index.d.ts +12 -181
  336. package/dist/studio-react/avatar-composer.d.ts +8 -0
  337. package/dist/studio-react/composer-hero.d.ts +12 -0
  338. package/dist/studio-react/composer-shell.d.ts +18 -0
  339. package/dist/studio-react/generation-card.d.ts +9 -0
  340. package/dist/studio-react/generation-detail-modal.d.ts +11 -0
  341. package/dist/studio-react/generation-detail.d.ts +6 -0
  342. package/dist/studio-react/generation-grid.d.ts +15 -0
  343. package/dist/studio-react/image-composer.d.ts +8 -0
  344. package/dist/studio-react/index.d.ts +32 -245
  345. package/dist/studio-react/library-drawer.d.ts +12 -0
  346. package/dist/studio-react/library-panel.d.ts +15 -0
  347. package/dist/studio-react/publish-package-composer.d.ts +18 -0
  348. package/dist/studio-react/result-canvas.d.ts +6 -0
  349. package/dist/studio-react/speech-composer.d.ts +4 -0
  350. package/dist/studio-react/studio-header.d.ts +5 -0
  351. package/dist/studio-react/studio-sheet.d.ts +12 -0
  352. package/dist/studio-react/studio-workspace.d.ts +23 -0
  353. package/dist/studio-react/transcription-composer.d.ts +12 -0
  354. package/dist/studio-react/type-config.d.ts +11 -0
  355. package/dist/studio-react/use-studio-generations.d.ts +20 -0
  356. package/dist/studio-react/video-composer.d.ts +10 -0
  357. package/dist/tangle/index.d.ts +7 -9
  358. package/dist/teams/drizzle/access.d.ts +82 -0
  359. package/dist/{invitations-schema-_fI7HkJP.d.ts → teams/drizzle/invitations-schema.d.ts} +39 -27
  360. package/dist/teams/drizzle/personal-organization.d.ts +41 -0
  361. package/dist/{access-490O6aOU.d.ts → teams/drizzle/schema.d.ts} +57 -122
  362. package/dist/teams/drizzle.d.ts +12 -44
  363. package/dist/teams/index.d.ts +20 -44
  364. package/dist/teams/invitations-api.d.ts +17 -21
  365. package/dist/{invitations-DoYMvXea.d.ts → teams/invitations.d.ts} +14 -18
  366. package/dist/teams/invite.d.ts +42 -0
  367. package/dist/teams/members-api.d.ts +12 -16
  368. package/dist/teams/resend.d.ts +3 -13
  369. package/dist/{roles-B4nU3jDi.d.ts → teams/roles.d.ts} +18 -20
  370. package/dist/teams-react/components/BrandMark.d.ts +10 -0
  371. package/dist/teams-react/components/InvitationsPanel.d.ts +13 -0
  372. package/dist/teams-react/components/InviteAcceptPage.d.ts +10 -0
  373. package/dist/teams-react/components/MembersPanel.d.ts +14 -0
  374. package/dist/teams-react/components/RoleSelect.d.ts +17 -0
  375. package/dist/teams-react/components/index.d.ts +3 -0
  376. package/dist/teams-react/contracts.d.ts +134 -0
  377. package/dist/teams-react/index.d.ts +12 -143
  378. package/dist/teams-react/lazy.d.ts +11 -11
  379. package/dist/test-setup.d.ts +1 -0
  380. package/dist/theme/index.d.ts +6 -104
  381. package/dist/theme/tailwind-preset.d.ts +1 -2
  382. package/dist/theme/theme.d.ts +106 -0
  383. package/dist/theme-contract/cli.d.ts +21 -0
  384. package/dist/theme-contract/index.d.ts +4 -6
  385. package/dist/{auth-BYtiazA4.d.ts → tools/auth.d.ts} +8 -11
  386. package/dist/tools/capability.d.ts +54 -0
  387. package/dist/tools/dispatch.d.ts +37 -0
  388. package/dist/tools/errors.d.ts +8 -0
  389. package/dist/tools/gating.d.ts +62 -0
  390. package/dist/tools/http.d.ts +27 -0
  391. package/dist/tools/index.d.ts +12 -217
  392. package/dist/{mcp-rpc-DYwPlYbZ.d.ts → tools/mcp-rpc.d.ts} +7 -9
  393. package/dist/{mcp-xxoZZfor.d.ts → tools/mcp.d.ts} +14 -16
  394. package/dist/tools/openai.d.ts +28 -0
  395. package/dist/tools/registry.d.ts +39 -0
  396. package/dist/tools/runtime.d.ts +22 -0
  397. package/dist/{types-B25Mib1r.d.ts → tools/types.d.ts} +15 -83
  398. package/dist/{flow-types-CJxEmaRy.d.ts → trace/flow-types.d.ts} +2 -4
  399. package/dist/trace/index.d.ts +11 -148
  400. package/dist/trace/mission-flow.d.ts +82 -0
  401. package/dist/trace/mission-trace.d.ts +52 -0
  402. package/dist/turn-health/classify.d.ts +207 -0
  403. package/dist/turn-health/index.d.ts +29 -637
  404. package/dist/turn-health/lifecycle.d.ts +75 -0
  405. package/dist/turn-health/sink.d.ts +122 -0
  406. package/dist/turn-health/sweep.d.ts +245 -0
  407. package/dist/turn-stream/adapters.d.ts +257 -0
  408. package/dist/turn-stream/core.d.ts +293 -0
  409. package/dist/turn-stream/do.d.ts +144 -0
  410. package/dist/turn-stream/index.d.ts +62 -738
  411. package/dist/turn-stream/memory.d.ts +41 -0
  412. package/dist/vault/ConfirmDialog.d.ts +22 -0
  413. package/dist/vault/VaultPane.d.ts +15 -0
  414. package/dist/{VaultPane-BDP6SB_K.d.ts → vault/contracts.d.ts} +15 -22
  415. package/dist/vault/index.d.ts +15 -22
  416. package/dist/vault/lazy.d.ts +9 -7
  417. package/dist/vault/server.d.ts +8 -10
  418. package/dist/web/free-route-limit.d.ts +187 -0
  419. package/dist/web/index.d.ts +15 -207
  420. package/dist/{rate-limit-BOVmJRXZ.d.ts → web/rate-limit.d.ts} +3 -5
  421. package/dist/web-react/agent-session-controls.d.ts +105 -0
  422. package/dist/web-react/async/async-view.d.ts +69 -0
  423. package/dist/web-react/async/index.d.ts +13 -305
  424. package/dist/web-react/async/state.d.ts +107 -0
  425. package/dist/web-react/async/use-async-resource.d.ts +41 -0
  426. package/dist/web-react/async/use-confirmed-mutation.d.ts +90 -0
  427. package/dist/web-react/brand-mark.d.ts +11 -0
  428. package/dist/web-react/chat-attachments.d.ts +21 -0
  429. package/dist/web-react/chat-composer.d.ts +174 -0
  430. package/dist/web-react/chat-interactions.d.ts +1 -0
  431. package/dist/web-react/chat-mentions.d.ts +48 -0
  432. package/dist/web-react/chat-stream.d.ts +106 -0
  433. package/dist/web-react/class-names.d.ts +10 -0
  434. package/dist/web-react/controls.d.ts +265 -0
  435. package/dist/web-react/durable-chat-cards.d.ts +40 -0
  436. package/dist/web-react/durable-interaction-submit.d.ts +22 -0
  437. package/dist/web-react/durable-plan-card.d.ts +13 -0
  438. package/dist/web-react/durable-plan-flow.d.ts +77 -0
  439. package/dist/web-react/harness-glyphs.d.ts +28 -0
  440. package/dist/web-react/index.d.ts +80 -2347
  441. package/dist/web-react/inert.d.ts +39 -0
  442. package/dist/web-react/insight-card.d.ts +203 -0
  443. package/dist/web-react/interaction-card-support.d.ts +115 -0
  444. package/dist/web-react/interaction-plan-card.d.ts +39 -0
  445. package/dist/web-react/interaction-question-card.d.ts +100 -0
  446. package/dist/web-react/message-attachments.d.ts +56 -0
  447. package/dist/web-react/mission-activity.d.ts +96 -0
  448. package/dist/web-react/motion.d.ts +43 -0
  449. package/dist/web-react/provenance-model.d.ts +195 -0
  450. package/dist/web-react/provenance.d.ts +82 -0
  451. package/dist/web-react/provider-logo.d.ts +14 -0
  452. package/dist/web-react/record-grid-model.d.ts +257 -0
  453. package/dist/web-react/record-grid.d.ts +108 -0
  454. package/dist/web-react/sandbox-terminal.d.ts +90 -0
  455. package/dist/web-react/seat-paywall.d.ts +47 -0
  456. package/dist/web-react/session-history.d.ts +196 -0
  457. package/dist/web-react/smooth-text.d.ts +29 -0
  458. package/dist/web-react/sparkline.d.ts +150 -0
  459. package/dist/web-react/terminal.d.ts +1 -92
  460. package/dist/web-react/use-chat-interactions.d.ts +78 -0
  461. package/dist/web-react/use-composer-attachments.d.ts +111 -0
  462. package/dist/web-react/use-file-mentions.d.ts +94 -0
  463. package/dist/web-react/work-product.d.ts +105 -0
  464. package/dist/work-product/claim-support.d.ts +288 -0
  465. package/dist/work-product/index.d.ts +16 -849
  466. package/dist/work-product/provenance.d.ts +61 -0
  467. package/dist/{queue-VTBA5ONX.d.ts → work-product/queue.d.ts} +10 -12
  468. package/dist/work-product/quote.d.ts +139 -0
  469. package/dist/work-product/route.d.ts +88 -0
  470. package/dist/work-product/service.d.ts +123 -0
  471. package/dist/work-product/tools.d.ts +144 -0
  472. package/dist/{types-CCeYywdS.d.ts → work-product/types.d.ts} +29 -31
  473. package/dist/work-product-react/index.d.ts +19 -8
  474. package/dist/workspace-react/index.d.ts +8 -11
  475. package/package.json +5 -4
  476. package/dist/agent-session-controls-CmlXwp_H.d.ts +0 -384
  477. package/dist/apply-6wlMOLf8.d.ts +0 -280
  478. package/dist/attachment-validation-BfJDBU1g.d.ts +0 -261
  479. package/dist/budget-BOucfcb_.d.ts +0 -142
  480. package/dist/values-C7RidJuI.d.ts +0 -156
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Request guards for agent-app routes: session auth (302 redirect for pages,
3
+ * JSON 401 for APIs), admin allowlisting (404 — the route stays invisible to
4
+ * non-admins), and the billable-balance gate (402 with a stable code).
5
+ * Session resolution is a seam; thrown Responses follow the router convention
6
+ * of surfacing a thrown Response as the route result.
7
+ */
8
+ /** Define options for configuring authentication guard behavior and session retrieval */
9
+ export interface AuthGuardOptions<Session> {
10
+ /** e.g. a better-auth `auth.api.getSession` wrapped by the app. */
11
+ getSession(request: Request): Promise<Session | null | undefined>;
12
+ /** Default '/login'. */
13
+ loginPath?: string;
14
+ }
15
+ /** Resolve user authentication and session requirements for page and API requests */
16
+ export interface AuthGuard<Session> {
17
+ /** Page guard — throws a 302 redirect Response to `loginPath`. */
18
+ requireUser(request: Request): Promise<Session>;
19
+ /** API guard — throws JSON 401 `{ error: 'Unauthorized', code: 'auth.unauthenticated' }`. */
20
+ requireApiUser(request: Request): Promise<Session>;
21
+ /** `apiResponse` selects the 401 JSON path over the redirect. */
22
+ requireSession(request: Request, opts?: {
23
+ apiResponse?: boolean;
24
+ }): Promise<Session>;
25
+ getOptionalSession(request: Request): Promise<Session | null>;
26
+ }
27
+ /** Create an authentication guard that enforces session presence and handles unauthorized access responses */
28
+ export declare function createAuthGuard<Session>(opts: AuthGuardOptions<Session>): AuthGuard<Session>;
29
+ /** Resolve a value or an HTTP response indicating failure in a guarded operation */
30
+ export type GuardResolution<T> = {
31
+ ok: true;
32
+ value: T;
33
+ } | {
34
+ ok: false;
35
+ response: Response;
36
+ };
37
+ /**
38
+ * Adapt a guard that THROWS a Response (the quartet above — the router
39
+ * convention) to the `{ok: true, value} | {ok: false, response}` resolution
40
+ * shape the route factories take (`/chat-routes` `authorize`,
41
+ * `/interactions` `resolveConnection`, `/chat-routes` upload `authorize`).
42
+ * Every product wrote this try/catch by hand; it lives here once.
43
+ */
44
+ export declare function guardResolution<T>(run: () => Promise<T>): Promise<GuardResolution<T>>;
45
+ /** Comma/whitespace separated → trimmed, lowercased, empties dropped. */
46
+ export declare function parseAdminEmails(raw: string | null | undefined): string[];
47
+ /** Define options to resolve user session and control access based on allowed admin emails */
48
+ export interface AdminGuardOptions<Session> {
49
+ requireUser(request: Request): Promise<Session>;
50
+ emailOf(session: Session): string | null | undefined;
51
+ /** Resolved per request; an EMPTY allowlist refuses everyone. */
52
+ allowedEmails(): string[];
53
+ }
54
+ /** Non-admins (and empty allowlists) get 404, keeping the route invisible —
55
+ * better than a "forbidden" footprint that advertises its existence. */
56
+ export declare function createAdminGuard<Session>(opts: AdminGuardOptions<Session>): (request: Request) => Promise<Session>;
57
+ /** Describe the billable balance state including overage permission and remaining USD balance */
58
+ export interface BillableBalanceState {
59
+ overageAllowed: boolean;
60
+ remainingBalanceUsd: number;
61
+ }
62
+ /** Define options to assert and customize billable balance enforcement behavior */
63
+ export interface AssertBillableBalanceOptions {
64
+ env?: Record<string, string | undefined>;
65
+ /** App-specific enforcement override flag (e.g. 'GTM_BILLING_ENFORCEMENT'),
66
+ * fed to `isTangleBillingEnforcementDisabled`. */
67
+ enforcementEnvVar?: string;
68
+ /** Default 'Add balance or upgrade your plan to invoke this agent.'. */
69
+ errorMessage?: string;
70
+ /** Merged into the 402 JSON body (e.g. `{ organizationId }`). */
71
+ errorBody?: Record<string, unknown>;
72
+ }
73
+ /**
74
+ * Gate a billable turn: passes when enforcement is disabled (dev default),
75
+ * the tier allows overage, or remaining balance is positive. Otherwise throws
76
+ * a 402 Response with the stable `billing.balance_required` code so clients
77
+ * can route to the billing screen.
78
+ */
79
+ export declare function assertBillableBalance(state: BillableBalanceState, opts?: AssertBillableBalanceOptions): void;
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Integrations-hub proxy routes: the app-side surface that forwards an
3
+ * authenticated user's requests to the platform's `/v1/integrations/*` API
4
+ * using their stored platform key. Auth, key lookup, and the wire client are
5
+ * structural seams (`HubProxyContext`); error detection is by name + shape so
6
+ * it survives bundlers duplicating module instances.
7
+ */
8
+ import { type TangleExecutionEnvironment, type TangleExecutionKeySource } from '../runtime/model';
9
+ /** Hub bearer provenance mirrors the execution-key source union. */
10
+ export type TangleHubBearerSource = TangleExecutionKeySource;
11
+ /** Represent a resolved bearer token with its associated TangleHub bearer source */
12
+ export interface ResolvedTangleHubBearer {
13
+ bearer: string;
14
+ source: TangleHubBearerSource;
15
+ }
16
+ /** Resolve options required to obtain a user's TangleHub bearer token including environment and API key retrieval */
17
+ export interface ResolveUserTangleHubBearerOptions {
18
+ userId: string;
19
+ /** Deployment context. Only local development may use env credentials. */
20
+ environment?: TangleExecutionEnvironment;
21
+ /** Env to read for the local-development bearer. */
22
+ env?: Record<string, string | undefined>;
23
+ /** App-owned lookup for the caller's linked platform API key. */
24
+ getUserApiKey: () => string | null | undefined | Promise<string | null | undefined>;
25
+ }
26
+ /** Resolve options for retrieving a TangleHub bearer token for a specified user */
27
+ export interface ResolveUserTangleHubBearerForUserOptions<UserId = string> {
28
+ userId: UserId;
29
+ environment?: TangleExecutionEnvironment;
30
+ env?: Record<string, string | undefined>;
31
+ getUserApiKey: (userId: UserId) => string | null | undefined | Promise<string | null | undefined>;
32
+ }
33
+ /** Represent missing Tangle platform link error for a specified user ID */
34
+ export declare class TangleBearerMissingError extends Error {
35
+ readonly userId: string;
36
+ constructor(userId: string);
37
+ }
38
+ /**
39
+ * Resolve the Tangle bearer used by the integration hub proxy.
40
+ *
41
+ * Local development may use a server env key so apps can exercise the hub
42
+ * without completing cross-site SSO. Deployed contexts must use the caller's
43
+ * linked platform key; this keeps integration ownership aligned with the user.
44
+ */
45
+ export declare function resolveUserTangleHubBearer(opts: ResolveUserTangleHubBearerOptions): Promise<ResolvedTangleHubBearer>;
46
+ /** Resolve the TangleHub bearer token for a specified user based on provided options */
47
+ export declare function resolveUserTangleHubBearerForUser<UserId = string>(opts: ResolveUserTangleHubBearerForUserOptions<UserId>): Promise<ResolvedTangleHubBearer>;
48
+ /** Structural guard (name + userId shape) — robust when the error class is
49
+ * constructed in a different module instance than the one checking it. */
50
+ export declare function isTangleBearerMissingError(error: unknown): error is TangleBearerMissingError;
51
+ /** Structural detection of the platform hub wire error (name + numeric status). */
52
+ export declare function isPlatformHubErrorLike(error: unknown): error is Error & {
53
+ status: number;
54
+ code?: string;
55
+ };
56
+ /** Structural subset of the platform hub wire client — extra methods are fine. */
57
+ export interface HubClientLike {
58
+ catalog(): Promise<unknown>;
59
+ listConnections(): Promise<unknown>;
60
+ revokeConnection(connectionId: string): Promise<unknown>;
61
+ startAuth(input: {
62
+ providerId: string;
63
+ connectorId: string;
64
+ returnUrl: string;
65
+ requestedScopes?: string[];
66
+ }): Promise<{
67
+ authorizationUrl: string;
68
+ state: string;
69
+ }>;
70
+ listHealthchecks(): Promise<unknown>;
71
+ }
72
+ /** Define methods to require user ID, get bearer token, and create a hub client bound to the bearer */
73
+ export interface HubProxyContext {
74
+ /** Resolve the authenticated user id. Throw the app's own auth Response /
75
+ * redirect to reject — it propagates untouched. */
76
+ requireUserId(request: Request): Promise<string>;
77
+ /** The user's platform bearer; throw `TangleBearerMissingError` when unlinked. */
78
+ getBearer(userId: string): Promise<string>;
79
+ /** A hub client bound to the bearer. */
80
+ createHubClient(bearer: string): HubClientLike;
81
+ }
82
+ /** Define arguments for configuring a proxy route with request and optional parameters */
83
+ export interface HubProxyRouteArgs {
84
+ request: Request;
85
+ params?: Record<string, string | undefined>;
86
+ }
87
+ /** Define routes for hub proxy handling catalog, connections, healthchecks, and authorization actions */
88
+ export interface HubProxyRoutes {
89
+ /** GET → `{ catalog }`. */
90
+ catalog(args: HubProxyRouteArgs): Promise<Response>;
91
+ /** GET → `{ connections }`. */
92
+ connections(args: HubProxyRouteArgs): Promise<Response>;
93
+ /** DELETE → the platform revocation result verbatim; 405 otherwise. */
94
+ connectionDelete(args: {
95
+ request: Request;
96
+ params: {
97
+ connectionId: string;
98
+ };
99
+ }): Promise<Response>;
100
+ /** GET → `{ healthchecks }`. */
101
+ healthchecks(args: HubProxyRouteArgs): Promise<Response>;
102
+ /** POST `{ providerId, connectorId, returnUrl, requestedScopes? }` →
103
+ * `{ authorizationUrl, state }`; 405 non-POST; 400 on bad JSON / missing fields. */
104
+ authStart(args: HubProxyRouteArgs): Promise<Response>;
105
+ }
106
+ /** Resolve hub proxy routes with authentication and error handling based on the given context */
107
+ export declare function createHubProxyRoutes(ctx: HubProxyContext): HubProxyRoutes;
@@ -1,114 +1,9 @@
1
- export { c as AdminGuardOptions, d as AssertBillableBalanceOptions, A as AuthGuard, e as AuthGuardOptions, B as BetterAuthSessionCookieMinterOptions, f as BetterAuthSessionCookieSource, g as BillableBalanceState, G as GuardResolution, S as SsoStateConfig, b as TangleSsoAccountStore, a as TangleSsoAuthClient, h as TangleSsoExchangeResult, i as TangleSsoHandlerOptions, T as TangleSsoHandlers, j as TangleSsoSessionCookieArgs, k as TangleSsoUserCreateError, l as assertBillableBalance, m as createAdminGuard, n as createAuthGuard, o as createBetterAuthSessionCookieMinter, p as createSignedSsoState, q as createTangleSsoHandlers, r as guardResolution, s as parseAdminEmails, t as signSessionCookieValue, v as verifySignedSsoState } from '../sso-Cm00S61u.js';
2
- import { a as TangleExecutionEnvironment, b as TangleExecutionKeySource } from '../model-CdCDfBA9.js';
3
- export { D as DEFAULT_SEAT_BILLING_ENABLED_ENV_VAR, a as DEFAULT_TANGLE_TIER_POLICY, F as FREE_TIER_SPEND_CAP_USD, P as PlatformBalanceSnapshot, b as PlatformBillingHttp, c as PlatformBillingHttpError, d as PlatformBillingHttpOptions, e as PlatformIdentityStore, f as PlatformSubscriptionInfo, g as PlatformUsageProductRow, h as ProductEntitlement, i as ProductSeatOffer, j as ProductSeatOfferPeriod, S as SeatBillingFlagOptions, k as SeatStatus, T as TanglePlanTier, l as TangleTierPolicy, m as TangleTierState, n as createPlatformBillingHttp, o as createTanglePlatformBillingClient, p as getProductEntitlement, q as isPlatformBillingHttpError, r as isProductEntitled, s as isSeatBillingEnabled, t as normalizeTanglePlanTier, u as readTangleTierState, v as seatCheckoutUrl } from '../billing-BuNlaKlE.js';
4
- import '../billing/index.js';
5
-
6
1
  /**
7
- * Integrations-hub proxy routes: the app-side surface that forwards an
8
- * authenticated user's requests to the platform's `/v1/integrations/*` API
9
- * using their stored platform key. Auth, key lookup, and the wire client are
10
- * structural seams (`HubProxyContext`); error detection is by name + shape so
11
- * it survives bundlers duplicating module instances.
2
+ * App-side glue for running a product on the Tangle platform
3
+ * (id.tangle.tools): cross-site SSO login orchestration. The wire clients
4
+ * and persistence are structural seams; this module owns the protocol.
12
5
  */
13
-
14
- /** Hub bearer provenance mirrors the execution-key source union. */
15
- type TangleHubBearerSource = TangleExecutionKeySource;
16
- /** Represent a resolved bearer token with its associated TangleHub bearer source */
17
- interface ResolvedTangleHubBearer {
18
- bearer: string;
19
- source: TangleHubBearerSource;
20
- }
21
- /** Resolve options required to obtain a user's TangleHub bearer token including environment and API key retrieval */
22
- interface ResolveUserTangleHubBearerOptions {
23
- userId: string;
24
- /** Deployment context. Only local development may use env credentials. */
25
- environment?: TangleExecutionEnvironment;
26
- /** Env to read for the local-development bearer. */
27
- env?: Record<string, string | undefined>;
28
- /** App-owned lookup for the caller's linked platform API key. */
29
- getUserApiKey: () => string | null | undefined | Promise<string | null | undefined>;
30
- }
31
- /** Resolve options for retrieving a TangleHub bearer token for a specified user */
32
- interface ResolveUserTangleHubBearerForUserOptions<UserId = string> {
33
- userId: UserId;
34
- environment?: TangleExecutionEnvironment;
35
- env?: Record<string, string | undefined>;
36
- getUserApiKey: (userId: UserId) => string | null | undefined | Promise<string | null | undefined>;
37
- }
38
- /** Represent missing Tangle platform link error for a specified user ID */
39
- declare class TangleBearerMissingError extends Error {
40
- readonly userId: string;
41
- constructor(userId: string);
42
- }
43
- /**
44
- * Resolve the Tangle bearer used by the integration hub proxy.
45
- *
46
- * Local development may use a server env key so apps can exercise the hub
47
- * without completing cross-site SSO. Deployed contexts must use the caller's
48
- * linked platform key; this keeps integration ownership aligned with the user.
49
- */
50
- declare function resolveUserTangleHubBearer(opts: ResolveUserTangleHubBearerOptions): Promise<ResolvedTangleHubBearer>;
51
- /** Resolve the TangleHub bearer token for a specified user based on provided options */
52
- declare function resolveUserTangleHubBearerForUser<UserId = string>(opts: ResolveUserTangleHubBearerForUserOptions<UserId>): Promise<ResolvedTangleHubBearer>;
53
- /** Structural guard (name + userId shape) — robust when the error class is
54
- * constructed in a different module instance than the one checking it. */
55
- declare function isTangleBearerMissingError(error: unknown): error is TangleBearerMissingError;
56
- /** Structural detection of the platform hub wire error (name + numeric status). */
57
- declare function isPlatformHubErrorLike(error: unknown): error is Error & {
58
- status: number;
59
- code?: string;
60
- };
61
- /** Structural subset of the platform hub wire client — extra methods are fine. */
62
- interface HubClientLike {
63
- catalog(): Promise<unknown>;
64
- listConnections(): Promise<unknown>;
65
- revokeConnection(connectionId: string): Promise<unknown>;
66
- startAuth(input: {
67
- providerId: string;
68
- connectorId: string;
69
- returnUrl: string;
70
- requestedScopes?: string[];
71
- }): Promise<{
72
- authorizationUrl: string;
73
- state: string;
74
- }>;
75
- listHealthchecks(): Promise<unknown>;
76
- }
77
- /** Define methods to require user ID, get bearer token, and create a hub client bound to the bearer */
78
- interface HubProxyContext {
79
- /** Resolve the authenticated user id. Throw the app's own auth Response /
80
- * redirect to reject — it propagates untouched. */
81
- requireUserId(request: Request): Promise<string>;
82
- /** The user's platform bearer; throw `TangleBearerMissingError` when unlinked. */
83
- getBearer(userId: string): Promise<string>;
84
- /** A hub client bound to the bearer. */
85
- createHubClient(bearer: string): HubClientLike;
86
- }
87
- /** Define arguments for configuring a proxy route with request and optional parameters */
88
- interface HubProxyRouteArgs {
89
- request: Request;
90
- params?: Record<string, string | undefined>;
91
- }
92
- /** Define routes for hub proxy handling catalog, connections, healthchecks, and authorization actions */
93
- interface HubProxyRoutes {
94
- /** GET → `{ catalog }`. */
95
- catalog(args: HubProxyRouteArgs): Promise<Response>;
96
- /** GET → `{ connections }`. */
97
- connections(args: HubProxyRouteArgs): Promise<Response>;
98
- /** DELETE → the platform revocation result verbatim; 405 otherwise. */
99
- connectionDelete(args: {
100
- request: Request;
101
- params: {
102
- connectionId: string;
103
- };
104
- }): Promise<Response>;
105
- /** GET → `{ healthchecks }`. */
106
- healthchecks(args: HubProxyRouteArgs): Promise<Response>;
107
- /** POST `{ providerId, connectorId, returnUrl, requestedScopes? }` →
108
- * `{ authorizationUrl, state }`; 405 non-POST; 400 on bad JSON / missing fields. */
109
- authStart(args: HubProxyRouteArgs): Promise<Response>;
110
- }
111
- /** Resolve hub proxy routes with authentication and error handling based on the given context */
112
- declare function createHubProxyRoutes(ctx: HubProxyContext): HubProxyRoutes;
113
-
114
- export { type HubClientLike, type HubProxyContext, type HubProxyRouteArgs, type HubProxyRoutes, type ResolveUserTangleHubBearerForUserOptions, type ResolveUserTangleHubBearerOptions, type ResolvedTangleHubBearer, TangleBearerMissingError, type TangleHubBearerSource, createHubProxyRoutes, isPlatformHubErrorLike, isTangleBearerMissingError, resolveUserTangleHubBearer, resolveUserTangleHubBearerForUser };
6
+ export * from './sso';
7
+ export * from './hub';
8
+ export * from './billing';
9
+ export * from './guards';
@@ -1,83 +1,3 @@
1
- /**
2
- * Request guards for agent-app routes: session auth (302 redirect for pages,
3
- * JSON 401 for APIs), admin allowlisting (404 — the route stays invisible to
4
- * non-admins), and the billable-balance gate (402 with a stable code).
5
- * Session resolution is a seam; thrown Responses follow the router convention
6
- * of surfacing a thrown Response as the route result.
7
- */
8
- /** Define options for configuring authentication guard behavior and session retrieval */
9
- interface AuthGuardOptions<Session> {
10
- /** e.g. a better-auth `auth.api.getSession` wrapped by the app. */
11
- getSession(request: Request): Promise<Session | null | undefined>;
12
- /** Default '/login'. */
13
- loginPath?: string;
14
- }
15
- /** Resolve user authentication and session requirements for page and API requests */
16
- interface AuthGuard<Session> {
17
- /** Page guard — throws a 302 redirect Response to `loginPath`. */
18
- requireUser(request: Request): Promise<Session>;
19
- /** API guard — throws JSON 401 `{ error: 'Unauthorized', code: 'auth.unauthenticated' }`. */
20
- requireApiUser(request: Request): Promise<Session>;
21
- /** `apiResponse` selects the 401 JSON path over the redirect. */
22
- requireSession(request: Request, opts?: {
23
- apiResponse?: boolean;
24
- }): Promise<Session>;
25
- getOptionalSession(request: Request): Promise<Session | null>;
26
- }
27
- /** Create an authentication guard that enforces session presence and handles unauthorized access responses */
28
- declare function createAuthGuard<Session>(opts: AuthGuardOptions<Session>): AuthGuard<Session>;
29
- /** Resolve a value or an HTTP response indicating failure in a guarded operation */
30
- type GuardResolution<T> = {
31
- ok: true;
32
- value: T;
33
- } | {
34
- ok: false;
35
- response: Response;
36
- };
37
- /**
38
- * Adapt a guard that THROWS a Response (the quartet above — the router
39
- * convention) to the `{ok: true, value} | {ok: false, response}` resolution
40
- * shape the route factories take (`/chat-routes` `authorize`,
41
- * `/interactions` `resolveConnection`, `/chat-routes` upload `authorize`).
42
- * Every product wrote this try/catch by hand; it lives here once.
43
- */
44
- declare function guardResolution<T>(run: () => Promise<T>): Promise<GuardResolution<T>>;
45
- /** Comma/whitespace separated → trimmed, lowercased, empties dropped. */
46
- declare function parseAdminEmails(raw: string | null | undefined): string[];
47
- /** Define options to resolve user session and control access based on allowed admin emails */
48
- interface AdminGuardOptions<Session> {
49
- requireUser(request: Request): Promise<Session>;
50
- emailOf(session: Session): string | null | undefined;
51
- /** Resolved per request; an EMPTY allowlist refuses everyone. */
52
- allowedEmails(): string[];
53
- }
54
- /** Non-admins (and empty allowlists) get 404, keeping the route invisible —
55
- * better than a "forbidden" footprint that advertises its existence. */
56
- declare function createAdminGuard<Session>(opts: AdminGuardOptions<Session>): (request: Request) => Promise<Session>;
57
- /** Describe the billable balance state including overage permission and remaining USD balance */
58
- interface BillableBalanceState {
59
- overageAllowed: boolean;
60
- remainingBalanceUsd: number;
61
- }
62
- /** Define options to assert and customize billable balance enforcement behavior */
63
- interface AssertBillableBalanceOptions {
64
- env?: Record<string, string | undefined>;
65
- /** App-specific enforcement override flag (e.g. 'GTM_BILLING_ENFORCEMENT'),
66
- * fed to `isTangleBillingEnforcementDisabled`. */
67
- enforcementEnvVar?: string;
68
- /** Default 'Add balance or upgrade your plan to invoke this agent.'. */
69
- errorMessage?: string;
70
- /** Merged into the 402 JSON body (e.g. `{ organizationId }`). */
71
- errorBody?: Record<string, unknown>;
72
- }
73
- /**
74
- * Gate a billable turn: passes when enforcement is disabled (dev default),
75
- * the tier allows overage, or remaining balance is positive. Otherwise throws
76
- * a 402 Response with the stable `billing.balance_required` code so clients
77
- * can route to the billing screen.
78
- */
79
- declare function assertBillableBalance(state: BillableBalanceState, opts?: AssertBillableBalanceOptions): void;
80
-
81
1
  /**
82
2
  * Cross-site Tangle SSO for agent apps: signed-state CSRF cookies plus the
83
3
  * full start/callback orchestration against the platform's /cross-site
@@ -87,7 +7,7 @@ declare function assertBillableBalance(state: BillableBalanceState, opts?: Asser
87
7
  * WebCrypto only — runs in workerd without node compatibility flags.
88
8
  */
89
9
  /** Define configuration options for managing SSO state including secret, lifetime, and clock injection */
90
- interface SsoStateConfig {
10
+ export interface SsoStateConfig {
91
11
  /** HMAC-SHA256 secret (e.g. the app's auth secret). */
92
12
  secret: string;
93
13
  /** State lifetime in ms. Default 600 000. */
@@ -97,11 +17,11 @@ interface SsoStateConfig {
97
17
  }
98
18
  /** Mint a `<randomHex32>.<timestamp36>.<hmacHex>` state value. The timestamp
99
19
  * is inside the signed payload, so expiry survives cookie-attribute tampering. */
100
- declare function createSignedSsoState(config: SsoStateConfig): Promise<string>;
20
+ export declare function createSignedSsoState(config: SsoStateConfig): Promise<string>;
101
21
  /** Verify the MAC (constant-time) and the signed TTL. */
102
- declare function verifySignedSsoState(state: string, config: SsoStateConfig): Promise<boolean>;
22
+ export declare function verifySignedSsoState(state: string, config: SsoStateConfig): Promise<boolean>;
103
23
  /** Describe the result of exchanging SSO credentials including API key, user info, and optional plan details */
104
- interface TangleSsoExchangeResult {
24
+ export interface TangleSsoExchangeResult {
105
25
  apiKey: string;
106
26
  user: {
107
27
  id: string;
@@ -114,7 +34,7 @@ interface TangleSsoExchangeResult {
114
34
  }
115
35
  /** Structural mirror of the platform auth wire client — any object with these
116
36
  * two methods satisfies it without this module importing the concrete class. */
117
- interface TangleSsoAuthClient {
37
+ export interface TangleSsoAuthClient {
118
38
  authorizeUrl(options: {
119
39
  state: string;
120
40
  redirectUri?: string;
@@ -124,7 +44,7 @@ interface TangleSsoAuthClient {
124
44
  /** Thrown by `upsertUserByEmail` when the app-local user row cannot be
125
45
  * created; the callback handler maps it to `?error=tangle_user_create_failed`.
126
46
  * Any other store error propagates. */
127
- declare class TangleSsoUserCreateError extends Error {
47
+ export declare class TangleSsoUserCreateError extends Error {
128
48
  constructor(message?: string);
129
49
  }
130
50
  /**
@@ -134,7 +54,7 @@ declare class TangleSsoUserCreateError extends Error {
134
54
  * and each app persists with the key it needs. `createSession` runs first so
135
55
  * the token is always available to `saveTangleLink`.
136
56
  */
137
- interface TangleSsoAccountStore {
57
+ export interface TangleSsoAccountStore {
138
58
  /** Find-or-create the app-local user. `tangleUserId` is the platform's
139
59
  * stable user id — match on it first when the app stores it (emails are
140
60
  * mutable on the platform; the id is not), falling back to email for
@@ -167,7 +87,7 @@ interface TangleSsoAccountStore {
167
87
  }): Promise<void>;
168
88
  }
169
89
  /** Successful-login context handed to the `setSessionCookie` seam. */
170
- interface TangleSsoSessionCookieArgs {
90
+ export interface TangleSsoSessionCookieArgs {
171
91
  /** Session token returned by `store.createSession`. */
172
92
  token: string;
173
93
  /** Session expiry (now + `sessionTtlSeconds`). */
@@ -186,12 +106,12 @@ interface TangleSsoSessionCookieArgs {
186
106
  * as a null session). The joined value is percent-encoded once at cookie
187
107
  * serialization, matching better-call's `serializeSignedCookie` byte-exactly.
188
108
  */
189
- declare function signSessionCookieValue(token: string, secret: string): Promise<string>;
109
+ export declare function signSessionCookieValue(token: string, secret: string): Promise<string>;
190
110
  /** Structural slice of a `betterAuth()` instance — only what cookie minting
191
111
  * reads. No better-auth import: the signing contract is implemented by
192
112
  * `signSessionCookieValue`, byte-compatible with better-auth's own
193
113
  * `makeSignature`. */
194
- interface BetterAuthSessionCookieSource {
114
+ export interface BetterAuthSessionCookieSource {
195
115
  $context: PromiseLike<{
196
116
  secret: string;
197
117
  authCookies: {
@@ -211,7 +131,7 @@ interface BetterAuthSessionCookieSource {
211
131
  }>;
212
132
  }
213
133
  /** Define options to customize warning behavior for shadowed cookie names in authentication sessions */
214
- interface BetterAuthSessionCookieMinterOptions {
134
+ export interface BetterAuthSessionCookieMinterOptions {
215
135
  /** Receives the shadowed-cookie-name warning (see below). Default
216
136
  * console.warn. */
217
137
  warn?: (message: string) => void;
@@ -236,9 +156,9 @@ interface BetterAuthSessionCookieMinterOptions {
236
156
  * Throws on a domain-scoped session cookie for the same reason: a
237
157
  * `Domain=`-wide session cookie is exactly the shadowing footgun.
238
158
  */
239
- declare function createBetterAuthSessionCookieMinter(auth: BetterAuthSessionCookieSource, options?: BetterAuthSessionCookieMinterOptions): (args: TangleSsoSessionCookieArgs) => Promise<string[]>;
159
+ export declare function createBetterAuthSessionCookieMinter(auth: BetterAuthSessionCookieSource, options?: BetterAuthSessionCookieMinterOptions): (args: TangleSsoSessionCookieArgs) => Promise<string[]>;
240
160
  /** Define configuration options for handling Tangle SSO authentication and session management */
241
- interface TangleSsoHandlerOptions {
161
+ export interface TangleSsoHandlerOptions {
242
162
  auth: TangleSsoAuthClient;
243
163
  store: TangleSsoAccountStore;
244
164
  /** HMAC secret for the state cookie. */
@@ -281,7 +201,7 @@ interface TangleSsoHandlerOptions {
281
201
  now?: () => number;
282
202
  }
283
203
  /** Define handlers for SSO start and callback routes managing authentication flow and session cookies */
284
- interface TangleSsoHandlers {
204
+ export interface TangleSsoHandlers {
285
205
  /** GET start route: mint + sign state, set the state cookie, 302 to the
286
206
  * platform authorize URL. `?redirect=` carries the post-login path. */
287
207
  start(request: Request): Promise<Response>;
@@ -293,6 +213,4 @@ interface TangleSsoHandlers {
293
213
  callback(request: Request): Promise<Response>;
294
214
  }
295
215
  /** Create Tangle SSO handlers to manage authentication state, callbacks, and session cookies */
296
- declare function createTangleSsoHandlers(opts: TangleSsoHandlerOptions): TangleSsoHandlers;
297
-
298
- export { type AuthGuard as A, type BetterAuthSessionCookieMinterOptions as B, type GuardResolution as G, type SsoStateConfig as S, type TangleSsoHandlers as T, type TangleSsoAuthClient as a, type TangleSsoAccountStore as b, type AdminGuardOptions as c, type AssertBillableBalanceOptions as d, type AuthGuardOptions as e, type BetterAuthSessionCookieSource as f, type BillableBalanceState as g, type TangleSsoExchangeResult as h, type TangleSsoHandlerOptions as i, type TangleSsoSessionCookieArgs as j, TangleSsoUserCreateError as k, assertBillableBalance as l, createAdminGuard as m, createAuthGuard as n, createBetterAuthSessionCookieMinter as o, createSignedSsoState as p, createTangleSsoHandlers as q, guardResolution as r, parseAdminEmails as s, signSessionCookieValue as t, verifySignedSsoState as v };
216
+ export declare function createTangleSsoHandlers(opts: TangleSsoHandlerOptions): TangleSsoHandlers;
@@ -1,13 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { PreflightProbe } from './index.js';
3
-
2
+ import { type PreflightProbe } from './index';
4
3
  /**
5
4
  * Load the probe list from a config module. Fail loud on every miss — a
6
5
  * preflight that silently probes nothing and exits 0 is worse than no
7
6
  * preflight, because it reports the deploy as verified.
8
7
  */
9
- declare function loadProbes(configPath: string): Promise<PreflightProbe[]>;
8
+ export declare function loadProbes(configPath: string): Promise<PreflightProbe[]>;
10
9
  /** Run the probes named by `argv` and resolve with the process exit code. */
11
- declare function runPreflightCli(argv: readonly string[]): Promise<number>;
12
-
13
- export { loadProbes, runPreflightCli };
10
+ export declare function runPreflightCli(argv: readonly string[]): Promise<number>;
@@ -23,7 +23,7 @@
23
23
  * must never reach a browser bundle.
24
24
  */
25
25
  /** One probe's outcome. `detail` should name the secret to rotate on failure. */
26
- interface PreflightProbeResult {
26
+ export interface PreflightProbeResult {
27
27
  ok: boolean;
28
28
  detail?: string;
29
29
  }
@@ -32,13 +32,13 @@ interface PreflightProbeResult {
32
32
  * `{ ok, detail }`. `critical` defaults to `true` — a failed critical probe
33
33
  * fails the whole preflight (and the deploy).
34
34
  */
35
- interface PreflightProbe {
35
+ export interface PreflightProbe {
36
36
  name: string;
37
37
  run: () => Promise<PreflightProbeResult>;
38
38
  critical?: boolean;
39
39
  }
40
40
  /** Per-probe verdict enriched with the resolved criticality and measured latency. */
41
- interface PreflightProbeVerdict {
41
+ export interface PreflightProbeVerdict {
42
42
  name: string;
43
43
  ok: boolean;
44
44
  critical: boolean;
@@ -46,7 +46,7 @@ interface PreflightProbeVerdict {
46
46
  detail?: string;
47
47
  }
48
48
  /** Aggregate of every probe verdict plus the overall pass/fail decision. */
49
- interface PreflightReport {
49
+ export interface PreflightReport {
50
50
  /** `false` if any critical probe failed. */
51
51
  ok: boolean;
52
52
  probes: PreflightProbeVerdict[];
@@ -56,7 +56,7 @@ interface PreflightReport {
56
56
  durationMs: number;
57
57
  }
58
58
  /** Configuration for a required non-empty production value. */
59
- interface RequiredValueProbeConfig {
59
+ export interface RequiredValueProbeConfig {
60
60
  /** Human-readable value name, normally the environment variable name. */
61
61
  name: string;
62
62
  /** Value supplied by the caller. It is checked but never included in output. */
@@ -73,9 +73,9 @@ interface RequiredValueProbeConfig {
73
73
  * endpoint to probe. Credentials with a live API should use a liveness probe
74
74
  * instead, because presence alone cannot detect an expired key.
75
75
  */
76
- declare function requiredValueProbe(config: RequiredValueProbeConfig): PreflightProbe;
76
+ export declare function requiredValueProbe(config: RequiredValueProbeConfig): PreflightProbe;
77
77
  /** Define configuration options for probing an LLM router with authentication and model details */
78
- interface RouterChatProbeConfig {
78
+ export interface RouterChatProbeConfig {
79
79
  /** LLM router base URL (LiteLLM / OpenAI-compatible), e.g. `https://router…`. */
80
80
  baseUrl: string;
81
81
  apiKey: string;
@@ -99,9 +99,9 @@ interface RouterChatProbeConfig {
99
99
  * (`max_tokens: 1`). 200 → live; 401/403 → dead router key; 503 → upstream
100
100
  * provider down (key still valid); timeout / unreachable → check the router URL.
101
101
  */
102
- declare function routerChatProbe(config: RouterChatProbeConfig): PreflightProbe;
102
+ export declare function routerChatProbe(config: RouterChatProbeConfig): PreflightProbe;
103
103
  /** Define configuration options for probing sandbox authentication endpoints */
104
- interface SandboxAuthProbeConfig {
104
+ export interface SandboxAuthProbeConfig {
105
105
  /** Sandbox API base URL. */
106
106
  baseUrl: string;
107
107
  apiKey: string;
@@ -123,9 +123,9 @@ interface SandboxAuthProbeConfig {
123
123
  * 200 → live; 401/403 → dead sandbox key; 503 → sandbox platform down (key
124
124
  * still valid); timeout / unreachable → check the sandbox URL.
125
125
  */
126
- declare function sandboxAuthProbe(config: SandboxAuthProbeConfig): PreflightProbe;
126
+ export declare function sandboxAuthProbe(config: SandboxAuthProbeConfig): PreflightProbe;
127
127
  /** Define configuration options for performing an HTTP HEAD probe to check URL availability */
128
- interface HttpHeadProbeConfig {
128
+ export interface HttpHeadProbeConfig {
129
129
  /** Probe name in the report. */
130
130
  name: string;
131
131
  /** URL to `HEAD`. */
@@ -150,9 +150,9 @@ interface HttpHeadProbeConfig {
150
150
  * Confirms the URL is live and resolving — the class of failure behind a stale
151
151
  * platform URL that still sits in the secret store.
152
152
  */
153
- declare function httpHeadProbe(config: HttpHeadProbeConfig): PreflightProbe;
153
+ export declare function httpHeadProbe(config: HttpHeadProbeConfig): PreflightProbe;
154
154
  /** Define configuration options for probing that the Slack alerting channel is live */
155
- interface SlackAlertProbeConfig {
155
+ export interface SlackAlertProbeConfig {
156
156
  /** Slack bot token (`xoxb-…`). */
157
157
  token: string | undefined;
158
158
  /** Probe name in the report. Default `'slack-alerting'`. */
@@ -183,15 +183,13 @@ interface SlackAlertProbeConfig {
183
183
  *
184
184
  * Non-critical by default — see `critical`.
185
185
  */
186
- declare function slackAlertProbe(config: SlackAlertProbeConfig): PreflightProbe;
186
+ export declare function slackAlertProbe(config: SlackAlertProbeConfig): PreflightProbe;
187
187
  /**
188
188
  * Run every probe (concurrently), time each, and fold into a report. The run
189
189
  * fails (`ok: false`) iff a critical probe fails; a failed non-critical probe
190
190
  * is a warning that does not block the deploy.
191
191
  */
192
- declare function runPreflight(probes: PreflightProbe[]): Promise<PreflightReport>;
192
+ export declare function runPreflight(probes: PreflightProbe[]): Promise<PreflightReport>;
193
193
  /** Render a report as an aligned, operator-readable table + verdict line. Pure
194
194
  * (no I/O) so it is trivially testable and reusable by the bin. */
195
- declare function formatPreflightReport(report: PreflightReport): string;
196
-
197
- export { type HttpHeadProbeConfig, type PreflightProbe, type PreflightProbeResult, type PreflightProbeVerdict, type PreflightReport, type RequiredValueProbeConfig, type RouterChatProbeConfig, type SandboxAuthProbeConfig, type SlackAlertProbeConfig, formatPreflightReport, httpHeadProbe, requiredValueProbe, routerChatProbe, runPreflight, sandboxAuthProbe, slackAlertProbe };
195
+ export declare function formatPreflightReport(report: PreflightReport): string;
@@ -0,0 +1,12 @@
1
+ /** One path rule in Cloudflare's static-asset `_headers` file. */
2
+ export interface CloudflareHeadersRule {
3
+ pattern: string;
4
+ headers: Readonly<Record<string, string>>;
5
+ }
6
+ /**
7
+ * Render native Cloudflare static-asset header rules.
8
+ *
9
+ * Values are validated before serialization so a product setting cannot add a
10
+ * second path rule or response header through a newline.
11
+ */
12
+ export declare function renderCloudflareHeadersFile(rules: readonly CloudflareHeadersRule[]): string;