agor-live 0.22.0 → 0.23.2
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/cli/commands/admin/add-to-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/add-to-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/add-to-branch-group.js +133 -33
- package/dist/cli/commands/admin/create-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/create-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-branch-group.js +132 -38
- package/dist/cli/commands/admin/create-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/create-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-symlink.js +138 -61
- package/dist/cli/commands/admin/delete-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/delete-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-branch-group.js +132 -28
- package/dist/cli/commands/admin/delete-user.d.ts +2 -13
- package/dist/cli/commands/admin/delete-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-user.js +132 -38
- package/dist/cli/commands/admin/ensure-user.d.ts +2 -14
- package/dist/cli/commands/admin/ensure-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/ensure-user.js +131 -46
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-from-branch-group.js +133 -33
- package/dist/cli/commands/admin/remove-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/remove-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-symlink.js +136 -49
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts +2 -2
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts.map +1 -1
- package/dist/cli/commands/admin/scrub-git-remotes.js +128 -86
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts +2 -14
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts.map +1 -1
- package/dist/cli/commands/admin/sync-user-symlinks.js +132 -43
- package/dist/cli/commands/auth/whoami.d.ts.map +1 -1
- package/dist/cli/commands/auth/whoami.js +2 -1
- package/dist/cli/commands/branch/env/request.test.d.ts +2 -0
- package/dist/cli/commands/branch/env/request.test.d.ts.map +1 -0
- package/dist/cli/commands/branch/env/request.test.js +17723 -0
- package/dist/cli/commands/branch/env/restart.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/restart.js +7 -1
- package/dist/cli/commands/branch/env/start.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/start.js +7 -1
- package/dist/cli/commands/branch/env/stop.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/stop.js +7 -1
- package/dist/cli/commands/daemon/status.d.ts.map +1 -1
- package/dist/cli/commands/daemon/status.js +2 -1
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +140 -2
- package/dist/cli/commands/local/add-to-branch-group.d.ts +13 -0
- package/dist/cli/commands/local/add-to-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/add-to-branch-group.js +37 -0
- package/dist/cli/commands/local/create-branch-group.d.ts +12 -0
- package/dist/cli/commands/local/create-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/create-branch-group.js +35 -0
- package/dist/cli/commands/local/create-symlink.d.ts +14 -0
- package/dist/cli/commands/local/create-symlink.d.ts.map +1 -0
- package/dist/cli/commands/local/create-symlink.js +45 -0
- package/dist/cli/commands/{daemon → local/daemon}/sync.d.ts +1 -1
- package/dist/cli/commands/local/daemon/sync.d.ts.map +1 -0
- package/dist/cli/commands/{daemon → local/daemon}/sync.js +7 -6
- package/dist/cli/commands/local/delete-branch-group.d.ts +12 -0
- package/dist/cli/commands/local/delete-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/delete-branch-group.js +35 -0
- package/dist/cli/commands/local/delete-user.d.ts +12 -0
- package/dist/cli/commands/local/delete-user.d.ts.map +1 -0
- package/dist/cli/commands/local/delete-user.js +36 -0
- package/dist/cli/commands/local/ensure-user.d.ts +12 -0
- package/dist/cli/commands/local/ensure-user.d.ts.map +1 -0
- package/dist/cli/commands/local/ensure-user.js +41 -0
- package/dist/cli/commands/local/remove-from-branch-group.d.ts +13 -0
- package/dist/cli/commands/local/remove-from-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/remove-from-branch-group.js +37 -0
- package/dist/cli/commands/local/remove-symlink.d.ts +13 -0
- package/dist/cli/commands/local/remove-symlink.d.ts.map +1 -0
- package/dist/cli/commands/local/remove-symlink.js +39 -0
- package/dist/cli/commands/local/scrub-git-remotes.d.ts +9 -0
- package/dist/cli/commands/local/scrub-git-remotes.d.ts.map +1 -0
- package/dist/cli/commands/local/scrub-git-remotes.js +23 -0
- package/dist/cli/commands/{admin → local}/sync-unix.d.ts.map +1 -1
- package/dist/cli/commands/{admin → local}/sync-unix.js +3 -3
- package/dist/cli/commands/local/sync-user-symlinks.d.ts +12 -0
- package/dist/cli/commands/local/sync-user-symlinks.d.ts.map +1 -0
- package/dist/cli/commands/local/sync-user-symlinks.js +37 -0
- package/dist/cli/commands/telemetry/index.d.ts +7 -0
- package/dist/cli/commands/telemetry/index.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/index.js +40 -0
- package/dist/cli/commands/telemetry/off.d.ts +6 -0
- package/dist/cli/commands/telemetry/off.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/off.js +35 -0
- package/dist/cli/commands/telemetry/on.d.ts +6 -0
- package/dist/cli/commands/telemetry/on.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/on.js +37 -0
- package/dist/cli/commands/telemetry/test.d.ts +6 -0
- package/dist/cli/commands/telemetry/test.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/test.js +56 -0
- package/dist/cli/commands/user/create-admin.d.ts.map +1 -1
- package/dist/cli/commands/user/create-admin.js +81 -72
- package/dist/cli/commands/user/list.d.ts.map +1 -1
- package/dist/cli/commands/user/list.js +1 -0
- package/dist/cli/commands/whoami.js +2 -1
- package/dist/cli/lib/branch-environment-action.d.ts +21 -0
- package/dist/cli/lib/branch-environment-action.d.ts.map +1 -0
- package/dist/cli/lib/branch-environment-action.js +8 -0
- package/dist/core/api/index.cjs +7 -2
- package/dist/core/api/index.d.ts +13 -4
- package/dist/core/api/index.d.ts.map +1 -1
- package/dist/core/api/index.js +7 -2
- package/dist/core/claude/index.cjs +518 -89
- package/dist/core/claude/index.js +515 -88
- package/dist/core/claude-cli/index.cjs +24 -0
- package/dist/core/claude-cli/index.js +24 -0
- package/dist/core/claude-cli/pricing.d.ts.map +1 -1
- package/dist/core/client/index.cjs +52 -7
- package/dist/core/client/index.js +48 -7
- package/dist/core/config/browser.cjs +3 -5
- package/dist/core/config/browser.js +3 -5
- package/dist/core/config/config-manager.d.ts +33 -13
- package/dist/core/config/config-manager.d.ts.map +1 -1
- package/dist/core/config/index.cjs +4259 -4527
- package/dist/core/config/index.d.ts +1 -0
- package/dist/core/config/index.d.ts.map +1 -1
- package/dist/core/config/index.js +4295 -4583
- package/dist/core/config/key-resolver.d.ts.map +1 -1
- package/dist/core/config/multitenancy.d.ts +33 -0
- package/dist/core/config/multitenancy.d.ts.map +1 -0
- package/dist/core/config/security-resolver.d.ts +1 -0
- package/dist/core/config/security-resolver.d.ts.map +1 -1
- package/dist/core/config/types.d.ts +67 -4
- package/dist/core/config/types.d.ts.map +1 -1
- package/dist/core/db/client.d.ts +34 -2
- package/dist/core/db/client.d.ts.map +1 -1
- package/dist/core/db/database-wrapper.d.ts.map +1 -1
- package/dist/core/db/first-run-bootstrap.d.ts.map +1 -1
- package/dist/core/db/index.cjs +2767 -1232
- package/dist/core/db/index.d.ts +2 -1
- package/dist/core/db/index.d.ts.map +1 -1
- package/dist/core/db/index.js +2601 -1094
- package/dist/core/db/migrate.d.ts.map +1 -1
- package/dist/core/db/repositories/artifacts.d.ts +27 -2
- package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
- package/dist/core/db/repositories/base.d.ts +18 -0
- package/dist/core/db/repositories/base.d.ts.map +1 -1
- package/dist/core/db/repositories/board-comments.d.ts +17 -1
- package/dist/core/db/repositories/board-comments.d.ts.map +1 -1
- package/dist/core/db/repositories/board-objects.d.ts.map +1 -1
- package/dist/core/db/repositories/boards.d.ts +54 -3
- package/dist/core/db/repositories/boards.d.ts.map +1 -1
- package/dist/core/db/repositories/branch-access.d.ts +32 -0
- package/dist/core/db/repositories/branch-access.d.ts.map +1 -1
- package/dist/core/db/repositories/branches.d.ts +52 -2
- package/dist/core/db/repositories/branches.d.ts.map +1 -1
- package/dist/core/db/repositories/cards.d.ts +15 -1
- package/dist/core/db/repositories/cards.d.ts.map +1 -1
- package/dist/core/db/repositories/gateway-channels.d.ts +9 -0
- package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
- package/dist/core/db/repositories/gateway-outbound-messages.d.ts +19 -0
- package/dist/core/db/repositories/gateway-outbound-messages.d.ts.map +1 -0
- package/dist/core/db/repositories/index.d.ts +2 -0
- package/dist/core/db/repositories/index.d.ts.map +1 -1
- package/dist/core/db/repositories/messages.d.ts +9 -2
- package/dist/core/db/repositories/messages.d.ts.map +1 -1
- package/dist/core/db/repositories/repos.d.ts.map +1 -1
- package/dist/core/db/repositories/schedules.d.ts +12 -1
- package/dist/core/db/repositories/schedules.d.ts.map +1 -1
- package/dist/core/db/repositories/sessions.d.ts +56 -5
- package/dist/core/db/repositories/sessions.d.ts.map +1 -1
- package/dist/core/db/repositories/tasks.d.ts +7 -2
- package/dist/core/db/repositories/tasks.d.ts.map +1 -1
- package/dist/core/db/repositories/user-api-keys.d.ts +10 -1
- package/dist/core/db/repositories/user-api-keys.d.ts.map +1 -1
- package/dist/core/db/repositories/users.d.ts +8 -8
- package/dist/core/db/repositories/users.d.ts.map +1 -1
- package/dist/core/db/schema.d.ts +1460 -38
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.postgres.d.ts +1082 -37
- package/dist/core/db/schema.postgres.d.ts.map +1 -1
- package/dist/core/db/schema.sqlite.d.ts +397 -1
- package/dist/core/db/schema.sqlite.d.ts.map +1 -1
- package/dist/core/db/tenant-context.d.ts +26 -0
- package/dist/core/db/tenant-context.d.ts.map +1 -0
- package/dist/core/db/tenant-scope.d.ts +31 -0
- package/dist/core/db/tenant-scope.d.ts.map +1 -0
- package/dist/core/db/user-utils.d.ts +2 -2
- package/dist/core/db/user-utils.d.ts.map +1 -1
- package/dist/core/drizzle/postgres/0052_gateway_outbound_messages.sql +45 -0
- package/dist/core/drizzle/postgres/0053_user_token_invalidation.sql +1 -0
- package/dist/core/drizzle/postgres/0054_app_level_multitenancy.sql +219 -0
- package/dist/core/drizzle/postgres/0055_app_level_multitenancy_rls.sql +411 -0
- package/dist/core/drizzle/postgres/0056_composite_indexes.sql +15 -0
- package/dist/core/drizzle/postgres/0057_message_timestamp_indexes.sql +3 -0
- package/dist/core/drizzle/postgres/meta/_journal.json +42 -0
- package/dist/core/drizzle/sqlite/0061_gateway_outbound_messages.sql +38 -0
- package/dist/core/drizzle/sqlite/0062_user_token_invalidation.sql +1 -0
- package/dist/core/drizzle/sqlite/0063_composite_indexes.sql +10 -0
- package/dist/core/drizzle/sqlite/0064_message_timestamp_indexes.sql +2 -0
- package/dist/core/drizzle/sqlite/meta/_journal.json +28 -0
- package/dist/core/environment/render-snapshot.cjs +7 -6
- package/dist/core/environment/render-snapshot.d.ts +2 -0
- package/dist/core/environment/render-snapshot.d.ts.map +1 -1
- package/dist/core/environment/render-snapshot.js +7 -6
- package/dist/core/environment/variable-resolver.cjs +3 -1
- package/dist/core/environment/variable-resolver.js +3 -1
- package/dist/core/environment/webhook.cjs +1 -4
- package/dist/core/environment/webhook.js +1 -4
- package/dist/core/gateway/connector.d.ts +10 -1
- package/dist/core/gateway/connector.d.ts.map +1 -1
- package/dist/core/gateway/connectors/slack-manifest.cjs +108 -0
- package/dist/core/gateway/connectors/slack-manifest.d.ts +85 -0
- package/dist/core/gateway/connectors/slack-manifest.d.ts.map +1 -0
- package/dist/core/gateway/connectors/slack-manifest.js +81 -0
- package/dist/core/gateway/connectors/slack.d.ts +101 -4
- package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
- package/dist/core/gateway/index.cjs +495 -29
- package/dist/core/gateway/index.d.ts +4 -1
- package/dist/core/gateway/index.d.ts.map +1 -1
- package/dist/core/gateway/index.js +490 -28
- package/dist/core/gateway/system-message.d.ts.map +1 -1
- package/dist/core/git/exec.cjs +24 -0
- package/dist/core/git/exec.d.ts +6 -4
- package/dist/core/git/exec.d.ts.map +1 -1
- package/dist/core/git/exec.js +2 -0
- package/dist/core/git/index.cjs +3 -1363
- package/dist/core/git/index.d.ts +4 -614
- package/dist/core/git/index.d.ts.map +1 -1
- package/dist/core/git/index.js +1 -1304
- package/dist/core/git/pure.cjs +24 -0
- package/dist/core/git/pure.d.ts +2 -27
- package/dist/core/git/pure.d.ts.map +1 -1
- package/dist/core/git/pure.js +2 -0
- package/dist/core/index.cjs +11563 -10832
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +12203 -10962
- package/dist/core/lib/feathers-validation.cjs +9 -1
- package/dist/core/lib/feathers-validation.d.ts +2 -0
- package/dist/core/lib/feathers-validation.d.ts.map +1 -1
- package/dist/core/lib/feathers-validation.js +9 -1
- package/dist/core/local-actions/git-remotes.d.ts +7 -0
- package/dist/core/local-actions/git-remotes.d.ts.map +1 -0
- package/dist/core/local-actions/index.cjs +8008 -0
- package/dist/core/local-actions/index.d.ts +6 -0
- package/dist/core/local-actions/index.d.ts.map +1 -0
- package/dist/core/local-actions/index.js +8010 -0
- package/dist/core/local-actions/symlinks.d.ts +20 -0
- package/dist/core/local-actions/symlinks.d.ts.map +1 -0
- package/dist/core/local-actions/types.d.ts +14 -0
- package/dist/core/local-actions/types.d.ts.map +1 -0
- package/dist/core/local-actions/unix-groups.d.ts +16 -0
- package/dist/core/local-actions/unix-groups.d.ts.map +1 -0
- package/dist/core/local-actions/unix-users.d.ts +12 -0
- package/dist/core/local-actions/unix-users.d.ts.map +1 -0
- package/dist/core/mcp/index.cjs +373 -28
- package/dist/core/mcp/index.d.ts +1 -1
- package/dist/core/mcp/index.d.ts.map +1 -1
- package/dist/core/mcp/index.js +369 -27
- package/dist/core/mcp/template-patterns.d.ts +15 -0
- package/dist/core/mcp/template-patterns.d.ts.map +1 -0
- package/dist/core/mcp/template-resolver.d.ts +13 -0
- package/dist/core/mcp/template-resolver.d.ts.map +1 -1
- package/dist/core/models/browser.cjs +154 -25
- package/dist/core/models/browser.js +150 -25
- package/dist/core/models/claude.d.ts +2 -2
- package/dist/core/models/claude.d.ts.map +1 -1
- package/dist/core/models/codex.d.ts +205 -21
- package/dist/core/models/codex.d.ts.map +1 -1
- package/dist/core/models/index.cjs +154 -25
- package/dist/core/models/index.js +150 -25
- package/dist/core/package.json +24 -0
- package/dist/core/seed/demo-fixtures.d.ts +87 -0
- package/dist/core/seed/demo-fixtures.d.ts.map +1 -0
- package/dist/core/seed/dev-fixtures.d.ts.map +1 -1
- package/dist/core/seed/index.cjs +8569 -5519
- package/dist/core/seed/index.d.ts +1 -0
- package/dist/core/seed/index.d.ts.map +1 -1
- package/dist/core/seed/index.js +8580 -5535
- package/dist/core/sessions/index.cjs +110 -24
- package/dist/core/sessions/index.js +110 -24
- package/dist/core/telemetry/index.cjs +361 -0
- package/dist/core/telemetry/index.d.ts +5 -0
- package/dist/core/telemetry/index.d.ts.map +1 -0
- package/dist/core/telemetry/index.js +315 -0
- package/dist/core/telemetry/logger.d.ts +44 -0
- package/dist/core/telemetry/logger.d.ts.map +1 -0
- package/dist/core/telemetry/model-normalization.d.ts +3 -0
- package/dist/core/telemetry/model-normalization.d.ts.map +1 -0
- package/dist/core/telemetry/types.d.ts +47 -0
- package/dist/core/telemetry/types.d.ts.map +1 -0
- package/dist/core/telemetry/version.d.ts +9 -0
- package/dist/core/telemetry/version.d.ts.map +1 -0
- package/dist/core/templates/agor-system-prompt.md +1 -0
- package/dist/core/templates/handlebars-helpers.cjs +3 -1
- package/dist/core/templates/handlebars-helpers.d.ts +5 -0
- package/dist/core/templates/handlebars-helpers.d.ts.map +1 -1
- package/dist/core/templates/handlebars-helpers.js +3 -1
- package/dist/core/tools/mcp/auth-secrets.cjs +3460 -3
- package/dist/core/tools/mcp/auth-secrets.d.ts.map +1 -1
- package/dist/core/tools/mcp/auth-secrets.js +3477 -3
- package/dist/core/tools/mcp/http-headers.cjs +17 -1
- package/dist/core/tools/mcp/http-headers.d.ts.map +1 -1
- package/dist/core/tools/mcp/http-headers.js +15 -1
- package/dist/core/tools/mcp/oauth-refresh.cjs +568 -114
- package/dist/core/tools/mcp/oauth-refresh.js +566 -115
- package/dist/core/types/board.d.ts +14 -0
- package/dist/core/types/board.d.ts.map +1 -1
- package/dist/core/types/branch.d.ts +13 -0
- package/dist/core/types/branch.d.ts.map +1 -1
- package/dist/core/types/config-services.d.ts.map +1 -1
- package/dist/core/types/feathers.d.ts +6 -0
- package/dist/core/types/feathers.d.ts.map +1 -1
- package/dist/core/types/gateway.d.ts +90 -1
- package/dist/core/types/gateway.d.ts.map +1 -1
- package/dist/core/types/index.cjs +42 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +38 -0
- package/dist/core/types/schedule.d.ts +4 -3
- package/dist/core/types/schedule.d.ts.map +1 -1
- package/dist/core/types/session.d.ts +7 -1
- package/dist/core/types/session.d.ts.map +1 -1
- package/dist/core/types/tenant.d.ts +15 -0
- package/dist/core/types/tenant.d.ts.map +1 -0
- package/dist/core/types/user.d.ts +61 -0
- package/dist/core/types/user.d.ts.map +1 -1
- package/dist/core/unix/index.cjs +1123 -674
- package/dist/core/unix/index.js +1071 -624
- package/dist/core/utils/emoji-shortcodes.d.ts +13 -0
- package/dist/core/utils/emoji-shortcodes.d.ts.map +1 -0
- package/dist/core/yaml/index.cjs +8 -8
- package/dist/core/yaml/index.d.ts +1 -1
- package/dist/core/yaml/index.d.ts.map +1 -1
- package/dist/core/yaml/index.js +7 -7
- package/dist/daemon/adapters/drizzle.d.ts +26 -4
- package/dist/daemon/adapters/drizzle.d.ts.map +1 -1
- package/dist/daemon/adapters/drizzle.js +68 -7
- package/dist/daemon/auth/api-key-strategy.js +1 -1
- package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
- package/dist/daemon/auth/executor-runtime-scope.js +34 -6
- package/dist/daemon/auth/executor-session-token.d.ts +15 -0
- package/dist/daemon/auth/executor-session-token.d.ts.map +1 -0
- package/dist/daemon/auth/executor-session-token.js +17 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.d.ts +24 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.d.ts.map +1 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.js +95 -0
- package/dist/daemon/auth/launch-auth.d.ts +5 -4
- package/dist/daemon/auth/launch-auth.d.ts.map +1 -1
- package/dist/daemon/auth/launch-auth.js +123 -39
- package/dist/daemon/auth/refresh-token-service.d.ts +22 -0
- package/dist/daemon/auth/refresh-token-service.d.ts.map +1 -0
- package/dist/daemon/auth/refresh-token-service.js +133 -0
- package/dist/daemon/auth/runtime-tokens.d.ts +3 -1
- package/dist/daemon/auth/runtime-tokens.d.ts.map +1 -1
- package/dist/daemon/auth/runtime-tokens.js +17 -4
- package/dist/daemon/auth/service-jwt-strategy.d.ts +2 -1
- package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
- package/dist/daemon/auth/service-jwt-strategy.js +141 -3
- package/dist/daemon/auth/token-invalidation.d.ts +11 -0
- package/dist/daemon/auth/token-invalidation.d.ts.map +1 -0
- package/dist/daemon/auth/token-invalidation.js +38 -0
- package/dist/daemon/auth/user-redaction.d.ts +12 -0
- package/dist/daemon/auth/user-redaction.d.ts.map +1 -0
- package/dist/daemon/auth/user-redaction.js +13 -0
- package/dist/daemon/declarations.d.ts +5 -4
- package/dist/daemon/declarations.d.ts.map +1 -1
- package/dist/daemon/hooks/gateway-route.d.ts.map +1 -1
- package/dist/daemon/hooks/gateway-route.js +23 -13
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +8271 -2956
- package/dist/daemon/knowledge/pgvector.d.ts +3 -3
- package/dist/daemon/knowledge/pgvector.d.ts.map +1 -1
- package/dist/daemon/knowledge/pgvector.js +24 -0
- package/dist/daemon/knowledge/units.d.ts +2 -2
- package/dist/daemon/knowledge/units.d.ts.map +1 -1
- package/dist/daemon/main.js +8271 -2956
- package/dist/daemon/mcp/server.d.ts +3 -3
- package/dist/daemon/mcp/server.d.ts.map +1 -1
- package/dist/daemon/mcp/server.js +1740 -81
- package/dist/daemon/mcp/tokens.d.ts +2 -2
- package/dist/daemon/mcp/tokens.d.ts.map +1 -1
- package/dist/daemon/mcp/tokens.js +5 -1
- package/dist/daemon/mcp/tool-registry.d.ts.map +1 -1
- package/dist/daemon/mcp/tool-registry.js +1 -0
- package/dist/daemon/mcp/tools/analytics.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/analytics.js +598 -24
- package/dist/daemon/mcp/tools/artifacts.js +560 -20
- package/dist/daemon/mcp/tools/boards.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/boards.js +567 -21
- package/dist/daemon/mcp/tools/branches.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/branches.js +624 -50
- package/dist/daemon/mcp/tools/card-types.js +558 -18
- package/dist/daemon/mcp/tools/cards.js +558 -18
- package/dist/daemon/mcp/tools/environment.js +566 -18
- package/dist/daemon/mcp/tools/gateway-channels.d.ts +4 -0
- package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -0
- package/dist/daemon/mcp/tools/gateway-channels.js +16187 -0
- package/dist/daemon/mcp/tools/knowledge.js +558 -18
- package/dist/daemon/mcp/tools/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/mcp-servers.js +893 -18
- package/dist/daemon/mcp/tools/messages.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/messages.js +618 -32
- package/dist/daemon/mcp/tools/proxies.js +568 -20
- package/dist/daemon/mcp/tools/repos.js +558 -18
- package/dist/daemon/mcp/tools/schedules.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/schedules.js +561 -19
- package/dist/daemon/mcp/tools/search.js +558 -18
- package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/sessions.js +571 -24
- package/dist/daemon/mcp/tools/tasks.js +558 -18
- package/dist/daemon/mcp/tools/users.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/users.js +577 -23
- package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/widgets.js +759 -83
- package/dist/daemon/oauth-auth-helpers.d.ts +35 -0
- package/dist/daemon/oauth-auth-helpers.d.ts.map +1 -0
- package/dist/daemon/oauth-auth-helpers.js +14 -0
- package/dist/daemon/register-hooks.d.ts +4 -2
- package/dist/daemon/register-hooks.d.ts.map +1 -1
- package/dist/daemon/register-hooks.js +1158 -595
- package/dist/daemon/register-routes.d.ts +3 -2
- package/dist/daemon/register-routes.d.ts.map +1 -1
- package/dist/daemon/register-routes.js +3161 -812
- package/dist/daemon/register-services.d.ts +2 -2
- package/dist/daemon/register-services.d.ts.map +1 -1
- package/dist/daemon/register-services.js +2782 -739
- package/dist/daemon/services/artifacts.d.ts +34 -6
- package/dist/daemon/services/artifacts.d.ts.map +1 -1
- package/dist/daemon/services/artifacts.js +109 -8
- package/dist/daemon/services/assistant-knowledge.d.ts +2 -2
- package/dist/daemon/services/assistant-knowledge.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.d.ts +8 -5
- package/dist/daemon/services/board-comments.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.js +78 -13
- package/dist/daemon/services/board-objects.d.ts +8 -5
- package/dist/daemon/services/board-objects.d.ts.map +1 -1
- package/dist/daemon/services/board-objects.js +14 -4
- package/dist/daemon/services/boards.d.ts +39 -5
- package/dist/daemon/services/boards.d.ts.map +1 -1
- package/dist/daemon/services/boards.js +123 -8
- package/dist/daemon/services/branch-owners.d.ts +3 -1
- package/dist/daemon/services/branch-owners.d.ts.map +1 -1
- package/dist/daemon/services/branch-owners.js +31 -4
- package/dist/daemon/services/branches.d.ts +31 -8
- package/dist/daemon/services/branches.d.ts.map +1 -1
- package/dist/daemon/services/branches.js +272 -36
- package/dist/daemon/services/card-types.d.ts +3 -3
- package/dist/daemon/services/card-types.d.ts.map +1 -1
- package/dist/daemon/services/card-types.js +68 -7
- package/dist/daemon/services/cards.d.ts +19 -4
- package/dist/daemon/services/cards.d.ts.map +1 -1
- package/dist/daemon/services/cards.js +92 -8
- package/dist/daemon/services/check-auth.d.ts +2 -2
- package/dist/daemon/services/check-auth.d.ts.map +1 -1
- package/dist/daemon/services/claude-cli-integration.d.ts +4 -1
- package/dist/daemon/services/claude-cli-integration.d.ts.map +1 -1
- package/dist/daemon/services/claude-cli-integration.js +117 -65
- package/dist/daemon/services/claude-models.d.ts +3 -3
- package/dist/daemon/services/claude-models.d.ts.map +1 -1
- package/dist/daemon/services/claude-models.js +387 -273
- package/dist/daemon/services/config.d.ts +12 -4
- package/dist/daemon/services/config.d.ts.map +1 -1
- package/dist/daemon/services/config.js +39 -3
- package/dist/daemon/services/copilot-models.d.ts +3 -3
- package/dist/daemon/services/copilot-models.d.ts.map +1 -1
- package/dist/daemon/services/cursor-models.d.ts +3 -3
- package/dist/daemon/services/cursor-models.d.ts.map +1 -1
- package/dist/daemon/services/files.d.ts +3 -3
- package/dist/daemon/services/files.d.ts.map +1 -1
- package/dist/daemon/services/files.js +24 -5
- package/dist/daemon/services/gateway-channels-test.d.ts +24 -0
- package/dist/daemon/services/gateway-channels-test.d.ts.map +1 -0
- package/dist/daemon/services/gateway-channels-test.js +66 -0
- package/dist/daemon/services/gateway-channels.d.ts +3 -3
- package/dist/daemon/services/gateway-channels.d.ts.map +1 -1
- package/dist/daemon/services/gateway-channels.js +68 -7
- package/dist/daemon/services/gateway.d.ts +63 -3
- package/dist/daemon/services/gateway.d.ts.map +1 -1
- package/dist/daemon/services/gateway.js +640 -60
- package/dist/daemon/services/github-app-setup.d.ts +3 -3
- package/dist/daemon/services/github-app-setup.d.ts.map +1 -1
- package/dist/daemon/services/groups.d.ts +5 -5
- package/dist/daemon/services/groups.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.d.ts +34 -2
- package/dist/daemon/services/health-monitor.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.js +155 -30
- package/dist/daemon/services/knowledge-document-edits.d.ts +3 -3
- package/dist/daemon/services/knowledge-document-edits.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.d.ts +3 -3
- package/dist/daemon/services/knowledge-documents.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.js +92 -7
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts +7 -2
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-embedding-indexer.js +37 -3
- package/dist/daemon/services/knowledge-graph.d.ts +3 -3
- package/dist/daemon/services/knowledge-graph.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-indexing.d.ts +3 -3
- package/dist/daemon/services/knowledge-indexing.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.d.ts +3 -3
- package/dist/daemon/services/knowledge-namespaces.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.js +72 -8
- package/dist/daemon/services/knowledge-reindex.d.ts +3 -3
- package/dist/daemon/services/knowledge-reindex.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-reindex.js +28 -1
- package/dist/daemon/services/knowledge-search.d.ts +3 -3
- package/dist/daemon/services/knowledge-search.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.d.ts +3 -3
- package/dist/daemon/services/knowledge-settings.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.js +24 -0
- package/dist/daemon/services/knowledge-versions.d.ts +3 -3
- package/dist/daemon/services/knowledge-versions.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-versions.js +68 -7
- package/dist/daemon/services/leaderboard.d.ts +14 -6
- package/dist/daemon/services/leaderboard.d.ts.map +1 -1
- package/dist/daemon/services/leaderboard.js +74 -15
- package/dist/daemon/services/local-actions.d.ts +13 -0
- package/dist/daemon/services/local-actions.d.ts.map +1 -0
- package/dist/daemon/services/local-actions.js +120 -0
- package/dist/daemon/services/mcp-servers.d.ts +3 -3
- package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/mcp-servers.js +68 -7
- package/dist/daemon/services/messages.d.ts +10 -6
- package/dist/daemon/services/messages.d.ts.map +1 -1
- package/dist/daemon/services/messages.js +87 -7
- package/dist/daemon/services/repos.d.ts +6 -6
- package/dist/daemon/services/repos.d.ts.map +1 -1
- package/dist/daemon/services/repos.js +131 -32
- package/dist/daemon/services/scheduler.d.ts +23 -27
- package/dist/daemon/services/scheduler.d.ts.map +1 -1
- package/dist/daemon/services/scheduler.js +55 -28
- package/dist/daemon/services/schedules.d.ts +3 -3
- package/dist/daemon/services/schedules.d.ts.map +1 -1
- package/dist/daemon/services/schedules.js +68 -7
- package/dist/daemon/services/session-env-selections.d.ts +3 -3
- package/dist/daemon/services/session-env-selections.d.ts.map +1 -1
- package/dist/daemon/services/session-mcp-servers.d.ts +3 -3
- package/dist/daemon/services/session-mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/session-streams.d.ts +29 -0
- package/dist/daemon/services/session-streams.d.ts.map +1 -0
- package/dist/daemon/services/session-streams.js +84 -0
- package/dist/daemon/services/session-token-service.d.ts.map +1 -1
- package/dist/daemon/services/session-token-service.js +11 -4
- package/dist/daemon/services/sessions.d.ts +9 -5
- package/dist/daemon/services/sessions.d.ts.map +1 -1
- package/dist/daemon/services/sessions.js +143 -10
- package/dist/daemon/services/tasks.d.ts +11 -5
- package/dist/daemon/services/tasks.d.ts.map +1 -1
- package/dist/daemon/services/tasks.js +199 -39
- package/dist/daemon/services/terminals.d.ts +21 -3
- package/dist/daemon/services/terminals.d.ts.map +1 -1
- package/dist/daemon/services/terminals.js +81 -25
- package/dist/daemon/services/thread-session-map.d.ts +3 -3
- package/dist/daemon/services/thread-session-map.d.ts.map +1 -1
- package/dist/daemon/services/thread-session-map.js +68 -7
- package/dist/daemon/services/user-avatar-sync.d.ts +21 -0
- package/dist/daemon/services/user-avatar-sync.d.ts.map +1 -0
- package/dist/daemon/services/user-avatar-sync.js +267 -0
- package/dist/daemon/services/users.d.ts +29 -9
- package/dist/daemon/services/users.d.ts.map +1 -1
- package/dist/daemon/services/users.js +383 -30
- package/dist/daemon/services/zone-trigger.d.ts.map +1 -1
- package/dist/daemon/services/zone-trigger.js +17 -4
- package/dist/daemon/setup/build-info.d.ts +1 -1
- package/dist/daemon/setup/build-info.d.ts.map +1 -1
- package/dist/daemon/setup/build-info.js +5 -1
- package/dist/daemon/setup/database.d.ts +8 -3
- package/dist/daemon/setup/database.d.ts.map +1 -1
- package/dist/daemon/setup/database.js +26 -6
- package/dist/daemon/setup/first-run-admin.d.ts +2 -2
- package/dist/daemon/setup/first-run-admin.d.ts.map +1 -1
- package/dist/daemon/setup/index.js +137 -25
- package/dist/daemon/setup/socketio.d.ts +10 -1
- package/dist/daemon/setup/socketio.d.ts.map +1 -1
- package/dist/daemon/setup/socketio.js +108 -18
- package/dist/daemon/startup.d.ts +13 -2
- package/dist/daemon/startup.d.ts.map +1 -1
- package/dist/daemon/startup.js +377 -94
- package/dist/daemon/utils/append-system-message.d.ts +2 -2
- package/dist/daemon/utils/append-system-message.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.js +12 -1
- package/dist/daemon/utils/authorization.d.ts +3 -1
- package/dist/daemon/utils/authorization.d.ts.map +1 -1
- package/dist/daemon/utils/authorization.js +36 -7
- package/dist/daemon/utils/branch-authorization.d.ts +30 -0
- package/dist/daemon/utils/branch-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/branch-authorization.js +63 -5
- package/dist/daemon/utils/branch-inspect.d.ts +1 -0
- package/dist/daemon/utils/branch-inspect.d.ts.map +1 -1
- package/dist/daemon/utils/branch-inspect.js +11 -3
- package/dist/daemon/utils/emit-service-event.d.ts +56 -0
- package/dist/daemon/utils/emit-service-event.d.ts.map +1 -0
- package/dist/daemon/utils/emit-service-event.js +23 -0
- package/dist/daemon/utils/executor-read-impersonation.d.ts +2 -2
- package/dist/daemon/utils/executor-read-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-impersonation.d.ts +10 -10
- package/dist/daemon/utils/git-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.d.ts +3 -3
- package/dist/daemon/utils/git-remote-credential-scan.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.js +6 -2
- package/dist/daemon/utils/mcp-header-secrets.d.ts +3 -5
- package/dist/daemon/utils/mcp-header-secrets.d.ts.map +1 -1
- package/dist/daemon/utils/mcp-header-secrets.js +31 -2
- package/dist/daemon/utils/mcp-token-authorization.d.ts +18 -13
- package/dist/daemon/utils/mcp-token-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/mcp-token-authorization.js +11 -5
- package/dist/daemon/utils/open-source-telemetry-config.d.ts +6 -0
- package/dist/daemon/utils/open-source-telemetry-config.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-config.js +21 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts +7 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.js +15 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts +9 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-usage.js +121 -0
- package/dist/daemon/utils/realign-repo-origin.d.ts +3 -3
- package/dist/daemon/utils/realign-repo-origin.d.ts.map +1 -1
- package/dist/daemon/utils/realign-repo-origin.js +47 -16
- package/dist/daemon/utils/realtime-access-cache.d.ts +9 -0
- package/dist/daemon/utils/realtime-access-cache.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-access-cache.js +24 -0
- package/dist/daemon/utils/realtime-publish.d.ts +26 -0
- package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-publish.js +171 -12
- package/dist/daemon/utils/session-queue-tenant-scope.d.ts +24 -0
- package/dist/daemon/utils/session-queue-tenant-scope.d.ts.map +1 -0
- package/dist/daemon/utils/session-queue-tenant-scope.js +133 -0
- package/dist/daemon/utils/session-state-hooks.d.ts +3 -3
- package/dist/daemon/utils/session-state-hooks.d.ts.map +1 -1
- package/dist/daemon/utils/session-turn-lock.d.ts +8 -1
- package/dist/daemon/utils/session-turn-lock.d.ts.map +1 -1
- package/dist/daemon/utils/session-turn-lock.js +25 -2
- package/dist/daemon/utils/spawn-executor.d.ts +23 -1
- package/dist/daemon/utils/spawn-executor.d.ts.map +1 -1
- package/dist/daemon/utils/spawn-executor.js +34 -4
- package/dist/daemon/utils/tenant-db-scope.d.ts +20 -0
- package/dist/daemon/utils/tenant-db-scope.d.ts.map +1 -0
- package/dist/daemon/utils/tenant-db-scope.js +114 -0
- package/dist/daemon/utils/unix-group-init.d.ts +3 -3
- package/dist/daemon/utils/unix-group-init.d.ts.map +1 -1
- package/dist/daemon/utils/upload.d.ts +6 -9
- package/dist/daemon/utils/upload.d.ts.map +1 -1
- package/dist/daemon/utils/upload.js +30 -37
- package/dist/daemon/widgets/env-vars/index.d.ts +26 -1
- package/dist/daemon/widgets/env-vars/index.d.ts.map +1 -1
- package/dist/daemon/widgets/env-vars/index.js +145 -21
- package/dist/daemon/widgets/gateway-token/index.d.ts +114 -0
- package/dist/daemon/widgets/gateway-token/index.d.ts.map +1 -0
- package/dist/daemon/widgets/gateway-token/index.js +14711 -0
- package/dist/daemon/widgets/index.d.ts.map +1 -1
- package/dist/daemon/widgets/index.js +327 -37
- package/dist/daemon/widgets/registry.d.ts +7 -0
- package/dist/daemon/widgets/registry.d.ts.map +1 -1
- package/dist/daemon/widgets/submissions.js +12 -9
- package/dist/executor/commands/environment.d.ts.map +1 -1
- package/dist/executor/commands/environment.js +9 -5
- package/dist/executor/commands/git.d.ts.map +1 -1
- package/dist/executor/commands/git.js +3 -1
- package/dist/executor/db/feathers-repositories.d.ts +19 -1
- package/dist/executor/db/feathers-repositories.d.ts.map +1 -1
- package/dist/executor/db/feathers-repositories.js +31 -1
- package/dist/executor/git/index.d.ts +8 -0
- package/dist/executor/git/index.d.ts.map +1 -0
- package/dist/executor/git/index.js +7 -0
- package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/base-executor.js +4 -1
- package/dist/executor/handlers/sdk/claude.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/claude.js +1 -1
- package/dist/executor/handlers/sdk/codex.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/codex.js +1 -1
- package/dist/executor/handlers/sdk/copilot.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/copilot.js +1 -1
- package/dist/executor/handlers/sdk/cursor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/cursor.js +1 -0
- package/dist/executor/handlers/sdk/gemini.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/gemini.js +1 -1
- package/dist/executor/handlers/sdk/git-safe-directory.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/git-safe-directory.js +1 -1
- package/dist/executor/handlers/sdk/opencode.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/opencode.js +1 -1
- package/dist/executor/payload-types.d.ts +5 -5
- package/dist/executor/sdk-handlers/base/diff-enrichment.js +1 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts +8 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.js +58 -6
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/claude-tool.js +2 -2
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts +13 -3
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/prompt-service.js +16 -3
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts +2 -1
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/query-builder.js +2 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +8 -12
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +14 -17
- package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/normalizer.js +11 -1
- package/dist/executor/sdk-handlers/codex/pricing/litellm-openai-model-prices.json +3663 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts +31 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts.map +1 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.js +46 -0
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.js +131 -12
- package/dist/executor/sdk-handlers/codex/usage.d.ts +14 -23
- package/dist/executor/sdk-handlers/codex/usage.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/usage.js +18 -33
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/copilot-tool.js +2 -2
- package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.js +2 -2
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -1
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts +3 -2
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/opencode/opencode-tool.js +4 -1
- package/dist/executor/services/feathers-client.d.ts.map +1 -1
- package/dist/executor/services/feathers-client.js +124 -25
- package/dist/git/index.cjs +1101 -0
- package/dist/git/index.d.ts +533 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +1022 -0
- package/dist/git/package.json +21 -0
- package/dist/git/pure.cjs +185 -0
- package/dist/git/pure.d.ts +39 -0
- package/dist/git/pure.d.ts.map +1 -0
- package/dist/git/pure.js +139 -0
- package/dist/ui/assets/AgorEmojiPickerInner-leeNywMc.js +1 -0
- package/dist/ui/assets/App-Dpl4Cc0U.js +4 -0
- package/dist/ui/assets/App-Dpl4Cc0U.js.gz +0 -0
- package/dist/ui/assets/AppNode-wN3UZlFK.js +1 -0
- package/dist/ui/assets/AppNode-wN3UZlFK.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js +1 -0
- package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js +9 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js.gz +0 -0
- package/dist/ui/assets/ArtifactNode-DISy2T-6.js +9 -0
- package/dist/ui/assets/ArtifactNode-DISy2T-6.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js +19 -0
- package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js +34 -0
- package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js +7 -0
- package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js.gz +0 -0
- package/dist/ui/assets/ConversationView-mWaA-B1f.js +1 -0
- package/dist/ui/assets/ConversationView-mWaA-B1f.js.gz +0 -0
- package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js +2 -0
- package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-CkxVnRvz.js +24 -0
- package/dist/ui/assets/KnowledgePage-CkxVnRvz.js.gz +0 -0
- package/dist/ui/assets/{MarketingScreenshotPage-zv5RUCuV.js → MarketingScreenshotPage-B86Gs8jx.js} +2 -2
- package/dist/ui/assets/MarketingScreenshotPage-B86Gs8jx.js.gz +0 -0
- package/dist/ui/assets/MobileApp-BPs-SXvz.js +1 -0
- package/dist/ui/assets/MobileApp-BPs-SXvz.js.gz +0 -0
- package/dist/ui/assets/{SessionCanvas-mEmYGZhC.css → SessionCanvas-Bh7Yg5dZ.css} +1 -1
- package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css.gz +0 -0
- package/dist/ui/assets/SessionCanvas-xVfDoEtz.js +13 -0
- package/dist/ui/assets/SessionCanvas-xVfDoEtz.js.gz +0 -0
- package/dist/ui/assets/{StreamdownDemoPage-wzWaqWwr.js → StreamdownDemoPage-CvWLzVsv.js} +2 -2
- package/dist/ui/assets/StreamdownDemoPage-CvWLzVsv.js.gz +0 -0
- package/dist/ui/assets/TerminalModal-ExOgsuOP.js +2 -0
- package/dist/ui/assets/TerminalModal-ExOgsuOP.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js +1 -0
- package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js.gz +0 -0
- package/dist/ui/assets/ThemedSyntaxHighlighter.inner-rpCN9S6K.js +1 -0
- package/dist/ui/assets/{antd-CfbbHJOz.js → antd-BCqimh1J.js} +5 -5
- package/dist/ui/assets/{antd-CfbbHJOz.js.gz → antd-BCqimh1J.js.gz} +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-BxSQIjrE.js +1 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js +36 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js.gz +0 -0
- package/dist/ui/assets/{blockDiagram-VD42YOAC-BhZaEN19.js → blockDiagram-VD42YOAC-uP8JTJpK.js} +4 -4
- package/dist/ui/assets/blockDiagram-VD42YOAC-uP8JTJpK.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dk_UH-sY.js → c4Diagram-YG6GDRKO-qQe72Mm7.js} +2 -2
- package/dist/ui/assets/c4Diagram-YG6GDRKO-qQe72Mm7.js.gz +0 -0
- package/dist/ui/assets/channel-CoUBs6Zn.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-XprbG2TG.js → chunk-4BX2VUAB-sz-YE8Nt.js} +1 -1
- package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js +3 -0
- package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js.gz +0 -0
- package/dist/ui/assets/chunk-55IACEB6-BS04dgKF.js +1 -0
- package/dist/ui/assets/{chunk-ABZYJK2D-BJcrryHK.js → chunk-ABZYJK2D-t3Gkphds.js} +3 -3
- package/dist/ui/assets/chunk-ABZYJK2D-t3Gkphds.js.gz +0 -0
- package/dist/ui/assets/{chunk-AGHRB4JF-DvxmfbM0.js → chunk-AGHRB4JF-D_QmWxbY.js} +1 -1
- package/dist/ui/assets/chunk-AGHRB4JF-D_QmWxbY.js.gz +0 -0
- package/dist/ui/assets/{chunk-ATLVNIR6-DbeJ0OrR.js → chunk-ATLVNIR6-Bmg7-Ufz.js} +1 -1
- package/dist/ui/assets/chunk-ATLVNIR6-Bmg7-Ufz.js.gz +0 -0
- package/dist/ui/assets/{chunk-B4BG7PRW-C53q2ggf.js → chunk-B4BG7PRW-dnSEE1u-.js} +3 -3
- package/dist/ui/assets/chunk-B4BG7PRW-dnSEE1u-.js.gz +0 -0
- package/dist/ui/assets/{chunk-CVBHYZKI-B3EBSlb3.js → chunk-CVBHYZKI-BStaYnF0.js} +1 -1
- package/dist/ui/assets/{chunk-DI55MBZ5-vIyNEQN-.js → chunk-DI55MBZ5-28dvx6o3.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-28dvx6o3.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-X-FURkEh.js +1 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-rddmfK-Z.js → chunk-FMBD7UC4-C_63gC9S.js} +1 -1
- package/dist/ui/assets/{chunk-HN2XXSSU-Dttqcg3b.js → chunk-HN2XXSSU-UFD374KI.js} +1 -1
- package/dist/ui/assets/chunk-HN2XXSSU-UFD374KI.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js +11 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js.gz +0 -0
- package/dist/ui/assets/{chunk-JZLCHNYA-EUmx2y4H.js → chunk-JZLCHNYA-ButC6pwN.js} +5 -5
- package/dist/ui/assets/chunk-JZLCHNYA-ButC6pwN.js.gz +0 -0
- package/dist/ui/assets/{chunk-MI3HLSF2-65n9Mkyc.js → chunk-MI3HLSF2-BivYzoSV.js} +1 -1
- package/dist/ui/assets/chunk-MI3HLSF2-BivYzoSV.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js +2 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js.gz +0 -0
- package/dist/ui/assets/{chunk-QN33PNHL-DsRKK6NR.js → chunk-QN33PNHL-tXtHZpaG.js} +1 -1
- package/dist/ui/assets/{chunk-QXUST7PY-BCYnMiS3.js → chunk-QXUST7PY-DATib_Vv.js} +2 -2
- package/dist/ui/assets/chunk-QXUST7PY-DATib_Vv.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-y6l249e5.js +1 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js +2 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js.gz +0 -0
- package/dist/ui/assets/{chunk-TZMSLE5B-BuQUQcTr.js → chunk-TZMSLE5B-BY1ZtogK.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-BY1ZtogK.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-BYvq-uPY.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BYvq-uPY.js +1 -0
- package/dist/ui/assets/constants-CYzQKfD1.js +1 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-CnPB3ARO.js → cose-bilkent-S5V4N54A-DPvYrqGG.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-DPvYrqGG.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-DhS-k_Se.js → dagre-6UL2VRFP-D800J6qb.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-D800J6qb.js.gz +0 -0
- package/dist/ui/assets/{dagre-KgLoHEuy.js → dagre-TNc4wezg.js} +1 -1
- package/dist/ui/assets/dagre-TNc4wezg.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js +24 -0
- package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-BPCitvbo.js → diagram-QEK2KX5R-BD5lOCe5.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-BD5lOCe5.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-NW4uK6sx.js → diagram-S2PKOQOG-cp3l22vN.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-cp3l22vN.js.gz +0 -0
- package/dist/ui/assets/editor-Cr0W5BQI.js +39 -0
- package/dist/ui/assets/editor-Cr0W5BQI.js.gz +0 -0
- package/dist/ui/assets/emoji-Bv3m24sO.js +3 -0
- package/dist/ui/assets/emoji-Bv3m24sO.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-me1fboaf.js → erDiagram-Q2GNP2WA-CQSXRgqr.js} +2 -2
- package/dist/ui/assets/erDiagram-Q2GNP2WA-CQSXRgqr.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js +162 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js +267 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js.gz +0 -0
- package/dist/ui/assets/{gitGraph-F6HP7TQM-CfFE_uAC.js → gitGraph-F6HP7TQM-DeuXy4B1.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js +65 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js.gz +0 -0
- package/dist/ui/assets/index-B-qHc0o5.js +63 -0
- package/dist/ui/assets/index-B-qHc0o5.js.gz +0 -0
- package/dist/ui/assets/{index-DxuPq13l.css → index-qkT7Qqm2.css} +1 -1
- package/dist/ui/assets/index-qkT7Qqm2.css.gz +0 -0
- package/dist/ui/assets/{info-NVLQJR56-i_xHYg3f.js → info-NVLQJR56-B9PG7xsc.js} +1 -1
- package/dist/ui/assets/{infoDiagram-ER5ION4S-2NL93b78.js → infoDiagram-ER5ION4S-C5Wpoqim.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CZF-2DHU.js → journeyDiagram-XKPGCS4Q-CHLziqfS.js} +3 -3
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHLziqfS.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-CfvJIOny.js → kanban-definition-3W4ZIXB7-Dq7GzQE_.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-Dq7GzQE_.js.gz +0 -0
- package/dist/ui/assets/{line-DDv8kOJk.js → line-DHKNg83I.js} +1 -1
- package/dist/ui/assets/{linear-Daef-l29.js → linear-BvUfn0I8.js} +1 -1
- package/dist/ui/assets/linear-BvUfn0I8.js.gz +0 -0
- package/dist/ui/assets/{mermaid-parser.core-CdK9QgYV.js → mermaid-parser.core-C6d9tKoo.js} +2 -2
- package/dist/ui/assets/mermaid-parser.core-C6d9tKoo.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-CxE5KezR.js +11 -0
- package/dist/ui/assets/mermaid.core-CxE5KezR.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-Cb3QMflX.js → mindmap-definition-VGOIOE7T-DmPoQ48w.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-DmPoQ48w.js.gz +0 -0
- package/dist/ui/assets/{packet-BFZMPI3H-Bm2uwz4i.js → packet-BFZMPI3H-JZEkVZxU.js} +1 -1
- package/dist/ui/assets/{particles-DsJFOarW.js → particles-CxMmUw86.js} +1 -1
- package/dist/ui/assets/particles-CxMmUw86.js.gz +0 -0
- package/dist/ui/assets/{pie-7BOR55EZ-5i17tVnF.js → pie-7BOR55EZ-_1II5pYQ.js} +1 -1
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-BxIwQWvw.js → pieDiagram-ADFJNKIX-DrNkH33i.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-DrNkH33i.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-B5HPe4ga.js → quadrantDiagram-AYHSOK5B-DOpC-HEF.js} +3 -3
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DOpC-HEF.js.gz +0 -0
- package/dist/ui/assets/{radar-NHE76QYJ-BTn-tq0k.js → radar-NHE76QYJ-DDmqhzEZ.js} +1 -1
- package/dist/ui/assets/reactflow-D98uPOMq.js +2 -0
- package/dist/ui/assets/reactflow-D98uPOMq.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-YfI6llkX.js → requirementDiagram-UZGBJVZJ-Bzx0iEPP.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bzx0iEPP.js.gz +0 -0
- package/dist/ui/assets/{sandpack-D7koO5op.js → sandpack-059Z4UWP.js} +38 -38
- package/dist/ui/assets/sandpack-059Z4UWP.js.gz +0 -0
- package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js +1 -0
- package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js +10 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-DAe4Um17.js → sequenceDiagram-WL72ISMW-CN8neUTA.js} +6 -6
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CN8neUTA.js.gz +0 -0
- package/dist/ui/assets/src-DEbsv3pp.js +34 -0
- package/dist/ui/assets/src-DEbsv3pp.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js +1 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DeyqBMDR.js +1 -0
- package/dist/ui/assets/streamdown-BT1twtFc.js +521 -0
- package/dist/ui/assets/streamdown-BT1twtFc.js.gz +0 -0
- package/dist/ui/assets/syntax-CBu6nLfm.js +9 -0
- package/dist/ui/assets/syntax-CBu6nLfm.js.gz +0 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-D6P5txjT.js → timeline-definition-IT6M3QCI-WdUNkiRj.js} +16 -16
- package/dist/ui/assets/timeline-definition-IT6M3QCI-WdUNkiRj.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-Bitm3gy4.js → treemap-KMMF4GRG-CoriU4Jl.js} +1 -1
- package/dist/ui/assets/{useUserLocalStorage-Ckb8HsIw.js → useUserLocalStorage-GidNiOPC.js} +1 -1
- package/dist/ui/assets/useUserLocalStorage-GidNiOPC.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CsybjUbd.js → xychartDiagram-PRI3JC2R-CgBAKNt2.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CgBAKNt2.js.gz +0 -0
- package/dist/ui/index.html +11 -11
- package/dist/ui/index.html.gz +0 -0
- package/package.json +6 -5
- package/scripts/postinstall.js +27 -19
- package/dist/cli/commands/daemon/sync.d.ts.map +0 -1
- package/dist/ui/assets/App-DcEY8Ota.js +0 -3
- package/dist/ui/assets/App-DcEY8Ota.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js +0 -1
- package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js +0 -9
- package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js +0 -18
- package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js +0 -34
- package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js +0 -8
- package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js.gz +0 -0
- package/dist/ui/assets/ConversationView-CUWR0gR6.js +0 -1
- package/dist/ui/assets/ConversationView-CUWR0gR6.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-B2bzlXfn.js +0 -24
- package/dist/ui/assets/KnowledgePage-B2bzlXfn.js.gz +0 -0
- package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js.gz +0 -0
- package/dist/ui/assets/MobileApp-VgVnsnsN.js +0 -1
- package/dist/ui/assets/MobileApp-VgVnsnsN.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js +0 -20
- package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-mEmYGZhC.css.gz +0 -0
- package/dist/ui/assets/StreamdownDemoPage-wzWaqWwr.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js +0 -1
- package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js.gz +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-CykGFbQU.js +0 -1
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js +0 -36
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js.gz +0 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-BhZaEN19.js.gz +0 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-Dk_UH-sY.js.gz +0 -0
- package/dist/ui/assets/channel-D6_nUWlW.js +0 -1
- package/dist/ui/assets/chunk-55IACEB6-ByzqIgSb.js +0 -1
- package/dist/ui/assets/chunk-ABZYJK2D-BJcrryHK.js.gz +0 -0
- package/dist/ui/assets/chunk-AGHRB4JF-DvxmfbM0.js.gz +0 -0
- package/dist/ui/assets/chunk-ATLVNIR6-DbeJ0OrR.js.gz +0 -0
- package/dist/ui/assets/chunk-B4BG7PRW-C53q2ggf.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-vIyNEQN-.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-B3ObkuOm.js +0 -1
- package/dist/ui/assets/chunk-HN2XXSSU-Dttqcg3b.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js +0 -11
- package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js.gz +0 -0
- package/dist/ui/assets/chunk-JZLCHNYA-EUmx2y4H.js.gz +0 -0
- package/dist/ui/assets/chunk-MI3HLSF2-65n9Mkyc.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js +0 -2
- package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js.gz +0 -0
- package/dist/ui/assets/chunk-QXUST7PY-BCYnMiS3.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-HucAw4xW.js +0 -1
- package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js +0 -2
- package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-BuQUQcTr.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-CUT3rPTB.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-CUT3rPTB.js +0 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-CnPB3ARO.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-DhS-k_Se.js.gz +0 -0
- package/dist/ui/assets/dagre-KgLoHEuy.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js +0 -24
- package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-BPCitvbo.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-NW4uK6sx.js.gz +0 -0
- package/dist/ui/assets/editor-CzFWIUw2.js +0 -39
- package/dist/ui/assets/editor-CzFWIUw2.js.gz +0 -0
- package/dist/ui/assets/emoji-Dkz4Zzv_.js +0 -3
- package/dist/ui/assets/emoji-Dkz4Zzv_.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-me1fboaf.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js +0 -162
- package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js +0 -267
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js +0 -65
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js.gz +0 -0
- package/dist/ui/assets/index-BN5_Qq7R.js +0 -324
- package/dist/ui/assets/index-BN5_Qq7R.js.gz +0 -0
- package/dist/ui/assets/index-DxuPq13l.css.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CZF-2DHU.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-CfvJIOny.js.gz +0 -0
- package/dist/ui/assets/katex-CamJ39w1.js +0 -257
- package/dist/ui/assets/katex-CamJ39w1.js.gz +0 -0
- package/dist/ui/assets/linear-Daef-l29.js.gz +0 -0
- package/dist/ui/assets/mermaid-parser.core-CdK9QgYV.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-D6GS9mU-.js +0 -11
- package/dist/ui/assets/mermaid.core-D6GS9mU-.js.gz +0 -0
- package/dist/ui/assets/message-SqLqNYcv.js +0 -36
- package/dist/ui/assets/message-SqLqNYcv.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-Cb3QMflX.js.gz +0 -0
- package/dist/ui/assets/particles-DsJFOarW.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-BxIwQWvw.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-B5HPe4ga.js.gz +0 -0
- package/dist/ui/assets/reactflow-Bf74ngoo.js +0 -2
- package/dist/ui/assets/reactflow-Bf74ngoo.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-YfI6llkX.js.gz +0 -0
- package/dist/ui/assets/sandpack-D7koO5op.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js +0 -10
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-DAe4Um17.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js +0 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CMlIrsoO.js +0 -1
- package/dist/ui/assets/syntax-C-M-8jOU.js +0 -10
- package/dist/ui/assets/syntax-C-M-8jOU.js.gz +0 -0
- package/dist/ui/assets/theme-BQZdiqwv.js +0 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-D6P5txjT.js.gz +0 -0
- package/dist/ui/assets/useUserLocalStorage-Ckb8HsIw.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CsybjUbd.js.gz +0 -0
- /package/dist/cli/commands/{admin → local}/sync-unix.d.ts +0 -0
|
@@ -31,9 +31,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
31
31
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
32
32
|
|
|
33
33
|
// ../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.15_tsx@4.22.4_typescript@6.0.3_yaml@2.9.0/node_modules/tsup/assets/cjs_shims.js
|
|
34
|
+
var getImportMetaUrl, importMetaUrl;
|
|
34
35
|
var init_cjs_shims = __esm({
|
|
35
36
|
"../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.15_tsx@4.22.4_typescript@6.0.3_yaml@2.9.0/node_modules/tsup/assets/cjs_shims.js"() {
|
|
36
37
|
"use strict";
|
|
38
|
+
getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.tagName.toUpperCase() === "SCRIPT" ? document.currentScript.src : new URL("main.js", document.baseURI).href;
|
|
39
|
+
importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
37
40
|
}
|
|
38
41
|
});
|
|
39
42
|
|
|
@@ -78,18 +81,48 @@ var init_ids = __esm({
|
|
|
78
81
|
}
|
|
79
82
|
});
|
|
80
83
|
|
|
84
|
+
// src/db/tenant-context.ts
|
|
85
|
+
function getCurrentTenantId() {
|
|
86
|
+
const store = tenantDatabaseScope.getStore();
|
|
87
|
+
return store?.kind === "tenant" ? store.tenantId : void 0;
|
|
88
|
+
}
|
|
89
|
+
var import_node_async_hooks, tenantDatabaseScope;
|
|
90
|
+
var init_tenant_context = __esm({
|
|
91
|
+
"src/db/tenant-context.ts"() {
|
|
92
|
+
"use strict";
|
|
93
|
+
init_cjs_shims();
|
|
94
|
+
import_node_async_hooks = require("async_hooks");
|
|
95
|
+
tenantDatabaseScope = new import_node_async_hooks.AsyncLocalStorage();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
|
|
81
99
|
// src/db/database-wrapper.ts
|
|
82
100
|
function isSQLiteDatabase(db) {
|
|
83
101
|
return "run" in db && typeof db.run === "function";
|
|
84
102
|
}
|
|
85
|
-
function
|
|
103
|
+
function tableHasTenantColumn(table) {
|
|
104
|
+
return Boolean(table && "tenant_id" in table);
|
|
105
|
+
}
|
|
106
|
+
function withTenantInsertValues(values, table) {
|
|
107
|
+
const tenantId = getCurrentTenantId();
|
|
108
|
+
if (!tenantId || !tableHasTenantColumn(table)) return values;
|
|
109
|
+
const stamp = (row) => {
|
|
110
|
+
if (!row || typeof row !== "object" || Array.isArray(row)) return row;
|
|
111
|
+
if ("tenant_id" in row) return row;
|
|
112
|
+
return { tenant_id: tenantId, ...row };
|
|
113
|
+
};
|
|
114
|
+
return Array.isArray(values) ? values.map(stamp) : stamp(values);
|
|
115
|
+
}
|
|
116
|
+
function wrapQuery(query, db, table) {
|
|
86
117
|
return {
|
|
87
118
|
...query,
|
|
88
119
|
one: async () => {
|
|
89
120
|
if (isSQLiteDatabase(db)) {
|
|
90
121
|
return await query.get();
|
|
91
122
|
} else {
|
|
92
|
-
const results = await query.limit(
|
|
123
|
+
const results = await query.limit(
|
|
124
|
+
1
|
|
125
|
+
);
|
|
93
126
|
return results[0] || null;
|
|
94
127
|
}
|
|
95
128
|
},
|
|
@@ -111,30 +144,55 @@ function wrapQuery(query, db) {
|
|
|
111
144
|
return { rowsAffected: result.length || 0 };
|
|
112
145
|
}
|
|
113
146
|
},
|
|
114
|
-
// biome-ignore lint/suspicious/noExplicitAny: Drizzle query builder types vary by dialect
|
|
115
147
|
returning: () => wrapReturning(query.returning(), db),
|
|
116
148
|
// Preserve chainable methods
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
149
|
+
where: (...args) => wrapQuery(
|
|
150
|
+
query.where(...args),
|
|
151
|
+
db,
|
|
152
|
+
table
|
|
153
|
+
),
|
|
154
|
+
limit: (...args) => wrapQuery(
|
|
155
|
+
query.limit(...args),
|
|
156
|
+
db,
|
|
157
|
+
table
|
|
158
|
+
),
|
|
159
|
+
offset: (...args) => wrapQuery(
|
|
160
|
+
query.offset(...args),
|
|
161
|
+
db,
|
|
162
|
+
table
|
|
163
|
+
),
|
|
164
|
+
orderBy: (...args) => wrapQuery(
|
|
165
|
+
query.orderBy(...args),
|
|
166
|
+
db,
|
|
167
|
+
table
|
|
168
|
+
),
|
|
169
|
+
groupBy: (...args) => wrapQuery(
|
|
170
|
+
query.groupBy(...args),
|
|
171
|
+
db,
|
|
172
|
+
table
|
|
173
|
+
),
|
|
174
|
+
set: (...args) => wrapQuery(query.set(...args), db, table),
|
|
175
|
+
values: (...args) => wrapQuery(
|
|
176
|
+
query.values(
|
|
177
|
+
...args.map((arg) => withTenantInsertValues(arg, table))
|
|
178
|
+
),
|
|
179
|
+
db,
|
|
180
|
+
table
|
|
181
|
+
),
|
|
182
|
+
innerJoin: (...args) => wrapQuery(
|
|
183
|
+
query.innerJoin(...args),
|
|
184
|
+
db,
|
|
185
|
+
table
|
|
186
|
+
),
|
|
187
|
+
leftJoin: (...args) => wrapQuery(
|
|
188
|
+
query.leftJoin(...args),
|
|
189
|
+
db,
|
|
190
|
+
table
|
|
191
|
+
),
|
|
192
|
+
onConflictDoNothing: (...args) => wrapQuery(
|
|
193
|
+
query.onConflictDoNothing(...args),
|
|
194
|
+
db,
|
|
195
|
+
table
|
|
138
196
|
)
|
|
139
197
|
};
|
|
140
198
|
}
|
|
@@ -167,7 +225,7 @@ function select(db, columns) {
|
|
|
167
225
|
}
|
|
168
226
|
function insert(db, table) {
|
|
169
227
|
const query = db.insert(table);
|
|
170
|
-
return wrapQuery(query, db);
|
|
228
|
+
return wrapQuery(query, db, table);
|
|
171
229
|
}
|
|
172
230
|
function update(db, table) {
|
|
173
231
|
const query = db.update(table);
|
|
@@ -183,6 +241,7 @@ var init_database_wrapper = __esm({
|
|
|
183
241
|
"use strict";
|
|
184
242
|
init_cjs_shims();
|
|
185
243
|
import_drizzle_orm = require("drizzle-orm");
|
|
244
|
+
init_tenant_context();
|
|
186
245
|
}
|
|
187
246
|
});
|
|
188
247
|
|
|
@@ -430,6 +489,14 @@ var init_template = __esm({
|
|
|
430
489
|
}
|
|
431
490
|
});
|
|
432
491
|
|
|
492
|
+
// src/types/tenant.ts
|
|
493
|
+
var init_tenant = __esm({
|
|
494
|
+
"src/types/tenant.ts"() {
|
|
495
|
+
"use strict";
|
|
496
|
+
init_cjs_shims();
|
|
497
|
+
}
|
|
498
|
+
});
|
|
499
|
+
|
|
433
500
|
// src/types/ui.ts
|
|
434
501
|
var init_ui = __esm({
|
|
435
502
|
"src/types/ui.ts"() {
|
|
@@ -520,6 +587,7 @@ var init_types = __esm({
|
|
|
520
587
|
init_session();
|
|
521
588
|
init_task();
|
|
522
589
|
init_template();
|
|
590
|
+
init_tenant();
|
|
523
591
|
init_ui();
|
|
524
592
|
init_user();
|
|
525
593
|
init_utils();
|
|
@@ -545,6 +613,7 @@ __export(schema_postgres_exports, {
|
|
|
545
613
|
cardTypes: () => cardTypes,
|
|
546
614
|
cards: () => cards,
|
|
547
615
|
gatewayChannels: () => gatewayChannels,
|
|
616
|
+
gatewayOutboundMessages: () => gatewayOutboundMessages,
|
|
548
617
|
groupMemberships: () => groupMemberships,
|
|
549
618
|
groups: () => groups,
|
|
550
619
|
kbDocumentUnits: () => kbDocumentUnits,
|
|
@@ -573,7 +642,7 @@ __export(schema_postgres_exports, {
|
|
|
573
642
|
userMcpOauthTokens: () => userMcpOauthTokens,
|
|
574
643
|
users: () => users
|
|
575
644
|
});
|
|
576
|
-
var import_drizzle_orm2, import_pg_core, bytea, t, sessions, sessionRelationships, tasks, serializedSessions, messages, boards, repos, branches, branchOwners, boardOwners, schedules, users, groups, groupMemberships, branchGroupGrants, boardGroupGrants, appVariables, userApiKeys, mcpServers, cardTypes, cards, artifacts, artifactTrustGrants, boardObjects, sessionMcpServers, userMcpOauthTokens, boardComments, gatewayChannels, threadSessionMap, sessionEnvSelections, kbNamespaces, kbNamespaceAcl, kbDocuments, kbDocumentVersions, kbDocumentUnits, kbEmbeddingSpaces, kbGraphNodes, kbGraphEdges, sessionsRelations, sessionRelationshipsRelations, branchesRelations, schedulesRelations;
|
|
645
|
+
var import_drizzle_orm2, import_pg_core, bytea, t, sessions, sessionRelationships, tasks, serializedSessions, messages, boards, repos, branches, branchOwners, boardOwners, schedules, users, groups, groupMemberships, branchGroupGrants, boardGroupGrants, appVariables, userApiKeys, mcpServers, cardTypes, cards, artifacts, artifactTrustGrants, boardObjects, sessionMcpServers, userMcpOauthTokens, boardComments, gatewayChannels, threadSessionMap, gatewayOutboundMessages, sessionEnvSelections, kbNamespaces, kbNamespaceAcl, kbDocuments, kbDocumentVersions, kbDocumentUnits, kbEmbeddingSpaces, kbGraphNodes, kbGraphEdges, sessionsRelations, sessionRelationshipsRelations, branchesRelations, schedulesRelations;
|
|
577
646
|
var init_schema_postgres = __esm({
|
|
578
647
|
"src/db/schema.postgres.ts"() {
|
|
579
648
|
"use strict";
|
|
@@ -594,6 +663,7 @@ var init_schema_postgres = __esm({
|
|
|
594
663
|
sessions = (0, import_pg_core.pgTable)(
|
|
595
664
|
"sessions",
|
|
596
665
|
{
|
|
666
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
597
667
|
// Primary identity
|
|
598
668
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).primaryKey(),
|
|
599
669
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -653,7 +723,9 @@ var init_schema_postgres = __esm({
|
|
|
653
723
|
data: t.json("data").$type().notNull()
|
|
654
724
|
},
|
|
655
725
|
(table) => ({
|
|
726
|
+
tenantIdx: (0, import_pg_core.index)("sessions_tenant_id_idx").on(table.tenant_id),
|
|
656
727
|
statusIdx: (0, import_pg_core.index)("sessions_status_idx").on(table.status),
|
|
728
|
+
statusReadyIdx: (0, import_pg_core.index)("sessions_status_ready_idx").on(table.status, table.ready_for_prompt),
|
|
657
729
|
agenticToolIdx: (0, import_pg_core.index)("sessions_agentic_tool_idx").on(table.agentic_tool),
|
|
658
730
|
boardIdx: (0, import_pg_core.index)("sessions_board_idx").on(table.board_id),
|
|
659
731
|
branchIdx: (0, import_pg_core.index)("sessions_branch_idx").on(table.branch_id),
|
|
@@ -665,12 +737,13 @@ var init_schema_postgres = __esm({
|
|
|
665
737
|
// Partial unique index — covering for the scheduler's dedup lookup
|
|
666
738
|
// AND serves as the DB-level guard against check-then-create races
|
|
667
739
|
// in spawnScheduledSession.
|
|
668
|
-
scheduleRunUnique: (0, import_pg_core.uniqueIndex)("sessions_schedule_run_unique").on(table.schedule_id, table.scheduled_run_at).where(import_drizzle_orm2.sql`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
|
|
740
|
+
scheduleRunUnique: (0, import_pg_core.uniqueIndex)("sessions_schedule_run_unique").on(table.tenant_id, table.schedule_id, table.scheduled_run_at).where(import_drizzle_orm2.sql`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
|
|
669
741
|
})
|
|
670
742
|
);
|
|
671
743
|
sessionRelationships = (0, import_pg_core.pgTable)(
|
|
672
744
|
"session_relationships",
|
|
673
745
|
{
|
|
746
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
674
747
|
relationship_id: (0, import_pg_core.varchar)("relationship_id", { length: 36 }).primaryKey(),
|
|
675
748
|
source_session_id: (0, import_pg_core.varchar)("source_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
676
749
|
target_session_id: (0, import_pg_core.varchar)("target_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
@@ -688,10 +761,23 @@ var init_schema_postgres = __esm({
|
|
|
688
761
|
data: t.json("data")
|
|
689
762
|
},
|
|
690
763
|
(table) => ({
|
|
764
|
+
tenantIdx: (0, import_pg_core.index)("session_relationships_tenant_id_idx").on(table.tenant_id),
|
|
691
765
|
sourceIdx: (0, import_pg_core.index)("session_relationships_source_idx").on(table.source_session_id),
|
|
692
766
|
targetIdx: (0, import_pg_core.index)("session_relationships_target_idx").on(table.target_session_id),
|
|
693
767
|
callbackIdx: (0, import_pg_core.index)("session_relationships_callback_idx").on(table.callback_session_id),
|
|
768
|
+
// Composite indexes so the OR predicate in dispatchCompletionCallbacks
|
|
769
|
+
// (WHERE source_session_id = $1 OR target_session_id = $2) uses BitmapOr
|
|
770
|
+
// over these instead of a full tenant table scan via tenant_id_idx.
|
|
771
|
+
tenantSourceIdx: (0, import_pg_core.index)("session_relationships_tenant_source_idx").on(
|
|
772
|
+
table.tenant_id,
|
|
773
|
+
table.source_session_id
|
|
774
|
+
),
|
|
775
|
+
tenantTargetIdx: (0, import_pg_core.index)("session_relationships_tenant_target_idx").on(
|
|
776
|
+
table.tenant_id,
|
|
777
|
+
table.target_session_id
|
|
778
|
+
),
|
|
694
779
|
sourceTargetTypeUnique: (0, import_pg_core.uniqueIndex)("session_relationships_source_target_type_unique").on(
|
|
780
|
+
table.tenant_id,
|
|
695
781
|
table.source_session_id,
|
|
696
782
|
table.target_session_id,
|
|
697
783
|
table.relationship_type
|
|
@@ -701,6 +787,7 @@ var init_schema_postgres = __esm({
|
|
|
701
787
|
tasks = (0, import_pg_core.pgTable)(
|
|
702
788
|
"tasks",
|
|
703
789
|
{
|
|
790
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
704
791
|
task_id: (0, import_pg_core.varchar)("task_id", { length: 36 }).primaryKey(),
|
|
705
792
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
706
793
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -730,19 +817,23 @@ var init_schema_postgres = __esm({
|
|
|
730
817
|
data: t.json("data").$type().notNull()
|
|
731
818
|
},
|
|
732
819
|
(table) => ({
|
|
820
|
+
tenantIdx: (0, import_pg_core.index)("tasks_tenant_id_idx").on(table.tenant_id),
|
|
733
821
|
sessionIdx: (0, import_pg_core.index)("tasks_session_idx").on(table.session_id),
|
|
734
822
|
statusIdx: (0, import_pg_core.index)("tasks_status_idx").on(table.status),
|
|
735
823
|
createdIdx: (0, import_pg_core.index)("tasks_created_idx").on(table.created_at),
|
|
824
|
+
// Composite for "latest task for session" queries (ORDER BY created_at DESC LIMIT 1).
|
|
825
|
+
sessionCreatedIdx: (0, import_pg_core.index)("tasks_session_created_idx").on(table.session_id, table.created_at),
|
|
736
826
|
queueIdx: (0, import_pg_core.index)("tasks_queue_idx").on(table.session_id, table.status, table.queue_position),
|
|
737
827
|
// Partial unique index — defense-in-depth for `tasks.createPending` race
|
|
738
828
|
// serialization. Only QUEUED rows are constrained; CREATED/RUNNING/done
|
|
739
829
|
// rows have NULL queue_position and are unaffected.
|
|
740
|
-
queuedPositionUnique: (0, import_pg_core.uniqueIndex)("tasks_queued_position_unique").on(table.session_id, table.queue_position).where(import_drizzle_orm2.sql`${table.status} = 'queued'`)
|
|
830
|
+
queuedPositionUnique: (0, import_pg_core.uniqueIndex)("tasks_queued_position_unique").on(table.tenant_id, table.session_id, table.queue_position).where(import_drizzle_orm2.sql`${table.status} = 'queued'`)
|
|
741
831
|
})
|
|
742
832
|
);
|
|
743
833
|
serializedSessions = (0, import_pg_core.pgTable)(
|
|
744
834
|
"serialized_sessions",
|
|
745
835
|
{
|
|
836
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
746
837
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
747
838
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
748
839
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
@@ -758,6 +849,7 @@ var init_schema_postgres = __esm({
|
|
|
758
849
|
// gzipped; NULL while status='processing'
|
|
759
850
|
},
|
|
760
851
|
(table) => ({
|
|
852
|
+
tenantIdx: (0, import_pg_core.index)("serialized_sessions_tenant_id_idx").on(table.tenant_id),
|
|
761
853
|
sessionTurnIdx: (0, import_pg_core.index)("serialized_sessions_session_turn_idx").on(
|
|
762
854
|
table.session_id,
|
|
763
855
|
table.turn_index
|
|
@@ -768,6 +860,7 @@ var init_schema_postgres = __esm({
|
|
|
768
860
|
messages = (0, import_pg_core.pgTable)(
|
|
769
861
|
"messages",
|
|
770
862
|
{
|
|
863
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
771
864
|
// Primary identity
|
|
772
865
|
message_id: (0, import_pg_core.varchar)("message_id", { length: 36 }).primaryKey(),
|
|
773
866
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -807,15 +900,23 @@ var init_schema_postgres = __esm({
|
|
|
807
900
|
data: t.json("data").$type().notNull()
|
|
808
901
|
},
|
|
809
902
|
(table) => ({
|
|
903
|
+
tenantIdx: (0, import_pg_core.index)("messages_tenant_id_idx").on(table.tenant_id),
|
|
904
|
+
tenantTimestampIdx: (0, import_pg_core.index)("messages_tenant_timestamp_idx").on(table.tenant_id, table.timestamp),
|
|
810
905
|
// Indexes for efficient lookups
|
|
811
906
|
sessionIdx: (0, import_pg_core.index)("messages_session_id_idx").on(table.session_id),
|
|
812
907
|
taskIdx: (0, import_pg_core.index)("messages_task_id_idx").on(table.task_id),
|
|
813
|
-
sessionIndexIdx: (0, import_pg_core.index)("messages_session_index_idx").on(table.session_id, table.index)
|
|
908
|
+
sessionIndexIdx: (0, import_pg_core.index)("messages_session_index_idx").on(table.session_id, table.index),
|
|
909
|
+
timestampIdx: (0, import_pg_core.index)("messages_timestamp_idx").on(table.timestamp),
|
|
910
|
+
sessionTimestampIdx: (0, import_pg_core.index)("messages_session_timestamp_idx").on(
|
|
911
|
+
table.session_id,
|
|
912
|
+
table.timestamp
|
|
913
|
+
)
|
|
814
914
|
})
|
|
815
915
|
);
|
|
816
916
|
boards = (0, import_pg_core.pgTable)(
|
|
817
917
|
"boards",
|
|
818
918
|
{
|
|
919
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
819
920
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).primaryKey(),
|
|
820
921
|
created_at: t.timestamp("created_at").notNull(),
|
|
821
922
|
updated_at: t.timestamp("updated_at"),
|
|
@@ -823,7 +924,7 @@ var init_schema_postgres = __esm({
|
|
|
823
924
|
created_by: (0, import_pg_core.varchar)("created_by", { length: 36 }).notNull(),
|
|
824
925
|
// Materialized for lookups
|
|
825
926
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
826
|
-
slug: (0, import_pg_core.text)("slug")
|
|
927
|
+
slug: (0, import_pg_core.text)("slug"),
|
|
827
928
|
primary_assistant_id: (0, import_pg_core.varchar)("primary_assistant_id", { length: 36 }).references(
|
|
828
929
|
() => branches.branch_id,
|
|
829
930
|
{
|
|
@@ -838,18 +939,21 @@ var init_schema_postgres = __esm({
|
|
|
838
939
|
archived_by: (0, import_pg_core.varchar)("archived_by", { length: 36 })
|
|
839
940
|
},
|
|
840
941
|
(table) => ({
|
|
942
|
+
tenantIdx: (0, import_pg_core.index)("boards_tenant_id_idx").on(table.tenant_id),
|
|
841
943
|
nameIdx: (0, import_pg_core.index)("boards_name_idx").on(table.name),
|
|
842
|
-
slugIdx: (0, import_pg_core.index)("boards_slug_idx").on(table.slug)
|
|
944
|
+
slugIdx: (0, import_pg_core.index)("boards_slug_idx").on(table.slug),
|
|
945
|
+
slugTenantUnique: (0, import_pg_core.uniqueIndex)("boards_tenant_slug_unique").on(table.tenant_id, table.slug)
|
|
843
946
|
})
|
|
844
947
|
);
|
|
845
948
|
repos = (0, import_pg_core.pgTable)(
|
|
846
949
|
"repos",
|
|
847
950
|
{
|
|
951
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
848
952
|
repo_id: (0, import_pg_core.varchar)("repo_id", { length: 36 }).primaryKey(),
|
|
849
953
|
created_at: t.timestamp("created_at").notNull(),
|
|
850
954
|
updated_at: t.timestamp("updated_at"),
|
|
851
955
|
// Materialized for querying
|
|
852
|
-
slug: (0, import_pg_core.text)("slug").notNull()
|
|
956
|
+
slug: (0, import_pg_core.text)("slug").notNull(),
|
|
853
957
|
repo_type: (0, import_pg_core.text)("repo_type", { enum: ["remote", "local"] }).notNull().default("remote"),
|
|
854
958
|
// Unix group for repo-level git access (agor_rp_<short-id>)
|
|
855
959
|
// Users who have access to ANY branch in this repo get added to this group.
|
|
@@ -860,12 +964,15 @@ var init_schema_postgres = __esm({
|
|
|
860
964
|
data: t.json("data").$type().notNull()
|
|
861
965
|
},
|
|
862
966
|
(table) => ({
|
|
863
|
-
|
|
967
|
+
tenantIdx: (0, import_pg_core.index)("repos_tenant_id_idx").on(table.tenant_id),
|
|
968
|
+
slugIdx: (0, import_pg_core.index)("repos_slug_idx").on(table.slug),
|
|
969
|
+
slugTenantUnique: (0, import_pg_core.uniqueIndex)("repos_tenant_slug_unique").on(table.tenant_id, table.slug)
|
|
864
970
|
})
|
|
865
971
|
);
|
|
866
972
|
branches = (0, import_pg_core.pgTable)(
|
|
867
973
|
"branches",
|
|
868
974
|
{
|
|
975
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
869
976
|
// Primary identity
|
|
870
977
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).primaryKey(),
|
|
871
978
|
repo_id: (0, import_pg_core.varchar)("repo_id", { length: 36 }).notNull().references(() => repos.repo_id, { onDelete: "cascade" }),
|
|
@@ -940,6 +1047,7 @@ var init_schema_postgres = __esm({
|
|
|
940
1047
|
data: t.json("data").$type().notNull()
|
|
941
1048
|
},
|
|
942
1049
|
(table) => ({
|
|
1050
|
+
tenantIdx: (0, import_pg_core.index)("branches_tenant_id_idx").on(table.tenant_id),
|
|
943
1051
|
repoIdx: (0, import_pg_core.index)("branches_repo_idx").on(table.repo_id),
|
|
944
1052
|
nameIdx: (0, import_pg_core.index)("branches_name_idx").on(table.name),
|
|
945
1053
|
refIdx: (0, import_pg_core.index)("branches_ref_idx").on(table.ref),
|
|
@@ -953,22 +1061,26 @@ var init_schema_postgres = __esm({
|
|
|
953
1061
|
branchOwners = (0, import_pg_core.pgTable)(
|
|
954
1062
|
"branch_owners",
|
|
955
1063
|
{
|
|
1064
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
956
1065
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
957
1066
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
958
1067
|
created_at: t.timestamp("created_at").defaultNow()
|
|
959
1068
|
},
|
|
960
1069
|
(table) => ({
|
|
1070
|
+
tenantIdx: (0, import_pg_core.index)("branch_owners_tenant_id_idx").on(table.tenant_id),
|
|
961
1071
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.branch_id, table.user_id] })
|
|
962
1072
|
})
|
|
963
1073
|
);
|
|
964
1074
|
boardOwners = (0, import_pg_core.pgTable)(
|
|
965
1075
|
"board_owners",
|
|
966
1076
|
{
|
|
1077
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
967
1078
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
968
1079
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
969
1080
|
created_at: t.timestamp("created_at")
|
|
970
1081
|
},
|
|
971
1082
|
(table) => ({
|
|
1083
|
+
tenantIdx: (0, import_pg_core.index)("board_owners_tenant_id_idx").on(table.tenant_id),
|
|
972
1084
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.board_id, table.user_id] }),
|
|
973
1085
|
userIdx: (0, import_pg_core.index)("board_owners_user_idx").on(table.user_id)
|
|
974
1086
|
})
|
|
@@ -976,6 +1088,7 @@ var init_schema_postgres = __esm({
|
|
|
976
1088
|
schedules = (0, import_pg_core.pgTable)(
|
|
977
1089
|
"schedules",
|
|
978
1090
|
{
|
|
1091
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
979
1092
|
schedule_id: (0, import_pg_core.varchar)("schedule_id", { length: 36 }).primaryKey(),
|
|
980
1093
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
981
1094
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
@@ -999,6 +1112,7 @@ var init_schema_postgres = __esm({
|
|
|
999
1112
|
created_by: (0, import_pg_core.varchar)("created_by", { length: 36 }).notNull().references(() => users.user_id)
|
|
1000
1113
|
},
|
|
1001
1114
|
(table) => ({
|
|
1115
|
+
tenantIdx: (0, import_pg_core.index)("schedules_tenant_id_idx").on(table.tenant_id),
|
|
1002
1116
|
enabledNextRunIdx: (0, import_pg_core.index)("schedules_enabled_next_run_idx").on(table.enabled, table.next_run_at),
|
|
1003
1117
|
branchIdx: (0, import_pg_core.index)("schedules_branch_idx").on(table.branch_id),
|
|
1004
1118
|
createdByIdx: (0, import_pg_core.index)("schedules_created_by_idx").on(table.created_by)
|
|
@@ -1007,12 +1121,13 @@ var init_schema_postgres = __esm({
|
|
|
1007
1121
|
users = (0, import_pg_core.pgTable)(
|
|
1008
1122
|
"users",
|
|
1009
1123
|
{
|
|
1124
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1010
1125
|
// Primary identity
|
|
1011
1126
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).primaryKey(),
|
|
1012
1127
|
created_at: t.timestamp("created_at").notNull(),
|
|
1013
1128
|
updated_at: t.timestamp("updated_at"),
|
|
1014
1129
|
// Materialized for auth lookups
|
|
1015
|
-
email: (0, import_pg_core.text)("email").
|
|
1130
|
+
email: (0, import_pg_core.text)("email").notNull(),
|
|
1016
1131
|
password: (0, import_pg_core.text)("password").notNull(),
|
|
1017
1132
|
// bcrypt hashed
|
|
1018
1133
|
// Basic profile (materialized for display)
|
|
@@ -1028,16 +1143,22 @@ var init_schema_postgres = __esm({
|
|
|
1028
1143
|
onboarding_completed: t.bool("onboarding_completed").notNull().default(false),
|
|
1029
1144
|
// Force password change flag (admin-settable, auto-cleared on password change)
|
|
1030
1145
|
must_change_password: t.bool("must_change_password").notNull().default(false),
|
|
1146
|
+
// Auth invalidation marker. Password changes set this timestamp so any
|
|
1147
|
+
// previously issued browser access or refresh token is rejected.
|
|
1148
|
+
tokens_valid_after: t.timestamp("tokens_valid_after"),
|
|
1031
1149
|
// JSON blob for profile/preferences
|
|
1032
1150
|
data: t.json("data").$type().notNull()
|
|
1033
1151
|
},
|
|
1034
1152
|
(table) => ({
|
|
1035
|
-
|
|
1153
|
+
tenantIdx: (0, import_pg_core.index)("users_tenant_id_idx").on(table.tenant_id),
|
|
1154
|
+
emailIdx: (0, import_pg_core.index)("users_email_idx").on(table.email),
|
|
1155
|
+
emailTenantUnique: (0, import_pg_core.uniqueIndex)("users_tenant_email_unique").on(table.tenant_id, table.email)
|
|
1036
1156
|
})
|
|
1037
1157
|
);
|
|
1038
1158
|
groups = (0, import_pg_core.pgTable)(
|
|
1039
1159
|
"groups",
|
|
1040
1160
|
{
|
|
1161
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1041
1162
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).primaryKey(),
|
|
1042
1163
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
1043
1164
|
slug: (0, import_pg_core.text)("slug").notNull(),
|
|
@@ -1050,13 +1171,15 @@ var init_schema_postgres = __esm({
|
|
|
1050
1171
|
updated_at: t.timestamp("updated_at")
|
|
1051
1172
|
},
|
|
1052
1173
|
(table) => ({
|
|
1053
|
-
|
|
1174
|
+
tenantIdx: (0, import_pg_core.index)("groups_tenant_id_idx").on(table.tenant_id),
|
|
1175
|
+
slugIdx: (0, import_pg_core.uniqueIndex)("groups_tenant_slug_unique").on(table.tenant_id, table.slug),
|
|
1054
1176
|
archivedIdx: (0, import_pg_core.index)("groups_archived_idx").on(table.archived)
|
|
1055
1177
|
})
|
|
1056
1178
|
);
|
|
1057
1179
|
groupMemberships = (0, import_pg_core.pgTable)(
|
|
1058
1180
|
"group_memberships",
|
|
1059
1181
|
{
|
|
1182
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1060
1183
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
1061
1184
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1062
1185
|
added_by: (0, import_pg_core.varchar)("added_by", { length: 36 }).references(() => users.user_id, {
|
|
@@ -1065,6 +1188,7 @@ var init_schema_postgres = __esm({
|
|
|
1065
1188
|
created_at: t.timestamp("created_at").notNull()
|
|
1066
1189
|
},
|
|
1067
1190
|
(table) => ({
|
|
1191
|
+
tenantIdx: (0, import_pg_core.index)("group_memberships_tenant_id_idx").on(table.tenant_id),
|
|
1068
1192
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.group_id, table.user_id] }),
|
|
1069
1193
|
userIdx: (0, import_pg_core.index)("group_memberships_user_idx").on(table.user_id)
|
|
1070
1194
|
})
|
|
@@ -1072,6 +1196,7 @@ var init_schema_postgres = __esm({
|
|
|
1072
1196
|
branchGroupGrants = (0, import_pg_core.pgTable)(
|
|
1073
1197
|
"branch_group_grants",
|
|
1074
1198
|
{
|
|
1199
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1075
1200
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1076
1201
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
1077
1202
|
can: (0, import_pg_core.text)("can", { enum: [...BRANCH_PERMISSION_LEVELS] }).notNull().default("view"),
|
|
@@ -1083,6 +1208,7 @@ var init_schema_postgres = __esm({
|
|
|
1083
1208
|
updated_at: t.timestamp("updated_at")
|
|
1084
1209
|
},
|
|
1085
1210
|
(table) => ({
|
|
1211
|
+
tenantIdx: (0, import_pg_core.index)("branch_group_grants_tenant_id_idx").on(table.tenant_id),
|
|
1086
1212
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.branch_id, table.group_id] }),
|
|
1087
1213
|
groupIdx: (0, import_pg_core.index)("branch_group_grants_group_idx").on(table.group_id)
|
|
1088
1214
|
})
|
|
@@ -1090,6 +1216,7 @@ var init_schema_postgres = __esm({
|
|
|
1090
1216
|
boardGroupGrants = (0, import_pg_core.pgTable)(
|
|
1091
1217
|
"board_group_grants",
|
|
1092
1218
|
{
|
|
1219
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1093
1220
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
1094
1221
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
1095
1222
|
can: (0, import_pg_core.text)("can", { enum: [...BRANCH_PERMISSION_LEVELS] }).notNull().default("view"),
|
|
@@ -1101,6 +1228,7 @@ var init_schema_postgres = __esm({
|
|
|
1101
1228
|
updated_at: t.timestamp("updated_at")
|
|
1102
1229
|
},
|
|
1103
1230
|
(table) => ({
|
|
1231
|
+
tenantIdx: (0, import_pg_core.index)("board_group_grants_tenant_id_idx").on(table.tenant_id),
|
|
1104
1232
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.board_id, table.group_id] }),
|
|
1105
1233
|
groupIdx: (0, import_pg_core.index)("board_group_grants_group_idx").on(table.group_id)
|
|
1106
1234
|
})
|
|
@@ -1108,6 +1236,7 @@ var init_schema_postgres = __esm({
|
|
|
1108
1236
|
appVariables = (0, import_pg_core.pgTable)(
|
|
1109
1237
|
"app_variables",
|
|
1110
1238
|
{
|
|
1239
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1111
1240
|
variable_id: (0, import_pg_core.varchar)("variable_id", { length: 36 }).primaryKey(),
|
|
1112
1241
|
namespace: (0, import_pg_core.text)("namespace").notNull(),
|
|
1113
1242
|
key: (0, import_pg_core.text)("key").notNull(),
|
|
@@ -1123,13 +1252,19 @@ var init_schema_postgres = __esm({
|
|
|
1123
1252
|
updated_at: t.timestamp("updated_at").notNull()
|
|
1124
1253
|
},
|
|
1125
1254
|
(table) => ({
|
|
1126
|
-
|
|
1255
|
+
tenantIdx: (0, import_pg_core.index)("app_variables_tenant_id_idx").on(table.tenant_id),
|
|
1256
|
+
namespaceKeyIdx: (0, import_pg_core.uniqueIndex)("app_variables_tenant_namespace_key_unique").on(
|
|
1257
|
+
table.tenant_id,
|
|
1258
|
+
table.namespace,
|
|
1259
|
+
table.key
|
|
1260
|
+
),
|
|
1127
1261
|
namespaceIdx: (0, import_pg_core.index)("app_variables_namespace_idx").on(table.namespace)
|
|
1128
1262
|
})
|
|
1129
1263
|
);
|
|
1130
1264
|
userApiKeys = (0, import_pg_core.pgTable)(
|
|
1131
1265
|
"user_api_keys",
|
|
1132
1266
|
{
|
|
1267
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1133
1268
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1134
1269
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1135
1270
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
@@ -1141,6 +1276,7 @@ var init_schema_postgres = __esm({
|
|
|
1141
1276
|
last_used_at: t.timestamp("last_used_at")
|
|
1142
1277
|
},
|
|
1143
1278
|
(table) => ({
|
|
1279
|
+
tenantIdx: (0, import_pg_core.index)("user_api_keys_tenant_id_idx").on(table.tenant_id),
|
|
1144
1280
|
userIdx: (0, import_pg_core.index)("user_api_keys_user_idx").on(table.user_id),
|
|
1145
1281
|
prefixIdx: (0, import_pg_core.index)("user_api_keys_prefix_idx").on(table.prefix)
|
|
1146
1282
|
})
|
|
@@ -1148,6 +1284,7 @@ var init_schema_postgres = __esm({
|
|
|
1148
1284
|
mcpServers = (0, import_pg_core.pgTable)(
|
|
1149
1285
|
"mcp_servers",
|
|
1150
1286
|
{
|
|
1287
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1151
1288
|
// Primary identity
|
|
1152
1289
|
mcp_server_id: (0, import_pg_core.varchar)("mcp_server_id", { length: 36 }).primaryKey(),
|
|
1153
1290
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1174,6 +1311,7 @@ var init_schema_postgres = __esm({
|
|
|
1174
1311
|
data: t.json("data").$type().notNull()
|
|
1175
1312
|
},
|
|
1176
1313
|
(table) => ({
|
|
1314
|
+
tenantIdx: (0, import_pg_core.index)("mcp_servers_tenant_id_idx").on(table.tenant_id),
|
|
1177
1315
|
nameIdx: (0, import_pg_core.index)("mcp_servers_name_idx").on(table.name),
|
|
1178
1316
|
scopeIdx: (0, import_pg_core.index)("mcp_servers_scope_idx").on(table.scope),
|
|
1179
1317
|
ownerIdx: (0, import_pg_core.index)("mcp_servers_owner_idx").on(table.owner_user_id),
|
|
@@ -1183,6 +1321,7 @@ var init_schema_postgres = __esm({
|
|
|
1183
1321
|
cardTypes = (0, import_pg_core.pgTable)(
|
|
1184
1322
|
"card_types",
|
|
1185
1323
|
{
|
|
1324
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1186
1325
|
card_type_id: (0, import_pg_core.varchar)("card_type_id", { length: 36 }).primaryKey(),
|
|
1187
1326
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
1188
1327
|
emoji: (0, import_pg_core.text)("emoji"),
|
|
@@ -1194,12 +1333,14 @@ var init_schema_postgres = __esm({
|
|
|
1194
1333
|
updated_at: t.timestamp("updated_at").notNull()
|
|
1195
1334
|
},
|
|
1196
1335
|
(table) => ({
|
|
1336
|
+
tenantIdx: (0, import_pg_core.index)("card_types_tenant_id_idx").on(table.tenant_id),
|
|
1197
1337
|
nameIdx: (0, import_pg_core.index)("card_types_name_idx").on(table.name)
|
|
1198
1338
|
})
|
|
1199
1339
|
);
|
|
1200
1340
|
cards = (0, import_pg_core.pgTable)(
|
|
1201
1341
|
"cards",
|
|
1202
1342
|
{
|
|
1343
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1203
1344
|
card_id: (0, import_pg_core.varchar)("card_id", { length: 36 }).primaryKey(),
|
|
1204
1345
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
1205
1346
|
card_type_id: (0, import_pg_core.varchar)("card_type_id", { length: 36 }).references(() => cardTypes.card_type_id, {
|
|
@@ -1220,6 +1361,7 @@ var init_schema_postgres = __esm({
|
|
|
1220
1361
|
archived_at: t.timestamp("archived_at")
|
|
1221
1362
|
},
|
|
1222
1363
|
(table) => ({
|
|
1364
|
+
tenantIdx: (0, import_pg_core.index)("cards_tenant_id_idx").on(table.tenant_id),
|
|
1223
1365
|
boardIdx: (0, import_pg_core.index)("cards_board_idx").on(table.board_id),
|
|
1224
1366
|
cardTypeIdx: (0, import_pg_core.index)("cards_card_type_idx").on(table.card_type_id),
|
|
1225
1367
|
titleIdx: (0, import_pg_core.index)("cards_title_idx").on(table.title),
|
|
@@ -1230,6 +1372,7 @@ var init_schema_postgres = __esm({
|
|
|
1230
1372
|
artifacts = (0, import_pg_core.pgTable)(
|
|
1231
1373
|
"artifacts",
|
|
1232
1374
|
{
|
|
1375
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1233
1376
|
artifact_id: (0, import_pg_core.varchar)("artifact_id", { length: 36 }).primaryKey(),
|
|
1234
1377
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).references(() => branches.branch_id, {
|
|
1235
1378
|
onDelete: "set null"
|
|
@@ -1265,6 +1408,7 @@ var init_schema_postgres = __esm({
|
|
|
1265
1408
|
archived_at: t.timestamp("archived_at")
|
|
1266
1409
|
},
|
|
1267
1410
|
(table) => ({
|
|
1411
|
+
tenantIdx: (0, import_pg_core.index)("artifacts_tenant_id_idx").on(table.tenant_id),
|
|
1268
1412
|
branchIdx: (0, import_pg_core.index)("artifacts_branch_idx").on(table.branch_id),
|
|
1269
1413
|
sourceSessionIdx: (0, import_pg_core.index)("artifacts_source_session_idx").on(table.source_session_id),
|
|
1270
1414
|
boardIdx: (0, import_pg_core.index)("artifacts_board_idx").on(table.board_id),
|
|
@@ -1275,6 +1419,7 @@ var init_schema_postgres = __esm({
|
|
|
1275
1419
|
artifactTrustGrants = (0, import_pg_core.pgTable)(
|
|
1276
1420
|
"artifact_trust_grants",
|
|
1277
1421
|
{
|
|
1422
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1278
1423
|
grant_id: (0, import_pg_core.varchar)("grant_id", { length: 36 }).primaryKey(),
|
|
1279
1424
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull(),
|
|
1280
1425
|
scope_type: (0, import_pg_core.text)("scope_type").notNull(),
|
|
@@ -1285,6 +1430,7 @@ var init_schema_postgres = __esm({
|
|
|
1285
1430
|
revoked_at: t.timestamp("revoked_at")
|
|
1286
1431
|
},
|
|
1287
1432
|
(table) => ({
|
|
1433
|
+
tenantIdx: (0, import_pg_core.index)("artifact_trust_grants_tenant_id_idx").on(table.tenant_id),
|
|
1288
1434
|
userIdx: (0, import_pg_core.index)("artifact_trust_grants_user_idx").on(table.user_id),
|
|
1289
1435
|
scopeIdx: (0, import_pg_core.index)("artifact_trust_grants_scope_idx").on(table.scope_type, table.scope_value)
|
|
1290
1436
|
})
|
|
@@ -1292,6 +1438,7 @@ var init_schema_postgres = __esm({
|
|
|
1292
1438
|
boardObjects = (0, import_pg_core.pgTable)(
|
|
1293
1439
|
"board_objects",
|
|
1294
1440
|
{
|
|
1441
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1295
1442
|
// Primary identity
|
|
1296
1443
|
object_id: (0, import_pg_core.varchar)("object_id", { length: 36 }).primaryKey(),
|
|
1297
1444
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
@@ -1307,6 +1454,7 @@ var init_schema_postgres = __esm({
|
|
|
1307
1454
|
data: t.json("data").$type().notNull()
|
|
1308
1455
|
},
|
|
1309
1456
|
(table) => ({
|
|
1457
|
+
tenantIdx: (0, import_pg_core.index)("board_objects_tenant_id_idx").on(table.tenant_id),
|
|
1310
1458
|
boardIdx: (0, import_pg_core.index)("board_objects_board_idx").on(table.board_id),
|
|
1311
1459
|
branchIdx: (0, import_pg_core.index)("board_objects_branch_idx").on(table.branch_id),
|
|
1312
1460
|
cardIdx: (0, import_pg_core.index)("board_objects_card_idx").on(table.card_id)
|
|
@@ -1315,12 +1463,14 @@ var init_schema_postgres = __esm({
|
|
|
1315
1463
|
sessionMcpServers = (0, import_pg_core.pgTable)(
|
|
1316
1464
|
"session_mcp_servers",
|
|
1317
1465
|
{
|
|
1466
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1318
1467
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
1319
1468
|
mcp_server_id: (0, import_pg_core.varchar)("mcp_server_id", { length: 36 }).notNull().references(() => mcpServers.mcp_server_id, { onDelete: "cascade" }),
|
|
1320
1469
|
enabled: t.bool("enabled").notNull().default(true),
|
|
1321
1470
|
added_at: t.timestamp("added_at").notNull()
|
|
1322
1471
|
},
|
|
1323
1472
|
(table) => ({
|
|
1473
|
+
tenantIdx: (0, import_pg_core.index)("session_mcp_servers_tenant_id_idx").on(table.tenant_id),
|
|
1324
1474
|
// Composite primary key
|
|
1325
1475
|
pk: (0, import_pg_core.index)("session_mcp_servers_pk").on(table.session_id, table.mcp_server_id),
|
|
1326
1476
|
// Indexes for queries
|
|
@@ -1332,6 +1482,7 @@ var init_schema_postgres = __esm({
|
|
|
1332
1482
|
userMcpOauthTokens = (0, import_pg_core.pgTable)(
|
|
1333
1483
|
"user_mcp_oauth_tokens",
|
|
1334
1484
|
{
|
|
1485
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1335
1486
|
// NULL = shared-mode token (one per mcp_server_id)
|
|
1336
1487
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).references(() => users.user_id, {
|
|
1337
1488
|
onDelete: "cascade"
|
|
@@ -1349,6 +1500,7 @@ var init_schema_postgres = __esm({
|
|
|
1349
1500
|
updated_at: t.timestamp("updated_at")
|
|
1350
1501
|
},
|
|
1351
1502
|
(table) => ({
|
|
1503
|
+
tenantIdx: (0, import_pg_core.index)("user_mcp_oauth_tokens_tenant_id_idx").on(table.tenant_id),
|
|
1352
1504
|
// Composite lookup indexes. Uniqueness enforced via partial unique indexes
|
|
1353
1505
|
// created in the migration (one for per-user rows, one for the shared row).
|
|
1354
1506
|
pk: (0, import_pg_core.index)("user_mcp_oauth_tokens_pk").on(table.user_id, table.mcp_server_id),
|
|
@@ -1359,6 +1511,7 @@ var init_schema_postgres = __esm({
|
|
|
1359
1511
|
boardComments = (0, import_pg_core.pgTable)(
|
|
1360
1512
|
"board_comments",
|
|
1361
1513
|
{
|
|
1514
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1362
1515
|
// Primary identity
|
|
1363
1516
|
comment_id: (0, import_pg_core.varchar)("comment_id", { length: 36 }).primaryKey(),
|
|
1364
1517
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1400,6 +1553,7 @@ var init_schema_postgres = __esm({
|
|
|
1400
1553
|
data: t.json("data").$type().notNull()
|
|
1401
1554
|
},
|
|
1402
1555
|
(table) => ({
|
|
1556
|
+
tenantIdx: (0, import_pg_core.index)("board_comments_tenant_id_idx").on(table.tenant_id),
|
|
1403
1557
|
boardIdx: (0, import_pg_core.index)("board_comments_board_idx").on(table.board_id),
|
|
1404
1558
|
sessionIdx: (0, import_pg_core.index)("board_comments_session_idx").on(table.session_id),
|
|
1405
1559
|
taskIdx: (0, import_pg_core.index)("board_comments_task_idx").on(table.task_id),
|
|
@@ -1414,6 +1568,7 @@ var init_schema_postgres = __esm({
|
|
|
1414
1568
|
gatewayChannels = (0, import_pg_core.pgTable)(
|
|
1415
1569
|
"gateway_channels",
|
|
1416
1570
|
{
|
|
1571
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1417
1572
|
// Primary identity
|
|
1418
1573
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1419
1574
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1427,7 +1582,7 @@ var init_schema_postgres = __esm({
|
|
|
1427
1582
|
}).notNull(),
|
|
1428
1583
|
target_branch_id: (0, import_pg_core.varchar)("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1429
1584
|
agor_user_id: (0, import_pg_core.varchar)("agor_user_id", { length: 36 }).notNull(),
|
|
1430
|
-
channel_key: (0, import_pg_core.text)("channel_key").notNull()
|
|
1585
|
+
channel_key: (0, import_pg_core.text)("channel_key").notNull(),
|
|
1431
1586
|
enabled: t.bool("enabled").notNull().default(true),
|
|
1432
1587
|
last_message_at: t.timestamp("last_message_at"),
|
|
1433
1588
|
// JSON blob for platform credentials (encrypted at rest)
|
|
@@ -1436,13 +1591,19 @@ var init_schema_postgres = __esm({
|
|
|
1436
1591
|
agentic_config: t.json("agentic_config")
|
|
1437
1592
|
},
|
|
1438
1593
|
(table) => ({
|
|
1594
|
+
tenantIdx: (0, import_pg_core.index)("gateway_channels_tenant_id_idx").on(table.tenant_id),
|
|
1439
1595
|
channelKeyIdx: (0, import_pg_core.index)("idx_gateway_channel_key").on(table.channel_key),
|
|
1596
|
+
channelKeyTenantUnique: (0, import_pg_core.uniqueIndex)("gateway_channels_tenant_channel_key_unique").on(
|
|
1597
|
+
table.tenant_id,
|
|
1598
|
+
table.channel_key
|
|
1599
|
+
),
|
|
1440
1600
|
enabledTypeIdx: (0, import_pg_core.index)("idx_gateway_enabled_type").on(table.enabled, table.channel_type)
|
|
1441
1601
|
})
|
|
1442
1602
|
);
|
|
1443
1603
|
threadSessionMap = (0, import_pg_core.pgTable)(
|
|
1444
1604
|
"thread_session_map",
|
|
1445
1605
|
{
|
|
1606
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1446
1607
|
// Primary identity
|
|
1447
1608
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1448
1609
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1460,7 +1621,9 @@ var init_schema_postgres = __esm({
|
|
|
1460
1621
|
metadata: t.json("metadata")
|
|
1461
1622
|
},
|
|
1462
1623
|
(table) => ({
|
|
1463
|
-
|
|
1624
|
+
tenantIdx: (0, import_pg_core.index)("thread_session_map_tenant_id_idx").on(table.tenant_id),
|
|
1625
|
+
uniqueChannelThread: (0, import_pg_core.uniqueIndex)("uniq_thread_map_tenant_channel_thread").on(
|
|
1626
|
+
table.tenant_id,
|
|
1464
1627
|
table.channel_id,
|
|
1465
1628
|
table.thread_id
|
|
1466
1629
|
),
|
|
@@ -1469,14 +1632,82 @@ var init_schema_postgres = __esm({
|
|
|
1469
1632
|
channelStatusIdx: (0, import_pg_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
1470
1633
|
})
|
|
1471
1634
|
);
|
|
1635
|
+
gatewayOutboundMessages = (0, import_pg_core.pgTable)(
|
|
1636
|
+
"gateway_outbound_messages",
|
|
1637
|
+
{
|
|
1638
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1639
|
+
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1640
|
+
created_at: t.timestamp("created_at").notNull(),
|
|
1641
|
+
updated_at: t.timestamp("updated_at").notNull(),
|
|
1642
|
+
gateway_channel_id: (0, import_pg_core.varchar)("gateway_channel_id", { length: 36 }).notNull().references(() => gatewayChannels.id, { onDelete: "cascade" }),
|
|
1643
|
+
channel_type: (0, import_pg_core.text)("channel_type", {
|
|
1644
|
+
enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
|
|
1645
|
+
}).notNull(),
|
|
1646
|
+
platform_channel_id: (0, import_pg_core.text)("platform_channel_id").notNull(),
|
|
1647
|
+
platform_message_id: (0, import_pg_core.text)("platform_message_id").notNull(),
|
|
1648
|
+
platform_thread_id: (0, import_pg_core.text)("platform_thread_id").notNull(),
|
|
1649
|
+
platform_permalink: (0, import_pg_core.text)("platform_permalink"),
|
|
1650
|
+
target_branch_id: (0, import_pg_core.varchar)("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id),
|
|
1651
|
+
emitted_by_user_id: (0, import_pg_core.varchar)("emitted_by_user_id", { length: 36 }).notNull().references(() => users.user_id),
|
|
1652
|
+
emitted_by_session_id: (0, import_pg_core.varchar)("emitted_by_session_id", { length: 36 }).references(
|
|
1653
|
+
() => sessions.session_id,
|
|
1654
|
+
{
|
|
1655
|
+
onDelete: "set null"
|
|
1656
|
+
}
|
|
1657
|
+
),
|
|
1658
|
+
emitted_by_task_id: (0, import_pg_core.varchar)("emitted_by_task_id", { length: 36 }).references(
|
|
1659
|
+
() => tasks.task_id,
|
|
1660
|
+
{
|
|
1661
|
+
onDelete: "set null"
|
|
1662
|
+
}
|
|
1663
|
+
),
|
|
1664
|
+
emitted_by_schedule_id: (0, import_pg_core.varchar)("emitted_by_schedule_id", { length: 36 }).references(
|
|
1665
|
+
() => schedules.schedule_id,
|
|
1666
|
+
{
|
|
1667
|
+
onDelete: "set null"
|
|
1668
|
+
}
|
|
1669
|
+
),
|
|
1670
|
+
message_text: (0, import_pg_core.text)("message_text").notNull(),
|
|
1671
|
+
message_preview: (0, import_pg_core.text)("message_preview").notNull(),
|
|
1672
|
+
metadata: t.json("metadata"),
|
|
1673
|
+
consumed_by_session_id: (0, import_pg_core.varchar)("consumed_by_session_id", { length: 36 }).references(
|
|
1674
|
+
() => sessions.session_id,
|
|
1675
|
+
{
|
|
1676
|
+
onDelete: "set null"
|
|
1677
|
+
}
|
|
1678
|
+
),
|
|
1679
|
+
consumed_at: t.timestamp("consumed_at")
|
|
1680
|
+
},
|
|
1681
|
+
(table) => ({
|
|
1682
|
+
tenantIdx: (0, import_pg_core.index)("gateway_outbound_messages_tenant_id_idx").on(table.tenant_id),
|
|
1683
|
+
uniqueChannelThread: (0, import_pg_core.uniqueIndex)("uniq_gateway_outbound_tenant_channel_thread").on(
|
|
1684
|
+
table.tenant_id,
|
|
1685
|
+
table.gateway_channel_id,
|
|
1686
|
+
table.platform_thread_id
|
|
1687
|
+
),
|
|
1688
|
+
emittedSessionIdx: (0, import_pg_core.index)("idx_gateway_outbound_emitted_session").on(
|
|
1689
|
+
table.emitted_by_session_id
|
|
1690
|
+
),
|
|
1691
|
+
emittedScheduleIdx: (0, import_pg_core.index)("idx_gateway_outbound_emitted_schedule").on(
|
|
1692
|
+
table.emitted_by_schedule_id
|
|
1693
|
+
),
|
|
1694
|
+
targetBranchCreatedIdx: (0, import_pg_core.index)("idx_gateway_outbound_branch_created").on(
|
|
1695
|
+
table.target_branch_id,
|
|
1696
|
+
table.created_at
|
|
1697
|
+
),
|
|
1698
|
+
consumedIdx: (0, import_pg_core.index)("idx_gateway_outbound_consumed").on(table.consumed_at)
|
|
1699
|
+
})
|
|
1700
|
+
);
|
|
1472
1701
|
sessionEnvSelections = (0, import_pg_core.pgTable)(
|
|
1473
1702
|
"session_env_selections",
|
|
1474
1703
|
{
|
|
1704
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1475
1705
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
1476
1706
|
env_var_name: (0, import_pg_core.text)("env_var_name").notNull(),
|
|
1477
1707
|
created_at: t.timestamp("created_at").notNull()
|
|
1478
1708
|
},
|
|
1479
1709
|
(table) => ({
|
|
1710
|
+
tenantIdx: (0, import_pg_core.index)("session_env_selections_tenant_id_idx").on(table.tenant_id),
|
|
1480
1711
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.session_id, table.env_var_name] }),
|
|
1481
1712
|
sessionIdx: (0, import_pg_core.index)("session_env_selections_session_idx").on(table.session_id)
|
|
1482
1713
|
})
|
|
@@ -1484,6 +1715,7 @@ var init_schema_postgres = __esm({
|
|
|
1484
1715
|
kbNamespaces = (0, import_pg_core.pgTable)(
|
|
1485
1716
|
"kb_namespaces",
|
|
1486
1717
|
{
|
|
1718
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1487
1719
|
namespace_id: (0, import_pg_core.varchar)("namespace_id", { length: 36 }).primaryKey(),
|
|
1488
1720
|
slug: (0, import_pg_core.text)("slug").notNull(),
|
|
1489
1721
|
display_name: (0, import_pg_core.text)("display_name").notNull(),
|
|
@@ -1510,7 +1742,8 @@ var init_schema_postgres = __esm({
|
|
|
1510
1742
|
archived_at: t.timestamp("archived_at")
|
|
1511
1743
|
},
|
|
1512
1744
|
(table) => ({
|
|
1513
|
-
|
|
1745
|
+
tenantIdx: (0, import_pg_core.index)("kb_namespaces_tenant_id_idx").on(table.tenant_id),
|
|
1746
|
+
slugIdx: (0, import_pg_core.uniqueIndex)("kb_namespaces_tenant_slug_unique").on(table.tenant_id, table.slug).where(import_drizzle_orm2.sql`${table.archived} = false`),
|
|
1514
1747
|
kindIdx: (0, import_pg_core.index)("kb_namespaces_kind_idx").on(table.kind),
|
|
1515
1748
|
ownerIdx: (0, import_pg_core.index)("kb_namespaces_owner_idx").on(table.owner_user_id),
|
|
1516
1749
|
repoIdx: (0, import_pg_core.index)("kb_namespaces_repo_idx").on(table.repo_id),
|
|
@@ -1521,6 +1754,7 @@ var init_schema_postgres = __esm({
|
|
|
1521
1754
|
kbNamespaceAcl = (0, import_pg_core.pgTable)(
|
|
1522
1755
|
"kb_namespace_acl",
|
|
1523
1756
|
{
|
|
1757
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1524
1758
|
namespace_acl_id: (0, import_pg_core.varchar)("namespace_acl_id", { length: 36 }).primaryKey(),
|
|
1525
1759
|
namespace_id: (0, import_pg_core.varchar)("namespace_id", { length: 36 }).notNull().references(() => kbNamespaces.namespace_id, { onDelete: "cascade" }),
|
|
1526
1760
|
subject_type: (0, import_pg_core.text)("subject_type", { enum: ["user", "group"] }).notNull(),
|
|
@@ -1533,9 +1767,11 @@ var init_schema_postgres = __esm({
|
|
|
1533
1767
|
updated_at: t.timestamp("updated_at")
|
|
1534
1768
|
},
|
|
1535
1769
|
(table) => ({
|
|
1770
|
+
tenantIdx: (0, import_pg_core.index)("kb_namespace_acl_tenant_id_idx").on(table.tenant_id),
|
|
1536
1771
|
namespaceIdx: (0, import_pg_core.index)("kb_namespace_acl_namespace_idx").on(table.namespace_id),
|
|
1537
1772
|
subjectIdx: (0, import_pg_core.index)("kb_namespace_acl_subject_idx").on(table.subject_type, table.subject_id),
|
|
1538
|
-
namespaceSubjectIdx: (0, import_pg_core.uniqueIndex)("
|
|
1773
|
+
namespaceSubjectIdx: (0, import_pg_core.uniqueIndex)("kb_namespace_acl_tenant_namespace_subject_unique").on(
|
|
1774
|
+
table.tenant_id,
|
|
1539
1775
|
table.namespace_id,
|
|
1540
1776
|
table.subject_type,
|
|
1541
1777
|
table.subject_id
|
|
@@ -1545,6 +1781,7 @@ var init_schema_postgres = __esm({
|
|
|
1545
1781
|
kbDocuments = (0, import_pg_core.pgTable)(
|
|
1546
1782
|
"kb_documents",
|
|
1547
1783
|
{
|
|
1784
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1548
1785
|
document_id: (0, import_pg_core.varchar)("document_id", { length: 36 }).primaryKey(),
|
|
1549
1786
|
namespace_id: (0, import_pg_core.varchar)("namespace_id", { length: 36 }).notNull().references(() => kbNamespaces.namespace_id, { onDelete: "cascade" }),
|
|
1550
1787
|
path: (0, import_pg_core.text)("path").notNull(),
|
|
@@ -1572,8 +1809,9 @@ var init_schema_postgres = __esm({
|
|
|
1572
1809
|
archived_at: t.timestamp("archived_at")
|
|
1573
1810
|
},
|
|
1574
1811
|
(table) => ({
|
|
1575
|
-
|
|
1576
|
-
|
|
1812
|
+
tenantIdx: (0, import_pg_core.index)("kb_documents_tenant_id_idx").on(table.tenant_id),
|
|
1813
|
+
namespacePathIdx: (0, import_pg_core.uniqueIndex)("kb_documents_tenant_namespace_path_unique").on(table.tenant_id, table.namespace_id, table.path).where(import_drizzle_orm2.sql`${table.archived} = false`),
|
|
1814
|
+
uriIdx: (0, import_pg_core.uniqueIndex)("kb_documents_tenant_uri_unique").on(table.tenant_id, table.uri).where(import_drizzle_orm2.sql`${table.archived} = false`),
|
|
1577
1815
|
namespaceIdx: (0, import_pg_core.index)("kb_documents_namespace_idx").on(table.namespace_id),
|
|
1578
1816
|
kindIdx: (0, import_pg_core.index)("kb_documents_kind_idx").on(table.kind),
|
|
1579
1817
|
visibilityIdx: (0, import_pg_core.index)("kb_documents_visibility_idx").on(table.visibility),
|
|
@@ -1586,6 +1824,7 @@ var init_schema_postgres = __esm({
|
|
|
1586
1824
|
kbDocumentVersions = (0, import_pg_core.pgTable)(
|
|
1587
1825
|
"kb_document_versions",
|
|
1588
1826
|
{
|
|
1827
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1589
1828
|
version_id: (0, import_pg_core.varchar)("version_id", { length: 36 }).primaryKey(),
|
|
1590
1829
|
document_id: (0, import_pg_core.varchar)("document_id", { length: 36 }).notNull().references(() => kbDocuments.document_id, { onDelete: "cascade" }),
|
|
1591
1830
|
version_number: (0, import_pg_core.integer)("version_number").notNull(),
|
|
@@ -1605,7 +1844,9 @@ var init_schema_postgres = __esm({
|
|
|
1605
1844
|
created_at: t.timestamp("created_at").notNull()
|
|
1606
1845
|
},
|
|
1607
1846
|
(table) => ({
|
|
1608
|
-
|
|
1847
|
+
tenantIdx: (0, import_pg_core.index)("kb_document_versions_tenant_id_idx").on(table.tenant_id),
|
|
1848
|
+
documentVersionIdx: (0, import_pg_core.uniqueIndex)("kb_document_versions_tenant_document_version_unique").on(
|
|
1849
|
+
table.tenant_id,
|
|
1609
1850
|
table.document_id,
|
|
1610
1851
|
table.version_number
|
|
1611
1852
|
),
|
|
@@ -1617,6 +1858,7 @@ var init_schema_postgres = __esm({
|
|
|
1617
1858
|
kbDocumentUnits = (0, import_pg_core.pgTable)(
|
|
1618
1859
|
"kb_document_units",
|
|
1619
1860
|
{
|
|
1861
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1620
1862
|
unit_id: (0, import_pg_core.varchar)("unit_id", { length: 36 }).primaryKey(),
|
|
1621
1863
|
document_id: (0, import_pg_core.varchar)("document_id", { length: 36 }).notNull().references(() => kbDocuments.document_id, { onDelete: "cascade" }),
|
|
1622
1864
|
version_id: (0, import_pg_core.varchar)("version_id", { length: 36 }).notNull().references(() => kbDocumentVersions.version_id, { onDelete: "cascade" }),
|
|
@@ -1641,6 +1883,7 @@ var init_schema_postgres = __esm({
|
|
|
1641
1883
|
updated_at: t.timestamp("updated_at")
|
|
1642
1884
|
},
|
|
1643
1885
|
(table) => ({
|
|
1886
|
+
tenantIdx: (0, import_pg_core.index)("kb_document_units_tenant_id_idx").on(table.tenant_id),
|
|
1644
1887
|
documentIdx: (0, import_pg_core.index)("kb_document_units_document_idx").on(table.document_id),
|
|
1645
1888
|
versionIdx: (0, import_pg_core.index)("kb_document_units_version_idx").on(table.version_id),
|
|
1646
1889
|
versionOrdinalIdx: (0, import_pg_core.index)("kb_document_units_version_ordinal_idx").on(
|
|
@@ -1654,6 +1897,7 @@ var init_schema_postgres = __esm({
|
|
|
1654
1897
|
kbEmbeddingSpaces = (0, import_pg_core.pgTable)(
|
|
1655
1898
|
"kb_embedding_spaces",
|
|
1656
1899
|
{
|
|
1900
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1657
1901
|
embedding_space_id: (0, import_pg_core.varchar)("embedding_space_id", { length: 36 }).primaryKey(),
|
|
1658
1902
|
provider: (0, import_pg_core.text)("provider").notNull(),
|
|
1659
1903
|
model: (0, import_pg_core.text)("model").notNull(),
|
|
@@ -1666,7 +1910,9 @@ var init_schema_postgres = __esm({
|
|
|
1666
1910
|
updated_at: t.timestamp("updated_at")
|
|
1667
1911
|
},
|
|
1668
1912
|
(table) => ({
|
|
1669
|
-
|
|
1913
|
+
tenantIdx: (0, import_pg_core.index)("kb_embedding_spaces_tenant_id_idx").on(table.tenant_id),
|
|
1914
|
+
providerModelIdx: (0, import_pg_core.uniqueIndex)("kb_embedding_spaces_tenant_provider_model_unique").on(
|
|
1915
|
+
table.tenant_id,
|
|
1670
1916
|
table.provider,
|
|
1671
1917
|
table.model,
|
|
1672
1918
|
table.dimensions,
|
|
@@ -1679,6 +1925,7 @@ var init_schema_postgres = __esm({
|
|
|
1679
1925
|
kbGraphNodes = (0, import_pg_core.pgTable)(
|
|
1680
1926
|
"kb_graph_nodes",
|
|
1681
1927
|
{
|
|
1928
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1682
1929
|
node_id: (0, import_pg_core.varchar)("node_id", { length: 36 }).primaryKey(),
|
|
1683
1930
|
node_type: (0, import_pg_core.text)("node_type", {
|
|
1684
1931
|
enum: [
|
|
@@ -1744,7 +1991,8 @@ var init_schema_postgres = __esm({
|
|
|
1744
1991
|
archived_at: t.timestamp("archived_at")
|
|
1745
1992
|
},
|
|
1746
1993
|
(table) => ({
|
|
1747
|
-
|
|
1994
|
+
tenantIdx: (0, import_pg_core.index)("kb_graph_nodes_tenant_id_idx").on(table.tenant_id),
|
|
1995
|
+
uriIdx: (0, import_pg_core.uniqueIndex)("kb_graph_nodes_tenant_uri_unique").on(table.tenant_id, table.uri).where(import_drizzle_orm2.sql`${table.archived} = false`),
|
|
1748
1996
|
typeIdx: (0, import_pg_core.index)("kb_graph_nodes_type_idx").on(table.node_type),
|
|
1749
1997
|
namespaceIdx: (0, import_pg_core.index)("kb_graph_nodes_namespace_idx").on(table.namespace_id),
|
|
1750
1998
|
documentIdx: (0, import_pg_core.index)("kb_graph_nodes_document_idx").on(table.document_id),
|
|
@@ -1764,6 +2012,7 @@ var init_schema_postgres = __esm({
|
|
|
1764
2012
|
kbGraphEdges = (0, import_pg_core.pgTable)(
|
|
1765
2013
|
"kb_graph_edges",
|
|
1766
2014
|
{
|
|
2015
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1767
2016
|
edge_id: (0, import_pg_core.varchar)("edge_id", { length: 36 }).primaryKey(),
|
|
1768
2017
|
source_node_id: (0, import_pg_core.varchar)("source_node_id", { length: 36 }).notNull().references(() => kbGraphNodes.node_id, { onDelete: "cascade" }),
|
|
1769
2018
|
target_node_id: (0, import_pg_core.varchar)("target_node_id", { length: 36 }).notNull().references(() => kbGraphNodes.node_id, { onDelete: "cascade" }),
|
|
@@ -1792,6 +2041,7 @@ var init_schema_postgres = __esm({
|
|
|
1792
2041
|
archived_at: t.timestamp("archived_at")
|
|
1793
2042
|
},
|
|
1794
2043
|
(table) => ({
|
|
2044
|
+
tenantIdx: (0, import_pg_core.index)("kb_graph_edges_tenant_id_idx").on(table.tenant_id),
|
|
1795
2045
|
sourceIdx: (0, import_pg_core.index)("kb_graph_edges_source_idx").on(table.source_node_id),
|
|
1796
2046
|
targetIdx: (0, import_pg_core.index)("kb_graph_edges_target_idx").on(table.target_node_id),
|
|
1797
2047
|
typeIdx: (0, import_pg_core.index)("kb_graph_edges_type_idx").on(table.edge_type),
|
|
@@ -1803,7 +2053,7 @@ var init_schema_postgres = __esm({
|
|
|
1803
2053
|
table.target_node_id,
|
|
1804
2054
|
table.edge_type
|
|
1805
2055
|
),
|
|
1806
|
-
sourceTargetTypeIdx: (0, import_pg_core.uniqueIndex)("
|
|
2056
|
+
sourceTargetTypeIdx: (0, import_pg_core.uniqueIndex)("kb_graph_edges_tenant_source_target_type_unique").on(table.tenant_id, table.source_node_id, table.target_node_id, table.edge_type).where(import_drizzle_orm2.sql`${table.archived} = false`),
|
|
1807
2057
|
archivedIdx: (0, import_pg_core.index)("kb_graph_edges_archived_idx").on(table.archived)
|
|
1808
2058
|
})
|
|
1809
2059
|
);
|
|
@@ -1867,6 +2117,7 @@ __export(schema_sqlite_exports, {
|
|
|
1867
2117
|
cardTypes: () => cardTypes2,
|
|
1868
2118
|
cards: () => cards2,
|
|
1869
2119
|
gatewayChannels: () => gatewayChannels2,
|
|
2120
|
+
gatewayOutboundMessages: () => gatewayOutboundMessages2,
|
|
1870
2121
|
groupMemberships: () => groupMemberships2,
|
|
1871
2122
|
groups: () => groups2,
|
|
1872
2123
|
kbDocumentUnits: () => kbDocumentUnits2,
|
|
@@ -1895,7 +2146,7 @@ __export(schema_sqlite_exports, {
|
|
|
1895
2146
|
userMcpOauthTokens: () => userMcpOauthTokens2,
|
|
1896
2147
|
users: () => users2
|
|
1897
2148
|
});
|
|
1898
|
-
var import_drizzle_orm3, import_sqlite_core, t2, sessions2, sessionRelationships2, tasks2, serializedSessions2, messages2, boards2, repos2, branches2, branchOwners2, boardOwners2, schedules2, users2, groups2, groupMemberships2, branchGroupGrants2, boardGroupGrants2, appVariables2, userApiKeys2, mcpServers2, cardTypes2, cards2, artifacts2, artifactTrustGrants2, boardObjects2, sessionMcpServers2, userMcpOauthTokens2, boardComments2, gatewayChannels2, threadSessionMap2, sessionEnvSelections2, kbNamespaces2, kbNamespaceAcl2, kbDocuments2, kbDocumentVersions2, kbDocumentUnits2, kbEmbeddingSpaces2, kbGraphNodes2, kbGraphEdges2, sessionsRelations2, sessionRelationshipsRelations2, branchesRelations2, schedulesRelations2;
|
|
2149
|
+
var import_drizzle_orm3, import_sqlite_core, t2, sessions2, sessionRelationships2, tasks2, serializedSessions2, messages2, boards2, repos2, branches2, branchOwners2, boardOwners2, schedules2, users2, groups2, groupMemberships2, branchGroupGrants2, boardGroupGrants2, appVariables2, userApiKeys2, mcpServers2, cardTypes2, cards2, artifacts2, artifactTrustGrants2, boardObjects2, sessionMcpServers2, userMcpOauthTokens2, boardComments2, gatewayChannels2, threadSessionMap2, gatewayOutboundMessages2, sessionEnvSelections2, kbNamespaces2, kbNamespaceAcl2, kbDocuments2, kbDocumentVersions2, kbDocumentUnits2, kbEmbeddingSpaces2, kbGraphNodes2, kbGraphEdges2, sessionsRelations2, sessionRelationshipsRelations2, branchesRelations2, schedulesRelations2;
|
|
1899
2150
|
var init_schema_sqlite = __esm({
|
|
1900
2151
|
"src/db/schema.sqlite.ts"() {
|
|
1901
2152
|
"use strict";
|
|
@@ -1971,6 +2222,7 @@ var init_schema_sqlite = __esm({
|
|
|
1971
2222
|
},
|
|
1972
2223
|
(table) => ({
|
|
1973
2224
|
statusIdx: (0, import_sqlite_core.index)("sessions_status_idx").on(table.status),
|
|
2225
|
+
statusReadyIdx: (0, import_sqlite_core.index)("sessions_status_ready_idx").on(table.status, table.ready_for_prompt),
|
|
1974
2226
|
agenticToolIdx: (0, import_sqlite_core.index)("sessions_agentic_tool_idx").on(table.agentic_tool),
|
|
1975
2227
|
boardIdx: (0, import_sqlite_core.index)("sessions_board_idx").on(table.board_id),
|
|
1976
2228
|
branchIdx: (0, import_sqlite_core.index)("sessions_branch_idx").on(table.branch_id),
|
|
@@ -2010,6 +2262,9 @@ var init_schema_sqlite = __esm({
|
|
|
2010
2262
|
sourceIdx: (0, import_sqlite_core.index)("session_relationships_source_idx").on(table.source_session_id),
|
|
2011
2263
|
targetIdx: (0, import_sqlite_core.index)("session_relationships_target_idx").on(table.target_session_id),
|
|
2012
2264
|
callbackIdx: (0, import_sqlite_core.index)("session_relationships_callback_idx").on(table.callback_session_id),
|
|
2265
|
+
// Note: no tenant_source/tenant_target composite indexes here — SQLite schema
|
|
2266
|
+
// has no tenant column on this table (RLS is Postgres-only). The standalone
|
|
2267
|
+
// source/target indexes above are sufficient for SQLite.
|
|
2013
2268
|
sourceTargetTypeUnique: (0, import_sqlite_core.uniqueIndex)("session_relationships_source_target_type_unique").on(
|
|
2014
2269
|
table.source_session_id,
|
|
2015
2270
|
table.target_session_id,
|
|
@@ -2129,7 +2384,12 @@ var init_schema_sqlite = __esm({
|
|
|
2129
2384
|
// Indexes for efficient lookups
|
|
2130
2385
|
sessionIdx: (0, import_sqlite_core.index)("messages_session_id_idx").on(table.session_id),
|
|
2131
2386
|
taskIdx: (0, import_sqlite_core.index)("messages_task_id_idx").on(table.task_id),
|
|
2132
|
-
sessionIndexIdx: (0, import_sqlite_core.index)("messages_session_index_idx").on(table.session_id, table.index)
|
|
2387
|
+
sessionIndexIdx: (0, import_sqlite_core.index)("messages_session_index_idx").on(table.session_id, table.index),
|
|
2388
|
+
timestampIdx: (0, import_sqlite_core.index)("messages_timestamp_idx").on(table.timestamp),
|
|
2389
|
+
sessionTimestampIdx: (0, import_sqlite_core.index)("messages_session_timestamp_idx").on(
|
|
2390
|
+
table.session_id,
|
|
2391
|
+
table.timestamp
|
|
2392
|
+
)
|
|
2133
2393
|
})
|
|
2134
2394
|
);
|
|
2135
2395
|
boards2 = (0, import_sqlite_core.sqliteTable)(
|
|
@@ -2355,6 +2615,9 @@ var init_schema_sqlite = __esm({
|
|
|
2355
2615
|
onboarding_completed: t2.bool("onboarding_completed").notNull().default(false),
|
|
2356
2616
|
// Force password change flag (admin-settable, auto-cleared on password change)
|
|
2357
2617
|
must_change_password: t2.bool("must_change_password").notNull().default(false),
|
|
2618
|
+
// Auth invalidation marker. Password changes set this timestamp so any
|
|
2619
|
+
// previously issued browser access or refresh token is rejected.
|
|
2620
|
+
tokens_valid_after: t2.timestamp("tokens_valid_after"),
|
|
2358
2621
|
// JSON blob for profile/preferences
|
|
2359
2622
|
data: t2.json("data").$type().notNull()
|
|
2360
2623
|
},
|
|
@@ -2798,6 +3061,66 @@ var init_schema_sqlite = __esm({
|
|
|
2798
3061
|
channelStatusIdx: (0, import_sqlite_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
2799
3062
|
})
|
|
2800
3063
|
);
|
|
3064
|
+
gatewayOutboundMessages2 = (0, import_sqlite_core.sqliteTable)(
|
|
3065
|
+
"gateway_outbound_messages",
|
|
3066
|
+
{
|
|
3067
|
+
id: (0, import_sqlite_core.text)("id", { length: 36 }).primaryKey(),
|
|
3068
|
+
created_at: t2.timestamp("created_at").notNull(),
|
|
3069
|
+
updated_at: t2.timestamp("updated_at").notNull(),
|
|
3070
|
+
gateway_channel_id: (0, import_sqlite_core.text)("gateway_channel_id", { length: 36 }).notNull().references(() => gatewayChannels2.id, { onDelete: "cascade" }),
|
|
3071
|
+
channel_type: (0, import_sqlite_core.text)("channel_type", {
|
|
3072
|
+
enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
|
|
3073
|
+
}).notNull(),
|
|
3074
|
+
platform_channel_id: (0, import_sqlite_core.text)("platform_channel_id").notNull(),
|
|
3075
|
+
platform_message_id: (0, import_sqlite_core.text)("platform_message_id").notNull(),
|
|
3076
|
+
platform_thread_id: (0, import_sqlite_core.text)("platform_thread_id").notNull(),
|
|
3077
|
+
platform_permalink: (0, import_sqlite_core.text)("platform_permalink"),
|
|
3078
|
+
target_branch_id: (0, import_sqlite_core.text)("target_branch_id", { length: 36 }).notNull().references(() => branches2.branch_id),
|
|
3079
|
+
emitted_by_user_id: (0, import_sqlite_core.text)("emitted_by_user_id", { length: 36 }).notNull().references(() => users2.user_id),
|
|
3080
|
+
emitted_by_session_id: (0, import_sqlite_core.text)("emitted_by_session_id", { length: 36 }).references(
|
|
3081
|
+
() => sessions2.session_id,
|
|
3082
|
+
{
|
|
3083
|
+
onDelete: "set null"
|
|
3084
|
+
}
|
|
3085
|
+
),
|
|
3086
|
+
emitted_by_task_id: (0, import_sqlite_core.text)("emitted_by_task_id", { length: 36 }).references(() => tasks2.task_id, {
|
|
3087
|
+
onDelete: "set null"
|
|
3088
|
+
}),
|
|
3089
|
+
emitted_by_schedule_id: (0, import_sqlite_core.text)("emitted_by_schedule_id", { length: 36 }).references(
|
|
3090
|
+
() => schedules2.schedule_id,
|
|
3091
|
+
{
|
|
3092
|
+
onDelete: "set null"
|
|
3093
|
+
}
|
|
3094
|
+
),
|
|
3095
|
+
message_text: (0, import_sqlite_core.text)("message_text").notNull(),
|
|
3096
|
+
message_preview: (0, import_sqlite_core.text)("message_preview").notNull(),
|
|
3097
|
+
metadata: t2.json("metadata"),
|
|
3098
|
+
consumed_by_session_id: (0, import_sqlite_core.text)("consumed_by_session_id", { length: 36 }).references(
|
|
3099
|
+
() => sessions2.session_id,
|
|
3100
|
+
{
|
|
3101
|
+
onDelete: "set null"
|
|
3102
|
+
}
|
|
3103
|
+
),
|
|
3104
|
+
consumed_at: t2.timestamp("consumed_at")
|
|
3105
|
+
},
|
|
3106
|
+
(table) => ({
|
|
3107
|
+
uniqueChannelThread: (0, import_sqlite_core.uniqueIndex)("uniq_gateway_outbound_channel_thread").on(
|
|
3108
|
+
table.gateway_channel_id,
|
|
3109
|
+
table.platform_thread_id
|
|
3110
|
+
),
|
|
3111
|
+
emittedSessionIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_emitted_session").on(
|
|
3112
|
+
table.emitted_by_session_id
|
|
3113
|
+
),
|
|
3114
|
+
emittedScheduleIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_emitted_schedule").on(
|
|
3115
|
+
table.emitted_by_schedule_id
|
|
3116
|
+
),
|
|
3117
|
+
targetBranchCreatedIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_branch_created").on(
|
|
3118
|
+
table.target_branch_id,
|
|
3119
|
+
table.created_at
|
|
3120
|
+
),
|
|
3121
|
+
consumedIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_consumed").on(table.consumed_at)
|
|
3122
|
+
})
|
|
3123
|
+
);
|
|
2801
3124
|
sessionEnvSelections2 = (0, import_sqlite_core.sqliteTable)(
|
|
2802
3125
|
"session_env_selections",
|
|
2803
3126
|
{
|
|
@@ -3296,6 +3619,71 @@ var init_executor_heartbeat = __esm({
|
|
|
3296
3619
|
}
|
|
3297
3620
|
});
|
|
3298
3621
|
|
|
3622
|
+
// src/config/multitenancy.ts
|
|
3623
|
+
function detectPostgresUrl(url) {
|
|
3624
|
+
if (!url) return false;
|
|
3625
|
+
const lower = url.toLowerCase();
|
|
3626
|
+
return lower.startsWith("postgresql://") || lower.startsWith("postgres://") || lower.startsWith("pg://");
|
|
3627
|
+
}
|
|
3628
|
+
function resolveMultiTenancyDatabaseDialect(config = {}) {
|
|
3629
|
+
if (process.env.AGOR_DB_DIALECT === "postgresql" || process.env.AGOR_DB_DIALECT === "sqlite") {
|
|
3630
|
+
return process.env.AGOR_DB_DIALECT;
|
|
3631
|
+
}
|
|
3632
|
+
if (detectPostgresUrl(process.env.DATABASE_URL)) return "postgresql";
|
|
3633
|
+
if (config.database?.dialect === "postgresql" || config.database?.dialect === "sqlite") {
|
|
3634
|
+
return config.database.dialect;
|
|
3635
|
+
}
|
|
3636
|
+
if (detectPostgresUrl(config.database?.postgresql?.url) || config.database?.postgresql?.host) {
|
|
3637
|
+
return "postgresql";
|
|
3638
|
+
}
|
|
3639
|
+
return "sqlite";
|
|
3640
|
+
}
|
|
3641
|
+
function resolveMultiTenancyConfig(config) {
|
|
3642
|
+
const raw = config.multi_tenancy ?? {};
|
|
3643
|
+
const mode = raw.mode ?? "static";
|
|
3644
|
+
return {
|
|
3645
|
+
mode,
|
|
3646
|
+
static_tenant_id: raw.static_tenant_id?.trim() || DEFAULT_STATIC_TENANT_ID,
|
|
3647
|
+
...raw.auth_claim ? { auth_claim: raw.auth_claim } : {},
|
|
3648
|
+
...raw.trusted_header ? { trusted_header: raw.trusted_header } : {}
|
|
3649
|
+
};
|
|
3650
|
+
}
|
|
3651
|
+
function assertValidMultiTenancyConfig(config) {
|
|
3652
|
+
const resolved = resolveMultiTenancyConfig(config);
|
|
3653
|
+
if (resolved.mode !== "static" && resolved.mode !== "required_from_auth") {
|
|
3654
|
+
throw new Error("Config error: multi_tenancy.mode must be one of: static, required_from_auth");
|
|
3655
|
+
}
|
|
3656
|
+
if (!resolved.static_tenant_id) {
|
|
3657
|
+
throw new Error("Config error: multi_tenancy.static_tenant_id must not be empty");
|
|
3658
|
+
}
|
|
3659
|
+
if (resolved.auth_claim && RESERVED_AUTH_CLAIMS.has(resolved.auth_claim)) {
|
|
3660
|
+
throw new Error(
|
|
3661
|
+
`Config error: multi_tenancy.auth_claim cannot be reserved JWT claim '${resolved.auth_claim}'`
|
|
3662
|
+
);
|
|
3663
|
+
}
|
|
3664
|
+
if (resolved.mode === "required_from_auth") {
|
|
3665
|
+
if (resolveMultiTenancyDatabaseDialect(config) !== "postgresql") {
|
|
3666
|
+
throw new Error(
|
|
3667
|
+
"Config error: multi_tenancy.required_from_auth requires database.dialect: postgresql"
|
|
3668
|
+
);
|
|
3669
|
+
}
|
|
3670
|
+
if (!resolved.auth_claim && !resolved.trusted_header) {
|
|
3671
|
+
throw new Error(
|
|
3672
|
+
"Config error: multi_tenancy.required_from_auth requires multi_tenancy.auth_claim or multi_tenancy.trusted_header"
|
|
3673
|
+
);
|
|
3674
|
+
}
|
|
3675
|
+
}
|
|
3676
|
+
}
|
|
3677
|
+
var DEFAULT_STATIC_TENANT_ID, RESERVED_AUTH_CLAIMS;
|
|
3678
|
+
var init_multitenancy = __esm({
|
|
3679
|
+
"src/config/multitenancy.ts"() {
|
|
3680
|
+
"use strict";
|
|
3681
|
+
init_cjs_shims();
|
|
3682
|
+
DEFAULT_STATIC_TENANT_ID = "default";
|
|
3683
|
+
RESERVED_AUTH_CLAIMS = /* @__PURE__ */ new Set(["aud", "exp", "iat", "iss", "jti", "nbf", "sub", "type"]);
|
|
3684
|
+
}
|
|
3685
|
+
});
|
|
3686
|
+
|
|
3299
3687
|
// src/config/types.ts
|
|
3300
3688
|
var init_types2 = __esm({
|
|
3301
3689
|
"src/config/types.ts"() {
|
|
@@ -3333,7 +3721,10 @@ function writeCachedConfig(configPath, config, key) {
|
|
|
3333
3721
|
cachedEntry = { path: configPath, config: structuredClone(config), key };
|
|
3334
3722
|
}
|
|
3335
3723
|
function parseAndValidateConfig(content) {
|
|
3336
|
-
|
|
3724
|
+
if (content.trim() === "") {
|
|
3725
|
+
return {};
|
|
3726
|
+
}
|
|
3727
|
+
const parsed = yaml.load(content);
|
|
3337
3728
|
const finalConfig = parsed || {};
|
|
3338
3729
|
validateConfig(finalConfig);
|
|
3339
3730
|
return finalConfig;
|
|
@@ -3362,6 +3753,7 @@ To update: agor config set execution.unix_user_mode insulated`
|
|
|
3362
3753
|
`Config error: execution.managed_envs_execution_mode must be one of: hybrid, webhook-only`
|
|
3363
3754
|
);
|
|
3364
3755
|
}
|
|
3756
|
+
assertValidMultiTenancyConfig(config);
|
|
3365
3757
|
validateOptionalHttpUrl(
|
|
3366
3758
|
config.external_launch,
|
|
3367
3759
|
"login_redirect_url",
|
|
@@ -3422,7 +3814,12 @@ function getDefaultConfig() {
|
|
|
3422
3814
|
// Default: sync passwords to Unix
|
|
3423
3815
|
executor_heartbeat: resolveExecutorHeartbeatConfig()
|
|
3424
3816
|
},
|
|
3425
|
-
analytics: getDefaultAnalyticsConfig()
|
|
3817
|
+
analytics: getDefaultAnalyticsConfig(),
|
|
3818
|
+
telemetry: {},
|
|
3819
|
+
multi_tenancy: {
|
|
3820
|
+
mode: "static",
|
|
3821
|
+
static_tenant_id: "default"
|
|
3822
|
+
}
|
|
3426
3823
|
};
|
|
3427
3824
|
}
|
|
3428
3825
|
function loadConfigSync() {
|
|
@@ -3466,7 +3863,7 @@ function loadConfigSync() {
|
|
|
3466
3863
|
}
|
|
3467
3864
|
return finalConfig;
|
|
3468
3865
|
}
|
|
3469
|
-
var import_node_fs, import_promises, import_node_os, import_node_path,
|
|
3866
|
+
var import_node_fs, import_promises, import_node_os, import_node_path, yaml, NO_FILE, NO_FILE_KEY, cachedEntry;
|
|
3470
3867
|
var init_config_manager = __esm({
|
|
3471
3868
|
"src/config/config-manager.ts"() {
|
|
3472
3869
|
"use strict";
|
|
@@ -3475,10 +3872,11 @@ var init_config_manager = __esm({
|
|
|
3475
3872
|
import_promises = __toESM(require("fs/promises"), 1);
|
|
3476
3873
|
import_node_os = __toESM(require("os"), 1);
|
|
3477
3874
|
import_node_path = __toESM(require("path"), 1);
|
|
3478
|
-
|
|
3875
|
+
yaml = __toESM(require("js-yaml"), 1);
|
|
3479
3876
|
init_analytics_defaults();
|
|
3480
3877
|
init_constants();
|
|
3481
3878
|
init_executor_heartbeat();
|
|
3879
|
+
init_multitenancy();
|
|
3482
3880
|
init_types2();
|
|
3483
3881
|
NO_FILE = -1;
|
|
3484
3882
|
NO_FILE_KEY = { mtimeMs: NO_FILE, size: 0 };
|
|
@@ -3532,7 +3930,7 @@ var init_schema_factory = __esm({
|
|
|
3532
3930
|
});
|
|
3533
3931
|
|
|
3534
3932
|
// src/db/schema.ts
|
|
3535
|
-
var dialect, schema, sessions3, tasks3, messages3, boards3, repos3, branches3, branchOwners3, boardOwners3, groups3, groupMemberships3, branchGroupGrants3, boardGroupGrants3, schedules3, users3, appVariables3, mcpServers3, cardTypes3, cards3, artifacts3, artifactTrustGrants3, boardObjects3, sessionMcpServers3, sessionRelationships3, sessionEnvSelections3, userMcpOauthTokens3, boardComments3, gatewayChannels3, threadSessionMap3, userApiKeys3, serializedSessions3, kbNamespaces3, kbNamespaceAcl3, kbDocuments3, kbDocumentVersions3, kbDocumentUnits3, kbEmbeddingSpaces3, kbGraphNodes3, kbGraphEdges3;
|
|
3933
|
+
var dialect, schema, sessions3, tasks3, messages3, boards3, repos3, branches3, branchOwners3, boardOwners3, groups3, groupMemberships3, branchGroupGrants3, boardGroupGrants3, schedules3, users3, appVariables3, mcpServers3, cardTypes3, cards3, artifacts3, artifactTrustGrants3, boardObjects3, sessionMcpServers3, sessionRelationships3, sessionEnvSelections3, userMcpOauthTokens3, boardComments3, gatewayChannels3, threadSessionMap3, gatewayOutboundMessages3, userApiKeys3, serializedSessions3, kbNamespaces3, kbNamespaceAcl3, kbDocuments3, kbDocumentVersions3, kbDocumentUnits3, kbEmbeddingSpaces3, kbGraphNodes3, kbGraphEdges3;
|
|
3536
3934
|
var init_schema = __esm({
|
|
3537
3935
|
"src/db/schema.ts"() {
|
|
3538
3936
|
"use strict";
|
|
@@ -3570,6 +3968,7 @@ var init_schema = __esm({
|
|
|
3570
3968
|
boardComments3 = schema.boardComments;
|
|
3571
3969
|
gatewayChannels3 = schema.gatewayChannels;
|
|
3572
3970
|
threadSessionMap3 = schema.threadSessionMap;
|
|
3971
|
+
gatewayOutboundMessages3 = schema.gatewayOutboundMessages;
|
|
3573
3972
|
userApiKeys3 = schema.userApiKeys;
|
|
3574
3973
|
serializedSessions3 = schema.serializedSessions;
|
|
3575
3974
|
kbNamespaces3 = schema.kbNamespaces;
|
|
@@ -3620,6 +4019,7 @@ init_schema();
|
|
|
3620
4019
|
init_cjs_shims();
|
|
3621
4020
|
init_ids();
|
|
3622
4021
|
init_id();
|
|
4022
|
+
init_tenant_context();
|
|
3623
4023
|
var RepositoryError = class extends Error {
|
|
3624
4024
|
constructor(message, cause) {
|
|
3625
4025
|
super(message);
|
|
@@ -3671,7 +4071,7 @@ init_schema();
|
|
|
3671
4071
|
|
|
3672
4072
|
// src/db/repositories/artifacts.ts
|
|
3673
4073
|
init_cjs_shims();
|
|
3674
|
-
var
|
|
4074
|
+
var import_drizzle_orm7 = require("drizzle-orm");
|
|
3675
4075
|
init_config_manager();
|
|
3676
4076
|
init_ids();
|
|
3677
4077
|
|
|
@@ -3683,9 +4083,19 @@ init_id();
|
|
|
3683
4083
|
init_database_wrapper();
|
|
3684
4084
|
init_schema();
|
|
3685
4085
|
|
|
4086
|
+
// src/db/repositories/branch-access.ts
|
|
4087
|
+
init_cjs_shims();
|
|
4088
|
+
init_types();
|
|
4089
|
+
var import_drizzle_orm6 = require("drizzle-orm");
|
|
4090
|
+
init_database_wrapper();
|
|
4091
|
+
init_schema();
|
|
4092
|
+
var VISIBLE_BRANCH_PERMISSION_LEVELS = BRANCH_PERMISSION_LEVELS.filter(
|
|
4093
|
+
(level) => level !== "none"
|
|
4094
|
+
);
|
|
4095
|
+
|
|
3686
4096
|
// src/db/repositories/board-comments.ts
|
|
3687
4097
|
init_cjs_shims();
|
|
3688
|
-
var
|
|
4098
|
+
var import_drizzle_orm8 = require("drizzle-orm");
|
|
3689
4099
|
init_ids();
|
|
3690
4100
|
init_database_wrapper();
|
|
3691
4101
|
init_schema();
|
|
@@ -3702,16 +4112,6 @@ init_cjs_shims();
|
|
|
3702
4112
|
init_database_wrapper();
|
|
3703
4113
|
init_schema();
|
|
3704
4114
|
|
|
3705
|
-
// src/db/repositories/branch-access.ts
|
|
3706
|
-
init_cjs_shims();
|
|
3707
|
-
init_types();
|
|
3708
|
-
var import_drizzle_orm8 = require("drizzle-orm");
|
|
3709
|
-
init_database_wrapper();
|
|
3710
|
-
init_schema();
|
|
3711
|
-
var VISIBLE_BRANCH_PERMISSION_LEVELS = BRANCH_PERMISSION_LEVELS.filter(
|
|
3712
|
-
(level) => level !== "none"
|
|
3713
|
-
);
|
|
3714
|
-
|
|
3715
4115
|
// src/db/repositories/boards.ts
|
|
3716
4116
|
init_cjs_shims();
|
|
3717
4117
|
init_types();
|
|
@@ -3723,6 +4123,30 @@ init_ids();
|
|
|
3723
4123
|
// src/lib/slugs.ts
|
|
3724
4124
|
init_cjs_shims();
|
|
3725
4125
|
|
|
4126
|
+
// src/utils/emoji-shortcodes.ts
|
|
4127
|
+
init_cjs_shims();
|
|
4128
|
+
var import_node_module = require("module");
|
|
4129
|
+
var requireJson = (0, import_node_module.createRequire)(importMetaUrl);
|
|
4130
|
+
var emojiData = requireJson("emojibase-data/en/compact.json");
|
|
4131
|
+
var shortcodes = requireJson(
|
|
4132
|
+
"emojibase-data/en/shortcodes/emojibase.json"
|
|
4133
|
+
);
|
|
4134
|
+
var emojiByHexcode = /* @__PURE__ */ new Map();
|
|
4135
|
+
for (const emoji of emojiData) {
|
|
4136
|
+
if (emoji.unicode) {
|
|
4137
|
+
emojiByHexcode.set(emoji.hexcode, emoji.unicode);
|
|
4138
|
+
}
|
|
4139
|
+
}
|
|
4140
|
+
var emojiByShortcode = /* @__PURE__ */ new Map();
|
|
4141
|
+
for (const [hexcode, codes] of Object.entries(shortcodes)) {
|
|
4142
|
+
const emoji = emojiByHexcode.get(hexcode);
|
|
4143
|
+
if (!emoji) continue;
|
|
4144
|
+
const codeList = Array.isArray(codes) ? codes : [codes];
|
|
4145
|
+
for (const code of codeList) {
|
|
4146
|
+
emojiByShortcode.set(code.toLowerCase(), emoji);
|
|
4147
|
+
}
|
|
4148
|
+
}
|
|
4149
|
+
|
|
3726
4150
|
// src/db/repositories/boards.ts
|
|
3727
4151
|
init_database_wrapper();
|
|
3728
4152
|
init_schema();
|
|
@@ -3773,11 +4197,19 @@ init_ids();
|
|
|
3773
4197
|
init_database_wrapper();
|
|
3774
4198
|
init_schema();
|
|
3775
4199
|
|
|
4200
|
+
// src/db/repositories/gateway-outbound-messages.ts
|
|
4201
|
+
init_cjs_shims();
|
|
4202
|
+
init_types();
|
|
4203
|
+
var import_drizzle_orm16 = require("drizzle-orm");
|
|
4204
|
+
init_ids();
|
|
4205
|
+
init_database_wrapper();
|
|
4206
|
+
init_schema();
|
|
4207
|
+
|
|
3776
4208
|
// src/db/repositories/knowledge.ts
|
|
3777
4209
|
init_cjs_shims();
|
|
3778
4210
|
var import_node_crypto3 = require("crypto");
|
|
3779
4211
|
init_types();
|
|
3780
|
-
var
|
|
4212
|
+
var import_drizzle_orm17 = require("drizzle-orm");
|
|
3781
4213
|
init_config_manager();
|
|
3782
4214
|
init_ids();
|
|
3783
4215
|
init_database_wrapper();
|
|
@@ -3785,12 +4217,49 @@ init_schema();
|
|
|
3785
4217
|
|
|
3786
4218
|
// src/db/repositories/mcp-servers.ts
|
|
3787
4219
|
init_cjs_shims();
|
|
3788
|
-
var
|
|
4220
|
+
var import_drizzle_orm20 = require("drizzle-orm");
|
|
3789
4221
|
init_ids();
|
|
3790
4222
|
|
|
3791
4223
|
// src/tools/mcp/auth-secrets.ts
|
|
3792
4224
|
init_cjs_shims();
|
|
3793
4225
|
|
|
4226
|
+
// src/mcp/template-resolver.ts
|
|
4227
|
+
init_cjs_shims();
|
|
4228
|
+
|
|
4229
|
+
// src/config/env-resolver.ts
|
|
4230
|
+
init_cjs_shims();
|
|
4231
|
+
var import_drizzle_orm19 = require("drizzle-orm");
|
|
4232
|
+
init_database_wrapper();
|
|
4233
|
+
|
|
4234
|
+
// src/db/repositories/session-env-selections.ts
|
|
4235
|
+
init_cjs_shims();
|
|
4236
|
+
var import_drizzle_orm18 = require("drizzle-orm");
|
|
4237
|
+
init_database_wrapper();
|
|
4238
|
+
init_schema();
|
|
4239
|
+
|
|
4240
|
+
// src/config/env-resolver.ts
|
|
4241
|
+
init_schema();
|
|
4242
|
+
|
|
4243
|
+
// src/config/env-blocklist.ts
|
|
4244
|
+
init_cjs_shims();
|
|
4245
|
+
var BLOCKED_ENV_PATTERNS = Object.freeze([
|
|
4246
|
+
/^LD_/i,
|
|
4247
|
+
/^DYLD_/i,
|
|
4248
|
+
/^PYTHON(?!_AGOR_)/i
|
|
4249
|
+
]);
|
|
4250
|
+
|
|
4251
|
+
// src/config/env-vars.ts
|
|
4252
|
+
init_cjs_shims();
|
|
4253
|
+
var V05_SCOPES = ["global", "session"];
|
|
4254
|
+
var V05_SCOPE_SET = new Set(V05_SCOPES);
|
|
4255
|
+
|
|
4256
|
+
// src/templates/handlebars-helpers.ts
|
|
4257
|
+
init_cjs_shims();
|
|
4258
|
+
var import_handlebars = __toESM(require("handlebars"), 1);
|
|
4259
|
+
|
|
4260
|
+
// src/mcp/template-patterns.ts
|
|
4261
|
+
init_cjs_shims();
|
|
4262
|
+
|
|
3794
4263
|
// src/tools/mcp/http-headers.ts
|
|
3795
4264
|
init_cjs_shims();
|
|
3796
4265
|
var MCP_HEADER_REDACTED_SENTINEL = "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022";
|
|
@@ -3941,7 +4410,7 @@ var MCPServerRepository = class {
|
|
|
3941
4410
|
*/
|
|
3942
4411
|
async resolveId(id) {
|
|
3943
4412
|
return resolveByShortIdPrefix(id, "MCPServer", async (pattern) => {
|
|
3944
|
-
const rows = await select(this.db).from(mcpServers3).where((0,
|
|
4413
|
+
const rows = await select(this.db).from(mcpServers3).where((0, import_drizzle_orm20.like)(mcpServers3.mcp_server_id, pattern)).limit(RESOLVE_SHORT_ID_FETCH_LIMIT).all();
|
|
3945
4414
|
return rows.map((r) => r.mcp_server_id);
|
|
3946
4415
|
});
|
|
3947
4416
|
}
|
|
@@ -3952,7 +4421,7 @@ var MCPServerRepository = class {
|
|
|
3952
4421
|
try {
|
|
3953
4422
|
const insertData = this.mcpServerToInsert(data);
|
|
3954
4423
|
await insert(this.db, mcpServers3).values(insertData).run();
|
|
3955
|
-
const row = await select(this.db).from(mcpServers3).where((0,
|
|
4424
|
+
const row = await select(this.db).from(mcpServers3).where((0, import_drizzle_orm20.eq)(mcpServers3.mcp_server_id, insertData.mcp_server_id)).one();
|
|
3956
4425
|
if (!row) {
|
|
3957
4426
|
throw new RepositoryError("Failed to retrieve created MCP server");
|
|
3958
4427
|
}
|
|
@@ -3971,7 +4440,7 @@ var MCPServerRepository = class {
|
|
|
3971
4440
|
async findById(id) {
|
|
3972
4441
|
try {
|
|
3973
4442
|
const fullId = await this.resolveId(id);
|
|
3974
|
-
const row = await select(this.db).from(mcpServers3).where((0,
|
|
4443
|
+
const row = await select(this.db).from(mcpServers3).where((0, import_drizzle_orm20.eq)(mcpServers3.mcp_server_id, fullId)).one();
|
|
3975
4444
|
return row ? this.rowToMCPServer(row) : null;
|
|
3976
4445
|
} catch (error) {
|
|
3977
4446
|
if (error instanceof EntityNotFoundError) return null;
|
|
@@ -3990,24 +4459,24 @@ var MCPServerRepository = class {
|
|
|
3990
4459
|
let query = select(this.db).from(mcpServers3);
|
|
3991
4460
|
const conditions = [];
|
|
3992
4461
|
if (filters?.scope) {
|
|
3993
|
-
conditions.push((0,
|
|
4462
|
+
conditions.push((0, import_drizzle_orm20.eq)(mcpServers3.scope, filters.scope));
|
|
3994
4463
|
}
|
|
3995
4464
|
if (filters?.scopeId) {
|
|
3996
4465
|
if (filters.scope === "global") {
|
|
3997
|
-
conditions.push((0,
|
|
4466
|
+
conditions.push((0, import_drizzle_orm20.eq)(mcpServers3.owner_user_id, filters.scopeId));
|
|
3998
4467
|
}
|
|
3999
4468
|
}
|
|
4000
4469
|
if (filters?.transport) {
|
|
4001
|
-
conditions.push((0,
|
|
4470
|
+
conditions.push((0, import_drizzle_orm20.eq)(mcpServers3.transport, filters.transport));
|
|
4002
4471
|
}
|
|
4003
4472
|
if (filters?.enabled !== void 0) {
|
|
4004
|
-
conditions.push((0,
|
|
4473
|
+
conditions.push((0, import_drizzle_orm20.eq)(mcpServers3.enabled, filters.enabled));
|
|
4005
4474
|
}
|
|
4006
4475
|
if (filters?.source) {
|
|
4007
|
-
conditions.push((0,
|
|
4476
|
+
conditions.push((0, import_drizzle_orm20.eq)(mcpServers3.source, filters.source));
|
|
4008
4477
|
}
|
|
4009
4478
|
if (conditions.length > 0) {
|
|
4010
|
-
query = query.where((0,
|
|
4479
|
+
query = query.where((0, import_drizzle_orm20.and)(...conditions));
|
|
4011
4480
|
}
|
|
4012
4481
|
const rows = await query.all();
|
|
4013
4482
|
return rows.map((row) => this.rowToMCPServer(row));
|
|
@@ -4054,7 +4523,7 @@ var MCPServerRepository = class {
|
|
|
4054
4523
|
transport: insertData.transport,
|
|
4055
4524
|
updated_at: /* @__PURE__ */ new Date(),
|
|
4056
4525
|
data: insertData.data
|
|
4057
|
-
}).where((0,
|
|
4526
|
+
}).where((0, import_drizzle_orm20.eq)(mcpServers3.mcp_server_id, fullId)).run();
|
|
4058
4527
|
const updated = await this.findById(fullId);
|
|
4059
4528
|
if (!updated) {
|
|
4060
4529
|
throw new RepositoryError("Failed to retrieve updated MCP server");
|
|
@@ -4075,7 +4544,7 @@ var MCPServerRepository = class {
|
|
|
4075
4544
|
async delete(id) {
|
|
4076
4545
|
try {
|
|
4077
4546
|
const fullId = await this.resolveId(id);
|
|
4078
|
-
const result = await deleteFrom(this.db, mcpServers3).where((0,
|
|
4547
|
+
const result = await deleteFrom(this.db, mcpServers3).where((0, import_drizzle_orm20.eq)(mcpServers3.mcp_server_id, fullId)).run();
|
|
4079
4548
|
if (result.rowsAffected === 0) {
|
|
4080
4549
|
throw new EntityNotFoundError("MCPServer", id);
|
|
4081
4550
|
}
|
|
@@ -4105,23 +4574,20 @@ var MCPServerRepository = class {
|
|
|
4105
4574
|
|
|
4106
4575
|
// src/db/repositories/messages.ts
|
|
4107
4576
|
init_cjs_shims();
|
|
4108
|
-
var
|
|
4577
|
+
var import_drizzle_orm21 = require("drizzle-orm");
|
|
4109
4578
|
init_database_wrapper();
|
|
4110
4579
|
init_schema();
|
|
4111
4580
|
|
|
4112
4581
|
// src/db/repositories/repos.ts
|
|
4113
4582
|
init_cjs_shims();
|
|
4114
|
-
var
|
|
4583
|
+
var import_drizzle_orm22 = require("drizzle-orm");
|
|
4115
4584
|
|
|
4116
4585
|
// src/config/variant-resolver.ts
|
|
4117
4586
|
init_cjs_shims();
|
|
4118
4587
|
|
|
4119
4588
|
// src/yaml/index.ts
|
|
4120
4589
|
init_cjs_shims();
|
|
4121
|
-
var
|
|
4122
|
-
var load2 = import_js_yaml2.default.load;
|
|
4123
|
-
var dump2 = import_js_yaml2.default.dump;
|
|
4124
|
-
var YAMLException = import_js_yaml2.default.YAMLException;
|
|
4590
|
+
var yaml3 = __toESM(require("js-yaml"), 1);
|
|
4125
4591
|
|
|
4126
4592
|
// src/db/repositories/repos.ts
|
|
4127
4593
|
init_ids();
|
|
@@ -4130,34 +4596,28 @@ init_schema();
|
|
|
4130
4596
|
|
|
4131
4597
|
// src/db/repositories/schedules.ts
|
|
4132
4598
|
init_cjs_shims();
|
|
4133
|
-
var
|
|
4599
|
+
var import_drizzle_orm23 = require("drizzle-orm");
|
|
4134
4600
|
init_ids();
|
|
4135
4601
|
init_database_wrapper();
|
|
4136
4602
|
init_schema();
|
|
4137
4603
|
|
|
4138
4604
|
// src/db/repositories/serialized-sessions.ts
|
|
4139
4605
|
init_cjs_shims();
|
|
4140
|
-
var
|
|
4606
|
+
var import_drizzle_orm24 = require("drizzle-orm");
|
|
4141
4607
|
init_ids();
|
|
4142
4608
|
init_database_wrapper();
|
|
4143
4609
|
init_schema();
|
|
4144
4610
|
|
|
4145
|
-
// src/db/repositories/session-env-selections.ts
|
|
4146
|
-
init_cjs_shims();
|
|
4147
|
-
var import_drizzle_orm22 = require("drizzle-orm");
|
|
4148
|
-
init_database_wrapper();
|
|
4149
|
-
init_schema();
|
|
4150
|
-
|
|
4151
4611
|
// src/db/repositories/session-mcp-servers.ts
|
|
4152
4612
|
init_cjs_shims();
|
|
4153
|
-
var
|
|
4613
|
+
var import_drizzle_orm26 = require("drizzle-orm");
|
|
4154
4614
|
init_database_wrapper();
|
|
4155
4615
|
init_schema();
|
|
4156
4616
|
|
|
4157
4617
|
// src/db/repositories/sessions.ts
|
|
4158
4618
|
init_cjs_shims();
|
|
4159
4619
|
init_types();
|
|
4160
|
-
var
|
|
4620
|
+
var import_drizzle_orm25 = require("drizzle-orm");
|
|
4161
4621
|
init_config_manager();
|
|
4162
4622
|
init_ids();
|
|
4163
4623
|
init_database_wrapper();
|
|
@@ -4165,7 +4625,7 @@ init_schema();
|
|
|
4165
4625
|
|
|
4166
4626
|
// src/db/repositories/session-relationships.ts
|
|
4167
4627
|
init_cjs_shims();
|
|
4168
|
-
var
|
|
4628
|
+
var import_drizzle_orm27 = require("drizzle-orm");
|
|
4169
4629
|
init_ids();
|
|
4170
4630
|
init_database_wrapper();
|
|
4171
4631
|
init_schema();
|
|
@@ -4173,7 +4633,7 @@ init_schema();
|
|
|
4173
4633
|
// src/db/repositories/tasks.ts
|
|
4174
4634
|
init_cjs_shims();
|
|
4175
4635
|
init_types();
|
|
4176
|
-
var
|
|
4636
|
+
var import_drizzle_orm28 = require("drizzle-orm");
|
|
4177
4637
|
init_ids();
|
|
4178
4638
|
init_database_wrapper();
|
|
4179
4639
|
init_schema();
|
|
@@ -4181,7 +4641,7 @@ init_schema();
|
|
|
4181
4641
|
// src/db/repositories/thread-session-map.ts
|
|
4182
4642
|
init_cjs_shims();
|
|
4183
4643
|
init_types();
|
|
4184
|
-
var
|
|
4644
|
+
var import_drizzle_orm29 = require("drizzle-orm");
|
|
4185
4645
|
init_ids();
|
|
4186
4646
|
init_database_wrapper();
|
|
4187
4647
|
init_schema();
|
|
@@ -4190,14 +4650,15 @@ init_schema();
|
|
|
4190
4650
|
init_cjs_shims();
|
|
4191
4651
|
var import_node_crypto4 = require("crypto");
|
|
4192
4652
|
var import_bcryptjs = __toESM(require("bcryptjs"), 1);
|
|
4193
|
-
var
|
|
4653
|
+
var import_drizzle_orm30 = require("drizzle-orm");
|
|
4194
4654
|
init_ids();
|
|
4195
4655
|
init_database_wrapper();
|
|
4196
4656
|
init_schema();
|
|
4657
|
+
init_tenant_context();
|
|
4197
4658
|
|
|
4198
4659
|
// src/db/repositories/user-mcp-oauth-tokens.ts
|
|
4199
4660
|
init_cjs_shims();
|
|
4200
|
-
var
|
|
4661
|
+
var import_drizzle_orm31 = require("drizzle-orm");
|
|
4201
4662
|
init_database_wrapper();
|
|
4202
4663
|
init_schema();
|
|
4203
4664
|
function rowToToken(row) {
|
|
@@ -4214,9 +4675,9 @@ function rowToToken(row) {
|
|
|
4214
4675
|
};
|
|
4215
4676
|
}
|
|
4216
4677
|
function matchKey(userId, serverId) {
|
|
4217
|
-
return (0,
|
|
4218
|
-
userId === null ? (0,
|
|
4219
|
-
(0,
|
|
4678
|
+
return (0, import_drizzle_orm31.and)(
|
|
4679
|
+
userId === null ? (0, import_drizzle_orm31.isNull)(userMcpOauthTokens3.user_id) : (0, import_drizzle_orm31.eq)(userMcpOauthTokens3.user_id, userId),
|
|
4680
|
+
(0, import_drizzle_orm31.eq)(userMcpOauthTokens3.mcp_server_id, serverId)
|
|
4220
4681
|
);
|
|
4221
4682
|
}
|
|
4222
4683
|
var UserMCPOAuthTokenRepository = class {
|
|
@@ -4333,7 +4794,7 @@ var UserMCPOAuthTokenRepository = class {
|
|
|
4333
4794
|
}
|
|
4334
4795
|
async deleteAllForUser(userId) {
|
|
4335
4796
|
try {
|
|
4336
|
-
const result = await deleteFrom(this.db, userMcpOauthTokens3).where((0,
|
|
4797
|
+
const result = await deleteFrom(this.db, userMcpOauthTokens3).where((0, import_drizzle_orm31.eq)(userMcpOauthTokens3.user_id, userId)).run();
|
|
4337
4798
|
return result.rowsAffected;
|
|
4338
4799
|
} catch (error) {
|
|
4339
4800
|
throw new RepositoryError(
|
|
@@ -4344,7 +4805,7 @@ var UserMCPOAuthTokenRepository = class {
|
|
|
4344
4805
|
}
|
|
4345
4806
|
async deleteAllForServer(serverId) {
|
|
4346
4807
|
try {
|
|
4347
|
-
const result = await deleteFrom(this.db, userMcpOauthTokens3).where((0,
|
|
4808
|
+
const result = await deleteFrom(this.db, userMcpOauthTokens3).where((0, import_drizzle_orm31.eq)(userMcpOauthTokens3.mcp_server_id, serverId)).run();
|
|
4348
4809
|
return result.rowsAffected;
|
|
4349
4810
|
} catch (error) {
|
|
4350
4811
|
throw new RepositoryError(
|
|
@@ -4355,7 +4816,7 @@ var UserMCPOAuthTokenRepository = class {
|
|
|
4355
4816
|
}
|
|
4356
4817
|
async listForUser(userId) {
|
|
4357
4818
|
try {
|
|
4358
|
-
const rows = await select(this.db).from(userMcpOauthTokens3).where((0,
|
|
4819
|
+
const rows = await select(this.db).from(userMcpOauthTokens3).where((0, import_drizzle_orm31.eq)(userMcpOauthTokens3.user_id, userId)).all();
|
|
4359
4820
|
return rows.map(rowToToken);
|
|
4360
4821
|
} catch (error) {
|
|
4361
4822
|
throw new RepositoryError(
|
|
@@ -4373,14 +4834,7 @@ var UserMCPOAuthTokenRepository = class {
|
|
|
4373
4834
|
// src/db/repositories/users.ts
|
|
4374
4835
|
init_cjs_shims();
|
|
4375
4836
|
init_types();
|
|
4376
|
-
var
|
|
4377
|
-
|
|
4378
|
-
// src/config/env-vars.ts
|
|
4379
|
-
init_cjs_shims();
|
|
4380
|
-
var V05_SCOPES = ["global", "session"];
|
|
4381
|
-
var V05_SCOPE_SET = new Set(V05_SCOPES);
|
|
4382
|
-
|
|
4383
|
-
// src/db/repositories/users.ts
|
|
4837
|
+
var import_drizzle_orm32 = require("drizzle-orm");
|
|
4384
4838
|
init_ids();
|
|
4385
4839
|
init_database_wrapper();
|
|
4386
4840
|
init_schema();
|