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
|
@@ -31,9 +31,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
31
31
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
32
32
|
|
|
33
33
|
// ../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.15_tsx@4.22.4_typescript@6.0.3_yaml@2.9.0/node_modules/tsup/assets/cjs_shims.js
|
|
34
|
+
var getImportMetaUrl, importMetaUrl;
|
|
34
35
|
var init_cjs_shims = __esm({
|
|
35
36
|
"../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.15_tsx@4.22.4_typescript@6.0.3_yaml@2.9.0/node_modules/tsup/assets/cjs_shims.js"() {
|
|
36
37
|
"use strict";
|
|
38
|
+
getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.tagName.toUpperCase() === "SCRIPT" ? document.currentScript.src : new URL("main.js", document.baseURI).href;
|
|
39
|
+
importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
37
40
|
}
|
|
38
41
|
});
|
|
39
42
|
|
|
@@ -179,6 +182,71 @@ var init_executor_heartbeat = __esm({
|
|
|
179
182
|
}
|
|
180
183
|
});
|
|
181
184
|
|
|
185
|
+
// src/config/multitenancy.ts
|
|
186
|
+
function detectPostgresUrl(url) {
|
|
187
|
+
if (!url) return false;
|
|
188
|
+
const lower = url.toLowerCase();
|
|
189
|
+
return lower.startsWith("postgresql://") || lower.startsWith("postgres://") || lower.startsWith("pg://");
|
|
190
|
+
}
|
|
191
|
+
function resolveMultiTenancyDatabaseDialect(config = {}) {
|
|
192
|
+
if (process.env.AGOR_DB_DIALECT === "postgresql" || process.env.AGOR_DB_DIALECT === "sqlite") {
|
|
193
|
+
return process.env.AGOR_DB_DIALECT;
|
|
194
|
+
}
|
|
195
|
+
if (detectPostgresUrl(process.env.DATABASE_URL)) return "postgresql";
|
|
196
|
+
if (config.database?.dialect === "postgresql" || config.database?.dialect === "sqlite") {
|
|
197
|
+
return config.database.dialect;
|
|
198
|
+
}
|
|
199
|
+
if (detectPostgresUrl(config.database?.postgresql?.url) || config.database?.postgresql?.host) {
|
|
200
|
+
return "postgresql";
|
|
201
|
+
}
|
|
202
|
+
return "sqlite";
|
|
203
|
+
}
|
|
204
|
+
function resolveMultiTenancyConfig(config) {
|
|
205
|
+
const raw = config.multi_tenancy ?? {};
|
|
206
|
+
const mode = raw.mode ?? "static";
|
|
207
|
+
return {
|
|
208
|
+
mode,
|
|
209
|
+
static_tenant_id: raw.static_tenant_id?.trim() || DEFAULT_STATIC_TENANT_ID,
|
|
210
|
+
...raw.auth_claim ? { auth_claim: raw.auth_claim } : {},
|
|
211
|
+
...raw.trusted_header ? { trusted_header: raw.trusted_header } : {}
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
function assertValidMultiTenancyConfig(config) {
|
|
215
|
+
const resolved = resolveMultiTenancyConfig(config);
|
|
216
|
+
if (resolved.mode !== "static" && resolved.mode !== "required_from_auth") {
|
|
217
|
+
throw new Error("Config error: multi_tenancy.mode must be one of: static, required_from_auth");
|
|
218
|
+
}
|
|
219
|
+
if (!resolved.static_tenant_id) {
|
|
220
|
+
throw new Error("Config error: multi_tenancy.static_tenant_id must not be empty");
|
|
221
|
+
}
|
|
222
|
+
if (resolved.auth_claim && RESERVED_AUTH_CLAIMS.has(resolved.auth_claim)) {
|
|
223
|
+
throw new Error(
|
|
224
|
+
`Config error: multi_tenancy.auth_claim cannot be reserved JWT claim '${resolved.auth_claim}'`
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
if (resolved.mode === "required_from_auth") {
|
|
228
|
+
if (resolveMultiTenancyDatabaseDialect(config) !== "postgresql") {
|
|
229
|
+
throw new Error(
|
|
230
|
+
"Config error: multi_tenancy.required_from_auth requires database.dialect: postgresql"
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
if (!resolved.auth_claim && !resolved.trusted_header) {
|
|
234
|
+
throw new Error(
|
|
235
|
+
"Config error: multi_tenancy.required_from_auth requires multi_tenancy.auth_claim or multi_tenancy.trusted_header"
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
var DEFAULT_STATIC_TENANT_ID, RESERVED_AUTH_CLAIMS;
|
|
241
|
+
var init_multitenancy = __esm({
|
|
242
|
+
"src/config/multitenancy.ts"() {
|
|
243
|
+
"use strict";
|
|
244
|
+
init_cjs_shims();
|
|
245
|
+
DEFAULT_STATIC_TENANT_ID = "default";
|
|
246
|
+
RESERVED_AUTH_CLAIMS = /* @__PURE__ */ new Set(["aud", "exp", "iat", "iss", "jti", "nbf", "sub", "type"]);
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
|
|
182
250
|
// src/config/types.ts
|
|
183
251
|
var init_types = __esm({
|
|
184
252
|
"src/config/types.ts"() {
|
|
@@ -216,7 +284,10 @@ function writeCachedConfig(configPath, config, key) {
|
|
|
216
284
|
cachedEntry = { path: configPath, config: structuredClone(config), key };
|
|
217
285
|
}
|
|
218
286
|
function parseAndValidateConfig(content) {
|
|
219
|
-
|
|
287
|
+
if (content.trim() === "") {
|
|
288
|
+
return {};
|
|
289
|
+
}
|
|
290
|
+
const parsed = yaml.load(content);
|
|
220
291
|
const finalConfig = parsed || {};
|
|
221
292
|
validateConfig(finalConfig);
|
|
222
293
|
return finalConfig;
|
|
@@ -245,6 +316,7 @@ To update: agor config set execution.unix_user_mode insulated`
|
|
|
245
316
|
`Config error: execution.managed_envs_execution_mode must be one of: hybrid, webhook-only`
|
|
246
317
|
);
|
|
247
318
|
}
|
|
319
|
+
assertValidMultiTenancyConfig(config);
|
|
248
320
|
validateOptionalHttpUrl(
|
|
249
321
|
config.external_launch,
|
|
250
322
|
"login_redirect_url",
|
|
@@ -305,7 +377,12 @@ function getDefaultConfig() {
|
|
|
305
377
|
// Default: sync passwords to Unix
|
|
306
378
|
executor_heartbeat: resolveExecutorHeartbeatConfig()
|
|
307
379
|
},
|
|
308
|
-
analytics: getDefaultAnalyticsConfig()
|
|
380
|
+
analytics: getDefaultAnalyticsConfig(),
|
|
381
|
+
telemetry: {},
|
|
382
|
+
multi_tenancy: {
|
|
383
|
+
mode: "static",
|
|
384
|
+
static_tenant_id: "default"
|
|
385
|
+
}
|
|
309
386
|
};
|
|
310
387
|
}
|
|
311
388
|
function loadConfigSync() {
|
|
@@ -349,7 +426,7 @@ function loadConfigSync() {
|
|
|
349
426
|
}
|
|
350
427
|
return finalConfig;
|
|
351
428
|
}
|
|
352
|
-
var import_node_fs2, import_promises, import_node_os, import_node_path2,
|
|
429
|
+
var import_node_fs2, import_promises, import_node_os, import_node_path2, yaml, NO_FILE, NO_FILE_KEY, cachedEntry;
|
|
353
430
|
var init_config_manager = __esm({
|
|
354
431
|
"src/config/config-manager.ts"() {
|
|
355
432
|
"use strict";
|
|
@@ -358,10 +435,11 @@ var init_config_manager = __esm({
|
|
|
358
435
|
import_promises = __toESM(require("fs/promises"), 1);
|
|
359
436
|
import_node_os = __toESM(require("os"), 1);
|
|
360
437
|
import_node_path2 = __toESM(require("path"), 1);
|
|
361
|
-
|
|
438
|
+
yaml = __toESM(require("js-yaml"), 1);
|
|
362
439
|
init_analytics_defaults();
|
|
363
440
|
init_constants();
|
|
364
441
|
init_executor_heartbeat();
|
|
442
|
+
init_multitenancy();
|
|
365
443
|
init_types();
|
|
366
444
|
NO_FILE = -1;
|
|
367
445
|
NO_FILE_KEY = { mtimeMs: NO_FILE, size: 0 };
|
|
@@ -613,6 +691,14 @@ var init_template = __esm({
|
|
|
613
691
|
}
|
|
614
692
|
});
|
|
615
693
|
|
|
694
|
+
// src/types/tenant.ts
|
|
695
|
+
var init_tenant = __esm({
|
|
696
|
+
"src/types/tenant.ts"() {
|
|
697
|
+
"use strict";
|
|
698
|
+
init_cjs_shims();
|
|
699
|
+
}
|
|
700
|
+
});
|
|
701
|
+
|
|
616
702
|
// src/types/ui.ts
|
|
617
703
|
var init_ui = __esm({
|
|
618
704
|
"src/types/ui.ts"() {
|
|
@@ -703,6 +789,7 @@ var init_types2 = __esm({
|
|
|
703
789
|
init_session();
|
|
704
790
|
init_task();
|
|
705
791
|
init_template();
|
|
792
|
+
init_tenant();
|
|
706
793
|
init_ui();
|
|
707
794
|
init_user();
|
|
708
795
|
init_utils();
|
|
@@ -728,6 +815,7 @@ __export(schema_postgres_exports, {
|
|
|
728
815
|
cardTypes: () => cardTypes,
|
|
729
816
|
cards: () => cards,
|
|
730
817
|
gatewayChannels: () => gatewayChannels,
|
|
818
|
+
gatewayOutboundMessages: () => gatewayOutboundMessages,
|
|
731
819
|
groupMemberships: () => groupMemberships,
|
|
732
820
|
groups: () => groups,
|
|
733
821
|
kbDocumentUnits: () => kbDocumentUnits,
|
|
@@ -756,7 +844,7 @@ __export(schema_postgres_exports, {
|
|
|
756
844
|
userMcpOauthTokens: () => userMcpOauthTokens,
|
|
757
845
|
users: () => users
|
|
758
846
|
});
|
|
759
|
-
var import_drizzle_orm, import_pg_core, bytea, t, sessions, sessionRelationships, tasks, serializedSessions, messages, boards, repos, branches, branchOwners, boardOwners, schedules, users, groups, groupMemberships, branchGroupGrants, boardGroupGrants, appVariables, userApiKeys, mcpServers, cardTypes, cards, artifacts, artifactTrustGrants, boardObjects, sessionMcpServers, userMcpOauthTokens, boardComments, gatewayChannels, threadSessionMap, sessionEnvSelections, kbNamespaces, kbNamespaceAcl, kbDocuments, kbDocumentVersions, kbDocumentUnits, kbEmbeddingSpaces, kbGraphNodes, kbGraphEdges, sessionsRelations, sessionRelationshipsRelations, branchesRelations, schedulesRelations;
|
|
847
|
+
var import_drizzle_orm, import_pg_core, bytea, t, sessions, sessionRelationships, tasks, serializedSessions, messages, boards, repos, branches, branchOwners, boardOwners, schedules, users, groups, groupMemberships, branchGroupGrants, boardGroupGrants, appVariables, userApiKeys, mcpServers, cardTypes, cards, artifacts, artifactTrustGrants, boardObjects, sessionMcpServers, userMcpOauthTokens, boardComments, gatewayChannels, threadSessionMap, gatewayOutboundMessages, sessionEnvSelections, kbNamespaces, kbNamespaceAcl, kbDocuments, kbDocumentVersions, kbDocumentUnits, kbEmbeddingSpaces, kbGraphNodes, kbGraphEdges, sessionsRelations, sessionRelationshipsRelations, branchesRelations, schedulesRelations;
|
|
760
848
|
var init_schema_postgres = __esm({
|
|
761
849
|
"src/db/schema.postgres.ts"() {
|
|
762
850
|
"use strict";
|
|
@@ -777,6 +865,7 @@ var init_schema_postgres = __esm({
|
|
|
777
865
|
sessions = (0, import_pg_core.pgTable)(
|
|
778
866
|
"sessions",
|
|
779
867
|
{
|
|
868
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
780
869
|
// Primary identity
|
|
781
870
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).primaryKey(),
|
|
782
871
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -836,7 +925,9 @@ var init_schema_postgres = __esm({
|
|
|
836
925
|
data: t.json("data").$type().notNull()
|
|
837
926
|
},
|
|
838
927
|
(table) => ({
|
|
928
|
+
tenantIdx: (0, import_pg_core.index)("sessions_tenant_id_idx").on(table.tenant_id),
|
|
839
929
|
statusIdx: (0, import_pg_core.index)("sessions_status_idx").on(table.status),
|
|
930
|
+
statusReadyIdx: (0, import_pg_core.index)("sessions_status_ready_idx").on(table.status, table.ready_for_prompt),
|
|
840
931
|
agenticToolIdx: (0, import_pg_core.index)("sessions_agentic_tool_idx").on(table.agentic_tool),
|
|
841
932
|
boardIdx: (0, import_pg_core.index)("sessions_board_idx").on(table.board_id),
|
|
842
933
|
branchIdx: (0, import_pg_core.index)("sessions_branch_idx").on(table.branch_id),
|
|
@@ -848,12 +939,13 @@ var init_schema_postgres = __esm({
|
|
|
848
939
|
// Partial unique index — covering for the scheduler's dedup lookup
|
|
849
940
|
// AND serves as the DB-level guard against check-then-create races
|
|
850
941
|
// in spawnScheduledSession.
|
|
851
|
-
scheduleRunUnique: (0, import_pg_core.uniqueIndex)("sessions_schedule_run_unique").on(table.schedule_id, table.scheduled_run_at).where(import_drizzle_orm.sql`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
|
|
942
|
+
scheduleRunUnique: (0, import_pg_core.uniqueIndex)("sessions_schedule_run_unique").on(table.tenant_id, table.schedule_id, table.scheduled_run_at).where(import_drizzle_orm.sql`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
|
|
852
943
|
})
|
|
853
944
|
);
|
|
854
945
|
sessionRelationships = (0, import_pg_core.pgTable)(
|
|
855
946
|
"session_relationships",
|
|
856
947
|
{
|
|
948
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
857
949
|
relationship_id: (0, import_pg_core.varchar)("relationship_id", { length: 36 }).primaryKey(),
|
|
858
950
|
source_session_id: (0, import_pg_core.varchar)("source_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
859
951
|
target_session_id: (0, import_pg_core.varchar)("target_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
@@ -871,10 +963,23 @@ var init_schema_postgres = __esm({
|
|
|
871
963
|
data: t.json("data")
|
|
872
964
|
},
|
|
873
965
|
(table) => ({
|
|
966
|
+
tenantIdx: (0, import_pg_core.index)("session_relationships_tenant_id_idx").on(table.tenant_id),
|
|
874
967
|
sourceIdx: (0, import_pg_core.index)("session_relationships_source_idx").on(table.source_session_id),
|
|
875
968
|
targetIdx: (0, import_pg_core.index)("session_relationships_target_idx").on(table.target_session_id),
|
|
876
969
|
callbackIdx: (0, import_pg_core.index)("session_relationships_callback_idx").on(table.callback_session_id),
|
|
970
|
+
// Composite indexes so the OR predicate in dispatchCompletionCallbacks
|
|
971
|
+
// (WHERE source_session_id = $1 OR target_session_id = $2) uses BitmapOr
|
|
972
|
+
// over these instead of a full tenant table scan via tenant_id_idx.
|
|
973
|
+
tenantSourceIdx: (0, import_pg_core.index)("session_relationships_tenant_source_idx").on(
|
|
974
|
+
table.tenant_id,
|
|
975
|
+
table.source_session_id
|
|
976
|
+
),
|
|
977
|
+
tenantTargetIdx: (0, import_pg_core.index)("session_relationships_tenant_target_idx").on(
|
|
978
|
+
table.tenant_id,
|
|
979
|
+
table.target_session_id
|
|
980
|
+
),
|
|
877
981
|
sourceTargetTypeUnique: (0, import_pg_core.uniqueIndex)("session_relationships_source_target_type_unique").on(
|
|
982
|
+
table.tenant_id,
|
|
878
983
|
table.source_session_id,
|
|
879
984
|
table.target_session_id,
|
|
880
985
|
table.relationship_type
|
|
@@ -884,6 +989,7 @@ var init_schema_postgres = __esm({
|
|
|
884
989
|
tasks = (0, import_pg_core.pgTable)(
|
|
885
990
|
"tasks",
|
|
886
991
|
{
|
|
992
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
887
993
|
task_id: (0, import_pg_core.varchar)("task_id", { length: 36 }).primaryKey(),
|
|
888
994
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
889
995
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -913,19 +1019,23 @@ var init_schema_postgres = __esm({
|
|
|
913
1019
|
data: t.json("data").$type().notNull()
|
|
914
1020
|
},
|
|
915
1021
|
(table) => ({
|
|
1022
|
+
tenantIdx: (0, import_pg_core.index)("tasks_tenant_id_idx").on(table.tenant_id),
|
|
916
1023
|
sessionIdx: (0, import_pg_core.index)("tasks_session_idx").on(table.session_id),
|
|
917
1024
|
statusIdx: (0, import_pg_core.index)("tasks_status_idx").on(table.status),
|
|
918
1025
|
createdIdx: (0, import_pg_core.index)("tasks_created_idx").on(table.created_at),
|
|
1026
|
+
// Composite for "latest task for session" queries (ORDER BY created_at DESC LIMIT 1).
|
|
1027
|
+
sessionCreatedIdx: (0, import_pg_core.index)("tasks_session_created_idx").on(table.session_id, table.created_at),
|
|
919
1028
|
queueIdx: (0, import_pg_core.index)("tasks_queue_idx").on(table.session_id, table.status, table.queue_position),
|
|
920
1029
|
// Partial unique index — defense-in-depth for `tasks.createPending` race
|
|
921
1030
|
// serialization. Only QUEUED rows are constrained; CREATED/RUNNING/done
|
|
922
1031
|
// rows have NULL queue_position and are unaffected.
|
|
923
|
-
queuedPositionUnique: (0, import_pg_core.uniqueIndex)("tasks_queued_position_unique").on(table.session_id, table.queue_position).where(import_drizzle_orm.sql`${table.status} = 'queued'`)
|
|
1032
|
+
queuedPositionUnique: (0, import_pg_core.uniqueIndex)("tasks_queued_position_unique").on(table.tenant_id, table.session_id, table.queue_position).where(import_drizzle_orm.sql`${table.status} = 'queued'`)
|
|
924
1033
|
})
|
|
925
1034
|
);
|
|
926
1035
|
serializedSessions = (0, import_pg_core.pgTable)(
|
|
927
1036
|
"serialized_sessions",
|
|
928
1037
|
{
|
|
1038
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
929
1039
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
930
1040
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
931
1041
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
@@ -941,6 +1051,7 @@ var init_schema_postgres = __esm({
|
|
|
941
1051
|
// gzipped; NULL while status='processing'
|
|
942
1052
|
},
|
|
943
1053
|
(table) => ({
|
|
1054
|
+
tenantIdx: (0, import_pg_core.index)("serialized_sessions_tenant_id_idx").on(table.tenant_id),
|
|
944
1055
|
sessionTurnIdx: (0, import_pg_core.index)("serialized_sessions_session_turn_idx").on(
|
|
945
1056
|
table.session_id,
|
|
946
1057
|
table.turn_index
|
|
@@ -951,6 +1062,7 @@ var init_schema_postgres = __esm({
|
|
|
951
1062
|
messages = (0, import_pg_core.pgTable)(
|
|
952
1063
|
"messages",
|
|
953
1064
|
{
|
|
1065
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
954
1066
|
// Primary identity
|
|
955
1067
|
message_id: (0, import_pg_core.varchar)("message_id", { length: 36 }).primaryKey(),
|
|
956
1068
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -990,15 +1102,23 @@ var init_schema_postgres = __esm({
|
|
|
990
1102
|
data: t.json("data").$type().notNull()
|
|
991
1103
|
},
|
|
992
1104
|
(table) => ({
|
|
1105
|
+
tenantIdx: (0, import_pg_core.index)("messages_tenant_id_idx").on(table.tenant_id),
|
|
1106
|
+
tenantTimestampIdx: (0, import_pg_core.index)("messages_tenant_timestamp_idx").on(table.tenant_id, table.timestamp),
|
|
993
1107
|
// Indexes for efficient lookups
|
|
994
1108
|
sessionIdx: (0, import_pg_core.index)("messages_session_id_idx").on(table.session_id),
|
|
995
1109
|
taskIdx: (0, import_pg_core.index)("messages_task_id_idx").on(table.task_id),
|
|
996
|
-
sessionIndexIdx: (0, import_pg_core.index)("messages_session_index_idx").on(table.session_id, table.index)
|
|
1110
|
+
sessionIndexIdx: (0, import_pg_core.index)("messages_session_index_idx").on(table.session_id, table.index),
|
|
1111
|
+
timestampIdx: (0, import_pg_core.index)("messages_timestamp_idx").on(table.timestamp),
|
|
1112
|
+
sessionTimestampIdx: (0, import_pg_core.index)("messages_session_timestamp_idx").on(
|
|
1113
|
+
table.session_id,
|
|
1114
|
+
table.timestamp
|
|
1115
|
+
)
|
|
997
1116
|
})
|
|
998
1117
|
);
|
|
999
1118
|
boards = (0, import_pg_core.pgTable)(
|
|
1000
1119
|
"boards",
|
|
1001
1120
|
{
|
|
1121
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1002
1122
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).primaryKey(),
|
|
1003
1123
|
created_at: t.timestamp("created_at").notNull(),
|
|
1004
1124
|
updated_at: t.timestamp("updated_at"),
|
|
@@ -1006,7 +1126,7 @@ var init_schema_postgres = __esm({
|
|
|
1006
1126
|
created_by: (0, import_pg_core.varchar)("created_by", { length: 36 }).notNull(),
|
|
1007
1127
|
// Materialized for lookups
|
|
1008
1128
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
1009
|
-
slug: (0, import_pg_core.text)("slug")
|
|
1129
|
+
slug: (0, import_pg_core.text)("slug"),
|
|
1010
1130
|
primary_assistant_id: (0, import_pg_core.varchar)("primary_assistant_id", { length: 36 }).references(
|
|
1011
1131
|
() => branches.branch_id,
|
|
1012
1132
|
{
|
|
@@ -1021,18 +1141,21 @@ var init_schema_postgres = __esm({
|
|
|
1021
1141
|
archived_by: (0, import_pg_core.varchar)("archived_by", { length: 36 })
|
|
1022
1142
|
},
|
|
1023
1143
|
(table) => ({
|
|
1144
|
+
tenantIdx: (0, import_pg_core.index)("boards_tenant_id_idx").on(table.tenant_id),
|
|
1024
1145
|
nameIdx: (0, import_pg_core.index)("boards_name_idx").on(table.name),
|
|
1025
|
-
slugIdx: (0, import_pg_core.index)("boards_slug_idx").on(table.slug)
|
|
1146
|
+
slugIdx: (0, import_pg_core.index)("boards_slug_idx").on(table.slug),
|
|
1147
|
+
slugTenantUnique: (0, import_pg_core.uniqueIndex)("boards_tenant_slug_unique").on(table.tenant_id, table.slug)
|
|
1026
1148
|
})
|
|
1027
1149
|
);
|
|
1028
1150
|
repos = (0, import_pg_core.pgTable)(
|
|
1029
1151
|
"repos",
|
|
1030
1152
|
{
|
|
1153
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1031
1154
|
repo_id: (0, import_pg_core.varchar)("repo_id", { length: 36 }).primaryKey(),
|
|
1032
1155
|
created_at: t.timestamp("created_at").notNull(),
|
|
1033
1156
|
updated_at: t.timestamp("updated_at"),
|
|
1034
1157
|
// Materialized for querying
|
|
1035
|
-
slug: (0, import_pg_core.text)("slug").notNull()
|
|
1158
|
+
slug: (0, import_pg_core.text)("slug").notNull(),
|
|
1036
1159
|
repo_type: (0, import_pg_core.text)("repo_type", { enum: ["remote", "local"] }).notNull().default("remote"),
|
|
1037
1160
|
// Unix group for repo-level git access (agor_rp_<short-id>)
|
|
1038
1161
|
// Users who have access to ANY branch in this repo get added to this group.
|
|
@@ -1043,12 +1166,15 @@ var init_schema_postgres = __esm({
|
|
|
1043
1166
|
data: t.json("data").$type().notNull()
|
|
1044
1167
|
},
|
|
1045
1168
|
(table) => ({
|
|
1046
|
-
|
|
1169
|
+
tenantIdx: (0, import_pg_core.index)("repos_tenant_id_idx").on(table.tenant_id),
|
|
1170
|
+
slugIdx: (0, import_pg_core.index)("repos_slug_idx").on(table.slug),
|
|
1171
|
+
slugTenantUnique: (0, import_pg_core.uniqueIndex)("repos_tenant_slug_unique").on(table.tenant_id, table.slug)
|
|
1047
1172
|
})
|
|
1048
1173
|
);
|
|
1049
1174
|
branches = (0, import_pg_core.pgTable)(
|
|
1050
1175
|
"branches",
|
|
1051
1176
|
{
|
|
1177
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1052
1178
|
// Primary identity
|
|
1053
1179
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).primaryKey(),
|
|
1054
1180
|
repo_id: (0, import_pg_core.varchar)("repo_id", { length: 36 }).notNull().references(() => repos.repo_id, { onDelete: "cascade" }),
|
|
@@ -1123,6 +1249,7 @@ var init_schema_postgres = __esm({
|
|
|
1123
1249
|
data: t.json("data").$type().notNull()
|
|
1124
1250
|
},
|
|
1125
1251
|
(table) => ({
|
|
1252
|
+
tenantIdx: (0, import_pg_core.index)("branches_tenant_id_idx").on(table.tenant_id),
|
|
1126
1253
|
repoIdx: (0, import_pg_core.index)("branches_repo_idx").on(table.repo_id),
|
|
1127
1254
|
nameIdx: (0, import_pg_core.index)("branches_name_idx").on(table.name),
|
|
1128
1255
|
refIdx: (0, import_pg_core.index)("branches_ref_idx").on(table.ref),
|
|
@@ -1136,22 +1263,26 @@ var init_schema_postgres = __esm({
|
|
|
1136
1263
|
branchOwners = (0, import_pg_core.pgTable)(
|
|
1137
1264
|
"branch_owners",
|
|
1138
1265
|
{
|
|
1266
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1139
1267
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1140
1268
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1141
1269
|
created_at: t.timestamp("created_at").defaultNow()
|
|
1142
1270
|
},
|
|
1143
1271
|
(table) => ({
|
|
1272
|
+
tenantIdx: (0, import_pg_core.index)("branch_owners_tenant_id_idx").on(table.tenant_id),
|
|
1144
1273
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.branch_id, table.user_id] })
|
|
1145
1274
|
})
|
|
1146
1275
|
);
|
|
1147
1276
|
boardOwners = (0, import_pg_core.pgTable)(
|
|
1148
1277
|
"board_owners",
|
|
1149
1278
|
{
|
|
1279
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1150
1280
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
1151
1281
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1152
1282
|
created_at: t.timestamp("created_at")
|
|
1153
1283
|
},
|
|
1154
1284
|
(table) => ({
|
|
1285
|
+
tenantIdx: (0, import_pg_core.index)("board_owners_tenant_id_idx").on(table.tenant_id),
|
|
1155
1286
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.board_id, table.user_id] }),
|
|
1156
1287
|
userIdx: (0, import_pg_core.index)("board_owners_user_idx").on(table.user_id)
|
|
1157
1288
|
})
|
|
@@ -1159,6 +1290,7 @@ var init_schema_postgres = __esm({
|
|
|
1159
1290
|
schedules = (0, import_pg_core.pgTable)(
|
|
1160
1291
|
"schedules",
|
|
1161
1292
|
{
|
|
1293
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1162
1294
|
schedule_id: (0, import_pg_core.varchar)("schedule_id", { length: 36 }).primaryKey(),
|
|
1163
1295
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1164
1296
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
@@ -1182,6 +1314,7 @@ var init_schema_postgres = __esm({
|
|
|
1182
1314
|
created_by: (0, import_pg_core.varchar)("created_by", { length: 36 }).notNull().references(() => users.user_id)
|
|
1183
1315
|
},
|
|
1184
1316
|
(table) => ({
|
|
1317
|
+
tenantIdx: (0, import_pg_core.index)("schedules_tenant_id_idx").on(table.tenant_id),
|
|
1185
1318
|
enabledNextRunIdx: (0, import_pg_core.index)("schedules_enabled_next_run_idx").on(table.enabled, table.next_run_at),
|
|
1186
1319
|
branchIdx: (0, import_pg_core.index)("schedules_branch_idx").on(table.branch_id),
|
|
1187
1320
|
createdByIdx: (0, import_pg_core.index)("schedules_created_by_idx").on(table.created_by)
|
|
@@ -1190,12 +1323,13 @@ var init_schema_postgres = __esm({
|
|
|
1190
1323
|
users = (0, import_pg_core.pgTable)(
|
|
1191
1324
|
"users",
|
|
1192
1325
|
{
|
|
1326
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1193
1327
|
// Primary identity
|
|
1194
1328
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).primaryKey(),
|
|
1195
1329
|
created_at: t.timestamp("created_at").notNull(),
|
|
1196
1330
|
updated_at: t.timestamp("updated_at"),
|
|
1197
1331
|
// Materialized for auth lookups
|
|
1198
|
-
email: (0, import_pg_core.text)("email").
|
|
1332
|
+
email: (0, import_pg_core.text)("email").notNull(),
|
|
1199
1333
|
password: (0, import_pg_core.text)("password").notNull(),
|
|
1200
1334
|
// bcrypt hashed
|
|
1201
1335
|
// Basic profile (materialized for display)
|
|
@@ -1211,16 +1345,22 @@ var init_schema_postgres = __esm({
|
|
|
1211
1345
|
onboarding_completed: t.bool("onboarding_completed").notNull().default(false),
|
|
1212
1346
|
// Force password change flag (admin-settable, auto-cleared on password change)
|
|
1213
1347
|
must_change_password: t.bool("must_change_password").notNull().default(false),
|
|
1348
|
+
// Auth invalidation marker. Password changes set this timestamp so any
|
|
1349
|
+
// previously issued browser access or refresh token is rejected.
|
|
1350
|
+
tokens_valid_after: t.timestamp("tokens_valid_after"),
|
|
1214
1351
|
// JSON blob for profile/preferences
|
|
1215
1352
|
data: t.json("data").$type().notNull()
|
|
1216
1353
|
},
|
|
1217
1354
|
(table) => ({
|
|
1218
|
-
|
|
1355
|
+
tenantIdx: (0, import_pg_core.index)("users_tenant_id_idx").on(table.tenant_id),
|
|
1356
|
+
emailIdx: (0, import_pg_core.index)("users_email_idx").on(table.email),
|
|
1357
|
+
emailTenantUnique: (0, import_pg_core.uniqueIndex)("users_tenant_email_unique").on(table.tenant_id, table.email)
|
|
1219
1358
|
})
|
|
1220
1359
|
);
|
|
1221
1360
|
groups = (0, import_pg_core.pgTable)(
|
|
1222
1361
|
"groups",
|
|
1223
1362
|
{
|
|
1363
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1224
1364
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).primaryKey(),
|
|
1225
1365
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
1226
1366
|
slug: (0, import_pg_core.text)("slug").notNull(),
|
|
@@ -1233,13 +1373,15 @@ var init_schema_postgres = __esm({
|
|
|
1233
1373
|
updated_at: t.timestamp("updated_at")
|
|
1234
1374
|
},
|
|
1235
1375
|
(table) => ({
|
|
1236
|
-
|
|
1376
|
+
tenantIdx: (0, import_pg_core.index)("groups_tenant_id_idx").on(table.tenant_id),
|
|
1377
|
+
slugIdx: (0, import_pg_core.uniqueIndex)("groups_tenant_slug_unique").on(table.tenant_id, table.slug),
|
|
1237
1378
|
archivedIdx: (0, import_pg_core.index)("groups_archived_idx").on(table.archived)
|
|
1238
1379
|
})
|
|
1239
1380
|
);
|
|
1240
1381
|
groupMemberships = (0, import_pg_core.pgTable)(
|
|
1241
1382
|
"group_memberships",
|
|
1242
1383
|
{
|
|
1384
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1243
1385
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
1244
1386
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1245
1387
|
added_by: (0, import_pg_core.varchar)("added_by", { length: 36 }).references(() => users.user_id, {
|
|
@@ -1248,6 +1390,7 @@ var init_schema_postgres = __esm({
|
|
|
1248
1390
|
created_at: t.timestamp("created_at").notNull()
|
|
1249
1391
|
},
|
|
1250
1392
|
(table) => ({
|
|
1393
|
+
tenantIdx: (0, import_pg_core.index)("group_memberships_tenant_id_idx").on(table.tenant_id),
|
|
1251
1394
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.group_id, table.user_id] }),
|
|
1252
1395
|
userIdx: (0, import_pg_core.index)("group_memberships_user_idx").on(table.user_id)
|
|
1253
1396
|
})
|
|
@@ -1255,6 +1398,7 @@ var init_schema_postgres = __esm({
|
|
|
1255
1398
|
branchGroupGrants = (0, import_pg_core.pgTable)(
|
|
1256
1399
|
"branch_group_grants",
|
|
1257
1400
|
{
|
|
1401
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1258
1402
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1259
1403
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
1260
1404
|
can: (0, import_pg_core.text)("can", { enum: [...BRANCH_PERMISSION_LEVELS] }).notNull().default("view"),
|
|
@@ -1266,6 +1410,7 @@ var init_schema_postgres = __esm({
|
|
|
1266
1410
|
updated_at: t.timestamp("updated_at")
|
|
1267
1411
|
},
|
|
1268
1412
|
(table) => ({
|
|
1413
|
+
tenantIdx: (0, import_pg_core.index)("branch_group_grants_tenant_id_idx").on(table.tenant_id),
|
|
1269
1414
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.branch_id, table.group_id] }),
|
|
1270
1415
|
groupIdx: (0, import_pg_core.index)("branch_group_grants_group_idx").on(table.group_id)
|
|
1271
1416
|
})
|
|
@@ -1273,6 +1418,7 @@ var init_schema_postgres = __esm({
|
|
|
1273
1418
|
boardGroupGrants = (0, import_pg_core.pgTable)(
|
|
1274
1419
|
"board_group_grants",
|
|
1275
1420
|
{
|
|
1421
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1276
1422
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
1277
1423
|
group_id: (0, import_pg_core.varchar)("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
1278
1424
|
can: (0, import_pg_core.text)("can", { enum: [...BRANCH_PERMISSION_LEVELS] }).notNull().default("view"),
|
|
@@ -1284,6 +1430,7 @@ var init_schema_postgres = __esm({
|
|
|
1284
1430
|
updated_at: t.timestamp("updated_at")
|
|
1285
1431
|
},
|
|
1286
1432
|
(table) => ({
|
|
1433
|
+
tenantIdx: (0, import_pg_core.index)("board_group_grants_tenant_id_idx").on(table.tenant_id),
|
|
1287
1434
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.board_id, table.group_id] }),
|
|
1288
1435
|
groupIdx: (0, import_pg_core.index)("board_group_grants_group_idx").on(table.group_id)
|
|
1289
1436
|
})
|
|
@@ -1291,6 +1438,7 @@ var init_schema_postgres = __esm({
|
|
|
1291
1438
|
appVariables = (0, import_pg_core.pgTable)(
|
|
1292
1439
|
"app_variables",
|
|
1293
1440
|
{
|
|
1441
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1294
1442
|
variable_id: (0, import_pg_core.varchar)("variable_id", { length: 36 }).primaryKey(),
|
|
1295
1443
|
namespace: (0, import_pg_core.text)("namespace").notNull(),
|
|
1296
1444
|
key: (0, import_pg_core.text)("key").notNull(),
|
|
@@ -1306,13 +1454,19 @@ var init_schema_postgres = __esm({
|
|
|
1306
1454
|
updated_at: t.timestamp("updated_at").notNull()
|
|
1307
1455
|
},
|
|
1308
1456
|
(table) => ({
|
|
1309
|
-
|
|
1457
|
+
tenantIdx: (0, import_pg_core.index)("app_variables_tenant_id_idx").on(table.tenant_id),
|
|
1458
|
+
namespaceKeyIdx: (0, import_pg_core.uniqueIndex)("app_variables_tenant_namespace_key_unique").on(
|
|
1459
|
+
table.tenant_id,
|
|
1460
|
+
table.namespace,
|
|
1461
|
+
table.key
|
|
1462
|
+
),
|
|
1310
1463
|
namespaceIdx: (0, import_pg_core.index)("app_variables_namespace_idx").on(table.namespace)
|
|
1311
1464
|
})
|
|
1312
1465
|
);
|
|
1313
1466
|
userApiKeys = (0, import_pg_core.pgTable)(
|
|
1314
1467
|
"user_api_keys",
|
|
1315
1468
|
{
|
|
1469
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1316
1470
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1317
1471
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1318
1472
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
@@ -1324,6 +1478,7 @@ var init_schema_postgres = __esm({
|
|
|
1324
1478
|
last_used_at: t.timestamp("last_used_at")
|
|
1325
1479
|
},
|
|
1326
1480
|
(table) => ({
|
|
1481
|
+
tenantIdx: (0, import_pg_core.index)("user_api_keys_tenant_id_idx").on(table.tenant_id),
|
|
1327
1482
|
userIdx: (0, import_pg_core.index)("user_api_keys_user_idx").on(table.user_id),
|
|
1328
1483
|
prefixIdx: (0, import_pg_core.index)("user_api_keys_prefix_idx").on(table.prefix)
|
|
1329
1484
|
})
|
|
@@ -1331,6 +1486,7 @@ var init_schema_postgres = __esm({
|
|
|
1331
1486
|
mcpServers = (0, import_pg_core.pgTable)(
|
|
1332
1487
|
"mcp_servers",
|
|
1333
1488
|
{
|
|
1489
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1334
1490
|
// Primary identity
|
|
1335
1491
|
mcp_server_id: (0, import_pg_core.varchar)("mcp_server_id", { length: 36 }).primaryKey(),
|
|
1336
1492
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1357,6 +1513,7 @@ var init_schema_postgres = __esm({
|
|
|
1357
1513
|
data: t.json("data").$type().notNull()
|
|
1358
1514
|
},
|
|
1359
1515
|
(table) => ({
|
|
1516
|
+
tenantIdx: (0, import_pg_core.index)("mcp_servers_tenant_id_idx").on(table.tenant_id),
|
|
1360
1517
|
nameIdx: (0, import_pg_core.index)("mcp_servers_name_idx").on(table.name),
|
|
1361
1518
|
scopeIdx: (0, import_pg_core.index)("mcp_servers_scope_idx").on(table.scope),
|
|
1362
1519
|
ownerIdx: (0, import_pg_core.index)("mcp_servers_owner_idx").on(table.owner_user_id),
|
|
@@ -1366,6 +1523,7 @@ var init_schema_postgres = __esm({
|
|
|
1366
1523
|
cardTypes = (0, import_pg_core.pgTable)(
|
|
1367
1524
|
"card_types",
|
|
1368
1525
|
{
|
|
1526
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1369
1527
|
card_type_id: (0, import_pg_core.varchar)("card_type_id", { length: 36 }).primaryKey(),
|
|
1370
1528
|
name: (0, import_pg_core.text)("name").notNull(),
|
|
1371
1529
|
emoji: (0, import_pg_core.text)("emoji"),
|
|
@@ -1377,12 +1535,14 @@ var init_schema_postgres = __esm({
|
|
|
1377
1535
|
updated_at: t.timestamp("updated_at").notNull()
|
|
1378
1536
|
},
|
|
1379
1537
|
(table) => ({
|
|
1538
|
+
tenantIdx: (0, import_pg_core.index)("card_types_tenant_id_idx").on(table.tenant_id),
|
|
1380
1539
|
nameIdx: (0, import_pg_core.index)("card_types_name_idx").on(table.name)
|
|
1381
1540
|
})
|
|
1382
1541
|
);
|
|
1383
1542
|
cards = (0, import_pg_core.pgTable)(
|
|
1384
1543
|
"cards",
|
|
1385
1544
|
{
|
|
1545
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1386
1546
|
card_id: (0, import_pg_core.varchar)("card_id", { length: 36 }).primaryKey(),
|
|
1387
1547
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
1388
1548
|
card_type_id: (0, import_pg_core.varchar)("card_type_id", { length: 36 }).references(() => cardTypes.card_type_id, {
|
|
@@ -1403,6 +1563,7 @@ var init_schema_postgres = __esm({
|
|
|
1403
1563
|
archived_at: t.timestamp("archived_at")
|
|
1404
1564
|
},
|
|
1405
1565
|
(table) => ({
|
|
1566
|
+
tenantIdx: (0, import_pg_core.index)("cards_tenant_id_idx").on(table.tenant_id),
|
|
1406
1567
|
boardIdx: (0, import_pg_core.index)("cards_board_idx").on(table.board_id),
|
|
1407
1568
|
cardTypeIdx: (0, import_pg_core.index)("cards_card_type_idx").on(table.card_type_id),
|
|
1408
1569
|
titleIdx: (0, import_pg_core.index)("cards_title_idx").on(table.title),
|
|
@@ -1413,6 +1574,7 @@ var init_schema_postgres = __esm({
|
|
|
1413
1574
|
artifacts = (0, import_pg_core.pgTable)(
|
|
1414
1575
|
"artifacts",
|
|
1415
1576
|
{
|
|
1577
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1416
1578
|
artifact_id: (0, import_pg_core.varchar)("artifact_id", { length: 36 }).primaryKey(),
|
|
1417
1579
|
branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).references(() => branches.branch_id, {
|
|
1418
1580
|
onDelete: "set null"
|
|
@@ -1448,6 +1610,7 @@ var init_schema_postgres = __esm({
|
|
|
1448
1610
|
archived_at: t.timestamp("archived_at")
|
|
1449
1611
|
},
|
|
1450
1612
|
(table) => ({
|
|
1613
|
+
tenantIdx: (0, import_pg_core.index)("artifacts_tenant_id_idx").on(table.tenant_id),
|
|
1451
1614
|
branchIdx: (0, import_pg_core.index)("artifacts_branch_idx").on(table.branch_id),
|
|
1452
1615
|
sourceSessionIdx: (0, import_pg_core.index)("artifacts_source_session_idx").on(table.source_session_id),
|
|
1453
1616
|
boardIdx: (0, import_pg_core.index)("artifacts_board_idx").on(table.board_id),
|
|
@@ -1458,6 +1621,7 @@ var init_schema_postgres = __esm({
|
|
|
1458
1621
|
artifactTrustGrants = (0, import_pg_core.pgTable)(
|
|
1459
1622
|
"artifact_trust_grants",
|
|
1460
1623
|
{
|
|
1624
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1461
1625
|
grant_id: (0, import_pg_core.varchar)("grant_id", { length: 36 }).primaryKey(),
|
|
1462
1626
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).notNull(),
|
|
1463
1627
|
scope_type: (0, import_pg_core.text)("scope_type").notNull(),
|
|
@@ -1468,6 +1632,7 @@ var init_schema_postgres = __esm({
|
|
|
1468
1632
|
revoked_at: t.timestamp("revoked_at")
|
|
1469
1633
|
},
|
|
1470
1634
|
(table) => ({
|
|
1635
|
+
tenantIdx: (0, import_pg_core.index)("artifact_trust_grants_tenant_id_idx").on(table.tenant_id),
|
|
1471
1636
|
userIdx: (0, import_pg_core.index)("artifact_trust_grants_user_idx").on(table.user_id),
|
|
1472
1637
|
scopeIdx: (0, import_pg_core.index)("artifact_trust_grants_scope_idx").on(table.scope_type, table.scope_value)
|
|
1473
1638
|
})
|
|
@@ -1475,6 +1640,7 @@ var init_schema_postgres = __esm({
|
|
|
1475
1640
|
boardObjects = (0, import_pg_core.pgTable)(
|
|
1476
1641
|
"board_objects",
|
|
1477
1642
|
{
|
|
1643
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1478
1644
|
// Primary identity
|
|
1479
1645
|
object_id: (0, import_pg_core.varchar)("object_id", { length: 36 }).primaryKey(),
|
|
1480
1646
|
board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
@@ -1490,6 +1656,7 @@ var init_schema_postgres = __esm({
|
|
|
1490
1656
|
data: t.json("data").$type().notNull()
|
|
1491
1657
|
},
|
|
1492
1658
|
(table) => ({
|
|
1659
|
+
tenantIdx: (0, import_pg_core.index)("board_objects_tenant_id_idx").on(table.tenant_id),
|
|
1493
1660
|
boardIdx: (0, import_pg_core.index)("board_objects_board_idx").on(table.board_id),
|
|
1494
1661
|
branchIdx: (0, import_pg_core.index)("board_objects_branch_idx").on(table.branch_id),
|
|
1495
1662
|
cardIdx: (0, import_pg_core.index)("board_objects_card_idx").on(table.card_id)
|
|
@@ -1498,12 +1665,14 @@ var init_schema_postgres = __esm({
|
|
|
1498
1665
|
sessionMcpServers = (0, import_pg_core.pgTable)(
|
|
1499
1666
|
"session_mcp_servers",
|
|
1500
1667
|
{
|
|
1668
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1501
1669
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
1502
1670
|
mcp_server_id: (0, import_pg_core.varchar)("mcp_server_id", { length: 36 }).notNull().references(() => mcpServers.mcp_server_id, { onDelete: "cascade" }),
|
|
1503
1671
|
enabled: t.bool("enabled").notNull().default(true),
|
|
1504
1672
|
added_at: t.timestamp("added_at").notNull()
|
|
1505
1673
|
},
|
|
1506
1674
|
(table) => ({
|
|
1675
|
+
tenantIdx: (0, import_pg_core.index)("session_mcp_servers_tenant_id_idx").on(table.tenant_id),
|
|
1507
1676
|
// Composite primary key
|
|
1508
1677
|
pk: (0, import_pg_core.index)("session_mcp_servers_pk").on(table.session_id, table.mcp_server_id),
|
|
1509
1678
|
// Indexes for queries
|
|
@@ -1515,6 +1684,7 @@ var init_schema_postgres = __esm({
|
|
|
1515
1684
|
userMcpOauthTokens = (0, import_pg_core.pgTable)(
|
|
1516
1685
|
"user_mcp_oauth_tokens",
|
|
1517
1686
|
{
|
|
1687
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1518
1688
|
// NULL = shared-mode token (one per mcp_server_id)
|
|
1519
1689
|
user_id: (0, import_pg_core.varchar)("user_id", { length: 36 }).references(() => users.user_id, {
|
|
1520
1690
|
onDelete: "cascade"
|
|
@@ -1532,6 +1702,7 @@ var init_schema_postgres = __esm({
|
|
|
1532
1702
|
updated_at: t.timestamp("updated_at")
|
|
1533
1703
|
},
|
|
1534
1704
|
(table) => ({
|
|
1705
|
+
tenantIdx: (0, import_pg_core.index)("user_mcp_oauth_tokens_tenant_id_idx").on(table.tenant_id),
|
|
1535
1706
|
// Composite lookup indexes. Uniqueness enforced via partial unique indexes
|
|
1536
1707
|
// created in the migration (one for per-user rows, one for the shared row).
|
|
1537
1708
|
pk: (0, import_pg_core.index)("user_mcp_oauth_tokens_pk").on(table.user_id, table.mcp_server_id),
|
|
@@ -1542,6 +1713,7 @@ var init_schema_postgres = __esm({
|
|
|
1542
1713
|
boardComments = (0, import_pg_core.pgTable)(
|
|
1543
1714
|
"board_comments",
|
|
1544
1715
|
{
|
|
1716
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1545
1717
|
// Primary identity
|
|
1546
1718
|
comment_id: (0, import_pg_core.varchar)("comment_id", { length: 36 }).primaryKey(),
|
|
1547
1719
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1583,6 +1755,7 @@ var init_schema_postgres = __esm({
|
|
|
1583
1755
|
data: t.json("data").$type().notNull()
|
|
1584
1756
|
},
|
|
1585
1757
|
(table) => ({
|
|
1758
|
+
tenantIdx: (0, import_pg_core.index)("board_comments_tenant_id_idx").on(table.tenant_id),
|
|
1586
1759
|
boardIdx: (0, import_pg_core.index)("board_comments_board_idx").on(table.board_id),
|
|
1587
1760
|
sessionIdx: (0, import_pg_core.index)("board_comments_session_idx").on(table.session_id),
|
|
1588
1761
|
taskIdx: (0, import_pg_core.index)("board_comments_task_idx").on(table.task_id),
|
|
@@ -1597,6 +1770,7 @@ var init_schema_postgres = __esm({
|
|
|
1597
1770
|
gatewayChannels = (0, import_pg_core.pgTable)(
|
|
1598
1771
|
"gateway_channels",
|
|
1599
1772
|
{
|
|
1773
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1600
1774
|
// Primary identity
|
|
1601
1775
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1602
1776
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1610,7 +1784,7 @@ var init_schema_postgres = __esm({
|
|
|
1610
1784
|
}).notNull(),
|
|
1611
1785
|
target_branch_id: (0, import_pg_core.varchar)("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1612
1786
|
agor_user_id: (0, import_pg_core.varchar)("agor_user_id", { length: 36 }).notNull(),
|
|
1613
|
-
channel_key: (0, import_pg_core.text)("channel_key").notNull()
|
|
1787
|
+
channel_key: (0, import_pg_core.text)("channel_key").notNull(),
|
|
1614
1788
|
enabled: t.bool("enabled").notNull().default(true),
|
|
1615
1789
|
last_message_at: t.timestamp("last_message_at"),
|
|
1616
1790
|
// JSON blob for platform credentials (encrypted at rest)
|
|
@@ -1619,13 +1793,19 @@ var init_schema_postgres = __esm({
|
|
|
1619
1793
|
agentic_config: t.json("agentic_config")
|
|
1620
1794
|
},
|
|
1621
1795
|
(table) => ({
|
|
1796
|
+
tenantIdx: (0, import_pg_core.index)("gateway_channels_tenant_id_idx").on(table.tenant_id),
|
|
1622
1797
|
channelKeyIdx: (0, import_pg_core.index)("idx_gateway_channel_key").on(table.channel_key),
|
|
1798
|
+
channelKeyTenantUnique: (0, import_pg_core.uniqueIndex)("gateway_channels_tenant_channel_key_unique").on(
|
|
1799
|
+
table.tenant_id,
|
|
1800
|
+
table.channel_key
|
|
1801
|
+
),
|
|
1623
1802
|
enabledTypeIdx: (0, import_pg_core.index)("idx_gateway_enabled_type").on(table.enabled, table.channel_type)
|
|
1624
1803
|
})
|
|
1625
1804
|
);
|
|
1626
1805
|
threadSessionMap = (0, import_pg_core.pgTable)(
|
|
1627
1806
|
"thread_session_map",
|
|
1628
1807
|
{
|
|
1808
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1629
1809
|
// Primary identity
|
|
1630
1810
|
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1631
1811
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1643,7 +1823,9 @@ var init_schema_postgres = __esm({
|
|
|
1643
1823
|
metadata: t.json("metadata")
|
|
1644
1824
|
},
|
|
1645
1825
|
(table) => ({
|
|
1646
|
-
|
|
1826
|
+
tenantIdx: (0, import_pg_core.index)("thread_session_map_tenant_id_idx").on(table.tenant_id),
|
|
1827
|
+
uniqueChannelThread: (0, import_pg_core.uniqueIndex)("uniq_thread_map_tenant_channel_thread").on(
|
|
1828
|
+
table.tenant_id,
|
|
1647
1829
|
table.channel_id,
|
|
1648
1830
|
table.thread_id
|
|
1649
1831
|
),
|
|
@@ -1652,14 +1834,82 @@ var init_schema_postgres = __esm({
|
|
|
1652
1834
|
channelStatusIdx: (0, import_pg_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
1653
1835
|
})
|
|
1654
1836
|
);
|
|
1837
|
+
gatewayOutboundMessages = (0, import_pg_core.pgTable)(
|
|
1838
|
+
"gateway_outbound_messages",
|
|
1839
|
+
{
|
|
1840
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1841
|
+
id: (0, import_pg_core.varchar)("id", { length: 36 }).primaryKey(),
|
|
1842
|
+
created_at: t.timestamp("created_at").notNull(),
|
|
1843
|
+
updated_at: t.timestamp("updated_at").notNull(),
|
|
1844
|
+
gateway_channel_id: (0, import_pg_core.varchar)("gateway_channel_id", { length: 36 }).notNull().references(() => gatewayChannels.id, { onDelete: "cascade" }),
|
|
1845
|
+
channel_type: (0, import_pg_core.text)("channel_type", {
|
|
1846
|
+
enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
|
|
1847
|
+
}).notNull(),
|
|
1848
|
+
platform_channel_id: (0, import_pg_core.text)("platform_channel_id").notNull(),
|
|
1849
|
+
platform_message_id: (0, import_pg_core.text)("platform_message_id").notNull(),
|
|
1850
|
+
platform_thread_id: (0, import_pg_core.text)("platform_thread_id").notNull(),
|
|
1851
|
+
platform_permalink: (0, import_pg_core.text)("platform_permalink"),
|
|
1852
|
+
target_branch_id: (0, import_pg_core.varchar)("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id),
|
|
1853
|
+
emitted_by_user_id: (0, import_pg_core.varchar)("emitted_by_user_id", { length: 36 }).notNull().references(() => users.user_id),
|
|
1854
|
+
emitted_by_session_id: (0, import_pg_core.varchar)("emitted_by_session_id", { length: 36 }).references(
|
|
1855
|
+
() => sessions.session_id,
|
|
1856
|
+
{
|
|
1857
|
+
onDelete: "set null"
|
|
1858
|
+
}
|
|
1859
|
+
),
|
|
1860
|
+
emitted_by_task_id: (0, import_pg_core.varchar)("emitted_by_task_id", { length: 36 }).references(
|
|
1861
|
+
() => tasks.task_id,
|
|
1862
|
+
{
|
|
1863
|
+
onDelete: "set null"
|
|
1864
|
+
}
|
|
1865
|
+
),
|
|
1866
|
+
emitted_by_schedule_id: (0, import_pg_core.varchar)("emitted_by_schedule_id", { length: 36 }).references(
|
|
1867
|
+
() => schedules.schedule_id,
|
|
1868
|
+
{
|
|
1869
|
+
onDelete: "set null"
|
|
1870
|
+
}
|
|
1871
|
+
),
|
|
1872
|
+
message_text: (0, import_pg_core.text)("message_text").notNull(),
|
|
1873
|
+
message_preview: (0, import_pg_core.text)("message_preview").notNull(),
|
|
1874
|
+
metadata: t.json("metadata"),
|
|
1875
|
+
consumed_by_session_id: (0, import_pg_core.varchar)("consumed_by_session_id", { length: 36 }).references(
|
|
1876
|
+
() => sessions.session_id,
|
|
1877
|
+
{
|
|
1878
|
+
onDelete: "set null"
|
|
1879
|
+
}
|
|
1880
|
+
),
|
|
1881
|
+
consumed_at: t.timestamp("consumed_at")
|
|
1882
|
+
},
|
|
1883
|
+
(table) => ({
|
|
1884
|
+
tenantIdx: (0, import_pg_core.index)("gateway_outbound_messages_tenant_id_idx").on(table.tenant_id),
|
|
1885
|
+
uniqueChannelThread: (0, import_pg_core.uniqueIndex)("uniq_gateway_outbound_tenant_channel_thread").on(
|
|
1886
|
+
table.tenant_id,
|
|
1887
|
+
table.gateway_channel_id,
|
|
1888
|
+
table.platform_thread_id
|
|
1889
|
+
),
|
|
1890
|
+
emittedSessionIdx: (0, import_pg_core.index)("idx_gateway_outbound_emitted_session").on(
|
|
1891
|
+
table.emitted_by_session_id
|
|
1892
|
+
),
|
|
1893
|
+
emittedScheduleIdx: (0, import_pg_core.index)("idx_gateway_outbound_emitted_schedule").on(
|
|
1894
|
+
table.emitted_by_schedule_id
|
|
1895
|
+
),
|
|
1896
|
+
targetBranchCreatedIdx: (0, import_pg_core.index)("idx_gateway_outbound_branch_created").on(
|
|
1897
|
+
table.target_branch_id,
|
|
1898
|
+
table.created_at
|
|
1899
|
+
),
|
|
1900
|
+
consumedIdx: (0, import_pg_core.index)("idx_gateway_outbound_consumed").on(table.consumed_at)
|
|
1901
|
+
})
|
|
1902
|
+
);
|
|
1655
1903
|
sessionEnvSelections = (0, import_pg_core.pgTable)(
|
|
1656
1904
|
"session_env_selections",
|
|
1657
1905
|
{
|
|
1906
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1658
1907
|
session_id: (0, import_pg_core.varchar)("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
1659
1908
|
env_var_name: (0, import_pg_core.text)("env_var_name").notNull(),
|
|
1660
1909
|
created_at: t.timestamp("created_at").notNull()
|
|
1661
1910
|
},
|
|
1662
1911
|
(table) => ({
|
|
1912
|
+
tenantIdx: (0, import_pg_core.index)("session_env_selections_tenant_id_idx").on(table.tenant_id),
|
|
1663
1913
|
pk: (0, import_pg_core.primaryKey)({ columns: [table.session_id, table.env_var_name] }),
|
|
1664
1914
|
sessionIdx: (0, import_pg_core.index)("session_env_selections_session_idx").on(table.session_id)
|
|
1665
1915
|
})
|
|
@@ -1667,6 +1917,7 @@ var init_schema_postgres = __esm({
|
|
|
1667
1917
|
kbNamespaces = (0, import_pg_core.pgTable)(
|
|
1668
1918
|
"kb_namespaces",
|
|
1669
1919
|
{
|
|
1920
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1670
1921
|
namespace_id: (0, import_pg_core.varchar)("namespace_id", { length: 36 }).primaryKey(),
|
|
1671
1922
|
slug: (0, import_pg_core.text)("slug").notNull(),
|
|
1672
1923
|
display_name: (0, import_pg_core.text)("display_name").notNull(),
|
|
@@ -1693,7 +1944,8 @@ var init_schema_postgres = __esm({
|
|
|
1693
1944
|
archived_at: t.timestamp("archived_at")
|
|
1694
1945
|
},
|
|
1695
1946
|
(table) => ({
|
|
1696
|
-
|
|
1947
|
+
tenantIdx: (0, import_pg_core.index)("kb_namespaces_tenant_id_idx").on(table.tenant_id),
|
|
1948
|
+
slugIdx: (0, import_pg_core.uniqueIndex)("kb_namespaces_tenant_slug_unique").on(table.tenant_id, table.slug).where(import_drizzle_orm.sql`${table.archived} = false`),
|
|
1697
1949
|
kindIdx: (0, import_pg_core.index)("kb_namespaces_kind_idx").on(table.kind),
|
|
1698
1950
|
ownerIdx: (0, import_pg_core.index)("kb_namespaces_owner_idx").on(table.owner_user_id),
|
|
1699
1951
|
repoIdx: (0, import_pg_core.index)("kb_namespaces_repo_idx").on(table.repo_id),
|
|
@@ -1704,6 +1956,7 @@ var init_schema_postgres = __esm({
|
|
|
1704
1956
|
kbNamespaceAcl = (0, import_pg_core.pgTable)(
|
|
1705
1957
|
"kb_namespace_acl",
|
|
1706
1958
|
{
|
|
1959
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1707
1960
|
namespace_acl_id: (0, import_pg_core.varchar)("namespace_acl_id", { length: 36 }).primaryKey(),
|
|
1708
1961
|
namespace_id: (0, import_pg_core.varchar)("namespace_id", { length: 36 }).notNull().references(() => kbNamespaces.namespace_id, { onDelete: "cascade" }),
|
|
1709
1962
|
subject_type: (0, import_pg_core.text)("subject_type", { enum: ["user", "group"] }).notNull(),
|
|
@@ -1716,9 +1969,11 @@ var init_schema_postgres = __esm({
|
|
|
1716
1969
|
updated_at: t.timestamp("updated_at")
|
|
1717
1970
|
},
|
|
1718
1971
|
(table) => ({
|
|
1972
|
+
tenantIdx: (0, import_pg_core.index)("kb_namespace_acl_tenant_id_idx").on(table.tenant_id),
|
|
1719
1973
|
namespaceIdx: (0, import_pg_core.index)("kb_namespace_acl_namespace_idx").on(table.namespace_id),
|
|
1720
1974
|
subjectIdx: (0, import_pg_core.index)("kb_namespace_acl_subject_idx").on(table.subject_type, table.subject_id),
|
|
1721
|
-
namespaceSubjectIdx: (0, import_pg_core.uniqueIndex)("
|
|
1975
|
+
namespaceSubjectIdx: (0, import_pg_core.uniqueIndex)("kb_namespace_acl_tenant_namespace_subject_unique").on(
|
|
1976
|
+
table.tenant_id,
|
|
1722
1977
|
table.namespace_id,
|
|
1723
1978
|
table.subject_type,
|
|
1724
1979
|
table.subject_id
|
|
@@ -1728,6 +1983,7 @@ var init_schema_postgres = __esm({
|
|
|
1728
1983
|
kbDocuments = (0, import_pg_core.pgTable)(
|
|
1729
1984
|
"kb_documents",
|
|
1730
1985
|
{
|
|
1986
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1731
1987
|
document_id: (0, import_pg_core.varchar)("document_id", { length: 36 }).primaryKey(),
|
|
1732
1988
|
namespace_id: (0, import_pg_core.varchar)("namespace_id", { length: 36 }).notNull().references(() => kbNamespaces.namespace_id, { onDelete: "cascade" }),
|
|
1733
1989
|
path: (0, import_pg_core.text)("path").notNull(),
|
|
@@ -1755,8 +2011,9 @@ var init_schema_postgres = __esm({
|
|
|
1755
2011
|
archived_at: t.timestamp("archived_at")
|
|
1756
2012
|
},
|
|
1757
2013
|
(table) => ({
|
|
1758
|
-
|
|
1759
|
-
|
|
2014
|
+
tenantIdx: (0, import_pg_core.index)("kb_documents_tenant_id_idx").on(table.tenant_id),
|
|
2015
|
+
namespacePathIdx: (0, import_pg_core.uniqueIndex)("kb_documents_tenant_namespace_path_unique").on(table.tenant_id, table.namespace_id, table.path).where(import_drizzle_orm.sql`${table.archived} = false`),
|
|
2016
|
+
uriIdx: (0, import_pg_core.uniqueIndex)("kb_documents_tenant_uri_unique").on(table.tenant_id, table.uri).where(import_drizzle_orm.sql`${table.archived} = false`),
|
|
1760
2017
|
namespaceIdx: (0, import_pg_core.index)("kb_documents_namespace_idx").on(table.namespace_id),
|
|
1761
2018
|
kindIdx: (0, import_pg_core.index)("kb_documents_kind_idx").on(table.kind),
|
|
1762
2019
|
visibilityIdx: (0, import_pg_core.index)("kb_documents_visibility_idx").on(table.visibility),
|
|
@@ -1769,6 +2026,7 @@ var init_schema_postgres = __esm({
|
|
|
1769
2026
|
kbDocumentVersions = (0, import_pg_core.pgTable)(
|
|
1770
2027
|
"kb_document_versions",
|
|
1771
2028
|
{
|
|
2029
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1772
2030
|
version_id: (0, import_pg_core.varchar)("version_id", { length: 36 }).primaryKey(),
|
|
1773
2031
|
document_id: (0, import_pg_core.varchar)("document_id", { length: 36 }).notNull().references(() => kbDocuments.document_id, { onDelete: "cascade" }),
|
|
1774
2032
|
version_number: (0, import_pg_core.integer)("version_number").notNull(),
|
|
@@ -1788,7 +2046,9 @@ var init_schema_postgres = __esm({
|
|
|
1788
2046
|
created_at: t.timestamp("created_at").notNull()
|
|
1789
2047
|
},
|
|
1790
2048
|
(table) => ({
|
|
1791
|
-
|
|
2049
|
+
tenantIdx: (0, import_pg_core.index)("kb_document_versions_tenant_id_idx").on(table.tenant_id),
|
|
2050
|
+
documentVersionIdx: (0, import_pg_core.uniqueIndex)("kb_document_versions_tenant_document_version_unique").on(
|
|
2051
|
+
table.tenant_id,
|
|
1792
2052
|
table.document_id,
|
|
1793
2053
|
table.version_number
|
|
1794
2054
|
),
|
|
@@ -1800,6 +2060,7 @@ var init_schema_postgres = __esm({
|
|
|
1800
2060
|
kbDocumentUnits = (0, import_pg_core.pgTable)(
|
|
1801
2061
|
"kb_document_units",
|
|
1802
2062
|
{
|
|
2063
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1803
2064
|
unit_id: (0, import_pg_core.varchar)("unit_id", { length: 36 }).primaryKey(),
|
|
1804
2065
|
document_id: (0, import_pg_core.varchar)("document_id", { length: 36 }).notNull().references(() => kbDocuments.document_id, { onDelete: "cascade" }),
|
|
1805
2066
|
version_id: (0, import_pg_core.varchar)("version_id", { length: 36 }).notNull().references(() => kbDocumentVersions.version_id, { onDelete: "cascade" }),
|
|
@@ -1824,6 +2085,7 @@ var init_schema_postgres = __esm({
|
|
|
1824
2085
|
updated_at: t.timestamp("updated_at")
|
|
1825
2086
|
},
|
|
1826
2087
|
(table) => ({
|
|
2088
|
+
tenantIdx: (0, import_pg_core.index)("kb_document_units_tenant_id_idx").on(table.tenant_id),
|
|
1827
2089
|
documentIdx: (0, import_pg_core.index)("kb_document_units_document_idx").on(table.document_id),
|
|
1828
2090
|
versionIdx: (0, import_pg_core.index)("kb_document_units_version_idx").on(table.version_id),
|
|
1829
2091
|
versionOrdinalIdx: (0, import_pg_core.index)("kb_document_units_version_ordinal_idx").on(
|
|
@@ -1837,6 +2099,7 @@ var init_schema_postgres = __esm({
|
|
|
1837
2099
|
kbEmbeddingSpaces = (0, import_pg_core.pgTable)(
|
|
1838
2100
|
"kb_embedding_spaces",
|
|
1839
2101
|
{
|
|
2102
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1840
2103
|
embedding_space_id: (0, import_pg_core.varchar)("embedding_space_id", { length: 36 }).primaryKey(),
|
|
1841
2104
|
provider: (0, import_pg_core.text)("provider").notNull(),
|
|
1842
2105
|
model: (0, import_pg_core.text)("model").notNull(),
|
|
@@ -1849,7 +2112,9 @@ var init_schema_postgres = __esm({
|
|
|
1849
2112
|
updated_at: t.timestamp("updated_at")
|
|
1850
2113
|
},
|
|
1851
2114
|
(table) => ({
|
|
1852
|
-
|
|
2115
|
+
tenantIdx: (0, import_pg_core.index)("kb_embedding_spaces_tenant_id_idx").on(table.tenant_id),
|
|
2116
|
+
providerModelIdx: (0, import_pg_core.uniqueIndex)("kb_embedding_spaces_tenant_provider_model_unique").on(
|
|
2117
|
+
table.tenant_id,
|
|
1853
2118
|
table.provider,
|
|
1854
2119
|
table.model,
|
|
1855
2120
|
table.dimensions,
|
|
@@ -1862,6 +2127,7 @@ var init_schema_postgres = __esm({
|
|
|
1862
2127
|
kbGraphNodes = (0, import_pg_core.pgTable)(
|
|
1863
2128
|
"kb_graph_nodes",
|
|
1864
2129
|
{
|
|
2130
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1865
2131
|
node_id: (0, import_pg_core.varchar)("node_id", { length: 36 }).primaryKey(),
|
|
1866
2132
|
node_type: (0, import_pg_core.text)("node_type", {
|
|
1867
2133
|
enum: [
|
|
@@ -1927,7 +2193,8 @@ var init_schema_postgres = __esm({
|
|
|
1927
2193
|
archived_at: t.timestamp("archived_at")
|
|
1928
2194
|
},
|
|
1929
2195
|
(table) => ({
|
|
1930
|
-
|
|
2196
|
+
tenantIdx: (0, import_pg_core.index)("kb_graph_nodes_tenant_id_idx").on(table.tenant_id),
|
|
2197
|
+
uriIdx: (0, import_pg_core.uniqueIndex)("kb_graph_nodes_tenant_uri_unique").on(table.tenant_id, table.uri).where(import_drizzle_orm.sql`${table.archived} = false`),
|
|
1931
2198
|
typeIdx: (0, import_pg_core.index)("kb_graph_nodes_type_idx").on(table.node_type),
|
|
1932
2199
|
namespaceIdx: (0, import_pg_core.index)("kb_graph_nodes_namespace_idx").on(table.namespace_id),
|
|
1933
2200
|
documentIdx: (0, import_pg_core.index)("kb_graph_nodes_document_idx").on(table.document_id),
|
|
@@ -1947,6 +2214,7 @@ var init_schema_postgres = __esm({
|
|
|
1947
2214
|
kbGraphEdges = (0, import_pg_core.pgTable)(
|
|
1948
2215
|
"kb_graph_edges",
|
|
1949
2216
|
{
|
|
2217
|
+
tenant_id: (0, import_pg_core.text)("tenant_id").notNull().default("default"),
|
|
1950
2218
|
edge_id: (0, import_pg_core.varchar)("edge_id", { length: 36 }).primaryKey(),
|
|
1951
2219
|
source_node_id: (0, import_pg_core.varchar)("source_node_id", { length: 36 }).notNull().references(() => kbGraphNodes.node_id, { onDelete: "cascade" }),
|
|
1952
2220
|
target_node_id: (0, import_pg_core.varchar)("target_node_id", { length: 36 }).notNull().references(() => kbGraphNodes.node_id, { onDelete: "cascade" }),
|
|
@@ -1975,6 +2243,7 @@ var init_schema_postgres = __esm({
|
|
|
1975
2243
|
archived_at: t.timestamp("archived_at")
|
|
1976
2244
|
},
|
|
1977
2245
|
(table) => ({
|
|
2246
|
+
tenantIdx: (0, import_pg_core.index)("kb_graph_edges_tenant_id_idx").on(table.tenant_id),
|
|
1978
2247
|
sourceIdx: (0, import_pg_core.index)("kb_graph_edges_source_idx").on(table.source_node_id),
|
|
1979
2248
|
targetIdx: (0, import_pg_core.index)("kb_graph_edges_target_idx").on(table.target_node_id),
|
|
1980
2249
|
typeIdx: (0, import_pg_core.index)("kb_graph_edges_type_idx").on(table.edge_type),
|
|
@@ -1986,7 +2255,7 @@ var init_schema_postgres = __esm({
|
|
|
1986
2255
|
table.target_node_id,
|
|
1987
2256
|
table.edge_type
|
|
1988
2257
|
),
|
|
1989
|
-
sourceTargetTypeIdx: (0, import_pg_core.uniqueIndex)("
|
|
2258
|
+
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_orm.sql`${table.archived} = false`),
|
|
1990
2259
|
archivedIdx: (0, import_pg_core.index)("kb_graph_edges_archived_idx").on(table.archived)
|
|
1991
2260
|
})
|
|
1992
2261
|
);
|
|
@@ -2050,6 +2319,7 @@ __export(schema_sqlite_exports, {
|
|
|
2050
2319
|
cardTypes: () => cardTypes2,
|
|
2051
2320
|
cards: () => cards2,
|
|
2052
2321
|
gatewayChannels: () => gatewayChannels2,
|
|
2322
|
+
gatewayOutboundMessages: () => gatewayOutboundMessages2,
|
|
2053
2323
|
groupMemberships: () => groupMemberships2,
|
|
2054
2324
|
groups: () => groups2,
|
|
2055
2325
|
kbDocumentUnits: () => kbDocumentUnits2,
|
|
@@ -2078,7 +2348,7 @@ __export(schema_sqlite_exports, {
|
|
|
2078
2348
|
userMcpOauthTokens: () => userMcpOauthTokens2,
|
|
2079
2349
|
users: () => users2
|
|
2080
2350
|
});
|
|
2081
|
-
var import_drizzle_orm2, import_sqlite_core, t2, sessions2, sessionRelationships2, tasks2, serializedSessions2, messages2, boards2, repos2, branches2, branchOwners2, boardOwners2, schedules2, users2, groups2, groupMemberships2, branchGroupGrants2, boardGroupGrants2, appVariables2, userApiKeys2, mcpServers2, cardTypes2, cards2, artifacts2, artifactTrustGrants2, boardObjects2, sessionMcpServers2, userMcpOauthTokens2, boardComments2, gatewayChannels2, threadSessionMap2, sessionEnvSelections2, kbNamespaces2, kbNamespaceAcl2, kbDocuments2, kbDocumentVersions2, kbDocumentUnits2, kbEmbeddingSpaces2, kbGraphNodes2, kbGraphEdges2, sessionsRelations2, sessionRelationshipsRelations2, branchesRelations2, schedulesRelations2;
|
|
2351
|
+
var import_drizzle_orm2, import_sqlite_core, t2, sessions2, sessionRelationships2, tasks2, serializedSessions2, messages2, boards2, repos2, branches2, branchOwners2, boardOwners2, schedules2, users2, groups2, groupMemberships2, branchGroupGrants2, boardGroupGrants2, appVariables2, userApiKeys2, mcpServers2, cardTypes2, cards2, artifacts2, artifactTrustGrants2, boardObjects2, sessionMcpServers2, userMcpOauthTokens2, boardComments2, gatewayChannels2, threadSessionMap2, gatewayOutboundMessages2, sessionEnvSelections2, kbNamespaces2, kbNamespaceAcl2, kbDocuments2, kbDocumentVersions2, kbDocumentUnits2, kbEmbeddingSpaces2, kbGraphNodes2, kbGraphEdges2, sessionsRelations2, sessionRelationshipsRelations2, branchesRelations2, schedulesRelations2;
|
|
2082
2352
|
var init_schema_sqlite = __esm({
|
|
2083
2353
|
"src/db/schema.sqlite.ts"() {
|
|
2084
2354
|
"use strict";
|
|
@@ -2154,6 +2424,7 @@ var init_schema_sqlite = __esm({
|
|
|
2154
2424
|
},
|
|
2155
2425
|
(table) => ({
|
|
2156
2426
|
statusIdx: (0, import_sqlite_core.index)("sessions_status_idx").on(table.status),
|
|
2427
|
+
statusReadyIdx: (0, import_sqlite_core.index)("sessions_status_ready_idx").on(table.status, table.ready_for_prompt),
|
|
2157
2428
|
agenticToolIdx: (0, import_sqlite_core.index)("sessions_agentic_tool_idx").on(table.agentic_tool),
|
|
2158
2429
|
boardIdx: (0, import_sqlite_core.index)("sessions_board_idx").on(table.board_id),
|
|
2159
2430
|
branchIdx: (0, import_sqlite_core.index)("sessions_branch_idx").on(table.branch_id),
|
|
@@ -2193,6 +2464,9 @@ var init_schema_sqlite = __esm({
|
|
|
2193
2464
|
sourceIdx: (0, import_sqlite_core.index)("session_relationships_source_idx").on(table.source_session_id),
|
|
2194
2465
|
targetIdx: (0, import_sqlite_core.index)("session_relationships_target_idx").on(table.target_session_id),
|
|
2195
2466
|
callbackIdx: (0, import_sqlite_core.index)("session_relationships_callback_idx").on(table.callback_session_id),
|
|
2467
|
+
// Note: no tenant_source/tenant_target composite indexes here — SQLite schema
|
|
2468
|
+
// has no tenant column on this table (RLS is Postgres-only). The standalone
|
|
2469
|
+
// source/target indexes above are sufficient for SQLite.
|
|
2196
2470
|
sourceTargetTypeUnique: (0, import_sqlite_core.uniqueIndex)("session_relationships_source_target_type_unique").on(
|
|
2197
2471
|
table.source_session_id,
|
|
2198
2472
|
table.target_session_id,
|
|
@@ -2312,7 +2586,12 @@ var init_schema_sqlite = __esm({
|
|
|
2312
2586
|
// Indexes for efficient lookups
|
|
2313
2587
|
sessionIdx: (0, import_sqlite_core.index)("messages_session_id_idx").on(table.session_id),
|
|
2314
2588
|
taskIdx: (0, import_sqlite_core.index)("messages_task_id_idx").on(table.task_id),
|
|
2315
|
-
sessionIndexIdx: (0, import_sqlite_core.index)("messages_session_index_idx").on(table.session_id, table.index)
|
|
2589
|
+
sessionIndexIdx: (0, import_sqlite_core.index)("messages_session_index_idx").on(table.session_id, table.index),
|
|
2590
|
+
timestampIdx: (0, import_sqlite_core.index)("messages_timestamp_idx").on(table.timestamp),
|
|
2591
|
+
sessionTimestampIdx: (0, import_sqlite_core.index)("messages_session_timestamp_idx").on(
|
|
2592
|
+
table.session_id,
|
|
2593
|
+
table.timestamp
|
|
2594
|
+
)
|
|
2316
2595
|
})
|
|
2317
2596
|
);
|
|
2318
2597
|
boards2 = (0, import_sqlite_core.sqliteTable)(
|
|
@@ -2538,6 +2817,9 @@ var init_schema_sqlite = __esm({
|
|
|
2538
2817
|
onboarding_completed: t2.bool("onboarding_completed").notNull().default(false),
|
|
2539
2818
|
// Force password change flag (admin-settable, auto-cleared on password change)
|
|
2540
2819
|
must_change_password: t2.bool("must_change_password").notNull().default(false),
|
|
2820
|
+
// Auth invalidation marker. Password changes set this timestamp so any
|
|
2821
|
+
// previously issued browser access or refresh token is rejected.
|
|
2822
|
+
tokens_valid_after: t2.timestamp("tokens_valid_after"),
|
|
2541
2823
|
// JSON blob for profile/preferences
|
|
2542
2824
|
data: t2.json("data").$type().notNull()
|
|
2543
2825
|
},
|
|
@@ -2981,6 +3263,66 @@ var init_schema_sqlite = __esm({
|
|
|
2981
3263
|
channelStatusIdx: (0, import_sqlite_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
2982
3264
|
})
|
|
2983
3265
|
);
|
|
3266
|
+
gatewayOutboundMessages2 = (0, import_sqlite_core.sqliteTable)(
|
|
3267
|
+
"gateway_outbound_messages",
|
|
3268
|
+
{
|
|
3269
|
+
id: (0, import_sqlite_core.text)("id", { length: 36 }).primaryKey(),
|
|
3270
|
+
created_at: t2.timestamp("created_at").notNull(),
|
|
3271
|
+
updated_at: t2.timestamp("updated_at").notNull(),
|
|
3272
|
+
gateway_channel_id: (0, import_sqlite_core.text)("gateway_channel_id", { length: 36 }).notNull().references(() => gatewayChannels2.id, { onDelete: "cascade" }),
|
|
3273
|
+
channel_type: (0, import_sqlite_core.text)("channel_type", {
|
|
3274
|
+
enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
|
|
3275
|
+
}).notNull(),
|
|
3276
|
+
platform_channel_id: (0, import_sqlite_core.text)("platform_channel_id").notNull(),
|
|
3277
|
+
platform_message_id: (0, import_sqlite_core.text)("platform_message_id").notNull(),
|
|
3278
|
+
platform_thread_id: (0, import_sqlite_core.text)("platform_thread_id").notNull(),
|
|
3279
|
+
platform_permalink: (0, import_sqlite_core.text)("platform_permalink"),
|
|
3280
|
+
target_branch_id: (0, import_sqlite_core.text)("target_branch_id", { length: 36 }).notNull().references(() => branches2.branch_id),
|
|
3281
|
+
emitted_by_user_id: (0, import_sqlite_core.text)("emitted_by_user_id", { length: 36 }).notNull().references(() => users2.user_id),
|
|
3282
|
+
emitted_by_session_id: (0, import_sqlite_core.text)("emitted_by_session_id", { length: 36 }).references(
|
|
3283
|
+
() => sessions2.session_id,
|
|
3284
|
+
{
|
|
3285
|
+
onDelete: "set null"
|
|
3286
|
+
}
|
|
3287
|
+
),
|
|
3288
|
+
emitted_by_task_id: (0, import_sqlite_core.text)("emitted_by_task_id", { length: 36 }).references(() => tasks2.task_id, {
|
|
3289
|
+
onDelete: "set null"
|
|
3290
|
+
}),
|
|
3291
|
+
emitted_by_schedule_id: (0, import_sqlite_core.text)("emitted_by_schedule_id", { length: 36 }).references(
|
|
3292
|
+
() => schedules2.schedule_id,
|
|
3293
|
+
{
|
|
3294
|
+
onDelete: "set null"
|
|
3295
|
+
}
|
|
3296
|
+
),
|
|
3297
|
+
message_text: (0, import_sqlite_core.text)("message_text").notNull(),
|
|
3298
|
+
message_preview: (0, import_sqlite_core.text)("message_preview").notNull(),
|
|
3299
|
+
metadata: t2.json("metadata"),
|
|
3300
|
+
consumed_by_session_id: (0, import_sqlite_core.text)("consumed_by_session_id", { length: 36 }).references(
|
|
3301
|
+
() => sessions2.session_id,
|
|
3302
|
+
{
|
|
3303
|
+
onDelete: "set null"
|
|
3304
|
+
}
|
|
3305
|
+
),
|
|
3306
|
+
consumed_at: t2.timestamp("consumed_at")
|
|
3307
|
+
},
|
|
3308
|
+
(table) => ({
|
|
3309
|
+
uniqueChannelThread: (0, import_sqlite_core.uniqueIndex)("uniq_gateway_outbound_channel_thread").on(
|
|
3310
|
+
table.gateway_channel_id,
|
|
3311
|
+
table.platform_thread_id
|
|
3312
|
+
),
|
|
3313
|
+
emittedSessionIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_emitted_session").on(
|
|
3314
|
+
table.emitted_by_session_id
|
|
3315
|
+
),
|
|
3316
|
+
emittedScheduleIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_emitted_schedule").on(
|
|
3317
|
+
table.emitted_by_schedule_id
|
|
3318
|
+
),
|
|
3319
|
+
targetBranchCreatedIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_branch_created").on(
|
|
3320
|
+
table.target_branch_id,
|
|
3321
|
+
table.created_at
|
|
3322
|
+
),
|
|
3323
|
+
consumedIdx: (0, import_sqlite_core.index)("idx_gateway_outbound_consumed").on(table.consumed_at)
|
|
3324
|
+
})
|
|
3325
|
+
);
|
|
2984
3326
|
sessionEnvSelections2 = (0, import_sqlite_core.sqliteTable)(
|
|
2985
3327
|
"session_env_selections",
|
|
2986
3328
|
{
|
|
@@ -3405,6 +3747,17 @@ var init_schema_factory = __esm({
|
|
|
3405
3747
|
}
|
|
3406
3748
|
});
|
|
3407
3749
|
|
|
3750
|
+
// src/db/tenant-context.ts
|
|
3751
|
+
var import_node_async_hooks, tenantDatabaseScope;
|
|
3752
|
+
var init_tenant_context = __esm({
|
|
3753
|
+
"src/db/tenant-context.ts"() {
|
|
3754
|
+
"use strict";
|
|
3755
|
+
init_cjs_shims();
|
|
3756
|
+
import_node_async_hooks = require("async_hooks");
|
|
3757
|
+
tenantDatabaseScope = new import_node_async_hooks.AsyncLocalStorage();
|
|
3758
|
+
}
|
|
3759
|
+
});
|
|
3760
|
+
|
|
3408
3761
|
// src/db/database-wrapper.ts
|
|
3409
3762
|
var import_drizzle_orm3;
|
|
3410
3763
|
var init_database_wrapper = __esm({
|
|
@@ -3412,11 +3765,12 @@ var init_database_wrapper = __esm({
|
|
|
3412
3765
|
"use strict";
|
|
3413
3766
|
init_cjs_shims();
|
|
3414
3767
|
import_drizzle_orm3 = require("drizzle-orm");
|
|
3768
|
+
init_tenant_context();
|
|
3415
3769
|
}
|
|
3416
3770
|
});
|
|
3417
3771
|
|
|
3418
3772
|
// src/db/schema.ts
|
|
3419
|
-
var dialect, schema, sessions3, tasks3, messages3, boards3, repos3, branches3, branchOwners3, boardOwners3, groups3, groupMemberships3, branchGroupGrants3, boardGroupGrants3, schedules3, users3, appVariables3, mcpServers3, cardTypes3, cards3, artifacts3, artifactTrustGrants3, boardObjects3, sessionMcpServers3, sessionRelationships3, sessionEnvSelections3, userMcpOauthTokens3, boardComments3, gatewayChannels3, threadSessionMap3, userApiKeys3, serializedSessions3, kbNamespaces3, kbNamespaceAcl3, kbDocuments3, kbDocumentVersions3, kbDocumentUnits3, kbEmbeddingSpaces3, kbGraphNodes3, kbGraphEdges3;
|
|
3773
|
+
var dialect, schema, sessions3, tasks3, messages3, boards3, repos3, branches3, branchOwners3, boardOwners3, groups3, groupMemberships3, branchGroupGrants3, boardGroupGrants3, schedules3, users3, appVariables3, mcpServers3, cardTypes3, cards3, artifacts3, artifactTrustGrants3, boardObjects3, sessionMcpServers3, sessionRelationships3, sessionEnvSelections3, userMcpOauthTokens3, boardComments3, gatewayChannels3, threadSessionMap3, gatewayOutboundMessages3, userApiKeys3, serializedSessions3, kbNamespaces3, kbNamespaceAcl3, kbDocuments3, kbDocumentVersions3, kbDocumentUnits3, kbEmbeddingSpaces3, kbGraphNodes3, kbGraphEdges3;
|
|
3420
3774
|
var init_schema = __esm({
|
|
3421
3775
|
"src/db/schema.ts"() {
|
|
3422
3776
|
"use strict";
|
|
@@ -3454,6 +3808,7 @@ var init_schema = __esm({
|
|
|
3454
3808
|
boardComments3 = schema.boardComments;
|
|
3455
3809
|
gatewayChannels3 = schema.gatewayChannels;
|
|
3456
3810
|
threadSessionMap3 = schema.threadSessionMap;
|
|
3811
|
+
gatewayOutboundMessages3 = schema.gatewayOutboundMessages;
|
|
3457
3812
|
userApiKeys3 = schema.userApiKeys;
|
|
3458
3813
|
serializedSessions3 = schema.serializedSessions;
|
|
3459
3814
|
kbNamespaces3 = schema.kbNamespaces;
|
|
@@ -3467,31 +3822,46 @@ var init_schema = __esm({
|
|
|
3467
3822
|
}
|
|
3468
3823
|
});
|
|
3469
3824
|
|
|
3825
|
+
// src/db/tenant-scope.ts
|
|
3826
|
+
var import_drizzle_orm4;
|
|
3827
|
+
var init_tenant_scope = __esm({
|
|
3828
|
+
"src/db/tenant-scope.ts"() {
|
|
3829
|
+
"use strict";
|
|
3830
|
+
init_cjs_shims();
|
|
3831
|
+
import_drizzle_orm4 = require("drizzle-orm");
|
|
3832
|
+
init_tenant_context();
|
|
3833
|
+
init_tenant_context();
|
|
3834
|
+
init_database_wrapper();
|
|
3835
|
+
}
|
|
3836
|
+
});
|
|
3837
|
+
|
|
3470
3838
|
// src/db/user-utils.ts
|
|
3471
|
-
var import_bcryptjs,
|
|
3839
|
+
var import_bcryptjs, import_drizzle_orm5;
|
|
3472
3840
|
var init_user_utils = __esm({
|
|
3473
3841
|
"src/db/user-utils.ts"() {
|
|
3474
3842
|
"use strict";
|
|
3475
3843
|
init_cjs_shims();
|
|
3476
3844
|
import_bcryptjs = __toESM(require("bcryptjs"), 1);
|
|
3477
|
-
|
|
3845
|
+
import_drizzle_orm5 = require("drizzle-orm");
|
|
3478
3846
|
init_ids();
|
|
3479
3847
|
init_user();
|
|
3480
3848
|
init_database_wrapper();
|
|
3481
3849
|
init_schema();
|
|
3850
|
+
init_tenant_scope();
|
|
3482
3851
|
}
|
|
3483
3852
|
});
|
|
3484
3853
|
|
|
3485
3854
|
// src/db/first-run-bootstrap.ts
|
|
3486
|
-
var import_node_crypto3,
|
|
3855
|
+
var import_node_crypto3, import_drizzle_orm6;
|
|
3487
3856
|
var init_first_run_bootstrap = __esm({
|
|
3488
3857
|
"src/db/first-run-bootstrap.ts"() {
|
|
3489
3858
|
"use strict";
|
|
3490
3859
|
init_cjs_shims();
|
|
3491
3860
|
import_node_crypto3 = require("crypto");
|
|
3492
|
-
|
|
3861
|
+
import_drizzle_orm6 = require("drizzle-orm");
|
|
3493
3862
|
init_database_wrapper();
|
|
3494
3863
|
init_schema();
|
|
3864
|
+
init_tenant_scope();
|
|
3495
3865
|
init_user_utils();
|
|
3496
3866
|
}
|
|
3497
3867
|
});
|
|
@@ -3626,7 +3996,7 @@ init_cjs_shims();
|
|
|
3626
3996
|
|
|
3627
3997
|
// src/db/index.ts
|
|
3628
3998
|
init_cjs_shims();
|
|
3629
|
-
var
|
|
3999
|
+
var import_drizzle_orm36 = require("drizzle-orm");
|
|
3630
4000
|
var import_bcryptjs3 = __toESM(require("bcryptjs"), 1);
|
|
3631
4001
|
init_ids();
|
|
3632
4002
|
|
|
@@ -3663,11 +4033,12 @@ init_first_run_bootstrap();
|
|
|
3663
4033
|
init_cjs_shims();
|
|
3664
4034
|
var import_node_path4 = require("path");
|
|
3665
4035
|
var import_node_url = require("url");
|
|
3666
|
-
var
|
|
4036
|
+
var import_drizzle_orm7 = require("drizzle-orm");
|
|
3667
4037
|
var import_migrator = require("drizzle-orm/libsql/migrator");
|
|
3668
4038
|
var import_migrator2 = require("drizzle-orm/postgres-js/migrator");
|
|
3669
4039
|
init_database_wrapper();
|
|
3670
4040
|
init_schema();
|
|
4041
|
+
init_tenant_scope();
|
|
3671
4042
|
|
|
3672
4043
|
// src/db/pending-migrations.ts
|
|
3673
4044
|
init_cjs_shims();
|
|
@@ -3677,7 +4048,7 @@ init_cjs_shims();
|
|
|
3677
4048
|
|
|
3678
4049
|
// src/db/repositories/app-variables.ts
|
|
3679
4050
|
init_cjs_shims();
|
|
3680
|
-
var
|
|
4051
|
+
var import_drizzle_orm8 = require("drizzle-orm");
|
|
3681
4052
|
init_ids();
|
|
3682
4053
|
init_database_wrapper();
|
|
3683
4054
|
init_schema();
|
|
@@ -3686,17 +4057,18 @@ init_schema();
|
|
|
3686
4057
|
init_cjs_shims();
|
|
3687
4058
|
init_ids();
|
|
3688
4059
|
init_id();
|
|
4060
|
+
init_tenant_context();
|
|
3689
4061
|
|
|
3690
4062
|
// src/db/repositories/artifact-trust.ts
|
|
3691
4063
|
init_cjs_shims();
|
|
3692
|
-
var
|
|
4064
|
+
var import_drizzle_orm9 = require("drizzle-orm");
|
|
3693
4065
|
init_ids();
|
|
3694
4066
|
init_database_wrapper();
|
|
3695
4067
|
init_schema();
|
|
3696
4068
|
|
|
3697
4069
|
// src/db/repositories/artifacts.ts
|
|
3698
4070
|
init_cjs_shims();
|
|
3699
|
-
var
|
|
4071
|
+
var import_drizzle_orm11 = require("drizzle-orm");
|
|
3700
4072
|
init_config_manager();
|
|
3701
4073
|
init_ids();
|
|
3702
4074
|
|
|
@@ -3708,16 +4080,26 @@ init_id();
|
|
|
3708
4080
|
init_database_wrapper();
|
|
3709
4081
|
init_schema();
|
|
3710
4082
|
|
|
3711
|
-
// src/db/repositories/
|
|
4083
|
+
// src/db/repositories/branch-access.ts
|
|
3712
4084
|
init_cjs_shims();
|
|
4085
|
+
init_types2();
|
|
3713
4086
|
var import_drizzle_orm10 = require("drizzle-orm");
|
|
4087
|
+
init_database_wrapper();
|
|
4088
|
+
init_schema();
|
|
4089
|
+
var VISIBLE_BRANCH_PERMISSION_LEVELS = BRANCH_PERMISSION_LEVELS.filter(
|
|
4090
|
+
(level) => level !== "none"
|
|
4091
|
+
);
|
|
4092
|
+
|
|
4093
|
+
// src/db/repositories/board-comments.ts
|
|
4094
|
+
init_cjs_shims();
|
|
4095
|
+
var import_drizzle_orm12 = require("drizzle-orm");
|
|
3714
4096
|
init_ids();
|
|
3715
4097
|
init_database_wrapper();
|
|
3716
4098
|
init_schema();
|
|
3717
4099
|
|
|
3718
4100
|
// src/db/repositories/board-objects.ts
|
|
3719
4101
|
init_cjs_shims();
|
|
3720
|
-
var
|
|
4102
|
+
var import_drizzle_orm13 = require("drizzle-orm");
|
|
3721
4103
|
init_ids();
|
|
3722
4104
|
|
|
3723
4105
|
// src/utils/board-placement.ts
|
|
@@ -3727,30 +4109,46 @@ init_cjs_shims();
|
|
|
3727
4109
|
init_database_wrapper();
|
|
3728
4110
|
init_schema();
|
|
3729
4111
|
|
|
3730
|
-
// src/db/repositories/branch-access.ts
|
|
3731
|
-
init_cjs_shims();
|
|
3732
|
-
init_types2();
|
|
3733
|
-
var import_drizzle_orm11 = require("drizzle-orm");
|
|
3734
|
-
init_database_wrapper();
|
|
3735
|
-
init_schema();
|
|
3736
|
-
var VISIBLE_BRANCH_PERMISSION_LEVELS = BRANCH_PERMISSION_LEVELS.filter(
|
|
3737
|
-
(level) => level !== "none"
|
|
3738
|
-
);
|
|
3739
|
-
|
|
3740
4112
|
// src/db/repositories/boards.ts
|
|
3741
4113
|
init_cjs_shims();
|
|
3742
4114
|
init_types2();
|
|
3743
|
-
var
|
|
4115
|
+
var import_drizzle_orm16 = require("drizzle-orm");
|
|
3744
4116
|
var yaml2 = __toESM(require("js-yaml"), 1);
|
|
3745
4117
|
init_config_manager();
|
|
3746
4118
|
init_ids();
|
|
4119
|
+
|
|
4120
|
+
// src/utils/emoji-shortcodes.ts
|
|
4121
|
+
init_cjs_shims();
|
|
4122
|
+
var import_node_module = require("module");
|
|
4123
|
+
var requireJson = (0, import_node_module.createRequire)(importMetaUrl);
|
|
4124
|
+
var emojiData = requireJson("emojibase-data/en/compact.json");
|
|
4125
|
+
var shortcodes = requireJson(
|
|
4126
|
+
"emojibase-data/en/shortcodes/emojibase.json"
|
|
4127
|
+
);
|
|
4128
|
+
var emojiByHexcode = /* @__PURE__ */ new Map();
|
|
4129
|
+
for (const emoji of emojiData) {
|
|
4130
|
+
if (emoji.unicode) {
|
|
4131
|
+
emojiByHexcode.set(emoji.hexcode, emoji.unicode);
|
|
4132
|
+
}
|
|
4133
|
+
}
|
|
4134
|
+
var emojiByShortcode = /* @__PURE__ */ new Map();
|
|
4135
|
+
for (const [hexcode, codes] of Object.entries(shortcodes)) {
|
|
4136
|
+
const emoji = emojiByHexcode.get(hexcode);
|
|
4137
|
+
if (!emoji) continue;
|
|
4138
|
+
const codeList = Array.isArray(codes) ? codes : [codes];
|
|
4139
|
+
for (const code of codeList) {
|
|
4140
|
+
emojiByShortcode.set(code.toLowerCase(), emoji);
|
|
4141
|
+
}
|
|
4142
|
+
}
|
|
4143
|
+
|
|
4144
|
+
// src/db/repositories/boards.ts
|
|
3747
4145
|
init_database_wrapper();
|
|
3748
4146
|
init_schema();
|
|
3749
4147
|
|
|
3750
4148
|
// src/db/repositories/branches.ts
|
|
3751
4149
|
init_cjs_shims();
|
|
3752
4150
|
init_types2();
|
|
3753
|
-
var
|
|
4151
|
+
var import_drizzle_orm15 = require("drizzle-orm");
|
|
3754
4152
|
init_config_manager();
|
|
3755
4153
|
init_ids();
|
|
3756
4154
|
init_database_wrapper();
|
|
@@ -3758,7 +4156,7 @@ init_schema();
|
|
|
3758
4156
|
|
|
3759
4157
|
// src/db/repositories/groups.ts
|
|
3760
4158
|
init_cjs_shims();
|
|
3761
|
-
var
|
|
4159
|
+
var import_drizzle_orm14 = require("drizzle-orm");
|
|
3762
4160
|
init_ids();
|
|
3763
4161
|
init_database_wrapper();
|
|
3764
4162
|
init_schema();
|
|
@@ -3773,14 +4171,14 @@ var BRANCH_PERMISSION_RANK = Object.fromEntries(
|
|
|
3773
4171
|
|
|
3774
4172
|
// src/db/repositories/card-types.ts
|
|
3775
4173
|
init_cjs_shims();
|
|
3776
|
-
var
|
|
4174
|
+
var import_drizzle_orm17 = require("drizzle-orm");
|
|
3777
4175
|
init_ids();
|
|
3778
4176
|
init_database_wrapper();
|
|
3779
4177
|
init_schema();
|
|
3780
4178
|
|
|
3781
4179
|
// src/db/repositories/cards.ts
|
|
3782
4180
|
init_cjs_shims();
|
|
3783
|
-
var
|
|
4181
|
+
var import_drizzle_orm18 = require("drizzle-orm");
|
|
3784
4182
|
init_ids();
|
|
3785
4183
|
init_database_wrapper();
|
|
3786
4184
|
init_schema();
|
|
@@ -3788,7 +4186,15 @@ init_schema();
|
|
|
3788
4186
|
// src/db/repositories/gateway-channels.ts
|
|
3789
4187
|
init_cjs_shims();
|
|
3790
4188
|
init_types2();
|
|
3791
|
-
var
|
|
4189
|
+
var import_drizzle_orm19 = require("drizzle-orm");
|
|
4190
|
+
init_ids();
|
|
4191
|
+
init_database_wrapper();
|
|
4192
|
+
init_schema();
|
|
4193
|
+
|
|
4194
|
+
// src/db/repositories/gateway-outbound-messages.ts
|
|
4195
|
+
init_cjs_shims();
|
|
4196
|
+
init_types2();
|
|
4197
|
+
var import_drizzle_orm20 = require("drizzle-orm");
|
|
3792
4198
|
init_ids();
|
|
3793
4199
|
init_database_wrapper();
|
|
3794
4200
|
init_schema();
|
|
@@ -3797,7 +4203,7 @@ init_schema();
|
|
|
3797
4203
|
init_cjs_shims();
|
|
3798
4204
|
var import_node_crypto4 = require("crypto");
|
|
3799
4205
|
init_types2();
|
|
3800
|
-
var
|
|
4206
|
+
var import_drizzle_orm21 = require("drizzle-orm");
|
|
3801
4207
|
init_config_manager();
|
|
3802
4208
|
init_ids();
|
|
3803
4209
|
init_database_wrapper();
|
|
@@ -3805,7 +4211,7 @@ init_schema();
|
|
|
3805
4211
|
|
|
3806
4212
|
// src/db/repositories/mcp-servers.ts
|
|
3807
4213
|
init_cjs_shims();
|
|
3808
|
-
var
|
|
4214
|
+
var import_drizzle_orm22 = require("drizzle-orm");
|
|
3809
4215
|
init_ids();
|
|
3810
4216
|
|
|
3811
4217
|
// src/tools/mcp/auth-secrets.ts
|
|
@@ -3820,23 +4226,20 @@ init_schema();
|
|
|
3820
4226
|
|
|
3821
4227
|
// src/db/repositories/messages.ts
|
|
3822
4228
|
init_cjs_shims();
|
|
3823
|
-
var
|
|
4229
|
+
var import_drizzle_orm23 = require("drizzle-orm");
|
|
3824
4230
|
init_database_wrapper();
|
|
3825
4231
|
init_schema();
|
|
3826
4232
|
|
|
3827
4233
|
// src/db/repositories/repos.ts
|
|
3828
4234
|
init_cjs_shims();
|
|
3829
|
-
var
|
|
4235
|
+
var import_drizzle_orm24 = require("drizzle-orm");
|
|
3830
4236
|
|
|
3831
4237
|
// src/config/variant-resolver.ts
|
|
3832
4238
|
init_cjs_shims();
|
|
3833
4239
|
|
|
3834
4240
|
// src/yaml/index.ts
|
|
3835
4241
|
init_cjs_shims();
|
|
3836
|
-
var
|
|
3837
|
-
var load2 = import_js_yaml2.default.load;
|
|
3838
|
-
var dump2 = import_js_yaml2.default.dump;
|
|
3839
|
-
var YAMLException = import_js_yaml2.default.YAMLException;
|
|
4242
|
+
var yaml3 = __toESM(require("js-yaml"), 1);
|
|
3840
4243
|
|
|
3841
4244
|
// src/db/repositories/repos.ts
|
|
3842
4245
|
init_ids();
|
|
@@ -3845,34 +4248,34 @@ init_schema();
|
|
|
3845
4248
|
|
|
3846
4249
|
// src/db/repositories/schedules.ts
|
|
3847
4250
|
init_cjs_shims();
|
|
3848
|
-
var
|
|
4251
|
+
var import_drizzle_orm25 = require("drizzle-orm");
|
|
3849
4252
|
init_ids();
|
|
3850
4253
|
init_database_wrapper();
|
|
3851
4254
|
init_schema();
|
|
3852
4255
|
|
|
3853
4256
|
// src/db/repositories/serialized-sessions.ts
|
|
3854
4257
|
init_cjs_shims();
|
|
3855
|
-
var
|
|
4258
|
+
var import_drizzle_orm26 = require("drizzle-orm");
|
|
3856
4259
|
init_ids();
|
|
3857
4260
|
init_database_wrapper();
|
|
3858
4261
|
init_schema();
|
|
3859
4262
|
|
|
3860
4263
|
// src/db/repositories/session-env-selections.ts
|
|
3861
4264
|
init_cjs_shims();
|
|
3862
|
-
var
|
|
4265
|
+
var import_drizzle_orm27 = require("drizzle-orm");
|
|
3863
4266
|
init_database_wrapper();
|
|
3864
4267
|
init_schema();
|
|
3865
4268
|
|
|
3866
4269
|
// src/db/repositories/session-mcp-servers.ts
|
|
3867
4270
|
init_cjs_shims();
|
|
3868
|
-
var
|
|
4271
|
+
var import_drizzle_orm29 = require("drizzle-orm");
|
|
3869
4272
|
init_database_wrapper();
|
|
3870
4273
|
init_schema();
|
|
3871
4274
|
|
|
3872
4275
|
// src/db/repositories/sessions.ts
|
|
3873
4276
|
init_cjs_shims();
|
|
3874
4277
|
init_types2();
|
|
3875
|
-
var
|
|
4278
|
+
var import_drizzle_orm28 = require("drizzle-orm");
|
|
3876
4279
|
init_config_manager();
|
|
3877
4280
|
init_ids();
|
|
3878
4281
|
init_database_wrapper();
|
|
@@ -3880,7 +4283,7 @@ init_schema();
|
|
|
3880
4283
|
|
|
3881
4284
|
// src/db/repositories/session-relationships.ts
|
|
3882
4285
|
init_cjs_shims();
|
|
3883
|
-
var
|
|
4286
|
+
var import_drizzle_orm30 = require("drizzle-orm");
|
|
3884
4287
|
init_ids();
|
|
3885
4288
|
init_database_wrapper();
|
|
3886
4289
|
init_schema();
|
|
@@ -3888,7 +4291,7 @@ init_schema();
|
|
|
3888
4291
|
// src/db/repositories/tasks.ts
|
|
3889
4292
|
init_cjs_shims();
|
|
3890
4293
|
init_types2();
|
|
3891
|
-
var
|
|
4294
|
+
var import_drizzle_orm31 = require("drizzle-orm");
|
|
3892
4295
|
init_ids();
|
|
3893
4296
|
init_database_wrapper();
|
|
3894
4297
|
init_schema();
|
|
@@ -3896,7 +4299,7 @@ init_schema();
|
|
|
3896
4299
|
// src/db/repositories/thread-session-map.ts
|
|
3897
4300
|
init_cjs_shims();
|
|
3898
4301
|
init_types2();
|
|
3899
|
-
var
|
|
4302
|
+
var import_drizzle_orm32 = require("drizzle-orm");
|
|
3900
4303
|
init_ids();
|
|
3901
4304
|
init_database_wrapper();
|
|
3902
4305
|
init_schema();
|
|
@@ -3905,21 +4308,22 @@ init_schema();
|
|
|
3905
4308
|
init_cjs_shims();
|
|
3906
4309
|
var import_node_crypto5 = require("crypto");
|
|
3907
4310
|
var import_bcryptjs2 = __toESM(require("bcryptjs"), 1);
|
|
3908
|
-
var
|
|
4311
|
+
var import_drizzle_orm33 = require("drizzle-orm");
|
|
3909
4312
|
init_ids();
|
|
3910
4313
|
init_database_wrapper();
|
|
3911
4314
|
init_schema();
|
|
4315
|
+
init_tenant_context();
|
|
3912
4316
|
|
|
3913
4317
|
// src/db/repositories/user-mcp-oauth-tokens.ts
|
|
3914
4318
|
init_cjs_shims();
|
|
3915
|
-
var
|
|
4319
|
+
var import_drizzle_orm34 = require("drizzle-orm");
|
|
3916
4320
|
init_database_wrapper();
|
|
3917
4321
|
init_schema();
|
|
3918
4322
|
|
|
3919
4323
|
// src/db/repositories/users.ts
|
|
3920
4324
|
init_cjs_shims();
|
|
3921
4325
|
init_types2();
|
|
3922
|
-
var
|
|
4326
|
+
var import_drizzle_orm35 = require("drizzle-orm");
|
|
3923
4327
|
|
|
3924
4328
|
// src/config/env-vars.ts
|
|
3925
4329
|
init_cjs_shims();
|
|
@@ -3939,6 +4343,7 @@ init_cjs_shims();
|
|
|
3939
4343
|
init_ids();
|
|
3940
4344
|
|
|
3941
4345
|
// src/db/index.ts
|
|
4346
|
+
init_tenant_scope();
|
|
3942
4347
|
init_user_utils();
|
|
3943
4348
|
var compare = import_bcryptjs3.default.compare;
|
|
3944
4349
|
var hash = import_bcryptjs3.default.hash;
|
|
@@ -3992,8 +4397,8 @@ function extractTasksFromMessages(messages4, sessionId) {
|
|
|
3992
4397
|
const userMessage = messages4[startIndex];
|
|
3993
4398
|
const endIndex = i < userMessageIndices.length - 1 ? userMessageIndices[i + 1] - 1 : messages4.length - 1;
|
|
3994
4399
|
const messagesInRange = messages4.slice(startIndex, endIndex + 1);
|
|
3995
|
-
const toolUseCount = messagesInRange.reduce((
|
|
3996
|
-
return
|
|
4400
|
+
const toolUseCount = messagesInRange.reduce((count2, msg) => {
|
|
4401
|
+
return count2 + (msg.tool_uses?.length ?? 0);
|
|
3997
4402
|
}, 0);
|
|
3998
4403
|
let fullPrompt = "";
|
|
3999
4404
|
if (typeof userMessage.content === "string") {
|