@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
package/README.md CHANGED
@@ -184,7 +184,7 @@ pnpm install
184
184
  pnpm typecheck && pnpm test && pnpm build
185
185
  ```
186
186
 
187
- Build is [tsup](https://tsup.egoist.dev) (ESM + `.d.ts`), tests are [vitest](https://vitest.dev). A change keeps the suite green and follows the layering rule above — anything engine-general is contributed down to the substrate, not duplicated here. See [AGENTS.md](./AGENTS.md) for the full contributor contract.
187
+ Build is [tsup](https://tsup.egoist.dev) for the ESM output plus `tsc` for the `.d.ts`, tests are [vitest](https://vitest.dev). A change keeps the suite green and follows the layering rule above — anything engine-general is contributed down to the substrate, not duplicated here. See [AGENTS.md](./AGENTS.md) for the full contributor contract.
188
188
 
189
189
  ## License
190
190
 
@@ -1,178 +1,8 @@
1
1
  /**
2
- * `/alerting` — post an operational alert to Slack, and say honestly when it
3
- * did not arrive.
2
+ * `/alerting` — the operational alert channel every product hand-rolled.
4
3
  *
5
- * WHY THIS EXISTS: on 2026-08-06 an audit of every Slack credential the org
6
- * held found three of four dead the fleet incoming webhook 404ing
7
- * (`no_service`), a second company webhook likewise, and the bot token
8
- * answering `account_inactive`. One ops webhook was still live. Nobody knew
9
- * which was which until each was tested by hand, and that is the actual
10
- * problem: the credentials were indistinguishable from where the code stood.
11
- *
12
- * This failure has already been paid for once, with numbers: in
13
- * `agent-dev-container`, a revoked webhook let the CI healthcheck sit dead for
14
- * 18 days — 2,567 consecutive failures, 27 successes, zero alerts — because
15
- * fifteen call sites across six workflows posted with no body inspection and
16
- * then asserted delivery. That repo fixed the reporting (its `post-slack.sh`
17
- * confirms 2xx AND Slack's literal `ok` body, and fails closed otherwise) and
18
- * that half of the lesson is theirs, adopted here.
19
- *
20
- * What their fix cannot do, and this module can, is answer the question BEFORE
21
- * an alert needs to fire. A fail-closed post still only discovers a dead
22
- * credential at the moment a page is lost. That is the second half.
23
- *
24
- * Two design consequences, and they are the whole module:
25
- *
26
- * 1. **A bot token and `chat.postMessage` is the preferred transport; an
27
- * incoming webhook is supported because one is usually what you already
28
- * have.** A token reaches every channel (a webhook is bolted to one), is
29
- * revocable and rotatable in place, and — the part that matters — is
30
- * VERIFIABLE: `auth.test` answers whether the credential is alive without
31
- * posting anything, which is what lets `/preflight` fail a deploy on a dead
32
- * alerting channel instead of discovering it during an incident. A webhook
33
- * can only be tested by posting to it, which is why the three dead
34
- * credentials above went unnoticed. A token is never fallen back FROM: if
35
- * one is configured and dead, delivering over a webhook instead would hide
36
- * the very condition worth reporting.
37
- *
38
- * 2. **Slack answers `ok:false` under HTTP 200.** `invalid_auth`,
39
- * `channel_not_found` and `not_in_channel` all arrive as a successful
40
- * response with a failure inside it, so a status check reads a dead channel
41
- * as a delivered page. The body is always parsed, and the outcome
42
- * distinguishes a MISSING credential (configuration absent — not an
43
- * incident) from a DEAD one (the alerting channel itself is broken — the
44
- * loudest thing this module can report). A summary that calls those two the
45
- * same thing is the defect wearing a different hat.
46
- *
47
- * The caller decides what to do with a non-delivery; this module never throws
48
- * on one, because an alerting path that can take down the thing it reports on
49
- * is worse than the outage it was watching for. It is also never the only
50
- * channel: a durable record (an issue, an audit row) is the caller's job, and
51
- * that is what survives the credential going dead again.
52
- *
53
- * Server-only: holds a bot token. This subpath must never reach a browser
54
- * bundle.
55
- */
56
- /**
57
- * Why an alert did not reach Slack. The split is by what a human must DO about
58
- * it, since that is the only distinction a caller can act on.
59
- */
60
- type SlackFailureReason =
61
- /** No token or no channel configured. Configuration is absent, nothing is broken. */
62
- 'not-configured'
63
- /**
64
- * The token is dead — revoked, or its app removed from the workspace. No
65
- * alert will EVER arrive until a human mints a new one. This is itself an
66
- * incident and the caller should escalate it on a channel that does not
67
- * depend on Slack.
68
- */
69
- | 'credential'
70
- /**
71
- * The credential is alive but cannot post HERE: the channel is wrong,
72
- * archived, or the bot was never invited to it. One human action fixes it.
73
- */
74
- | 'channel'
75
- /** Slack asked us to slow down. Transient; the alert is worth retrying. */
76
- | 'rate-limited'
77
- /** The request never got an answer — network, DNS, timeout. Transient. */
78
- | 'transport'
79
- /** Slack refused for some other reason; `detail` carries its error code. */
80
- | 'api';
81
- /** An alert that did not arrive, and why. Named because the classifiers only ever produce this half. */
82
- interface SlackAlertFailure {
83
- delivered: false;
84
- reason: SlackFailureReason;
85
- /** One line naming what is wrong and what fixes it. Safe to log; carries no token. */
86
- detail: string;
87
- }
88
- /** What one `postSlackAlert` call did. Never a bare boolean — the caller pages differently per reason. */
89
- type SlackAlertOutcome = {
90
- delivered: true;
91
- /** The channel id Slack resolved (not necessarily the name that was passed). */
92
- channel: string;
93
- /** Slack's message timestamp — the message's identity, for a later thread reply. */
94
- ts: string;
95
- } | SlackAlertFailure;
96
- /** Define configuration options for posting an alert message to a Slack channel */
97
- interface SlackAlertOptions {
98
- /**
99
- * Slack bot token (`xoxb-…`) with `chat:write`. The PREFERRED transport,
100
- * because it is the only one whose liveness can be checked before an alert
101
- * needs it. An empty or absent value is `not-configured`, never an error — a
102
- * product that has not adopted Slack yet must not fail its alerting path.
103
- */
104
- token?: string | undefined;
105
- /**
106
- * Channel to post to: a name (`#infra-alerts`) or an id (`C01234567`). The
107
- * bot must be a member; Slack answers `not_in_channel` otherwise. Required
108
- * with `token`, meaningless with `webhookUrl` (a webhook carries its own
109
- * channel, fixed when it was created).
110
- */
111
- channel?: string | undefined;
112
- /**
113
- * Slack incoming-webhook URL, used only when no `token` is configured.
114
- *
115
- * It works and it needs no setup, which is why it is supported — but it
116
- * cannot be verified without posting, cannot be pointed at a second channel,
117
- * and gives back an error token instead of a code. Two of the three webhooks
118
- * this org has held were found revoked. Treat it as the transport you have,
119
- * not the one you want.
120
- *
121
- * When a `token` is also configured this is IGNORED rather than used as a
122
- * fallback: a dead token must surface as the incident it is, and quietly
123
- * succeeding over a second transport is how the last outage stayed invisible.
124
- */
125
- webhookUrl?: string | undefined;
126
- /** Message body as Slack mrkdwn. Newlines are preserved. */
127
- text: string;
128
- /**
129
- * Attempts for a TRANSIENT failure (429 / 5xx / transport). Default 3. A
130
- * dead credential or a wrong channel is never retried — the answer will not
131
- * change, and retrying an auth failure is how a token gets rate-limited.
132
- */
133
- attempts?: number;
134
- /** Per-request deadline. Default 10s. */
135
- timeoutMs?: number;
136
- /** Injection seam for tests; defaults to global `fetch`. */
137
- fetchImpl?: typeof fetch;
138
- /** Injection seam for tests; defaults to a real delay between retries. */
139
- sleepImpl?: (ms: number) => Promise<void>;
140
- }
141
- /**
142
- * Post one alert to a Slack channel.
143
- *
144
- * Never throws and never retries a failure whose answer cannot change. The
145
- * returned outcome is the whole result — a caller that ignores it has an
146
- * alerting path it cannot prove works, which is the failure this module was
147
- * written for.
148
- */
149
- declare function postSlackAlert(options: SlackAlertOptions): Promise<SlackAlertOutcome>;
150
- /** Define configuration options for verifying that a Slack bot token is live */
151
- interface SlackCredentialCheckOptions {
152
- token: string | undefined;
153
- /** Per-request deadline. Default 10s. */
154
- timeoutMs?: number;
155
- /** Injection seam for tests; defaults to global `fetch`. */
156
- fetchImpl?: typeof fetch;
157
- }
158
- /** What `checkSlackCredential` concluded. `team`/`botId` are present only when live. */
159
- type SlackCredentialVerdict = {
160
- live: true;
161
- team: string;
162
- botId: string;
163
- } | {
164
- live: false;
165
- reason: SlackFailureReason;
166
- detail: string;
167
- };
168
- /**
169
- * Ask Slack whether the bot token is alive, WITHOUT posting anything.
170
- *
171
- * This is the check that was missing. An incoming webhook offers no equivalent
172
- * — the only way to test one is to post to it — which is how a revoked webhook
173
- * sat in a repo secret for months looking configured. Wire it into `/preflight`
174
- * so a dead alerting channel fails a deploy rather than an incident.
4
+ * The module's own doctrine, and the incident behind it, is in `./slack`.
5
+ * Nothing domain-specific lives here: the message text and the decision to
6
+ * alert are the caller's, this owns delivery and the honest verdict about it.
175
7
  */
