@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
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { A as AssignableWorkspaceRole } from './roles-B4nU3jDi.js';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Pure invitation helpers + email-template renderer for the teams capability.
|
|
5
3
|
* Zero dependencies: no drizzle, no env, no react, no network. The lifecycle API
|
|
@@ -12,31 +10,31 @@ import { A as AssignableWorkspaceRole } from './roles-B4nU3jDi.js';
|
|
|
12
10
|
* secret (API key) and the network call stay in the app's seam — agent-app ships
|
|
13
11
|
* only the deterministic template.
|
|
14
12
|
*/
|
|
15
|
-
|
|
13
|
+
import type { AssignableWorkspaceRole } from './roles';
|
|
16
14
|
/** The role an invitation grants — the assignable workspace ladder (never owner). */
|
|
17
|
-
type InvitationPermission = AssignableWorkspaceRole;
|
|
15
|
+
export type InvitationPermission = AssignableWorkspaceRole;
|
|
18
16
|
/** Define possible states for an invitation's lifecycle including pending, accepted, expired, and revoked */
|
|
19
|
-
type InvitationStatus = 'pending' | 'accepted' | 'expired' | 'revoked';
|
|
17
|
+
export type InvitationStatus = 'pending' | 'accepted' | 'expired' | 'revoked';
|
|
20
18
|
/** Define possible statuses for the sending state of an invitation email */
|
|
21
|
-
type InvitationEmailStatus = 'not_sent' | 'sent' | 'failed';
|
|
19
|
+
export type InvitationEmailStatus = 'not_sent' | 'sent' | 'failed';
|
|
22
20
|
/** Define the number of days before an invitation expires */
|
|
23
|
-
declare const INVITATION_EXPIRY_DAYS = 7;
|
|
21
|
+
export declare const INVITATION_EXPIRY_DAYS = 7;
|
|
24
22
|
/** Normalize an invitation email by trimming whitespace and converting to lowercase */
|
|
25
|
-
declare function normalizeInvitationEmail(email: string): string;
|
|
23
|
+
export declare function normalizeInvitationEmail(email: string): string;
|
|
26
24
|
/** Resolve invitation permission from a string or return null if invalid */
|
|
27
|
-
declare function parseInvitationPermission(value: string | undefined): InvitationPermission | null;
|
|
25
|
+
export declare function parseInvitationPermission(value: string | undefined): InvitationPermission | null;
|
|
28
26
|
/** Calculate the expiration date of an invitation based on the given or current date */
|
|
29
|
-
declare function getInvitationExpiresAt(now?: Date): Date;
|
|
27
|
+
export declare function getInvitationExpiresAt(now?: Date): Date;
|
|
30
28
|
/**
|
|
31
29
|
* A cryptographically-random, URL-safe invitation token. `inv_`-prefixed so a
|
|
32
30
|
* token is self-identifying and never collides with the workspaceMember invite
|
|
33
31
|
* tokens minted by `members-api` (`generateInviteToken`).
|
|
34
32
|
*/
|
|
35
|
-
declare function generateInvitationToken(): string;
|
|
33
|
+
export declare function generateInvitationToken(): string;
|
|
36
34
|
/** Generate an invite URL by combining the origin with an encoded token */
|
|
37
|
-
declare function inviteUrlForToken(origin: string, token: string): string;
|
|
35
|
+
export declare function inviteUrlForToken(origin: string, token: string): string;
|
|
38
36
|
/** Define input data required to render an invitation email template */
|
|
39
|
-
interface RenderInvitationEmailInput {
|
|
37
|
+
export interface RenderInvitationEmailInput {
|
|
40
38
|
to: string;
|
|
41
39
|
workspaceName: string;
|
|
42
40
|
inviterEmail: string;
|
|
@@ -45,12 +43,12 @@ interface RenderInvitationEmailInput {
|
|
|
45
43
|
expiresAt: Date;
|
|
46
44
|
}
|
|
47
45
|
/** Define the structure for an invitation email brand including the RFC-5322 From header */
|
|
48
|
-
interface InvitationEmailBrand {
|
|
46
|
+
export interface InvitationEmailBrand {
|
|
49
47
|
/** RFC-5322 From header, e.g. `GTM Agent <noreply@gtm.tangle.tools>`. */
|
|
50
48
|
fromAddress: string;
|
|
51
49
|
}
|
|
52
50
|
/** Define the structure of a fully rendered invitation email with sender, subject, and content fields */
|
|
53
|
-
interface RenderedInvitationEmail {
|
|
51
|
+
export interface RenderedInvitationEmail {
|
|
54
52
|
from: string;
|
|
55
53
|
subject: string;
|
|
56
54
|
html: string;
|
|
@@ -61,6 +59,4 @@ interface RenderedInvitationEmail {
|
|
|
61
59
|
* caller passes the result to its own mail client; this never reads a secret or
|
|
62
60
|
* touches the network.
|
|
63
61
|
*/
|
|
64
|
-
declare function renderInvitationEmail(input: RenderInvitationEmailInput, brand: InvitationEmailBrand): RenderedInvitationEmail;
|
|
65
|
-
|
|
66
|
-
export { INVITATION_EXPIRY_DAYS as I, type RenderInvitationEmailInput as R, type InvitationEmailBrand as a, type InvitationEmailStatus as b, type InvitationPermission as c, type InvitationStatus as d, type RenderedInvitationEmail as e, getInvitationExpiresAt as f, generateInvitationToken as g, inviteUrlForToken as i, normalizeInvitationEmail as n, parseInvitationPermission as p, renderInvitationEmail as r };
|
|
62
|
+
export declare function renderInvitationEmail(input: RenderInvitationEmailInput, brand: InvitationEmailBrand): RenderedInvitationEmail;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure invite-token helpers — generation, shape validation, and expiry math.
|
|
3
|
+
* No I/O: the members API persists/looks up tokens; these functions only
|
|
4
|
+
* produce well-formed tokens and decide, given values the caller already
|
|
5
|
+
* loaded, whether an invite is usable.
|
|
6
|
+
*
|
|
7
|
+
* A token is an opaque high-entropy URL-safe string. It is the bearer secret
|
|
8
|
+
* in `/invite/:token`, so it must be unguessable and never derived from the
|
|
9
|
+
* email or workspace. `generateInviteToken` uses Web Crypto (`crypto`), which
|
|
10
|
+
* is present in Workers, Node 18+, Deno, and browsers — no Node-only import,
|
|
11
|
+
* so this stays a pure leaf.
|
|
12
|
+
*/
|
|
13
|
+
/** Cryptographically-random, URL-safe (base64url) invite token. */
|
|
14
|
+
export declare function generateInviteToken(): string;
|
|
15
|
+
/** True when `value` has the shape of an invite token (not whether it exists). */
|
|
16
|
+
export declare function isInviteTokenShape(value: unknown): value is string;
|
|
17
|
+
/** A pending invite row, narrowed to the fields invite acceptance reasons over. */
|
|
18
|
+
export interface InviteTokenState {
|
|
19
|
+
/** null until accepted — a non-null value means the invite was already used. */
|
|
20
|
+
acceptedAt: Date | number | null | undefined;
|
|
21
|
+
/** Email the invite was addressed to, if any. */
|
|
22
|
+
inviteEmail?: string | null;
|
|
23
|
+
/** Optional hard expiry; omit/undefined for invites that never expire. */
|
|
24
|
+
expiresAt?: Date | number | null;
|
|
25
|
+
}
|
|
26
|
+
/** Define possible reasons for rejecting an invite including acceptance, expiration, or email mismatch */
|
|
27
|
+
export type InviteRejectionReason = 'already-accepted' | 'expired' | 'email-mismatch';
|
|
28
|
+
/** Represent the outcome of validating an invite with success status and optional rejection reason */
|
|
29
|
+
export interface InviteValidationResult {
|
|
30
|
+
ok: boolean;
|
|
31
|
+
reason?: InviteRejectionReason;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Decide whether a loaded invite can be accepted by `acceptingEmail` at `now`.
|
|
35
|
+
* Pure: the caller has already fetched the row by token; this only judges it.
|
|
36
|
+
* Email match is case-insensitive and only enforced when the invite was
|
|
37
|
+
* addressed to a specific email (an open invite has no `inviteEmail`).
|
|
38
|
+
*/
|
|
39
|
+
export declare function validateInviteToken(invite: InviteTokenState, opts?: {
|
|
40
|
+
acceptingEmail?: string | null;
|
|
41
|
+
now?: Date;
|
|
42
|
+
}): InviteValidationResult;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { f as WorkspaceRole } from '../roles-B4nU3jDi.js';
|
|
2
|
-
import { T as TeamDatabase, a as TeamTables, g as TeamParentTable, h as WorkspaceAccessApi } from '../access-490O6aOU.js';
|
|
3
|
-
import 'drizzle-orm/sqlite-core';
|
|
4
|
-
|
|
5
1
|
/**
|
|
6
2
|
* Framework-neutral members API for the teams module: the invite / list /
|
|
7
3
|
* update-role / remove / accept-invite logic, lifted out of any one app's route
|
|
@@ -23,9 +19,11 @@ import 'drizzle-orm/sqlite-core';
|
|
|
23
19
|
*
|
|
24
20
|
* Imports `drizzle-orm`, so this is a subpath, never re-exported from root.
|
|
25
21
|
*/
|
|
26
|
-
|
|
22
|
+
import { type WorkspaceRole } from './roles';
|
|
23
|
+
import type { TeamDatabase, WorkspaceAccessApi } from './drizzle/access';
|
|
24
|
+
import type { TeamParentTable, TeamTables } from './drizzle/schema';
|
|
27
25
|
/** The authenticated caller — apps resolve this from their own session layer. */
|
|
28
|
-
interface MembersApiActor {
|
|
26
|
+
export interface MembersApiActor {
|
|
29
27
|
id: string;
|
|
30
28
|
email?: string | null;
|
|
31
29
|
}
|
|
@@ -33,7 +31,7 @@ interface MembersApiActor {
|
|
|
33
31
|
* The product's user table, narrowed to the columns the member queries read.
|
|
34
32
|
* Adopters pass their real drizzle user table.
|
|
35
33
|
*/
|
|
36
|
-
interface UserLookupTable {
|
|
34
|
+
export interface UserLookupTable {
|
|
37
35
|
id: any;
|
|
38
36
|
name: any;
|
|
39
37
|
email: any;
|
|
@@ -43,7 +41,7 @@ interface UserLookupTable {
|
|
|
43
41
|
* read. The handlers join it to resolve a workspace's organization (the same
|
|
44
42
|
* table passed to createTeamTables as workspaceTable).
|
|
45
43
|
*/
|
|
46
|
-
interface WorkspaceLookupTable {
|
|
44
|
+
export interface WorkspaceLookupTable {
|
|
47
45
|
id: any;
|
|
48
46
|
organizationId: any;
|
|
49
47
|
}
|
|
@@ -54,14 +52,14 @@ interface WorkspaceLookupTable {
|
|
|
54
52
|
* a NEW seat (invitee is not already an org member and has no pending org
|
|
55
53
|
* invite) — the same guard gtm uses, so the seam never fires on a no-op invite.
|
|
56
54
|
*/
|
|
57
|
-
interface EnforceSeatSeam {
|
|
55
|
+
export interface EnforceSeatSeam {
|
|
58
56
|
(input: {
|
|
59
57
|
actorId: string;
|
|
60
58
|
organizationId: string;
|
|
61
59
|
}): Promise<void> | void;
|
|
62
60
|
}
|
|
63
61
|
/** Thrown by an `enforceSeat` seam to deny an invite; serialized to a 402. */
|
|
64
|
-
declare class SeatLimitError extends Error {
|
|
62
|
+
export declare class SeatLimitError extends Error {
|
|
65
63
|
readonly status: number;
|
|
66
64
|
readonly capability?: string;
|
|
67
65
|
readonly requiredPlan?: string;
|
|
@@ -77,7 +75,7 @@ declare class SeatLimitError extends Error {
|
|
|
77
75
|
* swallows rejections, so an unavailable downstream never blocks the mutation.
|
|
78
76
|
* Each fires only for members with a real `userId` (never email-only invites).
|
|
79
77
|
*/
|
|
80
|
-
interface MemberSyncSeam {
|
|
78
|
+
export interface MemberSyncSeam {
|
|
81
79
|
add?(input: {
|
|
82
80
|
workspaceId: string;
|
|
83
81
|
userId: string;
|
|
@@ -94,7 +92,7 @@ interface MemberSyncSeam {
|
|
|
94
92
|
}): Promise<void> | void;
|
|
95
93
|
}
|
|
96
94
|
/** Define configuration options for managing team members and workspace access APIs */
|
|
97
|
-
interface MembersApiOptions {
|
|
95
|
+
export interface MembersApiOptions {
|
|
98
96
|
db: TeamDatabase;
|
|
99
97
|
tables: TeamTables;
|
|
100
98
|
/** The product's user table (FK target passed to createTeamTables). */
|
|
@@ -107,7 +105,7 @@ interface MembersApiOptions {
|
|
|
107
105
|
memberSyncSeam?: MemberSyncSeam;
|
|
108
106
|
}
|
|
109
107
|
/** Define the structure of a workspace member entry with identification, role, and status details */
|
|
110
|
-
interface MemberListEntry {
|
|
108
|
+
export interface MemberListEntry {
|
|
111
109
|
id: string;
|
|
112
110
|
userId: string | null;
|
|
113
111
|
organizationMemberId: string | null;
|
|
@@ -123,7 +121,7 @@ interface MemberListEntry {
|
|
|
123
121
|
* handlers; an app maps its route methods onto them (GET→list, POST→invite,
|
|
124
122
|
* PATCH→updateRole, DELETE→remove; accept on its own route).
|
|
125
123
|
*/
|
|
126
|
-
declare function createMembersApi(opts: MembersApiOptions): {
|
|
124
|
+
export declare function createMembersApi(opts: MembersApiOptions): {
|
|
127
125
|
listMembers: (input: {
|
|
128
126
|
workspaceId: string;
|
|
129
127
|
actor: MembersApiActor;
|
|
@@ -150,5 +148,3 @@ declare function createMembersApi(opts: MembersApiOptions): {
|
|
|
150
148
|
actor: MembersApiActor;
|
|
151
149
|
}) => Promise<Response>;
|
|
152
150
|
};
|
|
153
|
-
|
|
154
|
-
export { type EnforceSeatSeam, type MemberListEntry, type MemberSyncSeam, type MembersApiActor, type MembersApiOptions, SeatLimitError, type UserLookupTable, type WorkspaceLookupTable, createMembersApi };
|
package/dist/teams/resend.d.ts
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
import { SendInvitationEmailSeam } from './invitations-api.js';
|
|
2
|
-
import '../invitations-DoYMvXea.js';
|
|
3
|
-
import '../roles-B4nU3jDi.js';
|
|
4
|
-
import './members-api.js';
|
|
5
|
-
import '../access-490O6aOU.js';
|
|
6
|
-
import 'drizzle-orm/sqlite-core';
|
|
7
|
-
import '../invitations-schema-_fI7HkJP.js';
|
|
8
|
-
|
|
9
1
|
/**
|
|
10
2
|
* Opt-in Resend transport for the teams invitations `sendInvitationEmail` seam.
|
|
11
3
|
* Most adopters back the seam with Resend and hand-roll the same wrapper — and
|
|
@@ -18,9 +10,9 @@ import '../invitations-schema-_fI7HkJP.js';
|
|
|
18
10
|
* `resend` is an OPTIONAL peer, imported only here: apps not on Resend keep
|
|
19
11
|
* passing a raw seam, and the package core never pulls a mail dependency.
|
|
20
12
|
*/
|
|
21
|
-
|
|
13
|
+
import type { SendInvitationEmailSeam } from './invitations-api';
|
|
22
14
|
/** Define options for sending a resend invitation including sender address and optional API key */
|
|
23
|
-
interface ResendInvitationSenderOptions {
|
|
15
|
+
export interface ResendInvitationSenderOptions {
|
|
24
16
|
/** RFC-5322 From header, e.g. `GTM Agent <noreply@gtm.tangle.tools>`. */
|
|
25
17
|
from: string;
|
|
26
18
|
/** Resend API key. Defaults to `process.env.RESEND_API_KEY`. */
|
|
@@ -32,6 +24,4 @@ interface ResendInvitationSenderOptions {
|
|
|
32
24
|
* The client is built lazily on first send; with no key the seam fails typed
|
|
33
25
|
* (the invitation is still created — emailStatus becomes 'failed').
|
|
34
26
|
*/
|
|
35
|
-
declare function createResendInvitationSender(opts: ResendInvitationSenderOptions): SendInvitationEmailSeam;
|
|
36
|
-
|
|
37
|
-
export { type ResendInvitationSenderOptions, createResendInvitationSender };
|
|
27
|
+
export declare function createResendInvitationSender(opts: ResendInvitationSenderOptions): SendInvitationEmailSeam;
|
|
@@ -14,48 +14,46 @@
|
|
|
14
14
|
* `resolveWorkspaceRole` is the bridge: it folds the org role and the
|
|
15
15
|
* per-workspace role into the one effective workspace role a request runs at.
|
|
16
16
|
*/
|
|
17
|
-
declare const WORKSPACE_ROLES: readonly ["viewer", "editor", "admin", "owner"];
|
|
17
|
+
export declare const WORKSPACE_ROLES: readonly ["viewer", "editor", "admin", "owner"];
|
|
18
18
|
/** Resolve the union type of all possible workspace role string literals from WORKSPACE_ROLES array */
|
|
19
|
-
type WorkspaceRole = typeof WORKSPACE_ROLES[number];
|
|
19
|
+
export type WorkspaceRole = typeof WORKSPACE_ROLES[number];
|
|
20
20
|
/** Define the list of roles that can be assigned within a workspace */
|
|
21
|
-
declare const ASSIGNABLE_WORKSPACE_ROLES: readonly ["viewer", "editor", "admin"];
|
|
21
|
+
export declare const ASSIGNABLE_WORKSPACE_ROLES: readonly ["viewer", "editor", "admin"];
|
|
22
22
|
/** Resolve the set of roles that can be assigned within a workspace */
|
|
23
|
-
type AssignableWorkspaceRole = typeof ASSIGNABLE_WORKSPACE_ROLES[number];
|
|
23
|
+
export type AssignableWorkspaceRole = typeof ASSIGNABLE_WORKSPACE_ROLES[number];
|
|
24
24
|
/** Define the set of fixed roles available within an organization */
|
|
25
|
-
declare const ORGANIZATION_ROLES: readonly ["owner", "admin", "member", "billing"];
|
|
25
|
+
export declare const ORGANIZATION_ROLES: readonly ["owner", "admin", "member", "billing"];
|
|
26
26
|
/** Resolve a role string from the predefined list of organization roles */
|
|
27
|
-
type OrganizationRole = typeof ORGANIZATION_ROLES[number];
|
|
27
|
+
export type OrganizationRole = typeof ORGANIZATION_ROLES[number];
|
|
28
28
|
/** Define access levels for workspace collaboration as either read or write */
|
|
29
|
-
type WorkspaceCollaborationAccess = 'read' | 'write';
|
|
29
|
+
export type WorkspaceCollaborationAccess = 'read' | 'write';
|
|
30
30
|
/** Define user roles available within a sandbox workspace environment */
|
|
31
|
-
type SandboxWorkspaceRole = 'owner' | 'admin' | 'developer' | 'viewer';
|
|
31
|
+
export type SandboxWorkspaceRole = 'owner' | 'admin' | 'developer' | 'viewer';
|
|
32
32
|
/** Map workspace roles to their corresponding hierarchical rank values */
|
|
33
|
-
declare const WORKSPACE_ROLE_RANK: Record<WorkspaceRole, number>;
|
|
33
|
+
export declare const WORKSPACE_ROLE_RANK: Record<WorkspaceRole, number>;
|
|
34
34
|
/** Map organization roles to their hierarchical rank for permission and access control purposes */
|
|
35
|
-
declare const ORGANIZATION_ROLE_RANK: Record<OrganizationRole, number>;
|
|
35
|
+
export declare const ORGANIZATION_ROLE_RANK: Record<OrganizationRole, number>;
|
|
36
36
|
/** True when `actual` is at least `minimum` on the workspace ladder. */
|
|
37
|
-
declare function hasWorkspaceRole(actual: WorkspaceRole, minimum: WorkspaceRole): boolean;
|
|
37
|
+
export declare function hasWorkspaceRole(actual: WorkspaceRole, minimum: WorkspaceRole): boolean;
|
|
38
38
|
/** True when `actual` is at least `minimum` on the organization ladder. */
|
|
39
|
-
declare function hasOrganizationRole(actual: OrganizationRole, minimum: OrganizationRole): boolean;
|
|
39
|
+
export declare function hasOrganizationRole(actual: OrganizationRole, minimum: OrganizationRole): boolean;
|
|
40
40
|
/** Determine if a value is a valid assignable workspace role among viewer, editor, or admin */
|
|
41
|
-
declare function isAssignableWorkspaceRole(value: unknown): value is AssignableWorkspaceRole;
|
|
41
|
+
export declare function isAssignableWorkspaceRole(value: unknown): value is AssignableWorkspaceRole;
|
|
42
42
|
/** Org owners and admins are workspace owners across the whole org. */
|
|
43
|
-
declare function organizationRoleGrantsWorkspaceOwner(role: OrganizationRole | string | null | undefined): boolean;
|
|
43
|
+
export declare function organizationRoleGrantsWorkspaceOwner(role: OrganizationRole | string | null | undefined): boolean;
|
|
44
44
|
/**
|
|
45
45
|
* The effective workspace role a request runs at: org owner/admin → owner of
|
|
46
46
|
* every workspace; otherwise the explicit per-workspace role (or null = no
|
|
47
47
|
* access). This is the single fold every access check goes through.
|
|
48
48
|
*/
|
|
49
|
-
declare function resolveWorkspaceRole(organizationRole: OrganizationRole | string | null | undefined, workspaceRole: WorkspaceRole | null | undefined): WorkspaceRole | null;
|
|
49
|
+
export declare function resolveWorkspaceRole(organizationRole: OrganizationRole | string | null | undefined, workspaceRole: WorkspaceRole | null | undefined): WorkspaceRole | null;
|
|
50
50
|
/**
|
|
51
51
|
* Whether `actorRole` may set/clear a member currently at `targetRole`. Owners
|
|
52
52
|
* can manage anyone; everyone else can only manage members strictly below
|
|
53
53
|
* their own rank (an admin cannot demote another admin or an owner).
|
|
54
54
|
*/
|
|
55
|
-
declare function canManageWorkspaceMemberRole(actorRole: WorkspaceRole, targetRole: WorkspaceRole): boolean;
|
|
55
|
+
export declare function canManageWorkspaceMemberRole(actorRole: WorkspaceRole, targetRole: WorkspaceRole): boolean;
|
|
56
56
|
/** Map a workspace role to the corresponding collaboration access level */
|
|
57
|
-
declare function workspaceRoleToCollaborationAccess(role: WorkspaceRole): WorkspaceCollaborationAccess;
|
|
57
|
+
export declare function workspaceRoleToCollaborationAccess(role: WorkspaceRole): WorkspaceCollaborationAccess;
|
|
58
58
|
/** Map a workspace role to its corresponding sandbox workspace role */
|
|
59
|
-
declare function workspaceRoleToSandboxRole(role: WorkspaceRole): SandboxWorkspaceRole;
|
|
60
|
-
|
|
61
|
-
export { type AssignableWorkspaceRole as A, type OrganizationRole as O, type SandboxWorkspaceRole as S, WORKSPACE_ROLES as W, ASSIGNABLE_WORKSPACE_ROLES as a, ORGANIZATION_ROLES as b, ORGANIZATION_ROLE_RANK as c, WORKSPACE_ROLE_RANK as d, type WorkspaceCollaborationAccess as e, type WorkspaceRole as f, canManageWorkspaceMemberRole as g, hasOrganizationRole as h, hasWorkspaceRole as i, isAssignableWorkspaceRole as j, workspaceRoleToSandboxRole as k, organizationRoleGrantsWorkspaceOwner as o, resolveWorkspaceRole as r, workspaceRoleToCollaborationAccess as w };
|
|
59
|
+
export declare function workspaceRoleToSandboxRole(role: WorkspaceRole): SandboxWorkspaceRole;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load the canonical Tangle knot only when a teams surface renders it.
|
|
3
|
+
* `/brand` imports the optional `@tangle-network/brand` peer, so a failed load
|
|
4
|
+
* renders a fixed-size spacer instead of crashing the panel.
|
|
5
|
+
*/
|
|
6
|
+
export interface BrandMarkProps {
|
|
7
|
+
size: number;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function BrandMark({ size, className }: BrandMarkProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email-invitation panel: invite by email + role, and a history of every
|
|
3
|
+
* invitation (pending / accepted / expired / revoked) with its email-delivery
|
|
4
|
+
* status. Pending rows expose copy-link / resend / revoke. Fully callback-driven
|
|
5
|
+
* — the host supplies the data and the async `onInvite` / `onResend` / `onRevoke`
|
|
6
|
+
* callbacks (backed by `./teams/invitations-api`), so this imports no app router,
|
|
7
|
+
* fetch client, or toast. Styled with the shipped Tangle Quiet tokens (`var(--*)`).
|
|
8
|
+
*
|
|
9
|
+
* Mount alongside a list-only `MembersPanel` (`showInviteForm={false}`): the
|
|
10
|
+
* members panel shows accepted members, this owns the invite flow + pending list.
|
|
11
|
+
*/
|
|
12
|
+
import type { InvitationsPanelProps } from '../contracts';
|
|
13
|
+
export declare function InvitationsPanel({ invitations, currentRole, onInvite, onResend, onRevoke, onCopy, onNotice, }: InvitationsPanelProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Invite-accept surface for `/invite/:token`. Renders the invite state (valid /
|
|
3
|
+
* invalid / already-accepted), handles the signed-out path (sign in or create
|
|
4
|
+
* an account with the invited email), the email-mismatch path (switch account),
|
|
5
|
+
* and the accept action. Callback-driven: the host supplies the resolved
|
|
6
|
+
* `details` and `onAccept` / `onNavigate`, so this imports no app router or
|
|
7
|
+
* fetch client. Styled with the shipped Tangle Quiet tokens (`var(--*)`).
|
|
8
|
+
*/
|
|
9
|
+
import type { InviteAcceptPageProps } from '../contracts';
|
|
10
|
+
export declare function InviteAcceptPage({ details, onAccept, onNavigate, onResendVerification }: InviteAcceptPageProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace members panel: list members, invite by email + role, change a
|
|
3
|
+
* member's role, remove a member. Fully callback-driven — the host supplies the
|
|
4
|
+
* data and the async `onInvite`/`onChangeRole`/`onRemove` callbacks (backed by
|
|
5
|
+
* `./teams/members-api`), so this imports no app router, fetch client, or toast.
|
|
6
|
+
* Styled with the shipped Tangle Quiet tokens (`var(--*)`).
|
|
7
|
+
*
|
|
8
|
+
* Role gating mirrors the API: only admins/owners see role selects and the
|
|
9
|
+
* remove control; inherited org owners and explicit owners are not editable
|
|
10
|
+
* here (org-level concern). The invite role select offers `admin` only to
|
|
11
|
+
* admins/owners.
|
|
12
|
+
*/
|
|
13
|
+
import type { MembersPanelProps } from '../contracts';
|
|
14
|
+
export declare function MembersPanel({ members, currentRole, onInvite, onChangeRole, onRemove, onNotice, showInviteForm, }: MembersPanelProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared role dropdown for the teams panels — the popover-listbox pattern the
|
|
3
|
+
* design system requires in place of a native `<select>` (same contract as the
|
|
4
|
+
* design-canvas Toolbar's SelectControl: bordered trigger, chevron glyph, and a
|
|
5
|
+
* `role="listbox"` panel on the L3 popover surface with click-outside /
|
|
6
|
+
* Escape-to-close). Both panels assign from the same workspace-role set, so the
|
|
7
|
+
* options live here too.
|
|
8
|
+
*/
|
|
9
|
+
import type { WorkspaceRole } from '../../teams/roles';
|
|
10
|
+
export interface RoleSelectProps {
|
|
11
|
+
value: WorkspaceRole;
|
|
12
|
+
onChange(role: WorkspaceRole): void;
|
|
13
|
+
/** Accessible name (no visible label — the panels label the row). */
|
|
14
|
+
ariaLabel: string;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function RoleSelect({ value, onChange, ariaLabel, disabled }: RoleSelectProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seams between the teams React surface and the host app. Everything here is
|
|
3
|
+
* interface-only and callback-driven: the components never import an app's
|
|
4
|
+
* router, fetch client, or toast system. The host passes data in and supplies
|
|
5
|
+
* the async callbacks (which it backs with `./teams/members-api` or
|
|
6
|
+
* `./teams/invitations-api` over fetch), so the same panel mounts in any app.
|
|
7
|
+
*/
|
|
8
|
+
import type { WorkspaceRole } from '../teams/roles';
|
|
9
|
+
import type { InvitationEmailStatus, InvitationPermission, InvitationStatus } from '../teams/invitations';
|
|
10
|
+
/** One member row as the panel renders it — the shape `members-api` returns. */
|
|
11
|
+
export interface MemberView {
|
|
12
|
+
id: string;
|
|
13
|
+
userId: string | null;
|
|
14
|
+
role: WorkspaceRole;
|
|
15
|
+
name: string | null;
|
|
16
|
+
email: string | null;
|
|
17
|
+
/** null/undefined = pending invite (not yet accepted). */
|
|
18
|
+
acceptedAt?: Date | number | null;
|
|
19
|
+
/** true = inherited org owner/admin access (managed at the org level). */
|
|
20
|
+
inherited?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** Define properties and callbacks for managing members and their roles in a workspace panel */
|
|
23
|
+
export interface MembersPanelProps {
|
|
24
|
+
members: MemberView[];
|
|
25
|
+
/** The viewer's effective role — gates which controls are interactive. */
|
|
26
|
+
currentRole: WorkspaceRole;
|
|
27
|
+
/** Invite a member; resolve with the shareable invite URL (or void). */
|
|
28
|
+
onInvite(input: {
|
|
29
|
+
email: string;
|
|
30
|
+
role: WorkspaceRole;
|
|
31
|
+
}): Promise<{
|
|
32
|
+
inviteUrl?: string;
|
|
33
|
+
} | void>;
|
|
34
|
+
/** Change a member's role. */
|
|
35
|
+
onChangeRole(input: {
|
|
36
|
+
memberId: string;
|
|
37
|
+
role: WorkspaceRole;
|
|
38
|
+
}): Promise<void>;
|
|
39
|
+
/** Remove a member. */
|
|
40
|
+
onRemove(input: {
|
|
41
|
+
memberId: string;
|
|
42
|
+
}): Promise<void>;
|
|
43
|
+
/** Optional toast/notice hook; defaults to a no-op (host owns its UX). */
|
|
44
|
+
onNotice?(notice: {
|
|
45
|
+
kind: 'success' | 'error';
|
|
46
|
+
message: string;
|
|
47
|
+
}): void;
|
|
48
|
+
/**
|
|
49
|
+
* Show the built-in invite form. Default `true`. An app that drives invites
|
|
50
|
+
* through `InvitationsPanel` (the rich email flow) sets this `false` so the
|
|
51
|
+
* members panel is list-only and the two don't present competing invite UIs.
|
|
52
|
+
*/
|
|
53
|
+
showInviteForm?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/** One invitation row as `InvitationsPanel` renders it — the shape `invitations-api` returns. */
|
|
56
|
+
export interface InvitationView {
|
|
57
|
+
id: string;
|
|
58
|
+
email: string;
|
|
59
|
+
permissions: InvitationPermission;
|
|
60
|
+
status: InvitationStatus;
|
|
61
|
+
emailStatus: InvitationEmailStatus;
|
|
62
|
+
/** Date | epoch-ms | ISO string — normalized to a Date for display. */
|
|
63
|
+
expiresAt: Date | number | string;
|
|
64
|
+
/** Shareable accept link, for copy-to-clipboard. */
|
|
65
|
+
inviteUrl: string;
|
|
66
|
+
}
|
|
67
|
+
/** Define properties and callbacks for managing workspace invitations and user roles */
|
|
68
|
+
export interface InvitationsPanelProps {
|
|
69
|
+
invitations: InvitationView[];
|
|
70
|
+
/** The viewer's effective role — gates whether the invite controls are interactive. */
|
|
71
|
+
currentRole: WorkspaceRole;
|
|
72
|
+
/** Create an invitation (sends the email); resolve with the shareable URL (or void). */
|
|
73
|
+
onInvite(input: {
|
|
74
|
+
email: string;
|
|
75
|
+
role: WorkspaceRole;
|
|
76
|
+
}): Promise<{
|
|
77
|
+
inviteUrl?: string;
|
|
78
|
+
} | void>;
|
|
79
|
+
/** Resend the invitation email. */
|
|
80
|
+
onResend(input: {
|
|
81
|
+
invitationId: string;
|
|
82
|
+
}): Promise<void>;
|
|
83
|
+
/** Revoke a pending invitation. */
|
|
84
|
+
onRevoke(input: {
|
|
85
|
+
invitationId: string;
|
|
86
|
+
}): Promise<void>;
|
|
87
|
+
/** Copy the invite link; defaults to `navigator.clipboard.writeText`. */
|
|
88
|
+
onCopy?(input: {
|
|
89
|
+
inviteUrl: string;
|
|
90
|
+
}): void | Promise<void>;
|
|
91
|
+
/** Optional toast/notice hook; defaults to a no-op (host owns its UX). */
|
|
92
|
+
onNotice?(notice: {
|
|
93
|
+
kind: 'success' | 'error';
|
|
94
|
+
message: string;
|
|
95
|
+
}): void;
|
|
96
|
+
}
|
|
97
|
+
/** Define possible statuses for the acceptance state of an invitation */
|
|
98
|
+
export type InviteAcceptStatus = 'pending' | 'invalid' | 'already-accepted' | 'expired' | 'revoked';
|
|
99
|
+
/** Describe details of an accepted invite including status, workspace, inviter, role, emails, and expiration */
|
|
100
|
+
export interface InviteAcceptDetails {
|
|
101
|
+
status: InviteAcceptStatus;
|
|
102
|
+
/** Workspace the invite grants access to. */
|
|
103
|
+
workspaceName?: string | null;
|
|
104
|
+
/** Who sent it, if known. */
|
|
105
|
+
inviterName?: string | null;
|
|
106
|
+
/** Role the invite grants. */
|
|
107
|
+
role?: WorkspaceRole | null;
|
|
108
|
+
/** Email the invite was addressed to. */
|
|
109
|
+
inviteEmail?: string | null;
|
|
110
|
+
/** The signed-in user's email, or null if not signed in. */
|
|
111
|
+
currentUserEmail?: string | null;
|
|
112
|
+
/** When the invite expires (for display). Date | epoch-ms | ISO string. */
|
|
113
|
+
expiresAt?: Date | number | string | null;
|
|
114
|
+
/** True when the signed-in user must verify their email before they can accept. */
|
|
115
|
+
needsEmailVerification?: boolean;
|
|
116
|
+
}
|
|
117
|
+
/** Define properties and callbacks for handling invite acceptance and navigation actions on the invite page */
|
|
118
|
+
export interface InviteAcceptPageProps {
|
|
119
|
+
details: InviteAcceptDetails;
|
|
120
|
+
/** Accept the invite; resolve with the workspace to navigate to. */
|
|
121
|
+
onAccept(): Promise<{
|
|
122
|
+
workspaceId?: string;
|
|
123
|
+
} | void>;
|
|
124
|
+
/** Navigate (sign in / sign up / switch account / open app). */
|
|
125
|
+
onNavigate(target: {
|
|
126
|
+
kind: 'sign-in' | 'sign-up' | 'switch-account' | 'open-app';
|
|
127
|
+
workspaceId?: string;
|
|
128
|
+
}): void;
|
|
129
|
+
/**
|
|
130
|
+
* Resend the verification email. Only invoked on the `needsEmailVerification`
|
|
131
|
+
* branch; an app without email verification omits it and that branch never shows.
|
|
132
|
+
*/
|
|
133
|
+
onResendVerification?(): Promise<void>;
|
|
134
|
+
}
|