@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,81 @@
1
+ /**
2
+ * Storage contract binding the sequence model to a product's database. The
3
+ * product constructs one store per (workspace, sequence, actor) request scope —
4
+ * RBAC and workspace isolation happen BEFORE construction (the product's
5
+ * `requireWorkspaceAccess` equivalent); the store never re-checks identity.
6
+ *
7
+ * Every method throws on failure — no silent nulls, no `{ ok: false }` wrappers
8
+ * at this layer. The MCP dispatcher (./mcp) is the boundary that converts
9
+ * thrown errors into structured tool errors the model can read and react to.
10
+ *
11
+ * Mutations append to the decision log themselves only when the operation
12
+ * dispatcher asks (`recordDecision`); plain CRUD stays log-free so human edits
13
+ * driven by the UI can batch their own decision entries.
14
+ */
15
+ import type { SequenceClip, SequenceDecision, SequenceExportFormat, SequenceExportRecord, SequenceMeta, SequenceTimeline, SequenceTrack, SequenceTrackKind } from './model';
16
+ /** Define properties for a new sequence track including kind, name, and optional sort order */
17
+ export interface NewSequenceTrack {
18
+ kind: SequenceTrackKind;
19
+ name: string;
20
+ sortOrder?: number;
21
+ }
22
+ /** Define properties for a new sequence clip including timing, labels, and optional metadata */
23
+ export interface NewSequenceClip {
24
+ trackId: string;
25
+ label: string;
26
+ startFrame: number;
27
+ durationFrames: number;
28
+ sourceInFrame?: number;
29
+ sourceOutFrame?: number | null;
30
+ text?: string;
31
+ language?: string;
32
+ generationId?: string;
33
+ assetId?: string;
34
+ metadata?: Record<string, unknown>;
35
+ }
36
+ /** Define optional properties to update or patch a sequence clip's attributes in a timeline */
37
+ export interface SequenceClipPatch {
38
+ trackId?: string;
39
+ label?: string;
40
+ startFrame?: number;
41
+ durationFrames?: number;
42
+ sourceInFrame?: number;
43
+ sourceOutFrame?: number | null;
44
+ disabled?: boolean;
45
+ text?: string;
46
+ language?: string;
47
+ metadata?: Record<string, unknown>;
48
+ }
49
+ /** Define the structure for a new sequence decision with optional metadata and acceptance status */
50
+ export interface NewSequenceDecision {
51
+ clipId?: string | null;
52
+ kind: SequenceDecision['kind'];
53
+ instruction: string;
54
+ reasoningSummary?: string | null;
55
+ accepted?: boolean | null;
56
+ metadata?: Record<string, unknown>;
57
+ }
58
+ /** Manage sequences by providing methods to get timelines, clips, and modify tracks and clips */
59
+ export interface SequenceStore {
60
+ /** Full aggregate: sequence meta + tracks + clips with resolved media. */
61
+ getTimeline(): Promise<SequenceTimeline>;
62
+ getClip(clipId: string): Promise<SequenceClip>;
63
+ createTrack(input: NewSequenceTrack): Promise<SequenceTrack>;
64
+ createClip(input: NewSequenceClip): Promise<SequenceClip>;
65
+ updateClip(clipId: string, patch: SequenceClipPatch): Promise<SequenceClip>;
66
+ deleteClip(clipId: string): Promise<void>;
67
+ /** Grow (or shrink, never below the last clip end) the sequence duration. */
68
+ updateSequenceDuration(durationFrames: number): Promise<SequenceMeta>;
69
+ recordDecision(input: NewSequenceDecision): Promise<SequenceDecision>;
70
+ createExport(format: SequenceExportFormat, metadata?: Record<string, unknown>): Promise<SequenceExportRecord>;
71
+ listDecisions(limit?: number): Promise<SequenceDecision[]>;
72
+ listExports(limit?: number): Promise<SequenceExportRecord[]>;
73
+ }
74
+ /** Per-request scope a product binds when constructing its store. Carried so
75
+ * decision rows and export rows attribute to the acting user; never trusted
76
+ * from tool arguments. */
77
+ export interface SequenceStoreScope {
78
+ workspaceId: string;
79
+ sequenceId: string;
80
+ userId: string;
81
+ }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Pre-write validation for sequence operations. Every rule runs against a
3
+ * `SequenceTimeline` snapshot BEFORE any `SequenceStore` write, so a rejected
4
+ * plan leaves no partial state. Batch errors carry the shape
5
+ * `operation N (type): reason` — precise enough for an LLM planner to repair
6
+ * the offending operation and resubmit.
7
+ *
8
+ * The resolution helpers (`resolvePlaceClipTrack`, `resolveCaptionTarget`,
9
+ * `resolveCaptionPlacement`) are shared with ./apply so validation and
10
+ * application cannot disagree about which track or bounds an operation lands
11
+ * on.
12
+ *
13
+ * Validation is static: a batch is checked against the timeline as given, so
14
+ * an operation may not reference entities created by an earlier operation in
15
+ * the same batch. Dispatchers that chain operations must refresh the timeline
16
+ * between applications and validate per-operation.
17
+ */
18
+ import type { SequenceTimeline, SequenceTrack, TimelineClipBounds } from './model';
19
+ import type { AddCaptionOperation, CreateTrackOperation, DeleteClipOperation, ExtendSequenceOperation, MoveClipOperation, PlaceClipOperation, QueueExportOperation, SequenceOperation, SetClipDisabledOperation, SetClipTextOperation, SplitClipOperation, TrimClipOperation } from './operations';
20
+ /** Editor/agent context an operation is resolved against. `playheadFrame` is
21
+ * the implicit position for omitted caption placement; never persisted. */
22
+ export interface SequenceOperationContext {
23
+ playheadFrame: number;
24
+ }
25
+ /** Validate each operation in a sequence against the timeline and context, throwing detailed errors on failure */
26
+ export declare function validateSequenceOperations(timeline: SequenceTimeline, operations: SequenceOperation[], ctx: SequenceOperationContext): void;
27
+ /** Validate a sequence operation against the timeline and context to ensure correctness */
28
+ export declare function validateSequenceOperation(timeline: SequenceTimeline, operation: SequenceOperation, ctx: SequenceOperationContext): void;
29
+ /** Validate the properties and constraints of a PlaceClipOperation within a SequenceTimeline */
30
+ export declare function validatePlaceClip(timeline: SequenceTimeline, operation: PlaceClipOperation): void;
31
+ /** Validate the parameters and context of an AddCaptionOperation within a sequence timeline */
32
+ export declare function validateAddCaption(timeline: SequenceTimeline, operation: AddCaptionOperation, ctx: SequenceOperationContext): void;
33
+ /** Validate that a clip move operation is within bounds and targets a compatible unlocked track */
34
+ export declare function validateMoveClip(timeline: SequenceTimeline, operation: MoveClipOperation): void;
35
+ /** Validate that a trim clip operation respects timeline bounds and source frame constraints */
36
+ export declare function validateTrimClip(timeline: SequenceTimeline, operation: TrimClipOperation): void;
37
+ /** Validate that a split operation on a clip is within valid frame boundaries and conditions */
38
+ export declare function validateSplitClip(timeline: SequenceTimeline, operation: SplitClipOperation): void;
39
+ /** Validate that a SetClipTextOperation targets a caption clip with non-empty text and valid language tag */
40
+ export declare function validateSetClipText(timeline: SequenceTimeline, operation: SetClipTextOperation): void;
41
+ /** Validate that the clip can be disabled within the given timeline and operation constraints */
42
+ export declare function validateSetClipDisabled(timeline: SequenceTimeline, operation: SetClipDisabledOperation): void;
43
+ /** Validate that the clip to delete exists and is mutable in the given timeline */
44
+ export declare function validateDeleteClip(timeline: SequenceTimeline, operation: DeleteClipOperation): void;
45
+ /** Validate that a CreateTrackOperation has a supported kind and a non-empty name */
46
+ export declare function validateCreateTrack(operation: CreateTrackOperation): void;
47
+ /** Validate that the extend sequence operation has a positive duration and exceeds the last clip end frame */
48
+ export declare function validateExtendSequence(timeline: SequenceTimeline, operation: ExtendSequenceOperation): void;
49
+ /** Validate that the queue export operation uses a supported export format */
50
+ export declare function validateQueueExport(operation: QueueExportOperation): void;
51
+ /**
52
+ * Shape-gate untrusted JSON (a product's `onApplyOperations` route body) into
53
+ * `SequenceOperation[]` BEFORE `validateSequenceOperations` sees it. The
54
+ * validator assumes well-typed fields (`label.trim()` on a number is a raw
55
+ * TypeError → 500); this parser turns junk into a thrown Error naming the
56
+ * operation index and field so the route can answer 400 with an actionable
57
+ * reason. Unknown fields are dropped — only vocabulary fields reach the
58
+ * validator and store.
59
+ */
60
+ export declare function parseSequenceOperations(input: unknown): SequenceOperation[];
61
+ /** Resolve caption target by specifying an existing track or creating a new one with language and name */
62
+ export type CaptionTargetResolution = {
63
+ kind: 'existing';
64
+ track: SequenceTrack;
65
+ } | {
66
+ kind: 'create';
67
+ language: string;
68
+ name: string;
69
+ };
70
+ /** Naming convention for auto-created per-language caption tracks. The name
71
+ * doubles as the recognition rule because `SequenceStore.createTrack` cannot
72
+ * persist track metadata — matching by `metadata.language` alone would never
73
+ * find tracks this module created. */
74
+ export declare function captionTrackNameForLanguage(language: string): string;
75
+ /** Target track for a `place_clip`. Video and image media land on video
76
+ * tracks, audio media on audio tracks; a `reference` track is valid only when
77
+ * targeted explicitly. Media-less clips (placeholders, agent markers) need an
78
+ * explicit trackId because no kind can be inferred. */
79
+ export declare function resolvePlaceClipTrack(timeline: SequenceTimeline, operation: PlaceClipOperation): SequenceTrack;
80
+ /** Target caption track for an `add_caption`. With `language` set and no
81
+ * matching caption track, resolution returns a `create` instruction the apply
82
+ * layer turns into a real track — a locked matching track is an error, never
83
+ * a silent duplicate. */
84
+ export declare function resolveCaptionTarget(timeline: SequenceTimeline, operation: AddCaptionOperation): CaptionTargetResolution;
85
+ /** Caption bounds. Fully omitted placement slides past occupied intervals via
86
+ * `chooseCaptionPlacement`; a partially explicit placement fills the missing
87
+ * half deterministically (startFrame ← playhead, durationFrames ← fps*3) and
88
+ * must pass the caller's bounds check — no collision slide. */
89
+ export declare function resolveCaptionPlacement(timeline: SequenceTimeline, operation: AddCaptionOperation, ctx: SequenceOperationContext, targetTrackId: string | null): TimelineClipBounds;
90
+ /** Last occupied frame across all clips — the floor for `extend_sequence`. */
91
+ export declare function lastClipEndFrame(timeline: SequenceTimeline): number;
92
+ /** Media references must be provider URLs or app-served paths. Local sandbox
93
+ * artifacts (file:, data:, /tmp/, /home/) are rejected because they are
94
+ * unreachable from the product and signal an agent substituting local ffmpeg
95
+ * output for real provider generation. Delegates to the canonical
96
+ * `assertMediaUrl` boundary in `../web` — sequences and design-canvas share ONE
97
+ * rule so the two surfaces cannot drift on what counts as a reachable url. */
98
+ export declare function assertSequenceMediaUrl(url: string): void;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Load the canonical Tangle knot only when a sequence 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
+ export interface BrandMarkProps {
7
+ size: number;
8
+ className?: string;
9
+ }
10
+ export declare function BrandMark({ size, className }: BrandMarkProps): import("react").JSX.Element;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Program monitor: a canvas letterboxed to the sequence aspect that paints
3
+ * the playhead frame — black base, the topmost enabled video-track clip via
4
+ * `frameProvider.drawFrame`, then caption text bottom-centered on an 80%
5
+ * black backing bar with type scaled to canvas height / 18.
6
+ *
7
+ * Track stacking: tracks composite bottom-up, so among clips active at the
8
+ * frame the one on the HIGHEST sortOrder track covers the rest; muted tracks
9
+ * do not render. Only `video` tracks paint — `reference` tracks are
10
+ * non-rendered guide media (model contract) and are excluded from mp4/EDL/
11
+ * contact-sheet export, so painting them would preview content the program
12
+ * output does not contain. Paints serialize through a latest-wins queue —
13
+ * decode is async, so a slow seek never paints over a newer frame.
14
+ *
15
+ * `sourceSeconds` = (sourceInFrame + playhead offset into the clip) / fps:
16
+ * the model maps source frames 1:1 at sequence fps.
17
+ */
18
+ import type { SequenceTimeline } from '../../sequences/model';
19
+ import type { PlaybackClock, VideoFrameProvider } from '../contracts';
20
+ export interface PreviewCanvasProps {
21
+ timeline: SequenceTimeline;
22
+ clock: PlaybackClock;
23
+ frameProvider: VideoFrameProvider;
24
+ className?: string;
25
+ }
26
+ export declare function PreviewCanvas({ timeline, clock, frameProvider, className }: PreviewCanvasProps): import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Vertical accent line at the frame an in-flight drag is snapped to. Rendered
3
+ * inside the horizontally-scrolled track area so its x position is plain
4
+ * frame * zoom; visibility is owned by the editor (non-null point = visible).
5
+ */
6
+ import type { SnapPoint } from '../contracts';
7
+ export interface SnapIndicatorLineProps {
8
+ point: SnapPoint | null;
9
+ zoom: number;
10
+ }
11
+ export declare function SnapIndicatorLine({ point, zoom }: SnapIndicatorLineProps): import("react").JSX.Element | null;
@@ -0,0 +1,80 @@
1
+ /**
2
+ * One clip on a track lane. Owns the pointer gestures that edit it:
3
+ *
4
+ * - body drag → move (horizontal frames + vertical retarget onto another
5
+ * unlocked track of the same kind)
6
+ * - edge handles → head/tail trim, clamped to MIN_SEQUENCE_CLIP_FRAMES and
7
+ * the source material bounds
8
+ * - double-click → inline caption text edit (caption clips only)
9
+ *
10
+ * Gesture discipline: pointer capture on gesture start, every move quantizes
11
+ * to whole frames, Escape restores the pre-drag state without emitting, and a
12
+ * completed gesture commits EXACTLY ONCE through the `onCommit*` callbacks —
13
+ * the editor turns that into one command on the stack (one undo step). The
14
+ * chip never writes timeline state itself; until commit it renders a local
15
+ * preview only.
16
+ *
17
+ * Vertical retarget reads lane geometry captured at gesture start (rects of
18
+ * every `[data-lane-track]` under the editor's `[data-timeline-tracks]` root),
19
+ * so the moving chip itself can never occlude the hit test.
20
+ */
21
+ import type { SequenceClip, SequenceTrack } from '../../sequences/model';
22
+ import type { SnapPoint, VideoFrameProvider } from '../contracts';
23
+ export interface ClipMoveCommit {
24
+ clipId: string;
25
+ startFrame: number;
26
+ trackId: string;
27
+ }
28
+ export interface ClipTrimCommit {
29
+ clipId: string;
30
+ startFrame: number;
31
+ durationFrames: number;
32
+ sourceInFrame: number;
33
+ }
34
+ export interface TimelineClipChipProps {
35
+ clip: SequenceClip;
36
+ track: SequenceTrack;
37
+ fps: number;
38
+ /** Pixels per frame. */
39
+ zoom: number;
40
+ sequenceDurationFrames: number;
41
+ selected: boolean;
42
+ canWrite: boolean;
43
+ /** Roving-tabindex: exactly one chip per editor carries tabIndex 0 so the
44
+ * clip set is a single Tab stop; arrows move focus across the others. */
45
+ tabbable: boolean;
46
+ frameProvider: VideoFrameProvider;
47
+ /** Snap a candidate move (both clip edges considered); editor closes over
48
+ * the engine's snap points. */
49
+ snapMove(candidate: {
50
+ startFrame: number;
51
+ durationFrames: number;
52
+ clipId: string;
53
+ }): {
54
+ startFrame: number;
55
+ point: SnapPoint | null;
56
+ };
57
+ /** Snap a single trim edge. */
58
+ snapEdge(candidate: {
59
+ frame: number;
60
+ clipId: string;
61
+ }): {
62
+ frame: number;
63
+ point: SnapPoint | null;
64
+ };
65
+ onSnapPointChange(point: SnapPoint | null): void;
66
+ onSelect(clipId: string, additive: boolean): void;
67
+ /** Keyboard delete of the focused clip (one command on the stack), routed
68
+ * through the same locked-track guard as the transport Delete key. */
69
+ onRequestDelete(clipId: string): void;
70
+ /** Move keyboard focus to the previous/next clip in DOM order (roving
71
+ * tabindex); the editor owns the ordered chip set. */
72
+ onFocusStep(clipId: string, direction: -1 | 1): void;
73
+ onCommitMove(input: ClipMoveCommit): void;
74
+ onCommitTrim(input: ClipTrimCommit): void;
75
+ onCommitText(input: {
76
+ clipId: string;
77
+ text: string;
78
+ }): void;
79
+ }
80
+ export declare function TimelineClipChip(props: TimelineClipChipProps): import("react").JSX.Element;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * The timeline editor surface: program monitor, transport row, and the
3
+ * scrollable track area, composed over the engine (command stack, zoom math,
4
+ * snapping, playback clock) and media (frame provider, waveforms) layers.
5
+ *
6
+ * State ownership:
7
+ * - The COMMAND STACK owns the timeline. Every edit is a `TimelineCommand`
8
+ * executed optimistically, then persisted via `onApplyOperations`; a
9
+ * rejected persist rolls the command back locally WITHOUT emitting its
10
+ * inverse (the server never saw it). A user-initiated undo/redo DOES emit
11
+ * (the server applied the original), so the editor mirrors the executed
12
+ * commands to know which operations an undo corresponds to — the engine
13
+ * stack exposes no command identity from `undo()`.
14
+ * - Clip-creating commands mint optimistic `local-…` ids. When
15
+ * `onApplyOperations` resolves with `SequenceApplyResult[]`, the editor
16
+ * records local→server aliases that every command resolves through at
17
+ * execute/undo/emission time, so undoing a committed place/split/caption
18
+ * works after a server refresh. Hosts resolving void skip reconciliation;
19
+ * undo of creates then fails loud (error bar) once a refresh replaced the
20
+ * local ids.
21
+ *
22
+ * Captions require an unlocked caption track: the editor creates clips, never
23
+ * tracks. Products seed a caption track at sequence creation (or let the
24
+ * agent's create_track tool add one); the caption button errors otherwise.
25
+ * - The PLAYBACK CLOCK owns the playhead. Volatile view state (selection,
26
+ * zoom, snap toggle) lives in React state; the contract's
27
+ * `EditorTimelineState` view fields are initials, not a live channel.
28
+ *
29
+ * Compositing/stacking rule: `sortOrder` is paint order — later tracks paint
30
+ * over earlier ones in the preview; rows render top→bottom in the same order.
31
+ *
32
+ * Asset drops: lanes accept `application/x-sequence-media` payloads
33
+ * (JSON `{ url, kind, label?, durationSeconds?, generationId?, assetId? }`),
34
+ * which is how a host's `renderAssetShelf` content places media — video/image
35
+ * onto video tracks, audio onto audio tracks.
36
+ *
37
+ * Keyboard: space play/pause · delete/backspace removes the selection (one
38
+ * undo step) · mod+z undo · shift+mod+z / mod+y redo · escape cancels an
39
+ * in-flight drag (handled by the chips).
40
+ */
41
+ import type { TimelineEditorProps } from '../contracts';
42
+ export declare const SEQUENCE_MEDIA_DRAG_TYPE = "application/x-sequence-media";
43
+ export declare function TimelineEditor(props: TimelineEditorProps): import("react").JSX.Element;
44
+ export default TimelineEditor;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Resting / zero-track state for the timeline. Two jobs:
3
+ *
4
+ * 1. Keep TIME legible at rest — the ruler and labeled ghost lanes (Video /
5
+ * Captions) render even with no clips, so the surface still reads as a
6
+ * timeline ("a ruler WITH numbers") the moment it opens.
7
+ * 2. Give the first move a name — up to three doors (start from a template,
8
+ * add a clip, ask the agent), branded with the Tangle knot, over the ghost
9
+ * lanes. Each door renders only when the host wires its handler.
10
+ *
11
+ * The doors and copy are fully overridable through `TimelineEditorLabels`.
12
+ */
13
+ import type { TimelineEditorLabels } from '../contracts';
14
+ export interface TimelineEmptyStateProps {
15
+ labels?: TimelineEditorLabels;
16
+ brandedExport?: boolean;
17
+ onStartFromTemplate?(): void;
18
+ onAddClip?(): void;
19
+ onAskAgent?(): void;
20
+ }
21
+ export declare function TimelineEmptyState(props: TimelineEmptyStateProps): import("react").JSX.Element;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Labeled placeholder lanes drawn behind the empty state so the surface reads
3
+ * as a timeline before any track exists: a "Video" lane and a "Captions" lane
4
+ * with the same sticky header column the real `TimelineTrackRow` uses, sized to
5
+ * the timeline width so the ruler's timecodes line up over real lanes. Purely
6
+ * decorative — no clips, no gestures.
7
+ */
8
+ export interface TimelineGhostLanesProps {
9
+ /** Timeline pixel width (durationFrames * zoom), so ghost lanes match the ruler. */
10
+ laneWidth: number;
11
+ videoLabel: string;
12
+ captionLabel: string;
13
+ }
14
+ export declare function TimelineGhostLanes({ laneWidth, videoLabel, captionLabel }: TimelineGhostLanesProps): import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Playhead overlay for the track area: a full-height line with a triangular
3
+ * cap. Positioned in timeline pixels (frame * zoom) inside the scrolled
4
+ * content, so it moves with horizontal scroll for free. Pointer-transparent —
5
+ * scrubbing belongs to the ruler.
6
+ */
7
+ export interface TimelinePlayheadProps {
8
+ frame: number;
9
+ zoom: number;
10
+ }
11
+ export declare function TimelinePlayhead({ frame, zoom }: TimelinePlayheadProps): import("react").JSX.Element;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Adaptive timecode ruler. Tick density follows zoom through
3
+ * `selectTickStepSeconds` (major ticks never closer than ~80px, minor ticks
4
+ * at a fifth of the major step when they'd sit at least 8px apart). Click or
5
+ * drag scrubs: the pointer is captured, every move quantizes to a whole frame,
6
+ * and the frame is committed through `onScrub` (the editor routes it to
7
+ * `PlaybackClock.seek`).
8
+ */
9
+ export interface TimelineRulerProps {
10
+ fps: number;
11
+ durationFrames: number;
12
+ /** Pixels per frame. */
13
+ zoom: number;
14
+ onScrub(frame: number): void;
15
+ }
16
+ export declare function TimelineRuler({ fps, durationFrames, zoom, onScrub }: TimelineRulerProps): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Phone gate. The Konva preview + frame-accurate scrub/trim gestures need room;
3
+ * below the `sm` breakpoint a squeezed timeline is unusable, so we show a short,
4
+ * on-brand "best on a larger screen" panel INSTEAD of a broken editor. The real
5
+ * editor is rendered alongside and revealed at `sm`+ via Tailwind — this gate is
6
+ * `sm:hidden`, so nothing about the editor's logic, lifecycle, or tests changes.
7
+ */
8
+ import type { TimelineEditorLabels } from '../contracts';
9
+ export interface TimelineSmallScreenGateProps {
10
+ labels?: TimelineEditorLabels;
11
+ }
12
+ export declare function TimelineSmallScreenGate({ labels }: TimelineSmallScreenGateProps): import("react").JSX.Element;
@@ -0,0 +1,51 @@
1
+ /**
2
+ * One track: a sticky-left header (name, kind glyph, lock/mute state) and a
3
+ * lane sized in timeline pixels (durationFrames * zoom) carrying a
4
+ * `TimelineClipChip` per clip. The lane advertises itself through
5
+ * `data-lane-track`/`data-lane-kind`/`data-lane-locked` — the geometry chips
6
+ * read for vertical drag retargeting. Clicking empty lane space seeks the
7
+ * playhead.
8
+ */
9
+ import type { SequenceClip, SequenceTrack } from '../../sequences/model';
10
+ import type { SnapPoint, VideoFrameProvider } from '../contracts';
11
+ import type { ClipMoveCommit, ClipTrimCommit } from './TimelineClipChip';
12
+ export interface TimelineTrackRowProps {
13
+ track: SequenceTrack;
14
+ clips: SequenceClip[];
15
+ fps: number;
16
+ zoom: number;
17
+ sequenceDurationFrames: number;
18
+ selectedClipIds: ReadonlySet<string>;
19
+ /** The single clip that carries tabIndex 0 (roving tabindex); null seeds the
20
+ * first chip in the editor as the lone Tab stop. */
21
+ tabbableClipId: string | null;
22
+ canWrite: boolean;
23
+ frameProvider: VideoFrameProvider;
24
+ snapMove(candidate: {
25
+ startFrame: number;
26
+ durationFrames: number;
27
+ clipId: string;
28
+ }): {
29
+ startFrame: number;
30
+ point: SnapPoint | null;
31
+ };
32
+ snapEdge(candidate: {
33
+ frame: number;
34
+ clipId: string;
35
+ }): {
36
+ frame: number;
37
+ point: SnapPoint | null;
38
+ };
39
+ onSnapPointChange(point: SnapPoint | null): void;
40
+ onSelectClip(clipId: string, additive: boolean): void;
41
+ onRequestDeleteClip(clipId: string): void;
42
+ onFocusStepClip(clipId: string, direction: -1 | 1): void;
43
+ onCommitMove(input: ClipMoveCommit): void;
44
+ onCommitTrim(input: ClipTrimCommit): void;
45
+ onCommitText(input: {
46
+ clipId: string;
47
+ text: string;
48
+ }): void;
49
+ onLaneSeek(frame: number): void;
50
+ }
51
+ export declare function TimelineTrackRow(props: TimelineTrackRowProps): import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Zoom slider mapped through `ZoomMath` so equal slider travel feels like
3
+ * equal zoom ratio. The slider's numeric domain is derived from the math
4
+ * itself (`zoomToSlider(minZoom)..zoomToSlider(maxZoom)`) — this component
5
+ * never assumes what scale the engine chose.
6
+ */
7
+ import type { ZoomMath } from '../contracts';
8
+ export interface ZoomControlProps {
9
+ zoomMath: ZoomMath;
10
+ zoom: number;
11
+ onZoomChange(zoom: number): void;
12
+ /** Fit-to-sequence pixels-per-frame; clicking the readout snaps back to it. */
13
+ fitZoom?: number;
14
+ }
15
+ export declare function ZoomControl({ zoomMath, zoom, onZoomChange, fitZoom }: ZoomControlProps): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Fuses several `TimelineCommand`s into one undo step so a single gesture
3
+ * (multi-select delete, drop that creates a track and places a clip) never
4
+ * fragments the history. Execute runs in order; undo runs in strict reverse so
5
+ * intermediate states reconstruct exactly.
6
+ */
7
+ import type { TimelineCommand } from '../contracts';
8
+ export declare function compositeCommand(label: string, commands: TimelineCommand[]): TimelineCommand;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Inline SVG glyphs for the timeline editor. The package stays dependency-free
3
+ * beyond React (the repo convention — see web-react), so the handful of icons
4
+ * the editor needs are inlined with lucide-equivalent path data.
5
+ */
6
+ interface GlyphProps {
7
+ className?: string;
8
+ }
9
+ export declare const FilmGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
10
+ export declare const AudioGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
11
+ export declare const CaptionGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
12
+ export declare const ReferenceGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
13
+ export declare const AgentGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
14
+ export declare const LockGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
15
+ export declare const MutedGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
16
+ export declare const PlayGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
17
+ export declare const PauseGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
18
+ export declare const UndoGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
19
+ export declare const RedoGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
20
+ export declare const MagnetGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
21
+ export declare const ScissorsGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
22
+ export declare const CaptionPlusGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
23
+ export declare const ExportGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
24
+ export declare const PlusGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
25
+ export declare const MinusGlyph: ({ className }: GlyphProps) => import("react").JSX.Element;
26
+ export {};
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Timeline editor component surface. `TimelineEditor` is the root products
3
+ * mount (see `../lazy` for the code-split entry); the leaf pieces are exported
4
+ * for products that compose a custom editor shell from the same parts.
5
+ */
6
+ export { TimelineEditor, SEQUENCE_MEDIA_DRAG_TYPE } from './TimelineEditor';
7
+ export { PreviewCanvas } from './PreviewCanvas';
8
+ export type { PreviewCanvasProps } from './PreviewCanvas';
9
+ export { TimelineRuler } from './TimelineRuler';
10
+ export type { TimelineRulerProps } from './TimelineRuler';
11
+ export { TimelineTrackRow } from './TimelineTrackRow';
12
+ export type { TimelineTrackRowProps } from './TimelineTrackRow';
13
+ export { TimelineClipChip } from './TimelineClipChip';
14
+ export type { TimelineClipChipProps, ClipMoveCommit, ClipTrimCommit } from './TimelineClipChip';
15
+ export { TimelinePlayhead } from './TimelinePlayhead';
16
+ export type { TimelinePlayheadProps } from './TimelinePlayhead';
17
+ export { BrandMark } from './BrandMark';
18
+ export type { BrandMarkProps } from './BrandMark';
19
+ export { TimelineEmptyState } from './TimelineEmptyState';
20
+ export type { TimelineEmptyStateProps } from './TimelineEmptyState';
21
+ export { TimelineGhostLanes } from './TimelineGhostLanes';
22
+ export type { TimelineGhostLanesProps } from './TimelineGhostLanes';
23
+ export { TimelineSmallScreenGate } from './TimelineSmallScreenGate';
24
+ export type { TimelineSmallScreenGateProps } from './TimelineSmallScreenGate';
25
+ export { SnapIndicatorLine } from './SnapIndicatorLine';
26
+ export type { SnapIndicatorLineProps } from './SnapIndicatorLine';
27
+ export { ZoomControl } from './ZoomControl';
28
+ export type { ZoomControlProps } from './ZoomControl';
29
+ export { compositeCommand } from './composite-command';
30
+ export { framesFromPixelDelta, moveDragStartFrame, trimStartDrag, trimEndDrag, selectTickStepSeconds, letterboxRect, captionFontPx, clipChipGeometry, chooseMoveSnap, } from './interaction-math';
31
+ export type { MoveDragInput, TrimStartDragInput, TrimStartDragResult, TrimEndDragInput, LetterboxRect, } from './interaction-math';