@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
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code-split entry for the timeline editor. The editor pulls in canvas
|
|
3
|
+
* painting, waveform decode, and gesture machinery products only need on the
|
|
4
|
+
* sequence route — `React.lazy` keeps it out of their main bundle. Mount
|
|
5
|
+
* inside a `<Suspense>` boundary.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
export declare const SequenceTimelineEditorLazy: React.LazyExoticComponent<typeof import("./components").TimelineEditor>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Baseline frame pipeline behind the `VideoFrameProvider` seam: an off-DOM
|
|
3
|
+
* HTMLVideoElement pool for video URLs and an HTMLImageElement pool for
|
|
4
|
+
* stills, merged by a per-URL kind dispatcher so the editor canvas never
|
|
5
|
+
* cares which kind a clip's media is. A WebCodecs implementation can replace
|
|
6
|
+
* this wholesale behind the same seam.
|
|
7
|
+
*
|
|
8
|
+
* Server-safe at import time, browser-only at call time: nothing touches
|
|
9
|
+
* `document` or `fetch` until a provider method runs.
|
|
10
|
+
*/
|
|
11
|
+
import type { VideoFrameProvider } from '../contracts';
|
|
12
|
+
/** Define the default maximum number of media elements allowed in a collection */
|
|
13
|
+
export declare const DEFAULT_MAX_MEDIA_ELEMENTS = 4;
|
|
14
|
+
/** Half a frame at 30fps. Seeks closer than this repaint the decoder's
|
|
15
|
+
* current frame instead of forcing a redundant seek. */
|
|
16
|
+
export declare const SEEK_TOLERANCE_SECONDS: number;
|
|
17
|
+
/** A seek that hasn't fired `seeked` after this long is a decode failure —
|
|
18
|
+
* the draw REJECTS rather than painting whatever frame happens to be up. */
|
|
19
|
+
export declare const SEEK_TIMEOUT_MS = 5000;
|
|
20
|
+
/** Define a rectangular frame with position and size properties x, y, width, and height */
|
|
21
|
+
export interface FrameRect {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
}
|
|
27
|
+
/** Object-fit 'contain' placement: preserve aspect ratio, fit entirely inside
|
|
28
|
+
* `dest`, center the residual space. Callers own clearing the letterbox
|
|
29
|
+
* margins — this paints only the fitted region. */
|
|
30
|
+
export declare function containFitRect(source: {
|
|
31
|
+
width: number;
|
|
32
|
+
height: number;
|
|
33
|
+
}, dest: FrameRect): FrameRect;
|
|
34
|
+
/** Determine if seeking is required based on the difference between current and target times */
|
|
35
|
+
export declare function needsSeek(currentTimeSeconds: number, targetSeconds: number): boolean;
|
|
36
|
+
/** Manage a leased element from a pool and release it to enable LRU eviction */
|
|
37
|
+
export interface PooledElementLease<T> {
|
|
38
|
+
element: T;
|
|
39
|
+
/** Unpins the element; idle elements become LRU-evictable. Idempotent. */
|
|
40
|
+
release(): void;
|
|
41
|
+
}
|
|
42
|
+
/** Manage a pool of media elements to acquire, check, count, and dispose resources efficiently */
|
|
43
|
+
export interface MediaElementPool<T> {
|
|
44
|
+
acquire(url: string): PooledElementLease<T>;
|
|
45
|
+
has(url: string): boolean;
|
|
46
|
+
size(): number;
|
|
47
|
+
dispose(): void;
|
|
48
|
+
}
|
|
49
|
+
/** LRU pool of media elements keyed by URL. Entries pinned by an outstanding
|
|
50
|
+
* lease are never evicted — a draw in flight must keep its element — so the
|
|
51
|
+
* pool can temporarily exceed `maxElements` under concurrent draws and
|
|
52
|
+
* shrinks back as leases release. */
|
|
53
|
+
export declare function createMediaElementPool<T>(opts: {
|
|
54
|
+
maxElements: number;
|
|
55
|
+
create(url: string): T;
|
|
56
|
+
destroy(element: T, url: string): void;
|
|
57
|
+
}): MediaElementPool<T>;
|
|
58
|
+
/** Extension-based kind classification; 'unknown' defers to a HEAD
|
|
59
|
+
* content-type probe at draw time. */
|
|
60
|
+
export declare function classifyMediaUrl(url: string): 'video' | 'image' | 'unknown';
|
|
61
|
+
/** Stills behind the same `VideoFrameProvider` seam — `sourceSeconds` is
|
|
62
|
+
* validated for contract parity but does not affect the painted pixels. */
|
|
63
|
+
export declare function createImageFrameProvider(opts?: {
|
|
64
|
+
maxElements?: number;
|
|
65
|
+
}): VideoFrameProvider;
|
|
66
|
+
/** The baseline provider `TimelineEditorProps.frameProvider` defaults to.
|
|
67
|
+
* Video and image pools each hold up to `maxElements` entries. */
|
|
68
|
+
export declare function createVideoElementFrameProvider(opts?: {
|
|
69
|
+
maxElements?: number;
|
|
70
|
+
}): VideoFrameProvider;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whisper transcription behind the `TranscriptionProvider` seam, powered by
|
|
3
|
+
* the OPTIONAL peer `@huggingface/transformers`. The peer is loaded with a
|
|
4
|
+
* dynamic variable-specifier import inside `transcribe()` so bundlers leave
|
|
5
|
+
* it external and apps that never transcribe never pay for it. `available`
|
|
6
|
+
* is the sync UI affordance signal; `transcribe()` re-verifies with the real
|
|
7
|
+
* import and is the source of truth.
|
|
8
|
+
*/
|
|
9
|
+
import type { TranscriptionProvider, TranscriptionSegment } from '../contracts';
|
|
10
|
+
import type { AudioBufferLike } from './waveform';
|
|
11
|
+
/** Provide the default Whisper model identifier for ONNX community large v3 turbo */
|
|
12
|
+
export declare const DEFAULT_WHISPER_MODEL = "onnx-community/whisper-large-v3-turbo";
|
|
13
|
+
interface WhisperChunk {
|
|
14
|
+
text: string;
|
|
15
|
+
timestamp: [number, number | null];
|
|
16
|
+
}
|
|
17
|
+
/** Define the structure for transcribed text output with optional segmented chunks */
|
|
18
|
+
export interface WhisperOutput {
|
|
19
|
+
text: string;
|
|
20
|
+
chunks?: WhisperChunk[];
|
|
21
|
+
}
|
|
22
|
+
/** Mean-mixdown to mono. Single-channel buffers return the live channel data
|
|
23
|
+
* without copying — callers must treat the result as read-only. */
|
|
24
|
+
export declare function mixdownToMono(buffer: AudioBufferLike): Float32Array;
|
|
25
|
+
/** Map whisper chunk output to contract segments. A `null` end timestamp is
|
|
26
|
+
* whisper's "ran past the end of the audio" sentinel on the final chunk and
|
|
27
|
+
* resolves to the audio duration. */
|
|
28
|
+
export declare function mapWhisperOutput(output: WhisperOutput | WhisperOutput[], durationSeconds: number, mediaUrl: string): TranscriptionSegment[];
|
|
29
|
+
/** Create a Whisper-based transcription provider with optional model configuration */
|
|
30
|
+
export declare function createWhisperTranscriptionProvider(opts?: {
|
|
31
|
+
model?: string;
|
|
32
|
+
}): TranscriptionProvider;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Waveform rendering for audio clips: bucketed max-abs peaks computed once
|
|
3
|
+
* per (media, zoom bucket count) and painted as mirrored bars around the
|
|
4
|
+
* track lane's midline. `computeWaveform` is pure so peak math is testable
|
|
5
|
+
* without Web Audio; `loadWaveform` is the browser edge that decodes real
|
|
6
|
+
* media into it.
|
|
7
|
+
*/
|
|
8
|
+
import type { WaveformData } from '../contracts';
|
|
9
|
+
/** Structural slice of Web Audio's AudioBuffer so peak math runs on synthetic
|
|
10
|
+
* fixtures in tests and on real decoded buffers in the browser. */
|
|
11
|
+
export interface AudioBufferLike {
|
|
12
|
+
numberOfChannels: number;
|
|
13
|
+
length: number;
|
|
14
|
+
sampleRate: number;
|
|
15
|
+
duration: number;
|
|
16
|
+
getChannelData(channel: number): Float32Array;
|
|
17
|
+
}
|
|
18
|
+
/** One max-abs peak per bucket, taken across all channels. `peaks[b]` is the
|
|
19
|
+
* loudest absolute sample in bucket `b`; rendering mirrors it around the
|
|
20
|
+
* midline, which is what the contract's "peak pair" denotes. Buckets past
|
|
21
|
+
* the end of short audio hold 0. */
|
|
22
|
+
export declare function computeWaveform(buffer: AudioBufferLike, bucketCount: number): WaveformData;
|
|
23
|
+
/** Fetch + decode `mediaUrl` and bucket it. Pass `ctx` to reuse a shared
|
|
24
|
+
* AudioContext; otherwise one is created and closed around the decode. */
|
|
25
|
+
export declare function loadWaveform(mediaUrl: string, bucketCount: number, ctx?: AudioContext): Promise<WaveformData>;
|
|
26
|
+
/** Paint mirrored peak bars centered on the rect's midline. Silent buckets
|
|
27
|
+
* still paint a 1px hairline so the lane reads as audio, not as empty;
|
|
28
|
+
* peaks beyond ±1.0 (hot masters) clip to the full lane height. */
|
|
29
|
+
export declare function drawWaveform(ctx: CanvasRenderingContext2D, data: WaveformData, rect: {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
}, color: string): void;
|
|
@@ -1,174 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Nav destinations, and the guard that proves every href the rail renders
|
|
3
|
-
* resolves to a route the product's router actually registered.
|
|
4
|
-
*
|
|
5
|
-
* A rail row's href is assembled from a base plus a relative path, and nothing
|
|
6
|
-
* downstream re-checks it: the sidebar renders a link, the click navigates, and
|
|
7
|
-
* the router answers 404. A unit test written against the nav builder alone
|
|
8
|
-
* cannot catch that — it asserts the href the builder produced, which is the
|
|
9
|
-
* same wrong string the user clicks.
|
|
10
|
-
*
|
|
11
|
-
* Two mechanisms, meant to be used together:
|
|
12
|
-
*
|
|
13
|
-
* 1. `NavDestination` makes the base a REQUIRED discriminant (`scope`). An
|
|
14
|
-
* optional `absolute?: boolean`-style flag has the opposite property:
|
|
15
|
-
* omitting it type-checks, and the destination silently resolves under the
|
|
16
|
-
* workspace prefix instead of the app-level one. A required literal union
|
|
17
|
-
* turns that omission into a compile error, and widening `TScope` demands a
|
|
18
|
-
* base for the new scope rather than defaulting to a wrong one.
|
|
19
|
-
* 2. `assertNavHrefsRegistered` matches every resolved href against the route
|
|
20
|
-
* table, so a destination the router never registered fails a test instead
|
|
21
|
-
* of a user's click. It reads the product's real route table, so it cannot
|
|
22
|
-
* agree with the builder's mistake the way a hand-maintained expected-href
|
|
23
|
-
* list does.
|
|
24
|
-
*/
|
|
25
|
-
/** The bases a product routes rail rows under. `workspace` is the per-workspace
|
|
26
|
-
* prefix (`/app/ws_123`); `app` is the account-level one (`/app`), where
|
|
27
|
-
* singleton surfaces such as a shared terminal or billing live. */
|
|
28
|
-
type NavScope = 'workspace' | 'app';
|
|
29
|
-
/** A base path per scope. Widening `TScope` widens this record, so a product
|
|
30
|
-
* that adds a scope cannot compile until it supplies that scope's base. */
|
|
31
|
-
type NavScopeBases<TScope extends string = NavScope> = Readonly<Record<TScope, string>>;
|
|
32
|
-
/** One rail destination as the product declares it, before a base is applied. */
|
|
33
|
-
interface NavDestination<TScope extends string = NavScope> {
|
|
34
|
-
id: string;
|
|
35
|
-
/** Path relative to the base named by `scope`. `''` is the base itself.
|
|
36
|
-
* Must be empty or start with `/` — a bare `'vault'` would concatenate into
|
|
37
|
-
* `/app/ws_123vault`, so it is rejected rather than silently repaired. */
|
|
38
|
-
path: string;
|
|
39
|
-
/** Which base `path` resolves against. Required on purpose. */
|
|
40
|
-
scope: TScope;
|
|
41
|
-
}
|
|
42
|
-
/** A destination with its base applied. */
|
|
43
|
-
interface ResolvedNavDestination<TScope extends string = NavScope> {
|
|
44
|
-
id: string;
|
|
45
|
-
href: string;
|
|
46
|
-
scope: TScope;
|
|
47
|
-
}
|
|
48
|
-
/** Apply a destination's scope base to its path.
|
|
49
|
-
*
|
|
50
|
-
* Throws when the scope has no base configured — a product that assembles
|
|
51
|
-
* `bases` dynamically can defeat the type-level guarantee, and a missing base
|
|
52
|
-
* would otherwise produce `undefined/vault`. */
|
|
53
|
-
declare function resolveNavHref<TScope extends string>(destination: NavDestination<TScope>, bases: NavScopeBases<TScope>): string;
|
|
54
|
-
/** Apply the bases to every destination, preserving declaration order. */
|
|
55
|
-
declare function resolveNavDestinations<TScope extends string>(destinations: readonly NavDestination<TScope>[], bases: NavScopeBases<TScope>): ResolvedNavDestination<TScope>[];
|
|
56
|
-
interface ResolveScopedActiveNavIdOptions<TScope extends string = NavScope> {
|
|
57
|
-
pathname: string;
|
|
58
|
-
destinations: readonly NavDestination<TScope>[];
|
|
59
|
-
bases: NavScopeBases<TScope>;
|
|
60
|
-
/** Extra ABSOLUTE prefixes that light an existing row, e.g.
|
|
61
|
-
* `{ '/app/ws_1/agents': 'integrations' }`. Same longest-prefix contest. */
|
|
62
|
-
aliases?: Readonly<Record<string, string>>;
|
|
63
|
-
/** ABSOLUTE prefixes that deliberately highlight nothing, beating any shorter
|
|
64
|
-
* match. */
|
|
65
|
-
claimsNothing?: readonly string[];
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* The rail row to highlight, across scopes.
|
|
69
|
-
*
|
|
70
|
-
* `resolveActiveNavId` resolves rows against ONE base, so an app-level row can
|
|
71
|
-
* only be highlighted by a second, hand-rolled scan — the same split that lets
|
|
72
|
-
* an app-level destination render under the workspace base. This resolves the
|
|
73
|
-
* hrefs first and runs a single longest-prefix contest over absolute paths, so
|
|
74
|
-
* declaration order cannot change the answer and no scope needs its own pass.
|
|
75
|
-
*
|
|
76
|
-
* Prefixes in `aliases` / `claimsNothing` are absolute here, unlike
|
|
77
|
-
* `resolveActiveNavId`'s base-relative ones, because the contest itself is
|
|
78
|
-
* absolute.
|
|
79
|
-
*/
|
|
80
|
-
declare function resolveScopedActiveNavId<TScope extends string>({ pathname, destinations, bases, aliases, claimsNothing, }: ResolveScopedActiveNavIdOptions<TScope>): string | undefined;
|
|
81
|
-
/**
|
|
82
|
-
* One entry of a registered route table. Structurally compatible with
|
|
83
|
-
* react-router's `RouteConfigEntry`, so a product passes its real `routes.ts`
|
|
84
|
-
* default export straight in — the point of the guard is that it reads the
|
|
85
|
-
* router's own truth rather than a second list that can agree with the bug.
|
|
86
|
-
*/
|
|
87
|
-
interface RegisteredRoute {
|
|
88
|
-
/** Absent on a pathless layout route: its children inherit the parent path. */
|
|
89
|
-
path?: string;
|
|
90
|
-
index?: boolean;
|
|
91
|
-
children?: readonly RegisteredRoute[];
|
|
92
|
-
}
|
|
93
|
-
/** A route table entry is either a bare pattern string or a router config node. */
|
|
94
|
-
type NavRouteTable = readonly (string | RegisteredRoute)[];
|
|
95
|
-
/**
|
|
96
|
-
* Every path pattern the table registers, rooted and de-duplicated.
|
|
97
|
-
*
|
|
98
|
-
* Parent nodes contribute their own cumulative path as well as their children's:
|
|
99
|
-
* a router matches a parent route with an index child at the parent path, and a
|
|
100
|
-
* parent without one still matches with an empty outlet, so treating parents as
|
|
101
|
-
* unregistered would flag working hrefs.
|
|
102
|
-
*/
|
|
103
|
-
declare function flattenRouteTable(table: NavRouteTable): string[];
|
|
104
|
-
/**
|
|
105
|
-
* A nav row as the guard needs to see it. Structurally satisfied by
|
|
106
|
-
* `SessionRailNavItem` / `SessionRailSubItem` and by sandbox-ui's
|
|
107
|
-
* `SidebarLayoutNavItem`, so the guard runs over the builder's real output
|
|
108
|
-
* rather than a re-declaration of it.
|
|
109
|
-
*/
|
|
110
|
-
interface NavHrefItem {
|
|
111
|
-
id: string;
|
|
112
|
-
href: string;
|
|
113
|
-
subItems?: readonly NavHrefItem[];
|
|
114
|
-
}
|
|
115
|
-
type NavHrefProblemReason =
|
|
116
|
-
/** No registered pattern matches the resolved href. */
|
|
117
|
-
'unregistered'
|
|
118
|
-
/** Empty, fragment-only, or not rooted at `/` — the row navigates nowhere
|
|
119
|
-
* predictable regardless of the route table. */
|
|
120
|
-
| 'not-a-path'
|
|
121
|
-
/** Leaves the router (scheme or protocol-relative) while `allowExternal` is
|
|
122
|
-
* off. */
|
|
123
|
-
| 'external';
|
|
124
|
-
interface NavHrefProblem {
|
|
125
|
-
id: string;
|
|
126
|
-
href: string;
|
|
127
|
-
reason: NavHrefProblemReason;
|
|
128
|
-
/** Registered patterns ending in the same segment. A destination resolved
|
|
129
|
-
* under the wrong base lands here as its correctly-based twin, which is what
|
|
130
|
-
* names the missing scope in the failure message. */
|
|
131
|
-
nearest: string[];
|
|
132
|
-
message: string;
|
|
133
|
-
}
|
|
134
|
-
interface NavHrefReport {
|
|
135
|
-
/** Hrefs examined, including nested sub-items. */
|
|
136
|
-
checked: number;
|
|
137
|
-
problems: NavHrefProblem[];
|
|
138
|
-
/** Off-router destinations accepted because `allowExternal` is on. */
|
|
139
|
-
external: string[];
|
|
140
|
-
/** The flattened route table the check ran against. */
|
|
141
|
-
patterns: string[];
|
|
142
|
-
}
|
|
143
|
-
interface NavHrefCheckOptions {
|
|
144
|
-
/** Hrefs to skip, compared after query/fragment removal. For a destination
|
|
145
|
-
* served outside this route table (a static asset, another worker). */
|
|
146
|
-
ignore?: readonly string[];
|
|
147
|
-
/** Absolute URLs / `mailto:` / `tel:` are reported under `external` instead
|
|
148
|
-
* of failing. Default true. */
|
|
149
|
-
allowExternal?: boolean;
|
|
150
|
-
/** Compare literal segments case-sensitively. Default true — a router that
|
|
151
|
-
* matches case-insensitively still renders a link the deploy's CDN or a
|
|
152
|
-
* case-sensitive origin may not. */
|
|
153
|
-
caseSensitive?: boolean;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Check every nav href against the product's route table.
|
|
157
|
-
*
|
|
158
|
-
* Pure — returns the full report so a caller can assert on parts of it. Use
|
|
159
|
-
* {@link assertNavHrefsRegistered} in tests; it turns the report into a failure
|
|
160
|
-
* that names the offending row, its resolved href, and the near-miss pattern.
|
|
161
|
-
*/
|
|
162
|
-
declare function checkNavHrefs(items: readonly NavHrefItem[], routes: NavRouteTable, options?: NavHrefCheckOptions): NavHrefReport;
|
|
163
|
-
/**
|
|
164
|
-
* Fail unless every nav href resolves to a registered route.
|
|
165
|
-
*
|
|
166
|
-
* Throws on an empty item list or an empty route table as well: a guard that
|
|
167
|
-
* examined nothing reports safety it does not provide, and both are what a
|
|
168
|
-
* mis-wired import looks like.
|
|
169
|
-
*/
|
|
170
|
-
declare function assertNavHrefsRegistered(items: readonly NavHrefItem[], routes: NavRouteTable, options?: NavHrefCheckOptions): void;
|
|
171
|
-
|
|
172
1
|
/**
|
|
173
2
|
* Session shell — the app-shell mechanism every agent product needs around the
|
|
174
3
|
* chat surface: a list of past sessions in the rail, an entry point for a new
|
|
@@ -185,10 +14,10 @@ declare function assertNavHrefsRegistered(items: readonly NavHrefItem[], routes:
|
|
|
185
14
|
* shape to the shell, and the product supplies routing through `hrefForSession`
|
|
186
15
|
* rather than the shell knowing any URL.
|
|
187
16
|
*/
|
|
188
|
-
|
|
17
|
+
export * from './nav-guard';
|
|
189
18
|
/** One session as the shell needs to see it. Products map their own row
|
|
190
19
|
* (thread / session / matter) onto this before handing it over. */
|
|
191
|
-
interface SessionSummary {
|
|
20
|
+
export interface SessionSummary {
|
|
192
21
|
id: string;
|
|
193
22
|
/** `null`/empty renders as the untitled placeholder rather than a blank row. */
|
|
194
23
|
title: string | null;
|
|
@@ -202,14 +31,14 @@ interface SessionSummary {
|
|
|
202
31
|
category?: string | null;
|
|
203
32
|
}
|
|
204
33
|
/** One fetched page of sessions with an optional continuation cursor. */
|
|
205
|
-
interface SessionPage {
|
|
34
|
+
export interface SessionPage {
|
|
206
35
|
items: SessionSummary[];
|
|
207
36
|
/** Opaque continuation token; absent/null ⇒ no further pages. */
|
|
208
37
|
nextCursor?: string | null;
|
|
209
38
|
}
|
|
210
39
|
/** Sort order for the history view. The product's fetcher decides what these
|
|
211
40
|
* mean against its own storage; the shell only round-trips the value. */
|
|
212
|
-
type SessionSort = 'newest' | 'oldest';
|
|
41
|
+
export type SessionSort = 'newest' | 'oldest';
|
|
213
42
|
/**
|
|
214
43
|
* These mirror `@tangle-network/sandbox-ui/dashboard`'s `SidebarLayoutNavItem`
|
|
215
44
|
* / `RailExpandableSubItem` STRUCTURALLY rather than importing them, so this
|
|
@@ -221,15 +50,15 @@ type SessionSort = 'newest' | 'oldest';
|
|
|
221
50
|
* `TIcon` is the product's icon component type (lucide, custom, anything) —
|
|
222
51
|
* generic so this file needs no React types.
|
|
223
52
|
*/
|
|
224
|
-
interface SessionRailAction<TIcon = unknown> {
|
|
53
|
+
export interface SessionRailAction<TIcon = unknown> {
|
|
225
54
|
id: string;
|
|
226
55
|
label: string;
|
|
227
56
|
icon?: TIcon;
|
|
228
57
|
destructive?: boolean;
|
|
229
58
|
onSelect: () => void;
|
|
230
59
|
}
|
|
231
|
-
type RailPrefetch = 'none' | 'intent' | 'render' | 'viewport';
|
|
232
|
-
interface SessionRailSubItem<TIcon = unknown> {
|
|
60
|
+
export type RailPrefetch = 'none' | 'intent' | 'render' | 'viewport';
|
|
61
|
+
export interface SessionRailSubItem<TIcon = unknown> {
|
|
233
62
|
id: string;
|
|
234
63
|
label: string;
|
|
235
64
|
href: string;
|
|
@@ -242,7 +71,7 @@ interface SessionRailSubItem<TIcon = unknown> {
|
|
|
242
71
|
emphasis?: boolean;
|
|
243
72
|
actions?: SessionRailAction<TIcon>[];
|
|
244
73
|
}
|
|
245
|
-
interface SessionRailNavItem<TIcon = unknown> {
|
|
74
|
+
export interface SessionRailNavItem<TIcon = unknown> {
|
|
246
75
|
id: string;
|
|
247
76
|
/** REQUIRED, mirroring sandbox-ui — the rail renders `<Icon />` unguarded, so
|
|
248
77
|
* an omitted icon is a blank/crashing row rather than a styling nit. */
|
|
@@ -259,7 +88,7 @@ interface SessionRailNavItem<TIcon = unknown> {
|
|
|
259
88
|
}
|
|
260
89
|
/** Per-row rename/delete wiring. Supplied by the layout that owns the dialogs;
|
|
261
90
|
* omitted (or `canEdit: false`) leaves rows read-only. */
|
|
262
|
-
interface SessionRowActions<TIcon = unknown> {
|
|
91
|
+
export interface SessionRowActions<TIcon = unknown> {
|
|
263
92
|
canEdit: boolean;
|
|
264
93
|
renameIcon?: TIcon;
|
|
265
94
|
deleteIcon?: TIcon;
|
|
@@ -286,11 +115,11 @@ interface SessionRowActions<TIcon = unknown> {
|
|
|
286
115
|
*/
|
|
287
116
|
extraActions?: (session: SessionSummary) => SessionRailAction<TIcon>[];
|
|
288
117
|
}
|
|
289
|
-
declare const UNTITLED_SESSION_LABEL = "Untitled chat";
|
|
118
|
+
export declare const UNTITLED_SESSION_LABEL = "Untitled chat";
|
|
290
119
|
/** Display title for a session row — trims, and falls back rather than
|
|
291
120
|
* rendering an empty row the user cannot aim at. */
|
|
292
|
-
declare function sessionLabel(session: SessionSummary, untitled?: string): string;
|
|
293
|
-
interface BuildSessionSubItemsOptions<TIcon = unknown> {
|
|
121
|
+
export declare function sessionLabel(session: SessionSummary, untitled?: string): string;
|
|
122
|
+
export interface BuildSessionSubItemsOptions<TIcon = unknown> {
|
|
294
123
|
sessions: SessionSummary[];
|
|
295
124
|
/** The product's route for one session. The shell never builds a URL itself. */
|
|
296
125
|
hrefForSession: (sessionId: string) => string;
|
|
@@ -306,8 +135,8 @@ interface BuildSessionSubItemsOptions<TIcon = unknown> {
|
|
|
306
135
|
};
|
|
307
136
|
}
|
|
308
137
|
/** Session rows for the rail's expandable history item. */
|
|
309
|
-
declare function buildSessionSubItems<TIcon = unknown>({ sessions, hrefForSession, respondingSessionIds, actions, untitledLabel, prefetch, overflow, }: BuildSessionSubItemsOptions<TIcon>): SessionRailSubItem<TIcon>[];
|
|
310
|
-
interface BuildSessionNavItemOptions<TIcon = unknown> extends BuildSessionSubItemsOptions<TIcon> {
|
|
138
|
+
export declare function buildSessionSubItems<TIcon = unknown>({ sessions, hrefForSession, respondingSessionIds, actions, untitledLabel, prefetch, overflow, }: BuildSessionSubItemsOptions<TIcon>): SessionRailSubItem<TIcon>[];
|
|
139
|
+
export interface BuildSessionNavItemOptions<TIcon = unknown> extends BuildSessionSubItemsOptions<TIcon> {
|
|
311
140
|
/** Nav id the product highlights against (`activeNavId === id`). */
|
|
312
141
|
id?: string;
|
|
313
142
|
label?: string;
|
|
@@ -325,8 +154,8 @@ interface BuildSessionNavItemOptions<TIcon = unknown> extends BuildSessionSubIte
|
|
|
325
154
|
* recent sessions. This is the structure the owner asked for — history lives IN
|
|
326
155
|
* the rail, not in a second sidebar panel beside it.
|
|
327
156
|
*/
|
|
328
|
-
declare function buildSessionNavItem<TIcon = unknown>({ id, label, icon, href, activeSessionId, emptyLabel, defaultOpen, ...subItemOptions }: BuildSessionNavItemOptions<TIcon>): SessionRailNavItem<TIcon>;
|
|
329
|
-
interface ActiveSessionIdOptions {
|
|
157
|
+
export declare function buildSessionNavItem<TIcon = unknown>({ id, label, icon, href, activeSessionId, emptyLabel, defaultOpen, ...subItemOptions }: BuildSessionNavItemOptions<TIcon>): SessionRailNavItem<TIcon>;
|
|
158
|
+
export interface ActiveSessionIdOptions {
|
|
330
159
|
pathname: string;
|
|
331
160
|
/** Workspace-scoped route base, e.g. `/app/ws_123`. */
|
|
332
161
|
base: string;
|
|
@@ -356,13 +185,13 @@ interface ActiveSessionIdOptions {
|
|
|
356
185
|
* in. Same class as attaching to a stale box: it looks right and points at the
|
|
357
186
|
* wrong row.
|
|
358
187
|
*/
|
|
359
|
-
declare function activeSessionIdFromPath({ pathname, base, segment, newSegment, reserved, }: ActiveSessionIdOptions): string | null;
|
|
188
|
+
export declare function activeSessionIdFromPath({ pathname, base, segment, newSegment, reserved, }: ActiveSessionIdOptions): string | null;
|
|
360
189
|
/** One rail destination. `path` is relative to the workspace base. */
|
|
361
|
-
interface NavRouteDef {
|
|
190
|
+
export interface NavRouteDef {
|
|
362
191
|
id: string;
|
|
363
192
|
path: string;
|
|
364
193
|
}
|
|
365
|
-
interface ResolveActiveNavIdOptions {
|
|
194
|
+
export interface ResolveActiveNavIdOptions {
|
|
366
195
|
pathname: string;
|
|
367
196
|
base: string;
|
|
368
197
|
/** The product's rail rows, in any order — resolution is longest-prefix. */
|
|
@@ -382,8 +211,8 @@ interface ResolveActiveNavIdOptions {
|
|
|
382
211
|
* per-product versions this replaces were first-match over an array, which made
|
|
383
212
|
* `/chat/new` vs `/chat` an ordering accident rather than a rule.
|
|
384
213
|
*/
|
|
385
|
-
declare function resolveActiveNavId({ pathname, base, routes, aliases, claimsNothing, }: ResolveActiveNavIdOptions): string | undefined;
|
|
386
|
-
interface ResolveSessionUnreadOptions {
|
|
214
|
+
export declare function resolveActiveNavId({ pathname, base, routes, aliases, claimsNothing, }: ResolveActiveNavIdOptions): string | undefined;
|
|
215
|
+
export interface ResolveSessionUnreadOptions {
|
|
387
216
|
sessionId: string;
|
|
388
217
|
/** Server-computed unread from the route loader. */
|
|
389
218
|
loaderUnread: boolean;
|
|
@@ -400,8 +229,8 @@ interface ResolveSessionUnreadOptions {
|
|
|
400
229
|
* unread after the user opened it — so live and local overlays win over it, and
|
|
401
230
|
* the currently-open session always reads as read.
|
|
402
231
|
*/
|
|
403
|
-
declare function resolveSessionUnread({ sessionId, loaderUnread, liveUnreadIds, locallyReadIds, currentSessionId, }: ResolveSessionUnreadOptions): boolean;
|
|
404
|
-
interface ComposeSidebarSessionsOptions {
|
|
232
|
+
export declare function resolveSessionUnread({ sessionId, loaderUnread, liveUnreadIds, locallyReadIds, currentSessionId, }: ResolveSessionUnreadOptions): boolean;
|
|
233
|
+
export interface ComposeSidebarSessionsOptions {
|
|
405
234
|
/** Server-rendered rows, already ordered by the product's query. */
|
|
406
235
|
loaderSessions: SessionSummary[];
|
|
407
236
|
/** Optimistic rows from the live channel (a chat created in another tab). */
|
|
@@ -414,7 +243,7 @@ interface ComposeSidebarSessionsOptions {
|
|
|
414
243
|
locallyReadIds?: ReadonlySet<string>;
|
|
415
244
|
currentSessionId?: string | null;
|
|
416
245
|
}
|
|
417
|
-
interface ComposedSidebarSessions {
|
|
246
|
+
export interface ComposedSidebarSessions {
|
|
418
247
|
sessions: SessionSummary[];
|
|
419
248
|
/** More sessions exist than the rail shows ⇒ render the "view all" row. */
|
|
420
249
|
hasMore: boolean;
|
|
@@ -428,14 +257,14 @@ interface ComposedSidebarSessions {
|
|
|
428
257
|
* (duplicate React keys, and the row's actions would target the same session
|
|
429
258
|
* from two places).
|
|
430
259
|
*/
|
|
431
|
-
declare function composeSidebarSessions({ loaderSessions, optimisticSessions, limit, totalCount, liveUnreadIds, locallyReadIds, currentSessionId, }: ComposeSidebarSessionsOptions): ComposedSidebarSessions;
|
|
260
|
+
export declare function composeSidebarSessions({ loaderSessions, optimisticSessions, limit, totalCount, liveUnreadIds, locallyReadIds, currentSessionId, }: ComposeSidebarSessionsOptions): ComposedSidebarSessions;
|
|
432
261
|
/**
|
|
433
262
|
* Append a fetched page to held rows, dropping ids already shown. A session
|
|
434
263
|
* bumped to the top between two page fetches otherwise arrives twice — once in
|
|
435
264
|
* the page it moved out of and once in the page it moved into.
|
|
436
265
|
*/
|
|
437
|
-
declare function mergeSessionPages(existing: SessionSummary[], incoming: SessionSummary[]): SessionSummary[];
|
|
438
|
-
declare const DEFAULT_RAIL_COOKIE_NAME = "agent-sidebar-rail-collapsed";
|
|
266
|
+
export declare function mergeSessionPages(existing: SessionSummary[], incoming: SessionSummary[]): SessionSummary[];
|
|
267
|
+
export declare const DEFAULT_RAIL_COOKIE_NAME = "agent-sidebar-rail-collapsed";
|
|
439
268
|
/**
|
|
440
269
|
* Read the persisted rail-collapse state from a request's `Cookie` header, so
|
|
441
270
|
* the server renders the rail in the state the user left it and the first
|
|
@@ -445,8 +274,8 @@ declare const DEFAULT_RAIL_COOKIE_NAME = "agent-sidebar-rail-collapsed";
|
|
|
445
274
|
* shape the products shipped): a name containing a regex metacharacter would
|
|
446
275
|
* silently match the wrong cookie or none at all.
|
|
447
276
|
*/
|
|
448
|
-
declare function readRailCollapsedCookie(cookieHeader: string | null | undefined, name?: string): boolean;
|
|
449
|
-
interface RailCookieOptions {
|
|
277
|
+
export declare function readRailCollapsedCookie(cookieHeader: string | null | undefined, name?: string): boolean;
|
|
278
|
+
export interface RailCookieOptions {
|
|
450
279
|
name?: string;
|
|
451
280
|
/** Seconds. Default one year. */
|
|
452
281
|
maxAge?: number;
|
|
@@ -457,9 +286,7 @@ interface RailCookieOptions {
|
|
|
457
286
|
}
|
|
458
287
|
/** The cookie string for a collapse state. Usable as `document.cookie` or as a
|
|
459
288
|
* `Set-Cookie` value. Exported separately so it is testable without a DOM. */
|
|
460
|
-
declare function railCollapsedCookie(collapsed: boolean, { name, maxAge, path, secure }?: RailCookieOptions): string;
|
|
289
|
+
export declare function railCollapsedCookie(collapsed: boolean, { name, maxAge, path, secure }?: RailCookieOptions): string;
|
|
461
290
|
/** Persist the rail-collapse state from the browser. No-op without a document
|
|
462
291
|
* so a shared toggle handler is safe to call during SSR. */
|
|
463
|
-
declare function writeRailCollapsedCookie(collapsed: boolean, options?: RailCookieOptions): void;
|
|
464
|
-
|
|
465
|
-
export { type ActiveSessionIdOptions, type BuildSessionNavItemOptions, type BuildSessionSubItemsOptions, type ComposeSidebarSessionsOptions, type ComposedSidebarSessions, DEFAULT_RAIL_COOKIE_NAME, type NavDestination, type NavHrefCheckOptions, type NavHrefItem, type NavHrefProblem, type NavHrefProblemReason, type NavHrefReport, type NavRouteDef, type NavRouteTable, type NavScope, type NavScopeBases, type RailCookieOptions, type RailPrefetch, type RegisteredRoute, type ResolveActiveNavIdOptions, type ResolveScopedActiveNavIdOptions, type ResolveSessionUnreadOptions, type ResolvedNavDestination, type SessionPage, type SessionRailAction, type SessionRailNavItem, type SessionRailSubItem, type SessionRowActions, type SessionSort, type SessionSummary, UNTITLED_SESSION_LABEL, activeSessionIdFromPath, assertNavHrefsRegistered, buildSessionNavItem, buildSessionSubItems, checkNavHrefs, composeSidebarSessions, flattenRouteTable, mergeSessionPages, railCollapsedCookie, readRailCollapsedCookie, resolveActiveNavId, resolveNavDestinations, resolveNavHref, resolveScopedActiveNavId, resolveSessionUnread, sessionLabel, writeRailCollapsedCookie };
|
|
292
|
+
export declare function writeRailCollapsedCookie(collapsed: boolean, options?: RailCookieOptions): void;
|