agor-live 0.22.0 → 0.23.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/admin/add-to-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/add-to-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/add-to-branch-group.js +133 -33
- package/dist/cli/commands/admin/create-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/create-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-branch-group.js +132 -38
- package/dist/cli/commands/admin/create-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/create-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-symlink.js +138 -61
- package/dist/cli/commands/admin/delete-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/delete-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-branch-group.js +132 -28
- package/dist/cli/commands/admin/delete-user.d.ts +2 -13
- package/dist/cli/commands/admin/delete-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-user.js +132 -38
- package/dist/cli/commands/admin/ensure-user.d.ts +2 -14
- package/dist/cli/commands/admin/ensure-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/ensure-user.js +131 -46
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-from-branch-group.js +133 -33
- package/dist/cli/commands/admin/remove-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/remove-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-symlink.js +136 -49
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts +2 -2
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts.map +1 -1
- package/dist/cli/commands/admin/scrub-git-remotes.js +128 -86
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts +2 -14
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts.map +1 -1
- package/dist/cli/commands/admin/sync-user-symlinks.js +132 -43
- package/dist/cli/commands/auth/whoami.d.ts.map +1 -1
- package/dist/cli/commands/auth/whoami.js +2 -1
- package/dist/cli/commands/branch/env/request.test.d.ts +2 -0
- package/dist/cli/commands/branch/env/request.test.d.ts.map +1 -0
- package/dist/cli/commands/branch/env/request.test.js +17723 -0
- package/dist/cli/commands/branch/env/restart.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/restart.js +7 -1
- package/dist/cli/commands/branch/env/start.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/start.js +7 -1
- package/dist/cli/commands/branch/env/stop.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/stop.js +7 -1
- package/dist/cli/commands/daemon/status.d.ts.map +1 -1
- package/dist/cli/commands/daemon/status.js +2 -1
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +140 -2
- package/dist/cli/commands/local/add-to-branch-group.d.ts +13 -0
- package/dist/cli/commands/local/add-to-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/add-to-branch-group.js +37 -0
- package/dist/cli/commands/local/create-branch-group.d.ts +12 -0
- package/dist/cli/commands/local/create-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/create-branch-group.js +35 -0
- package/dist/cli/commands/local/create-symlink.d.ts +14 -0
- package/dist/cli/commands/local/create-symlink.d.ts.map +1 -0
- package/dist/cli/commands/local/create-symlink.js +45 -0
- package/dist/cli/commands/{daemon → local/daemon}/sync.d.ts +1 -1
- package/dist/cli/commands/local/daemon/sync.d.ts.map +1 -0
- package/dist/cli/commands/{daemon → local/daemon}/sync.js +7 -6
- package/dist/cli/commands/local/delete-branch-group.d.ts +12 -0
- package/dist/cli/commands/local/delete-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/delete-branch-group.js +35 -0
- package/dist/cli/commands/local/delete-user.d.ts +12 -0
- package/dist/cli/commands/local/delete-user.d.ts.map +1 -0
- package/dist/cli/commands/local/delete-user.js +36 -0
- package/dist/cli/commands/local/ensure-user.d.ts +12 -0
- package/dist/cli/commands/local/ensure-user.d.ts.map +1 -0
- package/dist/cli/commands/local/ensure-user.js +41 -0
- package/dist/cli/commands/local/remove-from-branch-group.d.ts +13 -0
- package/dist/cli/commands/local/remove-from-branch-group.d.ts.map +1 -0
- package/dist/cli/commands/local/remove-from-branch-group.js +37 -0
- package/dist/cli/commands/local/remove-symlink.d.ts +13 -0
- package/dist/cli/commands/local/remove-symlink.d.ts.map +1 -0
- package/dist/cli/commands/local/remove-symlink.js +39 -0
- package/dist/cli/commands/local/scrub-git-remotes.d.ts +9 -0
- package/dist/cli/commands/local/scrub-git-remotes.d.ts.map +1 -0
- package/dist/cli/commands/local/scrub-git-remotes.js +23 -0
- package/dist/cli/commands/{admin → local}/sync-unix.d.ts.map +1 -1
- package/dist/cli/commands/{admin → local}/sync-unix.js +3 -3
- package/dist/cli/commands/local/sync-user-symlinks.d.ts +12 -0
- package/dist/cli/commands/local/sync-user-symlinks.d.ts.map +1 -0
- package/dist/cli/commands/local/sync-user-symlinks.js +37 -0
- package/dist/cli/commands/telemetry/index.d.ts +7 -0
- package/dist/cli/commands/telemetry/index.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/index.js +40 -0
- package/dist/cli/commands/telemetry/off.d.ts +6 -0
- package/dist/cli/commands/telemetry/off.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/off.js +35 -0
- package/dist/cli/commands/telemetry/on.d.ts +6 -0
- package/dist/cli/commands/telemetry/on.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/on.js +37 -0
- package/dist/cli/commands/telemetry/test.d.ts +6 -0
- package/dist/cli/commands/telemetry/test.d.ts.map +1 -0
- package/dist/cli/commands/telemetry/test.js +56 -0
- package/dist/cli/commands/user/create-admin.d.ts.map +1 -1
- package/dist/cli/commands/user/create-admin.js +81 -72
- package/dist/cli/commands/user/list.d.ts.map +1 -1
- package/dist/cli/commands/user/list.js +1 -0
- package/dist/cli/commands/whoami.js +2 -1
- package/dist/cli/lib/branch-environment-action.d.ts +21 -0
- package/dist/cli/lib/branch-environment-action.d.ts.map +1 -0
- package/dist/cli/lib/branch-environment-action.js +8 -0
- package/dist/core/api/index.cjs +7 -2
- package/dist/core/api/index.d.ts +13 -4
- package/dist/core/api/index.d.ts.map +1 -1
- package/dist/core/api/index.js +7 -2
- package/dist/core/claude/index.cjs +518 -89
- package/dist/core/claude/index.js +515 -88
- package/dist/core/claude-cli/index.cjs +24 -0
- package/dist/core/claude-cli/index.js +24 -0
- package/dist/core/claude-cli/pricing.d.ts.map +1 -1
- package/dist/core/client/index.cjs +52 -7
- package/dist/core/client/index.js +48 -7
- package/dist/core/config/browser.cjs +3 -5
- package/dist/core/config/browser.js +3 -5
- package/dist/core/config/config-manager.d.ts +33 -13
- package/dist/core/config/config-manager.d.ts.map +1 -1
- package/dist/core/config/index.cjs +4259 -4527
- package/dist/core/config/index.d.ts +1 -0
- package/dist/core/config/index.d.ts.map +1 -1
- package/dist/core/config/index.js +4295 -4583
- package/dist/core/config/key-resolver.d.ts.map +1 -1
- package/dist/core/config/multitenancy.d.ts +33 -0
- package/dist/core/config/multitenancy.d.ts.map +1 -0
- package/dist/core/config/security-resolver.d.ts +1 -0
- package/dist/core/config/security-resolver.d.ts.map +1 -1
- package/dist/core/config/types.d.ts +67 -4
- package/dist/core/config/types.d.ts.map +1 -1
- package/dist/core/db/client.d.ts +34 -2
- package/dist/core/db/client.d.ts.map +1 -1
- package/dist/core/db/database-wrapper.d.ts.map +1 -1
- package/dist/core/db/first-run-bootstrap.d.ts.map +1 -1
- package/dist/core/db/index.cjs +2767 -1232
- package/dist/core/db/index.d.ts +2 -1
- package/dist/core/db/index.d.ts.map +1 -1
- package/dist/core/db/index.js +2601 -1094
- package/dist/core/db/migrate.d.ts.map +1 -1
- package/dist/core/db/repositories/artifacts.d.ts +27 -2
- package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
- package/dist/core/db/repositories/base.d.ts +18 -0
- package/dist/core/db/repositories/base.d.ts.map +1 -1
- package/dist/core/db/repositories/board-comments.d.ts +17 -1
- package/dist/core/db/repositories/board-comments.d.ts.map +1 -1
- package/dist/core/db/repositories/board-objects.d.ts.map +1 -1
- package/dist/core/db/repositories/boards.d.ts +54 -3
- package/dist/core/db/repositories/boards.d.ts.map +1 -1
- package/dist/core/db/repositories/branch-access.d.ts +32 -0
- package/dist/core/db/repositories/branch-access.d.ts.map +1 -1
- package/dist/core/db/repositories/branches.d.ts +52 -2
- package/dist/core/db/repositories/branches.d.ts.map +1 -1
- package/dist/core/db/repositories/cards.d.ts +15 -1
- package/dist/core/db/repositories/cards.d.ts.map +1 -1
- package/dist/core/db/repositories/gateway-channels.d.ts +9 -0
- package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
- package/dist/core/db/repositories/gateway-outbound-messages.d.ts +19 -0
- package/dist/core/db/repositories/gateway-outbound-messages.d.ts.map +1 -0
- package/dist/core/db/repositories/index.d.ts +2 -0
- package/dist/core/db/repositories/index.d.ts.map +1 -1
- package/dist/core/db/repositories/messages.d.ts +9 -2
- package/dist/core/db/repositories/messages.d.ts.map +1 -1
- package/dist/core/db/repositories/repos.d.ts.map +1 -1
- package/dist/core/db/repositories/schedules.d.ts +12 -1
- package/dist/core/db/repositories/schedules.d.ts.map +1 -1
- package/dist/core/db/repositories/sessions.d.ts +56 -5
- package/dist/core/db/repositories/sessions.d.ts.map +1 -1
- package/dist/core/db/repositories/tasks.d.ts +7 -2
- package/dist/core/db/repositories/tasks.d.ts.map +1 -1
- package/dist/core/db/repositories/user-api-keys.d.ts +10 -1
- package/dist/core/db/repositories/user-api-keys.d.ts.map +1 -1
- package/dist/core/db/repositories/users.d.ts +8 -8
- package/dist/core/db/repositories/users.d.ts.map +1 -1
- package/dist/core/db/schema.d.ts +1460 -38
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.postgres.d.ts +1082 -37
- package/dist/core/db/schema.postgres.d.ts.map +1 -1
- package/dist/core/db/schema.sqlite.d.ts +397 -1
- package/dist/core/db/schema.sqlite.d.ts.map +1 -1
- package/dist/core/db/tenant-context.d.ts +26 -0
- package/dist/core/db/tenant-context.d.ts.map +1 -0
- package/dist/core/db/tenant-scope.d.ts +31 -0
- package/dist/core/db/tenant-scope.d.ts.map +1 -0
- package/dist/core/db/user-utils.d.ts +2 -2
- package/dist/core/db/user-utils.d.ts.map +1 -1
- package/dist/core/drizzle/postgres/0052_gateway_outbound_messages.sql +45 -0
- package/dist/core/drizzle/postgres/0053_user_token_invalidation.sql +1 -0
- package/dist/core/drizzle/postgres/0054_app_level_multitenancy.sql +219 -0
- package/dist/core/drizzle/postgres/0055_app_level_multitenancy_rls.sql +411 -0
- package/dist/core/drizzle/postgres/0056_composite_indexes.sql +15 -0
- package/dist/core/drizzle/postgres/0057_message_timestamp_indexes.sql +3 -0
- package/dist/core/drizzle/postgres/meta/_journal.json +42 -0
- package/dist/core/drizzle/sqlite/0061_gateway_outbound_messages.sql +38 -0
- package/dist/core/drizzle/sqlite/0062_user_token_invalidation.sql +1 -0
- package/dist/core/drizzle/sqlite/0063_composite_indexes.sql +10 -0
- package/dist/core/drizzle/sqlite/0064_message_timestamp_indexes.sql +2 -0
- package/dist/core/drizzle/sqlite/meta/_journal.json +28 -0
- package/dist/core/environment/render-snapshot.cjs +7 -6
- package/dist/core/environment/render-snapshot.d.ts +2 -0
- package/dist/core/environment/render-snapshot.d.ts.map +1 -1
- package/dist/core/environment/render-snapshot.js +7 -6
- package/dist/core/environment/variable-resolver.cjs +3 -1
- package/dist/core/environment/variable-resolver.js +3 -1
- package/dist/core/environment/webhook.cjs +1 -4
- package/dist/core/environment/webhook.js +1 -4
- package/dist/core/gateway/connector.d.ts +10 -1
- package/dist/core/gateway/connector.d.ts.map +1 -1
- package/dist/core/gateway/connectors/slack-manifest.cjs +108 -0
- package/dist/core/gateway/connectors/slack-manifest.d.ts +85 -0
- package/dist/core/gateway/connectors/slack-manifest.d.ts.map +1 -0
- package/dist/core/gateway/connectors/slack-manifest.js +81 -0
- package/dist/core/gateway/connectors/slack.d.ts +101 -4
- package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
- package/dist/core/gateway/index.cjs +495 -29
- package/dist/core/gateway/index.d.ts +4 -1
- package/dist/core/gateway/index.d.ts.map +1 -1
- package/dist/core/gateway/index.js +490 -28
- package/dist/core/gateway/system-message.d.ts.map +1 -1
- package/dist/core/git/exec.cjs +24 -0
- package/dist/core/git/exec.d.ts +6 -4
- package/dist/core/git/exec.d.ts.map +1 -1
- package/dist/core/git/exec.js +2 -0
- package/dist/core/git/index.cjs +3 -1363
- package/dist/core/git/index.d.ts +4 -614
- package/dist/core/git/index.d.ts.map +1 -1
- package/dist/core/git/index.js +1 -1304
- package/dist/core/git/pure.cjs +24 -0
- package/dist/core/git/pure.d.ts +2 -27
- package/dist/core/git/pure.d.ts.map +1 -1
- package/dist/core/git/pure.js +2 -0
- package/dist/core/index.cjs +11563 -10832
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +12203 -10962
- package/dist/core/lib/feathers-validation.cjs +9 -1
- package/dist/core/lib/feathers-validation.d.ts +2 -0
- package/dist/core/lib/feathers-validation.d.ts.map +1 -1
- package/dist/core/lib/feathers-validation.js +9 -1
- package/dist/core/local-actions/git-remotes.d.ts +7 -0
- package/dist/core/local-actions/git-remotes.d.ts.map +1 -0
- package/dist/core/local-actions/index.cjs +8008 -0
- package/dist/core/local-actions/index.d.ts +6 -0
- package/dist/core/local-actions/index.d.ts.map +1 -0
- package/dist/core/local-actions/index.js +8010 -0
- package/dist/core/local-actions/symlinks.d.ts +20 -0
- package/dist/core/local-actions/symlinks.d.ts.map +1 -0
- package/dist/core/local-actions/types.d.ts +14 -0
- package/dist/core/local-actions/types.d.ts.map +1 -0
- package/dist/core/local-actions/unix-groups.d.ts +16 -0
- package/dist/core/local-actions/unix-groups.d.ts.map +1 -0
- package/dist/core/local-actions/unix-users.d.ts +12 -0
- package/dist/core/local-actions/unix-users.d.ts.map +1 -0
- package/dist/core/mcp/index.cjs +373 -28
- package/dist/core/mcp/index.d.ts +1 -1
- package/dist/core/mcp/index.d.ts.map +1 -1
- package/dist/core/mcp/index.js +369 -27
- package/dist/core/mcp/template-patterns.d.ts +15 -0
- package/dist/core/mcp/template-patterns.d.ts.map +1 -0
- package/dist/core/mcp/template-resolver.d.ts +13 -0
- package/dist/core/mcp/template-resolver.d.ts.map +1 -1
- package/dist/core/models/browser.cjs +154 -25
- package/dist/core/models/browser.js +150 -25
- package/dist/core/models/claude.d.ts +2 -2
- package/dist/core/models/claude.d.ts.map +1 -1
- package/dist/core/models/codex.d.ts +205 -21
- package/dist/core/models/codex.d.ts.map +1 -1
- package/dist/core/models/index.cjs +154 -25
- package/dist/core/models/index.js +150 -25
- package/dist/core/package.json +24 -0
- package/dist/core/seed/demo-fixtures.d.ts +87 -0
- package/dist/core/seed/demo-fixtures.d.ts.map +1 -0
- package/dist/core/seed/dev-fixtures.d.ts.map +1 -1
- package/dist/core/seed/index.cjs +8569 -5519
- package/dist/core/seed/index.d.ts +1 -0
- package/dist/core/seed/index.d.ts.map +1 -1
- package/dist/core/seed/index.js +8580 -5535
- package/dist/core/sessions/index.cjs +110 -24
- package/dist/core/sessions/index.js +110 -24
- package/dist/core/telemetry/index.cjs +361 -0
- package/dist/core/telemetry/index.d.ts +5 -0
- package/dist/core/telemetry/index.d.ts.map +1 -0
- package/dist/core/telemetry/index.js +315 -0
- package/dist/core/telemetry/logger.d.ts +44 -0
- package/dist/core/telemetry/logger.d.ts.map +1 -0
- package/dist/core/telemetry/model-normalization.d.ts +3 -0
- package/dist/core/telemetry/model-normalization.d.ts.map +1 -0
- package/dist/core/telemetry/types.d.ts +47 -0
- package/dist/core/telemetry/types.d.ts.map +1 -0
- package/dist/core/telemetry/version.d.ts +9 -0
- package/dist/core/telemetry/version.d.ts.map +1 -0
- package/dist/core/templates/agor-system-prompt.md +1 -0
- package/dist/core/templates/handlebars-helpers.cjs +3 -1
- package/dist/core/templates/handlebars-helpers.d.ts +5 -0
- package/dist/core/templates/handlebars-helpers.d.ts.map +1 -1
- package/dist/core/templates/handlebars-helpers.js +3 -1
- package/dist/core/tools/mcp/auth-secrets.cjs +3460 -3
- package/dist/core/tools/mcp/auth-secrets.d.ts.map +1 -1
- package/dist/core/tools/mcp/auth-secrets.js +3477 -3
- package/dist/core/tools/mcp/http-headers.cjs +17 -1
- package/dist/core/tools/mcp/http-headers.d.ts.map +1 -1
- package/dist/core/tools/mcp/http-headers.js +15 -1
- package/dist/core/tools/mcp/oauth-refresh.cjs +568 -114
- package/dist/core/tools/mcp/oauth-refresh.js +566 -115
- package/dist/core/types/board.d.ts +14 -0
- package/dist/core/types/board.d.ts.map +1 -1
- package/dist/core/types/branch.d.ts +13 -0
- package/dist/core/types/branch.d.ts.map +1 -1
- package/dist/core/types/config-services.d.ts.map +1 -1
- package/dist/core/types/feathers.d.ts +6 -0
- package/dist/core/types/feathers.d.ts.map +1 -1
- package/dist/core/types/gateway.d.ts +90 -1
- package/dist/core/types/gateway.d.ts.map +1 -1
- package/dist/core/types/index.cjs +42 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +38 -0
- package/dist/core/types/schedule.d.ts +4 -3
- package/dist/core/types/schedule.d.ts.map +1 -1
- package/dist/core/types/session.d.ts +7 -1
- package/dist/core/types/session.d.ts.map +1 -1
- package/dist/core/types/tenant.d.ts +15 -0
- package/dist/core/types/tenant.d.ts.map +1 -0
- package/dist/core/types/user.d.ts +61 -0
- package/dist/core/types/user.d.ts.map +1 -1
- package/dist/core/unix/index.cjs +1123 -674
- package/dist/core/unix/index.js +1071 -624
- package/dist/core/utils/emoji-shortcodes.d.ts +13 -0
- package/dist/core/utils/emoji-shortcodes.d.ts.map +1 -0
- package/dist/core/yaml/index.cjs +8 -8
- package/dist/core/yaml/index.d.ts +1 -1
- package/dist/core/yaml/index.d.ts.map +1 -1
- package/dist/core/yaml/index.js +7 -7
- package/dist/daemon/adapters/drizzle.d.ts +26 -4
- package/dist/daemon/adapters/drizzle.d.ts.map +1 -1
- package/dist/daemon/adapters/drizzle.js +68 -7
- package/dist/daemon/auth/api-key-strategy.js +1 -1
- package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
- package/dist/daemon/auth/executor-runtime-scope.js +34 -6
- package/dist/daemon/auth/executor-session-token.d.ts +15 -0
- package/dist/daemon/auth/executor-session-token.d.ts.map +1 -0
- package/dist/daemon/auth/executor-session-token.js +17 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.d.ts +24 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.d.ts.map +1 -0
- package/dist/daemon/auth/issue-browser-tokens-hook.js +95 -0
- package/dist/daemon/auth/launch-auth.d.ts +5 -4
- package/dist/daemon/auth/launch-auth.d.ts.map +1 -1
- package/dist/daemon/auth/launch-auth.js +123 -39
- package/dist/daemon/auth/refresh-token-service.d.ts +22 -0
- package/dist/daemon/auth/refresh-token-service.d.ts.map +1 -0
- package/dist/daemon/auth/refresh-token-service.js +133 -0
- package/dist/daemon/auth/runtime-tokens.d.ts +3 -1
- package/dist/daemon/auth/runtime-tokens.d.ts.map +1 -1
- package/dist/daemon/auth/runtime-tokens.js +17 -4
- package/dist/daemon/auth/service-jwt-strategy.d.ts +2 -1
- package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
- package/dist/daemon/auth/service-jwt-strategy.js +141 -3
- package/dist/daemon/auth/token-invalidation.d.ts +11 -0
- package/dist/daemon/auth/token-invalidation.d.ts.map +1 -0
- package/dist/daemon/auth/token-invalidation.js +38 -0
- package/dist/daemon/auth/user-redaction.d.ts +12 -0
- package/dist/daemon/auth/user-redaction.d.ts.map +1 -0
- package/dist/daemon/auth/user-redaction.js +13 -0
- package/dist/daemon/declarations.d.ts +5 -4
- package/dist/daemon/declarations.d.ts.map +1 -1
- package/dist/daemon/hooks/gateway-route.d.ts.map +1 -1
- package/dist/daemon/hooks/gateway-route.js +23 -13
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +8271 -2956
- package/dist/daemon/knowledge/pgvector.d.ts +3 -3
- package/dist/daemon/knowledge/pgvector.d.ts.map +1 -1
- package/dist/daemon/knowledge/pgvector.js +24 -0
- package/dist/daemon/knowledge/units.d.ts +2 -2
- package/dist/daemon/knowledge/units.d.ts.map +1 -1
- package/dist/daemon/main.js +8271 -2956
- package/dist/daemon/mcp/server.d.ts +3 -3
- package/dist/daemon/mcp/server.d.ts.map +1 -1
- package/dist/daemon/mcp/server.js +1740 -81
- package/dist/daemon/mcp/tokens.d.ts +2 -2
- package/dist/daemon/mcp/tokens.d.ts.map +1 -1
- package/dist/daemon/mcp/tokens.js +5 -1
- package/dist/daemon/mcp/tool-registry.d.ts.map +1 -1
- package/dist/daemon/mcp/tool-registry.js +1 -0
- package/dist/daemon/mcp/tools/analytics.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/analytics.js +598 -24
- package/dist/daemon/mcp/tools/artifacts.js +560 -20
- package/dist/daemon/mcp/tools/boards.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/boards.js +567 -21
- package/dist/daemon/mcp/tools/branches.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/branches.js +624 -50
- package/dist/daemon/mcp/tools/card-types.js +558 -18
- package/dist/daemon/mcp/tools/cards.js +558 -18
- package/dist/daemon/mcp/tools/environment.js +566 -18
- package/dist/daemon/mcp/tools/gateway-channels.d.ts +4 -0
- package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -0
- package/dist/daemon/mcp/tools/gateway-channels.js +16187 -0
- package/dist/daemon/mcp/tools/knowledge.js +558 -18
- package/dist/daemon/mcp/tools/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/mcp-servers.js +893 -18
- package/dist/daemon/mcp/tools/messages.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/messages.js +618 -32
- package/dist/daemon/mcp/tools/proxies.js +568 -20
- package/dist/daemon/mcp/tools/repos.js +558 -18
- package/dist/daemon/mcp/tools/schedules.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/schedules.js +561 -19
- package/dist/daemon/mcp/tools/search.js +558 -18
- package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/sessions.js +571 -24
- package/dist/daemon/mcp/tools/tasks.js +558 -18
- package/dist/daemon/mcp/tools/users.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/users.js +577 -23
- package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/widgets.js +759 -83
- package/dist/daemon/oauth-auth-helpers.d.ts +35 -0
- package/dist/daemon/oauth-auth-helpers.d.ts.map +1 -0
- package/dist/daemon/oauth-auth-helpers.js +14 -0
- package/dist/daemon/register-hooks.d.ts +4 -2
- package/dist/daemon/register-hooks.d.ts.map +1 -1
- package/dist/daemon/register-hooks.js +1158 -595
- package/dist/daemon/register-routes.d.ts +3 -2
- package/dist/daemon/register-routes.d.ts.map +1 -1
- package/dist/daemon/register-routes.js +3161 -812
- package/dist/daemon/register-services.d.ts +2 -2
- package/dist/daemon/register-services.d.ts.map +1 -1
- package/dist/daemon/register-services.js +2782 -739
- package/dist/daemon/services/artifacts.d.ts +34 -6
- package/dist/daemon/services/artifacts.d.ts.map +1 -1
- package/dist/daemon/services/artifacts.js +109 -8
- package/dist/daemon/services/assistant-knowledge.d.ts +2 -2
- package/dist/daemon/services/assistant-knowledge.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.d.ts +8 -5
- package/dist/daemon/services/board-comments.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.js +78 -13
- package/dist/daemon/services/board-objects.d.ts +8 -5
- package/dist/daemon/services/board-objects.d.ts.map +1 -1
- package/dist/daemon/services/board-objects.js +14 -4
- package/dist/daemon/services/boards.d.ts +39 -5
- package/dist/daemon/services/boards.d.ts.map +1 -1
- package/dist/daemon/services/boards.js +123 -8
- package/dist/daemon/services/branch-owners.d.ts +3 -1
- package/dist/daemon/services/branch-owners.d.ts.map +1 -1
- package/dist/daemon/services/branch-owners.js +31 -4
- package/dist/daemon/services/branches.d.ts +31 -8
- package/dist/daemon/services/branches.d.ts.map +1 -1
- package/dist/daemon/services/branches.js +272 -36
- package/dist/daemon/services/card-types.d.ts +3 -3
- package/dist/daemon/services/card-types.d.ts.map +1 -1
- package/dist/daemon/services/card-types.js +68 -7
- package/dist/daemon/services/cards.d.ts +19 -4
- package/dist/daemon/services/cards.d.ts.map +1 -1
- package/dist/daemon/services/cards.js +92 -8
- package/dist/daemon/services/check-auth.d.ts +2 -2
- package/dist/daemon/services/check-auth.d.ts.map +1 -1
- package/dist/daemon/services/claude-cli-integration.d.ts +4 -1
- package/dist/daemon/services/claude-cli-integration.d.ts.map +1 -1
- package/dist/daemon/services/claude-cli-integration.js +117 -65
- package/dist/daemon/services/claude-models.d.ts +3 -3
- package/dist/daemon/services/claude-models.d.ts.map +1 -1
- package/dist/daemon/services/claude-models.js +387 -273
- package/dist/daemon/services/config.d.ts +12 -4
- package/dist/daemon/services/config.d.ts.map +1 -1
- package/dist/daemon/services/config.js +39 -3
- package/dist/daemon/services/copilot-models.d.ts +3 -3
- package/dist/daemon/services/copilot-models.d.ts.map +1 -1
- package/dist/daemon/services/cursor-models.d.ts +3 -3
- package/dist/daemon/services/cursor-models.d.ts.map +1 -1
- package/dist/daemon/services/files.d.ts +3 -3
- package/dist/daemon/services/files.d.ts.map +1 -1
- package/dist/daemon/services/files.js +24 -5
- package/dist/daemon/services/gateway-channels-test.d.ts +24 -0
- package/dist/daemon/services/gateway-channels-test.d.ts.map +1 -0
- package/dist/daemon/services/gateway-channels-test.js +66 -0
- package/dist/daemon/services/gateway-channels.d.ts +3 -3
- package/dist/daemon/services/gateway-channels.d.ts.map +1 -1
- package/dist/daemon/services/gateway-channels.js +68 -7
- package/dist/daemon/services/gateway.d.ts +63 -3
- package/dist/daemon/services/gateway.d.ts.map +1 -1
- package/dist/daemon/services/gateway.js +640 -60
- package/dist/daemon/services/github-app-setup.d.ts +3 -3
- package/dist/daemon/services/github-app-setup.d.ts.map +1 -1
- package/dist/daemon/services/groups.d.ts +5 -5
- package/dist/daemon/services/groups.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.d.ts +34 -2
- package/dist/daemon/services/health-monitor.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.js +155 -30
- package/dist/daemon/services/knowledge-document-edits.d.ts +3 -3
- package/dist/daemon/services/knowledge-document-edits.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.d.ts +3 -3
- package/dist/daemon/services/knowledge-documents.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.js +92 -7
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts +7 -2
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-embedding-indexer.js +37 -3
- package/dist/daemon/services/knowledge-graph.d.ts +3 -3
- package/dist/daemon/services/knowledge-graph.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-indexing.d.ts +3 -3
- package/dist/daemon/services/knowledge-indexing.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.d.ts +3 -3
- package/dist/daemon/services/knowledge-namespaces.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.js +72 -8
- package/dist/daemon/services/knowledge-reindex.d.ts +3 -3
- package/dist/daemon/services/knowledge-reindex.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-reindex.js +28 -1
- package/dist/daemon/services/knowledge-search.d.ts +3 -3
- package/dist/daemon/services/knowledge-search.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.d.ts +3 -3
- package/dist/daemon/services/knowledge-settings.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.js +24 -0
- package/dist/daemon/services/knowledge-versions.d.ts +3 -3
- package/dist/daemon/services/knowledge-versions.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-versions.js +68 -7
- package/dist/daemon/services/leaderboard.d.ts +14 -6
- package/dist/daemon/services/leaderboard.d.ts.map +1 -1
- package/dist/daemon/services/leaderboard.js +74 -15
- package/dist/daemon/services/local-actions.d.ts +13 -0
- package/dist/daemon/services/local-actions.d.ts.map +1 -0
- package/dist/daemon/services/local-actions.js +120 -0
- package/dist/daemon/services/mcp-servers.d.ts +3 -3
- package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/mcp-servers.js +68 -7
- package/dist/daemon/services/messages.d.ts +10 -6
- package/dist/daemon/services/messages.d.ts.map +1 -1
- package/dist/daemon/services/messages.js +87 -7
- package/dist/daemon/services/repos.d.ts +6 -6
- package/dist/daemon/services/repos.d.ts.map +1 -1
- package/dist/daemon/services/repos.js +131 -32
- package/dist/daemon/services/scheduler.d.ts +23 -27
- package/dist/daemon/services/scheduler.d.ts.map +1 -1
- package/dist/daemon/services/scheduler.js +55 -28
- package/dist/daemon/services/schedules.d.ts +3 -3
- package/dist/daemon/services/schedules.d.ts.map +1 -1
- package/dist/daemon/services/schedules.js +68 -7
- package/dist/daemon/services/session-env-selections.d.ts +3 -3
- package/dist/daemon/services/session-env-selections.d.ts.map +1 -1
- package/dist/daemon/services/session-mcp-servers.d.ts +3 -3
- package/dist/daemon/services/session-mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/session-streams.d.ts +29 -0
- package/dist/daemon/services/session-streams.d.ts.map +1 -0
- package/dist/daemon/services/session-streams.js +84 -0
- package/dist/daemon/services/session-token-service.d.ts.map +1 -1
- package/dist/daemon/services/session-token-service.js +11 -4
- package/dist/daemon/services/sessions.d.ts +9 -5
- package/dist/daemon/services/sessions.d.ts.map +1 -1
- package/dist/daemon/services/sessions.js +143 -10
- package/dist/daemon/services/tasks.d.ts +11 -5
- package/dist/daemon/services/tasks.d.ts.map +1 -1
- package/dist/daemon/services/tasks.js +199 -39
- package/dist/daemon/services/terminals.d.ts +21 -3
- package/dist/daemon/services/terminals.d.ts.map +1 -1
- package/dist/daemon/services/terminals.js +81 -25
- package/dist/daemon/services/thread-session-map.d.ts +3 -3
- package/dist/daemon/services/thread-session-map.d.ts.map +1 -1
- package/dist/daemon/services/thread-session-map.js +68 -7
- package/dist/daemon/services/user-avatar-sync.d.ts +21 -0
- package/dist/daemon/services/user-avatar-sync.d.ts.map +1 -0
- package/dist/daemon/services/user-avatar-sync.js +267 -0
- package/dist/daemon/services/users.d.ts +29 -9
- package/dist/daemon/services/users.d.ts.map +1 -1
- package/dist/daemon/services/users.js +383 -30
- package/dist/daemon/services/zone-trigger.d.ts.map +1 -1
- package/dist/daemon/services/zone-trigger.js +17 -4
- package/dist/daemon/setup/build-info.d.ts +1 -1
- package/dist/daemon/setup/build-info.d.ts.map +1 -1
- package/dist/daemon/setup/build-info.js +5 -1
- package/dist/daemon/setup/database.d.ts +8 -3
- package/dist/daemon/setup/database.d.ts.map +1 -1
- package/dist/daemon/setup/database.js +26 -6
- package/dist/daemon/setup/first-run-admin.d.ts +2 -2
- package/dist/daemon/setup/first-run-admin.d.ts.map +1 -1
- package/dist/daemon/setup/index.js +137 -25
- package/dist/daemon/setup/socketio.d.ts +10 -1
- package/dist/daemon/setup/socketio.d.ts.map +1 -1
- package/dist/daemon/setup/socketio.js +108 -18
- package/dist/daemon/startup.d.ts +13 -2
- package/dist/daemon/startup.d.ts.map +1 -1
- package/dist/daemon/startup.js +377 -94
- package/dist/daemon/utils/append-system-message.d.ts +2 -2
- package/dist/daemon/utils/append-system-message.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.js +12 -1
- package/dist/daemon/utils/authorization.d.ts +3 -1
- package/dist/daemon/utils/authorization.d.ts.map +1 -1
- package/dist/daemon/utils/authorization.js +36 -7
- package/dist/daemon/utils/branch-authorization.d.ts +30 -0
- package/dist/daemon/utils/branch-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/branch-authorization.js +63 -5
- package/dist/daemon/utils/branch-inspect.d.ts +1 -0
- package/dist/daemon/utils/branch-inspect.d.ts.map +1 -1
- package/dist/daemon/utils/branch-inspect.js +11 -3
- package/dist/daemon/utils/emit-service-event.d.ts +56 -0
- package/dist/daemon/utils/emit-service-event.d.ts.map +1 -0
- package/dist/daemon/utils/emit-service-event.js +23 -0
- package/dist/daemon/utils/executor-read-impersonation.d.ts +2 -2
- package/dist/daemon/utils/executor-read-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-impersonation.d.ts +10 -10
- package/dist/daemon/utils/git-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.d.ts +3 -3
- package/dist/daemon/utils/git-remote-credential-scan.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.js +6 -2
- package/dist/daemon/utils/mcp-header-secrets.d.ts +3 -5
- package/dist/daemon/utils/mcp-header-secrets.d.ts.map +1 -1
- package/dist/daemon/utils/mcp-header-secrets.js +31 -2
- package/dist/daemon/utils/mcp-token-authorization.d.ts +18 -13
- package/dist/daemon/utils/mcp-token-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/mcp-token-authorization.js +11 -5
- package/dist/daemon/utils/open-source-telemetry-config.d.ts +6 -0
- package/dist/daemon/utils/open-source-telemetry-config.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-config.js +21 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts +7 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.js +15 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts +9 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-usage.js +121 -0
- package/dist/daemon/utils/realign-repo-origin.d.ts +3 -3
- package/dist/daemon/utils/realign-repo-origin.d.ts.map +1 -1
- package/dist/daemon/utils/realign-repo-origin.js +47 -16
- package/dist/daemon/utils/realtime-access-cache.d.ts +9 -0
- package/dist/daemon/utils/realtime-access-cache.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-access-cache.js +24 -0
- package/dist/daemon/utils/realtime-publish.d.ts +26 -0
- package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-publish.js +171 -12
- package/dist/daemon/utils/session-queue-tenant-scope.d.ts +24 -0
- package/dist/daemon/utils/session-queue-tenant-scope.d.ts.map +1 -0
- package/dist/daemon/utils/session-queue-tenant-scope.js +133 -0
- package/dist/daemon/utils/session-state-hooks.d.ts +3 -3
- package/dist/daemon/utils/session-state-hooks.d.ts.map +1 -1
- package/dist/daemon/utils/session-turn-lock.d.ts +8 -1
- package/dist/daemon/utils/session-turn-lock.d.ts.map +1 -1
- package/dist/daemon/utils/session-turn-lock.js +25 -2
- package/dist/daemon/utils/spawn-executor.d.ts +23 -1
- package/dist/daemon/utils/spawn-executor.d.ts.map +1 -1
- package/dist/daemon/utils/spawn-executor.js +34 -4
- package/dist/daemon/utils/tenant-db-scope.d.ts +20 -0
- package/dist/daemon/utils/tenant-db-scope.d.ts.map +1 -0
- package/dist/daemon/utils/tenant-db-scope.js +114 -0
- package/dist/daemon/utils/unix-group-init.d.ts +3 -3
- package/dist/daemon/utils/unix-group-init.d.ts.map +1 -1
- package/dist/daemon/utils/upload.d.ts +6 -9
- package/dist/daemon/utils/upload.d.ts.map +1 -1
- package/dist/daemon/utils/upload.js +30 -37
- package/dist/daemon/widgets/env-vars/index.d.ts +26 -1
- package/dist/daemon/widgets/env-vars/index.d.ts.map +1 -1
- package/dist/daemon/widgets/env-vars/index.js +145 -21
- package/dist/daemon/widgets/gateway-token/index.d.ts +114 -0
- package/dist/daemon/widgets/gateway-token/index.d.ts.map +1 -0
- package/dist/daemon/widgets/gateway-token/index.js +14711 -0
- package/dist/daemon/widgets/index.d.ts.map +1 -1
- package/dist/daemon/widgets/index.js +327 -37
- package/dist/daemon/widgets/registry.d.ts +7 -0
- package/dist/daemon/widgets/registry.d.ts.map +1 -1
- package/dist/daemon/widgets/submissions.js +12 -9
- package/dist/executor/commands/environment.d.ts.map +1 -1
- package/dist/executor/commands/environment.js +9 -5
- package/dist/executor/commands/git.d.ts.map +1 -1
- package/dist/executor/commands/git.js +3 -1
- package/dist/executor/db/feathers-repositories.d.ts +19 -1
- package/dist/executor/db/feathers-repositories.d.ts.map +1 -1
- package/dist/executor/db/feathers-repositories.js +31 -1
- package/dist/executor/git/index.d.ts +8 -0
- package/dist/executor/git/index.d.ts.map +1 -0
- package/dist/executor/git/index.js +7 -0
- package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/base-executor.js +4 -1
- package/dist/executor/handlers/sdk/claude.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/claude.js +1 -1
- package/dist/executor/handlers/sdk/codex.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/codex.js +1 -1
- package/dist/executor/handlers/sdk/copilot.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/copilot.js +1 -1
- package/dist/executor/handlers/sdk/cursor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/cursor.js +1 -0
- package/dist/executor/handlers/sdk/gemini.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/gemini.js +1 -1
- package/dist/executor/handlers/sdk/git-safe-directory.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/git-safe-directory.js +1 -1
- package/dist/executor/handlers/sdk/opencode.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/opencode.js +1 -1
- package/dist/executor/payload-types.d.ts +5 -5
- package/dist/executor/sdk-handlers/base/diff-enrichment.js +1 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts +8 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.js +58 -6
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/claude-tool.js +2 -2
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts +13 -3
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/prompt-service.js +16 -3
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts +2 -1
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/query-builder.js +2 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +8 -12
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +14 -17
- package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/normalizer.js +11 -1
- package/dist/executor/sdk-handlers/codex/pricing/litellm-openai-model-prices.json +3663 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts +31 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts.map +1 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.js +46 -0
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.js +131 -12
- package/dist/executor/sdk-handlers/codex/usage.d.ts +14 -23
- package/dist/executor/sdk-handlers/codex/usage.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/usage.js +18 -33
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/copilot-tool.js +2 -2
- package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +2 -2
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.js +2 -2
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +3 -2
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -1
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts +3 -2
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/opencode/opencode-tool.js +4 -1
- package/dist/executor/services/feathers-client.d.ts.map +1 -1
- package/dist/executor/services/feathers-client.js +124 -25
- package/dist/git/index.cjs +1101 -0
- package/dist/git/index.d.ts +533 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +1022 -0
- package/dist/git/package.json +21 -0
- package/dist/git/pure.cjs +185 -0
- package/dist/git/pure.d.ts +39 -0
- package/dist/git/pure.d.ts.map +1 -0
- package/dist/git/pure.js +139 -0
- package/dist/ui/assets/AgorEmojiPickerInner-leeNywMc.js +1 -0
- package/dist/ui/assets/App-Dpl4Cc0U.js +4 -0
- package/dist/ui/assets/App-Dpl4Cc0U.js.gz +0 -0
- package/dist/ui/assets/AppNode-wN3UZlFK.js +1 -0
- package/dist/ui/assets/AppNode-wN3UZlFK.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js +1 -0
- package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js +9 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js.gz +0 -0
- package/dist/ui/assets/ArtifactNode-DISy2T-6.js +9 -0
- package/dist/ui/assets/ArtifactNode-DISy2T-6.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js +19 -0
- package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js +34 -0
- package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js +7 -0
- package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js.gz +0 -0
- package/dist/ui/assets/ConversationView-mWaA-B1f.js +1 -0
- package/dist/ui/assets/ConversationView-mWaA-B1f.js.gz +0 -0
- package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js +2 -0
- package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-CkxVnRvz.js +24 -0
- package/dist/ui/assets/KnowledgePage-CkxVnRvz.js.gz +0 -0
- package/dist/ui/assets/{MarketingScreenshotPage-zv5RUCuV.js → MarketingScreenshotPage-B86Gs8jx.js} +2 -2
- package/dist/ui/assets/MarketingScreenshotPage-B86Gs8jx.js.gz +0 -0
- package/dist/ui/assets/MobileApp-BPs-SXvz.js +1 -0
- package/dist/ui/assets/MobileApp-BPs-SXvz.js.gz +0 -0
- package/dist/ui/assets/{SessionCanvas-mEmYGZhC.css → SessionCanvas-Bh7Yg5dZ.css} +1 -1
- package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css.gz +0 -0
- package/dist/ui/assets/SessionCanvas-xVfDoEtz.js +13 -0
- package/dist/ui/assets/SessionCanvas-xVfDoEtz.js.gz +0 -0
- package/dist/ui/assets/{StreamdownDemoPage-wzWaqWwr.js → StreamdownDemoPage-CvWLzVsv.js} +2 -2
- package/dist/ui/assets/StreamdownDemoPage-CvWLzVsv.js.gz +0 -0
- package/dist/ui/assets/TerminalModal-ExOgsuOP.js +2 -0
- package/dist/ui/assets/TerminalModal-ExOgsuOP.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js +1 -0
- package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js.gz +0 -0
- package/dist/ui/assets/ThemedSyntaxHighlighter.inner-rpCN9S6K.js +1 -0
- package/dist/ui/assets/{antd-CfbbHJOz.js → antd-BCqimh1J.js} +5 -5
- package/dist/ui/assets/{antd-CfbbHJOz.js.gz → antd-BCqimh1J.js.gz} +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-BxSQIjrE.js +1 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js +36 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js.gz +0 -0
- package/dist/ui/assets/{blockDiagram-VD42YOAC-BhZaEN19.js → blockDiagram-VD42YOAC-uP8JTJpK.js} +4 -4
- package/dist/ui/assets/blockDiagram-VD42YOAC-uP8JTJpK.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dk_UH-sY.js → c4Diagram-YG6GDRKO-qQe72Mm7.js} +2 -2
- package/dist/ui/assets/c4Diagram-YG6GDRKO-qQe72Mm7.js.gz +0 -0
- package/dist/ui/assets/channel-CoUBs6Zn.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-XprbG2TG.js → chunk-4BX2VUAB-sz-YE8Nt.js} +1 -1
- package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js +3 -0
- package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js.gz +0 -0
- package/dist/ui/assets/chunk-55IACEB6-BS04dgKF.js +1 -0
- package/dist/ui/assets/{chunk-ABZYJK2D-BJcrryHK.js → chunk-ABZYJK2D-t3Gkphds.js} +3 -3
- package/dist/ui/assets/chunk-ABZYJK2D-t3Gkphds.js.gz +0 -0
- package/dist/ui/assets/{chunk-AGHRB4JF-DvxmfbM0.js → chunk-AGHRB4JF-D_QmWxbY.js} +1 -1
- package/dist/ui/assets/chunk-AGHRB4JF-D_QmWxbY.js.gz +0 -0
- package/dist/ui/assets/{chunk-ATLVNIR6-DbeJ0OrR.js → chunk-ATLVNIR6-Bmg7-Ufz.js} +1 -1
- package/dist/ui/assets/chunk-ATLVNIR6-Bmg7-Ufz.js.gz +0 -0
- package/dist/ui/assets/{chunk-B4BG7PRW-C53q2ggf.js → chunk-B4BG7PRW-dnSEE1u-.js} +3 -3
- package/dist/ui/assets/chunk-B4BG7PRW-dnSEE1u-.js.gz +0 -0
- package/dist/ui/assets/{chunk-CVBHYZKI-B3EBSlb3.js → chunk-CVBHYZKI-BStaYnF0.js} +1 -1
- package/dist/ui/assets/{chunk-DI55MBZ5-vIyNEQN-.js → chunk-DI55MBZ5-28dvx6o3.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-28dvx6o3.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-X-FURkEh.js +1 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-rddmfK-Z.js → chunk-FMBD7UC4-C_63gC9S.js} +1 -1
- package/dist/ui/assets/{chunk-HN2XXSSU-Dttqcg3b.js → chunk-HN2XXSSU-UFD374KI.js} +1 -1
- package/dist/ui/assets/chunk-HN2XXSSU-UFD374KI.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js +11 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js.gz +0 -0
- package/dist/ui/assets/{chunk-JZLCHNYA-EUmx2y4H.js → chunk-JZLCHNYA-ButC6pwN.js} +5 -5
- package/dist/ui/assets/chunk-JZLCHNYA-ButC6pwN.js.gz +0 -0
- package/dist/ui/assets/{chunk-MI3HLSF2-65n9Mkyc.js → chunk-MI3HLSF2-BivYzoSV.js} +1 -1
- package/dist/ui/assets/chunk-MI3HLSF2-BivYzoSV.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js +2 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js.gz +0 -0
- package/dist/ui/assets/{chunk-QN33PNHL-DsRKK6NR.js → chunk-QN33PNHL-tXtHZpaG.js} +1 -1
- package/dist/ui/assets/{chunk-QXUST7PY-BCYnMiS3.js → chunk-QXUST7PY-DATib_Vv.js} +2 -2
- package/dist/ui/assets/chunk-QXUST7PY-DATib_Vv.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-y6l249e5.js +1 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js +2 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js.gz +0 -0
- package/dist/ui/assets/{chunk-TZMSLE5B-BuQUQcTr.js → chunk-TZMSLE5B-BY1ZtogK.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-BY1ZtogK.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-BYvq-uPY.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BYvq-uPY.js +1 -0
- package/dist/ui/assets/constants-CYzQKfD1.js +1 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-CnPB3ARO.js → cose-bilkent-S5V4N54A-DPvYrqGG.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-DPvYrqGG.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-DhS-k_Se.js → dagre-6UL2VRFP-D800J6qb.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-D800J6qb.js.gz +0 -0
- package/dist/ui/assets/{dagre-KgLoHEuy.js → dagre-TNc4wezg.js} +1 -1
- package/dist/ui/assets/dagre-TNc4wezg.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js +24 -0
- package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-BPCitvbo.js → diagram-QEK2KX5R-BD5lOCe5.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-BD5lOCe5.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-NW4uK6sx.js → diagram-S2PKOQOG-cp3l22vN.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-cp3l22vN.js.gz +0 -0
- package/dist/ui/assets/editor-Cr0W5BQI.js +39 -0
- package/dist/ui/assets/editor-Cr0W5BQI.js.gz +0 -0
- package/dist/ui/assets/emoji-Bv3m24sO.js +3 -0
- package/dist/ui/assets/emoji-Bv3m24sO.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-me1fboaf.js → erDiagram-Q2GNP2WA-CQSXRgqr.js} +2 -2
- package/dist/ui/assets/erDiagram-Q2GNP2WA-CQSXRgqr.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js +162 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js +267 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js.gz +0 -0
- package/dist/ui/assets/{gitGraph-F6HP7TQM-CfFE_uAC.js → gitGraph-F6HP7TQM-DeuXy4B1.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js +65 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js.gz +0 -0
- package/dist/ui/assets/index-B-qHc0o5.js +63 -0
- package/dist/ui/assets/index-B-qHc0o5.js.gz +0 -0
- package/dist/ui/assets/{index-DxuPq13l.css → index-qkT7Qqm2.css} +1 -1
- package/dist/ui/assets/index-qkT7Qqm2.css.gz +0 -0
- package/dist/ui/assets/{info-NVLQJR56-i_xHYg3f.js → info-NVLQJR56-B9PG7xsc.js} +1 -1
- package/dist/ui/assets/{infoDiagram-ER5ION4S-2NL93b78.js → infoDiagram-ER5ION4S-C5Wpoqim.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CZF-2DHU.js → journeyDiagram-XKPGCS4Q-CHLziqfS.js} +3 -3
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHLziqfS.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-CfvJIOny.js → kanban-definition-3W4ZIXB7-Dq7GzQE_.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-Dq7GzQE_.js.gz +0 -0
- package/dist/ui/assets/{line-DDv8kOJk.js → line-DHKNg83I.js} +1 -1
- package/dist/ui/assets/{linear-Daef-l29.js → linear-BvUfn0I8.js} +1 -1
- package/dist/ui/assets/linear-BvUfn0I8.js.gz +0 -0
- package/dist/ui/assets/{mermaid-parser.core-CdK9QgYV.js → mermaid-parser.core-C6d9tKoo.js} +2 -2
- package/dist/ui/assets/mermaid-parser.core-C6d9tKoo.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-CxE5KezR.js +11 -0
- package/dist/ui/assets/mermaid.core-CxE5KezR.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-Cb3QMflX.js → mindmap-definition-VGOIOE7T-DmPoQ48w.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-DmPoQ48w.js.gz +0 -0
- package/dist/ui/assets/{packet-BFZMPI3H-Bm2uwz4i.js → packet-BFZMPI3H-JZEkVZxU.js} +1 -1
- package/dist/ui/assets/{particles-DsJFOarW.js → particles-CxMmUw86.js} +1 -1
- package/dist/ui/assets/particles-CxMmUw86.js.gz +0 -0
- package/dist/ui/assets/{pie-7BOR55EZ-5i17tVnF.js → pie-7BOR55EZ-_1II5pYQ.js} +1 -1
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-BxIwQWvw.js → pieDiagram-ADFJNKIX-DrNkH33i.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-DrNkH33i.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-B5HPe4ga.js → quadrantDiagram-AYHSOK5B-DOpC-HEF.js} +3 -3
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DOpC-HEF.js.gz +0 -0
- package/dist/ui/assets/{radar-NHE76QYJ-BTn-tq0k.js → radar-NHE76QYJ-DDmqhzEZ.js} +1 -1
- package/dist/ui/assets/reactflow-D98uPOMq.js +2 -0
- package/dist/ui/assets/reactflow-D98uPOMq.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-YfI6llkX.js → requirementDiagram-UZGBJVZJ-Bzx0iEPP.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bzx0iEPP.js.gz +0 -0
- package/dist/ui/assets/{sandpack-D7koO5op.js → sandpack-059Z4UWP.js} +38 -38
- package/dist/ui/assets/sandpack-059Z4UWP.js.gz +0 -0
- package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js +1 -0
- package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js +10 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-DAe4Um17.js → sequenceDiagram-WL72ISMW-CN8neUTA.js} +6 -6
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CN8neUTA.js.gz +0 -0
- package/dist/ui/assets/src-DEbsv3pp.js +34 -0
- package/dist/ui/assets/src-DEbsv3pp.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js +1 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DeyqBMDR.js +1 -0
- package/dist/ui/assets/streamdown-BT1twtFc.js +521 -0
- package/dist/ui/assets/streamdown-BT1twtFc.js.gz +0 -0
- package/dist/ui/assets/syntax-CBu6nLfm.js +9 -0
- package/dist/ui/assets/syntax-CBu6nLfm.js.gz +0 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-D6P5txjT.js → timeline-definition-IT6M3QCI-WdUNkiRj.js} +16 -16
- package/dist/ui/assets/timeline-definition-IT6M3QCI-WdUNkiRj.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-Bitm3gy4.js → treemap-KMMF4GRG-CoriU4Jl.js} +1 -1
- package/dist/ui/assets/{useUserLocalStorage-Ckb8HsIw.js → useUserLocalStorage-GidNiOPC.js} +1 -1
- package/dist/ui/assets/useUserLocalStorage-GidNiOPC.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CsybjUbd.js → xychartDiagram-PRI3JC2R-CgBAKNt2.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CgBAKNt2.js.gz +0 -0
- package/dist/ui/index.html +11 -11
- package/dist/ui/index.html.gz +0 -0
- package/package.json +6 -5
- package/scripts/postinstall.js +27 -19
- package/dist/cli/commands/daemon/sync.d.ts.map +0 -1
- package/dist/ui/assets/App-DcEY8Ota.js +0 -3
- package/dist/ui/assets/App-DcEY8Ota.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js +0 -1
- package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js +0 -9
- package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js +0 -18
- package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js +0 -34
- package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js +0 -8
- package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js.gz +0 -0
- package/dist/ui/assets/ConversationView-CUWR0gR6.js +0 -1
- package/dist/ui/assets/ConversationView-CUWR0gR6.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-B2bzlXfn.js +0 -24
- package/dist/ui/assets/KnowledgePage-B2bzlXfn.js.gz +0 -0
- package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js.gz +0 -0
- package/dist/ui/assets/MobileApp-VgVnsnsN.js +0 -1
- package/dist/ui/assets/MobileApp-VgVnsnsN.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js +0 -20
- package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-mEmYGZhC.css.gz +0 -0
- package/dist/ui/assets/StreamdownDemoPage-wzWaqWwr.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js +0 -1
- package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js.gz +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-CykGFbQU.js +0 -1
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js +0 -36
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js.gz +0 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-BhZaEN19.js.gz +0 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-Dk_UH-sY.js.gz +0 -0
- package/dist/ui/assets/channel-D6_nUWlW.js +0 -1
- package/dist/ui/assets/chunk-55IACEB6-ByzqIgSb.js +0 -1
- package/dist/ui/assets/chunk-ABZYJK2D-BJcrryHK.js.gz +0 -0
- package/dist/ui/assets/chunk-AGHRB4JF-DvxmfbM0.js.gz +0 -0
- package/dist/ui/assets/chunk-ATLVNIR6-DbeJ0OrR.js.gz +0 -0
- package/dist/ui/assets/chunk-B4BG7PRW-C53q2ggf.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-vIyNEQN-.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-B3ObkuOm.js +0 -1
- package/dist/ui/assets/chunk-HN2XXSSU-Dttqcg3b.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js +0 -11
- package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js.gz +0 -0
- package/dist/ui/assets/chunk-JZLCHNYA-EUmx2y4H.js.gz +0 -0
- package/dist/ui/assets/chunk-MI3HLSF2-65n9Mkyc.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js +0 -2
- package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js.gz +0 -0
- package/dist/ui/assets/chunk-QXUST7PY-BCYnMiS3.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-HucAw4xW.js +0 -1
- package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js +0 -2
- package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-BuQUQcTr.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-CUT3rPTB.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-CUT3rPTB.js +0 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-CnPB3ARO.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-DhS-k_Se.js.gz +0 -0
- package/dist/ui/assets/dagre-KgLoHEuy.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js +0 -24
- package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-BPCitvbo.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-NW4uK6sx.js.gz +0 -0
- package/dist/ui/assets/editor-CzFWIUw2.js +0 -39
- package/dist/ui/assets/editor-CzFWIUw2.js.gz +0 -0
- package/dist/ui/assets/emoji-Dkz4Zzv_.js +0 -3
- package/dist/ui/assets/emoji-Dkz4Zzv_.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-me1fboaf.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js +0 -162
- package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js +0 -267
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js +0 -65
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js.gz +0 -0
- package/dist/ui/assets/index-BN5_Qq7R.js +0 -324
- package/dist/ui/assets/index-BN5_Qq7R.js.gz +0 -0
- package/dist/ui/assets/index-DxuPq13l.css.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CZF-2DHU.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-CfvJIOny.js.gz +0 -0
- package/dist/ui/assets/katex-CamJ39w1.js +0 -257
- package/dist/ui/assets/katex-CamJ39w1.js.gz +0 -0
- package/dist/ui/assets/linear-Daef-l29.js.gz +0 -0
- package/dist/ui/assets/mermaid-parser.core-CdK9QgYV.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-D6GS9mU-.js +0 -11
- package/dist/ui/assets/mermaid.core-D6GS9mU-.js.gz +0 -0
- package/dist/ui/assets/message-SqLqNYcv.js +0 -36
- package/dist/ui/assets/message-SqLqNYcv.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-Cb3QMflX.js.gz +0 -0
- package/dist/ui/assets/particles-DsJFOarW.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-BxIwQWvw.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-B5HPe4ga.js.gz +0 -0
- package/dist/ui/assets/reactflow-Bf74ngoo.js +0 -2
- package/dist/ui/assets/reactflow-Bf74ngoo.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-YfI6llkX.js.gz +0 -0
- package/dist/ui/assets/sandpack-D7koO5op.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js +0 -10
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-DAe4Um17.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js +0 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CMlIrsoO.js +0 -1
- package/dist/ui/assets/syntax-C-M-8jOU.js +0 -10
- package/dist/ui/assets/syntax-C-M-8jOU.js.gz +0 -0
- package/dist/ui/assets/theme-BQZdiqwv.js +0 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-D6P5txjT.js.gz +0 -0
- package/dist/ui/assets/useUserLocalStorage-Ckb8HsIw.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CsybjUbd.js.gz +0 -0
- /package/dist/cli/commands/{admin → local}/sync-unix.d.ts +0 -0
|
@@ -191,29 +191,35 @@ import path2 from "path";
|
|
|
191
191
|
import {
|
|
192
192
|
ensureBranchStorageModeAllowed,
|
|
193
193
|
extractSlugFromUrl,
|
|
194
|
-
isBranchRbacEnabled,
|
|
195
194
|
isValidGitUrl,
|
|
196
195
|
isValidSlug,
|
|
197
196
|
normalizeRepoUrl,
|
|
198
197
|
PAGINATION,
|
|
199
198
|
parseAgorYml,
|
|
200
|
-
resolveBranchStorageConfig
|
|
199
|
+
resolveBranchStorageConfig,
|
|
200
|
+
resolveExecutionSecurityMode
|
|
201
201
|
} from "@agor/core/config";
|
|
202
|
-
import {
|
|
202
|
+
import {
|
|
203
|
+
BranchRepository,
|
|
204
|
+
RepoRepository,
|
|
205
|
+
shortId as shortId2
|
|
206
|
+
} from "@agor/core/db";
|
|
203
207
|
import { autoAssignBranchUniqueId } from "@agor/core/environment/variable-resolver";
|
|
204
208
|
import { BadRequest, Forbidden, NotAuthenticated } from "@agor/core/feathers";
|
|
205
209
|
import {
|
|
206
210
|
assertRemoteRefVisibleForClone,
|
|
207
|
-
getBranchPath,
|
|
208
211
|
getDefaultBranch,
|
|
209
212
|
getRemoteUrl,
|
|
210
|
-
getReposDir,
|
|
211
213
|
isValidGitRepo,
|
|
212
|
-
redactGitUrlCredentials,
|
|
213
214
|
scanGitConfigRemoteCredentials,
|
|
214
|
-
scrubGitConfigRemoteCredentials
|
|
215
|
+
scrubGitConfigRemoteCredentials
|
|
216
|
+
} from "@agor/core/git/exec";
|
|
217
|
+
import {
|
|
218
|
+
getBranchPath,
|
|
219
|
+
getReposDir,
|
|
220
|
+
redactGitUrlCredentials,
|
|
215
221
|
stripGitUrlCredentials
|
|
216
|
-
} from "@agor/core/git";
|
|
222
|
+
} from "@agor/core/git/pure";
|
|
217
223
|
|
|
218
224
|
// src/adapters/drizzle.ts
|
|
219
225
|
import { NotFoundError } from "@agor/core/utils/errors";
|
|
@@ -232,6 +238,34 @@ var DrizzleService = class {
|
|
|
232
238
|
// Event emitter for FeathersJS (will be injected by framework)
|
|
233
239
|
// biome-ignore lint/suspicious/noExplicitAny: FeathersJS event system
|
|
234
240
|
emit;
|
|
241
|
+
/** Extract resolved tenant context from Feathers params. */
|
|
242
|
+
getTenant(params) {
|
|
243
|
+
return params?.tenant;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Whether a row belongs to the current tenant. Rows from pre-migration test
|
|
247
|
+
* fixtures that do not expose tenant_id are treated as visible so existing
|
|
248
|
+
* single-tenant unit tests keep working; migrated DB rows always carry it.
|
|
249
|
+
*/
|
|
250
|
+
rowBelongsToTenant(row, tenant) {
|
|
251
|
+
if (!tenant) return true;
|
|
252
|
+
const record = row;
|
|
253
|
+
if (!("tenant_id" in record)) return true;
|
|
254
|
+
return record.tenant_id === tenant.tenant_id;
|
|
255
|
+
}
|
|
256
|
+
/** Stamp tenant_id onto created rows and prevent client-supplied drift. */
|
|
257
|
+
withTenant(data, params) {
|
|
258
|
+
const tenant = this.getTenant(params);
|
|
259
|
+
if (!tenant || !data || typeof data !== "object" || Array.isArray(data)) return data;
|
|
260
|
+
return { ...data, tenant_id: tenant.tenant_id };
|
|
261
|
+
}
|
|
262
|
+
/** Never allow a patch/update to move a row across tenants. */
|
|
263
|
+
stripTenantMutation(data) {
|
|
264
|
+
if (!data || typeof data !== "object" || Array.isArray(data)) return data;
|
|
265
|
+
const clone = { ...data };
|
|
266
|
+
delete clone.tenant_id;
|
|
267
|
+
return clone;
|
|
268
|
+
}
|
|
235
269
|
/**
|
|
236
270
|
* Extract query parameters from params
|
|
237
271
|
*/
|
|
@@ -323,12 +357,28 @@ var DrizzleService = class {
|
|
|
323
357
|
data: paginated
|
|
324
358
|
};
|
|
325
359
|
}
|
|
360
|
+
/**
|
|
361
|
+
* Resolve the candidate row set that `find` filters, sorts, and paginates.
|
|
362
|
+
*
|
|
363
|
+
* The base implementation reads the whole table and relies on `filterData` to
|
|
364
|
+
* narrow it in memory. Subclasses may override this to push high-selectivity
|
|
365
|
+
* predicates into SQL; because `find` always re-applies every query filter via
|
|
366
|
+
* `filterData`, an override only needs to return a superset of the matching
|
|
367
|
+
* rows for the result to stay identical.
|
|
368
|
+
*/
|
|
369
|
+
async fetchData(_query, _params) {
|
|
370
|
+
return this.repository.findAll();
|
|
371
|
+
}
|
|
326
372
|
/**
|
|
327
373
|
* Find records
|
|
328
374
|
*/
|
|
329
375
|
async find(params) {
|
|
330
376
|
const query = this.getQuery(params);
|
|
331
|
-
let data = await this.
|
|
377
|
+
let data = await this.fetchData(query, params);
|
|
378
|
+
const tenant = this.getTenant(params);
|
|
379
|
+
if (tenant) {
|
|
380
|
+
data = data.filter((row) => this.rowBelongsToTenant(row, tenant));
|
|
381
|
+
}
|
|
332
382
|
data = this.filterData(data, query);
|
|
333
383
|
const total = data.length;
|
|
334
384
|
data = this.sortData(data, query.$sort);
|
|
@@ -340,10 +390,13 @@ var DrizzleService = class {
|
|
|
340
390
|
*/
|
|
341
391
|
async get(id, _params) {
|
|
342
392
|
const prefetched = _params?._agorPrefetchedRecord;
|
|
343
|
-
if (prefetched && prefetched.idField === this.id && prefetched.id === String(id) && String(prefetched.record[this.id]) === String(id)) {
|
|
393
|
+
if (prefetched && prefetched.idField === this.id && prefetched.id === String(id) && String(prefetched.record[this.id]) === String(id) && this.rowBelongsToTenant(prefetched.record, this.getTenant(_params))) {
|
|
344
394
|
return prefetched.record;
|
|
345
395
|
}
|
|
346
396
|
const result = await this.repository.findById(String(id));
|
|
397
|
+
if (result && !this.rowBelongsToTenant(result, this.getTenant(_params))) {
|
|
398
|
+
throw new NotFoundError(this.resourceType, String(id));
|
|
399
|
+
}
|
|
347
400
|
if (!result) {
|
|
348
401
|
throw new NotFoundError(this.resourceType, String(id));
|
|
349
402
|
}
|
|
@@ -355,14 +408,18 @@ var DrizzleService = class {
|
|
|
355
408
|
async create(data, params) {
|
|
356
409
|
if (Array.isArray(data)) {
|
|
357
410
|
const results = await Promise.all(
|
|
358
|
-
data.map(
|
|
411
|
+
data.map(
|
|
412
|
+
(item) => this.repository.create(this.withTenant(item, params))
|
|
413
|
+
)
|
|
359
414
|
);
|
|
360
415
|
for (const result2 of results) {
|
|
361
416
|
this.emit?.("created", result2, params);
|
|
362
417
|
}
|
|
363
418
|
return results;
|
|
364
419
|
}
|
|
365
|
-
const result = await this.repository.create(
|
|
420
|
+
const result = await this.repository.create(
|
|
421
|
+
this.withTenant(data, params)
|
|
422
|
+
);
|
|
366
423
|
this.emit?.("created", result, params);
|
|
367
424
|
return result;
|
|
368
425
|
}
|
|
@@ -378,7 +435,10 @@ var DrizzleService = class {
|
|
|
378
435
|
*/
|
|
379
436
|
async update(id, data, params) {
|
|
380
437
|
await this.get(id, params);
|
|
381
|
-
const result = await this.repository.update(
|
|
438
|
+
const result = await this.repository.update(
|
|
439
|
+
String(id),
|
|
440
|
+
this.stripTenantMutation(data)
|
|
441
|
+
);
|
|
382
442
|
this.emit?.("updated", result, params);
|
|
383
443
|
return result;
|
|
384
444
|
}
|
|
@@ -392,12 +452,14 @@ var DrizzleService = class {
|
|
|
392
452
|
}
|
|
393
453
|
const query = this.getQuery(params);
|
|
394
454
|
let records = await this.repository.findAll();
|
|
455
|
+
const tenant = this.getTenant(params);
|
|
456
|
+
if (tenant) records = records.filter((row) => this.rowBelongsToTenant(row, tenant));
|
|
395
457
|
records = this.filterData(records, query);
|
|
396
458
|
const results = await Promise.all(
|
|
397
459
|
records.map(
|
|
398
460
|
(record) => this.repository.update(
|
|
399
461
|
record[this.id],
|
|
400
|
-
data
|
|
462
|
+
this.stripTenantMutation(data)
|
|
401
463
|
)
|
|
402
464
|
)
|
|
403
465
|
);
|
|
@@ -407,7 +469,10 @@ var DrizzleService = class {
|
|
|
407
469
|
return results;
|
|
408
470
|
}
|
|
409
471
|
await this.get(id, params);
|
|
410
|
-
const result = await this.repository.update(
|
|
472
|
+
const result = await this.repository.update(
|
|
473
|
+
String(id),
|
|
474
|
+
this.stripTenantMutation(data)
|
|
475
|
+
);
|
|
411
476
|
this.emit?.("patched", result, params);
|
|
412
477
|
return result;
|
|
413
478
|
}
|
|
@@ -421,6 +486,8 @@ var DrizzleService = class {
|
|
|
421
486
|
}
|
|
422
487
|
const query = this.getQuery(params);
|
|
423
488
|
let records = await this.repository.findAll();
|
|
489
|
+
const tenant = this.getTenant(params);
|
|
490
|
+
if (tenant) records = records.filter((row) => this.rowBelongsToTenant(row, tenant));
|
|
424
491
|
records = this.filterData(records, query);
|
|
425
492
|
await Promise.all(records.map((record) => this.repository.delete(record[this.id])));
|
|
426
493
|
for (const record of records) {
|
|
@@ -587,6 +654,13 @@ function generateTaskId() {
|
|
|
587
654
|
return Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
588
655
|
}
|
|
589
656
|
function findExecutorPath() {
|
|
657
|
+
const configuredPath = process.env.AGOR_EXECUTOR_PATH;
|
|
658
|
+
if (configuredPath) {
|
|
659
|
+
if (!existsSync(configuredPath)) {
|
|
660
|
+
throw new Error(`Configured AGOR_EXECUTOR_PATH does not exist: ${configuredPath}`);
|
|
661
|
+
}
|
|
662
|
+
return configuredPath;
|
|
663
|
+
}
|
|
590
664
|
const dirname = typeof __dirname !== "undefined" ? __dirname : path.dirname(fileURLToPath(import.meta.url));
|
|
591
665
|
const possiblePaths = [
|
|
592
666
|
path.join(dirname, "../executor/cli.js"),
|
|
@@ -697,6 +771,12 @@ function spawnExecutorLocal(payload, options) {
|
|
|
697
771
|
options.onExit?.(127);
|
|
698
772
|
return;
|
|
699
773
|
}
|
|
774
|
+
let reportedExit = false;
|
|
775
|
+
const reportExit = (code) => {
|
|
776
|
+
if (reportedExit) return;
|
|
777
|
+
reportedExit = true;
|
|
778
|
+
options.onExit?.(code);
|
|
779
|
+
};
|
|
700
780
|
const executorProcess = spawn(cmd, args, {
|
|
701
781
|
cwd,
|
|
702
782
|
env: asUser ? void 0 : { ...envWithDaemonUrl },
|
|
@@ -710,6 +790,7 @@ function spawnExecutorLocal(payload, options) {
|
|
|
710
790
|
onSpawn?.(executorProcess);
|
|
711
791
|
executorProcess.on("error", (error) => {
|
|
712
792
|
console.error(`${logPrefix} Spawn error:`, error.message);
|
|
793
|
+
reportExit(127);
|
|
713
794
|
});
|
|
714
795
|
executorProcess.on("exit", (code) => {
|
|
715
796
|
if (code === 0) {
|
|
@@ -717,7 +798,7 @@ function spawnExecutorLocal(payload, options) {
|
|
|
717
798
|
} else {
|
|
718
799
|
console.error(`${logPrefix} Executor exited with code ${code}`);
|
|
719
800
|
}
|
|
720
|
-
|
|
801
|
+
reportExit(code);
|
|
721
802
|
});
|
|
722
803
|
executorProcess.stdin?.write(JSON.stringify(payload));
|
|
723
804
|
executorProcess.stdin?.end();
|
|
@@ -730,6 +811,12 @@ function spawnExecutorWithTemplate(payload, options) {
|
|
|
730
811
|
console.log(`${logPrefix} Task ID: ${templateVariables.task_id}`);
|
|
731
812
|
console.log(`${logPrefix} Command: ${payload.command}`);
|
|
732
813
|
console.log(`${logPrefix} Template command (first 200 chars): ${command.slice(0, 200)}...`);
|
|
814
|
+
let reportedExit = false;
|
|
815
|
+
const reportExit = (code) => {
|
|
816
|
+
if (reportedExit) return;
|
|
817
|
+
reportedExit = true;
|
|
818
|
+
options.onExit?.(code);
|
|
819
|
+
};
|
|
733
820
|
const executorProcess = spawn("sh", ["-c", command], {
|
|
734
821
|
env: { ...process.env, LOG_LEVEL: logLevel },
|
|
735
822
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -743,6 +830,7 @@ function spawnExecutorWithTemplate(payload, options) {
|
|
|
743
830
|
});
|
|
744
831
|
executorProcess.on("error", (error) => {
|
|
745
832
|
console.error(`${logPrefix} Spawn error:`, error.message);
|
|
833
|
+
reportExit(127);
|
|
746
834
|
});
|
|
747
835
|
executorProcess.on("exit", (code) => {
|
|
748
836
|
if (code === 0) {
|
|
@@ -754,7 +842,7 @@ function spawnExecutorWithTemplate(payload, options) {
|
|
|
754
842
|
`${logPrefix} Executor exited with code ${code} (task: ${templateVariables.task_id})`
|
|
755
843
|
);
|
|
756
844
|
}
|
|
757
|
-
|
|
845
|
+
reportExit(code);
|
|
758
846
|
});
|
|
759
847
|
executorProcess.stdin?.write(JSON.stringify(payload));
|
|
760
848
|
executorProcess.stdin?.end();
|
|
@@ -1034,12 +1122,19 @@ function createServiceToken(jwtSecret, expiresIn, scope = {}) {
|
|
|
1034
1122
|
expiresIn || "5m"
|
|
1035
1123
|
);
|
|
1036
1124
|
}
|
|
1037
|
-
function
|
|
1125
|
+
function serviceTokenScopeForParams(params) {
|
|
1126
|
+
const tenantId = params?.tenant?.tenant_id ?? params?.tenant_id ?? params?.user?.tenant_id;
|
|
1127
|
+
return tenantId ? { tenant_id: tenantId } : {};
|
|
1128
|
+
}
|
|
1129
|
+
function generateSessionToken(app, scope = {}) {
|
|
1038
1130
|
const jwtSecret = app.settings.authentication?.secret;
|
|
1039
1131
|
if (!jwtSecret) {
|
|
1040
1132
|
throw new Error("JWT secret not configured in app settings");
|
|
1041
1133
|
}
|
|
1042
|
-
return createServiceToken(jwtSecret);
|
|
1134
|
+
return createServiceToken(jwtSecret, void 0, scope);
|
|
1135
|
+
}
|
|
1136
|
+
function generateScopedServiceToken(app, params) {
|
|
1137
|
+
return generateSessionToken(app, serviceTokenScopeForParams(params));
|
|
1043
1138
|
}
|
|
1044
1139
|
var spawnExecutorFireAndForget = spawnExecutor;
|
|
1045
1140
|
|
|
@@ -1143,10 +1238,11 @@ var ReposService = class extends DrizzleService {
|
|
|
1143
1238
|
}
|
|
1144
1239
|
}
|
|
1145
1240
|
const userId = params?.user?.user_id;
|
|
1146
|
-
const sessionToken =
|
|
1147
|
-
this.app
|
|
1241
|
+
const sessionToken = generateScopedServiceToken(
|
|
1242
|
+
this.app,
|
|
1243
|
+
params
|
|
1148
1244
|
);
|
|
1149
|
-
const
|
|
1245
|
+
const initUnixGroup = resolveExecutionSecurityMode().shouldInitUnixGroups;
|
|
1150
1246
|
const asUser = await resolveGitImpersonationForUser(this.db, userId);
|
|
1151
1247
|
const expectedLocalPath = path2.join(getReposDir(), slug);
|
|
1152
1248
|
const placeholder = await this.create(
|
|
@@ -1180,7 +1276,7 @@ var ReposService = class extends DrizzleService {
|
|
|
1180
1276
|
...data.default_branch ? { default_branch: data.default_branch } : {},
|
|
1181
1277
|
createDbRecord: true,
|
|
1182
1278
|
userId,
|
|
1183
|
-
initUnixGroup
|
|
1279
|
+
initUnixGroup
|
|
1184
1280
|
}
|
|
1185
1281
|
},
|
|
1186
1282
|
{
|
|
@@ -1569,10 +1665,11 @@ Use a different slug with: --slug custom/name`
|
|
|
1569
1665
|
);
|
|
1570
1666
|
}
|
|
1571
1667
|
try {
|
|
1572
|
-
const sessionToken =
|
|
1573
|
-
this.app
|
|
1668
|
+
const sessionToken = generateScopedServiceToken(
|
|
1669
|
+
this.app,
|
|
1670
|
+
params
|
|
1574
1671
|
);
|
|
1575
|
-
const
|
|
1672
|
+
const initUnixGroup = resolveExecutionSecurityMode().shouldInitUnixGroups;
|
|
1576
1673
|
const asUser = await resolveGitImpersonationForUser(this.db, userId);
|
|
1577
1674
|
const safeRemoteUrl = repo.remote_url ? stripGitUrlCredentials(repo.remote_url) : void 0;
|
|
1578
1675
|
spawnExecutorFireAndForget(
|
|
@@ -1591,8 +1688,8 @@ Use a different slug with: --slug custom/name`
|
|
|
1591
1688
|
createBranch: data.createBranch,
|
|
1592
1689
|
refType: data.refType,
|
|
1593
1690
|
userId,
|
|
1594
|
-
// Unix group isolation (only when
|
|
1595
|
-
initUnixGroup
|
|
1691
|
+
// Unix group isolation (only when unix_user_mode is non-simple)
|
|
1692
|
+
initUnixGroup,
|
|
1596
1693
|
othersAccess: branch.others_fs_access || "read",
|
|
1597
1694
|
// Branch storage mode (forwarded for the clone-mode code path)
|
|
1598
1695
|
storageMode,
|
|
@@ -1636,8 +1733,9 @@ Use a different slug with: --slug custom/name`
|
|
|
1636
1733
|
return branch;
|
|
1637
1734
|
}
|
|
1638
1735
|
async runAgorYmlExecutorCommand(repo, branch, command, params, serviceParams) {
|
|
1639
|
-
const sessionToken =
|
|
1640
|
-
this.app
|
|
1736
|
+
const sessionToken = generateScopedServiceToken(
|
|
1737
|
+
this.app,
|
|
1738
|
+
serviceParams
|
|
1641
1739
|
);
|
|
1642
1740
|
const asUser = await resolveExecutorReadAsUser(
|
|
1643
1741
|
this.db,
|
|
@@ -1760,8 +1858,9 @@ Use a different slug with: --slug custom/name`
|
|
|
1760
1858
|
`\u{1F5D1}\uFE0F Repo deletion: Found ${branches.length} branch(s) for repo ${repo.slug} (${repo.repo_id})`
|
|
1761
1859
|
);
|
|
1762
1860
|
if (cleanup && repo.repo_type === "remote") {
|
|
1763
|
-
const sessionToken =
|
|
1764
|
-
this.app
|
|
1861
|
+
const sessionToken = generateScopedServiceToken(
|
|
1862
|
+
this.app,
|
|
1863
|
+
params
|
|
1765
1864
|
);
|
|
1766
1865
|
const cleanupResult = await runExecutorCommand(
|
|
1767
1866
|
{
|
|
@@ -18,16 +18,12 @@
|
|
|
18
18
|
* **Per-schedule advisory lock (Postgres only):** each due schedule's
|
|
19
19
|
* spawn runs inside its own transaction with
|
|
20
20
|
* `pg_try_advisory_xact_lock(hash(schedule_id))`. This serves
|
|
21
|
-
* same-schedule dedup if multi-daemon is ever wired up
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* daemon is actually supported; the partial unique index
|
|
28
|
-
* `sessions_schedule_run_unique` provides DB-level dedup either way.
|
|
29
|
-
* SQLite is single-node by definition; the lock helper is a no-op
|
|
30
|
-
* there.
|
|
21
|
+
* same-schedule dedup if multi-daemon is ever wired up. Because the
|
|
22
|
+
* concurrency guard is intentionally per-schedule, different schedules
|
|
23
|
+
* on the same branch may run at the same time; the partial unique index
|
|
24
|
+
* `sessions_schedule_run_unique` provides DB-level dedup for a single
|
|
25
|
+
* schedule fire either way. SQLite is single-node by definition; the
|
|
26
|
+
* lock helper is a no-op there.
|
|
31
27
|
*
|
|
32
28
|
* **Smart Recovery:**
|
|
33
29
|
* - If scheduler is down for an extended period, only schedules LATEST
|
|
@@ -45,8 +41,8 @@
|
|
|
45
41
|
* context. Branch fields are also exposed under `{{ worktree.* }}`
|
|
46
42
|
* as a v0.19 backwards-compat alias.
|
|
47
43
|
*/
|
|
48
|
-
import type {
|
|
49
|
-
import type { Branch, Schedule, ScheduleID, Session, UUID } from '@agor/core/types';
|
|
44
|
+
import type { TenantScopeAwareDatabase } from '@agor/core/db';
|
|
45
|
+
import type { Branch, Schedule, ScheduleID, Session, TenantID, UUID } from '@agor/core/types';
|
|
50
46
|
import type { UnixUserMode } from '@agor/core/unix';
|
|
51
47
|
import type { Application } from '../declarations';
|
|
52
48
|
/**
|
|
@@ -63,13 +59,13 @@ import type { Application } from '../declarations';
|
|
|
63
59
|
*/
|
|
64
60
|
export declare function renderSchedulePrompt(template: string, branch: Branch, schedule: Schedule, scheduledRunAt: number): string;
|
|
65
61
|
/**
|
|
66
|
-
* Error thrown when execute-now is blocked because
|
|
67
|
-
*
|
|
62
|
+
* Error thrown when execute-now is blocked because an active run from the same
|
|
63
|
+
* schedule exists and allow_concurrent_runs is not enabled. Routes can catch
|
|
68
64
|
* this and surface it as a 409 Conflict.
|
|
69
65
|
*/
|
|
70
66
|
export declare class ScheduleBusyError extends Error {
|
|
71
67
|
readonly code = "schedule_busy";
|
|
72
|
-
constructor(
|
|
68
|
+
constructor(scheduleName: string);
|
|
73
69
|
}
|
|
74
70
|
/**
|
|
75
71
|
* Error thrown when execute-now is called on a schedule that is not
|
|
@@ -88,6 +84,8 @@ export interface SchedulerConfig {
|
|
|
88
84
|
debug?: boolean;
|
|
89
85
|
/** Unix user mode for validation (default: 'simple') */
|
|
90
86
|
unixUserMode?: UnixUserMode;
|
|
87
|
+
/** Static/single-tenant id used for request-less cron ticks. Undefined means discover due schedule tenants from schedule rows. */
|
|
88
|
+
tenantId?: TenantID | string;
|
|
91
89
|
}
|
|
92
90
|
export declare class SchedulerService {
|
|
93
91
|
private app;
|
|
@@ -100,7 +98,7 @@ export declare class SchedulerService {
|
|
|
100
98
|
private sessionRepo;
|
|
101
99
|
private userRepo;
|
|
102
100
|
private sessionMCPRepo;
|
|
103
|
-
constructor(db:
|
|
101
|
+
constructor(db: TenantScopeAwareDatabase, app: Application, config?: SchedulerConfig);
|
|
104
102
|
/**
|
|
105
103
|
* Start the scheduler tick loop
|
|
106
104
|
*/
|
|
@@ -120,6 +118,7 @@ export declare class SchedulerService {
|
|
|
120
118
|
* 3. Process the schedule (dedup, concurrency check, spawn).
|
|
121
119
|
*/
|
|
122
120
|
private tick;
|
|
121
|
+
private findDueScheduleRefs;
|
|
123
122
|
/**
|
|
124
123
|
* Process a single schedule.
|
|
125
124
|
*
|
|
@@ -147,7 +146,7 @@ export declare class SchedulerService {
|
|
|
147
146
|
* @throws ScheduleNotReadyError when the schedule is disabled or its
|
|
148
147
|
* branch can't be loaded.
|
|
149
148
|
* @throws ScheduleBusyError when allow_concurrent_runs is false and
|
|
150
|
-
*
|
|
149
|
+
* this schedule already has an active run.
|
|
151
150
|
*/
|
|
152
151
|
executeScheduleNow(opts: {
|
|
153
152
|
scheduleId: ScheduleID;
|
|
@@ -183,9 +182,9 @@ export declare class SchedulerService {
|
|
|
183
182
|
* 1. Look up the schedule's branch (cascaded delete means it should
|
|
184
183
|
* always exist; we still handle null defensively).
|
|
185
184
|
* 2. Dedup against `sessions(schedule_id, scheduled_run_at)`.
|
|
186
|
-
* 3. Enforce `allow_concurrent_runs` against any active session
|
|
187
|
-
* SAME
|
|
188
|
-
*
|
|
185
|
+
* 3. Enforce `allow_concurrent_runs` against any active session spawned
|
|
186
|
+
* by the SAME SCHEDULE. Different schedules on the same branch do not
|
|
187
|
+
* block one another.
|
|
189
188
|
* 4. Render prompt template (Handlebars).
|
|
190
189
|
* 5. Look up creator's unix_username for execution context.
|
|
191
190
|
* 6. Create session with schedule metadata + `schedule_id` FK.
|
|
@@ -198,13 +197,10 @@ export declare class SchedulerService {
|
|
|
198
197
|
* 9. Enforce retention policy (oldest sessions on this schedule_id
|
|
199
198
|
* are deleted).
|
|
200
199
|
*
|
|
201
|
-
* NOTE (multi-daemon, deferred):
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* coordination (lock on branch when allow_concurrent_runs=false)
|
|
206
|
-
* will be needed once we support multi-daemon. Out of scope for V1
|
|
207
|
-
* since multi-daemon isn't supported yet.
|
|
200
|
+
* NOTE (multi-daemon, deferred): the per-schedule advisory lock and
|
|
201
|
+
* partial unique index guard same-schedule races. They deliberately do
|
|
202
|
+
* not serialize sibling schedules on the same branch, matching the
|
|
203
|
+
* schedule-scoped meaning of `allow_concurrent_runs=false`.
|
|
208
204
|
*/
|
|
209
205
|
private spawnScheduledSession;
|
|
210
206
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/services/scheduler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/services/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAkB9D,OAAO,KAAK,EACV,MAAM,EAGN,QAAQ,EACR,UAAU,EACV,OAAO,EAEP,QAAQ,EAER,IAAI,EACL,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAiCnD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,GACrB,MAAM,CA8BR;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAgB,IAAI,mBAAmB;gBAC3B,YAAY,EAAE,MAAM;CAMjC;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,IAAI,EAAE,mBAAmB,GAAG,qBAAqB,CAAC;gBACtD,IAAI,EAAE,mBAAmB,GAAG,qBAAqB,EAAE,OAAO,EAAE,MAAM;CAK/E;AAED,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kIAAkI;IAClI,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC9B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,MAAM,CAAkF;IAChG,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,cAAc,CAA6B;gBAEvC,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAE,eAAoB;IAoBxF;;OAEG;IACH,KAAK,IAAI,IAAI;IAwBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAeZ;;;;;;;;;OASG;YACW,IAAI;YAsCJ,mBAAmB;IAoBjC;;;;;;;;;;;;;OAaG;YACW,eAAe;IA8E7B;;;;;;;;;;;;;OAaG;IACG,kBAAkB,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAuC/F;;;;;;;;;;;;;;;OAeG;YACW,0BAA0B;IAsCxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;YACW,qBAAqB;IA4NnC;;;OAGG;YACW,sBAAsB;IAuBpC;;;;;;;;OAQG;YACW,sBAAsB;CAyBrC"}
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
advisoryLockKeyForUuid,
|
|
4
4
|
BranchRepository,
|
|
5
|
+
getCurrentTenantId,
|
|
5
6
|
isPostgresDatabase,
|
|
7
|
+
runWithSystemDatabaseScope,
|
|
8
|
+
runWithTenantDatabaseScope,
|
|
6
9
|
ScheduleRepository,
|
|
7
10
|
SessionMCPServerRepository,
|
|
8
11
|
SessionRepository,
|
|
@@ -69,9 +72,9 @@ function renderSchedulePrompt(template, branch, schedule, scheduledRunAt) {
|
|
|
69
72
|
}
|
|
70
73
|
var ScheduleBusyError = class extends Error {
|
|
71
74
|
code = "schedule_busy";
|
|
72
|
-
constructor(
|
|
75
|
+
constructor(scheduleName) {
|
|
73
76
|
super(
|
|
74
|
-
`
|
|
77
|
+
`An active run from schedule "${scheduleName}" is already in progress and allow_concurrent_runs is disabled.`
|
|
75
78
|
);
|
|
76
79
|
this.name = "ScheduleBusyError";
|
|
77
80
|
}
|
|
@@ -104,7 +107,8 @@ var SchedulerService = class {
|
|
|
104
107
|
gracePeriod: config.gracePeriod ?? 12e4,
|
|
105
108
|
// 2 minutes
|
|
106
109
|
debug: config.debug ?? false,
|
|
107
|
-
unixUserMode: config.unixUserMode ?? "simple"
|
|
110
|
+
unixUserMode: config.unixUserMode ?? "simple",
|
|
111
|
+
tenantId: typeof config.tenantId === "string" && config.tenantId.trim() ? config.tenantId.trim() : void 0
|
|
108
112
|
};
|
|
109
113
|
this.branchRepo = new BranchRepository(db);
|
|
110
114
|
this.scheduleRepo = new ScheduleRepository(db);
|
|
@@ -161,18 +165,25 @@ var SchedulerService = class {
|
|
|
161
165
|
async tick() {
|
|
162
166
|
const now = Date.now();
|
|
163
167
|
try {
|
|
164
|
-
const
|
|
168
|
+
const dueScheduleRefs = await this.findDueScheduleRefs(now);
|
|
165
169
|
if (this.config.debug) {
|
|
166
|
-
console.log(`\u{1F504} Scheduler tick: Found ${
|
|
170
|
+
console.log(`\u{1F504} Scheduler tick: Found ${dueScheduleRefs.length} due schedules`);
|
|
167
171
|
}
|
|
168
|
-
for (const
|
|
169
|
-
|
|
170
|
-
await this.processSchedule(schedule, now);
|
|
171
|
-
} catch (error) {
|
|
172
|
+
for (const ref of dueScheduleRefs) {
|
|
173
|
+
if (!ref.tenantId) {
|
|
172
174
|
console.error(
|
|
173
|
-
`\u274C
|
|
174
|
-
error
|
|
175
|
+
`\u274C Skipping due schedule ${shortId(ref.scheduleId)}: missing tenant metadata`
|
|
175
176
|
);
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
try {
|
|
180
|
+
await runWithTenantDatabaseScope(this.db, ref.tenantId, async () => {
|
|
181
|
+
const schedule = await this.scheduleRepo.findById(ref.scheduleId);
|
|
182
|
+
if (!schedule) return;
|
|
183
|
+
await this.processSchedule(schedule, now);
|
|
184
|
+
});
|
|
185
|
+
} catch (error) {
|
|
186
|
+
console.error(`\u274C Failed to process schedule ${shortId(ref.scheduleId)}:`, error);
|
|
176
187
|
}
|
|
177
188
|
}
|
|
178
189
|
} catch (error) {
|
|
@@ -180,6 +191,23 @@ var SchedulerService = class {
|
|
|
180
191
|
throw error;
|
|
181
192
|
}
|
|
182
193
|
}
|
|
194
|
+
async findDueScheduleRefs(now) {
|
|
195
|
+
const findDue = async (tenantId) => {
|
|
196
|
+
const dueSchedules = await this.scheduleRepo.findDueRefs(now + this.config.gracePeriod);
|
|
197
|
+
return dueSchedules.map((schedule) => ({
|
|
198
|
+
scheduleId: schedule.schedule_id,
|
|
199
|
+
tenantId: tenantId ?? schedule.tenant_id
|
|
200
|
+
}));
|
|
201
|
+
};
|
|
202
|
+
if (this.config.tenantId) {
|
|
203
|
+
return runWithTenantDatabaseScope(
|
|
204
|
+
this.db,
|
|
205
|
+
this.config.tenantId,
|
|
206
|
+
() => findDue(this.config.tenantId)
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
return runWithSystemDatabaseScope(this.db, "scheduler due schedule discovery", () => findDue());
|
|
210
|
+
}
|
|
183
211
|
/**
|
|
184
212
|
* Process a single schedule.
|
|
185
213
|
*
|
|
@@ -255,7 +283,7 @@ var SchedulerService = class {
|
|
|
255
283
|
* @throws ScheduleNotReadyError when the schedule is disabled or its
|
|
256
284
|
* branch can't be loaded.
|
|
257
285
|
* @throws ScheduleBusyError when allow_concurrent_runs is false and
|
|
258
|
-
*
|
|
286
|
+
* this schedule already has an active run.
|
|
259
287
|
*/
|
|
260
288
|
async executeScheduleNow(opts) {
|
|
261
289
|
const { scheduleId, triggeredBy } = opts;
|
|
@@ -350,9 +378,9 @@ var SchedulerService = class {
|
|
|
350
378
|
* 1. Look up the schedule's branch (cascaded delete means it should
|
|
351
379
|
* always exist; we still handle null defensively).
|
|
352
380
|
* 2. Dedup against `sessions(schedule_id, scheduled_run_at)`.
|
|
353
|
-
* 3. Enforce `allow_concurrent_runs` against any active session
|
|
354
|
-
* SAME
|
|
355
|
-
*
|
|
381
|
+
* 3. Enforce `allow_concurrent_runs` against any active session spawned
|
|
382
|
+
* by the SAME SCHEDULE. Different schedules on the same branch do not
|
|
383
|
+
* block one another.
|
|
356
384
|
* 4. Render prompt template (Handlebars).
|
|
357
385
|
* 5. Look up creator's unix_username for execution context.
|
|
358
386
|
* 6. Create session with schedule metadata + `schedule_id` FK.
|
|
@@ -365,13 +393,10 @@ var SchedulerService = class {
|
|
|
365
393
|
* 9. Enforce retention policy (oldest sessions on this schedule_id
|
|
366
394
|
* are deleted).
|
|
367
395
|
*
|
|
368
|
-
* NOTE (multi-daemon, deferred):
|
|
369
|
-
*
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
* coordination (lock on branch when allow_concurrent_runs=false)
|
|
373
|
-
* will be needed once we support multi-daemon. Out of scope for V1
|
|
374
|
-
* since multi-daemon isn't supported yet.
|
|
396
|
+
* NOTE (multi-daemon, deferred): the per-schedule advisory lock and
|
|
397
|
+
* partial unique index guard same-schedule races. They deliberately do
|
|
398
|
+
* not serialize sibling schedules on the same branch, matching the
|
|
399
|
+
* schedule-scoped meaning of `allow_concurrent_runs=false`.
|
|
375
400
|
*/
|
|
376
401
|
async spawnScheduledSession(schedule, scheduledRunAt, now, options = { source: "cron" }) {
|
|
377
402
|
const { source, triggeredBy } = options;
|
|
@@ -395,19 +420,19 @@ var SchedulerService = class {
|
|
|
395
420
|
return existingSession;
|
|
396
421
|
}
|
|
397
422
|
if (!schedule.allow_concurrent_runs) {
|
|
398
|
-
const active = await this.sessionRepo.
|
|
399
|
-
|
|
423
|
+
const active = await this.sessionRepo.existsInScheduleWithStatuses(
|
|
424
|
+
schedule.schedule_id,
|
|
400
425
|
ACTIVE_SESSION_STATUSES
|
|
401
426
|
);
|
|
402
427
|
if (active) {
|
|
403
428
|
if (manual) {
|
|
404
429
|
console.log(
|
|
405
|
-
` \u26D4 ${schedule.name}: manual run blocked \u2014 active
|
|
430
|
+
` \u26D4 ${schedule.name}: manual run blocked \u2014 active run from this schedule present (allow_concurrent_runs=false)`
|
|
406
431
|
);
|
|
407
|
-
throw new ScheduleBusyError(
|
|
432
|
+
throw new ScheduleBusyError(schedule.name);
|
|
408
433
|
}
|
|
409
434
|
console.log(
|
|
410
|
-
` \u23ED\uFE0F ${schedule.name}: scheduled run skipped \u2014 active
|
|
435
|
+
` \u23ED\uFE0F ${schedule.name}: scheduled run skipped \u2014 active run from this schedule present (allow_concurrent_runs=false)`
|
|
411
436
|
);
|
|
412
437
|
await this.updateScheduleMetadata(schedule, scheduledRunAt, null, now);
|
|
413
438
|
return null;
|
|
@@ -510,6 +535,7 @@ var SchedulerService = class {
|
|
|
510
535
|
}
|
|
511
536
|
}
|
|
512
537
|
const promptService = this.app.service("/sessions/:id/prompt");
|
|
538
|
+
const tenantId = getCurrentTenantId();
|
|
513
539
|
await promptService.create(
|
|
514
540
|
{
|
|
515
541
|
prompt: renderedPrompt,
|
|
@@ -520,8 +546,9 @@ var SchedulerService = class {
|
|
|
520
546
|
route: { id: createdSession.session_id },
|
|
521
547
|
provider: void 0,
|
|
522
548
|
// Bypass auth for internal scheduler call
|
|
523
|
-
user: creator
|
|
549
|
+
user: creator,
|
|
524
550
|
// Pass creator user for session token generation
|
|
551
|
+
...tenantId ? { tenant: { tenant_id: tenantId, source: "explicit" } } : {}
|
|
525
552
|
}
|
|
526
553
|
);
|
|
527
554
|
await this.updateScheduleMetadata(
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* See docs/internal/schedules-first-class-design-2026-05-24.md §4.4.
|
|
15
15
|
*/
|
|
16
|
-
import { type
|
|
16
|
+
import { type TenantScopeAwareDatabase } from '@agor/core/db';
|
|
17
17
|
import type { AuthenticatedParams, BranchID, QueryParams, Schedule, UUID } from '@agor/core/types';
|
|
18
18
|
import { DrizzleService } from '../adapters/drizzle';
|
|
19
19
|
export type ScheduleParams = QueryParams<{
|
|
@@ -22,7 +22,7 @@ export type ScheduleParams = QueryParams<{
|
|
|
22
22
|
created_by?: UUID;
|
|
23
23
|
}> & AuthenticatedParams;
|
|
24
24
|
export declare class SchedulesService extends DrizzleService<Schedule, Partial<Schedule>, ScheduleParams> {
|
|
25
|
-
constructor(db:
|
|
25
|
+
constructor(db: TenantScopeAwareDatabase);
|
|
26
26
|
}
|
|
27
|
-
export declare function createSchedulesService(db:
|
|
27
|
+
export declare function createSchedulesService(db: TenantScopeAwareDatabase): SchedulesService;
|
|
28
28
|
//# sourceMappingURL=schedules.d.ts.map
|