@tangle-network/agent-app 0.45.54 → 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 +4 -3
- 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,291 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire + UI types for the in-app assistant panel. The wire shapes mirror the
|
|
3
|
+
* SSE contract emitted by `POST /v1/assistant/chat` (platform-api
|
|
4
|
+
* `routes/assistant.ts`). Drift here only mis-renders the client; the server
|
|
5
|
+
* is the source of truth for what it accepts and emits.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReactNode } from "react";
|
|
8
|
+
/** Define delivery modes for assistant interaction as either steering or queue */
|
|
9
|
+
export type AssistantDeliveryMode = "steering" | "queue";
|
|
10
|
+
/** Request body for `POST /api/v1/assistant/chat`. */
|
|
11
|
+
export interface ChatRequest {
|
|
12
|
+
message: string;
|
|
13
|
+
/** How to deliver text when a session may already be active. Defaults to steering. */
|
|
14
|
+
deliveryMode?: AssistantDeliveryMode;
|
|
15
|
+
/** Model slug to run this turn against; omit to use the server default. */
|
|
16
|
+
model?: string;
|
|
17
|
+
/** Omit to start a new thread; pass to continue an existing one. */
|
|
18
|
+
threadId?: string;
|
|
19
|
+
/** Per-turn idempotency key — guards against double-charge on retry. */
|
|
20
|
+
turnKey?: string;
|
|
21
|
+
}
|
|
22
|
+
/** Describe the structure of data representing a thread event with optional model information */
|
|
23
|
+
export interface ThreadEventData {
|
|
24
|
+
threadId: string;
|
|
25
|
+
turnId: string;
|
|
26
|
+
/** The model slug this turn ran against, when the server reports it. */
|
|
27
|
+
model?: string | null;
|
|
28
|
+
}
|
|
29
|
+
/** Define data structure representing a delta event with associated text content */
|
|
30
|
+
export interface DeltaEventData {
|
|
31
|
+
text: string;
|
|
32
|
+
}
|
|
33
|
+
/** A chunk of the model's reasoning/thinking, streamed BEFORE the answer for
|
|
34
|
+
* reasoning models. Surfaced as a dim "thinking" block so a long reasoning gap
|
|
35
|
+
* doesn't read as a frozen panel. Absent for non-reasoning models. */
|
|
36
|
+
export interface ReasoningEventData {
|
|
37
|
+
text: string;
|
|
38
|
+
}
|
|
39
|
+
/** Emitted when a read-only tool STARTS running, before its result. Lets the
|
|
40
|
+
* panel show live "running <tool>…" progress instead of a silent gap. */
|
|
41
|
+
export interface ToolCallEventData {
|
|
42
|
+
callId: string;
|
|
43
|
+
name: string;
|
|
44
|
+
/** The parsed arguments the agent invoked the tool with. Lets a renderer show
|
|
45
|
+
* exactly what was called. Omitted by servers predating the field. */
|
|
46
|
+
args?: Record<string, unknown>;
|
|
47
|
+
}
|
|
48
|
+
/** Describe event data emitted after a tool execution completes with success or error details */
|
|
49
|
+
export interface ToolResultEventData {
|
|
50
|
+
callId: string;
|
|
51
|
+
name: string;
|
|
52
|
+
ok: boolean;
|
|
53
|
+
output?: unknown;
|
|
54
|
+
error?: {
|
|
55
|
+
code: string;
|
|
56
|
+
message: string;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/** What kind of connection a requirement names — drives the card's label and
|
|
60
|
+
* connect target. "integration" is an OAuth/api-key connection on the
|
|
61
|
+
* integrations page; "github_app" is the GitHub App installed on the repo (the
|
|
62
|
+
* event source for a GitHub trigger), connected via the App install flow. */
|
|
63
|
+
export type ConnectionRequirementKind = "integration" | "github_app";
|
|
64
|
+
/** Names one requirement in the same list, by its (provider, kind) identity. */
|
|
65
|
+
export interface ConnectionRequirementRef {
|
|
66
|
+
provider: string;
|
|
67
|
+
kind: ConnectionRequirementKind;
|
|
68
|
+
}
|
|
69
|
+
/** A connection a proposed workflow references, and whether the user has it
|
|
70
|
+
* connected right now. Surfaced on an authoring proposal so the card can show
|
|
71
|
+
* what must be connected — and WHERE — before the workflow can be created. */
|
|
72
|
+
export interface ConnectionRequirement {
|
|
73
|
+
provider: string;
|
|
74
|
+
connected: boolean;
|
|
75
|
+
/** What must be connected. Absent on proposals predating the field — treated
|
|
76
|
+
* as "integration" by the card. */
|
|
77
|
+
kind?: ConnectionRequirementKind;
|
|
78
|
+
/** Where the user connects this requirement, supplied by the server (the
|
|
79
|
+
* GitHub App install URL is deploy config the client can't derive). Null when
|
|
80
|
+
* there's no link to offer (e.g. a github_app requirement on a deploy with no
|
|
81
|
+
* app slug); the card then shows the requirement without a connect link. */
|
|
82
|
+
connectUrl?: string | null;
|
|
83
|
+
/**
|
|
84
|
+
* Another requirement in the SAME list that must be satisfied before this one
|
|
85
|
+
* can be, supplied by the server. A GitHub App installation is claimed
|
|
86
|
+
* through the user's own GitHub OAuth token, so the install is refused while
|
|
87
|
+
* that connection is missing — the card withholds a connect that could only
|
|
88
|
+
* end that way, and names the step that comes first instead.
|
|
89
|
+
*
|
|
90
|
+
* The server lists a prerequisite BEFORE the requirement naming it. Absent on
|
|
91
|
+
* proposals predating the field, and on a requirement nothing blocks.
|
|
92
|
+
*/
|
|
93
|
+
prerequisite?: ConnectionRequirementRef | null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Outcome of a host-driven, in-place connect for a single proposal requirement
|
|
97
|
+
* (see {@link AssistantDockProps.onConnectRequirement}). The host owns the whole
|
|
98
|
+
* connect experience — an OAuth popup, an api-key entry modal, an app install,
|
|
99
|
+
* and any error surfacing — and the assistant stays agnostic to how it happens:
|
|
100
|
+
* the host reports back only whether the requirement is now satisfied, which the
|
|
101
|
+
* card uses to flip that requirement to connected without a reload. `connected:
|
|
102
|
+
* false` (a failed or cancelled connect) leaves the card unchanged so the user
|
|
103
|
+
* can retry.
|
|
104
|
+
*/
|
|
105
|
+
export interface ConnectRequirementResult {
|
|
106
|
+
connected: boolean;
|
|
107
|
+
}
|
|
108
|
+
/** Describe the data structure for events proposing tool usage with optional integration requirements */
|
|
109
|
+
export interface ToolProposalEventData {
|
|
110
|
+
/** Null only if the server has no proposal store wired (tools then unusable). */
|
|
111
|
+
proposalId: string | null;
|
|
112
|
+
callId: string;
|
|
113
|
+
name: string;
|
|
114
|
+
args: unknown;
|
|
115
|
+
/** Present on a workflow-authoring proposal: the integrations it references
|
|
116
|
+
* and their current connection status. Omitted for non-authoring tools. */
|
|
117
|
+
requirements?: ConnectionRequirement[];
|
|
118
|
+
}
|
|
119
|
+
/** Describe usage event data including tokens, cost, balance, duration, and replay status */
|
|
120
|
+
export interface UsageEventData {
|
|
121
|
+
promptTokens: number | null;
|
|
122
|
+
completionTokens: number | null;
|
|
123
|
+
costUsd: number | null;
|
|
124
|
+
balanceUsd: number | null;
|
|
125
|
+
/** Wall-clock duration of the turn in milliseconds, when the server measures
|
|
126
|
+
* it. Drives the renderer's tokens/sec figure. Omitted by older servers. */
|
|
127
|
+
durationMs?: number | null;
|
|
128
|
+
/** True when a completed turn was replayed from storage (no charge). */
|
|
129
|
+
replayed?: boolean;
|
|
130
|
+
}
|
|
131
|
+
/** Describe the data emitted when a process turn completes including status and optional flags */
|
|
132
|
+
export interface DoneEventData {
|
|
133
|
+
turnId: string;
|
|
134
|
+
status: string;
|
|
135
|
+
/** True when a mutating tool was proposed and is awaiting confirmation. */
|
|
136
|
+
proposed?: boolean;
|
|
137
|
+
/** True when the agentic loop hit its tool-round cap. */
|
|
138
|
+
capped?: boolean;
|
|
139
|
+
}
|
|
140
|
+
/** Describe error event data including code and message fields */
|
|
141
|
+
export interface ErrorEventData {
|
|
142
|
+
code: string;
|
|
143
|
+
message: string;
|
|
144
|
+
}
|
|
145
|
+
/** Discriminated union the stream reader hands to the reducer. */
|
|
146
|
+
export type AssistantStreamEvent = {
|
|
147
|
+
type: "thread";
|
|
148
|
+
data: ThreadEventData;
|
|
149
|
+
} | {
|
|
150
|
+
type: "delta";
|
|
151
|
+
data: DeltaEventData;
|
|
152
|
+
} | {
|
|
153
|
+
type: "reasoning";
|
|
154
|
+
data: ReasoningEventData;
|
|
155
|
+
} | {
|
|
156
|
+
type: "tool_call";
|
|
157
|
+
data: ToolCallEventData;
|
|
158
|
+
} | {
|
|
159
|
+
type: "tool_result";
|
|
160
|
+
data: ToolResultEventData;
|
|
161
|
+
} | {
|
|
162
|
+
type: "tool_proposal";
|
|
163
|
+
data: ToolProposalEventData;
|
|
164
|
+
} | {
|
|
165
|
+
type: "usage";
|
|
166
|
+
data: UsageEventData;
|
|
167
|
+
} | {
|
|
168
|
+
type: "done";
|
|
169
|
+
data: DoneEventData;
|
|
170
|
+
} | {
|
|
171
|
+
type: "error";
|
|
172
|
+
data: ErrorEventData;
|
|
173
|
+
};
|
|
174
|
+
/** A `tool` message is the inline activity chip for a read-only tool the agent
|
|
175
|
+
* ran during a turn (e.g. "Validating workflow… ✓"). */
|
|
176
|
+
export type ChatRole = "user" | "assistant" | "status" | "tool";
|
|
177
|
+
/** Live status of a tool-activity chip. */
|
|
178
|
+
export type ToolActivityStatus = "running" | "ok" | "failed";
|
|
179
|
+
/** The outcome of a finished read-only tool, retained on the chip so a renderer
|
|
180
|
+
* can show the result body (not just the name + status). Mirrors the
|
|
181
|
+
* `tool_result` event: a success carries the tool's `result`; a failure carries
|
|
182
|
+
* the error. Absent while the tool is still running. */
|
|
183
|
+
export type ToolOutcome = {
|
|
184
|
+
ok: true;
|
|
185
|
+
result?: unknown;
|
|
186
|
+
} | {
|
|
187
|
+
ok: false;
|
|
188
|
+
error?: {
|
|
189
|
+
code: string;
|
|
190
|
+
message: string;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* The result of a CONFIRMED mutating tool, retained on the resolving `status`
|
|
195
|
+
* message so a host can render it prominently (e.g. a one-time API-key reveal).
|
|
196
|
+
*
|
|
197
|
+
* SECURITY: `output` may carry a one-time secret (e.g. a freshly minted API
|
|
198
|
+
* key). It lives ONLY in the in-memory transcript for the session — the message
|
|
199
|
+
* transcript is deliberately never cached (see `persistence.ts`) and is never
|
|
200
|
+
* sent back to the model (a turn request carries only the new user text, see
|
|
201
|
+
* {@link ChatRequest}). So the secret is shown once and is gone on reload,
|
|
202
|
+
* matching how a dedicated create-key page reveals a key exactly once. A host
|
|
203
|
+
* renderer must uphold the same contract: reveal-on-demand, never persist it.
|
|
204
|
+
*/
|
|
205
|
+
export interface ConfirmedResult {
|
|
206
|
+
/** The confirmed tool's name (e.g. "create_api_key"). */
|
|
207
|
+
name: string;
|
|
208
|
+
/** The tool's raw output. May contain a one-time secret — see the type doc. */
|
|
209
|
+
output: unknown;
|
|
210
|
+
/** The arguments the action was confirmed with, for a renderer that needs them
|
|
211
|
+
* (e.g. the key's name). */
|
|
212
|
+
args?: unknown;
|
|
213
|
+
}
|
|
214
|
+
/** Define the structure and properties of a chat message including optional tool activity details */
|
|
215
|
+
export interface ChatMessage {
|
|
216
|
+
id: string;
|
|
217
|
+
role: ChatRole;
|
|
218
|
+
text: string;
|
|
219
|
+
/** Present only on `tool` messages — the activity's tool name, the arguments it
|
|
220
|
+
* was called with, its state, and (once finished) its outcome. */
|
|
221
|
+
tool?: {
|
|
222
|
+
name: string;
|
|
223
|
+
status: ToolActivityStatus;
|
|
224
|
+
args?: Record<string, unknown>;
|
|
225
|
+
outcome?: ToolOutcome;
|
|
226
|
+
};
|
|
227
|
+
/** Present only on a `status` message that resolved a confirmed mutating tool
|
|
228
|
+
* which returned a renderable result — carries that result so the transcript
|
|
229
|
+
* can render a host-supplied card (e.g. a one-time key reveal) next to the
|
|
230
|
+
* status line. See {@link ConfirmedResult} for the one-time-secret contract. */
|
|
231
|
+
result?: ConfirmedResult;
|
|
232
|
+
}
|
|
233
|
+
/** A mutating action the assistant proposed, awaiting the user's confirmation. */
|
|
234
|
+
export interface PendingProposal {
|
|
235
|
+
proposalId: string | null;
|
|
236
|
+
callId: string;
|
|
237
|
+
name: string;
|
|
238
|
+
args: unknown;
|
|
239
|
+
/** Integration requirements for a workflow-authoring proposal (each provider
|
|
240
|
+
* + whether it's connected); omitted for non-authoring proposals. */
|
|
241
|
+
requirements?: ConnectionRequirement[];
|
|
242
|
+
/** Inline error shown ON the card after a RETRYABLE confirm failure (an
|
|
243
|
+
* unconnected integration): the card stays so the user can connect and
|
|
244
|
+
* confirm again. Null/absent when the card has not failed a retry. */
|
|
245
|
+
retryError?: string | null;
|
|
246
|
+
}
|
|
247
|
+
/** Describe usage cost, balance, token counts, duration, and replay status for a settled turn */
|
|
248
|
+
export interface UsageInfo {
|
|
249
|
+
costUsd: number | null;
|
|
250
|
+
balanceUsd: number | null;
|
|
251
|
+
/** Token counts + wall-clock duration for the settled turn, when the server
|
|
252
|
+
* reports them — drive per-message tokens/sec + cost in a renderer. Optional
|
|
253
|
+
* so a consumer constructing this on the prior `{ costUsd, balanceUsd,
|
|
254
|
+
* replayed }` shape stays valid; a renderer treats a missing value as null. */
|
|
255
|
+
promptTokens?: number | null;
|
|
256
|
+
completionTokens?: number | null;
|
|
257
|
+
durationMs?: number | null;
|
|
258
|
+
replayed: boolean;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* The transcript slice handed to a host-supplied `renderTranscript` (see
|
|
262
|
+
* {@link AssistantPanelProps}). It lets a host swap ONLY the conversation
|
|
263
|
+
* rendering — to use its own message renderer — while the panel keeps owning the
|
|
264
|
+
* dock chrome, composer, model picker, history, transport, and proposal
|
|
265
|
+
* orchestration. The bound `renderProposal` returns the panel's own proposal
|
|
266
|
+
* card so the host can place it (e.g. inline after the proposing turn) without
|
|
267
|
+
* re-implementing the confirm/cancel flow.
|
|
268
|
+
*/
|
|
269
|
+
export interface AssistantTranscriptView {
|
|
270
|
+
messages: ChatMessage[];
|
|
271
|
+
/** The current turn's reasoning/thinking text, if any (streamed before the
|
|
272
|
+
* answer for reasoning models). */
|
|
273
|
+
reasoning: string | null;
|
|
274
|
+
/** Id of the assistant message currently accumulating deltas, if any. */
|
|
275
|
+
streamingId: string | null;
|
|
276
|
+
/** Model slug the current/most-recent turn ran against, or null. */
|
|
277
|
+
model: string | null;
|
|
278
|
+
/** True while a turn is streaming. */
|
|
279
|
+
isStreaming: boolean;
|
|
280
|
+
/** True while the agent is working but has produced no visible output yet
|
|
281
|
+
* (drives a "thinking" affordance). */
|
|
282
|
+
isThinking: boolean;
|
|
283
|
+
pendingProposals: PendingProposal[];
|
|
284
|
+
/** Cost/tokens/duration for the most recently settled turn, or null before any
|
|
285
|
+
* turn settles. Optional so a host predating the field stays a valid consumer;
|
|
286
|
+
* a renderer treats a missing value the same as null. */
|
|
287
|
+
usage?: UsageInfo | null;
|
|
288
|
+
/** The panel's bound proposal card for a pending proposal — render it where the
|
|
289
|
+
* confirm/cancel UI should appear. */
|
|
290
|
+
renderProposal: (proposal: PendingProposal) => ReactNode;
|
|
291
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
export interface StickToBottomOptions {
|
|
3
|
+
/** Auto-follow only applies while this is true (e.g. the chat view is shown,
|
|
4
|
+
* not the history view). */
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
/** A value that changes whenever streamed content grows or the turn's shape
|
|
7
|
+
* changes — the trigger to (re-)scroll to the bottom while pinned. */
|
|
8
|
+
contentSignature: string | number;
|
|
9
|
+
/** Current streaming turn id (null between turns). A null→id transition
|
|
10
|
+
* re-arms follow so a fresh response scrolls from the top. */
|
|
11
|
+
streamingId: string | null;
|
|
12
|
+
/** Current thread id (null before any thread loads). A change re-arms follow so
|
|
13
|
+
* switching threads lands at the newest content. */
|
|
14
|
+
threadId: string | null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Keep a scroll container pinned to its newest content as it streams, while
|
|
18
|
+
* yielding the instant the user scrolls up to read. It re-arms when the user
|
|
19
|
+
* returns to the bottom (via {@link onScroll}) or when a new turn/thread starts.
|
|
20
|
+
* Returns the `onScroll` handler to attach to the container.
|
|
21
|
+
*
|
|
22
|
+
* Extracted from the panel so the follow/yield/re-arm contract is unit-testable
|
|
23
|
+
* independent of the full component (jsdom doesn't compute scroll geometry, so a
|
|
24
|
+
* hook test mocks the element's `scrollHeight`/`clientHeight`/`scrollTop`).
|
|
25
|
+
*/
|
|
26
|
+
export declare function useStickToBottom(ref: RefObject<HTMLElement | null>, { enabled, contentSignature, streamingId, threadId }: StickToBottomOptions): {
|
|
27
|
+
onScroll: () => void;
|
|
28
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React binding for the assistant panel: owns the reducer, drives the chat SSE
|
|
3
|
+
* stream and the proposal-confirmation call, and persists the thread across
|
|
4
|
+
* reloads. All rendering decisions live in the pure reducer + presentation
|
|
5
|
+
* helpers; this hook is the glue between them and the network.
|
|
6
|
+
*/
|
|
7
|
+
import { type AssistantState } from "./reducer";
|
|
8
|
+
import type { AssistantDeliveryMode, ConnectionRequirement, ConnectRequirementResult, PendingProposal } from "./types";
|
|
9
|
+
/** Define options for configuring how the assistant sends messages */
|
|
10
|
+
export interface AssistantSendOptions {
|
|
11
|
+
deliveryMode?: AssistantDeliveryMode;
|
|
12
|
+
}
|
|
13
|
+
/** Host integration callbacks for {@link useAssistantChat}. */
|
|
14
|
+
export interface UseAssistantChatOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Called after a workflow-mutating tool (`create_workflow`, `author_workflow`,
|
|
17
|
+
* …) is confirmed successfully — the host re-fetches its workflow list so the
|
|
18
|
+
* result appears without a manual reload. Replaces the in-app cross-module
|
|
19
|
+
* signal the platform used.
|
|
20
|
+
*/
|
|
21
|
+
onWorkflowMutation?: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* Called when the user activates a proposal requirement's connect affordance.
|
|
24
|
+
* The host runs whatever connect flow it owns — an OAuth popup, an api-key
|
|
25
|
+
* modal, an app install — and resolves whether the requirement is now
|
|
26
|
+
* satisfied; the card then flips that requirement to connected. Host-agnostic:
|
|
27
|
+
* the assistant never learns how the connection is made, so any host (platform,
|
|
28
|
+
* sandbox, intelligence, …) can supply its own. When omitted, the card falls
|
|
29
|
+
* back to navigating the requirement's connect target (see
|
|
30
|
+
* {@link ProposalCardProps.navigate}).
|
|
31
|
+
*/
|
|
32
|
+
onConnectRequirement?: (requirement: ConnectionRequirement) => Promise<ConnectRequirementResult>;
|
|
33
|
+
}
|
|
34
|
+
/** Define the structure and behavior of an assistant chat session with state, model selection, and message handling */
|
|
35
|
+
export interface AssistantChat {
|
|
36
|
+
state: AssistantState;
|
|
37
|
+
/** Proposal ids whose confirmation is currently in flight (for disabling). */
|
|
38
|
+
confirmingIds: ReadonlySet<string>;
|
|
39
|
+
/** The user's selected model slug, or null to use the server default. */
|
|
40
|
+
selectedModel: string | null;
|
|
41
|
+
/** Choose the model for subsequent turns (persisted per user). */
|
|
42
|
+
setModel: (model: string | null) => void;
|
|
43
|
+
send: (message: string, options?: AssistantSendOptions) => void;
|
|
44
|
+
stop: () => void;
|
|
45
|
+
confirm: (proposal: PendingProposal) => Promise<void>;
|
|
46
|
+
cancel: (proposal: PendingProposal) => void;
|
|
47
|
+
/** True when the host supplied an in-place connect handler
|
|
48
|
+
* ({@link UseAssistantChatOptions.onConnectRequirement}); the proposal card
|
|
49
|
+
* uses this to offer in-place connect instead of navigating away. */
|
|
50
|
+
canConnectRequirement: boolean;
|
|
51
|
+
/** Run the host's in-place connect for one of a proposal's requirements and,
|
|
52
|
+
* on success, flip that requirement to connected on the card. Resolves (a
|
|
53
|
+
* no-op) when no host handler is set or the connect didn't complete. */
|
|
54
|
+
connectRequirement: (proposal: PendingProposal, requirement: ConnectionRequirement) => Promise<void>;
|
|
55
|
+
reset: () => void;
|
|
56
|
+
/** Open an existing thread from history, loading its transcript. */
|
|
57
|
+
switchThread: (threadId: string) => void;
|
|
58
|
+
/** True while a switched-to thread's transcript is loading — the composer is
|
|
59
|
+
* held closed until it resolves so a turn can't run against hidden context. */
|
|
60
|
+
restoring: boolean;
|
|
61
|
+
}
|
|
62
|
+
/** Manage assistant chat state and interactions for a given user ID with optional configurations */
|
|
63
|
+
export declare function useAssistantChat(userId: string | null, options?: UseAssistantChatOptions): AssistantChat;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The assistant's selectable models for the composer's picker. The list is
|
|
3
|
+
* deployment config (not per-user), so it is fetched once per transport and
|
|
4
|
+
* shared across panel mounts via a cache keyed by the `AssistantClient`.
|
|
5
|
+
*
|
|
6
|
+
* The cache has no TTL: it lives for the page session and is revalidated by a
|
|
7
|
+
* page refresh — acceptable for deployment-config data that changes only on a
|
|
8
|
+
* redeploy. An empty/failed fetch is NOT cached, so it retries on the next mount.
|
|
9
|
+
*
|
|
10
|
+
* Keyed by client so a host that swaps the transport (a tenant/origin/account
|
|
11
|
+
* change) never serves the previous client's catalog or skips the fetch for the
|
|
12
|
+
* new one. A WeakMap lets a discarded client's bucket be collected with it.
|
|
13
|
+
*
|
|
14
|
+
* Client-only by design (a `createRoot` SPA, no React SSR), so the cache lives
|
|
15
|
+
* in one browser tab and is never shared across server requests. Under Strict
|
|
16
|
+
* Mode's double-mount the two effect runs share the one in-flight fetch; the
|
|
17
|
+
* first run's `active = false` makes its callback a no-op, the second commits —
|
|
18
|
+
* dedup holds, no torn state.
|
|
19
|
+
*/
|
|
20
|
+
import type { AssistantModels } from "./client";
|
|
21
|
+
/** Resolve and return the current assistant models from the per-client cache with immediate client swap updates */
|
|
22
|
+
export declare function useAssistantModels(): AssistantModels;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The user's recent assistant chat threads for the history switcher. Unlike the
|
|
3
|
+
* model list (deployment config, fetched once), the thread list changes as the
|
|
4
|
+
* user chats, so it is fetched ON DEMAND — call `refresh()` to (re)load it; the
|
|
5
|
+
* panel does so when the history view opens and after a turn settles a new
|
|
6
|
+
* thread into being. It does NOT fetch on mount, so `threads` stays empty and
|
|
7
|
+
* `loaded` false until the first `refresh()`.
|
|
8
|
+
*
|
|
9
|
+
* Self-protective across account AND transport swaps. The list is tagged with the
|
|
10
|
+
* (user, client) it belongs to and is masked to empty on the SAME commit if that
|
|
11
|
+
* no longer matches the current props — so a swap never shows the prior scope's
|
|
12
|
+
* threads for even one frame. In flight, a late result is dropped if either the
|
|
13
|
+
* user or the client changed, and the request is aborted on the swap.
|
|
14
|
+
*
|
|
15
|
+
* A FAILED load is reported, not swallowed. `fetchThreads` answers a non-ok
|
|
16
|
+
* response, an unusable body or a thrown request with `null`; that used to end
|
|
17
|
+
* as `loaded: true` over an empty list, which renders identically to a user who
|
|
18
|
+
* has never chatted. `error` carries the reason so the history view can offer
|
|
19
|
+
* the retry instead — the `web-react/async` rule (a failed fetch cannot render
|
|
20
|
+
* as empty data) applied to this hook's own transport.
|
|
21
|
+
*/
|
|
22
|
+
import type { AssistantThreadSummary } from "./client";
|
|
23
|
+
/** Manage and interact with a list of assistant threads including loading, refreshing, and removing threads */
|
|
24
|
+
export interface AssistantThreads {
|
|
25
|
+
threads: AssistantThreadSummary[];
|
|
26
|
+
loading: boolean;
|
|
27
|
+
/** True once a fetch has settled at least once (drives empty-vs-loading copy). */
|
|
28
|
+
loaded: boolean;
|
|
29
|
+
/** Why the last load failed, or null. Non-null means the list on hand is stale
|
|
30
|
+
* or empty because the request FAILED — never because there is nothing to
|
|
31
|
+
* show. Cleared by the next successful load. */
|
|
32
|
+
error: string | null;
|
|
33
|
+
/** Load (or reload) the thread list. Must be called to populate `threads` —
|
|
34
|
+
* the hook never fetches on mount (the panel calls this when history opens). */
|
|
35
|
+
refresh: () => void;
|
|
36
|
+
/** Delete a thread. Optimistically drops it from the list (within the current
|
|
37
|
+
* owner scope); on failure the list is reloaded to restore the true state. A
|
|
38
|
+
* no-op resolving `{ ok: false }` when the client has no `deleteThread`. */
|
|
39
|
+
remove: (threadId: string) => Promise<{
|
|
40
|
+
ok: boolean;
|
|
41
|
+
}>;
|
|
42
|
+
/** Whether the configured client supports deletion — drives whether a host
|
|
43
|
+
* shows the delete affordance. */
|
|
44
|
+
canRemove: boolean;
|
|
45
|
+
}
|
|
46
|
+
/** Resolve and manage assistant threads state for a given user including pending deletions and refresh logic */
|
|
47
|
+
export declare function useAssistantThreads(userId: string | null): AssistantThreads;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persisted, user-adjustable presentation preferences for the assistant drawer:
|
|
3
|
+
* its width (drag-to-resize) and a font-size scale. Both survive reloads via
|
|
4
|
+
* localStorage and are clamped to sane bounds. Kept out of the components so the
|
|
5
|
+
* SSR-safe persistence and clamping live in one place and stay testable.
|
|
6
|
+
*/
|
|
7
|
+
/** Narrowest the drawer may be dragged — below this the chat is unusable. */
|
|
8
|
+
export declare const MIN_PANEL_WIDTH = 360;
|
|
9
|
+
/** Default drawer width — matches the previous fixed `max-w-md` (28rem). */
|
|
10
|
+
export declare const DEFAULT_PANEL_WIDTH = 448;
|
|
11
|
+
/** Font-size scale bounds and step for the A−/A+ control. 1 = the design
|
|
12
|
+
* default; the panel applies this as a CSS `zoom` on the transcript so the
|
|
13
|
+
* whole conversation scales uniformly. */
|
|
14
|
+
export declare const MIN_FONT_SCALE = 0.875;
|
|
15
|
+
export declare const MAX_FONT_SCALE = 1.5;
|
|
16
|
+
export declare const DEFAULT_FONT_SCALE = 1;
|
|
17
|
+
interface PanelWidth {
|
|
18
|
+
/** Current width in px. Apply as an inline `width` only on desktop. */
|
|
19
|
+
width: number;
|
|
20
|
+
/** Current max allowed width in px (viewport-derived; updates on resize).
|
|
21
|
+
* Exposed for an accurate `aria-valuemax` on the resize control. */
|
|
22
|
+
maxWidth: number;
|
|
23
|
+
/** Set an absolute width (clamped + persisted). Use on drag end / discrete
|
|
24
|
+
* changes — NOT on every drag tick. */
|
|
25
|
+
setWidth: (next: number) => void;
|
|
26
|
+
/** Set an absolute width (clamped, NOT persisted). Use during a live drag so
|
|
27
|
+
* the panel tracks the pointer without thrashing localStorage every tick. */
|
|
28
|
+
previewWidth: (next: number) => void;
|
|
29
|
+
/** Nudge by a delta (keyboard resize); clamped + persisted. */
|
|
30
|
+
nudgeWidth: (deltaPx: number) => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The drawer's persisted width. Initialized to the default so first render is
|
|
34
|
+
* stable; the stored value is read in an effect and applied after mount.
|
|
35
|
+
* Re-clamps on viewport resize so a stored width can never exceed the current
|
|
36
|
+
* window, and tracks the live max for the resize control's ARIA bounds.
|
|
37
|
+
*/
|
|
38
|
+
export declare function usePanelWidth(): PanelWidth;
|
|
39
|
+
interface FontScale {
|
|
40
|
+
scale: number;
|
|
41
|
+
increase: () => void;
|
|
42
|
+
decrease: () => void;
|
|
43
|
+
canIncrease: boolean;
|
|
44
|
+
canDecrease: boolean;
|
|
45
|
+
}
|
|
46
|
+
/** The panel's persisted font-size scale, with bounded A−/A+ controls. */
|
|
47
|
+
export declare function useFontScale(): FontScale;
|
|
48
|
+
/**
|
|
49
|
+
* Whether the viewport is at the `md` breakpoint or wider. The drawer is a
|
|
50
|
+
* full-screen sheet below `md` (no resize), and a width-constrained side panel
|
|
51
|
+
* at/above it. Defaults to `true` for SSR/first paint — the dialog only renders
|
|
52
|
+
* after a client interaction, by which point the effect has corrected it.
|
|
53
|
+
*/
|
|
54
|
+
export declare function useIsDesktop(): boolean;
|
|
55
|
+
export {};
|
package/dist/billing/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
/** The key-provisioning operations the key manager needs. Wire it from the
|
|
18
18
|
* platform via {@link createTcloudKeyProvisioner} rather than casting. */
|
|
19
|
-
interface KeyProvisioner {
|
|
19
|
+
export interface KeyProvisioner {
|
|
20
20
|
createKey(input: {
|
|
21
21
|
name: string;
|
|
22
22
|
product: string;
|
|
@@ -39,7 +39,7 @@ interface KeyProvisioner {
|
|
|
39
39
|
* union and whose budgets are `number | null`) is assignable bivariantly. The
|
|
40
40
|
* real SDK client satisfies this; pass it straight in.
|
|
41
41
|
*/
|
|
42
|
-
interface TcloudKeyClient {
|
|
42
|
+
export interface TcloudKeyClient {
|
|
43
43
|
createKey(opts: {
|
|
44
44
|
name: string;
|
|
45
45
|
product?: string;
|
|
@@ -66,9 +66,9 @@ interface TcloudKeyClient {
|
|
|
66
66
|
* per-key USD budget, expiry); this maps its shapes (`product` union,
|
|
67
67
|
* `number | null` budgets) onto the manager's contract (`null → undefined`).
|
|
68
68
|
*/
|
|
69
|
-
declare function createTcloudKeyProvisioner(client: TcloudKeyClient): KeyProvisioner;
|
|
69
|
+
export declare function createTcloudKeyProvisioner(client: TcloudKeyClient): KeyProvisioner;
|
|
70
70
|
/** A stored child-key record (the app's row, shape-normalized). */
|
|
71
|
-
interface WorkspaceKeyRecord {
|
|
71
|
+
export interface WorkspaceKeyRecord {
|
|
72
72
|
/** App row id (opaque). */
|
|
73
73
|
id: string;
|
|
74
74
|
keyId: string;
|
|
@@ -78,7 +78,7 @@ interface WorkspaceKeyRecord {
|
|
|
78
78
|
expiresAt: Date | null;
|
|
79
79
|
}
|
|
80
80
|
/** Persistence seam — the product implements this against its own D1 table. */
|
|
81
|
-
interface WorkspaceKeyStore {
|
|
81
|
+
export interface WorkspaceKeyStore {
|
|
82
82
|
/** Most-recent active key for the workspace, or null. */
|
|
83
83
|
getActive(workspaceId: string): Promise<WorkspaceKeyRecord | null>;
|
|
84
84
|
/** All active keys (to revoke priors on rotate). */
|
|
@@ -98,12 +98,12 @@ interface WorkspaceKeyStore {
|
|
|
98
98
|
markRevoked(id: string, now: Date): Promise<void>;
|
|
99
99
|
}
|
|
100
100
|
/** Secret encryption seam (the app's at-rest crypto). */
|
|
101
|
-
interface KeyCrypto {
|
|
101
|
+
export interface KeyCrypto {
|
|
102
102
|
encrypt(secret: string): Promise<string>;
|
|
103
103
|
decrypt(encrypted: string): Promise<string>;
|
|
104
104
|
}
|
|
105
105
|
/** Define configuration options for managing workspace keys including provisioning, storage, and cryptography */
|
|
106
|
-
interface WorkspaceKeyManagerOptions {
|
|
106
|
+
export interface WorkspaceKeyManagerOptions {
|
|
107
107
|
provisioner: KeyProvisioner;
|
|
108
108
|
store: WorkspaceKeyStore;
|
|
109
109
|
crypto: KeyCrypto;
|
|
@@ -115,7 +115,7 @@ interface WorkspaceKeyManagerOptions {
|
|
|
115
115
|
product?: string;
|
|
116
116
|
}
|
|
117
117
|
/** Describe usage and budget details for a workspace model key including expiration and exhaustion status */
|
|
118
|
-
interface WorkspaceModelKeyUsage {
|
|
118
|
+
export interface WorkspaceModelKeyUsage {
|
|
119
119
|
keyId: string;
|
|
120
120
|
budgetUsd: number;
|
|
121
121
|
budgetSpent: number;
|
|
@@ -124,7 +124,7 @@ interface WorkspaceModelKeyUsage {
|
|
|
124
124
|
exhausted: boolean;
|
|
125
125
|
}
|
|
126
126
|
/** Manage workspace keys by ensuring, rotating, and tracking usage of active child-key secrets */
|
|
127
|
-
interface WorkspaceKeyManager {
|
|
127
|
+
export interface WorkspaceKeyManager {
|
|
128
128
|
/** The workspace's active child-key secret, provisioning one if absent/expired. */
|
|
129
129
|
ensureKey(workspaceId: string, opts?: {
|
|
130
130
|
budgetUsd?: number;
|
|
@@ -141,25 +141,25 @@ interface WorkspaceKeyManager {
|
|
|
141
141
|
getUsage(workspaceId: string): Promise<WorkspaceModelKeyUsage | null>;
|
|
142
142
|
}
|
|
143
143
|
/** A user's resolved platform identity (from the app's SSO account store). */
|
|
144
|
-
interface PlatformIdentity {
|
|
144
|
+
export interface PlatformIdentity {
|
|
145
145
|
platformUserId: string;
|
|
146
146
|
/** The user's per-user platform API key (reads), or null when unlinked. */
|
|
147
147
|
apiKey: string | null;
|
|
148
148
|
}
|
|
149
149
|
/** Spendable balance for a platform user. */
|
|
150
|
-
interface PlatformBalanceInfo {
|
|
150
|
+
export interface PlatformBalanceInfo {
|
|
151
151
|
balance: number;
|
|
152
152
|
lifetimeSpent: number;
|
|
153
153
|
}
|
|
154
154
|
/** Per-product spend aggregate. */
|
|
155
|
-
interface PlatformProductUsage {
|
|
155
|
+
export interface PlatformProductUsage {
|
|
156
156
|
product: string | null;
|
|
157
157
|
totalSpent: number;
|
|
158
158
|
count: number;
|
|
159
159
|
}
|
|
160
160
|
/** Plan limits — a PARAMETER per product (dollar allowance, concurrency,
|
|
161
161
|
* overage policy). Never baked into the framework. */
|
|
162
|
-
interface PlanLimit {
|
|
162
|
+
export interface PlanLimit {
|
|
163
163
|
monthlyBalanceUsd: number;
|
|
164
164
|
concurrency: number;
|
|
165
165
|
overageAllowed: boolean;
|
|
@@ -170,7 +170,7 @@ interface PlanLimit {
|
|
|
170
170
|
* the deduct write is a service-token call naming the target user. This module
|
|
171
171
|
* never touches HTTP — it only sequences these calls.
|
|
172
172
|
*/
|
|
173
|
-
interface PlatformBillingClient<Plan extends string> {
|
|
173
|
+
export interface PlatformBillingClient<Plan extends string> {
|
|
174
174
|
/** Resolve the user's platform identity, or null when there is no SSO account. */
|
|
175
175
|
resolveIdentity(userId: string): Promise<PlatformIdentity | null>;
|
|
176
176
|
/** Subscription plan for the user (via their platform key). */
|
|
@@ -189,7 +189,7 @@ interface PlatformBillingClient<Plan extends string> {
|
|
|
189
189
|
}): Promise<void>;
|
|
190
190
|
}
|
|
191
191
|
/** Define shared billing state including user ID, plan, balances, concurrency, and overage permission */
|
|
192
|
-
interface SharedBillingState<Plan extends string> {
|
|
192
|
+
export interface SharedBillingState<Plan extends string> {
|
|
193
193
|
/** Platform user id, or null when the user has no Tangle SSO account. */
|
|
194
194
|
platformUserId: string | null;
|
|
195
195
|
plan: Plan;
|
|
@@ -200,7 +200,7 @@ interface SharedBillingState<Plan extends string> {
|
|
|
200
200
|
overageAllowed: boolean;
|
|
201
201
|
}
|
|
202
202
|
/** Define configuration options for managing platform balance based on billing plans */
|
|
203
|
-
interface PlatformBalanceManagerOptions<Plan extends string> {
|
|
203
|
+
export interface PlatformBalanceManagerOptions<Plan extends string> {
|
|
204
204
|
client: PlatformBillingClient<Plan>;
|
|
205
205
|
/** Plan → limits map (the product's pricing). */
|
|
206
206
|
planLimits: Record<Plan, PlanLimit>;
|
|
@@ -210,7 +210,7 @@ interface PlatformBalanceManagerOptions<Plan extends string> {
|
|
|
210
210
|
productSlug: string;
|
|
211
211
|
}
|
|
212
212
|
/** Manage user plans and balances including state retrieval, billing authorization, deduction, and usage tracking */
|
|
213
|
-
interface PlatformBalanceManager<Plan extends string> {
|
|
213
|
+
export interface PlatformBalanceManager<Plan extends string> {
|
|
214
214
|
/** Resolve the user's plan + balance. Unlinked or platform-outage users fail
|
|
215
215
|
* CLOSED: free plan, zero remaining balance — a billable run is never started
|
|
216
216
|
* against an unknown balance. */
|
|
@@ -236,8 +236,6 @@ interface PlatformBalanceManager<Plan extends string> {
|
|
|
236
236
|
}>;
|
|
237
237
|
}
|
|
238
238
|
/** Create a platform balance manager to handle user plan limits and state based on provided options */
|
|
239
|
-
declare function createPlatformBalanceManager<Plan extends string>(opts: PlatformBalanceManagerOptions<Plan>): PlatformBalanceManager<Plan>;
|
|
239
|
+
export declare function createPlatformBalanceManager<Plan extends string>(opts: PlatformBalanceManagerOptions<Plan>): PlatformBalanceManager<Plan>;
|
|
240
240
|
/** Create a workspace key manager that handles key provisioning and budget tracking */
|
|
241
|
-
declare function createWorkspaceKeyManager(opts: WorkspaceKeyManagerOptions): WorkspaceKeyManager;
|
|
242
|
-
|
|
243
|
-
export { type KeyCrypto, type KeyProvisioner, type PlanLimit, type PlatformBalanceInfo, type PlatformBalanceManager, type PlatformBalanceManagerOptions, type PlatformBillingClient, type PlatformIdentity, type PlatformProductUsage, type SharedBillingState, type TcloudKeyClient, type WorkspaceKeyManager, type WorkspaceKeyManagerOptions, type WorkspaceKeyRecord, type WorkspaceKeyStore, type WorkspaceModelKeyUsage, createPlatformBalanceManager, createTcloudKeyProvisioner, createWorkspaceKeyManager };
|
|
241
|
+
export declare function createWorkspaceKeyManager(opts: WorkspaceKeyManagerOptions): WorkspaceKeyManager;
|