agor-live 0.22.0 → 0.23.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/admin/add-to-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/add-to-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/add-to-branch-group.js +133 -33
- package/dist/cli/commands/admin/create-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/create-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-branch-group.js +132 -38
- package/dist/cli/commands/admin/create-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/create-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-symlink.js +138 -61
- package/dist/cli/commands/admin/delete-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/delete-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-branch-group.js +132 -28
- package/dist/cli/commands/admin/delete-user.d.ts +2 -13
- package/dist/cli/commands/admin/delete-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-user.js +132 -38
- package/dist/cli/commands/admin/ensure-user.d.ts +2 -14
- package/dist/cli/commands/admin/ensure-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/ensure-user.js +131 -46
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-from-branch-group.js +133 -33
- package/dist/cli/commands/admin/remove-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/remove-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-symlink.js +136 -49
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts +2 -2
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts.map +1 -1
- package/dist/cli/commands/admin/scrub-git-remotes.js +128 -86
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts +2 -14
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts.map +1 -1
- package/dist/cli/commands/admin/sync-user-symlinks.js +132 -43
- package/dist/cli/commands/auth/whoami.d.ts.map +1 -1
- package/dist/cli/commands/auth/whoami.js +2 -1
- package/dist/cli/commands/branch/env/request.test.d.ts +2 -0
- package/dist/cli/commands/branch/env/request.test.d.ts.map +1 -0
- package/dist/cli/commands/branch/env/request.test.js +17723 -0
- package/dist/cli/commands/branch/env/restart.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/restart.js +7 -1
- package/dist/cli/commands/branch/env/start.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/start.js +7 -1
- package/dist/cli/commands/branch/env/stop.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/stop.js +7 -1
- package/dist/cli/commands/daemon/status.d.ts.map +1 -1
- package/dist/cli/commands/daemon/status.js +2 -1
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +140 -2
- package/dist/cli/commands/local/add-to-branch-group.d.ts +13 -0
- package/dist/cli/commands/local/add-to-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/add-to-branch-group.js +37 -0
- package/dist/cli/commands/local/create-branch-group.d.ts +12 -0
- package/dist/cli/commands/local/create-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/create-branch-group.js +35 -0
- package/dist/cli/commands/local/create-symlink.d.ts +14 -0
- package/dist/cli/commands/local/create-symlink.d.ts.map +1 -0
- package/dist/cli/commands/local/create-symlink.js +45 -0
- package/dist/cli/commands/{daemon → local/daemon}/sync.d.ts +1 -1
- package/dist/cli/commands/local/daemon/sync.d.ts.map +1 -0
- package/dist/cli/commands/{daemon → local/daemon}/sync.js +7 -6
- package/dist/cli/commands/local/delete-branch-group.d.ts +12 -0
- package/dist/cli/commands/local/delete-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/delete-branch-group.js +35 -0
- package/dist/cli/commands/local/delete-user.d.ts +12 -0
- package/dist/cli/commands/local/delete-user.d.ts.map +1 -0
- package/dist/cli/commands/local/delete-user.js +36 -0
- package/dist/cli/commands/local/ensure-user.d.ts +12 -0
- package/dist/cli/commands/local/ensure-user.d.ts.map +1 -0
- package/dist/cli/commands/local/ensure-user.js +41 -0
- package/dist/cli/commands/local/remove-from-branch-group.d.ts +13 -0
- package/dist/cli/commands/local/remove-from-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/remove-from-branch-group.js +37 -0
- package/dist/cli/commands/local/remove-symlink.d.ts +13 -0
- package/dist/cli/commands/local/remove-symlink.d.ts.map +1 -0
- package/dist/cli/commands/local/remove-symlink.js +39 -0
- package/dist/cli/commands/local/scrub-git-remotes.d.ts +9 -0
- package/dist/cli/commands/local/scrub-git-remotes.d.ts.map +1 -0
- package/dist/cli/commands/local/scrub-git-remotes.js +23 -0
- package/dist/cli/commands/{admin → local}/sync-unix.d.ts.map +1 -1
- package/dist/cli/commands/{admin → local}/sync-unix.js +3 -3
- package/dist/cli/commands/local/sync-user-symlinks.d.ts +12 -0
- package/dist/cli/commands/local/sync-user-symlinks.d.ts.map +1 -0
- package/dist/cli/commands/local/sync-user-symlinks.js +37 -0
- package/dist/cli/commands/telemetry/index.d.ts +7 -0
- package/dist/cli/commands/telemetry/index.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/index.js +40 -0
- package/dist/cli/commands/telemetry/off.d.ts +6 -0
- package/dist/cli/commands/telemetry/off.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/off.js +35 -0
- package/dist/cli/commands/telemetry/on.d.ts +6 -0
- package/dist/cli/commands/telemetry/on.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/on.js +37 -0
- package/dist/cli/commands/telemetry/test.d.ts +6 -0
- package/dist/cli/commands/telemetry/test.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/test.js +56 -0
- package/dist/cli/commands/user/create-admin.d.ts.map +1 -1
- package/dist/cli/commands/user/create-admin.js +81 -72
- package/dist/cli/commands/user/list.d.ts.map +1 -1
- package/dist/cli/commands/user/list.js +1 -0
- package/dist/cli/commands/whoami.js +2 -1
- package/dist/cli/lib/branch-environment-action.d.ts +21 -0
- package/dist/cli/lib/branch-environment-action.d.ts.map +1 -0
- package/dist/cli/lib/branch-environment-action.js +8 -0
- package/dist/core/api/index.cjs +7 -2
- package/dist/core/api/index.d.ts +13 -4
- package/dist/core/api/index.d.ts.map +1 -1
- package/dist/core/api/index.js +7 -2
- package/dist/core/claude/index.cjs +518 -89
- package/dist/core/claude/index.js +515 -88
- package/dist/core/claude-cli/index.cjs +24 -0
- package/dist/core/claude-cli/index.js +24 -0
- package/dist/core/claude-cli/pricing.d.ts.map +1 -1
- package/dist/core/client/index.cjs +52 -7
- package/dist/core/client/index.js +48 -7
- package/dist/core/config/browser.cjs +3 -5
- package/dist/core/config/browser.js +3 -5
- package/dist/core/config/config-manager.d.ts +33 -13
- package/dist/core/config/config-manager.d.ts.map +1 -1
- package/dist/core/config/index.cjs +4259 -4527
- package/dist/core/config/index.d.ts +1 -0
- package/dist/core/config/index.d.ts.map +1 -1
- package/dist/core/config/index.js +4295 -4583
- package/dist/core/config/key-resolver.d.ts.map +1 -1
- package/dist/core/config/multitenancy.d.ts +33 -0
- package/dist/core/config/multitenancy.d.ts.map +1 -0
- package/dist/core/config/security-resolver.d.ts +1 -0
- package/dist/core/config/security-resolver.d.ts.map +1 -1
- package/dist/core/config/types.d.ts +67 -4
- package/dist/core/config/types.d.ts.map +1 -1
- package/dist/core/db/client.d.ts +34 -2
- package/dist/core/db/client.d.ts.map +1 -1
- package/dist/core/db/database-wrapper.d.ts.map +1 -1
- package/dist/core/db/first-run-bootstrap.d.ts.map +1 -1
- package/dist/core/db/index.cjs +2767 -1232
- package/dist/core/db/index.d.ts +2 -1
- package/dist/core/db/index.d.ts.map +1 -1
- package/dist/core/db/index.js +2601 -1094
- package/dist/core/db/migrate.d.ts.map +1 -1
- package/dist/core/db/repositories/artifacts.d.ts +27 -2
- package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
- package/dist/core/db/repositories/base.d.ts +18 -0
- package/dist/core/db/repositories/base.d.ts.map +1 -1
- package/dist/core/db/repositories/board-comments.d.ts +17 -1
- package/dist/core/db/repositories/board-comments.d.ts.map +1 -1
- package/dist/core/db/repositories/board-objects.d.ts.map +1 -1
- package/dist/core/db/repositories/boards.d.ts +54 -3
- package/dist/core/db/repositories/boards.d.ts.map +1 -1
- package/dist/core/db/repositories/branch-access.d.ts +32 -0
- package/dist/core/db/repositories/branch-access.d.ts.map +1 -1
- package/dist/core/db/repositories/branches.d.ts +52 -2
- package/dist/core/db/repositories/branches.d.ts.map +1 -1
- package/dist/core/db/repositories/cards.d.ts +15 -1
- package/dist/core/db/repositories/cards.d.ts.map +1 -1
- package/dist/core/db/repositories/gateway-channels.d.ts +9 -0
- package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
- package/dist/core/db/repositories/gateway-outbound-messages.d.ts +19 -0
- package/dist/core/db/repositories/gateway-outbound-messages.d.ts.map +1 -0
- package/dist/core/db/repositories/index.d.ts +2 -0
- package/dist/core/db/repositories/index.d.ts.map +1 -1
- package/dist/core/db/repositories/messages.d.ts +9 -2
- package/dist/core/db/repositories/messages.d.ts.map +1 -1
- package/dist/core/db/repositories/repos.d.ts.map +1 -1
- package/dist/core/db/repositories/schedules.d.ts +12 -1
- package/dist/core/db/repositories/schedules.d.ts.map +1 -1
- package/dist/core/db/repositories/sessions.d.ts +56 -5
- package/dist/core/db/repositories/sessions.d.ts.map +1 -1
- package/dist/core/db/repositories/tasks.d.ts +7 -2
- package/dist/core/db/repositories/tasks.d.ts.map +1 -1
- package/dist/core/db/repositories/user-api-keys.d.ts +10 -1
- package/dist/core/db/repositories/user-api-keys.d.ts.map +1 -1
- package/dist/core/db/repositories/users.d.ts +8 -8
- package/dist/core/db/repositories/users.d.ts.map +1 -1
- package/dist/core/db/schema.d.ts +1460 -38
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.postgres.d.ts +1082 -37
- package/dist/core/db/schema.postgres.d.ts.map +1 -1
- package/dist/core/db/schema.sqlite.d.ts +397 -1
- package/dist/core/db/schema.sqlite.d.ts.map +1 -1
- package/dist/core/db/tenant-context.d.ts +26 -0
- package/dist/core/db/tenant-context.d.ts.map +1 -0
- package/dist/core/db/tenant-scope.d.ts +31 -0
- package/dist/core/db/tenant-scope.d.ts.map +1 -0
- package/dist/core/db/user-utils.d.ts +2 -2
- package/dist/core/db/user-utils.d.ts.map +1 -1
- package/dist/core/drizzle/postgres/0052_gateway_outbound_messages.sql +45 -0
- package/dist/core/drizzle/postgres/0053_user_token_invalidation.sql +1 -0
- package/dist/core/drizzle/postgres/0054_app_level_multitenancy.sql +219 -0
- package/dist/core/drizzle/postgres/0055_app_level_multitenancy_rls.sql +411 -0
- package/dist/core/drizzle/postgres/0056_composite_indexes.sql +15 -0
- package/dist/core/drizzle/postgres/0057_message_timestamp_indexes.sql +3 -0
- package/dist/core/drizzle/postgres/meta/_journal.json +42 -0
- package/dist/core/drizzle/sqlite/0061_gateway_outbound_messages.sql +38 -0
- package/dist/core/drizzle/sqlite/0062_user_token_invalidation.sql +1 -0
- package/dist/core/drizzle/sqlite/0063_composite_indexes.sql +10 -0
- package/dist/core/drizzle/sqlite/0064_message_timestamp_indexes.sql +2 -0
- package/dist/core/drizzle/sqlite/meta/_journal.json +28 -0
- package/dist/core/environment/render-snapshot.cjs +7 -6
- package/dist/core/environment/render-snapshot.d.ts +2 -0
- package/dist/core/environment/render-snapshot.d.ts.map +1 -1
- package/dist/core/environment/render-snapshot.js +7 -6
- package/dist/core/environment/variable-resolver.cjs +3 -1
- package/dist/core/environment/variable-resolver.js +3 -1
- package/dist/core/environment/webhook.cjs +1 -4
- package/dist/core/environment/webhook.js +1 -4
- package/dist/core/gateway/connector.d.ts +10 -1
- package/dist/core/gateway/connector.d.ts.map +1 -1
- package/dist/core/gateway/connectors/slack-manifest.cjs +108 -0
- package/dist/core/gateway/connectors/slack-manifest.d.ts +85 -0
- package/dist/core/gateway/connectors/slack-manifest.d.ts.map +1 -0
- package/dist/core/gateway/connectors/slack-manifest.js +81 -0
- package/dist/core/gateway/connectors/slack.d.ts +101 -4
- package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
- package/dist/core/gateway/index.cjs +495 -29
- package/dist/core/gateway/index.d.ts +4 -1
- package/dist/core/gateway/index.d.ts.map +1 -1
- package/dist/core/gateway/index.js +490 -28
- package/dist/core/gateway/system-message.d.ts.map +1 -1
- package/dist/core/git/exec.cjs +24 -0
- package/dist/core/git/exec.d.ts +6 -4
- package/dist/core/git/exec.d.ts.map +1 -1
- package/dist/core/git/exec.js +2 -0
- package/dist/core/git/index.cjs +3 -1363
- package/dist/core/git/index.d.ts +4 -614
- package/dist/core/git/index.d.ts.map +1 -1
- package/dist/core/git/index.js +1 -1304
- package/dist/core/git/pure.cjs +24 -0
- package/dist/core/git/pure.d.ts +2 -27
- package/dist/core/git/pure.d.ts.map +1 -1
- package/dist/core/git/pure.js +2 -0
- package/dist/core/index.cjs +11563 -10832
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +12203 -10962
- package/dist/core/lib/feathers-validation.cjs +9 -1
- package/dist/core/lib/feathers-validation.d.ts +2 -0
- package/dist/core/lib/feathers-validation.d.ts.map +1 -1
- package/dist/core/lib/feathers-validation.js +9 -1
- package/dist/core/local-actions/git-remotes.d.ts +7 -0
- package/dist/core/local-actions/git-remotes.d.ts.map +1 -0
- package/dist/core/local-actions/index.cjs +8008 -0
- package/dist/core/local-actions/index.d.ts +6 -0
- package/dist/core/local-actions/index.d.ts.map +1 -0
- package/dist/core/local-actions/index.js +8010 -0
- package/dist/core/local-actions/symlinks.d.ts +20 -0
- package/dist/core/local-actions/symlinks.d.ts.map +1 -0
- package/dist/core/local-actions/types.d.ts +14 -0
- package/dist/core/local-actions/types.d.ts.map +1 -0
- package/dist/core/local-actions/unix-groups.d.ts +16 -0
- package/dist/core/local-actions/unix-groups.d.ts.map +1 -0
- package/dist/core/local-actions/unix-users.d.ts +12 -0
- package/dist/core/local-actions/unix-users.d.ts.map +1 -0
- package/dist/core/mcp/index.cjs +373 -28
- package/dist/core/mcp/index.d.ts +1 -1
- package/dist/core/mcp/index.d.ts.map +1 -1
- package/dist/core/mcp/index.js +369 -27
- package/dist/core/mcp/template-patterns.d.ts +15 -0
- package/dist/core/mcp/template-patterns.d.ts.map +1 -0
- package/dist/core/mcp/template-resolver.d.ts +13 -0
- package/dist/core/mcp/template-resolver.d.ts.map +1 -1
- package/dist/core/models/browser.cjs +154 -25
- package/dist/core/models/browser.js +150 -25
- package/dist/core/models/claude.d.ts +2 -2
- package/dist/core/models/claude.d.ts.map +1 -1
- package/dist/core/models/codex.d.ts +205 -21
- package/dist/core/models/codex.d.ts.map +1 -1
- package/dist/core/models/index.cjs +154 -25
- package/dist/core/models/index.js +150 -25
- package/dist/core/package.json +24 -0
- package/dist/core/seed/demo-fixtures.d.ts +87 -0
- package/dist/core/seed/demo-fixtures.d.ts.map +1 -0
- package/dist/core/seed/dev-fixtures.d.ts.map +1 -1
- package/dist/core/seed/index.cjs +8569 -5519
- package/dist/core/seed/index.d.ts +1 -0
- package/dist/core/seed/index.d.ts.map +1 -1
- package/dist/core/seed/index.js +8580 -5535
- package/dist/core/sessions/index.cjs +110 -24
- package/dist/core/sessions/index.js +110 -24
- package/dist/core/telemetry/index.cjs +361 -0
- package/dist/core/telemetry/index.d.ts +5 -0
- package/dist/core/telemetry/index.d.ts.map +1 -0
- package/dist/core/telemetry/index.js +315 -0
- package/dist/core/telemetry/logger.d.ts +44 -0
- package/dist/core/telemetry/logger.d.ts.map +1 -0
- package/dist/core/telemetry/model-normalization.d.ts +3 -0
- package/dist/core/telemetry/model-normalization.d.ts.map +1 -0
- package/dist/core/telemetry/types.d.ts +47 -0
- package/dist/core/telemetry/types.d.ts.map +1 -0
- package/dist/core/telemetry/version.d.ts +9 -0
- package/dist/core/telemetry/version.d.ts.map +1 -0
- package/dist/core/templates/agor-system-prompt.md +1 -0
- package/dist/core/templates/handlebars-helpers.cjs +3 -1
- package/dist/core/templates/handlebars-helpers.d.ts +5 -0
- package/dist/core/templates/handlebars-helpers.d.ts.map +1 -1
- package/dist/core/templates/handlebars-helpers.js +3 -1
- package/dist/core/tools/mcp/auth-secrets.cjs +3460 -3
- package/dist/core/tools/mcp/auth-secrets.d.ts.map +1 -1
- package/dist/core/tools/mcp/auth-secrets.js +3477 -3
- package/dist/core/tools/mcp/http-headers.cjs +17 -1
- package/dist/core/tools/mcp/http-headers.d.ts.map +1 -1
- package/dist/core/tools/mcp/http-headers.js +15 -1
- package/dist/core/tools/mcp/oauth-refresh.cjs +568 -114
- package/dist/core/tools/mcp/oauth-refresh.js +566 -115
- package/dist/core/types/board.d.ts +14 -0
- package/dist/core/types/board.d.ts.map +1 -1
- package/dist/core/types/branch.d.ts +13 -0
- package/dist/core/types/branch.d.ts.map +1 -1
- package/dist/core/types/config-services.d.ts.map +1 -1
- package/dist/core/types/feathers.d.ts +6 -0
- package/dist/core/types/feathers.d.ts.map +1 -1
- package/dist/core/types/gateway.d.ts +90 -1
- package/dist/core/types/gateway.d.ts.map +1 -1
- package/dist/core/types/index.cjs +42 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +38 -0
- package/dist/core/types/schedule.d.ts +4 -3
- package/dist/core/types/schedule.d.ts.map +1 -1
- package/dist/core/types/session.d.ts +7 -1
- package/dist/core/types/session.d.ts.map +1 -1
- package/dist/core/types/tenant.d.ts +15 -0
- package/dist/core/types/tenant.d.ts.map +1 -0
- package/dist/core/types/user.d.ts +61 -0
- package/dist/core/types/user.d.ts.map +1 -1
- package/dist/core/unix/index.cjs +1123 -674
- package/dist/core/unix/index.js +1071 -624
- package/dist/core/utils/emoji-shortcodes.d.ts +13 -0
- package/dist/core/utils/emoji-shortcodes.d.ts.map +1 -0
- package/dist/core/yaml/index.cjs +8 -8
- package/dist/core/yaml/index.d.ts +1 -1
- package/dist/core/yaml/index.d.ts.map +1 -1
- package/dist/core/yaml/index.js +7 -7
- package/dist/daemon/adapters/drizzle.d.ts +26 -4
- package/dist/daemon/adapters/drizzle.d.ts.map +1 -1
- package/dist/daemon/adapters/drizzle.js +68 -7
- package/dist/daemon/auth/api-key-strategy.js +1 -1
- package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
- package/dist/daemon/auth/executor-runtime-scope.js +34 -6
- package/dist/daemon/auth/executor-session-token.d.ts +15 -0
- package/dist/daemon/auth/executor-session-token.d.ts.map +1 -0
- package/dist/daemon/auth/executor-session-token.js +17 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.d.ts +24 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.d.ts.map +1 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.js +95 -0
- package/dist/daemon/auth/launch-auth.d.ts +5 -4
- package/dist/daemon/auth/launch-auth.d.ts.map +1 -1
- package/dist/daemon/auth/launch-auth.js +123 -39
- package/dist/daemon/auth/refresh-token-service.d.ts +22 -0
- package/dist/daemon/auth/refresh-token-service.d.ts.map +1 -0
- package/dist/daemon/auth/refresh-token-service.js +133 -0
- package/dist/daemon/auth/runtime-tokens.d.ts +3 -1
- package/dist/daemon/auth/runtime-tokens.d.ts.map +1 -1
- package/dist/daemon/auth/runtime-tokens.js +17 -4
- package/dist/daemon/auth/service-jwt-strategy.d.ts +2 -1
- package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
- package/dist/daemon/auth/service-jwt-strategy.js +141 -3
- package/dist/daemon/auth/token-invalidation.d.ts +11 -0
- package/dist/daemon/auth/token-invalidation.d.ts.map +1 -0
- package/dist/daemon/auth/token-invalidation.js +38 -0
- package/dist/daemon/auth/user-redaction.d.ts +12 -0
- package/dist/daemon/auth/user-redaction.d.ts.map +1 -0
- package/dist/daemon/auth/user-redaction.js +13 -0
- package/dist/daemon/declarations.d.ts +5 -4
- package/dist/daemon/declarations.d.ts.map +1 -1
- package/dist/daemon/hooks/gateway-route.d.ts.map +1 -1
- package/dist/daemon/hooks/gateway-route.js +23 -13
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +8271 -2956
- package/dist/daemon/knowledge/pgvector.d.ts +3 -3
- package/dist/daemon/knowledge/pgvector.d.ts.map +1 -1
- package/dist/daemon/knowledge/pgvector.js +24 -0
- package/dist/daemon/knowledge/units.d.ts +2 -2
- package/dist/daemon/knowledge/units.d.ts.map +1 -1
- package/dist/daemon/main.js +8271 -2956
- package/dist/daemon/mcp/server.d.ts +3 -3
- package/dist/daemon/mcp/server.d.ts.map +1 -1
- package/dist/daemon/mcp/server.js +1740 -81
- package/dist/daemon/mcp/tokens.d.ts +2 -2
- package/dist/daemon/mcp/tokens.d.ts.map +1 -1
- package/dist/daemon/mcp/tokens.js +5 -1
- package/dist/daemon/mcp/tool-registry.d.ts.map +1 -1
- package/dist/daemon/mcp/tool-registry.js +1 -0
- package/dist/daemon/mcp/tools/analytics.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/analytics.js +598 -24
- package/dist/daemon/mcp/tools/artifacts.js +560 -20
- package/dist/daemon/mcp/tools/boards.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/boards.js +567 -21
- package/dist/daemon/mcp/tools/branches.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/branches.js +624 -50
- package/dist/daemon/mcp/tools/card-types.js +558 -18
- package/dist/daemon/mcp/tools/cards.js +558 -18
- package/dist/daemon/mcp/tools/environment.js +566 -18
- package/dist/daemon/mcp/tools/gateway-channels.d.ts +4 -0
- package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -0
- package/dist/daemon/mcp/tools/gateway-channels.js +16187 -0
- package/dist/daemon/mcp/tools/knowledge.js +558 -18
- package/dist/daemon/mcp/tools/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/mcp-servers.js +893 -18
- package/dist/daemon/mcp/tools/messages.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/messages.js +618 -32
- package/dist/daemon/mcp/tools/proxies.js +568 -20
- package/dist/daemon/mcp/tools/repos.js +558 -18
- package/dist/daemon/mcp/tools/schedules.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/schedules.js +561 -19
- package/dist/daemon/mcp/tools/search.js +558 -18
- package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/sessions.js +571 -24
- package/dist/daemon/mcp/tools/tasks.js +558 -18
- package/dist/daemon/mcp/tools/users.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/users.js +577 -23
- package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/widgets.js +759 -83
- package/dist/daemon/oauth-auth-helpers.d.ts +35 -0
- package/dist/daemon/oauth-auth-helpers.d.ts.map +1 -0
- package/dist/daemon/oauth-auth-helpers.js +14 -0
- package/dist/daemon/register-hooks.d.ts +4 -2
- package/dist/daemon/register-hooks.d.ts.map +1 -1
- package/dist/daemon/register-hooks.js +1158 -595
- package/dist/daemon/register-routes.d.ts +3 -2
- package/dist/daemon/register-routes.d.ts.map +1 -1
- package/dist/daemon/register-routes.js +3161 -812
- package/dist/daemon/register-services.d.ts +2 -2
- package/dist/daemon/register-services.d.ts.map +1 -1
- package/dist/daemon/register-services.js +2782 -739
- package/dist/daemon/services/artifacts.d.ts +34 -6
- package/dist/daemon/services/artifacts.d.ts.map +1 -1
- package/dist/daemon/services/artifacts.js +109 -8
- package/dist/daemon/services/assistant-knowledge.d.ts +2 -2
- package/dist/daemon/services/assistant-knowledge.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.d.ts +8 -5
- package/dist/daemon/services/board-comments.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.js +78 -13
- package/dist/daemon/services/board-objects.d.ts +8 -5
- package/dist/daemon/services/board-objects.d.ts.map +1 -1
- package/dist/daemon/services/board-objects.js +14 -4
- package/dist/daemon/services/boards.d.ts +39 -5
- package/dist/daemon/services/boards.d.ts.map +1 -1
- package/dist/daemon/services/boards.js +123 -8
- package/dist/daemon/services/branch-owners.d.ts +3 -1
- package/dist/daemon/services/branch-owners.d.ts.map +1 -1
- package/dist/daemon/services/branch-owners.js +31 -4
- package/dist/daemon/services/branches.d.ts +31 -8
- package/dist/daemon/services/branches.d.ts.map +1 -1
- package/dist/daemon/services/branches.js +272 -36
- package/dist/daemon/services/card-types.d.ts +3 -3
- package/dist/daemon/services/card-types.d.ts.map +1 -1
- package/dist/daemon/services/card-types.js +68 -7
- package/dist/daemon/services/cards.d.ts +19 -4
- package/dist/daemon/services/cards.d.ts.map +1 -1
- package/dist/daemon/services/cards.js +92 -8
- package/dist/daemon/services/check-auth.d.ts +2 -2
- package/dist/daemon/services/check-auth.d.ts.map +1 -1
- package/dist/daemon/services/claude-cli-integration.d.ts +4 -1
- package/dist/daemon/services/claude-cli-integration.d.ts.map +1 -1
- package/dist/daemon/services/claude-cli-integration.js +117 -65
- package/dist/daemon/services/claude-models.d.ts +3 -3
- package/dist/daemon/services/claude-models.d.ts.map +1 -1
- package/dist/daemon/services/claude-models.js +387 -273
- package/dist/daemon/services/config.d.ts +12 -4
- package/dist/daemon/services/config.d.ts.map +1 -1
- package/dist/daemon/services/config.js +39 -3
- package/dist/daemon/services/copilot-models.d.ts +3 -3
- package/dist/daemon/services/copilot-models.d.ts.map +1 -1
- package/dist/daemon/services/cursor-models.d.ts +3 -3
- package/dist/daemon/services/cursor-models.d.ts.map +1 -1
- package/dist/daemon/services/files.d.ts +3 -3
- package/dist/daemon/services/files.d.ts.map +1 -1
- package/dist/daemon/services/files.js +24 -5
- package/dist/daemon/services/gateway-channels-test.d.ts +24 -0
- package/dist/daemon/services/gateway-channels-test.d.ts.map +1 -0
- package/dist/daemon/services/gateway-channels-test.js +66 -0
- package/dist/daemon/services/gateway-channels.d.ts +3 -3
- package/dist/daemon/services/gateway-channels.d.ts.map +1 -1
- package/dist/daemon/services/gateway-channels.js +68 -7
- package/dist/daemon/services/gateway.d.ts +63 -3
- package/dist/daemon/services/gateway.d.ts.map +1 -1
- package/dist/daemon/services/gateway.js +640 -60
- package/dist/daemon/services/github-app-setup.d.ts +3 -3
- package/dist/daemon/services/github-app-setup.d.ts.map +1 -1
- package/dist/daemon/services/groups.d.ts +5 -5
- package/dist/daemon/services/groups.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.d.ts +34 -2
- package/dist/daemon/services/health-monitor.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.js +155 -30
- package/dist/daemon/services/knowledge-document-edits.d.ts +3 -3
- package/dist/daemon/services/knowledge-document-edits.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.d.ts +3 -3
- package/dist/daemon/services/knowledge-documents.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.js +92 -7
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts +7 -2
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-embedding-indexer.js +37 -3
- package/dist/daemon/services/knowledge-graph.d.ts +3 -3
- package/dist/daemon/services/knowledge-graph.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-indexing.d.ts +3 -3
- package/dist/daemon/services/knowledge-indexing.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.d.ts +3 -3
- package/dist/daemon/services/knowledge-namespaces.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.js +72 -8
- package/dist/daemon/services/knowledge-reindex.d.ts +3 -3
- package/dist/daemon/services/knowledge-reindex.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-reindex.js +28 -1
- package/dist/daemon/services/knowledge-search.d.ts +3 -3
- package/dist/daemon/services/knowledge-search.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.d.ts +3 -3
- package/dist/daemon/services/knowledge-settings.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.js +24 -0
- package/dist/daemon/services/knowledge-versions.d.ts +3 -3
- package/dist/daemon/services/knowledge-versions.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-versions.js +68 -7
- package/dist/daemon/services/leaderboard.d.ts +14 -6
- package/dist/daemon/services/leaderboard.d.ts.map +1 -1
- package/dist/daemon/services/leaderboard.js +74 -15
- package/dist/daemon/services/local-actions.d.ts +13 -0
- package/dist/daemon/services/local-actions.d.ts.map +1 -0
- package/dist/daemon/services/local-actions.js +120 -0
- package/dist/daemon/services/mcp-servers.d.ts +3 -3
- package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/mcp-servers.js +68 -7
- package/dist/daemon/services/messages.d.ts +10 -6
- package/dist/daemon/services/messages.d.ts.map +1 -1
- package/dist/daemon/services/messages.js +87 -7
- package/dist/daemon/services/repos.d.ts +6 -6
- package/dist/daemon/services/repos.d.ts.map +1 -1
- package/dist/daemon/services/repos.js +131 -32
- package/dist/daemon/services/scheduler.d.ts +23 -27
- package/dist/daemon/services/scheduler.d.ts.map +1 -1
- package/dist/daemon/services/scheduler.js +55 -28
- package/dist/daemon/services/schedules.d.ts +3 -3
- package/dist/daemon/services/schedules.d.ts.map +1 -1
- package/dist/daemon/services/schedules.js +68 -7
- package/dist/daemon/services/session-env-selections.d.ts +3 -3
- package/dist/daemon/services/session-env-selections.d.ts.map +1 -1
- package/dist/daemon/services/session-mcp-servers.d.ts +3 -3
- package/dist/daemon/services/session-mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/session-streams.d.ts +29 -0
- package/dist/daemon/services/session-streams.d.ts.map +1 -0
- package/dist/daemon/services/session-streams.js +84 -0
- package/dist/daemon/services/session-token-service.d.ts.map +1 -1
- package/dist/daemon/services/session-token-service.js +11 -4
- package/dist/daemon/services/sessions.d.ts +9 -5
- package/dist/daemon/services/sessions.d.ts.map +1 -1
- package/dist/daemon/services/sessions.js +143 -10
- package/dist/daemon/services/tasks.d.ts +11 -5
- package/dist/daemon/services/tasks.d.ts.map +1 -1
- package/dist/daemon/services/tasks.js +199 -39
- package/dist/daemon/services/terminals.d.ts +21 -3
- package/dist/daemon/services/terminals.d.ts.map +1 -1
- package/dist/daemon/services/terminals.js +81 -25
- package/dist/daemon/services/thread-session-map.d.ts +3 -3
- package/dist/daemon/services/thread-session-map.d.ts.map +1 -1
- package/dist/daemon/services/thread-session-map.js +68 -7
- package/dist/daemon/services/user-avatar-sync.d.ts +21 -0
- package/dist/daemon/services/user-avatar-sync.d.ts.map +1 -0
- package/dist/daemon/services/user-avatar-sync.js +267 -0
- package/dist/daemon/services/users.d.ts +29 -9
- package/dist/daemon/services/users.d.ts.map +1 -1
- package/dist/daemon/services/users.js +383 -30
- package/dist/daemon/services/zone-trigger.d.ts.map +1 -1
- package/dist/daemon/services/zone-trigger.js +17 -4
- package/dist/daemon/setup/build-info.d.ts +1 -1
- package/dist/daemon/setup/build-info.d.ts.map +1 -1
- package/dist/daemon/setup/build-info.js +5 -1
- package/dist/daemon/setup/database.d.ts +8 -3
- package/dist/daemon/setup/database.d.ts.map +1 -1
- package/dist/daemon/setup/database.js +26 -6
- package/dist/daemon/setup/first-run-admin.d.ts +2 -2
- package/dist/daemon/setup/first-run-admin.d.ts.map +1 -1
- package/dist/daemon/setup/index.js +137 -25
- package/dist/daemon/setup/socketio.d.ts +10 -1
- package/dist/daemon/setup/socketio.d.ts.map +1 -1
- package/dist/daemon/setup/socketio.js +108 -18
- package/dist/daemon/startup.d.ts +13 -2
- package/dist/daemon/startup.d.ts.map +1 -1
- package/dist/daemon/startup.js +377 -94
- package/dist/daemon/utils/append-system-message.d.ts +2 -2
- package/dist/daemon/utils/append-system-message.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.js +12 -1
- package/dist/daemon/utils/authorization.d.ts +3 -1
- package/dist/daemon/utils/authorization.d.ts.map +1 -1
- package/dist/daemon/utils/authorization.js +36 -7
- package/dist/daemon/utils/branch-authorization.d.ts +30 -0
- package/dist/daemon/utils/branch-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/branch-authorization.js +63 -5
- package/dist/daemon/utils/branch-inspect.d.ts +1 -0
- package/dist/daemon/utils/branch-inspect.d.ts.map +1 -1
- package/dist/daemon/utils/branch-inspect.js +11 -3
- package/dist/daemon/utils/emit-service-event.d.ts +56 -0
- package/dist/daemon/utils/emit-service-event.d.ts.map +1 -0
- package/dist/daemon/utils/emit-service-event.js +23 -0
- package/dist/daemon/utils/executor-read-impersonation.d.ts +2 -2
- package/dist/daemon/utils/executor-read-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-impersonation.d.ts +10 -10
- package/dist/daemon/utils/git-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.d.ts +3 -3
- package/dist/daemon/utils/git-remote-credential-scan.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.js +6 -2
- package/dist/daemon/utils/mcp-header-secrets.d.ts +3 -5
- package/dist/daemon/utils/mcp-header-secrets.d.ts.map +1 -1
- package/dist/daemon/utils/mcp-header-secrets.js +31 -2
- package/dist/daemon/utils/mcp-token-authorization.d.ts +18 -13
- package/dist/daemon/utils/mcp-token-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/mcp-token-authorization.js +11 -5
- package/dist/daemon/utils/open-source-telemetry-config.d.ts +6 -0
- package/dist/daemon/utils/open-source-telemetry-config.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-config.js +21 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts +7 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.js +15 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts +9 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-usage.js +121 -0
- package/dist/daemon/utils/realign-repo-origin.d.ts +3 -3
- package/dist/daemon/utils/realign-repo-origin.d.ts.map +1 -1
- package/dist/daemon/utils/realign-repo-origin.js +47 -16
- package/dist/daemon/utils/realtime-access-cache.d.ts +9 -0
- package/dist/daemon/utils/realtime-access-cache.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-access-cache.js +24 -0
- package/dist/daemon/utils/realtime-publish.d.ts +26 -0
- package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-publish.js +171 -12
- package/dist/daemon/utils/session-queue-tenant-scope.d.ts +24 -0
- package/dist/daemon/utils/session-queue-tenant-scope.d.ts.map +1 -0
- package/dist/daemon/utils/session-queue-tenant-scope.js +133 -0
- package/dist/daemon/utils/session-state-hooks.d.ts +3 -3
- package/dist/daemon/utils/session-state-hooks.d.ts.map +1 -1
- package/dist/daemon/utils/session-turn-lock.d.ts +8 -1
- package/dist/daemon/utils/session-turn-lock.d.ts.map +1 -1
- package/dist/daemon/utils/session-turn-lock.js +25 -2
- package/dist/daemon/utils/spawn-executor.d.ts +23 -1
- package/dist/daemon/utils/spawn-executor.d.ts.map +1 -1
- package/dist/daemon/utils/spawn-executor.js +34 -4
- package/dist/daemon/utils/tenant-db-scope.d.ts +20 -0
- package/dist/daemon/utils/tenant-db-scope.d.ts.map +1 -0
- package/dist/daemon/utils/tenant-db-scope.js +114 -0
- package/dist/daemon/utils/unix-group-init.d.ts +3 -3
- package/dist/daemon/utils/unix-group-init.d.ts.map +1 -1
- package/dist/daemon/utils/upload.d.ts +6 -9
- package/dist/daemon/utils/upload.d.ts.map +1 -1
- package/dist/daemon/utils/upload.js +30 -37
- package/dist/daemon/widgets/env-vars/index.d.ts +26 -1
- package/dist/daemon/widgets/env-vars/index.d.ts.map +1 -1
- package/dist/daemon/widgets/env-vars/index.js +145 -21
- package/dist/daemon/widgets/gateway-token/index.d.ts +114 -0
- package/dist/daemon/widgets/gateway-token/index.d.ts.map +1 -0
- package/dist/daemon/widgets/gateway-token/index.js +14711 -0
- package/dist/daemon/widgets/index.d.ts.map +1 -1
- package/dist/daemon/widgets/index.js +327 -37
- package/dist/daemon/widgets/registry.d.ts +7 -0
- package/dist/daemon/widgets/registry.d.ts.map +1 -1
- package/dist/daemon/widgets/submissions.js +12 -9
- package/dist/executor/commands/environment.d.ts.map +1 -1
- package/dist/executor/commands/environment.js +9 -5
- package/dist/executor/commands/git.d.ts.map +1 -1
- package/dist/executor/commands/git.js +3 -1
- package/dist/executor/db/feathers-repositories.d.ts +19 -1
- package/dist/executor/db/feathers-repositories.d.ts.map +1 -1
- package/dist/executor/db/feathers-repositories.js +31 -1
- package/dist/executor/git/index.d.ts +8 -0
- package/dist/executor/git/index.d.ts.map +1 -0
- package/dist/executor/git/index.js +7 -0
- package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/base-executor.js +4 -1
- package/dist/executor/handlers/sdk/claude.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/claude.js +1 -1
- package/dist/executor/handlers/sdk/codex.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/codex.js +1 -1
- package/dist/executor/handlers/sdk/copilot.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/copilot.js +1 -1
- package/dist/executor/handlers/sdk/cursor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/cursor.js +1 -0
- package/dist/executor/handlers/sdk/gemini.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/gemini.js +1 -1
- package/dist/executor/handlers/sdk/git-safe-directory.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/git-safe-directory.js +1 -1
- package/dist/executor/handlers/sdk/opencode.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/opencode.js +1 -1
- package/dist/executor/payload-types.d.ts +5 -5
- package/dist/executor/sdk-handlers/base/diff-enrichment.js +1 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts +8 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.js +58 -6
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/claude-tool.js +2 -2
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts +13 -3
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/prompt-service.js +16 -3
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts +2 -1
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/query-builder.js +2 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +8 -12
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +14 -17
- package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/normalizer.js +11 -1
- package/dist/executor/sdk-handlers/codex/pricing/litellm-openai-model-prices.json +3663 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts +31 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts.map +1 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.js +46 -0
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.js +131 -12
- package/dist/executor/sdk-handlers/codex/usage.d.ts +14 -23
- package/dist/executor/sdk-handlers/codex/usage.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/usage.js +18 -33
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/copilot-tool.js +2 -2
- package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.js +2 -2
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -1
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts +3 -2
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/opencode/opencode-tool.js +4 -1
- package/dist/executor/services/feathers-client.d.ts.map +1 -1
- package/dist/executor/services/feathers-client.js +124 -25
- package/dist/git/index.cjs +1101 -0
- package/dist/git/index.d.ts +533 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +1022 -0
- package/dist/git/package.json +21 -0
- package/dist/git/pure.cjs +185 -0
- package/dist/git/pure.d.ts +39 -0
- package/dist/git/pure.d.ts.map +1 -0
- package/dist/git/pure.js +139 -0
- package/dist/ui/assets/AgorEmojiPickerInner-leeNywMc.js +1 -0
- package/dist/ui/assets/App-Dpl4Cc0U.js +4 -0
- package/dist/ui/assets/App-Dpl4Cc0U.js.gz +0 -0
- package/dist/ui/assets/AppNode-wN3UZlFK.js +1 -0
- package/dist/ui/assets/AppNode-wN3UZlFK.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js +1 -0
- package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js +9 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js.gz +0 -0
- package/dist/ui/assets/ArtifactNode-DISy2T-6.js +9 -0
- package/dist/ui/assets/ArtifactNode-DISy2T-6.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js +19 -0
- package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js +34 -0
- package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js +7 -0
- package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js.gz +0 -0
- package/dist/ui/assets/ConversationView-mWaA-B1f.js +1 -0
- package/dist/ui/assets/ConversationView-mWaA-B1f.js.gz +0 -0
- package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js +2 -0
- package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-CkxVnRvz.js +24 -0
- package/dist/ui/assets/KnowledgePage-CkxVnRvz.js.gz +0 -0
- package/dist/ui/assets/{MarketingScreenshotPage-zv5RUCuV.js → MarketingScreenshotPage-B86Gs8jx.js} +2 -2
- package/dist/ui/assets/MarketingScreenshotPage-B86Gs8jx.js.gz +0 -0
- package/dist/ui/assets/MobileApp-BPs-SXvz.js +1 -0
- package/dist/ui/assets/MobileApp-BPs-SXvz.js.gz +0 -0
- package/dist/ui/assets/{SessionCanvas-mEmYGZhC.css → SessionCanvas-Bh7Yg5dZ.css} +1 -1
- package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css.gz +0 -0
- package/dist/ui/assets/SessionCanvas-xVfDoEtz.js +13 -0
- package/dist/ui/assets/SessionCanvas-xVfDoEtz.js.gz +0 -0
- package/dist/ui/assets/{StreamdownDemoPage-wzWaqWwr.js → StreamdownDemoPage-CvWLzVsv.js} +2 -2
- package/dist/ui/assets/StreamdownDemoPage-CvWLzVsv.js.gz +0 -0
- package/dist/ui/assets/TerminalModal-ExOgsuOP.js +2 -0
- package/dist/ui/assets/TerminalModal-ExOgsuOP.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js +1 -0
- package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js.gz +0 -0
- package/dist/ui/assets/ThemedSyntaxHighlighter.inner-rpCN9S6K.js +1 -0
- package/dist/ui/assets/{antd-CfbbHJOz.js → antd-BCqimh1J.js} +5 -5
- package/dist/ui/assets/{antd-CfbbHJOz.js.gz → antd-BCqimh1J.js.gz} +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-BxSQIjrE.js +1 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js +36 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js.gz +0 -0
- package/dist/ui/assets/{blockDiagram-VD42YOAC-BhZaEN19.js → blockDiagram-VD42YOAC-uP8JTJpK.js} +4 -4
- package/dist/ui/assets/blockDiagram-VD42YOAC-uP8JTJpK.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dk_UH-sY.js → c4Diagram-YG6GDRKO-qQe72Mm7.js} +2 -2
- package/dist/ui/assets/c4Diagram-YG6GDRKO-qQe72Mm7.js.gz +0 -0
- package/dist/ui/assets/channel-CoUBs6Zn.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-XprbG2TG.js → chunk-4BX2VUAB-sz-YE8Nt.js} +1 -1
- package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js +3 -0
- package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js.gz +0 -0
- package/dist/ui/assets/chunk-55IACEB6-BS04dgKF.js +1 -0
- package/dist/ui/assets/{chunk-ABZYJK2D-BJcrryHK.js → chunk-ABZYJK2D-t3Gkphds.js} +3 -3
- package/dist/ui/assets/chunk-ABZYJK2D-t3Gkphds.js.gz +0 -0
- package/dist/ui/assets/{chunk-AGHRB4JF-DvxmfbM0.js → chunk-AGHRB4JF-D_QmWxbY.js} +1 -1
- package/dist/ui/assets/chunk-AGHRB4JF-D_QmWxbY.js.gz +0 -0
- package/dist/ui/assets/{chunk-ATLVNIR6-DbeJ0OrR.js → chunk-ATLVNIR6-Bmg7-Ufz.js} +1 -1
- package/dist/ui/assets/chunk-ATLVNIR6-Bmg7-Ufz.js.gz +0 -0
- package/dist/ui/assets/{chunk-B4BG7PRW-C53q2ggf.js → chunk-B4BG7PRW-dnSEE1u-.js} +3 -3
- package/dist/ui/assets/chunk-B4BG7PRW-dnSEE1u-.js.gz +0 -0
- package/dist/ui/assets/{chunk-CVBHYZKI-B3EBSlb3.js → chunk-CVBHYZKI-BStaYnF0.js} +1 -1
- package/dist/ui/assets/{chunk-DI55MBZ5-vIyNEQN-.js → chunk-DI55MBZ5-28dvx6o3.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-28dvx6o3.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-X-FURkEh.js +1 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-rddmfK-Z.js → chunk-FMBD7UC4-C_63gC9S.js} +1 -1
- package/dist/ui/assets/{chunk-HN2XXSSU-Dttqcg3b.js → chunk-HN2XXSSU-UFD374KI.js} +1 -1
- package/dist/ui/assets/chunk-HN2XXSSU-UFD374KI.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js +11 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js.gz +0 -0
- package/dist/ui/assets/{chunk-JZLCHNYA-EUmx2y4H.js → chunk-JZLCHNYA-ButC6pwN.js} +5 -5
- package/dist/ui/assets/chunk-JZLCHNYA-ButC6pwN.js.gz +0 -0
- package/dist/ui/assets/{chunk-MI3HLSF2-65n9Mkyc.js → chunk-MI3HLSF2-BivYzoSV.js} +1 -1
- package/dist/ui/assets/chunk-MI3HLSF2-BivYzoSV.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js +2 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js.gz +0 -0
- package/dist/ui/assets/{chunk-QN33PNHL-DsRKK6NR.js → chunk-QN33PNHL-tXtHZpaG.js} +1 -1
- package/dist/ui/assets/{chunk-QXUST7PY-BCYnMiS3.js → chunk-QXUST7PY-DATib_Vv.js} +2 -2
- package/dist/ui/assets/chunk-QXUST7PY-DATib_Vv.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-y6l249e5.js +1 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js +2 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js.gz +0 -0
- package/dist/ui/assets/{chunk-TZMSLE5B-BuQUQcTr.js → chunk-TZMSLE5B-BY1ZtogK.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-BY1ZtogK.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-BYvq-uPY.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BYvq-uPY.js +1 -0
- package/dist/ui/assets/constants-CYzQKfD1.js +1 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-CnPB3ARO.js → cose-bilkent-S5V4N54A-DPvYrqGG.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-DPvYrqGG.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-DhS-k_Se.js → dagre-6UL2VRFP-D800J6qb.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-D800J6qb.js.gz +0 -0
- package/dist/ui/assets/{dagre-KgLoHEuy.js → dagre-TNc4wezg.js} +1 -1
- package/dist/ui/assets/dagre-TNc4wezg.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js +24 -0
- package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-BPCitvbo.js → diagram-QEK2KX5R-BD5lOCe5.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-BD5lOCe5.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-NW4uK6sx.js → diagram-S2PKOQOG-cp3l22vN.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-cp3l22vN.js.gz +0 -0
- package/dist/ui/assets/editor-Cr0W5BQI.js +39 -0
- package/dist/ui/assets/editor-Cr0W5BQI.js.gz +0 -0
- package/dist/ui/assets/emoji-Bv3m24sO.js +3 -0
- package/dist/ui/assets/emoji-Bv3m24sO.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-me1fboaf.js → erDiagram-Q2GNP2WA-CQSXRgqr.js} +2 -2
- package/dist/ui/assets/erDiagram-Q2GNP2WA-CQSXRgqr.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js +162 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js +267 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js.gz +0 -0
- package/dist/ui/assets/{gitGraph-F6HP7TQM-CfFE_uAC.js → gitGraph-F6HP7TQM-DeuXy4B1.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js +65 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js.gz +0 -0
- package/dist/ui/assets/index-B-qHc0o5.js +63 -0
- package/dist/ui/assets/index-B-qHc0o5.js.gz +0 -0
- package/dist/ui/assets/{index-DxuPq13l.css → index-qkT7Qqm2.css} +1 -1
- package/dist/ui/assets/index-qkT7Qqm2.css.gz +0 -0
- package/dist/ui/assets/{info-NVLQJR56-i_xHYg3f.js → info-NVLQJR56-B9PG7xsc.js} +1 -1
- package/dist/ui/assets/{infoDiagram-ER5ION4S-2NL93b78.js → infoDiagram-ER5ION4S-C5Wpoqim.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CZF-2DHU.js → journeyDiagram-XKPGCS4Q-CHLziqfS.js} +3 -3
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHLziqfS.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-CfvJIOny.js → kanban-definition-3W4ZIXB7-Dq7GzQE_.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-Dq7GzQE_.js.gz +0 -0
- package/dist/ui/assets/{line-DDv8kOJk.js → line-DHKNg83I.js} +1 -1
- package/dist/ui/assets/{linear-Daef-l29.js → linear-BvUfn0I8.js} +1 -1
- package/dist/ui/assets/linear-BvUfn0I8.js.gz +0 -0
- package/dist/ui/assets/{mermaid-parser.core-CdK9QgYV.js → mermaid-parser.core-C6d9tKoo.js} +2 -2
- package/dist/ui/assets/mermaid-parser.core-C6d9tKoo.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-CxE5KezR.js +11 -0
- package/dist/ui/assets/mermaid.core-CxE5KezR.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-Cb3QMflX.js → mindmap-definition-VGOIOE7T-DmPoQ48w.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-DmPoQ48w.js.gz +0 -0
- package/dist/ui/assets/{packet-BFZMPI3H-Bm2uwz4i.js → packet-BFZMPI3H-JZEkVZxU.js} +1 -1
- package/dist/ui/assets/{particles-DsJFOarW.js → particles-CxMmUw86.js} +1 -1
- package/dist/ui/assets/particles-CxMmUw86.js.gz +0 -0
- package/dist/ui/assets/{pie-7BOR55EZ-5i17tVnF.js → pie-7BOR55EZ-_1II5pYQ.js} +1 -1
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-BxIwQWvw.js → pieDiagram-ADFJNKIX-DrNkH33i.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-DrNkH33i.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-B5HPe4ga.js → quadrantDiagram-AYHSOK5B-DOpC-HEF.js} +3 -3
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DOpC-HEF.js.gz +0 -0
- package/dist/ui/assets/{radar-NHE76QYJ-BTn-tq0k.js → radar-NHE76QYJ-DDmqhzEZ.js} +1 -1
- package/dist/ui/assets/reactflow-D98uPOMq.js +2 -0
- package/dist/ui/assets/reactflow-D98uPOMq.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-YfI6llkX.js → requirementDiagram-UZGBJVZJ-Bzx0iEPP.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bzx0iEPP.js.gz +0 -0
- package/dist/ui/assets/{sandpack-D7koO5op.js → sandpack-059Z4UWP.js} +38 -38
- package/dist/ui/assets/sandpack-059Z4UWP.js.gz +0 -0
- package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js +1 -0
- package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js +10 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-DAe4Um17.js → sequenceDiagram-WL72ISMW-CN8neUTA.js} +6 -6
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CN8neUTA.js.gz +0 -0
- package/dist/ui/assets/src-DEbsv3pp.js +34 -0
- package/dist/ui/assets/src-DEbsv3pp.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js +1 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DeyqBMDR.js +1 -0
- package/dist/ui/assets/streamdown-BT1twtFc.js +521 -0
- package/dist/ui/assets/streamdown-BT1twtFc.js.gz +0 -0
- package/dist/ui/assets/syntax-CBu6nLfm.js +9 -0
- package/dist/ui/assets/syntax-CBu6nLfm.js.gz +0 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-D6P5txjT.js → timeline-definition-IT6M3QCI-WdUNkiRj.js} +16 -16
- package/dist/ui/assets/timeline-definition-IT6M3QCI-WdUNkiRj.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-Bitm3gy4.js → treemap-KMMF4GRG-CoriU4Jl.js} +1 -1
- package/dist/ui/assets/{useUserLocalStorage-Ckb8HsIw.js → useUserLocalStorage-GidNiOPC.js} +1 -1
- package/dist/ui/assets/useUserLocalStorage-GidNiOPC.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CsybjUbd.js → xychartDiagram-PRI3JC2R-CgBAKNt2.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CgBAKNt2.js.gz +0 -0
- package/dist/ui/index.html +11 -11
- package/dist/ui/index.html.gz +0 -0
- package/package.json +6 -5
- package/scripts/postinstall.js +27 -19
- package/dist/cli/commands/daemon/sync.d.ts.map +0 -1
- package/dist/ui/assets/App-DcEY8Ota.js +0 -3
- package/dist/ui/assets/App-DcEY8Ota.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js +0 -1
- package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js +0 -9
- package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js +0 -18
- package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js +0 -34
- package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js +0 -8
- package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js.gz +0 -0
- package/dist/ui/assets/ConversationView-CUWR0gR6.js +0 -1
- package/dist/ui/assets/ConversationView-CUWR0gR6.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-B2bzlXfn.js +0 -24
- package/dist/ui/assets/KnowledgePage-B2bzlXfn.js.gz +0 -0
- package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js.gz +0 -0
- package/dist/ui/assets/MobileApp-VgVnsnsN.js +0 -1
- package/dist/ui/assets/MobileApp-VgVnsnsN.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js +0 -20
- package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-mEmYGZhC.css.gz +0 -0
- package/dist/ui/assets/StreamdownDemoPage-wzWaqWwr.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js +0 -1
- package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js.gz +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-CykGFbQU.js +0 -1
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js +0 -36
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js.gz +0 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-BhZaEN19.js.gz +0 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-Dk_UH-sY.js.gz +0 -0
- package/dist/ui/assets/channel-D6_nUWlW.js +0 -1
- package/dist/ui/assets/chunk-55IACEB6-ByzqIgSb.js +0 -1
- package/dist/ui/assets/chunk-ABZYJK2D-BJcrryHK.js.gz +0 -0
- package/dist/ui/assets/chunk-AGHRB4JF-DvxmfbM0.js.gz +0 -0
- package/dist/ui/assets/chunk-ATLVNIR6-DbeJ0OrR.js.gz +0 -0
- package/dist/ui/assets/chunk-B4BG7PRW-C53q2ggf.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-vIyNEQN-.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-B3ObkuOm.js +0 -1
- package/dist/ui/assets/chunk-HN2XXSSU-Dttqcg3b.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js +0 -11
- package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js.gz +0 -0
- package/dist/ui/assets/chunk-JZLCHNYA-EUmx2y4H.js.gz +0 -0
- package/dist/ui/assets/chunk-MI3HLSF2-65n9Mkyc.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js +0 -2
- package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js.gz +0 -0
- package/dist/ui/assets/chunk-QXUST7PY-BCYnMiS3.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-HucAw4xW.js +0 -1
- package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js +0 -2
- package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-BuQUQcTr.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-CUT3rPTB.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-CUT3rPTB.js +0 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-CnPB3ARO.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-DhS-k_Se.js.gz +0 -0
- package/dist/ui/assets/dagre-KgLoHEuy.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js +0 -24
- package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-BPCitvbo.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-NW4uK6sx.js.gz +0 -0
- package/dist/ui/assets/editor-CzFWIUw2.js +0 -39
- package/dist/ui/assets/editor-CzFWIUw2.js.gz +0 -0
- package/dist/ui/assets/emoji-Dkz4Zzv_.js +0 -3
- package/dist/ui/assets/emoji-Dkz4Zzv_.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-me1fboaf.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js +0 -162
- package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js +0 -267
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js +0 -65
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js.gz +0 -0
- package/dist/ui/assets/index-BN5_Qq7R.js +0 -324
- package/dist/ui/assets/index-BN5_Qq7R.js.gz +0 -0
- package/dist/ui/assets/index-DxuPq13l.css.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CZF-2DHU.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-CfvJIOny.js.gz +0 -0
- package/dist/ui/assets/katex-CamJ39w1.js +0 -257
- package/dist/ui/assets/katex-CamJ39w1.js.gz +0 -0
- package/dist/ui/assets/linear-Daef-l29.js.gz +0 -0
- package/dist/ui/assets/mermaid-parser.core-CdK9QgYV.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-D6GS9mU-.js +0 -11
- package/dist/ui/assets/mermaid.core-D6GS9mU-.js.gz +0 -0
- package/dist/ui/assets/message-SqLqNYcv.js +0 -36
- package/dist/ui/assets/message-SqLqNYcv.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-Cb3QMflX.js.gz +0 -0
- package/dist/ui/assets/particles-DsJFOarW.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-BxIwQWvw.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-B5HPe4ga.js.gz +0 -0
- package/dist/ui/assets/reactflow-Bf74ngoo.js +0 -2
- package/dist/ui/assets/reactflow-Bf74ngoo.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-YfI6llkX.js.gz +0 -0
- package/dist/ui/assets/sandpack-D7koO5op.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js +0 -10
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-DAe4Um17.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js +0 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CMlIrsoO.js +0 -1
- package/dist/ui/assets/syntax-C-M-8jOU.js +0 -10
- package/dist/ui/assets/syntax-C-M-8jOU.js.gz +0 -0
- package/dist/ui/assets/theme-BQZdiqwv.js +0 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-D6P5txjT.js.gz +0 -0
- package/dist/ui/assets/useUserLocalStorage-Ckb8HsIw.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CsybjUbd.js.gz +0 -0
- /package/dist/cli/commands/{admin → local}/sync-unix.d.ts +0 -0
|
@@ -158,6 +158,71 @@ var init_executor_heartbeat = __esm({
|
|
|
158
158
|
}
|
|
159
159
|
});
|
|
160
160
|
|
|
161
|
+
// src/config/multitenancy.ts
|
|
162
|
+
function detectPostgresUrl(url) {
|
|
163
|
+
if (!url) return false;
|
|
164
|
+
const lower = url.toLowerCase();
|
|
165
|
+
return lower.startsWith("postgresql://") || lower.startsWith("postgres://") || lower.startsWith("pg://");
|
|
166
|
+
}
|
|
167
|
+
function resolveMultiTenancyDatabaseDialect(config = {}) {
|
|
168
|
+
if (process.env.AGOR_DB_DIALECT === "postgresql" || process.env.AGOR_DB_DIALECT === "sqlite") {
|
|
169
|
+
return process.env.AGOR_DB_DIALECT;
|
|
170
|
+
}
|
|
171
|
+
if (detectPostgresUrl(process.env.DATABASE_URL)) return "postgresql";
|
|
172
|
+
if (config.database?.dialect === "postgresql" || config.database?.dialect === "sqlite") {
|
|
173
|
+
return config.database.dialect;
|
|
174
|
+
}
|
|
175
|
+
if (detectPostgresUrl(config.database?.postgresql?.url) || config.database?.postgresql?.host) {
|
|
176
|
+
return "postgresql";
|
|
177
|
+
}
|
|
178
|
+
return "sqlite";
|
|
179
|
+
}
|
|
180
|
+
function resolveMultiTenancyConfig(config) {
|
|
181
|
+
const raw = config.multi_tenancy ?? {};
|
|
182
|
+
const mode = raw.mode ?? "static";
|
|
183
|
+
return {
|
|
184
|
+
mode,
|
|
185
|
+
static_tenant_id: raw.static_tenant_id?.trim() || DEFAULT_STATIC_TENANT_ID,
|
|
186
|
+
...raw.auth_claim ? { auth_claim: raw.auth_claim } : {},
|
|
187
|
+
...raw.trusted_header ? { trusted_header: raw.trusted_header } : {}
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function assertValidMultiTenancyConfig(config) {
|
|
191
|
+
const resolved = resolveMultiTenancyConfig(config);
|
|
192
|
+
if (resolved.mode !== "static" && resolved.mode !== "required_from_auth") {
|
|
193
|
+
throw new Error("Config error: multi_tenancy.mode must be one of: static, required_from_auth");
|
|
194
|
+
}
|
|
195
|
+
if (!resolved.static_tenant_id) {
|
|
196
|
+
throw new Error("Config error: multi_tenancy.static_tenant_id must not be empty");
|
|
197
|
+
}
|
|
198
|
+
if (resolved.auth_claim && RESERVED_AUTH_CLAIMS.has(resolved.auth_claim)) {
|
|
199
|
+
throw new Error(
|
|
200
|
+
`Config error: multi_tenancy.auth_claim cannot be reserved JWT claim '${resolved.auth_claim}'`
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
if (resolved.mode === "required_from_auth") {
|
|
204
|
+
if (resolveMultiTenancyDatabaseDialect(config) !== "postgresql") {
|
|
205
|
+
throw new Error(
|
|
206
|
+
"Config error: multi_tenancy.required_from_auth requires database.dialect: postgresql"
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
if (!resolved.auth_claim && !resolved.trusted_header) {
|
|
210
|
+
throw new Error(
|
|
211
|
+
"Config error: multi_tenancy.required_from_auth requires multi_tenancy.auth_claim or multi_tenancy.trusted_header"
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
var DEFAULT_STATIC_TENANT_ID, RESERVED_AUTH_CLAIMS;
|
|
217
|
+
var init_multitenancy = __esm({
|
|
218
|
+
"src/config/multitenancy.ts"() {
|
|
219
|
+
"use strict";
|
|
220
|
+
init_esm_shims();
|
|
221
|
+
DEFAULT_STATIC_TENANT_ID = "default";
|
|
222
|
+
RESERVED_AUTH_CLAIMS = /* @__PURE__ */ new Set(["aud", "exp", "iat", "iss", "jti", "nbf", "sub", "type"]);
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
|
|
161
226
|
// src/config/types.ts
|
|
162
227
|
var init_types = __esm({
|
|
163
228
|
"src/config/types.ts"() {
|
|
@@ -171,7 +236,7 @@ import { readFileSync, statSync } from "fs";
|
|
|
171
236
|
import fs2 from "fs/promises";
|
|
172
237
|
import os from "os";
|
|
173
238
|
import path3 from "path";
|
|
174
|
-
import yaml from "js-yaml";
|
|
239
|
+
import * as yaml from "js-yaml";
|
|
175
240
|
function cacheKeyMatches(a, b) {
|
|
176
241
|
return a.mtimeMs === b.mtimeMs && a.size === b.size;
|
|
177
242
|
}
|
|
@@ -200,6 +265,9 @@ function writeCachedConfig(configPath, config, key) {
|
|
|
200
265
|
cachedEntry = { path: configPath, config: structuredClone(config), key };
|
|
201
266
|
}
|
|
202
267
|
function parseAndValidateConfig(content) {
|
|
268
|
+
if (content.trim() === "") {
|
|
269
|
+
return {};
|
|
270
|
+
}
|
|
203
271
|
const parsed = yaml.load(content);
|
|
204
272
|
const finalConfig = parsed || {};
|
|
205
273
|
validateConfig(finalConfig);
|
|
@@ -229,6 +297,7 @@ To update: agor config set execution.unix_user_mode insulated`
|
|
|
229
297
|
`Config error: execution.managed_envs_execution_mode must be one of: hybrid, webhook-only`
|
|
230
298
|
);
|
|
231
299
|
}
|
|
300
|
+
assertValidMultiTenancyConfig(config);
|
|
232
301
|
validateOptionalHttpUrl(
|
|
233
302
|
config.external_launch,
|
|
234
303
|
"login_redirect_url",
|
|
@@ -289,7 +358,12 @@ function getDefaultConfig() {
|
|
|
289
358
|
// Default: sync passwords to Unix
|
|
290
359
|
executor_heartbeat: resolveExecutorHeartbeatConfig()
|
|
291
360
|
},
|
|
292
|
-
analytics: getDefaultAnalyticsConfig()
|
|
361
|
+
analytics: getDefaultAnalyticsConfig(),
|
|
362
|
+
telemetry: {},
|
|
363
|
+
multi_tenancy: {
|
|
364
|
+
mode: "static",
|
|
365
|
+
static_tenant_id: "default"
|
|
366
|
+
}
|
|
293
367
|
};
|
|
294
368
|
}
|
|
295
369
|
function loadConfigSync() {
|
|
@@ -341,6 +415,7 @@ var init_config_manager = __esm({
|
|
|
341
415
|
init_analytics_defaults();
|
|
342
416
|
init_constants();
|
|
343
417
|
init_executor_heartbeat();
|
|
418
|
+
init_multitenancy();
|
|
344
419
|
init_types();
|
|
345
420
|
NO_FILE = -1;
|
|
346
421
|
NO_FILE_KEY = { mtimeMs: NO_FILE, size: 0 };
|
|
@@ -592,6 +667,14 @@ var init_template = __esm({
|
|
|
592
667
|
}
|
|
593
668
|
});
|
|
594
669
|
|
|
670
|
+
// src/types/tenant.ts
|
|
671
|
+
var init_tenant = __esm({
|
|
672
|
+
"src/types/tenant.ts"() {
|
|
673
|
+
"use strict";
|
|
674
|
+
init_esm_shims();
|
|
675
|
+
}
|
|
676
|
+
});
|
|
677
|
+
|
|
595
678
|
// src/types/ui.ts
|
|
596
679
|
var init_ui = __esm({
|
|
597
680
|
"src/types/ui.ts"() {
|
|
@@ -682,6 +765,7 @@ var init_types2 = __esm({
|
|
|
682
765
|
init_session();
|
|
683
766
|
init_task();
|
|
684
767
|
init_template();
|
|
768
|
+
init_tenant();
|
|
685
769
|
init_ui();
|
|
686
770
|
init_user();
|
|
687
771
|
init_utils();
|
|
@@ -707,6 +791,7 @@ __export(schema_postgres_exports, {
|
|
|
707
791
|
cardTypes: () => cardTypes,
|
|
708
792
|
cards: () => cards,
|
|
709
793
|
gatewayChannels: () => gatewayChannels,
|
|
794
|
+
gatewayOutboundMessages: () => gatewayOutboundMessages,
|
|
710
795
|
groupMemberships: () => groupMemberships,
|
|
711
796
|
groups: () => groups,
|
|
712
797
|
kbDocumentUnits: () => kbDocumentUnits,
|
|
@@ -750,7 +835,7 @@ import {
|
|
|
750
835
|
uniqueIndex,
|
|
751
836
|
varchar
|
|
752
837
|
} from "drizzle-orm/pg-core";
|
|
753
|
-
var 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;
|
|
838
|
+
var 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;
|
|
754
839
|
var init_schema_postgres = __esm({
|
|
755
840
|
"src/db/schema.postgres.ts"() {
|
|
756
841
|
"use strict";
|
|
@@ -769,6 +854,7 @@ var init_schema_postgres = __esm({
|
|
|
769
854
|
sessions = pgTable(
|
|
770
855
|
"sessions",
|
|
771
856
|
{
|
|
857
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
772
858
|
// Primary identity
|
|
773
859
|
session_id: varchar("session_id", { length: 36 }).primaryKey(),
|
|
774
860
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -828,7 +914,9 @@ var init_schema_postgres = __esm({
|
|
|
828
914
|
data: t.json("data").$type().notNull()
|
|
829
915
|
},
|
|
830
916
|
(table) => ({
|
|
917
|
+
tenantIdx: index("sessions_tenant_id_idx").on(table.tenant_id),
|
|
831
918
|
statusIdx: index("sessions_status_idx").on(table.status),
|
|
919
|
+
statusReadyIdx: index("sessions_status_ready_idx").on(table.status, table.ready_for_prompt),
|
|
832
920
|
agenticToolIdx: index("sessions_agentic_tool_idx").on(table.agentic_tool),
|
|
833
921
|
boardIdx: index("sessions_board_idx").on(table.board_id),
|
|
834
922
|
branchIdx: index("sessions_branch_idx").on(table.branch_id),
|
|
@@ -840,12 +928,13 @@ var init_schema_postgres = __esm({
|
|
|
840
928
|
// Partial unique index — covering for the scheduler's dedup lookup
|
|
841
929
|
// AND serves as the DB-level guard against check-then-create races
|
|
842
930
|
// in spawnScheduledSession.
|
|
843
|
-
scheduleRunUnique: uniqueIndex("sessions_schedule_run_unique").on(table.schedule_id, table.scheduled_run_at).where(sql`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
|
|
931
|
+
scheduleRunUnique: uniqueIndex("sessions_schedule_run_unique").on(table.tenant_id, table.schedule_id, table.scheduled_run_at).where(sql`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
|
|
844
932
|
})
|
|
845
933
|
);
|
|
846
934
|
sessionRelationships = pgTable(
|
|
847
935
|
"session_relationships",
|
|
848
936
|
{
|
|
937
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
849
938
|
relationship_id: varchar("relationship_id", { length: 36 }).primaryKey(),
|
|
850
939
|
source_session_id: varchar("source_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
851
940
|
target_session_id: varchar("target_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
@@ -863,10 +952,23 @@ var init_schema_postgres = __esm({
|
|
|
863
952
|
data: t.json("data")
|
|
864
953
|
},
|
|
865
954
|
(table) => ({
|
|
955
|
+
tenantIdx: index("session_relationships_tenant_id_idx").on(table.tenant_id),
|
|
866
956
|
sourceIdx: index("session_relationships_source_idx").on(table.source_session_id),
|
|
867
957
|
targetIdx: index("session_relationships_target_idx").on(table.target_session_id),
|
|
868
958
|
callbackIdx: index("session_relationships_callback_idx").on(table.callback_session_id),
|
|
959
|
+
// Composite indexes so the OR predicate in dispatchCompletionCallbacks
|
|
960
|
+
// (WHERE source_session_id = $1 OR target_session_id = $2) uses BitmapOr
|
|
961
|
+
// over these instead of a full tenant table scan via tenant_id_idx.
|
|
962
|
+
tenantSourceIdx: index("session_relationships_tenant_source_idx").on(
|
|
963
|
+
table.tenant_id,
|
|
964
|
+
table.source_session_id
|
|
965
|
+
),
|
|
966
|
+
tenantTargetIdx: index("session_relationships_tenant_target_idx").on(
|
|
967
|
+
table.tenant_id,
|
|
968
|
+
table.target_session_id
|
|
969
|
+
),
|
|
869
970
|
sourceTargetTypeUnique: uniqueIndex("session_relationships_source_target_type_unique").on(
|
|
971
|
+
table.tenant_id,
|
|
870
972
|
table.source_session_id,
|
|
871
973
|
table.target_session_id,
|
|
872
974
|
table.relationship_type
|
|
@@ -876,6 +978,7 @@ var init_schema_postgres = __esm({
|
|
|
876
978
|
tasks = pgTable(
|
|
877
979
|
"tasks",
|
|
878
980
|
{
|
|
981
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
879
982
|
task_id: varchar("task_id", { length: 36 }).primaryKey(),
|
|
880
983
|
session_id: varchar("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
881
984
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -905,19 +1008,23 @@ var init_schema_postgres = __esm({
|
|
|
905
1008
|
data: t.json("data").$type().notNull()
|
|
906
1009
|
},
|
|
907
1010
|
(table) => ({
|
|
1011
|
+
tenantIdx: index("tasks_tenant_id_idx").on(table.tenant_id),
|
|
908
1012
|
sessionIdx: index("tasks_session_idx").on(table.session_id),
|
|
909
1013
|
statusIdx: index("tasks_status_idx").on(table.status),
|
|
910
1014
|
createdIdx: index("tasks_created_idx").on(table.created_at),
|
|
1015
|
+
// Composite for "latest task for session" queries (ORDER BY created_at DESC LIMIT 1).
|
|
1016
|
+
sessionCreatedIdx: index("tasks_session_created_idx").on(table.session_id, table.created_at),
|
|
911
1017
|
queueIdx: index("tasks_queue_idx").on(table.session_id, table.status, table.queue_position),
|
|
912
1018
|
// Partial unique index — defense-in-depth for `tasks.createPending` race
|
|
913
1019
|
// serialization. Only QUEUED rows are constrained; CREATED/RUNNING/done
|
|
914
1020
|
// rows have NULL queue_position and are unaffected.
|
|
915
|
-
queuedPositionUnique: uniqueIndex("tasks_queued_position_unique").on(table.session_id, table.queue_position).where(sql`${table.status} = 'queued'`)
|
|
1021
|
+
queuedPositionUnique: uniqueIndex("tasks_queued_position_unique").on(table.tenant_id, table.session_id, table.queue_position).where(sql`${table.status} = 'queued'`)
|
|
916
1022
|
})
|
|
917
1023
|
);
|
|
918
1024
|
serializedSessions = pgTable(
|
|
919
1025
|
"serialized_sessions",
|
|
920
1026
|
{
|
|
1027
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
921
1028
|
id: varchar("id", { length: 36 }).primaryKey(),
|
|
922
1029
|
session_id: varchar("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
923
1030
|
branch_id: varchar("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
@@ -933,6 +1040,7 @@ var init_schema_postgres = __esm({
|
|
|
933
1040
|
// gzipped; NULL while status='processing'
|
|
934
1041
|
},
|
|
935
1042
|
(table) => ({
|
|
1043
|
+
tenantIdx: index("serialized_sessions_tenant_id_idx").on(table.tenant_id),
|
|
936
1044
|
sessionTurnIdx: index("serialized_sessions_session_turn_idx").on(
|
|
937
1045
|
table.session_id,
|
|
938
1046
|
table.turn_index
|
|
@@ -943,6 +1051,7 @@ var init_schema_postgres = __esm({
|
|
|
943
1051
|
messages = pgTable(
|
|
944
1052
|
"messages",
|
|
945
1053
|
{
|
|
1054
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
946
1055
|
// Primary identity
|
|
947
1056
|
message_id: varchar("message_id", { length: 36 }).primaryKey(),
|
|
948
1057
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -982,15 +1091,23 @@ var init_schema_postgres = __esm({
|
|
|
982
1091
|
data: t.json("data").$type().notNull()
|
|
983
1092
|
},
|
|
984
1093
|
(table) => ({
|
|
1094
|
+
tenantIdx: index("messages_tenant_id_idx").on(table.tenant_id),
|
|
1095
|
+
tenantTimestampIdx: index("messages_tenant_timestamp_idx").on(table.tenant_id, table.timestamp),
|
|
985
1096
|
// Indexes for efficient lookups
|
|
986
1097
|
sessionIdx: index("messages_session_id_idx").on(table.session_id),
|
|
987
1098
|
taskIdx: index("messages_task_id_idx").on(table.task_id),
|
|
988
|
-
sessionIndexIdx: index("messages_session_index_idx").on(table.session_id, table.index)
|
|
1099
|
+
sessionIndexIdx: index("messages_session_index_idx").on(table.session_id, table.index),
|
|
1100
|
+
timestampIdx: index("messages_timestamp_idx").on(table.timestamp),
|
|
1101
|
+
sessionTimestampIdx: index("messages_session_timestamp_idx").on(
|
|
1102
|
+
table.session_id,
|
|
1103
|
+
table.timestamp
|
|
1104
|
+
)
|
|
989
1105
|
})
|
|
990
1106
|
);
|
|
991
1107
|
boards = pgTable(
|
|
992
1108
|
"boards",
|
|
993
1109
|
{
|
|
1110
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
994
1111
|
board_id: varchar("board_id", { length: 36 }).primaryKey(),
|
|
995
1112
|
created_at: t.timestamp("created_at").notNull(),
|
|
996
1113
|
updated_at: t.timestamp("updated_at"),
|
|
@@ -998,7 +1115,7 @@ var init_schema_postgres = __esm({
|
|
|
998
1115
|
created_by: varchar("created_by", { length: 36 }).notNull(),
|
|
999
1116
|
// Materialized for lookups
|
|
1000
1117
|
name: text("name").notNull(),
|
|
1001
|
-
slug: text("slug")
|
|
1118
|
+
slug: text("slug"),
|
|
1002
1119
|
primary_assistant_id: varchar("primary_assistant_id", { length: 36 }).references(
|
|
1003
1120
|
() => branches.branch_id,
|
|
1004
1121
|
{
|
|
@@ -1013,18 +1130,21 @@ var init_schema_postgres = __esm({
|
|
|
1013
1130
|
archived_by: varchar("archived_by", { length: 36 })
|
|
1014
1131
|
},
|
|
1015
1132
|
(table) => ({
|
|
1133
|
+
tenantIdx: index("boards_tenant_id_idx").on(table.tenant_id),
|
|
1016
1134
|
nameIdx: index("boards_name_idx").on(table.name),
|
|
1017
|
-
slugIdx: index("boards_slug_idx").on(table.slug)
|
|
1135
|
+
slugIdx: index("boards_slug_idx").on(table.slug),
|
|
1136
|
+
slugTenantUnique: uniqueIndex("boards_tenant_slug_unique").on(table.tenant_id, table.slug)
|
|
1018
1137
|
})
|
|
1019
1138
|
);
|
|
1020
1139
|
repos = pgTable(
|
|
1021
1140
|
"repos",
|
|
1022
1141
|
{
|
|
1142
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1023
1143
|
repo_id: varchar("repo_id", { length: 36 }).primaryKey(),
|
|
1024
1144
|
created_at: t.timestamp("created_at").notNull(),
|
|
1025
1145
|
updated_at: t.timestamp("updated_at"),
|
|
1026
1146
|
// Materialized for querying
|
|
1027
|
-
slug: text("slug").notNull()
|
|
1147
|
+
slug: text("slug").notNull(),
|
|
1028
1148
|
repo_type: text("repo_type", { enum: ["remote", "local"] }).notNull().default("remote"),
|
|
1029
1149
|
// Unix group for repo-level git access (agor_rp_<short-id>)
|
|
1030
1150
|
// Users who have access to ANY branch in this repo get added to this group.
|
|
@@ -1035,12 +1155,15 @@ var init_schema_postgres = __esm({
|
|
|
1035
1155
|
data: t.json("data").$type().notNull()
|
|
1036
1156
|
},
|
|
1037
1157
|
(table) => ({
|
|
1038
|
-
|
|
1158
|
+
tenantIdx: index("repos_tenant_id_idx").on(table.tenant_id),
|
|
1159
|
+
slugIdx: index("repos_slug_idx").on(table.slug),
|
|
1160
|
+
slugTenantUnique: uniqueIndex("repos_tenant_slug_unique").on(table.tenant_id, table.slug)
|
|
1039
1161
|
})
|
|
1040
1162
|
);
|
|
1041
1163
|
branches = pgTable(
|
|
1042
1164
|
"branches",
|
|
1043
1165
|
{
|
|
1166
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1044
1167
|
// Primary identity
|
|
1045
1168
|
branch_id: varchar("branch_id", { length: 36 }).primaryKey(),
|
|
1046
1169
|
repo_id: varchar("repo_id", { length: 36 }).notNull().references(() => repos.repo_id, { onDelete: "cascade" }),
|
|
@@ -1115,6 +1238,7 @@ var init_schema_postgres = __esm({
|
|
|
1115
1238
|
data: t.json("data").$type().notNull()
|
|
1116
1239
|
},
|
|
1117
1240
|
(table) => ({
|
|
1241
|
+
tenantIdx: index("branches_tenant_id_idx").on(table.tenant_id),
|
|
1118
1242
|
repoIdx: index("branches_repo_idx").on(table.repo_id),
|
|
1119
1243
|
nameIdx: index("branches_name_idx").on(table.name),
|
|
1120
1244
|
refIdx: index("branches_ref_idx").on(table.ref),
|
|
@@ -1128,22 +1252,26 @@ var init_schema_postgres = __esm({
|
|
|
1128
1252
|
branchOwners = pgTable(
|
|
1129
1253
|
"branch_owners",
|
|
1130
1254
|
{
|
|
1255
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1131
1256
|
branch_id: varchar("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1132
1257
|
user_id: varchar("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1133
1258
|
created_at: t.timestamp("created_at").defaultNow()
|
|
1134
1259
|
},
|
|
1135
1260
|
(table) => ({
|
|
1261
|
+
tenantIdx: index("branch_owners_tenant_id_idx").on(table.tenant_id),
|
|
1136
1262
|
pk: primaryKey({ columns: [table.branch_id, table.user_id] })
|
|
1137
1263
|
})
|
|
1138
1264
|
);
|
|
1139
1265
|
boardOwners = pgTable(
|
|
1140
1266
|
"board_owners",
|
|
1141
1267
|
{
|
|
1268
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1142
1269
|
board_id: varchar("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
1143
1270
|
user_id: varchar("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1144
1271
|
created_at: t.timestamp("created_at")
|
|
1145
1272
|
},
|
|
1146
1273
|
(table) => ({
|
|
1274
|
+
tenantIdx: index("board_owners_tenant_id_idx").on(table.tenant_id),
|
|
1147
1275
|
pk: primaryKey({ columns: [table.board_id, table.user_id] }),
|
|
1148
1276
|
userIdx: index("board_owners_user_idx").on(table.user_id)
|
|
1149
1277
|
})
|
|
@@ -1151,6 +1279,7 @@ var init_schema_postgres = __esm({
|
|
|
1151
1279
|
schedules = pgTable(
|
|
1152
1280
|
"schedules",
|
|
1153
1281
|
{
|
|
1282
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1154
1283
|
schedule_id: varchar("schedule_id", { length: 36 }).primaryKey(),
|
|
1155
1284
|
branch_id: varchar("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1156
1285
|
name: text("name").notNull(),
|
|
@@ -1174,6 +1303,7 @@ var init_schema_postgres = __esm({
|
|
|
1174
1303
|
created_by: varchar("created_by", { length: 36 }).notNull().references(() => users.user_id)
|
|
1175
1304
|
},
|
|
1176
1305
|
(table) => ({
|
|
1306
|
+
tenantIdx: index("schedules_tenant_id_idx").on(table.tenant_id),
|
|
1177
1307
|
enabledNextRunIdx: index("schedules_enabled_next_run_idx").on(table.enabled, table.next_run_at),
|
|
1178
1308
|
branchIdx: index("schedules_branch_idx").on(table.branch_id),
|
|
1179
1309
|
createdByIdx: index("schedules_created_by_idx").on(table.created_by)
|
|
@@ -1182,12 +1312,13 @@ var init_schema_postgres = __esm({
|
|
|
1182
1312
|
users = pgTable(
|
|
1183
1313
|
"users",
|
|
1184
1314
|
{
|
|
1315
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1185
1316
|
// Primary identity
|
|
1186
1317
|
user_id: varchar("user_id", { length: 36 }).primaryKey(),
|
|
1187
1318
|
created_at: t.timestamp("created_at").notNull(),
|
|
1188
1319
|
updated_at: t.timestamp("updated_at"),
|
|
1189
1320
|
// Materialized for auth lookups
|
|
1190
|
-
email: text("email").
|
|
1321
|
+
email: text("email").notNull(),
|
|
1191
1322
|
password: text("password").notNull(),
|
|
1192
1323
|
// bcrypt hashed
|
|
1193
1324
|
// Basic profile (materialized for display)
|
|
@@ -1203,16 +1334,22 @@ var init_schema_postgres = __esm({
|
|
|
1203
1334
|
onboarding_completed: t.bool("onboarding_completed").notNull().default(false),
|
|
1204
1335
|
// Force password change flag (admin-settable, auto-cleared on password change)
|
|
1205
1336
|
must_change_password: t.bool("must_change_password").notNull().default(false),
|
|
1337
|
+
// Auth invalidation marker. Password changes set this timestamp so any
|
|
1338
|
+
// previously issued browser access or refresh token is rejected.
|
|
1339
|
+
tokens_valid_after: t.timestamp("tokens_valid_after"),
|
|
1206
1340
|
// JSON blob for profile/preferences
|
|
1207
1341
|
data: t.json("data").$type().notNull()
|
|
1208
1342
|
},
|
|
1209
1343
|
(table) => ({
|
|
1210
|
-
|
|
1344
|
+
tenantIdx: index("users_tenant_id_idx").on(table.tenant_id),
|
|
1345
|
+
emailIdx: index("users_email_idx").on(table.email),
|
|
1346
|
+
emailTenantUnique: uniqueIndex("users_tenant_email_unique").on(table.tenant_id, table.email)
|
|
1211
1347
|
})
|
|
1212
1348
|
);
|
|
1213
1349
|
groups = pgTable(
|
|
1214
1350
|
"groups",
|
|
1215
1351
|
{
|
|
1352
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1216
1353
|
group_id: varchar("group_id", { length: 36 }).primaryKey(),
|
|
1217
1354
|
name: text("name").notNull(),
|
|
1218
1355
|
slug: text("slug").notNull(),
|
|
@@ -1225,13 +1362,15 @@ var init_schema_postgres = __esm({
|
|
|
1225
1362
|
updated_at: t.timestamp("updated_at")
|
|
1226
1363
|
},
|
|
1227
1364
|
(table) => ({
|
|
1228
|
-
|
|
1365
|
+
tenantIdx: index("groups_tenant_id_idx").on(table.tenant_id),
|
|
1366
|
+
slugIdx: uniqueIndex("groups_tenant_slug_unique").on(table.tenant_id, table.slug),
|
|
1229
1367
|
archivedIdx: index("groups_archived_idx").on(table.archived)
|
|
1230
1368
|
})
|
|
1231
1369
|
);
|
|
1232
1370
|
groupMemberships = pgTable(
|
|
1233
1371
|
"group_memberships",
|
|
1234
1372
|
{
|
|
1373
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1235
1374
|
group_id: varchar("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
1236
1375
|
user_id: varchar("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1237
1376
|
added_by: varchar("added_by", { length: 36 }).references(() => users.user_id, {
|
|
@@ -1240,6 +1379,7 @@ var init_schema_postgres = __esm({
|
|
|
1240
1379
|
created_at: t.timestamp("created_at").notNull()
|
|
1241
1380
|
},
|
|
1242
1381
|
(table) => ({
|
|
1382
|
+
tenantIdx: index("group_memberships_tenant_id_idx").on(table.tenant_id),
|
|
1243
1383
|
pk: primaryKey({ columns: [table.group_id, table.user_id] }),
|
|
1244
1384
|
userIdx: index("group_memberships_user_idx").on(table.user_id)
|
|
1245
1385
|
})
|
|
@@ -1247,6 +1387,7 @@ var init_schema_postgres = __esm({
|
|
|
1247
1387
|
branchGroupGrants = pgTable(
|
|
1248
1388
|
"branch_group_grants",
|
|
1249
1389
|
{
|
|
1390
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1250
1391
|
branch_id: varchar("branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1251
1392
|
group_id: varchar("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
1252
1393
|
can: text("can", { enum: [...BRANCH_PERMISSION_LEVELS] }).notNull().default("view"),
|
|
@@ -1258,6 +1399,7 @@ var init_schema_postgres = __esm({
|
|
|
1258
1399
|
updated_at: t.timestamp("updated_at")
|
|
1259
1400
|
},
|
|
1260
1401
|
(table) => ({
|
|
1402
|
+
tenantIdx: index("branch_group_grants_tenant_id_idx").on(table.tenant_id),
|
|
1261
1403
|
pk: primaryKey({ columns: [table.branch_id, table.group_id] }),
|
|
1262
1404
|
groupIdx: index("branch_group_grants_group_idx").on(table.group_id)
|
|
1263
1405
|
})
|
|
@@ -1265,6 +1407,7 @@ var init_schema_postgres = __esm({
|
|
|
1265
1407
|
boardGroupGrants = pgTable(
|
|
1266
1408
|
"board_group_grants",
|
|
1267
1409
|
{
|
|
1410
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1268
1411
|
board_id: varchar("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
1269
1412
|
group_id: varchar("group_id", { length: 36 }).notNull().references(() => groups.group_id, { onDelete: "cascade" }),
|
|
1270
1413
|
can: text("can", { enum: [...BRANCH_PERMISSION_LEVELS] }).notNull().default("view"),
|
|
@@ -1276,6 +1419,7 @@ var init_schema_postgres = __esm({
|
|
|
1276
1419
|
updated_at: t.timestamp("updated_at")
|
|
1277
1420
|
},
|
|
1278
1421
|
(table) => ({
|
|
1422
|
+
tenantIdx: index("board_group_grants_tenant_id_idx").on(table.tenant_id),
|
|
1279
1423
|
pk: primaryKey({ columns: [table.board_id, table.group_id] }),
|
|
1280
1424
|
groupIdx: index("board_group_grants_group_idx").on(table.group_id)
|
|
1281
1425
|
})
|
|
@@ -1283,6 +1427,7 @@ var init_schema_postgres = __esm({
|
|
|
1283
1427
|
appVariables = pgTable(
|
|
1284
1428
|
"app_variables",
|
|
1285
1429
|
{
|
|
1430
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1286
1431
|
variable_id: varchar("variable_id", { length: 36 }).primaryKey(),
|
|
1287
1432
|
namespace: text("namespace").notNull(),
|
|
1288
1433
|
key: text("key").notNull(),
|
|
@@ -1298,13 +1443,19 @@ var init_schema_postgres = __esm({
|
|
|
1298
1443
|
updated_at: t.timestamp("updated_at").notNull()
|
|
1299
1444
|
},
|
|
1300
1445
|
(table) => ({
|
|
1301
|
-
|
|
1446
|
+
tenantIdx: index("app_variables_tenant_id_idx").on(table.tenant_id),
|
|
1447
|
+
namespaceKeyIdx: uniqueIndex("app_variables_tenant_namespace_key_unique").on(
|
|
1448
|
+
table.tenant_id,
|
|
1449
|
+
table.namespace,
|
|
1450
|
+
table.key
|
|
1451
|
+
),
|
|
1302
1452
|
namespaceIdx: index("app_variables_namespace_idx").on(table.namespace)
|
|
1303
1453
|
})
|
|
1304
1454
|
);
|
|
1305
1455
|
userApiKeys = pgTable(
|
|
1306
1456
|
"user_api_keys",
|
|
1307
1457
|
{
|
|
1458
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1308
1459
|
id: varchar("id", { length: 36 }).primaryKey(),
|
|
1309
1460
|
user_id: varchar("user_id", { length: 36 }).notNull().references(() => users.user_id, { onDelete: "cascade" }),
|
|
1310
1461
|
name: text("name").notNull(),
|
|
@@ -1316,6 +1467,7 @@ var init_schema_postgres = __esm({
|
|
|
1316
1467
|
last_used_at: t.timestamp("last_used_at")
|
|
1317
1468
|
},
|
|
1318
1469
|
(table) => ({
|
|
1470
|
+
tenantIdx: index("user_api_keys_tenant_id_idx").on(table.tenant_id),
|
|
1319
1471
|
userIdx: index("user_api_keys_user_idx").on(table.user_id),
|
|
1320
1472
|
prefixIdx: index("user_api_keys_prefix_idx").on(table.prefix)
|
|
1321
1473
|
})
|
|
@@ -1323,6 +1475,7 @@ var init_schema_postgres = __esm({
|
|
|
1323
1475
|
mcpServers = pgTable(
|
|
1324
1476
|
"mcp_servers",
|
|
1325
1477
|
{
|
|
1478
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1326
1479
|
// Primary identity
|
|
1327
1480
|
mcp_server_id: varchar("mcp_server_id", { length: 36 }).primaryKey(),
|
|
1328
1481
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1349,6 +1502,7 @@ var init_schema_postgres = __esm({
|
|
|
1349
1502
|
data: t.json("data").$type().notNull()
|
|
1350
1503
|
},
|
|
1351
1504
|
(table) => ({
|
|
1505
|
+
tenantIdx: index("mcp_servers_tenant_id_idx").on(table.tenant_id),
|
|
1352
1506
|
nameIdx: index("mcp_servers_name_idx").on(table.name),
|
|
1353
1507
|
scopeIdx: index("mcp_servers_scope_idx").on(table.scope),
|
|
1354
1508
|
ownerIdx: index("mcp_servers_owner_idx").on(table.owner_user_id),
|
|
@@ -1358,6 +1512,7 @@ var init_schema_postgres = __esm({
|
|
|
1358
1512
|
cardTypes = pgTable(
|
|
1359
1513
|
"card_types",
|
|
1360
1514
|
{
|
|
1515
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1361
1516
|
card_type_id: varchar("card_type_id", { length: 36 }).primaryKey(),
|
|
1362
1517
|
name: text("name").notNull(),
|
|
1363
1518
|
emoji: text("emoji"),
|
|
@@ -1369,12 +1524,14 @@ var init_schema_postgres = __esm({
|
|
|
1369
1524
|
updated_at: t.timestamp("updated_at").notNull()
|
|
1370
1525
|
},
|
|
1371
1526
|
(table) => ({
|
|
1527
|
+
tenantIdx: index("card_types_tenant_id_idx").on(table.tenant_id),
|
|
1372
1528
|
nameIdx: index("card_types_name_idx").on(table.name)
|
|
1373
1529
|
})
|
|
1374
1530
|
);
|
|
1375
1531
|
cards = pgTable(
|
|
1376
1532
|
"cards",
|
|
1377
1533
|
{
|
|
1534
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1378
1535
|
card_id: varchar("card_id", { length: 36 }).primaryKey(),
|
|
1379
1536
|
board_id: varchar("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
1380
1537
|
card_type_id: varchar("card_type_id", { length: 36 }).references(() => cardTypes.card_type_id, {
|
|
@@ -1395,6 +1552,7 @@ var init_schema_postgres = __esm({
|
|
|
1395
1552
|
archived_at: t.timestamp("archived_at")
|
|
1396
1553
|
},
|
|
1397
1554
|
(table) => ({
|
|
1555
|
+
tenantIdx: index("cards_tenant_id_idx").on(table.tenant_id),
|
|
1398
1556
|
boardIdx: index("cards_board_idx").on(table.board_id),
|
|
1399
1557
|
cardTypeIdx: index("cards_card_type_idx").on(table.card_type_id),
|
|
1400
1558
|
titleIdx: index("cards_title_idx").on(table.title),
|
|
@@ -1405,6 +1563,7 @@ var init_schema_postgres = __esm({
|
|
|
1405
1563
|
artifacts = pgTable(
|
|
1406
1564
|
"artifacts",
|
|
1407
1565
|
{
|
|
1566
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1408
1567
|
artifact_id: varchar("artifact_id", { length: 36 }).primaryKey(),
|
|
1409
1568
|
branch_id: varchar("branch_id", { length: 36 }).references(() => branches.branch_id, {
|
|
1410
1569
|
onDelete: "set null"
|
|
@@ -1440,6 +1599,7 @@ var init_schema_postgres = __esm({
|
|
|
1440
1599
|
archived_at: t.timestamp("archived_at")
|
|
1441
1600
|
},
|
|
1442
1601
|
(table) => ({
|
|
1602
|
+
tenantIdx: index("artifacts_tenant_id_idx").on(table.tenant_id),
|
|
1443
1603
|
branchIdx: index("artifacts_branch_idx").on(table.branch_id),
|
|
1444
1604
|
sourceSessionIdx: index("artifacts_source_session_idx").on(table.source_session_id),
|
|
1445
1605
|
boardIdx: index("artifacts_board_idx").on(table.board_id),
|
|
@@ -1450,6 +1610,7 @@ var init_schema_postgres = __esm({
|
|
|
1450
1610
|
artifactTrustGrants = pgTable(
|
|
1451
1611
|
"artifact_trust_grants",
|
|
1452
1612
|
{
|
|
1613
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1453
1614
|
grant_id: varchar("grant_id", { length: 36 }).primaryKey(),
|
|
1454
1615
|
user_id: varchar("user_id", { length: 36 }).notNull(),
|
|
1455
1616
|
scope_type: text("scope_type").notNull(),
|
|
@@ -1460,6 +1621,7 @@ var init_schema_postgres = __esm({
|
|
|
1460
1621
|
revoked_at: t.timestamp("revoked_at")
|
|
1461
1622
|
},
|
|
1462
1623
|
(table) => ({
|
|
1624
|
+
tenantIdx: index("artifact_trust_grants_tenant_id_idx").on(table.tenant_id),
|
|
1463
1625
|
userIdx: index("artifact_trust_grants_user_idx").on(table.user_id),
|
|
1464
1626
|
scopeIdx: index("artifact_trust_grants_scope_idx").on(table.scope_type, table.scope_value)
|
|
1465
1627
|
})
|
|
@@ -1467,6 +1629,7 @@ var init_schema_postgres = __esm({
|
|
|
1467
1629
|
boardObjects = pgTable(
|
|
1468
1630
|
"board_objects",
|
|
1469
1631
|
{
|
|
1632
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1470
1633
|
// Primary identity
|
|
1471
1634
|
object_id: varchar("object_id", { length: 36 }).primaryKey(),
|
|
1472
1635
|
board_id: varchar("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
|
|
@@ -1482,6 +1645,7 @@ var init_schema_postgres = __esm({
|
|
|
1482
1645
|
data: t.json("data").$type().notNull()
|
|
1483
1646
|
},
|
|
1484
1647
|
(table) => ({
|
|
1648
|
+
tenantIdx: index("board_objects_tenant_id_idx").on(table.tenant_id),
|
|
1485
1649
|
boardIdx: index("board_objects_board_idx").on(table.board_id),
|
|
1486
1650
|
branchIdx: index("board_objects_branch_idx").on(table.branch_id),
|
|
1487
1651
|
cardIdx: index("board_objects_card_idx").on(table.card_id)
|
|
@@ -1490,12 +1654,14 @@ var init_schema_postgres = __esm({
|
|
|
1490
1654
|
sessionMcpServers = pgTable(
|
|
1491
1655
|
"session_mcp_servers",
|
|
1492
1656
|
{
|
|
1657
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1493
1658
|
session_id: varchar("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
1494
1659
|
mcp_server_id: varchar("mcp_server_id", { length: 36 }).notNull().references(() => mcpServers.mcp_server_id, { onDelete: "cascade" }),
|
|
1495
1660
|
enabled: t.bool("enabled").notNull().default(true),
|
|
1496
1661
|
added_at: t.timestamp("added_at").notNull()
|
|
1497
1662
|
},
|
|
1498
1663
|
(table) => ({
|
|
1664
|
+
tenantIdx: index("session_mcp_servers_tenant_id_idx").on(table.tenant_id),
|
|
1499
1665
|
// Composite primary key
|
|
1500
1666
|
pk: index("session_mcp_servers_pk").on(table.session_id, table.mcp_server_id),
|
|
1501
1667
|
// Indexes for queries
|
|
@@ -1507,6 +1673,7 @@ var init_schema_postgres = __esm({
|
|
|
1507
1673
|
userMcpOauthTokens = pgTable(
|
|
1508
1674
|
"user_mcp_oauth_tokens",
|
|
1509
1675
|
{
|
|
1676
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1510
1677
|
// NULL = shared-mode token (one per mcp_server_id)
|
|
1511
1678
|
user_id: varchar("user_id", { length: 36 }).references(() => users.user_id, {
|
|
1512
1679
|
onDelete: "cascade"
|
|
@@ -1524,6 +1691,7 @@ var init_schema_postgres = __esm({
|
|
|
1524
1691
|
updated_at: t.timestamp("updated_at")
|
|
1525
1692
|
},
|
|
1526
1693
|
(table) => ({
|
|
1694
|
+
tenantIdx: index("user_mcp_oauth_tokens_tenant_id_idx").on(table.tenant_id),
|
|
1527
1695
|
// Composite lookup indexes. Uniqueness enforced via partial unique indexes
|
|
1528
1696
|
// created in the migration (one for per-user rows, one for the shared row).
|
|
1529
1697
|
pk: index("user_mcp_oauth_tokens_pk").on(table.user_id, table.mcp_server_id),
|
|
@@ -1534,6 +1702,7 @@ var init_schema_postgres = __esm({
|
|
|
1534
1702
|
boardComments = pgTable(
|
|
1535
1703
|
"board_comments",
|
|
1536
1704
|
{
|
|
1705
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1537
1706
|
// Primary identity
|
|
1538
1707
|
comment_id: varchar("comment_id", { length: 36 }).primaryKey(),
|
|
1539
1708
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1575,6 +1744,7 @@ var init_schema_postgres = __esm({
|
|
|
1575
1744
|
data: t.json("data").$type().notNull()
|
|
1576
1745
|
},
|
|
1577
1746
|
(table) => ({
|
|
1747
|
+
tenantIdx: index("board_comments_tenant_id_idx").on(table.tenant_id),
|
|
1578
1748
|
boardIdx: index("board_comments_board_idx").on(table.board_id),
|
|
1579
1749
|
sessionIdx: index("board_comments_session_idx").on(table.session_id),
|
|
1580
1750
|
taskIdx: index("board_comments_task_idx").on(table.task_id),
|
|
@@ -1589,6 +1759,7 @@ var init_schema_postgres = __esm({
|
|
|
1589
1759
|
gatewayChannels = pgTable(
|
|
1590
1760
|
"gateway_channels",
|
|
1591
1761
|
{
|
|
1762
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1592
1763
|
// Primary identity
|
|
1593
1764
|
id: varchar("id", { length: 36 }).primaryKey(),
|
|
1594
1765
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1602,7 +1773,7 @@ var init_schema_postgres = __esm({
|
|
|
1602
1773
|
}).notNull(),
|
|
1603
1774
|
target_branch_id: varchar("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
|
|
1604
1775
|
agor_user_id: varchar("agor_user_id", { length: 36 }).notNull(),
|
|
1605
|
-
channel_key: text("channel_key").notNull()
|
|
1776
|
+
channel_key: text("channel_key").notNull(),
|
|
1606
1777
|
enabled: t.bool("enabled").notNull().default(true),
|
|
1607
1778
|
last_message_at: t.timestamp("last_message_at"),
|
|
1608
1779
|
// JSON blob for platform credentials (encrypted at rest)
|
|
@@ -1611,13 +1782,19 @@ var init_schema_postgres = __esm({
|
|
|
1611
1782
|
agentic_config: t.json("agentic_config")
|
|
1612
1783
|
},
|
|
1613
1784
|
(table) => ({
|
|
1785
|
+
tenantIdx: index("gateway_channels_tenant_id_idx").on(table.tenant_id),
|
|
1614
1786
|
channelKeyIdx: index("idx_gateway_channel_key").on(table.channel_key),
|
|
1787
|
+
channelKeyTenantUnique: uniqueIndex("gateway_channels_tenant_channel_key_unique").on(
|
|
1788
|
+
table.tenant_id,
|
|
1789
|
+
table.channel_key
|
|
1790
|
+
),
|
|
1615
1791
|
enabledTypeIdx: index("idx_gateway_enabled_type").on(table.enabled, table.channel_type)
|
|
1616
1792
|
})
|
|
1617
1793
|
);
|
|
1618
1794
|
threadSessionMap = pgTable(
|
|
1619
1795
|
"thread_session_map",
|
|
1620
1796
|
{
|
|
1797
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1621
1798
|
// Primary identity
|
|
1622
1799
|
id: varchar("id", { length: 36 }).primaryKey(),
|
|
1623
1800
|
created_at: t.timestamp("created_at").notNull(),
|
|
@@ -1635,7 +1812,9 @@ var init_schema_postgres = __esm({
|
|
|
1635
1812
|
metadata: t.json("metadata")
|
|
1636
1813
|
},
|
|
1637
1814
|
(table) => ({
|
|
1638
|
-
|
|
1815
|
+
tenantIdx: index("thread_session_map_tenant_id_idx").on(table.tenant_id),
|
|
1816
|
+
uniqueChannelThread: uniqueIndex("uniq_thread_map_tenant_channel_thread").on(
|
|
1817
|
+
table.tenant_id,
|
|
1639
1818
|
table.channel_id,
|
|
1640
1819
|
table.thread_id
|
|
1641
1820
|
),
|
|
@@ -1644,14 +1823,82 @@ var init_schema_postgres = __esm({
|
|
|
1644
1823
|
channelStatusIdx: index("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
1645
1824
|
})
|
|
1646
1825
|
);
|
|
1826
|
+
gatewayOutboundMessages = pgTable(
|
|
1827
|
+
"gateway_outbound_messages",
|
|
1828
|
+
{
|
|
1829
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1830
|
+
id: varchar("id", { length: 36 }).primaryKey(),
|
|
1831
|
+
created_at: t.timestamp("created_at").notNull(),
|
|
1832
|
+
updated_at: t.timestamp("updated_at").notNull(),
|
|
1833
|
+
gateway_channel_id: varchar("gateway_channel_id", { length: 36 }).notNull().references(() => gatewayChannels.id, { onDelete: "cascade" }),
|
|
1834
|
+
channel_type: text("channel_type", {
|
|
1835
|
+
enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
|
|
1836
|
+
}).notNull(),
|
|
1837
|
+
platform_channel_id: text("platform_channel_id").notNull(),
|
|
1838
|
+
platform_message_id: text("platform_message_id").notNull(),
|
|
1839
|
+
platform_thread_id: text("platform_thread_id").notNull(),
|
|
1840
|
+
platform_permalink: text("platform_permalink"),
|
|
1841
|
+
target_branch_id: varchar("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id),
|
|
1842
|
+
emitted_by_user_id: varchar("emitted_by_user_id", { length: 36 }).notNull().references(() => users.user_id),
|
|
1843
|
+
emitted_by_session_id: varchar("emitted_by_session_id", { length: 36 }).references(
|
|
1844
|
+
() => sessions.session_id,
|
|
1845
|
+
{
|
|
1846
|
+
onDelete: "set null"
|
|
1847
|
+
}
|
|
1848
|
+
),
|
|
1849
|
+
emitted_by_task_id: varchar("emitted_by_task_id", { length: 36 }).references(
|
|
1850
|
+
() => tasks.task_id,
|
|
1851
|
+
{
|
|
1852
|
+
onDelete: "set null"
|
|
1853
|
+
}
|
|
1854
|
+
),
|
|
1855
|
+
emitted_by_schedule_id: varchar("emitted_by_schedule_id", { length: 36 }).references(
|
|
1856
|
+
() => schedules.schedule_id,
|
|
1857
|
+
{
|
|
1858
|
+
onDelete: "set null"
|
|
1859
|
+
}
|
|
1860
|
+
),
|
|
1861
|
+
message_text: text("message_text").notNull(),
|
|
1862
|
+
message_preview: text("message_preview").notNull(),
|
|
1863
|
+
metadata: t.json("metadata"),
|
|
1864
|
+
consumed_by_session_id: varchar("consumed_by_session_id", { length: 36 }).references(
|
|
1865
|
+
() => sessions.session_id,
|
|
1866
|
+
{
|
|
1867
|
+
onDelete: "set null"
|
|
1868
|
+
}
|
|
1869
|
+
),
|
|
1870
|
+
consumed_at: t.timestamp("consumed_at")
|
|
1871
|
+
},
|
|
1872
|
+
(table) => ({
|
|
1873
|
+
tenantIdx: index("gateway_outbound_messages_tenant_id_idx").on(table.tenant_id),
|
|
1874
|
+
uniqueChannelThread: uniqueIndex("uniq_gateway_outbound_tenant_channel_thread").on(
|
|
1875
|
+
table.tenant_id,
|
|
1876
|
+
table.gateway_channel_id,
|
|
1877
|
+
table.platform_thread_id
|
|
1878
|
+
),
|
|
1879
|
+
emittedSessionIdx: index("idx_gateway_outbound_emitted_session").on(
|
|
1880
|
+
table.emitted_by_session_id
|
|
1881
|
+
),
|
|
1882
|
+
emittedScheduleIdx: index("idx_gateway_outbound_emitted_schedule").on(
|
|
1883
|
+
table.emitted_by_schedule_id
|
|
1884
|
+
),
|
|
1885
|
+
targetBranchCreatedIdx: index("idx_gateway_outbound_branch_created").on(
|
|
1886
|
+
table.target_branch_id,
|
|
1887
|
+
table.created_at
|
|
1888
|
+
),
|
|
1889
|
+
consumedIdx: index("idx_gateway_outbound_consumed").on(table.consumed_at)
|
|
1890
|
+
})
|
|
1891
|
+
);
|
|
1647
1892
|
sessionEnvSelections = pgTable(
|
|
1648
1893
|
"session_env_selections",
|
|
1649
1894
|
{
|
|
1895
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1650
1896
|
session_id: varchar("session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
|
|
1651
1897
|
env_var_name: text("env_var_name").notNull(),
|
|
1652
1898
|
created_at: t.timestamp("created_at").notNull()
|
|
1653
1899
|
},
|
|
1654
1900
|
(table) => ({
|
|
1901
|
+
tenantIdx: index("session_env_selections_tenant_id_idx").on(table.tenant_id),
|
|
1655
1902
|
pk: primaryKey({ columns: [table.session_id, table.env_var_name] }),
|
|
1656
1903
|
sessionIdx: index("session_env_selections_session_idx").on(table.session_id)
|
|
1657
1904
|
})
|
|
@@ -1659,6 +1906,7 @@ var init_schema_postgres = __esm({
|
|
|
1659
1906
|
kbNamespaces = pgTable(
|
|
1660
1907
|
"kb_namespaces",
|
|
1661
1908
|
{
|
|
1909
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1662
1910
|
namespace_id: varchar("namespace_id", { length: 36 }).primaryKey(),
|
|
1663
1911
|
slug: text("slug").notNull(),
|
|
1664
1912
|
display_name: text("display_name").notNull(),
|
|
@@ -1685,7 +1933,8 @@ var init_schema_postgres = __esm({
|
|
|
1685
1933
|
archived_at: t.timestamp("archived_at")
|
|
1686
1934
|
},
|
|
1687
1935
|
(table) => ({
|
|
1688
|
-
|
|
1936
|
+
tenantIdx: index("kb_namespaces_tenant_id_idx").on(table.tenant_id),
|
|
1937
|
+
slugIdx: uniqueIndex("kb_namespaces_tenant_slug_unique").on(table.tenant_id, table.slug).where(sql`${table.archived} = false`),
|
|
1689
1938
|
kindIdx: index("kb_namespaces_kind_idx").on(table.kind),
|
|
1690
1939
|
ownerIdx: index("kb_namespaces_owner_idx").on(table.owner_user_id),
|
|
1691
1940
|
repoIdx: index("kb_namespaces_repo_idx").on(table.repo_id),
|
|
@@ -1696,6 +1945,7 @@ var init_schema_postgres = __esm({
|
|
|
1696
1945
|
kbNamespaceAcl = pgTable(
|
|
1697
1946
|
"kb_namespace_acl",
|
|
1698
1947
|
{
|
|
1948
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1699
1949
|
namespace_acl_id: varchar("namespace_acl_id", { length: 36 }).primaryKey(),
|
|
1700
1950
|
namespace_id: varchar("namespace_id", { length: 36 }).notNull().references(() => kbNamespaces.namespace_id, { onDelete: "cascade" }),
|
|
1701
1951
|
subject_type: text("subject_type", { enum: ["user", "group"] }).notNull(),
|
|
@@ -1708,9 +1958,11 @@ var init_schema_postgres = __esm({
|
|
|
1708
1958
|
updated_at: t.timestamp("updated_at")
|
|
1709
1959
|
},
|
|
1710
1960
|
(table) => ({
|
|
1961
|
+
tenantIdx: index("kb_namespace_acl_tenant_id_idx").on(table.tenant_id),
|
|
1711
1962
|
namespaceIdx: index("kb_namespace_acl_namespace_idx").on(table.namespace_id),
|
|
1712
1963
|
subjectIdx: index("kb_namespace_acl_subject_idx").on(table.subject_type, table.subject_id),
|
|
1713
|
-
namespaceSubjectIdx: uniqueIndex("
|
|
1964
|
+
namespaceSubjectIdx: uniqueIndex("kb_namespace_acl_tenant_namespace_subject_unique").on(
|
|
1965
|
+
table.tenant_id,
|
|
1714
1966
|
table.namespace_id,
|
|
1715
1967
|
table.subject_type,
|
|
1716
1968
|
table.subject_id
|
|
@@ -1720,6 +1972,7 @@ var init_schema_postgres = __esm({
|
|
|
1720
1972
|
kbDocuments = pgTable(
|
|
1721
1973
|
"kb_documents",
|
|
1722
1974
|
{
|
|
1975
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1723
1976
|
document_id: varchar("document_id", { length: 36 }).primaryKey(),
|
|
1724
1977
|
namespace_id: varchar("namespace_id", { length: 36 }).notNull().references(() => kbNamespaces.namespace_id, { onDelete: "cascade" }),
|
|
1725
1978
|
path: text("path").notNull(),
|
|
@@ -1747,8 +2000,9 @@ var init_schema_postgres = __esm({
|
|
|
1747
2000
|
archived_at: t.timestamp("archived_at")
|
|
1748
2001
|
},
|
|
1749
2002
|
(table) => ({
|
|
1750
|
-
|
|
1751
|
-
|
|
2003
|
+
tenantIdx: index("kb_documents_tenant_id_idx").on(table.tenant_id),
|
|
2004
|
+
namespacePathIdx: uniqueIndex("kb_documents_tenant_namespace_path_unique").on(table.tenant_id, table.namespace_id, table.path).where(sql`${table.archived} = false`),
|
|
2005
|
+
uriIdx: uniqueIndex("kb_documents_tenant_uri_unique").on(table.tenant_id, table.uri).where(sql`${table.archived} = false`),
|
|
1752
2006
|
namespaceIdx: index("kb_documents_namespace_idx").on(table.namespace_id),
|
|
1753
2007
|
kindIdx: index("kb_documents_kind_idx").on(table.kind),
|
|
1754
2008
|
visibilityIdx: index("kb_documents_visibility_idx").on(table.visibility),
|
|
@@ -1761,6 +2015,7 @@ var init_schema_postgres = __esm({
|
|
|
1761
2015
|
kbDocumentVersions = pgTable(
|
|
1762
2016
|
"kb_document_versions",
|
|
1763
2017
|
{
|
|
2018
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1764
2019
|
version_id: varchar("version_id", { length: 36 }).primaryKey(),
|
|
1765
2020
|
document_id: varchar("document_id", { length: 36 }).notNull().references(() => kbDocuments.document_id, { onDelete: "cascade" }),
|
|
1766
2021
|
version_number: integer("version_number").notNull(),
|
|
@@ -1780,7 +2035,9 @@ var init_schema_postgres = __esm({
|
|
|
1780
2035
|
created_at: t.timestamp("created_at").notNull()
|
|
1781
2036
|
},
|
|
1782
2037
|
(table) => ({
|
|
1783
|
-
|
|
2038
|
+
tenantIdx: index("kb_document_versions_tenant_id_idx").on(table.tenant_id),
|
|
2039
|
+
documentVersionIdx: uniqueIndex("kb_document_versions_tenant_document_version_unique").on(
|
|
2040
|
+
table.tenant_id,
|
|
1784
2041
|
table.document_id,
|
|
1785
2042
|
table.version_number
|
|
1786
2043
|
),
|
|
@@ -1792,6 +2049,7 @@ var init_schema_postgres = __esm({
|
|
|
1792
2049
|
kbDocumentUnits = pgTable(
|
|
1793
2050
|
"kb_document_units",
|
|
1794
2051
|
{
|
|
2052
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1795
2053
|
unit_id: varchar("unit_id", { length: 36 }).primaryKey(),
|
|
1796
2054
|
document_id: varchar("document_id", { length: 36 }).notNull().references(() => kbDocuments.document_id, { onDelete: "cascade" }),
|
|
1797
2055
|
version_id: varchar("version_id", { length: 36 }).notNull().references(() => kbDocumentVersions.version_id, { onDelete: "cascade" }),
|
|
@@ -1816,6 +2074,7 @@ var init_schema_postgres = __esm({
|
|
|
1816
2074
|
updated_at: t.timestamp("updated_at")
|
|
1817
2075
|
},
|
|
1818
2076
|
(table) => ({
|
|
2077
|
+
tenantIdx: index("kb_document_units_tenant_id_idx").on(table.tenant_id),
|
|
1819
2078
|
documentIdx: index("kb_document_units_document_idx").on(table.document_id),
|
|
1820
2079
|
versionIdx: index("kb_document_units_version_idx").on(table.version_id),
|
|
1821
2080
|
versionOrdinalIdx: index("kb_document_units_version_ordinal_idx").on(
|
|
@@ -1829,6 +2088,7 @@ var init_schema_postgres = __esm({
|
|
|
1829
2088
|
kbEmbeddingSpaces = pgTable(
|
|
1830
2089
|
"kb_embedding_spaces",
|
|
1831
2090
|
{
|
|
2091
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1832
2092
|
embedding_space_id: varchar("embedding_space_id", { length: 36 }).primaryKey(),
|
|
1833
2093
|
provider: text("provider").notNull(),
|
|
1834
2094
|
model: text("model").notNull(),
|
|
@@ -1841,7 +2101,9 @@ var init_schema_postgres = __esm({
|
|
|
1841
2101
|
updated_at: t.timestamp("updated_at")
|
|
1842
2102
|
},
|
|
1843
2103
|
(table) => ({
|
|
1844
|
-
|
|
2104
|
+
tenantIdx: index("kb_embedding_spaces_tenant_id_idx").on(table.tenant_id),
|
|
2105
|
+
providerModelIdx: uniqueIndex("kb_embedding_spaces_tenant_provider_model_unique").on(
|
|
2106
|
+
table.tenant_id,
|
|
1845
2107
|
table.provider,
|
|
1846
2108
|
table.model,
|
|
1847
2109
|
table.dimensions,
|
|
@@ -1854,6 +2116,7 @@ var init_schema_postgres = __esm({
|
|
|
1854
2116
|
kbGraphNodes = pgTable(
|
|
1855
2117
|
"kb_graph_nodes",
|
|
1856
2118
|
{
|
|
2119
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1857
2120
|
node_id: varchar("node_id", { length: 36 }).primaryKey(),
|
|
1858
2121
|
node_type: text("node_type", {
|
|
1859
2122
|
enum: [
|
|
@@ -1919,7 +2182,8 @@ var init_schema_postgres = __esm({
|
|
|
1919
2182
|
archived_at: t.timestamp("archived_at")
|
|
1920
2183
|
},
|
|
1921
2184
|
(table) => ({
|
|
1922
|
-
|
|
2185
|
+
tenantIdx: index("kb_graph_nodes_tenant_id_idx").on(table.tenant_id),
|
|
2186
|
+
uriIdx: uniqueIndex("kb_graph_nodes_tenant_uri_unique").on(table.tenant_id, table.uri).where(sql`${table.archived} = false`),
|
|
1923
2187
|
typeIdx: index("kb_graph_nodes_type_idx").on(table.node_type),
|
|
1924
2188
|
namespaceIdx: index("kb_graph_nodes_namespace_idx").on(table.namespace_id),
|
|
1925
2189
|
documentIdx: index("kb_graph_nodes_document_idx").on(table.document_id),
|
|
@@ -1939,6 +2203,7 @@ var init_schema_postgres = __esm({
|
|
|
1939
2203
|
kbGraphEdges = pgTable(
|
|
1940
2204
|
"kb_graph_edges",
|
|
1941
2205
|
{
|
|
2206
|
+
tenant_id: text("tenant_id").notNull().default("default"),
|
|
1942
2207
|
edge_id: varchar("edge_id", { length: 36 }).primaryKey(),
|
|
1943
2208
|
source_node_id: varchar("source_node_id", { length: 36 }).notNull().references(() => kbGraphNodes.node_id, { onDelete: "cascade" }),
|
|
1944
2209
|
target_node_id: varchar("target_node_id", { length: 36 }).notNull().references(() => kbGraphNodes.node_id, { onDelete: "cascade" }),
|
|
@@ -1967,6 +2232,7 @@ var init_schema_postgres = __esm({
|
|
|
1967
2232
|
archived_at: t.timestamp("archived_at")
|
|
1968
2233
|
},
|
|
1969
2234
|
(table) => ({
|
|
2235
|
+
tenantIdx: index("kb_graph_edges_tenant_id_idx").on(table.tenant_id),
|
|
1970
2236
|
sourceIdx: index("kb_graph_edges_source_idx").on(table.source_node_id),
|
|
1971
2237
|
targetIdx: index("kb_graph_edges_target_idx").on(table.target_node_id),
|
|
1972
2238
|
typeIdx: index("kb_graph_edges_type_idx").on(table.edge_type),
|
|
@@ -1978,7 +2244,7 @@ var init_schema_postgres = __esm({
|
|
|
1978
2244
|
table.target_node_id,
|
|
1979
2245
|
table.edge_type
|
|
1980
2246
|
),
|
|
1981
|
-
sourceTargetTypeIdx: uniqueIndex("
|
|
2247
|
+
sourceTargetTypeIdx: 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(sql`${table.archived} = false`),
|
|
1982
2248
|
archivedIdx: index("kb_graph_edges_archived_idx").on(table.archived)
|
|
1983
2249
|
})
|
|
1984
2250
|
);
|
|
@@ -2042,6 +2308,7 @@ __export(schema_sqlite_exports, {
|
|
|
2042
2308
|
cardTypes: () => cardTypes2,
|
|
2043
2309
|
cards: () => cards2,
|
|
2044
2310
|
gatewayChannels: () => gatewayChannels2,
|
|
2311
|
+
gatewayOutboundMessages: () => gatewayOutboundMessages2,
|
|
2045
2312
|
groupMemberships: () => groupMemberships2,
|
|
2046
2313
|
groups: () => groups2,
|
|
2047
2314
|
kbDocumentUnits: () => kbDocumentUnits2,
|
|
@@ -2080,7 +2347,7 @@ import {
|
|
|
2080
2347
|
text as text2,
|
|
2081
2348
|
uniqueIndex as uniqueIndex2
|
|
2082
2349
|
} from "drizzle-orm/sqlite-core";
|
|
2083
|
-
var 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;
|
|
2350
|
+
var 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;
|
|
2084
2351
|
var init_schema_sqlite = __esm({
|
|
2085
2352
|
"src/db/schema.sqlite.ts"() {
|
|
2086
2353
|
"use strict";
|
|
@@ -2154,6 +2421,7 @@ var init_schema_sqlite = __esm({
|
|
|
2154
2421
|
},
|
|
2155
2422
|
(table) => ({
|
|
2156
2423
|
statusIdx: index2("sessions_status_idx").on(table.status),
|
|
2424
|
+
statusReadyIdx: index2("sessions_status_ready_idx").on(table.status, table.ready_for_prompt),
|
|
2157
2425
|
agenticToolIdx: index2("sessions_agentic_tool_idx").on(table.agentic_tool),
|
|
2158
2426
|
boardIdx: index2("sessions_board_idx").on(table.board_id),
|
|
2159
2427
|
branchIdx: index2("sessions_branch_idx").on(table.branch_id),
|
|
@@ -2193,6 +2461,9 @@ var init_schema_sqlite = __esm({
|
|
|
2193
2461
|
sourceIdx: index2("session_relationships_source_idx").on(table.source_session_id),
|
|
2194
2462
|
targetIdx: index2("session_relationships_target_idx").on(table.target_session_id),
|
|
2195
2463
|
callbackIdx: index2("session_relationships_callback_idx").on(table.callback_session_id),
|
|
2464
|
+
// Note: no tenant_source/tenant_target composite indexes here — SQLite schema
|
|
2465
|
+
// has no tenant column on this table (RLS is Postgres-only). The standalone
|
|
2466
|
+
// source/target indexes above are sufficient for SQLite.
|
|
2196
2467
|
sourceTargetTypeUnique: uniqueIndex2("session_relationships_source_target_type_unique").on(
|
|
2197
2468
|
table.source_session_id,
|
|
2198
2469
|
table.target_session_id,
|
|
@@ -2312,7 +2583,12 @@ var init_schema_sqlite = __esm({
|
|
|
2312
2583
|
// Indexes for efficient lookups
|
|
2313
2584
|
sessionIdx: index2("messages_session_id_idx").on(table.session_id),
|
|
2314
2585
|
taskIdx: index2("messages_task_id_idx").on(table.task_id),
|
|
2315
|
-
sessionIndexIdx: index2("messages_session_index_idx").on(table.session_id, table.index)
|
|
2586
|
+
sessionIndexIdx: index2("messages_session_index_idx").on(table.session_id, table.index),
|
|
2587
|
+
timestampIdx: index2("messages_timestamp_idx").on(table.timestamp),
|
|
2588
|
+
sessionTimestampIdx: index2("messages_session_timestamp_idx").on(
|
|
2589
|
+
table.session_id,
|
|
2590
|
+
table.timestamp
|
|
2591
|
+
)
|
|
2316
2592
|
})
|
|
2317
2593
|
);
|
|
2318
2594
|
boards2 = sqliteTable(
|
|
@@ -2538,6 +2814,9 @@ var init_schema_sqlite = __esm({
|
|
|
2538
2814
|
onboarding_completed: t2.bool("onboarding_completed").notNull().default(false),
|
|
2539
2815
|
// Force password change flag (admin-settable, auto-cleared on password change)
|
|
2540
2816
|
must_change_password: t2.bool("must_change_password").notNull().default(false),
|
|
2817
|
+
// Auth invalidation marker. Password changes set this timestamp so any
|
|
2818
|
+
// previously issued browser access or refresh token is rejected.
|
|
2819
|
+
tokens_valid_after: t2.timestamp("tokens_valid_after"),
|
|
2541
2820
|
// JSON blob for profile/preferences
|
|
2542
2821
|
data: t2.json("data").$type().notNull()
|
|
2543
2822
|
},
|
|
@@ -2981,6 +3260,66 @@ var init_schema_sqlite = __esm({
|
|
|
2981
3260
|
channelStatusIdx: index2("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
2982
3261
|
})
|
|
2983
3262
|
);
|
|
3263
|
+
gatewayOutboundMessages2 = sqliteTable(
|
|
3264
|
+
"gateway_outbound_messages",
|
|
3265
|
+
{
|
|
3266
|
+
id: text2("id", { length: 36 }).primaryKey(),
|
|
3267
|
+
created_at: t2.timestamp("created_at").notNull(),
|
|
3268
|
+
updated_at: t2.timestamp("updated_at").notNull(),
|
|
3269
|
+
gateway_channel_id: text2("gateway_channel_id", { length: 36 }).notNull().references(() => gatewayChannels2.id, { onDelete: "cascade" }),
|
|
3270
|
+
channel_type: text2("channel_type", {
|
|
3271
|
+
enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
|
|
3272
|
+
}).notNull(),
|
|
3273
|
+
platform_channel_id: text2("platform_channel_id").notNull(),
|
|
3274
|
+
platform_message_id: text2("platform_message_id").notNull(),
|
|
3275
|
+
platform_thread_id: text2("platform_thread_id").notNull(),
|
|
3276
|
+
platform_permalink: text2("platform_permalink"),
|
|
3277
|
+
target_branch_id: text2("target_branch_id", { length: 36 }).notNull().references(() => branches2.branch_id),
|
|
3278
|
+
emitted_by_user_id: text2("emitted_by_user_id", { length: 36 }).notNull().references(() => users2.user_id),
|
|
3279
|
+
emitted_by_session_id: text2("emitted_by_session_id", { length: 36 }).references(
|
|
3280
|
+
() => sessions2.session_id,
|
|
3281
|
+
{
|
|
3282
|
+
onDelete: "set null"
|
|
3283
|
+
}
|
|
3284
|
+
),
|
|
3285
|
+
emitted_by_task_id: text2("emitted_by_task_id", { length: 36 }).references(() => tasks2.task_id, {
|
|
3286
|
+
onDelete: "set null"
|
|
3287
|
+
}),
|
|
3288
|
+
emitted_by_schedule_id: text2("emitted_by_schedule_id", { length: 36 }).references(
|
|
3289
|
+
() => schedules2.schedule_id,
|
|
3290
|
+
{
|
|
3291
|
+
onDelete: "set null"
|
|
3292
|
+
}
|
|
3293
|
+
),
|
|
3294
|
+
message_text: text2("message_text").notNull(),
|
|
3295
|
+
message_preview: text2("message_preview").notNull(),
|
|
3296
|
+
metadata: t2.json("metadata"),
|
|
3297
|
+
consumed_by_session_id: text2("consumed_by_session_id", { length: 36 }).references(
|
|
3298
|
+
() => sessions2.session_id,
|
|
3299
|
+
{
|
|
3300
|
+
onDelete: "set null"
|
|
3301
|
+
}
|
|
3302
|
+
),
|
|
3303
|
+
consumed_at: t2.timestamp("consumed_at")
|
|
3304
|
+
},
|
|
3305
|
+
(table) => ({
|
|
3306
|
+
uniqueChannelThread: uniqueIndex2("uniq_gateway_outbound_channel_thread").on(
|
|
3307
|
+
table.gateway_channel_id,
|
|
3308
|
+
table.platform_thread_id
|
|
3309
|
+
),
|
|
3310
|
+
emittedSessionIdx: index2("idx_gateway_outbound_emitted_session").on(
|
|
3311
|
+
table.emitted_by_session_id
|
|
3312
|
+
),
|
|
3313
|
+
emittedScheduleIdx: index2("idx_gateway_outbound_emitted_schedule").on(
|
|
3314
|
+
table.emitted_by_schedule_id
|
|
3315
|
+
),
|
|
3316
|
+
targetBranchCreatedIdx: index2("idx_gateway_outbound_branch_created").on(
|
|
3317
|
+
table.target_branch_id,
|
|
3318
|
+
table.created_at
|
|
3319
|
+
),
|
|
3320
|
+
consumedIdx: index2("idx_gateway_outbound_consumed").on(table.consumed_at)
|
|
3321
|
+
})
|
|
3322
|
+
);
|
|
2984
3323
|
sessionEnvSelections2 = sqliteTable(
|
|
2985
3324
|
"session_env_selections",
|
|
2986
3325
|
{
|
|
@@ -3405,17 +3744,29 @@ var init_schema_factory = __esm({
|
|
|
3405
3744
|
}
|
|
3406
3745
|
});
|
|
3407
3746
|
|
|
3747
|
+
// src/db/tenant-context.ts
|
|
3748
|
+
import { AsyncLocalStorage } from "async_hooks";
|
|
3749
|
+
var tenantDatabaseScope;
|
|
3750
|
+
var init_tenant_context = __esm({
|
|
3751
|
+
"src/db/tenant-context.ts"() {
|
|
3752
|
+
"use strict";
|
|
3753
|
+
init_esm_shims();
|
|
3754
|
+
tenantDatabaseScope = new AsyncLocalStorage();
|
|
3755
|
+
}
|
|
3756
|
+
});
|
|
3757
|
+
|
|
3408
3758
|
// src/db/database-wrapper.ts
|
|
3409
3759
|
import { sql as sql3 } from "drizzle-orm";
|
|
3410
3760
|
var init_database_wrapper = __esm({
|
|
3411
3761
|
"src/db/database-wrapper.ts"() {
|
|
3412
3762
|
"use strict";
|
|
3413
3763
|
init_esm_shims();
|
|
3764
|
+
init_tenant_context();
|
|
3414
3765
|
}
|
|
3415
3766
|
});
|
|
3416
3767
|
|
|
3417
3768
|
// src/db/schema.ts
|
|
3418
|
-
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;
|
|
3769
|
+
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;
|
|
3419
3770
|
var init_schema = __esm({
|
|
3420
3771
|
"src/db/schema.ts"() {
|
|
3421
3772
|
"use strict";
|
|
@@ -3453,6 +3804,7 @@ var init_schema = __esm({
|
|
|
3453
3804
|
boardComments3 = schema.boardComments;
|
|
3454
3805
|
gatewayChannels3 = schema.gatewayChannels;
|
|
3455
3806
|
threadSessionMap3 = schema.threadSessionMap;
|
|
3807
|
+
gatewayOutboundMessages3 = schema.gatewayOutboundMessages;
|
|
3456
3808
|
userApiKeys3 = schema.userApiKeys;
|
|
3457
3809
|
serializedSessions3 = schema.serializedSessions;
|
|
3458
3810
|
kbNamespaces3 = schema.kbNamespaces;
|
|
@@ -3466,9 +3818,21 @@ var init_schema = __esm({
|
|
|
3466
3818
|
}
|
|
3467
3819
|
});
|
|
3468
3820
|
|
|
3821
|
+
// src/db/tenant-scope.ts
|
|
3822
|
+
import { sql as sql4 } from "drizzle-orm";
|
|
3823
|
+
var init_tenant_scope = __esm({
|
|
3824
|
+
"src/db/tenant-scope.ts"() {
|
|
3825
|
+
"use strict";
|
|
3826
|
+
init_esm_shims();
|
|
3827
|
+
init_tenant_context();
|
|
3828
|
+
init_tenant_context();
|
|
3829
|
+
init_database_wrapper();
|
|
3830
|
+
}
|
|
3831
|
+
});
|
|
3832
|
+
|
|
3469
3833
|
// src/db/user-utils.ts
|
|
3470
3834
|
import bcrypt from "bcryptjs";
|
|
3471
|
-
import { eq } from "drizzle-orm";
|
|
3835
|
+
import { and, eq } from "drizzle-orm";
|
|
3472
3836
|
var init_user_utils = __esm({
|
|
3473
3837
|
"src/db/user-utils.ts"() {
|
|
3474
3838
|
"use strict";
|
|
@@ -3477,18 +3841,20 @@ var init_user_utils = __esm({
|
|
|
3477
3841
|
init_user();
|
|
3478
3842
|
init_database_wrapper();
|
|
3479
3843
|
init_schema();
|
|
3844
|
+
init_tenant_scope();
|
|
3480
3845
|
}
|
|
3481
3846
|
});
|
|
3482
3847
|
|
|
3483
3848
|
// src/db/first-run-bootstrap.ts
|
|
3484
3849
|
import { randomInt } from "crypto";
|
|
3485
|
-
import { eq as eq2, inArray } from "drizzle-orm";
|
|
3850
|
+
import { and as and2, eq as eq2, inArray } from "drizzle-orm";
|
|
3486
3851
|
var init_first_run_bootstrap = __esm({
|
|
3487
3852
|
"src/db/first-run-bootstrap.ts"() {
|
|
3488
3853
|
"use strict";
|
|
3489
3854
|
init_esm_shims();
|
|
3490
3855
|
init_database_wrapper();
|
|
3491
3856
|
init_schema();
|
|
3857
|
+
init_tenant_scope();
|
|
3492
3858
|
init_user_utils();
|
|
3493
3859
|
}
|
|
3494
3860
|
});
|
|
@@ -3612,17 +3978,19 @@ init_esm_shims();
|
|
|
3612
3978
|
init_esm_shims();
|
|
3613
3979
|
init_ids();
|
|
3614
3980
|
import {
|
|
3615
|
-
and as
|
|
3981
|
+
and as and28,
|
|
3616
3982
|
asc as asc3,
|
|
3983
|
+
count,
|
|
3617
3984
|
desc as desc6,
|
|
3618
|
-
eq as
|
|
3985
|
+
eq as eq33,
|
|
3619
3986
|
gt,
|
|
3620
3987
|
gte,
|
|
3621
|
-
inArray as
|
|
3622
|
-
like as
|
|
3988
|
+
inArray as inArray11,
|
|
3989
|
+
like as like17,
|
|
3990
|
+
lt as lt3,
|
|
3623
3991
|
lte as lte2,
|
|
3624
|
-
or as
|
|
3625
|
-
sql as
|
|
3992
|
+
or as or10,
|
|
3993
|
+
sql as sql16
|
|
3626
3994
|
} from "drizzle-orm";
|
|
3627
3995
|
import bcryptjs from "bcryptjs";
|
|
3628
3996
|
|
|
@@ -3659,9 +4027,10 @@ init_first_run_bootstrap();
|
|
|
3659
4027
|
init_esm_shims();
|
|
3660
4028
|
init_database_wrapper();
|
|
3661
4029
|
init_schema();
|
|
4030
|
+
init_tenant_scope();
|
|
3662
4031
|
import { dirname, join as join2 } from "path";
|
|
3663
4032
|
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
3664
|
-
import { eq as eq3, sql as
|
|
4033
|
+
import { and as and3, eq as eq3, sql as sql5 } from "drizzle-orm";
|
|
3665
4034
|
import { migrate as migrateSQLite } from "drizzle-orm/libsql/migrator";
|
|
3666
4035
|
import { migrate as migratePostgres } from "drizzle-orm/postgres-js/migrator";
|
|
3667
4036
|
|
|
@@ -3675,26 +4044,27 @@ init_esm_shims();
|
|
|
3675
4044
|
init_esm_shims();
|
|
3676
4045
|
init_ids();
|
|
3677
4046
|
init_database_wrapper();
|
|
3678
|
-
import { and, eq as eq4 } from "drizzle-orm";
|
|
4047
|
+
import { and as and4, eq as eq4 } from "drizzle-orm";
|
|
3679
4048
|
init_schema();
|
|
3680
4049
|
|
|
3681
4050
|
// src/db/repositories/base.ts
|
|
3682
4051
|
init_esm_shims();
|
|
3683
4052
|
init_ids();
|
|
3684
4053
|
init_id();
|
|
4054
|
+
init_tenant_context();
|
|
3685
4055
|
|
|
3686
4056
|
// src/db/repositories/artifact-trust.ts
|
|
3687
4057
|
init_esm_shims();
|
|
3688
4058
|
init_ids();
|
|
3689
4059
|
init_database_wrapper();
|
|
3690
4060
|
init_schema();
|
|
3691
|
-
import { and as
|
|
4061
|
+
import { and as and5, eq as eq5, isNull } from "drizzle-orm";
|
|
3692
4062
|
|
|
3693
4063
|
// src/db/repositories/artifacts.ts
|
|
3694
4064
|
init_esm_shims();
|
|
3695
4065
|
init_config_manager();
|
|
3696
4066
|
init_ids();
|
|
3697
|
-
import { and as
|
|
4067
|
+
import { and as and7, eq as eq7, inArray as inArray3, like, or as or2 } from "drizzle-orm";
|
|
3698
4068
|
|
|
3699
4069
|
// src/utils/url.ts
|
|
3700
4070
|
init_esm_shims();
|
|
@@ -3704,17 +4074,27 @@ init_id();
|
|
|
3704
4074
|
init_database_wrapper();
|
|
3705
4075
|
init_schema();
|
|
3706
4076
|
|
|
4077
|
+
// src/db/repositories/branch-access.ts
|
|
4078
|
+
init_esm_shims();
|
|
4079
|
+
init_types2();
|
|
4080
|
+
init_database_wrapper();
|
|
4081
|
+
init_schema();
|
|
4082
|
+
import { and as and6, eq as eq6, exists, inArray as inArray2, isNotNull, or, sql as sql6 } from "drizzle-orm";
|
|
4083
|
+
var VISIBLE_BRANCH_PERMISSION_LEVELS = BRANCH_PERMISSION_LEVELS.filter(
|
|
4084
|
+
(level) => level !== "none"
|
|
4085
|
+
);
|
|
4086
|
+
|
|
3707
4087
|
// src/db/repositories/board-comments.ts
|
|
3708
4088
|
init_esm_shims();
|
|
3709
4089
|
init_ids();
|
|
3710
4090
|
init_database_wrapper();
|
|
3711
4091
|
init_schema();
|
|
3712
|
-
import { and as
|
|
4092
|
+
import { and as and8, eq as eq8, isNotNull as isNotNull2, isNull as isNull2, like as like2, or as or3, sql as sql7 } from "drizzle-orm";
|
|
3713
4093
|
|
|
3714
4094
|
// src/db/repositories/board-objects.ts
|
|
3715
4095
|
init_esm_shims();
|
|
3716
4096
|
init_ids();
|
|
3717
|
-
import { and as
|
|
4097
|
+
import { and as and9, asc, eq as eq9, getTableColumns, isNotNull as isNotNull3, isNull as isNull3, or as or4, sql as sql8 } from "drizzle-orm";
|
|
3718
4098
|
|
|
3719
4099
|
// src/utils/board-placement.ts
|
|
3720
4100
|
init_esm_shims();
|
|
@@ -3723,23 +4103,39 @@ init_esm_shims();
|
|
|
3723
4103
|
init_database_wrapper();
|
|
3724
4104
|
init_schema();
|
|
3725
4105
|
|
|
3726
|
-
// src/db/repositories/branch-access.ts
|
|
3727
|
-
init_esm_shims();
|
|
3728
|
-
init_types2();
|
|
3729
|
-
init_database_wrapper();
|
|
3730
|
-
init_schema();
|
|
3731
|
-
import { and as and5, eq as eq8, exists, inArray as inArray2, isNotNull, or as or2, sql as sql5 } from "drizzle-orm";
|
|
3732
|
-
var VISIBLE_BRANCH_PERMISSION_LEVELS = BRANCH_PERMISSION_LEVELS.filter(
|
|
3733
|
-
(level) => level !== "none"
|
|
3734
|
-
);
|
|
3735
|
-
|
|
3736
4106
|
// src/db/repositories/boards.ts
|
|
3737
4107
|
init_esm_shims();
|
|
3738
4108
|
init_types2();
|
|
3739
4109
|
init_config_manager();
|
|
3740
4110
|
init_ids();
|
|
3741
|
-
import { and as
|
|
4111
|
+
import { and as and12, eq as eq12, inArray as inArray5, isNull as isNull4, like as like4, ne } from "drizzle-orm";
|
|
3742
4112
|
import * as yaml2 from "js-yaml";
|
|
4113
|
+
|
|
4114
|
+
// src/utils/emoji-shortcodes.ts
|
|
4115
|
+
init_esm_shims();
|
|
4116
|
+
import { createRequire } from "module";
|
|
4117
|
+
var requireJson = createRequire(import.meta.url);
|
|
4118
|
+
var emojiData = requireJson("emojibase-data/en/compact.json");
|
|
4119
|
+
var shortcodes = requireJson(
|
|
4120
|
+
"emojibase-data/en/shortcodes/emojibase.json"
|
|
4121
|
+
);
|
|
4122
|
+
var emojiByHexcode = /* @__PURE__ */ new Map();
|
|
4123
|
+
for (const emoji of emojiData) {
|
|
4124
|
+
if (emoji.unicode) {
|
|
4125
|
+
emojiByHexcode.set(emoji.hexcode, emoji.unicode);
|
|
4126
|
+
}
|
|
4127
|
+
}
|
|
4128
|
+
var emojiByShortcode = /* @__PURE__ */ new Map();
|
|
4129
|
+
for (const [hexcode, codes] of Object.entries(shortcodes)) {
|
|
4130
|
+
const emoji = emojiByHexcode.get(hexcode);
|
|
4131
|
+
if (!emoji) continue;
|
|
4132
|
+
const codeList = Array.isArray(codes) ? codes : [codes];
|
|
4133
|
+
for (const code of codeList) {
|
|
4134
|
+
emojiByShortcode.set(code.toLowerCase(), emoji);
|
|
4135
|
+
}
|
|
4136
|
+
}
|
|
4137
|
+
|
|
4138
|
+
// src/db/repositories/boards.ts
|
|
3743
4139
|
init_database_wrapper();
|
|
3744
4140
|
init_schema();
|
|
3745
4141
|
|
|
@@ -3748,7 +4144,7 @@ init_esm_shims();
|
|
|
3748
4144
|
init_types2();
|
|
3749
4145
|
init_config_manager();
|
|
3750
4146
|
init_ids();
|
|
3751
|
-
import { and as
|
|
4147
|
+
import { and as and11, desc, eq as eq11, exists as exists2, getTableColumns as getTableColumns2, inArray as inArray4, like as like3, or as or5, sql as sql9 } from "drizzle-orm";
|
|
3752
4148
|
init_database_wrapper();
|
|
3753
4149
|
init_schema();
|
|
3754
4150
|
|
|
@@ -3757,7 +4153,7 @@ init_esm_shims();
|
|
|
3757
4153
|
init_ids();
|
|
3758
4154
|
init_database_wrapper();
|
|
3759
4155
|
init_schema();
|
|
3760
|
-
import { and as
|
|
4156
|
+
import { and as and10, eq as eq10 } from "drizzle-orm";
|
|
3761
4157
|
|
|
3762
4158
|
// src/db/repositories/merge-utils.ts
|
|
3763
4159
|
init_esm_shims();
|
|
@@ -3779,7 +4175,7 @@ init_esm_shims();
|
|
|
3779
4175
|
init_ids();
|
|
3780
4176
|
init_database_wrapper();
|
|
3781
4177
|
init_schema();
|
|
3782
|
-
import { and as
|
|
4178
|
+
import { and as and13, eq as eq14, like as like6 } from "drizzle-orm";
|
|
3783
4179
|
|
|
3784
4180
|
// src/db/repositories/gateway-channels.ts
|
|
3785
4181
|
init_esm_shims();
|
|
@@ -3789,24 +4185,69 @@ init_database_wrapper();
|
|
|
3789
4185
|
import { eq as eq15, like as like7 } from "drizzle-orm";
|
|
3790
4186
|
init_schema();
|
|
3791
4187
|
|
|
4188
|
+
// src/db/repositories/gateway-outbound-messages.ts
|
|
4189
|
+
init_esm_shims();
|
|
4190
|
+
init_types2();
|
|
4191
|
+
init_ids();
|
|
4192
|
+
init_database_wrapper();
|
|
4193
|
+
init_schema();
|
|
4194
|
+
import { and as and14, eq as eq16, isNull as isNull5, like as like8 } from "drizzle-orm";
|
|
4195
|
+
|
|
3792
4196
|
// src/db/repositories/knowledge.ts
|
|
3793
4197
|
init_esm_shims();
|
|
3794
4198
|
init_types2();
|
|
3795
4199
|
init_config_manager();
|
|
3796
4200
|
init_ids();
|
|
3797
4201
|
import { createHash } from "crypto";
|
|
3798
|
-
import { and as
|
|
4202
|
+
import { and as and15, desc as desc2, eq as eq17, inArray as inArray6, like as like9, or as or6, sql as sql10 } from "drizzle-orm";
|
|
3799
4203
|
init_database_wrapper();
|
|
3800
4204
|
init_schema();
|
|
3801
4205
|
|
|
3802
4206
|
// src/db/repositories/mcp-servers.ts
|
|
3803
4207
|
init_esm_shims();
|
|
3804
4208
|
init_ids();
|
|
3805
|
-
import { and as
|
|
4209
|
+
import { and as and17, eq as eq20, like as like10 } from "drizzle-orm";
|
|
3806
4210
|
|
|
3807
4211
|
// src/tools/mcp/auth-secrets.ts
|
|
3808
4212
|
init_esm_shims();
|
|
3809
4213
|
|
|
4214
|
+
// src/mcp/template-resolver.ts
|
|
4215
|
+
init_esm_shims();
|
|
4216
|
+
|
|
4217
|
+
// src/config/env-resolver.ts
|
|
4218
|
+
init_esm_shims();
|
|
4219
|
+
init_database_wrapper();
|
|
4220
|
+
import { eq as eq19 } from "drizzle-orm";
|
|
4221
|
+
|
|
4222
|
+
// src/db/repositories/session-env-selections.ts
|
|
4223
|
+
init_esm_shims();
|
|
4224
|
+
init_database_wrapper();
|
|
4225
|
+
init_schema();
|
|
4226
|
+
import { and as and16, eq as eq18 } from "drizzle-orm";
|
|
4227
|
+
|
|
4228
|
+
// src/config/env-resolver.ts
|
|
4229
|
+
init_schema();
|
|
4230
|
+
|
|
4231
|
+
// src/config/env-blocklist.ts
|
|
4232
|
+
init_esm_shims();
|
|
4233
|
+
var BLOCKED_ENV_PATTERNS = Object.freeze([
|
|
4234
|
+
/^LD_/i,
|
|
4235
|
+
/^DYLD_/i,
|
|
4236
|
+
/^PYTHON(?!_AGOR_)/i
|
|
4237
|
+
]);
|
|
4238
|
+
|
|
4239
|
+
// src/config/env-vars.ts
|
|
4240
|
+
init_esm_shims();
|
|
4241
|
+
var V05_SCOPES = ["global", "session"];
|
|
4242
|
+
var V05_SCOPE_SET = new Set(V05_SCOPES);
|
|
4243
|
+
|
|
4244
|
+
// src/templates/handlebars-helpers.ts
|
|
4245
|
+
init_esm_shims();
|
|
4246
|
+
import Handlebars from "handlebars";
|
|
4247
|
+
|
|
4248
|
+
// src/mcp/template-patterns.ts
|
|
4249
|
+
init_esm_shims();
|
|
4250
|
+
|
|
3810
4251
|
// src/tools/mcp/http-headers.ts
|
|
3811
4252
|
init_esm_shims();
|
|
3812
4253
|
|
|
@@ -3818,21 +4259,18 @@ init_schema();
|
|
|
3818
4259
|
init_esm_shims();
|
|
3819
4260
|
init_database_wrapper();
|
|
3820
4261
|
init_schema();
|
|
3821
|
-
import { and as
|
|
4262
|
+
import { and as and18, eq as eq21, inArray as inArray7 } from "drizzle-orm";
|
|
3822
4263
|
|
|
3823
4264
|
// src/db/repositories/repos.ts
|
|
3824
4265
|
init_esm_shims();
|
|
3825
|
-
import { eq as
|
|
4266
|
+
import { eq as eq22, like as like11, sql as sql11 } from "drizzle-orm";
|
|
3826
4267
|
|
|
3827
4268
|
// src/config/variant-resolver.ts
|
|
3828
4269
|
init_esm_shims();
|
|
3829
4270
|
|
|
3830
4271
|
// src/yaml/index.ts
|
|
3831
4272
|
init_esm_shims();
|
|
3832
|
-
import yaml3 from "js-yaml";
|
|
3833
|
-
var load2 = yaml3.load;
|
|
3834
|
-
var dump2 = yaml3.dump;
|
|
3835
|
-
var YAMLException = yaml3.YAMLException;
|
|
4273
|
+
import * as yaml3 from "js-yaml";
|
|
3836
4274
|
|
|
3837
4275
|
// src/db/repositories/repos.ts
|
|
3838
4276
|
init_ids();
|
|
@@ -3844,33 +4282,27 @@ init_esm_shims();
|
|
|
3844
4282
|
init_ids();
|
|
3845
4283
|
init_database_wrapper();
|
|
3846
4284
|
init_schema();
|
|
3847
|
-
import { and as
|
|
4285
|
+
import { and as and19, asc as asc2, desc as desc3, eq as eq23, isNull as isNull6, like as like12, lte, or as or7, sql as sql12 } from "drizzle-orm";
|
|
3848
4286
|
|
|
3849
4287
|
// src/db/repositories/serialized-sessions.ts
|
|
3850
4288
|
init_esm_shims();
|
|
3851
4289
|
init_ids();
|
|
3852
4290
|
init_database_wrapper();
|
|
3853
4291
|
init_schema();
|
|
3854
|
-
import { and as
|
|
3855
|
-
|
|
3856
|
-
// src/db/repositories/session-env-selections.ts
|
|
3857
|
-
init_esm_shims();
|
|
3858
|
-
init_database_wrapper();
|
|
3859
|
-
init_schema();
|
|
3860
|
-
import { and as and16, eq as eq22 } from "drizzle-orm";
|
|
4292
|
+
import { and as and20, desc as desc4, eq as eq24, lt } from "drizzle-orm";
|
|
3861
4293
|
|
|
3862
4294
|
// src/db/repositories/session-mcp-servers.ts
|
|
3863
4295
|
init_esm_shims();
|
|
3864
4296
|
init_database_wrapper();
|
|
3865
4297
|
init_schema();
|
|
3866
|
-
import { and as
|
|
4298
|
+
import { and as and22, eq as eq26 } from "drizzle-orm";
|
|
3867
4299
|
|
|
3868
4300
|
// src/db/repositories/sessions.ts
|
|
3869
4301
|
init_esm_shims();
|
|
3870
4302
|
init_types2();
|
|
3871
4303
|
init_config_manager();
|
|
3872
4304
|
init_ids();
|
|
3873
|
-
import { and as
|
|
4305
|
+
import { and as and21, desc as desc5, eq as eq25, inArray as inArray8, like as like13, or as or8, sql as sql13 } from "drizzle-orm";
|
|
3874
4306
|
init_database_wrapper();
|
|
3875
4307
|
init_schema();
|
|
3876
4308
|
|
|
@@ -3879,7 +4311,7 @@ init_esm_shims();
|
|
|
3879
4311
|
init_ids();
|
|
3880
4312
|
init_database_wrapper();
|
|
3881
4313
|
init_schema();
|
|
3882
|
-
import { and as
|
|
4314
|
+
import { and as and23, eq as eq27, inArray as inArray9, or as or9 } from "drizzle-orm";
|
|
3883
4315
|
|
|
3884
4316
|
// src/db/repositories/tasks.ts
|
|
3885
4317
|
init_esm_shims();
|
|
@@ -3887,7 +4319,7 @@ init_types2();
|
|
|
3887
4319
|
init_ids();
|
|
3888
4320
|
init_database_wrapper();
|
|
3889
4321
|
init_schema();
|
|
3890
|
-
import { eq as
|
|
4322
|
+
import { and as and24, eq as eq28, inArray as inArray10, like as like14, sql as sql14 } from "drizzle-orm";
|
|
3891
4323
|
|
|
3892
4324
|
// src/db/repositories/thread-session-map.ts
|
|
3893
4325
|
init_esm_shims();
|
|
@@ -3895,34 +4327,28 @@ init_types2();
|
|
|
3895
4327
|
init_ids();
|
|
3896
4328
|
init_database_wrapper();
|
|
3897
4329
|
init_schema();
|
|
3898
|
-
import { and as
|
|
4330
|
+
import { and as and25, eq as eq29, like as like15, lt as lt2 } from "drizzle-orm";
|
|
3899
4331
|
|
|
3900
4332
|
// src/db/repositories/user-api-keys.ts
|
|
3901
4333
|
init_esm_shims();
|
|
3902
4334
|
init_ids();
|
|
3903
4335
|
init_database_wrapper();
|
|
3904
4336
|
init_schema();
|
|
4337
|
+
init_tenant_context();
|
|
3905
4338
|
import { randomBytes as randomBytes3 } from "crypto";
|
|
3906
4339
|
import bcrypt2 from "bcryptjs";
|
|
3907
|
-
import { and as
|
|
4340
|
+
import { and as and26, eq as eq30 } from "drizzle-orm";
|
|
3908
4341
|
|
|
3909
4342
|
// src/db/repositories/user-mcp-oauth-tokens.ts
|
|
3910
4343
|
init_esm_shims();
|
|
3911
4344
|
init_database_wrapper();
|
|
3912
4345
|
init_schema();
|
|
3913
|
-
import { and as
|
|
4346
|
+
import { and as and27, eq as eq31, isNull as isNull7 } from "drizzle-orm";
|
|
3914
4347
|
|
|
3915
4348
|
// src/db/repositories/users.ts
|
|
3916
4349
|
init_esm_shims();
|
|
3917
4350
|
init_types2();
|
|
3918
|
-
import { eq as
|
|
3919
|
-
|
|
3920
|
-
// src/config/env-vars.ts
|
|
3921
|
-
init_esm_shims();
|
|
3922
|
-
var V05_SCOPES = ["global", "session"];
|
|
3923
|
-
var V05_SCOPE_SET = new Set(V05_SCOPES);
|
|
3924
|
-
|
|
3925
|
-
// src/db/repositories/users.ts
|
|
4351
|
+
import { eq as eq32, like as like16, sql as sql15 } from "drizzle-orm";
|
|
3926
4352
|
init_ids();
|
|
3927
4353
|
init_database_wrapper();
|
|
3928
4354
|
init_schema();
|
|
@@ -3935,6 +4361,7 @@ init_esm_shims();
|
|
|
3935
4361
|
init_ids();
|
|
3936
4362
|
|
|
3937
4363
|
// src/db/index.ts
|
|
4364
|
+
init_tenant_scope();
|
|
3938
4365
|
init_user_utils();
|
|
3939
4366
|
var compare = bcryptjs.compare;
|
|
3940
4367
|
var hash = bcryptjs.hash;
|
|
@@ -3988,8 +4415,8 @@ function extractTasksFromMessages(messages4, sessionId) {
|
|
|
3988
4415
|
const userMessage = messages4[startIndex];
|
|
3989
4416
|
const endIndex = i < userMessageIndices.length - 1 ? userMessageIndices[i + 1] - 1 : messages4.length - 1;
|
|
3990
4417
|
const messagesInRange = messages4.slice(startIndex, endIndex + 1);
|
|
3991
|
-
const toolUseCount = messagesInRange.reduce((
|
|
3992
|
-
return
|
|
4418
|
+
const toolUseCount = messagesInRange.reduce((count2, msg) => {
|
|
4419
|
+
return count2 + (msg.tool_uses?.length ?? 0);
|
|
3993
4420
|
}, 0);
|
|
3994
4421
|
let fullPrompt = "";
|
|
3995
4422
|
if (typeof userMessage.content === "string") {
|