agor-live 0.21.2 → 0.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/admin/add-to-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/add-to-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/add-to-branch-group.js +133 -33
- package/dist/cli/commands/admin/create-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/create-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-branch-group.js +132 -38
- package/dist/cli/commands/admin/create-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/create-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-symlink.js +138 -61
- package/dist/cli/commands/admin/delete-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/delete-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-branch-group.js +132 -28
- package/dist/cli/commands/admin/delete-user.d.ts +2 -13
- package/dist/cli/commands/admin/delete-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-user.js +132 -38
- package/dist/cli/commands/admin/ensure-user.d.ts +2 -14
- package/dist/cli/commands/admin/ensure-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/ensure-user.js +131 -46
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts +2 -13
- package/dist/cli/commands/admin/remove-from-branch-group.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-from-branch-group.js +133 -33
- package/dist/cli/commands/admin/remove-symlink.d.ts +2 -14
- package/dist/cli/commands/admin/remove-symlink.d.ts.map +1 -1
- package/dist/cli/commands/admin/remove-symlink.js +136 -49
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts +2 -2
- package/dist/cli/commands/admin/scrub-git-remotes.d.ts.map +1 -1
- package/dist/cli/commands/admin/scrub-git-remotes.js +128 -86
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts +2 -14
- package/dist/cli/commands/admin/sync-user-symlinks.d.ts.map +1 -1
- package/dist/cli/commands/admin/sync-user-symlinks.js +132 -43
- package/dist/cli/commands/auth/whoami.d.ts.map +1 -1
- package/dist/cli/commands/auth/whoami.js +2 -1
- package/dist/cli/commands/branch/env/request.test.d.ts +2 -0
- package/dist/cli/commands/branch/env/request.test.d.ts.map +1 -0
- package/dist/cli/commands/branch/env/request.test.js +17723 -0
- package/dist/cli/commands/branch/env/restart.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/restart.js +8 -2
- package/dist/cli/commands/branch/env/start.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/start.js +8 -2
- package/dist/cli/commands/branch/env/stop.d.ts.map +1 -1
- package/dist/cli/commands/branch/env/stop.js +8 -2
- 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 +12 -3
- package/dist/core/api/index.d.ts +16 -2
- package/dist/core/api/index.d.ts.map +1 -1
- package/dist/core/api/index.js +12 -3
- package/dist/core/claude/index.cjs +634 -81
- package/dist/core/claude/index.js +631 -80
- package/dist/core/claude-cli/index.cjs +11 -0
- package/dist/core/claude-cli/index.js +11 -0
- package/dist/core/claude-cli/pricing.d.ts.map +1 -1
- package/dist/core/client/index.cjs +78 -10
- package/dist/core/client/index.js +69 -10
- package/dist/core/config/browser.cjs +5 -7
- package/dist/core/config/browser.js +5 -7
- 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/constants.d.ts +1 -1
- package/dist/core/config/index.cjs +4277 -4391
- 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 +4299 -4433
- 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 +75 -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 +2765 -1018
- 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 +2612 -895
- package/dist/core/db/migrate.d.ts.map +1 -1
- package/dist/core/db/repositories/artifacts.d.ts +27 -2
- package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
- package/dist/core/db/repositories/base.d.ts +18 -0
- package/dist/core/db/repositories/base.d.ts.map +1 -1
- package/dist/core/db/repositories/board-comments.d.ts +17 -1
- package/dist/core/db/repositories/board-comments.d.ts.map +1 -1
- package/dist/core/db/repositories/board-objects.d.ts.map +1 -1
- package/dist/core/db/repositories/boards.d.ts +28 -4
- package/dist/core/db/repositories/boards.d.ts.map +1 -1
- package/dist/core/db/repositories/branch-access.d.ts +32 -0
- package/dist/core/db/repositories/branch-access.d.ts.map +1 -1
- package/dist/core/db/repositories/branches.d.ts +54 -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.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 +3 -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/session-relationships.d.ts +30 -0
- package/dist/core/db/repositories/session-relationships.d.ts.map +1 -0
- package/dist/core/db/repositories/sessions.d.ts +49 -5
- package/dist/core/db/repositories/sessions.d.ts.map +1 -1
- package/dist/core/db/repositories/tasks.d.ts +7 -2
- package/dist/core/db/repositories/tasks.d.ts.map +1 -1
- package/dist/core/db/repositories/user-api-keys.d.ts +10 -1
- package/dist/core/db/repositories/user-api-keys.d.ts.map +1 -1
- package/dist/core/db/repositories/users.d.ts +18 -7
- package/dist/core/db/repositories/users.d.ts.map +1 -1
- package/dist/core/db/schema.d.ts +2605 -766
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.postgres.d.ts +1318 -49
- package/dist/core/db/schema.postgres.d.ts.map +1 -1
- package/dist/core/db/schema.sqlite.d.ts +667 -45
- 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/0050_artifact_source_session.sql +3 -0
- package/dist/core/drizzle/postgres/0051_session_relationships.sql +26 -0
- 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 +56 -0
- package/dist/core/drizzle/sqlite/0059_artifact_source_session.sql +2 -0
- package/dist/core/drizzle/sqlite/0060_session_relationships.sql +23 -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 +42 -0
- package/dist/core/environment/render-snapshot.cjs +1 -4
- package/dist/core/environment/render-snapshot.js +1 -4
- package/dist/core/environment/webhook.cjs +1 -4
- package/dist/core/environment/webhook.js +1 -4
- package/dist/core/gateway/connector-registry.d.ts.map +1 -1
- package/dist/core/gateway/connector.d.ts +32 -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 +136 -7
- package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
- package/dist/core/gateway/connectors/teams.d.ts +107 -0
- package/dist/core/gateway/connectors/teams.d.ts.map +1 -0
- package/dist/core/gateway/context.d.ts.map +1 -1
- package/dist/core/gateway/index.cjs +1044 -78
- package/dist/core/gateway/index.d.ts +6 -2
- package/dist/core/gateway/index.d.ts.map +1 -1
- package/dist/core/gateway/index.js +1031 -77
- package/dist/core/gateway/system-message.d.ts +21 -0
- 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 +11268 -10246
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +11703 -10179
- package/dist/core/lib/feathers-validation.cjs +6 -1
- package/dist/core/lib/feathers-validation.d.ts +1 -0
- package/dist/core/lib/feathers-validation.d.ts.map +1 -1
- package/dist/core/lib/feathers-validation.js +6 -1
- package/dist/core/local-actions/git-remotes.d.ts +7 -0
- package/dist/core/local-actions/git-remotes.d.ts.map +1 -0
- package/dist/core/local-actions/index.cjs +7941 -0
- package/dist/core/local-actions/index.d.ts +6 -0
- package/dist/core/local-actions/index.d.ts.map +1 -0
- package/dist/core/local-actions/index.js +7943 -0
- package/dist/core/local-actions/symlinks.d.ts +20 -0
- package/dist/core/local-actions/symlinks.d.ts.map +1 -0
- package/dist/core/local-actions/types.d.ts +14 -0
- package/dist/core/local-actions/types.d.ts.map +1 -0
- package/dist/core/local-actions/unix-groups.d.ts +16 -0
- package/dist/core/local-actions/unix-groups.d.ts.map +1 -0
- package/dist/core/local-actions/unix-users.d.ts +12 -0
- package/dist/core/local-actions/unix-users.d.ts.map +1 -0
- package/dist/core/mcp/index.cjs +498 -34
- package/dist/core/mcp/index.js +497 -33
- package/dist/core/mcp/template-resolver.d.ts.map +1 -1
- package/dist/core/models/browser.cjs +148 -25
- package/dist/core/models/browser.js +144 -25
- package/dist/core/models/claude.d.ts +2 -2
- package/dist/core/models/claude.d.ts.map +1 -1
- package/dist/core/models/codex.d.ts +205 -21
- package/dist/core/models/codex.d.ts.map +1 -1
- package/dist/core/models/index.cjs +148 -25
- package/dist/core/models/index.js +144 -25
- package/dist/core/package.json +24 -0
- package/dist/core/seed/demo-fixtures.d.ts +87 -0
- package/dist/core/seed/demo-fixtures.d.ts.map +1 -0
- package/dist/core/seed/dev-fixtures.d.ts.map +1 -1
- package/dist/core/seed/index.cjs +8785 -5563
- 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 +8787 -5570
- package/dist/core/sessions/index.cjs +129 -24
- package/dist/core/sessions/index.js +129 -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 +22 -53
- package/dist/core/templates/session-context.cjs +2 -73
- package/dist/core/templates/session-context.d.ts +9 -53
- package/dist/core/templates/session-context.d.ts.map +1 -1
- package/dist/core/templates/session-context.js +2 -72
- package/dist/core/tools/mcp/jwt-auth.cjs +2 -20
- package/dist/core/tools/mcp/jwt-auth.d.ts.map +1 -1
- package/dist/core/tools/mcp/jwt-auth.js +2 -20
- package/dist/core/tools/mcp/oauth-mcp-transport.cjs +2 -15
- package/dist/core/tools/mcp/oauth-mcp-transport.d.ts.map +1 -1
- package/dist/core/tools/mcp/oauth-mcp-transport.js +2 -15
- package/dist/core/tools/mcp/oauth-refresh.cjs +684 -106
- package/dist/core/tools/mcp/oauth-refresh.js +682 -107
- package/dist/core/types/artifact.d.ts +5 -1
- package/dist/core/types/artifact.d.ts.map +1 -1
- package/dist/core/types/board.d.ts +2 -0
- package/dist/core/types/board.d.ts.map +1 -1
- package/dist/core/types/branch.d.ts +27 -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 +77 -2
- package/dist/core/types/gateway.d.ts.map +1 -1
- package/dist/core/types/id.d.ts +1 -0
- package/dist/core/types/id.d.ts.map +1 -1
- package/dist/core/types/index.cjs +61 -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 +52 -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 +72 -2
- package/dist/core/types/session.d.ts.map +1 -1
- package/dist/core/types/task.d.ts +9 -0
- package/dist/core/types/task.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 +1367 -669
- package/dist/core/unix/index.js +1330 -634
- package/dist/core/unix/unix-integration-service.d.ts +10 -7
- package/dist/core/unix/unix-integration-service.d.ts.map +1 -1
- package/dist/core/utils/emoji-shortcodes.d.ts +13 -0
- package/dist/core/utils/emoji-shortcodes.d.ts.map +1 -0
- package/dist/core/utils/permission-mode-mapper.cjs +19 -0
- package/dist/core/utils/permission-mode-mapper.js +19 -0
- package/dist/core/yaml/index.cjs +8 -8
- package/dist/core/yaml/index.d.ts +1 -1
- package/dist/core/yaml/index.d.ts.map +1 -1
- package/dist/core/yaml/index.js +7 -7
- package/dist/daemon/adapters/drizzle.d.ts +26 -4
- package/dist/daemon/adapters/drizzle.d.ts.map +1 -1
- package/dist/daemon/adapters/drizzle.js +68 -7
- package/dist/daemon/auth/api-key-strategy.js +1 -1
- package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
- package/dist/daemon/auth/executor-runtime-scope.js +19 -5
- package/dist/daemon/auth/launch-auth.d.ts +5 -4
- package/dist/daemon/auth/launch-auth.d.ts.map +1 -1
- package/dist/daemon/auth/launch-auth.js +123 -39
- package/dist/daemon/auth/refresh-token-service.d.ts +22 -0
- package/dist/daemon/auth/refresh-token-service.d.ts.map +1 -0
- package/dist/daemon/auth/refresh-token-service.js +133 -0
- package/dist/daemon/auth/runtime-tokens.d.ts +3 -1
- package/dist/daemon/auth/runtime-tokens.d.ts.map +1 -1
- package/dist/daemon/auth/runtime-tokens.js +17 -4
- package/dist/daemon/auth/service-jwt-strategy.d.ts +2 -1
- package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
- package/dist/daemon/auth/service-jwt-strategy.js +127 -1
- package/dist/daemon/auth/token-invalidation.d.ts +11 -0
- package/dist/daemon/auth/token-invalidation.d.ts.map +1 -0
- package/dist/daemon/auth/token-invalidation.js +38 -0
- package/dist/daemon/auth/user-redaction.d.ts +12 -0
- package/dist/daemon/auth/user-redaction.d.ts.map +1 -0
- package/dist/daemon/auth/user-redaction.js +13 -0
- package/dist/daemon/declarations.d.ts +8 -1
- 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 +69 -7
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +10429 -4408
- 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 +10429 -4408
- 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 +1621 -87
- 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 +553 -29
- package/dist/daemon/mcp/tools/artifacts.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/artifacts.js +516 -25
- package/dist/daemon/mcp/tools/boards.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/boards.js +522 -26
- package/dist/daemon/mcp/tools/branches.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/branches.js +579 -55
- package/dist/daemon/mcp/tools/card-types.js +513 -23
- package/dist/daemon/mcp/tools/cards.js +513 -23
- package/dist/daemon/mcp/tools/environment.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/environment.js +534 -28
- package/dist/daemon/mcp/tools/gateway-channels.d.ts +4 -0
- package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -0
- package/dist/daemon/mcp/tools/gateway-channels.js +16035 -0
- package/dist/daemon/mcp/tools/knowledge.js +513 -23
- package/dist/daemon/mcp/tools/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/mcp-servers.js +848 -23
- package/dist/daemon/mcp/tools/messages.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/messages.js +573 -37
- package/dist/daemon/mcp/tools/proxies.js +523 -25
- package/dist/daemon/mcp/tools/repos.js +513 -23
- package/dist/daemon/mcp/tools/schedules.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/schedules.js +516 -24
- package/dist/daemon/mcp/tools/search.js +513 -23
- package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/sessions.js +660 -33
- package/dist/daemon/mcp/tools/tasks.js +513 -23
- package/dist/daemon/mcp/tools/users.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/users.js +532 -28
- package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
- package/dist/daemon/mcp/tools/widgets.js +542 -25
- package/dist/daemon/register-hooks.d.ts +8 -3
- package/dist/daemon/register-hooks.d.ts.map +1 -1
- package/dist/daemon/register-hooks.js +1146 -609
- 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 +2926 -829
- 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 +4209 -1140
- package/dist/daemon/services/artifacts.d.ts +43 -6
- package/dist/daemon/services/artifacts.d.ts.map +1 -1
- package/dist/daemon/services/artifacts.js +134 -9
- package/dist/daemon/services/assistant-knowledge.d.ts +2 -2
- package/dist/daemon/services/assistant-knowledge.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.d.ts +8 -5
- package/dist/daemon/services/board-comments.d.ts.map +1 -1
- package/dist/daemon/services/board-comments.js +78 -13
- package/dist/daemon/services/board-objects.d.ts +8 -5
- package/dist/daemon/services/board-objects.d.ts.map +1 -1
- package/dist/daemon/services/board-objects.js +14 -4
- package/dist/daemon/services/boards.d.ts +34 -5
- package/dist/daemon/services/boards.d.ts.map +1 -1
- package/dist/daemon/services/boards.js +116 -8
- package/dist/daemon/services/branch-owners.d.ts +3 -1
- package/dist/daemon/services/branch-owners.d.ts.map +1 -1
- package/dist/daemon/services/branch-owners.js +31 -4
- package/dist/daemon/services/branches.d.ts +39 -6
- package/dist/daemon/services/branches.d.ts.map +1 -1
- package/dist/daemon/services/branches.js +703 -210
- 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 +1048 -397
- 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 +106 -5
- package/dist/daemon/services/gateway.d.ts.map +1 -1
- package/dist/daemon/services/gateway.js +1184 -95
- 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 +7 -5
- package/dist/daemon/services/groups.d.ts.map +1 -1
- package/dist/daemon/services/groups.js +56 -0
- package/dist/daemon/services/health-monitor.d.ts +34 -2
- package/dist/daemon/services/health-monitor.d.ts.map +1 -1
- package/dist/daemon/services/health-monitor.js +145 -23
- package/dist/daemon/services/knowledge-document-edits.d.ts +3 -3
- package/dist/daemon/services/knowledge-document-edits.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.d.ts +3 -3
- package/dist/daemon/services/knowledge-documents.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-documents.js +92 -7
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts +7 -2
- package/dist/daemon/services/knowledge-embedding-indexer.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-embedding-indexer.js +37 -3
- package/dist/daemon/services/knowledge-graph.d.ts +3 -3
- package/dist/daemon/services/knowledge-graph.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-indexing.d.ts +3 -3
- package/dist/daemon/services/knowledge-indexing.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.d.ts +3 -3
- package/dist/daemon/services/knowledge-namespaces.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-namespaces.js +72 -8
- package/dist/daemon/services/knowledge-reindex.d.ts +3 -3
- package/dist/daemon/services/knowledge-reindex.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-reindex.js +28 -1
- package/dist/daemon/services/knowledge-search.d.ts +3 -3
- package/dist/daemon/services/knowledge-search.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.d.ts +3 -3
- package/dist/daemon/services/knowledge-settings.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-settings.js +24 -0
- package/dist/daemon/services/knowledge-versions.d.ts +3 -3
- package/dist/daemon/services/knowledge-versions.d.ts.map +1 -1
- package/dist/daemon/services/knowledge-versions.js +68 -7
- package/dist/daemon/services/leaderboard.d.ts +14 -6
- package/dist/daemon/services/leaderboard.d.ts.map +1 -1
- package/dist/daemon/services/leaderboard.js +74 -15
- package/dist/daemon/services/local-actions.d.ts +13 -0
- package/dist/daemon/services/local-actions.d.ts.map +1 -0
- package/dist/daemon/services/local-actions.js +120 -0
- package/dist/daemon/services/mcp-servers.d.ts +3 -3
- package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/mcp-servers.js +68 -13
- 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 +61 -30
- package/dist/daemon/services/schedules.d.ts +3 -3
- package/dist/daemon/services/schedules.d.ts.map +1 -1
- package/dist/daemon/services/schedules.js +68 -7
- package/dist/daemon/services/session-env-selections.d.ts +3 -3
- package/dist/daemon/services/session-env-selections.d.ts.map +1 -1
- package/dist/daemon/services/session-mcp-servers.d.ts +3 -3
- package/dist/daemon/services/session-mcp-servers.d.ts.map +1 -1
- package/dist/daemon/services/session-token-service.d.ts.map +1 -1
- package/dist/daemon/services/session-token-service.js +3 -0
- package/dist/daemon/services/sessions.d.ts +20 -8
- package/dist/daemon/services/sessions.d.ts.map +1 -1
- package/dist/daemon/services/sessions.js +211 -17
- package/dist/daemon/services/tasks.d.ts +24 -7
- package/dist/daemon/services/tasks.d.ts.map +1 -1
- package/dist/daemon/services/tasks.js +235 -59
- package/dist/daemon/services/terminals.d.ts +21 -3
- package/dist/daemon/services/terminals.d.ts.map +1 -1
- package/dist/daemon/services/terminals.js +81 -25
- package/dist/daemon/services/thread-session-map.d.ts +3 -3
- package/dist/daemon/services/thread-session-map.d.ts.map +1 -1
- package/dist/daemon/services/thread-session-map.js +68 -7
- package/dist/daemon/services/user-avatar-sync.d.ts +21 -0
- package/dist/daemon/services/user-avatar-sync.d.ts.map +1 -0
- package/dist/daemon/services/user-avatar-sync.js +267 -0
- package/dist/daemon/services/users.d.ts +29 -9
- package/dist/daemon/services/users.d.ts.map +1 -1
- package/dist/daemon/services/users.js +383 -30
- package/dist/daemon/services/zone-trigger.d.ts.map +1 -1
- package/dist/daemon/services/zone-trigger.js +17 -4
- package/dist/daemon/setup/build-info.d.ts +1 -1
- package/dist/daemon/setup/build-info.d.ts.map +1 -1
- package/dist/daemon/setup/build-info.js +5 -1
- package/dist/daemon/setup/database.d.ts +8 -3
- package/dist/daemon/setup/database.d.ts.map +1 -1
- package/dist/daemon/setup/database.js +26 -6
- package/dist/daemon/setup/first-run-admin.d.ts +2 -2
- package/dist/daemon/setup/first-run-admin.d.ts.map +1 -1
- package/dist/daemon/setup/index.js +97 -17
- package/dist/daemon/setup/socketio.d.ts +10 -1
- package/dist/daemon/setup/socketio.d.ts.map +1 -1
- package/dist/daemon/setup/socketio.js +68 -10
- package/dist/daemon/startup.d.ts +13 -2
- package/dist/daemon/startup.d.ts.map +1 -1
- package/dist/daemon/startup.js +354 -88
- package/dist/daemon/utils/append-system-message.d.ts +2 -2
- package/dist/daemon/utils/append-system-message.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.d.ts.map +1 -1
- package/dist/daemon/utils/apply-session-config-defaults.js +12 -1
- package/dist/daemon/utils/authorization.d.ts +3 -1
- package/dist/daemon/utils/authorization.d.ts.map +1 -1
- package/dist/daemon/utils/authorization.js +21 -6
- package/dist/daemon/utils/branch-authorization.d.ts +30 -0
- package/dist/daemon/utils/branch-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/branch-authorization.js +63 -5
- package/dist/daemon/utils/branch-inspect.d.ts +1 -0
- package/dist/daemon/utils/branch-inspect.d.ts.map +1 -1
- package/dist/daemon/utils/branch-inspect.js +11 -3
- package/dist/daemon/utils/executor-read-impersonation.d.ts +2 -2
- package/dist/daemon/utils/executor-read-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-impersonation.d.ts +10 -10
- package/dist/daemon/utils/git-impersonation.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.d.ts +3 -3
- package/dist/daemon/utils/git-remote-credential-scan.d.ts.map +1 -1
- package/dist/daemon/utils/git-remote-credential-scan.js +6 -2
- package/dist/daemon/utils/mcp-token-authorization.d.ts +18 -13
- package/dist/daemon/utils/mcp-token-authorization.d.ts.map +1 -1
- package/dist/daemon/utils/mcp-token-authorization.js +11 -5
- package/dist/daemon/utils/open-source-telemetry-config.d.ts +6 -0
- package/dist/daemon/utils/open-source-telemetry-config.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-config.js +21 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts +7 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-heartbeat.js +15 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts +9 -0
- package/dist/daemon/utils/open-source-telemetry-usage.d.ts.map +1 -0
- package/dist/daemon/utils/open-source-telemetry-usage.js +121 -0
- package/dist/daemon/utils/realign-repo-origin.d.ts +3 -3
- package/dist/daemon/utils/realign-repo-origin.d.ts.map +1 -1
- package/dist/daemon/utils/realign-repo-origin.js +47 -16
- package/dist/daemon/utils/realtime-publish.d.ts +2 -0
- package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
- package/dist/daemon/utils/realtime-publish.js +51 -10
- package/dist/daemon/utils/session-state-hooks.d.ts +3 -3
- package/dist/daemon/utils/session-state-hooks.d.ts.map +1 -1
- package/dist/daemon/utils/session-stop.d.ts +43 -0
- package/dist/daemon/utils/session-stop.d.ts.map +1 -0
- package/dist/daemon/utils/session-stop.js +102 -0
- package/dist/daemon/utils/session-task-state.d.ts +7 -2
- package/dist/daemon/utils/session-task-state.d.ts.map +1 -1
- package/dist/daemon/utils/session-task-state.js +9 -3
- package/dist/daemon/utils/session-tasks.d.ts +4 -4
- package/dist/daemon/utils/session-tasks.d.ts.map +1 -1
- package/dist/daemon/utils/session-tasks.js +4 -8
- package/dist/daemon/utils/session-turn-lock.d.ts +8 -1
- package/dist/daemon/utils/session-turn-lock.d.ts.map +1 -1
- package/dist/daemon/utils/session-turn-lock.js +25 -2
- package/dist/daemon/utils/spawn-executor.d.ts +23 -1
- package/dist/daemon/utils/spawn-executor.d.ts.map +1 -1
- package/dist/daemon/utils/spawn-executor.js +34 -4
- package/dist/daemon/utils/tenant-db-scope.d.ts +20 -0
- package/dist/daemon/utils/tenant-db-scope.d.ts.map +1 -0
- package/dist/daemon/utils/tenant-db-scope.js +114 -0
- package/dist/daemon/utils/unix-group-init.d.ts +3 -3
- package/dist/daemon/utils/unix-group-init.d.ts.map +1 -1
- package/dist/daemon/utils/upload.d.ts +6 -9
- package/dist/daemon/utils/upload.d.ts.map +1 -1
- package/dist/daemon/utils/upload.js +30 -37
- package/dist/daemon/widgets/env-vars/index.d.ts +26 -1
- package/dist/daemon/widgets/env-vars/index.d.ts.map +1 -1
- package/dist/daemon/widgets/env-vars/index.js +145 -21
- package/dist/daemon/widgets/index.js +137 -21
- package/dist/executor/commands/environment.d.ts +13 -0
- package/dist/executor/commands/environment.d.ts.map +1 -0
- package/dist/executor/commands/environment.js +291 -0
- package/dist/executor/commands/git.js +1 -1
- package/dist/executor/commands/index.d.ts.map +1 -1
- package/dist/executor/commands/index.js +5 -1
- package/dist/executor/commands/unix.d.ts +8 -1
- package/dist/executor/commands/unix.d.ts.map +1 -1
- package/dist/executor/commands/unix.js +157 -2
- package/dist/executor/git/index.d.ts +8 -0
- package/dist/executor/git/index.d.ts.map +1 -0
- package/dist/executor/git/index.js +7 -0
- package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/base-executor.js +4 -1
- package/dist/executor/handlers/sdk/git-safe-directory.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/git-safe-directory.js +1 -1
- package/dist/executor/payload-types.d.ts +201 -5
- package/dist/executor/payload-types.d.ts.map +1 -1
- package/dist/executor/payload-types.js +98 -0
- package/dist/executor/sdk-handlers/base/diff-enrichment.js +1 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/base/mcp-scoping.js +14 -0
- package/dist/executor/sdk-handlers/claude/message-processor.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/message-processor.js +0 -1
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts +1 -0
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/query-builder.js +91 -39
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +6 -10
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +12 -15
- package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/normalizer.js +11 -1
- package/dist/executor/sdk-handlers/codex/pricing/litellm-openai-model-prices.json +3663 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts +31 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts.map +1 -0
- package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.js +46 -0
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +12 -5
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.js +133 -36
- 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/prompt-service.d.ts +2 -4
- package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -13
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +2 -4
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -13
- package/dist/executor/services/feathers-client.js +5 -5
- package/dist/git/index.cjs +1101 -0
- package/dist/git/index.d.ts +533 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +1022 -0
- package/dist/git/package.json +21 -0
- package/dist/git/pure.cjs +185 -0
- package/dist/git/pure.d.ts +39 -0
- package/dist/git/pure.d.ts.map +1 -0
- package/dist/git/pure.js +139 -0
- package/dist/ui/assets/AgorEmojiPickerInner-DQjr8M3_.js +1 -0
- package/dist/ui/assets/App-hJtcOxHv.js +5 -0
- package/dist/ui/assets/App-hJtcOxHv.js.gz +0 -0
- package/dist/ui/assets/AppNode-BhuMpn8O.js +1 -0
- package/dist/ui/assets/AppNode-BhuMpn8O.js.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js +1 -0
- package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js +9 -0
- package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js.gz +0 -0
- package/dist/ui/assets/ArtifactNode-BzQcrwFS.js +9 -0
- package/dist/ui/assets/ArtifactNode-BzQcrwFS.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js +19 -0
- package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js.gz +0 -0
- package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js +34 -0
- package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js +7 -0
- package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js.gz +0 -0
- package/dist/ui/assets/ConversationView-9-3ma1u-.js +1 -0
- package/dist/ui/assets/ConversationView-9-3ma1u-.js.gz +0 -0
- package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js +2 -0
- package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js +24 -0
- package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js.gz +0 -0
- package/dist/ui/assets/MarketingScreenshotPage-9Qd7eZsm.css +1 -0
- package/dist/ui/assets/MarketingScreenshotPage-CmDPBHOl.js +143 -0
- package/dist/ui/assets/MarketingScreenshotPage-CmDPBHOl.js.gz +0 -0
- package/dist/ui/assets/MobileApp-BpgSG_gz.js +1 -0
- package/dist/ui/assets/MobileApp-BpgSG_gz.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-B6_mtlxK.js +13 -0
- package/dist/ui/assets/SessionCanvas-B6_mtlxK.js.gz +0 -0
- package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css +1 -0
- package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css.gz +0 -0
- package/dist/ui/assets/{StreamdownDemoPage-B9wbgp2s.js → StreamdownDemoPage-okKKR2QH.js} +2 -2
- package/dist/ui/assets/StreamdownDemoPage-okKKR2QH.js.gz +0 -0
- package/dist/ui/assets/TerminalModal-D9jMGZXv.js +2 -0
- package/dist/ui/assets/TerminalModal-D9jMGZXv.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js +1 -0
- package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js.gz +0 -0
- package/dist/ui/assets/ThemedSyntaxHighlighter.inner-C1FdIHn0.js +1 -0
- package/dist/ui/assets/antd-DT5ackd0.js +401 -0
- package/dist/ui/assets/antd-DT5ackd0.js.gz +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-DMnxkQRZ.js +1 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js +36 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js.gz +0 -0
- package/dist/ui/assets/{blockDiagram-VD42YOAC-CzGHAHao.js → blockDiagram-VD42YOAC-Dh1_TVW2.js} +4 -4
- package/dist/ui/assets/blockDiagram-VD42YOAC-Dh1_TVW2.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-DscJyaWN.js → c4Diagram-YG6GDRKO-B1e96AcB.js} +2 -2
- package/dist/ui/assets/c4Diagram-YG6GDRKO-B1e96AcB.js.gz +0 -0
- package/dist/ui/assets/channel-Jv4dT4S5.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-DoWpTvP8.js → chunk-4BX2VUAB-BODpCjJx.js} +1 -1
- package/dist/ui/assets/chunk-55IACEB6-lJXvUquf.js +1 -0
- package/dist/ui/assets/{chunk-ABZYJK2D-RzDCrjE6.js → chunk-ABZYJK2D-DCTXWSzV.js} +3 -3
- package/dist/ui/assets/chunk-ABZYJK2D-DCTXWSzV.js.gz +0 -0
- package/dist/ui/assets/{chunk-AGHRB4JF-jidCS5Of.js → chunk-AGHRB4JF-CbNphBjE.js} +1 -1
- package/dist/ui/assets/chunk-AGHRB4JF-CbNphBjE.js.gz +0 -0
- package/dist/ui/assets/{chunk-ATLVNIR6-BEIIfJtC.js → chunk-ATLVNIR6-rWg3qxof.js} +1 -1
- package/dist/ui/assets/chunk-ATLVNIR6-rWg3qxof.js.gz +0 -0
- package/dist/ui/assets/{chunk-B4BG7PRW-B8b6dQQ2.js → chunk-B4BG7PRW-CgtLCbpE.js} +3 -3
- package/dist/ui/assets/chunk-B4BG7PRW-CgtLCbpE.js.gz +0 -0
- package/dist/ui/assets/{chunk-CVBHYZKI-D-mQAfrk.js → chunk-CVBHYZKI-DTL6Zgr0.js} +1 -1
- package/dist/ui/assets/{chunk-DI55MBZ5-BfATX3V8.js → chunk-DI55MBZ5-Dwvx2Kva.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-Dwvx2Kva.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-DHyaqTsP.js +1 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-fqXscNvc.js → chunk-FMBD7UC4-BogA_9CV.js} +1 -1
- package/dist/ui/assets/{chunk-HN2XXSSU-BCHvD80g.js → chunk-HN2XXSSU-2blQO3Gb.js} +1 -1
- package/dist/ui/assets/chunk-HN2XXSSU-2blQO3Gb.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js +11 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js.gz +0 -0
- package/dist/ui/assets/{chunk-JZLCHNYA-cKMooY3y.js → chunk-JZLCHNYA-BsgZ79Fa.js} +5 -5
- package/dist/ui/assets/chunk-JZLCHNYA-BsgZ79Fa.js.gz +0 -0
- package/dist/ui/assets/{chunk-MI3HLSF2-BlzO5wOE.js → chunk-MI3HLSF2-dwYeUy5S.js} +1 -1
- package/dist/ui/assets/chunk-MI3HLSF2-dwYeUy5S.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js +2 -0
- package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js.gz +0 -0
- package/dist/ui/assets/{chunk-QN33PNHL-DIHGQ_pd.js → chunk-QN33PNHL-DxdIDCAa.js} +1 -1
- package/dist/ui/assets/{chunk-QXUST7PY-C9l0muI0.js → chunk-QXUST7PY-BCK2V0i-.js} +2 -2
- package/dist/ui/assets/chunk-QXUST7PY-BCK2V0i-.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-CALjGrEE.js +1 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js +2 -0
- package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js.gz +0 -0
- package/dist/ui/assets/{chunk-TZMSLE5B-DZwI0C_2.js → chunk-TZMSLE5B-dX5RaM6g.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-dX5RaM6g.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-C3_RVP70.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-C3_RVP70.js +1 -0
- package/dist/ui/assets/constants-GjIDNVyt.js +1 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-Ipik-oSD.js → cose-bilkent-S5V4N54A-Dx0BJVDl.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-Dx0BJVDl.js.gz +0 -0
- package/dist/ui/assets/cursor-QEb7m-rN.png +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-BDpyWQnh.js → dagre-6UL2VRFP-DiQSUxqN.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-DiQSUxqN.js.gz +0 -0
- package/dist/ui/assets/{dagre-CgA4KhUX.js → dagre-Bekd9Vdj.js} +1 -1
- package/dist/ui/assets/dagre-Bekd9Vdj.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js +24 -0
- package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-BWPW28XI.js → diagram-QEK2KX5R-CobkCRdj.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-CobkCRdj.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-BIHhcGoV.js → diagram-S2PKOQOG-DHEZYivc.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-DHEZYivc.js.gz +0 -0
- package/dist/ui/assets/editor-DQIG-JYZ.js +43 -0
- package/dist/ui/assets/editor-DQIG-JYZ.js.gz +0 -0
- package/dist/ui/assets/emoji-B0hLmSLZ.js +3 -0
- package/dist/ui/assets/emoji-B0hLmSLZ.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-ubTaAFcK.js → erDiagram-Q2GNP2WA-BVNeTZPQ.js} +2 -2
- package/dist/ui/assets/erDiagram-Q2GNP2WA-BVNeTZPQ.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js +162 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js +267 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js.gz +0 -0
- package/dist/ui/assets/{gitGraph-F6HP7TQM-DghoobE6.js → gitGraph-F6HP7TQM-DMFIqn4h.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js +65 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js.gz +0 -0
- package/dist/ui/assets/index-DTz1Dif6.js +64 -0
- package/dist/ui/assets/index-DTz1Dif6.js.gz +0 -0
- package/dist/ui/assets/index-qkT7Qqm2.css +1 -0
- package/dist/ui/assets/index-qkT7Qqm2.css.gz +0 -0
- package/dist/ui/assets/{info-NVLQJR56-0ZldEXPQ.js → info-NVLQJR56-DZ3K-w48.js} +1 -1
- package/dist/ui/assets/{infoDiagram-ER5ION4S-DMmPX-il.js → infoDiagram-ER5ION4S-CxnBJQu6.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CrVickA2.js → journeyDiagram-XKPGCS4Q-CHYNj-f8.js} +3 -3
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHYNj-f8.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-C_BsdHYL.js → kanban-definition-3W4ZIXB7-DQPCCsj2.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-DQPCCsj2.js.gz +0 -0
- package/dist/ui/assets/{line-CfBP7Yic.js → line-DBRjKmfa.js} +1 -1
- package/dist/ui/assets/{linear-BsjageUB.js → linear-DFao5Wyp.js} +1 -1
- package/dist/ui/assets/linear-DFao5Wyp.js.gz +0 -0
- package/dist/ui/assets/{mermaid-parser.core-DZdP-NFq.js → mermaid-parser.core-DYCfacHj.js} +2 -2
- package/dist/ui/assets/mermaid-parser.core-DYCfacHj.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-C6xGFSdE.js +11 -0
- package/dist/ui/assets/mermaid.core-C6xGFSdE.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-BbmaUjMY.js → mindmap-definition-VGOIOE7T-L3Pw-YM7.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-L3Pw-YM7.js.gz +0 -0
- package/dist/ui/assets/{packet-BFZMPI3H-D_ZhkXuT.js → packet-BFZMPI3H-CpL6iNoa.js} +1 -1
- package/dist/ui/assets/{particles-Dv28pjOd.js → particles-CT8hcJOA.js} +1 -1
- package/dist/ui/assets/particles-CT8hcJOA.js.gz +0 -0
- package/dist/ui/assets/{pie-7BOR55EZ-Dn0Q3qNx.js → pie-7BOR55EZ-hTqChbTo.js} +1 -1
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-BbyjfYu8.js → pieDiagram-ADFJNKIX-Bf4Nou75.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-Bf4Nou75.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-Bc3GqMKz.js → quadrantDiagram-AYHSOK5B-DpjUTLB1.js} +3 -3
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DpjUTLB1.js.gz +0 -0
- package/dist/ui/assets/{radar-NHE76QYJ-BHwoAy1q.js → radar-NHE76QYJ-myy7OENC.js} +1 -1
- package/dist/ui/assets/reactflow-Cubtnk8i.js +2 -0
- package/dist/ui/assets/reactflow-Cubtnk8i.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-BQaKKL09.js → requirementDiagram-UZGBJVZJ-Bfrfh-0-.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bfrfh-0-.js.gz +0 -0
- package/dist/ui/assets/{sandpack-BQW_FQ7G.js → sandpack-C58bwfIS.js} +38 -38
- package/dist/ui/assets/sandpack-C58bwfIS.js.gz +0 -0
- package/dist/ui/assets/sandpackDefaults-Bkga8XAE.js +1 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js +10 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-Dw32824o.js → sequenceDiagram-WL72ISMW-CNgly63p.js} +6 -6
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CNgly63p.js.gz +0 -0
- package/dist/ui/assets/src-DAeyG22O.js +34 -0
- package/dist/ui/assets/src-DAeyG22O.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js +1 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-BNL52_oN.js +1 -0
- package/dist/ui/assets/streamdown-BdAVfkeF.js +521 -0
- package/dist/ui/assets/streamdown-BdAVfkeF.js.gz +0 -0
- package/dist/ui/assets/syntax-BOfTnQiy.js +9 -0
- package/dist/ui/assets/syntax-BOfTnQiy.js.gz +0 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-Jh_WZzXv.js → timeline-definition-IT6M3QCI-CaRH3k4l.js} +16 -16
- package/dist/ui/assets/timeline-definition-IT6M3QCI-CaRH3k4l.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-CPYIgjxE.js → treemap-KMMF4GRG-CUaLOV_B.js} +1 -1
- package/dist/ui/assets/{knowledgeRoutes-CivaUqha.js → useUserLocalStorage-C8sgXgXR.js} +1 -1
- package/dist/ui/assets/useUserLocalStorage-C8sgXgXR.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CERc7Rdb.js → xychartDiagram-PRI3JC2R-BlhkI9T_.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-BlhkI9T_.js.gz +0 -0
- package/dist/ui/index.html +13 -12
- package/dist/ui/index.html.gz +0 -0
- package/package.json +12 -10
- package/scripts/postinstall.js +27 -19
- package/dist/cli/commands/daemon/sync.d.ts.map +0 -1
- package/dist/ui/assets/App-9s2WHM6S.js +0 -22
- package/dist/ui/assets/App-9s2WHM6S.js.gz +0 -0
- package/dist/ui/assets/App-BAdBsEnV.css +0 -1
- package/dist/ui/assets/App-BAdBsEnV.css.gz +0 -0
- package/dist/ui/assets/ArtifactConsentModal-ParNk5kW.js +0 -1
- package/dist/ui/assets/ArtifactConsentModal-ParNk5kW.js.gz +0 -0
- package/dist/ui/assets/ArtifactFullscreenPage-VQxLMCiN.js +0 -9
- package/dist/ui/assets/ArtifactFullscreenPage-VQxLMCiN.js.gz +0 -0
- package/dist/ui/assets/AutocompleteTextarea-3RchrIgk.js +0 -18
- package/dist/ui/assets/AutocompleteTextarea-3RchrIgk.js.gz +0 -0
- package/dist/ui/assets/CodeEditor.inner-D51Z_CLQ.js +0 -8
- package/dist/ui/assets/CodeEditor.inner-D51Z_CLQ.js.gz +0 -0
- package/dist/ui/assets/ConversationView-Dyddw2b1.js +0 -34
- package/dist/ui/assets/ConversationView-Dyddw2b1.js.gz +0 -0
- package/dist/ui/assets/KnowledgePage-CdftslnF.js +0 -24
- package/dist/ui/assets/KnowledgePage-CdftslnF.js.gz +0 -0
- package/dist/ui/assets/MobileApp-BdBMpnJ1.js +0 -1
- package/dist/ui/assets/MobileApp-BdBMpnJ1.js.gz +0 -0
- package/dist/ui/assets/StreamdownDemoPage-B9wbgp2s.js.gz +0 -0
- package/dist/ui/assets/ThemeSwitcher-ubn6IOz9.js +0 -1
- package/dist/ui/assets/ThemeSwitcher-ubn6IOz9.js.gz +0 -0
- package/dist/ui/assets/antd-C-HfEC4E.js +0 -400
- package/dist/ui/assets/antd-C-HfEC4E.js.gz +0 -0
- package/dist/ui/assets/architecture-U656AL7Q-dkBewUpN.js +0 -1
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-ChmZt3zk.js +0 -36
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-ChmZt3zk.js.gz +0 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-CzGHAHao.js.gz +0 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-DscJyaWN.js.gz +0 -0
- package/dist/ui/assets/channel-DvRQqEqC.js +0 -1
- package/dist/ui/assets/chunk-55IACEB6-DojF2pZN.js +0 -1
- package/dist/ui/assets/chunk-ABZYJK2D-RzDCrjE6.js.gz +0 -0
- package/dist/ui/assets/chunk-AGHRB4JF-jidCS5Of.js.gz +0 -0
- package/dist/ui/assets/chunk-ATLVNIR6-BEIIfJtC.js.gz +0 -0
- package/dist/ui/assets/chunk-B4BG7PRW-B8b6dQQ2.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-BfATX3V8.js.gz +0 -0
- package/dist/ui/assets/chunk-EXTU4WIE-BKt6lPJM.js +0 -1
- package/dist/ui/assets/chunk-HN2XXSSU-BCHvD80g.js.gz +0 -0
- package/dist/ui/assets/chunk-JA3XYJ7Z-Cp6dqHnY.js +0 -11
- package/dist/ui/assets/chunk-JA3XYJ7Z-Cp6dqHnY.js.gz +0 -0
- package/dist/ui/assets/chunk-JZLCHNYA-cKMooY3y.js.gz +0 -0
- package/dist/ui/assets/chunk-MI3HLSF2-BlzO5wOE.js.gz +0 -0
- package/dist/ui/assets/chunk-N4CR4FBY-pASDorUx.js +0 -2
- package/dist/ui/assets/chunk-N4CR4FBY-pASDorUx.js.gz +0 -0
- package/dist/ui/assets/chunk-QXUST7PY-C9l0muI0.js.gz +0 -0
- package/dist/ui/assets/chunk-QZHKN3VN-CZskCFCf.js +0 -1
- package/dist/ui/assets/chunk-S3R3BYOJ-VJiLzt2o.js +0 -2
- package/dist/ui/assets/chunk-S3R3BYOJ-VJiLzt2o.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-DZwI0C_2.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-BFASUbmZ.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BFASUbmZ.js +0 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-Ipik-oSD.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-BDpyWQnh.js.gz +0 -0
- package/dist/ui/assets/dagre-CgA4KhUX.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-B4GRzxLJ.js +0 -24
- package/dist/ui/assets/diagram-PSM6KHXK-B4GRzxLJ.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-BWPW28XI.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-BIHhcGoV.js.gz +0 -0
- package/dist/ui/assets/editor-C-HJ7Yw0.js +0 -39
- package/dist/ui/assets/editor-C-HJ7Yw0.js.gz +0 -0
- package/dist/ui/assets/emoji-D8F6B62m.js +0 -3
- package/dist/ui/assets/emoji-D8F6B62m.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-ubTaAFcK.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-BHLCTYjI.js +0 -162
- package/dist/ui/assets/flowDiagram-NV44I4VS-BHLCTYjI.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-ClC3pay1.js +0 -267
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-ClC3pay1.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Clqpiswu.js +0 -65
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Clqpiswu.js.gz +0 -0
- package/dist/ui/assets/index-D9OElx9A.css +0 -1
- package/dist/ui/assets/index-D9OElx9A.css.gz +0 -0
- package/dist/ui/assets/index-DxPuzG7E.js +0 -350
- package/dist/ui/assets/index-DxPuzG7E.js.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CrVickA2.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-C_BsdHYL.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/knowledgeRoutes-CivaUqha.js.gz +0 -0
- package/dist/ui/assets/linear-BsjageUB.js.gz +0 -0
- package/dist/ui/assets/mermaid-parser.core-DZdP-NFq.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-TNrI0pHG.js +0 -11
- package/dist/ui/assets/mermaid.core-TNrI0pHG.js.gz +0 -0
- package/dist/ui/assets/message-BtWWJ9Af.js +0 -36
- package/dist/ui/assets/message-BtWWJ9Af.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-BbmaUjMY.js.gz +0 -0
- package/dist/ui/assets/particles-Dv28pjOd.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-BbyjfYu8.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-Bc3GqMKz.js.gz +0 -0
- package/dist/ui/assets/reactflow-BVYPxNhc.js +0 -2
- package/dist/ui/assets/reactflow-BVYPxNhc.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-BQaKKL09.js.gz +0 -0
- package/dist/ui/assets/sandpack-BQW_FQ7G.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DiJvDvhb.js +0 -10
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DiJvDvhb.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-Dw32824o.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BCOpNdHV.js +0 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BCOpNdHV.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-Cuqwvgfg.js +0 -1
- package/dist/ui/assets/syntax-VJrU5BEu.js +0 -10
- package/dist/ui/assets/syntax-VJrU5BEu.js.gz +0 -0
- package/dist/ui/assets/theme-DZtFA8b4.js +0 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-Jh_WZzXv.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CERc7Rdb.js.gz +0 -0
- /package/dist/cli/commands/{admin → local}/sync-unix.d.ts +0 -0
|
@@ -125,6 +125,13 @@ function generateTaskId() {
|
|
|
125
125
|
return Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
126
126
|
}
|
|
127
127
|
function findExecutorPath() {
|
|
128
|
+
const configuredPath = process.env.AGOR_EXECUTOR_PATH;
|
|
129
|
+
if (configuredPath) {
|
|
130
|
+
if (!existsSync(configuredPath)) {
|
|
131
|
+
throw new Error(`Configured AGOR_EXECUTOR_PATH does not exist: ${configuredPath}`);
|
|
132
|
+
}
|
|
133
|
+
return configuredPath;
|
|
134
|
+
}
|
|
128
135
|
const dirname = typeof __dirname !== "undefined" ? __dirname : path4.dirname(fileURLToPath(import.meta.url));
|
|
129
136
|
const possiblePaths = [
|
|
130
137
|
path4.join(dirname, "../executor/cli.js"),
|
|
@@ -423,12 +430,16 @@ function createServiceToken(jwtSecret, expiresIn, scope = {}) {
|
|
|
423
430
|
expiresIn || "5m"
|
|
424
431
|
);
|
|
425
432
|
}
|
|
426
|
-
function
|
|
433
|
+
function serviceTokenScopeForParams(params) {
|
|
434
|
+
const tenantId = params?.tenant?.tenant_id ?? params?.tenant_id ?? params?.user?.tenant_id;
|
|
435
|
+
return tenantId ? { tenant_id: tenantId } : {};
|
|
436
|
+
}
|
|
437
|
+
function generateSessionToken(app, scope = {}) {
|
|
427
438
|
const jwtSecret = app.settings.authentication?.secret;
|
|
428
439
|
if (!jwtSecret) {
|
|
429
440
|
throw new Error("JWT secret not configured in app settings");
|
|
430
441
|
}
|
|
431
|
-
return createServiceToken(jwtSecret);
|
|
442
|
+
return createServiceToken(jwtSecret, void 0, scope);
|
|
432
443
|
}
|
|
433
444
|
var configuredDaemonUrl, configuredExecutorDefaults, EXECUTOR_RESULT_PREFIX;
|
|
434
445
|
var init_spawn_executor = __esm({
|
|
@@ -448,7 +459,8 @@ function isBranchInspectResult(value) {
|
|
|
448
459
|
}
|
|
449
460
|
async function inspectBranchViaExecutor(app, branchId, options = {}) {
|
|
450
461
|
const sessionToken = generateSessionToken(
|
|
451
|
-
app
|
|
462
|
+
app,
|
|
463
|
+
options.serviceTokenScope
|
|
452
464
|
);
|
|
453
465
|
const result = await runExecutorCommand(
|
|
454
466
|
{
|
|
@@ -545,7 +557,8 @@ async function fireAlwaysNewZoneTrigger(input) {
|
|
|
545
557
|
const asUser = db ? await resolveExecutorReadAsUser(db, user) : void 0;
|
|
546
558
|
const { currentSha, currentRef } = await inspectBranchViaExecutor(app, branch.branch_id, {
|
|
547
559
|
asUser,
|
|
548
|
-
logPrefix: `[zone-trigger ${branch.name}]
|
|
560
|
+
logPrefix: `[zone-trigger ${branch.name}]`,
|
|
561
|
+
serviceTokenScope: serviceTokenScopeForParams(params)
|
|
549
562
|
});
|
|
550
563
|
const newSession = await app.service("sessions").create(
|
|
551
564
|
{
|
|
@@ -588,14 +601,15 @@ var init_zone_trigger = __esm({
|
|
|
588
601
|
"use strict";
|
|
589
602
|
init_branch_inspect();
|
|
590
603
|
init_executor_read_impersonation();
|
|
604
|
+
init_spawn_executor();
|
|
591
605
|
VALID_AGENTS = ["claude-code", "codex", "gemini", "opencode"];
|
|
592
606
|
}
|
|
593
607
|
});
|
|
594
608
|
|
|
595
609
|
// src/mcp/tools/branches.ts
|
|
596
610
|
import { existsSync as existsSync2 } from "fs";
|
|
597
|
-
import { isBranchRbacEnabled as isBranchRbacEnabled2 } from "@agor/core/config";
|
|
598
|
-
import { BranchRepository as
|
|
611
|
+
import { isBranchRbacEnabled as isBranchRbacEnabled2, loadConfig as loadConfig2 } from "@agor/core/config";
|
|
612
|
+
import { BranchRepository as BranchRepository6, shortId as shortId6 } from "@agor/core/db";
|
|
599
613
|
import { BRANCH_PERMISSION_LEVELS as BRANCH_PERMISSION_LEVELS2, getAssistantConfig as getAssistantConfig3, isAssistant as isAssistant3 } from "@agor/core/types";
|
|
600
614
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
601
615
|
import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|
|
@@ -15114,11 +15128,19 @@ function date4(params) {
|
|
|
15114
15128
|
// ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js
|
|
15115
15129
|
config(en_default());
|
|
15116
15130
|
|
|
15117
|
-
// src/
|
|
15118
|
-
|
|
15119
|
-
|
|
15120
|
-
|
|
15131
|
+
// src/utils/branch-authorization.ts
|
|
15132
|
+
import { shortId } from "@agor/core/db";
|
|
15133
|
+
import { Forbidden, NotAuthenticated, NotFound } from "@agor/core/feathers";
|
|
15134
|
+
import { BRANCH_PERMISSION_LEVELS, hasMinimumRole, ROLES } from "@agor/core/types";
|
|
15135
|
+
function isSuperAdmin(role, allowSuperadmin = true) {
|
|
15136
|
+
if (!allowSuperadmin) return false;
|
|
15137
|
+
return role === ROLES.SUPERADMIN || role === "owner";
|
|
15121
15138
|
}
|
|
15139
|
+
var PERMISSION_RANK = Object.fromEntries(
|
|
15140
|
+
BRANCH_PERMISSION_LEVELS.map((level, i) => [level, i - 1])
|
|
15141
|
+
);
|
|
15142
|
+
|
|
15143
|
+
// src/mcp/resolve-ids.ts
|
|
15122
15144
|
async function resolveBranchId(ctx, id) {
|
|
15123
15145
|
const entity = await ctx.app.service("branches").get(id, ctx.baseServiceParams);
|
|
15124
15146
|
return entity.branch_id;
|
|
@@ -15150,6 +15172,11 @@ function mcpOptionalString(fieldName, description) {
|
|
|
15150
15172
|
error: `${fieldName} must be a string when provided.`
|
|
15151
15173
|
}).optional().describe(description);
|
|
15152
15174
|
}
|
|
15175
|
+
function mcpOptionalNonEmptyString(fieldName, description) {
|
|
15176
|
+
return external_exports.string({
|
|
15177
|
+
error: `${fieldName} must be a string when provided.`
|
|
15178
|
+
}).min(1, `${fieldName} cannot be empty when provided.`).optional().describe(description);
|
|
15179
|
+
}
|
|
15153
15180
|
function mcpOptionalNonBlankString(fieldName, description) {
|
|
15154
15181
|
return external_exports.string({
|
|
15155
15182
|
error: `${fieldName} must be a string when provided.`
|
|
@@ -15195,7 +15222,11 @@ import { ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
|
15195
15222
|
|
|
15196
15223
|
// src/mcp/tokens.ts
|
|
15197
15224
|
import { MCP_TOKEN } from "@agor/core/config";
|
|
15198
|
-
import {
|
|
15225
|
+
import {
|
|
15226
|
+
generateId,
|
|
15227
|
+
SessionRepository,
|
|
15228
|
+
shortId as shortId2
|
|
15229
|
+
} from "@agor/core/db";
|
|
15199
15230
|
import {
|
|
15200
15231
|
MCP_TOKEN_AUDIENCE,
|
|
15201
15232
|
MCP_TOKEN_ISSUER
|
|
@@ -15216,6 +15247,7 @@ var DOMAIN_DESCRIPTIONS = {
|
|
|
15216
15247
|
users: "User accounts, profiles, preferences, and administration",
|
|
15217
15248
|
analytics: "Usage and cost tracking leaderboard",
|
|
15218
15249
|
"mcp-servers": "External MCP server configuration and OAuth management",
|
|
15250
|
+
gateway: "Gateway channels for Slack, GitHub, Teams, and other message integrations",
|
|
15219
15251
|
proxies: "Configured HTTP proxies for third-party APIs (Shortcut, Linear, Jira, etc.)",
|
|
15220
15252
|
widgets: "In-conversation interactive widgets \u2014 agents render small forms/buttons inline in the transcript to capture user input that never enters the LLM context",
|
|
15221
15253
|
knowledge: "DB-backed markdown knowledge documents, version history, search, and graph links",
|
|
@@ -15229,16 +15261,6 @@ function formatDomainDescriptionsForInstructions() {
|
|
|
15229
15261
|
import path from "path";
|
|
15230
15262
|
import { BranchRepository } from "@agor/core/db";
|
|
15231
15263
|
import { NotFoundError } from "@agor/core/utils/errors";
|
|
15232
|
-
|
|
15233
|
-
// src/utils/branch-authorization.ts
|
|
15234
|
-
import { shortId as shortId2 } from "@agor/core/db";
|
|
15235
|
-
import { Forbidden, NotAuthenticated, NotFound } from "@agor/core/feathers";
|
|
15236
|
-
import { BRANCH_PERMISSION_LEVELS, hasMinimumRole, ROLES } from "@agor/core/types";
|
|
15237
|
-
var PERMISSION_RANK = Object.fromEntries(
|
|
15238
|
-
BRANCH_PERMISSION_LEVELS.map((level, i) => [level, i - 1])
|
|
15239
|
-
);
|
|
15240
|
-
|
|
15241
|
-
// src/mcp/tools/artifacts.ts
|
|
15242
15264
|
var SANDPACK_TEMPLATES = [
|
|
15243
15265
|
"react",
|
|
15244
15266
|
"react-ts",
|
|
@@ -15295,12 +15317,186 @@ function assertValidVariant(repo, variant) {
|
|
|
15295
15317
|
}
|
|
15296
15318
|
}
|
|
15297
15319
|
|
|
15320
|
+
// src/mcp/tools/gateway-channels.ts
|
|
15321
|
+
import {
|
|
15322
|
+
BranchRepository as BranchRepository2,
|
|
15323
|
+
GatewayChannelRepository,
|
|
15324
|
+
SessionRepository as SessionRepository2,
|
|
15325
|
+
ThreadSessionMapRepository
|
|
15326
|
+
} from "@agor/core/db";
|
|
15327
|
+
import {
|
|
15328
|
+
getConnector
|
|
15329
|
+
} from "@agor/core/gateway";
|
|
15330
|
+
import {
|
|
15331
|
+
GATEWAY_REDACTED_SENTINEL,
|
|
15332
|
+
GATEWAY_SENSITIVE_CONFIG_FIELDS,
|
|
15333
|
+
hasMinimumRole as hasMinimumRole2,
|
|
15334
|
+
ROLES as ROLES2
|
|
15335
|
+
} from "@agor/core/types";
|
|
15336
|
+
var configSchema = external_exports.record(external_exports.string(), external_exports.unknown()).describe(
|
|
15337
|
+
"Platform-specific gateway configuration. Secrets are stored encrypted and returned redacted. Prefer env/template references for shared credentials where the connector supports them."
|
|
15338
|
+
);
|
|
15339
|
+
var outboundTargetSchema = external_exports.string().trim().regex(
|
|
15340
|
+
/^(channel:[^:\s]+|channel_name:[^\s]+|#[^\s]+|(?:email:|user_email:)?[^@\s]+@[^@\s]+\.[^@\s]+)$/
|
|
15341
|
+
).describe(
|
|
15342
|
+
"Slack outbound target for v0: channel:C123, #project-updates, channel_name:project-updates, or user@example.com. Thread targets are intentionally not supported."
|
|
15343
|
+
);
|
|
15344
|
+
var envVarSchema = external_exports.strictObject({
|
|
15345
|
+
key: mcpRequiredString("agenticConfig.envVars[].key", "Environment variable name"),
|
|
15346
|
+
value: mcpRequiredString(
|
|
15347
|
+
"agenticConfig.envVars[].value",
|
|
15348
|
+
`Environment variable value. Prefer references/templates over raw secrets. Existing redacted values may be passed as '${GATEWAY_REDACTED_SENTINEL}' on update to preserve them.`
|
|
15349
|
+
),
|
|
15350
|
+
forceOverride: external_exports.boolean().optional().describe("When true, channel value wins over user env vars. Defaults to false.")
|
|
15351
|
+
});
|
|
15352
|
+
var agenticConfigSchema = external_exports.strictObject({
|
|
15353
|
+
agent: external_exports.enum(["claude-code", "claude-code-cli", "codex", "gemini", "opencode", "copilot", "cursor"]).describe("Agent used for sessions created from this gateway channel."),
|
|
15354
|
+
permissionMode: external_exports.enum([
|
|
15355
|
+
"default",
|
|
15356
|
+
"acceptEdits",
|
|
15357
|
+
"bypassPermissions",
|
|
15358
|
+
"plan",
|
|
15359
|
+
"dontAsk",
|
|
15360
|
+
"autoEdit",
|
|
15361
|
+
"yolo",
|
|
15362
|
+
"ask",
|
|
15363
|
+
"auto",
|
|
15364
|
+
"on-failure",
|
|
15365
|
+
"allow-all"
|
|
15366
|
+
]).optional().describe("Permission mode for spawned sessions."),
|
|
15367
|
+
modelConfig: external_exports.record(external_exports.string(), external_exports.unknown()).optional().describe("Agent model configuration."),
|
|
15368
|
+
mcpServerIds: external_exports.array(external_exports.string().min(1)).optional().describe("MCP server IDs to attach to gateway-created sessions."),
|
|
15369
|
+
codexSandboxMode: external_exports.enum(["read-only", "workspace-write", "danger-full-access"]).optional().describe("Codex sandbox mode for Codex gateway sessions."),
|
|
15370
|
+
codexApprovalPolicy: external_exports.enum(["untrusted", "on-failure", "on-request", "never"]).optional().describe("Codex approval policy for Codex gateway sessions."),
|
|
15371
|
+
codexNetworkAccess: external_exports.boolean().optional().describe("Allow Codex network access."),
|
|
15372
|
+
envVars: external_exports.array(envVarSchema).optional().describe("Gateway-level env vars. Values are redacted in responses.")
|
|
15373
|
+
}).describe("Agent/session defaults for conversations created through this gateway channel.");
|
|
15374
|
+
var gatewayChannelCreateSchema = external_exports.strictObject({
|
|
15375
|
+
name: mcpRequiredString("name", 'Human-readable channel name, e.g. "Engineering Slack".'),
|
|
15376
|
+
channelType: external_exports.enum(["slack", "github", "teams", "discord", "whatsapp", "telegram"]).default("slack").describe("Gateway platform type. Current active connectors are slack, github, and teams."),
|
|
15377
|
+
targetBranchId: mcpRequiredId(
|
|
15378
|
+
"targetBranchId",
|
|
15379
|
+
"Branch",
|
|
15380
|
+
"Branch/worktree ID that this gateway channel prompts."
|
|
15381
|
+
),
|
|
15382
|
+
agorUserId: mcpOptionalId(
|
|
15383
|
+
"agorUserId",
|
|
15384
|
+
"User",
|
|
15385
|
+
"Agor user ID whose identity is used when platform-user alignment is disabled."
|
|
15386
|
+
),
|
|
15387
|
+
enabled: external_exports.boolean().optional().describe("Whether the channel is active. Defaults to true."),
|
|
15388
|
+
config: configSchema,
|
|
15389
|
+
agenticConfig: agenticConfigSchema.optional()
|
|
15390
|
+
}).superRefine((value, issue2) => {
|
|
15391
|
+
const config2 = value.config ?? {};
|
|
15392
|
+
if (value.channelType === "slack") {
|
|
15393
|
+
if (!config2.bot_token) {
|
|
15394
|
+
issue2.addIssue({
|
|
15395
|
+
code: "custom",
|
|
15396
|
+
path: ["config", "bot_token"],
|
|
15397
|
+
message: "config.bot_token is required for Slack. Prefer a bot token stored outside the transcript when possible."
|
|
15398
|
+
});
|
|
15399
|
+
}
|
|
15400
|
+
if (config2.connection_mode === "socket" && !config2.app_token) {
|
|
15401
|
+
issue2.addIssue({
|
|
15402
|
+
code: "custom",
|
|
15403
|
+
path: ["config", "app_token"],
|
|
15404
|
+
message: "config.app_token is required for Slack Socket Mode."
|
|
15405
|
+
});
|
|
15406
|
+
}
|
|
15407
|
+
}
|
|
15408
|
+
if (value.channelType === "github") {
|
|
15409
|
+
for (const field of ["app_id", "private_key", "installation_id", "watch_repos"]) {
|
|
15410
|
+
if (!config2[field]) {
|
|
15411
|
+
issue2.addIssue({
|
|
15412
|
+
code: "custom",
|
|
15413
|
+
path: ["config", field],
|
|
15414
|
+
message: `config.${field} is required for GitHub gateway channels.`
|
|
15415
|
+
});
|
|
15416
|
+
}
|
|
15417
|
+
}
|
|
15418
|
+
}
|
|
15419
|
+
if (value.channelType === "teams") {
|
|
15420
|
+
for (const field of ["app_id", "app_password"]) {
|
|
15421
|
+
if (!config2[field]) {
|
|
15422
|
+
issue2.addIssue({
|
|
15423
|
+
code: "custom",
|
|
15424
|
+
path: ["config", field],
|
|
15425
|
+
message: `config.${field} is required for Teams gateway channels.`
|
|
15426
|
+
});
|
|
15427
|
+
}
|
|
15428
|
+
}
|
|
15429
|
+
}
|
|
15430
|
+
});
|
|
15431
|
+
var slackThreadHistorySchema = external_exports.strictObject({
|
|
15432
|
+
sessionId: mcpOptionalId(
|
|
15433
|
+
"sessionId",
|
|
15434
|
+
"Session",
|
|
15435
|
+
"Preferred: resolve the Slack thread mapping from an accessible Agor session ID (UUIDv7 or short ID). If provided, gatewayChannelId/threadId are ignored."
|
|
15436
|
+
),
|
|
15437
|
+
gatewayChannelId: mcpOptionalId(
|
|
15438
|
+
"gatewayChannelId",
|
|
15439
|
+
"Gateway channel",
|
|
15440
|
+
"Explicit Slack gateway channel ID (UUIDv7 or short ID). Required when sessionId is omitted."
|
|
15441
|
+
),
|
|
15442
|
+
threadId: mcpOptionalNonEmptyString(
|
|
15443
|
+
"threadId",
|
|
15444
|
+
"Explicit Slack thread ID in Agor gateway format, e.g. C123-171234.000100. Required when sessionId is omitted."
|
|
15445
|
+
),
|
|
15446
|
+
oldestTs: mcpOptionalNonEmptyString(
|
|
15447
|
+
"oldestTs",
|
|
15448
|
+
"Optional Slack oldest timestamp bound, e.g. 171234.000100."
|
|
15449
|
+
),
|
|
15450
|
+
latestTs: mcpOptionalNonEmptyString(
|
|
15451
|
+
"latestTs",
|
|
15452
|
+
"Optional Slack latest timestamp bound, e.g. 171235.000200."
|
|
15453
|
+
),
|
|
15454
|
+
inclusive: external_exports.boolean().optional().describe("Whether Slack should include messages exactly at oldest/latest bounds."),
|
|
15455
|
+
limit: mcpLimit(50).describe("Maximum Slack messages to request (default: 50, max: 200)."),
|
|
15456
|
+
includeBotMessages: external_exports.boolean().optional().describe("Include Slack bot messages in the returned history. Defaults to false."),
|
|
15457
|
+
format: external_exports.enum(["messages", "markdown"]).optional().describe(
|
|
15458
|
+
'Response body format. "messages" returns normalized JSON; "markdown" returns a transcript string.'
|
|
15459
|
+
)
|
|
15460
|
+
}).superRefine((value, issue2) => {
|
|
15461
|
+
if (value.sessionId) return;
|
|
15462
|
+
if (!value.gatewayChannelId) {
|
|
15463
|
+
issue2.addIssue({
|
|
15464
|
+
code: "custom",
|
|
15465
|
+
path: ["gatewayChannelId"],
|
|
15466
|
+
message: "gatewayChannelId is required when sessionId is omitted."
|
|
15467
|
+
});
|
|
15468
|
+
}
|
|
15469
|
+
if (!value.threadId) {
|
|
15470
|
+
issue2.addIssue({
|
|
15471
|
+
code: "custom",
|
|
15472
|
+
path: ["threadId"],
|
|
15473
|
+
message: "threadId is required when sessionId is omitted."
|
|
15474
|
+
});
|
|
15475
|
+
}
|
|
15476
|
+
});
|
|
15477
|
+
var gatewayChannelUpdateSchema = external_exports.strictObject({
|
|
15478
|
+
gatewayChannelId: mcpRequiredId(
|
|
15479
|
+
"gatewayChannelId",
|
|
15480
|
+
"Gateway channel",
|
|
15481
|
+
"Gateway channel ID (UUIDv7 or short ID)"
|
|
15482
|
+
),
|
|
15483
|
+
name: mcpOptionalNonEmptyString("name", "New human-readable channel name."),
|
|
15484
|
+
channelType: external_exports.enum(["slack", "github", "teams", "discord", "whatsapp", "telegram"]).optional().describe("Gateway platform type. Changing this should include compatible config."),
|
|
15485
|
+
targetBranchId: mcpOptionalId("targetBranchId", "Branch", "New target branch/worktree ID."),
|
|
15486
|
+
agorUserId: mcpOptionalId("agorUserId", "User", "New run-as Agor user ID."),
|
|
15487
|
+
enabled: external_exports.boolean().optional().describe("Enable/disable the channel."),
|
|
15488
|
+
config: configSchema.optional().describe(
|
|
15489
|
+
`Partial platform config to merge. Send '${GATEWAY_REDACTED_SENTINEL}' or omit sensitive fields to preserve existing secrets; send a new value to rotate.`
|
|
15490
|
+
),
|
|
15491
|
+
agenticConfig: agenticConfigSchema.nullable().optional().describe("Replace agent/session defaults. null clears the gateway agentic config.")
|
|
15492
|
+
});
|
|
15493
|
+
|
|
15298
15494
|
// src/mcp/tools/knowledge.ts
|
|
15299
15495
|
import { createHash, randomUUID } from "crypto";
|
|
15300
15496
|
import fs2 from "fs";
|
|
15301
15497
|
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
15302
15498
|
import path3 from "path";
|
|
15303
|
-
import { BranchRepository as
|
|
15499
|
+
import { BranchRepository as BranchRepository4, KnowledgeNamespaceRepository as KnowledgeNamespaceRepository2 } from "@agor/core/db";
|
|
15304
15500
|
import { NotFound as NotFound2 } from "@agor/core/feathers";
|
|
15305
15501
|
import {
|
|
15306
15502
|
buildKnowledgeDocumentUri,
|
|
@@ -15326,14 +15522,14 @@ import { unified } from "unified";
|
|
|
15326
15522
|
|
|
15327
15523
|
// src/services/assistant-knowledge.ts
|
|
15328
15524
|
import {
|
|
15329
|
-
BranchRepository as
|
|
15525
|
+
BranchRepository as BranchRepository3,
|
|
15330
15526
|
KnowledgeNamespaceRepository,
|
|
15331
15527
|
shortId as shortId3
|
|
15332
15528
|
} from "@agor/core/db";
|
|
15333
15529
|
import { getAssistantConfig, isAssistant } from "@agor/core/types";
|
|
15334
15530
|
|
|
15335
15531
|
// src/services/knowledge-access.ts
|
|
15336
|
-
import { hasMinimumRole as
|
|
15532
|
+
import { hasMinimumRole as hasMinimumRole3, ROLES as ROLES3 } from "@agor/core/types";
|
|
15337
15533
|
|
|
15338
15534
|
// src/utils/branch-workspace-path.ts
|
|
15339
15535
|
import fs from "fs";
|
|
@@ -15475,6 +15671,261 @@ var KnowledgeNodeRefSchema = external_exports.object(
|
|
|
15475
15671
|
"Reference to an existing or creatable knowledge graph node. Prefer nodeId or uri; use typed IDs for links to Agor core objects."
|
|
15476
15672
|
);
|
|
15477
15673
|
|
|
15674
|
+
// src/mcp/tools/mcp-servers.ts
|
|
15675
|
+
import {
|
|
15676
|
+
isReservedMCPCustomHeaderName,
|
|
15677
|
+
isValidMCPHeaderName
|
|
15678
|
+
} from "@agor/core/tools/mcp/http-headers";
|
|
15679
|
+
var mcpNameSchema = external_exports.string({
|
|
15680
|
+
error: 'name is required and must be a string. Example: { "name": "context7" }'
|
|
15681
|
+
}).regex(
|
|
15682
|
+
/^[a-z][a-z0-9_-]{0,63}$/,
|
|
15683
|
+
'name must start with a lowercase letter and contain only lowercase letters, digits, "_" or "-" (max 64 chars).'
|
|
15684
|
+
).describe('Stable internal ID, e.g. "context7", "github", "datadog". Cannot be changed later.');
|
|
15685
|
+
var stringMapSchema = external_exports.record(external_exports.string(), external_exports.string()).describe(
|
|
15686
|
+
"JSON object of string keys/values. Values may use templates like {{ user.env.API_TOKEN }}."
|
|
15687
|
+
);
|
|
15688
|
+
var mcpAuthInputSchema = external_exports.strictObject({
|
|
15689
|
+
type: external_exports.enum(["none", "bearer", "jwt", "oauth"]).describe(
|
|
15690
|
+
"Authentication mode. OAuth tip: start with { type: 'oauth' } plus the MCP server URL; only add endpoint/client fields if discovery/DCR fails."
|
|
15691
|
+
),
|
|
15692
|
+
token: mcpOptionalString(
|
|
15693
|
+
"auth.token",
|
|
15694
|
+
"Bearer token. Prefer {{ user.env.MCP_TOKEN }} templates; raw secrets will be stored redacted but are still visible in this MCP call transcript."
|
|
15695
|
+
),
|
|
15696
|
+
api_url: mcpOptionalString("auth.api_url", "JWT auth API URL."),
|
|
15697
|
+
api_token: mcpOptionalString(
|
|
15698
|
+
"auth.api_token",
|
|
15699
|
+
"JWT API token. Prefer {{ user.env.JWT_TOKEN }} templates."
|
|
15700
|
+
),
|
|
15701
|
+
api_secret: mcpOptionalString(
|
|
15702
|
+
"auth.api_secret",
|
|
15703
|
+
"JWT API secret. Prefer {{ user.env.JWT_SECRET }} templates."
|
|
15704
|
+
),
|
|
15705
|
+
oauth_authorization_url: mcpOptionalString(
|
|
15706
|
+
"auth.oauth_authorization_url",
|
|
15707
|
+
"Optional OAuth authorization endpoint override. Leave blank for discovery."
|
|
15708
|
+
),
|
|
15709
|
+
oauth_token_url: mcpOptionalString(
|
|
15710
|
+
"auth.oauth_token_url",
|
|
15711
|
+
"Optional OAuth token endpoint override. Leave blank for discovery."
|
|
15712
|
+
),
|
|
15713
|
+
oauth_client_id: mcpOptionalString(
|
|
15714
|
+
"auth.oauth_client_id",
|
|
15715
|
+
"Optional OAuth client ID for providers that require a pre-registered app. Leave blank for Dynamic Client Registration where supported."
|
|
15716
|
+
),
|
|
15717
|
+
oauth_client_secret: mcpOptionalString(
|
|
15718
|
+
"auth.oauth_client_secret",
|
|
15719
|
+
"Optional OAuth client secret. Prefer {{ user.env.OAUTH_CLIENT_SECRET }} templates; raw secrets are not returned by this tool."
|
|
15720
|
+
),
|
|
15721
|
+
oauth_scope: mcpOptionalString("auth.oauth_scope", "Optional OAuth scopes, space-separated."),
|
|
15722
|
+
oauth_grant_type: external_exports.enum(["client_credentials", "authorization_code"]).optional().describe(
|
|
15723
|
+
"OAuth grant type hint. Defaults to 'client_credentials' for legacy token testing; browser OAuth uses authorization code with PKCE."
|
|
15724
|
+
),
|
|
15725
|
+
oauth_mode: external_exports.enum(["per_user", "shared"]).optional().describe("OAuth token ownership. Defaults to 'per_user' (recommended)."),
|
|
15726
|
+
insecure: external_exports.boolean().optional().describe("Allow insecure auth behavior if supported.")
|
|
15727
|
+
}).superRefine((auth, issue2) => {
|
|
15728
|
+
if (auth.type === "bearer" && !auth.token) {
|
|
15729
|
+
issue2.addIssue({
|
|
15730
|
+
code: "custom",
|
|
15731
|
+
path: ["token"],
|
|
15732
|
+
message: "auth.token is required when auth.type is 'bearer'."
|
|
15733
|
+
});
|
|
15734
|
+
}
|
|
15735
|
+
const fieldsByType = {
|
|
15736
|
+
none: [],
|
|
15737
|
+
bearer: ["token"],
|
|
15738
|
+
jwt: ["api_url", "api_token", "api_secret"],
|
|
15739
|
+
oauth: [
|
|
15740
|
+
"oauth_authorization_url",
|
|
15741
|
+
"oauth_token_url",
|
|
15742
|
+
"oauth_client_id",
|
|
15743
|
+
"oauth_client_secret",
|
|
15744
|
+
"oauth_scope",
|
|
15745
|
+
"oauth_grant_type",
|
|
15746
|
+
"oauth_mode",
|
|
15747
|
+
"insecure"
|
|
15748
|
+
]
|
|
15749
|
+
};
|
|
15750
|
+
const allowed = /* @__PURE__ */ new Set(["type", ...fieldsByType[auth.type]]);
|
|
15751
|
+
for (const key of Object.keys(auth)) {
|
|
15752
|
+
if (!allowed.has(key)) {
|
|
15753
|
+
issue2.addIssue({
|
|
15754
|
+
code: "custom",
|
|
15755
|
+
path: [key],
|
|
15756
|
+
message: `auth.${key} does not apply when auth.type is '${auth.type}'.`
|
|
15757
|
+
});
|
|
15758
|
+
}
|
|
15759
|
+
}
|
|
15760
|
+
if (auth.type === "jwt") {
|
|
15761
|
+
for (const field of ["api_url", "api_token", "api_secret"]) {
|
|
15762
|
+
if (!auth[field]) {
|
|
15763
|
+
issue2.addIssue({
|
|
15764
|
+
code: "custom",
|
|
15765
|
+
path: [field],
|
|
15766
|
+
message: `auth.${field} is required when auth.type is 'jwt'.`
|
|
15767
|
+
});
|
|
15768
|
+
}
|
|
15769
|
+
}
|
|
15770
|
+
}
|
|
15771
|
+
}).describe(
|
|
15772
|
+
"Auth config. Common OAuth path: { type: 'oauth' } plus url; leave OAuth URLs/client fields blank first so metadata discovery/DCR can do the work."
|
|
15773
|
+
);
|
|
15774
|
+
var toolPermissionsSchema = external_exports.record(external_exports.string(), external_exports.enum(["ask", "allow", "deny"])).describe("Optional per-tool permissions, e.g. { 'list_files': 'allow', 'write_file': 'ask' }.");
|
|
15775
|
+
var mcpServerCreateSchema = external_exports.strictObject({
|
|
15776
|
+
name: mcpNameSchema,
|
|
15777
|
+
displayName: mcpOptionalNonEmptyString(
|
|
15778
|
+
"displayName",
|
|
15779
|
+
'Human-friendly display name, e.g. "Context7 MCP".'
|
|
15780
|
+
),
|
|
15781
|
+
description: mcpOptionalString("description", "Optional description."),
|
|
15782
|
+
transport: external_exports.enum(["stdio", "http", "sse"]).optional().describe(
|
|
15783
|
+
"Transport. Defaults to 'http' when url is provided, otherwise 'stdio'. Most remote OAuth MCP servers use 'http'."
|
|
15784
|
+
),
|
|
15785
|
+
url: mcpOptionalString(
|
|
15786
|
+
"url",
|
|
15787
|
+
"Remote MCP server URL for http/sse transports. Supports templates like {{ user.env.MCP_URL }}."
|
|
15788
|
+
),
|
|
15789
|
+
command: mcpOptionalString("command", 'Local command for stdio transport, e.g. "npx".'),
|
|
15790
|
+
args: external_exports.array(external_exports.string()).optional().describe(
|
|
15791
|
+
'Arguments for stdio command, e.g. ["-y", "@modelcontextprotocol/server-filesystem"].'
|
|
15792
|
+
),
|
|
15793
|
+
headers: stringMapSchema.optional().describe(
|
|
15794
|
+
"Custom HTTP headers for http/sse transports. Do not include Authorization; use auth instead. Prefer templates for secret values."
|
|
15795
|
+
),
|
|
15796
|
+
env: stringMapSchema.optional().describe(
|
|
15797
|
+
"Environment variables for the MCP process/config. Prefer {{ user.env.VAR }} templates for secrets."
|
|
15798
|
+
),
|
|
15799
|
+
auth: mcpAuthInputSchema.optional(),
|
|
15800
|
+
scope: external_exports.enum(["global", "session"]).optional().describe(
|
|
15801
|
+
"Scope. Defaults to 'global' so it appears in agor_mcp_servers_list. 'session' is only for explicit session attachment workflows."
|
|
15802
|
+
),
|
|
15803
|
+
enabled: external_exports.boolean().optional().describe("Whether the server is enabled. Defaults to true."),
|
|
15804
|
+
attachToCurrentSession: external_exports.boolean().optional().describe(
|
|
15805
|
+
`If true, also add a session-specific link after creating. Mostly useful for scope:"session" servers; global enabled servers are already in each session's effective MCP set.`
|
|
15806
|
+
),
|
|
15807
|
+
attachToSessionId: mcpOptionalId(
|
|
15808
|
+
"attachToSessionId",
|
|
15809
|
+
"Session",
|
|
15810
|
+
"Optional session ID (UUIDv7 or short ID) to attach after creating. Overrides attachToCurrentSession."
|
|
15811
|
+
)
|
|
15812
|
+
}).superRefine((value, issue2) => validateMcpServerConfig(value, issue2, false));
|
|
15813
|
+
var mcpServerUpdateSchema = external_exports.strictObject({
|
|
15814
|
+
mcpServerId: mcpRequiredId(
|
|
15815
|
+
"mcpServerId",
|
|
15816
|
+
"MCP server",
|
|
15817
|
+
"MCP server ID to update (UUIDv7 or short ID)"
|
|
15818
|
+
),
|
|
15819
|
+
displayName: mcpOptionalNonEmptyString("displayName", "New human-friendly display name."),
|
|
15820
|
+
description: mcpOptionalString(
|
|
15821
|
+
"description",
|
|
15822
|
+
"New description. Pass an empty string to clear."
|
|
15823
|
+
),
|
|
15824
|
+
transport: external_exports.enum(["stdio", "http", "sse"]).optional().describe("Transport to set."),
|
|
15825
|
+
url: mcpOptionalString("url", "Remote MCP URL for http/sse transports."),
|
|
15826
|
+
command: mcpOptionalString("command", "Local command for stdio transport."),
|
|
15827
|
+
args: external_exports.array(external_exports.string()).optional().describe("Arguments for stdio command."),
|
|
15828
|
+
headers: stringMapSchema.optional().describe(
|
|
15829
|
+
"Replace custom HTTP headers. Redacted existing header values may be passed back unchanged by the UI; this tool should normally pass real template values or omit headers."
|
|
15830
|
+
),
|
|
15831
|
+
env: stringMapSchema.optional().describe("Replace environment variables."),
|
|
15832
|
+
auth: mcpAuthInputSchema.optional().describe(
|
|
15833
|
+
"Replace auth config. Existing redacted secrets are preserved if their redacted placeholders are passed back; prefer omitting auth unless changing it. Use { type: 'none' } to clear auth."
|
|
15834
|
+
),
|
|
15835
|
+
scope: external_exports.enum(["global", "session"]).optional().describe("Scope to set."),
|
|
15836
|
+
enabled: external_exports.boolean().optional().describe("Enabled flag."),
|
|
15837
|
+
toolPermissions: toolPermissionsSchema.optional()
|
|
15838
|
+
}).superRefine((value, issue2) => validateMcpServerConfig(value, issue2, true));
|
|
15839
|
+
function validateHeaders(headers, issue2) {
|
|
15840
|
+
if (!headers) return;
|
|
15841
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
15842
|
+
const name = key.trim();
|
|
15843
|
+
if (!name) {
|
|
15844
|
+
issue2.addIssue({
|
|
15845
|
+
code: "custom",
|
|
15846
|
+
path: ["headers", key],
|
|
15847
|
+
message: "Header names cannot be empty."
|
|
15848
|
+
});
|
|
15849
|
+
} else if (!isValidMCPHeaderName(name)) {
|
|
15850
|
+
issue2.addIssue({
|
|
15851
|
+
code: "custom",
|
|
15852
|
+
path: ["headers", key],
|
|
15853
|
+
message: `Invalid HTTP header name: ${key}`
|
|
15854
|
+
});
|
|
15855
|
+
} else if (isReservedMCPCustomHeaderName(name)) {
|
|
15856
|
+
issue2.addIssue({
|
|
15857
|
+
code: "custom",
|
|
15858
|
+
path: ["headers", key],
|
|
15859
|
+
message: `Header ${name} is reserved; configure Authorization through auth instead.`
|
|
15860
|
+
});
|
|
15861
|
+
}
|
|
15862
|
+
if (typeof value !== "string") {
|
|
15863
|
+
issue2.addIssue({
|
|
15864
|
+
code: "custom",
|
|
15865
|
+
path: ["headers", key],
|
|
15866
|
+
message: "Header values must be strings."
|
|
15867
|
+
});
|
|
15868
|
+
}
|
|
15869
|
+
}
|
|
15870
|
+
}
|
|
15871
|
+
function validateMcpServerConfig(value, issue2, partial2) {
|
|
15872
|
+
const transport = value.transport ?? (value.url ? "http" : "stdio");
|
|
15873
|
+
validateHeaders(value.headers, issue2);
|
|
15874
|
+
if (!partial2 || value.transport !== void 0 || value.url !== void 0 || value.command !== void 0) {
|
|
15875
|
+
if (transport === "stdio") {
|
|
15876
|
+
if (!partial2 && !value.command) {
|
|
15877
|
+
issue2.addIssue({
|
|
15878
|
+
code: "custom",
|
|
15879
|
+
path: ["command"],
|
|
15880
|
+
message: "command is required for stdio transport."
|
|
15881
|
+
});
|
|
15882
|
+
}
|
|
15883
|
+
if (value.url) {
|
|
15884
|
+
issue2.addIssue({
|
|
15885
|
+
code: "custom",
|
|
15886
|
+
path: ["url"],
|
|
15887
|
+
message: "url only applies to http/sse transports, not stdio."
|
|
15888
|
+
});
|
|
15889
|
+
}
|
|
15890
|
+
if (value.headers) {
|
|
15891
|
+
issue2.addIssue({
|
|
15892
|
+
code: "custom",
|
|
15893
|
+
path: ["headers"],
|
|
15894
|
+
message: "headers only apply to http/sse transports, not stdio."
|
|
15895
|
+
});
|
|
15896
|
+
}
|
|
15897
|
+
if (value.auth && value.auth.type !== "none") {
|
|
15898
|
+
issue2.addIssue({
|
|
15899
|
+
code: "custom",
|
|
15900
|
+
path: ["auth", "type"],
|
|
15901
|
+
message: "Authentication config only applies to http/sse transports."
|
|
15902
|
+
});
|
|
15903
|
+
}
|
|
15904
|
+
} else if (!partial2 && !value.url) {
|
|
15905
|
+
issue2.addIssue({
|
|
15906
|
+
code: "custom",
|
|
15907
|
+
path: ["url"],
|
|
15908
|
+
message: `url is required for ${transport} transport.`
|
|
15909
|
+
});
|
|
15910
|
+
} else {
|
|
15911
|
+
if (value.command) {
|
|
15912
|
+
issue2.addIssue({
|
|
15913
|
+
code: "custom",
|
|
15914
|
+
path: ["command"],
|
|
15915
|
+
message: "command only applies to stdio transport, not http/sse."
|
|
15916
|
+
});
|
|
15917
|
+
}
|
|
15918
|
+
if (value.args && value.args.length > 0) {
|
|
15919
|
+
issue2.addIssue({
|
|
15920
|
+
code: "custom",
|
|
15921
|
+
path: ["args"],
|
|
15922
|
+
message: "args only apply to stdio transport, not http/sse."
|
|
15923
|
+
});
|
|
15924
|
+
}
|
|
15925
|
+
}
|
|
15926
|
+
}
|
|
15927
|
+
}
|
|
15928
|
+
|
|
15478
15929
|
// src/mcp/tools/messages.ts
|
|
15479
15930
|
import { isBranchRbacEnabled } from "@agor/core/config";
|
|
15480
15931
|
import {
|
|
@@ -15482,13 +15933,15 @@ import {
|
|
|
15482
15933
|
asc,
|
|
15483
15934
|
desc,
|
|
15484
15935
|
eq,
|
|
15485
|
-
|
|
15936
|
+
gte,
|
|
15937
|
+
lte,
|
|
15486
15938
|
messages as messagesTable,
|
|
15487
15939
|
or,
|
|
15488
|
-
SessionRepository as SessionRepository2,
|
|
15489
15940
|
select,
|
|
15490
|
-
sql
|
|
15941
|
+
sql,
|
|
15942
|
+
visibleSessionReferenceAccessExists
|
|
15491
15943
|
} from "@agor/core/db";
|
|
15944
|
+
var MAX_CROSS_SESSION_SEARCH_WINDOW_MS = 31 * 24 * 60 * 60 * 1e3;
|
|
15492
15945
|
|
|
15493
15946
|
// src/mcp/tools/proxies.ts
|
|
15494
15947
|
import { getBaseUrl, loadConfig, resolveProxies } from "@agor/core/config";
|
|
@@ -15503,7 +15956,7 @@ var agenticToolConfigSchema = external_exports.object({
|
|
|
15503
15956
|
model_config: external_exports.object({
|
|
15504
15957
|
mode: external_exports.enum(["alias", "exact"]).optional(),
|
|
15505
15958
|
model: mcpOptionalString("model_config.model", "Model name override."),
|
|
15506
|
-
effort: external_exports.enum(["low", "medium", "high", "max"]).optional(),
|
|
15959
|
+
effort: external_exports.enum(["low", "medium", "high", "xhigh", "max"]).optional(),
|
|
15507
15960
|
advisorModel: mcpOptionalString(
|
|
15508
15961
|
"model_config.advisorModel",
|
|
15509
15962
|
"Claude Code advisor model override (e.g. 'opus', 'sonnet', 'fable')."
|
|
@@ -15518,7 +15971,11 @@ var agenticToolConfigSchema = external_exports.object({
|
|
|
15518
15971
|
);
|
|
15519
15972
|
|
|
15520
15973
|
// src/mcp/tools/sessions.ts
|
|
15521
|
-
import {
|
|
15974
|
+
import {
|
|
15975
|
+
BranchRepository as BranchRepository5,
|
|
15976
|
+
SessionRelationshipRepository,
|
|
15977
|
+
shortId as shortId4
|
|
15978
|
+
} from "@agor/core/db";
|
|
15522
15979
|
import {
|
|
15523
15980
|
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
15524
15981
|
CODEX_MODEL_METADATA,
|
|
@@ -15538,6 +15995,7 @@ import {
|
|
|
15538
15995
|
} from "@agor/core/types";
|
|
15539
15996
|
init_branch_inspect();
|
|
15540
15997
|
init_executor_read_impersonation();
|
|
15998
|
+
init_spawn_executor();
|
|
15541
15999
|
var modelConfigObjectSchema = external_exports.object({
|
|
15542
16000
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
15543
16001
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
@@ -15546,7 +16004,7 @@ var modelConfigObjectSchema = external_exports.object({
|
|
|
15546
16004
|
"modelConfig.model",
|
|
15547
16005
|
"Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"
|
|
15548
16006
|
),
|
|
15549
|
-
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
16007
|
+
effort: external_exports.enum(["low", "medium", "high", "xhigh", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
15550
16008
|
advisorModel: mcpOptionalString(
|
|
15551
16009
|
"modelConfig.advisorModel",
|
|
15552
16010
|
"Claude Code advisor model override (e.g. 'opus', 'sonnet', 'fable', or a full model ID)."
|
|
@@ -15567,7 +16025,7 @@ var modelConfigInputSchema = external_exports.union([
|
|
|
15567
16025
|
);
|
|
15568
16026
|
|
|
15569
16027
|
// src/mcp/tools/users.ts
|
|
15570
|
-
import { ROLES as
|
|
16028
|
+
import { ROLES as ROLES4 } from "@agor/core/types";
|
|
15571
16029
|
|
|
15572
16030
|
// src/mcp/tools/widgets.ts
|
|
15573
16031
|
import { MessageRole as MessageRole2 } from "@agor/core/types";
|
|
@@ -15577,17 +16035,23 @@ import { generateId as generateId2, SessionRepository as SessionRepository3 } fr
|
|
|
15577
16035
|
import { MessageRole } from "@agor/core/types";
|
|
15578
16036
|
|
|
15579
16037
|
// src/utils/session-tasks.ts
|
|
15580
|
-
import {
|
|
15581
|
-
var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
15582
|
-
TaskStatus.RUNNING,
|
|
15583
|
-
TaskStatus.AWAITING_PERMISSION,
|
|
15584
|
-
TaskStatus.STOPPING
|
|
15585
|
-
]);
|
|
16038
|
+
import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
|
|
15586
16039
|
|
|
15587
16040
|
// src/widgets/env-vars/index.ts
|
|
15588
|
-
import {
|
|
16041
|
+
import {
|
|
16042
|
+
ENV_VAR_CONSTRAINTS,
|
|
16043
|
+
isEnvVarAllowed,
|
|
16044
|
+
validateEnvVar
|
|
16045
|
+
} from "@agor/core/config";
|
|
16046
|
+
import { SessionEnvSelectionRepository } from "@agor/core/db";
|
|
15589
16047
|
import { BadRequest } from "@agor/core/feathers";
|
|
15590
16048
|
var ENV_VAR_NAME_REGEX = ENV_VAR_CONSTRAINTS.NAME_PATTERN;
|
|
16049
|
+
var envVarFieldMetadataSchema = external_exports.object({
|
|
16050
|
+
description: external_exports.string().max(200).optional(),
|
|
16051
|
+
placeholder: external_exports.string().max(120).optional(),
|
|
16052
|
+
format_hint: external_exports.string().max(80).optional(),
|
|
16053
|
+
input_type: external_exports.enum(["password", "text", "textarea"]).default("password").optional()
|
|
16054
|
+
}).strict();
|
|
15591
16055
|
var envVarsParamsSchema = external_exports.object({
|
|
15592
16056
|
names: external_exports.array(external_exports.string().regex(ENV_VAR_NAME_REGEX)).min(1).max(10).refine((names) => new Set(names).size === names.length, {
|
|
15593
16057
|
message: "Env var names must be unique"
|
|
@@ -15595,18 +16059,56 @@ var envVarsParamsSchema = external_exports.object({
|
|
|
15595
16059
|
reason: external_exports.string().min(1).max(200).describe(
|
|
15596
16060
|
"One sentence explaining why you need the value(s). Keep it tight \u2014 this renders in a small muted line under the input. NOT a place to restate what the widget does."
|
|
15597
16061
|
),
|
|
16062
|
+
variable_metadata: external_exports.record(external_exports.string().regex(ENV_VAR_NAME_REGEX), envVarFieldMetadataSchema).optional().describe(
|
|
16063
|
+
"Optional per-variable display metadata keyed by requested name. Allowed keys per variable: description, placeholder, format_hint, input_type (password|text|textarea). Do not include values, defaults, examples containing secrets, or anything secret-like."
|
|
16064
|
+
),
|
|
15598
16065
|
auto_resume: external_exports.boolean().default(true).describe(
|
|
15599
16066
|
"When true (default), a system-authored prompt is auto-queued back into the agent on submit/dismiss."
|
|
15600
16067
|
)
|
|
16068
|
+
}).superRefine((params, ctx) => {
|
|
16069
|
+
const requested = new Set(params.names);
|
|
16070
|
+
for (const key of Object.keys(params.variable_metadata ?? {})) {
|
|
16071
|
+
if (!requested.has(key)) {
|
|
16072
|
+
ctx.addIssue({
|
|
16073
|
+
code: external_exports.ZodIssueCode.custom,
|
|
16074
|
+
path: ["variable_metadata", key],
|
|
16075
|
+
message: `Metadata key ${key} must match a requested env var name`
|
|
16076
|
+
});
|
|
16077
|
+
}
|
|
16078
|
+
}
|
|
15601
16079
|
});
|
|
15602
16080
|
var envVarsSubmitSchema = external_exports.object({
|
|
15603
16081
|
values: external_exports.record(
|
|
15604
16082
|
external_exports.string().regex(ENV_VAR_NAME_REGEX),
|
|
15605
16083
|
external_exports.string().min(1).max(ENV_VAR_CONSTRAINTS.MAX_VALUE_LENGTH)
|
|
15606
|
-
).
|
|
15607
|
-
|
|
15608
|
-
}),
|
|
16084
|
+
).default({}),
|
|
16085
|
+
use_existing: external_exports.array(external_exports.string().regex(ENV_VAR_NAME_REGEX)).max(10).default([]).describe("Requested names whose already-saved global values should be used."),
|
|
15609
16086
|
scope: external_exports.enum(["global", "session"])
|
|
16087
|
+
}).superRefine((submit, ctx) => {
|
|
16088
|
+
const valueNames = Object.keys(submit.values);
|
|
16089
|
+
const existingNames = submit.use_existing;
|
|
16090
|
+
const total = valueNames.length + existingNames.length;
|
|
16091
|
+
if (total < 1 || total > 10) {
|
|
16092
|
+
ctx.addIssue({
|
|
16093
|
+
code: external_exports.ZodIssueCode.custom,
|
|
16094
|
+
message: "Must submit between 1 and 10 env vars"
|
|
16095
|
+
});
|
|
16096
|
+
}
|
|
16097
|
+
const duplicates = existingNames.filter((name) => valueNames.includes(name));
|
|
16098
|
+
for (const name of duplicates) {
|
|
16099
|
+
ctx.addIssue({
|
|
16100
|
+
code: external_exports.ZodIssueCode.custom,
|
|
16101
|
+
path: ["use_existing"],
|
|
16102
|
+
message: `Cannot both submit and use existing value for ${name}`
|
|
16103
|
+
});
|
|
16104
|
+
}
|
|
16105
|
+
if (new Set(existingNames).size !== existingNames.length) {
|
|
16106
|
+
ctx.addIssue({
|
|
16107
|
+
code: external_exports.ZodIssueCode.custom,
|
|
16108
|
+
path: ["use_existing"],
|
|
16109
|
+
message: "use_existing names must be unique"
|
|
16110
|
+
});
|
|
16111
|
+
}
|
|
15610
16112
|
});
|
|
15611
16113
|
|
|
15612
16114
|
// src/mcp/server.ts
|
|
@@ -15721,6 +16223,13 @@ function notesPreview(notes, maxLength = 200) {
|
|
|
15721
16223
|
if (singleLine.length <= maxLength) return singleLine;
|
|
15722
16224
|
return `${singleLine.slice(0, maxLength - 1)}\u2026`;
|
|
15723
16225
|
}
|
|
16226
|
+
async function shouldScopeAssistantDiscoveryToUser(ctx) {
|
|
16227
|
+
if (!isBranchRbacEnabled2()) return false;
|
|
16228
|
+
if (ctx.authenticatedUser?._isServiceAccount) return false;
|
|
16229
|
+
const config2 = await loadConfig2();
|
|
16230
|
+
const allowSuperadmin = config2.execution?.allow_superadmin === true;
|
|
16231
|
+
return !isSuperAdmin(ctx.authenticatedUser?.role, allowSuperadmin);
|
|
16232
|
+
}
|
|
15724
16233
|
async function findAllArchivedBranchesForCleanup(ctx, baseQuery) {
|
|
15725
16234
|
const branches = [];
|
|
15726
16235
|
let skip = 0;
|
|
@@ -16021,7 +16530,7 @@ function registerBranchTools(server, ctx) {
|
|
|
16021
16530
|
const variant = coerceString(args.variant);
|
|
16022
16531
|
if (variant) assertValidVariant(repo, variant);
|
|
16023
16532
|
if (autoSuffix) {
|
|
16024
|
-
const branchRepo = new
|
|
16533
|
+
const branchRepo = new BranchRepository6(ctx.db);
|
|
16025
16534
|
const activeNames = await branchRepo.getActiveNamesByRepo(repoId);
|
|
16026
16535
|
const existingNames = new Set(activeNames);
|
|
16027
16536
|
if (existingNames.has(branchName)) {
|
|
@@ -16093,7 +16602,7 @@ function registerBranchTools(server, ctx) {
|
|
|
16093
16602
|
server.registerTool(
|
|
16094
16603
|
"agor_branches_update",
|
|
16095
16604
|
{
|
|
16096
|
-
description: "Update metadata for an existing branch (issue/PR URLs, notes, board placement, custom context, RBAC permissions, owners)",
|
|
16605
|
+
description: "Update metadata for an existing branch (issue/PR URLs, notes, board placement, attention state, custom context, RBAC permissions, owners)",
|
|
16097
16606
|
annotations: { idempotentHint: true },
|
|
16098
16607
|
inputSchema: external_exports.object({
|
|
16099
16608
|
branchId: mcpOptionalId(
|
|
@@ -16115,6 +16624,9 @@ function registerBranchTools(server, ctx) {
|
|
|
16115
16624
|
mcpServerIds: external_exports.array(mcpRequiredId("mcpServerIds[]", "MCP server", "MCP server ID")).nullable().optional().describe(
|
|
16116
16625
|
"Default MCP server IDs for new sessions in this branch. Sessions inherit these unless they explicitly specify their own. Pass null to clear."
|
|
16117
16626
|
),
|
|
16627
|
+
needsAttention: external_exports.boolean({ error: "needsAttention must be a boolean when provided." }).optional().describe(
|
|
16628
|
+
"Branch/card attention highlight state. Pass true to mark the branch as needing attention, or false to clear it."
|
|
16629
|
+
),
|
|
16118
16630
|
// RBAC fields (optional, safe to ignore for single-user setups)
|
|
16119
16631
|
othersCan: external_exports.enum(BRANCH_PERMISSION_LEVELS2).optional().describe(
|
|
16120
16632
|
`App-layer permission for non-owner users. "none" = no access, "view" = read-only, "session" = can create & prompt own sessions, "prompt" = can prompt ANY session (including other users'), "all" = full access. Always effective regardless of Unix isolation mode. Single-user setups can ignore this.`
|
|
@@ -16179,6 +16691,10 @@ function registerBranchTools(server, ctx) {
|
|
|
16179
16691
|
fieldsProvided++;
|
|
16180
16692
|
updates.mcp_server_ids = args.mcpServerIds === null ? [] : await Promise.all(args.mcpServerIds.map((id) => resolveMcpServerId(ctx, id)));
|
|
16181
16693
|
}
|
|
16694
|
+
if (args.needsAttention !== void 0) {
|
|
16695
|
+
fieldsProvided++;
|
|
16696
|
+
updates.needs_attention = args.needsAttention;
|
|
16697
|
+
}
|
|
16182
16698
|
if (args.othersCan !== void 0) {
|
|
16183
16699
|
fieldsProvided++;
|
|
16184
16700
|
updates.others_can = args.othersCan;
|
|
@@ -16280,11 +16796,21 @@ function registerBranchTools(server, ctx) {
|
|
|
16280
16796
|
"triggerTemplate and targetSessionId cannot be used when zoneId is null; clearing a zone pin does not run zone triggers."
|
|
16281
16797
|
);
|
|
16282
16798
|
}
|
|
16283
|
-
const
|
|
16799
|
+
const targetSession = rawTargetSessionId ? await ctx.app.service("sessions").get(rawTargetSessionId, ctx.baseServiceParams) : void 0;
|
|
16800
|
+
const targetSessionId = targetSession?.session_id;
|
|
16284
16801
|
console.log(
|
|
16285
16802
|
zoneId === null ? `\u{1F4CD} MCP clearing zone pin for branch ${shortId6(branchId)}` : `\u{1F4CD} MCP pinning branch ${shortId6(branchId)} to zone ${zoneId}`
|
|
16286
16803
|
);
|
|
16287
16804
|
const branch = await ctx.app.service("branches").get(branchId, ctx.baseServiceParams);
|
|
16805
|
+
if (triggerTemplate && targetSession && targetSession.branch_id !== branch.branch_id) {
|
|
16806
|
+
throw new Error(
|
|
16807
|
+
`targetSessionId ${shortId6(targetSession.session_id)} belongs to branch ${shortId6(
|
|
16808
|
+
targetSession.branch_id
|
|
16809
|
+
)}, but agor_branches_set_zone is moving branch ${shortId6(
|
|
16810
|
+
branch.branch_id
|
|
16811
|
+
)}. Use a session in the moved branch or create a branch-local session first.`
|
|
16812
|
+
);
|
|
16813
|
+
}
|
|
16288
16814
|
const boardObjectsService = ctx.app.service("board-objects");
|
|
16289
16815
|
if (zoneId === null) {
|
|
16290
16816
|
const boardObject2 = await boardObjectsService.findByBranchId(
|
|
@@ -16348,12 +16874,6 @@ function registerBranchTools(server, ctx) {
|
|
|
16348
16874
|
console.log(`\u{1F3AF} Triggering zone prompt template for session ${shortId6(targetSessionId)}`);
|
|
16349
16875
|
const { renderTemplate: renderTemplate2 } = await import("@agor/core/templates/handlebars-helpers");
|
|
16350
16876
|
const { buildZoneTriggerContext: buildZoneTriggerContext2 } = await import("@agor/core/templates/zone-trigger-context");
|
|
16351
|
-
let targetSession;
|
|
16352
|
-
try {
|
|
16353
|
-
targetSession = await ctx.app.service("sessions").get(targetSessionId, ctx.baseServiceParams);
|
|
16354
|
-
} catch {
|
|
16355
|
-
targetSession = void 0;
|
|
16356
|
-
}
|
|
16357
16877
|
const templateContext = buildZoneTriggerContext2({
|
|
16358
16878
|
branch,
|
|
16359
16879
|
board,
|
|
@@ -16553,11 +17073,15 @@ function registerBranchTools(server, ctx) {
|
|
|
16553
17073
|
})
|
|
16554
17074
|
},
|
|
16555
17075
|
async (args) => {
|
|
16556
|
-
const
|
|
16557
|
-
|
|
16558
|
-
const
|
|
16559
|
-
const
|
|
16560
|
-
|
|
17076
|
+
const limit = args.limit || 200;
|
|
17077
|
+
const repoId = args.repoId ? await resolveRepoId(ctx, args.repoId) : void 0;
|
|
17078
|
+
const branchRepo = new BranchRepository6(ctx.db);
|
|
17079
|
+
const assistants = await branchRepo.findAssistantBranches({
|
|
17080
|
+
archived: false,
|
|
17081
|
+
...repoId ? { repo_id: repoId } : {},
|
|
17082
|
+
...await shouldScopeAssistantDiscoveryToUser(ctx) ? { userId: ctx.userId } : {},
|
|
17083
|
+
limit
|
|
17084
|
+
});
|
|
16561
17085
|
const shaped = assistants.map((w) => {
|
|
16562
17086
|
const config2 = getAssistantConfig3(w);
|
|
16563
17087
|
return {
|