@opengeni/api-router 3.0.1 → 3.0.2-canary.38894290271001
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/dist/access-grant-rls.d.ts +8 -1
- package/dist/admission-trace.d.ts +8 -0
- package/dist/app.d.ts +50 -3
- package/dist/app.js +10 -1
- package/dist/artifact-catalog-cursor.d.ts +1 -0
- package/dist/attached-browser-viewer.d.ts +11 -0
- package/dist/auth/managed-auth-attempt-context.d.ts +2 -0
- package/dist/auth/managed-auth-rate-limits.d.ts +167 -0
- package/dist/auth/managed-auth-session-adapter.d.ts +9 -1
- package/dist/auth/managed-auth.d.ts +72 -5
- package/dist/auth/managed-sign-in-notifications.d.ts +4 -0
- package/dist/auth/new-signups-gate.d.ts +23 -0
- package/dist/auth/signup-funnel-metrics.d.ts +44 -0
- package/dist/azure-live.d.ts +28 -0
- package/dist/browser-action-fences.d.ts +13 -0
- package/dist/browser-controller-authority.d.ts +1 -61
- package/dist/browser-ephemeral.d.ts +5 -0
- package/dist/browser-lost-runtime-end.d.ts +24 -0
- package/dist/browser-state-authority.d.ts +1 -27
- package/dist/{chunk-AJ62T5QN.js → chunk-GBUJ2DYZ.js} +80507 -39878
- package/dist/chunk-GBUJ2DYZ.js.map +1 -0
- package/dist/chunk-OGQDXVXY.js +18 -0
- package/dist/chunk-OGQDXVXY.js.map +1 -0
- package/dist/claude-default-models.d.ts +19 -0
- package/dist/claude-subscription-core.d.ts +50 -0
- package/dist/claude-subscription-oauth.d.ts +36 -0
- package/dist/claude-subscription-profile.d.ts +9 -0
- package/dist/claude-subscription-usage.d.ts +6 -0
- package/dist/claude-workspace-connection.d.ts +15 -0
- package/dist/codemode.d.ts +40 -5
- package/dist/codex-realtime.d.ts +29 -3
- package/dist/codex-session-pointers.d.ts +19 -0
- package/dist/connection-ownership.d.ts +6 -3
- package/dist/controller-data-plane.d.ts +16 -0
- package/dist/credit-promotion-snapshot.d.ts +6 -0
- package/dist/editable-artifact-source-session.d.ts +3 -0
- package/dist/editable-artifact-websocket.d.ts +5 -3
- package/dist/fatal-process-boundary.d.ts +9 -1
- package/dist/github-access.d.ts +7 -1
- package/dist/github-browser-flow.d.ts +1 -1
- package/dist/http/acting-person.d.ts +36 -0
- package/dist/http/api-contract-compat.d.ts +19 -0
- package/dist/http/api-error.d.ts +50 -1
- package/dist/http/auth.d.ts +8 -1
- package/dist/http/cors.d.ts +12 -0
- package/dist/http/deprecation.d.ts +42 -0
- package/dist/http/keyed-admission.d.ts +12 -0
- package/dist/http/local-browser-boundary.d.ts +72 -0
- package/dist/http/metrics-listener.d.ts +22 -0
- package/dist/http/path-identifier.d.ts +17 -0
- package/dist/http/registered-route-label.d.ts +16 -0
- package/dist/http/rejection-telemetry.d.ts +34 -0
- package/dist/http/request-body.d.ts +27 -0
- package/dist/http/request-source.d.ts +41 -3
- package/dist/http/sse.d.ts +12 -1
- package/dist/http/unmatched-route.d.ts +18 -0
- package/dist/http/user-content.d.ts +36 -0
- package/dist/http/variable-sets-removed.d.ts +41 -0
- package/dist/http/websocket-upgrade-dispatch.d.ts +18 -0
- package/dist/index.js +1279 -108
- package/dist/index.js.map +1 -1
- package/dist/integration-connect-metrics.d.ts +35 -0
- package/dist/integration-endpoint-test.d.ts +20 -0
- package/dist/integrations/api-integrations.d.ts +2 -2
- package/dist/integrations/atlassian.d.ts +8 -3
- package/dist/integrations/fiken.d.ts +3 -1
- package/dist/integrations/github-lens-connect.d.ts +37 -66
- package/dist/integrations/google-drive.d.ts +2 -0
- package/dist/integrations/integration-commit-authority.d.ts +13 -0
- package/dist/integrations/marketplace-plugin.d.ts +43 -43
- package/dist/integrations/oauth-client.d.ts +171 -12
- package/dist/integrations/oauth-profiles.d.ts +42 -13
- package/dist/integrations/onepassword-vault-provider.d.ts +9 -0
- package/dist/integrations/slack-bot.d.ts +285 -7
- package/dist/integrations/slack-file-upload-flow.d.ts +62 -0
- package/dist/integrations/slack-interactions.d.ts +89 -10
- package/dist/integrations/slack-mrkdwn.d.ts +41 -0
- package/dist/integrations/slack-routing.d.ts +1 -1
- package/dist/integrations/slack-session-defaults.d.ts +58 -0
- package/dist/integrations/slack-task-file-upload.d.ts +36 -0
- package/dist/integrations/slack-tool-review.d.ts +5 -0
- package/dist/interaction-agent-access.d.ts +13 -8
- package/dist/interaction-agent-version.d.ts +21 -0
- package/dist/interaction-holder-heartbeat.d.ts +5 -0
- package/dist/interaction-metrics.d.ts +27 -2
- package/dist/interaction-route-stages.d.ts +25 -0
- package/dist/interaction-secrets-vault.d.ts +20 -0
- package/dist/interaction-secrets.d.ts +103 -0
- package/dist/mcp/action-catalog-types.d.ts +14 -0
- package/dist/mcp/action-catalog.gen.d.ts +2 -0
- package/dist/mcp/action-descriptions.d.ts +4 -0
- package/dist/mcp/action-schema-imports.gen.d.ts +1 -0
- package/dist/mcp/capability-account-readiness.d.ts +7 -0
- package/dist/mcp/child-read-evidence.d.ts +9 -0
- package/dist/mcp/company-profile-agent-admin.d.ts +12 -0
- package/dist/mcp/contract-input.d.ts +13 -0
- package/dist/mcp/documents.d.ts +2 -0
- package/dist/mcp/first-party-tool-permissions.d.ts +3 -606
- package/dist/mcp/notification-tools.d.ts +26 -0
- package/dist/mcp/orchestration-failure-diagnostic.d.ts +43 -0
- package/dist/mcp/scheduled-task-input.d.ts +1309 -0
- package/dist/mcp/scheduled-task-view.d.ts +217 -3
- package/dist/mcp/secret-tools.d.ts +14 -0
- package/dist/mcp/server.d.ts +108 -5
- package/dist/mcp/session-admin-access-tools.d.ts +33 -0
- package/dist/mcp/session-event-errors.d.ts +28 -0
- package/dist/mcp/session-event-view.d.ts +62 -0
- package/dist/mcp/session-view.d.ts +15 -0
- package/dist/mcp/session-wait.d.ts +18 -0
- package/dist/mcp/site-agent-clamp-tools.d.ts +38 -0
- package/dist/mcp/site-data-tools.d.ts +22 -0
- package/dist/mcp/site-publication-tools.d.ts +19 -0
- package/dist/mcp/site-sql-tools.d.ts +27 -0
- package/dist/mcp-oauth.d.ts +37 -4
- package/dist/model-calls/chat-completions.d.ts +87 -0
- package/dist/model-calls/pending-usage-settlements.d.ts +57 -0
- package/dist/model-calls/service.d.ts +36 -0
- package/dist/model-catalog.d.ts +9 -3
- package/dist/native-push-dispatch.d.ts +69 -0
- package/dist/observability.d.ts +3 -1
- package/dist/organization-mcp.d.ts +82 -0
- package/dist/prepared-mcp-actor.d.ts +77 -0
- package/dist/prepared-mcp-permissions.d.ts +8 -0
- package/dist/routes/analytics-consent.d.ts +26 -0
- package/dist/routes/api-integrations.d.ts +11 -0
- package/dist/routes/api-keys.d.ts +7 -7
- package/dist/routes/automations.d.ts +2 -0
- package/dist/routes/billing.d.ts +59 -0
- package/dist/routes/browser-sessions.d.ts +65 -2
- package/dist/routes/chat-completions.d.ts +11 -0
- package/dist/routes/claude-core-usage.d.ts +20 -0
- package/dist/routes/claude-subscription-accounts.d.ts +3 -0
- package/dist/routes/claude-subscription-oauth.d.ts +3 -0
- package/dist/routes/client-errors.d.ts +182 -0
- package/dist/routes/codex-core.d.ts +401 -0
- package/dist/routes/codex.d.ts +64 -2
- package/dist/routes/computer-sessions.d.ts +6 -1
- package/dist/routes/desktop-distribution.d.ts +32 -0
- package/dist/routes/github-browser-fonts.gen.d.ts +2 -0
- package/dist/routes/github-browser-pages.d.ts +27 -0
- package/dist/routes/inbox.d.ts +13 -0
- package/dist/routes/insights-response-cache.d.ts +10 -0
- package/dist/routes/insights-usage.d.ts +12 -0
- package/dist/routes/insights.d.ts +28 -0
- package/dist/routes/interaction-placement-message.d.ts +7 -0
- package/dist/routes/managed-sign-in-methods.d.ts +6 -0
- package/dist/routes/model-account-choice.d.ts +13 -0
- package/dist/routes/model-account-settings.d.ts +19 -0
- package/dist/routes/native-app-auth.d.ts +12 -0
- package/dist/routes/organization-integration-policy.d.ts +8 -0
- package/dist/routes/organization-integrations.d.ts +6 -0
- package/dist/routes/organization-mcp-connections.d.ts +3 -0
- package/dist/routes/organization-model-defaults.d.ts +9 -0
- package/dist/routes/organization-service-accounts.d.ts +3 -0
- package/dist/routes/personal-api-keys.d.ts +3 -0
- package/dist/routes/session-admin-access.d.ts +3 -0
- package/dist/routes/session-artifact-associations.d.ts +4 -0
- package/dist/routes/session-history-imports.d.ts +20 -0
- package/dist/routes/sessions.d.ts +38 -2
- package/dist/routes/site-data.d.ts +18 -0
- package/dist/routes/site-publishing.d.ts +5 -0
- package/dist/routes/site-runtime.d.ts +31 -0
- package/dist/routes/site-sql.d.ts +16 -0
- package/dist/routes/slack-bot-access.d.ts +3 -0
- package/dist/routes/subscription-account-pools.d.ts +21 -0
- package/dist/routes/subscription-core-http.d.ts +5 -0
- package/dist/routes/subscription-pool-access.d.ts +37 -0
- package/dist/routes/subscription-pool-core.d.ts +153 -0
- package/dist/routes/supergrok.d.ts +6 -6
- package/dist/routes/usage-allowances.d.ts +12 -0
- package/dist/routes/variable-sets-removed.d.ts +2 -0
- package/dist/routes/vault-providers.d.ts +34 -0
- package/dist/routes/vaults.d.ts +3 -0
- package/dist/routes/workspace-integrations.d.ts +35 -0
- package/dist/routes/workspace-model-providers.d.ts +4 -0
- package/dist/routes/workspaces.d.ts +11 -2
- package/dist/sandbox/agent-update.d.ts +64 -0
- package/dist/sandbox/auth-callout.d.ts +8 -0
- package/dist/sandbox/channel-a.d.ts +15 -1
- package/dist/sandbox/enrollment.d.ts +26 -4
- package/dist/sandbox/machine-audience.d.ts +29 -0
- package/dist/sandbox/machines.d.ts +15 -2
- package/dist/sandbox/metrics-ingestion.d.ts +6 -2
- package/dist/sandbox/screen-control.d.ts +85 -0
- package/dist/sandbox/viewer.d.ts +5 -1
- package/dist/sandbox-file-artifacts.d.ts +17 -1
- package/dist/scheduled-task-blockers.d.ts +39 -0
- package/dist/scheduled-task-deletion.d.ts +3 -4
- package/dist/scheduled-task-lifecycle.d.ts +14 -0
- package/dist/secret-answers.d.ts +40 -0
- package/dist/session-create-observability.d.ts +5 -0
- package/dist/session-event-view-36GO3IL7.js +528 -0
- package/dist/session-event-view-36GO3IL7.js.map +1 -0
- package/dist/signed-state-secret.d.ts +18 -0
- package/dist/site-agent-guard.d.ts +53 -0
- package/dist/site-data/operations.d.ts +103 -0
- package/dist/site-data/service.d.ts +203 -0
- package/dist/site-frame-guard.d.ts +32 -0
- package/dist/site-publishing/agent-data-tools.d.ts +84 -0
- package/dist/site-publishing/agent-model.d.ts +58 -0
- package/dist/site-publishing/agent-session.d.ts +16 -0
- package/dist/site-publishing/content-scanner.d.ts +31 -0
- package/dist/site-publishing/edge-sync.d.ts +48 -0
- package/dist/site-publishing/gateway-signature.d.ts +56 -0
- package/dist/site-publishing/limits.d.ts +63 -0
- package/dist/site-publishing/page-tool-authority.d.ts +30 -0
- package/dist/site-publishing/platform-usage.d.ts +113 -0
- package/dist/site-publishing/platform.d.ts +21 -0
- package/dist/site-publishing/readiness.d.ts +62 -0
- package/dist/site-publishing/runtime.d.ts +179 -0
- package/dist/site-publishing/service.d.ts +264 -0
- package/dist/site-publishing/session-events.d.ts +22 -0
- package/dist/site-publishing/session-views.d.ts +36 -0
- package/dist/site-publishing/viewer.d.ts +40 -0
- package/dist/site-session-origin.d.ts +31 -6
- package/dist/site-sql/format.d.ts +47 -0
- package/dist/site-sql/gateway.d.ts +50 -0
- package/dist/site-sql/service.d.ts +213 -0
- package/dist/temporal-schedule-sync.d.ts +26 -0
- package/dist/transcription/billing-refusal.d.ts +8 -0
- package/dist/transcription/normalize.d.ts +23 -0
- package/dist/transcription/providers/azure-mai.d.ts +12 -0
- package/dist/transcription/providers/azure-openai.d.ts +4 -0
- package/dist/transcription/providers/openai.d.ts +16 -0
- package/dist/transcription/providers/subscription-core.d.ts +39 -0
- package/dist/transcription/service.d.ts +10 -1
- package/dist/transcription/wav-duration.d.ts +8 -0
- package/dist/workspace-tool-gateway-attestations.d.ts +37 -0
- package/dist/workspace-tool-gateway-observability.d.ts +16 -0
- package/dist/workspace-tool-gateway-secrets.d.ts +27 -0
- package/dist/workspace-tool-gateway.d.ts +102 -6
- package/dist/workspace-tool-target-fence.d.ts +116 -0
- package/dist/workspace-tool-target.d.ts +225 -0
- package/dist/workspace-webhook-dispatch.d.ts +26 -0
- package/dist/xai-subscription-core.d.ts +60 -0
- package/package.json +25 -20
- package/src/access-grant-rls.ts +64 -14
- package/src/admission-trace.ts +14 -0
- package/src/app.ts +1684 -252
- package/src/artifact-catalog-cursor.ts +1 -0
- package/src/attached-browser-viewer.ts +26 -0
- package/src/auth/managed-auth-attempt-context.ts +9 -0
- package/src/auth/managed-auth-rate-limits.ts +252 -0
- package/src/auth/managed-auth-session-adapter.ts +64 -29
- package/src/auth/managed-auth.ts +303 -35
- package/src/auth/managed-email.ts +18 -1
- package/src/auth/managed-sign-in-notifications.ts +81 -0
- package/src/auth/new-signups-gate.ts +49 -0
- package/src/auth/organization-user-setup.ts +3 -3
- package/src/auth/signup-funnel-metrics.ts +164 -0
- package/src/azure-live.ts +103 -0
- package/src/browser-action-fences.ts +45 -0
- package/src/browser-controller-authority.ts +1 -186
- package/src/browser-ephemeral.ts +39 -0
- package/src/browser-lost-runtime-end.ts +71 -0
- package/src/browser-state-authority.ts +1 -236
- package/src/claude-default-models.ts +37 -0
- package/src/claude-subscription-core.ts +154 -0
- package/src/claude-subscription-oauth.ts +352 -0
- package/src/claude-subscription-profile.ts +73 -0
- package/src/claude-subscription-usage.ts +51 -0
- package/src/claude-workspace-connection.ts +82 -0
- package/src/codemode.ts +236 -39
- package/src/codex-realtime.ts +181 -53
- package/src/codex-session-pointers.ts +80 -0
- package/src/company-brain-okf.ts +1 -1
- package/src/connected-machine-computer-access.ts +2 -1
- package/src/connection-ownership.ts +19 -13
- package/src/controller-data-plane.ts +34 -0
- package/src/credit-promotion-snapshot.ts +36 -0
- package/src/editable-artifact-production.ts +10 -0
- package/src/editable-artifact-source-session.ts +123 -0
- package/src/editable-artifact-websocket.ts +16 -3
- package/src/fatal-process-boundary.ts +67 -3
- package/src/gateway-realtime.ts +12 -8
- package/src/github-access.ts +31 -5
- package/src/github-browser-flow.ts +1 -1
- package/src/http/acting-person.ts +105 -0
- package/src/http/api-contract-compat.ts +49 -0
- package/src/http/api-error.ts +210 -2
- package/src/http/auth.ts +68 -4
- package/src/http/cors.ts +37 -5
- package/src/http/deprecation.ts +118 -0
- package/src/http/keyed-admission.ts +29 -0
- package/src/http/local-browser-boundary.ts +343 -0
- package/src/http/metrics-listener.ts +57 -0
- package/src/http/path-identifier.ts +54 -0
- package/src/http/registered-route-label.ts +34 -0
- package/src/http/rejection-telemetry.ts +120 -0
- package/src/http/request-body.ts +127 -0
- package/src/http/request-source.ts +154 -13
- package/src/http/sse.ts +88 -28
- package/src/http/unmatched-route.ts +60 -0
- package/src/http/user-content.ts +158 -0
- package/src/http/variable-sets-removed.ts +122 -0
- package/src/http/websocket-upgrade-dispatch.ts +29 -0
- package/src/index.ts +107 -57
- package/src/integration-connect-metrics.ts +228 -0
- package/src/integration-endpoint-test.ts +291 -0
- package/src/integrations/api-integrations.ts +81 -7
- package/src/integrations/atlassian.ts +202 -83
- package/src/integrations/fiken.ts +66 -38
- package/src/integrations/github-app-connect.ts +64 -18
- package/src/integrations/github-lens-connect.ts +8 -29
- package/src/integrations/google-drive.ts +448 -152
- package/src/integrations/integration-commit-authority.ts +69 -0
- package/src/integrations/marketplace-plugin.ts +1 -1
- package/src/integrations/oauth-client.ts +733 -193
- package/src/integrations/oauth-profiles.ts +116 -45
- package/src/integrations/onepassword-vault-provider.ts +16 -0
- package/src/integrations/personal-github-repositories.ts +1 -1
- package/src/integrations/personal-github.ts +61 -35
- package/src/integrations/provider-oauth.ts +67 -85
- package/src/integrations/slack-app-home.ts +5 -5
- package/src/integrations/slack-bot.ts +893 -201
- package/src/integrations/slack-file-upload-flow.ts +147 -0
- package/src/integrations/slack-install.ts +7 -7
- package/src/integrations/slack-interactions.ts +1589 -299
- package/src/integrations/slack-mrkdwn.ts +193 -0
- package/src/integrations/slack-routing.ts +2 -2
- package/src/integrations/slack-session-defaults.ts +224 -0
- package/src/integrations/slack-task-file-upload.ts +323 -0
- package/src/integrations/slack-tool-review.ts +65 -0
- package/src/integrations/social-oauth.ts +90 -58
- package/src/interaction-agent-access.ts +40 -20
- package/src/interaction-agent-version.ts +85 -0
- package/src/interaction-holder-heartbeat.ts +24 -8
- package/src/interaction-metrics.ts +164 -2
- package/src/interaction-route-stages.ts +94 -0
- package/src/interaction-secrets-vault.ts +213 -0
- package/src/interaction-secrets.ts +426 -0
- package/src/mcp/action-catalog-types.ts +14 -0
- package/src/mcp/action-catalog.gen.ts +8014 -0
- package/src/mcp/action-descriptions.ts +299 -0
- package/src/mcp/action-schema-imports.gen.ts +304 -0
- package/src/mcp/capability-account-readiness.ts +17 -0
- package/src/mcp/child-read-evidence.ts +19 -0
- package/src/mcp/company-profile-agent-admin.ts +13 -0
- package/src/mcp/contract-input.ts +165 -0
- package/src/mcp/documents.ts +9 -2
- package/src/mcp/editable-artifacts.ts +29 -11
- package/src/mcp/files.ts +5 -1
- package/src/mcp/first-party-tool-permissions.ts +7 -285
- package/src/mcp/knowledge-entries.ts +108 -34
- package/src/mcp/notification-tools.ts +480 -0
- package/src/mcp/orchestration-failure-diagnostic.ts +43 -0
- package/src/mcp/scheduled-task-input.ts +89 -0
- package/src/mcp/scheduled-task-view.ts +63 -3
- package/src/mcp/secret-tools.ts +185 -0
- package/src/mcp/server.ts +2213 -1116
- package/src/mcp/session-admin-access-tools.ts +163 -0
- package/src/mcp/session-event-errors.ts +123 -0
- package/src/mcp/session-event-view.ts +395 -13
- package/src/mcp/session-view.ts +3 -0
- package/src/mcp/session-wait.ts +67 -7
- package/src/mcp/site-agent-clamp-tools.ts +140 -0
- package/src/mcp/site-data-tools.ts +339 -0
- package/src/mcp/site-publication-tools.ts +201 -0
- package/src/mcp/site-sql-tools.ts +427 -0
- package/src/mcp-oauth.ts +635 -45
- package/src/model-calls/chat-completions.ts +352 -0
- package/src/model-calls/pending-usage-settlements.ts +125 -0
- package/src/model-calls/service.ts +694 -0
- package/src/model-catalog.ts +68 -17
- package/src/native-push-dispatch.ts +457 -0
- package/src/observability.ts +15 -1
- package/src/organization-mcp.ts +485 -0
- package/src/prepared-mcp-actor.ts +154 -0
- package/src/prepared-mcp-permissions.ts +38 -0
- package/src/routes/analytics-consent.ts +123 -0
- package/src/routes/api-integrations.ts +268 -9
- package/src/routes/api-keys.ts +164 -25
- package/src/routes/artifact-catalog.ts +111 -0
- package/src/routes/automations.ts +163 -90
- package/src/routes/billing.ts +535 -59
- package/src/routes/browser-sessions.ts +966 -342
- package/src/routes/canonical-human-identities.ts +61 -0
- package/src/routes/capabilities.ts +112 -5
- package/src/routes/channels.ts +4 -3
- package/src/routes/chat-completions.ts +235 -0
- package/src/routes/claude-core-usage.ts +147 -0
- package/src/routes/claude-subscription-accounts.ts +233 -0
- package/src/routes/claude-subscription-oauth.ts +175 -0
- package/src/routes/client-errors.ts +394 -0
- package/src/routes/codex-core.ts +687 -0
- package/src/routes/codex.ts +1277 -1119
- package/src/routes/company-brain.ts +4 -0
- package/src/routes/computer-sessions.ts +319 -85
- package/src/routes/connect.ts +277 -175
- package/src/routes/connections.ts +690 -363
- package/src/routes/desktop-distribution.ts +217 -0
- package/src/routes/documents.ts +13 -7
- package/src/routes/editable-artifacts.ts +74 -4
- package/src/routes/enrollments.ts +110 -16
- package/src/routes/external-identity-links.ts +13 -12
- package/src/routes/files.ts +41 -16
- package/src/routes/github-browser-fonts.gen.ts +12 -0
- package/src/routes/github-browser-pages.ts +258 -0
- package/src/routes/github.ts +200 -75
- package/src/routes/inbox.ts +353 -0
- package/src/routes/insights-response-cache.ts +83 -0
- package/src/routes/insights-usage.ts +345 -0
- package/src/routes/insights.ts +103 -8
- package/src/routes/install.ts +51 -10
- package/src/routes/integration-facets.ts +70 -28
- package/src/routes/interaction-placement-message.ts +12 -0
- package/src/routes/knowledge.ts +136 -27
- package/src/routes/machines.ts +189 -135
- package/src/routes/managed-auth-session-sets.ts +43 -10
- package/src/routes/managed-onboarding.ts +39 -19
- package/src/routes/managed-sign-in-methods.ts +433 -0
- package/src/routes/memory-slack-publications.ts +3 -2
- package/src/routes/model-account-choice.ts +194 -0
- package/src/routes/model-account-settings.ts +235 -0
- package/src/routes/model-connection-access.ts +210 -48
- package/src/routes/native-app-auth.ts +296 -0
- package/src/routes/organization-integration-policy.ts +116 -0
- package/src/routes/organization-integrations.ts +326 -0
- package/src/routes/organization-mcp-connections.ts +183 -0
- package/src/routes/organization-memberships.ts +205 -19
- package/src/routes/organization-model-defaults.ts +110 -0
- package/src/routes/organization-model-providers.ts +74 -3
- package/src/routes/organization-service-accounts.ts +128 -0
- package/src/routes/organization-sessions.ts +21 -5
- package/src/routes/personal-api-keys.ts +184 -0
- package/src/routes/personal-github-git-broker.ts +2 -2
- package/src/routes/personal-github.ts +9 -4
- package/src/routes/plugins.ts +46 -7
- package/src/routes/pr-review-github.ts +105 -118
- package/src/routes/pr-review.ts +88 -82
- package/src/routes/preference-registry.ts +18 -0
- package/src/routes/rigs.ts +48 -13
- package/src/routes/scheduled-tasks.ts +347 -27
- package/src/routes/session-admin-access.ts +271 -0
- package/src/routes/session-artifact-associations.ts +164 -0
- package/src/routes/session-history-imports.ts +305 -0
- package/src/routes/sessions.ts +1682 -363
- package/src/routes/site-data.ts +340 -0
- package/src/routes/site-publishing.ts +584 -0
- package/src/routes/site-runtime.ts +1944 -0
- package/src/routes/site-sql.ts +263 -0
- package/src/routes/skill-content.ts +72 -7
- package/src/routes/skills.ts +5 -4
- package/src/routes/slack-bot-access.ts +108 -0
- package/src/routes/social.ts +27 -15
- package/src/routes/subscription-account-pools.ts +209 -0
- package/src/routes/subscription-core-http.ts +18 -0
- package/src/routes/subscription-pool-access.ts +180 -0
- package/src/routes/subscription-pool-core.ts +552 -0
- package/src/routes/supergrok.ts +174 -655
- package/src/routes/transcription-recordings.ts +71 -4
- package/src/routes/transcriptions.ts +26 -2
- package/src/routes/usage-allowances.ts +381 -0
- package/src/routes/variable-sets-removed.ts +19 -0
- package/src/routes/vault-providers.ts +782 -0
- package/src/routes/vaults.ts +421 -0
- package/src/routes/video-generation.ts +30 -12
- package/src/routes/workspace-artifacts.ts +165 -53
- package/src/routes/workspace-integrations.ts +576 -0
- package/src/routes/workspace-model-providers.ts +148 -0
- package/src/routes/workspace-state.ts +4 -0
- package/src/routes/workspaces.ts +625 -117
- package/src/sandbox/agent-update.ts +315 -0
- package/src/sandbox/auth-callout.ts +104 -21
- package/src/sandbox/channel-a.ts +150 -49
- package/src/sandbox/enrollment.ts +131 -22
- package/src/sandbox/machine-audience.ts +192 -0
- package/src/sandbox/machines.ts +75 -31
- package/src/sandbox/metrics-ingestion.ts +133 -2
- package/src/sandbox/rematerialize.ts +51 -21
- package/src/sandbox/screen-control.ts +289 -0
- package/src/sandbox/viewer.ts +33 -58
- package/src/sandbox-file-artifacts.ts +53 -27
- package/src/scheduled-task-blockers.ts +293 -0
- package/src/scheduled-task-deletion.ts +13 -3
- package/src/scheduled-task-lifecycle.ts +84 -0
- package/src/secret-answers.ts +119 -0
- package/src/session-create-observability.ts +46 -0
- package/src/session-realtime-context.ts +26 -4
- package/src/signed-state-secret.ts +58 -0
- package/src/site-agent-guard.ts +261 -0
- package/src/site-data/operations.ts +777 -0
- package/src/site-data/service.ts +1043 -0
- package/src/site-frame-guard.ts +107 -0
- package/src/site-publishing/agent-data-tools.ts +250 -0
- package/src/site-publishing/agent-model.ts +127 -0
- package/src/site-publishing/agent-session.ts +148 -0
- package/src/site-publishing/content-scanner.ts +93 -0
- package/src/site-publishing/edge-sync.ts +148 -0
- package/src/site-publishing/gateway-signature.ts +198 -0
- package/src/site-publishing/limits.ts +315 -0
- package/src/site-publishing/page-tool-authority.ts +111 -0
- package/src/site-publishing/platform-usage.ts +479 -0
- package/src/site-publishing/platform.ts +98 -0
- package/src/site-publishing/readiness.ts +330 -0
- package/src/site-publishing/runtime.ts +831 -0
- package/src/site-publishing/service.ts +1282 -0
- package/src/site-publishing/session-events.ts +262 -0
- package/src/site-publishing/session-views.ts +262 -0
- package/src/site-publishing/viewer.ts +75 -0
- package/src/site-session-origin.ts +91 -6
- package/src/site-sql/format.ts +134 -0
- package/src/site-sql/gateway.ts +168 -0
- package/src/site-sql/service.ts +1636 -0
- package/src/site-uploads.ts +27 -5
- package/src/temporal-schedule-sync.ts +74 -0
- package/src/transcription/billing-refusal.ts +14 -0
- package/src/transcription/normalize.ts +77 -0
- package/src/transcription/providers/azure-mai.ts +98 -0
- package/src/transcription/providers/azure-openai.ts +16 -7
- package/src/transcription/providers/codex-subscription.ts +190 -67
- package/src/transcription/providers/openai.ts +79 -5
- package/src/transcription/providers/subscription-core.ts +125 -0
- package/src/transcription/providers/xai-subscription.ts +81 -83
- package/src/transcription/segmenter.ts +7 -1
- package/src/transcription/service.ts +239 -10
- package/src/transcription/wav-duration.ts +39 -0
- package/src/workspace-deletion.ts +25 -1
- package/src/workspace-tool-gateway-attestations.ts +133 -0
- package/src/workspace-tool-gateway-observability.ts +64 -0
- package/src/workspace-tool-gateway-secrets.ts +104 -0
- package/src/workspace-tool-gateway.ts +921 -103
- package/src/workspace-tool-target-fence.ts +380 -0
- package/src/workspace-tool-target.ts +554 -0
- package/src/workspace-webhook-dispatch.ts +225 -0
- package/src/xai-realtime.ts +85 -81
- package/src/xai-subscription-core.ts +172 -0
- package/dist/browser-auth-broker.d.ts +0 -20
- package/dist/chunk-AJ62T5QN.js.map +0 -1
- package/dist/connection-authority-owner.d.ts +0 -59
- package/dist/routes/connection-authorities.d.ts +0 -3
- package/dist/routes/environments.d.ts +0 -5
- package/dist/routes/host-mcp-bindings.d.ts +0 -5
- package/dist/routes/host-mcp-resolvers.d.ts +0 -3
- package/dist/routes/packs.d.ts +0 -3
- package/dist/session-event-view-MU3HMNV3.js +0 -264
- package/dist/session-event-view-MU3HMNV3.js.map +0 -1
- package/dist/xai-subscription-auth.d.ts +0 -23
- package/src/browser-auth-broker.ts +0 -155
- package/src/connection-authority-owner.ts +0 -61
- package/src/routes/connection-authorities.ts +0 -139
- package/src/routes/environments.ts +0 -388
- package/src/routes/host-mcp-bindings.ts +0 -122
- package/src/routes/host-mcp-resolvers.ts +0 -41
- package/src/routes/packs.ts +0 -784
- package/src/xai-subscription-auth.ts +0 -139
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { withOrganizationIntegrationAcquisition } from "@opengeni/db/organization-integration-policy";
|
|
2
|
+
import { claimOAuthAcquisition, finishOAuthAcquisition } from "./oauth-client";
|
|
1
3
|
import { Buffer } from "node:buffer";
|
|
2
4
|
import { createHash, randomBytes } from "node:crypto";
|
|
3
5
|
|
|
@@ -18,7 +20,11 @@ import {
|
|
|
18
20
|
type ApiIntegrationOAuthStartRequest,
|
|
19
21
|
type ConnectionOwnership,
|
|
20
22
|
} from "@opengeni/contracts";
|
|
21
|
-
import {
|
|
23
|
+
import {
|
|
24
|
+
integrationKeyForConnectProvider,
|
|
25
|
+
requireEnvironmentEncryption,
|
|
26
|
+
type ApiRouteDeps,
|
|
27
|
+
} from "@opengeni/core";
|
|
22
28
|
import { ExternalActorContinuation } from "@opengeni/contracts/external-identities";
|
|
23
29
|
import {
|
|
24
30
|
consumeIntegrationOAuthStateNonce,
|
|
@@ -28,7 +34,6 @@ import {
|
|
|
28
34
|
loadConnectionCredentialForBroker,
|
|
29
35
|
persistProviderOAuthConnection,
|
|
30
36
|
getConnectAttempt,
|
|
31
|
-
claimConnectOperation,
|
|
32
37
|
finishConnectOperation,
|
|
33
38
|
} from "@opengeni/db";
|
|
34
39
|
import { createSignedState, readSignedState } from "@opengeni/github";
|
|
@@ -49,15 +54,11 @@ import {
|
|
|
49
54
|
} from "../connection-ownership";
|
|
50
55
|
import {
|
|
51
56
|
integrationBaseUrl,
|
|
57
|
+
oauthStateFailureReturn,
|
|
52
58
|
oauthStateTtlMs,
|
|
53
59
|
requireIntegrationsStateSecret,
|
|
60
|
+
workspaceIntegrationsPath,
|
|
54
61
|
} from "./oauth-client";
|
|
55
|
-
import {
|
|
56
|
-
assertOwnershipAllowed,
|
|
57
|
-
builtInOAuthProfileFor,
|
|
58
|
-
DEFAULT_OAUTH_PROFILE,
|
|
59
|
-
type OAuthProviderProfile,
|
|
60
|
-
} from "./oauth-profiles";
|
|
61
62
|
|
|
62
63
|
const PROVIDER_OAUTH_CALLBACK_PATH = "/v1/integrations/provider-oauth/callback";
|
|
63
64
|
const PROVIDER_OAUTH_TIMEOUT_MS = 15_000;
|
|
@@ -110,6 +111,7 @@ type ProviderIdentity = {
|
|
|
110
111
|
|
|
111
112
|
type ProviderOAuthFailureReason =
|
|
112
113
|
| "state_invalid"
|
|
114
|
+
| "state_expired"
|
|
113
115
|
| "state_replayed"
|
|
114
116
|
| "provider_denied"
|
|
115
117
|
| "missing_code"
|
|
@@ -149,6 +151,7 @@ export async function startApiIntegrationProviderOAuth(
|
|
|
149
151
|
},
|
|
150
152
|
): Promise<OAuthStartResponse> {
|
|
151
153
|
const definition = requiredDefinition(input.payload.definitionId);
|
|
154
|
+
await withOrganizationIntegrationAcquisition(deps.db, input, [definition.id], async () => {});
|
|
152
155
|
const providerDomain = integrationDefinitionProviderDomain(definition);
|
|
153
156
|
const existing = input.payload.connectionId
|
|
154
157
|
? await getConnectionMetadata(
|
|
@@ -182,18 +185,8 @@ export async function startApiIntegrationProviderOAuth(
|
|
|
182
185
|
message: "The selected Connection ownership does not match this OAuth request",
|
|
183
186
|
});
|
|
184
187
|
}
|
|
185
|
-
//
|
|
186
|
-
|
|
187
|
-
// would have been the opposite defect: an executed probe on
|
|
188
|
-
// `microsoft-outlook-mail` confirmed it flips a newly connected mailbox from
|
|
189
|
-
// subject-scoped to workspace-shared for API/SDK callers, which is a real
|
|
190
|
-
// narrow -> broad widening. So an ambiguous omission is refused outright and
|
|
191
|
-
// the caller must choose. A profile that allows exactly one ownership is not
|
|
192
|
-
// ambiguous (Gmail and hosted Slack MCP are personal-only), and a reconnect
|
|
193
|
-
// takes the existing row's ownership.
|
|
194
|
-
const profile = providerOAuthProfile(definition, providerDomain);
|
|
195
|
-
const ownership =
|
|
196
|
-
existingOwnership ?? input.payload.ownership ?? soleAllowedOwnership(profile) ?? null;
|
|
188
|
+
// API callers choose ownership explicitly; reconnects preserve the saved choice.
|
|
189
|
+
const ownership = existingOwnership ?? input.payload.ownership ?? null;
|
|
197
190
|
if (ownership === null) {
|
|
198
191
|
throw new HTTPException(422, {
|
|
199
192
|
message:
|
|
@@ -201,13 +194,6 @@ export async function startApiIntegrationProviderOAuth(
|
|
|
201
194
|
'or "personal" to connect only for yourself',
|
|
202
195
|
});
|
|
203
196
|
}
|
|
204
|
-
// Inert by construction today, and deliberately kept: no curated Definition
|
|
205
|
-
// resolves to a personal-only profile (all five are Google Workspace and
|
|
206
|
-
// Microsoft Graph APIs, so `providerOAuthProfile` returns the default), which
|
|
207
|
-
// is why disabling this line reddens nothing. It is the fence that keeps a
|
|
208
|
-
// future Definition targeting slack.com or Gmail from minting an ownership
|
|
209
|
-
// its profile forbids - read it as pre-wiring, not as an untested gap.
|
|
210
|
-
assertOwnershipAllowed(profile, ownership);
|
|
211
197
|
assertConnectionOwnershipAllowedForPrincipal(ownership, input.personalOwnershipAllowed);
|
|
212
198
|
const authorizeScopes = uniqueStrings([
|
|
213
199
|
...(existing?.grantedScopes ?? []),
|
|
@@ -219,7 +205,7 @@ export async function startApiIntegrationProviderOAuth(
|
|
|
219
205
|
const baseUrl = integrationBaseUrl(deps.settings.publicBaseUrl, input.requestUrl);
|
|
220
206
|
const redirectUri = `${baseUrl}${providerOAuthCallbackPath(definition)}`;
|
|
221
207
|
const returnPath = safeReturnPath(
|
|
222
|
-
input.payload.returnPath ??
|
|
208
|
+
input.payload.returnPath ?? workspaceIntegrationsPath(input.workspaceId),
|
|
223
209
|
);
|
|
224
210
|
const state = createSignedState(requireIntegrationsStateSecret(deps.settings), {
|
|
225
211
|
accountId: input.accountId,
|
|
@@ -307,12 +293,18 @@ export async function completeApiIntegrationProviderOAuth(
|
|
|
307
293
|
operationId: `oauth:${state.nonce}`,
|
|
308
294
|
inputDigest: createHash("sha256").update(input.state!).digest("hex"),
|
|
309
295
|
};
|
|
310
|
-
const claim = await
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
296
|
+
const claim = await claimOAuthAcquisition(
|
|
297
|
+
deps.db,
|
|
298
|
+
state,
|
|
299
|
+
{
|
|
300
|
+
...connectOperation,
|
|
301
|
+
expectedRevision: stored.attempt.revision,
|
|
302
|
+
authorize: (tx, _attempt, origin) =>
|
|
303
|
+
requireConnectOwnerAuthority(tx, state!, "connections:write", origin),
|
|
304
|
+
},
|
|
305
|
+
integrationKeyForConnectProvider(state.definitionId),
|
|
306
|
+
Boolean(input.code && !input.error),
|
|
307
|
+
);
|
|
316
308
|
if (claim.status === "replayed") return { redirectTo: exactReturnUrl, exactReturn: true };
|
|
317
309
|
}
|
|
318
310
|
requireProviderOAuthOwner(state);
|
|
@@ -350,6 +342,7 @@ export async function completeApiIntegrationProviderOAuth(
|
|
|
350
342
|
|
|
351
343
|
const definition = integrationDefinitionById(state.definitionId);
|
|
352
344
|
if (!definition) throw new ProviderOAuthCallbackError("state_invalid");
|
|
345
|
+
await withOrganizationIntegrationAcquisition(deps.db, state, [definition.id], async () => {});
|
|
353
346
|
if (
|
|
354
347
|
state.definitionFingerprint !== providerDefinitionFingerprint(definition) ||
|
|
355
348
|
state.providerDomain !== integrationDefinitionProviderDomain(definition) ||
|
|
@@ -480,32 +473,42 @@ export async function completeApiIntegrationProviderOAuth(
|
|
|
480
473
|
const persist = (database: import("@opengeni/db").Database) =>
|
|
481
474
|
persistProviderOAuthConnection(database, persistenceInput);
|
|
482
475
|
if (connectOperation) {
|
|
483
|
-
await
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
476
|
+
await finishOAuthAcquisition(
|
|
477
|
+
deps.db,
|
|
478
|
+
state,
|
|
479
|
+
{
|
|
480
|
+
...connectOperation,
|
|
481
|
+
authorize: (tx, _attempt, origin) =>
|
|
482
|
+
requireConnectOwnerAuthority(tx, state!, "connections:write", origin),
|
|
483
|
+
commit: async (tx, current) => {
|
|
484
|
+
const connection = await persist(tx);
|
|
485
|
+
if (!connection) throw new ProviderOAuthCallbackError("connection_conflict");
|
|
486
|
+
return {
|
|
487
|
+
...current,
|
|
488
|
+
revision: current.revision + 1,
|
|
489
|
+
state: "connected_but_incomplete",
|
|
490
|
+
credentialsCommitted: true,
|
|
491
|
+
nextAction: { type: "none" },
|
|
492
|
+
account: {
|
|
493
|
+
id: connection.id,
|
|
494
|
+
providerId: current.providerId,
|
|
495
|
+
label: identity.displayName ?? identity.email ?? identity.principalId,
|
|
496
|
+
ownership: current.ownership,
|
|
497
|
+
status: "connected",
|
|
498
|
+
},
|
|
499
|
+
};
|
|
500
|
+
},
|
|
504
501
|
},
|
|
505
|
-
|
|
502
|
+
definition.id,
|
|
503
|
+
);
|
|
506
504
|
return { redirectTo: exactReturnUrl!, exactReturn: true };
|
|
507
505
|
}
|
|
508
|
-
const connection = await
|
|
506
|
+
const connection = await withOrganizationIntegrationAcquisition(
|
|
507
|
+
deps.db,
|
|
508
|
+
state,
|
|
509
|
+
[definition.id],
|
|
510
|
+
persist,
|
|
511
|
+
);
|
|
509
512
|
if (!connection) throw new ProviderOAuthCallbackError("connection_conflict");
|
|
510
513
|
return {
|
|
511
514
|
redirectTo: providerOAuthReturnUrl(returnBaseUrl, state.returnPath, "success", {
|
|
@@ -517,42 +520,24 @@ export async function completeApiIntegrationProviderOAuth(
|
|
|
517
520
|
};
|
|
518
521
|
} catch (error) {
|
|
519
522
|
if (exactReturnUrl !== undefined) return { redirectTo: exactReturnUrl, exactReturn: true };
|
|
523
|
+
const reason = providerOAuthFailureReason(error);
|
|
524
|
+
// An unreadable state carries no return path; an authentic but aged one
|
|
525
|
+
// still names its workspace and is reported as expired.
|
|
526
|
+
const failure = state ? null : oauthStateFailureReturn(deps.settings, input.state);
|
|
520
527
|
return {
|
|
521
528
|
redirectTo: providerOAuthReturnUrl(
|
|
522
529
|
returnBaseUrl,
|
|
523
|
-
state?.returnPath ??
|
|
530
|
+
state?.returnPath ?? failure!.returnPath,
|
|
524
531
|
"error",
|
|
525
532
|
{
|
|
526
533
|
...(state?.definitionId ? { definitionId: state.definitionId } : {}),
|
|
527
|
-
reason:
|
|
534
|
+
reason: failure && reason === "state_invalid" ? failure.reason : reason,
|
|
528
535
|
},
|
|
529
536
|
),
|
|
530
537
|
};
|
|
531
538
|
}
|
|
532
539
|
}
|
|
533
540
|
|
|
534
|
-
/**
|
|
535
|
-
* The ownership fences that apply to a curated Definition, read from the same
|
|
536
|
-
* profile table the MCP OAuth start uses. No curated Definition targets a
|
|
537
|
-
* personal-only provider today (they are Google Workspace and Microsoft Graph
|
|
538
|
-
* APIs), so this resolves to the default profile and its workspace default;
|
|
539
|
-
* matching by provider domain keeps the Slack/Gmail fences in force if one ever
|
|
540
|
-
* does, instead of letting this flow mint an ownership their profile forbids.
|
|
541
|
-
*/
|
|
542
|
-
/** The profile's ownership when it allows exactly one, else null (ambiguous). */
|
|
543
|
-
function soleAllowedOwnership(profile: OAuthProviderProfile): ConnectionOwnership | null {
|
|
544
|
-
return profile.allowedOwnership.length === 1 ? profile.allowedOwnership[0]! : null;
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
function providerOAuthProfile(
|
|
548
|
-
definition: IntegrationDefinition,
|
|
549
|
-
providerDomain: string,
|
|
550
|
-
): OAuthProviderProfile {
|
|
551
|
-
return (
|
|
552
|
-
builtInOAuthProfileFor({ mcpUrl: definition.baseUrl, providerDomain }) ?? DEFAULT_OAUTH_PROFILE
|
|
553
|
-
);
|
|
554
|
-
}
|
|
555
|
-
|
|
556
541
|
function requiredDefinition(id: string): IntegrationDefinition {
|
|
557
542
|
const definition = integrationDefinitionById(id);
|
|
558
543
|
if (!definition) throw new HTTPException(404, { message: "Unknown Integration definition" });
|
|
@@ -564,10 +549,7 @@ export function curatedOAuthReadiness(
|
|
|
564
549
|
settings: Settings,
|
|
565
550
|
definition: IntegrationDefinition,
|
|
566
551
|
): { configured: boolean; ownership: ConnectionOwnership[] } {
|
|
567
|
-
const ownership = [
|
|
568
|
-
...providerOAuthProfile(definition, integrationDefinitionProviderDomain(definition))
|
|
569
|
-
.allowedOwnership,
|
|
570
|
-
];
|
|
552
|
+
const ownership: ConnectionOwnership[] = ["workspace", "personal"];
|
|
571
553
|
try {
|
|
572
554
|
if (!settings.integrationsEnabled) return { configured: false, ownership };
|
|
573
555
|
requireEnvironmentEncryption(settings);
|
|
@@ -76,7 +76,7 @@ export function buildSlackAppHomeBlocks(input: {
|
|
|
76
76
|
{
|
|
77
77
|
type: "header",
|
|
78
78
|
block_id: "opengeni_home_header",
|
|
79
|
-
text: { type: "plain_text", text: "Your
|
|
79
|
+
text: { type: "plain_text", text: "Your Opengeni tasks", emoji: true },
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
type: "context",
|
|
@@ -84,7 +84,7 @@ export function buildSlackAppHomeBlocks(input: {
|
|
|
84
84
|
elements: [
|
|
85
85
|
{
|
|
86
86
|
type: "mrkdwn",
|
|
87
|
-
text: "Private to you · refreshed from your current
|
|
87
|
+
text: "Private to you · refreshed from your current Opengeni access",
|
|
88
88
|
},
|
|
89
89
|
],
|
|
90
90
|
},
|
|
@@ -115,7 +115,7 @@ export function buildSlackAppHomeBlocks(input: {
|
|
|
115
115
|
{
|
|
116
116
|
type: "button",
|
|
117
117
|
action_id: "opengeni.home.open_all",
|
|
118
|
-
text: { type: "plain_text", text: "Open
|
|
118
|
+
text: { type: "plain_text", text: "Open Opengeni", emoji: true },
|
|
119
119
|
url: input.workspaceUrl,
|
|
120
120
|
style: "primary",
|
|
121
121
|
},
|
|
@@ -135,7 +135,7 @@ export function buildSlackAppHomeAccessBlocks(input: {
|
|
|
135
135
|
{
|
|
136
136
|
type: "header",
|
|
137
137
|
block_id: "opengeni_home_header",
|
|
138
|
-
text: { type: "plain_text", text: "
|
|
138
|
+
text: { type: "plain_text", text: "Opengeni", emoji: true },
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
141
|
type: "section",
|
|
@@ -156,7 +156,7 @@ export function buildSlackAppHomeAccessBlocks(input: {
|
|
|
156
156
|
action_id: "opengeni.home.connect",
|
|
157
157
|
text: {
|
|
158
158
|
type: "plain_text",
|
|
159
|
-
text: input.actionLabel?.slice(0, 75) || "Open
|
|
159
|
+
text: input.actionLabel?.slice(0, 75) || "Open Opengeni",
|
|
160
160
|
emoji: true,
|
|
161
161
|
},
|
|
162
162
|
url: input.actionUrl,
|