agor-live 0.22.0 → 0.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/admin/add-to-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/add-to-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/add-to-branch-group.js +133 -33
- package/dist/cli/commands/admin/create-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/create-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-branch-group.js +132 -38
- package/dist/cli/commands/admin/create-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/create-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-symlink.js +138 -61
- package/dist/cli/commands/admin/delete-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/delete-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-branch-group.js +132 -28
- package/dist/cli/commands/admin/delete-user.d.ts +2 -13
- package/dist/cli/commands/admin/delete-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-user.js +132 -38
- package/dist/cli/commands/admin/ensure-user.d.ts +2 -14
- package/dist/cli/commands/admin/ensure-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/ensure-user.js +131 -46
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-from-branch-group.js +133 -33
- package/dist/cli/commands/admin/remove-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/remove-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-symlink.js +136 -49
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts +2 -2
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts.map +1 -1
- package/dist/cli/commands/admin/scrub-git-remotes.js +128 -86
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts +2 -14
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts.map +1 -1
- package/dist/cli/commands/admin/sync-user-symlinks.js +132 -43
- package/dist/cli/commands/auth/whoami.d.ts.map +1 -1
- package/dist/cli/commands/auth/whoami.js +2 -1
- package/dist/cli/commands/branch/env/request.test.d.ts +2 -0
- package/dist/cli/commands/branch/env/request.test.d.ts.map +1 -0
- package/dist/cli/commands/branch/env/request.test.js +17723 -0
- package/dist/cli/commands/branch/env/restart.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/restart.js +7 -1
- package/dist/cli/commands/branch/env/start.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/start.js +7 -1
- package/dist/cli/commands/branch/env/stop.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/stop.js +7 -1
- package/dist/cli/commands/daemon/status.d.ts.map +1 -1
- package/dist/cli/commands/daemon/status.js +2 -1
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +140 -2
- package/dist/cli/commands/local/add-to-branch-group.d.ts +13 -0
- package/dist/cli/commands/local/add-to-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/add-to-branch-group.js +37 -0
- package/dist/cli/commands/local/create-branch-group.d.ts +12 -0
- package/dist/cli/commands/local/create-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/create-branch-group.js +35 -0
- package/dist/cli/commands/local/create-symlink.d.ts +14 -0
- package/dist/cli/commands/local/create-symlink.d.ts.map +1 -0
- package/dist/cli/commands/local/create-symlink.js +45 -0
- package/dist/cli/commands/{daemon → local/daemon}/sync.d.ts +1 -1
- package/dist/cli/commands/local/daemon/sync.d.ts.map +1 -0
- package/dist/cli/commands/{daemon → local/daemon}/sync.js +7 -6
- package/dist/cli/commands/local/delete-branch-group.d.ts +12 -0
- package/dist/cli/commands/local/delete-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/delete-branch-group.js +35 -0
- package/dist/cli/commands/local/delete-user.d.ts +12 -0
- package/dist/cli/commands/local/delete-user.d.ts.map +1 -0
- package/dist/cli/commands/local/delete-user.js +36 -0
- package/dist/cli/commands/local/ensure-user.d.ts +12 -0
- package/dist/cli/commands/local/ensure-user.d.ts.map +1 -0
- package/dist/cli/commands/local/ensure-user.js +41 -0
- package/dist/cli/commands/local/remove-from-branch-group.d.ts +13 -0
- package/dist/cli/commands/local/remove-from-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/remove-from-branch-group.js +37 -0
- package/dist/cli/commands/local/remove-symlink.d.ts +13 -0
- package/dist/cli/commands/local/remove-symlink.d.ts.map +1 -0
- package/dist/cli/commands/local/remove-symlink.js +39 -0
- package/dist/cli/commands/local/scrub-git-remotes.d.ts +9 -0
- package/dist/cli/commands/local/scrub-git-remotes.d.ts.map +1 -0
- package/dist/cli/commands/local/scrub-git-remotes.js +23 -0
- package/dist/cli/commands/{admin → local}/sync-unix.d.ts.map +1 -1
- package/dist/cli/commands/{admin → local}/sync-unix.js +3 -3
- package/dist/cli/commands/local/sync-user-symlinks.d.ts +12 -0
- package/dist/cli/commands/local/sync-user-symlinks.d.ts.map +1 -0
- package/dist/cli/commands/local/sync-user-symlinks.js +37 -0
- package/dist/cli/commands/telemetry/index.d.ts +7 -0
- package/dist/cli/commands/telemetry/index.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/index.js +40 -0
- package/dist/cli/commands/telemetry/off.d.ts +6 -0
- package/dist/cli/commands/telemetry/off.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/off.js +35 -0
- package/dist/cli/commands/telemetry/on.d.ts +6 -0
- package/dist/cli/commands/telemetry/on.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/on.js +37 -0
- package/dist/cli/commands/telemetry/test.d.ts +6 -0
- package/dist/cli/commands/telemetry/test.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/test.js +56 -0
- package/dist/cli/commands/user/create-admin.d.ts.map +1 -1
- package/dist/cli/commands/user/create-admin.js +81 -72
- package/dist/cli/commands/user/list.d.ts.map +1 -1
- package/dist/cli/commands/user/list.js +1 -0
- package/dist/cli/commands/whoami.js +2 -1
- package/dist/cli/lib/branch-environment-action.d.ts +21 -0
- package/dist/cli/lib/branch-environment-action.d.ts.map +1 -0
- package/dist/cli/lib/branch-environment-action.js +8 -0
- package/dist/core/api/index.cjs +7 -2
- package/dist/core/api/index.d.ts +13 -4
- package/dist/core/api/index.d.ts.map +1 -1
- package/dist/core/api/index.js +7 -2
- package/dist/core/claude/index.cjs +482 -77
- package/dist/core/claude/index.js +479 -76
- package/dist/core/claude-cli/index.cjs +11 -0
- package/dist/core/claude-cli/index.js +11 -0
- package/dist/core/claude-cli/pricing.d.ts.map +1 -1
- package/dist/core/client/index.cjs +35 -7
- package/dist/core/client/index.js +32 -7
- package/dist/core/config/browser.cjs +3 -5
- package/dist/core/config/browser.js +3 -5
- package/dist/core/config/config-manager.d.ts +33 -13
- package/dist/core/config/config-manager.d.ts.map +1 -1
- package/dist/core/config/index.cjs +4259 -4527
- package/dist/core/config/index.d.ts +1 -0
- package/dist/core/config/index.d.ts.map +1 -1
- package/dist/core/config/index.js +4295 -4583
- package/dist/core/config/key-resolver.d.ts.map +1 -1
- package/dist/core/config/multitenancy.d.ts +33 -0
- package/dist/core/config/multitenancy.d.ts.map +1 -0
- package/dist/core/config/security-resolver.d.ts +1 -0
- package/dist/core/config/security-resolver.d.ts.map +1 -1
- package/dist/core/config/types.d.ts +67 -4
- package/dist/core/config/types.d.ts.map +1 -1
- package/dist/core/db/client.d.ts +34 -2
- package/dist/core/db/client.d.ts.map +1 -1
- package/dist/core/db/database-wrapper.d.ts.map +1 -1
- package/dist/core/db/first-run-bootstrap.d.ts.map +1 -1
- package/dist/core/db/index.cjs +2422 -1084
- package/dist/core/db/index.d.ts +2 -1
- package/dist/core/db/index.d.ts.map +1 -1
- package/dist/core/db/index.js +2162 -852
- package/dist/core/db/migrate.d.ts.map +1 -1
- package/dist/core/db/repositories/artifacts.d.ts +27 -2
- package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
- package/dist/core/db/repositories/base.d.ts +18 -0
- package/dist/core/db/repositories/base.d.ts.map +1 -1
- package/dist/core/db/repositories/board-comments.d.ts +17 -1
- package/dist/core/db/repositories/board-comments.d.ts.map +1 -1
- package/dist/core/db/repositories/board-objects.d.ts.map +1 -1
- package/dist/core/db/repositories/boards.d.ts +28 -4
- package/dist/core/db/repositories/boards.d.ts.map +1 -1
- package/dist/core/db/repositories/branch-access.d.ts +32 -0
- package/dist/core/db/repositories/branch-access.d.ts.map +1 -1
- package/dist/core/db/repositories/branches.d.ts +41 -1
- package/dist/core/db/repositories/branches.d.ts.map +1 -1
- package/dist/core/db/repositories/cards.d.ts +15 -1
- package/dist/core/db/repositories/cards.d.ts.map +1 -1
- package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
- package/dist/core/db/repositories/gateway-outbound-messages.d.ts +19 -0
- package/dist/core/db/repositories/gateway-outbound-messages.d.ts.map +1 -0
- package/dist/core/db/repositories/index.d.ts +2 -0
- package/dist/core/db/repositories/index.d.ts.map +1 -1
- package/dist/core/db/repositories/messages.d.ts +9 -2
- package/dist/core/db/repositories/messages.d.ts.map +1 -1
- package/dist/core/db/repositories/repos.d.ts.map +1 -1
- package/dist/core/db/repositories/schedules.d.ts +12 -1
- package/dist/core/db/repositories/schedules.d.ts.map +1 -1
- package/dist/core/db/repositories/sessions.d.ts +49 -5
- package/dist/core/db/repositories/sessions.d.ts.map +1 -1
- package/dist/core/db/repositories/tasks.d.ts +7 -2
- package/dist/core/db/repositories/tasks.d.ts.map +1 -1
- package/dist/core/db/repositories/user-api-keys.d.ts +10 -1
- package/dist/core/db/repositories/user-api-keys.d.ts.map +1 -1
- package/dist/core/db/repositories/users.d.ts +8 -8
- package/dist/core/db/repositories/users.d.ts.map +1 -1
- package/dist/core/db/schema.d.ts +1460 -38
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.postgres.d.ts +1082 -37
- package/dist/core/db/schema.postgres.d.ts.map +1 -1
- package/dist/core/db/schema.sqlite.d.ts +397 -1
- package/dist/core/db/schema.sqlite.d.ts.map +1 -1
- package/dist/core/db/tenant-context.d.ts +26 -0
- package/dist/core/db/tenant-context.d.ts.map +1 -0
- package/dist/core/db/tenant-scope.d.ts +31 -0
- package/dist/core/db/tenant-scope.d.ts.map +1 -0
- package/dist/core/db/user-utils.d.ts +2 -2
- package/dist/core/db/user-utils.d.ts.map +1 -1
- package/dist/core/drizzle/postgres/0052_gateway_outbound_messages.sql +45 -0
- package/dist/core/drizzle/postgres/0053_user_token_invalidation.sql +1 -0
- package/dist/core/drizzle/postgres/0054_app_level_multitenancy.sql +219 -0
- package/dist/core/drizzle/postgres/0055_app_level_multitenancy_rls.sql +411 -0
- package/dist/core/drizzle/postgres/0056_composite_indexes.sql +15 -0
- package/dist/core/drizzle/postgres/0057_message_timestamp_indexes.sql +3 -0
- package/dist/core/drizzle/postgres/meta/_journal.json +42 -0
- package/dist/core/drizzle/sqlite/0061_gateway_outbound_messages.sql +38 -0
- package/dist/core/drizzle/sqlite/0062_user_token_invalidation.sql +1 -0
- package/dist/core/drizzle/sqlite/0063_composite_indexes.sql +10 -0
- package/dist/core/drizzle/sqlite/0064_message_timestamp_indexes.sql +2 -0
- package/dist/core/drizzle/sqlite/meta/_journal.json +28 -0
- package/dist/core/environment/render-snapshot.cjs +1 -4
- package/dist/core/environment/render-snapshot.js +1 -4
- package/dist/core/environment/webhook.cjs +1 -4
- package/dist/core/environment/webhook.js +1 -4
- package/dist/core/gateway/connector.d.ts +10 -1
- package/dist/core/gateway/connector.d.ts.map +1 -1
- package/dist/core/gateway/connectors/slack-manifest.cjs +108 -0
- package/dist/core/gateway/connectors/slack-manifest.d.ts +85 -0
- package/dist/core/gateway/connectors/slack-manifest.d.ts.map +1 -0
- package/dist/core/gateway/connectors/slack-manifest.js +81 -0
- package/dist/core/gateway/connectors/slack.d.ts +101 -4
- package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
- package/dist/core/gateway/index.cjs +495 -29
- package/dist/core/gateway/index.d.ts +4 -1
- package/dist/core/gateway/index.d.ts.map +1 -1
- package/dist/core/gateway/index.js +490 -28
- package/dist/core/gateway/system-message.d.ts.map +1 -1
- package/dist/core/git/exec.cjs +24 -0
- package/dist/core/git/exec.d.ts +6 -4
- package/dist/core/git/exec.d.ts.map +1 -1
- package/dist/core/git/exec.js +2 -0
- package/dist/core/git/index.cjs +3 -1363
- package/dist/core/git/index.d.ts +4 -614
- package/dist/core/git/index.d.ts.map +1 -1
- package/dist/core/git/index.js +1 -1304
- package/dist/core/git/pure.cjs +24 -0
- package/dist/core/git/pure.d.ts +2 -27
- package/dist/core/git/pure.d.ts.map +1 -1
- package/dist/core/git/pure.js +2 -0
- package/dist/core/index.cjs +11137 -10604
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +11673 -10630
- package/dist/core/lib/feathers-validation.cjs +6 -1
- package/dist/core/lib/feathers-validation.d.ts +1 -0
- package/dist/core/lib/feathers-validation.d.ts.map +1 -1
- package/dist/core/lib/feathers-validation.js +6 -1
- package/dist/core/local-actions/git-remotes.d.ts +7 -0
- package/dist/core/local-actions/git-remotes.d.ts.map +1 -0
- package/dist/core/local-actions/index.cjs +7941 -0
- package/dist/core/local-actions/index.d.ts +6 -0
- package/dist/core/local-actions/index.d.ts.map +1 -0
- package/dist/core/local-actions/index.js +7943 -0
- package/dist/core/local-actions/symlinks.d.ts +20 -0
- package/dist/core/local-actions/symlinks.d.ts.map +1 -0
- package/dist/core/local-actions/types.d.ts +14 -0
- package/dist/core/local-actions/types.d.ts.map +1 -0
- package/dist/core/local-actions/unix-groups.d.ts +16 -0
- package/dist/core/local-actions/unix-groups.d.ts.map +1 -0
- package/dist/core/local-actions/unix-users.d.ts +12 -0
- package/dist/core/local-actions/unix-users.d.ts.map +1 -0
- package/dist/core/mcp/index.cjs +352 -25
- package/dist/core/mcp/index.js +351 -24
- package/dist/core/models/browser.cjs +148 -25
- package/dist/core/models/browser.js +144 -25
- package/dist/core/models/claude.d.ts +2 -2
- package/dist/core/models/claude.d.ts.map +1 -1
- package/dist/core/models/codex.d.ts +205 -21
- package/dist/core/models/codex.d.ts.map +1 -1
- package/dist/core/models/index.cjs +148 -25
- package/dist/core/models/index.js +144 -25
- package/dist/core/package.json +24 -0
- package/dist/core/seed/demo-fixtures.d.ts +87 -0
- package/dist/core/seed/demo-fixtures.d.ts.map +1 -0
- package/dist/core/seed/dev-fixtures.d.ts.map +1 -1
- package/dist/core/seed/index.cjs +8410 -5504
- package/dist/core/seed/index.d.ts +1 -0
- package/dist/core/seed/index.d.ts.map +1 -1
- package/dist/core/seed/index.js +8434 -5533
- package/dist/core/sessions/index.cjs +110 -24
- package/dist/core/sessions/index.js +110 -24
- package/dist/core/telemetry/index.cjs +361 -0
- package/dist/core/telemetry/index.d.ts +5 -0
- package/dist/core/telemetry/index.d.ts.map +1 -0
- package/dist/core/telemetry/index.js +315 -0
- package/dist/core/telemetry/logger.d.ts +44 -0
- package/dist/core/telemetry/logger.d.ts.map +1 -0
- package/dist/core/telemetry/model-normalization.d.ts +3 -0
- package/dist/core/telemetry/model-normalization.d.ts.map +1 -0
- package/dist/core/telemetry/types.d.ts +47 -0
- package/dist/core/telemetry/types.d.ts.map +1 -0
- package/dist/core/telemetry/version.d.ts +9 -0
- package/dist/core/telemetry/version.d.ts.map +1 -0
- package/dist/core/templates/agor-system-prompt.md +1 -0
- package/dist/core/tools/mcp/oauth-refresh.cjs +532 -102
- package/dist/core/tools/mcp/oauth-refresh.js +530 -103
- package/dist/core/types/board.d.ts +2 -0
- package/dist/core/types/board.d.ts.map +1 -1
- package/dist/core/types/branch.d.ts +13 -0
- package/dist/core/types/branch.d.ts.map +1 -1
- package/dist/core/types/config-services.d.ts.map +1 -1
- package/dist/core/types/feathers.d.ts +6 -0
- package/dist/core/types/feathers.d.ts.map +1 -1
- package/dist/core/types/gateway.d.ts +76 -1
- package/dist/core/types/gateway.d.ts.map +1 -1
- package/dist/core/types/index.cjs +25 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +22 -0
- package/dist/core/types/schedule.d.ts +4 -3
- package/dist/core/types/schedule.d.ts.map +1 -1
- package/dist/core/types/session.d.ts +7 -1
- package/dist/core/types/session.d.ts.map +1 -1
- package/dist/core/types/tenant.d.ts +15 -0
- package/dist/core/types/tenant.d.ts.map +1 -0
- package/dist/core/types/user.d.ts +61 -0
- package/dist/core/types/user.d.ts.map +1 -1
- package/dist/core/unix/index.cjs +1056 -674
- package/dist/core/unix/index.js +1003 -623
- package/dist/core/utils/emoji-shortcodes.d.ts +13 -0
- package/dist/core/utils/emoji-shortcodes.d.ts.map +1 -0
- package/dist/core/yaml/index.cjs +8 -8
- package/dist/core/yaml/index.d.ts +1 -1
- package/dist/core/yaml/index.d.ts.map +1 -1
- package/dist/core/yaml/index.js +7 -7
- package/dist/daemon/adapters/drizzle.d.ts +26 -4
- package/dist/daemon/adapters/drizzle.d.ts.map +1 -1
- package/dist/daemon/adapters/drizzle.js +68 -7
- package/dist/daemon/auth/api-key-strategy.js +1 -1
- package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
- package/dist/daemon/auth/executor-runtime-scope.js +19 -5
- package/dist/daemon/auth/launch-auth.d.ts +5 -4
- package/dist/daemon/auth/launch-auth.d.ts.map +1 -1
- package/dist/daemon/auth/launch-auth.js +123 -39
- package/dist/daemon/auth/refresh-token-service.d.ts +22 -0
- package/dist/daemon/auth/refresh-token-service.d.ts.map +1 -0
- package/dist/daemon/auth/refresh-token-service.js +133 -0
- package/dist/daemon/auth/runtime-tokens.d.ts +3 -1
- package/dist/daemon/auth/runtime-tokens.d.ts.map +1 -1
- package/dist/daemon/auth/runtime-tokens.js +17 -4
- package/dist/daemon/auth/service-jwt-strategy.d.ts +2 -1
- package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
- package/dist/daemon/auth/service-jwt-strategy.js +127 -1
- package/dist/daemon/auth/token-invalidation.d.ts +11 -0
- package/dist/daemon/auth/token-invalidation.d.ts.map +1 -0
- package/dist/daemon/auth/token-invalidation.js +38 -0
- package/dist/daemon/auth/user-redaction.d.ts +12 -0
- package/dist/daemon/auth/user-redaction.d.ts.map +1 -0
- package/dist/daemon/auth/user-redaction.js +13 -0
- package/dist/daemon/declarations.d.ts +4 -4
- package/dist/daemon/declarations.d.ts.map +1 -1
- package/dist/daemon/hooks/gateway-route.d.ts.map +1 -1
- package/dist/daemon/hooks/gateway-route.js +23 -13
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +7234 -2866
- package/dist/daemon/knowledge/pgvector.d.ts +3 -3
- package/dist/daemon/knowledge/pgvector.d.ts.map +1 -1
- package/dist/daemon/knowledge/pgvector.js +24 -0
- package/dist/daemon/knowledge/units.d.ts +2 -2
- package/dist/daemon/knowledge/units.d.ts.map +1 -1
- package/dist/daemon/main.js +7234 -2866
- package/dist/daemon/mcp/server.d.ts +3 -3
- package/dist/daemon/mcp/server.d.ts.map +1 -1
- package/dist/daemon/mcp/server.js +1467 -71
- package/dist/daemon/mcp/tokens.d.ts +2 -2
- package/dist/daemon/mcp/tokens.d.ts.map +1 -1
- package/dist/daemon/mcp/tokens.js +5 -1
- package/dist/daemon/mcp/tool-registry.d.ts.map +1 -1
- package/dist/daemon/mcp/tool-registry.js +1 -0
- package/dist/daemon/mcp/tools/analytics.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/analytics.js +548 -23
- package/dist/daemon/mcp/tools/artifacts.js +510 -19
- package/dist/daemon/mcp/tools/boards.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/boards.js +517 -20
- package/dist/daemon/mcp/tools/branches.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/branches.js +574 -49
- package/dist/daemon/mcp/tools/card-types.js +508 -17
- package/dist/daemon/mcp/tools/cards.js +508 -17
- package/dist/daemon/mcp/tools/environment.js +516 -17
- package/dist/daemon/mcp/tools/gateway-channels.d.ts +4 -0
- package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -0
- package/dist/daemon/mcp/tools/gateway-channels.js +16035 -0
- package/dist/daemon/mcp/tools/knowledge.js +508 -17
- package/dist/daemon/mcp/tools/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/mcp-servers.js +843 -17
- package/dist/daemon/mcp/tools/messages.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/messages.js +568 -31
- package/dist/daemon/mcp/tools/proxies.js +518 -19
- package/dist/daemon/mcp/tools/repos.js +508 -17
- package/dist/daemon/mcp/tools/schedules.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/schedules.js +511 -18
- package/dist/daemon/mcp/tools/search.js +508 -17
- package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/sessions.js +521 -23
- package/dist/daemon/mcp/tools/tasks.js +508 -17
- package/dist/daemon/mcp/tools/users.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/users.js +527 -22
- package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/widgets.js +536 -18
- package/dist/daemon/register-hooks.d.ts +3 -2
- package/dist/daemon/register-hooks.d.ts.map +1 -1
- package/dist/daemon/register-hooks.js +894 -582
- package/dist/daemon/register-routes.d.ts +3 -2
- package/dist/daemon/register-routes.d.ts.map +1 -1
- package/dist/daemon/register-routes.js +2715 -816
- package/dist/daemon/register-services.d.ts +2 -2
- package/dist/daemon/register-services.d.ts.map +1 -1
- package/dist/daemon/register-services.js +2445 -633
- package/dist/daemon/services/artifacts.d.ts +34 -6
- package/dist/daemon/services/artifacts.d.ts.map +1 -1
- package/dist/daemon/services/artifacts.js +109 -8
- package/dist/daemon/services/assistant-knowledge.d.ts +2 -2
- package/dist/daemon/services/assistant-knowledge.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.d.ts +8 -5
- package/dist/daemon/services/board-comments.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.js +78 -13
- package/dist/daemon/services/board-objects.d.ts +8 -5
- package/dist/daemon/services/board-objects.d.ts.map +1 -1
- package/dist/daemon/services/board-objects.js +14 -4
- package/dist/daemon/services/boards.d.ts +34 -5
- package/dist/daemon/services/boards.d.ts.map +1 -1
- package/dist/daemon/services/boards.js +116 -8
- package/dist/daemon/services/branch-owners.d.ts +3 -1
- package/dist/daemon/services/branch-owners.d.ts.map +1 -1
- package/dist/daemon/services/branch-owners.js +31 -4
- package/dist/daemon/services/branches.d.ts +31 -8
- package/dist/daemon/services/branches.d.ts.map +1 -1
- package/dist/daemon/services/branches.js +242 -35
- package/dist/daemon/services/card-types.d.ts +3 -3
- package/dist/daemon/services/card-types.d.ts.map +1 -1
- package/dist/daemon/services/card-types.js +68 -7
- package/dist/daemon/services/cards.d.ts +19 -4
- package/dist/daemon/services/cards.d.ts.map +1 -1
- package/dist/daemon/services/cards.js +92 -8
- package/dist/daemon/services/check-auth.d.ts +2 -2
- package/dist/daemon/services/check-auth.d.ts.map +1 -1
- package/dist/daemon/services/claude-cli-integration.d.ts +4 -1
- package/dist/daemon/services/claude-cli-integration.d.ts.map +1 -1
- package/dist/daemon/services/claude-cli-integration.js +117 -65
- package/dist/daemon/services/claude-models.d.ts +3 -3
- package/dist/daemon/services/claude-models.d.ts.map +1 -1
- package/dist/daemon/services/claude-models.js +383 -272
- package/dist/daemon/services/config.d.ts +12 -4
- package/dist/daemon/services/config.d.ts.map +1 -1
- package/dist/daemon/services/config.js +39 -3
- package/dist/daemon/services/copilot-models.d.ts +3 -3
- package/dist/daemon/services/copilot-models.d.ts.map +1 -1
- package/dist/daemon/services/cursor-models.d.ts +3 -3
- package/dist/daemon/services/cursor-models.d.ts.map +1 -1
- package/dist/daemon/services/files.d.ts +3 -3
- package/dist/daemon/services/files.d.ts.map +1 -1
- package/dist/daemon/services/files.js +24 -5
- package/dist/daemon/services/gateway-channels-test.d.ts +24 -0
- package/dist/daemon/services/gateway-channels-test.d.ts.map +1 -0
- package/dist/daemon/services/gateway-channels-test.js +66 -0
- package/dist/daemon/services/gateway-channels.d.ts +3 -3
- package/dist/daemon/services/gateway-channels.d.ts.map +1 -1
- package/dist/daemon/services/gateway-channels.js +68 -7
- package/dist/daemon/services/gateway.d.ts +48 -3
- package/dist/daemon/services/gateway.d.ts.map +1 -1
- package/dist/daemon/services/gateway.js +606 -60
- package/dist/daemon/services/github-app-setup.d.ts +3 -3
- package/dist/daemon/services/github-app-setup.d.ts.map +1 -1
- package/dist/daemon/services/groups.d.ts +5 -5
- package/dist/daemon/services/groups.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.d.ts +34 -2
- package/dist/daemon/services/health-monitor.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.js +145 -23
- package/dist/daemon/services/knowledge-document-edits.d.ts +3 -3
- package/dist/daemon/services/knowledge-document-edits.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.d.ts +3 -3
- package/dist/daemon/services/knowledge-documents.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.js +92 -7
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts +7 -2
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-embedding-indexer.js +37 -3
- package/dist/daemon/services/knowledge-graph.d.ts +3 -3
- package/dist/daemon/services/knowledge-graph.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-indexing.d.ts +3 -3
- package/dist/daemon/services/knowledge-indexing.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.d.ts +3 -3
- package/dist/daemon/services/knowledge-namespaces.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.js +72 -8
- package/dist/daemon/services/knowledge-reindex.d.ts +3 -3
- package/dist/daemon/services/knowledge-reindex.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-reindex.js +28 -1
- package/dist/daemon/services/knowledge-search.d.ts +3 -3
- package/dist/daemon/services/knowledge-search.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.d.ts +3 -3
- package/dist/daemon/services/knowledge-settings.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.js +24 -0
- package/dist/daemon/services/knowledge-versions.d.ts +3 -3
- package/dist/daemon/services/knowledge-versions.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-versions.js +68 -7
- package/dist/daemon/services/leaderboard.d.ts +14 -6
- package/dist/daemon/services/leaderboard.d.ts.map +1 -1
- package/dist/daemon/services/leaderboard.js +74 -15
- package/dist/daemon/services/local-actions.d.ts +13 -0
- package/dist/daemon/services/local-actions.d.ts.map +1 -0
- package/dist/daemon/services/local-actions.js +120 -0
- package/dist/daemon/services/mcp-servers.d.ts +3 -3
- package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/mcp-servers.js +68 -7
- package/dist/daemon/services/messages.d.ts +10 -6
- package/dist/daemon/services/messages.d.ts.map +1 -1
- package/dist/daemon/services/messages.js +87 -7
- package/dist/daemon/services/repos.d.ts +6 -6
- package/dist/daemon/services/repos.d.ts.map +1 -1
- package/dist/daemon/services/repos.js +131 -32
- package/dist/daemon/services/scheduler.d.ts +23 -27
- package/dist/daemon/services/scheduler.d.ts.map +1 -1
- package/dist/daemon/services/scheduler.js +55 -28
- package/dist/daemon/services/schedules.d.ts +3 -3
- package/dist/daemon/services/schedules.d.ts.map +1 -1
- package/dist/daemon/services/schedules.js +68 -7
- package/dist/daemon/services/session-env-selections.d.ts +3 -3
- package/dist/daemon/services/session-env-selections.d.ts.map +1 -1
- package/dist/daemon/services/session-mcp-servers.d.ts +3 -3
- package/dist/daemon/services/session-mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/session-token-service.d.ts.map +1 -1
- package/dist/daemon/services/session-token-service.js +3 -0
- package/dist/daemon/services/sessions.d.ts +9 -5
- package/dist/daemon/services/sessions.d.ts.map +1 -1
- package/dist/daemon/services/sessions.js +143 -10
- package/dist/daemon/services/tasks.d.ts +11 -5
- package/dist/daemon/services/tasks.d.ts.map +1 -1
- package/dist/daemon/services/tasks.js +199 -39
- package/dist/daemon/services/terminals.d.ts +21 -3
- package/dist/daemon/services/terminals.d.ts.map +1 -1
- package/dist/daemon/services/terminals.js +81 -25
- package/dist/daemon/services/thread-session-map.d.ts +3 -3
- package/dist/daemon/services/thread-session-map.d.ts.map +1 -1
- package/dist/daemon/services/thread-session-map.js +68 -7
- package/dist/daemon/services/user-avatar-sync.d.ts +21 -0
- package/dist/daemon/services/user-avatar-sync.d.ts.map +1 -0
- package/dist/daemon/services/user-avatar-sync.js +267 -0
- package/dist/daemon/services/users.d.ts +29 -9
- package/dist/daemon/services/users.d.ts.map +1 -1
- package/dist/daemon/services/users.js +383 -30
- package/dist/daemon/services/zone-trigger.d.ts.map +1 -1
- package/dist/daemon/services/zone-trigger.js +17 -4
- package/dist/daemon/setup/build-info.d.ts +1 -1
- package/dist/daemon/setup/build-info.d.ts.map +1 -1
- package/dist/daemon/setup/build-info.js +5 -1
- package/dist/daemon/setup/database.d.ts +8 -3
- package/dist/daemon/setup/database.d.ts.map +1 -1
- package/dist/daemon/setup/database.js +26 -6
- package/dist/daemon/setup/first-run-admin.d.ts +2 -2
- package/dist/daemon/setup/first-run-admin.d.ts.map +1 -1
- package/dist/daemon/setup/index.js +97 -17
- package/dist/daemon/setup/socketio.d.ts +10 -1
- package/dist/daemon/setup/socketio.d.ts.map +1 -1
- package/dist/daemon/setup/socketio.js +68 -10
- package/dist/daemon/startup.d.ts +13 -2
- package/dist/daemon/startup.d.ts.map +1 -1
- package/dist/daemon/startup.js +348 -86
- package/dist/daemon/utils/append-system-message.d.ts +2 -2
- package/dist/daemon/utils/append-system-message.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.js +12 -1
- package/dist/daemon/utils/authorization.d.ts +3 -1
- package/dist/daemon/utils/authorization.d.ts.map +1 -1
- package/dist/daemon/utils/authorization.js +21 -6
- package/dist/daemon/utils/branch-authorization.d.ts +30 -0
- package/dist/daemon/utils/branch-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/branch-authorization.js +63 -5
- package/dist/daemon/utils/branch-inspect.d.ts +1 -0
- package/dist/daemon/utils/branch-inspect.d.ts.map +1 -1
- package/dist/daemon/utils/branch-inspect.js +11 -3
- package/dist/daemon/utils/executor-read-impersonation.d.ts +2 -2
- package/dist/daemon/utils/executor-read-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-impersonation.d.ts +10 -10
- package/dist/daemon/utils/git-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.d.ts +3 -3
- package/dist/daemon/utils/git-remote-credential-scan.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.js +6 -2
- package/dist/daemon/utils/mcp-token-authorization.d.ts +18 -13
- package/dist/daemon/utils/mcp-token-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/mcp-token-authorization.js +11 -5
- package/dist/daemon/utils/open-source-telemetry-config.d.ts +6 -0
- package/dist/daemon/utils/open-source-telemetry-config.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-config.js +21 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts +7 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.js +15 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts +9 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-usage.js +121 -0
- package/dist/daemon/utils/realign-repo-origin.d.ts +3 -3
- package/dist/daemon/utils/realign-repo-origin.d.ts.map +1 -1
- package/dist/daemon/utils/realign-repo-origin.js +47 -16
- package/dist/daemon/utils/realtime-publish.d.ts +2 -0
- package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-publish.js +51 -10
- package/dist/daemon/utils/session-state-hooks.d.ts +3 -3
- package/dist/daemon/utils/session-state-hooks.d.ts.map +1 -1
- package/dist/daemon/utils/session-turn-lock.d.ts +8 -1
- package/dist/daemon/utils/session-turn-lock.d.ts.map +1 -1
- package/dist/daemon/utils/session-turn-lock.js +25 -2
- package/dist/daemon/utils/spawn-executor.d.ts +23 -1
- package/dist/daemon/utils/spawn-executor.d.ts.map +1 -1
- package/dist/daemon/utils/spawn-executor.js +34 -4
- package/dist/daemon/utils/tenant-db-scope.d.ts +20 -0
- package/dist/daemon/utils/tenant-db-scope.d.ts.map +1 -0
- package/dist/daemon/utils/tenant-db-scope.js +114 -0
- package/dist/daemon/utils/unix-group-init.d.ts +3 -3
- package/dist/daemon/utils/unix-group-init.d.ts.map +1 -1
- package/dist/daemon/utils/upload.d.ts +6 -9
- package/dist/daemon/utils/upload.d.ts.map +1 -1
- package/dist/daemon/utils/upload.js +30 -37
- package/dist/daemon/widgets/env-vars/index.d.ts +26 -1
- package/dist/daemon/widgets/env-vars/index.d.ts.map +1 -1
- package/dist/daemon/widgets/env-vars/index.js +145 -21
- package/dist/daemon/widgets/index.js +137 -21
- package/dist/executor/commands/environment.d.ts.map +1 -1
- package/dist/executor/commands/environment.js +9 -5
- package/dist/executor/commands/git.js +1 -1
- package/dist/executor/git/index.d.ts +8 -0
- package/dist/executor/git/index.d.ts.map +1 -0
- package/dist/executor/git/index.js +7 -0
- package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/base-executor.js +4 -1
- package/dist/executor/handlers/sdk/git-safe-directory.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/git-safe-directory.js +1 -1
- package/dist/executor/sdk-handlers/base/diff-enrichment.js +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +6 -10
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +12 -15
- package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/normalizer.js +11 -1
- package/dist/executor/sdk-handlers/codex/pricing/litellm-openai-model-prices.json +3663 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts +31 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts.map +1 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.js +46 -0
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.js +61 -6
- package/dist/executor/sdk-handlers/codex/usage.d.ts +14 -23
- package/dist/executor/sdk-handlers/codex/usage.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/usage.js +18 -33
- package/dist/executor/services/feathers-client.js +5 -5
- package/dist/git/index.cjs +1101 -0
- package/dist/git/index.d.ts +533 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +1022 -0
- package/dist/git/package.json +21 -0
- package/dist/git/pure.cjs +185 -0
- package/dist/git/pure.d.ts +39 -0
- package/dist/git/pure.d.ts.map +1 -0
- package/dist/git/pure.js +139 -0
- package/dist/ui/assets/AgorEmojiPickerInner-DQjr8M3_.js +1 -0
- package/dist/ui/assets/App-hJtcOxHv.js +5 -0
- package/dist/ui/assets/App-hJtcOxHv.js.gz +0 -0
- package/dist/ui/assets/AppNode-BhuMpn8O.js +1 -0
- package/dist/ui/assets/AppNode-BhuMpn8O.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js +1 -0
- package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js +9 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js.gz +0 -0
- package/dist/ui/assets/ArtifactNode-BzQcrwFS.js +9 -0
- package/dist/ui/assets/ArtifactNode-BzQcrwFS.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js +19 -0
- package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js +34 -0
- package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js +7 -0
- package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js.gz +0 -0
- package/dist/ui/assets/ConversationView-9-3ma1u-.js +1 -0
- package/dist/ui/assets/ConversationView-9-3ma1u-.js.gz +0 -0
- package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js +2 -0
- package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js +24 -0
- package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js.gz +0 -0
- package/dist/ui/assets/{MarketingScreenshotPage-zv5RUCuV.js → MarketingScreenshotPage-CmDPBHOl.js} +2 -2
- package/dist/ui/assets/MarketingScreenshotPage-CmDPBHOl.js.gz +0 -0
- package/dist/ui/assets/MobileApp-BpgSG_gz.js +1 -0
- package/dist/ui/assets/MobileApp-BpgSG_gz.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-B6_mtlxK.js +13 -0
- package/dist/ui/assets/SessionCanvas-B6_mtlxK.js.gz +0 -0
- package/dist/ui/assets/{SessionCanvas-mEmYGZhC.css → SessionCanvas-Bh7Yg5dZ.css} +1 -1
- package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css.gz +0 -0
- package/dist/ui/assets/{StreamdownDemoPage-wzWaqWwr.js → StreamdownDemoPage-okKKR2QH.js} +2 -2
- package/dist/ui/assets/StreamdownDemoPage-okKKR2QH.js.gz +0 -0
- package/dist/ui/assets/TerminalModal-D9jMGZXv.js +2 -0
- package/dist/ui/assets/TerminalModal-D9jMGZXv.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js +1 -0
- package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js.gz +0 -0
- package/dist/ui/assets/ThemedSyntaxHighlighter.inner-C1FdIHn0.js +1 -0
- package/dist/ui/assets/{antd-CfbbHJOz.js → antd-DT5ackd0.js} +5 -5
- package/dist/ui/assets/{antd-CfbbHJOz.js.gz → antd-DT5ackd0.js.gz} +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-DMnxkQRZ.js +1 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js +36 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js.gz +0 -0
- package/dist/ui/assets/{blockDiagram-VD42YOAC-BhZaEN19.js → blockDiagram-VD42YOAC-Dh1_TVW2.js} +4 -4
- package/dist/ui/assets/blockDiagram-VD42YOAC-Dh1_TVW2.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dk_UH-sY.js → c4Diagram-YG6GDRKO-B1e96AcB.js} +2 -2
- package/dist/ui/assets/c4Diagram-YG6GDRKO-B1e96AcB.js.gz +0 -0
- package/dist/ui/assets/channel-Jv4dT4S5.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-XprbG2TG.js → chunk-4BX2VUAB-BODpCjJx.js} +1 -1
- package/dist/ui/assets/chunk-55IACEB6-lJXvUquf.js +1 -0
- package/dist/ui/assets/{chunk-ABZYJK2D-BJcrryHK.js → chunk-ABZYJK2D-DCTXWSzV.js} +3 -3
- package/dist/ui/assets/chunk-ABZYJK2D-DCTXWSzV.js.gz +0 -0
- package/dist/ui/assets/{chunk-AGHRB4JF-DvxmfbM0.js → chunk-AGHRB4JF-CbNphBjE.js} +1 -1
- package/dist/ui/assets/chunk-AGHRB4JF-CbNphBjE.js.gz +0 -0
- package/dist/ui/assets/{chunk-ATLVNIR6-DbeJ0OrR.js → chunk-ATLVNIR6-rWg3qxof.js} +1 -1
- package/dist/ui/assets/chunk-ATLVNIR6-rWg3qxof.js.gz +0 -0
- package/dist/ui/assets/{chunk-B4BG7PRW-C53q2ggf.js → chunk-B4BG7PRW-CgtLCbpE.js} +3 -3
- package/dist/ui/assets/chunk-B4BG7PRW-CgtLCbpE.js.gz +0 -0
- package/dist/ui/assets/{chunk-CVBHYZKI-B3EBSlb3.js → chunk-CVBHYZKI-DTL6Zgr0.js} +1 -1
- package/dist/ui/assets/{chunk-DI55MBZ5-vIyNEQN-.js → chunk-DI55MBZ5-Dwvx2Kva.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-Dwvx2Kva.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-DHyaqTsP.js +1 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-rddmfK-Z.js → chunk-FMBD7UC4-BogA_9CV.js} +1 -1
- package/dist/ui/assets/{chunk-HN2XXSSU-Dttqcg3b.js → chunk-HN2XXSSU-2blQO3Gb.js} +1 -1
- package/dist/ui/assets/chunk-HN2XXSSU-2blQO3Gb.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js +11 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js.gz +0 -0
- package/dist/ui/assets/{chunk-JZLCHNYA-EUmx2y4H.js → chunk-JZLCHNYA-BsgZ79Fa.js} +5 -5
- package/dist/ui/assets/chunk-JZLCHNYA-BsgZ79Fa.js.gz +0 -0
- package/dist/ui/assets/{chunk-MI3HLSF2-65n9Mkyc.js → chunk-MI3HLSF2-dwYeUy5S.js} +1 -1
- package/dist/ui/assets/chunk-MI3HLSF2-dwYeUy5S.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js +2 -0
- package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js.gz +0 -0
- package/dist/ui/assets/{chunk-QN33PNHL-DsRKK6NR.js → chunk-QN33PNHL-DxdIDCAa.js} +1 -1
- package/dist/ui/assets/{chunk-QXUST7PY-BCYnMiS3.js → chunk-QXUST7PY-BCK2V0i-.js} +2 -2
- package/dist/ui/assets/chunk-QXUST7PY-BCK2V0i-.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-CALjGrEE.js +1 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js +2 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js.gz +0 -0
- package/dist/ui/assets/{chunk-TZMSLE5B-BuQUQcTr.js → chunk-TZMSLE5B-dX5RaM6g.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-dX5RaM6g.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-C3_RVP70.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-C3_RVP70.js +1 -0
- package/dist/ui/assets/constants-GjIDNVyt.js +1 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-CnPB3ARO.js → cose-bilkent-S5V4N54A-Dx0BJVDl.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-Dx0BJVDl.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-DhS-k_Se.js → dagre-6UL2VRFP-DiQSUxqN.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-DiQSUxqN.js.gz +0 -0
- package/dist/ui/assets/{dagre-KgLoHEuy.js → dagre-Bekd9Vdj.js} +1 -1
- package/dist/ui/assets/dagre-Bekd9Vdj.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js +24 -0
- package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-BPCitvbo.js → diagram-QEK2KX5R-CobkCRdj.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-CobkCRdj.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-NW4uK6sx.js → diagram-S2PKOQOG-DHEZYivc.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-DHEZYivc.js.gz +0 -0
- package/dist/ui/assets/editor-DQIG-JYZ.js +43 -0
- package/dist/ui/assets/editor-DQIG-JYZ.js.gz +0 -0
- package/dist/ui/assets/emoji-B0hLmSLZ.js +3 -0
- package/dist/ui/assets/emoji-B0hLmSLZ.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-me1fboaf.js → erDiagram-Q2GNP2WA-BVNeTZPQ.js} +2 -2
- package/dist/ui/assets/erDiagram-Q2GNP2WA-BVNeTZPQ.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js +162 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js +267 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js.gz +0 -0
- package/dist/ui/assets/{gitGraph-F6HP7TQM-CfFE_uAC.js → gitGraph-F6HP7TQM-DMFIqn4h.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js +65 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js.gz +0 -0
- package/dist/ui/assets/index-DTz1Dif6.js +64 -0
- package/dist/ui/assets/index-DTz1Dif6.js.gz +0 -0
- package/dist/ui/assets/{index-DxuPq13l.css → index-qkT7Qqm2.css} +1 -1
- package/dist/ui/assets/index-qkT7Qqm2.css.gz +0 -0
- package/dist/ui/assets/{info-NVLQJR56-i_xHYg3f.js → info-NVLQJR56-DZ3K-w48.js} +1 -1
- package/dist/ui/assets/{infoDiagram-ER5ION4S-2NL93b78.js → infoDiagram-ER5ION4S-CxnBJQu6.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CZF-2DHU.js → journeyDiagram-XKPGCS4Q-CHYNj-f8.js} +3 -3
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHYNj-f8.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-CfvJIOny.js → kanban-definition-3W4ZIXB7-DQPCCsj2.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-DQPCCsj2.js.gz +0 -0
- package/dist/ui/assets/{line-DDv8kOJk.js → line-DBRjKmfa.js} +1 -1
- package/dist/ui/assets/{linear-Daef-l29.js → linear-DFao5Wyp.js} +1 -1
- package/dist/ui/assets/linear-DFao5Wyp.js.gz +0 -0
- package/dist/ui/assets/{mermaid-parser.core-CdK9QgYV.js → mermaid-parser.core-DYCfacHj.js} +2 -2
- package/dist/ui/assets/mermaid-parser.core-DYCfacHj.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-C6xGFSdE.js +11 -0
- package/dist/ui/assets/mermaid.core-C6xGFSdE.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-Cb3QMflX.js → mindmap-definition-VGOIOE7T-L3Pw-YM7.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-L3Pw-YM7.js.gz +0 -0
- package/dist/ui/assets/{packet-BFZMPI3H-Bm2uwz4i.js → packet-BFZMPI3H-CpL6iNoa.js} +1 -1
- package/dist/ui/assets/{particles-DsJFOarW.js → particles-CT8hcJOA.js} +1 -1
- package/dist/ui/assets/particles-CT8hcJOA.js.gz +0 -0
- package/dist/ui/assets/{pie-7BOR55EZ-5i17tVnF.js → pie-7BOR55EZ-hTqChbTo.js} +1 -1
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-BxIwQWvw.js → pieDiagram-ADFJNKIX-Bf4Nou75.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-Bf4Nou75.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-B5HPe4ga.js → quadrantDiagram-AYHSOK5B-DpjUTLB1.js} +3 -3
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DpjUTLB1.js.gz +0 -0
- package/dist/ui/assets/{radar-NHE76QYJ-BTn-tq0k.js → radar-NHE76QYJ-myy7OENC.js} +1 -1
- package/dist/ui/assets/reactflow-Cubtnk8i.js +2 -0
- package/dist/ui/assets/reactflow-Cubtnk8i.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-YfI6llkX.js → requirementDiagram-UZGBJVZJ-Bfrfh-0-.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bfrfh-0-.js.gz +0 -0
- package/dist/ui/assets/{sandpack-D7koO5op.js → sandpack-C58bwfIS.js} +38 -38
- package/dist/ui/assets/sandpack-C58bwfIS.js.gz +0 -0
- package/dist/ui/assets/sandpackDefaults-Bkga8XAE.js +1 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js +10 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-DAe4Um17.js → sequenceDiagram-WL72ISMW-CNgly63p.js} +6 -6
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CNgly63p.js.gz +0 -0
- package/dist/ui/assets/src-DAeyG22O.js +34 -0
- package/dist/ui/assets/src-DAeyG22O.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js +1 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-BNL52_oN.js +1 -0
- package/dist/ui/assets/streamdown-BdAVfkeF.js +521 -0
- package/dist/ui/assets/streamdown-BdAVfkeF.js.gz +0 -0
- package/dist/ui/assets/syntax-BOfTnQiy.js +9 -0
- package/dist/ui/assets/syntax-BOfTnQiy.js.gz +0 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-D6P5txjT.js → timeline-definition-IT6M3QCI-CaRH3k4l.js} +16 -16
- package/dist/ui/assets/timeline-definition-IT6M3QCI-CaRH3k4l.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-Bitm3gy4.js → treemap-KMMF4GRG-CUaLOV_B.js} +1 -1
- package/dist/ui/assets/{useUserLocalStorage-Ckb8HsIw.js → useUserLocalStorage-C8sgXgXR.js} +1 -1
- package/dist/ui/assets/useUserLocalStorage-C8sgXgXR.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CsybjUbd.js → xychartDiagram-PRI3JC2R-BlhkI9T_.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-BlhkI9T_.js.gz +0 -0
- package/dist/ui/index.html +10 -11
- package/dist/ui/index.html.gz +0 -0
- package/package.json +6 -5
- package/scripts/postinstall.js +27 -19
- package/dist/cli/commands/daemon/sync.d.ts.map +0 -1
- package/dist/ui/assets/App-DcEY8Ota.js +0 -3
- package/dist/ui/assets/App-DcEY8Ota.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js +0 -1
- package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js +0 -9
- package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js +0 -18
- package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js +0 -34
- package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js +0 -8
- package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js.gz +0 -0
- package/dist/ui/assets/ConversationView-CUWR0gR6.js +0 -1
- package/dist/ui/assets/ConversationView-CUWR0gR6.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-B2bzlXfn.js +0 -24
- package/dist/ui/assets/KnowledgePage-B2bzlXfn.js.gz +0 -0
- package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js.gz +0 -0
- package/dist/ui/assets/MobileApp-VgVnsnsN.js +0 -1
- package/dist/ui/assets/MobileApp-VgVnsnsN.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js +0 -20
- package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-mEmYGZhC.css.gz +0 -0
- package/dist/ui/assets/StreamdownDemoPage-wzWaqWwr.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js +0 -1
- package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js.gz +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-CykGFbQU.js +0 -1
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js +0 -36
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js.gz +0 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-BhZaEN19.js.gz +0 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-Dk_UH-sY.js.gz +0 -0
- package/dist/ui/assets/channel-D6_nUWlW.js +0 -1
- package/dist/ui/assets/chunk-55IACEB6-ByzqIgSb.js +0 -1
- package/dist/ui/assets/chunk-ABZYJK2D-BJcrryHK.js.gz +0 -0
- package/dist/ui/assets/chunk-AGHRB4JF-DvxmfbM0.js.gz +0 -0
- package/dist/ui/assets/chunk-ATLVNIR6-DbeJ0OrR.js.gz +0 -0
- package/dist/ui/assets/chunk-B4BG7PRW-C53q2ggf.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-vIyNEQN-.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-B3ObkuOm.js +0 -1
- package/dist/ui/assets/chunk-HN2XXSSU-Dttqcg3b.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js +0 -11
- package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js.gz +0 -0
- package/dist/ui/assets/chunk-JZLCHNYA-EUmx2y4H.js.gz +0 -0
- package/dist/ui/assets/chunk-MI3HLSF2-65n9Mkyc.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js +0 -2
- package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js.gz +0 -0
- package/dist/ui/assets/chunk-QXUST7PY-BCYnMiS3.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-HucAw4xW.js +0 -1
- package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js +0 -2
- package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-BuQUQcTr.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-CUT3rPTB.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-CUT3rPTB.js +0 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-CnPB3ARO.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-DhS-k_Se.js.gz +0 -0
- package/dist/ui/assets/dagre-KgLoHEuy.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js +0 -24
- package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-BPCitvbo.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-NW4uK6sx.js.gz +0 -0
- package/dist/ui/assets/editor-CzFWIUw2.js +0 -39
- package/dist/ui/assets/editor-CzFWIUw2.js.gz +0 -0
- package/dist/ui/assets/emoji-Dkz4Zzv_.js +0 -3
- package/dist/ui/assets/emoji-Dkz4Zzv_.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-me1fboaf.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js +0 -162
- package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js +0 -267
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js +0 -65
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js.gz +0 -0
- package/dist/ui/assets/index-BN5_Qq7R.js +0 -324
- package/dist/ui/assets/index-BN5_Qq7R.js.gz +0 -0
- package/dist/ui/assets/index-DxuPq13l.css.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CZF-2DHU.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-CfvJIOny.js.gz +0 -0
- package/dist/ui/assets/katex-CamJ39w1.js +0 -257
- package/dist/ui/assets/katex-CamJ39w1.js.gz +0 -0
- package/dist/ui/assets/linear-Daef-l29.js.gz +0 -0
- package/dist/ui/assets/mermaid-parser.core-CdK9QgYV.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-D6GS9mU-.js +0 -11
- package/dist/ui/assets/mermaid.core-D6GS9mU-.js.gz +0 -0
- package/dist/ui/assets/message-SqLqNYcv.js +0 -36
- package/dist/ui/assets/message-SqLqNYcv.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-Cb3QMflX.js.gz +0 -0
- package/dist/ui/assets/particles-DsJFOarW.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-BxIwQWvw.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-B5HPe4ga.js.gz +0 -0
- package/dist/ui/assets/reactflow-Bf74ngoo.js +0 -2
- package/dist/ui/assets/reactflow-Bf74ngoo.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-YfI6llkX.js.gz +0 -0
- package/dist/ui/assets/sandpack-D7koO5op.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js +0 -10
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-DAe4Um17.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js +0 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CMlIrsoO.js +0 -1
- package/dist/ui/assets/syntax-C-M-8jOU.js +0 -10
- package/dist/ui/assets/syntax-C-M-8jOU.js.gz +0 -0
- package/dist/ui/assets/theme-BQZdiqwv.js +0 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-D6P5txjT.js.gz +0 -0
- package/dist/ui/assets/useUserLocalStorage-Ckb8HsIw.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CsybjUbd.js.gz +0 -0
- /package/dist/cli/commands/{admin → local}/sync-unix.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/services/schedules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/services/schedules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAsB,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC;IACvC,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,CAAC,GACA,mBAAmB,CAAC;AAEtB,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;gBACnF,EAAE,EAAE,wBAAwB;CAWzC;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,wBAAwB,GAAG,gBAAgB,CAErF"}
|
|
@@ -19,6 +19,34 @@ var DrizzleService = class {
|
|
|
19
19
|
// Event emitter for FeathersJS (will be injected by framework)
|
|
20
20
|
// biome-ignore lint/suspicious/noExplicitAny: FeathersJS event system
|
|
21
21
|
emit;
|
|
22
|
+
/** Extract resolved tenant context from Feathers params. */
|
|
23
|
+
getTenant(params) {
|
|
24
|
+
return params?.tenant;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Whether a row belongs to the current tenant. Rows from pre-migration test
|
|
28
|
+
* fixtures that do not expose tenant_id are treated as visible so existing
|
|
29
|
+
* single-tenant unit tests keep working; migrated DB rows always carry it.
|
|
30
|
+
*/
|
|
31
|
+
rowBelongsToTenant(row, tenant) {
|
|
32
|
+
if (!tenant) return true;
|
|
33
|
+
const record = row;
|
|
34
|
+
if (!("tenant_id" in record)) return true;
|
|
35
|
+
return record.tenant_id === tenant.tenant_id;
|
|
36
|
+
}
|
|
37
|
+
/** Stamp tenant_id onto created rows and prevent client-supplied drift. */
|
|
38
|
+
withTenant(data, params) {
|
|
39
|
+
const tenant = this.getTenant(params);
|
|
40
|
+
if (!tenant || !data || typeof data !== "object" || Array.isArray(data)) return data;
|
|
41
|
+
return { ...data, tenant_id: tenant.tenant_id };
|
|
42
|
+
}
|
|
43
|
+
/** Never allow a patch/update to move a row across tenants. */
|
|
44
|
+
stripTenantMutation(data) {
|
|
45
|
+
if (!data || typeof data !== "object" || Array.isArray(data)) return data;
|
|
46
|
+
const clone = { ...data };
|
|
47
|
+
delete clone.tenant_id;
|
|
48
|
+
return clone;
|
|
49
|
+
}
|
|
22
50
|
/**
|
|
23
51
|
* Extract query parameters from params
|
|
24
52
|
*/
|
|
@@ -110,12 +138,28 @@ var DrizzleService = class {
|
|
|
110
138
|
data: paginated
|
|
111
139
|
};
|
|
112
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Resolve the candidate row set that `find` filters, sorts, and paginates.
|
|
143
|
+
*
|
|
144
|
+
* The base implementation reads the whole table and relies on `filterData` to
|
|
145
|
+
* narrow it in memory. Subclasses may override this to push high-selectivity
|
|
146
|
+
* predicates into SQL; because `find` always re-applies every query filter via
|
|
147
|
+
* `filterData`, an override only needs to return a superset of the matching
|
|
148
|
+
* rows for the result to stay identical.
|
|
149
|
+
*/
|
|
150
|
+
async fetchData(_query, _params) {
|
|
151
|
+
return this.repository.findAll();
|
|
152
|
+
}
|
|
113
153
|
/**
|
|
114
154
|
* Find records
|
|
115
155
|
*/
|
|
116
156
|
async find(params) {
|
|
117
157
|
const query = this.getQuery(params);
|
|
118
|
-
let data = await this.
|
|
158
|
+
let data = await this.fetchData(query, params);
|
|
159
|
+
const tenant = this.getTenant(params);
|
|
160
|
+
if (tenant) {
|
|
161
|
+
data = data.filter((row) => this.rowBelongsToTenant(row, tenant));
|
|
162
|
+
}
|
|
119
163
|
data = this.filterData(data, query);
|
|
120
164
|
const total = data.length;
|
|
121
165
|
data = this.sortData(data, query.$sort);
|
|
@@ -127,10 +171,13 @@ var DrizzleService = class {
|
|
|
127
171
|
*/
|
|
128
172
|
async get(id, _params) {
|
|
129
173
|
const prefetched = _params?._agorPrefetchedRecord;
|
|
130
|
-
if (prefetched && prefetched.idField === this.id && prefetched.id === String(id) && String(prefetched.record[this.id]) === String(id)) {
|
|
174
|
+
if (prefetched && prefetched.idField === this.id && prefetched.id === String(id) && String(prefetched.record[this.id]) === String(id) && this.rowBelongsToTenant(prefetched.record, this.getTenant(_params))) {
|
|
131
175
|
return prefetched.record;
|
|
132
176
|
}
|
|
133
177
|
const result = await this.repository.findById(String(id));
|
|
178
|
+
if (result && !this.rowBelongsToTenant(result, this.getTenant(_params))) {
|
|
179
|
+
throw new NotFoundError(this.resourceType, String(id));
|
|
180
|
+
}
|
|
134
181
|
if (!result) {
|
|
135
182
|
throw new NotFoundError(this.resourceType, String(id));
|
|
136
183
|
}
|
|
@@ -142,14 +189,18 @@ var DrizzleService = class {
|
|
|
142
189
|
async create(data, params) {
|
|
143
190
|
if (Array.isArray(data)) {
|
|
144
191
|
const results = await Promise.all(
|
|
145
|
-
data.map(
|
|
192
|
+
data.map(
|
|
193
|
+
(item) => this.repository.create(this.withTenant(item, params))
|
|
194
|
+
)
|
|
146
195
|
);
|
|
147
196
|
for (const result2 of results) {
|
|
148
197
|
this.emit?.("created", result2, params);
|
|
149
198
|
}
|
|
150
199
|
return results;
|
|
151
200
|
}
|
|
152
|
-
const result = await this.repository.create(
|
|
201
|
+
const result = await this.repository.create(
|
|
202
|
+
this.withTenant(data, params)
|
|
203
|
+
);
|
|
153
204
|
this.emit?.("created", result, params);
|
|
154
205
|
return result;
|
|
155
206
|
}
|
|
@@ -165,7 +216,10 @@ var DrizzleService = class {
|
|
|
165
216
|
*/
|
|
166
217
|
async update(id, data, params) {
|
|
167
218
|
await this.get(id, params);
|
|
168
|
-
const result = await this.repository.update(
|
|
219
|
+
const result = await this.repository.update(
|
|
220
|
+
String(id),
|
|
221
|
+
this.stripTenantMutation(data)
|
|
222
|
+
);
|
|
169
223
|
this.emit?.("updated", result, params);
|
|
170
224
|
return result;
|
|
171
225
|
}
|
|
@@ -179,12 +233,14 @@ var DrizzleService = class {
|
|
|
179
233
|
}
|
|
180
234
|
const query = this.getQuery(params);
|
|
181
235
|
let records = await this.repository.findAll();
|
|
236
|
+
const tenant = this.getTenant(params);
|
|
237
|
+
if (tenant) records = records.filter((row) => this.rowBelongsToTenant(row, tenant));
|
|
182
238
|
records = this.filterData(records, query);
|
|
183
239
|
const results = await Promise.all(
|
|
184
240
|
records.map(
|
|
185
241
|
(record) => this.repository.update(
|
|
186
242
|
record[this.id],
|
|
187
|
-
data
|
|
243
|
+
this.stripTenantMutation(data)
|
|
188
244
|
)
|
|
189
245
|
)
|
|
190
246
|
);
|
|
@@ -194,7 +250,10 @@ var DrizzleService = class {
|
|
|
194
250
|
return results;
|
|
195
251
|
}
|
|
196
252
|
await this.get(id, params);
|
|
197
|
-
const result = await this.repository.update(
|
|
253
|
+
const result = await this.repository.update(
|
|
254
|
+
String(id),
|
|
255
|
+
this.stripTenantMutation(data)
|
|
256
|
+
);
|
|
198
257
|
this.emit?.("patched", result, params);
|
|
199
258
|
return result;
|
|
200
259
|
}
|
|
@@ -208,6 +267,8 @@ var DrizzleService = class {
|
|
|
208
267
|
}
|
|
209
268
|
const query = this.getQuery(params);
|
|
210
269
|
let records = await this.repository.findAll();
|
|
270
|
+
const tenant = this.getTenant(params);
|
|
271
|
+
if (tenant) records = records.filter((row) => this.rowBelongsToTenant(row, tenant));
|
|
211
272
|
records = this.filterData(records, query);
|
|
212
273
|
await Promise.all(records.map((record) => this.repository.delete(record[this.id])));
|
|
213
274
|
for (const record of records) {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* granted access — session env selections expose the creator's private
|
|
15
15
|
* credentials.
|
|
16
16
|
*/
|
|
17
|
-
import { type
|
|
17
|
+
import { type TenantScopeAwareDatabase } from '@agor/core/db';
|
|
18
18
|
import type { QueryParams, SessionEnvSelection, SessionID } from '@agor/core/types';
|
|
19
19
|
/**
|
|
20
20
|
* Session-env-selection params
|
|
@@ -28,7 +28,7 @@ export type SessionEnvSelectionParams = QueryParams<{
|
|
|
28
28
|
*/
|
|
29
29
|
export declare class SessionEnvSelectionsService {
|
|
30
30
|
private repo;
|
|
31
|
-
constructor(db:
|
|
31
|
+
constructor(db: TenantScopeAwareDatabase);
|
|
32
32
|
/**
|
|
33
33
|
* List all selections for a session.
|
|
34
34
|
*/
|
|
@@ -49,5 +49,5 @@ export declare class SessionEnvSelectionsService {
|
|
|
49
49
|
/**
|
|
50
50
|
* Service factory
|
|
51
51
|
*/
|
|
52
|
-
export declare function createSessionEnvSelectionsService(db:
|
|
52
|
+
export declare function createSessionEnvSelectionsService(db: TenantScopeAwareDatabase): SessionEnvSelectionsService;
|
|
53
53
|
//# sourceMappingURL=session-env-selections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-env-selections.d.ts","sourceRoot":"","sources":["../../src/services/session-env-selections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"session-env-selections.d.ts","sourceRoot":"","sources":["../../src/services/session-env-selections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAiC,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;IAClD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH;;GAEG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,IAAI,CAAgC;gBAEhC,EAAE,EAAE,wBAAwB;IAIxC;;OAEG;IACG,IAAI,CACR,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAIjC;;OAEG;IACG,GAAG,CACP,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,MAAM,CACV,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,MAAM,CACV,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,IAAI,CAAC;CAGjB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,wBAAwB,GAC3B,2BAA2B,CAE7B"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Manages the many-to-many relationship between sessions and MCP servers.
|
|
5
5
|
* Provides API for adding/removing/toggling MCP servers for sessions.
|
|
6
6
|
*/
|
|
7
|
-
import { type
|
|
7
|
+
import { type TenantScopeAwareDatabase } from '@agor/core/db';
|
|
8
8
|
import type { MCPServer, MCPServerID, QueryParams, SessionID } from '@agor/core/types';
|
|
9
9
|
/**
|
|
10
10
|
* Session-MCP service params
|
|
@@ -20,7 +20,7 @@ export type SessionMCPParams = QueryParams<{
|
|
|
20
20
|
*/
|
|
21
21
|
export declare class SessionMCPServersService {
|
|
22
22
|
private sessionMCPRepo;
|
|
23
|
-
constructor(db:
|
|
23
|
+
constructor(db: TenantScopeAwareDatabase);
|
|
24
24
|
/**
|
|
25
25
|
* Add MCP server to session
|
|
26
26
|
*/
|
|
@@ -49,5 +49,5 @@ export declare class SessionMCPServersService {
|
|
|
49
49
|
/**
|
|
50
50
|
* Service factory function
|
|
51
51
|
*/
|
|
52
|
-
export declare function createSessionMCPServersService(db:
|
|
52
|
+
export declare function createSessionMCPServersService(db: TenantScopeAwareDatabase): SessionMCPServersService;
|
|
53
53
|
//# sourceMappingURL=session-mcp-servers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-mcp-servers.d.ts","sourceRoot":"","sources":["../../src/services/session-mcp-servers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"session-mcp-servers.d.ts","sourceRoot":"","sources":["../../src/services/session-mcp-servers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA8B,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;IACzC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC,CAAC;AAEH;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,cAAc,CAA6B;gBAEvC,EAAE,EAAE,wBAAwB;IAIxC;;OAEG;IACG,SAAS,CACb,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,YAAY,CAChB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,YAAY,CAChB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,WAAW,CACf,SAAS,EAAE,SAAS,EACpB,WAAW,UAAQ,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,SAAS,EAAE,CAAC;IAIvB;;OAEG;IACG,UAAU,CACd,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,WAAW,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,KAAK,CACT,SAAS,EAAE,SAAS,EACpB,WAAW,UAAQ,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,CAAC;CAGnB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,wBAAwB,GAC3B,wBAAwB,CAE1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-token-service.d.ts","sourceRoot":"","sources":["../../src/services/session-token-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"session-token-service.d.ts","sourceRoot":"","sources":["../../src/services/session-token-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAyBH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,SAAS,CAAuB;gBAG9B,MAAM,EAAE;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAMH;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACnE,OAAO,CAAC,MAAM,CAAC;IAoDlB;;;;;;OAMG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACpE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAqD9B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhC;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAe5C;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAU1B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// src/services/session-token-service.ts
|
|
2
|
+
import { getCurrentTenantId } from "@agor/core/db";
|
|
2
3
|
import jwt from "jsonwebtoken";
|
|
3
4
|
var DEBUG_SESSION_TOKENS = process.env.AGOR_DEBUG_SESSION_TOKENS === "1" || process.env.DEBUG?.includes("session-token");
|
|
4
5
|
function sessionTokenDebug(...args) {
|
|
@@ -30,6 +31,7 @@ var SessionTokenService = class {
|
|
|
30
31
|
}
|
|
31
32
|
const now = /* @__PURE__ */ new Date();
|
|
32
33
|
const expiresAt = new Date(now.getTime() + this.config.expiration_ms);
|
|
34
|
+
const tenantId = getCurrentTenantId();
|
|
33
35
|
const payload = {
|
|
34
36
|
sub: userId,
|
|
35
37
|
// Standard JWT subject claim (used by Feathers for user lookup)
|
|
@@ -40,6 +42,7 @@ var SessionTokenService = class {
|
|
|
40
42
|
session_id: sessionId,
|
|
41
43
|
task_id: scope.taskId,
|
|
42
44
|
branch_id: scope.branchId,
|
|
45
|
+
...tenantId ? { tenant_id: tenantId } : {},
|
|
43
46
|
iat: Math.floor(now.getTime() / 1e3),
|
|
44
47
|
// Issued at
|
|
45
48
|
exp: Math.floor(expiresAt.getTime() / 1e3),
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Provides REST + WebSocket API for session management.
|
|
5
5
|
* Uses DrizzleService adapter with SessionRepository.
|
|
6
6
|
*/
|
|
7
|
-
import { type
|
|
7
|
+
import { type SessionWithLastMessage, type TenantScopeAwareDatabase } from '@agor/core/db';
|
|
8
8
|
import { type Application } from '@agor/core/feathers';
|
|
9
|
-
import type { AuthenticatedParams, Paginated, QueryParams, Session, SessionID } from '@agor/core/types';
|
|
10
|
-
import { DrizzleService } from '../adapters/drizzle';
|
|
9
|
+
import type { AuthenticatedParams, Paginated, QueryParams, Session, SessionID, UUID } from '@agor/core/types';
|
|
10
|
+
import { DrizzleService, type Query } from '../adapters/drizzle';
|
|
11
11
|
/**
|
|
12
12
|
* Internal service params shared between services that support last-message enrichment.
|
|
13
13
|
* Bypasses Feathers query filtering for internal service-to-service calls.
|
|
@@ -28,6 +28,8 @@ export type SessionParams = QueryParams<{
|
|
|
28
28
|
}> & AuthenticatedParams & InternalEnrichmentParams & {
|
|
29
29
|
/** Root-level include_last_message flag (bypasses Feathers query filtering, used by internal service calls) */
|
|
30
30
|
_include_last_message?: boolean | 'true' | 'false';
|
|
31
|
+
/** Internal RBAC SQL pushdown marker set by register-hooks for external regular users. */
|
|
32
|
+
_agorSqlSessionAccessUserId?: UUID;
|
|
31
33
|
};
|
|
32
34
|
export declare function markRemoteRelationshipsEnrichedResult<T extends object>(result: T): T;
|
|
33
35
|
export declare function isRemoteRelationshipsEnrichedResult(result: unknown): boolean;
|
|
@@ -53,7 +55,9 @@ export declare class SessionsService extends DrizzleService<Session, Partial<Ses
|
|
|
53
55
|
private sessionEnvSelectionRepo;
|
|
54
56
|
private usersRepo;
|
|
55
57
|
private branchRepo;
|
|
56
|
-
|
|
58
|
+
private assertSupportedModelConfig;
|
|
59
|
+
constructor(db: TenantScopeAwareDatabase, app: Application);
|
|
60
|
+
protected fetchData(_query: Query, params?: SessionParams): Promise<Session[]>;
|
|
57
61
|
enrichRemoteRelationships(sessionList: Session[]): Promise<Session[]>;
|
|
58
62
|
/**
|
|
59
63
|
* Attach explicit MCP server IDs to a session.
|
|
@@ -200,5 +204,5 @@ export declare class SessionsService extends DrizzleService<Session, Partial<Ses
|
|
|
200
204
|
/**
|
|
201
205
|
* Service factory function
|
|
202
206
|
*/
|
|
203
|
-
export declare function createSessionsService(db:
|
|
207
|
+
export declare function createSessionsService(db: TenantScopeAwareDatabase, app: Application): SessionsService;
|
|
204
208
|
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/services/sessions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/services/sessions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAML,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAE9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,qBAAqB,CAAC;AAQ9E,OAAO,KAAK,EACV,mBAAmB,EAGnB,SAAS,EACT,WAAW,EACX,OAAO,EACP,SAAS,EAET,IAAI,EACL,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAgCjE;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,uGAAuG;IACvG,+BAA+B,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAClD,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC,GACA,mBAAmB,GACnB,wBAAwB,GAAG;IACzB,+GAA+G;IAC/G,qBAAqB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACnD,0FAA0F;IAC1F,2BAA2B,CAAC,EAAE,IAAI,CAAC;CACpC,CAAC;AAmCJ,wBAAgB,qCAAqC,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAGpF;AAED,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAI5E;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,CAAC;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,kBAAkB,EAAE,aAAa,CAAC;CAC1D,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAgB,SAAQ,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAC3F,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,uBAAuB,CAAgC;IAC/D,OAAO,CAAC,uBAAuB,CAAgC;IAC/D,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,0BAA0B;gBAatB,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE,WAAW;cAwB1C,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAM9E,yBAAyB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA8B3E;;;OAGG;IACG,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5F;;;OAGG;YACW,cAAc;IA0B5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;YACW,oBAAoB;IAoElC;;;;OAIG;IACG,IAAI,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1C,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC;IA6EnB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,KAAK,CACT,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,kBAAkB,EAAE,WAAW,CAAC,EACrD,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC;IA8JnB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAC,CASpB;IAEH,iBAAiB,CACf,OAAO,EAAE,CACP,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,aAAa,KACnB,OAAO,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,GACD,IAAI;IAID,WAAW,CACf,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IAOF;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAC,CAA+D;IAEtF,iBAAiB,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI1F,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/E;;;;OAIG;IACG,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,EAAE,CAAC;QACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;IAgBF;;OAEG;IACG,MAAM,CACV,EAAE,EAAE,OAAO,kBAAkB,EAAE,UAAU,EACzC,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC;IAsC/B;;;OAGG;IACG,KAAK,CACT,EAAE,EAAE,OAAO,kBAAkB,EAAE,UAAU,EACzC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC;IAqB/B;;;;OAIG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA2B9E;;;OAGG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;CAwE5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,wBAAwB,EAC5B,GAAG,EAAE,WAAW,GACf,eAAe,CAEjB"}
|
|
@@ -8,8 +8,13 @@ import {
|
|
|
8
8
|
SessionRepository,
|
|
9
9
|
UsersRepository
|
|
10
10
|
} from "@agor/core/db";
|
|
11
|
-
import { Forbidden as Forbidden2 } from "@agor/core/feathers";
|
|
12
|
-
import {
|
|
11
|
+
import { BadRequest, Forbidden as Forbidden2 } from "@agor/core/feathers";
|
|
12
|
+
import {
|
|
13
|
+
formatModelToolMismatchWarning,
|
|
14
|
+
formatUnsupportedAgorCodexModelMessage,
|
|
15
|
+
isUnsupportedAgorCodexModel,
|
|
16
|
+
lintModelToolMatch
|
|
17
|
+
} from "@agor/core/models";
|
|
13
18
|
import { resolveChildSessionConfig } from "@agor/core/sessions";
|
|
14
19
|
import { ROLES as ROLES2, SessionStatus } from "@agor/core/types";
|
|
15
20
|
|
|
@@ -30,6 +35,34 @@ var DrizzleService = class {
|
|
|
30
35
|
// Event emitter for FeathersJS (will be injected by framework)
|
|
31
36
|
// biome-ignore lint/suspicious/noExplicitAny: FeathersJS event system
|
|
32
37
|
emit;
|
|
38
|
+
/** Extract resolved tenant context from Feathers params. */
|
|
39
|
+
getTenant(params) {
|
|
40
|
+
return params?.tenant;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Whether a row belongs to the current tenant. Rows from pre-migration test
|
|
44
|
+
* fixtures that do not expose tenant_id are treated as visible so existing
|
|
45
|
+
* single-tenant unit tests keep working; migrated DB rows always carry it.
|
|
46
|
+
*/
|
|
47
|
+
rowBelongsToTenant(row, tenant) {
|
|
48
|
+
if (!tenant) return true;
|
|
49
|
+
const record = row;
|
|
50
|
+
if (!("tenant_id" in record)) return true;
|
|
51
|
+
return record.tenant_id === tenant.tenant_id;
|
|
52
|
+
}
|
|
53
|
+
/** Stamp tenant_id onto created rows and prevent client-supplied drift. */
|
|
54
|
+
withTenant(data, params) {
|
|
55
|
+
const tenant = this.getTenant(params);
|
|
56
|
+
if (!tenant || !data || typeof data !== "object" || Array.isArray(data)) return data;
|
|
57
|
+
return { ...data, tenant_id: tenant.tenant_id };
|
|
58
|
+
}
|
|
59
|
+
/** Never allow a patch/update to move a row across tenants. */
|
|
60
|
+
stripTenantMutation(data) {
|
|
61
|
+
if (!data || typeof data !== "object" || Array.isArray(data)) return data;
|
|
62
|
+
const clone = { ...data };
|
|
63
|
+
delete clone.tenant_id;
|
|
64
|
+
return clone;
|
|
65
|
+
}
|
|
33
66
|
/**
|
|
34
67
|
* Extract query parameters from params
|
|
35
68
|
*/
|
|
@@ -121,12 +154,28 @@ var DrizzleService = class {
|
|
|
121
154
|
data: paginated
|
|
122
155
|
};
|
|
123
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Resolve the candidate row set that `find` filters, sorts, and paginates.
|
|
159
|
+
*
|
|
160
|
+
* The base implementation reads the whole table and relies on `filterData` to
|
|
161
|
+
* narrow it in memory. Subclasses may override this to push high-selectivity
|
|
162
|
+
* predicates into SQL; because `find` always re-applies every query filter via
|
|
163
|
+
* `filterData`, an override only needs to return a superset of the matching
|
|
164
|
+
* rows for the result to stay identical.
|
|
165
|
+
*/
|
|
166
|
+
async fetchData(_query, _params) {
|
|
167
|
+
return this.repository.findAll();
|
|
168
|
+
}
|
|
124
169
|
/**
|
|
125
170
|
* Find records
|
|
126
171
|
*/
|
|
127
172
|
async find(params) {
|
|
128
173
|
const query = this.getQuery(params);
|
|
129
|
-
let data = await this.
|
|
174
|
+
let data = await this.fetchData(query, params);
|
|
175
|
+
const tenant = this.getTenant(params);
|
|
176
|
+
if (tenant) {
|
|
177
|
+
data = data.filter((row) => this.rowBelongsToTenant(row, tenant));
|
|
178
|
+
}
|
|
130
179
|
data = this.filterData(data, query);
|
|
131
180
|
const total = data.length;
|
|
132
181
|
data = this.sortData(data, query.$sort);
|
|
@@ -138,10 +187,13 @@ var DrizzleService = class {
|
|
|
138
187
|
*/
|
|
139
188
|
async get(id, _params) {
|
|
140
189
|
const prefetched = _params?._agorPrefetchedRecord;
|
|
141
|
-
if (prefetched && prefetched.idField === this.id && prefetched.id === String(id) && String(prefetched.record[this.id]) === String(id)) {
|
|
190
|
+
if (prefetched && prefetched.idField === this.id && prefetched.id === String(id) && String(prefetched.record[this.id]) === String(id) && this.rowBelongsToTenant(prefetched.record, this.getTenant(_params))) {
|
|
142
191
|
return prefetched.record;
|
|
143
192
|
}
|
|
144
193
|
const result = await this.repository.findById(String(id));
|
|
194
|
+
if (result && !this.rowBelongsToTenant(result, this.getTenant(_params))) {
|
|
195
|
+
throw new NotFoundError(this.resourceType, String(id));
|
|
196
|
+
}
|
|
145
197
|
if (!result) {
|
|
146
198
|
throw new NotFoundError(this.resourceType, String(id));
|
|
147
199
|
}
|
|
@@ -153,14 +205,18 @@ var DrizzleService = class {
|
|
|
153
205
|
async create(data, params) {
|
|
154
206
|
if (Array.isArray(data)) {
|
|
155
207
|
const results = await Promise.all(
|
|
156
|
-
data.map(
|
|
208
|
+
data.map(
|
|
209
|
+
(item) => this.repository.create(this.withTenant(item, params))
|
|
210
|
+
)
|
|
157
211
|
);
|
|
158
212
|
for (const result2 of results) {
|
|
159
213
|
this.emit?.("created", result2, params);
|
|
160
214
|
}
|
|
161
215
|
return results;
|
|
162
216
|
}
|
|
163
|
-
const result = await this.repository.create(
|
|
217
|
+
const result = await this.repository.create(
|
|
218
|
+
this.withTenant(data, params)
|
|
219
|
+
);
|
|
164
220
|
this.emit?.("created", result, params);
|
|
165
221
|
return result;
|
|
166
222
|
}
|
|
@@ -176,7 +232,10 @@ var DrizzleService = class {
|
|
|
176
232
|
*/
|
|
177
233
|
async update(id, data, params) {
|
|
178
234
|
await this.get(id, params);
|
|
179
|
-
const result = await this.repository.update(
|
|
235
|
+
const result = await this.repository.update(
|
|
236
|
+
String(id),
|
|
237
|
+
this.stripTenantMutation(data)
|
|
238
|
+
);
|
|
180
239
|
this.emit?.("updated", result, params);
|
|
181
240
|
return result;
|
|
182
241
|
}
|
|
@@ -190,12 +249,14 @@ var DrizzleService = class {
|
|
|
190
249
|
}
|
|
191
250
|
const query = this.getQuery(params);
|
|
192
251
|
let records = await this.repository.findAll();
|
|
252
|
+
const tenant = this.getTenant(params);
|
|
253
|
+
if (tenant) records = records.filter((row) => this.rowBelongsToTenant(row, tenant));
|
|
193
254
|
records = this.filterData(records, query);
|
|
194
255
|
const results = await Promise.all(
|
|
195
256
|
records.map(
|
|
196
257
|
(record) => this.repository.update(
|
|
197
258
|
record[this.id],
|
|
198
|
-
data
|
|
259
|
+
this.stripTenantMutation(data)
|
|
199
260
|
)
|
|
200
261
|
)
|
|
201
262
|
);
|
|
@@ -205,7 +266,10 @@ var DrizzleService = class {
|
|
|
205
266
|
return results;
|
|
206
267
|
}
|
|
207
268
|
await this.get(id, params);
|
|
208
|
-
const result = await this.repository.update(
|
|
269
|
+
const result = await this.repository.update(
|
|
270
|
+
String(id),
|
|
271
|
+
this.stripTenantMutation(data)
|
|
272
|
+
);
|
|
209
273
|
this.emit?.("patched", result, params);
|
|
210
274
|
return result;
|
|
211
275
|
}
|
|
@@ -219,6 +283,8 @@ var DrizzleService = class {
|
|
|
219
283
|
}
|
|
220
284
|
const query = this.getQuery(params);
|
|
221
285
|
let records = await this.repository.findAll();
|
|
286
|
+
const tenant = this.getTenant(params);
|
|
287
|
+
if (tenant) records = records.filter((row) => this.rowBelongsToTenant(row, tenant));
|
|
222
288
|
records = this.filterData(records, query);
|
|
223
289
|
await Promise.all(records.map((record) => this.repository.delete(record[this.id])));
|
|
224
290
|
for (const record of records) {
|
|
@@ -310,6 +376,25 @@ function getInheritableConfig(parent) {
|
|
|
310
376
|
model_config: parent.model_config
|
|
311
377
|
};
|
|
312
378
|
}
|
|
379
|
+
function shouldSqlPageSessionQuery(query, forcePage = false) {
|
|
380
|
+
if (!query) return forcePage;
|
|
381
|
+
const sort = query.$sort;
|
|
382
|
+
const wantsRecency = !!sort && sort.updated_at !== void 0;
|
|
383
|
+
const wantsBoard = query.board_id !== void 0;
|
|
384
|
+
if (!wantsRecency && !wantsBoard && !forcePage) return false;
|
|
385
|
+
const allowedKeys = /* @__PURE__ */ new Set(["archived", "board_id", "$sort", "$limit", "$skip"]);
|
|
386
|
+
for (const key of Object.keys(query)) {
|
|
387
|
+
if (!allowedKeys.has(key)) return false;
|
|
388
|
+
}
|
|
389
|
+
if (query.archived !== void 0 && typeof query.archived !== "boolean") return false;
|
|
390
|
+
if (wantsBoard && typeof query.board_id !== "string") return false;
|
|
391
|
+
if (sort) {
|
|
392
|
+
const sortKeys = Object.keys(sort);
|
|
393
|
+
if (sortKeys.length !== 1 || sortKeys[0] !== "updated_at") return false;
|
|
394
|
+
if (sort.updated_at !== 1 && sort.updated_at !== -1) return false;
|
|
395
|
+
}
|
|
396
|
+
return true;
|
|
397
|
+
}
|
|
313
398
|
var remoteRelationshipsEnrichedResults = /* @__PURE__ */ new WeakSet();
|
|
314
399
|
function markRemoteRelationshipsEnrichedResult(result) {
|
|
315
400
|
remoteRelationshipsEnrichedResults.add(result);
|
|
@@ -326,6 +411,11 @@ var SessionsService = class extends DrizzleService {
|
|
|
326
411
|
sessionEnvSelectionRepo;
|
|
327
412
|
usersRepo;
|
|
328
413
|
branchRepo;
|
|
414
|
+
assertSupportedModelConfig(agenticTool, modelConfig) {
|
|
415
|
+
if (agenticTool === "codex" && modelConfig?.model && isUnsupportedAgorCodexModel(modelConfig.model)) {
|
|
416
|
+
throw new BadRequest(formatUnsupportedAgorCodexModelMessage(modelConfig.model));
|
|
417
|
+
}
|
|
418
|
+
}
|
|
329
419
|
constructor(db, app) {
|
|
330
420
|
const sessionRepo = new SessionRepository(db);
|
|
331
421
|
super(sessionRepo, {
|
|
@@ -346,6 +436,11 @@ var SessionsService = class extends DrizzleService {
|
|
|
346
436
|
this.branchRepo = new BranchRepository(db);
|
|
347
437
|
this.usersRepo = new UsersRepository(db);
|
|
348
438
|
}
|
|
439
|
+
async fetchData(_query, params) {
|
|
440
|
+
return this.sessionRepo.findAll({
|
|
441
|
+
visibleToUserId: params?._agorSqlSessionAccessUserId
|
|
442
|
+
});
|
|
443
|
+
}
|
|
349
444
|
async enrichRemoteRelationships(sessionList) {
|
|
350
445
|
const sessionIds = sessionList.map((session) => session.session_id);
|
|
351
446
|
if (sessionIds.length === 0) return sessionList;
|
|
@@ -493,6 +588,8 @@ var SessionsService = class extends DrizzleService {
|
|
|
493
588
|
async fork(id, data, params) {
|
|
494
589
|
const parent = await this.get(id, params);
|
|
495
590
|
const { created_by, unix_username } = await this.resolveChildIdentity(parent, params);
|
|
591
|
+
const inheritableConfig = getInheritableConfig(parent);
|
|
592
|
+
this.assertSupportedModelConfig(parent.agentic_tool, inheritableConfig.model_config);
|
|
496
593
|
const forkedSession = await this.create(
|
|
497
594
|
{
|
|
498
595
|
agentic_tool: parent.agentic_tool,
|
|
@@ -515,7 +612,7 @@ var SessionsService = class extends DrizzleService {
|
|
|
515
612
|
children: []
|
|
516
613
|
},
|
|
517
614
|
contextFiles: [...parent.contextFiles || []],
|
|
518
|
-
...
|
|
615
|
+
...inheritableConfig,
|
|
519
616
|
tasks: []
|
|
520
617
|
// Don't copy sdk_session_id - fork will get its own via forkSession:true
|
|
521
618
|
},
|
|
@@ -611,6 +708,7 @@ var SessionsService = class extends DrizzleService {
|
|
|
611
708
|
if (lintWarning) {
|
|
612
709
|
console.warn(`[SessionsService.spawn] ${lintWarning}`);
|
|
613
710
|
}
|
|
711
|
+
this.assertSupportedModelConfig(targetTool, modelConfig);
|
|
614
712
|
const isCallbackEnabled = data.enableCallback !== false;
|
|
615
713
|
const callbackConfig = {
|
|
616
714
|
...data.enableCallback !== void 0 ? { enabled: data.enableCallback } : {},
|
|
@@ -817,6 +915,41 @@ ${data.extraInstructions}`;
|
|
|
817
915
|
* Note: Last message is NOT included in list operations - only on single GET.
|
|
818
916
|
*/
|
|
819
917
|
async find(params) {
|
|
918
|
+
const query = params?.query;
|
|
919
|
+
if (shouldSqlPageSessionQuery(query, !!params?._agorSqlSessionAccessUserId)) {
|
|
920
|
+
const sortSpec = query?.$sort;
|
|
921
|
+
const limit = query?.$limit ?? PAGINATION.DEFAULT_LIMIT;
|
|
922
|
+
const skip = query?.$skip ?? 0;
|
|
923
|
+
const { data, total } = await this.sessionRepo.findPage({
|
|
924
|
+
boardId: query?.board_id,
|
|
925
|
+
archived: query?.archived,
|
|
926
|
+
sortUpdatedAt: sortSpec?.updated_at,
|
|
927
|
+
limit,
|
|
928
|
+
skip,
|
|
929
|
+
visibleToUserId: params?._agorSqlSessionAccessUserId
|
|
930
|
+
});
|
|
931
|
+
const enriched = await this.enrichRemoteRelationships(data);
|
|
932
|
+
return markRemoteRelationshipsEnrichedResult({ total, limit, skip, data: enriched });
|
|
933
|
+
}
|
|
934
|
+
const boardId = params?.query?.board_id;
|
|
935
|
+
if (boardId) {
|
|
936
|
+
const { board_id: _scopedBoardId, ...residualQuery } = params?.query ?? {};
|
|
937
|
+
const residual = residualQuery;
|
|
938
|
+
const rows = await this.sessionRepo.findByBoard(boardId, {
|
|
939
|
+
visibleToUserId: params?._agorSqlSessionAccessUserId
|
|
940
|
+
});
|
|
941
|
+
const filtered = this.filterData(rows, residual);
|
|
942
|
+
const total = filtered.length;
|
|
943
|
+
const sorted = this.sortData(filtered, residual.$sort);
|
|
944
|
+
const selected = this.selectFields(sorted, residual.$select);
|
|
945
|
+
const paged = this.paginateData(selected, residual, total);
|
|
946
|
+
if (Array.isArray(paged)) {
|
|
947
|
+
const enriched = await this.enrichRemoteRelationships(paged);
|
|
948
|
+
return markRemoteRelationshipsEnrichedResult(enriched);
|
|
949
|
+
}
|
|
950
|
+
const enrichedData2 = await this.enrichRemoteRelationships(paged.data);
|
|
951
|
+
return markRemoteRelationshipsEnrichedResult({ ...paged, data: enrichedData2 });
|
|
952
|
+
}
|
|
820
953
|
const result = await super.find(params);
|
|
821
954
|
if (Array.isArray(result)) {
|
|
822
955
|
const enriched = await this.enrichRemoteRelationships(result);
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Provides REST + WebSocket API for task management.
|
|
5
5
|
* Uses DrizzleService adapter with TaskRepository.
|
|
6
6
|
*/
|
|
7
|
-
import { type
|
|
7
|
+
import { type TenantScopeAwareDatabase } from '@agor/core/db';
|
|
8
8
|
import type { Application } from '@agor/core/feathers';
|
|
9
|
-
import type { Paginated, QueryParams, Task } from '@agor/core/types';
|
|
10
|
-
import { DrizzleService } from '../adapters/drizzle';
|
|
9
|
+
import type { Paginated, QueryParams, Task, UUID } from '@agor/core/types';
|
|
10
|
+
import { DrizzleService, type Query } from '../adapters/drizzle';
|
|
11
11
|
export type TaskParams = QueryParams<{
|
|
12
12
|
session_id?: string;
|
|
13
13
|
status?: Task['status'];
|
|
@@ -33,6 +33,8 @@ export type TaskParams = QueryParams<{
|
|
|
33
33
|
* terminal transition. Most callers should leave this unset.
|
|
34
34
|
*/
|
|
35
35
|
suppressBtwCleanup?: boolean;
|
|
36
|
+
/** Internal RBAC SQL pushdown marker set by register-hooks for external regular users. */
|
|
37
|
+
_agorSqlSessionAccessUserId?: UUID;
|
|
36
38
|
};
|
|
37
39
|
/**
|
|
38
40
|
* Extended tasks service with custom methods
|
|
@@ -43,11 +45,12 @@ export declare class TasksService extends DrizzleService<Task, Partial<Task>, Ta
|
|
|
43
45
|
private db;
|
|
44
46
|
private heartbeatCallbackRunner;
|
|
45
47
|
private completionCallbackDispatches;
|
|
46
|
-
constructor(db:
|
|
48
|
+
constructor(db: TenantScopeAwareDatabase, app: Application);
|
|
47
49
|
/**
|
|
48
50
|
* Override find to support session-based filtering
|
|
49
51
|
*/
|
|
50
52
|
find(params?: TaskParams): Promise<Task[] | Paginated<Task>>;
|
|
53
|
+
protected fetchData(query: Query, params?: TaskParams): Promise<Task[]>;
|
|
51
54
|
/**
|
|
52
55
|
* Override create to atomically update session status when task is created with RUNNING status
|
|
53
56
|
*/
|
|
@@ -62,6 +65,9 @@ export declare class TasksService extends DrizzleService<Task, Partial<Task>, Ta
|
|
|
62
65
|
error_message: string;
|
|
63
66
|
}, params?: TaskParams): Promise<Task>;
|
|
64
67
|
private handleExecutorHeartbeat;
|
|
68
|
+
private runAfterTenantDatabaseCommit;
|
|
69
|
+
private triggerQueueProcessingAfterCommit;
|
|
70
|
+
private dispatchCompletionCallbacksAfterCommit;
|
|
65
71
|
/**
|
|
66
72
|
* Override patch to detect task completion and:
|
|
67
73
|
* 1. Atomically update session status to IDLE when task reaches terminal state
|
|
@@ -127,5 +133,5 @@ export declare class TasksService extends DrizzleService<Task, Partial<Task>, Ta
|
|
|
127
133
|
/**
|
|
128
134
|
* Service factory function
|
|
129
135
|
*/
|
|
130
|
-
export declare function createTasksService(db:
|
|
136
|
+
export declare function createTasksService(db: TenantScopeAwareDatabase, app: Application): TasksService;
|
|
131
137
|
//# sourceMappingURL=tasks.d.ts.map
|