@tangle-network/agent-app 0.45.54 → 0.45.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/README.md +1 -1
  2. package/dist/alerting/index.d.ts +5 -175
  3. package/dist/alerting/slack.d.ts +176 -0
  4. package/dist/app-auth/index.d.ts +14 -17
  5. package/dist/assets/index.d.ts +2 -504
  6. package/dist/assets/schema.d.ts +264 -0
  7. package/dist/assets/types.d.ts +237 -0
  8. package/dist/assistant/AssistantDock.d.ts +56 -0
  9. package/dist/assistant/AssistantHistory.d.ts +41 -0
  10. package/dist/assistant/AssistantPanel.d.ts +84 -0
  11. package/dist/assistant/ProposalCard.d.ts +41 -0
  12. package/dist/assistant/ResizeHandle.d.ts +19 -0
  13. package/dist/assistant/client-context.d.ts +20 -0
  14. package/dist/assistant/client.d.ts +117 -0
  15. package/dist/assistant/index.d.ts +19 -848
  16. package/dist/assistant/launcher.d.ts +23 -0
  17. package/dist/assistant/persistence.d.ts +26 -0
  18. package/dist/assistant/presentation.d.ts +99 -0
  19. package/dist/assistant/provider-label.d.ts +7 -0
  20. package/dist/assistant/reducer.d.ts +130 -0
  21. package/dist/assistant/sse.d.ts +24 -0
  22. package/dist/assistant/time-ago.d.ts +6 -0
  23. package/dist/assistant/transcript.d.ts +97 -0
  24. package/dist/assistant/types.d.ts +291 -0
  25. package/dist/assistant/use-stick-to-bottom.d.ts +28 -0
  26. package/dist/assistant/useAssistantChat.d.ts +63 -0
  27. package/dist/assistant/useAssistantModels.d.ts +22 -0
  28. package/dist/assistant/useAssistantThreads.d.ts +47 -0
  29. package/dist/assistant/usePanelPrefs.d.ts +55 -0
  30. package/dist/billing/index.d.ts +19 -21
  31. package/dist/brand/index.d.ts +16 -10
  32. package/dist/brand-extraction/extract.d.ts +34 -0
  33. package/dist/brand-extraction/index.d.ts +12 -214
  34. package/dist/brand-extraction/map.d.ts +58 -0
  35. package/dist/brand-extraction/types.d.ts +119 -0
  36. package/dist/catalog/index.d.ts +11 -101
  37. package/dist/chat-react/composer-mode-controls.d.ts +14 -0
  38. package/dist/chat-react/entry-composer.d.ts +92 -0
  39. package/dist/chat-react/index.d.ts +22 -118
  40. package/dist/chat-react/types.d.ts +11 -0
  41. package/dist/chat-routes/attachment-store.d.ts +84 -0
  42. package/dist/chat-routes/attachment-upload.d.ts +84 -0
  43. package/dist/chat-routes/attachment-validation.d.ts +95 -0
  44. package/dist/chat-routes/binary-sniff.d.ts +45 -0
  45. package/dist/chat-routes/completed-sandbox-turn.d.ts +25 -0
  46. package/dist/chat-routes/detached-turn.d.ts +197 -0
  47. package/dist/chat-routes/dispatch-parts.d.ts +101 -0
  48. package/dist/chat-routes/draft-persistence.d.ts +189 -0
  49. package/dist/chat-routes/durable-projection.d.ts +18 -0
  50. package/dist/chat-routes/file-index.d.ts +115 -0
  51. package/dist/chat-routes/index.d.ts +25 -1840
  52. package/dist/chat-routes/model-failover-stream.d.ts +206 -0
  53. package/dist/chat-routes/promote-file-part.d.ts +84 -0
  54. package/dist/chat-routes/resolve-attachments.d.ts +72 -0
  55. package/dist/chat-routes/sandbox-producer.d.ts +146 -0
  56. package/dist/chat-routes/sandbox-turn-usage.d.ts +4 -0
  57. package/dist/{stale-turn-lock-DucQzvXu.d.ts → chat-routes/stale-turn-lock.d.ts} +7 -9
  58. package/dist/chat-routes/turn-routes.d.ts +540 -0
  59. package/dist/chat-routes/upload.d.ts +84 -0
  60. package/dist/{wire-DOZ-O6hD.d.ts → chat-routes/wire.d.ts} +41 -44
  61. package/dist/chat-store/core.d.ts +19 -0
  62. package/dist/chat-store/index.d.ts +22 -322
  63. package/dist/{parts-BqIHMdyu.d.ts → chat-store/parts.d.ts} +49 -47
  64. package/dist/chat-store/schema.d.ts +157 -0
  65. package/dist/chat-store/store.d.ts +177 -0
  66. package/dist/config/index.d.ts +13 -18
  67. package/dist/crypto/index.d.ts +10 -12
  68. package/dist/crypto/web-token.d.ts +22 -0
  69. package/dist/design-canvas/apply.d.ts +70 -0
  70. package/dist/design-canvas/drizzle-store.d.ts +29 -0
  71. package/dist/design-canvas/drizzle.d.ts +7 -575
  72. package/dist/{export-presets-mgVulRaV.d.ts → design-canvas/export-presets.d.ts} +18 -22
  73. package/dist/design-canvas/index.d.ts +22 -268
  74. package/dist/design-canvas/mcp-entry.d.ts +15 -0
  75. package/dist/design-canvas/mcp-handler.d.ts +34 -0
  76. package/dist/design-canvas/mcp-tools.d.ts +30 -0
  77. package/dist/{model-DnfO_PdJ.d.ts → design-canvas/model.d.ts} +33 -35
  78. package/dist/{operations-ByJ6yXOW.d.ts → design-canvas/operations.d.ts} +21 -25
  79. package/dist/design-canvas/schema.d.ts +558 -0
  80. package/dist/{store-CqfDtnPQ.d.ts → design-canvas/store.d.ts} +8 -12
  81. package/dist/design-canvas/templates.d.ts +72 -0
  82. package/dist/design-canvas/validate.d.ts +32 -0
  83. package/dist/design-canvas-react/components/BleedTrimOverlay.d.ts +22 -0
  84. package/dist/design-canvas-react/components/BrandKnot.d.ts +11 -0
  85. package/dist/design-canvas-react/components/CanvasEmptyState.d.ts +32 -0
  86. package/dist/design-canvas-react/components/CanvasInsertPanel.d.ts +53 -0
  87. package/dist/{lazy-DrkVyDpe.d.ts → design-canvas-react/components/DesignCanvas.d.ts} +27 -20
  88. package/dist/design-canvas-react/components/DesignCanvasEditor.d.ts +23 -0
  89. package/dist/design-canvas-react/components/ElementNode.d.ts +51 -0
  90. package/dist/design-canvas-react/components/ExportControl.d.ts +21 -0
  91. package/dist/design-canvas-react/components/GridLayer.d.ts +47 -0
  92. package/dist/design-canvas-react/components/InlineTextEditor.d.ts +25 -0
  93. package/dist/design-canvas-react/components/LayersPanel.d.ts +20 -0
  94. package/dist/design-canvas-react/components/PagesStrip.d.ts +34 -0
  95. package/dist/design-canvas-react/components/Rulers.d.ts +31 -0
  96. package/dist/design-canvas-react/components/SelectionLayer.d.ts +51 -0
  97. package/dist/design-canvas-react/components/SnapGuidesOverlay.d.ts +25 -0
  98. package/dist/design-canvas-react/components/Toolbar.d.ts +64 -0
  99. package/dist/design-canvas-react/components/Workspace.d.ts +92 -0
  100. package/dist/design-canvas-react/components/ZoomControls.d.ts +14 -0
  101. package/dist/design-canvas-react/components/glyphs.d.ts +46 -0
  102. package/dist/design-canvas-react/components/icon-button.d.ts +22 -0
  103. package/dist/design-canvas-react/components/index.d.ts +27 -0
  104. package/dist/design-canvas-react/components/layer-tree.d.ts +34 -0
  105. package/dist/design-canvas-react/components/ruler-math.d.ts +78 -0
  106. package/dist/design-canvas-react/components/transform-math.d.ts +168 -0
  107. package/dist/{command-stack-TNPWJCzW.d.ts → design-canvas-react/contracts.d.ts} +16 -63
  108. package/dist/design-canvas-react/engine/command-stack.d.ts +43 -0
  109. package/dist/design-canvas-react/engine/commands.d.ts +154 -0
  110. package/dist/design-canvas-react/engine/selection.d.ts +48 -0
  111. package/dist/design-canvas-react/engine/snap.d.ts +24 -0
  112. package/dist/design-canvas-react/engine/zoom-pan.d.ts +18 -0
  113. package/dist/design-canvas-react/engine.d.ts +21 -399
  114. package/dist/design-canvas-react/export-math.d.ts +104 -0
  115. package/dist/design-canvas-react/export.d.ts +89 -0
  116. package/dist/design-canvas-react/index.d.ts +16 -586
  117. package/dist/design-canvas-react/insert-builders.d.ts +61 -0
  118. package/dist/design-canvas-react/lazy.d.ts +21 -6
  119. package/dist/documents/docx.d.ts +50 -0
  120. package/dist/documents/extract.d.ts +87 -0
  121. package/dist/documents/index.d.ts +26 -232
  122. package/dist/documents/media-type.d.ts +33 -0
  123. package/dist/documents/pdf-inspector.d.ts +5 -9
  124. package/dist/{types-DrBidf3O.d.ts → documents/types.d.ts} +13 -15
  125. package/dist/documents/zip.d.ts +56 -0
  126. package/dist/eval/calibration.d.ts +106 -0
  127. package/dist/eval/index.d.ts +8 -116
  128. package/dist/eval-campaign/index.d.ts +11 -12
  129. package/dist/{trust-gate-Dcm5xSva.d.ts → eval-campaign/trust-gate.d.ts} +5 -9
  130. package/dist/forms/blank.d.ts +48 -0
  131. package/dist/forms/fill.d.ts +105 -0
  132. package/dist/forms/index.d.ts +58 -332
  133. package/dist/forms/registry.d.ts +115 -0
  134. package/dist/forms/verify.d.ts +58 -0
  135. package/dist/harness/index.d.ts +21 -19
  136. package/dist/intakes/api.d.ts +5 -11
  137. package/dist/{completion-CvcNUz07.d.ts → intakes/completion.d.ts} +7 -11
  138. package/dist/intakes/context-sufficiency.d.ts +113 -0
  139. package/dist/intakes/drizzle/schema.d.ts +338 -0
  140. package/dist/intakes/drizzle/store.d.ts +75 -0
  141. package/dist/intakes/drizzle.d.ts +12 -391
  142. package/dist/intakes/index.d.ts +23 -113
  143. package/dist/{model-C8U0HZxL.d.ts → intakes/model.d.ts} +15 -17
  144. package/dist/intakes-react/components/BrandMark.d.ts +10 -0
  145. package/dist/intakes-react/components/IntakeInterview.d.ts +15 -0
  146. package/dist/intakes-react/components/index.d.ts +1 -0
  147. package/dist/intakes-react/contracts.d.ts +42 -0
  148. package/dist/intakes-react/index.d.ts +12 -47
  149. package/dist/intakes-react/lazy.d.ts +9 -8
  150. package/dist/integrations/index.d.ts +10 -12
  151. package/dist/{contract-OxG_jVMx.d.ts → interactions/contract.d.ts} +40 -42
  152. package/dist/interactions/index.d.ts +16 -256
  153. package/dist/interactions/route.d.ts +151 -0
  154. package/dist/interactions/sidecar.d.ts +100 -0
  155. package/dist/knowledge/index.d.ts +7 -11
  156. package/dist/knowledge-loop/index.d.ts +13 -20
  157. package/dist/legibility/checks/empty-state.d.ts +59 -0
  158. package/dist/legibility/checks/reachability.d.ts +103 -0
  159. package/dist/legibility/checks/silent-failure.d.ts +57 -0
  160. package/dist/legibility/checks/success.d.ts +38 -0
  161. package/dist/legibility/checks/vocabulary.d.ts +65 -0
  162. package/dist/legibility/cli-args.d.ts +30 -0
  163. package/dist/legibility/cli.d.ts +25 -0
  164. package/dist/legibility/index.d.ts +10 -530
  165. package/dist/legibility/report.d.ts +22 -0
  166. package/dist/legibility/scan.d.ts +29 -0
  167. package/dist/legibility/source.d.ts +132 -0
  168. package/dist/legibility/suppress.d.ts +36 -0
  169. package/dist/legibility/types.d.ts +168 -0
  170. package/dist/legibility/walk-sources.d.ts +21 -0
  171. package/dist/{agent-activity-C8ZG0F0M.d.ts → missions/agent-activity.d.ts} +3 -5
  172. package/dist/missions/engine.d.ts +251 -0
  173. package/dist/missions/events.d.ts +195 -0
  174. package/dist/missions/index.d.ts +12 -765
  175. package/dist/missions/plan-parse.d.ts +50 -0
  176. package/dist/missions/service.d.ts +265 -0
  177. package/dist/{failover-D-3UXXTb.d.ts → model-resolution/failover.d.ts} +10 -12
  178. package/dist/model-resolution/index.d.ts +15 -18
  179. package/dist/object-store/index.d.ts +15 -17
  180. package/dist/openui/action.d.ts +54 -0
  181. package/dist/openui/authoring.d.ts +25 -0
  182. package/dist/openui/index.d.ts +24 -206
  183. package/dist/openui/route.d.ts +124 -0
  184. package/dist/openui/segments.d.ts +71 -0
  185. package/dist/openui/values.d.ts +82 -0
  186. package/dist/openui-react/index.d.ts +9 -13
  187. package/dist/peer-floors/check.d.ts +9 -190
  188. package/dist/peer-floors/cli.d.ts +2 -3
  189. package/dist/peer-floors/dependency-source.d.ts +178 -0
  190. package/dist/plans/index.d.ts +13 -14
  191. package/dist/{billing-BuNlaKlE.d.ts → platform/billing.d.ts} +28 -32
  192. package/dist/platform/guards.d.ts +79 -0
  193. package/dist/platform/hub.d.ts +107 -0
  194. package/dist/platform/index.d.ts +7 -112
  195. package/dist/{sso-Cm00S61u.d.ts → platform/sso.d.ts} +15 -97
  196. package/dist/preflight/cli.d.ts +3 -6
  197. package/dist/preflight/index.d.ts +16 -18
  198. package/dist/preset-cloudflare/headers.d.ts +12 -0
  199. package/dist/preset-cloudflare/index.d.ts +22 -74
  200. package/dist/preset-cloudflare/workflow-instance.d.ts +35 -0
  201. package/dist/profile/budget.d.ts +72 -0
  202. package/dist/profile/fingerprint.d.ts +65 -0
  203. package/dist/profile/index.d.ts +27 -19
  204. package/dist/prompt/index.d.ts +3 -5
  205. package/dist/record/drizzle/schema.d.ts +488 -0
  206. package/dist/record/drizzle/store.d.ts +224 -0
  207. package/dist/record/drizzle.d.ts +10 -679
  208. package/dist/record/fold.d.ts +99 -0
  209. package/dist/record/index.d.ts +13 -13
  210. package/dist/{fold-DACU7gtf.d.ts → record/model.d.ts} +22 -124
  211. package/dist/record/ulid.d.ts +12 -0
  212. package/dist/redact/index.d.ts +14 -16
  213. package/dist/run/index.d.ts +11 -16
  214. package/dist/runtime/agent.d.ts +23 -0
  215. package/dist/runtime/certified-delivery.d.ts +57 -0
  216. package/dist/runtime/index.d.ts +17 -367
  217. package/dist/runtime/loop.d.ts +58 -0
  218. package/dist/runtime/model-catalog.d.ts +103 -0
  219. package/dist/{model-CdCDfBA9.d.ts → runtime/model.d.ts} +25 -27
  220. package/dist/runtime/openai-stream.d.ts +126 -0
  221. package/dist/runtime/surface-profile.d.ts +115 -0
  222. package/dist/sandbox/binary-read.d.ts +63 -0
  223. package/dist/sandbox/diagnostics.d.ts +69 -0
  224. package/dist/sandbox/index.d.ts +103 -1085
  225. package/dist/sandbox/model.d.ts +179 -0
  226. package/dist/sandbox/outcome.d.ts +10 -0
  227. package/dist/sandbox/prewarm-claim-d1.d.ts +80 -0
  228. package/dist/sandbox/prewarm.d.ts +193 -0
  229. package/dist/sandbox/recovery.d.ts +216 -0
  230. package/dist/sandbox/terminal-connection.d.ts +145 -0
  231. package/dist/sandbox/workspace-sandbox-manager.d.ts +44 -0
  232. package/dist/sequences/apply.d.ts +54 -0
  233. package/dist/sequences/captions.d.ts +91 -0
  234. package/dist/sequences/drizzle-store.d.ts +36 -0
  235. package/dist/sequences/drizzle.d.ts +7 -1252
  236. package/dist/sequences/exports.d.ts +138 -0
  237. package/dist/sequences/index.d.ts +19 -340
  238. package/dist/sequences/mcp-entry.d.ts +15 -0
  239. package/dist/sequences/mcp-handler.d.ts +39 -0
  240. package/dist/sequences/mcp-tools.d.ts +47 -0
  241. package/dist/{store-B7LLlk9p.d.ts → sequences/model.d.ts} +26 -110
  242. package/dist/sequences/operations.d.ts +126 -0
  243. package/dist/sequences/schema.d.ts +1231 -0
  244. package/dist/sequences/store.d.ts +81 -0
  245. package/dist/sequences/validate.d.ts +98 -0
  246. package/dist/sequences-react/components/BrandMark.d.ts +10 -0
  247. package/dist/sequences-react/components/PreviewCanvas.d.ts +26 -0
  248. package/dist/sequences-react/components/SnapIndicatorLine.d.ts +11 -0
  249. package/dist/sequences-react/components/TimelineClipChip.d.ts +80 -0
  250. package/dist/sequences-react/components/TimelineEditor.d.ts +44 -0
  251. package/dist/sequences-react/components/TimelineEmptyState.d.ts +21 -0
  252. package/dist/sequences-react/components/TimelineGhostLanes.d.ts +14 -0
  253. package/dist/sequences-react/components/TimelinePlayhead.d.ts +11 -0
  254. package/dist/sequences-react/components/TimelineRuler.d.ts +16 -0
  255. package/dist/sequences-react/components/TimelineSmallScreenGate.d.ts +12 -0
  256. package/dist/sequences-react/components/TimelineTrackRow.d.ts +51 -0
  257. package/dist/sequences-react/components/ZoomControl.d.ts +15 -0
  258. package/dist/sequences-react/components/composite-command.d.ts +8 -0
  259. package/dist/sequences-react/components/glyphs.d.ts +26 -0
  260. package/dist/sequences-react/components/index.d.ts +31 -0
  261. package/dist/sequences-react/components/interaction-math.d.ts +103 -0
  262. package/dist/sequences-react/contracts.d.ts +187 -0
  263. package/dist/sequences-react/engine/command-stack.d.ts +18 -0
  264. package/dist/sequences-react/engine/commands.d.ts +146 -0
  265. package/dist/sequences-react/engine/playback.d.ts +18 -0
  266. package/dist/sequences-react/engine/snap.d.ts +29 -0
  267. package/dist/sequences-react/engine/zoom.d.ts +29 -0
  268. package/dist/sequences-react/index.d.ts +20 -880
  269. package/dist/sequences-react/lazy.d.ts +8 -0
  270. package/dist/sequences-react/media/frame-provider.d.ts +70 -0
  271. package/dist/sequences-react/media/transcription.d.ts +33 -0
  272. package/dist/sequences-react/media/waveform.d.ts +34 -0
  273. package/dist/session-shell/index.d.ts +31 -204
  274. package/dist/session-shell/nav-guard.d.ts +170 -0
  275. package/dist/session-shell/path.d.ts +19 -0
  276. package/dist/signoff/cli.d.ts +4 -7
  277. package/dist/signoff/config.d.ts +12 -0
  278. package/dist/signoff/exec.d.ts +44 -0
  279. package/dist/signoff/index.d.ts +56 -14
  280. package/dist/signoff/invoked-as-script.d.ts +25 -0
  281. package/dist/signoff/node-version.d.ts +50 -0
  282. package/dist/signoff/proof-attach.d.ts +88 -0
  283. package/dist/signoff/proof-cli.d.ts +1 -0
  284. package/dist/signoff/proof-fixture.d.ts +13 -0
  285. package/dist/signoff/proof-from-report.d.ts +22 -0
  286. package/dist/signoff/proof-git.d.ts +57 -0
  287. package/dist/signoff/proof-record.d.ts +202 -0
  288. package/dist/signoff/proof-verify.d.ts +103 -0
  289. package/dist/signoff/proof.d.ts +35 -310
  290. package/dist/signoff/report.d.ts +7 -0
  291. package/dist/{run-D80hoLKh.d.ts → signoff/run.d.ts} +3 -6
  292. package/dist/signoff/schedule.d.ts +55 -0
  293. package/dist/signoff/seeds.d.ts +50 -0
  294. package/dist/signoff/store.d.ts +22 -0
  295. package/dist/{types-Bd6uW9vQ.d.ts → signoff/types.d.ts} +15 -17
  296. package/dist/signoff/workflow-pin.d.ts +56 -0
  297. package/dist/signoff/workspace.d.ts +40 -0
  298. package/dist/skills/index.d.ts +28 -32
  299. package/dist/skills-placement/index.d.ts +7 -11
  300. package/dist/spend/budget.d.ts +123 -0
  301. package/dist/spend/ceiling.d.ts +51 -0
  302. package/dist/spend/cli-args.d.ts +20 -0
  303. package/dist/spend/cli.d.ts +1 -0
  304. package/dist/spend/fixtures/incident-parked-time.d.ts +55 -0
  305. package/dist/spend/index.d.ts +38 -1144
  306. package/dist/spend/liveness.d.ts +131 -0
  307. package/dist/spend/ownership.d.ts +87 -0
  308. package/dist/spend/reconcile.d.ts +109 -0
  309. package/dist/spend/reference.d.ts +42 -0
  310. package/dist/spend/report.d.ts +12 -0
  311. package/dist/spend/store.d.ts +123 -0
  312. package/dist/spend/types.d.ts +466 -0
  313. package/dist/store/index.d.ts +10 -12
  314. package/dist/stories/app-shell/fixtures.d.ts +43 -0
  315. package/dist/stories/app-shell/shell.d.ts +81 -0
  316. package/dist/stories/assistant/fixtures.d.ts +73 -0
  317. package/dist/stories/chat/fixtures.d.ts +70 -0
  318. package/dist/stories/chat/markdown.d.ts +11 -0
  319. package/dist/stories/chat/run-drill-in.d.ts +19 -0
  320. package/dist/stories/chat-controls/fixtures.d.ts +116 -0
  321. package/dist/stories/design-canvas/fixtures.d.ts +57 -0
  322. package/dist/stories/fixtures/canvas.d.ts +10 -0
  323. package/dist/stories/fixtures/catalog.d.ts +7 -0
  324. package/dist/stories/fixtures/chat.d.ts +39 -0
  325. package/dist/stories/fixtures/index.d.ts +4 -0
  326. package/dist/stories/fixtures/sequences.d.ts +17 -0
  327. package/dist/stories/panels/fixtures.d.ts +63 -0
  328. package/dist/stories/sequences/fixtures.d.ts +30 -0
  329. package/dist/stories/studio/fixtures.d.ts +22 -0
  330. package/dist/stream/index.d.ts +10 -56
  331. package/dist/{stream-normalizer-DKRxyVlZ.d.ts → stream/stream-normalizer.d.ts} +23 -26
  332. package/dist/{turn-buffer-COMQUwO2.d.ts → stream/turn-buffer.d.ts} +21 -23
  333. package/dist/stream/turn-identity.d.ts +49 -0
  334. package/dist/studio/generation.d.ts +179 -0
  335. package/dist/studio/index.d.ts +12 -181
  336. package/dist/studio-react/avatar-composer.d.ts +8 -0
  337. package/dist/studio-react/composer-hero.d.ts +12 -0
  338. package/dist/studio-react/composer-shell.d.ts +18 -0
  339. package/dist/studio-react/generation-card.d.ts +9 -0
  340. package/dist/studio-react/generation-detail-modal.d.ts +11 -0
  341. package/dist/studio-react/generation-detail.d.ts +6 -0
  342. package/dist/studio-react/generation-grid.d.ts +15 -0
  343. package/dist/studio-react/image-composer.d.ts +8 -0
  344. package/dist/studio-react/index.d.ts +32 -245
  345. package/dist/studio-react/library-drawer.d.ts +12 -0
  346. package/dist/studio-react/library-panel.d.ts +15 -0
  347. package/dist/studio-react/publish-package-composer.d.ts +18 -0
  348. package/dist/studio-react/result-canvas.d.ts +6 -0
  349. package/dist/studio-react/speech-composer.d.ts +4 -0
  350. package/dist/studio-react/studio-header.d.ts +5 -0
  351. package/dist/studio-react/studio-sheet.d.ts +12 -0
  352. package/dist/studio-react/studio-workspace.d.ts +23 -0
  353. package/dist/studio-react/transcription-composer.d.ts +12 -0
  354. package/dist/studio-react/type-config.d.ts +11 -0
  355. package/dist/studio-react/use-studio-generations.d.ts +20 -0
  356. package/dist/studio-react/video-composer.d.ts +10 -0
  357. package/dist/tangle/index.d.ts +7 -9
  358. package/dist/teams/drizzle/access.d.ts +82 -0
  359. package/dist/{invitations-schema-_fI7HkJP.d.ts → teams/drizzle/invitations-schema.d.ts} +39 -27
  360. package/dist/teams/drizzle/personal-organization.d.ts +41 -0
  361. package/dist/{access-490O6aOU.d.ts → teams/drizzle/schema.d.ts} +57 -122
  362. package/dist/teams/drizzle.d.ts +12 -44
  363. package/dist/teams/index.d.ts +20 -44
  364. package/dist/teams/invitations-api.d.ts +17 -21
  365. package/dist/{invitations-DoYMvXea.d.ts → teams/invitations.d.ts} +14 -18
  366. package/dist/teams/invite.d.ts +42 -0
  367. package/dist/teams/members-api.d.ts +12 -16
  368. package/dist/teams/resend.d.ts +3 -13
  369. package/dist/{roles-B4nU3jDi.d.ts → teams/roles.d.ts} +18 -20
  370. package/dist/teams-react/components/BrandMark.d.ts +10 -0
  371. package/dist/teams-react/components/InvitationsPanel.d.ts +13 -0
  372. package/dist/teams-react/components/InviteAcceptPage.d.ts +10 -0
  373. package/dist/teams-react/components/MembersPanel.d.ts +14 -0
  374. package/dist/teams-react/components/RoleSelect.d.ts +17 -0
  375. package/dist/teams-react/components/index.d.ts +3 -0
  376. package/dist/teams-react/contracts.d.ts +134 -0
  377. package/dist/teams-react/index.d.ts +12 -143
  378. package/dist/teams-react/lazy.d.ts +11 -11
  379. package/dist/test-setup.d.ts +1 -0
  380. package/dist/theme/index.d.ts +6 -104
  381. package/dist/theme/tailwind-preset.d.ts +1 -2
  382. package/dist/theme/theme.d.ts +106 -0
  383. package/dist/theme-contract/cli.d.ts +21 -0
  384. package/dist/theme-contract/index.d.ts +4 -6
  385. package/dist/{auth-BYtiazA4.d.ts → tools/auth.d.ts} +8 -11
  386. package/dist/tools/capability.d.ts +54 -0
  387. package/dist/tools/dispatch.d.ts +37 -0
  388. package/dist/tools/errors.d.ts +8 -0
  389. package/dist/tools/gating.d.ts +62 -0
  390. package/dist/tools/http.d.ts +27 -0
  391. package/dist/tools/index.d.ts +12 -217
  392. package/dist/{mcp-rpc-DYwPlYbZ.d.ts → tools/mcp-rpc.d.ts} +7 -9
  393. package/dist/{mcp-xxoZZfor.d.ts → tools/mcp.d.ts} +14 -16
  394. package/dist/tools/openai.d.ts +28 -0
  395. package/dist/tools/registry.d.ts +39 -0
  396. package/dist/tools/runtime.d.ts +22 -0
  397. package/dist/{types-B25Mib1r.d.ts → tools/types.d.ts} +15 -83
  398. package/dist/{flow-types-CJxEmaRy.d.ts → trace/flow-types.d.ts} +2 -4
  399. package/dist/trace/index.d.ts +11 -148
  400. package/dist/trace/mission-flow.d.ts +82 -0
  401. package/dist/trace/mission-trace.d.ts +52 -0
  402. package/dist/turn-health/classify.d.ts +207 -0
  403. package/dist/turn-health/index.d.ts +29 -637
  404. package/dist/turn-health/lifecycle.d.ts +75 -0
  405. package/dist/turn-health/sink.d.ts +122 -0
  406. package/dist/turn-health/sweep.d.ts +245 -0
  407. package/dist/turn-stream/adapters.d.ts +257 -0
  408. package/dist/turn-stream/core.d.ts +293 -0
  409. package/dist/turn-stream/do.d.ts +144 -0
  410. package/dist/turn-stream/index.d.ts +62 -738
  411. package/dist/turn-stream/memory.d.ts +41 -0
  412. package/dist/vault/ConfirmDialog.d.ts +22 -0
  413. package/dist/vault/VaultPane.d.ts +15 -0
  414. package/dist/{VaultPane-BDP6SB_K.d.ts → vault/contracts.d.ts} +15 -22
  415. package/dist/vault/index.d.ts +15 -22
  416. package/dist/vault/lazy.d.ts +9 -7
  417. package/dist/vault/server.d.ts +8 -10
  418. package/dist/web/free-route-limit.d.ts +187 -0
  419. package/dist/web/index.d.ts +15 -207
  420. package/dist/{rate-limit-BOVmJRXZ.d.ts → web/rate-limit.d.ts} +3 -5
  421. package/dist/web-react/agent-session-controls.d.ts +105 -0
  422. package/dist/web-react/async/async-view.d.ts +69 -0
  423. package/dist/web-react/async/index.d.ts +13 -305
  424. package/dist/web-react/async/state.d.ts +107 -0
  425. package/dist/web-react/async/use-async-resource.d.ts +41 -0
  426. package/dist/web-react/async/use-confirmed-mutation.d.ts +90 -0
  427. package/dist/web-react/brand-mark.d.ts +11 -0
  428. package/dist/web-react/chat-attachments.d.ts +21 -0
  429. package/dist/web-react/chat-composer.d.ts +174 -0
  430. package/dist/web-react/chat-interactions.d.ts +1 -0
  431. package/dist/web-react/chat-mentions.d.ts +48 -0
  432. package/dist/web-react/chat-stream.d.ts +106 -0
  433. package/dist/web-react/class-names.d.ts +10 -0
  434. package/dist/web-react/controls.d.ts +265 -0
  435. package/dist/web-react/durable-chat-cards.d.ts +40 -0
  436. package/dist/web-react/durable-interaction-submit.d.ts +22 -0
  437. package/dist/web-react/durable-plan-card.d.ts +13 -0
  438. package/dist/web-react/durable-plan-flow.d.ts +77 -0
  439. package/dist/web-react/harness-glyphs.d.ts +28 -0
  440. package/dist/web-react/index.d.ts +80 -2347
  441. package/dist/web-react/inert.d.ts +39 -0
  442. package/dist/web-react/insight-card.d.ts +203 -0
  443. package/dist/web-react/interaction-card-support.d.ts +115 -0
  444. package/dist/web-react/interaction-plan-card.d.ts +39 -0
  445. package/dist/web-react/interaction-question-card.d.ts +100 -0
  446. package/dist/web-react/message-attachments.d.ts +56 -0
  447. package/dist/web-react/mission-activity.d.ts +96 -0
  448. package/dist/web-react/motion.d.ts +43 -0
  449. package/dist/web-react/provenance-model.d.ts +195 -0
  450. package/dist/web-react/provenance.d.ts +82 -0
  451. package/dist/web-react/provider-logo.d.ts +14 -0
  452. package/dist/web-react/record-grid-model.d.ts +257 -0
  453. package/dist/web-react/record-grid.d.ts +108 -0
  454. package/dist/web-react/sandbox-terminal.d.ts +90 -0
  455. package/dist/web-react/seat-paywall.d.ts +47 -0
  456. package/dist/web-react/session-history.d.ts +196 -0
  457. package/dist/web-react/smooth-text.d.ts +29 -0
  458. package/dist/web-react/sparkline.d.ts +150 -0
  459. package/dist/web-react/terminal.d.ts +1 -92
  460. package/dist/web-react/use-chat-interactions.d.ts +78 -0
  461. package/dist/web-react/use-composer-attachments.d.ts +111 -0
  462. package/dist/web-react/use-file-mentions.d.ts +94 -0
  463. package/dist/web-react/work-product.d.ts +105 -0
  464. package/dist/work-product/claim-support.d.ts +288 -0
  465. package/dist/work-product/index.d.ts +16 -849
  466. package/dist/work-product/provenance.d.ts +61 -0
  467. package/dist/{queue-VTBA5ONX.d.ts → work-product/queue.d.ts} +10 -12
  468. package/dist/work-product/quote.d.ts +139 -0
  469. package/dist/work-product/route.d.ts +88 -0
  470. package/dist/work-product/service.d.ts +123 -0
  471. package/dist/work-product/tools.d.ts +144 -0
  472. package/dist/{types-CCeYywdS.d.ts → work-product/types.d.ts} +29 -31
  473. package/dist/work-product-react/index.d.ts +19 -8
  474. package/dist/workspace-react/index.d.ts +8 -11
  475. package/package.json +4 -3
  476. package/dist/agent-session-controls-CmlXwp_H.d.ts +0 -384
  477. package/dist/apply-6wlMOLf8.d.ts +0 -280
  478. package/dist/attachment-validation-BfJDBU1g.d.ts +0 -261
  479. package/dist/budget-BOucfcb_.d.ts +0 -142
  480. package/dist/values-C7RidJuI.d.ts +0 -156
