@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.
- package/README.md +1 -1
- package/dist/alerting/index.d.ts +5 -175
- package/dist/alerting/slack.d.ts +176 -0
- package/dist/app-auth/index.d.ts +14 -17
- package/dist/assets/index.d.ts +2 -504
- package/dist/assets/schema.d.ts +264 -0
- package/dist/assets/types.d.ts +237 -0
- package/dist/assistant/AssistantDock.d.ts +56 -0
- package/dist/assistant/AssistantHistory.d.ts +41 -0
- package/dist/assistant/AssistantPanel.d.ts +84 -0
- package/dist/assistant/ProposalCard.d.ts +41 -0
- package/dist/assistant/ResizeHandle.d.ts +19 -0
- package/dist/assistant/client-context.d.ts +20 -0
- package/dist/assistant/client.d.ts +117 -0
- package/dist/assistant/index.d.ts +19 -848
- package/dist/assistant/launcher.d.ts +23 -0
- package/dist/assistant/persistence.d.ts +26 -0
- package/dist/assistant/presentation.d.ts +99 -0
- package/dist/assistant/provider-label.d.ts +7 -0
- package/dist/assistant/reducer.d.ts +130 -0
- package/dist/assistant/sse.d.ts +24 -0
- package/dist/assistant/time-ago.d.ts +6 -0
- package/dist/assistant/transcript.d.ts +97 -0
- package/dist/assistant/types.d.ts +291 -0
- package/dist/assistant/use-stick-to-bottom.d.ts +28 -0
- package/dist/assistant/useAssistantChat.d.ts +63 -0
- package/dist/assistant/useAssistantModels.d.ts +22 -0
- package/dist/assistant/useAssistantThreads.d.ts +47 -0
- package/dist/assistant/usePanelPrefs.d.ts +55 -0
- package/dist/billing/index.d.ts +19 -21
- package/dist/brand/index.d.ts +16 -10
- package/dist/brand-extraction/extract.d.ts +34 -0
- package/dist/brand-extraction/index.d.ts +12 -214
- package/dist/brand-extraction/map.d.ts +58 -0
- package/dist/brand-extraction/types.d.ts +119 -0
- package/dist/catalog/index.d.ts +11 -101
- package/dist/chat-react/composer-mode-controls.d.ts +14 -0
- package/dist/chat-react/entry-composer.d.ts +92 -0
- package/dist/chat-react/index.d.ts +22 -118
- package/dist/chat-react/types.d.ts +11 -0
- package/dist/chat-routes/attachment-store.d.ts +84 -0
- package/dist/chat-routes/attachment-upload.d.ts +84 -0
- package/dist/chat-routes/attachment-validation.d.ts +95 -0
- package/dist/chat-routes/binary-sniff.d.ts +45 -0
- package/dist/chat-routes/completed-sandbox-turn.d.ts +25 -0
- package/dist/chat-routes/detached-turn.d.ts +197 -0
- package/dist/chat-routes/dispatch-parts.d.ts +101 -0
- package/dist/chat-routes/draft-persistence.d.ts +189 -0
- package/dist/chat-routes/durable-projection.d.ts +18 -0
- package/dist/chat-routes/file-index.d.ts +115 -0
- package/dist/chat-routes/index.d.ts +25 -1840
- package/dist/chat-routes/model-failover-stream.d.ts +206 -0
- package/dist/chat-routes/promote-file-part.d.ts +84 -0
- package/dist/chat-routes/resolve-attachments.d.ts +72 -0
- package/dist/chat-routes/sandbox-producer.d.ts +146 -0
- package/dist/chat-routes/sandbox-turn-usage.d.ts +4 -0
- package/dist/{stale-turn-lock-DucQzvXu.d.ts → chat-routes/stale-turn-lock.d.ts} +7 -9
- package/dist/chat-routes/turn-routes.d.ts +540 -0
- package/dist/chat-routes/upload.d.ts +84 -0
- package/dist/{wire-DOZ-O6hD.d.ts → chat-routes/wire.d.ts} +41 -44
- package/dist/chat-store/core.d.ts +19 -0
- package/dist/chat-store/index.d.ts +22 -322
- package/dist/{parts-BqIHMdyu.d.ts → chat-store/parts.d.ts} +49 -47
- package/dist/chat-store/schema.d.ts +157 -0
- package/dist/chat-store/store.d.ts +177 -0
- package/dist/config/index.d.ts +13 -18
- package/dist/crypto/index.d.ts +10 -12
- package/dist/crypto/web-token.d.ts +22 -0
- package/dist/design-canvas/apply.d.ts +70 -0
- package/dist/design-canvas/drizzle-store.d.ts +29 -0
- package/dist/design-canvas/drizzle.d.ts +7 -575
- package/dist/{export-presets-mgVulRaV.d.ts → design-canvas/export-presets.d.ts} +18 -22
- package/dist/design-canvas/index.d.ts +22 -268
- package/dist/design-canvas/mcp-entry.d.ts +15 -0
- package/dist/design-canvas/mcp-handler.d.ts +34 -0
- package/dist/design-canvas/mcp-tools.d.ts +30 -0
- package/dist/{model-DnfO_PdJ.d.ts → design-canvas/model.d.ts} +33 -35
- package/dist/{operations-ByJ6yXOW.d.ts → design-canvas/operations.d.ts} +21 -25
- package/dist/design-canvas/schema.d.ts +558 -0
- package/dist/{store-CqfDtnPQ.d.ts → design-canvas/store.d.ts} +8 -12
- package/dist/design-canvas/templates.d.ts +72 -0
- package/dist/design-canvas/validate.d.ts +32 -0
- package/dist/design-canvas-react/components/BleedTrimOverlay.d.ts +22 -0
- package/dist/design-canvas-react/components/BrandKnot.d.ts +11 -0
- package/dist/design-canvas-react/components/CanvasEmptyState.d.ts +32 -0
- package/dist/design-canvas-react/components/CanvasInsertPanel.d.ts +53 -0
- package/dist/{lazy-DrkVyDpe.d.ts → design-canvas-react/components/DesignCanvas.d.ts} +27 -20
- package/dist/design-canvas-react/components/DesignCanvasEditor.d.ts +23 -0
- package/dist/design-canvas-react/components/ElementNode.d.ts +51 -0
- package/dist/design-canvas-react/components/ExportControl.d.ts +21 -0
- package/dist/design-canvas-react/components/GridLayer.d.ts +47 -0
- package/dist/design-canvas-react/components/InlineTextEditor.d.ts +25 -0
- package/dist/design-canvas-react/components/LayersPanel.d.ts +20 -0
- package/dist/design-canvas-react/components/PagesStrip.d.ts +34 -0
- package/dist/design-canvas-react/components/Rulers.d.ts +31 -0
- package/dist/design-canvas-react/components/SelectionLayer.d.ts +51 -0
- package/dist/design-canvas-react/components/SnapGuidesOverlay.d.ts +25 -0
- package/dist/design-canvas-react/components/Toolbar.d.ts +64 -0
- package/dist/design-canvas-react/components/Workspace.d.ts +92 -0
- package/dist/design-canvas-react/components/ZoomControls.d.ts +14 -0
- package/dist/design-canvas-react/components/glyphs.d.ts +46 -0
- package/dist/design-canvas-react/components/icon-button.d.ts +22 -0
- package/dist/design-canvas-react/components/index.d.ts +27 -0
- package/dist/design-canvas-react/components/layer-tree.d.ts +34 -0
- package/dist/design-canvas-react/components/ruler-math.d.ts +78 -0
- package/dist/design-canvas-react/components/transform-math.d.ts +168 -0
- package/dist/{command-stack-TNPWJCzW.d.ts → design-canvas-react/contracts.d.ts} +16 -63
- package/dist/design-canvas-react/engine/command-stack.d.ts +43 -0
- package/dist/design-canvas-react/engine/commands.d.ts +154 -0
- package/dist/design-canvas-react/engine/selection.d.ts +48 -0
- package/dist/design-canvas-react/engine/snap.d.ts +24 -0
- package/dist/design-canvas-react/engine/zoom-pan.d.ts +18 -0
- package/dist/design-canvas-react/engine.d.ts +21 -399
- package/dist/design-canvas-react/export-math.d.ts +104 -0
- package/dist/design-canvas-react/export.d.ts +89 -0
- package/dist/design-canvas-react/index.d.ts +16 -586
- package/dist/design-canvas-react/insert-builders.d.ts +61 -0
- package/dist/design-canvas-react/lazy.d.ts +21 -6
- package/dist/documents/docx.d.ts +50 -0
- package/dist/documents/extract.d.ts +87 -0
- package/dist/documents/index.d.ts +26 -232
- package/dist/documents/media-type.d.ts +33 -0
- package/dist/documents/pdf-inspector.d.ts +5 -9
- package/dist/{types-DrBidf3O.d.ts → documents/types.d.ts} +13 -15
- package/dist/documents/zip.d.ts +56 -0
- package/dist/eval/calibration.d.ts +106 -0
- package/dist/eval/index.d.ts +8 -116
- package/dist/eval-campaign/index.d.ts +11 -12
- package/dist/{trust-gate-Dcm5xSva.d.ts → eval-campaign/trust-gate.d.ts} +5 -9
- package/dist/forms/blank.d.ts +48 -0
- package/dist/forms/fill.d.ts +105 -0
- package/dist/forms/index.d.ts +58 -332
- package/dist/forms/registry.d.ts +115 -0
- package/dist/forms/verify.d.ts +58 -0
- package/dist/harness/index.d.ts +21 -19
- package/dist/intakes/api.d.ts +5 -11
- package/dist/{completion-CvcNUz07.d.ts → intakes/completion.d.ts} +7 -11
- package/dist/intakes/context-sufficiency.d.ts +113 -0
- package/dist/intakes/drizzle/schema.d.ts +338 -0
- package/dist/intakes/drizzle/store.d.ts +75 -0
- package/dist/intakes/drizzle.d.ts +12 -391
- package/dist/intakes/index.d.ts +23 -113
- package/dist/{model-C8U0HZxL.d.ts → intakes/model.d.ts} +15 -17
- package/dist/intakes-react/components/BrandMark.d.ts +10 -0
- package/dist/intakes-react/components/IntakeInterview.d.ts +15 -0
- package/dist/intakes-react/components/index.d.ts +1 -0
- package/dist/intakes-react/contracts.d.ts +42 -0
- package/dist/intakes-react/index.d.ts +12 -47
- package/dist/intakes-react/lazy.d.ts +9 -8
- package/dist/integrations/index.d.ts +10 -12
- package/dist/{contract-OxG_jVMx.d.ts → interactions/contract.d.ts} +40 -42
- package/dist/interactions/index.d.ts +16 -256
- package/dist/interactions/route.d.ts +151 -0
- package/dist/interactions/sidecar.d.ts +100 -0
- package/dist/knowledge/index.d.ts +7 -11
- package/dist/knowledge-loop/index.d.ts +13 -20
- package/dist/legibility/checks/empty-state.d.ts +59 -0
- package/dist/legibility/checks/reachability.d.ts +103 -0
- package/dist/legibility/checks/silent-failure.d.ts +57 -0
- package/dist/legibility/checks/success.d.ts +38 -0
- package/dist/legibility/checks/vocabulary.d.ts +65 -0
- package/dist/legibility/cli-args.d.ts +30 -0
- package/dist/legibility/cli.d.ts +25 -0
- package/dist/legibility/index.d.ts +10 -530
- package/dist/legibility/report.d.ts +22 -0
- package/dist/legibility/scan.d.ts +29 -0
- package/dist/legibility/source.d.ts +132 -0
- package/dist/legibility/suppress.d.ts +36 -0
- package/dist/legibility/types.d.ts +168 -0
- package/dist/legibility/walk-sources.d.ts +21 -0
- package/dist/{agent-activity-C8ZG0F0M.d.ts → missions/agent-activity.d.ts} +3 -5
- package/dist/missions/engine.d.ts +251 -0
- package/dist/missions/events.d.ts +195 -0
- package/dist/missions/index.d.ts +12 -765
- package/dist/missions/plan-parse.d.ts +50 -0
- package/dist/missions/service.d.ts +265 -0
- package/dist/{failover-D-3UXXTb.d.ts → model-resolution/failover.d.ts} +10 -12
- package/dist/model-resolution/index.d.ts +15 -18
- package/dist/object-store/index.d.ts +15 -17
- package/dist/openui/action.d.ts +54 -0
- package/dist/openui/authoring.d.ts +25 -0
- package/dist/openui/index.d.ts +24 -206
- package/dist/openui/route.d.ts +124 -0
- package/dist/openui/segments.d.ts +71 -0
- package/dist/openui/values.d.ts +82 -0
- package/dist/openui-react/index.d.ts +9 -13
- package/dist/peer-floors/check.d.ts +9 -190
- package/dist/peer-floors/cli.d.ts +2 -3
- package/dist/peer-floors/dependency-source.d.ts +178 -0
- package/dist/plans/index.d.ts +13 -14
- package/dist/{billing-BuNlaKlE.d.ts → platform/billing.d.ts} +28 -32
- package/dist/platform/guards.d.ts +79 -0
- package/dist/platform/hub.d.ts +107 -0
- package/dist/platform/index.d.ts +7 -112
- package/dist/{sso-Cm00S61u.d.ts → platform/sso.d.ts} +15 -97
- package/dist/preflight/cli.d.ts +3 -6
- package/dist/preflight/index.d.ts +16 -18
- package/dist/preset-cloudflare/headers.d.ts +12 -0
- package/dist/preset-cloudflare/index.d.ts +22 -74
- package/dist/preset-cloudflare/workflow-instance.d.ts +35 -0
- package/dist/profile/budget.d.ts +72 -0
- package/dist/profile/fingerprint.d.ts +65 -0
- package/dist/profile/index.d.ts +27 -19
- package/dist/prompt/index.d.ts +3 -5
- package/dist/record/drizzle/schema.d.ts +488 -0
- package/dist/record/drizzle/store.d.ts +224 -0
- package/dist/record/drizzle.d.ts +10 -679
- package/dist/record/fold.d.ts +99 -0
- package/dist/record/index.d.ts +13 -13
- package/dist/{fold-DACU7gtf.d.ts → record/model.d.ts} +22 -124
- package/dist/record/ulid.d.ts +12 -0
- package/dist/redact/index.d.ts +14 -16
- package/dist/run/index.d.ts +11 -16
- package/dist/runtime/agent.d.ts +23 -0
- package/dist/runtime/certified-delivery.d.ts +57 -0
- package/dist/runtime/index.d.ts +17 -367
- package/dist/runtime/loop.d.ts +58 -0
- package/dist/runtime/model-catalog.d.ts +103 -0
- package/dist/{model-CdCDfBA9.d.ts → runtime/model.d.ts} +25 -27
- package/dist/runtime/openai-stream.d.ts +126 -0
- package/dist/runtime/surface-profile.d.ts +115 -0
- package/dist/sandbox/binary-read.d.ts +63 -0
- package/dist/sandbox/diagnostics.d.ts +69 -0
- package/dist/sandbox/index.d.ts +103 -1085
- package/dist/sandbox/model.d.ts +179 -0
- package/dist/sandbox/outcome.d.ts +10 -0
- package/dist/sandbox/prewarm-claim-d1.d.ts +80 -0
- package/dist/sandbox/prewarm.d.ts +193 -0
- package/dist/sandbox/recovery.d.ts +216 -0
- package/dist/sandbox/terminal-connection.d.ts +145 -0
- package/dist/sandbox/workspace-sandbox-manager.d.ts +44 -0
- package/dist/sequences/apply.d.ts +54 -0
- package/dist/sequences/captions.d.ts +91 -0
- package/dist/sequences/drizzle-store.d.ts +36 -0
- package/dist/sequences/drizzle.d.ts +7 -1252
- package/dist/sequences/exports.d.ts +138 -0
- package/dist/sequences/index.d.ts +19 -340
- package/dist/sequences/mcp-entry.d.ts +15 -0
- package/dist/sequences/mcp-handler.d.ts +39 -0
- package/dist/sequences/mcp-tools.d.ts +47 -0
- package/dist/{store-B7LLlk9p.d.ts → sequences/model.d.ts} +26 -110
- package/dist/sequences/operations.d.ts +126 -0
- package/dist/sequences/schema.d.ts +1231 -0
- package/dist/sequences/store.d.ts +81 -0
- package/dist/sequences/validate.d.ts +98 -0
- package/dist/sequences-react/components/BrandMark.d.ts +10 -0
- package/dist/sequences-react/components/PreviewCanvas.d.ts +26 -0
- package/dist/sequences-react/components/SnapIndicatorLine.d.ts +11 -0
- package/dist/sequences-react/components/TimelineClipChip.d.ts +80 -0
- package/dist/sequences-react/components/TimelineEditor.d.ts +44 -0
- package/dist/sequences-react/components/TimelineEmptyState.d.ts +21 -0
- package/dist/sequences-react/components/TimelineGhostLanes.d.ts +14 -0
- package/dist/sequences-react/components/TimelinePlayhead.d.ts +11 -0
- package/dist/sequences-react/components/TimelineRuler.d.ts +16 -0
- package/dist/sequences-react/components/TimelineSmallScreenGate.d.ts +12 -0
- package/dist/sequences-react/components/TimelineTrackRow.d.ts +51 -0
- package/dist/sequences-react/components/ZoomControl.d.ts +15 -0
- package/dist/sequences-react/components/composite-command.d.ts +8 -0
- package/dist/sequences-react/components/glyphs.d.ts +26 -0
- package/dist/sequences-react/components/index.d.ts +31 -0
- package/dist/sequences-react/components/interaction-math.d.ts +103 -0
- package/dist/sequences-react/contracts.d.ts +187 -0
- package/dist/sequences-react/engine/command-stack.d.ts +18 -0
- package/dist/sequences-react/engine/commands.d.ts +146 -0
- package/dist/sequences-react/engine/playback.d.ts +18 -0
- package/dist/sequences-react/engine/snap.d.ts +29 -0
- package/dist/sequences-react/engine/zoom.d.ts +29 -0
- package/dist/sequences-react/index.d.ts +20 -880
- package/dist/sequences-react/lazy.d.ts +8 -0
- package/dist/sequences-react/media/frame-provider.d.ts +70 -0
- package/dist/sequences-react/media/transcription.d.ts +33 -0
- package/dist/sequences-react/media/waveform.d.ts +34 -0
- package/dist/session-shell/index.d.ts +31 -204
- package/dist/session-shell/nav-guard.d.ts +170 -0
- package/dist/session-shell/path.d.ts +19 -0
- package/dist/signoff/cli.d.ts +4 -7
- package/dist/signoff/config.d.ts +12 -0
- package/dist/signoff/exec.d.ts +44 -0
- package/dist/signoff/index.d.ts +56 -14
- package/dist/signoff/invoked-as-script.d.ts +25 -0
- package/dist/signoff/node-version.d.ts +50 -0
- package/dist/signoff/proof-attach.d.ts +88 -0
- package/dist/signoff/proof-cli.d.ts +1 -0
- package/dist/signoff/proof-fixture.d.ts +13 -0
- package/dist/signoff/proof-from-report.d.ts +22 -0
- package/dist/signoff/proof-git.d.ts +57 -0
- package/dist/signoff/proof-record.d.ts +202 -0
- package/dist/signoff/proof-verify.d.ts +103 -0
- package/dist/signoff/proof.d.ts +35 -310
- package/dist/signoff/report.d.ts +7 -0
- package/dist/{run-D80hoLKh.d.ts → signoff/run.d.ts} +3 -6
- package/dist/signoff/schedule.d.ts +55 -0
- package/dist/signoff/seeds.d.ts +50 -0
- package/dist/signoff/store.d.ts +22 -0
- package/dist/{types-Bd6uW9vQ.d.ts → signoff/types.d.ts} +15 -17
- package/dist/signoff/workflow-pin.d.ts +56 -0
- package/dist/signoff/workspace.d.ts +40 -0
- package/dist/skills/index.d.ts +28 -32
- package/dist/skills-placement/index.d.ts +7 -11
- package/dist/spend/budget.d.ts +123 -0
- package/dist/spend/ceiling.d.ts +51 -0
- package/dist/spend/cli-args.d.ts +20 -0
- package/dist/spend/cli.d.ts +1 -0
- package/dist/spend/fixtures/incident-parked-time.d.ts +55 -0
- package/dist/spend/index.d.ts +38 -1144
- package/dist/spend/liveness.d.ts +131 -0
- package/dist/spend/ownership.d.ts +87 -0
- package/dist/spend/reconcile.d.ts +109 -0
- package/dist/spend/reference.d.ts +42 -0
- package/dist/spend/report.d.ts +12 -0
- package/dist/spend/store.d.ts +123 -0
- package/dist/spend/types.d.ts +466 -0
- package/dist/store/index.d.ts +10 -12
- package/dist/stories/app-shell/fixtures.d.ts +43 -0
- package/dist/stories/app-shell/shell.d.ts +81 -0
- package/dist/stories/assistant/fixtures.d.ts +73 -0
- package/dist/stories/chat/fixtures.d.ts +70 -0
- package/dist/stories/chat/markdown.d.ts +11 -0
- package/dist/stories/chat/run-drill-in.d.ts +19 -0
- package/dist/stories/chat-controls/fixtures.d.ts +116 -0
- package/dist/stories/design-canvas/fixtures.d.ts +57 -0
- package/dist/stories/fixtures/canvas.d.ts +10 -0
- package/dist/stories/fixtures/catalog.d.ts +7 -0
- package/dist/stories/fixtures/chat.d.ts +39 -0
- package/dist/stories/fixtures/index.d.ts +4 -0
- package/dist/stories/fixtures/sequences.d.ts +17 -0
- package/dist/stories/panels/fixtures.d.ts +63 -0
- package/dist/stories/sequences/fixtures.d.ts +30 -0
- package/dist/stories/studio/fixtures.d.ts +22 -0
- package/dist/stream/index.d.ts +10 -56
- package/dist/{stream-normalizer-DKRxyVlZ.d.ts → stream/stream-normalizer.d.ts} +23 -26
- package/dist/{turn-buffer-COMQUwO2.d.ts → stream/turn-buffer.d.ts} +21 -23
- package/dist/stream/turn-identity.d.ts +49 -0
- package/dist/studio/generation.d.ts +179 -0
- package/dist/studio/index.d.ts +12 -181
- package/dist/studio-react/avatar-composer.d.ts +8 -0
- package/dist/studio-react/composer-hero.d.ts +12 -0
- package/dist/studio-react/composer-shell.d.ts +18 -0
- package/dist/studio-react/generation-card.d.ts +9 -0
- package/dist/studio-react/generation-detail-modal.d.ts +11 -0
- package/dist/studio-react/generation-detail.d.ts +6 -0
- package/dist/studio-react/generation-grid.d.ts +15 -0
- package/dist/studio-react/image-composer.d.ts +8 -0
- package/dist/studio-react/index.d.ts +32 -245
- package/dist/studio-react/library-drawer.d.ts +12 -0
- package/dist/studio-react/library-panel.d.ts +15 -0
- package/dist/studio-react/publish-package-composer.d.ts +18 -0
- package/dist/studio-react/result-canvas.d.ts +6 -0
- package/dist/studio-react/speech-composer.d.ts +4 -0
- package/dist/studio-react/studio-header.d.ts +5 -0
- package/dist/studio-react/studio-sheet.d.ts +12 -0
- package/dist/studio-react/studio-workspace.d.ts +23 -0
- package/dist/studio-react/transcription-composer.d.ts +12 -0
- package/dist/studio-react/type-config.d.ts +11 -0
- package/dist/studio-react/use-studio-generations.d.ts +20 -0
- package/dist/studio-react/video-composer.d.ts +10 -0
- package/dist/tangle/index.d.ts +7 -9
- package/dist/teams/drizzle/access.d.ts +82 -0
- package/dist/{invitations-schema-_fI7HkJP.d.ts → teams/drizzle/invitations-schema.d.ts} +39 -27
- package/dist/teams/drizzle/personal-organization.d.ts +41 -0
- package/dist/{access-490O6aOU.d.ts → teams/drizzle/schema.d.ts} +57 -122
- package/dist/teams/drizzle.d.ts +12 -44
- package/dist/teams/index.d.ts +20 -44
- package/dist/teams/invitations-api.d.ts +17 -21
- package/dist/{invitations-DoYMvXea.d.ts → teams/invitations.d.ts} +14 -18
- package/dist/teams/invite.d.ts +42 -0
- package/dist/teams/members-api.d.ts +12 -16
- package/dist/teams/resend.d.ts +3 -13
- package/dist/{roles-B4nU3jDi.d.ts → teams/roles.d.ts} +18 -20
- package/dist/teams-react/components/BrandMark.d.ts +10 -0
- package/dist/teams-react/components/InvitationsPanel.d.ts +13 -0
- package/dist/teams-react/components/InviteAcceptPage.d.ts +10 -0
- package/dist/teams-react/components/MembersPanel.d.ts +14 -0
- package/dist/teams-react/components/RoleSelect.d.ts +17 -0
- package/dist/teams-react/components/index.d.ts +3 -0
- package/dist/teams-react/contracts.d.ts +134 -0
- package/dist/teams-react/index.d.ts +12 -143
- package/dist/teams-react/lazy.d.ts +11 -11
- package/dist/test-setup.d.ts +1 -0
- package/dist/theme/index.d.ts +6 -104
- package/dist/theme/tailwind-preset.d.ts +1 -2
- package/dist/theme/theme.d.ts +106 -0
- package/dist/theme-contract/cli.d.ts +21 -0
- package/dist/theme-contract/index.d.ts +4 -6
- package/dist/{auth-BYtiazA4.d.ts → tools/auth.d.ts} +8 -11
- package/dist/tools/capability.d.ts +54 -0
- package/dist/tools/dispatch.d.ts +37 -0
- package/dist/tools/errors.d.ts +8 -0
- package/dist/tools/gating.d.ts +62 -0
- package/dist/tools/http.d.ts +27 -0
- package/dist/tools/index.d.ts +12 -217
- package/dist/{mcp-rpc-DYwPlYbZ.d.ts → tools/mcp-rpc.d.ts} +7 -9
- package/dist/{mcp-xxoZZfor.d.ts → tools/mcp.d.ts} +14 -16
- package/dist/tools/openai.d.ts +28 -0
- package/dist/tools/registry.d.ts +39 -0
- package/dist/tools/runtime.d.ts +22 -0
- package/dist/{types-B25Mib1r.d.ts → tools/types.d.ts} +15 -83
- package/dist/{flow-types-CJxEmaRy.d.ts → trace/flow-types.d.ts} +2 -4
- package/dist/trace/index.d.ts +11 -148
- package/dist/trace/mission-flow.d.ts +82 -0
- package/dist/trace/mission-trace.d.ts +52 -0
- package/dist/turn-health/classify.d.ts +207 -0
- package/dist/turn-health/index.d.ts +29 -637
- package/dist/turn-health/lifecycle.d.ts +75 -0
- package/dist/turn-health/sink.d.ts +122 -0
- package/dist/turn-health/sweep.d.ts +245 -0
- package/dist/turn-stream/adapters.d.ts +257 -0
- package/dist/turn-stream/core.d.ts +293 -0
- package/dist/turn-stream/do.d.ts +144 -0
- package/dist/turn-stream/index.d.ts +62 -738
- package/dist/turn-stream/memory.d.ts +41 -0
- package/dist/vault/ConfirmDialog.d.ts +22 -0
- package/dist/vault/VaultPane.d.ts +15 -0
- package/dist/{VaultPane-BDP6SB_K.d.ts → vault/contracts.d.ts} +15 -22
- package/dist/vault/index.d.ts +15 -22
- package/dist/vault/lazy.d.ts +9 -7
- package/dist/vault/server.d.ts +8 -10
- package/dist/web/free-route-limit.d.ts +187 -0
- package/dist/web/index.d.ts +15 -207
- package/dist/{rate-limit-BOVmJRXZ.d.ts → web/rate-limit.d.ts} +3 -5
- package/dist/web-react/agent-session-controls.d.ts +105 -0
- package/dist/web-react/async/async-view.d.ts +69 -0
- package/dist/web-react/async/index.d.ts +13 -305
- package/dist/web-react/async/state.d.ts +107 -0
- package/dist/web-react/async/use-async-resource.d.ts +41 -0
- package/dist/web-react/async/use-confirmed-mutation.d.ts +90 -0
- package/dist/web-react/brand-mark.d.ts +11 -0
- package/dist/web-react/chat-attachments.d.ts +21 -0
- package/dist/web-react/chat-composer.d.ts +174 -0
- package/dist/web-react/chat-interactions.d.ts +1 -0
- package/dist/web-react/chat-mentions.d.ts +48 -0
- package/dist/web-react/chat-stream.d.ts +106 -0
- package/dist/web-react/class-names.d.ts +10 -0
- package/dist/web-react/controls.d.ts +265 -0
- package/dist/web-react/durable-chat-cards.d.ts +40 -0
- package/dist/web-react/durable-interaction-submit.d.ts +22 -0
- package/dist/web-react/durable-plan-card.d.ts +13 -0
- package/dist/web-react/durable-plan-flow.d.ts +77 -0
- package/dist/web-react/harness-glyphs.d.ts +28 -0
- package/dist/web-react/index.d.ts +80 -2347
- package/dist/web-react/inert.d.ts +39 -0
- package/dist/web-react/insight-card.d.ts +203 -0
- package/dist/web-react/interaction-card-support.d.ts +115 -0
- package/dist/web-react/interaction-plan-card.d.ts +39 -0
- package/dist/web-react/interaction-question-card.d.ts +100 -0
- package/dist/web-react/message-attachments.d.ts +56 -0
- package/dist/web-react/mission-activity.d.ts +96 -0
- package/dist/web-react/motion.d.ts +43 -0
- package/dist/web-react/provenance-model.d.ts +195 -0
- package/dist/web-react/provenance.d.ts +82 -0
- package/dist/web-react/provider-logo.d.ts +14 -0
- package/dist/web-react/record-grid-model.d.ts +257 -0
- package/dist/web-react/record-grid.d.ts +108 -0
- package/dist/web-react/sandbox-terminal.d.ts +90 -0
- package/dist/web-react/seat-paywall.d.ts +47 -0
- package/dist/web-react/session-history.d.ts +196 -0
- package/dist/web-react/smooth-text.d.ts +29 -0
- package/dist/web-react/sparkline.d.ts +150 -0
- package/dist/web-react/terminal.d.ts +1 -92
- package/dist/web-react/use-chat-interactions.d.ts +78 -0
- package/dist/web-react/use-composer-attachments.d.ts +111 -0
- package/dist/web-react/use-file-mentions.d.ts +94 -0
- package/dist/web-react/work-product.d.ts +105 -0
- package/dist/work-product/claim-support.d.ts +288 -0
- package/dist/work-product/index.d.ts +16 -849
- package/dist/work-product/provenance.d.ts +61 -0
- package/dist/{queue-VTBA5ONX.d.ts → work-product/queue.d.ts} +10 -12
- package/dist/work-product/quote.d.ts +139 -0
- package/dist/work-product/route.d.ts +88 -0
- package/dist/work-product/service.d.ts +123 -0
- package/dist/work-product/tools.d.ts +144 -0
- package/dist/{types-CCeYywdS.d.ts → work-product/types.d.ts} +29 -31
- package/dist/work-product-react/index.d.ts +19 -8
- package/dist/workspace-react/index.d.ts +8 -11
- package/package.json +5 -4
- package/dist/agent-session-controls-CmlXwp_H.d.ts +0 -384
- package/dist/apply-6wlMOLf8.d.ts +0 -280
- package/dist/attachment-validation-BfJDBU1g.d.ts +0 -261
- package/dist/budget-BOucfcb_.d.ts +0 -142
- package/dist/values-C7RidJuI.d.ts +0 -156
|
@@ -1,384 +0,0 @@
|
|
|
1
|
-
import * as react from 'react';
|
|
2
|
-
import { ReactNode, RefObject } from 'react';
|
|
3
|
-
import { F as FileMention } from './wire-DOZ-O6hD.js';
|
|
4
|
-
import { Harness } from './harness/index.js';
|
|
5
|
-
import { CatalogModel } from './catalog/index.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* `useFileMentions` — the glue a host passes straight into `AgentComposer`'s
|
|
9
|
-
* `mention` prop (`@tangle-network/sandbox-ui#184`) to wire up `@`-file
|
|
10
|
-
* mentions against `createSandboxFileIndexRoute` (`/chat-routes`).
|
|
11
|
-
*
|
|
12
|
-
* Fetches the index once per session from `indexUrl`, refreshes it in the
|
|
13
|
-
* background whenever the popover opens (a `fetchItems` call) if the cached
|
|
14
|
-
* copy has aged past `refreshAfterMs`, and answers every keystroke from an
|
|
15
|
-
* in-memory fuzzy filter — no per-keystroke network round trip. The returned
|
|
16
|
-
* `refresh()` lets a caller force a re-fetch immediately instead of waiting
|
|
17
|
-
* on `refreshAfterMs` — e.g. right after the agent creates a file mid-session.
|
|
18
|
-
*
|
|
19
|
-
* `MentionItem`/the `mention` prop shape mirror the FROZEN contract from
|
|
20
|
-
* sandbox-ui#184 structurally (no import: `/web-react` stays dependency-free
|
|
21
|
-
* beyond React, and `@tangle-network/sandbox-ui` is an optional peer).
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
/** Mirrors sandbox-ui#184's `MentionItem` — the atomic pill's payload. For a
|
|
25
|
-
* file mention, `id` is the workspace-relative path (the pill's stable
|
|
26
|
-
* identity and the `@<id>` serialization sandbox-ui uses to round-trip
|
|
27
|
-
* `value`), `label` is the display name, and `detail` carries the full path
|
|
28
|
-
* for the popover row's secondary line. */
|
|
29
|
-
interface MentionItem {
|
|
30
|
-
id: string;
|
|
31
|
-
label: string;
|
|
32
|
-
detail?: string;
|
|
33
|
-
kind?: string;
|
|
34
|
-
}
|
|
35
|
-
/** Mirrors sandbox-ui#184's `AgentComposerProps['mention']` shape — plug the
|
|
36
|
-
* hook's `mention` return value straight into that prop. */
|
|
37
|
-
interface ComposerMentionProp {
|
|
38
|
-
trigger?: string;
|
|
39
|
-
fetchItems(query: string): Promise<MentionItem[]>;
|
|
40
|
-
onMentionsChange?(mentions: MentionItem[]): void;
|
|
41
|
-
renderItem?(item: MentionItem): ReactNode;
|
|
42
|
-
emptyText?: string;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Ranks `files` against `query` (case-insensitive), capped to `limit`:
|
|
46
|
-
* name-prefix matches first, then name-substring, then path-substring.
|
|
47
|
-
* Within a tier, shorter names sort first (the more specific match), then
|
|
48
|
-
* alphabetically by path for a stable order. An empty query returns the
|
|
49
|
-
* first `limit` entries unranked — the popover's default list before typing.
|
|
50
|
-
* Pure and dependency-free (no fuzzy-match library) so it's cheap enough to
|
|
51
|
-
* re-run on every keystroke against a 10k-entry index.
|
|
52
|
-
*/
|
|
53
|
-
declare function rankFileMentions(files: readonly FileMention[], query: string, limit: number): FileMention[];
|
|
54
|
-
/** Max popover results per query — enough to show a useful spread of matches
|
|
55
|
-
* without pushing the fuzzy-filtered list past what a popover can usefully
|
|
56
|
-
* render in one screen. */
|
|
57
|
-
declare const DEFAULT_MENTION_LIMIT = 20;
|
|
58
|
-
/** How long a `ready` index is served before a background refetch — long
|
|
59
|
-
* enough that a full session's worth of popover opens don't repeatedly hit
|
|
60
|
-
* the index endpoint, short enough that a stale listing doesn't linger too
|
|
61
|
-
* far past workspace file changes. Callers who need the index current right
|
|
62
|
-
* now (e.g. just after the agent creates a file) call `refresh()` instead of
|
|
63
|
-
* waiting on this window. */
|
|
64
|
-
declare const INDEX_REFRESH_AFTER_MS: number;
|
|
65
|
-
/** Popover empty-state copy for a `ready` index whose query matched nothing.
|
|
66
|
-
* Loading/warming/error states have their own copy — see `emptyTextFor`. */
|
|
67
|
-
declare const DEFAULT_MENTION_EMPTY_TEXT = "No matching files";
|
|
68
|
-
/** Define options for configuring file mention fetching, caching, and display behavior */
|
|
69
|
-
interface UseFileMentionsOptions {
|
|
70
|
-
/** GET endpoint returning `FileIndexResponse` (a `createSandboxFileIndexRoute`). */
|
|
71
|
-
indexUrl: string;
|
|
72
|
-
/** Max popover results per query. Default {@link DEFAULT_MENTION_LIMIT}. */
|
|
73
|
-
limit?: number;
|
|
74
|
-
/** How long a `ready` index is served without a background refetch.
|
|
75
|
-
* Default {@link INDEX_REFRESH_AFTER_MS}. */
|
|
76
|
-
refreshAfterMs?: number;
|
|
77
|
-
/** `fetch` override for tests / non-global-fetch hosts. Default `fetch`. */
|
|
78
|
-
fetchImpl?: typeof fetch;
|
|
79
|
-
/** Text shown in the popover's empty state once the index is loaded and
|
|
80
|
-
* the query matched nothing. Default {@link DEFAULT_MENTION_EMPTY_TEXT}. */
|
|
81
|
-
emptyText?: string;
|
|
82
|
-
}
|
|
83
|
-
/** Provide properties and methods to manage and refresh file mentions in a composer interface */
|
|
84
|
-
interface UseFileMentionsResult {
|
|
85
|
-
/** Spread straight into `AgentComposer`'s `mention` prop. */
|
|
86
|
-
mention: ComposerMentionProp;
|
|
87
|
-
/** The files currently referenced by mentions in the composer's value —
|
|
88
|
-
* the send-body list (map through `fileMentionsToParts`). */
|
|
89
|
-
mentions: FileMention[];
|
|
90
|
-
/** Drop all currently-referenced mentions (e.g. after a successful send). */
|
|
91
|
-
clearMentions: () => void;
|
|
92
|
-
/** Force a re-fetch of the index right now, ignoring `refreshAfterMs` — for
|
|
93
|
-
* example right after the agent creates a file mid-session, so the next
|
|
94
|
-
* popover open sees it. Dedupes against an already-in-flight load rather
|
|
95
|
-
* than firing a second request. */
|
|
96
|
-
refresh: () => Promise<void>;
|
|
97
|
-
}
|
|
98
|
-
/** Resolve and manage file mention data with configurable fetching and state handling */
|
|
99
|
-
declare function useFileMentions(options: UseFileMentionsOptions): UseFileMentionsResult;
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Keyboard + pointer model for a trigger-and-popover pair, dependency-free.
|
|
103
|
-
* Outside-mousedown and Escape both close; Escape also returns focus to the
|
|
104
|
-
* trigger so keyboard users aren't dropped at the top of the document. The
|
|
105
|
-
* returned `triggerProps` carry the ARIA contract (`aria-haspopup`/
|
|
106
|
-
* `aria-expanded`); spread them onto the trigger button.
|
|
107
|
-
*
|
|
108
|
-
* `panelRef` belongs to the popover panel and MUST be wired when the panel is
|
|
109
|
-
* rendered through {@link PopoverSurface}: a portaled panel is not inside
|
|
110
|
-
* `containerRef`, so a container-only outside test reads every click on the
|
|
111
|
-
* menu's own rows as an outside click and closes before the row's handler runs.
|
|
112
|
-
*/
|
|
113
|
-
declare function usePopover(open: boolean, setOpen: (open: boolean) => void): {
|
|
114
|
-
containerRef: RefObject<HTMLDivElement | null>;
|
|
115
|
-
triggerRef: RefObject<HTMLButtonElement | null>;
|
|
116
|
-
panelRef: RefObject<HTMLDivElement | null>;
|
|
117
|
-
triggerProps: {
|
|
118
|
-
ref: RefObject<HTMLButtonElement | null>;
|
|
119
|
-
'aria-haspopup': true;
|
|
120
|
-
'aria-expanded': boolean;
|
|
121
|
-
};
|
|
122
|
-
};
|
|
123
|
-
/**
|
|
124
|
-
* Marks the portaled panel in the DOM. Products and audits (see
|
|
125
|
-
* `playground/scripts/popover-hit-test.mjs`) select on this rather than on a
|
|
126
|
-
* Tailwind class, which is presentation and free to change.
|
|
127
|
-
*
|
|
128
|
-
* Its VALUE is the surface's ancestor path (`outer/inner`), which is what
|
|
129
|
-
* restores "is this click inside my popover" after the portal flattens two
|
|
130
|
-
* nested panels into two siblings of `<body>`.
|
|
131
|
-
*/
|
|
132
|
-
declare const POPOVER_SURFACE_ATTR = "data-agent-app-popover";
|
|
133
|
-
interface PopoverSurfaceProps {
|
|
134
|
-
open: boolean;
|
|
135
|
-
/** The trigger the panel anchors to — `usePopover`'s `triggerRef`. */
|
|
136
|
-
triggerRef: RefObject<HTMLElement | null>;
|
|
137
|
-
/** `usePopover`'s `panelRef`; also what the outside-click test consults. */
|
|
138
|
-
panelRef: RefObject<HTMLDivElement | null>;
|
|
139
|
-
/** Presentation classes. Placement and elevation are owned here — a caller
|
|
140
|
-
* must not pass `absolute`/`fixed`/`top-*`/`bottom-*`/`z-*`. */
|
|
141
|
-
className?: string;
|
|
142
|
-
role?: string;
|
|
143
|
-
id?: string;
|
|
144
|
-
/** Make the panel at least as wide as its trigger. A portaled panel has no
|
|
145
|
-
* `w-full` to inherit — the trigger is no longer its offset parent — so a
|
|
146
|
-
* menu that used to stretch to a full-width trigger declares it here. */
|
|
147
|
-
matchTriggerWidth?: boolean;
|
|
148
|
-
children: ReactNode;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* The floating panel every canonical picker opens.
|
|
152
|
-
*
|
|
153
|
-
* It renders through a PORTAL to `document.body` and anchors itself to the
|
|
154
|
-
* trigger in viewport coordinates, because an in-place `absolute` panel's
|
|
155
|
-
* visibility is decided by markup this package does not own. Measured in
|
|
156
|
-
* production: the shipped chat composer docks these controls inside a
|
|
157
|
-
* horizontally scrolling rail (`overflow-x-auto`), and a scroll container
|
|
158
|
-
* clips every positioned descendant whose containing block sits inside it —
|
|
159
|
-
* so a correct 420x457 menu with correct coordinates painted zero pixels and
|
|
160
|
-
* could not be clicked. An ancestor `transform`/`filter`/`contain` would trap
|
|
161
|
-
* it the same way through the stacking context instead of the clip. Leaving
|
|
162
|
-
* the DOM subtree is the only placement a host cannot re-break.
|
|
163
|
-
*
|
|
164
|
-
* Placement prefers ABOVE the trigger (these controls dock at the bottom of a
|
|
165
|
-
* composer), flips below when there is more room there, clamps horizontally
|
|
166
|
-
* into the viewport, and caps its own height to the space on the chosen side.
|
|
167
|
-
* The panel is `visibility: hidden` for the measure pass so it never paints at
|
|
168
|
-
* the pre-placement origin.
|
|
169
|
-
*/
|
|
170
|
-
declare function PopoverSurface({ open, triggerRef, panelRef, className, role, id, matchTriggerWidth, children, }: PopoverSurfaceProps): react.ReactPortal | null;
|
|
171
|
-
/**
|
|
172
|
-
* The one overlay elevation for floating surfaces — picker menus, popovers,
|
|
173
|
-
* drawers, modals. Reads the theme's `--shadow-overlay` token, so every overlay
|
|
174
|
-
* lifts with the same shadow and re-themes from one source. The floating
|
|
175
|
-
* composer uses the quieter `shadow-raised` rung instead.
|
|
176
|
-
*
|
|
177
|
-
* Written as an arbitrary value rather than the preset's `shadow-overlay`
|
|
178
|
-
* utility, because that utility only exists where the preset is part of the
|
|
179
|
-
* Tailwind build. A host that gets its tokens through a precompiled bundle —
|
|
180
|
-
* `@tangle-network/sandbox-ui` ships brand's tokens inlined, with no `@theme`
|
|
181
|
-
* block surviving the compile — receives `--shadow-overlay` as a plain custom
|
|
182
|
-
* property, from which no `shadow-overlay` utility can be generated, and these
|
|
183
|
-
* surfaces render flat. The arbitrary form emits from the class alone and works
|
|
184
|
-
* either way.
|
|
185
|
-
*/
|
|
186
|
-
declare const OVERLAY_SHADOW = "shadow-[var(--shadow-overlay)]";
|
|
187
|
-
/**
|
|
188
|
-
* Guard an async action against double-submit. `run` ignores re-entrant calls
|
|
189
|
-
* while a promise is in flight and flips `pending` so the caller can disable
|
|
190
|
-
* the control — the fix for double-charge / double-approve on a slow network.
|
|
191
|
-
* Settles (success or throw) before clearing, and no-ops state updates after
|
|
192
|
-
* unmount.
|
|
193
|
-
*/
|
|
194
|
-
declare function usePending(): {
|
|
195
|
-
pending: boolean;
|
|
196
|
-
run: (action: () => void | Promise<void>) => void;
|
|
197
|
-
};
|
|
198
|
-
interface ModelPickerProps {
|
|
199
|
-
value: string;
|
|
200
|
-
onChange: (id: string) => void;
|
|
201
|
-
/** Catalogue models — from `GET`ing the app's catalogue route (see
|
|
202
|
-
* `runtime/model-catalog`), plus any product-specific entries appended. */
|
|
203
|
-
models: CatalogModel[];
|
|
204
|
-
loading?: boolean;
|
|
205
|
-
/** Render a provider logo/badge; default is a generic sparkle. */
|
|
206
|
-
renderProviderBadge?: (provider: string) => ReactNode;
|
|
207
|
-
/** Section label for `featured` models. */
|
|
208
|
-
recommendedLabel?: string;
|
|
209
|
-
/** Pin a labeled section to the TOP of the list (above Recommended) for the
|
|
210
|
-
* models a product wants surfaced first — e.g. a tuner app's own fine-tuned
|
|
211
|
-
* models (`{ label: 'Your Fine-Tuned Models', match: (m) => m.provider === 'tuner' }`).
|
|
212
|
-
* Matching models are shown only in this section, not duplicated below. */
|
|
213
|
-
priorityGroup?: {
|
|
214
|
-
label: string;
|
|
215
|
-
match: (model: CatalogModel) => boolean;
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Searchable model picker pill + popover: a featured/recommended section
|
|
220
|
-
* first, then per-provider groups in catalogue order (the server already
|
|
221
|
-
* sorts providers by tier).
|
|
222
|
-
*
|
|
223
|
-
* This is the CANONICAL ecosystem model picker (see "UI chrome ownership
|
|
224
|
-
* (picker canon)" in AGENTS.md). sandbox-ui's `dashboard/ModelPicker` is
|
|
225
|
-
* legacy — deprecated, frozen, removed at sandbox-ui's next major; new code
|
|
226
|
-
* belongs here.
|
|
227
|
-
*/
|
|
228
|
-
declare function ModelPicker({ value, onChange, models, loading, renderProviderBadge, recommendedLabel, priorityGroup }: ModelPickerProps): react.JSX.Element;
|
|
229
|
-
/** One reasoning-budget level: the engine `id` is unchanged (the value the
|
|
230
|
-
* product sends to the loop); only the user-facing `label` is renamed to the
|
|
231
|
-
* plainer "how hard should it think" vocabulary from docs/product-surfaces.md.
|
|
232
|
-
* `low`→Quick, `medium`→Standard, `high`→Extended. The mapping is overridable
|
|
233
|
-
* via `EffortPickerProps.levels`, so a product can relabel without losing the
|
|
234
|
-
* ids the runtime expects. */
|
|
235
|
-
interface EffortLevel {
|
|
236
|
-
id: string;
|
|
237
|
-
label: string;
|
|
238
|
-
}
|
|
239
|
-
declare const DEFAULT_EFFORT_LEVELS: readonly EffortLevel[];
|
|
240
|
-
/**
|
|
241
|
-
* The user-facing label for an engine level id: the canonical vocabulary when
|
|
242
|
-
* the id is one this package names, otherwise the id itself made readable
|
|
243
|
-
* (`auto` -> "Auto", `ultra-code` -> "Ultra code"). Never invents a depth word,
|
|
244
|
-
* so an id nobody declared a label for still reads as ITSELF and never as some
|
|
245
|
-
* other level.
|
|
246
|
-
*/
|
|
247
|
-
declare function effortLevelLabel(id: string): string;
|
|
248
|
-
/**
|
|
249
|
-
* Build a levels list from the engine ids a backend applies — the shape the
|
|
250
|
-
* removed `ComposerAgentControls` took as `reasoning.available`, so a product
|
|
251
|
-
* migrating that list has one call to make instead of a hand-written label map
|
|
252
|
-
* per product (which is how "Quick" and "Low" drift apart across surfaces).
|
|
253
|
-
*/
|
|
254
|
-
declare function effortLevelsFromIds(ids: readonly string[]): readonly EffortLevel[];
|
|
255
|
-
/**
|
|
256
|
-
* The list {@link EffortPicker} RENDERS for `value` — the declared levels, plus
|
|
257
|
-
* `value` itself when the declaration omits it.
|
|
258
|
-
*
|
|
259
|
-
* A picker cannot honestly resolve a selected value it was not given, and the
|
|
260
|
-
* failure it used to take instead — fall back to the middle entry — renders the
|
|
261
|
-
* session's real depth as a DIFFERENT level's name. That is exactly the defect
|
|
262
|
-
* `levels` was added to prevent: the legacy adapter's `available` list excluded
|
|
263
|
-
* the `auto` sentinel because the old picker injected it, so a product mapping
|
|
264
|
-
* that list straight across ships a session running on `auto` labelled
|
|
265
|
-
* "Extended". Admitting the value is not offering a new choice — it is
|
|
266
|
-
* reporting the state the session is already in, and it disappears from the
|
|
267
|
-
* list as soon as the user picks a declared level.
|
|
268
|
-
*
|
|
269
|
-
* A blank value is not admitted (there is no honest label for it); the picker
|
|
270
|
-
* renders no selection instead.
|
|
271
|
-
*/
|
|
272
|
-
declare function reconcileEffortLevels(value: string, levels?: readonly EffortLevel[]): readonly EffortLevel[];
|
|
273
|
-
/** Segments the meter draws — fixed geometry so the ladder stays tabular
|
|
274
|
-
* across levels (and across the trigger and its menu rows). */
|
|
275
|
-
declare const EFFORT_METER_SEGMENTS = 4;
|
|
276
|
-
/**
|
|
277
|
-
* Filled-segment count for a level: 0 for off/none (or an id the levels list
|
|
278
|
-
* does not carry); otherwise the level's position among the non-off choices
|
|
279
|
-
* scaled onto the meter, so the ladder reads low < medium < high and the top
|
|
280
|
-
* level fills the whole scale. The canonical four levels land 0 / 1 / 2 / 4.
|
|
281
|
-
*/
|
|
282
|
-
declare function effortMeterFill(levelId: string, levels?: readonly EffortLevel[]): number;
|
|
283
|
-
/**
|
|
284
|
-
* The thinking-strength meter: four 12px bars, filled count = level, filled
|
|
285
|
-
* opacity ramping 25→100% left to right (unfilled at a faint ghost). Purely
|
|
286
|
-
* decorative — the level name is always rendered as text beside it, so the
|
|
287
|
-
* meter is `aria-hidden` and adds no second accessible name.
|
|
288
|
-
*/
|
|
289
|
-
declare function EffortMeter({ fill, className }: {
|
|
290
|
-
fill: number;
|
|
291
|
-
className?: string;
|
|
292
|
-
}): react.JSX.Element;
|
|
293
|
-
interface EffortPickerProps {
|
|
294
|
-
value: string;
|
|
295
|
-
onChange: (id: string) => void;
|
|
296
|
-
/** Selectable levels (engine id + user-facing label). Defaults to the plain
|
|
297
|
-
* "Thinking" vocabulary; override to relabel without changing the ids the
|
|
298
|
-
* runtime receives.
|
|
299
|
-
*
|
|
300
|
-
* A list that omits the current `value` is not a rendering error the picker
|
|
301
|
-
* papers over: `value` is reconciled INTO the rendered list under its own
|
|
302
|
-
* name (see {@link reconcileEffortLevels}), because a control must report
|
|
303
|
-
* the depth the session is running at and never some other list entry. */
|
|
304
|
-
levels?: readonly EffortLevel[];
|
|
305
|
-
/** Prefix shown before the active level on the pill — the "what is this"
|
|
306
|
-
* context the bare value lacked. Default "Thinking". Pass '' to hide it. */
|
|
307
|
-
label?: string;
|
|
308
|
-
/** Fill the container instead of shrink-wrapping — opt-in, default `false`;
|
|
309
|
-
* see {@link pickerRootClass} for when and why. */
|
|
310
|
-
fullWidth?: boolean;
|
|
311
|
-
}
|
|
312
|
-
/** Thinking-budget selector pill, styled to match {@link ModelPicker}. Show
|
|
313
|
-
* it only when the selected model `supportsReasoning`. "Thinking" is the
|
|
314
|
-
* plain-English name for what was internally called "effort".
|
|
315
|
-
*
|
|
316
|
-
* The CANONICAL ecosystem effort picker — sandbox-ui's reasoning menu (inside
|
|
317
|
-
* its `chat/AgentSessionControls`) is legacy and frozen. */
|
|
318
|
-
declare function EffortPicker({ value, onChange, levels, label, fullWidth }: EffortPickerProps): react.JSX.Element;
|
|
319
|
-
|
|
320
|
-
interface AgentSessionControlsProps {
|
|
321
|
-
/** Catalog models — canonical provider-prefixed ids. */
|
|
322
|
-
models: CatalogModel[];
|
|
323
|
-
modelsLoading?: boolean;
|
|
324
|
-
/** Selected canonical model id. */
|
|
325
|
-
model: string;
|
|
326
|
-
onModelChange(modelId: string): void;
|
|
327
|
-
/** Current harness; harness↔model coherence is enforced on every change. */
|
|
328
|
-
harness: Harness;
|
|
329
|
-
onHarnessChange(harness: Harness): void;
|
|
330
|
-
/** Harnesses to offer; defaults to the labeled set. */
|
|
331
|
-
availableHarnesses?: ReadonlyArray<Harness>;
|
|
332
|
-
/** Reasoning-effort value + setter. Shown only when the selected model
|
|
333
|
-
* `supportsReasoning`, matching `EffortPicker`'s guidance. */
|
|
334
|
-
effort: string;
|
|
335
|
-
onEffortChange(effort: string): void;
|
|
336
|
-
/**
|
|
337
|
-
* Levels to offer, forwarded verbatim to {@link EffortPicker}. Omit for the
|
|
338
|
-
* default vocabulary.
|
|
339
|
-
*
|
|
340
|
-
* A product whose backend applies only a SUBSET of the levels for the
|
|
341
|
-
* selected harness/model passes that subset here. Without it the strip
|
|
342
|
-
* offers every level and the backend silently ignores the ones it does not
|
|
343
|
-
* apply — a control that reports a choice the system never made.
|
|
344
|
-
*
|
|
345
|
-
* This is the COMPLETE renderable set, not an allow-list layered over a
|
|
346
|
-
* default one — the removed `ComposerAgentControls`' `available` list was the
|
|
347
|
-
* latter, and its picker injected the `auto` sentinel itself. A list that
|
|
348
|
-
* omits the current {@link effort} is still safe: `EffortPicker` reconciles
|
|
349
|
-
* the selected value into the rendered list under its own name rather than
|
|
350
|
-
* resolving it to a different entry (`reconcileEffortLevels`). Build the list
|
|
351
|
-
* from engine ids with `effortLevelsFromIds`; the migration is in
|
|
352
|
-
* `docs/ui-picker-canon.md`.
|
|
353
|
-
*/
|
|
354
|
-
effortLevels?: readonly EffortLevel[];
|
|
355
|
-
/**
|
|
356
|
-
* `inline` (default): model, harness, effort side by side — the prior
|
|
357
|
-
* behavior. `compact`: model inline, harness + effort behind a gear popover.
|
|
358
|
-
*/
|
|
359
|
-
layout?: 'inline' | 'compact';
|
|
360
|
-
/** Hide the harness control entirely (single-harness products). */
|
|
361
|
-
showHarness?: boolean;
|
|
362
|
-
/**
|
|
363
|
-
* PIN the harness and say why, in the user's words ("This thread already has
|
|
364
|
-
* messages — start a new chat to switch backend"). Presence IS the lock:
|
|
365
|
-
* there is no separate boolean, because a lock a user cannot read is the
|
|
366
|
-
* thing this prop exists to replace.
|
|
367
|
-
*
|
|
368
|
-
* The control stays VISIBLE and reports the harness the thread is on — the
|
|
369
|
-
* shape a locked selector has to keep, since a thread whose backend is fixed
|
|
370
|
-
* is exactly when a user wants to know what it is. Hiding it (`showHarness:
|
|
371
|
-
* false`) is what pushed products into rendering their own lock label
|
|
372
|
-
* outside the panel.
|
|
373
|
-
*
|
|
374
|
-
* While locked, `onHarnessChange` is never called — not from the picker, and
|
|
375
|
-
* not from the model↔harness coherence policy either. See
|
|
376
|
-
* {@link useCoherentHandlers}.
|
|
377
|
-
*/
|
|
378
|
-
harnessLockReason?: string;
|
|
379
|
-
renderProviderBadge?: (provider: string) => ReactNode;
|
|
380
|
-
className?: string;
|
|
381
|
-
}
|
|
382
|
-
declare function AgentSessionControls(props: AgentSessionControlsProps): react.JSX.Element;
|
|
383
|
-
|
|
384
|
-
export { type AgentSessionControlsProps as A, type ComposerMentionProp as C, DEFAULT_EFFORT_LEVELS as D, EFFORT_METER_SEGMENTS as E, INDEX_REFRESH_AFTER_MS as I, type MentionItem as M, OVERLAY_SHADOW as O, POPOVER_SURFACE_ATTR as P, type UseFileMentionsResult as U, AgentSessionControls as a, DEFAULT_MENTION_EMPTY_TEXT as b, DEFAULT_MENTION_LIMIT as c, type EffortLevel as d, EffortMeter as e, EffortPicker as f, type EffortPickerProps as g, ModelPicker as h, type ModelPickerProps as i, PopoverSurface as j, type PopoverSurfaceProps as k, type UseFileMentionsOptions as l, effortLevelLabel as m, effortLevelsFromIds as n, effortMeterFill as o, reconcileEffortLevels as p, usePending as q, rankFileMentions as r, usePopover as s, useFileMentions as u };
|
package/dist/apply-6wlMOLf8.d.ts
DELETED
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
import { c as SequenceTrackKind, d as SequenceExportFormat, e as SequenceTrack, f as SequenceTimeline, T as TimelineClipBounds, g as SequenceClip, h as SequenceExportRecord, i as SequenceMeta, b as SequenceStore } from './store-B7LLlk9p.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* The sequence operation union — the ONE mutation vocabulary shared by every
|
|
5
|
-
* writer of a timeline: the MCP tool dispatcher (agent edits), the React
|
|
6
|
-
* editor's command stack (human edits, undo/redo), and batch agent plans.
|
|
7
|
-
* Positions are integer frames; the seconds→frames conversion happens at the
|
|
8
|
-
* tool-argument edge (./mcp), never here.
|
|
9
|
-
*
|
|
10
|
-
* Validation lives in ./validate (`validateSequenceOperations`) and runs
|
|
11
|
-
* against a `SequenceTimeline` BEFORE any store write; application lives in
|
|
12
|
-
* ./apply (`applySequenceOperation`) which maps one validated operation to
|
|
13
|
-
* `SequenceStore` calls. Keeping the union closed and frame-typed is what lets
|
|
14
|
-
* undo work: every operation has a computable inverse given the pre-state.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/** Define an operation to place a media clip with timing, track, and playback options */
|
|
18
|
-
interface PlaceClipOperation {
|
|
19
|
-
type: 'place_clip';
|
|
20
|
-
/** Omitted → first unlocked track matching the media kind. */
|
|
21
|
-
trackId?: string;
|
|
22
|
-
label: string;
|
|
23
|
-
startFrame: number;
|
|
24
|
-
durationFrames: number;
|
|
25
|
-
sourceInFrame?: number;
|
|
26
|
-
/** Explicit source out-point; null/omitted → natural end of the source.
|
|
27
|
-
* Carried so the durable inverse of a delete can restore a split clip's
|
|
28
|
-
* exact playable window. */
|
|
29
|
-
sourceOutFrame?: number | null;
|
|
30
|
-
/** Create the clip disabled; omitted → enabled. Carried so the durable
|
|
31
|
-
* inverse of deleting a disabled clip does not resurrect it visible. */
|
|
32
|
-
disabled?: boolean;
|
|
33
|
-
media?: {
|
|
34
|
-
url: string;
|
|
35
|
-
kind: 'video' | 'image' | 'audio';
|
|
36
|
-
};
|
|
37
|
-
generationId?: string;
|
|
38
|
-
assetId?: string;
|
|
39
|
-
metadata?: Record<string, unknown>;
|
|
40
|
-
}
|
|
41
|
-
/** Add a caption with optional language, timing, and track placement details */
|
|
42
|
-
interface AddCaptionOperation {
|
|
43
|
-
type: 'add_caption';
|
|
44
|
-
text: string;
|
|
45
|
-
/** BCP-47 tag; omitted → sequence default language. */
|
|
46
|
-
language?: string;
|
|
47
|
-
/** Omitted → placed near the playhead via `chooseCaptionPlacement`. */
|
|
48
|
-
startFrame?: number;
|
|
49
|
-
durationFrames?: number;
|
|
50
|
-
/** Target caption track; omitted → first unlocked caption track, creating
|
|
51
|
-
* a per-language track when `language` names one that has none. */
|
|
52
|
-
trackId?: string;
|
|
53
|
-
}
|
|
54
|
-
/** Resolve an operation to move a clip to a new start frame and optional track */
|
|
55
|
-
interface MoveClipOperation {
|
|
56
|
-
type: 'move_clip';
|
|
57
|
-
clipId: string;
|
|
58
|
-
startFrame: number;
|
|
59
|
-
trackId?: string;
|
|
60
|
-
}
|
|
61
|
-
/** Define an operation to trim a clip by adjusting its start, duration, and optional source in/out points */
|
|
62
|
-
interface TrimClipOperation {
|
|
63
|
-
type: 'trim_clip';
|
|
64
|
-
clipId: string;
|
|
65
|
-
startFrame: number;
|
|
66
|
-
durationFrames: number;
|
|
67
|
-
/** New source in-point when trimming the head; omitted → unchanged. */
|
|
68
|
-
sourceInFrame?: number;
|
|
69
|
-
/** New source out-point; null releases it to the source's natural end;
|
|
70
|
-
* omitted → unchanged. Required when extending a clip whose stored window
|
|
71
|
-
* (e.g. a split head's cut point) is too short for the new duration, and
|
|
72
|
-
* by the durable inverse of `split_clip` to restore the original window. */
|
|
73
|
-
sourceOutFrame?: number | null;
|
|
74
|
-
}
|
|
75
|
-
/** Split a clip at a specified frame inside the clip to create two separate segments */
|
|
76
|
-
interface SplitClipOperation {
|
|
77
|
-
type: 'split_clip';
|
|
78
|
-
clipId: string;
|
|
79
|
-
/** Sequence-frame to cut at; must fall strictly inside the clip. */
|
|
80
|
-
atFrame: number;
|
|
81
|
-
}
|
|
82
|
-
/** Resolve an operation to set clipboard text with optional language and clip identifier */
|
|
83
|
-
interface SetClipTextOperation {
|
|
84
|
-
type: 'set_clip_text';
|
|
85
|
-
clipId: string;
|
|
86
|
-
text: string;
|
|
87
|
-
language?: string;
|
|
88
|
-
}
|
|
89
|
-
/** Define an operation to enable or disable a clip by its identifier */
|
|
90
|
-
interface SetClipDisabledOperation {
|
|
91
|
-
type: 'set_clip_disabled';
|
|
92
|
-
clipId: string;
|
|
93
|
-
disabled: boolean;
|
|
94
|
-
}
|
|
95
|
-
/** Represent a delete clip operation with a specified clip identifier */
|
|
96
|
-
interface DeleteClipOperation {
|
|
97
|
-
type: 'delete_clip';
|
|
98
|
-
clipId: string;
|
|
99
|
-
}
|
|
100
|
-
/** Define an operation to create a new sequence track with a specified kind and name */
|
|
101
|
-
interface CreateTrackOperation {
|
|
102
|
-
type: 'create_track';
|
|
103
|
-
kind: SequenceTrackKind;
|
|
104
|
-
name: string;
|
|
105
|
-
}
|
|
106
|
-
/** Define an operation to extend a sequence by a specified number of frames */
|
|
107
|
-
interface ExtendSequenceOperation {
|
|
108
|
-
type: 'extend_sequence';
|
|
109
|
-
durationFrames: number;
|
|
110
|
-
}
|
|
111
|
-
/** Define the structure for a queue export operation with format and optional metadata */
|
|
112
|
-
interface QueueExportOperation {
|
|
113
|
-
type: 'queue_export';
|
|
114
|
-
format: SequenceExportFormat;
|
|
115
|
-
metadata?: Record<string, unknown>;
|
|
116
|
-
}
|
|
117
|
-
/** Represent sequence editing actions for manipulating clips, tracks, captions, and exports */
|
|
118
|
-
type SequenceOperation = PlaceClipOperation | AddCaptionOperation | MoveClipOperation | TrimClipOperation | SplitClipOperation | SetClipTextOperation | SetClipDisabledOperation | DeleteClipOperation | CreateTrackOperation | ExtendSequenceOperation | QueueExportOperation;
|
|
119
|
-
/** A batch of operations with the agent's stated intent — the decision-log
|
|
120
|
-
* unit for agent edits. */
|
|
121
|
-
interface SequencePlan {
|
|
122
|
-
summary: string;
|
|
123
|
-
operations: SequenceOperation[];
|
|
124
|
-
}
|
|
125
|
-
/** Extract the type of operation from a sequence operation object */
|
|
126
|
-
type SequenceOperationType = SequenceOperation['type'];
|
|
127
|
-
/** List all valid sequence operation types used in editing workflows */
|
|
128
|
-
declare const SEQUENCE_OPERATION_TYPES: readonly SequenceOperationType[];
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Pre-write validation for sequence operations. Every rule runs against a
|
|
132
|
-
* `SequenceTimeline` snapshot BEFORE any `SequenceStore` write, so a rejected
|
|
133
|
-
* plan leaves no partial state. Batch errors carry the shape
|
|
134
|
-
* `operation N (type): reason` — precise enough for an LLM planner to repair
|
|
135
|
-
* the offending operation and resubmit.
|
|
136
|
-
*
|
|
137
|
-
* The resolution helpers (`resolvePlaceClipTrack`, `resolveCaptionTarget`,
|
|
138
|
-
* `resolveCaptionPlacement`) are shared with ./apply so validation and
|
|
139
|
-
* application cannot disagree about which track or bounds an operation lands
|
|
140
|
-
* on.
|
|
141
|
-
*
|
|
142
|
-
* Validation is static: a batch is checked against the timeline as given, so
|
|
143
|
-
* an operation may not reference entities created by an earlier operation in
|
|
144
|
-
* the same batch. Dispatchers that chain operations must refresh the timeline
|
|
145
|
-
* between applications and validate per-operation.
|
|
146
|
-
*/
|
|
147
|
-
|
|
148
|
-
/** Editor/agent context an operation is resolved against. `playheadFrame` is
|
|
149
|
-
* the implicit position for omitted caption placement; never persisted. */
|
|
150
|
-
interface SequenceOperationContext {
|
|
151
|
-
playheadFrame: number;
|
|
152
|
-
}
|
|
153
|
-
/** Validate each operation in a sequence against the timeline and context, throwing detailed errors on failure */
|
|
154
|
-
declare function validateSequenceOperations(timeline: SequenceTimeline, operations: SequenceOperation[], ctx: SequenceOperationContext): void;
|
|
155
|
-
/** Validate a sequence operation against the timeline and context to ensure correctness */
|
|
156
|
-
declare function validateSequenceOperation(timeline: SequenceTimeline, operation: SequenceOperation, ctx: SequenceOperationContext): void;
|
|
157
|
-
/** Validate the properties and constraints of a PlaceClipOperation within a SequenceTimeline */
|
|
158
|
-
declare function validatePlaceClip(timeline: SequenceTimeline, operation: PlaceClipOperation): void;
|
|
159
|
-
/** Validate the parameters and context of an AddCaptionOperation within a sequence timeline */
|
|
160
|
-
declare function validateAddCaption(timeline: SequenceTimeline, operation: AddCaptionOperation, ctx: SequenceOperationContext): void;
|
|
161
|
-
/** Validate that a clip move operation is within bounds and targets a compatible unlocked track */
|
|
162
|
-
declare function validateMoveClip(timeline: SequenceTimeline, operation: MoveClipOperation): void;
|
|
163
|
-
/** Validate that a trim clip operation respects timeline bounds and source frame constraints */
|
|
164
|
-
declare function validateTrimClip(timeline: SequenceTimeline, operation: TrimClipOperation): void;
|
|
165
|
-
/** Validate that a split operation on a clip is within valid frame boundaries and conditions */
|
|
166
|
-
declare function validateSplitClip(timeline: SequenceTimeline, operation: SplitClipOperation): void;
|
|
167
|
-
/** Validate that a SetClipTextOperation targets a caption clip with non-empty text and valid language tag */
|
|
168
|
-
declare function validateSetClipText(timeline: SequenceTimeline, operation: SetClipTextOperation): void;
|
|
169
|
-
/** Validate that the clip can be disabled within the given timeline and operation constraints */
|
|
170
|
-
declare function validateSetClipDisabled(timeline: SequenceTimeline, operation: SetClipDisabledOperation): void;
|
|
171
|
-
/** Validate that the clip to delete exists and is mutable in the given timeline */
|
|
172
|
-
declare function validateDeleteClip(timeline: SequenceTimeline, operation: DeleteClipOperation): void;
|
|
173
|
-
/** Validate that a CreateTrackOperation has a supported kind and a non-empty name */
|
|
174
|
-
declare function validateCreateTrack(operation: CreateTrackOperation): void;
|
|
175
|
-
/** Validate that the extend sequence operation has a positive duration and exceeds the last clip end frame */
|
|
176
|
-
declare function validateExtendSequence(timeline: SequenceTimeline, operation: ExtendSequenceOperation): void;
|
|
177
|
-
/** Validate that the queue export operation uses a supported export format */
|
|
178
|
-
declare function validateQueueExport(operation: QueueExportOperation): void;
|
|
179
|
-
/**
|
|
180
|
-
* Shape-gate untrusted JSON (a product's `onApplyOperations` route body) into
|
|
181
|
-
* `SequenceOperation[]` BEFORE `validateSequenceOperations` sees it. The
|
|
182
|
-
* validator assumes well-typed fields (`label.trim()` on a number is a raw
|
|
183
|
-
* TypeError → 500); this parser turns junk into a thrown Error naming the
|
|
184
|
-
* operation index and field so the route can answer 400 with an actionable
|
|
185
|
-
* reason. Unknown fields are dropped — only vocabulary fields reach the
|
|
186
|
-
* validator and store.
|
|
187
|
-
*/
|
|
188
|
-
declare function parseSequenceOperations(input: unknown): SequenceOperation[];
|
|
189
|
-
/** Resolve caption target by specifying an existing track or creating a new one with language and name */
|
|
190
|
-
type CaptionTargetResolution = {
|
|
191
|
-
kind: 'existing';
|
|
192
|
-
track: SequenceTrack;
|
|
193
|
-
} | {
|
|
194
|
-
kind: 'create';
|
|
195
|
-
language: string;
|
|
196
|
-
name: string;
|
|
197
|
-
};
|
|
198
|
-
/** Naming convention for auto-created per-language caption tracks. The name
|
|
199
|
-
* doubles as the recognition rule because `SequenceStore.createTrack` cannot
|
|
200
|
-
* persist track metadata — matching by `metadata.language` alone would never
|
|
201
|
-
* find tracks this module created. */
|
|
202
|
-
declare function captionTrackNameForLanguage(language: string): string;
|
|
203
|
-
/** Target track for a `place_clip`. Video and image media land on video
|
|
204
|
-
* tracks, audio media on audio tracks; a `reference` track is valid only when
|
|
205
|
-
* targeted explicitly. Media-less clips (placeholders, agent markers) need an
|
|
206
|
-
* explicit trackId because no kind can be inferred. */
|
|
207
|
-
declare function resolvePlaceClipTrack(timeline: SequenceTimeline, operation: PlaceClipOperation): SequenceTrack;
|
|
208
|
-
/** Target caption track for an `add_caption`. With `language` set and no
|
|
209
|
-
* matching caption track, resolution returns a `create` instruction the apply
|
|
210
|
-
* layer turns into a real track — a locked matching track is an error, never
|
|
211
|
-
* a silent duplicate. */
|
|
212
|
-
declare function resolveCaptionTarget(timeline: SequenceTimeline, operation: AddCaptionOperation): CaptionTargetResolution;
|
|
213
|
-
/** Caption bounds. Fully omitted placement slides past occupied intervals via
|
|
214
|
-
* `chooseCaptionPlacement`; a partially explicit placement fills the missing
|
|
215
|
-
* half deterministically (startFrame ← playhead, durationFrames ← fps*3) and
|
|
216
|
-
* must pass the caller's bounds check — no collision slide. */
|
|
217
|
-
declare function resolveCaptionPlacement(timeline: SequenceTimeline, operation: AddCaptionOperation, ctx: SequenceOperationContext, targetTrackId: string | null): TimelineClipBounds;
|
|
218
|
-
/** Last occupied frame across all clips — the floor for `extend_sequence`. */
|
|
219
|
-
declare function lastClipEndFrame(timeline: SequenceTimeline): number;
|
|
220
|
-
/** Media references must be provider URLs or app-served paths. Local sandbox
|
|
221
|
-
* artifacts (file:, data:, /tmp/, /home/) are rejected because they are
|
|
222
|
-
* unreachable from the product and signal an agent substituting local ffmpeg
|
|
223
|
-
* output for real provider generation. Delegates to the canonical
|
|
224
|
-
* `assertMediaUrl` boundary in `../web` — sequences and design-canvas share ONE
|
|
225
|
-
* rule so the two surfaces cannot drift on what counts as a reachable url. */
|
|
226
|
-
declare function assertSequenceMediaUrl(url: string): void;
|
|
227
|
-
|
|
228
|
-
/**
|
|
229
|
-
* Maps one validated `SequenceOperation` to `SequenceStore` calls and reports
|
|
230
|
-
* what changed. Each call re-validates its single operation against the
|
|
231
|
-
* provided timeline — a dispatcher that skips batch validation still cannot
|
|
232
|
-
* reach the store with an invalid write. The timeline must be the CURRENT
|
|
233
|
-
* state: dispatchers applying a batch refresh it between operations so later
|
|
234
|
-
* operations can reference entities earlier ones created.
|
|
235
|
-
*
|
|
236
|
-
* Split assumes source frames advance 1:1 with sequence frames (the model
|
|
237
|
-
* addresses source in/out points at sequence fps); time-remapped clips are
|
|
238
|
-
* outside this operation vocabulary.
|
|
239
|
-
*/
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* The entity an operation changed, for the MCP layer to serialize back to the
|
|
243
|
-
* agent. Conventions for multi-entity operations:
|
|
244
|
-
* - `split_clip` returns the newly created second half (the first half is the
|
|
245
|
-
* original clip id with a shortened duration).
|
|
246
|
-
* - `delete_clip` returns the pre-delete clip snapshot.
|
|
247
|
-
*/
|
|
248
|
-
type SequenceApplyResult = {
|
|
249
|
-
kind: 'clip';
|
|
250
|
-
clip: SequenceClip;
|
|
251
|
-
} | {
|
|
252
|
-
kind: 'track';
|
|
253
|
-
track: SequenceTrack;
|
|
254
|
-
} | {
|
|
255
|
-
kind: 'export';
|
|
256
|
-
record: SequenceExportRecord;
|
|
257
|
-
} | {
|
|
258
|
-
kind: 'sequence';
|
|
259
|
-
sequence: SequenceMeta;
|
|
260
|
-
};
|
|
261
|
-
/**
|
|
262
|
-
* The batch path every dispatcher (the MCP tools, a product's editor
|
|
263
|
-
* persistence route) funnels through: fetch the timeline, validate the WHOLE
|
|
264
|
-
* batch against pre-state, then apply in order with a timeline refresh between
|
|
265
|
-
* operations — later operations must see earlier writes (the static-validation
|
|
266
|
-
* boundary in ./validate).
|
|
267
|
-
*
|
|
268
|
-
* Atomicity contract: validation throws (before the first store write) leave
|
|
269
|
-
* the sequence untouched. Store-layer throws after at least one successful
|
|
270
|
-
* write leave a prefix-committed state — operations 1..N-1 are persisted,
|
|
271
|
-
* operations N..end are not. The store is non-transactional (SQLite D1);
|
|
272
|
-
* callers that receive a partial-commit throw must treat the result as partial
|
|
273
|
-
* success, not a full rollback. Decision-log rows are the caller's job: the
|
|
274
|
-
* MCP layer records `agent_edit`, an editor route records `human_edit`.
|
|
275
|
-
*/
|
|
276
|
-
declare function applySequenceOperations(store: SequenceStore, operations: SequenceOperation[], ctx: SequenceOperationContext): Promise<SequenceApplyResult[]>;
|
|
277
|
-
/** Apply a sequence operation to update the store and timeline asynchronously */
|
|
278
|
-
declare function applySequenceOperation(store: SequenceStore, timeline: SequenceTimeline, op: SequenceOperation, ctx: SequenceOperationContext): Promise<SequenceApplyResult>;
|
|
279
|
-
|
|
280
|
-
export { type AddCaptionOperation as A, validateSequenceOperations as B, type CaptionTargetResolution as C, type DeleteClipOperation as D, type ExtendSequenceOperation as E, validateSetClipDisabled as F, validateSetClipText as G, validateSplitClip as H, validateTrimClip as I, type MoveClipOperation as M, type PlaceClipOperation as P, type QueueExportOperation as Q, SEQUENCE_OPERATION_TYPES as S, type TrimClipOperation as T, type CreateTrackOperation as a, type SequenceApplyResult as b, type SequenceOperation as c, type SequenceOperationContext as d, type SequenceOperationType as e, type SequencePlan as f, type SetClipDisabledOperation as g, type SetClipTextOperation as h, type SplitClipOperation as i, applySequenceOperation as j, applySequenceOperations as k, assertSequenceMediaUrl as l, captionTrackNameForLanguage as m, lastClipEndFrame as n, resolveCaptionTarget as o, parseSequenceOperations as p, resolvePlaceClipTrack as q, resolveCaptionPlacement as r, validateCreateTrack as s, validateDeleteClip as t, validateExtendSequence as u, validateAddCaption as v, validateMoveClip as w, validatePlaceClip as x, validateQueueExport as y, validateSequenceOperation as z };
|