@cloudcli-ai/cloudcli 1.31.5 → 1.33.0

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 (252) hide show
  1. package/README.de.md +1 -1
  2. package/README.ko.md +1 -1
  3. package/README.md +1 -1
  4. package/README.ru.md +1 -1
  5. package/README.tr.md +1 -1
  6. package/README.zh-CN.md +1 -1
  7. package/dist/api-docs.html +6 -7
  8. package/dist/assets/index-MOIvpy53.css +32 -0
  9. package/dist/assets/{index-DqMVUeZS.js → index-skXSjBje.js} +290 -270
  10. package/dist/index.html +2 -2
  11. package/dist/modelConstants.js +841 -0
  12. package/dist-server/server/claude-sdk.js +67 -39
  13. package/dist-server/server/claude-sdk.js.map +1 -1
  14. package/dist-server/server/cursor-cli.js +6 -9
  15. package/dist-server/server/cursor-cli.js.map +1 -1
  16. package/dist-server/server/gemini-cli.js +163 -35
  17. package/dist-server/server/gemini-cli.js.map +1 -1
  18. package/dist-server/server/gemini-response-handler.js +34 -0
  19. package/dist-server/server/gemini-response-handler.js.map +1 -1
  20. package/dist-server/server/index.js +131 -19
  21. package/dist-server/server/index.js.map +1 -1
  22. package/dist-server/server/modules/database/index.js +1 -0
  23. package/dist-server/server/modules/database/index.js.map +1 -1
  24. package/dist-server/server/modules/database/migrations.js +11 -0
  25. package/dist-server/server/modules/database/migrations.js.map +1 -1
  26. package/dist-server/server/modules/database/repositories/projects.db.js +12 -0
  27. package/dist-server/server/modules/database/repositories/projects.db.js.map +1 -1
  28. package/dist-server/server/modules/database/repositories/sessions.db.integration.test.js +61 -0
  29. package/dist-server/server/modules/database/repositories/sessions.db.integration.test.js.map +1 -0
  30. package/dist-server/server/modules/database/repositories/sessions.db.js +49 -8
  31. package/dist-server/server/modules/database/repositories/sessions.db.js.map +1 -1
  32. package/dist-server/server/modules/database/schema.js +1 -0
  33. package/dist-server/server/modules/database/schema.js.map +1 -1
  34. package/dist-server/server/modules/projects/projects.routes.js +12 -3
  35. package/dist-server/server/modules/projects/projects.routes.js.map +1 -1
  36. package/dist-server/server/modules/projects/services/project-delete.service.js +14 -1
  37. package/dist-server/server/modules/projects/services/project-delete.service.js.map +1 -1
  38. package/dist-server/server/modules/projects/services/project-management.service.js +1 -0
  39. package/dist-server/server/modules/projects/services/project-management.service.js.map +1 -1
  40. package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js +47 -0
  41. package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js.map +1 -1
  42. package/dist-server/server/modules/providers/index.js +1 -0
  43. package/dist-server/server/modules/providers/index.js.map +1 -1
  44. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js +27 -7
  45. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js.map +1 -1
  46. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +141 -0
  47. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js.map +1 -0
  48. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js +55 -2
  49. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js.map +1 -1
  50. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js +153 -14
  51. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js.map +1 -1
  52. package/dist-server/server/modules/providers/list/claude/claude-skills.provider.js +198 -0
  53. package/dist-server/server/modules/providers/list/claude/claude-skills.provider.js.map +1 -0
  54. package/dist-server/server/modules/providers/list/claude/claude.provider.js +4 -0
  55. package/dist-server/server/modules/providers/list/claude/claude.provider.js.map +1 -1
  56. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js +84 -0
  57. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js.map +1 -0
  58. package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js +54 -2
  59. package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js.map +1 -1
  60. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js +21 -6
  61. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js.map +1 -1
  62. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js +50 -0
  63. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js.map +1 -0
  64. package/dist-server/server/modules/providers/list/codex/codex.provider.js +4 -0
  65. package/dist-server/server/modules/providers/list/codex/codex.provider.js.map +1 -1
  66. package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js +754 -0
  67. package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js.map +1 -0
  68. package/dist-server/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.js +8 -30
  69. package/dist-server/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.js.map +1 -1
  70. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js +187 -24
  71. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js.map +1 -1
  72. package/dist-server/server/modules/providers/list/cursor/cursor-skills.provider.js +28 -0
  73. package/dist-server/server/modules/providers/list/cursor/cursor-skills.provider.js.map +1 -0
  74. package/dist-server/server/modules/providers/list/cursor/cursor.provider.js +4 -0
  75. package/dist-server/server/modules/providers/list/cursor/cursor.provider.js.map +1 -1
  76. package/dist-server/server/modules/providers/list/gemini/gemini-auth.provider.js +125 -2
  77. package/dist-server/server/modules/providers/list/gemini/gemini-auth.provider.js.map +1 -1
  78. package/dist-server/server/modules/providers/list/gemini/gemini-models.provider.js +27 -0
  79. package/dist-server/server/modules/providers/list/gemini/gemini-models.provider.js.map +1 -0
  80. package/dist-server/server/modules/providers/list/gemini/gemini-session-synchronizer.provider.js +24 -8
  81. package/dist-server/server/modules/providers/list/gemini/gemini-session-synchronizer.provider.js.map +1 -1
  82. package/dist-server/server/modules/providers/list/gemini/gemini-sessions.provider.js +10 -10
  83. package/dist-server/server/modules/providers/list/gemini/gemini-sessions.provider.js.map +1 -1
  84. package/dist-server/server/modules/providers/list/gemini/gemini-skills.provider.js +33 -0
  85. package/dist-server/server/modules/providers/list/gemini/gemini-skills.provider.js.map +1 -0
  86. package/dist-server/server/modules/providers/list/gemini/gemini.provider.js +4 -0
  87. package/dist-server/server/modules/providers/list/gemini/gemini.provider.js.map +1 -1
  88. package/dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js +92 -0
  89. package/dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js.map +1 -0
  90. package/dist-server/server/modules/providers/list/opencode/opencode-mcp.provider.js +181 -0
  91. package/dist-server/server/modules/providers/list/opencode/opencode-mcp.provider.js.map +1 -0
  92. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js +267 -0
  93. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js.map +1 -0
  94. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js +115 -0
  95. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js.map +1 -0
  96. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js +410 -0
  97. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js.map +1 -0
  98. package/dist-server/server/modules/providers/list/opencode/opencode-skills.provider.js +62 -0
  99. package/dist-server/server/modules/providers/list/opencode/opencode-skills.provider.js.map +1 -0
  100. package/dist-server/server/modules/providers/list/opencode/opencode.provider.js +19 -0
  101. package/dist-server/server/modules/providers/list/opencode/opencode.provider.js.map +1 -0
  102. package/dist-server/server/modules/providers/provider.registry.js +2 -0
  103. package/dist-server/server/modules/providers/provider.registry.js.map +1 -1
  104. package/dist-server/server/modules/providers/provider.routes.js +65 -3
  105. package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
  106. package/dist-server/server/modules/providers/services/mcp.service.js +1 -9
  107. package/dist-server/server/modules/providers/services/mcp.service.js.map +1 -1
  108. package/dist-server/server/modules/providers/services/provider-models.service.js +199 -0
  109. package/dist-server/server/modules/providers/services/provider-models.service.js.map +1 -0
  110. package/dist-server/server/modules/providers/services/session-conversations-search.service.js +129 -13
  111. package/dist-server/server/modules/providers/services/session-conversations-search.service.js.map +1 -1
  112. package/dist-server/server/modules/providers/services/session-synchronizer.service.js +1 -0
  113. package/dist-server/server/modules/providers/services/session-synchronizer.service.js.map +1 -1
  114. package/dist-server/server/modules/providers/services/sessions-watcher.service.js +13 -4
  115. package/dist-server/server/modules/providers/services/sessions-watcher.service.js.map +1 -1
  116. package/dist-server/server/modules/providers/services/sessions.service.js +81 -7
  117. package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -1
  118. package/dist-server/server/modules/providers/services/skills.service.js +11 -0
  119. package/dist-server/server/modules/providers/services/skills.service.js.map +1 -0
  120. package/dist-server/server/modules/providers/shared/base/abstract.provider.js.map +1 -1
  121. package/dist-server/server/modules/providers/shared/skills/skills.provider.js +45 -0
  122. package/dist-server/server/modules/providers/shared/skills/skills.provider.js.map +1 -0
  123. package/dist-server/server/modules/providers/tests/mcp.test.js +73 -6
  124. package/dist-server/server/modules/providers/tests/mcp.test.js.map +1 -1
  125. package/dist-server/server/modules/providers/tests/opencode-models.test.js +66 -0
  126. package/dist-server/server/modules/providers/tests/opencode-models.test.js.map +1 -0
  127. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +262 -0
  128. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js.map +1 -0
  129. package/dist-server/server/modules/providers/tests/provider-models.service.test.js +270 -0
  130. package/dist-server/server/modules/providers/tests/provider-models.service.test.js.map +1 -0
  131. package/dist-server/server/modules/providers/tests/skills.test.js +259 -0
  132. package/dist-server/server/modules/providers/tests/skills.test.js.map +1 -0
  133. package/dist-server/server/modules/websocket/services/chat-websocket.service.js +12 -1
  134. package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -1
  135. package/dist-server/server/modules/websocket/services/plugin-websocket-proxy.service.js +4 -4
  136. package/dist-server/server/modules/websocket/services/plugin-websocket-proxy.service.js.map +1 -1
  137. package/dist-server/server/modules/websocket/services/shell-websocket.service.js +9 -1
  138. package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -1
  139. package/dist-server/server/openai-codex.js +87 -29
  140. package/dist-server/server/openai-codex.js.map +1 -1
  141. package/dist-server/server/opencode-cli.js +287 -0
  142. package/dist-server/server/opencode-cli.js.map +1 -0
  143. package/dist-server/server/opencode-cli.test.js +84 -0
  144. package/dist-server/server/opencode-cli.test.js.map +1 -0
  145. package/dist-server/server/routes/agent.js +21 -8
  146. package/dist-server/server/routes/agent.js.map +1 -1
  147. package/dist-server/server/routes/commands.js +204 -211
  148. package/dist-server/server/routes/commands.js.map +1 -1
  149. package/dist-server/server/routes/cursor.js +2 -2
  150. package/dist-server/server/routes/cursor.js.map +1 -1
  151. package/dist-server/server/routes/settings.js +0 -10
  152. package/dist-server/server/routes/settings.js.map +1 -1
  153. package/dist-server/server/routes/tests/commands.test.js +76 -0
  154. package/dist-server/server/routes/tests/commands.test.js.map +1 -0
  155. package/dist-server/server/shared/claude-cli-path.js +103 -0
  156. package/dist-server/server/shared/claude-cli-path.js.map +1 -0
  157. package/dist-server/server/shared/claude-cli-path.test.js +45 -0
  158. package/dist-server/server/shared/claude-cli-path.test.js.map +1 -0
  159. package/dist-server/server/{utils → shared}/frontmatter.js +3 -3
  160. package/dist-server/server/shared/frontmatter.js.map +1 -0
  161. package/dist-server/server/shared/utils.js +368 -0
  162. package/dist-server/server/shared/utils.js.map +1 -1
  163. package/dist-server/server/utils/commandParser.js +3 -3
  164. package/dist-server/server/utils/commandParser.js.map +1 -1
  165. package/package.json +3 -1
  166. package/public/api-docs.html +878 -0
  167. package/public/modelConstants.js +841 -0
  168. package/server/claude-sdk.js +74 -40
  169. package/server/cursor-cli.js +6 -11
  170. package/server/gemini-cli.js +197 -43
  171. package/server/gemini-response-handler.js +38 -0
  172. package/server/index.js +144 -19
  173. package/server/modules/database/index.ts +1 -0
  174. package/server/modules/database/migrations.ts +12 -0
  175. package/server/modules/database/repositories/projects.db.ts +13 -0
  176. package/server/modules/database/repositories/sessions.db.integration.test.ts +72 -0
  177. package/server/modules/database/repositories/sessions.db.ts +60 -9
  178. package/server/modules/database/schema.ts +1 -0
  179. package/server/modules/projects/projects.routes.ts +20 -3
  180. package/server/modules/projects/services/project-delete.service.ts +16 -1
  181. package/server/modules/projects/services/project-management.service.ts +2 -0
  182. package/server/modules/projects/services/projects-with-sessions-fetch.service.ts +71 -1
  183. package/server/modules/providers/README.md +354 -0
  184. package/server/modules/providers/index.ts +2 -1
  185. package/server/modules/providers/list/claude/claude-auth.provider.ts +38 -13
  186. package/server/modules/providers/list/claude/claude-models.provider.ts +191 -0
  187. package/server/modules/providers/list/claude/claude-session-synchronizer.provider.ts +68 -2
  188. package/server/modules/providers/list/claude/claude-sessions.provider.ts +175 -14
  189. package/server/modules/providers/list/claude/claude-skills.provider.ts +257 -0
  190. package/server/modules/providers/list/claude/claude.provider.ts +11 -1
  191. package/server/modules/providers/list/codex/codex-models.provider.ts +125 -0
  192. package/server/modules/providers/list/codex/codex-session-synchronizer.provider.ts +62 -2
  193. package/server/modules/providers/list/codex/codex-sessions.provider.ts +25 -6
  194. package/server/modules/providers/list/codex/codex-skills.provider.ts +60 -0
  195. package/server/modules/providers/list/codex/codex.provider.ts +11 -1
  196. package/server/modules/providers/list/cursor/cursor-models.provider.ts +820 -0
  197. package/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.ts +17 -40
  198. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +216 -26
  199. package/server/modules/providers/list/cursor/cursor-skills.provider.ts +31 -0
  200. package/server/modules/providers/list/cursor/cursor.provider.ts +11 -1
  201. package/server/modules/providers/list/gemini/gemini-auth.provider.ts +158 -2
  202. package/server/modules/providers/list/gemini/gemini-models.provider.ts +42 -0
  203. package/server/modules/providers/list/gemini/gemini-session-synchronizer.provider.ts +24 -20
  204. package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +10 -11
  205. package/server/modules/providers/list/gemini/gemini-skills.provider.ts +36 -0
  206. package/server/modules/providers/list/gemini/gemini.provider.ts +11 -1
  207. package/server/modules/providers/list/opencode/opencode-auth.provider.ts +111 -0
  208. package/server/modules/providers/list/opencode/opencode-mcp.provider.ts +228 -0
  209. package/server/modules/providers/list/opencode/opencode-models.provider.ts +339 -0
  210. package/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.ts +157 -0
  211. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +506 -0
  212. package/server/modules/providers/list/opencode/opencode-skills.provider.ts +78 -0
  213. package/server/modules/providers/list/opencode/opencode.provider.ts +27 -0
  214. package/server/modules/providers/provider.registry.ts +2 -0
  215. package/server/modules/providers/provider.routes.ts +97 -4
  216. package/server/modules/providers/services/mcp.service.ts +1 -12
  217. package/server/modules/providers/services/provider-models.service.ts +325 -0
  218. package/server/modules/providers/services/session-conversations-search.service.ts +162 -13
  219. package/server/modules/providers/services/session-synchronizer.service.ts +1 -0
  220. package/server/modules/providers/services/sessions-watcher.service.ts +14 -4
  221. package/server/modules/providers/services/sessions.service.ts +112 -9
  222. package/server/modules/providers/services/skills.service.ts +15 -0
  223. package/server/modules/providers/shared/base/abstract.provider.ts +4 -0
  224. package/server/modules/providers/shared/skills/skills.provider.ts +64 -0
  225. package/server/modules/providers/tests/mcp.test.ts +93 -6
  226. package/server/modules/providers/tests/opencode-models.test.ts +73 -0
  227. package/server/modules/providers/tests/opencode-sessions.test.ts +334 -0
  228. package/server/modules/providers/tests/provider-models.service.test.ts +318 -0
  229. package/server/modules/providers/tests/skills.test.ts +512 -0
  230. package/server/modules/websocket/services/chat-websocket.service.ts +15 -1
  231. package/server/modules/websocket/services/plugin-websocket-proxy.service.ts +4 -4
  232. package/server/modules/websocket/services/shell-websocket.service.ts +9 -0
  233. package/server/openai-codex.js +99 -30
  234. package/server/opencode-cli.js +336 -0
  235. package/server/opencode-cli.test.js +95 -0
  236. package/server/routes/agent.js +22 -8
  237. package/server/routes/commands.js +256 -233
  238. package/server/routes/cursor.js +2 -2
  239. package/server/routes/settings.js +1 -10
  240. package/server/routes/tests/commands.test.js +82 -0
  241. package/server/shared/claude-cli-path.test.ts +61 -0
  242. package/server/shared/claude-cli-path.ts +139 -0
  243. package/server/{utils/frontmatter.js → shared/frontmatter.ts} +3 -3
  244. package/server/shared/interfaces.ts +64 -0
  245. package/server/shared/types.ts +166 -1
  246. package/server/shared/utils.ts +478 -0
  247. package/server/utils/commandParser.js +5 -3
  248. package/dist/assets/index-6rYG_mRo.css +0 -32
  249. package/dist-server/server/utils/frontmatter.js.map +0 -1
  250. package/dist-server/shared/modelConstants.js +0 -98
  251. package/dist-server/shared/modelConstants.js.map +0 -1
  252. package/shared/modelConstants.js +0 -106
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/mcp.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/mcp.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { buildOpenCodeDefinitionFromIds, parseOpenCodeModelsStdout, } from '../../../modules/providers/list/opencode/opencode-models.provider.js';
4
+ test('OpenCode models provider parses plain CLI output and removes duplicates', () => {
5
+ const ids = parseOpenCodeModelsStdout(`
6
+ opencode/big-pickle
7
+ not a model
8
+ anthropic/claude-opus-4-7-fast
9
+ anthropic/claude-opus-4-7-fast
10
+ openai/gpt-5.5-pro
11
+ `);
12
+ assert.deepEqual(ids, [
13
+ 'opencode/big-pickle',
14
+ 'anthropic/claude-opus-4-7-fast',
15
+ 'openai/gpt-5.5-pro',
16
+ ]);
17
+ });
18
+ test('OpenCode models provider formats frontend labels from provider-prefixed ids', () => {
19
+ const definition = buildOpenCodeDefinitionFromIds([
20
+ 'opencode/deepseek-v4-flash-free',
21
+ 'opencode/nemotron-3-super-free',
22
+ 'anthropic/claude-3-5-sonnet-20241022',
23
+ 'anthropic/claude-opus-4-7-fast',
24
+ 'openai/gpt-5.4-mini-fast',
25
+ 'openai/gpt-5.5-pro',
26
+ 'newprovider/alpha-v12-special-20261231',
27
+ ]);
28
+ assert.deepEqual(definition.OPTIONS, [
29
+ {
30
+ value: 'opencode/deepseek-v4-flash-free',
31
+ label: 'Deepseek V4 Flash Free',
32
+ description: 'opencode - opencode/deepseek-v4-flash-free',
33
+ },
34
+ {
35
+ value: 'opencode/nemotron-3-super-free',
36
+ label: 'Nemotron 3 Super Free',
37
+ description: 'opencode - opencode/nemotron-3-super-free',
38
+ },
39
+ {
40
+ value: 'anthropic/claude-3-5-sonnet-20241022',
41
+ label: 'Claude 3.5 Sonnet (2024-10-22)',
42
+ description: 'anthropic - anthropic/claude-3-5-sonnet-20241022',
43
+ },
44
+ {
45
+ value: 'anthropic/claude-opus-4-7-fast',
46
+ label: 'Claude Opus 4.7 Fast',
47
+ description: 'anthropic - anthropic/claude-opus-4-7-fast',
48
+ },
49
+ {
50
+ value: 'openai/gpt-5.4-mini-fast',
51
+ label: 'GPT-5.4 Mini Fast',
52
+ description: 'openai - openai/gpt-5.4-mini-fast',
53
+ },
54
+ {
55
+ value: 'openai/gpt-5.5-pro',
56
+ label: 'GPT-5.5 Pro',
57
+ description: 'openai - openai/gpt-5.5-pro',
58
+ },
59
+ {
60
+ value: 'newprovider/alpha-v12-special-20261231',
61
+ label: 'Alpha V12 Special (2026-12-31)',
62
+ description: 'newprovider - newprovider/alpha-v12-special-20261231',
63
+ },
64
+ ]);
65
+ });
66
+ //# sourceMappingURL=opencode-models.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-models.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/opencode-models.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,+DAA+D,CAAC;AAEvE,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACnF,MAAM,GAAG,GAAG,yBAAyB,CAAC;;;;;;CAMvC,CAAC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,qBAAqB;QACrB,gCAAgC;QAChC,oBAAoB;KACrB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6EAA6E,EAAE,GAAG,EAAE;IACvF,MAAM,UAAU,GAAG,8BAA8B,CAAC;QAChD,iCAAiC;QACjC,gCAAgC;QAChC,sCAAsC;QACtC,gCAAgC;QAChC,0BAA0B;QAC1B,oBAAoB;QACpB,wCAAwC;KACzC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE;QACnC;YACE,KAAK,EAAE,iCAAiC;YACxC,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EAAE,4CAA4C;SAC1D;QACD;YACE,KAAK,EAAE,gCAAgC;YACvC,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,2CAA2C;SACzD;QACD;YACE,KAAK,EAAE,sCAAsC;YAC7C,KAAK,EAAE,gCAAgC;YACvC,WAAW,EAAE,kDAAkD;SAChE;QACD;YACE,KAAK,EAAE,gCAAgC;YACvC,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,4CAA4C;SAC1D;QACD;YACE,KAAK,EAAE,0BAA0B;YACjC,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,mCAAmC;SACjD;QACD;YACE,KAAK,EAAE,oBAAoB;YAC3B,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,6BAA6B;SAC3C;QACD;YACE,KAAK,EAAE,wCAAwC;YAC/C,KAAK,EAAE,gCAAgC;YACvC,WAAW,EAAE,sDAAsD;SACpE;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,262 @@
1
+ import assert from 'node:assert/strict';
2
+ import { mkdir, mkdtemp, rm } from 'node:fs/promises';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import test from 'node:test';
6
+ import Database from 'better-sqlite3';
7
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
8
+ import { OpenCodeSessionSynchronizer } from '../../../modules/providers/list/opencode/opencode-session-synchronizer.provider.js';
9
+ import { OpenCodeSessionsProvider } from '../../../modules/providers/list/opencode/opencode-sessions.provider.js';
10
+ const patchHomeDir = (nextHomeDir) => {
11
+ const original = os.homedir;
12
+ os.homedir = () => nextHomeDir;
13
+ return () => {
14
+ os.homedir = original;
15
+ };
16
+ };
17
+ async function withIsolatedDatabase(runTest) {
18
+ const previousDatabasePath = process.env.DATABASE_PATH;
19
+ const tempDirectory = await mkdtemp(path.join(os.tmpdir(), 'opencode-provider-db-'));
20
+ const databasePath = path.join(tempDirectory, 'auth.db');
21
+ closeConnection();
22
+ process.env.DATABASE_PATH = databasePath;
23
+ await initializeDatabase();
24
+ try {
25
+ await runTest();
26
+ }
27
+ finally {
28
+ closeConnection();
29
+ if (previousDatabasePath === undefined) {
30
+ delete process.env.DATABASE_PATH;
31
+ }
32
+ else {
33
+ process.env.DATABASE_PATH = previousDatabasePath;
34
+ }
35
+ await rm(tempDirectory, { recursive: true, force: true });
36
+ }
37
+ }
38
+ const createOpenCodeDatabase = async (homeDir, workspacePath) => {
39
+ const dataDir = path.join(homeDir, '.local', 'share', 'opencode');
40
+ await mkdir(dataDir, { recursive: true });
41
+ const db = new Database(path.join(dataDir, 'opencode.db'));
42
+ try {
43
+ db.exec(`
44
+ CREATE TABLE project (
45
+ id TEXT PRIMARY KEY,
46
+ worktree TEXT NOT NULL,
47
+ vcs TEXT,
48
+ name TEXT,
49
+ icon_url TEXT,
50
+ icon_color TEXT,
51
+ time_created INTEGER NOT NULL,
52
+ time_updated INTEGER NOT NULL,
53
+ time_initialized INTEGER,
54
+ sandboxes TEXT NOT NULL,
55
+ commands TEXT,
56
+ icon_url_override TEXT
57
+ );
58
+
59
+ CREATE TABLE session (
60
+ id TEXT PRIMARY KEY,
61
+ project_id TEXT NOT NULL,
62
+ parent_id TEXT,
63
+ slug TEXT NOT NULL,
64
+ directory TEXT NOT NULL,
65
+ title TEXT NOT NULL,
66
+ version TEXT NOT NULL,
67
+ share_url TEXT,
68
+ summary_additions INTEGER,
69
+ summary_deletions INTEGER,
70
+ summary_files INTEGER,
71
+ summary_diffs TEXT,
72
+ revert TEXT,
73
+ permission TEXT,
74
+ time_created INTEGER NOT NULL,
75
+ time_updated INTEGER NOT NULL,
76
+ time_compacting INTEGER,
77
+ time_archived INTEGER,
78
+ workspace_id TEXT,
79
+ path TEXT,
80
+ agent TEXT,
81
+ model TEXT,
82
+ cost REAL NOT NULL DEFAULT 0,
83
+ tokens_input INTEGER NOT NULL DEFAULT 0,
84
+ tokens_output INTEGER NOT NULL DEFAULT 0,
85
+ tokens_reasoning INTEGER NOT NULL DEFAULT 0,
86
+ tokens_cache_read INTEGER NOT NULL DEFAULT 0,
87
+ tokens_cache_write INTEGER NOT NULL DEFAULT 0,
88
+ FOREIGN KEY (project_id) REFERENCES project(id) ON DELETE CASCADE
89
+ );
90
+
91
+ CREATE TABLE message (
92
+ id TEXT PRIMARY KEY,
93
+ session_id TEXT NOT NULL,
94
+ time_created INTEGER NOT NULL,
95
+ time_updated INTEGER NOT NULL,
96
+ data TEXT NOT NULL,
97
+ FOREIGN KEY (session_id) REFERENCES session(id) ON DELETE CASCADE
98
+ );
99
+
100
+ CREATE TABLE part (
101
+ id TEXT PRIMARY KEY,
102
+ message_id TEXT NOT NULL,
103
+ session_id TEXT NOT NULL,
104
+ time_created INTEGER NOT NULL,
105
+ time_updated INTEGER NOT NULL,
106
+ data TEXT NOT NULL,
107
+ FOREIGN KEY (message_id) REFERENCES message(id) ON DELETE CASCADE
108
+ );
109
+
110
+ CREATE INDEX part_session_idx ON part (session_id);
111
+ CREATE INDEX session_project_idx ON session (project_id);
112
+ CREATE INDEX message_session_time_created_id_idx ON message (session_id, time_created, id);
113
+ CREATE INDEX part_message_id_id_idx ON part (message_id, id);
114
+ `);
115
+ db.prepare('INSERT INTO project (id, worktree, time_created, time_updated, sandboxes) VALUES (?, ?, ?, ?, ?)').run('project-1', workspacePath, 1_700_000_000_000, 1_700_000_001_000, '[]');
116
+ db.prepare(`
117
+ INSERT INTO session (
118
+ id, project_id, slug, directory, title, version, time_created, time_updated, time_archived,
119
+ tokens_input, tokens_output, tokens_reasoning, tokens_cache_read, tokens_cache_write
120
+ )
121
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
122
+ `).run('open-session-1', 'project-1', 'open-session-1', workspacePath, 'OpenCode indexed title', '0.0.0', 1_700_000_000_000, 1_700_000_004_000, null, 10, 20, 7, 3, 2);
123
+ const userMessageData = JSON.stringify({
124
+ role: 'user',
125
+ time: { created: 1_700_000_001_000 },
126
+ agent: 'test',
127
+ model: { providerID: 'anthropic', modelID: 'claude' },
128
+ });
129
+ const assistantMessageData = JSON.stringify({
130
+ role: 'assistant',
131
+ time: { created: 1_700_000_002_000, completed: 1_700_000_003_000 },
132
+ parentID: 'message-user',
133
+ modelID: 'anthropic/claude-sonnet-4-5',
134
+ providerID: 'anthropic',
135
+ mode: 'default',
136
+ agent: 'test',
137
+ path: { cwd: '.', root: '.' },
138
+ cost: 0.01,
139
+ tokens: {
140
+ input: 10,
141
+ output: 20,
142
+ reasoning: 0,
143
+ cache: { read: 3, write: 2 },
144
+ },
145
+ });
146
+ db.prepare('INSERT INTO message (id, session_id, time_created, time_updated, data) VALUES (?, ?, ?, ?, ?)').run('message-user', 'open-session-1', 1_700_000_001_000, 1_700_000_001_500, userMessageData);
147
+ db.prepare('INSERT INTO message (id, session_id, time_created, time_updated, data) VALUES (?, ?, ?, ?, ?)').run('message-assistant', 'open-session-1', 1_700_000_002_000, 1_700_000_003_000, assistantMessageData);
148
+ const insertPart = db.prepare(`
149
+ INSERT INTO part (id, message_id, session_id, time_created, time_updated, data)
150
+ VALUES (?, ?, ?, ?, ?, ?)
151
+ `);
152
+ insertPart.run('part-user-text', 'message-user', 'open-session-1', 1_700_000_001_000, 1_700_000_001_000, JSON.stringify({
153
+ type: 'text',
154
+ text: JSON.stringify('Build the OpenCode integration.'),
155
+ }));
156
+ insertPart.run('part-reasoning', 'message-assistant', 'open-session-1', 1_700_000_002_000, 1_700_000_002_000, JSON.stringify({
157
+ type: 'reasoning',
158
+ text: 'I will inspect the provider shape first.',
159
+ time: { start: 0, end: 1 },
160
+ }));
161
+ insertPart.run('part-assistant-text', 'message-assistant', 'open-session-1', 1_700_000_002_500, 1_700_000_002_500, JSON.stringify({
162
+ type: 'text',
163
+ text: 'The provider is wired.',
164
+ }));
165
+ insertPart.run('part-tool', 'message-assistant', 'open-session-1', 1_700_000_003_000, 1_700_000_003_000, JSON.stringify({
166
+ type: 'tool',
167
+ tool: 'bash',
168
+ callID: 'tool-call-1',
169
+ state: {
170
+ status: 'completed',
171
+ input: { command: 'npm test' },
172
+ output: 'ok',
173
+ title: 'bash',
174
+ metadata: {},
175
+ time: { start: 0, end: 1 },
176
+ },
177
+ }));
178
+ }
179
+ finally {
180
+ db.close();
181
+ }
182
+ };
183
+ test('OpenCode session synchronizer indexes sqlite sessions without deletable transcript paths', { concurrency: false }, async () => {
184
+ const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'opencode-session-sync-'));
185
+ const workspacePath = path.join(tempRoot, 'workspace');
186
+ await mkdir(workspacePath, { recursive: true });
187
+ const restoreHomeDir = patchHomeDir(tempRoot);
188
+ try {
189
+ await createOpenCodeDatabase(tempRoot, workspacePath);
190
+ await withIsolatedDatabase(() => {
191
+ const synchronizer = new OpenCodeSessionSynchronizer();
192
+ const processed = synchronizer.synchronize();
193
+ return Promise.resolve(processed).then((count) => {
194
+ assert.equal(count, 1);
195
+ const indexed = sessionsDb.getSessionById('open-session-1');
196
+ assert.equal(indexed?.provider, 'opencode');
197
+ assert.equal(indexed?.project_path, workspacePath);
198
+ assert.equal(indexed?.custom_name, 'OpenCode indexed title');
199
+ assert.equal(indexed?.jsonl_path, null);
200
+ });
201
+ });
202
+ }
203
+ finally {
204
+ restoreHomeDir();
205
+ await rm(tempRoot, { recursive: true, force: true });
206
+ }
207
+ });
208
+ test('OpenCode sessions provider normalizes quoted live text and skips user echoes', () => {
209
+ const provider = new OpenCodeSessionsProvider();
210
+ const normalized = provider.normalizeMessage({
211
+ type: 'text',
212
+ sessionID: 'open-session-live',
213
+ text: JSON.stringify('hello bro'),
214
+ }, null);
215
+ assert.equal(normalized.length, 1);
216
+ assert.equal(normalized[0]?.kind, 'stream_delta');
217
+ assert.equal(normalized[0]?.content, 'hello bro');
218
+ const userEcho = provider.normalizeMessage({
219
+ type: 'text',
220
+ sessionID: 'open-session-live',
221
+ role: 'user',
222
+ text: 'hello bro',
223
+ }, null);
224
+ assert.deepEqual(userEcho, []);
225
+ });
226
+ test('OpenCode sessions provider reads sqlite history and token usage', { concurrency: false }, async () => {
227
+ const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'opencode-session-history-'));
228
+ const workspacePath = path.join(tempRoot, 'workspace');
229
+ await mkdir(workspacePath, { recursive: true });
230
+ const restoreHomeDir = patchHomeDir(tempRoot);
231
+ try {
232
+ await createOpenCodeDatabase(tempRoot, workspacePath);
233
+ const provider = new OpenCodeSessionsProvider();
234
+ const history = await provider.fetchHistory('open-session-1');
235
+ assert.equal(history.total, 4);
236
+ assert.equal(history.messages[0]?.kind, 'text');
237
+ assert.equal(history.messages[0]?.role, 'user');
238
+ assert.equal(history.messages[0]?.content, 'Build the OpenCode integration.');
239
+ assert.equal(history.messages[1]?.kind, 'thinking');
240
+ assert.equal(history.messages[2]?.content, 'The provider is wired.');
241
+ assert.equal(history.messages[3]?.kind, 'tool_use');
242
+ assert.deepEqual(history.messages[3]?.toolResult, { content: 'ok', isError: false });
243
+ assert.deepEqual(history.tokenUsage, {
244
+ used: 42,
245
+ inputTokens: 13,
246
+ outputTokens: 20,
247
+ breakdown: {
248
+ input: 13,
249
+ output: 20,
250
+ },
251
+ });
252
+ const paged = await provider.fetchHistory('open-session-1', { limit: 2, offset: 0 });
253
+ assert.equal(paged.messages.length, 2);
254
+ assert.equal(paged.hasMore, true);
255
+ assert.equal(paged.messages[0]?.content, 'The provider is wired.');
256
+ }
257
+ finally {
258
+ restoreHomeDir();
259
+ await rm(tempRoot, { recursive: true, force: true });
260
+ }
261
+ });
262
+ //# sourceMappingURL=opencode-sessions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-sessions.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/opencode-sessions.test.ts"],"names":[],"mappings":"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"}