@@ -1,9 +1,17 @@
1
- import * as react from 'react';
2
- import { ReactNode } from 'react';
3
- export { TangleKnot } from '@tangle-network/brand';
4
-
1
+ /**
2
+ * Tangle brand components for Agent App surfaces.
3
+ *
4
+ * The visual mark stays owned by `@tangle-network/brand`; this module only
5
+ * preserves Agent App's existing `Logo` properties and supplies `BrandHeader`.
6
+ *
7
+ * import { Logo, TangleKnot, BrandHeader } from '@tangle-network/agent-app/brand'
8
+ */
9
+ import { TangleKnot } from '@tangle-network/brand';
10
+ import type { ReactNode } from 'react';
11
+ /** Render the canonical, theme-independent Tangle knot mark. */
12
+ export { TangleKnot };
5
13
  /** Define properties to customize the logo variant, size, style, and icon display options. */
6
- interface LogoProps {
14
+ export interface LogoProps {
7
15
  /** Preserved for compatibility; the canonical Tangle lockup is used. */
8
16
  variant?: 'sandbox';
9
17
  size?: 'sm' | 'md' | 'lg' | 'xl';
@@ -12,9 +20,9 @@ interface LogoProps {
12
20
  iconOnly?: boolean;
13
21
  }
14
22
  /** Render the canonical Tangle lockup through Agent App's existing API. */
15
- declare function Logo({ variant, size, className, iconOnly, }: LogoProps): react.JSX.Element;
23
+ export declare function Logo({ variant, size, className, iconOnly, }: LogoProps): import("react").JSX.Element;
16
24
  /** Define properties for a brand header including optional title, children, and CSS class name. */
17
- interface BrandHeaderProps {
25
+ export interface BrandHeaderProps {
18
26
  /** Product name rendered next to the knot. Omit for a mark-only header. */
19
27
  title?: string;
20
28
  /** Right-aligned slot for nav, actions, theme toggles. */
@@ -22,6 +30,4 @@ interface BrandHeaderProps {
22
30
  className?: string;
23
31
  }
24
32
  /** Shared app-shell header with the canonical Tangle mark. */
25
- declare function BrandHeader({ title, children, className }: BrandHeaderProps): react.JSX.Element;
26
-
27
- export { BrandHeader, type BrandHeaderProps, Logo, type LogoProps };
33
+ export declare function BrandHeader({ title, children, className }: BrandHeaderProps): import("react").JSX.Element;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Brand-kit extraction engine.
3
+ *
4
+ * Given a website URL (or raw HTML), parse the page and pull a typed BrandKit:
5
+ * logo candidates, color palette, fonts, and prominent images. Parsing is
6
+ * regex-based on purpose — this runs on Cloudflare Workers and other edge
7
+ * runtimes where DOM libraries (jsdom/cheerio) are unavailable, and the page
8
+ * structures we read (link tags, meta tags, CSS custom properties, font-family
9
+ * declarations) are flat enough that a DOM buys nothing.
10
+ *
11
+ * Degrades gracefully: a missing favicon, no CSS tokens, or an image-only page
12
+ * each narrow the kit rather than failing it. The ONLY hard failures are a bad
13
+ * input (no html and no fetch) and a fetch error — both returned as a typed
14
+ * `{ succeeded: false }` outcome so callers never mistake an empty kit for a
15
+ * real one.
16
+ */
17
+ import type { BrandExtractionResult, BrandKit, ExtractBrandKitOptions } from './types';
18
+ /** Normalize a user-supplied site URL: add https:// when scheme-less, validate. */
19
+ export declare function normalizeSiteUrl(raw: string): string | null;
20
+ /** Normalize any CSS color literal to #rrggbb / #rrggbbaa hex, or null. */
21
+ export declare function normalizeColor(raw: string): string | null;
22
+ /** Parse already-fetched HTML into a BrandKit. Pure — no network. Exposed so
23
+ * callers that hold the HTML (or want to combine multiple pages) can reuse the
24
+ * parsing without re-fetching. */
25
+ export declare function parseBrandKit(html: string, sourceUrl: string, maxPerList?: number): BrandKit;
26
+ /**
27
+ * Fetch a website (or use supplied HTML) and extract its BrandKit.
28
+ *
29
+ * Returns a typed outcome — callers MUST check `succeeded`. A fetch failure or
30
+ * empty input is a real, surfaced error, never an empty kit masquerading as a
31
+ * result. Parsing itself never throws: a malformed page yields a sparse kit
32
+ * with warnings, which is information, not failure.
33
+ */
34
+ export declare function extractBrandKit(url: string, options?: ExtractBrandKitOptions): Promise<BrandExtractionResult>;
@@ -1,215 +1,13 @@
1
1
  /**
2
- * Typed contract for a brand kit extracted from a website (+ optional shared
3
- * source files). The extractor degrades gracefully: every field is best-effort,
4
- * absence is represented explicitly (empty arrays, undefined), never faked.
5
- *
6
- * A consuming product (gtm, creative) maps this onto its own durable brand
7
- * store see the gtm `WorkspaceBrand`. This module owns only extraction; it
8
- * does NOT persist, render, or judge confidence.
9
- */
10
- /** A logo / brand-mark candidate discovered on a page. */
11
- interface BrandLogoCandidate {
12
- /** Absolute URL to the asset. */
13
- url: string;
14
- /** Where it came from — drives ranking and lets callers cite provenance. */
15
- source: 'favicon' | 'apple-touch-icon' | 'og:image' | 'img-logo' | 'svg-inline' | 'manifest';
16
- /** Higher = more likely the canonical logo. 0..1. */
17
- confidence: number;
18
- /** Declared width in px when known (from <link sizes> or <img width>). */
19
- width?: number;
20
- /** Declared height in px when known. */
21
- height?: number;
22
- /** MIME type when inferable from the extension. */
23
- mimeType?: string;
24
- /** alt / title text when present — a "logo" alt is a strong signal. */
25
- alt?: string;
26
- }
27
- /** A color extracted from the page, with where it was seen. */
28
- interface BrandColor {
29
- /** Normalized 6- or 8-digit `#rrggbb` / `#rrggbbaa` hex (lowercase). */
30
- hex: string;
31
- /** How many distinct declarations referenced this color (popularity proxy). */
32
- occurrences: number;
33
- /** True when sourced from a `:root` CSS custom property (highest fidelity). */
34
- fromToken: boolean;
35
- /** The custom-property name when fromToken (e.g. `--accent`). */
36
- tokenName?: string;
37
- }
38
- /** A font-family discovered in CSS, with role inference. */
39
- interface BrandFont {
40
- /** Primary family name, unquoted (e.g. `Inter`, `Playfair Display`). */
41
- family: string;
42
- /** The full declared stack as written, in order. */
43
- stack: string[];
44
- /** Inferred role from the selector the declaration was attached to. */
45
- role: 'display' | 'body' | 'unknown';
46
- /** Declaration count — popularity proxy for picking the dominant family. */
47
- occurrences: number;
48
- }
49
- /** A prominent product / hero image candidate (not a logo). */
50
- interface BrandImage {
51
- url: string;
52
- source: 'og:image' | 'twitter:image' | 'img-hero' | 'img-content';
53
- /** alt text when present. */
54
- alt?: string;
55
- width?: number;
56
- height?: number;
57
- }
58
- /**
59
- * The full extracted kit. The shape every consumer reads. Each list is ranked
60
- * best-first; empty lists mean "found nothing", never a fabricated default.
61
- */
62
- interface BrandKit {
63
- /** The site the kit was extracted from (normalized, absolute). */
64
- sourceUrl: string;
65
- /** Best-guess brand / product name from <title>, og:site_name, manifest. */
66
- name?: string;
67
- /** Tagline / description from meta description or og:description. */
68
- description?: string;
69
- /** Logo candidates, ranked best-first. */
70
- logos: BrandLogoCandidate[];
71
- /** Colors, ranked by token-first then popularity. */
72
- palette: BrandColor[];
73
- /** Fonts, ranked display-then-body then popularity. */
74
- fonts: BrandFont[];
75
- /** Prominent images (hero / og), ranked best-first. */
76
- images: BrandImage[];
77
- /** Absolute URLs / labels the kit was derived from — for provenance. */
78
- extractedFrom: string[];
79
- }
80
- /**
81
- * Typed outcome. Callers MUST inspect `succeeded` before reading `kit`.
82
- * No silent empties: a fetch failure is `succeeded:false` with a real error,
83
- * NOT an empty BrandKit that downstream code mistakes for "this brand has
84
- * nothing".
85
- */
86
- type BrandExtractionResult = {
87
- succeeded: true;
88
- kit: BrandKit;
89
- warnings: string[];
90
- } | {
91
- succeeded: false;
92
- error: string;
93
- stage: 'fetch' | 'parse' | 'input';
94
- };
95
- /** Fetch boundary, injectable so callers (Workers, Node, tests) supply their
96
- * own fetch and so tests can run fully offline against fixture HTML. */
97
- type FetchLike = (url: string, init?: {
98
- signal?: AbortSignal;
99
- headers?: Record<string, string>;
100
- }) => Promise<{
101
- ok: boolean;
102
- status: number;
103
- text(): Promise<string>;
104
- headers?: {
105
- get(name: string): string | null;
106
- };
107
- }>;
108
- /** Define options for extracting brand kit data including HTML input, fetch method, timeout, and list limits */
109
- interface ExtractBrandKitOptions {
110
- /** Raw HTML for the page. When supplied, no network fetch happens — used by
111
- * tests and by callers that already hold the HTML. */
112
- html?: string;
113
- /** Fetch implementation. Required when `html` is omitted. */
114
- fetchImpl?: FetchLike;
115
- /** Per-request timeout in ms (default 15000). Applied to the page fetch. */
116
- timeoutMs?: number;
117
- /** Cap on each ranked list (default 12). Keeps payloads bounded. */
118
- maxPerList?: number;
119
- }
120
-
121
- /**
122
- * Brand-kit extraction engine.
123
- *
124
- * Given a website URL (or raw HTML), parse the page and pull a typed BrandKit:
125
- * logo candidates, color palette, fonts, and prominent images. Parsing is
126
- * regex-based on purpose — this runs on Cloudflare Workers and other edge
127
- * runtimes where DOM libraries (jsdom/cheerio) are unavailable, and the page
128
- * structures we read (link tags, meta tags, CSS custom properties, font-family
129
- * declarations) are flat enough that a DOM buys nothing.
130
- *
131
- * Degrades gracefully: a missing favicon, no CSS tokens, or an image-only page
132
- * each narrow the kit rather than failing it. The ONLY hard failures are a bad
133
- * input (no html and no fetch) and a fetch error — both returned as a typed
134
- * `{ succeeded: false }` outcome so callers never mistake an empty kit for a
135
- * real one.
136
- */
137
-
138
- /** Normalize a user-supplied site URL: add https:// when scheme-less, validate. */
139
- declare function normalizeSiteUrl(raw: string): string | null;
140
- /** Normalize any CSS color literal to #rrggbb / #rrggbbaa hex, or null. */
141
- declare function normalizeColor(raw: string): string | null;
142
- /** Parse already-fetched HTML into a BrandKit. Pure — no network. Exposed so
143
- * callers that hold the HTML (or want to combine multiple pages) can reuse the
144
- * parsing without re-fetching. */
145
- declare function parseBrandKit(html: string, sourceUrl: string, maxPerList?: number): BrandKit;
146
- /**
147
- * Fetch a website (or use supplied HTML) and extract its BrandKit.
148
- *
149
- * Returns a typed outcome — callers MUST check `succeeded`. A fetch failure or
150
- * empty input is a real, surfaced error, never an empty kit masquerading as a
151
- * result. Parsing itself never throws: a malformed page yields a sparse kit
152
- * with warnings, which is information, not failure.
153
- */
154
- declare function extractBrandKit(url: string, options?: ExtractBrandKitOptions): Promise<BrandExtractionResult>;
155
-
156
- /**
157
- * Pure mapping helpers from an extracted BrandKit onto consumable shapes.
158
- *
159
- * Extraction yields ranked candidate lists; products need decided roles
160
- * (background vs accent, display vs body). These helpers make the obvious,
161
- * defensible default choice and expose the reasoning so a confirmation UI can
162
- * show "we picked X — change it?". They NEVER invent a value: when a role can't
163
- * be filled from the kit, it is omitted, and the caller decides the fallback.
164
- */
165
-
166
- /** Relative luminance (0..1) of an #rrggbb(aa) hex — for light/dark sorting. */
167
- declare function luminance(hex: string): number;
168
- /** Define a color palette with background, surface, text, and accent colors for UI elements */
169
- interface DecidedPalette {
170
- /** Lightest neutral — page background. */
171
- background?: string;
172
- /** A raised neutral one step from background. */
173
- surface?: string;
174
- /** Darkest readable color — primary text. */
175
- textPrimary?: string;
176
- /** Mid-tone neutral — secondary text. */
177
- textSecondary?: string;
178
- /** Most saturated / popular brand color — accent. */
179
- accent?: string;
180
- /** Readable text color to sit on the accent (black or white by contrast). */
181
- accentText?: string;
182
- }
183
- /**
184
- * Assign palette roles from the ranked colors. Heuristic, not authoritative —
185
- * a confirmation step should let the user correct it. Roles only appear when
186
- * the kit actually contained a color that fits.
187
- */
188
- declare function decidePalette(palette: BrandColor[]): DecidedPalette;
189
- /** Define font selections for display and body text with optional BrandFont properties */
190
- interface DecidedFonts {
191
- display?: BrandFont;
192
- body?: BrandFont;
193
- }
194
- /** Pick a display and body font from the ranked list. When only one usable
195
- * font exists it fills both roles — a single-typeface brand is valid. */
196
- declare function decideFonts(fonts: BrandFont[]): DecidedFonts;
197
- /** Everything a confirmation step needs from a kit, with roles decided. */
198
- interface DecidedBrandKit {
199
- name?: string;
200
- description?: string;
201
- sourceUrl: string;
202
- palette: DecidedPalette;
203
- fonts: DecidedFonts;
204
- /** Best logo URL, when any candidate was found. */
205
- primaryLogoUrl?: string;
206
- /** All logo URLs, ranked. */
207
- logoUrls: string[];
208
- /** Prominent image URLs, ranked. */
209
- imageUrls: string[];
210
- extractedFrom: string[];
211
- }
212
- /** Collapse a raw BrandKit into decided roles — the shape a product persists. */
213
- declare function decideBrandKit(kit: BrandKit): DecidedBrandKit;
214
-
215
- export { type BrandColor, type BrandExtractionResult, type BrandFont, type BrandImage, type BrandKit, type BrandLogoCandidate, type DecidedBrandKit, type DecidedFonts, type DecidedPalette, type ExtractBrandKitOptions, type FetchLike, decideBrandKit, decideFonts, decidePalette, extractBrandKit, luminance, normalizeColor, normalizeSiteUrl, parseBrandKit };
2
+ * @tangle-network/agent-app/brand-extraction
3
+ *
4
+ * Reusable brand-kit extraction: given a website URL (or raw HTML), produce a
5
+ * typed BrandKit — logos, palette, fonts, images — with a typed outcome and
6
+ * graceful degradation. Edge-safe (regex parsing, no DOM dependency). Pure
7
+ * mechanism: no persistence, no rendering. Consumers (gtm, creative) map the
8
+ * decided kit onto their own durable brand store via the `map` helpers.
9
+ */
10
+ export * from './types';
11
+ export { extractBrandKit, parseBrandKit, normalizeSiteUrl, normalizeColor } from './extract';
12
+ export { decideBrandKit, decidePalette, decideFonts, luminance, } from './map';
13
+ export type { DecidedBrandKit, DecidedPalette, DecidedFonts } from './map';
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Pure mapping helpers from an extracted BrandKit onto consumable shapes.
3
+ *
4
+ * Extraction yields ranked candidate lists; products need decided roles
5
+ * (background vs accent, display vs body). These helpers make the obvious,
6
+ * defensible default choice and expose the reasoning so a confirmation UI can
7
+ * show "we picked X — change it?". They NEVER invent a value: when a role can't
8
+ * be filled from the kit, it is omitted, and the caller decides the fallback.
9
+ */
10
+ import type { BrandColor, BrandFont, BrandKit } from './types';
11
+ /** Relative luminance (0..1) of an #rrggbb(aa) hex — for light/dark sorting. */
12
+ export declare function luminance(hex: string): number;
13
+ /** Define a color palette with background, surface, text, and accent colors for UI elements */
14
+ export interface DecidedPalette {
15
+ /** Lightest neutral — page background. */
16
+ background?: string;
17
+ /** A raised neutral one step from background. */
18
+ surface?: string;
19
+ /** Darkest readable color — primary text. */
20
+ textPrimary?: string;
21
+ /** Mid-tone neutral — secondary text. */
22
+ textSecondary?: string;
23
+ /** Most saturated / popular brand color — accent. */
24
+ accent?: string;
25
+ /** Readable text color to sit on the accent (black or white by contrast). */
26
+ accentText?: string;
27
+ }
28
+ /**
29
+ * Assign palette roles from the ranked colors. Heuristic, not authoritative —
30
+ * a confirmation step should let the user correct it. Roles only appear when
31
+ * the kit actually contained a color that fits.
32
+ */
33
+ export declare function decidePalette(palette: BrandColor[]): DecidedPalette;
34
+ /** Define font selections for display and body text with optional BrandFont properties */
35
+ export interface DecidedFonts {
36
+ display?: BrandFont;
37
+ body?: BrandFont;
38
+ }
39
+ /** Pick a display and body font from the ranked list. When only one usable
40
+ * font exists it fills both roles — a single-typeface brand is valid. */
41
+ export declare function decideFonts(fonts: BrandFont[]): DecidedFonts;
42
+ /** Everything a confirmation step needs from a kit, with roles decided. */
43
+ export interface DecidedBrandKit {
44
+ name?: string;
45
+ description?: string;
46
+ sourceUrl: string;
47
+ palette: DecidedPalette;
48
+ fonts: DecidedFonts;
49
+ /** Best logo URL, when any candidate was found. */
50
+ primaryLogoUrl?: string;
51
+ /** All logo URLs, ranked. */
52
+ logoUrls: string[];
53
+ /** Prominent image URLs, ranked. */
54
+ imageUrls: string[];
55
+ extractedFrom: string[];
56
+ }
57
+ /** Collapse a raw BrandKit into decided roles — the shape a product persists. */
58
+ export declare function decideBrandKit(kit: BrandKit): DecidedBrandKit;
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Typed contract for a brand kit extracted from a website (+ optional shared
3
+ * source files). The extractor degrades gracefully: every field is best-effort,
4
+ * absence is represented explicitly (empty arrays, undefined), never faked.
5
+ *
6
+ * A consuming product (gtm, creative) maps this onto its own durable brand
7
+ * store — see the gtm `WorkspaceBrand`. This module owns only extraction; it
8
+ * does NOT persist, render, or judge confidence.
9
+ */
10
+ /** A logo / brand-mark candidate discovered on a page. */
11
+ export interface BrandLogoCandidate {
12
+ /** Absolute URL to the asset. */
13
+ url: string;
14
+ /** Where it came from — drives ranking and lets callers cite provenance. */
15
+ source: 'favicon' | 'apple-touch-icon' | 'og:image' | 'img-logo' | 'svg-inline' | 'manifest';
16
+ /** Higher = more likely the canonical logo. 0..1. */
17
+ confidence: number;
18
+ /** Declared width in px when known (from <link sizes> or <img width>). */
19
+ width?: number;
20
+ /** Declared height in px when known. */
21
+ height?: number;
22
+ /** MIME type when inferable from the extension. */
23
+ mimeType?: string;
24
+ /** alt / title text when present — a "logo" alt is a strong signal. */
25
+ alt?: string;
26
+ }
27
+ /** A color extracted from the page, with where it was seen. */
28
+ export interface BrandColor {
29
+ /** Normalized 6- or 8-digit `#rrggbb` / `#rrggbbaa` hex (lowercase). */
30
+ hex: string;
31
+ /** How many distinct declarations referenced this color (popularity proxy). */
32
+ occurrences: number;
33
+ /** True when sourced from a `:root` CSS custom property (highest fidelity). */
34
+ fromToken: boolean;
35
+ /** The custom-property name when fromToken (e.g. `--accent`). */
36
+ tokenName?: string;
37
+ }
38
+ /** A font-family discovered in CSS, with role inference. */
39
+ export interface BrandFont {
40
+ /** Primary family name, unquoted (e.g. `Inter`, `Playfair Display`). */
41
+ family: string;
42
+ /** The full declared stack as written, in order. */
43
+ stack: string[];
44
+ /** Inferred role from the selector the declaration was attached to. */
45
+ role: 'display' | 'body' | 'unknown';
46
+ /** Declaration count — popularity proxy for picking the dominant family. */
47
+ occurrences: number;
48
+ }
49
+ /** A prominent product / hero image candidate (not a logo). */
50
+ export interface BrandImage {
51
+ url: string;
52
+ source: 'og:image' | 'twitter:image' | 'img-hero' | 'img-content';
53
+ /** alt text when present. */
54
+ alt?: string;
55
+ width?: number;
56
+ height?: number;
57
+ }
58
+ /**
59
+ * The full extracted kit. The shape every consumer reads. Each list is ranked
60
+ * best-first; empty lists mean "found nothing", never a fabricated default.
61
+ */
62
+ export interface BrandKit {
63
+ /** The site the kit was extracted from (normalized, absolute). */
64
+ sourceUrl: string;
65
+ /** Best-guess brand / product name from <title>, og:site_name, manifest. */
66
+ name?: string;
67
+ /** Tagline / description from meta description or og:description. */
68
+ description?: string;
69
+ /** Logo candidates, ranked best-first. */
70
+ logos: BrandLogoCandidate[];
71
+ /** Colors, ranked by token-first then popularity. */
72
+ palette: BrandColor[];
73
+ /** Fonts, ranked display-then-body then popularity. */
74
+ fonts: BrandFont[];
75
+ /** Prominent images (hero / og), ranked best-first. */
76
+ images: BrandImage[];
77
+ /** Absolute URLs / labels the kit was derived from — for provenance. */
78
+ extractedFrom: string[];
79
+ }
80
+ /**
81
+ * Typed outcome. Callers MUST inspect `succeeded` before reading `kit`.
82
+ * No silent empties: a fetch failure is `succeeded:false` with a real error,
83
+ * NOT an empty BrandKit that downstream code mistakes for "this brand has
84
+ * nothing".
85
+ */
86
+ export type BrandExtractionResult = {
87
+ succeeded: true;
88
+ kit: BrandKit;
89
+ warnings: string[];
90
+ } | {
91
+ succeeded: false;
92
+ error: string;
93
+ stage: 'fetch' | 'parse' | 'input';
94
+ };
95
+ /** Fetch boundary, injectable so callers (Workers, Node, tests) supply their
96
+ * own fetch and so tests can run fully offline against fixture HTML. */
97
+ export type FetchLike = (url: string, init?: {
98
+ signal?: AbortSignal;
99
+ headers?: Record<string, string>;
100
+ }) => Promise<{
101
+ ok: boolean;
102
+ status: number;
103
+ text(): Promise<string>;
104
+ headers?: {
105
+ get(name: string): string | null;
106
+ };
107
+ }>;
108
+ /** Define options for extracting brand kit data including HTML input, fetch method, timeout, and list limits */
109
+ export interface ExtractBrandKitOptions {
110
+ /** Raw HTML for the page. When supplied, no network fetch happens — used by
111
+ * tests and by callers that already hold the HTML. */
112
+ html?: string;
113
+ /** Fetch implementation. Required when `html` is omitted. */
114
+ fetchImpl?: FetchLike;
115
+ /** Per-request timeout in ms (default 15000). Applied to the page fetch. */
116
+ timeoutMs?: number;
117
+ /** Cap on each ranked list (default 12). Keeps payloads bounded. */
118
+ maxPerList?: number;
119
+ }
@@ -1,105 +1,15 @@
1
1
  /**
2
- * Model catalogue — computed live from the Tangle Router, never hand-curated.
3
- * Lifted from tuner-agent so every agent app's model picker shares one
4
- * filter/dedupe/rank/feature pipeline instead of re-deriving it.
2
+ * Browser-safe model-catalogue subpath.
5
3
  *
6
- * The router's /models endpoint returns every routeable model (~200), which is
7
- * unusable as a picker list: it mixes chat models with TTS/embedding/realtime
8
- * endpoints, dated snapshots alias their parents, and provider-prefixed ids
9
- * duplicate canonical ones. This module turns that into a product catalogue:
4
+ * `./runtime` is a SERVER barrel: alongside the catalogue it re-exports
5
+ * `createAgentRuntime`/`runAppToolLoop`, which import
6
+ * `@tangle-network/agent-runtime` (node:util, child_process). Any client
7
+ * component that imports a `/runtime` VALUE ships Node-only code into its
8
+ * route bundle and the module throws on load — this broke the chat route on
9
+ * legal-agent (#256) and the home composer on tax-agent (#372).
10
10
  *
11
- * filter (chat-capable, routeable) dedupe (snapshot/prefix/:free aliases)
12
- * rank (provider tier, family, version) feature (best model per family)
13
- * default (env override or first featured)
14
- *
15
- * Freshness is automatic: everything is derived from the live router response,
16
- * so new models surface as soon as the router lists them. The only static
17
- * knowledge here is slow-moving: provider display order and family name
18
- * patterns (e.g. "claude-sonnet-*", "gpt-N"). A new Sonnet or GPT release
19
- * outranks its predecessor by version comparison with zero code change; only
20
- * a brand-new *family name* (rare) needs a one-line rule addition.
21
- */
22
- interface RouterModel {
23
- id: string;
24
- name?: string;
25
- description?: string;
26
- _provider?: string;
27
- pricing?: {
28
- prompt?: string | null;
29
- completion?: string | null;
30
- };
31
- context_length?: number;
32
- architecture?: {
33
- modality?: string;
34
- input_modalities?: string[];
35
- output_modalities?: string[];
36
- };
37
- supported_parameters?: string[];
38
- routeability?: {
39
- status?: string;
40
- routeable?: boolean;
41
- provider?: string;
42
- };
43
- }
44
- /** Define the structure and capabilities of a catalog item with optional pricing and feature flags */
45
- interface CatalogModel {
46
- id: string;
47
- name: string;
48
- provider: string;
49
- description?: string;
50
- contextLength?: number;
51
- pricing?: {
52
- prompt?: string;
53
- completion?: string;
54
- };
55
- supportsTools: boolean;
56
- supportsReasoning: boolean;
57
- featured: boolean;
58
- }
59
- /** Define a catalog containing models with a default ID and fetch timestamp */
60
- interface ModelCatalog {
61
- defaultModelId: string | null;
62
- fetchedAt: string;
63
- models: CatalogModel[];
64
- }
65
- /** Strip provider prefix, :free suffix, and trailing date stamps. */
66
- declare function normalizeModelId(id: string): string;
67
- /**
68
- * Can this router entry serve a text chat turn?
69
- *
70
- * The router lists every routeable endpoint, which is not the same list a chat
71
- * picker should show: measured against the live catalogue (504 entries), this
72
- * rejects 35 — image generators, TTS voices, embedding models, and the
73
- * audio-IN transcription endpoints (`whisper-1`, `gpt-4o-transcribe`, …) that
74
- * emit text but cannot take a text prompt.
75
- *
76
- * A model whose metadata omits either modality list is KEPT. The router is the
77
- * source of that metadata and it is occasionally sparse; dropping a usable
78
- * model because a field is missing is the worse failure of the two.
79
- *
80
- * Exported because a picker needs the same answer `buildCatalog` uses — the
81
- * fleet had this predicate copied into a product component, where its narrower
82
- * spelling let the 10 transcription endpoints through.
83
- */
84
- declare function isChatCapableModel(m: RouterModel): boolean;
85
- /**
86
- * Pure catalogue pipeline. `preferredDefault` (typically the MODEL_NAME env
87
- * var) wins when it survives filtering; otherwise the first featured model.
88
- */
89
- declare function buildCatalog(raw: RouterModel[], opts?: {
90
- preferredDefault?: string;
91
- }): ModelCatalog;
92
- /**
93
- * Fetch the router model list and build the catalogue, with an in-isolate
94
- * cache (TTL 5 min). On router failure a stale catalogue is served rather
95
- * than erroring the picker.
11
+ * This subpath re-exports ONLY the pure catalogue pipeline (no Node imports,
12
+ * no agent-runtime) so pickers and client hooks have a safe import target.
13
+ * Server code may keep importing from `./runtime`; the two share one source.
96
14
  */
97
- declare function fetchModelCatalog(cfg: {
98
- baseUrl: string;
99
- apiKey: string;
100
- preferredDefault?: string;
101
- }): Promise<ModelCatalog>;
102
- /** Test-only: clear the catalogue cache. */
103
- declare function __resetCatalogCache(): void;
104
-
105
- export { type CatalogModel, type ModelCatalog, type RouterModel, __resetCatalogCache, buildCatalog, fetchModelCatalog, isChatCapableModel, normalizeModelId };
15
+ export { buildCatalog, fetchModelCatalog, isChatCapableModel, normalizeModelId, __resetCatalogCache, type CatalogModel, type ModelCatalog, type RouterModel, } from '../runtime/model-catalog';
@@ -0,0 +1,14 @@
1
+ import type { ComposerPlanModeSelection } from './types';
2
+ export interface ComposerModeControlsProps {
3
+ /**
4
+ * Plan-approval mode. Products pass it only when the selected backend can
5
+ * propose a plan and wait for approval; omitted means nothing renders.
6
+ */
7
+ planMode?: ComposerPlanModeSelection;
8
+ }
9
+ /**
10
+ * The shared plan-mode toggle for the left side of an agent composer.
11
+ * Plan mode is a behavioral switch, not part of the profile/backend/model/
12
+ * thinking identity controls on the right.
13
+ */
14
+ export declare function ComposerModeControls({ planMode }: ComposerModeControlsProps): import("react").JSX.Element | null;