176
- declare function checkSlackCredential(options: SlackCredentialCheckOptions): Promise<SlackCredentialVerdict>;
177
-
178
- export { type SlackAlertFailure, type SlackAlertOptions, type SlackAlertOutcome, type SlackCredentialCheckOptions, type SlackCredentialVerdict, type SlackFailureReason, checkSlackCredential, postSlackAlert };
8
+ export { checkSlackCredential, postSlackAlert, type SlackAlertFailure, type SlackAlertOptions, type SlackAlertOutcome, type SlackCredentialCheckOptions, type SlackCredentialVerdict, type SlackFailureReason, } from './slack';
@@ -0,0 +1,176 @@
1
+ /**
2
+ * `/alerting` — post an operational alert to Slack, and say honestly when it
3
+ * did not arrive.
4
+ *
5
+ * WHY THIS EXISTS: on 2026-08-06 an audit of every Slack credential the org
6
+ * held found three of four dead — the fleet incoming webhook 404ing
7
+ * (`no_service`), a second company webhook likewise, and the bot token
8
+ * answering `account_inactive`. One ops webhook was still live. Nobody knew
9
+ * which was which until each was tested by hand, and that is the actual
10
+ * problem: the credentials were indistinguishable from where the code stood.
11
+ *
12
+ * This failure has already been paid for once, with numbers: in
13
+ * `agent-dev-container`, a revoked webhook let the CI healthcheck sit dead for
14
+ * 18 days — 2,567 consecutive failures, 27 successes, zero alerts — because
15
+ * fifteen call sites across six workflows posted with no body inspection and
16
+ * then asserted delivery. That repo fixed the reporting (its `post-slack.sh`
17
+ * confirms 2xx AND Slack's literal `ok` body, and fails closed otherwise) and
18
+ * that half of the lesson is theirs, adopted here.
19
+ *
20
+ * What their fix cannot do, and this module can, is answer the question BEFORE
21
+ * an alert needs to fire. A fail-closed post still only discovers a dead
22
+ * credential at the moment a page is lost. That is the second half.
23
+ *
24
+ * Two design consequences, and they are the whole module:
25
+ *
26
+ * 1. **A bot token and `chat.postMessage` is the preferred transport; an
27
+ * incoming webhook is supported because one is usually what you already
28
+ * have.** A token reaches every channel (a webhook is bolted to one), is
29
+ * revocable and rotatable in place, and — the part that matters — is
30
+ * VERIFIABLE: `auth.test` answers whether the credential is alive without
31
+ * posting anything, which is what lets `/preflight` fail a deploy on a dead
32
+ * alerting channel instead of discovering it during an incident. A webhook
33
+ * can only be tested by posting to it, which is why the three dead
34
+ * credentials above went unnoticed. A token is never fallen back FROM: if
35
+ * one is configured and dead, delivering over a webhook instead would hide
36
+ * the very condition worth reporting.
37
+ *
38
+ * 2. **Slack answers `ok:false` under HTTP 200.** `invalid_auth`,
39
+ * `channel_not_found` and `not_in_channel` all arrive as a successful
40
+ * response with a failure inside it, so a status check reads a dead channel
41
+ * as a delivered page. The body is always parsed, and the outcome
42
+ * distinguishes a MISSING credential (configuration absent — not an
43
+ * incident) from a DEAD one (the alerting channel itself is broken — the
44
+ * loudest thing this module can report). A summary that calls those two the
45
+ * same thing is the defect wearing a different hat.
46
+ *
47
+ * The caller decides what to do with a non-delivery; this module never throws
48
+ * on one, because an alerting path that can take down the thing it reports on
49
+ * is worse than the outage it was watching for. It is also never the only
50
+ * channel: a durable record (an issue, an audit row) is the caller's job, and
51
+ * that is what survives the credential going dead again.
52
+ *
53
+ * Server-only: holds a bot token. This subpath must never reach a browser
54
+ * bundle.
55
+ */
56
+ /**
57
+ * Why an alert did not reach Slack. The split is by what a human must DO about
58
+ * it, since that is the only distinction a caller can act on.
59
+ */
60
+ export type SlackFailureReason =
61
+ /** No token or no channel configured. Configuration is absent, nothing is broken. */
62
+ 'not-configured'
63
+ /**
64
+ * The token is dead — revoked, or its app removed from the workspace. No
65
+ * alert will EVER arrive until a human mints a new one. This is itself an
66
+ * incident and the caller should escalate it on a channel that does not
67
+ * depend on Slack.
68
+ */
69
+ | 'credential'
70
+ /**
71
+ * The credential is alive but cannot post HERE: the channel is wrong,
72
+ * archived, or the bot was never invited to it. One human action fixes it.
73
+ */
74
+ | 'channel'
75
+ /** Slack asked us to slow down. Transient; the alert is worth retrying. */
76
+ | 'rate-limited'
77
+ /** The request never got an answer — network, DNS, timeout. Transient. */
78
+ | 'transport'
79
+ /** Slack refused for some other reason; `detail` carries its error code. */
80
+ | 'api';
81
+ /** An alert that did not arrive, and why. Named because the classifiers only ever produce this half. */
82
+ export interface SlackAlertFailure {
83
+ delivered: false;
84
+ reason: SlackFailureReason;
85
+ /** One line naming what is wrong and what fixes it. Safe to log; carries no token. */
86
+ detail: string;
87
+ }
88
+ /** What one `postSlackAlert` call did. Never a bare boolean — the caller pages differently per reason. */
89
+ export type SlackAlertOutcome = {
90
+ delivered: true;
91
+ /** The channel id Slack resolved (not necessarily the name that was passed). */
92
+ channel: string;
93
+ /** Slack's message timestamp — the message's identity, for a later thread reply. */
94
+ ts: string;
95
+ } | SlackAlertFailure;
96
+ /** Define configuration options for posting an alert message to a Slack channel */
97
+ export interface SlackAlertOptions {
98
+ /**
99
+ * Slack bot token (`xoxb-…`) with `chat:write`. The PREFERRED transport,
100
+ * because it is the only one whose liveness can be checked before an alert
101
+ * needs it. An empty or absent value is `not-configured`, never an error — a
102
+ * product that has not adopted Slack yet must not fail its alerting path.
103
+ */
104
+ token?: string | undefined;
105
+ /**
106
+ * Channel to post to: a name (`#infra-alerts`) or an id (`C01234567`). The
107
+ * bot must be a member; Slack answers `not_in_channel` otherwise. Required
108
+ * with `token`, meaningless with `webhookUrl` (a webhook carries its own
109
+ * channel, fixed when it was created).
110
+ */
111
+ channel?: string | undefined;
112
+ /**
113
+ * Slack incoming-webhook URL, used only when no `token` is configured.
114
+ *
115
+ * It works and it needs no setup, which is why it is supported — but it
116
+ * cannot be verified without posting, cannot be pointed at a second channel,
117
+ * and gives back an error token instead of a code. Two of the three webhooks
118
+ * this org has held were found revoked. Treat it as the transport you have,
119
+ * not the one you want.
120
+ *
121
+ * When a `token` is also configured this is IGNORED rather than used as a
122
+ * fallback: a dead token must surface as the incident it is, and quietly
123
+ * succeeding over a second transport is how the last outage stayed invisible.
124
+ */
125
+ webhookUrl?: string | undefined;
126
+ /** Message body as Slack mrkdwn. Newlines are preserved. */
127
+ text: string;
128
+ /**
129
+ * Attempts for a TRANSIENT failure (429 / 5xx / transport). Default 3. A
130
+ * dead credential or a wrong channel is never retried — the answer will not
131
+ * change, and retrying an auth failure is how a token gets rate-limited.
132
+ */
133
+ attempts?: number;
134
+ /** Per-request deadline. Default 10s. */
135
+ timeoutMs?: number;
136
+ /** Injection seam for tests; defaults to global `fetch`. */
137
+ fetchImpl?: typeof fetch;
138
+ /** Injection seam for tests; defaults to a real delay between retries. */
139
+ sleepImpl?: (ms: number) => Promise<void>;
140
+ }
141
+ /**
142
+ * Post one alert to a Slack channel.
143
+ *
144
+ * Never throws and never retries a failure whose answer cannot change. The
145
+ * returned outcome is the whole result — a caller that ignores it has an
146
+ * alerting path it cannot prove works, which is the failure this module was
147
+ * written for.
148
+ */
149
+ export declare function postSlackAlert(options: SlackAlertOptions): Promise<SlackAlertOutcome>;
150
+ /** Define configuration options for verifying that a Slack bot token is live */
151
+ export interface SlackCredentialCheckOptions {
152
+ token: string | undefined;
153
+ /** Per-request deadline. Default 10s. */
154
+ timeoutMs?: number;
155
+ /** Injection seam for tests; defaults to global `fetch`. */
156
+ fetchImpl?: typeof fetch;
157
+ }
158
+ /** What `checkSlackCredential` concluded. `team`/`botId` are present only when live. */
159
+ export type SlackCredentialVerdict = {
160
+ live: true;
161
+ team: string;
162
+ botId: string;
163
+ } | {
164
+ live: false;
165
+ reason: SlackFailureReason;
166
+ detail: string;
167
+ };
168
+ /**
169
+ * Ask Slack whether the bot token is alive, WITHOUT posting anything.
170
+ *
171
+ * This is the check that was missing. An incoming webhook offers no equivalent
172
+ * — the only way to test one is to post to it — which is how a revoked webhook
173
+ * sat in a repo secret for months looking configured. Wire it into `/preflight`
174
+ * so a dead alerting channel fails a deploy rather than an incident.
175
+ */
176
+ export declare function checkSlackCredential(options: SlackCredentialCheckOptions): Promise<SlackCredentialVerdict>;
@@ -1,6 +1,3 @@
1
- import { Session, User, Auth, BetterAuthOptions } from 'better-auth';
2
- import { A as AuthGuard, T as TangleSsoHandlers, a as TangleSsoAuthClient, b as TangleSsoAccountStore } from '../sso-Cm00S61u.js';
3
-
4
1
  /**
5
2
  * better-auth config factory for agent products (#188 Phase 1). Every product
6
3
  * hand-rolls the same ~70–150 line setup — drizzle adapter over the standard
@@ -20,9 +17,11 @@ import { A as AuthGuard, T as TangleSsoHandlers, a as TangleSsoAuthClient, b as
20
17
  * better-auth is an OPTIONAL peer: only this subpath imports it, so it is
21
18
  * deliberately NOT re-exported from the root barrel.
22
19
  */
