@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,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The React half of the motion primitives that ship in `src/theme/tokens.css`.
|
|
3
|
+
*
|
|
4
|
+
* The stylesheet owns every keyframe, duration and easing, and that is the
|
|
5
|
+
* whole point: a component that writes its own timing is invisible to the
|
|
6
|
+
* reduced-motion collapse at `:root`, so "it writes its own timing" and "it
|
|
7
|
+
* ignores reduced motion" are the same defect. The one thing CSS cannot supply
|
|
8
|
+
* is WHERE in a group a row sits, which is per-element data — hence these two
|
|
9
|
+
* helpers and nothing else.
|
|
10
|
+
*/
|
|
11
|
+
import { type CSSProperties } from 'react';
|
|
12
|
+
/**
|
|
13
|
+
* Position in a staggered `.agent-arrive` group. `--stagger-index` is a custom
|
|
14
|
+
* property and `CSSProperties` has no index signature for one, so the cast is
|
|
15
|
+
* the only way to hand React a value tokens.css already defines (it declares
|
|
16
|
+
* the property with a `0` default and caps the delay at 8 steps internally, so
|
|
17
|
+
* a long list never opens with a multi-second cascade).
|
|
18
|
+
*
|
|
19
|
+
* Use it directly only where the group's order is FIXED once rendered — an
|
|
20
|
+
* ask's option rows, a turn's append-only tool segments. A list that can
|
|
21
|
+
* re-sort wants {@link useArrivalStyle}.
|
|
22
|
+
*
|
|
23
|
+
* `base` merges a caller's own style, because a row that carries layout of its
|
|
24
|
+
* own would otherwise have to spread the two itself at every call site, and the
|
|
25
|
+
* spread order matters: the index must win, or a stale `--stagger-index` on the
|
|
26
|
+
* base silently overrides the position being asked for.
|
|
27
|
+
*/
|
|
28
|
+
export declare function staggerStyle(index: number, base?: CSSProperties): CSSProperties;
|
|
29
|
+
/**
|
|
30
|
+
* The same style, frozen at the row's first render.
|
|
31
|
+
*
|
|
32
|
+
* A settled `.agent-arrive` is finished, not inert: `animation-delay` is part
|
|
33
|
+
* of its timing, so handing an already-arrived row a LARGER delay pushes it
|
|
34
|
+
* back into the animation's before-phase and it plays again. Any list that
|
|
35
|
+
* re-sorts does exactly that — `mergeActivityPages` sorts newest-first, so one
|
|
36
|
+
* newer run landing on a refresh shifts every row's index by one and the whole
|
|
37
|
+
* panel would re-animate because nothing about it changed. Freezing the index
|
|
38
|
+
* at mount makes the arrival a property of ARRIVING rather than of the row's
|
|
39
|
+
* current position, which is the difference between choreography and flicker.
|
|
40
|
+
*
|
|
41
|
+
* Rules of hooks: a row that needs this is a component, not a `.map` body.
|
|
42
|
+
*/
|
|
43
|
+
export declare function useArrivalStyle(index: number): CSSProperties;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pure half of the provenance affordance: what kind of claim a value is,
|
|
3
|
+
* what a reader should DO about it, and what has to be SAID when its origin
|
|
4
|
+
* cannot be shown.
|
|
5
|
+
*
|
|
6
|
+
* Zero React, zero DOM — a loader or a worker can decide a value's standing
|
|
7
|
+
* before it reaches a screen, and `./provenance`'s `ProvenanceValue` renders
|
|
8
|
+
* exactly what these functions decide.
|
|
9
|
+
*
|
|
10
|
+
* The distinction the module exists to hold: a person typing a number, a
|
|
11
|
+
* document carrying it, a formula producing it, and a model claiming it are
|
|
12
|
+
* four different kinds of evidence. Rendered as one grey caption they are
|
|
13
|
+
* indistinguishable, which is how an unverified model assertion reads to a
|
|
14
|
+
* reviewer as a transcribed fact.
|
|
15
|
+
*
|
|
16
|
+
* Every domain word is a caller parameter: no field names, no document kinds,
|
|
17
|
+
* and no confidence policy beyond a default the product overrides.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* How a value came to exist. Four kinds, never interchangeable:
|
|
21
|
+
*
|
|
22
|
+
* - `extracted` — read out of a document or message the product can open.
|
|
23
|
+
* - `entered` — a person typed or confirmed it.
|
|
24
|
+
* - `computed` — produced from other values, each carrying its own provenance.
|
|
25
|
+
* - `asserted` — the agent stated it, with nothing outside the model behind it.
|
|
26
|
+
*/
|
|
27
|
+
export type ProvenanceBasis = 'extracted' | 'entered' | 'computed' | 'asserted';
|
|
28
|
+
/** Every basis, in the order a legend should list them. */
|
|
29
|
+
export declare const PROVENANCE_BASES: readonly ProvenanceBasis[];
|
|
30
|
+
/** The words one basis is rendered and announced with. */
|
|
31
|
+
export interface ProvenanceBasisMeta {
|
|
32
|
+
/** Marker text next to the value — short, and never only a colour. */
|
|
33
|
+
label: string;
|
|
34
|
+
/** One plain sentence naming what kind of claim this is. */
|
|
35
|
+
meaning: string;
|
|
36
|
+
/** What a reader can hold the value against, or `null` when nothing outside
|
|
37
|
+
* the model can. `null` is what makes an `asserted` value uncertifiable at
|
|
38
|
+
* any confidence. */
|
|
39
|
+
checkableAgainst: string | null;
|
|
40
|
+
}
|
|
41
|
+
/** Words for one basis. */
|
|
42
|
+
export declare function provenanceBasisMeta(basis: ProvenanceBasis): ProvenanceBasisMeta;
|
|
43
|
+
/** Whether a source could be resolved. `ready` is the default for a source that
|
|
44
|
+
* says nothing. */
|
|
45
|
+
export type ProvenanceSourceStatus = 'ready' | 'loading' | 'unavailable';
|
|
46
|
+
/** One thing a value came from. A `label` is mandatory because an unnamed
|
|
47
|
+
* source is the same as no source. */
|
|
48
|
+
export interface ProvenanceSource {
|
|
49
|
+
/** What the source IS, in the reader's words: "Form W-2 (Acme Corp)",
|
|
50
|
+
* "Dana Whitfield", "Engagement letter". */
|
|
51
|
+
label: string;
|
|
52
|
+
/** The text in the source that carries the value. */
|
|
53
|
+
quote?: string;
|
|
54
|
+
/** Position inside the source — a page, a line, a span, a timestamp. The
|
|
55
|
+
* caller's words; nothing here parses it. */
|
|
56
|
+
locator?: string;
|
|
57
|
+
/** Click-through target. Absent → the source is named but not openable. */
|
|
58
|
+
href?: string;
|
|
59
|
+
/** Defaults to `ready`. */
|
|
60
|
+
status?: ProvenanceSourceStatus;
|
|
61
|
+
/** Why an `unavailable` source cannot be opened, in one sentence. */
|
|
62
|
+
unavailableReason?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* What the reader should DO about a value — the only form confidence takes on
|
|
66
|
+
* screen. "89% confidence" names no next move; these three do.
|
|
67
|
+
*
|
|
68
|
+
* - `settled` — nothing to do.
|
|
69
|
+
* - `check` — open the source and confirm before relying on it.
|
|
70
|
+
* - `confirm` — a person has to confirm the value before it is used.
|
|
71
|
+
*/
|
|
72
|
+
export type ProvenanceStanding = 'settled' | 'check' | 'confirm';
|
|
73
|
+
/** The words one standing is rendered and announced with. */
|
|
74
|
+
export interface ProvenanceStandingMeta {
|
|
75
|
+
/** Short state label. */
|
|
76
|
+
label: string;
|
|
77
|
+
/** The next move, as a sentence a person can follow. */
|
|
78
|
+
action: string;
|
|
79
|
+
}
|
|
80
|
+
/** Words for one standing. */
|
|
81
|
+
export declare function provenanceStandingMeta(standing: ProvenanceStanding): ProvenanceStandingMeta;
|
|
82
|
+
/** The weaker of two standings — `confirm` beats `check` beats `settled`. */
|
|
83
|
+
export declare function weakerProvenanceStanding(a: ProvenanceStanding, b: ProvenanceStanding): ProvenanceStanding;
|
|
84
|
+
/**
|
|
85
|
+
* Where a product draws its confidence lines. These are a POLICY, not a truth:
|
|
86
|
+
* a number a model reports about itself means different things per surface, so
|
|
87
|
+
* the thresholds are a parameter and the number itself never reaches the screen.
|
|
88
|
+
*/
|
|
89
|
+
export interface ProvenanceConfidencePolicy {
|
|
90
|
+
/** At or above this, a value is `settled`. */
|
|
91
|
+
settledAtOrAbove: number;
|
|
92
|
+
/** At or above this (and below `settledAtOrAbove`), a value is `check`.
|
|
93
|
+
* Below it, `confirm`. */
|
|
94
|
+
checkAtOrAbove: number;
|
|
95
|
+
}
|
|
96
|
+
/** The starting policy. Products with a different tolerance pass their own. */
|
|
97
|
+
export declare const DEFAULT_PROVENANCE_CONFIDENCE_POLICY: ProvenanceConfidencePolicy;
|
|
98
|
+
/** A value, where it came from, and — when it was computed — the provenanced
|
|
99
|
+
* values it came from. The `inputs` field is what makes the shape compose:
|
|
100
|
+
* a computed value's provenance IS its inputs. */
|
|
101
|
+
export interface ProvenanceRecord {
|
|
102
|
+
/** The value as the reader should see it, already formatted. An empty string
|
|
103
|
+
* is a missing value and renders as one, never as blank space. */
|
|
104
|
+
display: string;
|
|
105
|
+
/** What the value IS ("Wages", "Filing deadline"). Optional at the top level,
|
|
106
|
+
* where the surface around it usually says; rendered for every composed
|
|
107
|
+
* input, where nothing else names them. */
|
|
108
|
+
label?: string;
|
|
109
|
+
basis: ProvenanceBasis;
|
|
110
|
+
/** Where it came from. An `extracted` value without one is a gap, not a
|
|
111
|
+
* detail. */
|
|
112
|
+
sources?: readonly ProvenanceSource[];
|
|
113
|
+
/** The provenanced values a `computed` value was produced from. */
|
|
114
|
+
inputs?: readonly ProvenanceRecord[];
|
|
115
|
+
/** How the inputs combine, in the caller's words ("wages + interest"). */
|
|
116
|
+
derivation?: string;
|
|
117
|
+
/** 0–1. Never rendered as a number — it selects a standing. */
|
|
118
|
+
confidence?: number;
|
|
119
|
+
/** Overrides the standing confidence and basis would produce — a reviewer
|
|
120
|
+
* approved it, a gate failed. It can only make a value WEAKER: the
|
|
121
|
+
* structural floors below still apply, so a product cannot mark a value
|
|
122
|
+
* settled that has no origin on file. */
|
|
123
|
+
standing?: ProvenanceStanding;
|
|
124
|
+
}
|
|
125
|
+
/** The standing a bare confidence maps to under a policy. */
|
|
126
|
+
export declare function standingFromConfidence(confidence: number, policy?: ProvenanceConfidencePolicy): ProvenanceStanding;
|
|
127
|
+
/** Something missing that the reader has to be TOLD about, because the value
|
|
128
|
+
* renders either way and a bare number reads as a fact. */
|
|
129
|
+
export type ProvenanceGapKind = 'no-source' | 'no-inputs' | 'unavailable-source';
|
|
130
|
+
/** One stated gap. `message` is rendered verbatim. */
|
|
131
|
+
export interface ProvenanceGap {
|
|
132
|
+
kind: ProvenanceGapKind;
|
|
133
|
+
message: string;
|
|
134
|
+
/** The source that could not be resolved (`unavailable-source` only). */
|
|
135
|
+
source?: ProvenanceSource;
|
|
136
|
+
}
|
|
137
|
+
/** The sentence for a source that is not `ready`, or `null` when it is. One
|
|
138
|
+
* source of this copy, so the row and the gap list never disagree. */
|
|
139
|
+
export declare function describeProvenanceSourceStatus(source: ProvenanceSource): string | null;
|
|
140
|
+
/**
|
|
141
|
+
* What this record cannot show, at its own level. Inputs are not walked: every
|
|
142
|
+
* composed input renders its own gaps next to its own value, where a reader can
|
|
143
|
+
* act on them.
|
|
144
|
+
*/
|
|
145
|
+
export declare function provenanceGaps(record: ProvenanceRecord): ProvenanceGap[];
|
|
146
|
+
/** The sources still resolving — rendered as their own state, never as an
|
|
147
|
+
* absence. A load in flight is not a missing source. */
|
|
148
|
+
export declare function loadingProvenanceSources(record: ProvenanceRecord): ProvenanceSource[];
|
|
149
|
+
/**
|
|
150
|
+
* This record's own standing, ignoring its inputs.
|
|
151
|
+
*
|
|
152
|
+
* The order is: start from the explicit standing, else from confidence, else
|
|
153
|
+
* from the basis — then apply every structural floor, taking the WEAKEST. The
|
|
154
|
+
* floors are what a caller cannot talk its way out of:
|
|
155
|
+
*
|
|
156
|
+
* - an `asserted` value never reaches `settled` (a model's own confidence
|
|
157
|
+
* cannot certify the model's claim — there is nothing to check it against),
|
|
158
|
+
* - a `no-source` / `no-inputs` gap forces `confirm` (a value dressed as
|
|
159
|
+
* evidence with no evidence behind it is worse than an open guess),
|
|
160
|
+
* - an unopenable source forces `check` (the value may be right; the reader
|
|
161
|
+
* just cannot confirm it).
|
|
162
|
+
*/
|
|
163
|
+
export declare function resolveProvenanceStanding(record: ProvenanceRecord, policy?: ProvenanceConfidencePolicy): ProvenanceStanding;
|
|
164
|
+
/**
|
|
165
|
+
* The standing a reader should see: this record's own, weakened by every value
|
|
166
|
+
* it was computed from, however deep.
|
|
167
|
+
*
|
|
168
|
+
* A total is only as trustworthy as the weakest number in it. Rendering the
|
|
169
|
+
* parent's own standing instead is how an exact sum of one document figure and
|
|
170
|
+
* one model guess presents as traced.
|
|
171
|
+
*
|
|
172
|
+
* Cycle-safe: a record reachable from itself is counted once.
|
|
173
|
+
*/
|
|
174
|
+
export declare function rollUpProvenanceStanding(record: ProvenanceRecord, policy?: ProvenanceConfidencePolicy, seen?: Set<ProvenanceRecord>): ProvenanceStanding;
|
|
175
|
+
/**
|
|
176
|
+
* One plain sentence naming where the value came from — the panel's first line
|
|
177
|
+
* and part of what a screen reader announces. It states the absence when there
|
|
178
|
+
* is one, so no code path produces silence.
|
|
179
|
+
*/
|
|
180
|
+
export declare function describeProvenance(record: ProvenanceRecord): string;
|
|
181
|
+
/**
|
|
182
|
+
* The move THIS value's reader can actually make.
|
|
183
|
+
*
|
|
184
|
+
* `provenanceStandingMeta().action` is the generic sentence for a standing;
|
|
185
|
+
* this is the one that accounts for what is on file. "Open the source and
|
|
186
|
+
* confirm it" is a dead instruction on a value that has no source — an action
|
|
187
|
+
* a reader cannot perform is the same defect as no action at all.
|
|
188
|
+
*/
|
|
189
|
+
export declare function provenanceNextMove(record: ProvenanceRecord, standing: ProvenanceStanding, policy?: ProvenanceConfidencePolicy): string;
|
|
190
|
+
/**
|
|
191
|
+
* The accessible name of the disclosure control: the value, how it came to
|
|
192
|
+
* exist, and — unless there is nothing to do — the next move. This is the
|
|
193
|
+
* whole affordance for someone who never sees the colour.
|
|
194
|
+
*/
|
|
195
|
+
export declare function provenanceTriggerLabel(record: ProvenanceRecord, standing: ProvenanceStanding): string;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ProvenanceValue` — one value rendered so its origin is discoverable without
|
|
3
|
+
* navigating away, and openable when there is something to open.
|
|
4
|
+
*
|
|
5
|
+
* This is the affordance three verticals each rebuilt: tax renders a source
|
|
6
|
+
* quote under an expanded return line, legal renders authorities under a
|
|
7
|
+
* finding, the record grid renders a per-cell marker. Same product promise,
|
|
8
|
+
* three vocabularies, three sets of gaps.
|
|
9
|
+
*
|
|
10
|
+
* What the primitive holds that a hand-rolled caption does not:
|
|
11
|
+
*
|
|
12
|
+
* 1. The four bases render differently — a person's entry and a model's
|
|
13
|
+
* assertion are never the same pixels. Each carries its own glyph AND its
|
|
14
|
+
* own words, so the distinction survives greyscale and a screen reader.
|
|
15
|
+
* 2. It COMPOSES. A computed value's provenance is its inputs, and each input
|
|
16
|
+
* is itself a `ProvenanceValue` with its own disclosure.
|
|
17
|
+
* 3. Confidence renders as the next move ("Check the source"), never as a
|
|
18
|
+
* percentage a reader cannot act on.
|
|
19
|
+
* 4. The disclosure is a real button — keyboard reachable, `aria-expanded`,
|
|
20
|
+
* Escape closes and returns focus, a click outside dismisses, and opening
|
|
21
|
+
* one trail closes the one the reader left. Nothing here discloses on hover,
|
|
22
|
+
* and no fact lives only in a `title` attribute.
|
|
23
|
+
* 5. A source that is loading, unopenable, or absent SAYS so. There is no path
|
|
24
|
+
* through this component that renders a bare number.
|
|
25
|
+
*
|
|
26
|
+
* Layout: an inline-block block-level element, so put it in a table cell, a
|
|
27
|
+
* list item, or a card — not inside a `<p>`. Sandbox-ui-free, like the rest of
|
|
28
|
+
* `/web-react`; the model in `./provenance-model` is React-free.
|
|
29
|
+
*/
|
|
30
|
+
import { type ProvenanceBasis, type ProvenanceConfidencePolicy, type ProvenanceRecord, type ProvenanceSource } from './provenance-model';
|
|
31
|
+
export * from './provenance-model';
|
|
32
|
+
/** Properties for one provenanced value and its disclosure. */
|
|
33
|
+
export interface ProvenanceValueProps {
|
|
34
|
+
/** The value and where it came from. */
|
|
35
|
+
record: ProvenanceRecord;
|
|
36
|
+
/**
|
|
37
|
+
* Open one source in the product's own way (a document pane at the right
|
|
38
|
+
* page, a drawer, a route). Takes precedence over `href` when both are
|
|
39
|
+
* present, because a product that routes wants its router — a source with
|
|
40
|
+
* neither is named but not openable, which is a legitimate state and is
|
|
41
|
+
* rendered as such.
|
|
42
|
+
*/
|
|
43
|
+
onOpenSource?: (source: ProvenanceSource, record: ProvenanceRecord) => void;
|
|
44
|
+
/** Retry resolving an `unavailable` source. Absent → the failure is stated
|
|
45
|
+
* without a retry control, never swallowed. */
|
|
46
|
+
onRetrySource?: (source: ProvenanceSource, record: ProvenanceRecord) => void;
|
|
47
|
+
/** Where this product draws its confidence lines. */
|
|
48
|
+
confidencePolicy?: ProvenanceConfidencePolicy;
|
|
49
|
+
/**
|
|
50
|
+
* How many levels of composed inputs stay expandable. Past it an input still
|
|
51
|
+
* renders its value, its basis and its origin sentence — it just stops
|
|
52
|
+
* carrying its own disclosure, so a deep tree cannot run away and a record
|
|
53
|
+
* that reaches itself cannot recurse forever. Default 2.
|
|
54
|
+
*/
|
|
55
|
+
maxDepth?: number;
|
|
56
|
+
/** Open the disclosure on first render — for a review surface where the
|
|
57
|
+
* trail is the point. Several of these coexist: only a reader opening a
|
|
58
|
+
* trail closes another one. */
|
|
59
|
+
defaultOpen?: boolean;
|
|
60
|
+
/** What an empty `display` renders as. A blank cell is the defect this
|
|
61
|
+
* component exists to remove. */
|
|
62
|
+
missingValueLabel?: string;
|
|
63
|
+
className?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A value, its origin marker, and the disclosure that shows where it came
|
|
67
|
+
* from. The marker states the basis in words and, whenever there is something
|
|
68
|
+
* to do about the value, the next move — so the standing is legible at rest
|
|
69
|
+
* and does not depend on anyone opening the panel.
|
|
70
|
+
*/
|
|
71
|
+
export declare function ProvenanceValue({ record, onOpenSource, onRetrySource, confidencePolicy, maxDepth, defaultOpen, missingValueLabel, className, }: ProvenanceValueProps): import("react").JSX.Element;
|
|
72
|
+
/** Properties for the basis legend. */
|
|
73
|
+
export interface ProvenanceLegendProps {
|
|
74
|
+
/** Only the bases present on screen. Passing all four when only two appear
|
|
75
|
+
* teaches distinctions the reader cannot use. */
|
|
76
|
+
bases: readonly ProvenanceBasis[];
|
|
77
|
+
className?: string;
|
|
78
|
+
}
|
|
79
|
+
/** The marker key for a surface that renders several bases at once — a review
|
|
80
|
+
* pane, a grid, a return. Each row is the same glyph, tone and words the
|
|
81
|
+
* markers use, plus what the basis MEANS. */
|
|
82
|
+
export declare function ProvenanceLegend({ bases, className }: ProvenanceLegendProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider brand marks — real logo path data (simple-icons / SVG Logos, both
|
|
3
|
+
* CC0) inlined so the picker shows actual provider identity instead of
|
|
4
|
+
* colored-initial monograms. Providers without a usable mark fall back to a
|
|
5
|
+
* tinted monogram chip. Aliases (z-ai/zai, moonshot/moonshotai, deepseek_ai)
|
|
6
|
+
* normalize to one entry.
|
|
7
|
+
*/
|
|
8
|
+
import type { ReactNode } from 'react';
|
|
9
|
+
export interface ProviderLogoProps {
|
|
10
|
+
provider?: string;
|
|
11
|
+
size?: number;
|
|
12
|
+
}
|
|
13
|
+
/** Real brand mark when we have one; tinted monogram otherwise. */
|
|
14
|
+
export declare function ProviderLogo({ provider, size }: ProviderLogoProps): ReactNode;
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pure half of the editable record grid: the typed column vocabulary, the
|
|
3
|
+
* per-cell parse/validate rules, display + editor formatting, and the
|
|
4
|
+
* optimistic overlay a caller's rows are projected through.
|
|
5
|
+
*
|
|
6
|
+
* Zero React, zero DOM — a product can validate a row on a worker before it
|
|
7
|
+
* ever reaches storage, and the component in `./record-grid` renders exactly
|
|
8
|
+
* what these functions decide.
|
|
9
|
+
*
|
|
10
|
+
* Every domain word is a caller parameter: the module knows no column names,
|
|
11
|
+
* no currencies, no option sets. What it owns is the mechanism four verticals
|
|
12
|
+
* each re-derived — typed cells, an error a person can act on, and an
|
|
13
|
+
* optimistic edit that can be taken back.
|
|
14
|
+
*/
|
|
15
|
+
import type { ProvenanceBasis } from './provenance-model';
|
|
16
|
+
/** The value one cell can hold. `null` is "no value on file". */
|
|
17
|
+
export type RecordGridValue = string | number | boolean | null;
|
|
18
|
+
/** Typed outcome for one cell. Callers MUST inspect `succeeded` before reading
|
|
19
|
+
* `value`; nothing here throws. */
|
|
20
|
+
export type RecordGridCellOutcome = {
|
|
21
|
+
succeeded: true;
|
|
22
|
+
value: RecordGridValue;
|
|
23
|
+
} | {
|
|
24
|
+
succeeded: false;
|
|
25
|
+
error: string;
|
|
26
|
+
};
|
|
27
|
+
/** Typed outcome for a whole row of inputs (the add form). `cellErrors` is
|
|
28
|
+
* keyed by column id so each control can render its own message. */
|
|
29
|
+
export type RecordGridRowOutcome = {
|
|
30
|
+
succeeded: true;
|
|
31
|
+
value: Record<string, RecordGridValue>;
|
|
32
|
+
} | {
|
|
33
|
+
succeeded: false;
|
|
34
|
+
error: string;
|
|
35
|
+
cellErrors: Readonly<Record<string, string>>;
|
|
36
|
+
};
|
|
37
|
+
/** Build a cell success outcome. */
|
|
38
|
+
export declare function recordGridOk(value: RecordGridValue): RecordGridCellOutcome;
|
|
39
|
+
/** Build a cell failure outcome carrying the message shown next to the cell. */
|
|
40
|
+
export declare function recordGridFail(error: string): RecordGridCellOutcome;
|
|
41
|
+
/**
|
|
42
|
+
* How a value came to sit in a cell. Rendered as the provenance tone.
|
|
43
|
+
*
|
|
44
|
+
* A type alias of `./provenance-model`'s `ProvenanceBasis`, not a lookalike:
|
|
45
|
+
* two vocabularies for the same concept — a grid cell's origin — shipped one
|
|
46
|
+
* day apart and would have drifted the moment either one added a value. The
|
|
47
|
+
* grid gains `asserted` for free (a cell an agent claimed with nothing behind
|
|
48
|
+
* it), where the caller previously had no way to say that.
|
|
49
|
+
*/
|
|
50
|
+
export type RecordGridSourceBasis = ProvenanceBasis;
|
|
51
|
+
/**
|
|
52
|
+
* Where one cell's value came from. Optional on every row — a grid over data
|
|
53
|
+
* with no lineage renders identically without it.
|
|
54
|
+
*/
|
|
55
|
+
export interface RecordGridCellSource {
|
|
56
|
+
/** The text in the source that supports this value. */
|
|
57
|
+
quote?: string;
|
|
58
|
+
/** Human name of the source document, message, or system. */
|
|
59
|
+
label?: string;
|
|
60
|
+
/** Click-through to the source. */
|
|
61
|
+
href?: string;
|
|
62
|
+
/** Position inside the source: a page, a line, a span — the caller's words. */
|
|
63
|
+
locator?: string;
|
|
64
|
+
/** How the value got here. Absent renders as `asserted` — the weakest claim
|
|
65
|
+
* in the union — because a caller that stated no basis has established
|
|
66
|
+
* nothing about a document, and an omission must never read as one. */
|
|
67
|
+
basis?: RecordGridSourceBasis;
|
|
68
|
+
}
|
|
69
|
+
/** One option of a `select` column. */
|
|
70
|
+
export interface RecordGridSelectOption {
|
|
71
|
+
value: string;
|
|
72
|
+
label: string;
|
|
73
|
+
}
|
|
74
|
+
/** A cell is only editable, rendered, and validated when the column it depends
|
|
75
|
+
* on holds `equals`. This is how a nested sub-form (a vesting schedule behind
|
|
76
|
+
* a "has vesting" toggle) stays a set of flat, individually-typed columns. */
|
|
77
|
+
export interface RecordGridDependency {
|
|
78
|
+
column: string;
|
|
79
|
+
equals: RecordGridValue;
|
|
80
|
+
}
|
|
81
|
+
/** Fields every column kind carries. */
|
|
82
|
+
export interface RecordGridColumnBase {
|
|
83
|
+
/** Key into a row's `values` bag. */
|
|
84
|
+
id: string;
|
|
85
|
+
/** Column heading, and the accessible name of every control in the column. */
|
|
86
|
+
header: string;
|
|
87
|
+
/** Short hint rendered under the control in the add form. */
|
|
88
|
+
hint?: string;
|
|
89
|
+
/** An empty cell is rejected. */
|
|
90
|
+
required?: boolean;
|
|
91
|
+
/** Cells are editable unless this is `false`. */
|
|
92
|
+
editable?: boolean;
|
|
93
|
+
/** Cell alignment. Numeric kinds default to `right`. */
|
|
94
|
+
align?: 'left' | 'right';
|
|
95
|
+
/** Groups this column under a labelled sub-form in the add form. */
|
|
96
|
+
group?: string;
|
|
97
|
+
/** Only applicable when another column holds a given value. */
|
|
98
|
+
dependsOn?: RecordGridDependency;
|
|
99
|
+
/** Extra rule, run after the kind's own checks pass. Return the message to
|
|
100
|
+
* reject with, or `null` to accept. */
|
|
101
|
+
validate?: (value: RecordGridValue) => string | null;
|
|
102
|
+
/** Column summary rendered in the footer row. */
|
|
103
|
+
footerValue?: (rows: readonly RecordGridRow[]) => RecordGridValue;
|
|
104
|
+
}
|
|
105
|
+
/** Free text, optionally length- or pattern-constrained. */
|
|
106
|
+
export interface RecordGridTextColumn extends RecordGridColumnBase {
|
|
107
|
+
kind: 'text';
|
|
108
|
+
minLength?: number;
|
|
109
|
+
maxLength?: number;
|
|
110
|
+
pattern?: RegExp;
|
|
111
|
+
/** Message when `pattern` rejects. Without it the pattern source is shown. */
|
|
112
|
+
patternMessage?: string;
|
|
113
|
+
/** Render a textarea instead of a single-line input. */
|
|
114
|
+
multiline?: boolean;
|
|
115
|
+
}
|
|
116
|
+
/** A plain number. */
|
|
117
|
+
export interface RecordGridNumberColumn extends RecordGridColumnBase {
|
|
118
|
+
kind: 'number';
|
|
119
|
+
min?: number;
|
|
120
|
+
max?: number;
|
|
121
|
+
integer?: boolean;
|
|
122
|
+
/** Passed through to the editor's `step`. */
|
|
123
|
+
step?: number;
|
|
124
|
+
}
|
|
125
|
+
/** A money amount. The currency is a caller parameter — this module bakes no
|
|
126
|
+
* domain value, so a product with two currencies declares two columns. */
|
|
127
|
+
export interface RecordGridCurrencyColumn extends RecordGridColumnBase {
|
|
128
|
+
kind: 'currency';
|
|
129
|
+
/** ISO 4217 code, e.g. `USD`. */
|
|
130
|
+
currency: string;
|
|
131
|
+
min?: number;
|
|
132
|
+
max?: number;
|
|
133
|
+
/** Fraction digits for display. Defaults to the currency's own. */
|
|
134
|
+
fractionDigits?: number;
|
|
135
|
+
}
|
|
136
|
+
/** A calendar date held as `YYYY-MM-DD`; no time, no zone. */
|
|
137
|
+
export interface RecordGridDateColumn extends RecordGridColumnBase {
|
|
138
|
+
kind: 'date';
|
|
139
|
+
/** Earliest accepted date, `YYYY-MM-DD`. */
|
|
140
|
+
min?: string;
|
|
141
|
+
/** Latest accepted date, `YYYY-MM-DD`. */
|
|
142
|
+
max?: string;
|
|
143
|
+
}
|
|
144
|
+
/** One of a closed set of values. */
|
|
145
|
+
export interface RecordGridSelectColumn extends RecordGridColumnBase {
|
|
146
|
+
kind: 'select';
|
|
147
|
+
options: readonly RecordGridSelectOption[];
|
|
148
|
+
}
|
|
149
|
+
/** A checkbox. */
|
|
150
|
+
export interface RecordGridBooleanColumn extends RecordGridColumnBase {
|
|
151
|
+
kind: 'boolean';
|
|
152
|
+
/** Label for `true`. Defaults to `Yes`. */
|
|
153
|
+
trueLabel?: string;
|
|
154
|
+
/** Label for `false`. Defaults to `No`. */
|
|
155
|
+
falseLabel?: string;
|
|
156
|
+
}
|
|
157
|
+
/** Every column shape the grid renders. */
|
|
158
|
+
export type RecordGridColumn = RecordGridTextColumn | RecordGridNumberColumn | RecordGridCurrencyColumn | RecordGridDateColumn | RecordGridSelectColumn | RecordGridBooleanColumn;
|
|
159
|
+
/** One row: an id, a flat value bag keyed by column id, and optional per-cell
|
|
160
|
+
* provenance. A record-backed product maps its fold output straight onto
|
|
161
|
+
* this — one entry per cell, its quote and link in `sources`. */
|
|
162
|
+
export interface RecordGridRow {
|
|
163
|
+
id: string;
|
|
164
|
+
values: Readonly<Record<string, RecordGridValue>>;
|
|
165
|
+
/** Per-cell provenance, keyed by column id. */
|
|
166
|
+
sources?: Readonly<Record<string, RecordGridCellSource>>;
|
|
167
|
+
/** No cell in this row may be edited or deleted. */
|
|
168
|
+
readOnly?: boolean;
|
|
169
|
+
/** Accessible name for the row's own controls. Falls back to the first text
|
|
170
|
+
* or select column's value, then the row id. */
|
|
171
|
+
label?: string;
|
|
172
|
+
}
|
|
173
|
+
/** True when the column's dependency (if any) is satisfied by the row's other
|
|
174
|
+
* values. An inapplicable cell is never required, never validated, and never
|
|
175
|
+
* editable. */
|
|
176
|
+
export declare function isRecordGridCellApplicable(column: RecordGridColumn, values: Readonly<Record<string, RecordGridValue>>): boolean;
|
|
177
|
+
/** Value equality across the grid's value union, treating `undefined` as
|
|
178
|
+
* `null` so an absent key and an explicit null never read as a change. */
|
|
179
|
+
export declare function sameRecordGridValue(a: RecordGridValue | undefined, b: RecordGridValue | undefined): boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Turn what an editor control produced into a typed value. Syntax only —
|
|
182
|
+
* range, length, and membership are {@link validateRecordGridCell}'s job.
|
|
183
|
+
*/
|
|
184
|
+
export declare function parseRecordGridInput(column: RecordGridColumn, raw: string): RecordGridCellOutcome;
|
|
185
|
+
/**
|
|
186
|
+
* Check one already-typed value against its column. Returns the value the grid
|
|
187
|
+
* should store (empty text normalizes to `null`) or the message a person can
|
|
188
|
+
* act on.
|
|
189
|
+
*/
|
|
190
|
+
export declare function validateRecordGridCell(column: RecordGridColumn, value: RecordGridValue): RecordGridCellOutcome;
|
|
191
|
+
/** Parse editor text and validate it in one step — what a committing cell
|
|
192
|
+
* editor calls. */
|
|
193
|
+
export declare function readRecordGridCell(column: RecordGridColumn, raw: string): RecordGridCellOutcome;
|
|
194
|
+
/**
|
|
195
|
+
* Validate a whole value bag against the columns. Inapplicable cells (an
|
|
196
|
+
* unsatisfied `dependsOn`) are forced to `null` rather than carried, so a
|
|
197
|
+
* sub-form the user turned off cannot smuggle stale values into a write.
|
|
198
|
+
*/
|
|
199
|
+
export declare function validateRecordGridRow(columns: readonly RecordGridColumn[], values: Readonly<Record<string, RecordGridValue>>): RecordGridRowOutcome;
|
|
200
|
+
/** Display text for a cell. `null` renders as the empty string; the component
|
|
201
|
+
* decides what a missing value looks like. */
|
|
202
|
+
export declare function formatRecordGridValue(column: RecordGridColumn, value: RecordGridValue, locale?: string): string;
|
|
203
|
+
/** The text an editor control starts with — the raw value, never the formatted
|
|
204
|
+
* one, so committing an untouched cell is a no-op. */
|
|
205
|
+
export declare function recordGridEditorText(column: RecordGridColumn, value: RecordGridValue): string;
|
|
206
|
+
/** Accessible name for a row's own controls. */
|
|
207
|
+
export declare function recordGridRowLabel(columns: readonly RecordGridColumn[], row: RecordGridRow): string;
|
|
208
|
+
/** Sum a numeric column over the rows that hold a number. Rows with no value
|
|
209
|
+
* are absent from the sum, not zero — a total over three of five filled cells
|
|
210
|
+
* is the total of what is on file. */
|
|
211
|
+
export declare function sumRecordGridColumn(rows: readonly RecordGridRow[], columnId: string): number;
|
|
212
|
+
/**
|
|
213
|
+
* Edits the grid has applied locally but the caller's `rows` prop has not yet
|
|
214
|
+
* caught up with. Every field is what rollback removes: drop the entry and the
|
|
215
|
+
* caller's own data shows through again.
|
|
216
|
+
*/
|
|
217
|
+
export interface RecordGridOverlay {
|
|
218
|
+
/** rowId → columnId → optimistic value. */
|
|
219
|
+
updates: Readonly<Record<string, Readonly<Record<string, RecordGridValue>>>>;
|
|
220
|
+
/** Rows created locally, in insertion order. */
|
|
221
|
+
created: readonly RecordGridRow[];
|
|
222
|
+
/** Row ids removed locally. */
|
|
223
|
+
removed: readonly string[];
|
|
224
|
+
}
|
|
225
|
+
/** An overlay holding nothing. */
|
|
226
|
+
export declare const EMPTY_RECORD_GRID_OVERLAY: RecordGridOverlay;
|
|
227
|
+
/** The rows to render: caller rows minus local deletes, with local cell edits
|
|
228
|
+
* applied, then locally-created rows. */
|
|
229
|
+
export declare function projectRecordGridRows(rows: readonly RecordGridRow[], overlay: RecordGridOverlay): RecordGridRow[];
|
|
230
|
+
/** Record one optimistic cell edit. */
|
|
231
|
+
export declare function withRecordGridUpdate(overlay: RecordGridOverlay, rowId: string, columnId: string, value: RecordGridValue): RecordGridOverlay;
|
|
232
|
+
/** Take back one optimistic cell edit — the rollback path. */
|
|
233
|
+
export declare function withoutRecordGridUpdate(overlay: RecordGridOverlay, rowId: string, columnId: string): RecordGridOverlay;
|
|
234
|
+
/** Adopt a row the writer returned as canonical: for a locally-created row it
|
|
235
|
+
* replaces the draft; for an existing row it replaces the optimistic cells.
|
|
236
|
+
* Either way the draft's pending cell edits go with it — the canonical row IS
|
|
237
|
+
* the answer, and leaving an edit layered over it is how a grid keeps showing
|
|
238
|
+
* a value the server normalized away. */
|
|
239
|
+
export declare function withRecordGridServerRow(overlay: RecordGridOverlay, draftId: string, row: RecordGridRow): RecordGridOverlay;
|
|
240
|
+
/** Record an optimistic create. */
|
|
241
|
+
export declare function withRecordGridCreated(overlay: RecordGridOverlay, row: RecordGridRow): RecordGridOverlay;
|
|
242
|
+
/** Take back an optimistic create — the rollback path. Cell edits made against
|
|
243
|
+
* the draft go with it; the row they applied to no longer exists anywhere. */
|
|
244
|
+
export declare function withoutRecordGridCreated(overlay: RecordGridOverlay, rowId: string): RecordGridOverlay;
|
|
245
|
+
/** Record an optimistic delete. */
|
|
246
|
+
export declare function withRecordGridRemoved(overlay: RecordGridOverlay, rowId: string): RecordGridOverlay;
|
|
247
|
+
/** Take back an optimistic delete — the rollback path. */
|
|
248
|
+
export declare function withoutRecordGridRemoved(overlay: RecordGridOverlay, rowId: string): RecordGridOverlay;
|
|
249
|
+
/**
|
|
250
|
+
* Drop the overlay entries the caller's own rows have caught up with: a cell
|
|
251
|
+
* whose value now matches, a created row now present, a removed row now gone.
|
|
252
|
+
* Without this an overlay would mask every later refresh of the same cell.
|
|
253
|
+
*
|
|
254
|
+
* Returns the SAME overlay object when nothing settled, so a caller can prune
|
|
255
|
+
* on every render without looping.
|
|
256
|
+
*/
|
|
257
|
+
export declare function pruneRecordGridOverlay(rows: readonly RecordGridRow[], overlay: RecordGridOverlay): RecordGridOverlay;
|