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
|
@@ -71,12 +71,13 @@ import {
|
|
|
71
71
|
asc,
|
|
72
72
|
desc,
|
|
73
73
|
eq,
|
|
74
|
-
|
|
74
|
+
gte,
|
|
75
|
+
lte,
|
|
75
76
|
messages as messagesTable,
|
|
76
77
|
or,
|
|
77
|
-
SessionRepository as SessionRepository3,
|
|
78
78
|
select,
|
|
79
|
-
sql
|
|
79
|
+
sql,
|
|
80
|
+
visibleSessionReferenceAccessExists
|
|
80
81
|
} from "@agor/core/db";
|
|
81
82
|
|
|
82
83
|
// ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js
|
|
@@ -14629,6 +14630,11 @@ function mcpOptionalString(fieldName, description) {
|
|
|
14629
14630
|
error: `${fieldName} must be a string when provided.`
|
|
14630
14631
|
}).optional().describe(description);
|
|
14631
14632
|
}
|
|
14633
|
+
function mcpOptionalNonEmptyString(fieldName, description) {
|
|
14634
|
+
return external_exports.string({
|
|
14635
|
+
error: `${fieldName} must be a string when provided.`
|
|
14636
|
+
}).min(1, `${fieldName} cannot be empty when provided.`).optional().describe(description);
|
|
14637
|
+
}
|
|
14632
14638
|
function mcpOptionalNonBlankString(fieldName, description) {
|
|
14633
14639
|
return external_exports.string({
|
|
14634
14640
|
error: `${fieldName} must be a string when provided.`
|
|
@@ -14680,7 +14686,11 @@ import { ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
|
14680
14686
|
|
|
14681
14687
|
// src/mcp/tokens.ts
|
|
14682
14688
|
import { MCP_TOKEN } from "@agor/core/config";
|
|
14683
|
-
import {
|
|
14689
|
+
import {
|
|
14690
|
+
generateId,
|
|
14691
|
+
SessionRepository,
|
|
14692
|
+
shortId as shortId2
|
|
14693
|
+
} from "@agor/core/db";
|
|
14684
14694
|
import {
|
|
14685
14695
|
MCP_TOKEN_AUDIENCE,
|
|
14686
14696
|
MCP_TOKEN_ISSUER
|
|
@@ -14701,6 +14711,7 @@ var DOMAIN_DESCRIPTIONS = {
|
|
|
14701
14711
|
users: "User accounts, profiles, preferences, and administration",
|
|
14702
14712
|
analytics: "Usage and cost tracking leaderboard",
|
|
14703
14713
|
"mcp-servers": "External MCP server configuration and OAuth management",
|
|
14714
|
+
gateway: "Gateway channels for Slack, GitHub, Teams, and other message integrations",
|
|
14704
14715
|
proxies: "Configured HTTP proxies for third-party APIs (Shortcut, Linear, Jira, etc.)",
|
|
14705
14716
|
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",
|
|
14706
14717
|
knowledge: "DB-backed markdown knowledge documents, version history, search, and graph links",
|
|
@@ -14758,7 +14769,7 @@ var AgorRuntimeSchema = external_exports.object({
|
|
|
14758
14769
|
|
|
14759
14770
|
// src/mcp/tools/branches.ts
|
|
14760
14771
|
import { existsSync } from "fs";
|
|
14761
|
-
import { isBranchRbacEnabled } from "@agor/core/config";
|
|
14772
|
+
import { isBranchRbacEnabled, loadConfig } from "@agor/core/config";
|
|
14762
14773
|
import { BranchRepository as BranchRepository2, shortId as shortId3 } from "@agor/core/db";
|
|
14763
14774
|
import { BRANCH_PERMISSION_LEVELS as BRANCH_PERMISSION_LEVELS2, getAssistantConfig, isAssistant } from "@agor/core/types";
|
|
14764
14775
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
@@ -14767,12 +14778,186 @@ import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|
|
|
14767
14778
|
// src/mcp/tools/cards.ts
|
|
14768
14779
|
import { BoardObjectRepository } from "@agor/core/db";
|
|
14769
14780
|
|
|
14781
|
+
// src/mcp/tools/gateway-channels.ts
|
|
14782
|
+
import {
|
|
14783
|
+
BranchRepository as BranchRepository3,
|
|
14784
|
+
GatewayChannelRepository,
|
|
14785
|
+
SessionRepository as SessionRepository2,
|
|
14786
|
+
ThreadSessionMapRepository
|
|
14787
|
+
} from "@agor/core/db";
|
|
14788
|
+
import {
|
|
14789
|
+
getConnector
|
|
14790
|
+
} from "@agor/core/gateway";
|
|
14791
|
+
import {
|
|
14792
|
+
GATEWAY_REDACTED_SENTINEL,
|
|
14793
|
+
GATEWAY_SENSITIVE_CONFIG_FIELDS,
|
|
14794
|
+
hasMinimumRole as hasMinimumRole2,
|
|
14795
|
+
ROLES as ROLES2
|
|
14796
|
+
} from "@agor/core/types";
|
|
14797
|
+
var configSchema = external_exports.record(external_exports.string(), external_exports.unknown()).describe(
|
|
14798
|
+
"Platform-specific gateway configuration. Secrets are stored encrypted and returned redacted. Prefer env/template references for shared credentials where the connector supports them."
|
|
14799
|
+
);
|
|
14800
|
+
var outboundTargetSchema = external_exports.string().trim().regex(
|
|
14801
|
+
/^(channel:[^:\s]+|channel_name:[^\s]+|#[^\s]+|(?:email:|user_email:)?[^@\s]+@[^@\s]+\.[^@\s]+)$/
|
|
14802
|
+
).describe(
|
|
14803
|
+
"Slack outbound target for v0: channel:C123, #project-updates, channel_name:project-updates, or user@example.com. Thread targets are intentionally not supported."
|
|
14804
|
+
);
|
|
14805
|
+
var envVarSchema = external_exports.strictObject({
|
|
14806
|
+
key: mcpRequiredString("agenticConfig.envVars[].key", "Environment variable name"),
|
|
14807
|
+
value: mcpRequiredString(
|
|
14808
|
+
"agenticConfig.envVars[].value",
|
|
14809
|
+
`Environment variable value. Prefer references/templates over raw secrets. Existing redacted values may be passed as '${GATEWAY_REDACTED_SENTINEL}' on update to preserve them.`
|
|
14810
|
+
),
|
|
14811
|
+
forceOverride: external_exports.boolean().optional().describe("When true, channel value wins over user env vars. Defaults to false.")
|
|
14812
|
+
});
|
|
14813
|
+
var agenticConfigSchema = external_exports.strictObject({
|
|
14814
|
+
agent: external_exports.enum(["claude-code", "claude-code-cli", "codex", "gemini", "opencode", "copilot", "cursor"]).describe("Agent used for sessions created from this gateway channel."),
|
|
14815
|
+
permissionMode: external_exports.enum([
|
|
14816
|
+
"default",
|
|
14817
|
+
"acceptEdits",
|
|
14818
|
+
"bypassPermissions",
|
|
14819
|
+
"plan",
|
|
14820
|
+
"dontAsk",
|
|
14821
|
+
"autoEdit",
|
|
14822
|
+
"yolo",
|
|
14823
|
+
"ask",
|
|
14824
|
+
"auto",
|
|
14825
|
+
"on-failure",
|
|
14826
|
+
"allow-all"
|
|
14827
|
+
]).optional().describe("Permission mode for spawned sessions."),
|
|
14828
|
+
modelConfig: external_exports.record(external_exports.string(), external_exports.unknown()).optional().describe("Agent model configuration."),
|
|
14829
|
+
mcpServerIds: external_exports.array(external_exports.string().min(1)).optional().describe("MCP server IDs to attach to gateway-created sessions."),
|
|
14830
|
+
codexSandboxMode: external_exports.enum(["read-only", "workspace-write", "danger-full-access"]).optional().describe("Codex sandbox mode for Codex gateway sessions."),
|
|
14831
|
+
codexApprovalPolicy: external_exports.enum(["untrusted", "on-failure", "on-request", "never"]).optional().describe("Codex approval policy for Codex gateway sessions."),
|
|
14832
|
+
codexNetworkAccess: external_exports.boolean().optional().describe("Allow Codex network access."),
|
|
14833
|
+
envVars: external_exports.array(envVarSchema).optional().describe("Gateway-level env vars. Values are redacted in responses.")
|
|
14834
|
+
}).describe("Agent/session defaults for conversations created through this gateway channel.");
|
|
14835
|
+
var gatewayChannelCreateSchema = external_exports.strictObject({
|
|
14836
|
+
name: mcpRequiredString("name", 'Human-readable channel name, e.g. "Engineering Slack".'),
|
|
14837
|
+
channelType: external_exports.enum(["slack", "github", "teams", "discord", "whatsapp", "telegram"]).default("slack").describe("Gateway platform type. Current active connectors are slack, github, and teams."),
|
|
14838
|
+
targetBranchId: mcpRequiredId(
|
|
14839
|
+
"targetBranchId",
|
|
14840
|
+
"Branch",
|
|
14841
|
+
"Branch/worktree ID that this gateway channel prompts."
|
|
14842
|
+
),
|
|
14843
|
+
agorUserId: mcpOptionalId(
|
|
14844
|
+
"agorUserId",
|
|
14845
|
+
"User",
|
|
14846
|
+
"Agor user ID whose identity is used when platform-user alignment is disabled."
|
|
14847
|
+
),
|
|
14848
|
+
enabled: external_exports.boolean().optional().describe("Whether the channel is active. Defaults to true."),
|
|
14849
|
+
config: configSchema,
|
|
14850
|
+
agenticConfig: agenticConfigSchema.optional()
|
|
14851
|
+
}).superRefine((value, issue2) => {
|
|
14852
|
+
const config2 = value.config ?? {};
|
|
14853
|
+
if (value.channelType === "slack") {
|
|
14854
|
+
if (!config2.bot_token) {
|
|
14855
|
+
issue2.addIssue({
|
|
14856
|
+
code: "custom",
|
|
14857
|
+
path: ["config", "bot_token"],
|
|
14858
|
+
message: "config.bot_token is required for Slack. Prefer a bot token stored outside the transcript when possible."
|
|
14859
|
+
});
|
|
14860
|
+
}
|
|
14861
|
+
if (config2.connection_mode === "socket" && !config2.app_token) {
|
|
14862
|
+
issue2.addIssue({
|
|
14863
|
+
code: "custom",
|
|
14864
|
+
path: ["config", "app_token"],
|
|
14865
|
+
message: "config.app_token is required for Slack Socket Mode."
|
|
14866
|
+
});
|
|
14867
|
+
}
|
|
14868
|
+
}
|
|
14869
|
+
if (value.channelType === "github") {
|
|
14870
|
+
for (const field of ["app_id", "private_key", "installation_id", "watch_repos"]) {
|
|
14871
|
+
if (!config2[field]) {
|
|
14872
|
+
issue2.addIssue({
|
|
14873
|
+
code: "custom",
|
|
14874
|
+
path: ["config", field],
|
|
14875
|
+
message: `config.${field} is required for GitHub gateway channels.`
|
|
14876
|
+
});
|
|
14877
|
+
}
|
|
14878
|
+
}
|
|
14879
|
+
}
|
|
14880
|
+
if (value.channelType === "teams") {
|
|
14881
|
+
for (const field of ["app_id", "app_password"]) {
|
|
14882
|
+
if (!config2[field]) {
|
|
14883
|
+
issue2.addIssue({
|
|
14884
|
+
code: "custom",
|
|
14885
|
+
path: ["config", field],
|
|
14886
|
+
message: `config.${field} is required for Teams gateway channels.`
|
|
14887
|
+
});
|
|
14888
|
+
}
|
|
14889
|
+
}
|
|
14890
|
+
}
|
|
14891
|
+
});
|
|
14892
|
+
var slackThreadHistorySchema = external_exports.strictObject({
|
|
14893
|
+
sessionId: mcpOptionalId(
|
|
14894
|
+
"sessionId",
|
|
14895
|
+
"Session",
|
|
14896
|
+
"Preferred: resolve the Slack thread mapping from an accessible Agor session ID (UUIDv7 or short ID). If provided, gatewayChannelId/threadId are ignored."
|
|
14897
|
+
),
|
|
14898
|
+
gatewayChannelId: mcpOptionalId(
|
|
14899
|
+
"gatewayChannelId",
|
|
14900
|
+
"Gateway channel",
|
|
14901
|
+
"Explicit Slack gateway channel ID (UUIDv7 or short ID). Required when sessionId is omitted."
|
|
14902
|
+
),
|
|
14903
|
+
threadId: mcpOptionalNonEmptyString(
|
|
14904
|
+
"threadId",
|
|
14905
|
+
"Explicit Slack thread ID in Agor gateway format, e.g. C123-171234.000100. Required when sessionId is omitted."
|
|
14906
|
+
),
|
|
14907
|
+
oldestTs: mcpOptionalNonEmptyString(
|
|
14908
|
+
"oldestTs",
|
|
14909
|
+
"Optional Slack oldest timestamp bound, e.g. 171234.000100."
|
|
14910
|
+
),
|
|
14911
|
+
latestTs: mcpOptionalNonEmptyString(
|
|
14912
|
+
"latestTs",
|
|
14913
|
+
"Optional Slack latest timestamp bound, e.g. 171235.000200."
|
|
14914
|
+
),
|
|
14915
|
+
inclusive: external_exports.boolean().optional().describe("Whether Slack should include messages exactly at oldest/latest bounds."),
|
|
14916
|
+
limit: mcpLimit(50).describe("Maximum Slack messages to request (default: 50, max: 200)."),
|
|
14917
|
+
includeBotMessages: external_exports.boolean().optional().describe("Include Slack bot messages in the returned history. Defaults to false."),
|
|
14918
|
+
format: external_exports.enum(["messages", "markdown"]).optional().describe(
|
|
14919
|
+
'Response body format. "messages" returns normalized JSON; "markdown" returns a transcript string.'
|
|
14920
|
+
)
|
|
14921
|
+
}).superRefine((value, issue2) => {
|
|
14922
|
+
if (value.sessionId) return;
|
|
14923
|
+
if (!value.gatewayChannelId) {
|
|
14924
|
+
issue2.addIssue({
|
|
14925
|
+
code: "custom",
|
|
14926
|
+
path: ["gatewayChannelId"],
|
|
14927
|
+
message: "gatewayChannelId is required when sessionId is omitted."
|
|
14928
|
+
});
|
|
14929
|
+
}
|
|
14930
|
+
if (!value.threadId) {
|
|
14931
|
+
issue2.addIssue({
|
|
14932
|
+
code: "custom",
|
|
14933
|
+
path: ["threadId"],
|
|
14934
|
+
message: "threadId is required when sessionId is omitted."
|
|
14935
|
+
});
|
|
14936
|
+
}
|
|
14937
|
+
});
|
|
14938
|
+
var gatewayChannelUpdateSchema = external_exports.strictObject({
|
|
14939
|
+
gatewayChannelId: mcpRequiredId(
|
|
14940
|
+
"gatewayChannelId",
|
|
14941
|
+
"Gateway channel",
|
|
14942
|
+
"Gateway channel ID (UUIDv7 or short ID)"
|
|
14943
|
+
),
|
|
14944
|
+
name: mcpOptionalNonEmptyString("name", "New human-readable channel name."),
|
|
14945
|
+
channelType: external_exports.enum(["slack", "github", "teams", "discord", "whatsapp", "telegram"]).optional().describe("Gateway platform type. Changing this should include compatible config."),
|
|
14946
|
+
targetBranchId: mcpOptionalId("targetBranchId", "Branch", "New target branch/worktree ID."),
|
|
14947
|
+
agorUserId: mcpOptionalId("agorUserId", "User", "New run-as Agor user ID."),
|
|
14948
|
+
enabled: external_exports.boolean().optional().describe("Enable/disable the channel."),
|
|
14949
|
+
config: configSchema.optional().describe(
|
|
14950
|
+
`Partial platform config to merge. Send '${GATEWAY_REDACTED_SENTINEL}' or omit sensitive fields to preserve existing secrets; send a new value to rotate.`
|
|
14951
|
+
),
|
|
14952
|
+
agenticConfig: agenticConfigSchema.nullable().optional().describe("Replace agent/session defaults. null clears the gateway agentic config.")
|
|
14953
|
+
});
|
|
14954
|
+
|
|
14770
14955
|
// src/mcp/tools/knowledge.ts
|
|
14771
14956
|
import { createHash, randomUUID } from "crypto";
|
|
14772
14957
|
import fs2 from "fs";
|
|
14773
14958
|
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
14774
14959
|
import path3 from "path";
|
|
14775
|
-
import { BranchRepository as
|
|
14960
|
+
import { BranchRepository as BranchRepository5, KnowledgeNamespaceRepository as KnowledgeNamespaceRepository2 } from "@agor/core/db";
|
|
14776
14961
|
import { NotFound as NotFound2 } from "@agor/core/feathers";
|
|
14777
14962
|
import {
|
|
14778
14963
|
buildKnowledgeDocumentUri,
|
|
@@ -14798,14 +14983,14 @@ import { unified } from "unified";
|
|
|
14798
14983
|
|
|
14799
14984
|
// src/services/assistant-knowledge.ts
|
|
14800
14985
|
import {
|
|
14801
|
-
BranchRepository as
|
|
14986
|
+
BranchRepository as BranchRepository4,
|
|
14802
14987
|
KnowledgeNamespaceRepository,
|
|
14803
14988
|
shortId as shortId4
|
|
14804
14989
|
} from "@agor/core/db";
|
|
14805
14990
|
import { getAssistantConfig as getAssistantConfig2, isAssistant as isAssistant2 } from "@agor/core/types";
|
|
14806
14991
|
|
|
14807
14992
|
// src/services/knowledge-access.ts
|
|
14808
|
-
import { hasMinimumRole as
|
|
14993
|
+
import { hasMinimumRole as hasMinimumRole3, ROLES as ROLES3 } from "@agor/core/types";
|
|
14809
14994
|
|
|
14810
14995
|
// src/utils/branch-workspace-path.ts
|
|
14811
14996
|
import fs from "fs";
|
|
@@ -14947,8 +15132,263 @@ var KnowledgeNodeRefSchema = external_exports.object(
|
|
|
14947
15132
|
"Reference to an existing or creatable knowledge graph node. Prefer nodeId or uri; use typed IDs for links to Agor core objects."
|
|
14948
15133
|
);
|
|
14949
15134
|
|
|
15135
|
+
// src/mcp/tools/mcp-servers.ts
|
|
15136
|
+
import {
|
|
15137
|
+
isReservedMCPCustomHeaderName,
|
|
15138
|
+
isValidMCPHeaderName
|
|
15139
|
+
} from "@agor/core/tools/mcp/http-headers";
|
|
15140
|
+
var mcpNameSchema = external_exports.string({
|
|
15141
|
+
error: 'name is required and must be a string. Example: { "name": "context7" }'
|
|
15142
|
+
}).regex(
|
|
15143
|
+
/^[a-z][a-z0-9_-]{0,63}$/,
|
|
15144
|
+
'name must start with a lowercase letter and contain only lowercase letters, digits, "_" or "-" (max 64 chars).'
|
|
15145
|
+
).describe('Stable internal ID, e.g. "context7", "github", "datadog". Cannot be changed later.');
|
|
15146
|
+
var stringMapSchema = external_exports.record(external_exports.string(), external_exports.string()).describe(
|
|
15147
|
+
"JSON object of string keys/values. Values may use templates like {{ user.env.API_TOKEN }}."
|
|
15148
|
+
);
|
|
15149
|
+
var mcpAuthInputSchema = external_exports.strictObject({
|
|
15150
|
+
type: external_exports.enum(["none", "bearer", "jwt", "oauth"]).describe(
|
|
15151
|
+
"Authentication mode. OAuth tip: start with { type: 'oauth' } plus the MCP server URL; only add endpoint/client fields if discovery/DCR fails."
|
|
15152
|
+
),
|
|
15153
|
+
token: mcpOptionalString(
|
|
15154
|
+
"auth.token",
|
|
15155
|
+
"Bearer token. Prefer {{ user.env.MCP_TOKEN }} templates; raw secrets will be stored redacted but are still visible in this MCP call transcript."
|
|
15156
|
+
),
|
|
15157
|
+
api_url: mcpOptionalString("auth.api_url", "JWT auth API URL."),
|
|
15158
|
+
api_token: mcpOptionalString(
|
|
15159
|
+
"auth.api_token",
|
|
15160
|
+
"JWT API token. Prefer {{ user.env.JWT_TOKEN }} templates."
|
|
15161
|
+
),
|
|
15162
|
+
api_secret: mcpOptionalString(
|
|
15163
|
+
"auth.api_secret",
|
|
15164
|
+
"JWT API secret. Prefer {{ user.env.JWT_SECRET }} templates."
|
|
15165
|
+
),
|
|
15166
|
+
oauth_authorization_url: mcpOptionalString(
|
|
15167
|
+
"auth.oauth_authorization_url",
|
|
15168
|
+
"Optional OAuth authorization endpoint override. Leave blank for discovery."
|
|
15169
|
+
),
|
|
15170
|
+
oauth_token_url: mcpOptionalString(
|
|
15171
|
+
"auth.oauth_token_url",
|
|
15172
|
+
"Optional OAuth token endpoint override. Leave blank for discovery."
|
|
15173
|
+
),
|
|
15174
|
+
oauth_client_id: mcpOptionalString(
|
|
15175
|
+
"auth.oauth_client_id",
|
|
15176
|
+
"Optional OAuth client ID for providers that require a pre-registered app. Leave blank for Dynamic Client Registration where supported."
|
|
15177
|
+
),
|
|
15178
|
+
oauth_client_secret: mcpOptionalString(
|
|
15179
|
+
"auth.oauth_client_secret",
|
|
15180
|
+
"Optional OAuth client secret. Prefer {{ user.env.OAUTH_CLIENT_SECRET }} templates; raw secrets are not returned by this tool."
|
|
15181
|
+
),
|
|
15182
|
+
oauth_scope: mcpOptionalString("auth.oauth_scope", "Optional OAuth scopes, space-separated."),
|
|
15183
|
+
oauth_grant_type: external_exports.enum(["client_credentials", "authorization_code"]).optional().describe(
|
|
15184
|
+
"OAuth grant type hint. Defaults to 'client_credentials' for legacy token testing; browser OAuth uses authorization code with PKCE."
|
|
15185
|
+
),
|
|
15186
|
+
oauth_mode: external_exports.enum(["per_user", "shared"]).optional().describe("OAuth token ownership. Defaults to 'per_user' (recommended)."),
|
|
15187
|
+
insecure: external_exports.boolean().optional().describe("Allow insecure auth behavior if supported.")
|
|
15188
|
+
}).superRefine((auth, issue2) => {
|
|
15189
|
+
if (auth.type === "bearer" && !auth.token) {
|
|
15190
|
+
issue2.addIssue({
|
|
15191
|
+
code: "custom",
|
|
15192
|
+
path: ["token"],
|
|
15193
|
+
message: "auth.token is required when auth.type is 'bearer'."
|
|
15194
|
+
});
|
|
15195
|
+
}
|
|
15196
|
+
const fieldsByType = {
|
|
15197
|
+
none: [],
|
|
15198
|
+
bearer: ["token"],
|
|
15199
|
+
jwt: ["api_url", "api_token", "api_secret"],
|
|
15200
|
+
oauth: [
|
|
15201
|
+
"oauth_authorization_url",
|
|
15202
|
+
"oauth_token_url",
|
|
15203
|
+
"oauth_client_id",
|
|
15204
|
+
"oauth_client_secret",
|
|
15205
|
+
"oauth_scope",
|
|
15206
|
+
"oauth_grant_type",
|
|
15207
|
+
"oauth_mode",
|
|
15208
|
+
"insecure"
|
|
15209
|
+
]
|
|
15210
|
+
};
|
|
15211
|
+
const allowed = /* @__PURE__ */ new Set(["type", ...fieldsByType[auth.type]]);
|
|
15212
|
+
for (const key of Object.keys(auth)) {
|
|
15213
|
+
if (!allowed.has(key)) {
|
|
15214
|
+
issue2.addIssue({
|
|
15215
|
+
code: "custom",
|
|
15216
|
+
path: [key],
|
|
15217
|
+
message: `auth.${key} does not apply when auth.type is '${auth.type}'.`
|
|
15218
|
+
});
|
|
15219
|
+
}
|
|
15220
|
+
}
|
|
15221
|
+
if (auth.type === "jwt") {
|
|
15222
|
+
for (const field of ["api_url", "api_token", "api_secret"]) {
|
|
15223
|
+
if (!auth[field]) {
|
|
15224
|
+
issue2.addIssue({
|
|
15225
|
+
code: "custom",
|
|
15226
|
+
path: [field],
|
|
15227
|
+
message: `auth.${field} is required when auth.type is 'jwt'.`
|
|
15228
|
+
});
|
|
15229
|
+
}
|
|
15230
|
+
}
|
|
15231
|
+
}
|
|
15232
|
+
}).describe(
|
|
15233
|
+
"Auth config. Common OAuth path: { type: 'oauth' } plus url; leave OAuth URLs/client fields blank first so metadata discovery/DCR can do the work."
|
|
15234
|
+
);
|
|
15235
|
+
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' }.");
|
|
15236
|
+
var mcpServerCreateSchema = external_exports.strictObject({
|
|
15237
|
+
name: mcpNameSchema,
|
|
15238
|
+
displayName: mcpOptionalNonEmptyString(
|
|
15239
|
+
"displayName",
|
|
15240
|
+
'Human-friendly display name, e.g. "Context7 MCP".'
|
|
15241
|
+
),
|
|
15242
|
+
description: mcpOptionalString("description", "Optional description."),
|
|
15243
|
+
transport: external_exports.enum(["stdio", "http", "sse"]).optional().describe(
|
|
15244
|
+
"Transport. Defaults to 'http' when url is provided, otherwise 'stdio'. Most remote OAuth MCP servers use 'http'."
|
|
15245
|
+
),
|
|
15246
|
+
url: mcpOptionalString(
|
|
15247
|
+
"url",
|
|
15248
|
+
"Remote MCP server URL for http/sse transports. Supports templates like {{ user.env.MCP_URL }}."
|
|
15249
|
+
),
|
|
15250
|
+
command: mcpOptionalString("command", 'Local command for stdio transport, e.g. "npx".'),
|
|
15251
|
+
args: external_exports.array(external_exports.string()).optional().describe(
|
|
15252
|
+
'Arguments for stdio command, e.g. ["-y", "@modelcontextprotocol/server-filesystem"].'
|
|
15253
|
+
),
|
|
15254
|
+
headers: stringMapSchema.optional().describe(
|
|
15255
|
+
"Custom HTTP headers for http/sse transports. Do not include Authorization; use auth instead. Prefer templates for secret values."
|
|
15256
|
+
),
|
|
15257
|
+
env: stringMapSchema.optional().describe(
|
|
15258
|
+
"Environment variables for the MCP process/config. Prefer {{ user.env.VAR }} templates for secrets."
|
|
15259
|
+
),
|
|
15260
|
+
auth: mcpAuthInputSchema.optional(),
|
|
15261
|
+
scope: external_exports.enum(["global", "session"]).optional().describe(
|
|
15262
|
+
"Scope. Defaults to 'global' so it appears in agor_mcp_servers_list. 'session' is only for explicit session attachment workflows."
|
|
15263
|
+
),
|
|
15264
|
+
enabled: external_exports.boolean().optional().describe("Whether the server is enabled. Defaults to true."),
|
|
15265
|
+
attachToCurrentSession: external_exports.boolean().optional().describe(
|
|
15266
|
+
`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.`
|
|
15267
|
+
),
|
|
15268
|
+
attachToSessionId: mcpOptionalId(
|
|
15269
|
+
"attachToSessionId",
|
|
15270
|
+
"Session",
|
|
15271
|
+
"Optional session ID (UUIDv7 or short ID) to attach after creating. Overrides attachToCurrentSession."
|
|
15272
|
+
)
|
|
15273
|
+
}).superRefine((value, issue2) => validateMcpServerConfig(value, issue2, false));
|
|
15274
|
+
var mcpServerUpdateSchema = external_exports.strictObject({
|
|
15275
|
+
mcpServerId: mcpRequiredId(
|
|
15276
|
+
"mcpServerId",
|
|
15277
|
+
"MCP server",
|
|
15278
|
+
"MCP server ID to update (UUIDv7 or short ID)"
|
|
15279
|
+
),
|
|
15280
|
+
displayName: mcpOptionalNonEmptyString("displayName", "New human-friendly display name."),
|
|
15281
|
+
description: mcpOptionalString(
|
|
15282
|
+
"description",
|
|
15283
|
+
"New description. Pass an empty string to clear."
|
|
15284
|
+
),
|
|
15285
|
+
transport: external_exports.enum(["stdio", "http", "sse"]).optional().describe("Transport to set."),
|
|
15286
|
+
url: mcpOptionalString("url", "Remote MCP URL for http/sse transports."),
|
|
15287
|
+
command: mcpOptionalString("command", "Local command for stdio transport."),
|
|
15288
|
+
args: external_exports.array(external_exports.string()).optional().describe("Arguments for stdio command."),
|
|
15289
|
+
headers: stringMapSchema.optional().describe(
|
|
15290
|
+
"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."
|
|
15291
|
+
),
|
|
15292
|
+
env: stringMapSchema.optional().describe("Replace environment variables."),
|
|
15293
|
+
auth: mcpAuthInputSchema.optional().describe(
|
|
15294
|
+
"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."
|
|
15295
|
+
),
|
|
15296
|
+
scope: external_exports.enum(["global", "session"]).optional().describe("Scope to set."),
|
|
15297
|
+
enabled: external_exports.boolean().optional().describe("Enabled flag."),
|
|
15298
|
+
toolPermissions: toolPermissionsSchema.optional()
|
|
15299
|
+
}).superRefine((value, issue2) => validateMcpServerConfig(value, issue2, true));
|
|
15300
|
+
function validateHeaders(headers, issue2) {
|
|
15301
|
+
if (!headers) return;
|
|
15302
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
15303
|
+
const name = key.trim();
|
|
15304
|
+
if (!name) {
|
|
15305
|
+
issue2.addIssue({
|
|
15306
|
+
code: "custom",
|
|
15307
|
+
path: ["headers", key],
|
|
15308
|
+
message: "Header names cannot be empty."
|
|
15309
|
+
});
|
|
15310
|
+
} else if (!isValidMCPHeaderName(name)) {
|
|
15311
|
+
issue2.addIssue({
|
|
15312
|
+
code: "custom",
|
|
15313
|
+
path: ["headers", key],
|
|
15314
|
+
message: `Invalid HTTP header name: ${key}`
|
|
15315
|
+
});
|
|
15316
|
+
} else if (isReservedMCPCustomHeaderName(name)) {
|
|
15317
|
+
issue2.addIssue({
|
|
15318
|
+
code: "custom",
|
|
15319
|
+
path: ["headers", key],
|
|
15320
|
+
message: `Header ${name} is reserved; configure Authorization through auth instead.`
|
|
15321
|
+
});
|
|
15322
|
+
}
|
|
15323
|
+
if (typeof value !== "string") {
|
|
15324
|
+
issue2.addIssue({
|
|
15325
|
+
code: "custom",
|
|
15326
|
+
path: ["headers", key],
|
|
15327
|
+
message: "Header values must be strings."
|
|
15328
|
+
});
|
|
15329
|
+
}
|
|
15330
|
+
}
|
|
15331
|
+
}
|
|
15332
|
+
function validateMcpServerConfig(value, issue2, partial2) {
|
|
15333
|
+
const transport = value.transport ?? (value.url ? "http" : "stdio");
|
|
15334
|
+
validateHeaders(value.headers, issue2);
|
|
15335
|
+
if (!partial2 || value.transport !== void 0 || value.url !== void 0 || value.command !== void 0) {
|
|
15336
|
+
if (transport === "stdio") {
|
|
15337
|
+
if (!partial2 && !value.command) {
|
|
15338
|
+
issue2.addIssue({
|
|
15339
|
+
code: "custom",
|
|
15340
|
+
path: ["command"],
|
|
15341
|
+
message: "command is required for stdio transport."
|
|
15342
|
+
});
|
|
15343
|
+
}
|
|
15344
|
+
if (value.url) {
|
|
15345
|
+
issue2.addIssue({
|
|
15346
|
+
code: "custom",
|
|
15347
|
+
path: ["url"],
|
|
15348
|
+
message: "url only applies to http/sse transports, not stdio."
|
|
15349
|
+
});
|
|
15350
|
+
}
|
|
15351
|
+
if (value.headers) {
|
|
15352
|
+
issue2.addIssue({
|
|
15353
|
+
code: "custom",
|
|
15354
|
+
path: ["headers"],
|
|
15355
|
+
message: "headers only apply to http/sse transports, not stdio."
|
|
15356
|
+
});
|
|
15357
|
+
}
|
|
15358
|
+
if (value.auth && value.auth.type !== "none") {
|
|
15359
|
+
issue2.addIssue({
|
|
15360
|
+
code: "custom",
|
|
15361
|
+
path: ["auth", "type"],
|
|
15362
|
+
message: "Authentication config only applies to http/sse transports."
|
|
15363
|
+
});
|
|
15364
|
+
}
|
|
15365
|
+
} else if (!partial2 && !value.url) {
|
|
15366
|
+
issue2.addIssue({
|
|
15367
|
+
code: "custom",
|
|
15368
|
+
path: ["url"],
|
|
15369
|
+
message: `url is required for ${transport} transport.`
|
|
15370
|
+
});
|
|
15371
|
+
} else {
|
|
15372
|
+
if (value.command) {
|
|
15373
|
+
issue2.addIssue({
|
|
15374
|
+
code: "custom",
|
|
15375
|
+
path: ["command"],
|
|
15376
|
+
message: "command only applies to stdio transport, not http/sse."
|
|
15377
|
+
});
|
|
15378
|
+
}
|
|
15379
|
+
if (value.args && value.args.length > 0) {
|
|
15380
|
+
issue2.addIssue({
|
|
15381
|
+
code: "custom",
|
|
15382
|
+
path: ["args"],
|
|
15383
|
+
message: "args only apply to stdio transport, not http/sse."
|
|
15384
|
+
});
|
|
15385
|
+
}
|
|
15386
|
+
}
|
|
15387
|
+
}
|
|
15388
|
+
}
|
|
15389
|
+
|
|
14950
15390
|
// src/mcp/tools/proxies.ts
|
|
14951
|
-
import { getBaseUrl, loadConfig, resolveProxies } from "@agor/core/config";
|
|
15391
|
+
import { getBaseUrl, loadConfig as loadConfig2, resolveProxies } from "@agor/core/config";
|
|
14952
15392
|
|
|
14953
15393
|
// src/mcp/tools/repos.ts
|
|
14954
15394
|
import { extractSlugFromUrl, isValidGitUrl, isValidSlug } from "@agor/core/config";
|
|
@@ -14960,7 +15400,7 @@ var agenticToolConfigSchema = external_exports.object({
|
|
|
14960
15400
|
model_config: external_exports.object({
|
|
14961
15401
|
mode: external_exports.enum(["alias", "exact"]).optional(),
|
|
14962
15402
|
model: mcpOptionalString("model_config.model", "Model name override."),
|
|
14963
|
-
effort: external_exports.enum(["low", "medium", "high", "max"]).optional(),
|
|
15403
|
+
effort: external_exports.enum(["low", "medium", "high", "xhigh", "max"]).optional(),
|
|
14964
15404
|
advisorModel: mcpOptionalString(
|
|
14965
15405
|
"model_config.advisorModel",
|
|
14966
15406
|
"Claude Code advisor model override (e.g. 'opus', 'sonnet', 'fable')."
|
|
@@ -14975,7 +15415,11 @@ var agenticToolConfigSchema = external_exports.object({
|
|
|
14975
15415
|
);
|
|
14976
15416
|
|
|
14977
15417
|
// src/mcp/tools/sessions.ts
|
|
14978
|
-
import {
|
|
15418
|
+
import {
|
|
15419
|
+
BranchRepository as BranchRepository6,
|
|
15420
|
+
SessionRelationshipRepository,
|
|
15421
|
+
shortId as shortId5
|
|
15422
|
+
} from "@agor/core/db";
|
|
14979
15423
|
import {
|
|
14980
15424
|
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
14981
15425
|
CODEX_MODEL_METADATA,
|
|
@@ -14995,6 +15439,7 @@ import {
|
|
|
14995
15439
|
} from "@agor/core/types";
|
|
14996
15440
|
init_branch_inspect();
|
|
14997
15441
|
init_executor_read_impersonation();
|
|
15442
|
+
init_spawn_executor();
|
|
14998
15443
|
var modelConfigObjectSchema = external_exports.object({
|
|
14999
15444
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
15000
15445
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
@@ -15003,7 +15448,7 @@ var modelConfigObjectSchema = external_exports.object({
|
|
|
15003
15448
|
"modelConfig.model",
|
|
15004
15449
|
"Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"
|
|
15005
15450
|
),
|
|
15006
|
-
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
15451
|
+
effort: external_exports.enum(["low", "medium", "high", "xhigh", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
15007
15452
|
advisorModel: mcpOptionalString(
|
|
15008
15453
|
"modelConfig.advisorModel",
|
|
15009
15454
|
"Claude Code advisor model override (e.g. 'opus', 'sonnet', 'fable', or a full model ID)."
|
|
@@ -15024,27 +15469,33 @@ var modelConfigInputSchema = external_exports.union([
|
|
|
15024
15469
|
);
|
|
15025
15470
|
|
|
15026
15471
|
// src/mcp/tools/users.ts
|
|
15027
|
-
import { ROLES as
|
|
15472
|
+
import { ROLES as ROLES4 } from "@agor/core/types";
|
|
15028
15473
|
|
|
15029
15474
|
// src/mcp/tools/widgets.ts
|
|
15030
15475
|
import { MessageRole as MessageRole2 } from "@agor/core/types";
|
|
15031
15476
|
|
|
15032
15477
|
// src/utils/append-system-message.ts
|
|
15033
|
-
import { generateId as generateId2, SessionRepository as
|
|
15478
|
+
import { generateId as generateId2, SessionRepository as SessionRepository3 } from "@agor/core/db";
|
|
15034
15479
|
import { MessageRole } from "@agor/core/types";
|
|
15035
15480
|
|
|
15036
15481
|
// src/utils/session-tasks.ts
|
|
15037
|
-
import {
|
|
15038
|
-
var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
15039
|
-
TaskStatus.RUNNING,
|
|
15040
|
-
TaskStatus.AWAITING_PERMISSION,
|
|
15041
|
-
TaskStatus.STOPPING
|
|
15042
|
-
]);
|
|
15482
|
+
import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
|
|
15043
15483
|
|
|
15044
15484
|
// src/widgets/env-vars/index.ts
|
|
15045
|
-
import {
|
|
15485
|
+
import {
|
|
15486
|
+
ENV_VAR_CONSTRAINTS,
|
|
15487
|
+
isEnvVarAllowed,
|
|
15488
|
+
validateEnvVar
|
|
15489
|
+
} from "@agor/core/config";
|
|
15490
|
+
import { SessionEnvSelectionRepository } from "@agor/core/db";
|
|
15046
15491
|
import { BadRequest } from "@agor/core/feathers";
|
|
15047
15492
|
var ENV_VAR_NAME_REGEX = ENV_VAR_CONSTRAINTS.NAME_PATTERN;
|
|
15493
|
+
var envVarFieldMetadataSchema = external_exports.object({
|
|
15494
|
+
description: external_exports.string().max(200).optional(),
|
|
15495
|
+
placeholder: external_exports.string().max(120).optional(),
|
|
15496
|
+
format_hint: external_exports.string().max(80).optional(),
|
|
15497
|
+
input_type: external_exports.enum(["password", "text", "textarea"]).default("password").optional()
|
|
15498
|
+
}).strict();
|
|
15048
15499
|
var envVarsParamsSchema = external_exports.object({
|
|
15049
15500
|
names: external_exports.array(external_exports.string().regex(ENV_VAR_NAME_REGEX)).min(1).max(10).refine((names) => new Set(names).size === names.length, {
|
|
15050
15501
|
message: "Env var names must be unique"
|
|
@@ -15052,18 +15503,56 @@ var envVarsParamsSchema = external_exports.object({
|
|
|
15052
15503
|
reason: external_exports.string().min(1).max(200).describe(
|
|
15053
15504
|
"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."
|
|
15054
15505
|
),
|
|
15506
|
+
variable_metadata: external_exports.record(external_exports.string().regex(ENV_VAR_NAME_REGEX), envVarFieldMetadataSchema).optional().describe(
|
|
15507
|
+
"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."
|
|
15508
|
+
),
|
|
15055
15509
|
auto_resume: external_exports.boolean().default(true).describe(
|
|
15056
15510
|
"When true (default), a system-authored prompt is auto-queued back into the agent on submit/dismiss."
|
|
15057
15511
|
)
|
|
15512
|
+
}).superRefine((params, ctx) => {
|
|
15513
|
+
const requested = new Set(params.names);
|
|
15514
|
+
for (const key of Object.keys(params.variable_metadata ?? {})) {
|
|
15515
|
+
if (!requested.has(key)) {
|
|
15516
|
+
ctx.addIssue({
|
|
15517
|
+
code: external_exports.ZodIssueCode.custom,
|
|
15518
|
+
path: ["variable_metadata", key],
|
|
15519
|
+
message: `Metadata key ${key} must match a requested env var name`
|
|
15520
|
+
});
|
|
15521
|
+
}
|
|
15522
|
+
}
|
|
15058
15523
|
});
|
|
15059
15524
|
var envVarsSubmitSchema = external_exports.object({
|
|
15060
15525
|
values: external_exports.record(
|
|
15061
15526
|
external_exports.string().regex(ENV_VAR_NAME_REGEX),
|
|
15062
15527
|
external_exports.string().min(1).max(ENV_VAR_CONSTRAINTS.MAX_VALUE_LENGTH)
|
|
15063
|
-
).
|
|
15064
|
-
|
|
15065
|
-
}),
|
|
15528
|
+
).default({}),
|
|
15529
|
+
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."),
|
|
15066
15530
|
scope: external_exports.enum(["global", "session"])
|
|
15531
|
+
}).superRefine((submit, ctx) => {
|
|
15532
|
+
const valueNames = Object.keys(submit.values);
|
|
15533
|
+
const existingNames = submit.use_existing;
|
|
15534
|
+
const total = valueNames.length + existingNames.length;
|
|
15535
|
+
if (total < 1 || total > 10) {
|
|
15536
|
+
ctx.addIssue({
|
|
15537
|
+
code: external_exports.ZodIssueCode.custom,
|
|
15538
|
+
message: "Must submit between 1 and 10 env vars"
|
|
15539
|
+
});
|
|
15540
|
+
}
|
|
15541
|
+
const duplicates = existingNames.filter((name) => valueNames.includes(name));
|
|
15542
|
+
for (const name of duplicates) {
|
|
15543
|
+
ctx.addIssue({
|
|
15544
|
+
code: external_exports.ZodIssueCode.custom,
|
|
15545
|
+
path: ["use_existing"],
|
|
15546
|
+
message: `Cannot both submit and use existing value for ${name}`
|
|
15547
|
+
});
|
|
15548
|
+
}
|
|
15549
|
+
if (new Set(existingNames).size !== existingNames.length) {
|
|
15550
|
+
ctx.addIssue({
|
|
15551
|
+
code: external_exports.ZodIssueCode.custom,
|
|
15552
|
+
path: ["use_existing"],
|
|
15553
|
+
message: "use_existing names must be unique"
|
|
15554
|
+
});
|
|
15555
|
+
}
|
|
15067
15556
|
});
|
|
15068
15557
|
|
|
15069
15558
|
// src/mcp/server.ts
|
|
@@ -15106,6 +15595,21 @@ Continue or fork an existing session:
|
|
|
15106
15595
|
Discover tools: search domains/summaries \u2192 get details for one tool \u2192 execute`;
|
|
15107
15596
|
|
|
15108
15597
|
// src/mcp/tools/messages.ts
|
|
15598
|
+
var BROAD_SEARCH_GUIDANCE = 'Broad cross-session message search must be scoped to sessionId/taskId or bounded with createdAfter. Use a window of 31 days or less; add createdBefore for historical searches. Example: { "search": "SEO", "createdAfter": "2026-06-01T00:00:00Z", "createdBefore": "2026-06-15T00:00:00Z" }. This prevents full-table scans on large message databases.';
|
|
15599
|
+
var MAX_CROSS_SESSION_SEARCH_WINDOW_MS = 31 * 24 * 60 * 60 * 1e3;
|
|
15600
|
+
function parseDateArg(name, value) {
|
|
15601
|
+
if (value === void 0 || value === null || value === "") return void 0;
|
|
15602
|
+
if (typeof value !== "string") {
|
|
15603
|
+
throw new Error(`${name} must be an ISO-8601 date string, for example "2026-06-01T00:00:00Z".`);
|
|
15604
|
+
}
|
|
15605
|
+
const date5 = new Date(value);
|
|
15606
|
+
if (Number.isNaN(date5.getTime())) {
|
|
15607
|
+
throw new Error(
|
|
15608
|
+
`${name} must be a valid ISO-8601 date string, for example "2026-06-01" or "2026-06-01T00:00:00Z".`
|
|
15609
|
+
);
|
|
15610
|
+
}
|
|
15611
|
+
return date5;
|
|
15612
|
+
}
|
|
15109
15613
|
function registerMessageTools(server, ctx) {
|
|
15110
15614
|
server.registerTool(
|
|
15111
15615
|
"agor_messages_list",
|
|
@@ -15121,7 +15625,15 @@ function registerMessageTools(server, ctx) {
|
|
|
15121
15625
|
taskId: mcpOptionalId("taskId", "Task", "Task ID to scope messages to (optional)"),
|
|
15122
15626
|
search: mcpOptionalString(
|
|
15123
15627
|
"search",
|
|
15124
|
-
`Keyword search across message content. Space-separated terms are AND'd, pipe (|) for OR. Example: "OAuth middleware" requires both; "OAuth | JWT" matches either.`
|
|
15628
|
+
`Keyword search across message content. Space-separated terms are AND'd, pipe (|) for OR. Example: "OAuth middleware" requires both; "OAuth | JWT" matches either. Cross-session search must include sessionId/taskId or a createdAfter-bounded window of 31 days or less.`
|
|
15629
|
+
),
|
|
15630
|
+
createdAfter: mcpOptionalString(
|
|
15631
|
+
"createdAfter",
|
|
15632
|
+
'Only include messages at or after this message timestamp. ISO-8601 date/time, e.g. "2026-06-01" or "2026-06-01T00:00:00Z". Recommended for broad searches.'
|
|
15633
|
+
),
|
|
15634
|
+
createdBefore: mcpOptionalString(
|
|
15635
|
+
"createdBefore",
|
|
15636
|
+
'Only include messages before or at this message timestamp. ISO-8601 date/time, e.g. "2026-06-28T23:59:59Z". Use with createdAfter for historical cross-session searches.'
|
|
15125
15637
|
),
|
|
15126
15638
|
includeToolCalls: external_exports.boolean().optional().describe(
|
|
15127
15639
|
"Include tool call messages and tool_use content blocks (default: false). When false, strips tool noise for cleaner output."
|
|
@@ -15141,11 +15653,25 @@ function registerMessageTools(server, ctx) {
|
|
|
15141
15653
|
const sessionIdRaw = coerceString(args.sessionId);
|
|
15142
15654
|
const taskIdRaw = coerceString(args.taskId);
|
|
15143
15655
|
const search = coerceString(args.search);
|
|
15656
|
+
const createdAfter = parseDateArg("createdAfter", args.createdAfter);
|
|
15657
|
+
const createdBefore = parseDateArg("createdBefore", args.createdBefore);
|
|
15658
|
+
if (createdAfter && createdBefore && createdAfter.getTime() > createdBefore.getTime()) {
|
|
15659
|
+
throw new Error("createdAfter must be earlier than or equal to createdBefore.");
|
|
15660
|
+
}
|
|
15144
15661
|
if (!sessionIdRaw && !taskIdRaw && !search) {
|
|
15145
15662
|
throw new Error(
|
|
15146
|
-
'At least one of sessionId, taskId, or search must be provided as a non-empty string. Example: { "sessionId": "01abcdef" } or { "search": "OAuth middleware" }.'
|
|
15663
|
+
'At least one of sessionId, taskId, or search must be provided as a non-empty string. Example: { "sessionId": "01abcdef" } or { "search": "OAuth middleware", "createdAfter": "2026-06-01T00:00:00Z" }.'
|
|
15147
15664
|
);
|
|
15148
15665
|
}
|
|
15666
|
+
if (search && !sessionIdRaw && !taskIdRaw) {
|
|
15667
|
+
if (!createdAfter) {
|
|
15668
|
+
throw new Error(BROAD_SEARCH_GUIDANCE);
|
|
15669
|
+
}
|
|
15670
|
+
const effectiveCreatedBefore = createdBefore ?? /* @__PURE__ */ new Date();
|
|
15671
|
+
if (effectiveCreatedBefore.getTime() - createdAfter.getTime() > MAX_CROSS_SESSION_SEARCH_WINDOW_MS) {
|
|
15672
|
+
throw new Error(BROAD_SEARCH_GUIDANCE);
|
|
15673
|
+
}
|
|
15674
|
+
}
|
|
15149
15675
|
const sessionId = sessionIdRaw ? await resolveSessionId(ctx, sessionIdRaw) : void 0;
|
|
15150
15676
|
const taskId = taskIdRaw ? await resolveTaskId(ctx, taskIdRaw) : void 0;
|
|
15151
15677
|
const includeToolCalls = args.includeToolCalls === true;
|
|
@@ -15160,6 +15686,8 @@ function registerMessageTools(server, ctx) {
|
|
|
15160
15686
|
if (sessionId) conditions.push(eq(messagesTable.session_id, sessionId));
|
|
15161
15687
|
if (taskId) conditions.push(eq(messagesTable.task_id, taskId));
|
|
15162
15688
|
if (role) conditions.push(eq(messagesTable.role, role));
|
|
15689
|
+
if (createdAfter) conditions.push(gte(messagesTable.timestamp, createdAfter));
|
|
15690
|
+
if (createdBefore) conditions.push(lte(messagesTable.timestamp, createdBefore));
|
|
15163
15691
|
if (!includeToolCalls) {
|
|
15164
15692
|
conditions.push(
|
|
15165
15693
|
sql`${messagesTable.type} NOT IN ('file-history-snapshot', 'permission_request', 'input_request')`
|
|
@@ -15178,20 +15706,20 @@ function registerMessageTools(server, ctx) {
|
|
|
15178
15706
|
if (isBranchRbacEnabled2()) {
|
|
15179
15707
|
const userRole = ctx.authenticatedUser?.role;
|
|
15180
15708
|
if (!isSuperAdmin(userRole)) {
|
|
15181
|
-
|
|
15182
|
-
|
|
15183
|
-
|
|
15184
|
-
if (accessibleIds.length === 0) {
|
|
15185
|
-
return textResult({ messages: [], total: 0, offset, limit });
|
|
15186
|
-
}
|
|
15187
|
-
conditions.push(inArray(messagesTable.session_id, accessibleIds));
|
|
15709
|
+
conditions.push(
|
|
15710
|
+
visibleSessionReferenceAccessExists(ctx.db, ctx.userId, messagesTable.session_id)
|
|
15711
|
+
);
|
|
15188
15712
|
}
|
|
15189
15713
|
}
|
|
15190
15714
|
const orderCol = sessionId ? messagesTable.index : messagesTable.timestamp;
|
|
15191
15715
|
const orderBy = order === "desc" ? desc(orderCol) : asc(orderCol);
|
|
15192
|
-
const
|
|
15716
|
+
const fetchLimit = Math.min(limit + 100, 200);
|
|
15717
|
+
const allRows = await select(ctx.db).from(messagesTable).where(conditions.length > 0 ? and(...conditions) : void 0).orderBy(orderBy).limit(fetchLimit).offset(offset).all();
|
|
15193
15718
|
const processed = [];
|
|
15719
|
+
let consumedRows = 0;
|
|
15194
15720
|
for (const row of allRows) {
|
|
15721
|
+
if (processed.length >= limit) break;
|
|
15722
|
+
consumedRows++;
|
|
15195
15723
|
const data = row.data;
|
|
15196
15724
|
const content = data?.content;
|
|
15197
15725
|
if (!includeToolCalls && row.role === "user" && Array.isArray(content)) {
|
|
@@ -15242,9 +15770,17 @@ function registerMessageTools(server, ctx) {
|
|
|
15242
15770
|
if (toolCallCount > 0) msg.tool_call_count = toolCallCount;
|
|
15243
15771
|
processed.push(msg);
|
|
15244
15772
|
}
|
|
15245
|
-
const
|
|
15246
|
-
|
|
15247
|
-
|
|
15773
|
+
const hasMore = allRows.length > consumedRows || allRows.length === fetchLimit;
|
|
15774
|
+
return textResult({
|
|
15775
|
+
messages: processed,
|
|
15776
|
+
returned: processed.length,
|
|
15777
|
+
offset,
|
|
15778
|
+
limit,
|
|
15779
|
+
scanned: allRows.length,
|
|
15780
|
+
scan_limit: fetchLimit,
|
|
15781
|
+
has_more: hasMore,
|
|
15782
|
+
next_offset: hasMore ? offset + consumedRows : void 0
|
|
15783
|
+
});
|
|
15248
15784
|
}
|
|
15249
15785
|
);
|
|
15250
15786
|
}
|