23
-
20
+ import { type Auth, type BetterAuthOptions, type Session, type User } from 'better-auth';
21
+ import { type AuthGuard } from '../platform/guards';
22
+ import { type TangleSsoAccountStore, type TangleSsoAuthClient, type TangleSsoHandlers } from '../platform/sso';
24
23
  /** Structural slice of a Resend-style client — no `resend` import. */
25
- interface AppAuthEmailClient {
24
+ export interface AppAuthEmailClient {
26
25
  emails: {
27
26
  send(message: {
28
27
  from: string;
@@ -34,7 +33,7 @@ interface AppAuthEmailClient {
34
33
  };
35
34
  }
36
35
  /** Define email configuration for app authentication including client, sender, verification, and warning options */
37
- interface AppAuthEmailConfig {
36
+ export interface AppAuthEmailConfig {
38
37
  /** A Resend-style client, or a lazy getter returning null when the API key
39
38
  * is absent (the products' dev default — mail is skipped with a warning,
40
39
  * sign-up itself must not crash). */
@@ -49,12 +48,12 @@ interface AppAuthEmailConfig {
49
48
  }
50
49
  /** Env-shaped: pass the env vars straight through; the provider is registered
51
50
  * only when BOTH values are non-empty, so unset env disables it. */
52
- interface AppAuthSocialProviderConfig {
51
+ export interface AppAuthSocialProviderConfig {
53
52
  clientId?: string;
54
53
  clientSecret?: string;
55
54
  }
56
55
  /** Define social authentication configuration options for GitHub and Google providers */
57
- interface AppAuthSocialConfig {
56
+ export interface AppAuthSocialConfig {
58
57
  github?: AppAuthSocialProviderConfig;
59
58
  google?: AppAuthSocialProviderConfig;
60
59
  }
@@ -62,7 +61,7 @@ interface AppAuthSocialConfig {
62
61
  * `setSessionCookie` via `createBetterAuthSessionCookieMinter(auth)` (signed
63
62
  * `__Secure-`/prefixed cookie that `auth.api.getSession` accepts) — so the
64
63
  * product no longer touches `better-auth/crypto` itself. */
65
- interface AppAuthSsoConfig {
64
+ export interface AppAuthSsoConfig {
66
65
  /** Platform wire client (authorizeUrl + exchange). */
67
66
  client: TangleSsoAuthClient;
68
67
  /** Product persistence: user upsert, session row, platform link. */
@@ -86,14 +85,14 @@ interface AppAuthSsoConfig {
86
85
  log?: (message: string, error?: unknown) => void;
87
86
  }
88
87
  /** Define the structure for application authentication data including users, sessions, accounts, and verifications */
89
- interface AppAuthSchema {
88
+ export interface AppAuthSchema {
90
89
  users: unknown;
91
90
  sessions: unknown;
92
91
  accounts: unknown;
93
92
  verifications: unknown;
94
93
  }
95
94
  /** Define configuration settings for app authentication including app name, base URL, secrets, and trusted origins */
96
- interface AppAuthConfig {
95
+ export interface AppAuthConfig {
97
96
  /** Product name — used in email subjects and as the cookie-prefix default. */
98
97
  appName: string;
99
98
  /** Absolute origin better-auth serves from (`BETTER_AUTH_URL`). */
@@ -141,14 +140,14 @@ interface AppAuthConfig {
141
140
  }
142
141
  /** The configured better-auth instance, typed at better-auth's base surface
143
142
  * (`handler`, `api`, `$context`, `$Infer`). */
144
- type AppAuthInstance = Auth;
143
+ export type AppAuthInstance = Auth;
145
144
  /** What `getSession`/guards resolve: better-auth's base session + user rows. */
146
- interface AppAuthSession {
145
+ export interface AppAuthSession {
147
146
  session: Session;
148
147
  user: User;
149
148
  }
150
149
  /** Define authentication guard with session retrieval and optional SSO handlers for app requests */
151
- interface AppAuth extends AuthGuard<AppAuthSession> {
150
+ export interface AppAuth extends AuthGuard<AppAuthSession> {
152
151
  auth: AppAuthInstance;
153
152
  /** `auth.api.getSession` over a `Request` — the seam the guards consume. */
154
153
  getSession(request: Request): Promise<AppAuthSession | null>;
@@ -163,6 +162,4 @@ interface AppAuth extends AuthGuard<AppAuthSession> {
163
162
  * start/callback handlers with the session cookie minted through better-auth's
164
163
  * own name/attributes/signing (no `better-auth/crypto` in product code).
165
164
  */
166
- declare function createAppAuth(config: AppAuthConfig): AppAuth;
167
-
168
- export { type AppAuth, type AppAuthConfig, type AppAuthEmailClient, type AppAuthEmailConfig, type AppAuthInstance, type AppAuthSchema, type AppAuthSession, type AppAuthSocialConfig, type AppAuthSocialProviderConfig, type AppAuthSsoConfig, createAppAuth };
165
+ export declare function createAppAuth(config: AppAuthConfig): AppAuth;