@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,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RBAC access builders over the teams tables. `createWorkspaceAccess` and
|
|
3
|
+
* `createOrganizationAccess` close over the product's `db`, the tables from
|
|
4
|
+
* `createTeamTables`, and the product's `workspace` table, returning the exact
|
|
5
|
+
* `getWorkspaceAccess` / `requireWorkspaceAccess` / `listUserWorkspaces` /
|
|
6
|
+
* `getOrganizationAccess` / `requireOrganizationAccess` functions a consumer
|
|
7
|
+
* already calls — so adoption is a one-line import swap, every call site stays
|
|
8
|
+
* identical.
|
|
9
|
+
*
|
|
10
|
+
* Defense in depth: org owners/admins are workspace owners across the org;
|
|
11
|
+
* everyone else gets their explicit per-workspace role. Effective role is the
|
|
12
|
+
* fold in `resolveWorkspaceRole` (pure, from `../roles`). Every query pins
|
|
13
|
+
* `userId`, so a leaked id can never read across the tenancy boundary — it
|
|
14
|
+
* surfaces as "not found".
|
|
15
|
+
*
|
|
16
|
+
* Driver-agnostic: builders are awaited, never `.run()`/`.all()`, so
|
|
17
|
+
* better-sqlite3, D1, and libsql handles all behave identically.
|
|
18
|
+
*/
|
|
19
|
+
import type { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
|
|
20
|
+
import { type OrganizationRole, type WorkspaceRole } from '../roles';
|
|
21
|
+
import type { TeamParentTable } from './schema';
|
|
22
|
+
import type { OrganizationMemberRow, OrganizationRow, TeamTables } from './schema';
|
|
23
|
+
/** Any SQLite drizzle database — `any` erases driver-specific generics so
|
|
24
|
+
* better-sqlite3, D1, and libsql handles all fit. */
|
|
25
|
+
export type TeamDatabase = BaseSQLiteDatabase<'sync' | 'async', any, any>;
|
|
26
|
+
/**
|
|
27
|
+
* The product's workspace table, narrowed to the columns the access joins read.
|
|
28
|
+
* Adopters pass their real drizzle workspace table — it carries these columns
|
|
29
|
+
* (gtm's does); the type only asserts the minimum the joins touch.
|
|
30
|
+
*/
|
|
31
|
+
export interface WorkspaceAccessTable {
|
|
32
|
+
id: any;
|
|
33
|
+
organizationId: any;
|
|
34
|
+
name: any;
|
|
35
|
+
updatedAt: any;
|
|
36
|
+
}
|
|
37
|
+
/** Define options required to create access with database, tables, and workspace table references */
|
|
38
|
+
export interface CreateAccessOptions {
|
|
39
|
+
db: TeamDatabase;
|
|
40
|
+
tables: TeamTables;
|
|
41
|
+
/** The product's workspace table (the FK target passed to createTeamTables). */
|
|
42
|
+
workspaceTable: TeamParentTable & WorkspaceAccessTable;
|
|
43
|
+
}
|
|
44
|
+
/** Define access details including workspace data, organization info, member info, and role within workspace */
|
|
45
|
+
export interface WorkspaceAccess {
|
|
46
|
+
workspace: Record<string, unknown>;
|
|
47
|
+
organization: OrganizationRow;
|
|
48
|
+
organizationMember: OrganizationMemberRow;
|
|
49
|
+
role: WorkspaceRole;
|
|
50
|
+
}
|
|
51
|
+
/** Describe a user's workspace details including organization and role information */
|
|
52
|
+
export interface UserWorkspaceSummary extends Record<string, unknown> {
|
|
53
|
+
organizationId: string;
|
|
54
|
+
organizationName: string;
|
|
55
|
+
role: WorkspaceRole;
|
|
56
|
+
}
|
|
57
|
+
/** Define methods to retrieve and enforce user access permissions within workspaces */
|
|
58
|
+
export interface WorkspaceAccessApi {
|
|
59
|
+
getWorkspaceAccess(workspaceId: string, userId: string, minRole?: WorkspaceRole): Promise<WorkspaceAccess | null>;
|
|
60
|
+
requireWorkspaceAccess(workspaceId: string, userId: string, minRole?: WorkspaceRole): Promise<WorkspaceAccess>;
|
|
61
|
+
listUserWorkspaces(userId: string): Promise<UserWorkspaceSummary[]>;
|
|
62
|
+
}
|
|
63
|
+
/** Create workspace access API to manage user roles and permissions within a workspace */
|
|
64
|
+
export declare function createWorkspaceAccess(opts: CreateAccessOptions): WorkspaceAccessApi;
|
|
65
|
+
/** Define access details linking an organization, its member, and the member's role */
|
|
66
|
+
export interface OrganizationAccess {
|
|
67
|
+
organization: OrganizationRow;
|
|
68
|
+
member: OrganizationMemberRow;
|
|
69
|
+
role: OrganizationRole;
|
|
70
|
+
}
|
|
71
|
+
/** Define methods to retrieve and enforce user access levels within an organization */
|
|
72
|
+
export interface OrganizationAccessApi {
|
|
73
|
+
getOrganizationAccess(organizationId: string, userId: string, minRole?: OrganizationRole): Promise<OrganizationAccess | null>;
|
|
74
|
+
requireOrganizationAccess(organizationId: string, userId: string, minRole?: OrganizationRole): Promise<OrganizationAccess>;
|
|
75
|
+
}
|
|
76
|
+
/** Define options required to create access for an organization including database and tables */
|
|
77
|
+
export interface CreateOrganizationAccessOptions {
|
|
78
|
+
db: TeamDatabase;
|
|
79
|
+
tables: TeamTables;
|
|
80
|
+
}
|
|
81
|
+
/** Resolve organization access API with specified database and table options */
|
|
82
|
+
export declare function createOrganizationAccess(opts: CreateOrganizationAccessOptions): OrganizationAccessApi;
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Drizzle schema factory for the dedicated workspace-invitation table. Separate
|
|
3
|
+
* from `createTeamTables` on purpose: an app opts into the rich email-invitation
|
|
4
|
+
* lifecycle (status / expiry / resend / revoke / preview) by calling this, and an
|
|
5
|
+
* app that doesn't want it never grows the table — `createTeamTables`'s output and
|
|
6
|
+
* migrations stay untouched.
|
|
7
|
+
*
|
|
8
|
+
* The product owns the user and workspace tables; `organizations` comes from
|
|
9
|
+
* `createTeamTables`. Pass all three so the invitation's FKs wire into the same
|
|
10
|
+
* drizzle schema with real cascade semantics. Call this AFTER `createTeamTables`
|
|
11
|
+
* (so `organizations` exists) — the lazy `.references(() => ...)` closures make
|
|
12
|
+
* the ordering within one module safe.
|
|
13
|
+
*
|
|
14
|
+
* Columns / enums / indexes mirror creative-agent's validated hand-rolled table,
|
|
15
|
+
* so an app already running that table adopts this factory with no row rewrite.
|
|
16
|
+
*/
|
|
17
|
+
import type { TeamParentTable } from './schema';
|
|
4
18
|
/** Define options for creating a workspace invitation table with user, workspace, and organization references */
|
|
5
|
-
interface CreateWorkspaceInvitationTableOptions {
|
|
19
|
+
export interface CreateWorkspaceInvitationTableOptions {
|
|
6
20
|
/** The product's user table — `invitedByUserId` references `userTable.id`. */
|
|
7
21
|
userTable: TeamParentTable;
|
|
8
22
|
/** The product's workspace table — `workspaceId` references `workspaceTable.id`. */
|
|
@@ -11,12 +25,12 @@ interface CreateWorkspaceInvitationTableOptions {
|
|
|
11
25
|
organizationTable: TeamParentTable;
|
|
12
26
|
}
|
|
13
27
|
/** Build a workspace invitation table with defined columns and foreign key constraints */
|
|
14
|
-
declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationTableOptions): {
|
|
15
|
-
workspaceInvitations:
|
|
28
|
+
export declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationTableOptions): {
|
|
29
|
+
workspaceInvitations: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
16
30
|
name: "workspace_invitation";
|
|
17
31
|
schema: undefined;
|
|
18
32
|
columns: {
|
|
19
|
-
id:
|
|
33
|
+
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
20
34
|
name: "id";
|
|
21
35
|
tableName: "workspace_invitation";
|
|
22
36
|
dataType: "string";
|
|
@@ -35,7 +49,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
35
49
|
}, {}, {
|
|
36
50
|
length: number | undefined;
|
|
37
51
|
}>;
|
|
38
|
-
workspaceId:
|
|
52
|
+
workspaceId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
39
53
|
name: "workspace_id";
|
|
40
54
|
tableName: "workspace_invitation";
|
|
41
55
|
dataType: "string";
|
|
@@ -54,7 +68,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
54
68
|
}, {}, {
|
|
55
69
|
length: number | undefined;
|
|
56
70
|
}>;
|
|
57
|
-
organizationId:
|
|
71
|
+
organizationId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
58
72
|
name: "organization_id";
|
|
59
73
|
tableName: "workspace_invitation";
|
|
60
74
|
dataType: "string";
|
|
@@ -73,7 +87,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
73
87
|
}, {}, {
|
|
74
88
|
length: number | undefined;
|
|
75
89
|
}>;
|
|
76
|
-
email:
|
|
90
|
+
email: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
77
91
|
name: "email";
|
|
78
92
|
tableName: "workspace_invitation";
|
|
79
93
|
dataType: "string";
|
|
@@ -92,7 +106,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
92
106
|
}, {}, {
|
|
93
107
|
length: number | undefined;
|
|
94
108
|
}>;
|
|
95
|
-
invitedByUserId:
|
|
109
|
+
invitedByUserId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
96
110
|
name: "invited_by_user_id";
|
|
97
111
|
tableName: "workspace_invitation";
|
|
98
112
|
dataType: "string";
|
|
@@ -111,12 +125,12 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
111
125
|
}, {}, {
|
|
112
126
|
length: number | undefined;
|
|
113
127
|
}>;
|
|
114
|
-
permissions:
|
|
128
|
+
permissions: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
115
129
|
name: "permissions";
|
|
116
130
|
tableName: "workspace_invitation";
|
|
117
131
|
dataType: "string";
|
|
118
132
|
columnType: "SQLiteText";
|
|
119
|
-
data: "
|
|
133
|
+
data: "admin" | "viewer" | "editor";
|
|
120
134
|
driverParam: string;
|
|
121
135
|
notNull: true;
|
|
122
136
|
hasDefault: true;
|
|
@@ -130,7 +144,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
130
144
|
}, {}, {
|
|
131
145
|
length: number | undefined;
|
|
132
146
|
}>;
|
|
133
|
-
token:
|
|
147
|
+
token: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
134
148
|
name: "token";
|
|
135
149
|
tableName: "workspace_invitation";
|
|
136
150
|
dataType: "string";
|
|
@@ -149,12 +163,12 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
149
163
|
}, {}, {
|
|
150
164
|
length: number | undefined;
|
|
151
165
|
}>;
|
|
152
|
-
status:
|
|
166
|
+
status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
153
167
|
name: "status";
|
|
154
168
|
tableName: "workspace_invitation";
|
|
155
169
|
dataType: "string";
|
|
156
170
|
columnType: "SQLiteText";
|
|
157
|
-
data: "expired" | "
|
|
171
|
+
data: "expired" | "revoked" | "pending" | "accepted";
|
|
158
172
|
driverParam: string;
|
|
159
173
|
notNull: true;
|
|
160
174
|
hasDefault: true;
|
|
@@ -168,12 +182,12 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
168
182
|
}, {}, {
|
|
169
183
|
length: number | undefined;
|
|
170
184
|
}>;
|
|
171
|
-
emailStatus:
|
|
185
|
+
emailStatus: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
172
186
|
name: "email_status";
|
|
173
187
|
tableName: "workspace_invitation";
|
|
174
188
|
dataType: "string";
|
|
175
189
|
columnType: "SQLiteText";
|
|
176
|
-
data: "
|
|
190
|
+
data: "failed" | "not_sent" | "sent";
|
|
177
191
|
driverParam: string;
|
|
178
192
|
notNull: true;
|
|
179
193
|
hasDefault: true;
|
|
@@ -187,7 +201,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
187
201
|
}, {}, {
|
|
188
202
|
length: number | undefined;
|
|
189
203
|
}>;
|
|
190
|
-
expiresAt:
|
|
204
|
+
expiresAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
191
205
|
name: "expires_at";
|
|
192
206
|
tableName: "workspace_invitation";
|
|
193
207
|
dataType: "date";
|
|
@@ -204,7 +218,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
204
218
|
identity: undefined;
|
|
205
219
|
generated: undefined;
|
|
206
220
|
}, {}, {}>;
|
|
207
|
-
createdAt:
|
|
221
|
+
createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
208
222
|
name: "created_at";
|
|
209
223
|
tableName: "workspace_invitation";
|
|
210
224
|
dataType: "date";
|
|
@@ -221,7 +235,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
221
235
|
identity: undefined;
|
|
222
236
|
generated: undefined;
|
|
223
237
|
}, {}, {}>;
|
|
224
|
-
acceptedAt:
|
|
238
|
+
acceptedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
225
239
|
name: "accepted_at";
|
|
226
240
|
tableName: "workspace_invitation";
|
|
227
241
|
dataType: "date";
|
|
@@ -238,7 +252,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
238
252
|
identity: undefined;
|
|
239
253
|
generated: undefined;
|
|
240
254
|
}, {}, {}>;
|
|
241
|
-
revokedAt:
|
|
255
|
+
revokedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
242
256
|
name: "revoked_at";
|
|
243
257
|
tableName: "workspace_invitation";
|
|
244
258
|
dataType: "date";
|
|
@@ -255,7 +269,7 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
255
269
|
identity: undefined;
|
|
256
270
|
generated: undefined;
|
|
257
271
|
}, {}, {}>;
|
|
258
|
-
lastSentAt:
|
|
272
|
+
lastSentAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
259
273
|
name: "last_sent_at";
|
|
260
274
|
tableName: "workspace_invitation";
|
|
261
275
|
dataType: "date";
|
|
@@ -277,8 +291,6 @@ declare function createWorkspaceInvitationTable(opts: CreateWorkspaceInvitationT
|
|
|
277
291
|
}>;
|
|
278
292
|
};
|
|
279
293
|
/** Resolve the structure of workspace invitation tables from the creation function */
|
|
280
|
-
type WorkspaceInvitationTables = ReturnType<typeof createWorkspaceInvitationTable>;
|
|
294
|
+
export type WorkspaceInvitationTables = ReturnType<typeof createWorkspaceInvitationTable>;
|
|
281
295
|
/** Resolve the structure of a workspace invitation row from the workspaceInvitations table */
|
|
282
|
-
type WorkspaceInvitationRow = WorkspaceInvitationTables['workspaceInvitations']['$inferSelect'];
|
|
283
|
-
|
|
284
|
-
export { type CreateWorkspaceInvitationTableOptions as C, type WorkspaceInvitationRow as W, type WorkspaceInvitationTables as a, createWorkspaceInvitationTable as c };
|
|
296
|
+
export type WorkspaceInvitationRow = WorkspaceInvitationTables['workspaceInvitations']['$inferSelect'];
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ensurePersonalOrganization` — the substrate that makes solo-user adoption
|
|
3
|
+
* work. Every user gets exactly one auto-created `kind: 'personal'` org with
|
|
4
|
+
* the user as `owner` member. That org is the tenant that owns their
|
|
5
|
+
* workspaces, so role resolution (`getWorkspaceAccess`) has an org row to read
|
|
6
|
+
* even before any team/invite exists.
|
|
7
|
+
*
|
|
8
|
+
* Idempotent by construction: the org `slug` is derived from the user id
|
|
9
|
+
* (`personal-<id>`) and upserted; the membership upserts on the
|
|
10
|
+
* (organizationId, userId) unique index. Concurrent calls converge — no
|
|
11
|
+
* duplicate personal orgs, no duplicate owner rows.
|
|
12
|
+
*
|
|
13
|
+
* ADOPTION CONTRACT: call this once per user at first authenticated entry
|
|
14
|
+
* (e.g. right after sign-in / session bootstrap) BEFORE the first
|
|
15
|
+
* `getWorkspaceAccess`. Role resolution requires the org membership to exist;
|
|
16
|
+
* an adopter that skips this will see `null` access for a brand-new user with
|
|
17
|
+
* no org row. There is no implicit creation inside the access builders — that
|
|
18
|
+
* keeps reads side-effect-free; provisioning is this explicit call.
|
|
19
|
+
*/
|
|
20
|
+
import type { OrganizationRole } from '../roles';
|
|
21
|
+
import type { TeamDatabase } from './access';
|
|
22
|
+
import type { OrganizationMemberRow, OrganizationRow, TeamTables } from './schema';
|
|
23
|
+
/** Define the structure for a user within a personal organization context */
|
|
24
|
+
export interface EnsurePersonalOrganizationUser {
|
|
25
|
+
id: string;
|
|
26
|
+
name?: string | null;
|
|
27
|
+
email?: string | null;
|
|
28
|
+
}
|
|
29
|
+
/** Describe a personal organization result including organization, member, and role details */
|
|
30
|
+
export interface PersonalOrganizationResult {
|
|
31
|
+
organization: OrganizationRow;
|
|
32
|
+
member: OrganizationMemberRow;
|
|
33
|
+
role: OrganizationRole;
|
|
34
|
+
}
|
|
35
|
+
/** Define options required to create a personal organization including database and tables references */
|
|
36
|
+
export interface CreatePersonalOrganizationOptions {
|
|
37
|
+
db: TeamDatabase;
|
|
38
|
+
tables: TeamTables;
|
|
39
|
+
}
|
|
40
|
+
/** Ensure a user has a personal organization by creating or retrieving it as needed */
|
|
41
|
+
export declare function createEnsurePersonalOrganization(opts: CreatePersonalOrganizationOptions): (user: EnsurePersonalOrganizationUser) => Promise<PersonalOrganizationResult>;
|