@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.
Files changed (569) hide show
  1. package/dist/assets/index-D3jfzuKN.css +32 -0
  2. package/dist/assets/index-DTMWjJj8.js +1550 -0
  3. package/dist/index.html +2 -2
  4. package/dist-server/server/constants/config.js.map +1 -1
  5. package/dist-server/server/index.js +73 -1224
  6. package/dist-server/server/index.js.map +1 -1
  7. package/dist-server/server/load-env.js +17 -4
  8. package/dist-server/server/load-env.js.map +1 -1
  9. package/dist-server/server/modules/agent/agent.module.js +37 -0
  10. package/dist-server/server/modules/agent/agent.module.js.map +1 -0
  11. package/dist-server/server/modules/agent/agent.routes.js +1161 -0
  12. package/dist-server/server/modules/agent/agent.routes.js.map +1 -0
  13. package/dist-server/server/modules/agent/index.js +3 -0
  14. package/dist-server/server/modules/agent/index.js.map +1 -0
  15. package/dist-server/server/modules/agent/tests/agent.routes.test.js +176 -0
  16. package/dist-server/server/modules/agent/tests/agent.routes.test.js.map +1 -0
  17. package/dist-server/server/modules/assets/assets.routes.js +56 -15
  18. package/dist-server/server/modules/assets/assets.routes.js.map +1 -1
  19. package/dist-server/server/modules/assets/index.js +2 -2
  20. package/dist-server/server/modules/assets/index.js.map +1 -1
  21. package/dist-server/server/modules/assets/services/image-assets.service.js +39 -1
  22. package/dist-server/server/modules/assets/services/image-assets.service.js.map +1 -1
  23. package/dist-server/server/modules/assets/tests/image-assets.service.test.js +21 -1
  24. package/dist-server/server/modules/assets/tests/image-assets.service.test.js.map +1 -1
  25. package/dist-server/server/{middleware/auth.js → modules/auth/auth.middleware.js} +30 -8
  26. package/dist-server/server/modules/auth/auth.middleware.js.map +1 -0
  27. package/dist-server/server/modules/auth/auth.module.js +29 -0
  28. package/dist-server/server/modules/auth/auth.module.js.map +1 -0
  29. package/dist-server/server/modules/auth/auth.routes.js +45 -0
  30. package/dist-server/server/modules/auth/auth.routes.js.map +1 -0
  31. package/dist-server/server/modules/auth/auth.service.js +113 -0
  32. package/dist-server/server/modules/auth/auth.service.js.map +1 -0
  33. package/dist-server/server/modules/auth/index.js +9 -0
  34. package/dist-server/server/modules/auth/index.js.map +1 -0
  35. package/dist-server/server/modules/auth/tests/auth.service.test.js +80 -0
  36. package/dist-server/server/modules/auth/tests/auth.service.test.js.map +1 -0
  37. package/dist-server/server/{browser-use-mcp.js → modules/browser-use/browser-use-mcp.js} +3 -1
  38. package/dist-server/server/modules/browser-use/browser-use-mcp.js.map +1 -0
  39. package/dist-server/server/modules/browser-use/browser-use.service.js +3 -4
  40. package/dist-server/server/modules/browser-use/browser-use.service.js.map +1 -1
  41. package/dist-server/server/modules/browser-use/index.js +9 -0
  42. package/dist-server/server/modules/browser-use/index.js.map +1 -0
  43. package/dist-server/server/modules/cli/cli.js +11 -0
  44. package/dist-server/server/modules/cli/cli.js.map +1 -0
  45. package/dist-server/server/modules/cli/cli.module.js +86 -0
  46. package/dist-server/server/modules/cli/cli.module.js.map +1 -0
  47. package/dist-server/server/modules/cli/cli.service.js +244 -0
  48. package/dist-server/server/modules/cli/cli.service.js.map +1 -0
  49. package/dist-server/server/modules/cli/index.js +3 -0
  50. package/dist-server/server/modules/cli/index.js.map +1 -0
  51. package/dist-server/server/modules/cli/sandbox.service.js +332 -0
  52. package/dist-server/server/modules/cli/sandbox.service.js.map +1 -0
  53. package/dist-server/server/modules/cli/tests/cli.service.test.js +78 -0
  54. package/dist-server/server/modules/cli/tests/cli.service.test.js.map +1 -0
  55. package/dist-server/server/modules/cli/tests/sandbox.service.test.js +55 -0
  56. package/dist-server/server/modules/cli/tests/sandbox.service.test.js.map +1 -0
  57. package/dist-server/server/modules/commands/commands.module.js +20 -0
  58. package/dist-server/server/modules/commands/commands.module.js.map +1 -0
  59. package/dist-server/server/modules/commands/commands.routes.js +497 -0
  60. package/dist-server/server/modules/commands/commands.routes.js.map +1 -0
  61. package/dist-server/server/modules/commands/index.js +3 -0
  62. package/dist-server/server/modules/commands/index.js.map +1 -0
  63. package/dist-server/server/modules/commands/tests/commands.test.js +91 -0
  64. package/dist-server/server/modules/commands/tests/commands.test.js.map +1 -0
  65. package/dist-server/server/modules/database/index.js +3 -0
  66. package/dist-server/server/modules/database/index.js.map +1 -1
  67. package/dist-server/server/modules/database/migrations.js +31 -1
  68. package/dist-server/server/modules/database/migrations.js.map +1 -1
  69. package/dist-server/server/modules/database/repositories/provider-models.js +112 -0
  70. package/dist-server/server/modules/database/repositories/provider-models.js.map +1 -0
  71. package/dist-server/server/modules/database/repositories/sessions.db.js +76 -7
  72. package/dist-server/server/modules/database/repositories/sessions.db.js.map +1 -1
  73. package/dist-server/server/modules/database/schema.js +29 -0
  74. package/dist-server/server/modules/database/schema.js.map +1 -1
  75. package/dist-server/server/modules/database/tests/provider-models.db.integration.test.js +102 -0
  76. package/dist-server/server/modules/database/tests/provider-models.db.integration.test.js.map +1 -0
  77. package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js +2 -1
  78. package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js.map +1 -1
  79. package/dist-server/server/modules/database/tests/sessions.db.integration.test.js +22 -0
  80. package/dist-server/server/modules/database/tests/sessions.db.integration.test.js.map +1 -1
  81. package/dist-server/server/modules/file-tree/file-tree.module.js +95 -0
  82. package/dist-server/server/modules/file-tree/file-tree.module.js.map +1 -0
  83. package/dist-server/server/modules/file-tree/file-tree.routes.js +208 -0
  84. package/dist-server/server/modules/file-tree/file-tree.routes.js.map +1 -0
  85. package/dist-server/server/modules/file-tree/file-tree.service.js +576 -0
  86. package/dist-server/server/modules/file-tree/file-tree.service.js.map +1 -0
  87. package/dist-server/server/modules/file-tree/index.js +3 -0
  88. package/dist-server/server/modules/file-tree/index.js.map +1 -0
  89. package/dist-server/server/modules/file-tree/tests/file-tree.routes.test.js +123 -0
  90. package/dist-server/server/modules/file-tree/tests/file-tree.routes.test.js.map +1 -0
  91. package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js +260 -0
  92. package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js.map +1 -0
  93. package/dist-server/server/modules/git/git-parsing.service.js +61 -0
  94. package/dist-server/server/modules/git/git-parsing.service.js.map +1 -0
  95. package/dist-server/server/modules/git/git.module.js +14 -0
  96. package/dist-server/server/modules/git/git.module.js.map +1 -0
  97. package/dist-server/server/modules/git/git.routes.js +1339 -0
  98. package/dist-server/server/modules/git/git.routes.js.map +1 -0
  99. package/dist-server/server/modules/git/index.js +3 -0
  100. package/dist-server/server/modules/git/index.js.map +1 -0
  101. package/dist-server/server/modules/git/tests/git-init.routes.test.js +48 -0
  102. package/dist-server/server/modules/git/tests/git-init.routes.test.js.map +1 -0
  103. package/dist-server/server/{routes → modules/git/tests}/git.test.js +1 -1
  104. package/dist-server/server/modules/git/tests/git.test.js.map +1 -0
  105. package/dist-server/server/modules/notifications/index.js +15 -1
  106. package/dist-server/server/modules/notifications/index.js.map +1 -1
  107. package/dist-server/server/modules/notifications/tests/notification-orchestrator.integration.test.js +44 -0
  108. package/dist-server/server/modules/notifications/tests/notification-orchestrator.integration.test.js.map +1 -0
  109. package/dist-server/server/{services/vapid-keys.js → modules/notifications/vapid-keys.service.js} +3 -2
  110. package/dist-server/server/modules/notifications/vapid-keys.service.js.map +1 -0
  111. package/dist-server/server/modules/plugins/index.js +9 -0
  112. package/dist-server/server/modules/plugins/index.js.map +1 -0
  113. package/dist-server/server/{utils/plugin-process-manager.js → modules/plugins/plugin-process.service.js} +3 -2
  114. package/dist-server/server/modules/plugins/plugin-process.service.js.map +1 -0
  115. package/dist-server/server/{utils/plugin-loader.js → modules/plugins/plugin-registry.service.js} +2 -1
  116. package/dist-server/server/modules/plugins/plugin-registry.service.js.map +1 -0
  117. package/dist-server/server/modules/plugins/plugins.module.js +30 -0
  118. package/dist-server/server/modules/plugins/plugins.module.js.map +1 -0
  119. package/dist-server/server/modules/plugins/plugins.routes.js +70 -0
  120. package/dist-server/server/modules/plugins/plugins.routes.js.map +1 -0
  121. package/dist-server/server/modules/plugins/plugins.service.js +123 -0
  122. package/dist-server/server/modules/plugins/plugins.service.js.map +1 -0
  123. package/dist-server/server/modules/plugins/tests/plugins.service.test.js +28 -0
  124. package/dist-server/server/modules/plugins/tests/plugins.service.test.js.map +1 -0
  125. package/dist-server/server/modules/projects/index.js +5 -0
  126. package/dist-server/server/modules/projects/index.js.map +1 -1
  127. package/dist-server/server/modules/providers/index.js +3 -0
  128. package/dist-server/server/modules/providers/index.js.map +1 -1
  129. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js +6 -0
  130. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js.map +1 -1
  131. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +47 -18
  132. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js.map +1 -1
  133. package/dist-server/server/{claude-sdk.js → modules/providers/list/claude/claude-runtime.provider.js} +69 -55
  134. package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js.map +1 -0
  135. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js +6 -4
  136. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js.map +1 -1
  137. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js +23 -4
  138. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js.map +1 -1
  139. package/dist-server/server/modules/providers/list/claude/claude.provider.js +2 -0
  140. package/dist-server/server/modules/providers/list/claude/claude.provider.js.map +1 -1
  141. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js +59 -75
  142. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js.map +1 -1
  143. package/dist-server/server/{openai-codex.js → modules/providers/list/codex/codex-runtime.provider.js} +48 -34
  144. package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js.map +1 -0
  145. package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js +1 -54
  146. package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js.map +1 -1
  147. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js +290 -6
  148. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js.map +1 -1
  149. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js +5 -0
  150. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js.map +1 -1
  151. package/dist-server/server/modules/providers/list/codex/codex.provider.js +2 -0
  152. package/dist-server/server/modules/providers/list/codex/codex.provider.js.map +1 -1
  153. package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js +33 -673
  154. package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js.map +1 -1
  155. package/dist-server/server/{cursor-cli.js → modules/providers/list/cursor/cursor-runtime.provider.js} +40 -28
  156. package/dist-server/server/modules/providers/list/cursor/cursor-runtime.provider.js.map +1 -0
  157. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js +21 -14
  158. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js.map +1 -1
  159. package/dist-server/server/modules/providers/list/cursor/cursor.provider.js +2 -0
  160. package/dist-server/server/modules/providers/list/cursor/cursor.provider.js.map +1 -1
  161. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js +112 -333
  162. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js.map +1 -1
  163. package/dist-server/server/{opencode-cli.js → modules/providers/list/opencode/opencode-runtime.provider.js} +38 -25
  164. package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.js.map +1 -0
  165. package/dist-server/server/{opencode-cli.test.js → modules/providers/list/opencode/opencode-runtime.provider.test.js} +27 -4
  166. package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.test.js.map +1 -0
  167. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js +0 -12
  168. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js.map +1 -1
  169. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js +11 -5
  170. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js.map +1 -1
  171. package/dist-server/server/modules/providers/list/opencode/opencode.provider.js +2 -0
  172. package/dist-server/server/modules/providers/list/opencode/opencode.provider.js.map +1 -1
  173. package/dist-server/server/modules/providers/provider.routes.js +169 -37
  174. package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
  175. package/dist-server/server/modules/providers/services/provider-capabilities.service.js +5 -1
  176. package/dist-server/server/modules/providers/services/provider-capabilities.service.js.map +1 -1
  177. package/dist-server/server/modules/providers/services/provider-models.service.js +247 -184
  178. package/dist-server/server/modules/providers/services/provider-models.service.js.map +1 -1
  179. package/dist-server/server/modules/providers/services/provider-runtime.service.js +66 -0
  180. package/dist-server/server/modules/providers/services/provider-runtime.service.js.map +1 -0
  181. package/dist-server/server/modules/providers/services/provider-token-usage.service.js +268 -0
  182. package/dist-server/server/modules/providers/services/provider-token-usage.service.js.map +1 -0
  183. package/dist-server/server/modules/providers/services/session-conversations-search.service.js +12 -4
  184. package/dist-server/server/modules/providers/services/session-conversations-search.service.js.map +1 -1
  185. package/dist-server/server/modules/providers/services/sessions-watcher.service.js +2 -0
  186. package/dist-server/server/modules/providers/services/sessions-watcher.service.js.map +1 -1
  187. package/dist-server/server/modules/providers/services/sessions.service.js +116 -3
  188. package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -1
  189. package/dist-server/server/modules/providers/shared/base/abstract.provider.js +2 -3
  190. package/dist-server/server/modules/providers/shared/base/abstract.provider.js.map +1 -1
  191. package/dist-server/server/modules/providers/tests/claude-auth.test.js +122 -0
  192. package/dist-server/server/modules/providers/tests/claude-auth.test.js.map +1 -0
  193. package/dist-server/server/modules/providers/tests/claude-sessions.test.js +44 -0
  194. package/dist-server/server/modules/providers/tests/claude-sessions.test.js.map +1 -0
  195. package/dist-server/server/modules/providers/tests/codex-sessions.test.js +76 -4
  196. package/dist-server/server/modules/providers/tests/codex-sessions.test.js.map +1 -1
  197. package/dist-server/server/modules/providers/tests/opencode-models.test.js +15 -126
  198. package/dist-server/server/modules/providers/tests/opencode-models.test.js.map +1 -1
  199. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +5 -5
  200. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js.map +1 -1
  201. package/dist-server/server/modules/providers/tests/{provider-image-history.test.js → provider-attachment-history.test.js} +60 -2
  202. package/dist-server/server/modules/providers/tests/provider-attachment-history.test.js.map +1 -0
  203. package/dist-server/server/modules/providers/tests/provider-models.service.test.js +241 -271
  204. package/dist-server/server/modules/providers/tests/provider-models.service.test.js.map +1 -1
  205. package/dist-server/server/modules/providers/tests/provider-runtime.service.test.js +126 -0
  206. package/dist-server/server/modules/providers/tests/provider-runtime.service.test.js.map +1 -0
  207. package/dist-server/server/modules/providers/tests/provider-token-usage.service.test.js +166 -0
  208. package/dist-server/server/modules/providers/tests/provider-token-usage.service.test.js.map +1 -0
  209. package/dist-server/server/modules/providers/tests/provider.routes.test.js +126 -0
  210. package/dist-server/server/modules/providers/tests/provider.routes.test.js.map +1 -0
  211. package/dist-server/server/modules/providers/tests/sessions-details.test.js +62 -0
  212. package/dist-server/server/modules/providers/tests/sessions-details.test.js.map +1 -0
  213. package/dist-server/server/modules/providers/tests/sessions.service.test.js +87 -0
  214. package/dist-server/server/modules/providers/tests/sessions.service.test.js.map +1 -0
  215. package/dist-server/server/modules/providers/tests/skills.test.js +4 -2
  216. package/dist-server/server/modules/providers/tests/skills.test.js.map +1 -1
  217. package/dist-server/server/modules/settings/index.js +3 -0
  218. package/dist-server/server/modules/settings/index.js.map +1 -0
  219. package/dist-server/server/modules/settings/settings.module.js +35 -0
  220. package/dist-server/server/modules/settings/settings.module.js.map +1 -0
  221. package/dist-server/server/modules/settings/settings.routes.js +34 -0
  222. package/dist-server/server/modules/settings/settings.routes.js.map +1 -0
  223. package/dist-server/server/modules/settings/settings.service.js +116 -0
  224. package/dist-server/server/modules/settings/settings.service.js.map +1 -0
  225. package/dist-server/server/modules/settings/tests/settings.service.test.js +48 -0
  226. package/dist-server/server/modules/settings/tests/settings.service.test.js.map +1 -0
  227. package/dist-server/server/modules/system/index.js +3 -0
  228. package/dist-server/server/modules/system/index.js.map +1 -0
  229. package/dist-server/server/modules/system/system.module.js +44 -0
  230. package/dist-server/server/modules/system/system.module.js.map +1 -0
  231. package/dist-server/server/modules/system/system.routes.js +16 -0
  232. package/dist-server/server/modules/system/system.routes.js.map +1 -0
  233. package/dist-server/server/modules/system/system.service.js +45 -0
  234. package/dist-server/server/modules/system/system.service.js.map +1 -0
  235. package/dist-server/server/modules/system/tests/system.service.test.js +100 -0
  236. package/dist-server/server/modules/system/tests/system.service.test.js.map +1 -0
  237. package/dist-server/server/modules/taskmaster/index.js +3 -0
  238. package/dist-server/server/modules/taskmaster/index.js.map +1 -0
  239. package/dist-server/server/modules/taskmaster/taskmaster.module.js +20 -0
  240. package/dist-server/server/modules/taskmaster/taskmaster.module.js.map +1 -0
  241. package/dist-server/server/modules/taskmaster/taskmaster.routes.js +1372 -0
  242. package/dist-server/server/modules/taskmaster/taskmaster.routes.js.map +1 -0
  243. package/dist-server/server/modules/taskmaster/taskmaster.service.js +107 -0
  244. package/dist-server/server/modules/taskmaster/taskmaster.service.js.map +1 -0
  245. package/dist-server/server/modules/taskmaster/tests/taskmaster.routes.test.js +132 -0
  246. package/dist-server/server/modules/taskmaster/tests/taskmaster.routes.test.js.map +1 -0
  247. package/dist-server/server/modules/taskmaster/tests/taskmaster.service.test.js +85 -0
  248. package/dist-server/server/modules/taskmaster/tests/taskmaster.service.test.js.map +1 -0
  249. package/dist-server/server/modules/user/index.js +3 -0
  250. package/dist-server/server/modules/user/index.js.map +1 -0
  251. package/dist-server/server/modules/user/tests/user.service.test.js +53 -0
  252. package/dist-server/server/modules/user/tests/user.service.test.js.map +1 -0
  253. package/dist-server/server/modules/user/user.module.js +47 -0
  254. package/dist-server/server/modules/user/user.module.js.map +1 -0
  255. package/dist-server/server/modules/user/user.routes.js +44 -0
  256. package/dist-server/server/modules/user/user.routes.js.map +1 -0
  257. package/dist-server/server/modules/user/user.service.js +59 -0
  258. package/dist-server/server/modules/user/user.service.js.map +1 -0
  259. package/dist-server/server/modules/voice/index.js +3 -0
  260. package/dist-server/server/modules/voice/index.js.map +1 -0
  261. package/dist-server/server/modules/voice/tests/voice.service.test.js +86 -0
  262. package/dist-server/server/modules/voice/tests/voice.service.test.js.map +1 -0
  263. package/dist-server/server/modules/voice/voice.module.js +44 -0
  264. package/dist-server/server/modules/voice/voice.module.js.map +1 -0
  265. package/dist-server/server/modules/voice/voice.routes.js +87 -0
  266. package/dist-server/server/modules/voice/voice.routes.js.map +1 -0
  267. package/dist-server/server/modules/voice/voice.service.js +148 -0
  268. package/dist-server/server/modules/voice/voice.service.js.map +1 -0
  269. package/dist-server/server/modules/websocket/services/chat-session-writer.service.js +2 -2
  270. package/dist-server/server/modules/websocket/services/chat-websocket.service.js +44 -29
  271. package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -1
  272. package/dist-server/server/modules/websocket/services/shell-websocket.service.js +76 -8
  273. package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -1
  274. package/dist-server/server/modules/websocket/services/websocket-server.service.js +51 -20
  275. package/dist-server/server/modules/websocket/services/websocket-server.service.js.map +1 -1
  276. package/dist-server/server/modules/websocket/tests/{chat-image-filter.test.js → chat-attachment-filter.test.js} +10 -3
  277. package/dist-server/server/modules/websocket/tests/chat-attachment-filter.test.js.map +1 -0
  278. package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js +97 -0
  279. package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js.map +1 -0
  280. package/dist-server/server/modules/websocket/tests/websocket-heartbeat.service.test.js +61 -0
  281. package/dist-server/server/modules/websocket/tests/websocket-heartbeat.service.test.js.map +1 -0
  282. package/dist-server/server/modules/worktrees/index.js +3 -0
  283. package/dist-server/server/modules/worktrees/index.js.map +1 -0
  284. package/dist-server/server/modules/worktrees/services/worktree-create-and-open.service.js +37 -0
  285. package/dist-server/server/modules/worktrees/services/worktree-create-and-open.service.js.map +1 -0
  286. package/dist-server/server/modules/worktrees/services/worktree-create.service.js +67 -0
  287. package/dist-server/server/modules/worktrees/services/worktree-create.service.js.map +1 -0
  288. package/dist-server/server/modules/worktrees/services/worktree-git.service.js +172 -0
  289. package/dist-server/server/modules/worktrees/services/worktree-git.service.js.map +1 -0
  290. package/dist-server/server/modules/worktrees/services/worktree-list.service.js +91 -0
  291. package/dist-server/server/modules/worktrees/services/worktree-list.service.js.map +1 -0
  292. package/dist-server/server/modules/worktrees/services/worktree-merge.service.js +118 -0
  293. package/dist-server/server/modules/worktrees/services/worktree-merge.service.js.map +1 -0
  294. package/dist-server/server/modules/worktrees/services/worktree-open.service.js +58 -0
  295. package/dist-server/server/modules/worktrees/services/worktree-open.service.js.map +1 -0
  296. package/dist-server/server/modules/worktrees/services/worktree-remove.service.js +65 -0
  297. package/dist-server/server/modules/worktrees/services/worktree-remove.service.js.map +1 -0
  298. package/dist-server/server/modules/worktrees/tests/worktree-create-and-open.service.test.js +58 -0
  299. package/dist-server/server/modules/worktrees/tests/worktree-create-and-open.service.test.js.map +1 -0
  300. package/dist-server/server/modules/worktrees/tests/worktree-create.service.test.js +85 -0
  301. package/dist-server/server/modules/worktrees/tests/worktree-create.service.test.js.map +1 -0
  302. package/dist-server/server/modules/worktrees/tests/worktree-git.service.test.js +58 -0
  303. package/dist-server/server/modules/worktrees/tests/worktree-git.service.test.js.map +1 -0
  304. package/dist-server/server/modules/worktrees/tests/worktree-list.service.test.js +34 -0
  305. package/dist-server/server/modules/worktrees/tests/worktree-list.service.test.js.map +1 -0
  306. package/dist-server/server/modules/worktrees/tests/worktree-merge.service.test.js +137 -0
  307. package/dist-server/server/modules/worktrees/tests/worktree-merge.service.test.js.map +1 -0
  308. package/dist-server/server/modules/worktrees/tests/worktree-open.service.test.js +99 -0
  309. package/dist-server/server/modules/worktrees/tests/worktree-open.service.test.js.map +1 -0
  310. package/dist-server/server/modules/worktrees/tests/worktree-remove.service.test.js +157 -0
  311. package/dist-server/server/modules/worktrees/tests/worktree-remove.service.test.js.map +1 -0
  312. package/dist-server/server/modules/worktrees/tests/worktrees.routes.test.js +167 -0
  313. package/dist-server/server/modules/worktrees/tests/worktrees.routes.test.js.map +1 -0
  314. package/dist-server/server/modules/worktrees/worktrees.module.js +97 -0
  315. package/dist-server/server/modules/worktrees/worktrees.module.js.map +1 -0
  316. package/dist-server/server/modules/worktrees/worktrees.routes.js +84 -0
  317. package/dist-server/server/modules/worktrees/worktrees.routes.js.map +1 -0
  318. package/dist-server/server/shared/image-attachments.js +90 -17
  319. package/dist-server/server/shared/image-attachments.js.map +1 -1
  320. package/dist-server/server/shared/tests/image-attachments.test.js +43 -1
  321. package/dist-server/server/shared/tests/image-attachments.test.js.map +1 -1
  322. package/dist-server/server/shared/utils.js +66 -142
  323. package/dist-server/server/shared/utils.js.map +1 -1
  324. package/package.json +9 -5
  325. package/server/index.ts +401 -0
  326. package/server/{load-env.js → load-env.ts} +18 -5
  327. package/server/modules/agent/agent.module.ts +51 -0
  328. package/server/modules/agent/agent.routes.ts +1287 -0
  329. package/server/modules/agent/index.ts +2 -0
  330. package/server/modules/agent/tests/agent.routes.test.ts +205 -0
  331. package/server/modules/assets/assets.routes.ts +63 -16
  332. package/server/modules/assets/index.ts +2 -2
  333. package/server/modules/assets/services/image-assets.service.ts +46 -1
  334. package/server/modules/assets/tests/image-assets.service.test.ts +28 -0
  335. package/server/{middleware/auth.js → modules/auth/auth.middleware.ts} +38 -7
  336. package/server/modules/auth/auth.module.ts +38 -0
  337. package/server/modules/auth/auth.routes.ts +57 -0
  338. package/server/modules/auth/auth.service.ts +155 -0
  339. package/server/modules/auth/index.ts +9 -0
  340. package/server/modules/auth/tests/auth.service.test.ts +95 -0
  341. package/server/{browser-use-mcp.ts → modules/browser-use/browser-use-mcp.ts} +3 -1
  342. package/server/modules/browser-use/browser-use.service.ts +3 -4
  343. package/server/modules/browser-use/index.ts +8 -0
  344. package/server/modules/cli/cli.module.ts +96 -0
  345. package/server/modules/cli/cli.service.ts +281 -0
  346. package/server/modules/cli/cli.ts +13 -0
  347. package/server/modules/cli/index.ts +2 -0
  348. package/server/modules/cli/sandbox.service.ts +413 -0
  349. package/server/modules/cli/tests/cli.service.test.ts +91 -0
  350. package/server/modules/cli/tests/sandbox.service.test.ts +61 -0
  351. package/server/modules/commands/commands.module.ts +22 -0
  352. package/server/{routes/commands.js → modules/commands/commands.routes.ts} +46 -38
  353. package/server/modules/commands/index.ts +2 -0
  354. package/server/modules/commands/tests/commands.test.ts +114 -0
  355. package/server/modules/database/index.ts +3 -0
  356. package/server/modules/database/migrations.ts +35 -0
  357. package/server/modules/database/repositories/provider-models.ts +168 -0
  358. package/server/modules/database/repositories/sessions.db.ts +103 -8
  359. package/server/modules/database/schema.ts +30 -0
  360. package/server/modules/database/tests/provider-models.db.integration.test.ts +125 -0
  361. package/server/modules/database/tests/sessions-provider-mapping.test.ts +2 -1
  362. package/server/modules/database/tests/sessions.db.integration.test.ts +32 -0
  363. package/server/modules/file-tree/file-tree.module.ts +116 -0
  364. package/server/modules/file-tree/file-tree.routes.ts +258 -0
  365. package/server/modules/file-tree/file-tree.service.ts +664 -0
  366. package/server/modules/file-tree/index.ts +2 -0
  367. package/server/modules/file-tree/tests/file-tree.routes.test.ts +157 -0
  368. package/server/modules/file-tree/tests/file-tree.service.test.ts +317 -0
  369. package/server/modules/git/git-parsing.service.ts +66 -0
  370. package/server/modules/git/git.module.ts +22 -0
  371. package/server/{routes/git.js → modules/git/git.routes.ts} +91 -132
  372. package/server/modules/git/index.ts +2 -0
  373. package/server/modules/git/tests/git-init.routes.test.ts +52 -0
  374. package/server/{routes/git.test.js → modules/git/tests/git.test.ts} +3 -3
  375. package/server/modules/notifications/index.ts +9 -0
  376. package/server/modules/notifications/tests/notification-orchestrator.integration.test.ts +55 -0
  377. package/server/{services/vapid-keys.js → modules/notifications/vapid-keys.service.ts} +3 -1
  378. package/server/modules/plugins/index.ts +9 -0
  379. package/server/{utils/plugin-process-manager.js → modules/plugins/plugin-process.service.ts} +3 -1
  380. package/server/{utils/plugin-loader.js → modules/plugins/plugin-registry.service.ts} +1 -0
  381. package/server/modules/plugins/plugins.module.ts +33 -0
  382. package/server/modules/plugins/plugins.routes.ts +66 -0
  383. package/server/modules/plugins/plugins.service.ts +147 -0
  384. package/server/modules/plugins/tests/plugins.service.test.ts +32 -0
  385. package/server/modules/projects/index.ts +5 -0
  386. package/server/modules/providers/README.md +41 -9
  387. package/server/modules/providers/index.ts +4 -0
  388. package/server/modules/providers/list/claude/claude-auth.provider.ts +8 -0
  389. package/server/modules/providers/list/claude/claude-models.provider.ts +47 -26
  390. package/server/{claude-sdk.js → modules/providers/list/claude/claude-runtime.provider.js} +73 -59
  391. package/server/modules/providers/list/claude/claude-session-synchronizer.provider.ts +6 -4
  392. package/server/modules/providers/list/claude/claude-sessions.provider.ts +27 -4
  393. package/server/modules/providers/list/claude/claude.provider.ts +3 -0
  394. package/server/modules/providers/list/codex/codex-models.provider.ts +58 -108
  395. package/server/{openai-codex.js → modules/providers/list/codex/codex-runtime.provider.js} +54 -36
  396. package/server/modules/providers/list/codex/codex-session-synchronizer.provider.ts +1 -60
  397. package/server/modules/providers/list/codex/codex-sessions.provider.ts +331 -7
  398. package/server/modules/providers/list/codex/codex-skills.provider.ts +5 -0
  399. package/server/modules/providers/list/codex/codex.provider.ts +3 -0
  400. package/server/modules/providers/list/cursor/cursor-models.provider.ts +32 -719
  401. package/server/{cursor-cli.js → modules/providers/list/cursor/cursor-runtime.provider.js} +58 -27
  402. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +26 -15
  403. package/server/modules/providers/list/cursor/cursor.provider.ts +3 -0
  404. package/server/modules/providers/list/opencode/opencode-models.provider.ts +112 -423
  405. package/server/{opencode-cli.js → modules/providers/list/opencode/opencode-runtime.provider.js} +56 -28
  406. package/server/{opencode-cli.test.js → modules/providers/list/opencode/opencode-runtime.provider.test.js} +41 -3
  407. package/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.ts +0 -13
  408. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +13 -5
  409. package/server/modules/providers/list/opencode/opencode.provider.ts +3 -0
  410. package/server/modules/providers/provider.routes.ts +228 -39
  411. package/server/modules/providers/services/provider-capabilities.service.ts +7 -1
  412. package/server/modules/providers/services/provider-models.service.ts +312 -269
  413. package/server/modules/providers/services/provider-runtime.service.ts +108 -0
  414. package/server/modules/providers/services/provider-token-usage.service.ts +357 -0
  415. package/server/modules/providers/services/session-conversations-search.service.ts +12 -4
  416. package/server/modules/providers/services/sessions-watcher.service.ts +2 -0
  417. package/server/modules/providers/services/sessions.service.ts +166 -3
  418. package/server/modules/providers/shared/base/abstract.provider.ts +4 -3
  419. package/server/modules/providers/tests/claude-auth.test.ts +150 -0
  420. package/server/modules/providers/tests/claude-sessions.test.ts +61 -0
  421. package/server/modules/providers/tests/codex-sessions.test.ts +83 -4
  422. package/server/modules/providers/tests/opencode-models.test.ts +34 -135
  423. package/server/modules/providers/tests/opencode-sessions.test.ts +5 -5
  424. package/server/modules/providers/tests/{provider-image-history.test.ts → provider-attachment-history.test.ts} +68 -1
  425. package/server/modules/providers/tests/provider-models.service.test.ts +300 -296
  426. package/server/modules/providers/tests/provider-runtime.service.test.ts +138 -0
  427. package/server/modules/providers/tests/provider-token-usage.service.test.ts +186 -0
  428. package/server/modules/providers/tests/provider.routes.test.ts +183 -0
  429. package/server/modules/providers/tests/sessions-details.test.ts +73 -0
  430. package/server/modules/providers/tests/sessions.service.test.ts +127 -0
  431. package/server/modules/providers/tests/skills.test.ts +9 -2
  432. package/server/modules/settings/index.ts +2 -0
  433. package/server/modules/settings/settings.module.ts +50 -0
  434. package/server/modules/settings/settings.routes.ts +51 -0
  435. package/server/modules/settings/settings.service.ts +186 -0
  436. package/server/modules/settings/tests/settings.service.test.ts +54 -0
  437. package/server/modules/system/index.ts +2 -0
  438. package/server/modules/system/system.module.ts +62 -0
  439. package/server/modules/system/system.routes.ts +21 -0
  440. package/server/modules/system/system.service.ts +76 -0
  441. package/server/modules/system/tests/system.service.test.ts +118 -0
  442. package/server/modules/taskmaster/index.ts +2 -0
  443. package/server/modules/taskmaster/taskmaster.module.ts +24 -0
  444. package/server/modules/taskmaster/taskmaster.routes.ts +1482 -0
  445. package/server/modules/taskmaster/taskmaster.service.ts +132 -0
  446. package/server/modules/taskmaster/tests/taskmaster.routes.test.ts +144 -0
  447. package/server/modules/taskmaster/tests/taskmaster.service.test.ts +97 -0
  448. package/server/modules/user/index.ts +2 -0
  449. package/server/modules/user/tests/user.service.test.ts +61 -0
  450. package/server/modules/user/user.module.ts +58 -0
  451. package/server/modules/user/user.routes.ts +50 -0
  452. package/server/modules/user/user.service.ts +85 -0
  453. package/server/modules/voice/index.ts +2 -0
  454. package/server/modules/voice/tests/voice.service.test.ts +98 -0
  455. package/server/modules/voice/voice.module.ts +47 -0
  456. package/server/modules/voice/voice.routes.ts +113 -0
  457. package/server/modules/voice/voice.service.ts +192 -0
  458. package/server/modules/websocket/README.md +7 -7
  459. package/server/modules/websocket/services/chat-session-writer.service.ts +2 -2
  460. package/server/modules/websocket/services/chat-websocket.service.ts +77 -61
  461. package/server/modules/websocket/services/shell-websocket.service.ts +88 -12
  462. package/server/modules/websocket/services/websocket-server.service.ts +63 -19
  463. package/server/modules/websocket/tests/{chat-image-filter.test.ts → chat-attachment-filter.test.ts} +17 -2
  464. package/server/modules/websocket/tests/shell-websocket.service.test.ts +119 -0
  465. package/server/modules/websocket/tests/websocket-heartbeat.service.test.ts +78 -0
  466. package/server/modules/worktrees/index.ts +2 -0
  467. package/server/modules/worktrees/services/worktree-create-and-open.service.ts +53 -0
  468. package/server/modules/worktrees/services/worktree-create.service.ts +104 -0
  469. package/server/modules/worktrees/services/worktree-git.service.ts +207 -0
  470. package/server/modules/worktrees/services/worktree-list.service.ts +143 -0
  471. package/server/modules/worktrees/services/worktree-merge.service.ts +157 -0
  472. package/server/modules/worktrees/services/worktree-open.service.ts +85 -0
  473. package/server/modules/worktrees/services/worktree-remove.service.ts +88 -0
  474. package/server/modules/worktrees/tests/worktree-create-and-open.service.test.ts +68 -0
  475. package/server/modules/worktrees/tests/worktree-create.service.test.ts +142 -0
  476. package/server/modules/worktrees/tests/worktree-git.service.test.ts +84 -0
  477. package/server/modules/worktrees/tests/worktree-list.service.test.ts +45 -0
  478. package/server/modules/worktrees/tests/worktree-merge.service.test.ts +213 -0
  479. package/server/modules/worktrees/tests/worktree-open.service.test.ts +122 -0
  480. package/server/modules/worktrees/tests/worktree-remove.service.test.ts +227 -0
  481. package/server/modules/worktrees/tests/worktrees.routes.test.ts +199 -0
  482. package/server/modules/worktrees/worktrees.module.ts +113 -0
  483. package/server/modules/worktrees/worktrees.routes.ts +116 -0
  484. package/server/shared/image-attachments.ts +112 -18
  485. package/server/shared/interfaces.ts +33 -25
  486. package/server/shared/tests/image-attachments.test.ts +55 -0
  487. package/server/shared/types.ts +685 -36
  488. package/server/shared/utils.ts +77 -212
  489. package/dist/assets/index-CcCsKitq.js +0 -1423
  490. package/dist/assets/index-DLmhQ15L.css +0 -32
  491. package/dist-server/server/browser-use-mcp.js.map +0 -1
  492. package/dist-server/server/claude-sdk.js.map +0 -1
  493. package/dist-server/server/cli.js +0 -647
  494. package/dist-server/server/cli.js.map +0 -1
  495. package/dist-server/server/cursor-cli.js.map +0 -1
  496. package/dist-server/server/middleware/auth.js.map +0 -1
  497. package/dist-server/server/modules/providers/tests/provider-image-history.test.js.map +0 -1
  498. package/dist-server/server/modules/websocket/tests/chat-image-filter.test.js.map +0 -1
  499. package/dist-server/server/openai-codex.js.map +0 -1
  500. package/dist-server/server/opencode-cli.js.map +0 -1
  501. package/dist-server/server/opencode-cli.test.js.map +0 -1
  502. package/dist-server/server/routes/agent.js +0 -1155
  503. package/dist-server/server/routes/agent.js.map +0 -1
  504. package/dist-server/server/routes/auth.js +0 -119
  505. package/dist-server/server/routes/auth.js.map +0 -1
  506. package/dist-server/server/routes/commands.js +0 -492
  507. package/dist-server/server/routes/commands.js.map +0 -1
  508. package/dist-server/server/routes/cursor.js +0 -49
  509. package/dist-server/server/routes/cursor.js.map +0 -1
  510. package/dist-server/server/routes/git.js +0 -1389
  511. package/dist-server/server/routes/git.js.map +0 -1
  512. package/dist-server/server/routes/git.test.js.map +0 -1
  513. package/dist-server/server/routes/mcp-utils.js +0 -29
  514. package/dist-server/server/routes/mcp-utils.js.map +0 -1
  515. package/dist-server/server/routes/plugins.js +0 -266
  516. package/dist-server/server/routes/plugins.js.map +0 -1
  517. package/dist-server/server/routes/settings.js +0 -249
  518. package/dist-server/server/routes/settings.js.map +0 -1
  519. package/dist-server/server/routes/taskmaster.js +0 -1362
  520. package/dist-server/server/routes/taskmaster.js.map +0 -1
  521. package/dist-server/server/routes/tests/commands.test.js +0 -76
  522. package/dist-server/server/routes/tests/commands.test.js.map +0 -1
  523. package/dist-server/server/routes/user.js +0 -116
  524. package/dist-server/server/routes/user.js.map +0 -1
  525. package/dist-server/server/services/notification-orchestrator.js +0 -2
  526. package/dist-server/server/services/notification-orchestrator.js.map +0 -1
  527. package/dist-server/server/services/tests/notification-orchestrator.test.js +0 -64
  528. package/dist-server/server/services/tests/notification-orchestrator.test.js.map +0 -1
  529. package/dist-server/server/services/vapid-keys.js.map +0 -1
  530. package/dist-server/server/utils/colors.js +0 -20
  531. package/dist-server/server/utils/colors.js.map +0 -1
  532. package/dist-server/server/utils/commandParser.js +0 -255
  533. package/dist-server/server/utils/commandParser.js.map +0 -1
  534. package/dist-server/server/utils/gitConfig.js +0 -37
  535. package/dist-server/server/utils/gitConfig.js.map +0 -1
  536. package/dist-server/server/utils/mcp-detector.js +0 -134
  537. package/dist-server/server/utils/mcp-detector.js.map +0 -1
  538. package/dist-server/server/utils/plugin-loader.js.map +0 -1
  539. package/dist-server/server/utils/plugin-process-manager.js.map +0 -1
  540. package/dist-server/server/utils/runtime-paths.js +0 -30
  541. package/dist-server/server/utils/runtime-paths.js.map +0 -1
  542. package/dist-server/server/utils/taskmaster-websocket.js +0 -124
  543. package/dist-server/server/utils/taskmaster-websocket.js.map +0 -1
  544. package/dist-server/server/utils/url-detection.js +0 -58
  545. package/dist-server/server/utils/url-detection.js.map +0 -1
  546. package/dist-server/server/voice-proxy.js +0 -226
  547. package/dist-server/server/voice-proxy.js.map +0 -1
  548. package/server/cli.js +0 -695
  549. package/server/index.js +0 -1651
  550. package/server/routes/agent.js +0 -1257
  551. package/server/routes/auth.js +0 -137
  552. package/server/routes/cursor.js +0 -52
  553. package/server/routes/mcp-utils.js +0 -31
  554. package/server/routes/plugins.js +0 -307
  555. package/server/routes/settings.js +0 -282
  556. package/server/routes/taskmaster.js +0 -1470
  557. package/server/routes/tests/commands.test.js +0 -82
  558. package/server/routes/user.js +0 -124
  559. package/server/services/notification-orchestrator.js +0 -7
  560. package/server/services/tests/notification-orchestrator.test.js +0 -80
  561. package/server/utils/colors.js +0 -21
  562. package/server/utils/commandParser.js +0 -305
  563. package/server/utils/gitConfig.js +0 -35
  564. package/server/utils/mcp-detector.js +0 -147
  565. package/server/utils/runtime-paths.js +0 -37
  566. package/server/utils/taskmaster-websocket.js +0 -135
  567. package/server/utils/url-detection.js +0 -71
  568. package/server/voice-proxy.js +0 -224
  569. /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,3 @@
1
+ // commandsRoutes: used by the server entrypoint to mount protected slash-command endpoints.
2
+ export { commandsRoutes } from './commands.module.js';
3
+ //# sourceMappingURL=index.js.map
@@ -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 = COALESCE(?, 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 = COALESCE(excluded.custom_name, sessions.custom_name)`).run(providerSessionId, provider, providerSessionId, customName ?? null, normalizedProjectPath, jsonlPath ?? null, createdAtValue, updatedAtValue);
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, NULL, ?, NULL, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)`).run(sessionId, provider, normalizedProjectPath);
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":"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"}
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;;;;;;;;;;;;;;;;;;;;;CAqBxC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;CAKlC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;CAM1C,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;CAC5B,CAAC"}
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"}