@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,92 +1 @@
|
|
|
1
|
-
|
|
2
|
-
interface SandboxTerminalConnection {
|
|
3
|
-
runtimeUrl: string | null;
|
|
4
|
-
sidecarUrl: string | null;
|
|
5
|
-
token: string | null;
|
|
6
|
-
expiresAt: string | null;
|
|
7
|
-
status: string;
|
|
8
|
-
error: string | null;
|
|
9
|
-
loading: boolean;
|
|
10
|
-
sandboxId?: string;
|
|
11
|
-
connectionId?: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Define the response structure for a sandbox terminal connection including URLs, token, status, and errors
|
|
15
|
-
*
|
|
16
|
-
* The browser-direct scoped-token route (`createSandboxTerminalConnectionRoute`,
|
|
17
|
-
* `src/sandbox/terminal-connection.ts`) returns `sidecarUrl`. The hook also
|
|
18
|
-
* exposes that URL through the historical `runtimeUrl` state field so existing
|
|
19
|
-
* terminal panels do not need transport-specific branching.
|
|
20
|
-
*
|
|
21
|
-
* `connectionId` is the id the route's minted token's `sid` is bound to
|
|
22
|
-
* (echoed back from the `connectionId` the hook sent) — pass it straight
|
|
23
|
-
* through as `TerminalView`'s `connectionId` prop, since any other value
|
|
24
|
-
* fails the WS upgrade on the current platform.
|
|
25
|
-
*/
|
|
26
|
-
interface SandboxTerminalConnectionResponse {
|
|
27
|
-
runtimeUrl?: string;
|
|
28
|
-
sidecarUrl?: string;
|
|
29
|
-
token?: string;
|
|
30
|
-
expiresAt?: string;
|
|
31
|
-
status?: string;
|
|
32
|
-
error?: string;
|
|
33
|
-
sandboxId?: string;
|
|
34
|
-
connectionId?: string;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Define options for configuring a sandbox terminal connection including workspace ID and connection parameters
|
|
38
|
-
*
|
|
39
|
-
* `connectionId`, when set, is passed to
|
|
40
|
-
* `createSandboxTerminalConnectionRoute` as the `connectionId` query
|
|
41
|
-
* parameter — pass `tabTerminalConnectionId()` here so the route mints a
|
|
42
|
-
* token whose `sid` is bound to the same id `TerminalView` will dial. Give
|
|
43
|
-
* `TerminalView` the response's echoed `connectionId` (not this input
|
|
44
|
-
* value) alongside `sidecarUrl` as `apiUrl` and `token`, since a product's
|
|
45
|
-
* `resolveConnectionId` seam may rewrite it server-side.
|
|
46
|
-
*/
|
|
47
|
-
interface UseSandboxTerminalConnectionOptions {
|
|
48
|
-
workspaceId: string;
|
|
49
|
-
connectionUrl?: string | ((workspaceId: string) => string);
|
|
50
|
-
connectionId?: string;
|
|
51
|
-
fetcher?: typeof fetch;
|
|
52
|
-
provisionPollIntervalMs?: number;
|
|
53
|
-
provisionPollTimeoutMs?: number;
|
|
54
|
-
tokenRefreshSkewMs?: number;
|
|
55
|
-
}
|
|
56
|
-
/** Resolve sandbox terminal connection status and provide a method to initiate the connection */
|
|
57
|
-
interface UseSandboxTerminalConnectionResult extends SandboxTerminalConnection {
|
|
58
|
-
connect: () => Promise<void>;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Manage and maintain a sandbox terminal connection with automatic polling and token refresh handling
|
|
62
|
-
*
|
|
63
|
-
* `connectionUrl` is backed by the browser-direct scoped-token route
|
|
64
|
-
* (`createSandboxTerminalConnectionRoute`,
|
|
65
|
-
* `src/sandbox/terminal-connection.ts`). The route returns `sidecarUrl`; the
|
|
66
|
-
* hook normalizes it into both URL fields for compatibility with existing
|
|
67
|
-
* terminal panels.
|
|
68
|
-
*
|
|
69
|
-
* Pass `tabTerminalConnectionId()` as `opts.connectionId` — the hook forwards
|
|
70
|
-
* it as the `connectionId` query parameter the browser-direct route requires
|
|
71
|
-
* to mint a token whose `sid` is bound to that exact id (the orchestrator's
|
|
72
|
-
* terminal WS gate fails closed on any other value). Give `TerminalView` the
|
|
73
|
-
* RESULT's echoed `connectionId` (not the input value — a product's
|
|
74
|
-
* `resolveConnectionId` seam may rewrite it), the resolved `sidecarUrl`/
|
|
75
|
-
* `runtimeUrl` as `apiUrl`, and `token` as its token prop.
|
|
76
|
-
*/
|
|
77
|
-
declare function useSandboxTerminalConnection(opts: UseSandboxTerminalConnectionOptions): UseSandboxTerminalConnectionResult;
|
|
78
|
-
/**
|
|
79
|
-
* Stable-per-tab, unique-per-client terminal connection id.
|
|
80
|
-
*
|
|
81
|
-
* Persists in `sessionStorage` so a reload in the same tab reuses the id (the
|
|
82
|
-
* sidecar restores the same PTY session via `TerminalView.connectionId`), while
|
|
83
|
-
* separate tabs/windows each get a distinct id. Pass the result as
|
|
84
|
-
* `TerminalView`'s `connectionId`. Without it (e.g. gtm-agent today) every tab
|
|
85
|
-
* shares one connection id and their reconnects evict each other.
|
|
86
|
-
*
|
|
87
|
-
* Falls back to an ephemeral id when `sessionStorage` is unavailable (SSR,
|
|
88
|
-
* privacy mode) — still unique per call, just not reload-stable.
|
|
89
|
-
*/
|
|
90
|
-
declare function tabTerminalConnectionId(storageKey?: string): string;
|
|
91
|
-
|
|
92
|
-
export { type SandboxTerminalConnection, type SandboxTerminalConnectionResponse, type UseSandboxTerminalConnectionOptions, type UseSandboxTerminalConnectionResult, tabTerminalConnectionId, useSandboxTerminalConnection };
|
|
1
|
+
export * from './sandbox-terminal';
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useChatInteractions — the interaction-state wiring every consumer of
|
|
3
|
+
* `ChatStreamCallbacks.onInteraction` re-implements: an id-keyed,
|
|
4
|
+
* insertion-ordered list with
|
|
5
|
+
*
|
|
6
|
+
* - forward-only status transitions (a replayed/stale `pending` never
|
|
7
|
+
* resurrects a resolved card),
|
|
8
|
+
* - pending-question content dedupe (a re-emitted duplicate ask never renders
|
|
9
|
+
* a second card),
|
|
10
|
+
* - cancel-event application (`interaction.cancel` → cancelled/expired),
|
|
11
|
+
* - local resolution marking (the card's `onResolved`),
|
|
12
|
+
* - reload restore from the answer route's GET list (sidecar registry is the
|
|
13
|
+
* source of truth after a reload),
|
|
14
|
+
* - turn-end settling (client mirror of the server's finalize pass: a turn
|
|
15
|
+
* that completed without a cancel was answered; a failed turn can make no
|
|
16
|
+
* such claim).
|
|
17
|
+
*
|
|
18
|
+
* The reducer functions are pure and exported for non-React consumers/tests;
|
|
19
|
+
* the hook is a thin `useState` shell over them.
|
|
20
|
+
*/
|
|
21
|
+
import { type ChatInteraction, type ChatInteractionStatus, type InteractionAnswers, type InteractionCancelData, type InteractionRequestWire } from './chat-interactions';
|
|
22
|
+
/** Insert or update one interaction. A terminal existing entry wins over any
|
|
23
|
+
* incoming state for the same id; a new pending ask that duplicates another
|
|
24
|
+
* pending ask's content is dropped. Returns the same array when unchanged. */
|
|
25
|
+
export declare function upsertChatInteraction(list: ChatInteraction[], interaction: ChatInteraction): ChatInteraction[];
|
|
26
|
+
/** Applies an `interaction.cancel` event: only a pending ask moves, to
|
|
27
|
+
* `expired` (reason:"timeout") or `cancelled`. */
|
|
28
|
+
export declare function cancelChatInteraction(list: ChatInteraction[], cancel: InteractionCancelData): ChatInteraction[];
|
|
29
|
+
/** Marks one ask resolved locally (the card's `onResolved`). Forward-only. */
|
|
30
|
+
export declare function resolveChatInteraction(list: ChatInteraction[], id: string, status: Exclude<ChatInteractionStatus, 'pending'>, answers?: InteractionAnswers): ChatInteraction[];
|
|
31
|
+
/** Settles every still-pending ask when the turn ends: `answered` for a turn
|
|
32
|
+
* that completed cleanly, `expired` for one that failed. */
|
|
33
|
+
export declare function terminalizePendingChatInteractions(list: ChatInteraction[], status: Extract<ChatInteractionStatus, 'answered' | 'expired'>): ChatInteraction[];
|
|
34
|
+
/** Define modes for restoring chat interactions with legacy or durable strategies */
|
|
35
|
+
export type ChatInteractionRestoreMode = 'legacy' | 'durable';
|
|
36
|
+
/** Define options to control how chat interactions are restored during the restore process */
|
|
37
|
+
export interface RestoreChatInteractionsOptions {
|
|
38
|
+
/**
|
|
39
|
+
* `legacy` settles pending asks absent from the sidecar list as answered,
|
|
40
|
+
* preserving the pre-durable restore contract. `durable` leaves them
|
|
41
|
+
* pending because absence is ambiguous until `hydrateChatInteractions`
|
|
42
|
+
* applies the durable projection.
|
|
43
|
+
*/
|
|
44
|
+
mode?: ChatInteractionRestoreMode;
|
|
45
|
+
}
|
|
46
|
+
/** Reload restore from the answer route's GET list. Legacy consumers retain
|
|
47
|
+
* the historical absence→answered behavior; durable consumers opt into the
|
|
48
|
+
* ambiguity-preserving mode and apply terminal parts through `hydrate`. */
|
|
49
|
+
export declare function restoreChatInteractions(list: ChatInteraction[], outstanding: InteractionRequestWire[], options?: RestoreChatInteractionsOptions): ChatInteraction[];
|
|
50
|
+
/** Applies transcript/state-store projections after reload. Terminal state and
|
|
51
|
+
* acknowledged answer values enrich an existing pending card without relying
|
|
52
|
+
* on the sidecar's outstanding-list absence. */
|
|
53
|
+
export declare function hydrateChatInteractions(list: ChatInteraction[], persisted: ChatInteraction[]): ChatInteraction[];
|
|
54
|
+
/** Resolve and manage chat interactions with methods to update, cancel, mark resolved, and restore state */
|
|
55
|
+
export interface UseChatInteractionsResult {
|
|
56
|
+
/** All known interactions, insertion-ordered. */
|
|
57
|
+
interactions: ChatInteraction[];
|
|
58
|
+
/** The asks currently blocking the run (waiting on the user). */
|
|
59
|
+
pending: ChatInteraction[];
|
|
60
|
+
/** Wire to `ChatStreamCallbacks.onInteraction` (and persisted-part replay). */
|
|
61
|
+
upsert: (interaction: ChatInteraction) => void;
|
|
62
|
+
/** Wire to `interaction.cancel` events. */
|
|
63
|
+
applyCancel: (cancel: InteractionCancelData) => void;
|
|
64
|
+
/** Wire to the cards' `onResolved`. */
|
|
65
|
+
markResolved: (id: string, status: Exclude<ChatInteractionStatus, 'pending'>, answers?: InteractionAnswers) => void;
|
|
66
|
+
/** Wire to the answer route's GET list after a reload/reconnect. */
|
|
67
|
+
restore: (outstanding: InteractionRequestWire[], options?: RestoreChatInteractionsOptions) => void;
|
|
68
|
+
/** Apply durable transcript/state projections after a reload. */
|
|
69
|
+
hydrate: (persisted: ChatInteraction[]) => void;
|
|
70
|
+
/** Settle still-pending asks when the turn ends. */
|
|
71
|
+
terminalizePending: (status: Extract<ChatInteractionStatus, 'answered' | 'expired'>) => void;
|
|
72
|
+
/** Drop everything (thread switch). */
|
|
73
|
+
reset: () => void;
|
|
74
|
+
}
|
|
75
|
+
/** Resolve options for restoring chat interactions from previous sessions */
|
|
76
|
+
export type UseChatInteractionsOptions = RestoreChatInteractionsOptions;
|
|
77
|
+
/** Manage chat interactions state with upsert, cancel, resolve, and restore capabilities */
|
|
78
|
+
export declare function useChatInteractions(options?: UseChatInteractionsOptions): UseChatInteractionsResult;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useComposerAttachments` — the composer's staged-upload lifecycle: validate
|
|
3
|
+
* selected/dropped/pasted files against the shared limits (the SAME
|
|
4
|
+
* `sniffBinary`/`checkAttachmentType`/size-cap vocabulary the store-backed
|
|
5
|
+
* upload route enforces server-side, `../chat-routes/attachment-validation`
|
|
6
|
+
* + `../chat-routes/binary-sniff`), upload each accepted file with one POST
|
|
7
|
+
* request per file (so a single failure never poisons the batch), and track
|
|
8
|
+
* every file's status so a host composer can render chips and gate sending.
|
|
9
|
+
*
|
|
10
|
+
* Ported from gtm-agent's `src/components/composer-attachments.tsx`
|
|
11
|
+
* (gtm#584/#592/#593 hardened the sniff gate and batch semantics this leans
|
|
12
|
+
* on), de-gtm-ified:
|
|
13
|
+
* - the hardcoded `/api/vault/upload?workspaceId=` URL becomes
|
|
14
|
+
* `uploadUrl`/`buildUploadRequest` (the latter wins — it hands back both
|
|
15
|
+
* the URL and a `RequestInit` override, e.g. an auth header);
|
|
16
|
+
* - `sonner` toasts become `onReject` (client pre-validation, never hits the
|
|
17
|
+
* network) and `onError` (a request that reached the server and failed);
|
|
18
|
+
* - the sandbox-ui `validateComposerFiles` import becomes a small
|
|
19
|
+
* accept-list matcher re-implemented locally (`isAcceptedFileType`,
|
|
20
|
+
* mirroring its `accept`-string matching byte-for-byte) — this module
|
|
21
|
+
* stays free of the sandbox-ui peer;
|
|
22
|
+
* - the response is expected to be `{ files: ChatAttachmentInput[] }` (full
|
|
23
|
+
* server-authoritative descriptors — size/mediaType/kind — not gtm's
|
|
24
|
+
* `{path, name}`), so `references` is a verbatim pass-through with no
|
|
25
|
+
* client recompute;
|
|
26
|
+
* - `workspaceId`'s truthiness gate becomes `enabled` (default `true`).
|
|
27
|
+
*
|
|
28
|
+
* Import-free beyond React + the browser-safe `/chat-routes` validation core:
|
|
29
|
+
* this module ships through `/web-react` into client bundles
|
|
30
|
+
* (`tests/browser-safe-subpaths.test.ts` walks the graph), so nothing here
|
|
31
|
+
* may reach a Node builtin, `sandbox-ui`, or an engine package.
|
|
32
|
+
*/
|
|
33
|
+
import type { ChatAttachmentInput, ChatAttachmentKind } from './chat-stream';
|
|
34
|
+
import type { ComposerFile } from './chat-composer';
|
|
35
|
+
export { ATTACHMENT_ACCEPT } from '../chat-routes/attachment-validation';
|
|
36
|
+
/** Define options for configuring file upload behavior and handling in a composer component */
|
|
37
|
+
export interface UseComposerAttachmentsOptions {
|
|
38
|
+
/** Simple upload target: every file POSTs here. Ignored when
|
|
39
|
+
* `buildUploadRequest` is provided. */
|
|
40
|
+
uploadUrl?: string;
|
|
41
|
+
/** Full request-building seam (auth headers, per-file routing, …) — wins
|
|
42
|
+
* over `uploadUrl` when both are set. */
|
|
43
|
+
buildUploadRequest?: (args: {
|
|
44
|
+
file: File;
|
|
45
|
+
name: string;
|
|
46
|
+
form: FormData;
|
|
47
|
+
}) => {
|
|
48
|
+
url: string;
|
|
49
|
+
init?: Omit<RequestInit, 'body' | 'signal'>;
|
|
50
|
+
};
|
|
51
|
+
/** Client pre-validation rejections — a file that never reaches the
|
|
52
|
+
* network (bad type, over a size cap, over count, disallowed kind). */
|
|
53
|
+
onReject?: (reason: string, file?: File) => void;
|
|
54
|
+
/** A file that reached the upload endpoint and failed (HTTP error,
|
|
55
|
+
* transport error, malformed response). */
|
|
56
|
+
onError?: (reason: string) => void;
|
|
57
|
+
limits?: {
|
|
58
|
+
maxCount?: number;
|
|
59
|
+
maxBinaryBytes?: number;
|
|
60
|
+
maxTextBytes?: number;
|
|
61
|
+
maxTotalBytes?: number;
|
|
62
|
+
};
|
|
63
|
+
/** Attachment kinds accepted, checked against the sniffed content's
|
|
64
|
+
* mime. Default: both (`['image', 'file']` — i.e. no restriction). */
|
|
65
|
+
allowedKinds?: ChatAttachmentKind[];
|
|
66
|
+
/** `<input accept>`-style gate for the file picker/drop/paste path.
|
|
67
|
+
* Default {@link ATTACHMENT_ACCEPT}. */
|
|
68
|
+
accept?: string;
|
|
69
|
+
/** When `false`, `addFiles` rejects every call via `onReject` (and
|
|
70
|
+
* `blockReason` explains why) instead of staging anything — the
|
|
71
|
+
* replacement for gtm's `workspaceId`-truthiness gate (e.g. no workspace
|
|
72
|
+
* loaded yet). Default `true`. */
|
|
73
|
+
enabled?: boolean;
|
|
74
|
+
}
|
|
75
|
+
/** Provide staged file chips, ready attachments, and methods to add, retry, or drop composer files */
|
|
76
|
+
export interface UseComposerAttachmentsResult {
|
|
77
|
+
/** Chip models for `ChatComposer`'s `pendingFiles` prop, one per staged
|
|
78
|
+
* file — `kind` is always `'file'` (agent-app's `ComposerFile.kind`
|
|
79
|
+
* discriminates file-vs-folder chips, not attachment media type). */
|
|
80
|
+
composerFiles: ComposerFile[];
|
|
81
|
+
/** Ready-to-send attachment descriptors — only files whose upload
|
|
82
|
+
* succeeded, straight from the server's response (no recompute). Feed
|
|
83
|
+
* this into `ChatTurnRequestPayload.attachments`. */
|
|
84
|
+
references: ChatAttachmentInput[];
|
|
85
|
+
/** Validate + stage + upload the given files, one request per file. */
|
|
86
|
+
addFiles: (files: File[] | FileList) => Promise<void>;
|
|
87
|
+
/** Re-upload a failed entry using its retained `File`. */
|
|
88
|
+
retry: (id: string) => void;
|
|
89
|
+
/** Drop one staged entry, aborting its upload and revoking its preview. */
|
|
90
|
+
removeAttachment: (id: string) => void;
|
|
91
|
+
/** Forget every staged entry (call after a successful send). */
|
|
92
|
+
clear: () => void;
|
|
93
|
+
/** True while any file is still pending or uploading. */
|
|
94
|
+
hasPending: boolean;
|
|
95
|
+
/** True while any file failed to upload. */
|
|
96
|
+
hasError: boolean;
|
|
97
|
+
/** Why a send is blocked, or `null` when the queue is clean. */
|
|
98
|
+
blockReason: string | null;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Owns the composer's attachment lifecycle: validate selected/dropped/pasted
|
|
102
|
+
* files against the shared limits, upload each accepted file to the
|
|
103
|
+
* product's store (one request per file), and track every file's status so
|
|
104
|
+
* the composer can render chips and gate sending.
|
|
105
|
+
*
|
|
106
|
+
* Failures surface loud — a rejected file calls `onReject` and is never
|
|
107
|
+
* uploaded; a failed upload calls `onError` and leaves an error chip the user
|
|
108
|
+
* can retry or remove. `references` only ever contains files whose upload the
|
|
109
|
+
* server actually confirmed.
|
|
110
|
+
*/
|
|
111
|
+
export declare function useComposerAttachments(options: UseComposerAttachmentsOptions): UseComposerAttachmentsResult;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useFileMentions` — the glue a host passes straight into `AgentComposer`'s
|
|
3
|
+
* `mention` prop (`@tangle-network/sandbox-ui#184`) to wire up `@`-file
|
|
4
|
+
* mentions against `createSandboxFileIndexRoute` (`/chat-routes`).
|
|
5
|
+
*
|
|
6
|
+
* Fetches the index once per session from `indexUrl`, refreshes it in the
|
|
7
|
+
* background whenever the popover opens (a `fetchItems` call) if the cached
|
|
8
|
+
* copy has aged past `refreshAfterMs`, and answers every keystroke from an
|
|
9
|
+
* in-memory fuzzy filter — no per-keystroke network round trip. The returned
|
|
10
|
+
* `refresh()` lets a caller force a re-fetch immediately instead of waiting
|
|
11
|
+
* on `refreshAfterMs` — e.g. right after the agent creates a file mid-session.
|
|
12
|
+
*
|
|
13
|
+
* `MentionItem`/the `mention` prop shape mirror the FROZEN contract from
|
|
14
|
+
* sandbox-ui#184 structurally (no import: `/web-react` stays dependency-free
|
|
15
|
+
* beyond React, and `@tangle-network/sandbox-ui` is an optional peer).
|
|
16
|
+
*/
|
|
17
|
+
import type { ReactNode } from 'react';
|
|
18
|
+
import type { FileMention } from '../chat-routes/wire';
|
|
19
|
+
/** Mirrors sandbox-ui#184's `MentionItem` — the atomic pill's payload. For a
|
|
20
|
+
* file mention, `id` is the workspace-relative path (the pill's stable
|
|
21
|
+
* identity and the `@<id>` serialization sandbox-ui uses to round-trip
|
|
22
|
+
* `value`), `label` is the display name, and `detail` carries the full path
|
|
23
|
+
* for the popover row's secondary line. */
|
|
24
|
+
export interface MentionItem {
|
|
25
|
+
id: string;
|
|
26
|
+
label: string;
|
|
27
|
+
detail?: string;
|
|
28
|
+
kind?: string;
|
|
29
|
+
}
|
|
30
|
+
/** Mirrors sandbox-ui#184's `AgentComposerProps['mention']` shape — plug the
|
|
31
|
+
* hook's `mention` return value straight into that prop. */
|
|
32
|
+
export interface ComposerMentionProp {
|
|
33
|
+
trigger?: string;
|
|
34
|
+
fetchItems(query: string): Promise<MentionItem[]>;
|
|
35
|
+
onMentionsChange?(mentions: MentionItem[]): void;
|
|
36
|
+
renderItem?(item: MentionItem): ReactNode;
|
|
37
|
+
emptyText?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Ranks `files` against `query` (case-insensitive), capped to `limit`:
|
|
41
|
+
* name-prefix matches first, then name-substring, then path-substring.
|
|
42
|
+
* Within a tier, shorter names sort first (the more specific match), then
|
|
43
|
+
* alphabetically by path for a stable order. An empty query returns the
|
|
44
|
+
* first `limit` entries unranked — the popover's default list before typing.
|
|
45
|
+
* Pure and dependency-free (no fuzzy-match library) so it's cheap enough to
|
|
46
|
+
* re-run on every keystroke against a 10k-entry index.
|
|
47
|
+
*/
|
|
48
|
+
export declare function rankFileMentions(files: readonly FileMention[], query: string, limit: number): FileMention[];
|
|
49
|
+
/** Max popover results per query — enough to show a useful spread of matches
|
|
50
|
+
* without pushing the fuzzy-filtered list past what a popover can usefully
|
|
51
|
+
* render in one screen. */
|
|
52
|
+
export declare const DEFAULT_MENTION_LIMIT = 20;
|
|
53
|
+
/** How long a `ready` index is served before a background refetch — long
|
|
54
|
+
* enough that a full session's worth of popover opens don't repeatedly hit
|
|
55
|
+
* the index endpoint, short enough that a stale listing doesn't linger too
|
|
56
|
+
* far past workspace file changes. Callers who need the index current right
|
|
57
|
+
* now (e.g. just after the agent creates a file) call `refresh()` instead of
|
|
58
|
+
* waiting on this window. */
|
|
59
|
+
export declare const INDEX_REFRESH_AFTER_MS: number;
|
|
60
|
+
/** Popover empty-state copy for a `ready` index whose query matched nothing.
|
|
61
|
+
* Loading/warming/error states have their own copy — see `emptyTextFor`. */
|
|
62
|
+
export declare const DEFAULT_MENTION_EMPTY_TEXT = "No matching files";
|
|
63
|
+
/** Define options for configuring file mention fetching, caching, and display behavior */
|
|
64
|
+
export interface UseFileMentionsOptions {
|
|
65
|
+
/** GET endpoint returning `FileIndexResponse` (a `createSandboxFileIndexRoute`). */
|
|
66
|
+
indexUrl: string;
|
|
67
|
+
/** Max popover results per query. Default {@link DEFAULT_MENTION_LIMIT}. */
|
|
68
|
+
limit?: number;
|
|
69
|
+
/** How long a `ready` index is served without a background refetch.
|
|
70
|
+
* Default {@link INDEX_REFRESH_AFTER_MS}. */
|
|
71
|
+
refreshAfterMs?: number;
|
|
72
|
+
/** `fetch` override for tests / non-global-fetch hosts. Default `fetch`. */
|
|
73
|
+
fetchImpl?: typeof fetch;
|
|
74
|
+
/** Text shown in the popover's empty state once the index is loaded and
|
|
75
|
+
* the query matched nothing. Default {@link DEFAULT_MENTION_EMPTY_TEXT}. */
|
|
76
|
+
emptyText?: string;
|
|
77
|
+
}
|
|
78
|
+
/** Provide properties and methods to manage and refresh file mentions in a composer interface */
|
|
79
|
+
export interface UseFileMentionsResult {
|
|
80
|
+
/** Spread straight into `AgentComposer`'s `mention` prop. */
|
|
81
|
+
mention: ComposerMentionProp;
|
|
82
|
+
/** The files currently referenced by mentions in the composer's value —
|
|
83
|
+
* the send-body list (map through `fileMentionsToParts`). */
|
|
84
|
+
mentions: FileMention[];
|
|
85
|
+
/** Drop all currently-referenced mentions (e.g. after a successful send). */
|
|
86
|
+
clearMentions: () => void;
|
|
87
|
+
/** Force a re-fetch of the index right now, ignoring `refreshAfterMs` — for
|
|
88
|
+
* example right after the agent creates a file mid-session, so the next
|
|
89
|
+
* popover open sees it. Dedupes against an already-in-flight load rather
|
|
90
|
+
* than firing a second request. */
|
|
91
|
+
refresh: () => Promise<void>;
|
|
92
|
+
}
|
|
93
|
+
/** Resolve and manage file mention data with configurable fetching and state handling */
|
|
94
|
+
export declare function useFileMentions(options: UseFileMentionsOptions): UseFileMentionsResult;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Work-product review surfaces — the sandbox-ui-FREE half of the vertical:
|
|
3
|
+
*
|
|
4
|
+
* - {@link ReviewQueuePanel}: the practice/matters/campaign review queue over
|
|
5
|
+
* a `fetchQueue(cursor)` data port (the `AgentActivityPanel` shape).
|
|
6
|
+
* - {@link WorkProductCard}: the persisted `type:'work_product'` transcript
|
|
7
|
+
* anchor rendered inside `ChatMessages` — chat stays the driver surface.
|
|
8
|
+
* - {@link EvidenceLineageTable}: target → claim → source rows with
|
|
9
|
+
* click-through via an injected `resolveSourceUrl` (the
|
|
10
|
+
* `MessageAttachments.resolveFileUrl` pattern).
|
|
11
|
+
* - {@link ExceptionList} / {@link QualityCheckList}: severity-badged
|
|
12
|
+
* exception rows and pass/fail check rows.
|
|
13
|
+
* - {@link ProvenanceStamp}: profileHash prefix + runId + serving-model
|
|
14
|
+
* chips + the optional backtest slot ("182 cases · composite 0.81 ·
|
|
15
|
+
* trust PASS" — or "quality: unverified" when the trust gate failed).
|
|
16
|
+
*
|
|
17
|
+
* Anything hosting sandbox-ui (DiffView, CodeView, PillTabs) lives in
|
|
18
|
+
* `./work-product-react` instead — this module must stay importable without
|
|
19
|
+
* the optional sandbox-ui peer.
|
|
20
|
+
*/
|
|
21
|
+
import { parseReviewQueueItem, type ReviewQueueItem, type ReviewQueueState } from '../work-product/queue';
|
|
22
|
+
import type { EvidenceEntry, ExceptionEntry, ProfileBacktestSummary, QualityCheck, WorkProductPersistedPart, WorkProductProvenance, WorkProductStatus } from '../work-product/types';
|
|
23
|
+
export { parseReviewQueueItem };
|
|
24
|
+
export type { ReviewQueueItem, ReviewQueueState };
|
|
25
|
+
/** Human label for a queue state. */
|
|
26
|
+
export declare function reviewQueueStateLabel(state: ReviewQueueState): string;
|
|
27
|
+
/** Human label for a work-product status. */
|
|
28
|
+
export declare function workProductStatusLabel(status: WorkProductStatus): string;
|
|
29
|
+
/** Every persisted work-product anchor on one message, re-validated. */
|
|
30
|
+
export declare function workProductPartsFromMessageParts(parts: ReadonlyArray<Record<string, unknown>> | null | undefined): WorkProductPersistedPart[];
|
|
31
|
+
/** Properties for the transcript anchor card rendered in chat */
|
|
32
|
+
export interface WorkProductCardProps {
|
|
33
|
+
part: WorkProductPersistedPart;
|
|
34
|
+
/** Open the work product (queue detail / pane) — the card's only action. */
|
|
35
|
+
onOpen?: (part: WorkProductPersistedPart) => void;
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
/** The chat transcript anchor card for one work-product version — a compact,
|
|
39
|
+
* system-authored pointer, not a parallel review surface. */
|
|
40
|
+
export declare function WorkProductCard({ part, onOpen, className }: WorkProductCardProps): import("react").JSX.Element;
|
|
41
|
+
/** One fetched page of queue items with an optional continuation cursor */
|
|
42
|
+
export interface ReviewQueuePage {
|
|
43
|
+
items: ReviewQueueItem[];
|
|
44
|
+
/** Opaque continuation token; absent ⇒ no further pages. */
|
|
45
|
+
nextCursor?: string;
|
|
46
|
+
}
|
|
47
|
+
/** Properties for the review queue panel over a fetch data port */
|
|
48
|
+
export interface ReviewQueuePanelProps {
|
|
49
|
+
/** Data port — fetch one page of queue items (the projection's output,
|
|
50
|
+
* re-validated here at the JSON boundary). */
|
|
51
|
+
fetchQueue: (cursor?: string) => Promise<ReviewQueuePage>;
|
|
52
|
+
/** Open one queue item (navigate to its thread / detail pane). */
|
|
53
|
+
onSelect?: (item: ReviewQueueItem) => void;
|
|
54
|
+
title?: string;
|
|
55
|
+
emptyLabel?: string;
|
|
56
|
+
className?: string;
|
|
57
|
+
}
|
|
58
|
+
/** Merge a fetched page into held rows: dedupe by scopeKey, incoming wins,
|
|
59
|
+
* newest updatedAt first. Exported for tests. */
|
|
60
|
+
export declare function mergeReviewQueuePages(existing: ReviewQueueItem[], incoming: ReviewQueueItem[]): ReviewQueueItem[];
|
|
61
|
+
/** The workspace review queue — cursor-paged, refreshable, selection via
|
|
62
|
+
* callback. States, counts, and provenance render from the projection; the
|
|
63
|
+
* panel holds no domain logic. */
|
|
64
|
+
export declare function ReviewQueuePanel({ fetchQueue, onSelect, title, emptyLabel, className, }: ReviewQueuePanelProps): import("react").JSX.Element;
|
|
65
|
+
/** Properties for the evidence lineage table with source click-through */
|
|
66
|
+
export interface EvidenceLineageTableProps {
|
|
67
|
+
evidence: readonly EvidenceEntry[];
|
|
68
|
+
/** Resolve one entry's source document to an openable URL (signed
|
|
69
|
+
* object-store/vault download) — the `resolveFileUrl` pattern. Absent →
|
|
70
|
+
* sources render as plain refs without links. */
|
|
71
|
+
resolveSourceUrl?: (entry: EvidenceEntry) => string;
|
|
72
|
+
className?: string;
|
|
73
|
+
}
|
|
74
|
+
/** Target → claim → source lineage rows: the "every material value traceable
|
|
75
|
+
* to source evidence" surface. Each row names the artifact target, the
|
|
76
|
+
* claim, and the source document location supporting it. */
|
|
77
|
+
export declare function EvidenceLineageTable({ evidence, resolveSourceUrl, className }: EvidenceLineageTableProps): import("react").JSX.Element;
|
|
78
|
+
/** Properties for the severity-badged exception list */
|
|
79
|
+
export interface ExceptionListProps {
|
|
80
|
+
exceptions: readonly ExceptionEntry[];
|
|
81
|
+
className?: string;
|
|
82
|
+
}
|
|
83
|
+
/** Severity-badged exception rows with resolution state. */
|
|
84
|
+
export declare function ExceptionList({ exceptions, className }: ExceptionListProps): import("react").JSX.Element;
|
|
85
|
+
/** Properties for the pass/fail quality check list */
|
|
86
|
+
export interface QualityCheckListProps {
|
|
87
|
+
checks: readonly QualityCheck[];
|
|
88
|
+
className?: string;
|
|
89
|
+
}
|
|
90
|
+
/** Pass/fail quality-check rows tagged with their source (agent self-report,
|
|
91
|
+
* platform gate, judge ensemble). */
|
|
92
|
+
export declare function QualityCheckList({ checks, className }: QualityCheckListProps): import("react").JSX.Element;
|
|
93
|
+
/** Properties for the provenance stamp with the optional backtest slot */
|
|
94
|
+
export interface ProvenanceStampProps {
|
|
95
|
+
provenance: Pick<WorkProductProvenance, 'profileHash' | 'runId' | 'servingModels'> & Partial<Pick<WorkProductProvenance, 'costUsd' | 'producedAt'>>;
|
|
96
|
+
/** The product-resolved backtest summary for this profile hash. When its
|
|
97
|
+
* trust gate failed, the composite renders as "quality: unverified" —
|
|
98
|
+
* never a naked number. */
|
|
99
|
+
backtest?: ProfileBacktestSummary;
|
|
100
|
+
className?: string;
|
|
101
|
+
}
|
|
102
|
+
/** The audit line a reviewer approves against: which configuration produced
|
|
103
|
+
* this document, what served it, and how that configuration measured on its
|
|
104
|
+
* backtest. */
|
|
105
|
+
export declare function ProvenanceStamp({ provenance, backtest, className }: ProvenanceStampProps): import("react").JSX.Element;
|