@kortix/sdk 0.9.98
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 +313 -0
- package/dist/files/client.d.ts +96 -0
- package/dist/files/client.d.ts.map +1 -0
- package/dist/files/client.js +346 -0
- package/dist/files/client.js.map +1 -0
- package/dist/files/types.d.ts +82 -0
- package/dist/files/types.d.ts.map +1 -0
- package/dist/files/types.js +6 -0
- package/dist/files/types.js.map +1 -0
- package/dist/index.d.ts +119 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +93 -0
- package/dist/index.js.map +1 -0
- package/dist/kortix.d.ts +897 -0
- package/dist/kortix.d.ts.map +1 -0
- package/dist/kortix.js +772 -0
- package/dist/kortix.js.map +1 -0
- package/dist/opencode/client.d.ts +89 -0
- package/dist/opencode/client.d.ts.map +1 -0
- package/dist/opencode/client.js +191 -0
- package/dist/opencode/client.js.map +1 -0
- package/dist/opencode/env.d.ts +13 -0
- package/dist/opencode/env.d.ts.map +1 -0
- package/dist/opencode/env.js +63 -0
- package/dist/opencode/env.js.map +1 -0
- package/dist/opencode/kortix-master.d.ts +487 -0
- package/dist/opencode/kortix-master.d.ts.map +1 -0
- package/dist/opencode/kortix-master.js +313 -0
- package/dist/opencode/kortix-master.js.map +1 -0
- package/dist/opencode/triggers.d.ts +6 -0
- package/dist/opencode/triggers.d.ts.map +1 -0
- package/dist/opencode/triggers.js +34 -0
- package/dist/opencode/triggers.js.map +1 -0
- package/dist/platform/api/errors.d.ts +106 -0
- package/dist/platform/api/errors.d.ts.map +1 -0
- package/dist/platform/api/errors.js +137 -0
- package/dist/platform/api/errors.js.map +1 -0
- package/dist/platform/api-client.d.ts +35 -0
- package/dist/platform/api-client.d.ts.map +1 -0
- package/dist/platform/api-client.js +279 -0
- package/dist/platform/api-client.js.map +1 -0
- package/dist/platform/auth-core.d.ts +60 -0
- package/dist/platform/auth-core.d.ts.map +1 -0
- package/dist/platform/auth-core.js +104 -0
- package/dist/platform/auth-core.js.map +1 -0
- package/dist/platform/auth.d.ts +88 -0
- package/dist/platform/auth.d.ts.map +1 -0
- package/dist/platform/auth.js +161 -0
- package/dist/platform/auth.js.map +1 -0
- package/dist/platform/config-node.d.ts +33 -0
- package/dist/platform/config-node.d.ts.map +1 -0
- package/dist/platform/config-node.js +63 -0
- package/dist/platform/config-node.js.map +1 -0
- package/dist/platform/config.d.ts +77 -0
- package/dist/platform/config.d.ts.map +1 -0
- package/dist/platform/config.js +62 -0
- package/dist/platform/config.js.map +1 -0
- package/dist/platform/feature-flags.d.ts +25 -0
- package/dist/platform/feature-flags.d.ts.map +1 -0
- package/dist/platform/feature-flags.js +114 -0
- package/dist/platform/feature-flags.js.map +1 -0
- package/dist/platform/fresh-sessions.d.ts +4 -0
- package/dist/platform/fresh-sessions.d.ts.map +1 -0
- package/dist/platform/fresh-sessions.js +22 -0
- package/dist/platform/fresh-sessions.js.map +1 -0
- package/dist/platform/instance-routes.d.ts +17 -0
- package/dist/platform/instance-routes.d.ts.map +1 -0
- package/dist/platform/instance-routes.js +105 -0
- package/dist/platform/instance-routes.js.map +1 -0
- package/dist/platform/logger.d.ts +20 -0
- package/dist/platform/logger.d.ts.map +1 -0
- package/dist/platform/logger.js +44 -0
- package/dist/platform/logger.js.map +1 -0
- package/dist/platform/opencode-errors.d.ts +20 -0
- package/dist/platform/opencode-errors.d.ts.map +1 -0
- package/dist/platform/opencode-errors.js +71 -0
- package/dist/platform/opencode-errors.js.map +1 -0
- package/dist/platform/platform-client/backups.d.ts +22 -0
- package/dist/platform/platform-client/backups.d.ts.map +1 -0
- package/dist/platform/platform-client/backups.js +16 -0
- package/dist/platform/platform-client/backups.js.map +1 -0
- package/dist/platform/platform-client/index.d.ts +21 -0
- package/dist/platform/platform-client/index.d.ts.map +1 -0
- package/dist/platform/platform-client/index.js +21 -0
- package/dist/platform/platform-client/index.js.map +1 -0
- package/dist/platform/platform-client/instance-admin.d.ts +67 -0
- package/dist/platform/platform-client/instance-admin.d.ts.map +1 -0
- package/dist/platform/platform-client/instance-admin.js +59 -0
- package/dist/platform/platform-client/instance-admin.js.map +1 -0
- package/dist/platform/platform-client/invites.d.ts +35 -0
- package/dist/platform/platform-client/invites.d.ts.map +1 -0
- package/dist/platform/platform-client/invites.js +25 -0
- package/dist/platform/platform-client/invites.js.map +1 -0
- package/dist/platform/platform-client/lifecycle.d.ts +78 -0
- package/dist/platform/platform-client/lifecycle.d.ts.map +1 -0
- package/dist/platform/platform-client/lifecycle.js +151 -0
- package/dist/platform/platform-client/lifecycle.js.map +1 -0
- package/dist/platform/platform-client/members.d.ts +81 -0
- package/dist/platform/platform-client/members.d.ts.map +1 -0
- package/dist/platform/platform-client/members.js +59 -0
- package/dist/platform/platform-client/members.js.map +1 -0
- package/dist/platform/platform-client/shared.d.ts +44 -0
- package/dist/platform/platform-client/shared.d.ts.map +1 -0
- package/dist/platform/platform-client/shared.js +177 -0
- package/dist/platform/platform-client/shared.js.map +1 -0
- package/dist/platform/platform-client/ssh.d.ts +29 -0
- package/dist/platform/platform-client/ssh.d.ts.map +1 -0
- package/dist/platform/platform-client/ssh.js +14 -0
- package/dist/platform/platform-client/ssh.js.map +1 -0
- package/dist/platform/platform-client/types.d.ts +56 -0
- package/dist/platform/platform-client/types.d.ts.map +1 -0
- package/dist/platform/platform-client/types.js +19 -0
- package/dist/platform/platform-client/types.js.map +1 -0
- package/dist/platform/platform-client/updates.d.ts +117 -0
- package/dist/platform/platform-client/updates.d.ts.map +1 -0
- package/dist/platform/platform-client/updates.js +97 -0
- package/dist/platform/platform-client/updates.js.map +1 -0
- package/dist/platform/platform-client/urls.d.ts +18 -0
- package/dist/platform/platform-client/urls.d.ts.map +1 -0
- package/dist/platform/platform-client/urls.js +31 -0
- package/dist/platform/platform-client/urls.js.map +1 -0
- package/dist/platform/projects-client/access.d.ts +273 -0
- package/dist/platform/projects-client/access.d.ts.map +1 -0
- package/dist/platform/projects-client/access.js +89 -0
- package/dist/platform/projects-client/access.js.map +1 -0
- package/dist/platform/projects-client/accounts.d.ts +184 -0
- package/dist/platform/projects-client/accounts.d.ts.map +1 -0
- package/dist/platform/projects-client/accounts.js +78 -0
- package/dist/platform/projects-client/accounts.js.map +1 -0
- package/dist/platform/projects-client/agent-config.d.ts +58 -0
- package/dist/platform/projects-client/agent-config.d.ts.map +1 -0
- package/dist/platform/projects-client/agent-config.js +9 -0
- package/dist/platform/projects-client/agent-config.js.map +1 -0
- package/dist/platform/projects-client/agent-scope.d.ts +12 -0
- package/dist/platform/projects-client/agent-scope.d.ts.map +1 -0
- package/dist/platform/projects-client/agent-scope.js +6 -0
- package/dist/platform/projects-client/agent-scope.js.map +1 -0
- package/dist/platform/projects-client/apps.d.ts +98 -0
- package/dist/platform/projects-client/apps.d.ts.map +1 -0
- package/dist/platform/projects-client/apps.js +29 -0
- package/dist/platform/projects-client/apps.js.map +1 -0
- package/dist/platform/projects-client/audit.d.ts +85 -0
- package/dist/platform/projects-client/audit.d.ts.map +1 -0
- package/dist/platform/projects-client/audit.js +51 -0
- package/dist/platform/projects-client/audit.js.map +1 -0
- package/dist/platform/projects-client/billing.d.ts +336 -0
- package/dist/platform/projects-client/billing.d.ts.map +1 -0
- package/dist/platform/projects-client/billing.js +260 -0
- package/dist/platform/projects-client/billing.js.map +1 -0
- package/dist/platform/projects-client/change-requests.d.ts +119 -0
- package/dist/platform/projects-client/change-requests.d.ts.map +1 -0
- package/dist/platform/projects-client/change-requests.js +56 -0
- package/dist/platform/projects-client/change-requests.js.map +1 -0
- package/dist/platform/projects-client/channels.d.ts +135 -0
- package/dist/platform/projects-client/channels.d.ts.map +1 -0
- package/dist/platform/projects-client/channels.js +103 -0
- package/dist/platform/projects-client/channels.js.map +1 -0
- package/dist/platform/projects-client/connectors.d.ts +148 -0
- package/dist/platform/projects-client/connectors.d.ts.map +1 -0
- package/dist/platform/projects-client/connectors.js +66 -0
- package/dist/platform/projects-client/connectors.js.map +1 -0
- package/dist/platform/projects-client/files.d.ts +37 -0
- package/dist/platform/projects-client/files.d.ts.map +1 -0
- package/dist/platform/projects-client/files.js +58 -0
- package/dist/platform/projects-client/files.js.map +1 -0
- package/dist/platform/projects-client/gateway.d.ts +177 -0
- package/dist/platform/projects-client/gateway.d.ts.map +1 -0
- package/dist/platform/projects-client/gateway.js +59 -0
- package/dist/platform/projects-client/gateway.js.map +1 -0
- package/dist/platform/projects-client/git-history.d.ts +74 -0
- package/dist/platform/projects-client/git-history.d.ts.map +1 -0
- package/dist/platform/projects-client/git-history.js +40 -0
- package/dist/platform/projects-client/git-history.js.map +1 -0
- package/dist/platform/projects-client/github.d.ts +62 -0
- package/dist/platform/projects-client/github.d.ts.map +1 -0
- package/dist/platform/projects-client/github.js +30 -0
- package/dist/platform/projects-client/github.js.map +1 -0
- package/dist/platform/projects-client/index.d.ts +32 -0
- package/dist/platform/projects-client/index.d.ts.map +1 -0
- package/dist/platform/projects-client/index.js +34 -0
- package/dist/platform/projects-client/index.js.map +1 -0
- package/dist/platform/projects-client/marketplace-catalog.d.ts +76 -0
- package/dist/platform/projects-client/marketplace-catalog.d.ts.map +1 -0
- package/dist/platform/projects-client/marketplace-catalog.js +48 -0
- package/dist/platform/projects-client/marketplace-catalog.js.map +1 -0
- package/dist/platform/projects-client/marketplace.d.ts +80 -0
- package/dist/platform/projects-client/marketplace.d.ts.map +1 -0
- package/dist/platform/projects-client/marketplace.js +52 -0
- package/dist/platform/projects-client/marketplace.js.map +1 -0
- package/dist/platform/projects-client/model-defaults.d.ts +36 -0
- package/dist/platform/projects-client/model-defaults.d.ts.map +1 -0
- package/dist/platform/projects-client/model-defaults.js +16 -0
- package/dist/platform/projects-client/model-defaults.js.map +1 -0
- package/dist/platform/projects-client/policies.d.ts +21 -0
- package/dist/platform/projects-client/policies.d.ts.map +1 -0
- package/dist/platform/projects-client/policies.js +10 -0
- package/dist/platform/projects-client/policies.js.map +1 -0
- package/dist/platform/projects-client/projects.d.ts +235 -0
- package/dist/platform/projects-client/projects.d.ts.map +1 -0
- package/dist/platform/projects-client/projects.js +161 -0
- package/dist/platform/projects-client/projects.js.map +1 -0
- package/dist/platform/projects-client/public-session-shares.d.ts +52 -0
- package/dist/platform/projects-client/public-session-shares.d.ts.map +1 -0
- package/dist/platform/projects-client/public-session-shares.js +54 -0
- package/dist/platform/projects-client/public-session-shares.js.map +1 -0
- package/dist/platform/projects-client/review.d.ts +57 -0
- package/dist/platform/projects-client/review.d.ts.map +1 -0
- package/dist/platform/projects-client/review.js +28 -0
- package/dist/platform/projects-client/review.js.map +1 -0
- package/dist/platform/projects-client/sandbox-shares.d.ts +25 -0
- package/dist/platform/projects-client/sandbox-shares.d.ts.map +1 -0
- package/dist/platform/projects-client/sandbox-shares.js +29 -0
- package/dist/platform/projects-client/sandbox-shares.js.map +1 -0
- package/dist/platform/projects-client/sandbox.d.ts +123 -0
- package/dist/platform/projects-client/sandbox.d.ts.map +1 -0
- package/dist/platform/projects-client/sandbox.js +45 -0
- package/dist/platform/projects-client/sandbox.js.map +1 -0
- package/dist/platform/projects-client/secrets.d.ts +122 -0
- package/dist/platform/projects-client/secrets.d.ts.map +1 -0
- package/dist/platform/projects-client/secrets.js +34 -0
- package/dist/platform/projects-client/secrets.js.map +1 -0
- package/dist/platform/projects-client/session-sandbox.d.ts +61 -0
- package/dist/platform/projects-client/session-sandbox.d.ts.map +1 -0
- package/dist/platform/projects-client/session-sandbox.js +82 -0
- package/dist/platform/projects-client/session-sandbox.js.map +1 -0
- package/dist/platform/projects-client/sessions.d.ts +216 -0
- package/dist/platform/projects-client/sessions.d.ts.map +1 -0
- package/dist/platform/projects-client/sessions.js +74 -0
- package/dist/platform/projects-client/sessions.js.map +1 -0
- package/dist/platform/projects-client/setup-links.d.ts +35 -0
- package/dist/platform/projects-client/setup-links.d.ts.map +1 -0
- package/dist/platform/projects-client/setup-links.js +24 -0
- package/dist/platform/projects-client/setup-links.js.map +1 -0
- package/dist/platform/projects-client/shared.d.ts +66 -0
- package/dist/platform/projects-client/shared.d.ts.map +1 -0
- package/dist/platform/projects-client/shared.js +44 -0
- package/dist/platform/projects-client/shared.js.map +1 -0
- package/dist/platform/projects-client/tokens.d.ts +77 -0
- package/dist/platform/projects-client/tokens.d.ts.map +1 -0
- package/dist/platform/projects-client/tokens.js +43 -0
- package/dist/platform/projects-client/tokens.js.map +1 -0
- package/dist/platform/projects-client/transcription.d.ts +5 -0
- package/dist/platform/projects-client/transcription.d.ts.map +1 -0
- package/dist/platform/projects-client/transcription.js +14 -0
- package/dist/platform/projects-client/transcription.js.map +1 -0
- package/dist/platform/projects-client/triggers.d.ts +102 -0
- package/dist/platform/projects-client/triggers.d.ts.map +1 -0
- package/dist/platform/projects-client/triggers.js +27 -0
- package/dist/platform/projects-client/triggers.js.map +1 -0
- package/dist/platform/session-id.d.ts +9 -0
- package/dist/platform/session-id.d.ts.map +1 -0
- package/dist/platform/session-id.js +23 -0
- package/dist/platform/session-id.js.map +1 -0
- package/dist/platform/storage/managed-storage.d.ts +97 -0
- package/dist/platform/storage/managed-storage.d.ts.map +1 -0
- package/dist/platform/storage/managed-storage.js +271 -0
- package/dist/platform/storage/managed-storage.js.map +1 -0
- package/dist/platform/strings.d.ts +12 -0
- package/dist/platform/strings.d.ts.map +1 -0
- package/dist/platform/strings.js +17 -0
- package/dist/platform/strings.js.map +1 -0
- package/dist/platform/ui.d.ts +11 -0
- package/dist/platform/ui.d.ts.map +1 -0
- package/dist/platform/ui.js +22 -0
- package/dist/platform/ui.js.map +1 -0
- package/dist/react/chat/index.d.ts +3 -0
- package/dist/react/chat/index.d.ts.map +1 -0
- package/dist/react/chat/index.js +7 -0
- package/dist/react/chat/index.js.map +1 -0
- package/dist/react/chat/render-parts.d.ts +39 -0
- package/dist/react/chat/render-parts.d.ts.map +1 -0
- package/dist/react/chat/render-parts.js +34 -0
- package/dist/react/chat/render-parts.js.map +1 -0
- package/dist/react/chat/use-chat-turns.d.ts +19 -0
- package/dist/react/chat/use-chat-turns.d.ts.map +1 -0
- package/dist/react/chat/use-chat-turns.js +27 -0
- package/dist/react/chat/use-chat-turns.js.map +1 -0
- package/dist/react/file-keys.d.ts +18 -0
- package/dist/react/file-keys.d.ts.map +1 -0
- package/dist/react/file-keys.js +18 -0
- package/dist/react/file-keys.js.map +1 -0
- package/dist/react/index.d.ts +12 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +49 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/model-flatten.d.ts +33 -0
- package/dist/react/model-flatten.d.ts.map +1 -0
- package/dist/react/model-flatten.js +59 -0
- package/dist/react/model-flatten.js.map +1 -0
- package/dist/react/opencode.d.ts +43 -0
- package/dist/react/opencode.d.ts.map +1 -0
- package/dist/react/opencode.js +100 -0
- package/dist/react/opencode.js.map +1 -0
- package/dist/react/prefetch-session-start.d.ts +10 -0
- package/dist/react/prefetch-session-start.d.ts.map +1 -0
- package/dist/react/prefetch-session-start.js +17 -0
- package/dist/react/prefetch-session-start.js.map +1 -0
- package/dist/react/provider-refresh.d.ts +7 -0
- package/dist/react/provider-refresh.d.ts.map +1 -0
- package/dist/react/provider-refresh.js +28 -0
- package/dist/react/provider-refresh.js.map +1 -0
- package/dist/react/provider-selection.d.ts +31 -0
- package/dist/react/provider-selection.d.ts.map +1 -0
- package/dist/react/provider-selection.js +135 -0
- package/dist/react/provider-selection.js.map +1 -0
- package/dist/react/route-project.d.ts +7 -0
- package/dist/react/route-project.d.ts.map +1 -0
- package/dist/react/route-project.js +19 -0
- package/dist/react/route-project.js.map +1 -0
- package/dist/react/session-start-stash.d.ts +56 -0
- package/dist/react/session-start-stash.d.ts.map +1 -0
- package/dist/react/session-start-stash.js +202 -0
- package/dist/react/session-start-stash.js.map +1 -0
- package/dist/react/use-canonical-opencode-session.d.ts +35 -0
- package/dist/react/use-canonical-opencode-session.d.ts.map +1 -0
- package/dist/react/use-canonical-opencode-session.js +52 -0
- package/dist/react/use-canonical-opencode-session.js.map +1 -0
- package/dist/react/use-change-requests.d.ts +321 -0
- package/dist/react/use-change-requests.d.ts.map +1 -0
- package/dist/react/use-change-requests.js +43 -0
- package/dist/react/use-change-requests.js.map +1 -0
- package/dist/react/use-current-runtime.d.ts +8 -0
- package/dist/react/use-current-runtime.d.ts.map +1 -0
- package/dist/react/use-current-runtime.js +12 -0
- package/dist/react/use-current-runtime.js.map +1 -0
- package/dist/react/use-gateway-catalog-sync.d.ts +2 -0
- package/dist/react/use-gateway-catalog-sync.d.ts.map +1 -0
- package/dist/react/use-gateway-catalog-sync.js +39 -0
- package/dist/react/use-gateway-catalog-sync.js.map +1 -0
- package/dist/react/use-kortix-master.d.ts +384 -0
- package/dist/react/use-kortix-master.d.ts.map +1 -0
- package/dist/react/use-kortix-master.js +958 -0
- package/dist/react/use-kortix-master.js.map +1 -0
- package/dist/react/use-model-store.d.ts +71 -0
- package/dist/react/use-model-store.d.ts.map +1 -0
- package/dist/react/use-model-store.js +411 -0
- package/dist/react/use-model-store.js.map +1 -0
- package/dist/react/use-opencode-config.d.ts +15 -0
- package/dist/react/use-opencode-config.d.ts.map +1 -0
- package/dist/react/use-opencode-config.js +79 -0
- package/dist/react/use-opencode-config.js.map +1 -0
- package/dist/react/use-opencode-events/diagnostics.d.ts +11 -0
- package/dist/react/use-opencode-events/diagnostics.d.ts.map +1 -0
- package/dist/react/use-opencode-events/diagnostics.js +58 -0
- package/dist/react/use-opencode-events/diagnostics.js.map +1 -0
- package/dist/react/use-opencode-events/handle-event.d.ts +20 -0
- package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -0
- package/dist/react/use-opencode-events/handle-event.js +450 -0
- package/dist/react/use-opencode-events/handle-event.js.map +1 -0
- package/dist/react/use-opencode-events/helpers.d.ts +30 -0
- package/dist/react/use-opencode-events/helpers.d.ts.map +1 -0
- package/dist/react/use-opencode-events/helpers.js +93 -0
- package/dist/react/use-opencode-events/helpers.js.map +1 -0
- package/dist/react/use-opencode-events/index.d.ts +25 -0
- package/dist/react/use-opencode-events/index.d.ts.map +1 -0
- package/dist/react/use-opencode-events/index.js +242 -0
- package/dist/react/use-opencode-events/index.js.map +1 -0
- package/dist/react/use-opencode-events/types.d.ts +10 -0
- package/dist/react/use-opencode-events/types.d.ts.map +1 -0
- package/dist/react/use-opencode-events/types.js +2 -0
- package/dist/react/use-opencode-events/types.js.map +1 -0
- package/dist/react/use-opencode-events/use-event-stream-refs.d.ts +22 -0
- package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -0
- package/dist/react/use-opencode-events/use-event-stream-refs.js +158 -0
- package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -0
- package/dist/react/use-opencode-local.d.ts +139 -0
- package/dist/react/use-opencode-local.d.ts.map +1 -0
- package/dist/react/use-opencode-local.js +484 -0
- package/dist/react/use-opencode-local.js.map +1 -0
- package/dist/react/use-opencode-mcp.d.ts +34 -0
- package/dist/react/use-opencode-mcp.d.ts.map +1 -0
- package/dist/react/use-opencode-mcp.js +190 -0
- package/dist/react/use-opencode-mcp.js.map +1 -0
- package/dist/react/use-opencode-pty.d.ts +30 -0
- package/dist/react/use-opencode-pty.d.ts.map +1 -0
- package/dist/react/use-opencode-pty.js +126 -0
- package/dist/react/use-opencode-pty.js.map +1 -0
- package/dist/react/use-opencode-sessions/agents.d.ts +14 -0
- package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/agents.js +82 -0
- package/dist/react/use-opencode-sessions/agents.js.map +1 -0
- package/dist/react/use-opencode-sessions/commands.d.ts +8 -0
- package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/commands.js +46 -0
- package/dist/react/use-opencode-sessions/commands.js.map +1 -0
- package/dist/react/use-opencode-sessions/files.d.ts +2 -0
- package/dist/react/use-opencode-sessions/files.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/files.js +181 -0
- package/dist/react/use-opencode-sessions/files.js.map +1 -0
- package/dist/react/use-opencode-sessions/index.d.ts +15 -0
- package/dist/react/use-opencode-sessions/index.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/index.js +21 -0
- package/dist/react/use-opencode-sessions/index.js.map +1 -0
- package/dist/react/use-opencode-sessions/keys.d.ts +94 -0
- package/dist/react/use-opencode-sessions/keys.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/keys.js +39 -0
- package/dist/react/use-opencode-sessions/keys.js.map +1 -0
- package/dist/react/use-opencode-sessions/mcp.d.ts +3 -0
- package/dist/react/use-opencode-sessions/mcp.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/mcp.js +23 -0
- package/dist/react/use-opencode-sessions/mcp.js.map +1 -0
- package/dist/react/use-opencode-sessions/messages.d.ts +75 -0
- package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/messages.js +319 -0
- package/dist/react/use-opencode-sessions/messages.js.map +1 -0
- package/dist/react/use-opencode-sessions/parts.d.ts +23 -0
- package/dist/react/use-opencode-sessions/parts.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/parts.js +49 -0
- package/dist/react/use-opencode-sessions/parts.js.map +1 -0
- package/dist/react/use-opencode-sessions/permissions.d.ts +17 -0
- package/dist/react/use-opencode-sessions/permissions.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/permissions.js +66 -0
- package/dist/react/use-opencode-sessions/permissions.js.map +1 -0
- package/dist/react/use-opencode-sessions/projects.d.ts +5 -0
- package/dist/react/use-opencode-sessions/projects.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/projects.js +54 -0
- package/dist/react/use-opencode-sessions/projects.js.map +1 -0
- package/dist/react/use-opencode-sessions/providers.d.ts +10 -0
- package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/providers.js +98 -0
- package/dist/react/use-opencode-sessions/providers.js.map +1 -0
- package/dist/react/use-opencode-sessions/sessions.d.ts +35 -0
- package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/sessions.js +380 -0
- package/dist/react/use-opencode-sessions/sessions.js.map +1 -0
- package/dist/react/use-opencode-sessions/shared.d.ts +43 -0
- package/dist/react/use-opencode-sessions/shared.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/shared.js +109 -0
- package/dist/react/use-opencode-sessions/shared.js.map +1 -0
- package/dist/react/use-opencode-sessions/sharing.d.ts +4 -0
- package/dist/react/use-opencode-sessions/sharing.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/sharing.js +57 -0
- package/dist/react/use-opencode-sessions/sharing.js.map +1 -0
- package/dist/react/use-opencode-sessions/tools.d.ts +5 -0
- package/dist/react/use-opencode-sessions/tools.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/tools.js +54 -0
- package/dist/react/use-opencode-sessions/tools.js.map +1 -0
- package/dist/react/use-permission-self-heal.d.ts +45 -0
- package/dist/react/use-permission-self-heal.d.ts.map +1 -0
- package/dist/react/use-permission-self-heal.js +144 -0
- package/dist/react/use-permission-self-heal.js.map +1 -0
- package/dist/react/use-project-config.d.ts +11 -0
- package/dist/react/use-project-config.d.ts.map +1 -0
- package/dist/react/use-project-config.js +22 -0
- package/dist/react/use-project-config.js.map +1 -0
- package/dist/react/use-project-models.d.ts +11 -0
- package/dist/react/use-project-models.d.ts.map +1 -0
- package/dist/react/use-project-models.js +25 -0
- package/dist/react/use-project-models.js.map +1 -0
- package/dist/react/use-project-secrets.d.ts +265 -0
- package/dist/react/use-project-secrets.d.ts.map +1 -0
- package/dist/react/use-project-secrets.js +41 -0
- package/dist/react/use-project-secrets.js.map +1 -0
- package/dist/react/use-project-triggers.d.ts +228 -0
- package/dist/react/use-project-triggers.d.ts.map +1 -0
- package/dist/react/use-project-triggers.js +42 -0
- package/dist/react/use-project-triggers.js.map +1 -0
- package/dist/react/use-question-self-heal.d.ts +36 -0
- package/dist/react/use-question-self-heal.d.ts.map +1 -0
- package/dist/react/use-question-self-heal.js +95 -0
- package/dist/react/use-question-self-heal.js.map +1 -0
- package/dist/react/use-runtime-phase.d.ts +9 -0
- package/dist/react/use-runtime-phase.d.ts.map +1 -0
- package/dist/react/use-runtime-phase.js +20 -0
- package/dist/react/use-runtime-phase.js.map +1 -0
- package/dist/react/use-runtime-reconnect.d.ts +90 -0
- package/dist/react/use-runtime-reconnect.d.ts.map +1 -0
- package/dist/react/use-runtime-reconnect.js +234 -0
- package/dist/react/use-runtime-reconnect.js.map +1 -0
- package/dist/react/use-session-picks.d.ts +17 -0
- package/dist/react/use-session-picks.d.ts.map +1 -0
- package/dist/react/use-session-picks.js +36 -0
- package/dist/react/use-session-picks.js.map +1 -0
- package/dist/react/use-session-prefetch.d.ts +18 -0
- package/dist/react/use-session-prefetch.d.ts.map +1 -0
- package/dist/react/use-session-prefetch.js +84 -0
- package/dist/react/use-session-prefetch.js.map +1 -0
- package/dist/react/use-session-send.d.ts +183 -0
- package/dist/react/use-session-send.d.ts.map +1 -0
- package/dist/react/use-session-send.js +287 -0
- package/dist/react/use-session-send.js.map +1 -0
- package/dist/react/use-session-sync.d.ts +24 -0
- package/dist/react/use-session-sync.d.ts.map +1 -0
- package/dist/react/use-session-sync.js +375 -0
- package/dist/react/use-session-sync.js.map +1 -0
- package/dist/react/use-session.d.ts +171 -0
- package/dist/react/use-session.d.ts.map +1 -0
- package/dist/react/use-session.js +396 -0
- package/dist/react/use-session.js.map +1 -0
- package/dist/react/use-visible-agents.d.ts +22 -0
- package/dist/react/use-visible-agents.d.ts.map +1 -0
- package/dist/react/use-visible-agents.js +45 -0
- package/dist/react/use-visible-agents.js.map +1 -0
- package/dist/server.d.ts +55 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +122 -0
- package/dist/server.js.map +1 -0
- package/dist/session/health.d.ts +49 -0
- package/dist/session/health.d.ts.map +1 -0
- package/dist/session/health.js +57 -0
- package/dist/session/health.js.map +1 -0
- package/dist/session/index.d.ts +19 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +19 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/preview.d.ts +24 -0
- package/dist/session/preview.d.ts.map +1 -0
- package/dist/session/preview.js +85 -0
- package/dist/session/preview.js.map +1 -0
- package/dist/session/url.d.ts +160 -0
- package/dist/session/url.d.ts.map +1 -0
- package/dist/session/url.js +522 -0
- package/dist/session/url.js.map +1 -0
- package/dist/state/chat-events.d.ts +141 -0
- package/dist/state/chat-events.d.ts.map +1 -0
- package/dist/state/chat-events.js +135 -0
- package/dist/state/chat-events.js.map +1 -0
- package/dist/state/current-runtime.d.ts +44 -0
- package/dist/state/current-runtime.d.ts.map +1 -0
- package/dist/state/current-runtime.js +44 -0
- package/dist/state/current-runtime.js.map +1 -0
- package/dist/state/diagnostics-store.d.ts +114 -0
- package/dist/state/diagnostics-store.d.ts.map +1 -0
- package/dist/state/diagnostics-store.js +319 -0
- package/dist/state/diagnostics-store.js.map +1 -0
- package/dist/state/event-stream.d.ts +134 -0
- package/dist/state/event-stream.d.ts.map +1 -0
- package/dist/state/event-stream.js +424 -0
- package/dist/state/event-stream.js.map +1 -0
- package/dist/state/idb-sync-cache.d.ts +18 -0
- package/dist/state/idb-sync-cache.d.ts.map +1 -0
- package/dist/state/idb-sync-cache.js +209 -0
- package/dist/state/idb-sync-cache.js.map +1 -0
- package/dist/state/opencode-compaction-store.d.ts +10 -0
- package/dist/state/opencode-compaction-store.d.ts.map +1 -0
- package/dist/state/opencode-compaction-store.js +32 -0
- package/dist/state/opencode-compaction-store.js.map +1 -0
- package/dist/state/opencode-pending-store.d.ts +19 -0
- package/dist/state/opencode-pending-store.d.ts.map +1 -0
- package/dist/state/opencode-pending-store.js +76 -0
- package/dist/state/opencode-pending-store.js.map +1 -0
- package/dist/state/sandbox-connection-store.d.ts +62 -0
- package/dist/state/sandbox-connection-store.d.ts.map +1 -0
- package/dist/state/sandbox-connection-store.js +290 -0
- package/dist/state/sandbox-connection-store.js.map +1 -0
- package/dist/state/server-store/active.d.ts +49 -0
- package/dist/state/server-store/active.d.ts.map +1 -0
- package/dist/state/server-store/active.js +76 -0
- package/dist/state/server-store/active.js.map +1 -0
- package/dist/state/server-store/types.d.ts +12 -0
- package/dist/state/server-store/types.d.ts.map +1 -0
- package/dist/state/server-store/types.js +2 -0
- package/dist/state/server-store/types.js.map +1 -0
- package/dist/state/server-store/url-helpers.d.ts +33 -0
- package/dist/state/server-store/url-helpers.d.ts.map +1 -0
- package/dist/state/server-store/url-helpers.js +55 -0
- package/dist/state/server-store/url-helpers.js.map +1 -0
- package/dist/state/server-store.d.ts +18 -0
- package/dist/state/server-store.d.ts.map +1 -0
- package/dist/state/server-store.js +23 -0
- package/dist/state/server-store.js.map +1 -0
- package/dist/state/session-runtime-registry.d.ts +49 -0
- package/dist/state/session-runtime-registry.d.ts.map +1 -0
- package/dist/state/session-runtime-registry.js +85 -0
- package/dist/state/session-runtime-registry.js.map +1 -0
- package/dist/state/sync-store/ascending-id.d.ts +2 -0
- package/dist/state/sync-store/ascending-id.d.ts.map +1 -0
- package/dist/state/sync-store/ascending-id.js +21 -0
- package/dist/state/sync-store/ascending-id.js.map +1 -0
- package/dist/state/sync-store/binary.d.ts +7 -0
- package/dist/state/sync-store/binary.d.ts.map +1 -0
- package/dist/state/sync-store/binary.js +21 -0
- package/dist/state/sync-store/binary.js.map +1 -0
- package/dist/state/sync-store/stream-cache.d.ts +2 -0
- package/dist/state/sync-store/stream-cache.d.ts.map +1 -0
- package/dist/state/sync-store/stream-cache.js +29 -0
- package/dist/state/sync-store/stream-cache.js.map +1 -0
- package/dist/state/sync-store/types.d.ts +29 -0
- package/dist/state/sync-store/types.d.ts.map +1 -0
- package/dist/state/sync-store/types.js +2 -0
- package/dist/state/sync-store/types.js.map +1 -0
- package/dist/state/sync-store.d.ts +39 -0
- package/dist/state/sync-store.d.ts.map +1 -0
- package/dist/state/sync-store.js +692 -0
- package/dist/state/sync-store.js.map +1 -0
- package/dist/state/tab-store.d.ts +91 -0
- package/dist/state/tab-store.d.ts.map +1 -0
- package/dist/state/tab-store.js +369 -0
- package/dist/state/tab-store.js.map +1 -0
- package/dist/transcript.d.ts +40 -0
- package/dist/transcript.d.ts.map +1 -0
- package/dist/transcript.js +126 -0
- package/dist/transcript.js.map +1 -0
- package/dist/turns/classify.d.ts +166 -0
- package/dist/turns/classify.d.ts.map +1 -0
- package/dist/turns/classify.js +259 -0
- package/dist/turns/classify.js.map +1 -0
- package/dist/turns/errors.d.ts +11 -0
- package/dist/turns/errors.d.ts.map +1 -0
- package/dist/turns/errors.js +85 -0
- package/dist/turns/errors.js.map +1 -0
- package/dist/turns/index.d.ts +264 -0
- package/dist/turns/index.d.ts.map +1 -0
- package/dist/turns/index.js +1243 -0
- package/dist/turns/index.js.map +1 -0
- package/dist/turns/tool-registry.d.ts +33 -0
- package/dist/turns/tool-registry.d.ts.map +1 -0
- package/dist/turns/tool-registry.js +108 -0
- package/dist/turns/tool-registry.js.map +1 -0
- package/dist/turns/types.d.ts +125 -0
- package/dist/turns/types.d.ts.map +1 -0
- package/dist/turns/types.js +12 -0
- package/dist/turns/types.js.map +1 -0
- package/dist/turns/view-model.d.ts +127 -0
- package/dist/turns/view-model.d.ts.map +1 -0
- package/dist/turns/view-model.js +401 -0
- package/dist/turns/view-model.js.map +1 -0
- package/package.json +155 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { type ApiClientOptions } from '../api-client.js';
|
|
2
|
+
import { type AccountRole, type ProjectRole } from './shared.js';
|
|
3
|
+
export interface ProjectGroupAccessSource {
|
|
4
|
+
group_id: string;
|
|
5
|
+
group_name: string;
|
|
6
|
+
role: ProjectRole;
|
|
7
|
+
}
|
|
8
|
+
export interface ProjectAccessMember {
|
|
9
|
+
user_id: string;
|
|
10
|
+
email: string | null;
|
|
11
|
+
account_role: AccountRole;
|
|
12
|
+
project_role: ProjectRole | null;
|
|
13
|
+
effective_project_role: ProjectRole | null;
|
|
14
|
+
has_implicit_access: boolean;
|
|
15
|
+
/** Which path produced effective_project_role. 'implicit' = account
|
|
16
|
+
* owner/admin; 'direct' = explicit project_members row; 'group' =
|
|
17
|
+
* inherited via a project_group_grants attachment. null = no access. */
|
|
18
|
+
effective_source?: 'implicit' | 'direct' | 'group' | null;
|
|
19
|
+
/** Every group attachment that includes this user, sorted by role
|
|
20
|
+
* desc. Used to label "via X group" on the row. */
|
|
21
|
+
group_sources?: ProjectGroupAccessSource[];
|
|
22
|
+
joined_at: string;
|
|
23
|
+
granted_by: string | null;
|
|
24
|
+
granted_at: string | null;
|
|
25
|
+
updated_at: string | null;
|
|
26
|
+
/** Auto-revoke timestamp for the DIRECT grant (ISO). null = permanent
|
|
27
|
+
* or no direct grant. */
|
|
28
|
+
expires_at?: string | null;
|
|
29
|
+
}
|
|
30
|
+
export interface ProjectAccessResponse {
|
|
31
|
+
project_id: string;
|
|
32
|
+
account_id: string;
|
|
33
|
+
can_manage: boolean;
|
|
34
|
+
viewer_user_id: string;
|
|
35
|
+
members: ProjectAccessMember[];
|
|
36
|
+
}
|
|
37
|
+
export interface ProjectAccessRequest {
|
|
38
|
+
request_id: string;
|
|
39
|
+
account_id: string;
|
|
40
|
+
project_id: string;
|
|
41
|
+
requester_user_id: string;
|
|
42
|
+
requester_email: string;
|
|
43
|
+
message: string | null;
|
|
44
|
+
status: 'pending' | 'approved' | 'rejected';
|
|
45
|
+
reviewed_by: string | null;
|
|
46
|
+
reviewed_at: string | null;
|
|
47
|
+
created_at: string;
|
|
48
|
+
updated_at: string;
|
|
49
|
+
}
|
|
50
|
+
export type RequestProjectAccessResult = {
|
|
51
|
+
status: 'created';
|
|
52
|
+
request: ProjectAccessRequest;
|
|
53
|
+
} | {
|
|
54
|
+
status: 'pending';
|
|
55
|
+
request: ProjectAccessRequest;
|
|
56
|
+
} | {
|
|
57
|
+
status: 'already_has_access';
|
|
58
|
+
project_id: string;
|
|
59
|
+
};
|
|
60
|
+
export declare function requestProjectAccess(projectId: string, message?: string): Promise<{
|
|
61
|
+
status: "created";
|
|
62
|
+
request: ProjectAccessRequest;
|
|
63
|
+
} | {
|
|
64
|
+
status: "pending";
|
|
65
|
+
request: ProjectAccessRequest;
|
|
66
|
+
} | {
|
|
67
|
+
status: "already_has_access";
|
|
68
|
+
project_id: string;
|
|
69
|
+
}>;
|
|
70
|
+
export declare function listProjectAccessRequests(projectId: string, options?: ApiClientOptions): Promise<{
|
|
71
|
+
requests: ProjectAccessRequest[];
|
|
72
|
+
}>;
|
|
73
|
+
export declare function approveProjectAccessRequest(projectId: string, requestId: string, role?: ProjectRole): Promise<{
|
|
74
|
+
request: ProjectAccessRequest;
|
|
75
|
+
member: ProjectAccessMember;
|
|
76
|
+
}>;
|
|
77
|
+
export declare function rejectProjectAccessRequest(projectId: string, requestId: string): Promise<{
|
|
78
|
+
request: ProjectAccessRequest;
|
|
79
|
+
}>;
|
|
80
|
+
export declare function listProjectAccess(projectId: string): Promise<ProjectAccessResponse>;
|
|
81
|
+
export declare function updateProjectAccess(projectId: string, userId: string, role: ProjectRole): Promise<ProjectAccessMember>;
|
|
82
|
+
export declare function revokeProjectAccess(projectId: string, userId: string): Promise<{
|
|
83
|
+
ok: boolean;
|
|
84
|
+
}>;
|
|
85
|
+
/** Two-shape response:
|
|
86
|
+
* - User had a Kortix account already → ProjectAccessMember row was
|
|
87
|
+
* inserted/updated; UI refreshes the access list and shows them.
|
|
88
|
+
* - User had no Kortix account → an account invitation was created
|
|
89
|
+
* with a bootstrap_grant. UI shows "invitation sent" and skips the
|
|
90
|
+
* access-list refresh (the user won't appear until they accept). */
|
|
91
|
+
export type InviteProjectMemberResult = ProjectAccessMember | {
|
|
92
|
+
status: 'invited';
|
|
93
|
+
email: string;
|
|
94
|
+
invite_id: string;
|
|
95
|
+
project_role: ProjectRole;
|
|
96
|
+
message: string;
|
|
97
|
+
/** Public invite link — share manually when email delivery is skipped. */
|
|
98
|
+
invite_url: string;
|
|
99
|
+
/** false = invite email skipped (e.g. Mailtrap unconfigured) or failed. */
|
|
100
|
+
email_sent: boolean;
|
|
101
|
+
email_skip_reason: string | null;
|
|
102
|
+
};
|
|
103
|
+
export declare function isInviteSent(r: InviteProjectMemberResult): r is Extract<InviteProjectMemberResult, {
|
|
104
|
+
status: 'invited';
|
|
105
|
+
}>;
|
|
106
|
+
export declare function inviteProjectMember(projectId: string, email: string, role: ProjectRole): Promise<ProjectAccessMember | {
|
|
107
|
+
status: "invited";
|
|
108
|
+
email: string;
|
|
109
|
+
invite_id: string;
|
|
110
|
+
project_role: ProjectRole;
|
|
111
|
+
message: string;
|
|
112
|
+
/** Public invite link — share manually when email delivery is skipped. */
|
|
113
|
+
invite_url: string;
|
|
114
|
+
/** false = invite email skipped (e.g. Mailtrap unconfigured) or failed. */
|
|
115
|
+
email_sent: boolean;
|
|
116
|
+
email_skip_reason: string | null;
|
|
117
|
+
}>;
|
|
118
|
+
/** Pending account-invitation that bootstraps into THIS project on accept.
|
|
119
|
+
* Shape mirrors the backend GET /access/pending-invites response.
|
|
120
|
+
*
|
|
121
|
+
* `expires_at` here is the *grant's* time-bounded clock (auto-revoke once
|
|
122
|
+
* they're in). `invite_expires_at` is the *invitation* clock — after that
|
|
123
|
+
* the user can't redeem the link and needs a resend. */
|
|
124
|
+
export interface PendingProjectInvite {
|
|
125
|
+
invite_id: string;
|
|
126
|
+
email: string;
|
|
127
|
+
project_role: ProjectRole;
|
|
128
|
+
expires_at: string | null;
|
|
129
|
+
invited_by_email: string | null;
|
|
130
|
+
created_at: string;
|
|
131
|
+
invite_expires_at: string;
|
|
132
|
+
invite_expired: boolean;
|
|
133
|
+
}
|
|
134
|
+
export declare function listPendingProjectInvites(projectId: string): Promise<{
|
|
135
|
+
pending: PendingProjectInvite[];
|
|
136
|
+
}>;
|
|
137
|
+
export declare function revokePendingProjectInvite(projectId: string, inviteId: string): Promise<{
|
|
138
|
+
ok: boolean;
|
|
139
|
+
invitation_cancelled: boolean;
|
|
140
|
+
}>;
|
|
141
|
+
export interface ResendProjectInviteResult {
|
|
142
|
+
ok: boolean;
|
|
143
|
+
expires_at: string;
|
|
144
|
+
invite_url: string;
|
|
145
|
+
email_sent: boolean;
|
|
146
|
+
email_skip_reason: string | null;
|
|
147
|
+
}
|
|
148
|
+
export declare function resendPendingProjectInvite(projectId: string, inviteId: string): Promise<ResendProjectInviteResult>;
|
|
149
|
+
export interface ProjectGroupGrant {
|
|
150
|
+
group_id: string;
|
|
151
|
+
group_name: string;
|
|
152
|
+
role: ProjectRole;
|
|
153
|
+
granted_by: string | null;
|
|
154
|
+
created_at: string;
|
|
155
|
+
/** Auto-revoke timestamp (ISO). null = permanent. */
|
|
156
|
+
expires_at?: string | null;
|
|
157
|
+
/** Total members in this group. */
|
|
158
|
+
member_count?: number;
|
|
159
|
+
/** Members who are account owners/admins — they get implicit Manager
|
|
160
|
+
* on every project, so this grant's role doesn't apply to them. */
|
|
161
|
+
override_count?: number;
|
|
162
|
+
}
|
|
163
|
+
export declare function listProjectGroupGrants(projectId: string): Promise<{
|
|
164
|
+
grants: ProjectGroupGrant[];
|
|
165
|
+
}>;
|
|
166
|
+
export declare function attachGroupToProject(projectId: string, groupId: string, role: ProjectRole, expiresAt?: string | null): Promise<{
|
|
167
|
+
project_id: string;
|
|
168
|
+
group_id: string;
|
|
169
|
+
role: ProjectRole;
|
|
170
|
+
}>;
|
|
171
|
+
export declare function updateProjectGroupGrant(projectId: string, groupId: string, role: ProjectRole, expiresAt?: string | null): Promise<{
|
|
172
|
+
project_id: string;
|
|
173
|
+
group_id: string;
|
|
174
|
+
role: ProjectRole;
|
|
175
|
+
}>;
|
|
176
|
+
export declare function detachGroupFromProject(projectId: string, groupId: string): Promise<{
|
|
177
|
+
ok: boolean;
|
|
178
|
+
}>;
|
|
179
|
+
export type ResourceGrantType = 'agent' | 'skill' | 'secret';
|
|
180
|
+
/** A grantable resource (agent name / skill slug) discovered from the repo. */
|
|
181
|
+
export interface ProjectResourceItem {
|
|
182
|
+
/** Stable grant key — agent name / skill slug. */
|
|
183
|
+
id: string;
|
|
184
|
+
/** Display name. */
|
|
185
|
+
name: string;
|
|
186
|
+
description: string | null;
|
|
187
|
+
}
|
|
188
|
+
/** An agent resource, enriched with its DECLARED scope so the grant UI can
|
|
189
|
+
* preview the blast radius of an assignment (the inheritance pyramid): assigning
|
|
190
|
+
* the agent also grants these secrets + connectors. `'all'` = every one the
|
|
191
|
+
* assignee can already see (nothing extra inherited). */
|
|
192
|
+
export interface ProjectAgentResourceItem extends ProjectResourceItem {
|
|
193
|
+
declares?: {
|
|
194
|
+
secrets: string[] | 'all';
|
|
195
|
+
connectors: string[] | 'all';
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
export interface ProjectResourceGrant {
|
|
199
|
+
grant_id: string;
|
|
200
|
+
resource_type: ResourceGrantType;
|
|
201
|
+
resource_id: string;
|
|
202
|
+
principal_type: 'member' | 'group';
|
|
203
|
+
principal_id: string;
|
|
204
|
+
/** Resolved label — member email or group name. */
|
|
205
|
+
principal_label: string;
|
|
206
|
+
granted_by: string | null;
|
|
207
|
+
created_at: string;
|
|
208
|
+
expires_at: string | null;
|
|
209
|
+
/** true = the scoped agent/skill no longer exists (renamed/deleted) — the
|
|
210
|
+
* grant is inert and the restriction has lapsed; remove or re-point it. */
|
|
211
|
+
orphaned?: boolean;
|
|
212
|
+
}
|
|
213
|
+
export interface ProjectResourceGrantsResponse {
|
|
214
|
+
resources: {
|
|
215
|
+
agents: ProjectAgentResourceItem[];
|
|
216
|
+
skills: ProjectResourceItem[];
|
|
217
|
+
/** Secret sharing was retired (a secret is always project-wide; the only
|
|
218
|
+
* access gate is the agent-side `secrets` grant) — never populated, kept
|
|
219
|
+
* optional for older API responses. */
|
|
220
|
+
secrets?: ProjectResourceItem[];
|
|
221
|
+
};
|
|
222
|
+
grants: ProjectResourceGrant[];
|
|
223
|
+
}
|
|
224
|
+
export declare function listProjectResourceGrants(projectId: string): Promise<ProjectResourceGrantsResponse>;
|
|
225
|
+
export declare function createProjectResourceGrant(projectId: string, input: {
|
|
226
|
+
resourceType: ResourceGrantType;
|
|
227
|
+
resourceId: string;
|
|
228
|
+
principalType: 'member' | 'group';
|
|
229
|
+
principalId: string;
|
|
230
|
+
expiresAt?: string | null;
|
|
231
|
+
}): Promise<{
|
|
232
|
+
grant_id: string;
|
|
233
|
+
}>;
|
|
234
|
+
export declare function deleteProjectResourceGrant(projectId: string, grantId: string): Promise<{
|
|
235
|
+
ok: boolean;
|
|
236
|
+
}>;
|
|
237
|
+
/** An executor action a policy gated as `require_approval`, still awaiting a
|
|
238
|
+
* human decision. */
|
|
239
|
+
export interface PendingApproval {
|
|
240
|
+
execution_id: string;
|
|
241
|
+
action: string;
|
|
242
|
+
risk: string | null;
|
|
243
|
+
session_id: string | null;
|
|
244
|
+
requested_by: string | null;
|
|
245
|
+
requested_by_email: string | null;
|
|
246
|
+
requested_at: string;
|
|
247
|
+
detail: Record<string, unknown> | null;
|
|
248
|
+
}
|
|
249
|
+
export interface PendingApprovalsResponse {
|
|
250
|
+
count: number;
|
|
251
|
+
approvals: PendingApproval[];
|
|
252
|
+
}
|
|
253
|
+
/** The manager inbox of gated actions awaiting approve/deny. */
|
|
254
|
+
export declare function listPendingApprovals(projectId: string, options?: {
|
|
255
|
+
showErrors?: boolean;
|
|
256
|
+
}): Promise<PendingApprovalsResponse>;
|
|
257
|
+
/** Per-session pending-approval summary for the sidebar "needs input" badge:
|
|
258
|
+
* `sessions` maps a (Kortix) session id → count of actions awaiting a decision.
|
|
259
|
+
* A manager sees every session; others only the ones they launched. */
|
|
260
|
+
export interface SessionsNeedingInputResponse {
|
|
261
|
+
total: number;
|
|
262
|
+
sessions: Record<string, number>;
|
|
263
|
+
}
|
|
264
|
+
export declare function listSessionsNeedingInput(projectId: string, options?: {
|
|
265
|
+
showErrors?: boolean;
|
|
266
|
+
}): Promise<SessionsNeedingInputResponse>;
|
|
267
|
+
/** Resolve a pending approval. Allowed for a project manager or the session
|
|
268
|
+
* launcher; approve lets the action proceed on retry, deny records a refusal. */
|
|
269
|
+
export declare function resolveApproval(projectId: string, executionId: string, decision: 'approve' | 'deny', scope?: 'once' | 'session' | 'session_all'): Promise<{
|
|
270
|
+
ok: boolean;
|
|
271
|
+
scope?: "once" | "session" | "session_all";
|
|
272
|
+
}>;
|
|
273
|
+
//# sourceMappingURL=access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/platform/projects-client/access.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAU,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEtE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,sBAAsB,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3C,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;6EAEyE;IACzE,gBAAgB,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1D;wDACoD;IACpD,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;8BAC0B;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC5C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,0BAA0B,GAClC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACpD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACpD;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;YAJhE,SAAS;aAAW,oBAAoB;;YACxC,SAAS;aAAW,oBAAoB;;YACxC,oBAAoB;gBAAc,MAAM;GAUrD;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;cAExD,oBAAoB,EAAE;GAK1D;AAED,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,WAAsB;aAIf,oBAAoB;YACrB,mBAAmB;GAGhC;AAED,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;aAEhD,oBAAoB;GAKxD;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,kCAMxD;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,gCAQlB;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QAEzC,OAAO;GAIxC;AAED;;;;;uEAKuE;AACvE,MAAM,MAAM,yBAAyB,GACjC,mBAAmB,GACnB;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEN,wBAAgB,YAAY,CAC1B,CAAC,EAAE,yBAAyB,GAC3B,CAAC,IAAI,OAAO,CAAC,yBAAyB,EAAE;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,CAEhE;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW;YArBL,SAAS;WACV,MAAM;eACF,MAAM;kBACH,WAAW;aAChB,MAAM;IACf,0EAA0E;gBAC9D,MAAM;IAClB,2EAA2E;gBAC/D,OAAO;uBACA,MAAM,GAAG,IAAI;GAoBrC;AAID;;;;;yDAKyD;AACzD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM;aAE7B,oBAAoB,EAAE;GAIzD;AAED,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;QAElD,OAAO;0BAAwB,OAAO;GAIvE;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,sCAMnF;AAID,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;wEACoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM;YAE3B,iBAAiB,EAAE;GAIrD;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,EACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;gBAGa,MAAM;cAAY,MAAM;UAAQ,WAAW;GAQlF;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,EACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;gBAGc,MAAM;cAAY,MAAM;UAAQ,WAAW;GAKnF;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;QAE7C,OAAO;GAIxC;AAID,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7D,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;0DAG0D;AAC1D,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;KAAE,CAAC;CACxE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,iBAAiB,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;gFAC4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE;QACT,MAAM,EAAE,wBAAwB,EAAE,CAAC;QACnC,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC9B;;gDAEwC;QACxC,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACjC,CAAC;IACF,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,0CAMhE;AAED,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;IACL,YAAY,EAAE,iBAAiB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;cAGmC,MAAM;GAQ3C;AAED,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;QAEjD,OAAO;GAIxC;AAID;sBACsB;AACtB,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,gEAAgE;AAChE,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,qCAM/F;AAED;;wEAEwE;AACxE,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,yCAQnC;AAED;kFACkF;AAClF,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,GAAG,MAAM,EAI5B,KAAK,GAAE,MAAM,GAAG,SAAS,GAAG,aAAsB;QAGpB,OAAO;YAAU,MAAM,GAAG,SAAS,GAAG,aAAa;GAKlF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// Project access — members, access requests, project invites, and group grants.
|
|
2
|
+
import { backendApi } from '../api-client.js';
|
|
3
|
+
import { unwrap } from './shared.js';
|
|
4
|
+
export async function requestProjectAccess(projectId, message) {
|
|
5
|
+
return unwrap(await backendApi.post(`/projects/${projectId}/access-requests`, { message: message?.trim() || undefined }, { showErrors: false }));
|
|
6
|
+
}
|
|
7
|
+
export async function listProjectAccessRequests(projectId, options) {
|
|
8
|
+
return unwrap(await backendApi.get(`/projects/${projectId}/access-requests`, options));
|
|
9
|
+
}
|
|
10
|
+
export async function approveProjectAccessRequest(projectId, requestId, role = 'member') {
|
|
11
|
+
return unwrap(await backendApi.post(`/projects/${projectId}/access-requests/${requestId}/approve`, { role }));
|
|
12
|
+
}
|
|
13
|
+
export async function rejectProjectAccessRequest(projectId, requestId) {
|
|
14
|
+
return unwrap(await backendApi.post(`/projects/${projectId}/access-requests/${requestId}/reject`, {}));
|
|
15
|
+
}
|
|
16
|
+
export async function listProjectAccess(projectId) {
|
|
17
|
+
return unwrap(await backendApi.get(`/projects/${projectId}/access`));
|
|
18
|
+
}
|
|
19
|
+
export async function updateProjectAccess(projectId, userId, role) {
|
|
20
|
+
return unwrap(await backendApi.put(`/projects/${projectId}/access/${userId}`, { role }));
|
|
21
|
+
}
|
|
22
|
+
export async function revokeProjectAccess(projectId, userId) {
|
|
23
|
+
return unwrap(await backendApi.delete(`/projects/${projectId}/access/${userId}`));
|
|
24
|
+
}
|
|
25
|
+
export function isInviteSent(r) {
|
|
26
|
+
return 'status' in r && r.status === 'invited';
|
|
27
|
+
}
|
|
28
|
+
export async function inviteProjectMember(projectId, email, role) {
|
|
29
|
+
return unwrap(await backendApi.post(`/projects/${projectId}/access/invite`, { email, role }));
|
|
30
|
+
}
|
|
31
|
+
export async function listPendingProjectInvites(projectId) {
|
|
32
|
+
return unwrap(await backendApi.get(`/projects/${projectId}/access/pending-invites`));
|
|
33
|
+
}
|
|
34
|
+
export async function revokePendingProjectInvite(projectId, inviteId) {
|
|
35
|
+
return unwrap(await backendApi.delete(`/projects/${projectId}/access/pending-invites/${inviteId}`));
|
|
36
|
+
}
|
|
37
|
+
export async function resendPendingProjectInvite(projectId, inviteId) {
|
|
38
|
+
return unwrap(await backendApi.post(`/projects/${projectId}/access/pending-invites/${inviteId}/resend`));
|
|
39
|
+
}
|
|
40
|
+
export async function listProjectGroupGrants(projectId) {
|
|
41
|
+
return unwrap(await backendApi.get(`/projects/${projectId}/group-grants`));
|
|
42
|
+
}
|
|
43
|
+
export async function attachGroupToProject(projectId, groupId, role, expiresAt) {
|
|
44
|
+
return unwrap(await backendApi.post(`/projects/${projectId}/group-grants`,
|
|
45
|
+
// undefined = field omitted (don't touch); null = clear expiry.
|
|
46
|
+
expiresAt === undefined
|
|
47
|
+
? { group_id: groupId, role }
|
|
48
|
+
: { group_id: groupId, role, expires_at: expiresAt }));
|
|
49
|
+
}
|
|
50
|
+
export async function updateProjectGroupGrant(projectId, groupId, role, expiresAt) {
|
|
51
|
+
return unwrap(await backendApi.patch(`/projects/${projectId}/group-grants/${groupId}`, expiresAt === undefined ? { role } : { role, expires_at: expiresAt }));
|
|
52
|
+
}
|
|
53
|
+
export async function detachGroupFromProject(projectId, groupId) {
|
|
54
|
+
return unwrap(await backendApi.delete(`/projects/${projectId}/group-grants/${groupId}`));
|
|
55
|
+
}
|
|
56
|
+
export async function listProjectResourceGrants(projectId) {
|
|
57
|
+
return unwrap(await backendApi.get(`/projects/${projectId}/resource-grants`));
|
|
58
|
+
}
|
|
59
|
+
export async function createProjectResourceGrant(projectId, input) {
|
|
60
|
+
return unwrap(await backendApi.post(`/projects/${projectId}/resource-grants`, {
|
|
61
|
+
resource_type: input.resourceType,
|
|
62
|
+
resource_id: input.resourceId,
|
|
63
|
+
principal_type: input.principalType,
|
|
64
|
+
principal_id: input.principalId,
|
|
65
|
+
...(input.expiresAt !== undefined ? { expires_at: input.expiresAt } : {}),
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
export async function deleteProjectResourceGrant(projectId, grantId) {
|
|
69
|
+
return unwrap(await backendApi.delete(`/projects/${projectId}/resource-grants/${grantId}`));
|
|
70
|
+
}
|
|
71
|
+
/** The manager inbox of gated actions awaiting approve/deny. */
|
|
72
|
+
export async function listPendingApprovals(projectId, options) {
|
|
73
|
+
return unwrap(await backendApi.get(`/projects/${projectId}/approvals`, {
|
|
74
|
+
showErrors: options?.showErrors,
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
export async function listSessionsNeedingInput(projectId, options) {
|
|
78
|
+
return unwrap(await backendApi.get(`/projects/${projectId}/approvals/needs-input`, { showErrors: options?.showErrors }));
|
|
79
|
+
}
|
|
80
|
+
/** Resolve a pending approval. Allowed for a project manager or the session
|
|
81
|
+
* launcher; approve lets the action proceed on retry, deny records a refusal. */
|
|
82
|
+
export async function resolveApproval(projectId, executionId, decision,
|
|
83
|
+
// 'once' (default) = just this call; 'session' = also stop asking for this
|
|
84
|
+
// connector+action for the rest of the session; 'session_all' = stop asking
|
|
85
|
+
// for ANY gated action for the rest of the session.
|
|
86
|
+
scope = 'once') {
|
|
87
|
+
return unwrap(await backendApi.post(`/projects/${projectId}/approvals/${executionId}`, { decision, scope }));
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../../src/platform/projects-client/access.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import type { ApiError } from '../api/errors.js';
|
|
2
|
+
import { type AccountRole, type ServerTokenOptions } from './shared.js';
|
|
3
|
+
export interface KortixAccount {
|
|
4
|
+
account_id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
slug?: string;
|
|
7
|
+
account_role?: string;
|
|
8
|
+
is_primary_owner?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface AccountDetail {
|
|
11
|
+
account_id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
/** When true the account is on the simplified IAM V2 model (3 account
|
|
14
|
+
* roles + 3 project roles, no DB-driven policies). Drives whether the
|
|
15
|
+
* frontend shows the V1 Policies/Roles tabs or the V2 simple UI. */
|
|
16
|
+
iam_v2_enabled?: boolean;
|
|
17
|
+
member_count: number;
|
|
18
|
+
project_count: number;
|
|
19
|
+
role: AccountRole;
|
|
20
|
+
created_at: string;
|
|
21
|
+
updated_at: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AccountMemberGroup {
|
|
24
|
+
group_id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
}
|
|
27
|
+
export interface AccountMember {
|
|
28
|
+
user_id: string;
|
|
29
|
+
email: string | null;
|
|
30
|
+
account_role: AccountRole;
|
|
31
|
+
is_super_admin?: boolean;
|
|
32
|
+
explicit_project_count?: number;
|
|
33
|
+
groups?: AccountMemberGroup[];
|
|
34
|
+
/** Number of active CLI Personal Access Tokens this user owns in
|
|
35
|
+
* this account. Lets the UI flag members with API automation. */
|
|
36
|
+
active_pat_count?: number;
|
|
37
|
+
/** True when the user has at least one verified MFA factor in
|
|
38
|
+
* Supabase Auth. */
|
|
39
|
+
has_verified_mfa?: boolean;
|
|
40
|
+
joined_at: string;
|
|
41
|
+
}
|
|
42
|
+
export type InviteMemberResult = {
|
|
43
|
+
status: 'added';
|
|
44
|
+
user_id: string;
|
|
45
|
+
email: string;
|
|
46
|
+
account_role: AccountRole;
|
|
47
|
+
} | {
|
|
48
|
+
status: 'pending';
|
|
49
|
+
invite_id: string;
|
|
50
|
+
email: string;
|
|
51
|
+
account_role: AccountRole;
|
|
52
|
+
expires_at: string;
|
|
53
|
+
invite_url: string;
|
|
54
|
+
email_sent: boolean;
|
|
55
|
+
email_skip_reason: string | null;
|
|
56
|
+
};
|
|
57
|
+
export interface AccountInvitation {
|
|
58
|
+
invite_id: string;
|
|
59
|
+
email: string;
|
|
60
|
+
initial_role: AccountRole;
|
|
61
|
+
invited_by: string;
|
|
62
|
+
created_at: string;
|
|
63
|
+
expires_at: string;
|
|
64
|
+
invite_url: string;
|
|
65
|
+
}
|
|
66
|
+
export interface ResendInviteResult {
|
|
67
|
+
ok: boolean;
|
|
68
|
+
expires_at: string;
|
|
69
|
+
invite_url: string;
|
|
70
|
+
email_sent: boolean;
|
|
71
|
+
email_skip_reason: string | null;
|
|
72
|
+
}
|
|
73
|
+
export interface AccountInviteDescribeFull {
|
|
74
|
+
invite_id: string;
|
|
75
|
+
account_id: string;
|
|
76
|
+
account_name: string | null;
|
|
77
|
+
email: string;
|
|
78
|
+
initial_role: AccountRole;
|
|
79
|
+
inviter_email: string | null;
|
|
80
|
+
created_at: string;
|
|
81
|
+
expires_at: string;
|
|
82
|
+
expired: boolean;
|
|
83
|
+
accepted_at: string | null;
|
|
84
|
+
email_matches_caller: true;
|
|
85
|
+
}
|
|
86
|
+
export interface AccountInviteDescribeRedacted {
|
|
87
|
+
invite_id: string;
|
|
88
|
+
expired: boolean;
|
|
89
|
+
accepted_at: string | null;
|
|
90
|
+
email_matches_caller: false;
|
|
91
|
+
account_id?: null;
|
|
92
|
+
account_name?: null;
|
|
93
|
+
email?: null;
|
|
94
|
+
initial_role?: null;
|
|
95
|
+
inviter_email?: null;
|
|
96
|
+
created_at?: null;
|
|
97
|
+
expires_at?: null;
|
|
98
|
+
}
|
|
99
|
+
export type AccountInviteDescribe = AccountInviteDescribeFull | AccountInviteDescribeRedacted;
|
|
100
|
+
export declare function listAccounts(): Promise<KortixAccount[]>;
|
|
101
|
+
export declare function createAccount(input: {
|
|
102
|
+
name: string;
|
|
103
|
+
}): Promise<KortixAccount>;
|
|
104
|
+
export declare function getAccount(accountId: string): Promise<AccountDetail>;
|
|
105
|
+
export declare function updateAccountName(accountId: string, name: string): Promise<AccountDetail>;
|
|
106
|
+
export declare function listAccountMembers(accountId: string): Promise<AccountMember[]>;
|
|
107
|
+
export declare function inviteAccountMember(accountId: string, input: {
|
|
108
|
+
email: string;
|
|
109
|
+
role?: AccountRole;
|
|
110
|
+
}): Promise<{
|
|
111
|
+
status: "added";
|
|
112
|
+
user_id: string;
|
|
113
|
+
email: string;
|
|
114
|
+
account_role: AccountRole;
|
|
115
|
+
} | {
|
|
116
|
+
status: "pending";
|
|
117
|
+
invite_id: string;
|
|
118
|
+
email: string;
|
|
119
|
+
account_role: AccountRole;
|
|
120
|
+
expires_at: string;
|
|
121
|
+
invite_url: string;
|
|
122
|
+
email_sent: boolean;
|
|
123
|
+
email_skip_reason: string | null;
|
|
124
|
+
}>;
|
|
125
|
+
export declare function listAccountInvites(accountId: string): Promise<AccountInvitation[]>;
|
|
126
|
+
export declare function cancelAccountInvite(accountId: string, inviteId: string): Promise<{
|
|
127
|
+
ok: boolean;
|
|
128
|
+
}>;
|
|
129
|
+
export declare function resendAccountInvite(accountId: string, inviteId: string): Promise<ResendInviteResult>;
|
|
130
|
+
export declare function describeAccountInvite(inviteId: string): Promise<AccountInviteDescribeFull | AccountInviteDescribeRedacted>;
|
|
131
|
+
export declare function acceptAccountInvite(inviteId: string): Promise<{
|
|
132
|
+
account_id: string;
|
|
133
|
+
account_role: AccountRole;
|
|
134
|
+
}>;
|
|
135
|
+
export declare function declineAccountInvite(inviteId: string): Promise<{
|
|
136
|
+
ok: boolean;
|
|
137
|
+
}>;
|
|
138
|
+
export declare function removeAccountMember(accountId: string, userId: string): Promise<{
|
|
139
|
+
ok: boolean;
|
|
140
|
+
}>;
|
|
141
|
+
export declare function updateAccountMemberRole(accountId: string, userId: string, role: AccountRole): Promise<AccountMember>;
|
|
142
|
+
export declare function leaveAccount(accountId: string): Promise<{
|
|
143
|
+
ok: boolean;
|
|
144
|
+
}>;
|
|
145
|
+
/**
|
|
146
|
+
* Server-side / explicit-token variant of {@link listAccounts}. Next.js
|
|
147
|
+
* server actions and route handlers (e.g. the post-signup first-project
|
|
148
|
+
* bootstrap) run per-request and already hold the caller's access token —
|
|
149
|
+
* they must not rely on the SDK's process-wide `configureKortix()` seam.
|
|
150
|
+
* Returns `null` on any failure.
|
|
151
|
+
*/
|
|
152
|
+
export declare function fetchAccountsWithToken(opts: ServerTokenOptions): Promise<KortixAccount[] | null>;
|
|
153
|
+
/** The identity `GET /accounts/me` resolves — the authenticated user + their account memberships. */
|
|
154
|
+
export interface AccountIdentity {
|
|
155
|
+
user_id: string;
|
|
156
|
+
email: string;
|
|
157
|
+
token_context?: {
|
|
158
|
+
auth_type: string | null;
|
|
159
|
+
project_id: string | null;
|
|
160
|
+
session_id: string | null;
|
|
161
|
+
agent: string | null;
|
|
162
|
+
connectors: 'all' | string[] | null;
|
|
163
|
+
kortix_cli: 'all' | string[] | null;
|
|
164
|
+
};
|
|
165
|
+
accounts: Array<{
|
|
166
|
+
account_id: string;
|
|
167
|
+
slug: string;
|
|
168
|
+
name: string;
|
|
169
|
+
role: string;
|
|
170
|
+
}>;
|
|
171
|
+
}
|
|
172
|
+
export interface ValidateTokenResult {
|
|
173
|
+
valid: boolean;
|
|
174
|
+
identity?: AccountIdentity;
|
|
175
|
+
error?: ApiError;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* The "did I paste a valid API key?" check — hits `GET /accounts/me` and
|
|
179
|
+
* NEVER throws, unlike every other call in this module. Built for a
|
|
180
|
+
* pasted-token UX (a CLI/SDK setup screen) that wants to render "invalid
|
|
181
|
+
* token" inline rather than catch an exception.
|
|
182
|
+
*/
|
|
183
|
+
export declare function validateToken(): Promise<ValidateTokenResult>;
|
|
184
|
+
//# sourceMappingURL=accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/platform/projects-client/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// Accounts — account CRUD, members, and account-level invitations.
|
|
2
|
+
import { backendApi } from '../api-client.js';
|
|
3
|
+
import { serverTokenGet, unwrap } from './shared.js';
|
|
4
|
+
export async function listAccounts() {
|
|
5
|
+
return unwrap(await backendApi.get('/accounts'));
|
|
6
|
+
}
|
|
7
|
+
export async function createAccount(input) {
|
|
8
|
+
return unwrap(await backendApi.post('/accounts', input));
|
|
9
|
+
}
|
|
10
|
+
export async function getAccount(accountId) {
|
|
11
|
+
return unwrap(await backendApi.get(`/accounts/${accountId}`));
|
|
12
|
+
}
|
|
13
|
+
export async function updateAccountName(accountId, name) {
|
|
14
|
+
return unwrap(await backendApi.patch(`/accounts/${accountId}`, { name }));
|
|
15
|
+
}
|
|
16
|
+
export async function listAccountMembers(accountId) {
|
|
17
|
+
return unwrap(await backendApi.get(`/accounts/${accountId}/members`));
|
|
18
|
+
}
|
|
19
|
+
export async function inviteAccountMember(accountId, input) {
|
|
20
|
+
return unwrap(await backendApi.post(`/accounts/${accountId}/members`, input, {
|
|
21
|
+
// 409 (already member) is an expected business error; page surfaces it inline.
|
|
22
|
+
showErrors: false,
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
export async function listAccountInvites(accountId) {
|
|
26
|
+
return unwrap(await backendApi.get(`/accounts/${accountId}/invites`));
|
|
27
|
+
}
|
|
28
|
+
export async function cancelAccountInvite(accountId, inviteId) {
|
|
29
|
+
return unwrap(await backendApi.delete(`/accounts/${accountId}/invites/${inviteId}`));
|
|
30
|
+
}
|
|
31
|
+
export async function resendAccountInvite(accountId, inviteId) {
|
|
32
|
+
return unwrap(await backendApi.post(`/accounts/${accountId}/invites/${inviteId}/resend`, {}));
|
|
33
|
+
}
|
|
34
|
+
export async function describeAccountInvite(inviteId) {
|
|
35
|
+
return unwrap(await backendApi.get(`/account-invites/${inviteId}`, {
|
|
36
|
+
// The redirect/landing page handles "not for you" / expired states inline.
|
|
37
|
+
showErrors: false,
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
export async function acceptAccountInvite(inviteId) {
|
|
41
|
+
return unwrap(await backendApi.post(`/account-invites/${inviteId}/accept`, {}));
|
|
42
|
+
}
|
|
43
|
+
export async function declineAccountInvite(inviteId) {
|
|
44
|
+
return unwrap(await backendApi.post(`/account-invites/${inviteId}/decline`, {}));
|
|
45
|
+
}
|
|
46
|
+
export async function removeAccountMember(accountId, userId) {
|
|
47
|
+
return unwrap(await backendApi.delete(`/accounts/${accountId}/members/${userId}`));
|
|
48
|
+
}
|
|
49
|
+
export async function updateAccountMemberRole(accountId, userId, role) {
|
|
50
|
+
return unwrap(await backendApi.patch(`/accounts/${accountId}/members/${userId}`, { role }));
|
|
51
|
+
}
|
|
52
|
+
export async function leaveAccount(accountId) {
|
|
53
|
+
return unwrap(await backendApi.post(`/accounts/${accountId}/leave`, {}));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Server-side / explicit-token variant of {@link listAccounts}. Next.js
|
|
57
|
+
* server actions and route handlers (e.g. the post-signup first-project
|
|
58
|
+
* bootstrap) run per-request and already hold the caller's access token —
|
|
59
|
+
* they must not rely on the SDK's process-wide `configureKortix()` seam.
|
|
60
|
+
* Returns `null` on any failure.
|
|
61
|
+
*/
|
|
62
|
+
export async function fetchAccountsWithToken(opts) {
|
|
63
|
+
return serverTokenGet(opts, '/v1/accounts');
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The "did I paste a valid API key?" check — hits `GET /accounts/me` and
|
|
67
|
+
* NEVER throws, unlike every other call in this module. Built for a
|
|
68
|
+
* pasted-token UX (a CLI/SDK setup screen) that wants to render "invalid
|
|
69
|
+
* token" inline rather than catch an exception.
|
|
70
|
+
*/
|
|
71
|
+
export async function validateToken() {
|
|
72
|
+
const res = await backendApi.get('/accounts/me', { showErrors: false });
|
|
73
|
+
if (!res.success || !res.data) {
|
|
74
|
+
return { valid: false, error: res.error };
|
|
75
|
+
}
|
|
76
|
+
return { valid: true, identity: res.data };
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=accounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/platform/projects-client/accounts.ts"],"names":[],"mappings":"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"}
|