@rudderhq/server 0.1.0-canary.0
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/LICENSE +14 -0
- package/dist/agent-auth-jwt.d.ts +14 -0
- package/dist/agent-auth-jwt.d.ts.map +1 -0
- package/dist/agent-auth-jwt.js +119 -0
- package/dist/agent-auth-jwt.js.map +1 -0
- package/dist/agent-runtimes/codex-models.d.ts +4 -0
- package/dist/agent-runtimes/codex-models.d.ts.map +1 -0
- package/dist/agent-runtimes/codex-models.js +98 -0
- package/dist/agent-runtimes/codex-models.js.map +1 -0
- package/dist/agent-runtimes/cursor-models.d.ts +13 -0
- package/dist/agent-runtimes/cursor-models.d.ts.map +1 -0
- package/dist/agent-runtimes/cursor-models.js +148 -0
- package/dist/agent-runtimes/cursor-models.js.map +1 -0
- package/dist/agent-runtimes/http/execute.d.ts +3 -0
- package/dist/agent-runtimes/http/execute.d.ts.map +1 -0
- package/dist/agent-runtimes/http/execute.js +39 -0
- package/dist/agent-runtimes/http/execute.js.map +1 -0
- package/dist/agent-runtimes/http/index.d.ts +3 -0
- package/dist/agent-runtimes/http/index.d.ts.map +1 -0
- package/dist/agent-runtimes/http/index.js +20 -0
- package/dist/agent-runtimes/http/index.js.map +1 -0
- package/dist/agent-runtimes/http/test.d.ts +3 -0
- package/dist/agent-runtimes/http/test.d.ts.map +1 -0
- package/dist/agent-runtimes/http/test.js +106 -0
- package/dist/agent-runtimes/http/test.js.map +1 -0
- package/dist/agent-runtimes/index.d.ts +4 -0
- package/dist/agent-runtimes/index.d.ts.map +1 -0
- package/dist/agent-runtimes/index.js +3 -0
- package/dist/agent-runtimes/index.js.map +1 -0
- package/dist/agent-runtimes/process/execute.d.ts +3 -0
- package/dist/agent-runtimes/process/execute.d.ts.map +1 -0
- package/dist/agent-runtimes/process/execute.js +63 -0
- package/dist/agent-runtimes/process/execute.js.map +1 -0
- package/dist/agent-runtimes/process/index.d.ts +3 -0
- package/dist/agent-runtimes/process/index.d.ts.map +1 -0
- package/dist/agent-runtimes/process/index.js +23 -0
- package/dist/agent-runtimes/process/index.js.map +1 -0
- package/dist/agent-runtimes/process/test.d.ts +3 -0
- package/dist/agent-runtimes/process/test.d.ts.map +1 -0
- package/dist/agent-runtimes/process/test.js +77 -0
- package/dist/agent-runtimes/process/test.js.map +1 -0
- package/dist/agent-runtimes/registry.d.ts +9 -0
- package/dist/agent-runtimes/registry.d.ts.map +1 -0
- package/dist/agent-runtimes/registry.js +189 -0
- package/dist/agent-runtimes/registry.js.map +1 -0
- package/dist/agent-runtimes/types.d.ts +2 -0
- package/dist/agent-runtimes/types.d.ts.map +1 -0
- package/dist/agent-runtimes/types.js +2 -0
- package/dist/agent-runtimes/types.js.map +1 -0
- package/dist/agent-runtimes/utils.d.ts +10 -0
- package/dist/agent-runtimes/utils.d.ts.map +1 -0
- package/dist/agent-runtimes/utils.js +14 -0
- package/dist/agent-runtimes/utils.js.map +1 -0
- package/dist/agent-workspace-key.d.ts +17 -0
- package/dist/agent-workspace-key.d.ts.map +1 -0
- package/dist/agent-workspace-key.js +49 -0
- package/dist/agent-workspace-key.js.map +1 -0
- package/dist/app.d.ts +14 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +19 -0
- package/dist/app.js.map +1 -0
- package/dist/attachment-types.d.ts +33 -0
- package/dist/attachment-types.d.ts.map +1 -0
- package/dist/attachment-types.js +67 -0
- package/dist/attachment-types.js.map +1 -0
- package/dist/auth/better-auth.d.ts +24 -0
- package/dist/auth/better-auth.d.ts.map +1 -0
- package/dist/auth/better-auth.js +108 -0
- package/dist/auth/better-auth.js.map +1 -0
- package/dist/board-claim.d.ts +23 -0
- package/dist/board-claim.d.ts.map +1 -0
- package/dist/board-claim.js +115 -0
- package/dist/board-claim.js.map +1 -0
- package/dist/bootstrap/create-http-app.d.ts +6 -0
- package/dist/bootstrap/create-http-app.d.ts.map +1 -0
- package/dist/bootstrap/create-http-app.js +122 -0
- package/dist/bootstrap/create-http-app.js.map +1 -0
- package/dist/bootstrap/plugin-host-runtime.d.ts +116 -0
- package/dist/bootstrap/plugin-host-runtime.d.ts.map +1 -0
- package/dist/bootstrap/plugin-host-runtime.js +121 -0
- package/dist/bootstrap/plugin-host-runtime.js.map +1 -0
- package/dist/bootstrap/register-api-routes.d.ts +5 -0
- package/dist/bootstrap/register-api-routes.d.ts.map +1 -0
- package/dist/bootstrap/register-api-routes.js +65 -0
- package/dist/bootstrap/register-api-routes.js.map +1 -0
- package/dist/bootstrap/types.d.ts +24 -0
- package/dist/bootstrap/types.d.ts.map +1 -0
- package/dist/bootstrap/types.js +2 -0
- package/dist/bootstrap/types.js.map +1 -0
- package/dist/config-file.d.ts +5 -0
- package/dist/config-file.d.ts.map +1 -0
- package/dist/config-file.js +48 -0
- package/dist/config-file.js.map +1 -0
- package/dist/config.d.ts +45 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +233 -0
- package/dist/config.js.map +1 -0
- package/dist/dev-server-status.d.ts +29 -0
- package/dist/dev-server-status.d.ts.map +1 -0
- package/dist/dev-server-status.js +75 -0
- package/dist/dev-server-status.js.map +1 -0
- package/dist/errors.d.ts +12 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +28 -0
- package/dist/errors.js.map +1 -0
- package/dist/home-paths.d.ts +50 -0
- package/dist/home-paths.d.ts.map +1 -0
- package/dist/home-paths.js +183 -0
- package/dist/home-paths.js.map +1 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +827 -0
- package/dist/index.js.map +1 -0
- package/dist/langfuse-transcript.d.ts +32 -0
- package/dist/langfuse-transcript.d.ts.map +1 -0
- package/dist/langfuse-transcript.js +341 -0
- package/dist/langfuse-transcript.js.map +1 -0
- package/dist/langfuse.d.ts +93 -0
- package/dist/langfuse.d.ts.map +1 -0
- package/dist/langfuse.js +412 -0
- package/dist/langfuse.js.map +1 -0
- package/dist/local-runtime.d.ts +67 -0
- package/dist/local-runtime.d.ts.map +1 -0
- package/dist/local-runtime.js +302 -0
- package/dist/local-runtime.js.map +1 -0
- package/dist/log-redaction.d.ts +11 -0
- package/dist/log-redaction.d.ts.map +1 -0
- package/dist/log-redaction.js +118 -0
- package/dist/log-redaction.js.map +1 -0
- package/dist/middleware/auth.d.ts +12 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +144 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/board-mutation-guard.d.ts +3 -0
- package/dist/middleware/board-mutation-guard.d.ts.map +1 -0
- package/dist/middleware/board-mutation-guard.js +59 -0
- package/dist/middleware/board-mutation-guard.js.map +1 -0
- package/dist/middleware/error-handler.d.ts +17 -0
- package/dist/middleware/error-handler.d.ts.map +1 -0
- package/dist/middleware/error-handler.js +37 -0
- package/dist/middleware/error-handler.js.map +1 -0
- package/dist/middleware/index.d.ts +4 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +4 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/logger.d.ts +4 -0
- package/dist/middleware/logger.d.ts.map +1 -0
- package/dist/middleware/logger.js +133 -0
- package/dist/middleware/logger.js.map +1 -0
- package/dist/middleware/private-hostname-guard.d.ts +11 -0
- package/dist/middleware/private-hostname-guard.d.ts.map +1 -0
- package/dist/middleware/private-hostname-guard.js +78 -0
- package/dist/middleware/private-hostname-guard.js.map +1 -0
- package/dist/middleware/validate.d.ts +4 -0
- package/dist/middleware/validate.d.ts.map +1 -0
- package/dist/middleware/validate.js +7 -0
- package/dist/middleware/validate.js.map +1 -0
- package/dist/onboarding-assets/ceo/AGENTS.md +33 -0
- package/dist/onboarding-assets/ceo/HEARTBEAT.md +77 -0
- package/dist/onboarding-assets/ceo/SOUL.md +33 -0
- package/dist/onboarding-assets/ceo/TOOLS.md +3 -0
- package/dist/onboarding-assets/default/AGENTS.md +9 -0
- package/dist/onboarding-assets/default/HEARTBEAT.md +36 -0
- package/dist/onboarding-assets/default/SOUL.md +23 -0
- package/dist/onboarding-assets/default/TOOLS.md +3 -0
- package/dist/paths.d.ts +3 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +31 -0
- package/dist/paths.js.map +1 -0
- package/dist/realtime/live-events-ws.d.ts +28 -0
- package/dist/realtime/live-events-ws.d.ts.map +1 -0
- package/dist/realtime/live-events-ws.js +187 -0
- package/dist/realtime/live-events-ws.js.map +1 -0
- package/dist/redaction.d.ts +4 -0
- package/dist/redaction.d.ts.map +1 -0
- package/dist/redaction.js +63 -0
- package/dist/redaction.js.map +1 -0
- package/dist/routes/access.d.ts +57 -0
- package/dist/routes/access.d.ts.map +1 -0
- package/dist/routes/access.js +2266 -0
- package/dist/routes/access.js.map +1 -0
- package/dist/routes/activity.d.ts +3 -0
- package/dist/routes/activity.d.ts.map +1 -0
- package/dist/routes/activity.js +78 -0
- package/dist/routes/activity.js.map +1 -0
- package/dist/routes/agents.d.ts +3 -0
- package/dist/routes/agents.d.ts.map +1 -0
- package/dist/routes/agents.js +1913 -0
- package/dist/routes/agents.js.map +1 -0
- package/dist/routes/approvals.d.ts +3 -0
- package/dist/routes/approvals.d.ts.map +1 -0
- package/dist/routes/approvals.js +365 -0
- package/dist/routes/approvals.js.map +1 -0
- package/dist/routes/assets.d.ts +4 -0
- package/dist/routes/assets.d.ts.map +1 -0
- package/dist/routes/assets.js +309 -0
- package/dist/routes/assets.js.map +1 -0
- package/dist/routes/authz.d.ts +16 -0
- package/dist/routes/authz.d.ts.map +1 -0
- package/dist/routes/authz.js +47 -0
- package/dist/routes/authz.js.map +1 -0
- package/dist/routes/automations.d.ts +3 -0
- package/dist/routes/automations.d.ts.map +1 -0
- package/dist/routes/automations.js +277 -0
- package/dist/routes/automations.js.map +1 -0
- package/dist/routes/chats.d.ts +4 -0
- package/dist/routes/chats.d.ts.map +1 -0
- package/dist/routes/chats.js +1162 -0
- package/dist/routes/chats.js.map +1 -0
- package/dist/routes/costs.d.ts +3 -0
- package/dist/routes/costs.d.ts.map +1 -0
- package/dist/routes/costs.js +268 -0
- package/dist/routes/costs.js.map +1 -0
- package/dist/routes/dashboard.d.ts +3 -0
- package/dist/routes/dashboard.d.ts.map +1 -0
- package/dist/routes/dashboard.js +15 -0
- package/dist/routes/dashboard.js.map +1 -0
- package/dist/routes/execution-workspaces.d.ts +3 -0
- package/dist/routes/execution-workspaces.d.ts.map +1 -0
- package/dist/routes/execution-workspaces.js +165 -0
- package/dist/routes/execution-workspaces.js.map +1 -0
- package/dist/routes/goals.d.ts +3 -0
- package/dist/routes/goals.d.ts.map +1 -0
- package/dist/routes/goals.js +95 -0
- package/dist/routes/goals.js.map +1 -0
- package/dist/routes/health.d.ts +12 -0
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +85 -0
- package/dist/routes/health.js.map +1 -0
- package/dist/routes/index.d.ts +19 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +19 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/instance-settings.d.ts +6 -0
- package/dist/routes/instance-settings.d.ts.map +1 -0
- package/dist/routes/instance-settings.js +250 -0
- package/dist/routes/instance-settings.js.map +1 -0
- package/dist/routes/issues-checkout-wakeup.d.ts +9 -0
- package/dist/routes/issues-checkout-wakeup.d.ts.map +1 -0
- package/dist/routes/issues-checkout-wakeup.js +12 -0
- package/dist/routes/issues-checkout-wakeup.js.map +1 -0
- package/dist/routes/issues.d.ts +4 -0
- package/dist/routes/issues.d.ts.map +1 -0
- package/dist/routes/issues.js +1615 -0
- package/dist/routes/issues.js.map +1 -0
- package/dist/routes/llms.d.ts +3 -0
- package/dist/routes/llms.d.ts.map +1 -0
- package/dist/routes/llms.js +78 -0
- package/dist/routes/llms.js.map +1 -0
- package/dist/routes/messenger.d.ts +3 -0
- package/dist/routes/messenger.d.ts.map +1 -0
- package/dist/routes/messenger.js +108 -0
- package/dist/routes/messenger.js.map +1 -0
- package/dist/routes/org-chart-logo.d.ts +2 -0
- package/dist/routes/org-chart-logo.d.ts.map +1 -0
- package/dist/routes/org-chart-logo.js +2 -0
- package/dist/routes/org-chart-logo.js.map +1 -0
- package/dist/routes/org-chart-svg.d.ts +25 -0
- package/dist/routes/org-chart-svg.d.ts.map +1 -0
- package/dist/routes/org-chart-svg.js +652 -0
- package/dist/routes/org-chart-svg.js.map +1 -0
- package/dist/routes/organization-skills.d.ts +3 -0
- package/dist/routes/organization-skills.d.ts.map +1 -0
- package/dist/routes/organization-skills.js +253 -0
- package/dist/routes/organization-skills.js.map +1 -0
- package/dist/routes/orgs.d.ts +4 -0
- package/dist/routes/orgs.d.ts.map +1 -0
- package/dist/routes/orgs.js +575 -0
- package/dist/routes/orgs.js.map +1 -0
- package/dist/routes/plugin-ui-static.d.ts +69 -0
- package/dist/routes/plugin-ui-static.d.ts.map +1 -0
- package/dist/routes/plugin-ui-static.js +411 -0
- package/dist/routes/plugin-ui-static.js.map +1 -0
- package/dist/routes/plugins.d.ts +120 -0
- package/dist/routes/plugins.d.ts.map +1 -0
- package/dist/routes/plugins.js +1776 -0
- package/dist/routes/plugins.js.map +1 -0
- package/dist/routes/projects.d.ts +3 -0
- package/dist/routes/projects.d.ts.map +1 -0
- package/dist/routes/projects.js +235 -0
- package/dist/routes/projects.js.map +1 -0
- package/dist/routes/run-intelligence.d.ts +3 -0
- package/dist/routes/run-intelligence.d.ts.map +1 -0
- package/dist/routes/run-intelligence.js +58 -0
- package/dist/routes/run-intelligence.js.map +1 -0
- package/dist/routes/secrets.d.ts +3 -0
- package/dist/routes/secrets.d.ts.map +1 -0
- package/dist/routes/secrets.js +128 -0
- package/dist/routes/secrets.js.map +1 -0
- package/dist/routes/sidebar-badges.d.ts +3 -0
- package/dist/routes/sidebar-badges.d.ts.map +1 -0
- package/dist/routes/sidebar-badges.js +70 -0
- package/dist/routes/sidebar-badges.js.map +1 -0
- package/dist/secrets/external-stub-providers.d.ts +5 -0
- package/dist/secrets/external-stub-providers.d.ts.map +1 -0
- package/dist/secrets/external-stub-providers.js +21 -0
- package/dist/secrets/external-stub-providers.js.map +1 -0
- package/dist/secrets/local-encrypted-provider.d.ts +3 -0
- package/dist/secrets/local-encrypted-provider.d.ts.map +1 -0
- package/dist/secrets/local-encrypted-provider.js +116 -0
- package/dist/secrets/local-encrypted-provider.js.map +1 -0
- package/dist/secrets/provider-registry.d.ts +5 -0
- package/dist/secrets/provider-registry.d.ts.map +1 -0
- package/dist/secrets/provider-registry.js +20 -0
- package/dist/secrets/provider-registry.js.map +1 -0
- package/dist/secrets/types.d.ts +21 -0
- package/dist/secrets/types.d.ts.map +1 -0
- package/dist/secrets/types.js +2 -0
- package/dist/secrets/types.js.map +1 -0
- package/dist/services/access.d.ts +113 -0
- package/dist/services/access.d.ts.map +1 -0
- package/dist/services/access.js +247 -0
- package/dist/services/access.js.map +1 -0
- package/dist/services/activity-log.d.ts +17 -0
- package/dist/services/activity-log.d.ts.map +1 -0
- package/dist/services/activity-log.js +109 -0
- package/dist/services/activity-log.js.map +1 -0
- package/dist/services/activity.d.ts +472 -0
- package/dist/services/activity.d.ts.map +1 -0
- package/dist/services/activity.js +134 -0
- package/dist/services/activity.js.map +1 -0
- package/dist/services/agent-enabled-skills.d.ts +9 -0
- package/dist/services/agent-enabled-skills.d.ts.map +1 -0
- package/dist/services/agent-enabled-skills.js +89 -0
- package/dist/services/agent-enabled-skills.js.map +1 -0
- package/dist/services/agent-instructions.d.ts +98 -0
- package/dist/services/agent-instructions.d.ts.map +1 -0
- package/dist/services/agent-instructions.js +596 -0
- package/dist/services/agent-instructions.js.map +1 -0
- package/dist/services/agent-name-pool.d.ts +10 -0
- package/dist/services/agent-name-pool.d.ts.map +1 -0
- package/dist/services/agent-name-pool.js +230 -0
- package/dist/services/agent-name-pool.js.map +1 -0
- package/dist/services/agent-permissions.d.ts +6 -0
- package/dist/services/agent-permissions.d.ts.map +1 -0
- package/dist/services/agent-permissions.js +18 -0
- package/dist/services/agent-permissions.js.map +1 -0
- package/dist/services/agent-run-context.d.ts +142 -0
- package/dist/services/agent-run-context.d.ts.map +1 -0
- package/dist/services/agent-run-context.js +451 -0
- package/dist/services/agent-run-context.js.map +1 -0
- package/dist/services/agents.d.ts +1713 -0
- package/dist/services/agents.d.ts.map +1 -0
- package/dist/services/agents.js +750 -0
- package/dist/services/agents.js.map +1 -0
- package/dist/services/approvals.d.ts +546 -0
- package/dist/services/approvals.d.ts.map +1 -0
- package/dist/services/approvals.js +212 -0
- package/dist/services/approvals.js.map +1 -0
- package/dist/services/assets.d.ts +33 -0
- package/dist/services/assets.d.ts.map +1 -0
- package/dist/services/assets.js +17 -0
- package/dist/services/assets.js.map +1 -0
- package/dist/services/automations.d.ts +135 -0
- package/dist/services/automations.d.ts.map +1 -0
- package/dist/services/automations.js +1105 -0
- package/dist/services/automations.js.map +1 -0
- package/dist/services/board-auth.d.ts +234 -0
- package/dist/services/board-auth.d.ts.map +1 -0
- package/dist/services/board-auth.js +295 -0
- package/dist/services/board-auth.js.map +1 -0
- package/dist/services/budgets.d.ts +38 -0
- package/dist/services/budgets.d.ts.map +1 -0
- package/dist/services/budgets.js +784 -0
- package/dist/services/budgets.js.map +1 -0
- package/dist/services/chat-assistant.d.ts +62 -0
- package/dist/services/chat-assistant.d.ts.map +1 -0
- package/dist/services/chat-assistant.js +943 -0
- package/dist/services/chat-assistant.js.map +1 -0
- package/dist/services/chat-generation-locks.d.ts +3 -0
- package/dist/services/chat-generation-locks.d.ts.map +1 -0
- package/dist/services/chat-generation-locks.js +16 -0
- package/dist/services/chat-generation-locks.js.map +1 -0
- package/dist/services/chats.d.ts +723 -0
- package/dist/services/chats.d.ts.map +1 -0
- package/dist/services/chats.js +1188 -0
- package/dist/services/chats.js.map +1 -0
- package/dist/services/costs.d.ts +114 -0
- package/dist/services/costs.d.ts.map +1 -0
- package/dist/services/costs.js +326 -0
- package/dist/services/costs.js.map +1 -0
- package/dist/services/cron.d.ts +80 -0
- package/dist/services/cron.d.ts.map +1 -0
- package/dist/services/cron.js +300 -0
- package/dist/services/cron.js.map +1 -0
- package/dist/services/dashboard.d.ts +26 -0
- package/dist/services/dashboard.d.ts.map +1 -0
- package/dist/services/dashboard.js +98 -0
- package/dist/services/dashboard.js.map +1 -0
- package/dist/services/default-agent-instructions.d.ts +9 -0
- package/dist/services/default-agent-instructions.d.ts.map +1 -0
- package/dist/services/default-agent-instructions.js +20 -0
- package/dist/services/default-agent-instructions.js.map +1 -0
- package/dist/services/documents.d.ts +164 -0
- package/dist/services/documents.d.ts.map +1 -0
- package/dist/services/documents.js +382 -0
- package/dist/services/documents.js.map +1 -0
- package/dist/services/execution-workspace-policy.d.ts +20 -0
- package/dist/services/execution-workspace-policy.d.ts.map +1 -0
- package/dist/services/execution-workspace-policy.js +172 -0
- package/dist/services/execution-workspace-policy.js.map +1 -0
- package/dist/services/execution-workspaces.d.ts +19 -0
- package/dist/services/execution-workspaces.d.ts.map +1 -0
- package/dist/services/execution-workspaces.js +87 -0
- package/dist/services/execution-workspaces.js.map +1 -0
- package/dist/services/finance.d.ts +93 -0
- package/dist/services/finance.d.ts.map +1 -0
- package/dist/services/finance.js +120 -0
- package/dist/services/finance.js.map +1 -0
- package/dist/services/goals.d.ts +433 -0
- package/dist/services/goals.d.ts.map +1 -0
- package/dist/services/goals.js +54 -0
- package/dist/services/goals.js.map +1 -0
- package/dist/services/heartbeat-run-summary.d.ts +2 -0
- package/dist/services/heartbeat-run-summary.d.ts.map +1 -0
- package/dist/services/heartbeat-run-summary.js +131 -0
- package/dist/services/heartbeat-run-summary.js.map +1 -0
- package/dist/services/heartbeat.d.ts +2 -0
- package/dist/services/heartbeat.d.ts.map +1 -0
- package/dist/services/heartbeat.js +2 -0
- package/dist/services/heartbeat.js.map +1 -0
- package/dist/services/hire-hook.d.ts +14 -0
- package/dist/services/hire-hook.d.ts.map +1 -0
- package/dist/services/hire-hook.js +85 -0
- package/dist/services/hire-hook.js.map +1 -0
- package/dist/services/index.d.ts +38 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +38 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/instance-settings.d.ts +14 -0
- package/dist/services/instance-settings.d.ts.map +1 -0
- package/dist/services/instance-settings.js +158 -0
- package/dist/services/instance-settings.js.map +1 -0
- package/dist/services/issue-approvals.d.ts +56 -0
- package/dist/services/issue-approvals.d.ts.map +1 -0
- package/dist/services/issue-approvals.js +153 -0
- package/dist/services/issue-approvals.js.map +1 -0
- package/dist/services/issue-assignment-wakeup.d.ts +32 -0
- package/dist/services/issue-assignment-wakeup.d.ts.map +1 -0
- package/dist/services/issue-assignment-wakeup.js +43 -0
- package/dist/services/issue-assignment-wakeup.js.map +1 -0
- package/dist/services/issue-goal-fallback.d.ts +15 -0
- package/dist/services/issue-goal-fallback.d.ts.map +1 -0
- package/dist/services/issue-goal-fallback.js +15 -0
- package/dist/services/issue-goal-fallback.js.map +1 -0
- package/dist/services/issues.d.ts +580 -0
- package/dist/services/issues.d.ts.map +1 -0
- package/dist/services/issues.js +1464 -0
- package/dist/services/issues.js.map +1 -0
- package/dist/services/knowledge-portability/organization-portability.d.ts +23 -0
- package/dist/services/knowledge-portability/organization-portability.d.ts.map +1 -0
- package/dist/services/knowledge-portability/organization-portability.js +3795 -0
- package/dist/services/knowledge-portability/organization-portability.js.map +1 -0
- package/dist/services/knowledge-portability/organization-skills.d.ts +105 -0
- package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -0
- package/dist/services/knowledge-portability/organization-skills.js +3172 -0
- package/dist/services/knowledge-portability/organization-skills.js.map +1 -0
- package/dist/services/live-events.d.ts +17 -0
- package/dist/services/live-events.d.ts.map +1 -0
- package/dist/services/live-events.js +33 -0
- package/dist/services/live-events.js.map +1 -0
- package/dist/services/messenger.d.ts +111 -0
- package/dist/services/messenger.d.ts.map +1 -0
- package/dist/services/messenger.js +774 -0
- package/dist/services/messenger.js.map +1 -0
- package/dist/services/native-path-picker.d.ts +18 -0
- package/dist/services/native-path-picker.d.ts.map +1 -0
- package/dist/services/native-path-picker.js +119 -0
- package/dist/services/native-path-picker.js.map +1 -0
- package/dist/services/operator-profile.d.ts +7 -0
- package/dist/services/operator-profile.d.ts.map +1 -0
- package/dist/services/operator-profile.js +66 -0
- package/dist/services/operator-profile.js.map +1 -0
- package/dist/services/organization-export-readme.d.ts +17 -0
- package/dist/services/organization-export-readme.d.ts.map +1 -0
- package/dist/services/organization-export-readme.js +148 -0
- package/dist/services/organization-export-readme.js.map +1 -0
- package/dist/services/organization-portability.d.ts +2 -0
- package/dist/services/organization-portability.d.ts.map +1 -0
- package/dist/services/organization-portability.js +2 -0
- package/dist/services/organization-portability.js.map +1 -0
- package/dist/services/organization-skills.d.ts +2 -0
- package/dist/services/organization-skills.d.ts.map +1 -0
- package/dist/services/organization-skills.js +2 -0
- package/dist/services/organization-skills.js.map +1 -0
- package/dist/services/organization-workspace-browser.d.ts +8 -0
- package/dist/services/organization-workspace-browser.d.ts.map +1 -0
- package/dist/services/organization-workspace-browser.js +229 -0
- package/dist/services/organization-workspace-browser.js.map +1 -0
- package/dist/services/organization-workspace.d.ts +5 -0
- package/dist/services/organization-workspace.d.ts.map +1 -0
- package/dist/services/organization-workspace.js +71 -0
- package/dist/services/organization-workspace.js.map +1 -0
- package/dist/services/orgs.d.ts +163 -0
- package/dist/services/orgs.d.ts.map +1 -0
- package/dist/services/orgs.js +327 -0
- package/dist/services/orgs.js.map +1 -0
- package/dist/services/plugin-capability-validator.d.ts +108 -0
- package/dist/services/plugin-capability-validator.d.ts.map +1 -0
- package/dist/services/plugin-capability-validator.js +268 -0
- package/dist/services/plugin-capability-validator.js.map +1 -0
- package/dist/services/plugin-config-validator.d.ts +26 -0
- package/dist/services/plugin-config-validator.d.ts.map +1 -0
- package/dist/services/plugin-config-validator.js +41 -0
- package/dist/services/plugin-config-validator.js.map +1 -0
- package/dist/services/plugin-dev-watcher.d.ts +30 -0
- package/dist/services/plugin-dev-watcher.d.ts.map +1 -0
- package/dist/services/plugin-dev-watcher.js +241 -0
- package/dist/services/plugin-dev-watcher.js.map +1 -0
- package/dist/services/plugin-event-bus.d.ts +149 -0
- package/dist/services/plugin-event-bus.d.ts.map +1 -0
- package/dist/services/plugin-event-bus.js +258 -0
- package/dist/services/plugin-event-bus.js.map +1 -0
- package/dist/services/plugin-host-service-cleanup.d.ts +14 -0
- package/dist/services/plugin-host-service-cleanup.d.ts.map +1 -0
- package/dist/services/plugin-host-service-cleanup.js +37 -0
- package/dist/services/plugin-host-service-cleanup.js.map +1 -0
- package/dist/services/plugin-host-services.d.ts +13 -0
- package/dist/services/plugin-host-services.d.ts.map +1 -0
- package/dist/services/plugin-host-services.js +973 -0
- package/dist/services/plugin-host-services.js.map +1 -0
- package/dist/services/plugin-job-coordinator.d.ts +81 -0
- package/dist/services/plugin-job-coordinator.d.ts.map +1 -0
- package/dist/services/plugin-job-coordinator.js +172 -0
- package/dist/services/plugin-job-coordinator.js.map +1 -0
- package/dist/services/plugin-job-scheduler.d.ts +163 -0
- package/dist/services/plugin-job-scheduler.d.ts.map +1 -0
- package/dist/services/plugin-job-scheduler.js +564 -0
- package/dist/services/plugin-job-scheduler.js.map +1 -0
- package/dist/services/plugin-job-store.d.ts +208 -0
- package/dist/services/plugin-job-store.d.ts.map +1 -0
- package/dist/services/plugin-job-store.js +350 -0
- package/dist/services/plugin-job-store.js.map +1 -0
- package/dist/services/plugin-lifecycle.d.ts +203 -0
- package/dist/services/plugin-lifecycle.d.ts.map +1 -0
- package/dist/services/plugin-lifecycle.js +476 -0
- package/dist/services/plugin-lifecycle.js.map +1 -0
- package/dist/services/plugin-loader.d.ts +441 -0
- package/dist/services/plugin-loader.d.ts.map +1 -0
- package/dist/services/plugin-loader.js +1192 -0
- package/dist/services/plugin-loader.js.map +1 -0
- package/dist/services/plugin-log-retention.d.ts +20 -0
- package/dist/services/plugin-log-retention.d.ts.map +1 -0
- package/dist/services/plugin-log-retention.js +63 -0
- package/dist/services/plugin-log-retention.js.map +1 -0
- package/dist/services/plugin-manifest-validator.d.ts +79 -0
- package/dist/services/plugin-manifest-validator.d.ts.map +1 -0
- package/dist/services/plugin-manifest-validator.js +84 -0
- package/dist/services/plugin-manifest-validator.js.map +1 -0
- package/dist/services/plugin-registry.d.ts +2542 -0
- package/dist/services/plugin-registry.d.ts.map +1 -0
- package/dist/services/plugin-registry.js +539 -0
- package/dist/services/plugin-registry.js.map +1 -0
- package/dist/services/plugin-runtime-sandbox.d.ts +40 -0
- package/dist/services/plugin-runtime-sandbox.d.ts.map +1 -0
- package/dist/services/plugin-runtime-sandbox.js +154 -0
- package/dist/services/plugin-runtime-sandbox.js.map +1 -0
- package/dist/services/plugin-secrets-handler.d.ts +81 -0
- package/dist/services/plugin-secrets-handler.d.ts.map +1 -0
- package/dist/services/plugin-secrets-handler.js +275 -0
- package/dist/services/plugin-secrets-handler.js.map +1 -0
- package/dist/services/plugin-state-store.d.ts +92 -0
- package/dist/services/plugin-state-store.d.ts.map +1 -0
- package/dist/services/plugin-state-store.js +190 -0
- package/dist/services/plugin-state-store.js.map +1 -0
- package/dist/services/plugin-stream-bus.d.ts +29 -0
- package/dist/services/plugin-stream-bus.d.ts.map +1 -0
- package/dist/services/plugin-stream-bus.js +48 -0
- package/dist/services/plugin-stream-bus.js.map +1 -0
- package/dist/services/plugin-tool-dispatcher.d.ts +180 -0
- package/dist/services/plugin-tool-dispatcher.d.ts.map +1 -0
- package/dist/services/plugin-tool-dispatcher.js +224 -0
- package/dist/services/plugin-tool-dispatcher.js.map +1 -0
- package/dist/services/plugin-tool-registry.d.ts +192 -0
- package/dist/services/plugin-tool-registry.d.ts.map +1 -0
- package/dist/services/plugin-tool-registry.js +224 -0
- package/dist/services/plugin-tool-registry.js.map +1 -0
- package/dist/services/plugin-worker-manager.d.ts +260 -0
- package/dist/services/plugin-worker-manager.d.ts.map +1 -0
- package/dist/services/plugin-worker-manager.js +835 -0
- package/dist/services/plugin-worker-manager.js.map +1 -0
- package/dist/services/projects.d.ts +92 -0
- package/dist/services/projects.d.ts.map +1 -0
- package/dist/services/projects.js +705 -0
- package/dist/services/projects.js.map +1 -0
- package/dist/services/quota-windows.d.ts +9 -0
- package/dist/services/quota-windows.d.ts.map +1 -0
- package/dist/services/quota-windows.js +56 -0
- package/dist/services/quota-windows.js.map +1 -0
- package/dist/services/resource-catalog.d.ts +29 -0
- package/dist/services/resource-catalog.d.ts.map +1 -0
- package/dist/services/resource-catalog.js +298 -0
- package/dist/services/resource-catalog.js.map +1 -0
- package/dist/services/run-intelligence.d.ts +31 -0
- package/dist/services/run-intelligence.d.ts.map +1 -0
- package/dist/services/run-intelligence.js +315 -0
- package/dist/services/run-intelligence.js.map +1 -0
- package/dist/services/run-log-store.d.ts +36 -0
- package/dist/services/run-log-store.d.ts.map +1 -0
- package/dist/services/run-log-store.js +114 -0
- package/dist/services/run-log-store.js.map +1 -0
- package/dist/services/runtime-kernel/heartbeat.d.ts +882 -0
- package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -0
- package/dist/services/runtime-kernel/heartbeat.js +4345 -0
- package/dist/services/runtime-kernel/heartbeat.js.map +1 -0
- package/dist/services/runtime-trace-metadata.d.ts +12 -0
- package/dist/services/runtime-trace-metadata.d.ts.map +1 -0
- package/dist/services/runtime-trace-metadata.js +13 -0
- package/dist/services/runtime-trace-metadata.js.map +1 -0
- package/dist/services/secrets.d.ts +511 -0
- package/dist/services/secrets.d.ts.map +1 -0
- package/dist/services/secrets.js +289 -0
- package/dist/services/secrets.js.map +1 -0
- package/dist/services/sidebar-badges.d.ts +11 -0
- package/dist/services/sidebar-badges.d.ts.map +1 -0
- package/dist/services/sidebar-badges.js +43 -0
- package/dist/services/sidebar-badges.js.map +1 -0
- package/dist/services/work-products.d.ts +14 -0
- package/dist/services/work-products.d.ts.map +1 -0
- package/dist/services/work-products.js +100 -0
- package/dist/services/work-products.js.map +1 -0
- package/dist/services/workspace-operation-log-store.d.ts +35 -0
- package/dist/services/workspace-operation-log-store.d.ts.map +1 -0
- package/dist/services/workspace-operation-log-store.js +115 -0
- package/dist/services/workspace-operation-log-store.js.map +1 -0
- package/dist/services/workspace-operations.d.ts +46 -0
- package/dist/services/workspace-operations.d.ts.map +1 -0
- package/dist/services/workspace-operations.js +237 -0
- package/dist/services/workspace-operations.js.map +1 -0
- package/dist/services/workspace-runtime.d.ts +164 -0
- package/dist/services/workspace-runtime.d.ts.map +1 -0
- package/dist/services/workspace-runtime.js +1235 -0
- package/dist/services/workspace-runtime.js.map +1 -0
- package/dist/startup-banner.d.ts +31 -0
- package/dist/startup-banner.d.ts.map +1 -0
- package/dist/startup-banner.js +121 -0
- package/dist/startup-banner.js.map +1 -0
- package/dist/storage/index.d.ts +6 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +29 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/local-disk-provider.d.ts +3 -0
- package/dist/storage/local-disk-provider.d.ts.map +1 -0
- package/dist/storage/local-disk-provider.js +79 -0
- package/dist/storage/local-disk-provider.js.map +1 -0
- package/dist/storage/provider-registry.d.ts +4 -0
- package/dist/storage/provider-registry.d.ts.map +1 -0
- package/dist/storage/provider-registry.js +15 -0
- package/dist/storage/provider-registry.js.map +1 -0
- package/dist/storage/s3-provider.d.ts +11 -0
- package/dist/storage/s3-provider.d.ts.map +1 -0
- package/dist/storage/s3-provider.js +123 -0
- package/dist/storage/s3-provider.js.map +1 -0
- package/dist/storage/service.d.ts +3 -0
- package/dist/storage/service.d.ts.map +1 -0
- package/dist/storage/service.js +120 -0
- package/dist/storage/service.js.map +1 -0
- package/dist/storage/types.d.ts +55 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +2 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/ui-branding.d.ts +14 -0
- package/dist/ui-branding.d.ts.map +1 -0
- package/dist/ui-branding.js +201 -0
- package/dist/ui-branding.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/package.json +101 -0
- package/resources/bundled-skills/para-memory-files/SKILL.md +114 -0
- package/resources/bundled-skills/para-memory-files/references/schemas.md +35 -0
- package/resources/bundled-skills/rudder/SKILL.md +265 -0
- package/resources/bundled-skills/rudder/references/api-reference.md +253 -0
- package/resources/bundled-skills/rudder/references/cli-reference.md +67 -0
- package/resources/bundled-skills/rudder/references/organization-skills.md +155 -0
- package/resources/bundled-skills/rudder-create-agent/SKILL.md +166 -0
- package/resources/bundled-skills/rudder-create-agent/references/api-reference.md +172 -0
- package/resources/bundled-skills/rudder-create-agent/references/cli-reference.md +126 -0
- package/resources/bundled-skills/rudder-create-plugin/SKILL.md +103 -0
- package/resources/community-skills/deep-research/README.md +124 -0
- package/resources/community-skills/deep-research/SKILL.md +107 -0
- package/resources/community-skills/deep-research/reference/continuation.md +169 -0
- package/resources/community-skills/deep-research/reference/html-generation.md +103 -0
- package/resources/community-skills/deep-research/reference/methodology.md +421 -0
- package/resources/community-skills/deep-research/reference/quality-gates.md +197 -0
- package/resources/community-skills/deep-research/reference/report-assembly.md +119 -0
- package/resources/community-skills/deep-research/reference/weasyprint_guidelines.md +324 -0
- package/resources/community-skills/deep-research/requirements.txt +14 -0
- package/resources/community-skills/deep-research/scripts/citation_manager.py +177 -0
- package/resources/community-skills/deep-research/scripts/md_to_html.py +330 -0
- package/resources/community-skills/deep-research/scripts/research_engine.py +582 -0
- package/resources/community-skills/deep-research/scripts/source_evaluator.py +292 -0
- package/resources/community-skills/deep-research/scripts/validate_report.py +403 -0
- package/resources/community-skills/deep-research/scripts/verify_citations.py +426 -0
- package/resources/community-skills/deep-research/scripts/verify_html.py +220 -0
- package/resources/community-skills/deep-research/templates/mckinsey_report_template.html +443 -0
- package/resources/community-skills/deep-research/templates/report_template.md +433 -0
- package/resources/community-skills/skill-creator/SKILL.md +9 -0
- package/resources/community-skills/software-product-advisor/SKILL.md +290 -0
- package/skills/para-memory-files/SKILL.md +114 -0
- package/skills/para-memory-files/references/schemas.md +35 -0
- package/skills/rudder/SKILL.md +265 -0
- package/skills/rudder/references/api-reference.md +253 -0
- package/skills/rudder/references/cli-reference.md +67 -0
- package/skills/rudder/references/organization-skills.md +155 -0
- package/skills/rudder-create-agent/SKILL.md +166 -0
- package/skills/rudder-create-agent/references/api-reference.md +172 -0
- package/skills/rudder-create-agent/references/cli-reference.md +126 -0
- package/skills/rudder-create-plugin/SKILL.md +103 -0
- package/ui-dist/android-chrome-192x192.png +0 -0
- package/ui-dist/android-chrome-512x512.png +0 -0
- package/ui-dist/android-chrome-maskable-512x512.png +0 -0
- package/ui-dist/apple-touch-icon.png +0 -0
- package/ui-dist/assets/_basePickBy-CjUu04_e.js +1 -0
- package/ui-dist/assets/_baseUniq-C9YNlrVG.js +1 -0
- package/ui-dist/assets/apl-B4CMkyY2.js +1 -0
- package/ui-dist/assets/arc-CSSZfktq.js +1 -0
- package/ui-dist/assets/architectureDiagram-2XIMDMQ5-Co78JKUi.js +36 -0
- package/ui-dist/assets/asciiarmor-Df11BRmG.js +1 -0
- package/ui-dist/assets/asn1-EdZsLKOL.js +1 -0
- package/ui-dist/assets/asterisk-B-8jnY81.js +1 -0
- package/ui-dist/assets/blockDiagram-WCTKOSBZ-2KUUIzzz.js +132 -0
- package/ui-dist/assets/brainfuck-C4LP7Hcl.js +1 -0
- package/ui-dist/assets/c4Diagram-IC4MRINW-C6pq8tPP.js +10 -0
- package/ui-dist/assets/channel-BEODbRMk.js +1 -0
- package/ui-dist/assets/chunk-4BX2VUAB-ojCLkixe.js +1 -0
- package/ui-dist/assets/chunk-55IACEB6-MGONqzmz.js +1 -0
- package/ui-dist/assets/chunk-FMBD7UC4-CmGuLv2P.js +15 -0
- package/ui-dist/assets/chunk-JSJVCQXG-BNBefVr6.js +1 -0
- package/ui-dist/assets/chunk-KX2RTZJC-DIGBQLn5.js +1 -0
- package/ui-dist/assets/chunk-NQ4KR5QH-_KEutsaQ.js +220 -0
- package/ui-dist/assets/chunk-QZHKN3VN-B6pzyuwm.js +1 -0
- package/ui-dist/assets/chunk-WL4C6EOR-B8NDzcfm.js +189 -0
- package/ui-dist/assets/classDiagram-VBA2DB6C-CsSqaaRj.js +1 -0
- package/ui-dist/assets/classDiagram-v2-RAHNMMFH-CsSqaaRj.js +1 -0
- package/ui-dist/assets/clike-B9uivgTg.js +1 -0
- package/ui-dist/assets/clojure-BMjYHr_A.js +1 -0
- package/ui-dist/assets/clone-5oWMCI0u.js +1 -0
- package/ui-dist/assets/cmake-BQqOBYOt.js +1 -0
- package/ui-dist/assets/cobol-CWcv1MsR.js +1 -0
- package/ui-dist/assets/coffeescript-S37ZYGWr.js +1 -0
- package/ui-dist/assets/commonlisp-DBKNyK5s.js +1 -0
- package/ui-dist/assets/cose-bilkent-S5V4N54A-B1t6ulcV.js +1 -0
- package/ui-dist/assets/crystal-SjHAIU92.js +1 -0
- package/ui-dist/assets/css-BnMrqG3P.js +1 -0
- package/ui-dist/assets/cypher-C_CwsFkJ.js +1 -0
- package/ui-dist/assets/cytoscape.esm-BQaXIfA_.js +331 -0
- package/ui-dist/assets/d-pRatUO7H.js +1 -0
- package/ui-dist/assets/dagre-KLK3FWXG-DWVC5_HJ.js +4 -0
- package/ui-dist/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/ui-dist/assets/diagram-E7M64L7V-C4ztYLox.js +24 -0
- package/ui-dist/assets/diagram-IFDJBPK2-DtWBGLnA.js +43 -0
- package/ui-dist/assets/diagram-P4PSJMXO-BiqiI4Df.js +24 -0
- package/ui-dist/assets/diff-DbItnlRl.js +1 -0
- package/ui-dist/assets/dockerfile-BKs6k2Af.js +1 -0
- package/ui-dist/assets/dtd-DF_7sFjM.js +1 -0
- package/ui-dist/assets/dylan-DwRh75JA.js +1 -0
- package/ui-dist/assets/ebnf-CDyGwa7X.js +1 -0
- package/ui-dist/assets/ecl-Cabwm37j.js +1 -0
- package/ui-dist/assets/eiffel-CnydiIhH.js +1 -0
- package/ui-dist/assets/elm-vLlmbW-K.js +1 -0
- package/ui-dist/assets/erDiagram-INFDFZHY-CUhr9rIh.js +70 -0
- package/ui-dist/assets/erlang-BNw1qcRV.js +1 -0
- package/ui-dist/assets/factor-kuTfRLto.js +1 -0
- package/ui-dist/assets/fcl-Kvtd6kyn.js +1 -0
- package/ui-dist/assets/flowDiagram-PKNHOUZH-BEqBmNL-.js +162 -0
- package/ui-dist/assets/forth-Ffai-XNe.js +1 -0
- package/ui-dist/assets/fortran-DYz_wnZ1.js +1 -0
- package/ui-dist/assets/ganttDiagram-A5KZAMGK-CdeWhdno.js +292 -0
- package/ui-dist/assets/gas-Bneqetm1.js +1 -0
- package/ui-dist/assets/gherkin-heZmZLOM.js +1 -0
- package/ui-dist/assets/gitGraphDiagram-K3NZZRJ6-CgG66QFg.js +65 -0
- package/ui-dist/assets/graph-rmownl79.js +1 -0
- package/ui-dist/assets/groovy-D9Dt4D0W.js +1 -0
- package/ui-dist/assets/haskell-Cw1EW3IL.js +1 -0
- package/ui-dist/assets/haxe-H-WmDvRZ.js +1 -0
- package/ui-dist/assets/http-DBlCnlav.js +1 -0
- package/ui-dist/assets/idl-BEugSyMb.js +1 -0
- package/ui-dist/assets/index-B1YyDqaG.js +1 -0
- package/ui-dist/assets/index-B7exNxYd.js +1 -0
- package/ui-dist/assets/index-BIuriVDl.js +1 -0
- package/ui-dist/assets/index-BT9rfwYt.js +1 -0
- package/ui-dist/assets/index-BZhmacJG.js +1 -0
- package/ui-dist/assets/index-B_ebS3U_.js +3 -0
- package/ui-dist/assets/index-BnQqZOsc.js +1 -0
- package/ui-dist/assets/index-BwPbAax6.js +1 -0
- package/ui-dist/assets/index-C5i670o5.js +1 -0
- package/ui-dist/assets/index-C9KwE7Yr.js +1 -0
- package/ui-dist/assets/index-CDId_UjP.js +1 -0
- package/ui-dist/assets/index-CI9ydSGM.js +1 -0
- package/ui-dist/assets/index-CKpm3WGI.css +1 -0
- package/ui-dist/assets/index-CMP_bzP3.js +2 -0
- package/ui-dist/assets/index-CRcHIoCW.js +1 -0
- package/ui-dist/assets/index-DZqNY-Lg.js +1 -0
- package/ui-dist/assets/index-DbDKJhW-.js +7 -0
- package/ui-dist/assets/index-Dkg6MwQ_.js +1 -0
- package/ui-dist/assets/index-Dn0iitKg.js +1 -0
- package/ui-dist/assets/index-GvHywIOA.js +1323 -0
- package/ui-dist/assets/index-WtX4Y4Fx.js +13 -0
- package/ui-dist/assets/index-iyC5PHC3.js +6 -0
- package/ui-dist/assets/index-jMlzlqoV.js +1 -0
- package/ui-dist/assets/index-pTIOLGTe.js +1 -0
- package/ui-dist/assets/infoDiagram-LFFYTUFH-CEhdbTYQ.js +2 -0
- package/ui-dist/assets/init-Gi6I4Gst.js +1 -0
- package/ui-dist/assets/ishikawaDiagram-PHBUUO56-g9GiiXI2.js +70 -0
- package/ui-dist/assets/javascript-iXu5QeM3.js +1 -0
- package/ui-dist/assets/journeyDiagram-4ABVD52K-CheeZzlg.js +139 -0
- package/ui-dist/assets/julia-DuME0IfC.js +1 -0
- package/ui-dist/assets/kanban-definition-K7BYSVSG-BTpuAgUJ.js +89 -0
- package/ui-dist/assets/katex-B1X10hvy.js +261 -0
- package/ui-dist/assets/layout-CuBgufef.js +1 -0
- package/ui-dist/assets/linear-CnXO6wXw.js +1 -0
- package/ui-dist/assets/livescript-BwQOo05w.js +1 -0
- package/ui-dist/assets/lua-BgMRiT3U.js +1 -0
- package/ui-dist/assets/mathematica-DTrFuWx2.js +1 -0
- package/ui-dist/assets/mbox-CNhZ1qSd.js +1 -0
- package/ui-dist/assets/mermaid.core-DVaYxfh9.js +255 -0
- package/ui-dist/assets/mindmap-definition-YRQLILUH-00nAuexq.js +68 -0
- package/ui-dist/assets/mirc-CjQqDB4T.js +1 -0
- package/ui-dist/assets/mllike-CXdrOF99.js +1 -0
- package/ui-dist/assets/modelica-Dc1JOy9r.js +1 -0
- package/ui-dist/assets/mscgen-BA5vi2Kp.js +1 -0
- package/ui-dist/assets/mumps-BT43cFF4.js +1 -0
- package/ui-dist/assets/nginx-DdIZxoE0.js +1 -0
- package/ui-dist/assets/nsis-LdVXkNf5.js +1 -0
- package/ui-dist/assets/ntriples-BfvgReVJ.js +1 -0
- package/ui-dist/assets/octave-Ck1zUtKM.js +1 -0
- package/ui-dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/ui-dist/assets/oz-BzwKVEFT.js +1 -0
- package/ui-dist/assets/pascal--L3eBynH.js +1 -0
- package/ui-dist/assets/perl-CdXCOZ3F.js +1 -0
- package/ui-dist/assets/pieDiagram-SKSYHLDU-NaOgRqIj.js +30 -0
- package/ui-dist/assets/pig-CevX1Tat.js +1 -0
- package/ui-dist/assets/powershell-CFHJl5sT.js +1 -0
- package/ui-dist/assets/properties-C78fOPTZ.js +1 -0
- package/ui-dist/assets/protobuf-ChK-085T.js +1 -0
- package/ui-dist/assets/pug-DeIclll2.js +1 -0
- package/ui-dist/assets/puppet-DMA9R1ak.js +1 -0
- package/ui-dist/assets/python-BuPzkPfP.js +1 -0
- package/ui-dist/assets/q-pXgVlZs6.js +1 -0
- package/ui-dist/assets/quadrantDiagram-337W2JSQ-Bnf9OCW0.js +7 -0
- package/ui-dist/assets/r-B6wPVr8A.js +1 -0
- package/ui-dist/assets/requirementDiagram-Z7DCOOCP-BiacZTTh.js +73 -0
- package/ui-dist/assets/rpm-CTu-6PCP.js +1 -0
- package/ui-dist/assets/ruby-B2Rjki9n.js +1 -0
- package/ui-dist/assets/sankeyDiagram-WA2Y5GQK-DOuD4D2Q.js +10 -0
- package/ui-dist/assets/sas-B4kiWyti.js +1 -0
- package/ui-dist/assets/scheme-C41bIUwD.js +1 -0
- package/ui-dist/assets/sequenceDiagram-2WXFIKYE-oV3M_w-H.js +145 -0
- package/ui-dist/assets/shell-CjFT_Tl9.js +1 -0
- package/ui-dist/assets/sieve-C3Gn_uJK.js +1 -0
- package/ui-dist/assets/simple-mode-GW_nhZxv.js +1 -0
- package/ui-dist/assets/smalltalk-CnHTOXQT.js +1 -0
- package/ui-dist/assets/solr-DehyRSwq.js +1 -0
- package/ui-dist/assets/sparql-DkYu6x3z.js +1 -0
- package/ui-dist/assets/spreadsheet-BCZA_wO0.js +1 -0
- package/ui-dist/assets/sql-D0XecflT.js +1 -0
- package/ui-dist/assets/stateDiagram-RAJIS63D-CdRc2Pqb.js +1 -0
- package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-CIMHFJYg.js +1 -0
- package/ui-dist/assets/stex-C3f8Ysf7.js +1 -0
- package/ui-dist/assets/stylus-B533Al4x.js +1 -0
- package/ui-dist/assets/swift-BzpIVaGY.js +1 -0
- package/ui-dist/assets/tcl-DVfN8rqt.js +1 -0
- package/ui-dist/assets/textile-CnDTJFAw.js +1 -0
- package/ui-dist/assets/tiddlywiki-DO-Gjzrf.js +1 -0
- package/ui-dist/assets/tiki-DGYXhP31.js +1 -0
- package/ui-dist/assets/timeline-definition-YZTLITO2-BCWQDIwt.js +61 -0
- package/ui-dist/assets/toml-Bm5Em-hy.js +1 -0
- package/ui-dist/assets/treemap-KZPCXAKY-BvsIxXAi.js +162 -0
- package/ui-dist/assets/troff-wAsdV37c.js +1 -0
- package/ui-dist/assets/ttcn-CfJYG6tj.js +1 -0
- package/ui-dist/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- package/ui-dist/assets/turtle-B1tBg_DP.js +1 -0
- package/ui-dist/assets/vb-CmGdzxic.js +1 -0
- package/ui-dist/assets/vbscript-BuJXcnF6.js +1 -0
- package/ui-dist/assets/velocity-D8B20fx6.js +1 -0
- package/ui-dist/assets/vennDiagram-LZ73GAT5-BzibHs4r.js +34 -0
- package/ui-dist/assets/verilog-C6RDOZhf.js +1 -0
- package/ui-dist/assets/vhdl-lSbBsy5d.js +1 -0
- package/ui-dist/assets/webidl-ZXfAyPTL.js +1 -0
- package/ui-dist/assets/xquery-DzFWVndE.js +1 -0
- package/ui-dist/assets/xychartDiagram-JWTSCODW-CX_Xt_y-.js +7 -0
- package/ui-dist/assets/yacas-BJ4BC0dw.js +1 -0
- package/ui-dist/assets/z80-Hz9HOZM7.js +1 -0
- package/ui-dist/brands/opencode-logo-dark-square.svg +18 -0
- package/ui-dist/brands/opencode-logo-light-square.svg +18 -0
- package/ui-dist/favicon-16x16.png +0 -0
- package/ui-dist/favicon-32x32.png +0 -0
- package/ui-dist/favicon-dev-16x16.png +0 -0
- package/ui-dist/favicon-dev-32x32.png +0 -0
- package/ui-dist/favicon-dev.ico +0 -0
- package/ui-dist/favicon.ico +0 -0
- package/ui-dist/favicon.svg +1 -0
- package/ui-dist/index.html +61 -0
- package/ui-dist/rudder-logo.png +0 -0
- package/ui-dist/site.webmanifest +30 -0
- package/ui-dist/sw.js +42 -0
- package/ui-dist/worktree-favicon-16x16.png +0 -0
- package/ui-dist/worktree-favicon-32x32.png +0 -0
- package/ui-dist/worktree-favicon.ico +0 -0
- package/ui-dist/worktree-favicon.svg +1 -0
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { and, count, eq, gte, inArray, lt, sql } from "drizzle-orm";
|
|
2
|
+
import { organizations, organizationLogos, assets, labels, agents, agentConfigRevisions, agentApiKeys, agentRuntimeState, agentTaskSessions, agentWakeupRequests, issues, issueApprovals, issueAttachments, issueComments, issueDocuments, issueReadStates, issueWorkProducts, projects, projectGoals, projectWorkspaces, goals, heartbeatRuns, heartbeatRunEvents, costEvents, financeEvents, approvalComments, approvals, activityLog, chatAttachments, chatContextLinks, chatConversations, chatMessages, organizationSecrets, joinRequests, invites, budgetIncidents, budgetPolicies, documents, documentRevisions, executionWorkspaces, principalPermissionGrants, organizationMemberships, organizationSkills, workspaceOperations, workspaceRuntimeServices, } from "@rudderhq/db";
|
|
3
|
+
import { deriveOrganizationUrlKey } from "@rudderhq/shared";
|
|
4
|
+
import { notFound, unprocessable } from "../errors.js";
|
|
5
|
+
import { ensureOrganizationWorkspaceLayout, removeOrganizationStorage } from "../home-paths.js";
|
|
6
|
+
import { logger } from "../middleware/logger.js";
|
|
7
|
+
export function organizationService(db) {
|
|
8
|
+
const ISSUE_PREFIX_FALLBACK = "CMP";
|
|
9
|
+
const DEFAULT_ISSUE_LABELS = [
|
|
10
|
+
{ name: "Bug", color: "#ef4444" },
|
|
11
|
+
{ name: "Feature", color: "#a855f7" },
|
|
12
|
+
{ name: "UI", color: "#06b6d4" },
|
|
13
|
+
];
|
|
14
|
+
const companySelection = {
|
|
15
|
+
id: organizations.id,
|
|
16
|
+
urlKey: organizations.urlKey,
|
|
17
|
+
name: organizations.name,
|
|
18
|
+
description: organizations.description,
|
|
19
|
+
status: organizations.status,
|
|
20
|
+
pauseReason: organizations.pauseReason,
|
|
21
|
+
pausedAt: organizations.pausedAt,
|
|
22
|
+
issuePrefix: organizations.issuePrefix,
|
|
23
|
+
issueCounter: organizations.issueCounter,
|
|
24
|
+
budgetMonthlyCents: organizations.budgetMonthlyCents,
|
|
25
|
+
spentMonthlyCents: organizations.spentMonthlyCents,
|
|
26
|
+
requireBoardApprovalForNewAgents: organizations.requireBoardApprovalForNewAgents,
|
|
27
|
+
defaultChatIssueCreationMode: organizations.defaultChatIssueCreationMode,
|
|
28
|
+
defaultChatAgentRuntimeType: organizations.defaultChatAgentRuntimeType,
|
|
29
|
+
defaultChatAgentRuntimeConfig: organizations.defaultChatAgentRuntimeConfig,
|
|
30
|
+
brandColor: organizations.brandColor,
|
|
31
|
+
logoAssetId: organizationLogos.assetId,
|
|
32
|
+
createdAt: organizations.createdAt,
|
|
33
|
+
updatedAt: organizations.updatedAt,
|
|
34
|
+
};
|
|
35
|
+
function enrichCompany(organization) {
|
|
36
|
+
return {
|
|
37
|
+
...organization,
|
|
38
|
+
workspace: null,
|
|
39
|
+
logoUrl: organization.logoAssetId ? `/api/assets/${organization.logoAssetId}/content` : null,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function currentUtcMonthWindow(now = new Date()) {
|
|
43
|
+
const year = now.getUTCFullYear();
|
|
44
|
+
const month = now.getUTCMonth();
|
|
45
|
+
return {
|
|
46
|
+
start: new Date(Date.UTC(year, month, 1, 0, 0, 0, 0)),
|
|
47
|
+
end: new Date(Date.UTC(year, month + 1, 1, 0, 0, 0, 0)),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
async function getMonthlySpendByCompanyIds(orgIds, database = db) {
|
|
51
|
+
if (orgIds.length === 0)
|
|
52
|
+
return new Map();
|
|
53
|
+
const { start, end } = currentUtcMonthWindow();
|
|
54
|
+
const rows = await database
|
|
55
|
+
.select({
|
|
56
|
+
orgId: costEvents.orgId,
|
|
57
|
+
spentMonthlyCents: sql `coalesce(sum(${costEvents.costCents}), 0)::int`,
|
|
58
|
+
})
|
|
59
|
+
.from(costEvents)
|
|
60
|
+
.where(and(inArray(costEvents.orgId, orgIds), gte(costEvents.occurredAt, start), lt(costEvents.occurredAt, end)))
|
|
61
|
+
.groupBy(costEvents.orgId);
|
|
62
|
+
return new Map(rows.map((row) => [row.orgId, Number(row.spentMonthlyCents ?? 0)]));
|
|
63
|
+
}
|
|
64
|
+
async function hydrateCompanySpend(rows, database = db) {
|
|
65
|
+
const spendByCompanyId = await getMonthlySpendByCompanyIds(rows.map((row) => row.id), database);
|
|
66
|
+
return rows.map((row) => ({
|
|
67
|
+
...row,
|
|
68
|
+
spentMonthlyCents: spendByCompanyId.get(row.id) ?? 0,
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
function getCompanyQuery(database) {
|
|
72
|
+
return database
|
|
73
|
+
.select(companySelection)
|
|
74
|
+
.from(organizations)
|
|
75
|
+
.leftJoin(organizationLogos, eq(organizationLogos.orgId, organizations.id));
|
|
76
|
+
}
|
|
77
|
+
function deriveIssuePrefixBase(name) {
|
|
78
|
+
const normalized = name.toUpperCase().replace(/[^A-Z]/g, "");
|
|
79
|
+
return normalized.slice(0, 3) || ISSUE_PREFIX_FALLBACK;
|
|
80
|
+
}
|
|
81
|
+
function suffixForAttempt(attempt) {
|
|
82
|
+
if (attempt <= 1)
|
|
83
|
+
return "";
|
|
84
|
+
return "A".repeat(attempt - 1);
|
|
85
|
+
}
|
|
86
|
+
function suffixForUrlKeyAttempt(attempt) {
|
|
87
|
+
if (attempt <= 1)
|
|
88
|
+
return "";
|
|
89
|
+
return `-${attempt}`;
|
|
90
|
+
}
|
|
91
|
+
function isUniqueConstraintConflict(error, constraintName) {
|
|
92
|
+
const constraint = typeof error === "object" && error !== null && "constraint" in error
|
|
93
|
+
? error.constraint
|
|
94
|
+
: typeof error === "object" && error !== null && "constraint_name" in error
|
|
95
|
+
? error.constraint_name
|
|
96
|
+
: undefined;
|
|
97
|
+
return typeof error === "object"
|
|
98
|
+
&& error !== null
|
|
99
|
+
&& "code" in error
|
|
100
|
+
&& error.code === "23505"
|
|
101
|
+
&& constraint === constraintName;
|
|
102
|
+
}
|
|
103
|
+
async function createCompanyWithUniqueKeys(database, data) {
|
|
104
|
+
const base = deriveIssuePrefixBase(data.name);
|
|
105
|
+
const urlKeyBase = deriveOrganizationUrlKey(data.name);
|
|
106
|
+
let suffix = 1;
|
|
107
|
+
while (suffix < 10000) {
|
|
108
|
+
const candidate = `${base}${suffixForAttempt(suffix)}`;
|
|
109
|
+
const candidateUrlKey = `${urlKeyBase}${suffixForUrlKeyAttempt(suffix)}`;
|
|
110
|
+
try {
|
|
111
|
+
const created = await database.transaction(async (tx) => {
|
|
112
|
+
const rows = await tx
|
|
113
|
+
.insert(organizations)
|
|
114
|
+
.values({ ...data, issuePrefix: candidate, urlKey: candidateUrlKey })
|
|
115
|
+
.returning();
|
|
116
|
+
return rows[0];
|
|
117
|
+
});
|
|
118
|
+
return created;
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
if (!isUniqueConstraintConflict(error, "organizations_issue_prefix_idx")
|
|
122
|
+
&& !isUniqueConstraintConflict(error, "organizations_url_key_idx")) {
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
suffix += 1;
|
|
127
|
+
}
|
|
128
|
+
throw new Error("Unable to allocate unique organization url key");
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
list: async () => {
|
|
132
|
+
const rows = await getCompanyQuery(db);
|
|
133
|
+
const hydrated = await hydrateCompanySpend(rows);
|
|
134
|
+
return hydrated.map((row) => enrichCompany(row));
|
|
135
|
+
},
|
|
136
|
+
getById: async (id) => {
|
|
137
|
+
const row = await getCompanyQuery(db)
|
|
138
|
+
.where(eq(organizations.id, id))
|
|
139
|
+
.then((rows) => rows[0] ?? null);
|
|
140
|
+
if (!row)
|
|
141
|
+
return null;
|
|
142
|
+
const [hydrated] = await hydrateCompanySpend([row], db);
|
|
143
|
+
return enrichCompany(hydrated);
|
|
144
|
+
},
|
|
145
|
+
create: (data) => db.transaction(async (tx) => {
|
|
146
|
+
const { workspace, ...organizationData } = data;
|
|
147
|
+
void workspace;
|
|
148
|
+
const created = await createCompanyWithUniqueKeys(tx, {
|
|
149
|
+
...organizationData,
|
|
150
|
+
});
|
|
151
|
+
await tx.insert(labels).values(DEFAULT_ISSUE_LABELS.map((label) => ({
|
|
152
|
+
orgId: created.id,
|
|
153
|
+
name: label.name,
|
|
154
|
+
color: label.color,
|
|
155
|
+
})));
|
|
156
|
+
await ensureOrganizationWorkspaceLayout(created.id);
|
|
157
|
+
const row = await getCompanyQuery(tx)
|
|
158
|
+
.where(eq(organizations.id, created.id))
|
|
159
|
+
.then((rows) => rows[0] ?? null);
|
|
160
|
+
if (!row)
|
|
161
|
+
throw notFound("Organization not found after creation");
|
|
162
|
+
const [hydrated] = await hydrateCompanySpend([row], tx);
|
|
163
|
+
return enrichCompany(hydrated);
|
|
164
|
+
}),
|
|
165
|
+
update: (id, data) => db.transaction(async (tx) => {
|
|
166
|
+
const existing = await getCompanyQuery(tx)
|
|
167
|
+
.where(eq(organizations.id, id))
|
|
168
|
+
.then((rows) => rows[0] ?? null);
|
|
169
|
+
if (!existing)
|
|
170
|
+
return null;
|
|
171
|
+
const { logoAssetId, urlKey: _ignoredUrlKey, workspace, ...companyPatch } = data;
|
|
172
|
+
void workspace;
|
|
173
|
+
if (logoAssetId !== undefined && logoAssetId !== null) {
|
|
174
|
+
const nextLogoAsset = await tx
|
|
175
|
+
.select({ id: assets.id, orgId: assets.orgId })
|
|
176
|
+
.from(assets)
|
|
177
|
+
.where(eq(assets.id, logoAssetId))
|
|
178
|
+
.then((rows) => rows[0] ?? null);
|
|
179
|
+
if (!nextLogoAsset)
|
|
180
|
+
throw notFound("Logo asset not found");
|
|
181
|
+
if (nextLogoAsset.orgId !== existing.id) {
|
|
182
|
+
throw unprocessable("Logo asset must belong to the same organization");
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const updated = await tx
|
|
186
|
+
.update(organizations)
|
|
187
|
+
.set({
|
|
188
|
+
...companyPatch,
|
|
189
|
+
updatedAt: new Date(),
|
|
190
|
+
})
|
|
191
|
+
.where(eq(organizations.id, id))
|
|
192
|
+
.returning()
|
|
193
|
+
.then((rows) => rows[0] ?? null);
|
|
194
|
+
if (!updated)
|
|
195
|
+
return null;
|
|
196
|
+
if (logoAssetId === null) {
|
|
197
|
+
await tx.delete(organizationLogos).where(eq(organizationLogos.orgId, id));
|
|
198
|
+
}
|
|
199
|
+
else if (logoAssetId !== undefined) {
|
|
200
|
+
await tx
|
|
201
|
+
.insert(organizationLogos)
|
|
202
|
+
.values({
|
|
203
|
+
orgId: id,
|
|
204
|
+
assetId: logoAssetId,
|
|
205
|
+
})
|
|
206
|
+
.onConflictDoUpdate({
|
|
207
|
+
target: organizationLogos.orgId,
|
|
208
|
+
set: {
|
|
209
|
+
assetId: logoAssetId,
|
|
210
|
+
updatedAt: new Date(),
|
|
211
|
+
},
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
if (logoAssetId !== undefined && existing.logoAssetId && existing.logoAssetId !== logoAssetId) {
|
|
215
|
+
await tx.delete(assets).where(eq(assets.id, existing.logoAssetId));
|
|
216
|
+
}
|
|
217
|
+
const [hydrated] = await hydrateCompanySpend([{
|
|
218
|
+
...updated,
|
|
219
|
+
logoAssetId: logoAssetId === undefined ? existing.logoAssetId : logoAssetId,
|
|
220
|
+
}], tx);
|
|
221
|
+
return enrichCompany(hydrated);
|
|
222
|
+
}),
|
|
223
|
+
archive: (id) => db.transaction(async (tx) => {
|
|
224
|
+
const updated = await tx
|
|
225
|
+
.update(organizations)
|
|
226
|
+
.set({ status: "archived", updatedAt: new Date() })
|
|
227
|
+
.where(eq(organizations.id, id))
|
|
228
|
+
.returning()
|
|
229
|
+
.then((rows) => rows[0] ?? null);
|
|
230
|
+
if (!updated)
|
|
231
|
+
return null;
|
|
232
|
+
const row = await getCompanyQuery(tx)
|
|
233
|
+
.where(eq(organizations.id, id))
|
|
234
|
+
.then((rows) => rows[0] ?? null);
|
|
235
|
+
if (!row)
|
|
236
|
+
return null;
|
|
237
|
+
const [hydrated] = await hydrateCompanySpend([row], tx);
|
|
238
|
+
return enrichCompany(hydrated);
|
|
239
|
+
}),
|
|
240
|
+
remove: (id) => db.transaction(async (tx) => {
|
|
241
|
+
// Delete from child tables in dependency order
|
|
242
|
+
await tx.delete(heartbeatRunEvents).where(eq(heartbeatRunEvents.orgId, id));
|
|
243
|
+
await tx.delete(workspaceOperations).where(eq(workspaceOperations.orgId, id));
|
|
244
|
+
await tx.delete(workspaceRuntimeServices).where(eq(workspaceRuntimeServices.orgId, id));
|
|
245
|
+
await tx.delete(executionWorkspaces).where(eq(executionWorkspaces.orgId, id));
|
|
246
|
+
await tx.delete(projectWorkspaces).where(eq(projectWorkspaces.orgId, id));
|
|
247
|
+
await tx.delete(agentTaskSessions).where(eq(agentTaskSessions.orgId, id));
|
|
248
|
+
await tx.delete(heartbeatRuns).where(eq(heartbeatRuns.orgId, id));
|
|
249
|
+
await tx.delete(agentWakeupRequests).where(eq(agentWakeupRequests.orgId, id));
|
|
250
|
+
await tx.delete(agentConfigRevisions).where(eq(agentConfigRevisions.orgId, id));
|
|
251
|
+
await tx.delete(agentApiKeys).where(eq(agentApiKeys.orgId, id));
|
|
252
|
+
await tx.delete(agentRuntimeState).where(eq(agentRuntimeState.orgId, id));
|
|
253
|
+
await tx.delete(issueApprovals).where(eq(issueApprovals.orgId, id));
|
|
254
|
+
await tx.delete(issueAttachments).where(eq(issueAttachments.orgId, id));
|
|
255
|
+
await tx.delete(issueDocuments).where(eq(issueDocuments.orgId, id));
|
|
256
|
+
await tx.delete(issueComments).where(eq(issueComments.orgId, id));
|
|
257
|
+
await tx.delete(issueReadStates).where(eq(issueReadStates.orgId, id));
|
|
258
|
+
await tx.delete(issueWorkProducts).where(eq(issueWorkProducts.orgId, id));
|
|
259
|
+
await tx.delete(costEvents).where(eq(costEvents.orgId, id));
|
|
260
|
+
await tx.delete(financeEvents).where(eq(financeEvents.orgId, id));
|
|
261
|
+
await tx.delete(documentRevisions).where(eq(documentRevisions.orgId, id));
|
|
262
|
+
await tx.delete(documents).where(eq(documents.orgId, id));
|
|
263
|
+
await tx.delete(approvalComments).where(eq(approvalComments.orgId, id));
|
|
264
|
+
await tx.delete(approvals).where(eq(approvals.orgId, id));
|
|
265
|
+
await tx.delete(chatAttachments).where(eq(chatAttachments.orgId, id));
|
|
266
|
+
await tx.delete(chatMessages).where(eq(chatMessages.orgId, id));
|
|
267
|
+
await tx.delete(chatContextLinks).where(eq(chatContextLinks.orgId, id));
|
|
268
|
+
await tx.delete(chatConversations).where(eq(chatConversations.orgId, id));
|
|
269
|
+
await tx.delete(organizationSecrets).where(eq(organizationSecrets.orgId, id));
|
|
270
|
+
await tx.delete(organizationSkills).where(eq(organizationSkills.orgId, id));
|
|
271
|
+
await tx.delete(joinRequests).where(eq(joinRequests.orgId, id));
|
|
272
|
+
await tx.delete(invites).where(eq(invites.orgId, id));
|
|
273
|
+
await tx.delete(budgetIncidents).where(eq(budgetIncidents.orgId, id));
|
|
274
|
+
await tx.delete(budgetPolicies).where(eq(budgetPolicies.orgId, id));
|
|
275
|
+
await tx.delete(principalPermissionGrants).where(eq(principalPermissionGrants.orgId, id));
|
|
276
|
+
await tx.delete(organizationMemberships).where(eq(organizationMemberships.orgId, id));
|
|
277
|
+
await tx.delete(issues).where(eq(issues.orgId, id));
|
|
278
|
+
await tx.delete(organizationLogos).where(eq(organizationLogos.orgId, id));
|
|
279
|
+
await tx.delete(assets).where(eq(assets.orgId, id));
|
|
280
|
+
await tx.delete(projectGoals).where(eq(projectGoals.orgId, id));
|
|
281
|
+
await tx.delete(goals).where(eq(goals.orgId, id));
|
|
282
|
+
await tx.delete(projects).where(eq(projects.orgId, id));
|
|
283
|
+
await tx.delete(agents).where(eq(agents.orgId, id));
|
|
284
|
+
await tx.delete(activityLog).where(eq(activityLog.orgId, id));
|
|
285
|
+
const rows = await tx
|
|
286
|
+
.delete(organizations)
|
|
287
|
+
.where(eq(organizations.id, id))
|
|
288
|
+
.returning();
|
|
289
|
+
return rows[0] ?? null;
|
|
290
|
+
}).then(async (removed) => {
|
|
291
|
+
if (!removed)
|
|
292
|
+
return null;
|
|
293
|
+
try {
|
|
294
|
+
await removeOrganizationStorage(id);
|
|
295
|
+
}
|
|
296
|
+
catch (err) {
|
|
297
|
+
logger.warn({ err, orgId: id }, "removed organization record but failed to prune local organization storage");
|
|
298
|
+
}
|
|
299
|
+
return removed;
|
|
300
|
+
}),
|
|
301
|
+
stats: () => Promise.all([
|
|
302
|
+
db
|
|
303
|
+
.select({ orgId: agents.orgId, count: count() })
|
|
304
|
+
.from(agents)
|
|
305
|
+
.groupBy(agents.orgId),
|
|
306
|
+
db
|
|
307
|
+
.select({ orgId: issues.orgId, count: count() })
|
|
308
|
+
.from(issues)
|
|
309
|
+
.groupBy(issues.orgId),
|
|
310
|
+
]).then(([agentRows, issueRows]) => {
|
|
311
|
+
const result = {};
|
|
312
|
+
for (const row of agentRows) {
|
|
313
|
+
result[row.orgId] = { agentCount: row.count, issueCount: 0 };
|
|
314
|
+
}
|
|
315
|
+
for (const row of issueRows) {
|
|
316
|
+
if (result[row.orgId]) {
|
|
317
|
+
result[row.orgId].issueCount = row.count;
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
result[row.orgId] = { agentCount: 0, issueCount: row.count };
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
return result;
|
|
324
|
+
}),
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=orgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orgs.js","sourceRoot":"","sources":["../../src/services/orgs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PluginCapabilityValidator — enforces the capability model at both
|
|
3
|
+
* install-time and runtime.
|
|
4
|
+
*
|
|
5
|
+
* Every plugin declares the capabilities it requires in its manifest
|
|
6
|
+
* (`manifest.capabilities`). This service checks those declarations
|
|
7
|
+
* against a mapping of operations → required capabilities so that:
|
|
8
|
+
*
|
|
9
|
+
* 1. **Install-time validation** — `validateManifestCapabilities()`
|
|
10
|
+
* ensures that declared features (tools, jobs, webhooks, UI slots)
|
|
11
|
+
* have matching capability entries, giving operators clear feedback
|
|
12
|
+
* before a plugin is activated.
|
|
13
|
+
*
|
|
14
|
+
* 2. **Runtime gating** — `checkOperation()` / `assertOperation()` are
|
|
15
|
+
* called on every worker→host bridge call to enforce least-privilege
|
|
16
|
+
* access. If a plugin attempts an operation it did not declare, the
|
|
17
|
+
* call is rejected with a 403 error.
|
|
18
|
+
*
|
|
19
|
+
* @see PLUGIN_SPEC.md §15 — Capability Model
|
|
20
|
+
* @see host-client-factory.ts — SDK-side capability gating
|
|
21
|
+
*/
|
|
22
|
+
import type { PluginCapability, PaperclipPluginManifestV1, PluginUiSlotType } from "@rudderhq/shared";
|
|
23
|
+
/**
|
|
24
|
+
* Result of a capability check. When `allowed` is false, `missing` contains
|
|
25
|
+
* the capabilities that the plugin does not declare but the operation requires.
|
|
26
|
+
*/
|
|
27
|
+
export interface CapabilityCheckResult {
|
|
28
|
+
allowed: boolean;
|
|
29
|
+
missing: PluginCapability[];
|
|
30
|
+
operation?: string;
|
|
31
|
+
pluginId?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface PluginCapabilityValidator {
|
|
34
|
+
/**
|
|
35
|
+
* Check whether a plugin has a specific capability.
|
|
36
|
+
*/
|
|
37
|
+
hasCapability(manifest: PaperclipPluginManifestV1, capability: PluginCapability): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Check whether a plugin has all of the specified capabilities.
|
|
40
|
+
*/
|
|
41
|
+
hasAllCapabilities(manifest: PaperclipPluginManifestV1, capabilities: PluginCapability[]): CapabilityCheckResult;
|
|
42
|
+
/**
|
|
43
|
+
* Check whether a plugin has at least one of the specified capabilities.
|
|
44
|
+
*/
|
|
45
|
+
hasAnyCapability(manifest: PaperclipPluginManifestV1, capabilities: PluginCapability[]): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Check whether a plugin is allowed to perform the named operation.
|
|
48
|
+
*
|
|
49
|
+
* Operations are mapped to required capabilities via OPERATION_CAPABILITIES.
|
|
50
|
+
* Unknown operations are rejected by default.
|
|
51
|
+
*/
|
|
52
|
+
checkOperation(manifest: PaperclipPluginManifestV1, operation: string): CapabilityCheckResult;
|
|
53
|
+
/**
|
|
54
|
+
* Assert that a plugin is allowed to perform an operation.
|
|
55
|
+
* Throws a 403 HttpError if the capability check fails.
|
|
56
|
+
*/
|
|
57
|
+
assertOperation(manifest: PaperclipPluginManifestV1, operation: string): void;
|
|
58
|
+
/**
|
|
59
|
+
* Assert that a plugin has a specific capability.
|
|
60
|
+
* Throws a 403 HttpError if the capability is missing.
|
|
61
|
+
*/
|
|
62
|
+
assertCapability(manifest: PaperclipPluginManifestV1, capability: PluginCapability): void;
|
|
63
|
+
/**
|
|
64
|
+
* Check whether a plugin can register the given UI slot type.
|
|
65
|
+
*/
|
|
66
|
+
checkUiSlot(manifest: PaperclipPluginManifestV1, slotType: PluginUiSlotType): CapabilityCheckResult;
|
|
67
|
+
/**
|
|
68
|
+
* Validate that a manifest's declared capabilities are consistent with its
|
|
69
|
+
* declared features (tools, jobs, webhooks, UI slots).
|
|
70
|
+
*
|
|
71
|
+
* Returns all missing capabilities rather than failing on the first one.
|
|
72
|
+
* This is useful for install-time validation to give comprehensive feedback.
|
|
73
|
+
*/
|
|
74
|
+
validateManifestCapabilities(manifest: PaperclipPluginManifestV1): CapabilityCheckResult;
|
|
75
|
+
/**
|
|
76
|
+
* Get the capabilities required for a named operation.
|
|
77
|
+
* Returns an empty array if the operation is unknown.
|
|
78
|
+
*/
|
|
79
|
+
getRequiredCapabilities(operation: string): readonly PluginCapability[];
|
|
80
|
+
/**
|
|
81
|
+
* Get the capability required for a UI slot type.
|
|
82
|
+
*/
|
|
83
|
+
getUiSlotCapability(slotType: PluginUiSlotType): PluginCapability;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Create a PluginCapabilityValidator.
|
|
87
|
+
*
|
|
88
|
+
* This service enforces capability gates for plugin operations. The host
|
|
89
|
+
* uses it to verify that a plugin's declared capabilities permit the
|
|
90
|
+
* operation it is attempting, both at install time (manifest validation)
|
|
91
|
+
* and at runtime (bridge call gating).
|
|
92
|
+
*
|
|
93
|
+
* Usage:
|
|
94
|
+
* ```ts
|
|
95
|
+
* const validator = pluginCapabilityValidator();
|
|
96
|
+
*
|
|
97
|
+
* // Runtime: gate a bridge call
|
|
98
|
+
* validator.assertOperation(plugin.manifestJson, "issues.create");
|
|
99
|
+
*
|
|
100
|
+
* // Install time: validate manifest consistency
|
|
101
|
+
* const result = validator.validateManifestCapabilities(manifest);
|
|
102
|
+
* if (!result.allowed) {
|
|
103
|
+
* throw badRequest("Missing capabilities", result.missing);
|
|
104
|
+
* }
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
export declare function pluginCapabilityValidator(): PluginCapabilityValidator;
|
|
108
|
+
//# sourceMappingURL=plugin-capability-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-capability-validator.d.ts","sourceRoot":"","sources":["../../src/services/plugin-capability-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EAEjB,MAAM,kBAAkB,CAAC;AA0H1B;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,aAAa,CACX,QAAQ,EAAE,yBAAyB,EACnC,UAAU,EAAE,gBAAgB,GAC3B,OAAO,CAAC;IAEX;;OAEG;IACH,kBAAkB,CAChB,QAAQ,EAAE,yBAAyB,EACnC,YAAY,EAAE,gBAAgB,EAAE,GAC/B,qBAAqB,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,yBAAyB,EACnC,YAAY,EAAE,gBAAgB,EAAE,GAC/B,OAAO,CAAC;IAEX;;;;;OAKG;IACH,cAAc,CACZ,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,MAAM,GAChB,qBAAqB,CAAC;IAEzB;;;OAGG;IACH,eAAe,CACb,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC;IAER;;;OAGG;IACH,gBAAgB,CACd,QAAQ,EAAE,yBAAyB,EACnC,UAAU,EAAE,gBAAgB,GAC3B,IAAI,CAAC;IAER;;OAEG;IACH,WAAW,CACT,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,gBAAgB,GACzB,qBAAqB,CAAC;IAEzB;;;;;;OAMG;IACH,4BAA4B,CAC1B,QAAQ,EAAE,yBAAyB,GAClC,qBAAqB,CAAC;IAEzB;;;OAGG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CAAC;IAExE;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;CACnE;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,IAAI,yBAAyB,CA8KrE"}
|