@tangle-network/agent-app 0.45.53 → 0.45.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/README.md +1 -1
  2. package/dist/alerting/index.d.ts +5 -175
  3. package/dist/alerting/slack.d.ts +176 -0
  4. package/dist/app-auth/index.d.ts +14 -17
  5. package/dist/assets/index.d.ts +2 -504
  6. package/dist/assets/schema.d.ts +264 -0
  7. package/dist/assets/types.d.ts +237 -0
  8. package/dist/assistant/AssistantDock.d.ts +56 -0
  9. package/dist/assistant/AssistantHistory.d.ts +41 -0
  10. package/dist/assistant/AssistantPanel.d.ts +84 -0
  11. package/dist/assistant/ProposalCard.d.ts +41 -0
  12. package/dist/assistant/ResizeHandle.d.ts +19 -0
  13. package/dist/assistant/client-context.d.ts +20 -0
  14. package/dist/assistant/client.d.ts +117 -0
  15. package/dist/assistant/index.d.ts +19 -848
  16. package/dist/assistant/launcher.d.ts +23 -0
  17. package/dist/assistant/persistence.d.ts +26 -0
  18. package/dist/assistant/presentation.d.ts +99 -0
  19. package/dist/assistant/provider-label.d.ts +7 -0
  20. package/dist/assistant/reducer.d.ts +130 -0
  21. package/dist/assistant/sse.d.ts +24 -0
  22. package/dist/assistant/time-ago.d.ts +6 -0
  23. package/dist/assistant/transcript.d.ts +97 -0
  24. package/dist/assistant/types.d.ts +291 -0
  25. package/dist/assistant/use-stick-to-bottom.d.ts +28 -0
  26. package/dist/assistant/useAssistantChat.d.ts +63 -0
  27. package/dist/assistant/useAssistantModels.d.ts +22 -0
  28. package/dist/assistant/useAssistantThreads.d.ts +47 -0
  29. package/dist/assistant/usePanelPrefs.d.ts +55 -0
  30. package/dist/billing/index.d.ts +19 -21
  31. package/dist/brand/index.d.ts +16 -10
  32. package/dist/brand-extraction/extract.d.ts +34 -0
  33. package/dist/brand-extraction/index.d.ts +12 -214
  34. package/dist/brand-extraction/map.d.ts +58 -0
  35. package/dist/brand-extraction/types.d.ts +119 -0
  36. package/dist/catalog/index.d.ts +11 -101
  37. package/dist/chat-react/composer-mode-controls.d.ts +14 -0
  38. package/dist/chat-react/entry-composer.d.ts +92 -0
  39. package/dist/chat-react/index.d.ts +22 -118
  40. package/dist/chat-react/types.d.ts +11 -0
  41. package/dist/chat-routes/attachment-store.d.ts +84 -0
  42. package/dist/chat-routes/attachment-upload.d.ts +84 -0
  43. package/dist/chat-routes/attachment-validation.d.ts +95 -0
  44. package/dist/chat-routes/binary-sniff.d.ts +45 -0
  45. package/dist/chat-routes/completed-sandbox-turn.d.ts +25 -0
  46. package/dist/chat-routes/detached-turn.d.ts +197 -0
  47. package/dist/chat-routes/dispatch-parts.d.ts +101 -0
  48. package/dist/chat-routes/draft-persistence.d.ts +189 -0
  49. package/dist/chat-routes/durable-projection.d.ts +18 -0
  50. package/dist/chat-routes/file-index.d.ts +115 -0
  51. package/dist/chat-routes/index.d.ts +25 -1840
  52. package/dist/chat-routes/model-failover-stream.d.ts +206 -0
  53. package/dist/chat-routes/promote-file-part.d.ts +84 -0
  54. package/dist/chat-routes/resolve-attachments.d.ts +72 -0
  55. package/dist/chat-routes/sandbox-producer.d.ts +146 -0
  56. package/dist/chat-routes/sandbox-turn-usage.d.ts +4 -0
  57. package/dist/{stale-turn-lock-DucQzvXu.d.ts → chat-routes/stale-turn-lock.d.ts} +7 -9
  58. package/dist/chat-routes/turn-routes.d.ts +540 -0
  59. package/dist/chat-routes/upload.d.ts +84 -0
  60. package/dist/{wire-DOZ-O6hD.d.ts → chat-routes/wire.d.ts} +41 -44
  61. package/dist/chat-store/core.d.ts +19 -0
  62. package/dist/chat-store/index.d.ts +22 -322
  63. package/dist/{parts-BqIHMdyu.d.ts → chat-store/parts.d.ts} +49 -47
  64. package/dist/chat-store/schema.d.ts +157 -0
  65. package/dist/chat-store/store.d.ts +177 -0
  66. package/dist/config/index.d.ts +13 -18
  67. package/dist/crypto/index.d.ts +10 -12
  68. package/dist/crypto/web-token.d.ts +22 -0
  69. package/dist/design-canvas/apply.d.ts +70 -0
  70. package/dist/design-canvas/drizzle-store.d.ts +29 -0
  71. package/dist/design-canvas/drizzle.d.ts +7 -575
  72. package/dist/{export-presets-mgVulRaV.d.ts → design-canvas/export-presets.d.ts} +18 -22
  73. package/dist/design-canvas/index.d.ts +22 -268
  74. package/dist/design-canvas/mcp-entry.d.ts +15 -0
  75. package/dist/design-canvas/mcp-handler.d.ts +34 -0
  76. package/dist/design-canvas/mcp-tools.d.ts +30 -0
  77. package/dist/{model-DnfO_PdJ.d.ts → design-canvas/model.d.ts} +33 -35
  78. package/dist/{operations-ByJ6yXOW.d.ts → design-canvas/operations.d.ts} +21 -25
  79. package/dist/design-canvas/schema.d.ts +558 -0
  80. package/dist/{store-CqfDtnPQ.d.ts → design-canvas/store.d.ts} +8 -12
  81. package/dist/design-canvas/templates.d.ts +72 -0
  82. package/dist/design-canvas/validate.d.ts +32 -0
  83. package/dist/design-canvas-react/components/BleedTrimOverlay.d.ts +22 -0
  84. package/dist/design-canvas-react/components/BrandKnot.d.ts +11 -0
  85. package/dist/design-canvas-react/components/CanvasEmptyState.d.ts +32 -0
  86. package/dist/design-canvas-react/components/CanvasInsertPanel.d.ts +53 -0
  87. package/dist/{lazy-DrkVyDpe.d.ts → design-canvas-react/components/DesignCanvas.d.ts} +27 -20
  88. package/dist/design-canvas-react/components/DesignCanvasEditor.d.ts +23 -0
  89. package/dist/design-canvas-react/components/ElementNode.d.ts +51 -0
  90. package/dist/design-canvas-react/components/ExportControl.d.ts +21 -0
  91. package/dist/design-canvas-react/components/GridLayer.d.ts +47 -0
  92. package/dist/design-canvas-react/components/InlineTextEditor.d.ts +25 -0
  93. package/dist/design-canvas-react/components/LayersPanel.d.ts +20 -0
  94. package/dist/design-canvas-react/components/PagesStrip.d.ts +34 -0
  95. package/dist/design-canvas-react/components/Rulers.d.ts +31 -0
  96. package/dist/design-canvas-react/components/SelectionLayer.d.ts +51 -0
  97. package/dist/design-canvas-react/components/SnapGuidesOverlay.d.ts +25 -0
  98. package/dist/design-canvas-react/components/Toolbar.d.ts +64 -0
  99. package/dist/design-canvas-react/components/Workspace.d.ts +92 -0
  100. package/dist/design-canvas-react/components/ZoomControls.d.ts +14 -0
  101. package/dist/design-canvas-react/components/glyphs.d.ts +46 -0
  102. package/dist/design-canvas-react/components/icon-button.d.ts +22 -0
  103. package/dist/design-canvas-react/components/index.d.ts +27 -0
  104. package/dist/design-canvas-react/components/layer-tree.d.ts +34 -0
  105. package/dist/design-canvas-react/components/ruler-math.d.ts +78 -0
  106. package/dist/design-canvas-react/components/transform-math.d.ts +168 -0
  107. package/dist/{command-stack-TNPWJCzW.d.ts → design-canvas-react/contracts.d.ts} +16 -63
  108. package/dist/design-canvas-react/engine/command-stack.d.ts +43 -0
  109. package/dist/design-canvas-react/engine/commands.d.ts +154 -0
  110. package/dist/design-canvas-react/engine/selection.d.ts +48 -0
  111. package/dist/design-canvas-react/engine/snap.d.ts +24 -0
  112. package/dist/design-canvas-react/engine/zoom-pan.d.ts +18 -0
  113. package/dist/design-canvas-react/engine.d.ts +21 -399
  114. package/dist/design-canvas-react/export-math.d.ts +104 -0
  115. package/dist/design-canvas-react/export.d.ts +89 -0
  116. package/dist/design-canvas-react/index.d.ts +16 -586
  117. package/dist/design-canvas-react/insert-builders.d.ts +61 -0
  118. package/dist/design-canvas-react/lazy.d.ts +21 -6
  119. package/dist/documents/docx.d.ts +50 -0
  120. package/dist/documents/extract.d.ts +87 -0
  121. package/dist/documents/index.d.ts +26 -232
  122. package/dist/documents/media-type.d.ts +33 -0
  123. package/dist/documents/pdf-inspector.d.ts +5 -9
  124. package/dist/{types-DrBidf3O.d.ts → documents/types.d.ts} +13 -15
  125. package/dist/documents/zip.d.ts +56 -0
  126. package/dist/eval/calibration.d.ts +106 -0
  127. package/dist/eval/index.d.ts +8 -116
  128. package/dist/eval-campaign/index.d.ts +11 -12
  129. package/dist/{trust-gate-Dcm5xSva.d.ts → eval-campaign/trust-gate.d.ts} +5 -9
  130. package/dist/forms/blank.d.ts +48 -0
  131. package/dist/forms/fill.d.ts +105 -0
  132. package/dist/forms/index.d.ts +58 -332
  133. package/dist/forms/registry.d.ts +115 -0
  134. package/dist/forms/verify.d.ts +58 -0
  135. package/dist/harness/index.d.ts +21 -19
  136. package/dist/intakes/api.d.ts +5 -11
  137. package/dist/{completion-CvcNUz07.d.ts → intakes/completion.d.ts} +7 -11
  138. package/dist/intakes/context-sufficiency.d.ts +113 -0
  139. package/dist/intakes/drizzle/schema.d.ts +338 -0
  140. package/dist/intakes/drizzle/store.d.ts +75 -0
  141. package/dist/intakes/drizzle.d.ts +12 -391
  142. package/dist/intakes/index.d.ts +23 -113
  143. package/dist/{model-C8U0HZxL.d.ts → intakes/model.d.ts} +15 -17
  144. package/dist/intakes-react/components/BrandMark.d.ts +10 -0
  145. package/dist/intakes-react/components/IntakeInterview.d.ts +15 -0
  146. package/dist/intakes-react/components/index.d.ts +1 -0
  147. package/dist/intakes-react/contracts.d.ts +42 -0
  148. package/dist/intakes-react/index.d.ts +12 -47
  149. package/dist/intakes-react/lazy.d.ts +9 -8
  150. package/dist/integrations/index.d.ts +10 -12
  151. package/dist/{contract-OxG_jVMx.d.ts → interactions/contract.d.ts} +40 -42
  152. package/dist/interactions/index.d.ts +16 -256
  153. package/dist/interactions/route.d.ts +151 -0
  154. package/dist/interactions/sidecar.d.ts +100 -0
  155. package/dist/knowledge/index.d.ts +7 -11
  156. package/dist/knowledge-loop/index.d.ts +13 -20
  157. package/dist/legibility/checks/empty-state.d.ts +59 -0
  158. package/dist/legibility/checks/reachability.d.ts +103 -0
  159. package/dist/legibility/checks/silent-failure.d.ts +57 -0
  160. package/dist/legibility/checks/success.d.ts +38 -0
  161. package/dist/legibility/checks/vocabulary.d.ts +65 -0
  162. package/dist/legibility/cli-args.d.ts +30 -0
  163. package/dist/legibility/cli.d.ts +25 -0
  164. package/dist/legibility/index.d.ts +10 -530
  165. package/dist/legibility/report.d.ts +22 -0
  166. package/dist/legibility/scan.d.ts +29 -0
  167. package/dist/legibility/source.d.ts +132 -0
  168. package/dist/legibility/suppress.d.ts +36 -0
  169. package/dist/legibility/types.d.ts +168 -0
  170. package/dist/legibility/walk-sources.d.ts +21 -0
  171. package/dist/{agent-activity-C8ZG0F0M.d.ts → missions/agent-activity.d.ts} +3 -5
  172. package/dist/missions/engine.d.ts +251 -0
  173. package/dist/missions/events.d.ts +195 -0
  174. package/dist/missions/index.d.ts +12 -765
  175. package/dist/missions/plan-parse.d.ts +50 -0
  176. package/dist/missions/service.d.ts +265 -0
  177. package/dist/{failover-D-3UXXTb.d.ts → model-resolution/failover.d.ts} +10 -12
  178. package/dist/model-resolution/index.d.ts +15 -18
  179. package/dist/object-store/index.d.ts +15 -17
  180. package/dist/openui/action.d.ts +54 -0
  181. package/dist/openui/authoring.d.ts +25 -0
  182. package/dist/openui/index.d.ts +24 -206
  183. package/dist/openui/route.d.ts +124 -0
  184. package/dist/openui/segments.d.ts +71 -0
  185. package/dist/openui/values.d.ts +82 -0
  186. package/dist/openui-react/index.d.ts +9 -13
  187. package/dist/peer-floors/check.d.ts +9 -190
  188. package/dist/peer-floors/cli.d.ts +2 -3
  189. package/dist/peer-floors/dependency-source.d.ts +178 -0
  190. package/dist/plans/index.d.ts +13 -14
  191. package/dist/{billing-BuNlaKlE.d.ts → platform/billing.d.ts} +28 -32
  192. package/dist/platform/guards.d.ts +79 -0
  193. package/dist/platform/hub.d.ts +107 -0
  194. package/dist/platform/index.d.ts +7 -112
  195. package/dist/{sso-Cm00S61u.d.ts → platform/sso.d.ts} +15 -97
  196. package/dist/preflight/cli.d.ts +3 -6
  197. package/dist/preflight/index.d.ts +16 -18
  198. package/dist/preset-cloudflare/headers.d.ts +12 -0
  199. package/dist/preset-cloudflare/index.d.ts +22 -74
  200. package/dist/preset-cloudflare/workflow-instance.d.ts +35 -0
  201. package/dist/profile/budget.d.ts +72 -0
  202. package/dist/profile/fingerprint.d.ts +65 -0
  203. package/dist/profile/index.d.ts +27 -19
  204. package/dist/prompt/index.d.ts +3 -5
  205. package/dist/record/drizzle/schema.d.ts +488 -0
  206. package/dist/record/drizzle/store.d.ts +224 -0
  207. package/dist/record/drizzle.d.ts +10 -679
  208. package/dist/record/fold.d.ts +99 -0
  209. package/dist/record/index.d.ts +13 -13
  210. package/dist/{fold-DACU7gtf.d.ts → record/model.d.ts} +22 -124
  211. package/dist/record/ulid.d.ts +12 -0
  212. package/dist/redact/index.d.ts +14 -16
  213. package/dist/run/index.d.ts +11 -16
  214. package/dist/runtime/agent.d.ts +23 -0
  215. package/dist/runtime/certified-delivery.d.ts +57 -0
  216. package/dist/runtime/index.d.ts +17 -367
  217. package/dist/runtime/loop.d.ts +58 -0
  218. package/dist/runtime/model-catalog.d.ts +103 -0
  219. package/dist/{model-CdCDfBA9.d.ts → runtime/model.d.ts} +25 -27
  220. package/dist/runtime/openai-stream.d.ts +126 -0
  221. package/dist/runtime/surface-profile.d.ts +115 -0
  222. package/dist/sandbox/binary-read.d.ts +63 -0
  223. package/dist/sandbox/diagnostics.d.ts +69 -0
  224. package/dist/sandbox/index.d.ts +103 -1085
  225. package/dist/sandbox/model.d.ts +179 -0
  226. package/dist/sandbox/outcome.d.ts +10 -0
  227. package/dist/sandbox/prewarm-claim-d1.d.ts +80 -0
  228. package/dist/sandbox/prewarm.d.ts +193 -0
  229. package/dist/sandbox/recovery.d.ts +216 -0
  230. package/dist/sandbox/terminal-connection.d.ts +145 -0
  231. package/dist/sandbox/workspace-sandbox-manager.d.ts +44 -0
  232. package/dist/sequences/apply.d.ts +54 -0
  233. package/dist/sequences/captions.d.ts +91 -0
  234. package/dist/sequences/drizzle-store.d.ts +36 -0
  235. package/dist/sequences/drizzle.d.ts +7 -1252
  236. package/dist/sequences/exports.d.ts +138 -0
  237. package/dist/sequences/index.d.ts +19 -340
  238. package/dist/sequences/mcp-entry.d.ts +15 -0
  239. package/dist/sequences/mcp-handler.d.ts +39 -0
  240. package/dist/sequences/mcp-tools.d.ts +47 -0
  241. package/dist/{store-B7LLlk9p.d.ts → sequences/model.d.ts} +26 -110
  242. package/dist/sequences/operations.d.ts +126 -0
  243. package/dist/sequences/schema.d.ts +1231 -0
  244. package/dist/sequences/store.d.ts +81 -0
  245. package/dist/sequences/validate.d.ts +98 -0
  246. package/dist/sequences-react/components/BrandMark.d.ts +10 -0
  247. package/dist/sequences-react/components/PreviewCanvas.d.ts +26 -0
  248. package/dist/sequences-react/components/SnapIndicatorLine.d.ts +11 -0
  249. package/dist/sequences-react/components/TimelineClipChip.d.ts +80 -0
  250. package/dist/sequences-react/components/TimelineEditor.d.ts +44 -0
  251. package/dist/sequences-react/components/TimelineEmptyState.d.ts +21 -0
  252. package/dist/sequences-react/components/TimelineGhostLanes.d.ts +14 -0
  253. package/dist/sequences-react/components/TimelinePlayhead.d.ts +11 -0
  254. package/dist/sequences-react/components/TimelineRuler.d.ts +16 -0
  255. package/dist/sequences-react/components/TimelineSmallScreenGate.d.ts +12 -0
  256. package/dist/sequences-react/components/TimelineTrackRow.d.ts +51 -0
  257. package/dist/sequences-react/components/ZoomControl.d.ts +15 -0
  258. package/dist/sequences-react/components/composite-command.d.ts +8 -0
  259. package/dist/sequences-react/components/glyphs.d.ts +26 -0
  260. package/dist/sequences-react/components/index.d.ts +31 -0
  261. package/dist/sequences-react/components/interaction-math.d.ts +103 -0
  262. package/dist/sequences-react/contracts.d.ts +187 -0
  263. package/dist/sequences-react/engine/command-stack.d.ts +18 -0
  264. package/dist/sequences-react/engine/commands.d.ts +146 -0
  265. package/dist/sequences-react/engine/playback.d.ts +18 -0
  266. package/dist/sequences-react/engine/snap.d.ts +29 -0
  267. package/dist/sequences-react/engine/zoom.d.ts +29 -0
  268. package/dist/sequences-react/index.d.ts +20 -880
  269. package/dist/sequences-react/lazy.d.ts +8 -0
  270. package/dist/sequences-react/media/frame-provider.d.ts +70 -0
  271. package/dist/sequences-react/media/transcription.d.ts +33 -0
  272. package/dist/sequences-react/media/waveform.d.ts +34 -0
  273. package/dist/session-shell/index.d.ts +31 -204
  274. package/dist/session-shell/nav-guard.d.ts +170 -0
  275. package/dist/session-shell/path.d.ts +19 -0
  276. package/dist/signoff/cli.d.ts +4 -7
  277. package/dist/signoff/config.d.ts +12 -0
  278. package/dist/signoff/exec.d.ts +44 -0
  279. package/dist/signoff/index.d.ts +56 -14
  280. package/dist/signoff/invoked-as-script.d.ts +25 -0
  281. package/dist/signoff/node-version.d.ts +50 -0
  282. package/dist/signoff/proof-attach.d.ts +88 -0
  283. package/dist/signoff/proof-cli.d.ts +1 -0
  284. package/dist/signoff/proof-fixture.d.ts +13 -0
  285. package/dist/signoff/proof-from-report.d.ts +22 -0
  286. package/dist/signoff/proof-git.d.ts +57 -0
  287. package/dist/signoff/proof-record.d.ts +202 -0
  288. package/dist/signoff/proof-verify.d.ts +103 -0
  289. package/dist/signoff/proof.d.ts +35 -310
  290. package/dist/signoff/report.d.ts +7 -0
  291. package/dist/{run-D80hoLKh.d.ts → signoff/run.d.ts} +3 -6
  292. package/dist/signoff/schedule.d.ts +55 -0
  293. package/dist/signoff/seeds.d.ts +50 -0
  294. package/dist/signoff/store.d.ts +22 -0
  295. package/dist/{types-Bd6uW9vQ.d.ts → signoff/types.d.ts} +15 -17
  296. package/dist/signoff/workflow-pin.d.ts +56 -0
  297. package/dist/signoff/workspace.d.ts +40 -0
  298. package/dist/skills/index.d.ts +28 -32
  299. package/dist/skills-placement/index.d.ts +7 -11
  300. package/dist/spend/budget.d.ts +123 -0
  301. package/dist/spend/ceiling.d.ts +51 -0
  302. package/dist/spend/cli-args.d.ts +20 -0
  303. package/dist/spend/cli.d.ts +1 -0
  304. package/dist/spend/fixtures/incident-parked-time.d.ts +55 -0
  305. package/dist/spend/index.d.ts +38 -1144
  306. package/dist/spend/liveness.d.ts +131 -0
  307. package/dist/spend/ownership.d.ts +87 -0
  308. package/dist/spend/reconcile.d.ts +109 -0
  309. package/dist/spend/reference.d.ts +42 -0
  310. package/dist/spend/report.d.ts +12 -0
  311. package/dist/spend/store.d.ts +123 -0
  312. package/dist/spend/types.d.ts +466 -0
  313. package/dist/store/index.d.ts +10 -12
  314. package/dist/stories/app-shell/fixtures.d.ts +43 -0
  315. package/dist/stories/app-shell/shell.d.ts +81 -0
  316. package/dist/stories/assistant/fixtures.d.ts +73 -0
  317. package/dist/stories/chat/fixtures.d.ts +70 -0
  318. package/dist/stories/chat/markdown.d.ts +11 -0
  319. package/dist/stories/chat/run-drill-in.d.ts +19 -0
  320. package/dist/stories/chat-controls/fixtures.d.ts +116 -0
  321. package/dist/stories/design-canvas/fixtures.d.ts +57 -0
  322. package/dist/stories/fixtures/canvas.d.ts +10 -0
  323. package/dist/stories/fixtures/catalog.d.ts +7 -0
  324. package/dist/stories/fixtures/chat.d.ts +39 -0
  325. package/dist/stories/fixtures/index.d.ts +4 -0
  326. package/dist/stories/fixtures/sequences.d.ts +17 -0
  327. package/dist/stories/panels/fixtures.d.ts +63 -0
  328. package/dist/stories/sequences/fixtures.d.ts +30 -0
  329. package/dist/stories/studio/fixtures.d.ts +22 -0
  330. package/dist/stream/index.d.ts +10 -56
  331. package/dist/{stream-normalizer-DKRxyVlZ.d.ts → stream/stream-normalizer.d.ts} +23 -26
  332. package/dist/{turn-buffer-COMQUwO2.d.ts → stream/turn-buffer.d.ts} +21 -23
  333. package/dist/stream/turn-identity.d.ts +49 -0
  334. package/dist/studio/generation.d.ts +179 -0
  335. package/dist/studio/index.d.ts +12 -181
  336. package/dist/studio-react/avatar-composer.d.ts +8 -0
  337. package/dist/studio-react/composer-hero.d.ts +12 -0
  338. package/dist/studio-react/composer-shell.d.ts +18 -0
  339. package/dist/studio-react/generation-card.d.ts +9 -0
  340. package/dist/studio-react/generation-detail-modal.d.ts +11 -0
  341. package/dist/studio-react/generation-detail.d.ts +6 -0
  342. package/dist/studio-react/generation-grid.d.ts +15 -0
  343. package/dist/studio-react/image-composer.d.ts +8 -0
  344. package/dist/studio-react/index.d.ts +32 -245
  345. package/dist/studio-react/library-drawer.d.ts +12 -0
  346. package/dist/studio-react/library-panel.d.ts +15 -0
  347. package/dist/studio-react/publish-package-composer.d.ts +18 -0
  348. package/dist/studio-react/result-canvas.d.ts +6 -0
  349. package/dist/studio-react/speech-composer.d.ts +4 -0
  350. package/dist/studio-react/studio-header.d.ts +5 -0
  351. package/dist/studio-react/studio-sheet.d.ts +12 -0
  352. package/dist/studio-react/studio-workspace.d.ts +23 -0
  353. package/dist/studio-react/transcription-composer.d.ts +12 -0
  354. package/dist/studio-react/type-config.d.ts +11 -0
  355. package/dist/studio-react/use-studio-generations.d.ts +20 -0
  356. package/dist/studio-react/video-composer.d.ts +10 -0
  357. package/dist/tangle/index.d.ts +7 -9
  358. package/dist/teams/drizzle/access.d.ts +82 -0
  359. package/dist/{invitations-schema-_fI7HkJP.d.ts → teams/drizzle/invitations-schema.d.ts} +39 -27
  360. package/dist/teams/drizzle/personal-organization.d.ts +41 -0
  361. package/dist/{access-490O6aOU.d.ts → teams/drizzle/schema.d.ts} +57 -122
  362. package/dist/teams/drizzle.d.ts +12 -44
  363. package/dist/teams/index.d.ts +20 -44
  364. package/dist/teams/invitations-api.d.ts +17 -21
  365. package/dist/{invitations-DoYMvXea.d.ts → teams/invitations.d.ts} +14 -18
  366. package/dist/teams/invite.d.ts +42 -0
  367. package/dist/teams/members-api.d.ts +12 -16
  368. package/dist/teams/resend.d.ts +3 -13
  369. package/dist/{roles-B4nU3jDi.d.ts → teams/roles.d.ts} +18 -20
  370. package/dist/teams-react/components/BrandMark.d.ts +10 -0
  371. package/dist/teams-react/components/InvitationsPanel.d.ts +13 -0
  372. package/dist/teams-react/components/InviteAcceptPage.d.ts +10 -0
  373. package/dist/teams-react/components/MembersPanel.d.ts +14 -0
  374. package/dist/teams-react/components/RoleSelect.d.ts +17 -0
  375. package/dist/teams-react/components/index.d.ts +3 -0
  376. package/dist/teams-react/contracts.d.ts +134 -0
  377. package/dist/teams-react/index.d.ts +12 -143
  378. package/dist/teams-react/lazy.d.ts +11 -11
  379. package/dist/test-setup.d.ts +1 -0
  380. package/dist/theme/index.d.ts +6 -104
  381. package/dist/theme/tailwind-preset.d.ts +1 -2
  382. package/dist/theme/theme.d.ts +106 -0
  383. package/dist/theme-contract/cli.d.ts +21 -0
  384. package/dist/theme-contract/index.d.ts +4 -6
  385. package/dist/{auth-BYtiazA4.d.ts → tools/auth.d.ts} +8 -11
  386. package/dist/tools/capability.d.ts +54 -0
  387. package/dist/tools/dispatch.d.ts +37 -0
  388. package/dist/tools/errors.d.ts +8 -0
  389. package/dist/tools/gating.d.ts +62 -0
  390. package/dist/tools/http.d.ts +27 -0
  391. package/dist/tools/index.d.ts +12 -217
  392. package/dist/{mcp-rpc-DYwPlYbZ.d.ts → tools/mcp-rpc.d.ts} +7 -9
  393. package/dist/{mcp-xxoZZfor.d.ts → tools/mcp.d.ts} +14 -16
  394. package/dist/tools/openai.d.ts +28 -0
  395. package/dist/tools/registry.d.ts +39 -0
  396. package/dist/tools/runtime.d.ts +22 -0
  397. package/dist/{types-B25Mib1r.d.ts → tools/types.d.ts} +15 -83
  398. package/dist/{flow-types-CJxEmaRy.d.ts → trace/flow-types.d.ts} +2 -4
  399. package/dist/trace/index.d.ts +11 -148
  400. package/dist/trace/mission-flow.d.ts +82 -0
  401. package/dist/trace/mission-trace.d.ts +52 -0
  402. package/dist/turn-health/classify.d.ts +207 -0
  403. package/dist/turn-health/index.d.ts +29 -637
  404. package/dist/turn-health/lifecycle.d.ts +75 -0
  405. package/dist/turn-health/sink.d.ts +122 -0
  406. package/dist/turn-health/sweep.d.ts +245 -0
  407. package/dist/turn-stream/adapters.d.ts +257 -0
  408. package/dist/turn-stream/core.d.ts +293 -0
  409. package/dist/turn-stream/do.d.ts +144 -0
  410. package/dist/turn-stream/index.d.ts +62 -738
  411. package/dist/turn-stream/memory.d.ts +41 -0
  412. package/dist/vault/ConfirmDialog.d.ts +22 -0
  413. package/dist/vault/VaultPane.d.ts +15 -0
  414. package/dist/{VaultPane-BDP6SB_K.d.ts → vault/contracts.d.ts} +15 -22
  415. package/dist/vault/index.d.ts +15 -22
  416. package/dist/vault/lazy.d.ts +9 -7
  417. package/dist/vault/server.d.ts +8 -10
  418. package/dist/web/free-route-limit.d.ts +187 -0
  419. package/dist/web/index.d.ts +15 -207
  420. package/dist/{rate-limit-BOVmJRXZ.d.ts → web/rate-limit.d.ts} +3 -5
  421. package/dist/web-react/agent-session-controls.d.ts +105 -0
  422. package/dist/web-react/async/async-view.d.ts +69 -0
  423. package/dist/web-react/async/index.d.ts +13 -305
  424. package/dist/web-react/async/state.d.ts +107 -0
  425. package/dist/web-react/async/use-async-resource.d.ts +41 -0
  426. package/dist/web-react/async/use-confirmed-mutation.d.ts +90 -0
  427. package/dist/web-react/brand-mark.d.ts +11 -0
  428. package/dist/web-react/chat-attachments.d.ts +21 -0
  429. package/dist/web-react/chat-composer.d.ts +174 -0
  430. package/dist/web-react/chat-interactions.d.ts +1 -0
  431. package/dist/web-react/chat-mentions.d.ts +48 -0
  432. package/dist/web-react/chat-stream.d.ts +106 -0
  433. package/dist/web-react/class-names.d.ts +10 -0
  434. package/dist/web-react/controls.d.ts +265 -0
  435. package/dist/web-react/durable-chat-cards.d.ts +40 -0
  436. package/dist/web-react/durable-interaction-submit.d.ts +22 -0
  437. package/dist/web-react/durable-plan-card.d.ts +13 -0
  438. package/dist/web-react/durable-plan-flow.d.ts +77 -0
  439. package/dist/web-react/harness-glyphs.d.ts +28 -0
  440. package/dist/web-react/index.d.ts +80 -2347
  441. package/dist/web-react/inert.d.ts +39 -0
  442. package/dist/web-react/insight-card.d.ts +203 -0
  443. package/dist/web-react/interaction-card-support.d.ts +115 -0
  444. package/dist/web-react/interaction-plan-card.d.ts +39 -0
  445. package/dist/web-react/interaction-question-card.d.ts +100 -0
  446. package/dist/web-react/message-attachments.d.ts +56 -0
  447. package/dist/web-react/mission-activity.d.ts +96 -0
  448. package/dist/web-react/motion.d.ts +43 -0
  449. package/dist/web-react/provenance-model.d.ts +195 -0
  450. package/dist/web-react/provenance.d.ts +82 -0
  451. package/dist/web-react/provider-logo.d.ts +14 -0
  452. package/dist/web-react/record-grid-model.d.ts +257 -0
  453. package/dist/web-react/record-grid.d.ts +108 -0
  454. package/dist/web-react/sandbox-terminal.d.ts +90 -0
  455. package/dist/web-react/seat-paywall.d.ts +47 -0
  456. package/dist/web-react/session-history.d.ts +196 -0
  457. package/dist/web-react/smooth-text.d.ts +29 -0
  458. package/dist/web-react/sparkline.d.ts +150 -0
  459. package/dist/web-react/terminal.d.ts +1 -92
  460. package/dist/web-react/use-chat-interactions.d.ts +78 -0
  461. package/dist/web-react/use-composer-attachments.d.ts +111 -0
  462. package/dist/web-react/use-file-mentions.d.ts +94 -0
  463. package/dist/web-react/work-product.d.ts +105 -0
  464. package/dist/work-product/claim-support.d.ts +288 -0
  465. package/dist/work-product/index.d.ts +16 -849
  466. package/dist/work-product/provenance.d.ts +61 -0
  467. package/dist/{queue-VTBA5ONX.d.ts → work-product/queue.d.ts} +10 -12
  468. package/dist/work-product/quote.d.ts +139 -0
  469. package/dist/work-product/route.d.ts +88 -0
  470. package/dist/work-product/service.d.ts +123 -0
  471. package/dist/work-product/tools.d.ts +144 -0
  472. package/dist/{types-CCeYywdS.d.ts → work-product/types.d.ts} +29 -31
  473. package/dist/work-product-react/index.d.ts +19 -8
  474. package/dist/workspace-react/index.d.ts +8 -11
  475. package/package.json +5 -4
  476. package/dist/agent-session-controls-CmlXwp_H.d.ts +0 -384
  477. package/dist/apply-6wlMOLf8.d.ts +0 -280
  478. package/dist/attachment-validation-BfJDBU1g.d.ts +0 -261
  479. package/dist/budget-BOucfcb_.d.ts +0 -142
  480. package/dist/values-C7RidJuI.d.ts +0 -156
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Pre-write validation for scene operations. Every rule runs against a
3
+ * `SceneDocument` snapshot BEFORE any mutation, so a rejected batch leaves no
4
+ * partial state. Batch errors carry the shape `operation N (type): reason` —
5
+ * precise enough for an LLM planner to repair the offending operation and
6
+ * resubmit.
7
+ *
8
+ * Validation is static: a batch is checked against the document as given, so
9
+ * an operation may not reference entities created by an earlier operation in
10
+ * the same batch. Dispatchers that chain operations must refresh the document
11
+ * between applications and validate per-operation.
12
+ *
13
+ * Slot typing contract (for apply_data bindings):
14
+ * text elements → value is any string
15
+ * image elements → value must pass assertSceneMediaSrc (src rewrite)
16
+ * video elements → value must pass assertSceneMediaSrc (src rewrite)
17
+ * rect elements → value must pass assertColor (fill recolor)
18
+ * ellipse elements → value must pass assertColor (fill recolor)
19
+ * line elements → value must pass assertColor (stroke recolor)
20
+ * group elements → value must pass assertColor (fill/stroke passed down to children)
21
+ */
22
+ import type { SceneDocument, SceneElementKind } from './model';
23
+ import type { SceneOperation } from './operations';
24
+ /** Validate each scene operation against the document and throw detailed errors for invalid operations */
25
+ export declare function validateSceneOperations(document: SceneDocument, operations: SceneOperation[]): void;
26
+ /** Validate a scene operation against the document to ensure it meets required constraints */
27
+ export declare function validateSceneOperation(document: SceneDocument, operation: SceneOperation): void;
28
+ /**
29
+ * Validates that a slot binding value matches the slot element's kind.
30
+ * text → any string; image/video → media src; rect/ellipse/line/group → color.
31
+ */
32
+ export declare function validateSlotValue(slotName: string, elementKind: SceneElementKind, value: string): void;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Semi-transparent bleed tint drawn OUTSIDE the page bounds, with trim-mark
3
+ * corner indicators. Renders as an absolutely-positioned div layered over the
4
+ * workspace canvas; node name 'overlay:bleed' lets automated tests target it.
5
+ *
6
+ * Conditionally rendered: parent mounts this only when `showBleed && bleed`.
7
+ * All dimensions are in SCREEN pixels (caller applies the zoom factor).
8
+ */
9
+ interface BleedTrimOverlayProps {
10
+ /** Page dimensions in screen pixels (already multiplied by zoom). */
11
+ pageWidthPx: number;
12
+ pageHeightPx: number;
13
+ /** Bleed extents in SCREEN pixels (caller multiplies doc-px by zoom). */
14
+ bleed: {
15
+ top: number;
16
+ right: number;
17
+ bottom: number;
18
+ left: number;
19
+ };
20
+ }
21
+ export declare function BleedTrimOverlay({ pageWidthPx, pageHeightPx, bleed }: BleedTrimOverlayProps): import("react").JSX.Element;
22
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Load the canonical Tangle knot only when a canvas surface renders it.
3
+ * `/brand` imports the optional `@tangle-network/brand` peer, so a failed load
4
+ * renders a fixed-size spacer instead of crashing the editor.
5
+ */
6
+ interface BrandKnotProps {
7
+ size?: number;
8
+ className?: string;
9
+ }
10
+ export declare function BrandKnot({ size, className }: BrandKnotProps): import("react").JSX.Element;
11
+ export {};
@@ -0,0 +1,32 @@
1
+ /**
2
+ * In-canvas empty state — the first move on a blank design. Shown by
3
+ * WorkspaceView as a centered overlay while the active page has no user
4
+ * content, so a fresh canvas reads as "ready to start" rather than "broken or
5
+ * empty". Three doors cover the two ways people begin and the agent path:
6
+ * - Start with a template — drop a starter element via the same command stack.
7
+ * - Add an element — insert a text block by hand.
8
+ * - Ask the agent — surfaced only when the host wires `onAskAgent` (an agent
9
+ * panel exists); otherwise the door is omitted rather than rendered dead.
10
+ *
11
+ * Token-styled only (CSS-var tokens + Tailwind semantic names) and stamped with
12
+ * the Tangle mark so the blank state is on-brand. Pointer-events stay scoped to
13
+ * the card: clicking the surrounding canvas still starts a marquee.
14
+ */
15
+ export interface CanvasEmptyStateProps {
16
+ /** Drop a starter template element through the command stack. */
17
+ onStartTemplate(): void;
18
+ /** Insert a single editable element by hand. */
19
+ onAddElement(): void;
20
+ /** Focus the agent panel / open the agent. Omitted → the door is hidden. */
21
+ onAskAgent?(): void;
22
+ /** Heading copy. Overridable; defaults to the cold-open prompt. */
23
+ title?: string;
24
+ /** Supporting line under the heading. Overridable. */
25
+ subtitle?: string;
26
+ className?: string;
27
+ }
28
+ /**
29
+ * The three-door empty state. Each door is a real action wired to the editor's
30
+ * command stack (or the agent), never a placeholder.
31
+ */
32
+ export declare function CanvasEmptyState({ onStartTemplate, onAddElement, onAskAgent, title, subtitle, className, }: CanvasEmptyStateProps): import("react").JSX.Element;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * The human "add element to the canvas" side panel — a reusable left rail any
3
+ * canvas consumer can mount so a person (not just the agent) can put images,
4
+ * shapes, and text on the canvas. Designed for the `renderSidePanel` slot of
5
+ * {@link DesignCanvasProps}; pass `renderSidePanel={(ctx) => <CanvasInsertPanel … />}`.
6
+ *
7
+ * Endpoints are per-app, so every I/O path is a callback — no product route is
8
+ * hardcoded:
9
+ * - `onUploadImage(file) => Promise<url>` — optional. When provided, the host
10
+ * stores the file and returns the src to insert. The url MUST be http(s) or
11
+ * a rooted `/api/` path (enforced by `assertSceneMediaSrc` before insertion);
12
+ * a `data:` url is rejected, matching the scene model's media boundary.
13
+ * - `loadGenerations?()` — optional provider for "already generated in this
14
+ * workspace" images; omit to hide the tab.
15
+ * - `templates?` — optional template set; defaults to {@link DEFAULT_INSERT_TEMPLATES}.
16
+ * A host-passed (composed) set labels its tab "Templates"; the built-in
17
+ * primitives label it "Elements".
18
+ *
19
+ * Insertion goes through `onInsert`, which the host wires to its
20
+ * `onApplyOperations` pipeline (server-validated, undoable) — the same path
21
+ * every other edit takes.
22
+ *
23
+ * Tokens/icons follow the canvas convention: CSS-var design tokens and inline
24
+ * SVG glyphs, no icon-library or Tailwind-semantic-token dependency.
25
+ */
26
+ import type { SceneOperation } from '../../design-canvas/operations';
27
+ import { type InsertPageGeometry, type InsertTemplate } from '../insert-builders';
28
+ /** An already-generated image the panel can offer for one-click insertion. */
29
+ export interface InsertGeneration {
30
+ id: string;
31
+ /** The image url to insert. Must satisfy the scene media boundary
32
+ * (http(s) or rooted `/api/`); rejected otherwise at insert time. */
33
+ url: string;
34
+ /** Optional prompt/label shown as the tile's title. */
35
+ label?: string;
36
+ }
37
+ export interface CanvasInsertPanelProps {
38
+ canWrite: boolean;
39
+ /** The active page new elements are added to. */
40
+ page: InsertPageGeometry;
41
+ /** Submit operations through the host's apply pipeline. */
42
+ onInsert(operations: SceneOperation[]): Promise<unknown>;
43
+ /** Store an uploaded file and return its src (http(s) or rooted `/api/`). */
44
+ onUploadImage?(file: File): Promise<string>;
45
+ /** Optional provider for the Generations tab; omit to hide it. */
46
+ loadGenerations?(): Promise<InsertGeneration[]>;
47
+ /** Drop-in templates; defaults to the built-in starter set. */
48
+ templates?: readonly InsertTemplate[];
49
+ /** Accepted upload mime types. Default: PNG/JPEG/GIF/WebP. */
50
+ accept?: string;
51
+ className?: string;
52
+ }
53
+ export declare function CanvasInsertPanel({ canWrite, page, onInsert, onUploadImage, loadGenerations, templates, accept, className, }: CanvasInsertPanelProps): import("react").JSX.Element;
@@ -1,10 +1,31 @@
1
- import * as react from 'react';
2
- import { c as SceneDocument } from './model-DnfO_PdJ.js';
3
- import { D as DesignCanvasProps, c as createSceneCommandStack, E as ExportTriggerOptions } from './command-stack-TNPWJCzW.js';
4
-
1
+ /**
2
+ * Root editor shell. Products mount exactly this component. Layout mirrors
3
+ * Polotno: optional left side panel | main column | optional right agent panel.
4
+ *
5
+ * Main column stacks top→bottom:
6
+ * Toolbar (undo/redo, view toggles, selection attrs, page props)
7
+ * Rulers + Workspace (the Workspace is injected by the integrator via the
8
+ * `renderWorkspace` prop — it owns Konva and is Konva-
9
+ * specific; this chrome stays canvas-free)
10
+ * bottom row: PagesStrip + ZoomControls
11
+ *
12
+ * Command lifecycle:
13
+ * - The command stack lives here; every panel receives callbacks, never the
14
+ * stack itself.
15
+ * - `onApplyOperations` is called optimistically after every command. If it
16
+ * rejects, the command is rolled back locally. If it resolves with a fresh
17
+ * `document`, the stack rebases via `stack.reset(document)` — this preserves
18
+ * history while reconciling server-minted ids or normalised values.
19
+ * - `setView` (zoom/pan/selection/toggles) never enters history.
20
+ * - Keyboard: Mod+Z undo · Shift+Mod+Z / Mod+Y redo · Delete/Backspace deletes
21
+ * the selection · F fits the page (forwarded to workspace via ref).
22
+ */
23
+ import type { SceneDocument } from '../../design-canvas/model';
24
+ import type { DesignCanvasProps, ExportTriggerOptions } from '../contracts';
25
+ import { createSceneCommandStack } from '../engine/command-stack';
5
26
  /** Callers inject a workspace renderer so this chrome stays Konva-free. The
6
27
  * workspace occupies the scrollable area between the rulers and the bottom bar. */
