agor-live 0.22.0 → 0.23.1
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 +482 -77
- package/dist/core/claude/index.js +479 -76
- package/dist/core/claude-cli/index.cjs +11 -0
- package/dist/core/claude-cli/index.js +11 -0
- package/dist/core/claude-cli/pricing.d.ts.map +1 -1
- package/dist/core/client/index.cjs +35 -7
- package/dist/core/client/index.js +32 -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 +2422 -1084
- 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 +2162 -852
- 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 +28 -4
- 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 +41 -1
- 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.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 +49 -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 +1 -4
- package/dist/core/environment/render-snapshot.js +1 -4
- 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 +11137 -10604
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +11673 -10630
- package/dist/core/lib/feathers-validation.cjs +6 -1
- package/dist/core/lib/feathers-validation.d.ts +1 -0
- package/dist/core/lib/feathers-validation.d.ts.map +1 -1
- package/dist/core/lib/feathers-validation.js +6 -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 +7941 -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 +7943 -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 +352 -25
- package/dist/core/mcp/index.js +351 -24
- package/dist/core/models/browser.cjs +148 -25
- package/dist/core/models/browser.js +144 -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 +148 -25
- package/dist/core/models/index.js +144 -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 +8410 -5504
- 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 +8434 -5533
- 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/tools/mcp/oauth-refresh.cjs +532 -102
- package/dist/core/tools/mcp/oauth-refresh.js +530 -103
- package/dist/core/types/board.d.ts +2 -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 +76 -1
- package/dist/core/types/gateway.d.ts.map +1 -1
- package/dist/core/types/index.cjs +25 -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 +22 -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 +1056 -674
- package/dist/core/unix/index.js +1003 -623
- 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 +19 -5
- 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 +127 -1
- 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 +4 -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 +7234 -2866
- 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 +7234 -2866
- 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 +1467 -71
- 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 +548 -23
- package/dist/daemon/mcp/tools/artifacts.js +510 -19
- package/dist/daemon/mcp/tools/boards.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/boards.js +517 -20
- package/dist/daemon/mcp/tools/branches.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/branches.js +574 -49
- package/dist/daemon/mcp/tools/card-types.js +508 -17
- package/dist/daemon/mcp/tools/cards.js +508 -17
- package/dist/daemon/mcp/tools/environment.js +516 -17
- 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 +16035 -0
- package/dist/daemon/mcp/tools/knowledge.js +508 -17
- package/dist/daemon/mcp/tools/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/mcp-servers.js +843 -17
- package/dist/daemon/mcp/tools/messages.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/messages.js +568 -31
- package/dist/daemon/mcp/tools/proxies.js +518 -19
- package/dist/daemon/mcp/tools/repos.js +508 -17
- package/dist/daemon/mcp/tools/schedules.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/schedules.js +511 -18
- package/dist/daemon/mcp/tools/search.js +508 -17
- package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/sessions.js +521 -23
- package/dist/daemon/mcp/tools/tasks.js +508 -17
- package/dist/daemon/mcp/tools/users.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/users.js +527 -22
- package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/widgets.js +536 -18
- package/dist/daemon/register-hooks.d.ts +3 -2
- package/dist/daemon/register-hooks.d.ts.map +1 -1
- package/dist/daemon/register-hooks.js +894 -582
- 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 +2715 -816
- 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 +2445 -633
- 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 +34 -5
- package/dist/daemon/services/boards.d.ts.map +1 -1
- package/dist/daemon/services/boards.js +116 -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 +242 -35
- 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 +383 -272
- 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 +48 -3
- package/dist/daemon/services/gateway.d.ts.map +1 -1
- package/dist/daemon/services/gateway.js +606 -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 +145 -23
- 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-token-service.d.ts.map +1 -1
- package/dist/daemon/services/session-token-service.js +3 -0
- 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 +97 -17
- 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 +68 -10
- package/dist/daemon/startup.d.ts +13 -2
- package/dist/daemon/startup.d.ts.map +1 -1
- package/dist/daemon/startup.js +348 -86
- 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 +21 -6
- 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/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-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-publish.d.ts +2 -0
- package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-publish.js +51 -10
- 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/index.js +137 -21
- package/dist/executor/commands/environment.d.ts.map +1 -1
- package/dist/executor/commands/environment.js +9 -5
- package/dist/executor/commands/git.js +1 -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/git-safe-directory.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/git-safe-directory.js +1 -1
- package/dist/executor/sdk-handlers/base/diff-enrichment.js +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +6 -10
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +12 -15
- 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.map +1 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.js +61 -6
- 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/services/feathers-client.js +5 -5
- 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-DQjr8M3_.js +1 -0
- package/dist/ui/assets/App-hJtcOxHv.js +5 -0
- package/dist/ui/assets/App-hJtcOxHv.js.gz +0 -0
- package/dist/ui/assets/AppNode-BhuMpn8O.js +1 -0
- package/dist/ui/assets/AppNode-BhuMpn8O.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js +1 -0
- package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js +9 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js.gz +0 -0
- package/dist/ui/assets/ArtifactNode-BzQcrwFS.js +9 -0
- package/dist/ui/assets/ArtifactNode-BzQcrwFS.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js +19 -0
- package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js +34 -0
- package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js +7 -0
- package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js.gz +0 -0
- package/dist/ui/assets/ConversationView-9-3ma1u-.js +1 -0
- package/dist/ui/assets/ConversationView-9-3ma1u-.js.gz +0 -0
- package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js +2 -0
- package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js +24 -0
- package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js.gz +0 -0
- package/dist/ui/assets/{MarketingScreenshotPage-zv5RUCuV.js → MarketingScreenshotPage-CmDPBHOl.js} +2 -2
- package/dist/ui/assets/MarketingScreenshotPage-CmDPBHOl.js.gz +0 -0
- package/dist/ui/assets/MobileApp-BpgSG_gz.js +1 -0
- package/dist/ui/assets/MobileApp-BpgSG_gz.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-B6_mtlxK.js +13 -0
- package/dist/ui/assets/SessionCanvas-B6_mtlxK.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/{StreamdownDemoPage-wzWaqWwr.js → StreamdownDemoPage-okKKR2QH.js} +2 -2
- package/dist/ui/assets/StreamdownDemoPage-okKKR2QH.js.gz +0 -0
- package/dist/ui/assets/TerminalModal-D9jMGZXv.js +2 -0
- package/dist/ui/assets/TerminalModal-D9jMGZXv.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js +1 -0
- package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js.gz +0 -0
- package/dist/ui/assets/ThemedSyntaxHighlighter.inner-C1FdIHn0.js +1 -0
- package/dist/ui/assets/{antd-CfbbHJOz.js → antd-DT5ackd0.js} +5 -5
- package/dist/ui/assets/{antd-CfbbHJOz.js.gz → antd-DT5ackd0.js.gz} +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-DMnxkQRZ.js +1 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js +36 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js.gz +0 -0
- package/dist/ui/assets/{blockDiagram-VD42YOAC-BhZaEN19.js → blockDiagram-VD42YOAC-Dh1_TVW2.js} +4 -4
- package/dist/ui/assets/blockDiagram-VD42YOAC-Dh1_TVW2.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dk_UH-sY.js → c4Diagram-YG6GDRKO-B1e96AcB.js} +2 -2
- package/dist/ui/assets/c4Diagram-YG6GDRKO-B1e96AcB.js.gz +0 -0
- package/dist/ui/assets/channel-Jv4dT4S5.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-XprbG2TG.js → chunk-4BX2VUAB-BODpCjJx.js} +1 -1
- package/dist/ui/assets/chunk-55IACEB6-lJXvUquf.js +1 -0
- package/dist/ui/assets/{chunk-ABZYJK2D-BJcrryHK.js → chunk-ABZYJK2D-DCTXWSzV.js} +3 -3
- package/dist/ui/assets/chunk-ABZYJK2D-DCTXWSzV.js.gz +0 -0
- package/dist/ui/assets/{chunk-AGHRB4JF-DvxmfbM0.js → chunk-AGHRB4JF-CbNphBjE.js} +1 -1
- package/dist/ui/assets/chunk-AGHRB4JF-CbNphBjE.js.gz +0 -0
- package/dist/ui/assets/{chunk-ATLVNIR6-DbeJ0OrR.js → chunk-ATLVNIR6-rWg3qxof.js} +1 -1
- package/dist/ui/assets/chunk-ATLVNIR6-rWg3qxof.js.gz +0 -0
- package/dist/ui/assets/{chunk-B4BG7PRW-C53q2ggf.js → chunk-B4BG7PRW-CgtLCbpE.js} +3 -3
- package/dist/ui/assets/chunk-B4BG7PRW-CgtLCbpE.js.gz +0 -0
- package/dist/ui/assets/{chunk-CVBHYZKI-B3EBSlb3.js → chunk-CVBHYZKI-DTL6Zgr0.js} +1 -1
- package/dist/ui/assets/{chunk-DI55MBZ5-vIyNEQN-.js → chunk-DI55MBZ5-Dwvx2Kva.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-Dwvx2Kva.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-DHyaqTsP.js +1 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-rddmfK-Z.js → chunk-FMBD7UC4-BogA_9CV.js} +1 -1
- package/dist/ui/assets/{chunk-HN2XXSSU-Dttqcg3b.js → chunk-HN2XXSSU-2blQO3Gb.js} +1 -1
- package/dist/ui/assets/chunk-HN2XXSSU-2blQO3Gb.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js +11 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js.gz +0 -0
- package/dist/ui/assets/{chunk-JZLCHNYA-EUmx2y4H.js → chunk-JZLCHNYA-BsgZ79Fa.js} +5 -5
- package/dist/ui/assets/chunk-JZLCHNYA-BsgZ79Fa.js.gz +0 -0
- package/dist/ui/assets/{chunk-MI3HLSF2-65n9Mkyc.js → chunk-MI3HLSF2-dwYeUy5S.js} +1 -1
- package/dist/ui/assets/chunk-MI3HLSF2-dwYeUy5S.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js +2 -0
- package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js.gz +0 -0
- package/dist/ui/assets/{chunk-QN33PNHL-DsRKK6NR.js → chunk-QN33PNHL-DxdIDCAa.js} +1 -1
- package/dist/ui/assets/{chunk-QXUST7PY-BCYnMiS3.js → chunk-QXUST7PY-BCK2V0i-.js} +2 -2
- package/dist/ui/assets/chunk-QXUST7PY-BCK2V0i-.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-CALjGrEE.js +1 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js +2 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js.gz +0 -0
- package/dist/ui/assets/{chunk-TZMSLE5B-BuQUQcTr.js → chunk-TZMSLE5B-dX5RaM6g.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-dX5RaM6g.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-C3_RVP70.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-C3_RVP70.js +1 -0
- package/dist/ui/assets/constants-GjIDNVyt.js +1 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-CnPB3ARO.js → cose-bilkent-S5V4N54A-Dx0BJVDl.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-Dx0BJVDl.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-DhS-k_Se.js → dagre-6UL2VRFP-DiQSUxqN.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-DiQSUxqN.js.gz +0 -0
- package/dist/ui/assets/{dagre-KgLoHEuy.js → dagre-Bekd9Vdj.js} +1 -1
- package/dist/ui/assets/dagre-Bekd9Vdj.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js +24 -0
- package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-BPCitvbo.js → diagram-QEK2KX5R-CobkCRdj.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-CobkCRdj.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-NW4uK6sx.js → diagram-S2PKOQOG-DHEZYivc.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-DHEZYivc.js.gz +0 -0
- package/dist/ui/assets/editor-DQIG-JYZ.js +43 -0
- package/dist/ui/assets/editor-DQIG-JYZ.js.gz +0 -0
- package/dist/ui/assets/emoji-B0hLmSLZ.js +3 -0
- package/dist/ui/assets/emoji-B0hLmSLZ.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-me1fboaf.js → erDiagram-Q2GNP2WA-BVNeTZPQ.js} +2 -2
- package/dist/ui/assets/erDiagram-Q2GNP2WA-BVNeTZPQ.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js +162 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js +267 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js.gz +0 -0
- package/dist/ui/assets/{gitGraph-F6HP7TQM-CfFE_uAC.js → gitGraph-F6HP7TQM-DMFIqn4h.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js +65 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js.gz +0 -0
- package/dist/ui/assets/index-DTz1Dif6.js +64 -0
- package/dist/ui/assets/index-DTz1Dif6.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-DZ3K-w48.js} +1 -1
- package/dist/ui/assets/{infoDiagram-ER5ION4S-2NL93b78.js → infoDiagram-ER5ION4S-CxnBJQu6.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CZF-2DHU.js → journeyDiagram-XKPGCS4Q-CHYNj-f8.js} +3 -3
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHYNj-f8.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-CfvJIOny.js → kanban-definition-3W4ZIXB7-DQPCCsj2.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-DQPCCsj2.js.gz +0 -0
- package/dist/ui/assets/{line-DDv8kOJk.js → line-DBRjKmfa.js} +1 -1
- package/dist/ui/assets/{linear-Daef-l29.js → linear-DFao5Wyp.js} +1 -1
- package/dist/ui/assets/linear-DFao5Wyp.js.gz +0 -0
- package/dist/ui/assets/{mermaid-parser.core-CdK9QgYV.js → mermaid-parser.core-DYCfacHj.js} +2 -2
- package/dist/ui/assets/mermaid-parser.core-DYCfacHj.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-C6xGFSdE.js +11 -0
- package/dist/ui/assets/mermaid.core-C6xGFSdE.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-Cb3QMflX.js → mindmap-definition-VGOIOE7T-L3Pw-YM7.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-L3Pw-YM7.js.gz +0 -0
- package/dist/ui/assets/{packet-BFZMPI3H-Bm2uwz4i.js → packet-BFZMPI3H-CpL6iNoa.js} +1 -1
- package/dist/ui/assets/{particles-DsJFOarW.js → particles-CT8hcJOA.js} +1 -1
- package/dist/ui/assets/particles-CT8hcJOA.js.gz +0 -0
- package/dist/ui/assets/{pie-7BOR55EZ-5i17tVnF.js → pie-7BOR55EZ-hTqChbTo.js} +1 -1
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-BxIwQWvw.js → pieDiagram-ADFJNKIX-Bf4Nou75.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-Bf4Nou75.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-B5HPe4ga.js → quadrantDiagram-AYHSOK5B-DpjUTLB1.js} +3 -3
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DpjUTLB1.js.gz +0 -0
- package/dist/ui/assets/{radar-NHE76QYJ-BTn-tq0k.js → radar-NHE76QYJ-myy7OENC.js} +1 -1
- package/dist/ui/assets/reactflow-Cubtnk8i.js +2 -0
- package/dist/ui/assets/reactflow-Cubtnk8i.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-YfI6llkX.js → requirementDiagram-UZGBJVZJ-Bfrfh-0-.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bfrfh-0-.js.gz +0 -0
- package/dist/ui/assets/{sandpack-D7koO5op.js → sandpack-C58bwfIS.js} +38 -38
- package/dist/ui/assets/sandpack-C58bwfIS.js.gz +0 -0
- package/dist/ui/assets/sandpackDefaults-Bkga8XAE.js +1 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js +10 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-DAe4Um17.js → sequenceDiagram-WL72ISMW-CNgly63p.js} +6 -6
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CNgly63p.js.gz +0 -0
- package/dist/ui/assets/src-DAeyG22O.js +34 -0
- package/dist/ui/assets/src-DAeyG22O.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js +1 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-BNL52_oN.js +1 -0
- package/dist/ui/assets/streamdown-BdAVfkeF.js +521 -0
- package/dist/ui/assets/streamdown-BdAVfkeF.js.gz +0 -0
- package/dist/ui/assets/syntax-BOfTnQiy.js +9 -0
- package/dist/ui/assets/syntax-BOfTnQiy.js.gz +0 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-D6P5txjT.js → timeline-definition-IT6M3QCI-CaRH3k4l.js} +16 -16
- package/dist/ui/assets/timeline-definition-IT6M3QCI-CaRH3k4l.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-Bitm3gy4.js → treemap-KMMF4GRG-CUaLOV_B.js} +1 -1
- package/dist/ui/assets/{useUserLocalStorage-Ckb8HsIw.js → useUserLocalStorage-C8sgXgXR.js} +1 -1
- package/dist/ui/assets/useUserLocalStorage-C8sgXgXR.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CsybjUbd.js → xychartDiagram-PRI3JC2R-BlhkI9T_.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-BlhkI9T_.js.gz +0 -0
- package/dist/ui/index.html +10 -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
package/dist/core/mcp/index.cjs
CHANGED
|
@@ -43,6 +43,10 @@ var import_drizzle_orm5 = require("drizzle-orm");
|
|
|
43
43
|
// src/db/database-wrapper.ts
|
|
44
44
|
var import_drizzle_orm = require("drizzle-orm");
|
|
45
45
|
|
|
46
|
+
// src/db/tenant-context.ts
|
|
47
|
+
var import_node_async_hooks = require("async_hooks");
|
|
48
|
+
var tenantDatabaseScope = new import_node_async_hooks.AsyncLocalStorage();
|
|
49
|
+
|
|
46
50
|
// src/db/encryption.ts
|
|
47
51
|
var import_node_crypto = require("crypto");
|
|
48
52
|
|
|
@@ -67,6 +71,7 @@ __export(schema_postgres_exports, {
|
|
|
67
71
|
cardTypes: () => cardTypes,
|
|
68
72
|
cards: () => cards,
|
|
69
73
|
gatewayChannels: () => gatewayChannels,
|
|
74
|
+
gatewayOutboundMessages: () => gatewayOutboundMessages,
|
|
70
75
|
groupMemberships: () => groupMemberships,
|
|
71
76
|
groups: () => groups,
|
|
72
77
|
kbDocumentUnits: () => kbDocumentUnits,
|
|
@@ -196,6 +201,7 @@ var t = {
|
|
|
196
201
|
var sessions = (0, import_pg_core.pgTable)(
|
|
197
202
|
"sessions",
|
|
198
203
|
{
|
|
204
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
199
205
|
// Primary identity
|
|
200
206
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).primaryKey(),
|
|
201
207
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -255,7 +261,9 @@ var sessions = (0, import_pg_core.pgTable)(
|
|
|
255
261
|
data: t.json("data").$type().notNull()
|
|
256
262
|
},
|
|
257
263
|
(table) => ({
|
|
264
|
+
tenantIdx: (0, import_pg_core.index)("sessions_tenant_id_idx").on(table.tenant_id),
|
|
258
265
|
statusIdx: (0, import_pg_core.index)("sessions_status_idx").on(table.status),
|
|
266
|
+
statusReadyIdx: (0, import_pg_core.index)("sessions_status_ready_idx").on(table.status, table.ready_for_prompt),
|
|
259
267
|
agenticToolIdx: (0, import_pg_core.index)("sessions_agentic_tool_idx").on(table.agentic_tool),
|
|
260
268
|
boardIdx: (0, import_pg_core.index)("sessions_board_idx").on(table.board_id),
|
|
261
269
|
branchIdx: (0, import_pg_core.index)("sessions_branch_idx").on(table.branch_id),
|
|
@@ -267,12 +275,13 @@ var sessions = (0, import_pg_core.pgTable)(
|
|
|
267
275
|
// Partial unique index — covering for the scheduler's dedup lookup
|
|
268
276
|
// AND serves as the DB-level guard against check-then-create races
|
|
269
277
|
// in spawnScheduledSession.
|
|
270
|
-
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`)
|
|
278
|
+
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`)
|
|
271
279
|
})
|
|
272
280
|
);
|
|
273
281
|
var sessionRelationships = (0, import_pg_core.pgTable)(
|
|
274
282
|
"session_relationships",
|
|
275
283
|
{
|
|
284
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
276
285
|
relationship_id: (0, import_pg_core.varchar)("relationship_id", { length: 36 }).primaryKey(),
|
|
277
286
|
source_session_id: (0, import_pg_core.varchar)("source_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
278
287
|
target_session_id: (0, import_pg_core.varchar)("target_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
@@ -290,10 +299,23 @@ var sessionRelationships = (0, import_pg_core.pgTable)(
|
|
|
290
299
|
data: t.json("data")
|
|
291
300
|
},
|
|
292
301
|
(table) => ({
|
|
302
|
+
tenantIdx: (0, import_pg_core.index)("session_relationships_tenant_id_idx").on(table.tenant_id),
|
|
293
303
|
sourceIdx: (0, import_pg_core.index)("session_relationships_source_idx").on(table.source_session_id),
|
|
294
304
|
targetIdx: (0, import_pg_core.index)("session_relationships_target_idx").on(table.target_session_id),
|
|
295
305
|
callbackIdx: (0, import_pg_core.index)("session_relationships_callback_idx").on(table.callback_session_id),
|
|
306
|
+
// Composite indexes so the OR predicate in dispatchCompletionCallbacks
|
|
307
|
+
// (WHERE source_session_id = $1 OR target_session_id = $2) uses BitmapOr
|
|
308
|
+
// over these instead of a full tenant table scan via tenant_id_idx.
|
|
309
|
+
tenantSourceIdx: (0, import_pg_core.index)("session_relationships_tenant_source_idx").on(
|
|
310
|
+
table.tenant_id,
|
|
311
|
+
table.source_session_id
|
|
312
|
+
),
|
|
313
|
+
tenantTargetIdx: (0, import_pg_core.index)("session_relationships_tenant_target_idx").on(
|
|
314
|
+
table.tenant_id,
|
|
315
|
+
table.target_session_id
|
|
316
|
+
),
|
|
296
317
|
sourceTargetTypeUnique: (0, import_pg_core.uniqueIndex)("session_relationships_source_target_type_unique").on(
|
|
318
|
+
table.tenant_id,
|
|
297
319
|
table.source_session_id,
|
|
298
320
|
table.target_session_id,
|
|
299
321
|
table.relationship_type
|
|
@@ -303,6 +325,7 @@ var sessionRelationships = (0, import_pg_core.pgTable)(
|
|
|
303
325
|
var tasks = (0, import_pg_core.pgTable)(
|
|
304
326
|
"tasks",
|
|
305
327
|
{
|
|
328
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
306
329
|
task_id: (0, import_pg_core.varchar)("task_id", { length: 36 }).primaryKey(),
|
|
307
330
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
308
331
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -332,19 +355,23 @@ var tasks = (0, import_pg_core.pgTable)(
|
|
|
332
355
|
data: t.json("data").$type().notNull()
|
|
333
356
|
},
|
|
334
357
|
(table) => ({
|
|
358
|
+
tenantIdx: (0, import_pg_core.index)("tasks_tenant_id_idx").on(table.tenant_id),
|
|
335
359
|
sessionIdx: (0, import_pg_core.index)("tasks_session_idx").on(table.session_id),
|
|
336
360
|
statusIdx: (0, import_pg_core.index)("tasks_status_idx").on(table.status),
|
|
337
361
|
createdIdx: (0, import_pg_core.index)("tasks_created_idx").on(table.created_at),
|
|
362
|
+
// Composite for "latest task for session" queries (ORDER BY created_at DESC LIMIT 1).
|
|
363
|
+
sessionCreatedIdx: (0, import_pg_core.index)("tasks_session_created_idx").on(table.session_id, table.created_at),
|
|
338
364
|
queueIdx: (0, import_pg_core.index)("tasks_queue_idx").on(table.session_id, table.status, table.queue_position),
|
|
339
365
|
// Partial unique index — defense-in-depth for `tasks.createPending` race
|
|
340
366
|
// serialization. Only QUEUED rows are constrained; CREATED/RUNNING/done
|
|
341
367
|
// rows have NULL queue_position and are unaffected.
|
|
342
|
-
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'`)
|
|
368
|
+
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'`)
|
|
343
369
|
})
|
|
344
370
|
);
|
|
345
371
|
var serializedSessions = (0, import_pg_core.pgTable)(
|
|
346
372
|
"serialized_sessions",
|
|
347
373
|
{
|
|
374
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
348
375
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
349
376
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
350
377
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
@@ -360,6 +387,7 @@ var serializedSessions = (0, import_pg_core.pgTable)(
|
|
|
360
387
|
// gzipped; NULL while status='processing'
|
|
361
388
|
},
|
|
362
389
|
(table) => ({
|
|
390
|
+
tenantIdx: (0, import_pg_core.index)("serialized_sessions_tenant_id_idx").on(table.tenant_id),
|
|
363
391
|
sessionTurnIdx: (0, import_pg_core.index)("serialized_sessions_session_turn_idx").on(
|
|
364
392
|
table.session_id,
|
|
365
393
|
table.turn_index
|
|
@@ -370,6 +398,7 @@ var serializedSessions = (0, import_pg_core.pgTable)(
|
|
|
370
398
|
var messages = (0, import_pg_core.pgTable)(
|
|
371
399
|
"messages",
|
|
372
400
|
{
|
|
401
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
373
402
|
// Primary identity
|
|
374
403
|
message_id: (0, import_pg_core.varchar)("message_id", { length: 36 }).primaryKey(),
|
|
375
404
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -409,15 +438,23 @@ var messages = (0, import_pg_core.pgTable)(
|
|
|
409
438
|
data: t.json("data").$type().notNull()
|
|
410
439
|
},
|
|
411
440
|
(table) => ({
|
|
441
|
+
tenantIdx: (0, import_pg_core.index)("messages_tenant_id_idx").on(table.tenant_id),
|
|
442
|
+
tenantTimestampIdx: (0, import_pg_core.index)("messages_tenant_timestamp_idx").on(table.tenant_id, table.timestamp),
|
|
412
443
|
// Indexes for efficient lookups
|
|
413
444
|
sessionIdx: (0, import_pg_core.index)("messages_session_id_idx").on(table.session_id),
|
|
414
445
|
taskIdx: (0, import_pg_core.index)("messages_task_id_idx").on(table.task_id),
|
|
415
|
-
sessionIndexIdx: (0, import_pg_core.index)("messages_session_index_idx").on(table.session_id, table.index)
|
|
446
|
+
sessionIndexIdx: (0, import_pg_core.index)("messages_session_index_idx").on(table.session_id, table.index),
|
|
447
|
+
timestampIdx: (0, import_pg_core.index)("messages_timestamp_idx").on(table.timestamp),
|
|
448
|
+
sessionTimestampIdx: (0, import_pg_core.index)("messages_session_timestamp_idx").on(
|
|
449
|
+
table.session_id,
|
|
450
|
+
table.timestamp
|
|
451
|
+
)
|
|
416
452
|
})
|
|
417
453
|
);
|
|
418
454
|
var boards = (0, import_pg_core.pgTable)(
|
|
419
455
|
"boards",
|
|
420
456
|
{
|
|
457
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
421
458
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).primaryKey(),
|
|
422
459
|
created_at: t.timestamp("created_at").notNull(),
|
|
423
460
|
updated_at: t.timestamp("updated_at"),
|
|
@@ -425,7 +462,7 @@ var boards = (0, import_pg_core.pgTable)(
|
|
|
425
462
|
created_by: (0, import_pg_core.varchar)("created_by", { length: 36 }).notNull(),
|
|
426
463
|
// Materialized for lookups
|
|
427
464
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
428
|
-
slug: (0, import_pg_core.text)("slug")
|
|
465
|
+
slug: (0, import_pg_core.text)("slug"),
|
|
429
466
|
primary_assistant_id: (0, import_pg_core.varchar)("primary_assistant_id", { length: 36 }).references(
|
|
430
467
|
() => branches.branch_id,
|
|
431
468
|
{
|
|
@@ -440,18 +477,21 @@ var boards = (0, import_pg_core.pgTable)(
|
|
|
440
477
|
archived_by: (0, import_pg_core.varchar)("archived_by", { length: 36 })
|
|
441
478
|
},
|
|
442
479
|
(table) => ({
|
|
480
|
+
tenantIdx: (0, import_pg_core.index)("boards_tenant_id_idx").on(table.tenant_id),
|
|
443
481
|
nameIdx: (0, import_pg_core.index)("boards_name_idx").on(table.name),
|
|
444
|
-
slugIdx: (0, import_pg_core.index)("boards_slug_idx").on(table.slug)
|
|
482
|
+
slugIdx: (0, import_pg_core.index)("boards_slug_idx").on(table.slug),
|
|
483
|
+
slugTenantUnique: (0, import_pg_core.uniqueIndex)("boards_tenant_slug_unique").on(table.tenant_id, table.slug)
|
|
445
484
|
})
|
|
446
485
|
);
|
|
447
486
|
var repos = (0, import_pg_core.pgTable)(
|
|
448
487
|
"repos",
|
|
449
488
|
{
|
|
489
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
450
490
|
repo_id: (0, import_pg_core.varchar)("repo_id", { length: 36 }).primaryKey(),
|
|
451
491
|
created_at: t.timestamp("created_at").notNull(),
|
|
452
492
|
updated_at: t.timestamp("updated_at"),
|
|
453
493
|
// Materialized for querying
|
|
454
|
-
slug: (0, import_pg_core.text)("slug").notNull()
|
|
494
|
+
slug: (0, import_pg_core.text)("slug").notNull(),
|
|
455
495
|
repo_type: (0, import_pg_core.text)("repo_type", { enum: ["remote", "local"] }).notNull().default("remote"),
|
|
456
496
|
// Unix group for repo-level git access (agor_rp_<short-id>)
|
|
457
497
|
// Users who have access to ANY branch in this repo get added to this group.
|
|
@@ -462,12 +502,15 @@ var repos = (0, import_pg_core.pgTable)(
|
|
|
462
502
|
data: t.json("data").$type().notNull()
|
|
463
503
|
},
|
|
464
504
|
(table) => ({
|
|
465
|
-
|
|
505
|
+
tenantIdx: (0, import_pg_core.index)("repos_tenant_id_idx").on(table.tenant_id),
|
|
506
|
+
slugIdx: (0, import_pg_core.index)("repos_slug_idx").on(table.slug),
|
|
507
|
+
slugTenantUnique: (0, import_pg_core.uniqueIndex)("repos_tenant_slug_unique").on(table.tenant_id, table.slug)
|
|
466
508
|
})
|
|
467
509
|
);
|
|
468
510
|
var branches = (0, import_pg_core.pgTable)(
|
|
469
511
|
"branches",
|
|
470
512
|
{
|
|
513
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
471
514
|
// Primary identity
|
|
472
515
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).primaryKey(),
|
|
473
516
|
repo_id: (0, import_pg_core.varchar)("repo_id", { length: 36 }).notNull().references(() => repos.repo_id, { onDelete: "cascade" }),
|
|
@@ -542,6 +585,7 @@ var branches = (0, import_pg_core.pgTable)(
|
|
|
542
585
|
data: t.json("data").$type().notNull()
|
|
543
586
|
},
|
|
544
587
|
(table) => ({
|
|
588
|
+
tenantIdx: (0, import_pg_core.index)("branches_tenant_id_idx").on(table.tenant_id),
|
|
545
589
|
repoIdx: (0, import_pg_core.index)("branches_repo_idx").on(table.repo_id),
|
|
546
590
|
nameIdx: (0, import_pg_core.index)("branches_name_idx").on(table.name),
|
|
547
591
|
refIdx: (0, import_pg_core.index)("branches_ref_idx").on(table.ref),
|
|
@@ -555,22 +599,26 @@ var branches = (0, import_pg_core.pgTable)(
|
|
|
555
599
|
var branchOwners = (0, import_pg_core.pgTable)(
|
|
556
600
|
"branch_owners",
|
|
557
601
|
{
|
|
602
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
558
603
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
559
604
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
560
605
|
created_at: t.timestamp("created_at").defaultNow()
|
|
561
606
|
},
|
|
562
607
|
(table) => ({
|
|
608
|
+
tenantIdx: (0, import_pg_core.index)("branch_owners_tenant_id_idx").on(table.tenant_id),
|
|
563
609
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.branch_id, table.user_id] })
|
|
564
610
|
})
|
|
565
611
|
);
|
|
566
612
|
var boardOwners = (0, import_pg_core.pgTable)(
|
|
567
613
|
"board_owners",
|
|
568
614
|
{
|
|
615
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
569
616
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
570
617
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
571
618
|
created_at: t.timestamp("created_at")
|
|
572
619
|
},
|
|
573
620
|
(table) => ({
|
|
621
|
+
tenantIdx: (0, import_pg_core.index)("board_owners_tenant_id_idx").on(table.tenant_id),
|
|
574
622
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.board_id, table.user_id] }),
|
|
575
623
|
userIdx: (0, import_pg_core.index)("board_owners_user_idx").on(table.user_id)
|
|
576
624
|
})
|
|
@@ -578,6 +626,7 @@ var boardOwners = (0, import_pg_core.pgTable)(
|
|
|
578
626
|
var schedules = (0, import_pg_core.pgTable)(
|
|
579
627
|
"schedules",
|
|
580
628
|
{
|
|
629
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
581
630
|
schedule_id: (0, import_pg_core.varchar)("schedule_id", { length: 36 }).primaryKey(),
|
|
582
631
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
583
632
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
@@ -601,6 +650,7 @@ var schedules = (0, import_pg_core.pgTable)(
|
|
|
601
650
|
created_by: (0, import_pg_core.varchar)("created_by", { length: 36 }).notNull().references(() => users.user_id)
|
|
602
651
|
},
|
|
603
652
|
(table) => ({
|
|
653
|
+
tenantIdx: (0, import_pg_core.index)("schedules_tenant_id_idx").on(table.tenant_id),
|
|
604
654
|
enabledNextRunIdx: (0, import_pg_core.index)("schedules_enabled_next_run_idx").on(table.enabled, table.next_run_at),
|
|
605
655
|
branchIdx: (0, import_pg_core.index)("schedules_branch_idx").on(table.branch_id),
|
|
606
656
|
createdByIdx: (0, import_pg_core.index)("schedules_created_by_idx").on(table.created_by)
|
|
@@ -609,12 +659,13 @@ var schedules = (0, import_pg_core.pgTable)(
|
|
|
609
659
|
var users = (0, import_pg_core.pgTable)(
|
|
610
660
|
"users",
|
|
611
661
|
{
|
|
662
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
612
663
|
// Primary identity
|
|
613
664
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).primaryKey(),
|
|
614
665
|
created_at: t.timestamp("created_at").notNull(),
|
|
615
666
|
updated_at: t.timestamp("updated_at"),
|
|
616
667
|
// Materialized for auth lookups
|
|
617
|
-
email: (0, import_pg_core.text)("email").
|
|
668
|
+
email: (0, import_pg_core.text)("email").notNull(),
|
|
618
669
|
password: (0, import_pg_core.text)("password").notNull(),
|
|
619
670
|
// bcrypt hashed
|
|
620
671
|
// Basic profile (materialized for display)
|
|
@@ -630,16 +681,22 @@ var users = (0, import_pg_core.pgTable)(
|
|
|
630
681
|
onboarding_completed: t.bool("onboarding_completed").notNull().default(false),
|
|
631
682
|
// Force password change flag (admin-settable, auto-cleared on password change)
|
|
632
683
|
must_change_password: t.bool("must_change_password").notNull().default(false),
|
|
684
|
+
// Auth invalidation marker. Password changes set this timestamp so any
|
|
685
|
+
// previously issued browser access or refresh token is rejected.
|
|
686
|
+
tokens_valid_after: t.timestamp("tokens_valid_after"),
|
|
633
687
|
// JSON blob for profile/preferences
|
|
634
688
|
data: t.json("data").$type().notNull()
|
|
635
689
|
},
|
|
636
690
|
(table) => ({
|
|
637
|
-
|
|
691
|
+
tenantIdx: (0, import_pg_core.index)("users_tenant_id_idx").on(table.tenant_id),
|
|
692
|
+
emailIdx: (0, import_pg_core.index)("users_email_idx").on(table.email),
|
|
693
|
+
emailTenantUnique: (0, import_pg_core.uniqueIndex)("users_tenant_email_unique").on(table.tenant_id, table.email)
|
|
638
694
|
})
|
|
639
695
|
);
|
|
640
696
|
var groups = (0, import_pg_core.pgTable)(
|
|
641
697
|
"groups",
|
|
642
698
|
{
|
|
699
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
643
700
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).primaryKey(),
|
|
644
701
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
645
702
|
slug: (0, import_pg_core.text)("slug").notNull(),
|
|
@@ -652,13 +709,15 @@ var groups = (0, import_pg_core.pgTable)(
|
|
|
652
709
|
updated_at: t.timestamp("updated_at")
|
|
653
710
|
},
|
|
654
711
|
(table) => ({
|
|
655
|
-
|
|
712
|
+
tenantIdx: (0, import_pg_core.index)("groups_tenant_id_idx").on(table.tenant_id),
|
|
713
|
+
slugIdx: (0, import_pg_core.uniqueIndex)("groups_tenant_slug_unique").on(table.tenant_id, table.slug),
|
|
656
714
|
archivedIdx: (0, import_pg_core.index)("groups_archived_idx").on(table.archived)
|
|
657
715
|
})
|
|
658
716
|
);
|
|
659
717
|
var groupMemberships = (0, import_pg_core.pgTable)(
|
|
660
718
|
"group_memberships",
|
|
661
719
|
{
|
|
720
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
662
721
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
663
722
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
664
723
|
added_by: (0, import_pg_core.varchar)("added_by", { length: 36 }).references(() => users.user_id, {
|
|
@@ -667,6 +726,7 @@ var groupMemberships = (0, import_pg_core.pgTable)(
|
|
|
667
726
|
created_at: t.timestamp("created_at").notNull()
|
|
668
727
|
},
|
|
669
728
|
(table) => ({
|
|
729
|
+
tenantIdx: (0, import_pg_core.index)("group_memberships_tenant_id_idx").on(table.tenant_id),
|
|
670
730
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.group_id, table.user_id] }),
|
|
671
731
|
userIdx: (0, import_pg_core.index)("group_memberships_user_idx").on(table.user_id)
|
|
672
732
|
})
|
|
@@ -674,6 +734,7 @@ var groupMemberships = (0, import_pg_core.pgTable)(
|
|
|
674
734
|
var branchGroupGrants = (0, import_pg_core.pgTable)(
|
|
675
735
|
"branch_group_grants",
|
|
676
736
|
{
|
|
737
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
677
738
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
678
739
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
679
740
|
can: (0, import_pg_core.text)("can", { enum: [...BRANCH_PERMISSION_LEVELS] }).notNull().default("view"),
|
|
@@ -685,6 +746,7 @@ var branchGroupGrants = (0, import_pg_core.pgTable)(
|
|
|
685
746
|
updated_at: t.timestamp("updated_at")
|
|
686
747
|
},
|
|
687
748
|
(table) => ({
|
|
749
|
+
tenantIdx: (0, import_pg_core.index)("branch_group_grants_tenant_id_idx").on(table.tenant_id),
|
|
688
750
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.branch_id, table.group_id] }),
|
|
689
751
|
groupIdx: (0, import_pg_core.index)("branch_group_grants_group_idx").on(table.group_id)
|
|
690
752
|
})
|
|
@@ -692,6 +754,7 @@ var branchGroupGrants = (0, import_pg_core.pgTable)(
|
|
|
692
754
|
var boardGroupGrants = (0, import_pg_core.pgTable)(
|
|
693
755
|
"board_group_grants",
|
|
694
756
|
{
|
|
757
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
695
758
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
696
759
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
697
760
|
can: (0, import_pg_core.text)("can", { enum: [...BRANCH_PERMISSION_LEVELS] }).notNull().default("view"),
|
|
@@ -703,6 +766,7 @@ var boardGroupGrants = (0, import_pg_core.pgTable)(
|
|
|
703
766
|
updated_at: t.timestamp("updated_at")
|
|
704
767
|
},
|
|
705
768
|
(table) => ({
|
|
769
|
+
tenantIdx: (0, import_pg_core.index)("board_group_grants_tenant_id_idx").on(table.tenant_id),
|
|
706
770
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.board_id, table.group_id] }),
|
|
707
771
|
groupIdx: (0, import_pg_core.index)("board_group_grants_group_idx").on(table.group_id)
|
|
708
772
|
})
|
|
@@ -710,6 +774,7 @@ var boardGroupGrants = (0, import_pg_core.pgTable)(
|
|
|
710
774
|
var appVariables = (0, import_pg_core.pgTable)(
|
|
711
775
|
"app_variables",
|
|
712
776
|
{
|
|
777
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
713
778
|
variable_id: (0, import_pg_core.varchar)("variable_id", { length: 36 }).primaryKey(),
|
|
714
779
|
namespace: (0, import_pg_core.text)("namespace").notNull(),
|
|
715
780
|
key: (0, import_pg_core.text)("key").notNull(),
|
|
@@ -725,13 +790,19 @@ var appVariables = (0, import_pg_core.pgTable)(
|
|
|
725
790
|
updated_at: t.timestamp("updated_at").notNull()
|
|
726
791
|
},
|
|
727
792
|
(table) => ({
|
|
728
|
-
|
|
793
|
+
tenantIdx: (0, import_pg_core.index)("app_variables_tenant_id_idx").on(table.tenant_id),
|
|
794
|
+
namespaceKeyIdx: (0, import_pg_core.uniqueIndex)("app_variables_tenant_namespace_key_unique").on(
|
|
795
|
+
table.tenant_id,
|
|
796
|
+
table.namespace,
|
|
797
|
+
table.key
|
|
798
|
+
),
|
|
729
799
|
namespaceIdx: (0, import_pg_core.index)("app_variables_namespace_idx").on(table.namespace)
|
|
730
800
|
})
|
|
731
801
|
);
|
|
732
802
|
var userApiKeys = (0, import_pg_core.pgTable)(
|
|
733
803
|
"user_api_keys",
|
|
734
804
|
{
|
|
805
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
735
806
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
736
807
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
737
808
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
@@ -743,6 +814,7 @@ var userApiKeys = (0, import_pg_core.pgTable)(
|
|
|
743
814
|
last_used_at: t.timestamp("last_used_at")
|
|
744
815
|
},
|
|
745
816
|
(table) => ({
|
|
817
|
+
tenantIdx: (0, import_pg_core.index)("user_api_keys_tenant_id_idx").on(table.tenant_id),
|
|
746
818
|
userIdx: (0, import_pg_core.index)("user_api_keys_user_idx").on(table.user_id),
|
|
747
819
|
prefixIdx: (0, import_pg_core.index)("user_api_keys_prefix_idx").on(table.prefix)
|
|
748
820
|
})
|
|
@@ -750,6 +822,7 @@ var userApiKeys = (0, import_pg_core.pgTable)(
|
|
|
750
822
|
var mcpServers = (0, import_pg_core.pgTable)(
|
|
751
823
|
"mcp_servers",
|
|
752
824
|
{
|
|
825
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
753
826
|
// Primary identity
|
|
754
827
|
mcp_server_id: (0, import_pg_core.varchar)("mcp_server_id", { length: 36 }).primaryKey(),
|
|
755
828
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -776,6 +849,7 @@ var mcpServers = (0, import_pg_core.pgTable)(
|
|
|
776
849
|
data: t.json("data").$type().notNull()
|
|
777
850
|
},
|
|
778
851
|
(table) => ({
|
|
852
|
+
tenantIdx: (0, import_pg_core.index)("mcp_servers_tenant_id_idx").on(table.tenant_id),
|
|
779
853
|
nameIdx: (0, import_pg_core.index)("mcp_servers_name_idx").on(table.name),
|
|
780
854
|
scopeIdx: (0, import_pg_core.index)("mcp_servers_scope_idx").on(table.scope),
|
|
781
855
|
ownerIdx: (0, import_pg_core.index)("mcp_servers_owner_idx").on(table.owner_user_id),
|
|
@@ -785,6 +859,7 @@ var mcpServers = (0, import_pg_core.pgTable)(
|
|
|
785
859
|
var cardTypes = (0, import_pg_core.pgTable)(
|
|
786
860
|
"card_types",
|
|
787
861
|
{
|
|
862
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
788
863
|
card_type_id: (0, import_pg_core.varchar)("card_type_id", { length: 36 }).primaryKey(),
|
|
789
864
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
790
865
|
emoji: (0, import_pg_core.text)("emoji"),
|
|
@@ -796,12 +871,14 @@ var cardTypes = (0, import_pg_core.pgTable)(
|
|
|
796
871
|
updated_at: t.timestamp("updated_at").notNull()
|
|
797
872
|
},
|
|
798
873
|
(table) => ({
|
|
874
|
+
tenantIdx: (0, import_pg_core.index)("card_types_tenant_id_idx").on(table.tenant_id),
|
|
799
875
|
nameIdx: (0, import_pg_core.index)("card_types_name_idx").on(table.name)
|
|
800
876
|
})
|
|
801
877
|
);
|
|
802
878
|
var cards = (0, import_pg_core.pgTable)(
|
|
803
879
|
"cards",
|
|
804
880
|
{
|
|
881
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
805
882
|
card_id: (0, import_pg_core.varchar)("card_id", { length: 36 }).primaryKey(),
|
|
806
883
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
807
884
|
card_type_id: (0, import_pg_core.varchar)("card_type_id", { length: 36 }).references(() => cardTypes.card_type_id, {
|
|
@@ -822,6 +899,7 @@ var cards = (0, import_pg_core.pgTable)(
|
|
|
822
899
|
archived_at: t.timestamp("archived_at")
|
|
823
900
|
},
|
|
824
901
|
(table) => ({
|
|
902
|
+
tenantIdx: (0, import_pg_core.index)("cards_tenant_id_idx").on(table.tenant_id),
|
|
825
903
|
boardIdx: (0, import_pg_core.index)("cards_board_idx").on(table.board_id),
|
|
826
904
|
cardTypeIdx: (0, import_pg_core.index)("cards_card_type_idx").on(table.card_type_id),
|
|
827
905
|
titleIdx: (0, import_pg_core.index)("cards_title_idx").on(table.title),
|
|
@@ -832,6 +910,7 @@ var cards = (0, import_pg_core.pgTable)(
|
|
|
832
910
|
var artifacts = (0, import_pg_core.pgTable)(
|
|
833
911
|
"artifacts",
|
|
834
912
|
{
|
|
913
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
835
914
|
artifact_id: (0, import_pg_core.varchar)("artifact_id", { length: 36 }).primaryKey(),
|
|
836
915
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).references(() => branches.branch_id, {
|
|
837
916
|
onDelete: "set null"
|
|
@@ -867,6 +946,7 @@ var artifacts = (0, import_pg_core.pgTable)(
|
|
|
867
946
|
archived_at: t.timestamp("archived_at")
|
|
868
947
|
},
|
|
869
948
|
(table) => ({
|
|
949
|
+
tenantIdx: (0, import_pg_core.index)("artifacts_tenant_id_idx").on(table.tenant_id),
|
|
870
950
|
branchIdx: (0, import_pg_core.index)("artifacts_branch_idx").on(table.branch_id),
|
|
871
951
|
sourceSessionIdx: (0, import_pg_core.index)("artifacts_source_session_idx").on(table.source_session_id),
|
|
872
952
|
boardIdx: (0, import_pg_core.index)("artifacts_board_idx").on(table.board_id),
|
|
@@ -877,6 +957,7 @@ var artifacts = (0, import_pg_core.pgTable)(
|
|
|
877
957
|
var artifactTrustGrants = (0, import_pg_core.pgTable)(
|
|
878
958
|
"artifact_trust_grants",
|
|
879
959
|
{
|
|
960
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
880
961
|
grant_id: (0, import_pg_core.varchar)("grant_id", { length: 36 }).primaryKey(),
|
|
881
962
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull(),
|
|
882
963
|
scope_type: (0, import_pg_core.text)("scope_type").notNull(),
|
|
@@ -887,6 +968,7 @@ var artifactTrustGrants = (0, import_pg_core.pgTable)(
|
|
|
887
968
|
revoked_at: t.timestamp("revoked_at")
|
|
888
969
|
},
|
|
889
970
|
(table) => ({
|
|
971
|
+
tenantIdx: (0, import_pg_core.index)("artifact_trust_grants_tenant_id_idx").on(table.tenant_id),
|
|
890
972
|
userIdx: (0, import_pg_core.index)("artifact_trust_grants_user_idx").on(table.user_id),
|
|
891
973
|
scopeIdx: (0, import_pg_core.index)("artifact_trust_grants_scope_idx").on(table.scope_type, table.scope_value)
|
|
892
974
|
})
|
|
@@ -894,6 +976,7 @@ var artifactTrustGrants = (0, import_pg_core.pgTable)(
|
|
|
894
976
|
var boardObjects = (0, import_pg_core.pgTable)(
|
|
895
977
|
"board_objects",
|
|
896
978
|
{
|
|
979
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
897
980
|
// Primary identity
|
|
898
981
|
object_id: (0, import_pg_core.varchar)("object_id", { length: 36 }).primaryKey(),
|
|
899
982
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
@@ -909,6 +992,7 @@ var boardObjects = (0, import_pg_core.pgTable)(
|
|
|
909
992
|
data: t.json("data").$type().notNull()
|
|
910
993
|
},
|
|
911
994
|
(table) => ({
|
|
995
|
+
tenantIdx: (0, import_pg_core.index)("board_objects_tenant_id_idx").on(table.tenant_id),
|
|
912
996
|
boardIdx: (0, import_pg_core.index)("board_objects_board_idx").on(table.board_id),
|
|
913
997
|
branchIdx: (0, import_pg_core.index)("board_objects_branch_idx").on(table.branch_id),
|
|
914
998
|
cardIdx: (0, import_pg_core.index)("board_objects_card_idx").on(table.card_id)
|
|
@@ -917,12 +1001,14 @@ var boardObjects = (0, import_pg_core.pgTable)(
|
|
|
917
1001
|
var sessionMcpServers = (0, import_pg_core.pgTable)(
|
|
918
1002
|
"session_mcp_servers",
|
|
919
1003
|
{
|
|
1004
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
920
1005
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
921
1006
|
mcp_server_id: (0, import_pg_core.varchar)("mcp_server_id", { length: 36 }).notNull().references(() => mcpServers.mcp_server_id, { onDelete: "cascade" }),
|
|
922
1007
|
enabled: t.bool("enabled").notNull().default(true),
|
|
923
1008
|
added_at: t.timestamp("added_at").notNull()
|
|
924
1009
|
},
|
|
925
1010
|
(table) => ({
|
|
1011
|
+
tenantIdx: (0, import_pg_core.index)("session_mcp_servers_tenant_id_idx").on(table.tenant_id),
|
|
926
1012
|
// Composite primary key
|
|
927
1013
|
pk: (0, import_pg_core.index)("session_mcp_servers_pk").on(table.session_id, table.mcp_server_id),
|
|
928
1014
|
// Indexes for queries
|
|
@@ -934,6 +1020,7 @@ var sessionMcpServers = (0, import_pg_core.pgTable)(
|
|
|
934
1020
|
var userMcpOauthTokens = (0, import_pg_core.pgTable)(
|
|
935
1021
|
"user_mcp_oauth_tokens",
|
|
936
1022
|
{
|
|
1023
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
937
1024
|
// NULL = shared-mode token (one per mcp_server_id)
|
|
938
1025
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).references(() => users.user_id, {
|
|
939
1026
|
onDelete: "cascade"
|
|
@@ -951,6 +1038,7 @@ var userMcpOauthTokens = (0, import_pg_core.pgTable)(
|
|
|
951
1038
|
updated_at: t.timestamp("updated_at")
|
|
952
1039
|
},
|
|
953
1040
|
(table) => ({
|
|
1041
|
+
tenantIdx: (0, import_pg_core.index)("user_mcp_oauth_tokens_tenant_id_idx").on(table.tenant_id),
|
|
954
1042
|
// Composite lookup indexes. Uniqueness enforced via partial unique indexes
|
|
955
1043
|
// created in the migration (one for per-user rows, one for the shared row).
|
|
956
1044
|
pk: (0, import_pg_core.index)("user_mcp_oauth_tokens_pk").on(table.user_id, table.mcp_server_id),
|
|
@@ -961,6 +1049,7 @@ var userMcpOauthTokens = (0, import_pg_core.pgTable)(
|
|
|
961
1049
|
var boardComments = (0, import_pg_core.pgTable)(
|
|
962
1050
|
"board_comments",
|
|
963
1051
|
{
|
|
1052
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
964
1053
|
// Primary identity
|
|
965
1054
|
comment_id: (0, import_pg_core.varchar)("comment_id", { length: 36 }).primaryKey(),
|
|
966
1055
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1002,6 +1091,7 @@ var boardComments = (0, import_pg_core.pgTable)(
|
|
|
1002
1091
|
data: t.json("data").$type().notNull()
|
|
1003
1092
|
},
|
|
1004
1093
|
(table) => ({
|
|
1094
|
+
tenantIdx: (0, import_pg_core.index)("board_comments_tenant_id_idx").on(table.tenant_id),
|
|
1005
1095
|
boardIdx: (0, import_pg_core.index)("board_comments_board_idx").on(table.board_id),
|
|
1006
1096
|
sessionIdx: (0, import_pg_core.index)("board_comments_session_idx").on(table.session_id),
|
|
1007
1097
|
taskIdx: (0, import_pg_core.index)("board_comments_task_idx").on(table.task_id),
|
|
@@ -1016,6 +1106,7 @@ var boardComments = (0, import_pg_core.pgTable)(
|
|
|
1016
1106
|
var gatewayChannels = (0, import_pg_core.pgTable)(
|
|
1017
1107
|
"gateway_channels",
|
|
1018
1108
|
{
|
|
1109
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1019
1110
|
// Primary identity
|
|
1020
1111
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1021
1112
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1029,7 +1120,7 @@ var gatewayChannels = (0, import_pg_core.pgTable)(
|
|
|
1029
1120
|
}).notNull(),
|
|
1030
1121
|
target_branch_id: (0, import_pg_core.varchar)("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1031
1122
|
agor_user_id: (0, import_pg_core.varchar)("agor_user_id", { length: 36 }).notNull(),
|
|
1032
|
-
channel_key: (0, import_pg_core.text)("channel_key").notNull()
|
|
1123
|
+
channel_key: (0, import_pg_core.text)("channel_key").notNull(),
|
|
1033
1124
|
enabled: t.bool("enabled").notNull().default(true),
|
|
1034
1125
|
last_message_at: t.timestamp("last_message_at"),
|
|
1035
1126
|
// JSON blob for platform credentials (encrypted at rest)
|
|
@@ -1038,13 +1129,19 @@ var gatewayChannels = (0, import_pg_core.pgTable)(
|
|
|
1038
1129
|
agentic_config: t.json("agentic_config")
|
|
1039
1130
|
},
|
|
1040
1131
|
(table) => ({
|
|
1132
|
+
tenantIdx: (0, import_pg_core.index)("gateway_channels_tenant_id_idx").on(table.tenant_id),
|
|
1041
1133
|
channelKeyIdx: (0, import_pg_core.index)("idx_gateway_channel_key").on(table.channel_key),
|
|
1134
|
+
channelKeyTenantUnique: (0, import_pg_core.uniqueIndex)("gateway_channels_tenant_channel_key_unique").on(
|
|
1135
|
+
table.tenant_id,
|
|
1136
|
+
table.channel_key
|
|
1137
|
+
),
|
|
1042
1138
|
enabledTypeIdx: (0, import_pg_core.index)("idx_gateway_enabled_type").on(table.enabled, table.channel_type)
|
|
1043
1139
|
})
|
|
1044
1140
|
);
|
|
1045
1141
|
var threadSessionMap = (0, import_pg_core.pgTable)(
|
|
1046
1142
|
"thread_session_map",
|
|
1047
1143
|
{
|
|
1144
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1048
1145
|
// Primary identity
|
|
1049
1146
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1050
1147
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1062,7 +1159,9 @@ var threadSessionMap = (0, import_pg_core.pgTable)(
|
|
|
1062
1159
|
metadata: t.json("metadata")
|
|
1063
1160
|
},
|
|
1064
1161
|
(table) => ({
|
|
1065
|
-
|
|
1162
|
+
tenantIdx: (0, import_pg_core.index)("thread_session_map_tenant_id_idx").on(table.tenant_id),
|
|
1163
|
+
uniqueChannelThread: (0, import_pg_core.uniqueIndex)("uniq_thread_map_tenant_channel_thread").on(
|
|
1164
|
+
table.tenant_id,
|
|
1066
1165
|
table.channel_id,
|
|
1067
1166
|
table.thread_id
|
|
1068
1167
|
),
|
|
@@ -1071,14 +1170,82 @@ var threadSessionMap = (0, import_pg_core.pgTable)(
|
|
|
1071
1170
|
channelStatusIdx: (0, import_pg_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
1072
1171
|
})
|
|
1073
1172
|
);
|
|
1173
|
+
var gatewayOutboundMessages = (0, import_pg_core.pgTable)(
|
|
1174
|
+
"gateway_outbound_messages",
|
|
1175
|
+
{
|
|
1176
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1177
|
+
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1178
|
+
created_at: t.timestamp("created_at").notNull(),
|
|
1179
|
+
updated_at: t.timestamp("updated_at").notNull(),
|
|
1180
|
+
gateway_channel_id: (0, import_pg_core.varchar)("gateway_channel_id", { length: 36 }).notNull().references(() => gatewayChannels.id, { onDelete: "cascade" }),
|
|
1181
|
+
channel_type: (0, import_pg_core.text)("channel_type", {
|
|
1182
|
+
enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
|
|
1183
|
+
}).notNull(),
|
|
1184
|
+
platform_channel_id: (0, import_pg_core.text)("platform_channel_id").notNull(),
|
|
1185
|
+
platform_message_id: (0, import_pg_core.text)("platform_message_id").notNull(),
|
|
1186
|
+
platform_thread_id: (0, import_pg_core.text)("platform_thread_id").notNull(),
|
|
1187
|
+
platform_permalink: (0, import_pg_core.text)("platform_permalink"),
|
|
1188
|
+
target_branch_id: (0, import_pg_core.varchar)("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id),
|
|
1189
|
+
emitted_by_user_id: (0, import_pg_core.varchar)("emitted_by_user_id", { length: 36 }).notNull().references(() => users.user_id),
|
|
1190
|
+
emitted_by_session_id: (0, import_pg_core.varchar)("emitted_by_session_id", { length: 36 }).references(
|
|
1191
|
+
() => sessions.session_id,
|
|
1192
|
+
{
|
|
1193
|
+
onDelete: "set null"
|
|
1194
|
+
}
|
|
1195
|
+
),
|
|
1196
|
+
emitted_by_task_id: (0, import_pg_core.varchar)("emitted_by_task_id", { length: 36 }).references(
|
|
1197
|
+
() => tasks.task_id,
|
|
1198
|
+
{
|
|
1199
|
+
onDelete: "set null"
|
|
1200
|
+
}
|
|
1201
|
+
),
|
|
1202
|
+
emitted_by_schedule_id: (0, import_pg_core.varchar)("emitted_by_schedule_id", { length: 36 }).references(
|
|
1203
|
+
() => schedules.schedule_id,
|
|
1204
|
+
{
|
|
1205
|
+
onDelete: "set null"
|
|
1206
|
+
}
|
|
1207
|
+
),
|
|
1208
|
+
message_text: (0, import_pg_core.text)("message_text").notNull(),
|
|
1209
|
+
message_preview: (0, import_pg_core.text)("message_preview").notNull(),
|
|
1210
|
+
metadata: t.json("metadata"),
|
|
1211
|
+
consumed_by_session_id: (0, import_pg_core.varchar)("consumed_by_session_id", { length: 36 }).references(
|
|
1212
|
+
() => sessions.session_id,
|
|
1213
|
+
{
|
|
1214
|
+
onDelete: "set null"
|
|
1215
|
+
}
|
|
1216
|
+
),
|
|
1217
|
+
consumed_at: t.timestamp("consumed_at")
|
|
1218
|
+
},
|
|
1219
|
+
(table) => ({
|
|
1220
|
+
tenantIdx: (0, import_pg_core.index)("gateway_outbound_messages_tenant_id_idx").on(table.tenant_id),
|
|
1221
|
+
uniqueChannelThread: (0, import_pg_core.uniqueIndex)("uniq_gateway_outbound_tenant_channel_thread").on(
|
|
1222
|
+
table.tenant_id,
|
|
1223
|
+
table.gateway_channel_id,
|
|
1224
|
+
table.platform_thread_id
|
|
1225
|
+
),
|
|
1226
|
+
emittedSessionIdx: (0, import_pg_core.index)("idx_gateway_outbound_emitted_session").on(
|
|
1227
|
+
table.emitted_by_session_id
|
|
1228
|
+
),
|
|
1229
|
+
emittedScheduleIdx: (0, import_pg_core.index)("idx_gateway_outbound_emitted_schedule").on(
|
|
1230
|
+
table.emitted_by_schedule_id
|
|
1231
|
+
),
|
|
1232
|
+
targetBranchCreatedIdx: (0, import_pg_core.index)("idx_gateway_outbound_branch_created").on(
|
|
1233
|
+
table.target_branch_id,
|
|
1234
|
+
table.created_at
|
|
1235
|
+
),
|
|
1236
|
+
consumedIdx: (0, import_pg_core.index)("idx_gateway_outbound_consumed").on(table.consumed_at)
|
|
1237
|
+
})
|
|
1238
|
+
);
|
|
1074
1239
|
var sessionEnvSelections = (0, import_pg_core.pgTable)(
|
|
1075
1240
|
"session_env_selections",
|
|
1076
1241
|
{
|
|
1242
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1077
1243
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
1078
1244
|
env_var_name: (0, import_pg_core.text)("env_var_name").notNull(),
|
|
1079
1245
|
created_at: t.timestamp("created_at").notNull()
|
|
1080
1246
|
},
|
|
1081
1247
|
(table) => ({
|
|
1248
|
+
tenantIdx: (0, import_pg_core.index)("session_env_selections_tenant_id_idx").on(table.tenant_id),
|
|
1082
1249
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.session_id, table.env_var_name] }),
|
|
1083
1250
|
sessionIdx: (0, import_pg_core.index)("session_env_selections_session_idx").on(table.session_id)
|
|
1084
1251
|
})
|
|
@@ -1086,6 +1253,7 @@ var sessionEnvSelections = (0, import_pg_core.pgTable)(
|
|
|
1086
1253
|
var kbNamespaces = (0, import_pg_core.pgTable)(
|
|
1087
1254
|
"kb_namespaces",
|
|
1088
1255
|
{
|
|
1256
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1089
1257
|
namespace_id: (0, import_pg_core.varchar)("namespace_id", { length: 36 }).primaryKey(),
|
|
1090
1258
|
slug: (0, import_pg_core.text)("slug").notNull(),
|
|
1091
1259
|
display_name: (0, import_pg_core.text)("display_name").notNull(),
|
|
@@ -1112,7 +1280,8 @@ var kbNamespaces = (0, import_pg_core.pgTable)(
|
|
|
1112
1280
|
archived_at: t.timestamp("archived_at")
|
|
1113
1281
|
},
|
|
1114
1282
|
(table) => ({
|
|
1115
|
-
|
|
1283
|
+
tenantIdx: (0, import_pg_core.index)("kb_namespaces_tenant_id_idx").on(table.tenant_id),
|
|
1284
|
+
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`),
|
|
1116
1285
|
kindIdx: (0, import_pg_core.index)("kb_namespaces_kind_idx").on(table.kind),
|
|
1117
1286
|
ownerIdx: (0, import_pg_core.index)("kb_namespaces_owner_idx").on(table.owner_user_id),
|
|
1118
1287
|
repoIdx: (0, import_pg_core.index)("kb_namespaces_repo_idx").on(table.repo_id),
|
|
@@ -1123,6 +1292,7 @@ var kbNamespaces = (0, import_pg_core.pgTable)(
|
|
|
1123
1292
|
var kbNamespaceAcl = (0, import_pg_core.pgTable)(
|
|
1124
1293
|
"kb_namespace_acl",
|
|
1125
1294
|
{
|
|
1295
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1126
1296
|
namespace_acl_id: (0, import_pg_core.varchar)("namespace_acl_id", { length: 36 }).primaryKey(),
|
|
1127
1297
|
namespace_id: (0, import_pg_core.varchar)("namespace_id", { length: 36 }).notNull().references(() => kbNamespaces.namespace_id, { onDelete: "cascade" }),
|
|
1128
1298
|
subject_type: (0, import_pg_core.text)("subject_type", { enum: ["user", "group"] }).notNull(),
|
|
@@ -1135,9 +1305,11 @@ var kbNamespaceAcl = (0, import_pg_core.pgTable)(
|
|
|
1135
1305
|
updated_at: t.timestamp("updated_at")
|
|
1136
1306
|
},
|
|
1137
1307
|
(table) => ({
|
|
1308
|
+
tenantIdx: (0, import_pg_core.index)("kb_namespace_acl_tenant_id_idx").on(table.tenant_id),
|
|
1138
1309
|
namespaceIdx: (0, import_pg_core.index)("kb_namespace_acl_namespace_idx").on(table.namespace_id),
|
|
1139
1310
|
subjectIdx: (0, import_pg_core.index)("kb_namespace_acl_subject_idx").on(table.subject_type, table.subject_id),
|
|
1140
|
-
namespaceSubjectIdx: (0, import_pg_core.uniqueIndex)("
|
|
1311
|
+
namespaceSubjectIdx: (0, import_pg_core.uniqueIndex)("kb_namespace_acl_tenant_namespace_subject_unique").on(
|
|
1312
|
+
table.tenant_id,
|
|
1141
1313
|
table.namespace_id,
|
|
1142
1314
|
table.subject_type,
|
|
1143
1315
|
table.subject_id
|
|
@@ -1147,6 +1319,7 @@ var kbNamespaceAcl = (0, import_pg_core.pgTable)(
|
|
|
1147
1319
|
var kbDocuments = (0, import_pg_core.pgTable)(
|
|
1148
1320
|
"kb_documents",
|
|
1149
1321
|
{
|
|
1322
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1150
1323
|
document_id: (0, import_pg_core.varchar)("document_id", { length: 36 }).primaryKey(),
|
|
1151
1324
|
namespace_id: (0, import_pg_core.varchar)("namespace_id", { length: 36 }).notNull().references(() => kbNamespaces.namespace_id, { onDelete: "cascade" }),
|
|
1152
1325
|
path: (0, import_pg_core.text)("path").notNull(),
|
|
@@ -1174,8 +1347,9 @@ var kbDocuments = (0, import_pg_core.pgTable)(
|
|
|
1174
1347
|
archived_at: t.timestamp("archived_at")
|
|
1175
1348
|
},
|
|
1176
1349
|
(table) => ({
|
|
1177
|
-
|
|
1178
|
-
|
|
1350
|
+
tenantIdx: (0, import_pg_core.index)("kb_documents_tenant_id_idx").on(table.tenant_id),
|
|
1351
|
+
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`),
|
|
1352
|
+
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`),
|
|
1179
1353
|
namespaceIdx: (0, import_pg_core.index)("kb_documents_namespace_idx").on(table.namespace_id),
|
|
1180
1354
|
kindIdx: (0, import_pg_core.index)("kb_documents_kind_idx").on(table.kind),
|
|
1181
1355
|
visibilityIdx: (0, import_pg_core.index)("kb_documents_visibility_idx").on(table.visibility),
|
|
@@ -1188,6 +1362,7 @@ var kbDocuments = (0, import_pg_core.pgTable)(
|
|
|
1188
1362
|
var kbDocumentVersions = (0, import_pg_core.pgTable)(
|
|
1189
1363
|
"kb_document_versions",
|
|
1190
1364
|
{
|
|
1365
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1191
1366
|
version_id: (0, import_pg_core.varchar)("version_id", { length: 36 }).primaryKey(),
|
|
1192
1367
|
document_id: (0, import_pg_core.varchar)("document_id", { length: 36 }).notNull().references(() => kbDocuments.document_id, { onDelete: "cascade" }),
|
|
1193
1368
|
version_number: (0, import_pg_core.integer)("version_number").notNull(),
|
|
@@ -1207,7 +1382,9 @@ var kbDocumentVersions = (0, import_pg_core.pgTable)(
|
|
|
1207
1382
|
created_at: t.timestamp("created_at").notNull()
|
|
1208
1383
|
},
|
|
1209
1384
|
(table) => ({
|
|
1210
|
-
|
|
1385
|
+
tenantIdx: (0, import_pg_core.index)("kb_document_versions_tenant_id_idx").on(table.tenant_id),
|
|
1386
|
+
documentVersionIdx: (0, import_pg_core.uniqueIndex)("kb_document_versions_tenant_document_version_unique").on(
|
|
1387
|
+
table.tenant_id,
|
|
1211
1388
|
table.document_id,
|
|
1212
1389
|
table.version_number
|
|
1213
1390
|
),
|
|
@@ -1219,6 +1396,7 @@ var kbDocumentVersions = (0, import_pg_core.pgTable)(
|
|
|
1219
1396
|
var kbDocumentUnits = (0, import_pg_core.pgTable)(
|
|
1220
1397
|
"kb_document_units",
|
|
1221
1398
|
{
|
|
1399
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1222
1400
|
unit_id: (0, import_pg_core.varchar)("unit_id", { length: 36 }).primaryKey(),
|
|
1223
1401
|
document_id: (0, import_pg_core.varchar)("document_id", { length: 36 }).notNull().references(() => kbDocuments.document_id, { onDelete: "cascade" }),
|
|
1224
1402
|
version_id: (0, import_pg_core.varchar)("version_id", { length: 36 }).notNull().references(() => kbDocumentVersions.version_id, { onDelete: "cascade" }),
|
|
@@ -1243,6 +1421,7 @@ var kbDocumentUnits = (0, import_pg_core.pgTable)(
|
|
|
1243
1421
|
updated_at: t.timestamp("updated_at")
|
|
1244
1422
|
},
|
|
1245
1423
|
(table) => ({
|
|
1424
|
+
tenantIdx: (0, import_pg_core.index)("kb_document_units_tenant_id_idx").on(table.tenant_id),
|
|
1246
1425
|
documentIdx: (0, import_pg_core.index)("kb_document_units_document_idx").on(table.document_id),
|
|
1247
1426
|
versionIdx: (0, import_pg_core.index)("kb_document_units_version_idx").on(table.version_id),
|
|
1248
1427
|
versionOrdinalIdx: (0, import_pg_core.index)("kb_document_units_version_ordinal_idx").on(
|
|
@@ -1256,6 +1435,7 @@ var kbDocumentUnits = (0, import_pg_core.pgTable)(
|
|
|
1256
1435
|
var kbEmbeddingSpaces = (0, import_pg_core.pgTable)(
|
|
1257
1436
|
"kb_embedding_spaces",
|
|
1258
1437
|
{
|
|
1438
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1259
1439
|
embedding_space_id: (0, import_pg_core.varchar)("embedding_space_id", { length: 36 }).primaryKey(),
|
|
1260
1440
|
provider: (0, import_pg_core.text)("provider").notNull(),
|
|
1261
1441
|
model: (0, import_pg_core.text)("model").notNull(),
|
|
@@ -1268,7 +1448,9 @@ var kbEmbeddingSpaces = (0, import_pg_core.pgTable)(
|
|
|
1268
1448
|
updated_at: t.timestamp("updated_at")
|
|
1269
1449
|
},
|
|
1270
1450
|
(table) => ({
|
|
1271
|
-
|
|
1451
|
+
tenantIdx: (0, import_pg_core.index)("kb_embedding_spaces_tenant_id_idx").on(table.tenant_id),
|
|
1452
|
+
providerModelIdx: (0, import_pg_core.uniqueIndex)("kb_embedding_spaces_tenant_provider_model_unique").on(
|
|
1453
|
+
table.tenant_id,
|
|
1272
1454
|
table.provider,
|
|
1273
1455
|
table.model,
|
|
1274
1456
|
table.dimensions,
|
|
@@ -1281,6 +1463,7 @@ var kbEmbeddingSpaces = (0, import_pg_core.pgTable)(
|
|
|
1281
1463
|
var kbGraphNodes = (0, import_pg_core.pgTable)(
|
|
1282
1464
|
"kb_graph_nodes",
|
|
1283
1465
|
{
|
|
1466
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1284
1467
|
node_id: (0, import_pg_core.varchar)("node_id", { length: 36 }).primaryKey(),
|
|
1285
1468
|
node_type: (0, import_pg_core.text)("node_type", {
|
|
1286
1469
|
enum: [
|
|
@@ -1346,7 +1529,8 @@ var kbGraphNodes = (0, import_pg_core.pgTable)(
|
|
|
1346
1529
|
archived_at: t.timestamp("archived_at")
|
|
1347
1530
|
},
|
|
1348
1531
|
(table) => ({
|
|
1349
|
-
|
|
1532
|
+
tenantIdx: (0, import_pg_core.index)("kb_graph_nodes_tenant_id_idx").on(table.tenant_id),
|
|
1533
|
+
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`),
|
|
1350
1534
|
typeIdx: (0, import_pg_core.index)("kb_graph_nodes_type_idx").on(table.node_type),
|
|
1351
1535
|
namespaceIdx: (0, import_pg_core.index)("kb_graph_nodes_namespace_idx").on(table.namespace_id),
|
|
1352
1536
|
documentIdx: (0, import_pg_core.index)("kb_graph_nodes_document_idx").on(table.document_id),
|
|
@@ -1366,6 +1550,7 @@ var kbGraphNodes = (0, import_pg_core.pgTable)(
|
|
|
1366
1550
|
var kbGraphEdges = (0, import_pg_core.pgTable)(
|
|
1367
1551
|
"kb_graph_edges",
|
|
1368
1552
|
{
|
|
1553
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1369
1554
|
edge_id: (0, import_pg_core.varchar)("edge_id", { length: 36 }).primaryKey(),
|
|
1370
1555
|
source_node_id: (0, import_pg_core.varchar)("source_node_id", { length: 36 }).notNull().references(() => kbGraphNodes.node_id, { onDelete: "cascade" }),
|
|
1371
1556
|
target_node_id: (0, import_pg_core.varchar)("target_node_id", { length: 36 }).notNull().references(() => kbGraphNodes.node_id, { onDelete: "cascade" }),
|
|
@@ -1394,6 +1579,7 @@ var kbGraphEdges = (0, import_pg_core.pgTable)(
|
|
|
1394
1579
|
archived_at: t.timestamp("archived_at")
|
|
1395
1580
|
},
|
|
1396
1581
|
(table) => ({
|
|
1582
|
+
tenantIdx: (0, import_pg_core.index)("kb_graph_edges_tenant_id_idx").on(table.tenant_id),
|
|
1397
1583
|
sourceIdx: (0, import_pg_core.index)("kb_graph_edges_source_idx").on(table.source_node_id),
|
|
1398
1584
|
targetIdx: (0, import_pg_core.index)("kb_graph_edges_target_idx").on(table.target_node_id),
|
|
1399
1585
|
typeIdx: (0, import_pg_core.index)("kb_graph_edges_type_idx").on(table.edge_type),
|
|
@@ -1405,7 +1591,7 @@ var kbGraphEdges = (0, import_pg_core.pgTable)(
|
|
|
1405
1591
|
table.target_node_id,
|
|
1406
1592
|
table.edge_type
|
|
1407
1593
|
),
|
|
1408
|
-
sourceTargetTypeIdx: (0, import_pg_core.uniqueIndex)("
|
|
1594
|
+
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`),
|
|
1409
1595
|
archivedIdx: (0, import_pg_core.index)("kb_graph_edges_archived_idx").on(table.archived)
|
|
1410
1596
|
})
|
|
1411
1597
|
);
|
|
@@ -1467,6 +1653,7 @@ __export(schema_sqlite_exports, {
|
|
|
1467
1653
|
cardTypes: () => cardTypes2,
|
|
1468
1654
|
cards: () => cards2,
|
|
1469
1655
|
gatewayChannels: () => gatewayChannels2,
|
|
1656
|
+
gatewayOutboundMessages: () => gatewayOutboundMessages2,
|
|
1470
1657
|
groupMemberships: () => groupMemberships2,
|
|
1471
1658
|
groups: () => groups2,
|
|
1472
1659
|
kbDocumentUnits: () => kbDocumentUnits2,
|
|
@@ -1565,6 +1752,7 @@ var sessions2 = (0, import_sqlite_core.sqliteTable)(
|
|
|
1565
1752
|
},
|
|
1566
1753
|
(table) => ({
|
|
1567
1754
|
statusIdx: (0, import_sqlite_core.index)("sessions_status_idx").on(table.status),
|
|
1755
|
+
statusReadyIdx: (0, import_sqlite_core.index)("sessions_status_ready_idx").on(table.status, table.ready_for_prompt),
|
|
1568
1756
|
agenticToolIdx: (0, import_sqlite_core.index)("sessions_agentic_tool_idx").on(table.agentic_tool),
|
|
1569
1757
|
boardIdx: (0, import_sqlite_core.index)("sessions_board_idx").on(table.board_id),
|
|
1570
1758
|
branchIdx: (0, import_sqlite_core.index)("sessions_branch_idx").on(table.branch_id),
|
|
@@ -1604,6 +1792,9 @@ var sessionRelationships2 = (0, import_sqlite_core.sqliteTable)(
|
|
|
1604
1792
|
sourceIdx: (0, import_sqlite_core.index)("session_relationships_source_idx").on(table.source_session_id),
|
|
1605
1793
|
targetIdx: (0, import_sqlite_core.index)("session_relationships_target_idx").on(table.target_session_id),
|
|
1606
1794
|
callbackIdx: (0, import_sqlite_core.index)("session_relationships_callback_idx").on(table.callback_session_id),
|
|
1795
|
+
// Note: no tenant_source/tenant_target composite indexes here — SQLite schema
|
|
1796
|
+
// has no tenant column on this table (RLS is Postgres-only). The standalone
|
|
1797
|
+
// source/target indexes above are sufficient for SQLite.
|
|
1607
1798
|
sourceTargetTypeUnique: (0, import_sqlite_core.uniqueIndex)("session_relationships_source_target_type_unique").on(
|
|
1608
1799
|
table.source_session_id,
|
|
1609
1800
|
table.target_session_id,
|
|
@@ -1723,7 +1914,12 @@ var messages2 = (0, import_sqlite_core.sqliteTable)(
|
|
|
1723
1914
|
// Indexes for efficient lookups
|
|
1724
1915
|
sessionIdx: (0, import_sqlite_core.index)("messages_session_id_idx").on(table.session_id),
|
|
1725
1916
|
taskIdx: (0, import_sqlite_core.index)("messages_task_id_idx").on(table.task_id),
|
|
1726
|
-
sessionIndexIdx: (0, import_sqlite_core.index)("messages_session_index_idx").on(table.session_id, table.index)
|
|
1917
|
+
sessionIndexIdx: (0, import_sqlite_core.index)("messages_session_index_idx").on(table.session_id, table.index),
|
|
1918
|
+
timestampIdx: (0, import_sqlite_core.index)("messages_timestamp_idx").on(table.timestamp),
|
|
1919
|
+
sessionTimestampIdx: (0, import_sqlite_core.index)("messages_session_timestamp_idx").on(
|
|
1920
|
+
table.session_id,
|
|
1921
|
+
table.timestamp
|
|
1922
|
+
)
|
|
1727
1923
|
})
|
|
1728
1924
|
);
|
|
1729
1925
|
var boards2 = (0, import_sqlite_core.sqliteTable)(
|
|
@@ -1949,6 +2145,9 @@ var users2 = (0, import_sqlite_core.sqliteTable)(
|
|
|
1949
2145
|
onboarding_completed: t2.bool("onboarding_completed").notNull().default(false),
|
|
1950
2146
|
// Force password change flag (admin-settable, auto-cleared on password change)
|
|
1951
2147
|
must_change_password: t2.bool("must_change_password").notNull().default(false),
|
|
2148
|
+
// Auth invalidation marker. Password changes set this timestamp so any
|
|
2149
|
+
// previously issued browser access or refresh token is rejected.
|
|
2150
|
+
tokens_valid_after: t2.timestamp("tokens_valid_after"),
|
|
1952
2151
|
// JSON blob for profile/preferences
|
|
1953
2152
|
data: t2.json("data").$type().notNull()
|
|
1954
2153
|
},
|
|
@@ -2392,6 +2591,66 @@ var threadSessionMap2 = (0, import_sqlite_core.sqliteTable)(
|
|
|
2392
2591
|
channelStatusIdx: (0, import_sqlite_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
2393
2592
|
})
|
|
2394
2593
|
);
|
|
2594
|
+
var gatewayOutboundMessages2 = (0, import_sqlite_core.sqliteTable)(
|
|
2595
|
+
"gateway_outbound_messages",
|
|
2596
|
+
{
|
|
2597
|
+
id: (0, import_sqlite_core.text)("id", { length: 36 }).primaryKey(),
|
|
2598
|
+
created_at: t2.timestamp("created_at").notNull(),
|
|
2599
|
+
updated_at: t2.timestamp("updated_at").notNull(),
|
|
2600
|
+
gateway_channel_id: (0, import_sqlite_core.text)("gateway_channel_id", { length: 36 }).notNull().references(() => gatewayChannels2.id, { onDelete: "cascade" }),
|
|
2601
|
+
channel_type: (0, import_sqlite_core.text)("channel_type", {
|
|
2602
|
+
enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
|
|
2603
|
+
}).notNull(),
|
|
2604
|
+
platform_channel_id: (0, import_sqlite_core.text)("platform_channel_id").notNull(),
|
|
2605
|
+
platform_message_id: (0, import_sqlite_core.text)("platform_message_id").notNull(),
|
|
2606
|
+
platform_thread_id: (0, import_sqlite_core.text)("platform_thread_id").notNull(),
|
|
2607
|
+
platform_permalink: (0, import_sqlite_core.text)("platform_permalink"),
|
|
2608
|
+
target_branch_id: (0, import_sqlite_core.text)("target_branch_id", { length: 36 }).notNull().references(() => branches2.branch_id),
|
|
2609
|
+
emitted_by_user_id: (0, import_sqlite_core.text)("emitted_by_user_id", { length: 36 }).notNull().references(() => users2.user_id),
|
|
2610
|
+
emitted_by_session_id: (0, import_sqlite_core.text)("emitted_by_session_id", { length: 36 }).references(
|
|
2611
|
+
() => sessions2.session_id,
|
|
2612
|
+
{
|
|
2613
|
+
onDelete: "set null"
|
|
2614
|
+
}
|
|
2615
|
+
),
|
|
2616
|
+
emitted_by_task_id: (0, import_sqlite_core.text)("emitted_by_task_id", { length: 36 }).references(() => tasks2.task_id, {
|
|
2617
|
+
onDelete: "set null"
|
|
2618
|
+
}),
|
|
2619
|
+
emitted_by_schedule_id: (0, import_sqlite_core.text)("emitted_by_schedule_id", { length: 36 }).references(
|
|
2620
|
+
() => schedules2.schedule_id,
|
|
2621
|
+
{
|
|
2622
|
+
onDelete: "set null"
|
|
2623
|
+
}
|
|
2624
|
+
),
|
|
2625
|
+
message_text: (0, import_sqlite_core.text)("message_text").notNull(),
|
|
2626
|
+
message_preview: (0, import_sqlite_core.text)("message_preview").notNull(),
|
|
2627
|
+
metadata: t2.json("metadata"),
|
|
2628
|
+
consumed_by_session_id: (0, import_sqlite_core.text)("consumed_by_session_id", { length: 36 }).references(
|
|
2629
|
+
() => sessions2.session_id,
|
|
2630
|
+
{
|
|
2631
|
+
onDelete: "set null"
|
|
2632
|
+
}
|
|
2633
|
+
),
|
|
2634
|
+
consumed_at: t2.timestamp("consumed_at")
|
|
2635
|
+
},
|
|
2636
|
+
(table) => ({
|
|
2637
|
+
uniqueChannelThread: (0, import_sqlite_core.uniqueIndex)("uniq_gateway_outbound_channel_thread").on(
|
|
2638
|
+
table.gateway_channel_id,
|
|
2639
|
+
table.platform_thread_id
|
|
2640
|
+
),
|
|
2641
|
+
emittedSessionIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_emitted_session").on(
|
|
2642
|
+
table.emitted_by_session_id
|
|
2643
|
+
),
|
|
2644
|
+
emittedScheduleIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_emitted_schedule").on(
|
|
2645
|
+
table.emitted_by_schedule_id
|
|
2646
|
+
),
|
|
2647
|
+
targetBranchCreatedIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_branch_created").on(
|
|
2648
|
+
table.target_branch_id,
|
|
2649
|
+
table.created_at
|
|
2650
|
+
),
|
|
2651
|
+
consumedIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_consumed").on(table.consumed_at)
|
|
2652
|
+
})
|
|
2653
|
+
);
|
|
2395
2654
|
var sessionEnvSelections2 = (0, import_sqlite_core.sqliteTable)(
|
|
2396
2655
|
"session_env_selections",
|
|
2397
2656
|
{
|
|
@@ -2774,7 +3033,7 @@ var import_node_fs = require("fs");
|
|
|
2774
3033
|
var import_promises = __toESM(require("fs/promises"), 1);
|
|
2775
3034
|
var import_node_os = __toESM(require("os"), 1);
|
|
2776
3035
|
var import_node_path = __toESM(require("path"), 1);
|
|
2777
|
-
var
|
|
3036
|
+
var yaml = __toESM(require("js-yaml"), 1);
|
|
2778
3037
|
|
|
2779
3038
|
// src/config/analytics-defaults.ts
|
|
2780
3039
|
function getDefaultAnalyticsConfig() {
|
|
@@ -2875,6 +3134,64 @@ function resolveExecutorHeartbeatConfig(execution) {
|
|
|
2875
3134
|
};
|
|
2876
3135
|
}
|
|
2877
3136
|
|
|
3137
|
+
// src/config/multitenancy.ts
|
|
3138
|
+
var DEFAULT_STATIC_TENANT_ID = "default";
|
|
3139
|
+
var RESERVED_AUTH_CLAIMS = /* @__PURE__ */ new Set(["aud", "exp", "iat", "iss", "jti", "nbf", "sub", "type"]);
|
|
3140
|
+
function detectPostgresUrl(url) {
|
|
3141
|
+
if (!url) return false;
|
|
3142
|
+
const lower = url.toLowerCase();
|
|
3143
|
+
return lower.startsWith("postgresql://") || lower.startsWith("postgres://") || lower.startsWith("pg://");
|
|
3144
|
+
}
|
|
3145
|
+
function resolveMultiTenancyDatabaseDialect(config = {}) {
|
|
3146
|
+
if (process.env.AGOR_DB_DIALECT === "postgresql" || process.env.AGOR_DB_DIALECT === "sqlite") {
|
|
3147
|
+
return process.env.AGOR_DB_DIALECT;
|
|
3148
|
+
}
|
|
3149
|
+
if (detectPostgresUrl(process.env.DATABASE_URL)) return "postgresql";
|
|
3150
|
+
if (config.database?.dialect === "postgresql" || config.database?.dialect === "sqlite") {
|
|
3151
|
+
return config.database.dialect;
|
|
3152
|
+
}
|
|
3153
|
+
if (detectPostgresUrl(config.database?.postgresql?.url) || config.database?.postgresql?.host) {
|
|
3154
|
+
return "postgresql";
|
|
3155
|
+
}
|
|
3156
|
+
return "sqlite";
|
|
3157
|
+
}
|
|
3158
|
+
function resolveMultiTenancyConfig(config) {
|
|
3159
|
+
const raw = config.multi_tenancy ?? {};
|
|
3160
|
+
const mode = raw.mode ?? "static";
|
|
3161
|
+
return {
|
|
3162
|
+
mode,
|
|
3163
|
+
static_tenant_id: raw.static_tenant_id?.trim() || DEFAULT_STATIC_TENANT_ID,
|
|
3164
|
+
...raw.auth_claim ? { auth_claim: raw.auth_claim } : {},
|
|
3165
|
+
...raw.trusted_header ? { trusted_header: raw.trusted_header } : {}
|
|
3166
|
+
};
|
|
3167
|
+
}
|
|
3168
|
+
function assertValidMultiTenancyConfig(config) {
|
|
3169
|
+
const resolved = resolveMultiTenancyConfig(config);
|
|
3170
|
+
if (resolved.mode !== "static" && resolved.mode !== "required_from_auth") {
|
|
3171
|
+
throw new Error("Config error: multi_tenancy.mode must be one of: static, required_from_auth");
|
|
3172
|
+
}
|
|
3173
|
+
if (!resolved.static_tenant_id) {
|
|
3174
|
+
throw new Error("Config error: multi_tenancy.static_tenant_id must not be empty");
|
|
3175
|
+
}
|
|
3176
|
+
if (resolved.auth_claim && RESERVED_AUTH_CLAIMS.has(resolved.auth_claim)) {
|
|
3177
|
+
throw new Error(
|
|
3178
|
+
`Config error: multi_tenancy.auth_claim cannot be reserved JWT claim '${resolved.auth_claim}'`
|
|
3179
|
+
);
|
|
3180
|
+
}
|
|
3181
|
+
if (resolved.mode === "required_from_auth") {
|
|
3182
|
+
if (resolveMultiTenancyDatabaseDialect(config) !== "postgresql") {
|
|
3183
|
+
throw new Error(
|
|
3184
|
+
"Config error: multi_tenancy.required_from_auth requires database.dialect: postgresql"
|
|
3185
|
+
);
|
|
3186
|
+
}
|
|
3187
|
+
if (!resolved.auth_claim && !resolved.trusted_header) {
|
|
3188
|
+
throw new Error(
|
|
3189
|
+
"Config error: multi_tenancy.required_from_auth requires multi_tenancy.auth_claim or multi_tenancy.trusted_header"
|
|
3190
|
+
);
|
|
3191
|
+
}
|
|
3192
|
+
}
|
|
3193
|
+
}
|
|
3194
|
+
|
|
2878
3195
|
// src/config/config-manager.ts
|
|
2879
3196
|
var NO_FILE = -1;
|
|
2880
3197
|
var NO_FILE_KEY = { mtimeMs: NO_FILE, size: 0 };
|
|
@@ -2907,7 +3224,10 @@ function writeCachedConfig(configPath, config, key) {
|
|
|
2907
3224
|
cachedEntry = { path: configPath, config: structuredClone(config), key };
|
|
2908
3225
|
}
|
|
2909
3226
|
function parseAndValidateConfig(content) {
|
|
2910
|
-
|
|
3227
|
+
if (content.trim() === "") {
|
|
3228
|
+
return {};
|
|
3229
|
+
}
|
|
3230
|
+
const parsed = yaml.load(content);
|
|
2911
3231
|
const finalConfig = parsed || {};
|
|
2912
3232
|
validateConfig(finalConfig);
|
|
2913
3233
|
return finalConfig;
|
|
@@ -2936,6 +3256,7 @@ To update: agor config set execution.unix_user_mode insulated`
|
|
|
2936
3256
|
`Config error: execution.managed_envs_execution_mode must be one of: hybrid, webhook-only`
|
|
2937
3257
|
);
|
|
2938
3258
|
}
|
|
3259
|
+
assertValidMultiTenancyConfig(config);
|
|
2939
3260
|
validateOptionalHttpUrl(
|
|
2940
3261
|
config.external_launch,
|
|
2941
3262
|
"login_redirect_url",
|
|
@@ -2996,7 +3317,12 @@ function getDefaultConfig() {
|
|
|
2996
3317
|
// Default: sync passwords to Unix
|
|
2997
3318
|
executor_heartbeat: resolveExecutorHeartbeatConfig()
|
|
2998
3319
|
},
|
|
2999
|
-
analytics: getDefaultAnalyticsConfig()
|
|
3320
|
+
analytics: getDefaultAnalyticsConfig(),
|
|
3321
|
+
telemetry: {},
|
|
3322
|
+
multi_tenancy: {
|
|
3323
|
+
mode: "static",
|
|
3324
|
+
static_tenant_id: "default"
|
|
3325
|
+
}
|
|
3000
3326
|
};
|
|
3001
3327
|
}
|
|
3002
3328
|
function loadConfigSync() {
|
|
@@ -3110,6 +3436,7 @@ var userMcpOauthTokens3 = schema.userMcpOauthTokens;
|
|
|
3110
3436
|
var boardComments3 = schema.boardComments;
|
|
3111
3437
|
var gatewayChannels3 = schema.gatewayChannels;
|
|
3112
3438
|
var threadSessionMap3 = schema.threadSessionMap;
|
|
3439
|
+
var gatewayOutboundMessages3 = schema.gatewayOutboundMessages;
|
|
3113
3440
|
var userApiKeys3 = schema.userApiKeys;
|
|
3114
3441
|
var serializedSessions3 = schema.serializedSessions;
|
|
3115
3442
|
var kbNamespaces3 = schema.kbNamespaces;
|