@cloudcli-ai/cloudcli 1.36.3 → 1.37.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/assets/index-D3jfzuKN.css +32 -0
- package/dist/assets/index-DTMWjJj8.js +1550 -0
- package/dist/index.html +2 -2
- package/dist-server/server/constants/config.js.map +1 -1
- package/dist-server/server/index.js +73 -1224
- package/dist-server/server/index.js.map +1 -1
- package/dist-server/server/load-env.js +17 -4
- package/dist-server/server/load-env.js.map +1 -1
- package/dist-server/server/modules/agent/agent.module.js +37 -0
- package/dist-server/server/modules/agent/agent.module.js.map +1 -0
- package/dist-server/server/modules/agent/agent.routes.js +1161 -0
- package/dist-server/server/modules/agent/agent.routes.js.map +1 -0
- package/dist-server/server/modules/agent/index.js +3 -0
- package/dist-server/server/modules/agent/index.js.map +1 -0
- package/dist-server/server/modules/agent/tests/agent.routes.test.js +176 -0
- package/dist-server/server/modules/agent/tests/agent.routes.test.js.map +1 -0
- package/dist-server/server/modules/assets/assets.routes.js +56 -15
- package/dist-server/server/modules/assets/assets.routes.js.map +1 -1
- package/dist-server/server/modules/assets/index.js +2 -2
- package/dist-server/server/modules/assets/index.js.map +1 -1
- package/dist-server/server/modules/assets/services/image-assets.service.js +39 -1
- package/dist-server/server/modules/assets/services/image-assets.service.js.map +1 -1
- package/dist-server/server/modules/assets/tests/image-assets.service.test.js +21 -1
- package/dist-server/server/modules/assets/tests/image-assets.service.test.js.map +1 -1
- package/dist-server/server/{middleware/auth.js → modules/auth/auth.middleware.js} +30 -8
- package/dist-server/server/modules/auth/auth.middleware.js.map +1 -0
- package/dist-server/server/modules/auth/auth.module.js +29 -0
- package/dist-server/server/modules/auth/auth.module.js.map +1 -0
- package/dist-server/server/modules/auth/auth.routes.js +45 -0
- package/dist-server/server/modules/auth/auth.routes.js.map +1 -0
- package/dist-server/server/modules/auth/auth.service.js +113 -0
- package/dist-server/server/modules/auth/auth.service.js.map +1 -0
- package/dist-server/server/modules/auth/index.js +9 -0
- package/dist-server/server/modules/auth/index.js.map +1 -0
- package/dist-server/server/modules/auth/tests/auth.service.test.js +80 -0
- package/dist-server/server/modules/auth/tests/auth.service.test.js.map +1 -0
- package/dist-server/server/{browser-use-mcp.js → modules/browser-use/browser-use-mcp.js} +3 -1
- package/dist-server/server/modules/browser-use/browser-use-mcp.js.map +1 -0
- package/dist-server/server/modules/browser-use/browser-use.service.js +3 -4
- package/dist-server/server/modules/browser-use/browser-use.service.js.map +1 -1
- package/dist-server/server/modules/browser-use/index.js +9 -0
- package/dist-server/server/modules/browser-use/index.js.map +1 -0
- package/dist-server/server/modules/cli/cli.js +11 -0
- package/dist-server/server/modules/cli/cli.js.map +1 -0
- package/dist-server/server/modules/cli/cli.module.js +86 -0
- package/dist-server/server/modules/cli/cli.module.js.map +1 -0
- package/dist-server/server/modules/cli/cli.service.js +244 -0
- package/dist-server/server/modules/cli/cli.service.js.map +1 -0
- package/dist-server/server/modules/cli/index.js +3 -0
- package/dist-server/server/modules/cli/index.js.map +1 -0
- package/dist-server/server/modules/cli/sandbox.service.js +332 -0
- package/dist-server/server/modules/cli/sandbox.service.js.map +1 -0
- package/dist-server/server/modules/cli/tests/cli.service.test.js +78 -0
- package/dist-server/server/modules/cli/tests/cli.service.test.js.map +1 -0
- package/dist-server/server/modules/cli/tests/sandbox.service.test.js +55 -0
- package/dist-server/server/modules/cli/tests/sandbox.service.test.js.map +1 -0
- package/dist-server/server/modules/commands/commands.module.js +20 -0
- package/dist-server/server/modules/commands/commands.module.js.map +1 -0
- package/dist-server/server/modules/commands/commands.routes.js +497 -0
- package/dist-server/server/modules/commands/commands.routes.js.map +1 -0
- package/dist-server/server/modules/commands/index.js +3 -0
- package/dist-server/server/modules/commands/index.js.map +1 -0
- package/dist-server/server/modules/commands/tests/commands.test.js +91 -0
- package/dist-server/server/modules/commands/tests/commands.test.js.map +1 -0
- package/dist-server/server/modules/database/index.js +3 -0
- package/dist-server/server/modules/database/index.js.map +1 -1
- package/dist-server/server/modules/database/migrations.js +31 -1
- package/dist-server/server/modules/database/migrations.js.map +1 -1
- package/dist-server/server/modules/database/repositories/provider-models.js +112 -0
- package/dist-server/server/modules/database/repositories/provider-models.js.map +1 -0
- package/dist-server/server/modules/database/repositories/sessions.db.js +76 -7
- package/dist-server/server/modules/database/repositories/sessions.db.js.map +1 -1
- package/dist-server/server/modules/database/schema.js +29 -0
- package/dist-server/server/modules/database/schema.js.map +1 -1
- package/dist-server/server/modules/database/tests/provider-models.db.integration.test.js +102 -0
- package/dist-server/server/modules/database/tests/provider-models.db.integration.test.js.map +1 -0
- package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js +2 -1
- package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js.map +1 -1
- package/dist-server/server/modules/database/tests/sessions.db.integration.test.js +22 -0
- package/dist-server/server/modules/database/tests/sessions.db.integration.test.js.map +1 -1
- package/dist-server/server/modules/file-tree/file-tree.module.js +95 -0
- package/dist-server/server/modules/file-tree/file-tree.module.js.map +1 -0
- package/dist-server/server/modules/file-tree/file-tree.routes.js +208 -0
- package/dist-server/server/modules/file-tree/file-tree.routes.js.map +1 -0
- package/dist-server/server/modules/file-tree/file-tree.service.js +576 -0
- package/dist-server/server/modules/file-tree/file-tree.service.js.map +1 -0
- package/dist-server/server/modules/file-tree/index.js +3 -0
- package/dist-server/server/modules/file-tree/index.js.map +1 -0
- package/dist-server/server/modules/file-tree/tests/file-tree.routes.test.js +123 -0
- package/dist-server/server/modules/file-tree/tests/file-tree.routes.test.js.map +1 -0
- package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js +260 -0
- package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js.map +1 -0
- package/dist-server/server/modules/git/git-parsing.service.js +61 -0
- package/dist-server/server/modules/git/git-parsing.service.js.map +1 -0
- package/dist-server/server/modules/git/git.module.js +14 -0
- package/dist-server/server/modules/git/git.module.js.map +1 -0
- package/dist-server/server/modules/git/git.routes.js +1339 -0
- package/dist-server/server/modules/git/git.routes.js.map +1 -0
- package/dist-server/server/modules/git/index.js +3 -0
- package/dist-server/server/modules/git/index.js.map +1 -0
- package/dist-server/server/modules/git/tests/git-init.routes.test.js +48 -0
- package/dist-server/server/modules/git/tests/git-init.routes.test.js.map +1 -0
- package/dist-server/server/{routes → modules/git/tests}/git.test.js +1 -1
- package/dist-server/server/modules/git/tests/git.test.js.map +1 -0
- package/dist-server/server/modules/notifications/index.js +15 -1
- package/dist-server/server/modules/notifications/index.js.map +1 -1
- package/dist-server/server/modules/notifications/tests/notification-orchestrator.integration.test.js +44 -0
- package/dist-server/server/modules/notifications/tests/notification-orchestrator.integration.test.js.map +1 -0
- package/dist-server/server/{services/vapid-keys.js → modules/notifications/vapid-keys.service.js} +3 -2
- package/dist-server/server/modules/notifications/vapid-keys.service.js.map +1 -0
- package/dist-server/server/modules/plugins/index.js +9 -0
- package/dist-server/server/modules/plugins/index.js.map +1 -0
- package/dist-server/server/{utils/plugin-process-manager.js → modules/plugins/plugin-process.service.js} +3 -2
- package/dist-server/server/modules/plugins/plugin-process.service.js.map +1 -0
- package/dist-server/server/{utils/plugin-loader.js → modules/plugins/plugin-registry.service.js} +2 -1
- package/dist-server/server/modules/plugins/plugin-registry.service.js.map +1 -0
- package/dist-server/server/modules/plugins/plugins.module.js +30 -0
- package/dist-server/server/modules/plugins/plugins.module.js.map +1 -0
- package/dist-server/server/modules/plugins/plugins.routes.js +70 -0
- package/dist-server/server/modules/plugins/plugins.routes.js.map +1 -0
- package/dist-server/server/modules/plugins/plugins.service.js +123 -0
- package/dist-server/server/modules/plugins/plugins.service.js.map +1 -0
- package/dist-server/server/modules/plugins/tests/plugins.service.test.js +28 -0
- package/dist-server/server/modules/plugins/tests/plugins.service.test.js.map +1 -0
- package/dist-server/server/modules/projects/index.js +5 -0
- package/dist-server/server/modules/projects/index.js.map +1 -1
- package/dist-server/server/modules/providers/index.js +3 -0
- package/dist-server/server/modules/providers/index.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js +6 -0
- package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +47 -18
- package/dist-server/server/modules/providers/list/claude/claude-models.provider.js.map +1 -1
- package/dist-server/server/{claude-sdk.js → modules/providers/list/claude/claude-runtime.provider.js} +69 -55
- package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js +6 -4
- package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js +23 -4
- package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude.provider.js +2 -0
- package/dist-server/server/modules/providers/list/claude/claude.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-models.provider.js +59 -75
- package/dist-server/server/modules/providers/list/codex/codex-models.provider.js.map +1 -1
- package/dist-server/server/{openai-codex.js → modules/providers/list/codex/codex-runtime.provider.js} +48 -34
- package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js +1 -54
- package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js +290 -6
- package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js +5 -0
- package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex.provider.js +2 -0
- package/dist-server/server/modules/providers/list/codex/codex.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js +33 -673
- package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js.map +1 -1
- package/dist-server/server/{cursor-cli.js → modules/providers/list/cursor/cursor-runtime.provider.js} +40 -28
- package/dist-server/server/modules/providers/list/cursor/cursor-runtime.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js +21 -14
- package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/cursor/cursor.provider.js +2 -0
- package/dist-server/server/modules/providers/list/cursor/cursor.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js +112 -333
- package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js.map +1 -1
- package/dist-server/server/{opencode-cli.js → modules/providers/list/opencode/opencode-runtime.provider.js} +38 -25
- package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.js.map +1 -0
- package/dist-server/server/{opencode-cli.test.js → modules/providers/list/opencode/opencode-runtime.provider.test.js} +27 -4
- package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.test.js.map +1 -0
- package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js +0 -12
- package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js +11 -5
- package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/opencode/opencode.provider.js +2 -0
- package/dist-server/server/modules/providers/list/opencode/opencode.provider.js.map +1 -1
- package/dist-server/server/modules/providers/provider.routes.js +169 -37
- package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
- package/dist-server/server/modules/providers/services/provider-capabilities.service.js +5 -1
- package/dist-server/server/modules/providers/services/provider-capabilities.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/provider-models.service.js +247 -184
- package/dist-server/server/modules/providers/services/provider-models.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/provider-runtime.service.js +66 -0
- package/dist-server/server/modules/providers/services/provider-runtime.service.js.map +1 -0
- package/dist-server/server/modules/providers/services/provider-token-usage.service.js +268 -0
- package/dist-server/server/modules/providers/services/provider-token-usage.service.js.map +1 -0
- package/dist-server/server/modules/providers/services/session-conversations-search.service.js +12 -4
- package/dist-server/server/modules/providers/services/session-conversations-search.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/sessions-watcher.service.js +2 -0
- package/dist-server/server/modules/providers/services/sessions-watcher.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/sessions.service.js +116 -3
- package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -1
- package/dist-server/server/modules/providers/shared/base/abstract.provider.js +2 -3
- package/dist-server/server/modules/providers/shared/base/abstract.provider.js.map +1 -1
- package/dist-server/server/modules/providers/tests/claude-auth.test.js +122 -0
- package/dist-server/server/modules/providers/tests/claude-auth.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/claude-sessions.test.js +44 -0
- package/dist-server/server/modules/providers/tests/claude-sessions.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/codex-sessions.test.js +76 -4
- package/dist-server/server/modules/providers/tests/codex-sessions.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/opencode-models.test.js +15 -126
- package/dist-server/server/modules/providers/tests/opencode-models.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +5 -5
- package/dist-server/server/modules/providers/tests/opencode-sessions.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/{provider-image-history.test.js → provider-attachment-history.test.js} +60 -2
- package/dist-server/server/modules/providers/tests/provider-attachment-history.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/provider-models.service.test.js +241 -271
- package/dist-server/server/modules/providers/tests/provider-models.service.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/provider-runtime.service.test.js +126 -0
- package/dist-server/server/modules/providers/tests/provider-runtime.service.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/provider-token-usage.service.test.js +166 -0
- package/dist-server/server/modules/providers/tests/provider-token-usage.service.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/provider.routes.test.js +126 -0
- package/dist-server/server/modules/providers/tests/provider.routes.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/sessions-details.test.js +62 -0
- package/dist-server/server/modules/providers/tests/sessions-details.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/sessions.service.test.js +87 -0
- package/dist-server/server/modules/providers/tests/sessions.service.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/skills.test.js +4 -2
- package/dist-server/server/modules/providers/tests/skills.test.js.map +1 -1
- package/dist-server/server/modules/settings/index.js +3 -0
- package/dist-server/server/modules/settings/index.js.map +1 -0
- package/dist-server/server/modules/settings/settings.module.js +35 -0
- package/dist-server/server/modules/settings/settings.module.js.map +1 -0
- package/dist-server/server/modules/settings/settings.routes.js +34 -0
- package/dist-server/server/modules/settings/settings.routes.js.map +1 -0
- package/dist-server/server/modules/settings/settings.service.js +116 -0
- package/dist-server/server/modules/settings/settings.service.js.map +1 -0
- package/dist-server/server/modules/settings/tests/settings.service.test.js +48 -0
- package/dist-server/server/modules/settings/tests/settings.service.test.js.map +1 -0
- package/dist-server/server/modules/system/index.js +3 -0
- package/dist-server/server/modules/system/index.js.map +1 -0
- package/dist-server/server/modules/system/system.module.js +44 -0
- package/dist-server/server/modules/system/system.module.js.map +1 -0
- package/dist-server/server/modules/system/system.routes.js +16 -0
- package/dist-server/server/modules/system/system.routes.js.map +1 -0
- package/dist-server/server/modules/system/system.service.js +45 -0
- package/dist-server/server/modules/system/system.service.js.map +1 -0
- package/dist-server/server/modules/system/tests/system.service.test.js +100 -0
- package/dist-server/server/modules/system/tests/system.service.test.js.map +1 -0
- package/dist-server/server/modules/taskmaster/index.js +3 -0
- package/dist-server/server/modules/taskmaster/index.js.map +1 -0
- package/dist-server/server/modules/taskmaster/taskmaster.module.js +20 -0
- package/dist-server/server/modules/taskmaster/taskmaster.module.js.map +1 -0
- package/dist-server/server/modules/taskmaster/taskmaster.routes.js +1372 -0
- package/dist-server/server/modules/taskmaster/taskmaster.routes.js.map +1 -0
- package/dist-server/server/modules/taskmaster/taskmaster.service.js +107 -0
- package/dist-server/server/modules/taskmaster/taskmaster.service.js.map +1 -0
- package/dist-server/server/modules/taskmaster/tests/taskmaster.routes.test.js +132 -0
- package/dist-server/server/modules/taskmaster/tests/taskmaster.routes.test.js.map +1 -0
- package/dist-server/server/modules/taskmaster/tests/taskmaster.service.test.js +85 -0
- package/dist-server/server/modules/taskmaster/tests/taskmaster.service.test.js.map +1 -0
- package/dist-server/server/modules/user/index.js +3 -0
- package/dist-server/server/modules/user/index.js.map +1 -0
- package/dist-server/server/modules/user/tests/user.service.test.js +53 -0
- package/dist-server/server/modules/user/tests/user.service.test.js.map +1 -0
- package/dist-server/server/modules/user/user.module.js +47 -0
- package/dist-server/server/modules/user/user.module.js.map +1 -0
- package/dist-server/server/modules/user/user.routes.js +44 -0
- package/dist-server/server/modules/user/user.routes.js.map +1 -0
- package/dist-server/server/modules/user/user.service.js +59 -0
- package/dist-server/server/modules/user/user.service.js.map +1 -0
- package/dist-server/server/modules/voice/index.js +3 -0
- package/dist-server/server/modules/voice/index.js.map +1 -0
- package/dist-server/server/modules/voice/tests/voice.service.test.js +86 -0
- package/dist-server/server/modules/voice/tests/voice.service.test.js.map +1 -0
- package/dist-server/server/modules/voice/voice.module.js +44 -0
- package/dist-server/server/modules/voice/voice.module.js.map +1 -0
- package/dist-server/server/modules/voice/voice.routes.js +87 -0
- package/dist-server/server/modules/voice/voice.routes.js.map +1 -0
- package/dist-server/server/modules/voice/voice.service.js +148 -0
- package/dist-server/server/modules/voice/voice.service.js.map +1 -0
- package/dist-server/server/modules/websocket/services/chat-session-writer.service.js +2 -2
- package/dist-server/server/modules/websocket/services/chat-websocket.service.js +44 -29
- package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -1
- package/dist-server/server/modules/websocket/services/shell-websocket.service.js +76 -8
- package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -1
- package/dist-server/server/modules/websocket/services/websocket-server.service.js +51 -20
- package/dist-server/server/modules/websocket/services/websocket-server.service.js.map +1 -1
- package/dist-server/server/modules/websocket/tests/{chat-image-filter.test.js → chat-attachment-filter.test.js} +10 -3
- package/dist-server/server/modules/websocket/tests/chat-attachment-filter.test.js.map +1 -0
- package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js +97 -0
- package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js.map +1 -0
- package/dist-server/server/modules/websocket/tests/websocket-heartbeat.service.test.js +61 -0
- package/dist-server/server/modules/websocket/tests/websocket-heartbeat.service.test.js.map +1 -0
- package/dist-server/server/modules/worktrees/index.js +3 -0
- package/dist-server/server/modules/worktrees/index.js.map +1 -0
- package/dist-server/server/modules/worktrees/services/worktree-create-and-open.service.js +37 -0
- package/dist-server/server/modules/worktrees/services/worktree-create-and-open.service.js.map +1 -0
- package/dist-server/server/modules/worktrees/services/worktree-create.service.js +67 -0
- package/dist-server/server/modules/worktrees/services/worktree-create.service.js.map +1 -0
- package/dist-server/server/modules/worktrees/services/worktree-git.service.js +172 -0
- package/dist-server/server/modules/worktrees/services/worktree-git.service.js.map +1 -0
- package/dist-server/server/modules/worktrees/services/worktree-list.service.js +91 -0
- package/dist-server/server/modules/worktrees/services/worktree-list.service.js.map +1 -0
- package/dist-server/server/modules/worktrees/services/worktree-merge.service.js +118 -0
- package/dist-server/server/modules/worktrees/services/worktree-merge.service.js.map +1 -0
- package/dist-server/server/modules/worktrees/services/worktree-open.service.js +58 -0
- package/dist-server/server/modules/worktrees/services/worktree-open.service.js.map +1 -0
- package/dist-server/server/modules/worktrees/services/worktree-remove.service.js +65 -0
- package/dist-server/server/modules/worktrees/services/worktree-remove.service.js.map +1 -0
- package/dist-server/server/modules/worktrees/tests/worktree-create-and-open.service.test.js +58 -0
- package/dist-server/server/modules/worktrees/tests/worktree-create-and-open.service.test.js.map +1 -0
- package/dist-server/server/modules/worktrees/tests/worktree-create.service.test.js +85 -0
- package/dist-server/server/modules/worktrees/tests/worktree-create.service.test.js.map +1 -0
- package/dist-server/server/modules/worktrees/tests/worktree-git.service.test.js +58 -0
- package/dist-server/server/modules/worktrees/tests/worktree-git.service.test.js.map +1 -0
- package/dist-server/server/modules/worktrees/tests/worktree-list.service.test.js +34 -0
- package/dist-server/server/modules/worktrees/tests/worktree-list.service.test.js.map +1 -0
- package/dist-server/server/modules/worktrees/tests/worktree-merge.service.test.js +137 -0
- package/dist-server/server/modules/worktrees/tests/worktree-merge.service.test.js.map +1 -0
- package/dist-server/server/modules/worktrees/tests/worktree-open.service.test.js +99 -0
- package/dist-server/server/modules/worktrees/tests/worktree-open.service.test.js.map +1 -0
- package/dist-server/server/modules/worktrees/tests/worktree-remove.service.test.js +157 -0
- package/dist-server/server/modules/worktrees/tests/worktree-remove.service.test.js.map +1 -0
- package/dist-server/server/modules/worktrees/tests/worktrees.routes.test.js +167 -0
- package/dist-server/server/modules/worktrees/tests/worktrees.routes.test.js.map +1 -0
- package/dist-server/server/modules/worktrees/worktrees.module.js +97 -0
- package/dist-server/server/modules/worktrees/worktrees.module.js.map +1 -0
- package/dist-server/server/modules/worktrees/worktrees.routes.js +84 -0
- package/dist-server/server/modules/worktrees/worktrees.routes.js.map +1 -0
- package/dist-server/server/shared/image-attachments.js +90 -17
- package/dist-server/server/shared/image-attachments.js.map +1 -1
- package/dist-server/server/shared/tests/image-attachments.test.js +43 -1
- package/dist-server/server/shared/tests/image-attachments.test.js.map +1 -1
- package/dist-server/server/shared/utils.js +66 -142
- package/dist-server/server/shared/utils.js.map +1 -1
- package/package.json +9 -5
- package/server/index.ts +401 -0
- package/server/{load-env.js → load-env.ts} +18 -5
- package/server/modules/agent/agent.module.ts +51 -0
- package/server/modules/agent/agent.routes.ts +1287 -0
- package/server/modules/agent/index.ts +2 -0
- package/server/modules/agent/tests/agent.routes.test.ts +205 -0
- package/server/modules/assets/assets.routes.ts +63 -16
- package/server/modules/assets/index.ts +2 -2
- package/server/modules/assets/services/image-assets.service.ts +46 -1
- package/server/modules/assets/tests/image-assets.service.test.ts +28 -0
- package/server/{middleware/auth.js → modules/auth/auth.middleware.ts} +38 -7
- package/server/modules/auth/auth.module.ts +38 -0
- package/server/modules/auth/auth.routes.ts +57 -0
- package/server/modules/auth/auth.service.ts +155 -0
- package/server/modules/auth/index.ts +9 -0
- package/server/modules/auth/tests/auth.service.test.ts +95 -0
- package/server/{browser-use-mcp.ts → modules/browser-use/browser-use-mcp.ts} +3 -1
- package/server/modules/browser-use/browser-use.service.ts +3 -4
- package/server/modules/browser-use/index.ts +8 -0
- package/server/modules/cli/cli.module.ts +96 -0
- package/server/modules/cli/cli.service.ts +281 -0
- package/server/modules/cli/cli.ts +13 -0
- package/server/modules/cli/index.ts +2 -0
- package/server/modules/cli/sandbox.service.ts +413 -0
- package/server/modules/cli/tests/cli.service.test.ts +91 -0
- package/server/modules/cli/tests/sandbox.service.test.ts +61 -0
- package/server/modules/commands/commands.module.ts +22 -0
- package/server/{routes/commands.js → modules/commands/commands.routes.ts} +46 -38
- package/server/modules/commands/index.ts +2 -0
- package/server/modules/commands/tests/commands.test.ts +114 -0
- package/server/modules/database/index.ts +3 -0
- package/server/modules/database/migrations.ts +35 -0
- package/server/modules/database/repositories/provider-models.ts +168 -0
- package/server/modules/database/repositories/sessions.db.ts +103 -8
- package/server/modules/database/schema.ts +30 -0
- package/server/modules/database/tests/provider-models.db.integration.test.ts +125 -0
- package/server/modules/database/tests/sessions-provider-mapping.test.ts +2 -1
- package/server/modules/database/tests/sessions.db.integration.test.ts +32 -0
- package/server/modules/file-tree/file-tree.module.ts +116 -0
- package/server/modules/file-tree/file-tree.routes.ts +258 -0
- package/server/modules/file-tree/file-tree.service.ts +664 -0
- package/server/modules/file-tree/index.ts +2 -0
- package/server/modules/file-tree/tests/file-tree.routes.test.ts +157 -0
- package/server/modules/file-tree/tests/file-tree.service.test.ts +317 -0
- package/server/modules/git/git-parsing.service.ts +66 -0
- package/server/modules/git/git.module.ts +22 -0
- package/server/{routes/git.js → modules/git/git.routes.ts} +91 -132
- package/server/modules/git/index.ts +2 -0
- package/server/modules/git/tests/git-init.routes.test.ts +52 -0
- package/server/{routes/git.test.js → modules/git/tests/git.test.ts} +3 -3
- package/server/modules/notifications/index.ts +9 -0
- package/server/modules/notifications/tests/notification-orchestrator.integration.test.ts +55 -0
- package/server/{services/vapid-keys.js → modules/notifications/vapid-keys.service.ts} +3 -1
- package/server/modules/plugins/index.ts +9 -0
- package/server/{utils/plugin-process-manager.js → modules/plugins/plugin-process.service.ts} +3 -1
- package/server/{utils/plugin-loader.js → modules/plugins/plugin-registry.service.ts} +1 -0
- package/server/modules/plugins/plugins.module.ts +33 -0
- package/server/modules/plugins/plugins.routes.ts +66 -0
- package/server/modules/plugins/plugins.service.ts +147 -0
- package/server/modules/plugins/tests/plugins.service.test.ts +32 -0
- package/server/modules/projects/index.ts +5 -0
- package/server/modules/providers/README.md +41 -9
- package/server/modules/providers/index.ts +4 -0
- package/server/modules/providers/list/claude/claude-auth.provider.ts +8 -0
- package/server/modules/providers/list/claude/claude-models.provider.ts +47 -26
- package/server/{claude-sdk.js → modules/providers/list/claude/claude-runtime.provider.js} +73 -59
- package/server/modules/providers/list/claude/claude-session-synchronizer.provider.ts +6 -4
- package/server/modules/providers/list/claude/claude-sessions.provider.ts +27 -4
- package/server/modules/providers/list/claude/claude.provider.ts +3 -0
- package/server/modules/providers/list/codex/codex-models.provider.ts +58 -108
- package/server/{openai-codex.js → modules/providers/list/codex/codex-runtime.provider.js} +54 -36
- package/server/modules/providers/list/codex/codex-session-synchronizer.provider.ts +1 -60
- package/server/modules/providers/list/codex/codex-sessions.provider.ts +331 -7
- package/server/modules/providers/list/codex/codex-skills.provider.ts +5 -0
- package/server/modules/providers/list/codex/codex.provider.ts +3 -0
- package/server/modules/providers/list/cursor/cursor-models.provider.ts +32 -719
- package/server/{cursor-cli.js → modules/providers/list/cursor/cursor-runtime.provider.js} +58 -27
- package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +26 -15
- package/server/modules/providers/list/cursor/cursor.provider.ts +3 -0
- package/server/modules/providers/list/opencode/opencode-models.provider.ts +112 -423
- package/server/{opencode-cli.js → modules/providers/list/opencode/opencode-runtime.provider.js} +56 -28
- package/server/{opencode-cli.test.js → modules/providers/list/opencode/opencode-runtime.provider.test.js} +41 -3
- package/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.ts +0 -13
- package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +13 -5
- package/server/modules/providers/list/opencode/opencode.provider.ts +3 -0
- package/server/modules/providers/provider.routes.ts +228 -39
- package/server/modules/providers/services/provider-capabilities.service.ts +7 -1
- package/server/modules/providers/services/provider-models.service.ts +312 -269
- package/server/modules/providers/services/provider-runtime.service.ts +108 -0
- package/server/modules/providers/services/provider-token-usage.service.ts +357 -0
- package/server/modules/providers/services/session-conversations-search.service.ts +12 -4
- package/server/modules/providers/services/sessions-watcher.service.ts +2 -0
- package/server/modules/providers/services/sessions.service.ts +166 -3
- package/server/modules/providers/shared/base/abstract.provider.ts +4 -3
- package/server/modules/providers/tests/claude-auth.test.ts +150 -0
- package/server/modules/providers/tests/claude-sessions.test.ts +61 -0
- package/server/modules/providers/tests/codex-sessions.test.ts +83 -4
- package/server/modules/providers/tests/opencode-models.test.ts +34 -135
- package/server/modules/providers/tests/opencode-sessions.test.ts +5 -5
- package/server/modules/providers/tests/{provider-image-history.test.ts → provider-attachment-history.test.ts} +68 -1
- package/server/modules/providers/tests/provider-models.service.test.ts +300 -296
- package/server/modules/providers/tests/provider-runtime.service.test.ts +138 -0
- package/server/modules/providers/tests/provider-token-usage.service.test.ts +186 -0
- package/server/modules/providers/tests/provider.routes.test.ts +183 -0
- package/server/modules/providers/tests/sessions-details.test.ts +73 -0
- package/server/modules/providers/tests/sessions.service.test.ts +127 -0
- package/server/modules/providers/tests/skills.test.ts +9 -2
- package/server/modules/settings/index.ts +2 -0
- package/server/modules/settings/settings.module.ts +50 -0
- package/server/modules/settings/settings.routes.ts +51 -0
- package/server/modules/settings/settings.service.ts +186 -0
- package/server/modules/settings/tests/settings.service.test.ts +54 -0
- package/server/modules/system/index.ts +2 -0
- package/server/modules/system/system.module.ts +62 -0
- package/server/modules/system/system.routes.ts +21 -0
- package/server/modules/system/system.service.ts +76 -0
- package/server/modules/system/tests/system.service.test.ts +118 -0
- package/server/modules/taskmaster/index.ts +2 -0
- package/server/modules/taskmaster/taskmaster.module.ts +24 -0
- package/server/modules/taskmaster/taskmaster.routes.ts +1482 -0
- package/server/modules/taskmaster/taskmaster.service.ts +132 -0
- package/server/modules/taskmaster/tests/taskmaster.routes.test.ts +144 -0
- package/server/modules/taskmaster/tests/taskmaster.service.test.ts +97 -0
- package/server/modules/user/index.ts +2 -0
- package/server/modules/user/tests/user.service.test.ts +61 -0
- package/server/modules/user/user.module.ts +58 -0
- package/server/modules/user/user.routes.ts +50 -0
- package/server/modules/user/user.service.ts +85 -0
- package/server/modules/voice/index.ts +2 -0
- package/server/modules/voice/tests/voice.service.test.ts +98 -0
- package/server/modules/voice/voice.module.ts +47 -0
- package/server/modules/voice/voice.routes.ts +113 -0
- package/server/modules/voice/voice.service.ts +192 -0
- package/server/modules/websocket/README.md +7 -7
- package/server/modules/websocket/services/chat-session-writer.service.ts +2 -2
- package/server/modules/websocket/services/chat-websocket.service.ts +77 -61
- package/server/modules/websocket/services/shell-websocket.service.ts +88 -12
- package/server/modules/websocket/services/websocket-server.service.ts +63 -19
- package/server/modules/websocket/tests/{chat-image-filter.test.ts → chat-attachment-filter.test.ts} +17 -2
- package/server/modules/websocket/tests/shell-websocket.service.test.ts +119 -0
- package/server/modules/websocket/tests/websocket-heartbeat.service.test.ts +78 -0
- package/server/modules/worktrees/index.ts +2 -0
- package/server/modules/worktrees/services/worktree-create-and-open.service.ts +53 -0
- package/server/modules/worktrees/services/worktree-create.service.ts +104 -0
- package/server/modules/worktrees/services/worktree-git.service.ts +207 -0
- package/server/modules/worktrees/services/worktree-list.service.ts +143 -0
- package/server/modules/worktrees/services/worktree-merge.service.ts +157 -0
- package/server/modules/worktrees/services/worktree-open.service.ts +85 -0
- package/server/modules/worktrees/services/worktree-remove.service.ts +88 -0
- package/server/modules/worktrees/tests/worktree-create-and-open.service.test.ts +68 -0
- package/server/modules/worktrees/tests/worktree-create.service.test.ts +142 -0
- package/server/modules/worktrees/tests/worktree-git.service.test.ts +84 -0
- package/server/modules/worktrees/tests/worktree-list.service.test.ts +45 -0
- package/server/modules/worktrees/tests/worktree-merge.service.test.ts +213 -0
- package/server/modules/worktrees/tests/worktree-open.service.test.ts +122 -0
- package/server/modules/worktrees/tests/worktree-remove.service.test.ts +227 -0
- package/server/modules/worktrees/tests/worktrees.routes.test.ts +199 -0
- package/server/modules/worktrees/worktrees.module.ts +113 -0
- package/server/modules/worktrees/worktrees.routes.ts +116 -0
- package/server/shared/image-attachments.ts +112 -18
- package/server/shared/interfaces.ts +33 -25
- package/server/shared/tests/image-attachments.test.ts +55 -0
- package/server/shared/types.ts +685 -36
- package/server/shared/utils.ts +77 -212
- package/dist/assets/index-CcCsKitq.js +0 -1423
- package/dist/assets/index-DLmhQ15L.css +0 -32
- package/dist-server/server/browser-use-mcp.js.map +0 -1
- package/dist-server/server/claude-sdk.js.map +0 -1
- package/dist-server/server/cli.js +0 -647
- package/dist-server/server/cli.js.map +0 -1
- package/dist-server/server/cursor-cli.js.map +0 -1
- package/dist-server/server/middleware/auth.js.map +0 -1
- package/dist-server/server/modules/providers/tests/provider-image-history.test.js.map +0 -1
- package/dist-server/server/modules/websocket/tests/chat-image-filter.test.js.map +0 -1
- package/dist-server/server/openai-codex.js.map +0 -1
- package/dist-server/server/opencode-cli.js.map +0 -1
- package/dist-server/server/opencode-cli.test.js.map +0 -1
- package/dist-server/server/routes/agent.js +0 -1155
- package/dist-server/server/routes/agent.js.map +0 -1
- package/dist-server/server/routes/auth.js +0 -119
- package/dist-server/server/routes/auth.js.map +0 -1
- package/dist-server/server/routes/commands.js +0 -492
- package/dist-server/server/routes/commands.js.map +0 -1
- package/dist-server/server/routes/cursor.js +0 -49
- package/dist-server/server/routes/cursor.js.map +0 -1
- package/dist-server/server/routes/git.js +0 -1389
- package/dist-server/server/routes/git.js.map +0 -1
- package/dist-server/server/routes/git.test.js.map +0 -1
- package/dist-server/server/routes/mcp-utils.js +0 -29
- package/dist-server/server/routes/mcp-utils.js.map +0 -1
- package/dist-server/server/routes/plugins.js +0 -266
- package/dist-server/server/routes/plugins.js.map +0 -1
- package/dist-server/server/routes/settings.js +0 -249
- package/dist-server/server/routes/settings.js.map +0 -1
- package/dist-server/server/routes/taskmaster.js +0 -1362
- package/dist-server/server/routes/taskmaster.js.map +0 -1
- package/dist-server/server/routes/tests/commands.test.js +0 -76
- package/dist-server/server/routes/tests/commands.test.js.map +0 -1
- package/dist-server/server/routes/user.js +0 -116
- package/dist-server/server/routes/user.js.map +0 -1
- package/dist-server/server/services/notification-orchestrator.js +0 -2
- package/dist-server/server/services/notification-orchestrator.js.map +0 -1
- package/dist-server/server/services/tests/notification-orchestrator.test.js +0 -64
- package/dist-server/server/services/tests/notification-orchestrator.test.js.map +0 -1
- package/dist-server/server/services/vapid-keys.js.map +0 -1
- package/dist-server/server/utils/colors.js +0 -20
- package/dist-server/server/utils/colors.js.map +0 -1
- package/dist-server/server/utils/commandParser.js +0 -255
- package/dist-server/server/utils/commandParser.js.map +0 -1
- package/dist-server/server/utils/gitConfig.js +0 -37
- package/dist-server/server/utils/gitConfig.js.map +0 -1
- package/dist-server/server/utils/mcp-detector.js +0 -134
- package/dist-server/server/utils/mcp-detector.js.map +0 -1
- package/dist-server/server/utils/plugin-loader.js.map +0 -1
- package/dist-server/server/utils/plugin-process-manager.js.map +0 -1
- package/dist-server/server/utils/runtime-paths.js +0 -30
- package/dist-server/server/utils/runtime-paths.js.map +0 -1
- package/dist-server/server/utils/taskmaster-websocket.js +0 -124
- package/dist-server/server/utils/taskmaster-websocket.js.map +0 -1
- package/dist-server/server/utils/url-detection.js +0 -58
- package/dist-server/server/utils/url-detection.js.map +0 -1
- package/dist-server/server/voice-proxy.js +0 -226
- package/dist-server/server/voice-proxy.js.map +0 -1
- package/server/cli.js +0 -695
- package/server/index.js +0 -1651
- package/server/routes/agent.js +0 -1257
- package/server/routes/auth.js +0 -137
- package/server/routes/cursor.js +0 -52
- package/server/routes/mcp-utils.js +0 -31
- package/server/routes/plugins.js +0 -307
- package/server/routes/settings.js +0 -282
- package/server/routes/taskmaster.js +0 -1470
- package/server/routes/tests/commands.test.js +0 -82
- package/server/routes/user.js +0 -124
- package/server/services/notification-orchestrator.js +0 -7
- package/server/services/tests/notification-orchestrator.test.js +0 -80
- package/server/utils/colors.js +0 -21
- package/server/utils/commandParser.js +0 -305
- package/server/utils/gitConfig.js +0 -35
- package/server/utils/mcp-detector.js +0 -147
- package/server/utils/runtime-paths.js +0 -37
- package/server/utils/taskmaster-websocket.js +0 -135
- package/server/utils/url-detection.js +0 -71
- package/server/voice-proxy.js +0 -224
- /package/server/constants/{config.js → config.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.routes.js","sourceRoot":"","sources":["../../../../server/modules/commands/commands.routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/modules/commands/index.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { once } from 'node:events';
|
|
3
|
+
import test from 'node:test';
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { createCommandsRouter } from '../commands.routes.js';
|
|
6
|
+
/**
|
|
7
|
+
* Stands in for `providerModelsService`. `resolveSessionModel` mirrors the real
|
|
8
|
+
* precedence closely enough for the command handlers: a model recorded for the
|
|
9
|
+
* session wins, otherwise the client's requested model, otherwise the catalog
|
|
10
|
+
* default.
|
|
11
|
+
*/
|
|
12
|
+
function createModelsService(sessionModels = {}) {
|
|
13
|
+
return {
|
|
14
|
+
getProviderModels: async () => ({
|
|
15
|
+
OPTIONS: [{ value: 'default', label: 'Default' }],
|
|
16
|
+
DEFAULT: 'default',
|
|
17
|
+
}),
|
|
18
|
+
getCurrentActiveModel: async () => ({ model: 'default' }),
|
|
19
|
+
setSessionModel: () => null,
|
|
20
|
+
resolveSessionModel: async (provider, options = {}) => {
|
|
21
|
+
const recorded = options.sessionId ? sessionModels[options.sessionId] : undefined;
|
|
22
|
+
const model = recorded || options.requestedModel || 'default';
|
|
23
|
+
return {
|
|
24
|
+
provider,
|
|
25
|
+
sessionId: options.sessionId ?? null,
|
|
26
|
+
model,
|
|
27
|
+
source: model === 'default' ? 'default' : 'session',
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
resolveResumeModel: async () => undefined,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async function executeCommand(commandName, context, sessionModels = {}) {
|
|
34
|
+
const router = createCommandsRouter({
|
|
35
|
+
fileSystem: {
|
|
36
|
+
readFile: async () => JSON.stringify({ name: 'claude-code-ui', version: '0.0.0-test' }),
|
|
37
|
+
},
|
|
38
|
+
homeDirectory: () => '/home/test',
|
|
39
|
+
appRoot: '/app',
|
|
40
|
+
models: createModelsService(sessionModels),
|
|
41
|
+
runtime: {
|
|
42
|
+
uptime: () => 0,
|
|
43
|
+
memoryUsage: () => ({ rss: 0, heapTotal: 0, heapUsed: 0, external: 0, arrayBuffers: 0 }),
|
|
44
|
+
version: 'v22', platform: 'linux', pid: 1,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
const app = express().use(express.json()).use('/api/commands', router);
|
|
48
|
+
const server = app.listen(0, '127.0.0.1');
|
|
49
|
+
await once(server, 'listening');
|
|
50
|
+
try {
|
|
51
|
+
const address = server.address();
|
|
52
|
+
const response = await fetch(`http://127.0.0.1:${address.port}/api/commands/execute`, {
|
|
53
|
+
method: 'POST', headers: { 'content-type': 'application/json' },
|
|
54
|
+
body: JSON.stringify({ commandName, context }),
|
|
55
|
+
});
|
|
56
|
+
assert.equal(response.status, 200);
|
|
57
|
+
return await response.json();
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
await new Promise((resolve) => server.close(() => resolve()));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
test('models command returns models only for the active provider using injected catalog', async () => {
|
|
64
|
+
const result = await executeCommand('/models', { provider: 'codex' });
|
|
65
|
+
const data = result.data;
|
|
66
|
+
assert.deepEqual(Object.keys(data.available), ['codex']);
|
|
67
|
+
});
|
|
68
|
+
test('models command falls back to claude for unsupported providers', async () => {
|
|
69
|
+
const result = await executeCommand('/models', { provider: 'unknown-provider' });
|
|
70
|
+
const data = result.data;
|
|
71
|
+
assert.equal(data.current.provider, 'claude');
|
|
72
|
+
});
|
|
73
|
+
test('models command reports the model recorded for the session', async () => {
|
|
74
|
+
const result = await executeCommand('/models', { provider: 'claude', sessionId: 'session-1', model: 'sonnet' }, { 'session-1': 'haiku' });
|
|
75
|
+
const data = result.data;
|
|
76
|
+
assert.equal(data.current.model, 'haiku');
|
|
77
|
+
});
|
|
78
|
+
test('models command reports the composer model for a chat with no session yet', async () => {
|
|
79
|
+
const result = await executeCommand('/models', { provider: 'claude', model: 'haiku' });
|
|
80
|
+
const data = result.data;
|
|
81
|
+
assert.equal(data.current.model, 'haiku');
|
|
82
|
+
});
|
|
83
|
+
test('cost and status commands report the same resolved model as /models', async () => {
|
|
84
|
+
const context = { provider: 'claude', sessionId: 'session-1', model: 'sonnet' };
|
|
85
|
+
const sessionModels = { 'session-1': 'haiku' };
|
|
86
|
+
const cost = await executeCommand('/cost', context, sessionModels);
|
|
87
|
+
const status = await executeCommand('/status', context, sessionModels);
|
|
88
|
+
assert.equal(cost.data.model, 'haiku');
|
|
89
|
+
assert.equal(status.data.model, 'haiku');
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=commands.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.test.js","sourceRoot":"","sources":["../../../../../server/modules/commands/tests/commands.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,9 @@ export { credentialsDb } from '../../modules/database/repositories/credentials.j
|
|
|
6
6
|
export { githubTokensDb } from '../../modules/database/repositories/github-tokens.js';
|
|
7
7
|
export { notificationChannelEndpointsDb } from '../../modules/database/repositories/notification-channel-endpoints.js';
|
|
8
8
|
export { notificationPreferencesDb } from '../../modules/database/repositories/notification-preferences.js';
|
|
9
|
+
// providerModelsDb: used by Providers to persist user-managed custom model rows.
|
|
10
|
+
export { providerModelsDb } from '../../modules/database/repositories/provider-models.js';
|
|
11
|
+
// projectsDb: used by Projects, Worktrees, Git, WebSocket, and notification modules to persist and resolve project records.
|
|
9
12
|
export { projectsDb } from '../../modules/database/repositories/projects.db.js';
|
|
10
13
|
export { pushSubscriptionsDb } from '../../modules/database/repositories/push-subscriptions.js';
|
|
11
14
|
export { scanStateDb } from '../../modules/database/repositories/scan-state.db.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/modules/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,mEAAmE,CAAC;AACnH,OAAO,EAAE,yBAAyB,EAAE,MAAM,6DAA6D,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/modules/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,mEAAmE,CAAC;AACnH,OAAO,EAAE,yBAAyB,EAAE,MAAM,6DAA6D,CAAC;AACxG,iFAAiF;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AACtF,4HAA4H;AAC5H,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APP_CONFIG_TABLE_SCHEMA_SQL, LAST_SCANNED_AT_SQL, NOTIFICATION_CHANNEL_ENDPOINTS_TABLE_SCHEMA_SQL, PROJECTS_TABLE_SCHEMA_SQL, PUSH_SUBSCRIPTIONS_TABLE_SCHEMA_SQL, SESSIONS_TABLE_SCHEMA_SQL, USER_NOTIFICATION_PREFERENCES_TABLE_SCHEMA_SQL, VAPID_KEYS_TABLE_SCHEMA_SQL, } from '../../modules/database/schema.js';
|
|
1
|
+
import { APP_CONFIG_TABLE_SCHEMA_SQL, LAST_SCANNED_AT_SQL, NOTIFICATION_CHANNEL_ENDPOINTS_TABLE_SCHEMA_SQL, PROJECTS_TABLE_SCHEMA_SQL, PROVIDER_MODELS_TABLE_SCHEMA_SQL, PUSH_SUBSCRIPTIONS_TABLE_SCHEMA_SQL, SESSIONS_TABLE_SCHEMA_SQL, USER_NOTIFICATION_PREFERENCES_TABLE_SCHEMA_SQL, VAPID_KEYS_TABLE_SCHEMA_SQL, } from '../../modules/database/schema.js';
|
|
2
2
|
const SQLITE_UUID_SQL = `
|
|
3
3
|
lower(hex(randomblob(4))) || '-' ||
|
|
4
4
|
lower(hex(randomblob(2))) || '-' ||
|
|
@@ -340,6 +340,29 @@ const addProviderSessionIdMapping = (db) => {
|
|
|
340
340
|
WHERE provider_session_id IS NULL
|
|
341
341
|
`);
|
|
342
342
|
};
|
|
343
|
+
/**
|
|
344
|
+
* Adds the `model` column that records which model each session runs with.
|
|
345
|
+
*
|
|
346
|
+
* Left NULL for pre-existing rows on purpose: the model resolver falls back to
|
|
347
|
+
* the provider-native lookup for sessions the app has never sent on, so a
|
|
348
|
+
* backfilled guess would only mask the real value.
|
|
349
|
+
*/
|
|
350
|
+
const addSessionModelColumn = (db) => {
|
|
351
|
+
const sessionsTableInfo = getTableInfo(db, 'sessions');
|
|
352
|
+
const columnNames = sessionsTableInfo.map((column) => column.name);
|
|
353
|
+
addColumnToTableIfNotExists(db, 'sessions', columnNames, 'model', 'TEXT');
|
|
354
|
+
};
|
|
355
|
+
/**
|
|
356
|
+
* Adds the `effort` column that records a session's reasoning-effort choice.
|
|
357
|
+
*
|
|
358
|
+
* Existing rows stay NULL so clients can continue falling back to their
|
|
359
|
+
* per-provider preference until the user selects an effort or sends a turn.
|
|
360
|
+
*/
|
|
361
|
+
const addSessionEffortColumn = (db) => {
|
|
362
|
+
const sessionsTableInfo = getTableInfo(db, 'sessions');
|
|
363
|
+
const columnNames = sessionsTableInfo.map((column) => column.name);
|
|
364
|
+
addColumnToTableIfNotExists(db, 'sessions', columnNames, 'effort', 'TEXT');
|
|
365
|
+
};
|
|
343
366
|
const ensureProjectsForSessionPaths = (db) => {
|
|
344
367
|
if (!tableExists(db, 'sessions')) {
|
|
345
368
|
return;
|
|
@@ -372,12 +395,19 @@ export const runMigrations = (db) => {
|
|
|
372
395
|
db.exec(NOTIFICATION_CHANNEL_ENDPOINTS_TABLE_SCHEMA_SQL);
|
|
373
396
|
db.exec('CREATE INDEX IF NOT EXISTS idx_notification_channel_endpoints_user_channel ON notification_channel_endpoints(user_id, channel)');
|
|
374
397
|
db.exec('CREATE INDEX IF NOT EXISTS idx_notification_channel_endpoints_enabled ON notification_channel_endpoints(enabled)');
|
|
398
|
+
db.exec(PROVIDER_MODELS_TABLE_SCHEMA_SQL);
|
|
399
|
+
db.exec(`
|
|
400
|
+
CREATE INDEX IF NOT EXISTS idx_provider_models_provider_order
|
|
401
|
+
ON provider_models(provider, sort_order, id)
|
|
402
|
+
`);
|
|
375
403
|
db.exec(PROJECTS_TABLE_SCHEMA_SQL);
|
|
376
404
|
rebuildProjectsTableWithPrimaryKeySchema(db);
|
|
377
405
|
migrateLegacyWorkspaceTableIntoProjects(db);
|
|
378
406
|
rebuildSessionsTableWithProjectSchema(db);
|
|
379
407
|
migrateLegacySessionNames(db);
|
|
380
408
|
addProviderSessionIdMapping(db);
|
|
409
|
+
addSessionModelColumn(db);
|
|
410
|
+
addSessionEffortColumn(db);
|
|
381
411
|
ensureProjectsForSessionPaths(db);
|
|
382
412
|
db.exec('CREATE INDEX IF NOT EXISTS idx_session_ids_lookup ON sessions(session_id)');
|
|
383
413
|
db.exec('CREATE INDEX IF NOT EXISTS idx_sessions_provider_session_id ON sessions(provider_session_id)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../../server/modules/database/migrations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../../server/modules/database/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { getConnection } from '../../../modules/database/connection.js';
|
|
2
|
+
const toCustomProviderModelRecord = (row) => ({
|
|
3
|
+
recordId: row.id,
|
|
4
|
+
provider: row.provider,
|
|
5
|
+
modelId: row.model_id,
|
|
6
|
+
model: row.model_name,
|
|
7
|
+
sortOrder: row.sort_order,
|
|
8
|
+
});
|
|
9
|
+
const readCustomProviderModelRow = (provider, recordId) => {
|
|
10
|
+
const row = getConnection().prepare(`
|
|
11
|
+
SELECT id, provider, model_id, model_name, sort_order
|
|
12
|
+
FROM provider_models
|
|
13
|
+
WHERE provider = ? AND id = ?
|
|
14
|
+
`).get(provider, recordId);
|
|
15
|
+
return row ?? null;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Custom provider-model persistence API consumed by the Providers module.
|
|
19
|
+
*
|
|
20
|
+
* Every row in this repository is user-created. Predefined models are owned by
|
|
21
|
+
* provider adapters and never enter this table. Model-id changes are propagated
|
|
22
|
+
* to stored sessions, while deletion replaces affected session selections with
|
|
23
|
+
* the predefined default supplied by the Providers service.
|
|
24
|
+
*/
|
|
25
|
+
export const providerModelsDb = {
|
|
26
|
+
listCustomProviderModels(provider) {
|
|
27
|
+
const rows = getConnection().prepare(`
|
|
28
|
+
SELECT id, provider, model_id, model_name, sort_order
|
|
29
|
+
FROM provider_models
|
|
30
|
+
WHERE provider = ?
|
|
31
|
+
ORDER BY sort_order ASC, lower(model_name) ASC, id ASC
|
|
32
|
+
`).all(provider);
|
|
33
|
+
return rows.map(toCustomProviderModelRecord);
|
|
34
|
+
},
|
|
35
|
+
getCustomProviderModel(provider, recordId) {
|
|
36
|
+
const row = readCustomProviderModelRow(provider, recordId);
|
|
37
|
+
return row ? toCustomProviderModelRecord(row) : null;
|
|
38
|
+
},
|
|
39
|
+
findCustomProviderModelByModelId(provider, modelId) {
|
|
40
|
+
const row = getConnection().prepare(`
|
|
41
|
+
SELECT id, provider, model_id, model_name, sort_order
|
|
42
|
+
FROM provider_models
|
|
43
|
+
WHERE provider = ? AND model_id = ?
|
|
44
|
+
`).get(provider, modelId);
|
|
45
|
+
return row ? toCustomProviderModelRecord(row) : null;
|
|
46
|
+
},
|
|
47
|
+
createCustomProviderModel(provider, input) {
|
|
48
|
+
const db = getConnection();
|
|
49
|
+
const nextOrder = db.prepare(`
|
|
50
|
+
SELECT COALESCE(MAX(sort_order), -1) + 1 AS next_order
|
|
51
|
+
FROM provider_models
|
|
52
|
+
WHERE provider = ?
|
|
53
|
+
`).get(provider);
|
|
54
|
+
const result = db.prepare(`
|
|
55
|
+
INSERT INTO provider_models (provider, model_id, model_name, sort_order)
|
|
56
|
+
VALUES (?, ?, ?, ?)
|
|
57
|
+
`).run(provider, input.id, input.model, nextOrder.next_order);
|
|
58
|
+
const row = readCustomProviderModelRow(provider, Number(result.lastInsertRowid));
|
|
59
|
+
if (!row) {
|
|
60
|
+
throw new Error('Created provider model could not be read back.');
|
|
61
|
+
}
|
|
62
|
+
return toCustomProviderModelRecord(row);
|
|
63
|
+
},
|
|
64
|
+
updateCustomProviderModel(provider, recordId, input) {
|
|
65
|
+
const db = getConnection();
|
|
66
|
+
const update = db.transaction(() => {
|
|
67
|
+
const previous = readCustomProviderModelRow(provider, recordId);
|
|
68
|
+
if (!previous) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
db.prepare(`
|
|
72
|
+
UPDATE provider_models
|
|
73
|
+
SET model_id = ?, model_name = ?, updated_at = CURRENT_TIMESTAMP
|
|
74
|
+
WHERE provider = ? AND id = ?
|
|
75
|
+
`).run(input.id, input.model, provider, recordId);
|
|
76
|
+
if (previous.model_id !== input.id) {
|
|
77
|
+
db.prepare(`
|
|
78
|
+
UPDATE sessions
|
|
79
|
+
SET model = ?, updated_at = CURRENT_TIMESTAMP
|
|
80
|
+
WHERE provider = ? AND model = ?
|
|
81
|
+
`).run(input.id, provider, previous.model_id);
|
|
82
|
+
}
|
|
83
|
+
return readCustomProviderModelRow(provider, recordId);
|
|
84
|
+
});
|
|
85
|
+
const row = update();
|
|
86
|
+
return row ? toCustomProviderModelRecord(row) : null;
|
|
87
|
+
},
|
|
88
|
+
deleteCustomProviderModel(provider, recordId, fallbackModelId) {
|
|
89
|
+
const db = getConnection();
|
|
90
|
+
const remove = db.transaction(() => {
|
|
91
|
+
const row = readCustomProviderModelRow(provider, recordId);
|
|
92
|
+
if (!row) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
// The effort is cleared alongside the model because it was chosen for the
|
|
96
|
+
// deleted model; replaced sessions resume on the fallback model's default.
|
|
97
|
+
db.prepare(`
|
|
98
|
+
UPDATE sessions
|
|
99
|
+
SET model = ?, effort = NULL, updated_at = CURRENT_TIMESTAMP
|
|
100
|
+
WHERE provider = ? AND model = ?
|
|
101
|
+
`).run(fallbackModelId, provider, row.model_id);
|
|
102
|
+
db.prepare(`
|
|
103
|
+
DELETE FROM provider_models
|
|
104
|
+
WHERE provider = ? AND id = ?
|
|
105
|
+
`).run(provider, recordId);
|
|
106
|
+
return row;
|
|
107
|
+
});
|
|
108
|
+
const row = remove();
|
|
109
|
+
return row ? toCustomProviderModelRecord(row) : null;
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=provider-models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-models.js","sourceRoot":"","sources":["../../../../../server/modules/database/repositories/provider-models.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getConnection } from '../../../modules/database/connection.js';
|
|
2
2
|
import { projectsDb } from '../../../modules/database/repositories/projects.db.js';
|
|
3
3
|
import { normalizeProjectPath } from '../../../shared/utils.js';
|
|
4
|
-
const SESSION_ROW_COLUMNS = 'session_id, provider, provider_session_id, project_path, jsonl_path, custom_name, isArchived, created_at, updated_at';
|
|
4
|
+
const SESSION_ROW_COLUMNS = 'session_id, provider, provider_session_id, project_path, jsonl_path, custom_name, model, effort, isArchived, created_at, updated_at';
|
|
5
5
|
const SQLITE_UTC_TIMESTAMP_REGEX = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/;
|
|
6
6
|
function normalizeTimestamp(value) {
|
|
7
7
|
if (!value)
|
|
@@ -42,7 +42,9 @@ export const sessionsDb = {
|
|
|
42
42
|
* The given id is the provider-native session id. Rows are keyed by
|
|
43
43
|
* `provider_session_id` so a session that was first created by the app
|
|
44
44
|
* (with an app-allocated `session_id`) is updated in place once its
|
|
45
|
-
* transcript shows up on disk, instead of producing a duplicate row.
|
|
45
|
+
* transcript shows up on disk, instead of producing a duplicate row. An
|
|
46
|
+
* app-created row keeps its existing name; synchronizer names only update
|
|
47
|
+
* rows that were themselves created by indexing provider storage.
|
|
46
48
|
*/
|
|
47
49
|
createSession(providerSessionId, provider, projectPath, customName, createdAt, updatedAt, jsonlPath) {
|
|
48
50
|
const db = getConnection();
|
|
@@ -64,7 +66,10 @@ export const sessionsDb = {
|
|
|
64
66
|
project_path = ?,
|
|
65
67
|
jsonl_path = ?,
|
|
66
68
|
isArchived = 0,
|
|
67
|
-
custom_name =
|
|
69
|
+
custom_name = CASE
|
|
70
|
+
WHEN session_id <> provider_session_id AND custom_name IS NOT NULL THEN custom_name
|
|
71
|
+
ELSE COALESCE(?, custom_name)
|
|
72
|
+
END
|
|
68
73
|
WHERE session_id = ?`).run(provider, updatedAtValue, normalizedProjectPath, jsonlPath ?? null, customName ?? null, existing.session_id);
|
|
69
74
|
return existing.session_id;
|
|
70
75
|
}
|
|
@@ -80,7 +85,11 @@ export const sessionsDb = {
|
|
|
80
85
|
project_path = excluded.project_path,
|
|
81
86
|
jsonl_path = excluded.jsonl_path,
|
|
82
87
|
isArchived = 0,
|
|
83
|
-
custom_name =
|
|
88
|
+
custom_name = CASE
|
|
89
|
+
WHEN sessions.session_id <> sessions.provider_session_id AND sessions.custom_name IS NOT NULL
|
|
90
|
+
THEN sessions.custom_name
|
|
91
|
+
ELSE COALESCE(excluded.custom_name, sessions.custom_name)
|
|
92
|
+
END`).run(providerSessionId, provider, providerSessionId, customName ?? null, normalizedProjectPath, jsonlPath ?? null, createdAtValue, updatedAtValue);
|
|
84
93
|
return providerSessionId;
|
|
85
94
|
},
|
|
86
95
|
/**
|
|
@@ -89,14 +98,15 @@ export const sessionsDb = {
|
|
|
89
98
|
* The session gateway uses this when the frontend starts a brand-new chat:
|
|
90
99
|
* `session_id` is the stable app-facing id, while `provider_session_id`
|
|
91
100
|
* stays NULL until the provider runtime announces its own id and
|
|
92
|
-
* `assignProviderSessionId` records the mapping.
|
|
101
|
+
* `assignProviderSessionId` records the mapping. `customName` is derived
|
|
102
|
+
* from the first visible CloudCLI message by the sessions service.
|
|
93
103
|
*/
|
|
94
|
-
createAppSession(sessionId, provider, projectPath) {
|
|
104
|
+
createAppSession(sessionId, provider, projectPath, customName) {
|
|
95
105
|
const db = getConnection();
|
|
96
106
|
const normalizedProjectPath = normalizeProjectPathForProvider(provider, projectPath);
|
|
97
107
|
projectsDb.createProjectPath(normalizedProjectPath);
|
|
98
108
|
db.prepare(`INSERT INTO sessions (session_id, provider, provider_session_id, custom_name, project_path, jsonl_path, isArchived, created_at, updated_at)
|
|
99
|
-
VALUES (?, ?, NULL,
|
|
109
|
+
VALUES (?, ?, NULL, ?, ?, NULL, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)`).run(sessionId, provider, customName ?? null, normalizedProjectPath);
|
|
100
110
|
return sessionId;
|
|
101
111
|
},
|
|
102
112
|
/**
|
|
@@ -134,6 +144,31 @@ export const sessionsDb = {
|
|
|
134
144
|
});
|
|
135
145
|
merge();
|
|
136
146
|
},
|
|
147
|
+
/**
|
|
148
|
+
* Records the model one session runs with.
|
|
149
|
+
*
|
|
150
|
+
* Called both when the user picks a model for the session and on every send,
|
|
151
|
+
* so the row always reflects what the session last ran with and reopening it
|
|
152
|
+
* restores that model instead of a catalog default.
|
|
153
|
+
*/
|
|
154
|
+
setSessionModel(sessionId, model) {
|
|
155
|
+
const db = getConnection();
|
|
156
|
+
db.prepare(`UPDATE sessions
|
|
157
|
+
SET model = ?
|
|
158
|
+
WHERE session_id = ?`).run(model, sessionId);
|
|
159
|
+
},
|
|
160
|
+
/**
|
|
161
|
+
* Records the reasoning effort one session runs with.
|
|
162
|
+
*
|
|
163
|
+
* `default` is stored as an explicit choice rather than NULL so reopening
|
|
164
|
+
* the session does not inherit a later per-provider effort preference.
|
|
165
|
+
*/
|
|
166
|
+
setSessionEffort(sessionId, effort) {
|
|
167
|
+
const db = getConnection();
|
|
168
|
+
db.prepare(`UPDATE sessions
|
|
169
|
+
SET effort = ?
|
|
170
|
+
WHERE session_id = ?`).run(effort, sessionId);
|
|
171
|
+
},
|
|
137
172
|
updateSessionCustomName(sessionId, customName) {
|
|
138
173
|
const db = getConnection();
|
|
139
174
|
db.prepare(`UPDATE sessions
|
|
@@ -211,6 +246,40 @@ export const sessionsDb = {
|
|
|
211
246
|
.all();
|
|
212
247
|
return normalizeSessionRows(rows);
|
|
213
248
|
},
|
|
249
|
+
/**
|
|
250
|
+
* Returns one globally ordered page of visible conversations.
|
|
251
|
+
*
|
|
252
|
+
* Pagination happens after archived sessions and sessions belonging to an
|
|
253
|
+
* archived project have been excluded. This keeps the sidebar feed complete
|
|
254
|
+
* and correctly ordered across projects instead of flattening only the
|
|
255
|
+
* per-project slices already loaded by the client.
|
|
256
|
+
*/
|
|
257
|
+
getRecentSessionsPage(limit, offset) {
|
|
258
|
+
const db = getConnection();
|
|
259
|
+
const visibilityClause = `
|
|
260
|
+
sessions.isArchived = 0
|
|
261
|
+
AND (projects.isArchived IS NULL OR projects.isArchived = 0)
|
|
262
|
+
`;
|
|
263
|
+
const rows = db
|
|
264
|
+
.prepare(`SELECT sessions.*
|
|
265
|
+
FROM sessions
|
|
266
|
+
LEFT JOIN projects ON projects.project_path = sessions.project_path
|
|
267
|
+
WHERE ${visibilityClause}
|
|
268
|
+
ORDER BY julianday(COALESCE(sessions.updated_at, sessions.created_at)) DESC,
|
|
269
|
+
sessions.session_id DESC
|
|
270
|
+
LIMIT ? OFFSET ?`)
|
|
271
|
+
.all(limit, offset);
|
|
272
|
+
const countRow = db
|
|
273
|
+
.prepare(`SELECT COUNT(*) AS count
|
|
274
|
+
FROM sessions
|
|
275
|
+
LEFT JOIN projects ON projects.project_path = sessions.project_path
|
|
276
|
+
WHERE ${visibilityClause}`)
|
|
277
|
+
.get();
|
|
278
|
+
return {
|
|
279
|
+
sessions: normalizeSessionRows(rows),
|
|
280
|
+
total: Number(countRow?.count ?? 0),
|
|
281
|
+
};
|
|
282
|
+
},
|
|
214
283
|
/**
|
|
215
284
|
* Archived rows are intentionally queried separately so the caller can render
|
|
216
285
|
* them in a dedicated view without reintroducing them into active session lists.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.db.js","sourceRoot":"","sources":["../../../../../server/modules/database/repositories/sessions.db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.db.js","sourceRoot":"","sources":["../../../../../server/modules/database/repositories/sessions.db.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,6 +101,11 @@ CREATE TABLE IF NOT EXISTS sessions (
|
|
|
101
101
|
custom_name TEXT,
|
|
102
102
|
project_path TEXT,
|
|
103
103
|
jsonl_path TEXT,
|
|
104
|
+
-- Model and reasoning effort this session runs with. Written when the user
|
|
105
|
+
-- changes either selection and on every send, so reopening a session
|
|
106
|
+
-- restores its exact runtime configuration instead of provider defaults.
|
|
107
|
+
model TEXT,
|
|
108
|
+
effort TEXT,
|
|
104
109
|
isArchived BOOLEAN DEFAULT 0,
|
|
105
110
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
106
111
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
@@ -123,6 +128,26 @@ CREATE TABLE IF NOT EXISTS app_config (
|
|
|
123
128
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
124
129
|
);
|
|
125
130
|
`;
|
|
131
|
+
/**
|
|
132
|
+
* Persistent custom-model library used by the Providers module.
|
|
133
|
+
*
|
|
134
|
+
* Only user-created models are stored here. Predefined models remain source-
|
|
135
|
+
* controlled in each provider's `-models.provider.ts` adapter so they can be
|
|
136
|
+
* updated without migrating application data. `model_id` is unique only within
|
|
137
|
+
* a provider because different CLIs can accept the same identifier.
|
|
138
|
+
*/
|
|
139
|
+
export const PROVIDER_MODELS_TABLE_SCHEMA_SQL = `
|
|
140
|
+
CREATE TABLE IF NOT EXISTS provider_models (
|
|
141
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
142
|
+
provider TEXT NOT NULL CHECK (provider IN ('claude', 'cursor', 'codex', 'opencode')),
|
|
143
|
+
model_id TEXT NOT NULL,
|
|
144
|
+
model_name TEXT NOT NULL,
|
|
145
|
+
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
146
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
147
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
148
|
+
UNIQUE(provider, model_id)
|
|
149
|
+
);
|
|
150
|
+
`;
|
|
126
151
|
export const INIT_SCHEMA_SQL = `
|
|
127
152
|
-- Initialize authentication database
|
|
128
153
|
PRAGMA foreign_keys = ON;
|
|
@@ -166,5 +191,9 @@ CREATE INDEX IF NOT EXISTS idx_session_ids_lookup ON sessions(session_id);
|
|
|
166
191
|
${LAST_SCANNED_AT_SQL}
|
|
167
192
|
|
|
168
193
|
${APP_CONFIG_TABLE_SCHEMA_SQL}
|
|
194
|
+
|
|
195
|
+
${PROVIDER_MODELS_TABLE_SCHEMA_SQL}
|
|
196
|
+
CREATE INDEX IF NOT EXISTS idx_provider_models_provider_order
|
|
197
|
+
ON provider_models(provider, sort_order, id);
|
|
169
198
|
`;
|
|
170
199
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../server/modules/database/schema.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAG;;;;;;;;;;;;CAY7B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;CAWxC,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG;;;;;;;;;;;;CAYhD,CAAC;AAEF,MAAM,CAAC,MAAM,8CAA8C,GAAG;;;;;;;CAO7D,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;CAO1C,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG;;;;;;;;;;CAUlD,CAAC;AAEF,MAAM,CAAC,MAAM,+CAA+C,GAAG;;;;;;;;;;;;;;;CAe9D,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;CAQxC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../server/modules/database/schema.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAG;;;;;;;;;;;;CAY7B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;CAWxC,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG;;;;;;;;;;;;CAYhD,CAAC;AAEF,MAAM,CAAC,MAAM,8CAA8C,GAAG;;;;;;;CAO7D,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;CAO1C,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG;;;;;;;;;;CAUlD,CAAC;AAEF,MAAM,CAAC,MAAM,+CAA+C,GAAG;;;;;;;;;;;;;;;CAe9D,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;CAQxC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BxC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;CAKlC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;CAM1C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;;;;;;;CAW/C,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;;;;EAI7B,qBAAqB;;;;;EAKrB,yBAAyB;;;;;EAKzB,iCAAiC;;;;;EAKjC,8CAA8C;;;EAG9C,2BAA2B;;EAE3B,mCAAmC;;;EAGnC,+CAA+C;;;;EAI/C,yBAAyB;;;;EAIzB,yBAAyB;;;;;EAKzB,mBAAmB;;EAEnB,2BAA2B;;EAE3B,gCAAgC;;;CAGjC,CAAC"}
|