7
- interface DesignCanvasFullProps extends DesignCanvasProps {
28
+ export interface DesignCanvasFullProps extends DesignCanvasProps {
8
29
  /**
9
30
  * Render the Konva canvas workspace into the slot this shell provides.
10
31
  * The shell passes viewport dimensions, view-state, and the shared command
@@ -59,18 +80,4 @@ interface DesignCanvasFullProps extends DesignCanvasProps {
59
80
  */
60
81
  renderThumbnail(page: SceneDocument['pages'][number]): Promise<string | null>;
61
82
  }
62
- declare function DesignCanvas({ document: initialDocument, rev: initialRev, canWrite, mode, onApplyOperations, onSelectionChange, renderAgentPanel, renderSidePanel, onExport, exportDefaults, className, fitOnMount, onReady, render, showEmptyState, onAskAgent, pageSizeLabel, enableBleedLabel, fitLabel, renderWorkspace, renderThumbnail, }: DesignCanvasFullProps): react.JSX.Element;
63
-
64
- /**
65
- * Mount this component to get the full editor: toolbar, rulers, layers panel,
66
- * pages strip, zoom controls, and the Konva canvas — all sharing one command
67
- * stack so undo/redo and selection are coherent across every surface.
68
- */
69
- declare function DesignCanvasEditor(props: DesignCanvasProps): react.JSX.Element;
70
-
71
- /** Batteries-included editor: chrome + workspace on one shared stack. */
72
- declare const DesignCanvasLazy: react.LazyExoticComponent<typeof DesignCanvasEditor>;
73
- /** Raw chrome only — use when supplying a custom renderWorkspace/renderThumbnail. */
74
- declare const DesignCanvasChromeLazy: react.LazyExoticComponent<typeof DesignCanvas>;
75
-
76
- export { DesignCanvas as D, DesignCanvasChromeLazy as a, DesignCanvasEditor as b, type DesignCanvasFullProps as c, DesignCanvasLazy as d };
83
+ export declare function DesignCanvas({ document: initialDocument, rev: initialRev, canWrite, mode, onApplyOperations, onSelectionChange, renderAgentPanel, renderSidePanel, onExport, exportDefaults, className, fitOnMount, onReady, render, showEmptyState, onAskAgent, pageSizeLabel, enableBleedLabel, fitLabel, renderWorkspace, renderThumbnail, }: DesignCanvasFullProps): import("react").JSX.Element;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Batteries-included composition: DesignCanvas chrome + WorkspaceView sharing
3
+ * one command stack. This is the component products mount.
4
+ *
5
+ * Stack ownership:
6
+ * DesignCanvas (chrome) owns the command stack. WorkspaceView receives that
7
+ * same stack via renderWorkspace(ctx), so every gesture, undo, redo, and
8
+ * layers-panel selection mutation touches exactly one state machine.
9
+ *
10
+ * Thumbnail rendering:
11
+ * Thumbnails are produced imperatively with the Konva JS API (no React tree)
12
+ * on an off-DOM stage at ~96px height. Only geometry + solid-fill shapes are
13
+ * rendered — image nodes are skipped because async loading would require a
14
+ * second pass. Cache key: `${pageId}:${cheapHash(elements)}`. Thumbnail
15
+ * absence is cosmetic; PagesStrip handles a null result gracefully.
16
+ */
17
+ import type { DesignCanvasProps } from '../contracts';
18
+ /**
19
+ * Mount this component to get the full editor: toolbar, rulers, layers panel,
20
+ * pages strip, zoom controls, and the Konva canvas — all sharing one command
21
+ * stack so undo/redo and selection are coherent across every surface.
22
+ */
23
+ export declare function DesignCanvasEditor(props: DesignCanvasProps): import("react").JSX.Element;
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Per-kind Konva node rendering for SceneElement. Each element kind maps to
3
+ * the appropriate Konva primitive; geometry is converted from the model's
4
+ * top-left convention where needed.
5
+ *
6
+ * Ellipse center-offset invariant: the model stores (x, y) as the top-left
7
+ * corner of the bounding box. Konva.Ellipse draws from its center point.
8
+ * The conversion is: centerX = x + width/2, centerY = y + height/2,
9
+ * radiusX = width/2, radiusY = height/2. The reverse applies when reading
10
+ * back from transformer output (see transform-math.ts:ellipseTopLeftFromCenter).
11
+ *
12
+ * Image loading: src is loaded async into an HTMLImageElement via useEffect,
13
+ * cached per src in a module-level Map so repeated renders of the same src
14
+ * don't re-fetch. A broken-image placeholder rect is shown while loading or on
15
+ * error; its `name` carries the src for diagnostics.
16
+ *
17
+ * Video elements render as their poster image when posterSrc is set, or a
18
+ * placeholder rect. This is intentional — motion belongs to the sequences
19
+ * surface; the canvas surface is for static layout.
20
+ *
21
+ * Node name: each node's `name` prop carries the element id so hit→model
22
+ * mapping in Workspace works: `stage.getIntersection(pos)?.name()`.
23
+ *
24
+ * locked → listening(false) except on the click handler for selection.
25
+ * hidden → not rendered.
26
+ */
27
+ import { type CanvasRenderPalette } from '../../theme/theme';
28
+ import type { SceneElement } from '../../design-canvas/model';
29
+ export interface ElementNodeProps {
30
+ element: SceneElement;
31
+ isSelected: boolean;
32
+ zoom: number;
33
+ /** Theme render palette. Omitted → light defaults (byte-identical history). */
34
+ render?: CanvasRenderPalette;
35
+ onClick?(elementId: string): void;
36
+ onDragStart?(elementId: string): void;
37
+ onDragMove?(elementId: string, dx: number, dy: number): void;
38
+ onDragEnd?(elementId: string, finalX: number, finalY: number): void;
39
+ onDoubleClick?(elementId: string): void;
40
+ }
41
+ declare function ElementNodeImpl(props: ElementNodeProps): import("react").JSX.Element | null;
42
+ /**
43
+ * Memoized so a `stack.notify()` (fired ~120/s during a pan/marquee) that
44
+ * re-renders WorkspaceView does NOT re-render every element. With stable
45
+ * handler identities supplied by WorkspaceView, an ElementNode re-renders only
46
+ * when its OWN `element` reference, `isSelected`, `zoom`, or `render` palette
47
+ * change — i.e. when it actually moved, was (de)selected, or the view scaled.
48
+ * Pan-only frames change none of these props, so the N nodes stay reconciled.
49
+ */
50
+ export declare const ElementNode: import("react").MemoExoticComponent<typeof ElementNodeImpl>;
51
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Compact Export control for the editor chrome's top-right slot. A single
3
+ * button opens a small popover to choose format (PNG/JPEG) and scale (1x/2x);
4
+ * confirming calls `onExport({ format, pixelRatio })`.
5
+ *
6
+ * The chrome is Konva-free, so this control does NOT render the image — it only
7
+ * collects the format/scale and delegates to the workspace (which owns the
8
+ * stage) via the callback the DesignCanvas shell wires through `onExportRef`.
9
+ *
10
+ * Tokens/glyphs follow the canvas convention: CSS-var design tokens and inline
11
+ * SVG glyphs, no icon-library or browser-default `<select>`.
12
+ */
13
+ import type { ExportTriggerOptions } from '../contracts';
14
+ export interface ExportControlProps {
15
+ /** Pre-selected format/scale when the popover opens. Default PNG @ 1x. */
16
+ defaults?: ExportTriggerOptions;
17
+ /** Called with the chosen format/scale when the user confirms. */
18
+ onExport(opts: ExportTriggerOptions): void;
19
+ className?: string;
20
+ }
21
+ export declare function ExportControl({ defaults, onExport, className }: ExportControlProps): import("react").JSX.Element;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Grid overlay rendered beneath page content. The whole grid is painted by a
3
+ * SINGLE Konva node — a custom Shape whose `sceneFunc` strokes every grid line
4
+ * in one pass — rather than one Konva.Line per line. At ~hundreds of lines on a
5
+ * page this turns a per-pan-frame reconciliation of hundreds of React/Konva
6
+ * nodes into a single node whose only changing props are the transform; panning
7
+ * no longer churns the scene graph.
8
+ *
9
+ * Grid lines are skipped entirely when they would be closer than 4 screen
10
+ * pixels apart — below that density the grid becomes visual noise rather than
11
+ * guidance (gridVisible density-skip, unchanged).
12
+ *
13
+ * COORDINATE SYSTEM: the lines are authored in document space and wrapped in a
14
+ * Group carrying the SAME (panX, panY, zoom) transform the content layer uses,
15
+ * so the grid tracks the page exactly on pan and zoom. A Konva.Layer cannot
16
+ * live inside a Group, so the transform is applied to an inner Group, not the
17
+ * Layer. The grid is its own Layer (not merged into the content Layer) so the
18
+ * content draws on top without per-frame z-ordering churn.
19
+ *
20
+ * EXPORT EXCLUSION: the Layer carries the name prefix 'overlay:' and the Shape
21
+ * is named 'overlay:grid-shape' so export logic excludes the whole grid from
22
+ * rasterization.
23
+ */
24
+ export interface GridLayerProps {
25
+ /** Page width in document px. */
26
+ pageWidth: number;
27
+ /** Page height in document px. */
28
+ pageHeight: number;
29
+ /** Document px between grid lines. */
30
+ gridSize: number;
31
+ /** Screen px per document px. */
32
+ zoom: number;
33
+ /** Horizontal pan offset in screen px (content Group x). */
34
+ panX: number;
35
+ /** Vertical pan offset in screen px (content Group y). */
36
+ panY: number;
37
+ /** Grid line color. */
38
+ color?: string;
39
+ /** Grid line opacity (0–1). */
40
+ opacity?: number;
41
+ }
42
+ /** Document-space x positions of every vertical grid line on the page. Pure so
43
+ * the single-Shape sceneFunc and tests share one definition (no drift). */
44
+ export declare function gridVerticalLines(pageWidth: number, gridSize: number): number[];
45
+ /** Document-space y positions of every horizontal grid line on the page. */
46
+ export declare function gridHorizontalLines(pageHeight: number, gridSize: number): number[];
47
+ export declare function GridLayer({ pageWidth, pageHeight, gridSize, zoom, panX, panY, color, opacity, }: GridLayerProps): import("react").JSX.Element | null;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Inline text editor: a positioned <textarea> that appears over a text element
3
+ * on double-click, mirroring its font properties at the current zoom. The
4
+ * parent Workspace mounts this when `editingElementId` is set and unmounts it
5
+ * on commit/cancel.
6
+ *
7
+ * V1 simplification: rotation is NOT applied to the textarea — rotated text
8
+ * elements are edited in a non-rotated overlay at the element's AABB origin.
9
+ * The textarea stays axis-aligned to avoid browser textarea rotation bugs.
10
+ * Document the intent: a v2 pass may add a CSS transform to align with rotation.
11
+ *
12
+ * Commit: Meta+Enter or blur → emits `onCommit(newText)`.
13
+ * Cancel: Escape → emits `onCancel()` and restores pre-edit text.
14
+ */
15
+ import type { TextElement } from '../../design-canvas/model';
16
+ interface InlineTextEditorProps {
17
+ element: TextElement;
18
+ zoom: number;
19
+ panX: number;
20
+ panY: number;
21
+ onCommit(text: string): void;
22
+ onCancel(): void;
23
+ }
24
+ export declare function InlineTextEditor({ element, zoom, panX, panY, onCommit, onCancel, }: InlineTextEditorProps): import("react").JSX.Element;
25
+ export {};
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Layers panel — reverse-z list of the active page's elements. Highest z-index
3
+ * is at the top. Groups show their children indented beneath them. Clicking
4
+ * selects an element; meta-click adds to selection. Double-clicking the name
5
+ * opens an inline rename input. Eye and lock icons toggle visibility/locked.
6
+ * Rows can be drag-reordered within the list (siblings only; cross-group reorder
7
+ * is a pending integrator concern). Capped at LAYERS_PANEL_ROW_LIMIT rows.
8
+ */
9
+ import type { SceneElement, ScenePage } from '../../design-canvas/model';
10
+ export interface LayersPanelProps {
11
+ page: ScenePage;
12
+ selectedElementIds: string[];
13
+ canWrite: boolean;
14
+ /** Emit a set_attrs command for the given element. */
15
+ onSetAttrs(elementId: string, attrs: Partial<Pick<SceneElement, 'name' | 'visible' | 'locked'>>): void;
16
+ /** Emit a reorder_element command. */
17
+ onReorder(elementId: string, toIndex: number): void;
18
+ onSelect(elementId: string, additive: boolean): void;
19
+ }
20
+ export declare function LayersPanel({ page, selectedElementIds, canWrite, onSetAttrs, onReorder, onSelect }: LayersPanelProps): import("react").JSX.Element;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Horizontal page-thumbnail strip shown at the bottom of the editor. The active
3
+ * page is highlighted. Thumbnails are rendered externally (Konva; the host
4
+ * injects `renderThumbnail` so this component stays canvas-free and testable).
5
+ *
6
+ * Actions: add page, duplicate active page, delete active page (disabled when
7
+ * only one page remains), drag-reorder pages. The strip is read-only when
8
+ * `canWrite` is false.
9
+ */
10
+ import type { ScenePage } from '../../design-canvas/model';
11
+ export interface PagesStripProps {
12
+ pages: ScenePage[];
13
+ activePageId: string;
14
+ canWrite: boolean;
15
+ /**
16
+ * The host provides this to generate thumbnail data-URLs. The strip calls it
17
+ * on mount and debounces re-calls on document changes. Returns null when the
18
+ * thumbnail is not yet available (the strip renders a placeholder instead).
19
+ */
20
+ renderThumbnail(page: ScenePage): Promise<string | null>;
21
+ onSelectPage(pageId: string): void;
22
+ onAddPage(): void;
23
+ onDuplicatePage(pageId: string): void;
24
+ onDeletePage(pageId: string): void;
25
+ onReorderPage(pageId: string, toIndex: number): void;
26
+ /** Show page-management affordances (add / duplicate / delete). Default true.
27
+ * The review surface passes false: pages are navigated, not authored. */
28
+ canManagePages?: boolean;
29
+ /** Heading shown above the strip so it reads as page management. Overridable;
30
+ * defaults to "Pages". Set to '' to hide the visible label (the container
31
+ * keeps its accessible name regardless). */
32
+ label?: string;
33
+ }
34
+ export declare function PagesStrip({ pages, activePageId, canWrite, renderThumbnail, onSelectPage, onAddPage, onDuplicatePage, onDeletePage, onReorderPage, canManagePages, label, }: PagesStripProps): import("react").JSX.Element;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Horizontal (top) and vertical (left) canvas rulers. Each ruler:
3
+ * - Draws zoom-scaled tick marks via `buildRulerTicks` / `selectTickStep`.
4
+ * - Shows a pointer-position indicator (a hairline that follows the cursor).
5
+ * - Supports guide creation by dragging OUT of the ruler: a live preview line
6
+ * appears while dragging; on drop a `set_page_guides` command is emitted.
7
+ * - Existing guides that are dragged BACK into the ruler are deleted.
8
+ * - Renders saved guides persistently, Figma-style: a marker in the ruler
9
+ * track at each guide position, plus a thin line spanning the canvas (the
10
+ * GuidesCanvasOverlay sibling, aligned with the track coordinate space).
11
+ *
12
+ * All interaction math lives in ruler-math.ts and is testable without a DOM.
13
+ * The rulers themselves are pure DOM (no Konva); they sit in a CSS grid slot
14
+ * next to the workspace canvas.
15
+ */
16
+ import type { PageGuides } from '../../design-canvas/model';
17
+ export interface RulersProps {
18
+ /** Page width in document px. */
19
+ pageWidth: number;
20
+ /** Page height in document px. */
21
+ pageHeight: number;
22
+ zoom: number;
23
+ /** How many doc-px of the canvas are scrolled off-screen left/top. */
24
+ scrollLeft: number;
25
+ scrollTop: number;
26
+ showRulers: boolean;
27
+ guides: PageGuides;
28
+ /** Emitted when the user drops a guide or deletes one back into the ruler. */
29
+ onGuidesChange(guides: PageGuides): void;
30
+ }
31
+ export declare function Rulers({ pageWidth, pageHeight, zoom, scrollLeft, scrollTop, showRulers, guides, onGuidesChange }: RulersProps): import("react").JSX.Element | null;
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Transformer-based selection layer. Attaches a Konva.Transformer to all
3
+ * currently-selected Konva nodes so the user can resize and rotate them.
4
+ *
5
+ * SINGLE vs. MULTI:
6
+ * - Single selection: resize + rotate.
7
+ * - Multi-selection: rigid resize (keepRatio enforced) + rotate.
8
+ *
9
+ * Rotation snap: within 5° of 0/45/90/135/180 the rotation locks to the
10
+ * nearest cardinal/diagonal (same threshold as the snapRotation pure function).
11
+ *
12
+ * Scale baking: Konva's Transformer sets scaleX/scaleY on the node during
13
+ * a transform gesture. On transformend we read the final x/y/width/height/
14
+ * scaleX/scaleY/rotation from each node, bake scale into width/height, and
15
+ * emit ONE multiSetAttrsCommand. Scale never persists on Konva nodes across
16
+ * render cycles — the next render resets scaleX=scaleY=1 by rendering from
17
+ * model attrs.
18
+ *
19
+ * Special baking per kind:
20
+ * - rect/ellipse/image/video/group: bakeRectTransform (scale → width/height).
21
+ * - line: bakeLineTransform (scale baked into points array).
22
+ * - text: bakeTextTransform (scaleX→width, scaleY→fontSize).
23
+ * - ellipse: center position is adjusted back to top-left model coords via
24
+ * ellipseTopLeftFromCenter before emitting attrs.
25
+ *
26
+ * Min-size guard: width/height are clamped to ≥ 4px after baking so users
27
+ * cannot collapse an element to zero and lose it.
28
+ *
29
+ * The overlay: prefix on the Transformer name lets export logic skip it.
30
+ */
31
+ import type Konva from 'konva';
32
+ import type { MultiSetAttrsEntry } from '../engine/commands';
33
+ import type { SceneElement } from '../../design-canvas/model';
34
+ import { type CanvasRenderPalette } from '../../theme/theme';
35
+ export interface SelectionLayerProps {
36
+ /** Konva stage reference to look up selected nodes by name. */
37
+ stageRef: React.RefObject<Konva.Stage | null>;
38
+ /** Selected element ids from editor state. */
39
+ selectedIds: string[];
40
+ /** The model elements corresponding to selectedIds (pre-gesture snapshot). */
41
+ selectedElements: SceneElement[];
42
+ /** Whether the canvas is writable. False → transformer renders but is not interactive. */
43
+ canWrite: boolean;
44
+ /** Emitted when a transform gesture completes with final attrs per element. */
45
+ onTransformEnd(entries: MultiSetAttrsEntry[]): void;
46
+ /** Active page id — every entry in onTransformEnd carries this. */
47
+ pageId: string;
48
+ /** Theme render palette. Omitted → light defaults (byte-identical history). */
49
+ render?: CanvasRenderPalette;
50
+ }
51
+ export declare function SelectionLayer({ stageRef, selectedIds, selectedElements, canWrite, onTransformEnd, pageId, render, }: SelectionLayerProps): import("react").JSX.Element;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Active snap guides rendered as full-page-extent lines during drag gestures.
3
+ * Renders into a dedicated Konva.Layer (name 'overlay:snap') so export logic
4
+ * can exclude it.
5
+ *
6
+ * Guide line colors differ by kind so users can distinguish grid snaps (faint)
7
+ * from element-edge/center snaps (accent) from saved ruler guides (blue).
8
+ */
9
+ import type { SnapTarget } from '../contracts';
10
+ import { type CanvasRenderPalette } from '../../theme/theme';
11
+ interface SnapGuidesOverlayProps {
12
+ /** Page dimensions in document px. */
13
+ pageWidth: number;
14
+ pageHeight: number;
15
+ /** Active vertical guide, or null when not snapping. */
16
+ activeVertical: SnapTarget | null;
17
+ /** Active horizontal guide, or null when not snapping. */
18
+ activeHorizontal: SnapTarget | null;
19
+ /** Screen px per document px — used to compute 1-px-screen stroke widths. */
20
+ zoom: number;
21
+ /** Theme render palette. Omitted → light defaults (byte-identical history). */
22
+ render?: CanvasRenderPalette;
23
+ }
24
+ export declare function SnapGuidesOverlay({ pageWidth, pageHeight, activeVertical, activeHorizontal, zoom, render, }: SnapGuidesOverlayProps): import("react").JSX.Element | null;
25
+ export {};
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Selection-aware toolbar. When elements are selected it shows per-kind
3
+ * attribute controls; when nothing is selected it shows page-props controls.
4
+ * Every number input commits on blur or Enter as a single command (not
5
+ * per-keystroke). The toolbar is stateless beyond transient input focus;
6
+ * the caller owns the command stack.
7
+ *
8
+ * Layout: the root never scrolls horizontally. Global controls (undo/redo +
9
+ * view toggles) are pinned left; the selection/page attribute group wraps so
10
+ * the whole bar fits the editor's center column (viewport minus the w-64 side
11
+ * panel and w-80 agent panel) at 1024–1280px with nothing clipped.
12
+ */
13
+ import type { SceneElement, ScenePage } from '../../design-canvas/model';
14
+ import type { SceneAttrsPatch } from '../../design-canvas/operations';
15
+ import type { PageBleed } from '../../design-canvas/model';
16
+ import type { DesignCanvasMode } from '../contracts';
17
+ export interface ToolbarProps {
18
+ page: ScenePage;
19
+ selectedElements: SceneElement[];
20
+ canWrite: boolean;
21
+ /** Capability mode. `'review'` (the lean reviewer) hides the view toggles,
22
+ * page-props controls, and the destructive/structural selection controls
23
+ * (z-order, group/ungroup, lock, slot, delete), keeping only safe direct
24
+ * edits: text content, image fit/replace, opacity/rotation, undo/redo.
25
+ * Defaults to `'edit'` (the full authoring toolbar). */
26
+ mode?: DesignCanvasMode;
27
+ canUndo: boolean;
28
+ canRedo: boolean;
29
+ gridEnabled: boolean;
30
+ snapEnabled: boolean;
31
+ showRulers: boolean;
32
+ showBleed: boolean;
33
+ onUndo(): void;
34
+ onRedo(): void;
35
+ onToggleGrid(): void;
36
+ onToggleSnap(): void;
37
+ onToggleRulers(): void;
38
+ onToggleBleed(): void;
39
+ /** Emit attrs patch for each selected element. */
40
+ onSetAttrs(elementId: string, attrs: SceneAttrsPatch): void;
41
+ onSetPageProps(props: {
42
+ name?: string;
43
+ width?: number;
44
+ height?: number;
45
+ background?: string;
46
+ bleed?: PageBleed | null;
47
+ }): void;
48
+ onSetPageGuides(guides: {
49
+ vertical: number[];
50
+ horizontal: number[];
51
+ }): void;
52
+ onReorder(elementId: string, toIndex: number, ownerLength: number, direction: 'front' | 'back' | 'forward' | 'backward'): void;
53
+ onGroup(elementIds: string[]): void;
54
+ onUngroup(groupId: string): void;
55
+ onDelete(elementIds: string[]): void;
56
+ onBindSlot(elementId: string, slot: string | null): void;
57
+ /** Field label for the page-size control. Defaults to the clearer "Page size";
58
+ * overridable for consumers that want the older "Preset" wording. */
59
+ pageSizeLabel?: string;
60
+ /** Title for the "turn on print bleed" action. Defaults to "Show print bleed"
61
+ * (the outcome) rather than the print-shop term "bleed". */
62
+ enableBleedLabel?: string;
63
+ }
64
+ export declare function Toolbar({ page, selectedElements, canWrite, mode, canUndo, canRedo, gridEnabled, snapEnabled, showRulers, showBleed, onUndo, onRedo, onToggleGrid, onToggleSnap, onToggleRulers, onToggleBleed, onSetAttrs, onSetPageProps, onSetPageGuides, onReorder, onGroup, onUngroup, onDelete, onBindSlot, pageSizeLabel, enableBleedLabel, }: ToolbarProps): import("react").JSX.Element;