@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
@@ -1,273 +1,108 @@
1
1
  import Database from 'better-sqlite3';
2
- import crossSpawn from 'cross-spawn';
3
- import { buildDefaultProviderCurrentActiveModel, getOpenCodeDatabasePath, readObjectRecord, readOptionalString, writeProviderSessionActiveModelChange, } from '../../../../shared/utils.js';
4
- export const OPENCODE_FALLBACK_MODELS = {
2
+ import { sessionsDb } from '../../../../modules/database/index.js';
3
+ import { buildDefaultProviderCurrentActiveModel, getOpenCodeDatabasePath, readObjectRecord, readOptionalString, } from '../../../../shared/utils.js';
4
+ /**
5
+ * Curated OpenCode catalog shipped as immutable CloudCLI defaults.
6
+ *
7
+ * OpenCode routes by `<providerID>/<modelID>`, so this list mirrors the
8
+ * providers `opencode models --verbose` reports: the OpenCode Zen gateway plus
9
+ * the Anthropic and OpenAI providers OpenCode can address directly with the
10
+ * user's own credentials.
11
+ */
12
+ export const OPENCODE_PREDEFINED_MODELS = {
5
13
  OPTIONS: [
6
- {
7
- value: 'anthropic/claude-sonnet-4-5',
8
- label: 'Claude Sonnet 4.5',
9
- description: 'anthropic - anthropic/claude-sonnet-4-5',
10
- },
11
- {
12
- value: 'anthropic/claude-opus-4-1',
13
- label: 'Claude Opus 4.1',
14
- description: 'anthropic - anthropic/claude-opus-4-1',
15
- },
16
- {
17
- value: 'anthropic/claude-haiku-4-5',
18
- label: 'Claude Haiku 4.5',
19
- description: 'anthropic - anthropic/claude-haiku-4-5',
20
- },
21
- {
22
- value: 'openai/gpt-5.1',
23
- label: 'GPT-5.1',
24
- description: 'openai - openai/gpt-5.1',
25
- },
26
- {
27
- value: 'openai/gpt-5.1-codex',
28
- label: 'GPT-5.1 Codex',
29
- description: 'openai - openai/gpt-5.1-codex',
30
- },
31
- {
32
- value: 'openai/gpt-5.4-mini',
33
- label: 'GPT-5.4 Mini',
34
- description: 'openai - openai/gpt-5.4-mini',
35
- },
14
+ { value: 'opencode/gpt-5.6-sol', label: 'GPT 5.6 Sol', description: 'OpenCode Zen' },
15
+ { value: 'opencode/gpt-5.6-terra', label: 'GPT 5.6 Terra', description: 'OpenCode Zen' },
16
+ { value: 'opencode/gpt-5.6-luna', label: 'GPT 5.6 Luna', description: 'OpenCode Zen' },
17
+ { value: 'opencode/gpt-5.5', label: 'GPT 5.5', description: 'OpenCode Zen' },
18
+ { value: 'opencode/gpt-5.5-pro', label: 'GPT 5.5 Pro', description: 'OpenCode Zen' },
19
+ { value: 'opencode/gpt-5.4', label: 'GPT 5.4', description: 'OpenCode Zen' },
20
+ { value: 'opencode/gpt-5.4-pro', label: 'GPT 5.4 Pro', description: 'OpenCode Zen' },
21
+ { value: 'opencode/gpt-5.4-mini', label: 'GPT 5.4 Mini', description: 'OpenCode Zen' },
22
+ { value: 'opencode/gpt-5.4-nano', label: 'GPT 5.4 Nano', description: 'OpenCode Zen' },
23
+ { value: 'opencode/gpt-5.3-codex', label: 'GPT 5.3 Codex', description: 'OpenCode Zen' },
24
+ { value: 'opencode/gpt-5.3-codex-spark', label: 'GPT 5.3 Codex Spark', description: 'OpenCode Zen' },
25
+ { value: 'opencode/gpt-5.2', label: 'GPT 5.2', description: 'OpenCode Zen' },
26
+ { value: 'opencode/gpt-5.1', label: 'GPT 5.1', description: 'OpenCode Zen' },
27
+ { value: 'opencode/gpt-5', label: 'GPT 5', description: 'OpenCode Zen' },
28
+ { value: 'opencode/gpt-5-nano', label: 'GPT 5 Nano', description: 'OpenCode Zen' },
29
+ { value: 'opencode/claude-fable-5', label: 'Claude Fable 5', description: 'OpenCode Zen' },
30
+ { value: 'opencode/claude-opus-5', label: 'Claude Opus 5', description: 'OpenCode Zen' },
31
+ { value: 'opencode/claude-opus-4-8', label: 'Claude Opus 4.8', description: 'OpenCode Zen' },
32
+ { value: 'opencode/claude-opus-4-7', label: 'Claude Opus 4.7', description: 'OpenCode Zen' },
33
+ { value: 'opencode/claude-opus-4-6', label: 'Claude Opus 4.6', description: 'OpenCode Zen' },
34
+ { value: 'opencode/claude-opus-4-5', label: 'Claude Opus 4.5', description: 'OpenCode Zen' },
35
+ { value: 'opencode/claude-sonnet-5', label: 'Claude Sonnet 5', description: 'OpenCode Zen' },
36
+ { value: 'opencode/claude-sonnet-4-6', label: 'Claude Sonnet 4.6', description: 'OpenCode Zen' },
37
+ { value: 'opencode/claude-sonnet-4-5', label: 'Claude Sonnet 4.5', description: 'OpenCode Zen' },
38
+ { value: 'opencode/claude-haiku-4-5', label: 'Claude Haiku 4.5', description: 'OpenCode Zen' },
39
+ { value: 'opencode/gemini-3.6-flash', label: 'Gemini 3.6 Flash', description: 'OpenCode Zen' },
40
+ { value: 'opencode/gemini-3.5-flash', label: 'Gemini 3.5 Flash', description: 'OpenCode Zen' },
41
+ { value: 'opencode/gemini-3.5-flash-lite', label: 'Gemini 3.5 Flash Lite', description: 'OpenCode Zen' },
42
+ { value: 'opencode/gemini-3.1-pro', label: 'Gemini 3.1 Pro', description: 'OpenCode Zen' },
43
+ { value: 'opencode/gemini-3-flash', label: 'Gemini 3 Flash', description: 'OpenCode Zen' },
44
+ { value: 'opencode/grok-4.5', label: 'Grok 4.5', description: 'OpenCode Zen' },
45
+ { value: 'opencode/grok-build-0.1', label: 'Grok Build 0.1', description: 'OpenCode Zen' },
46
+ { value: 'opencode/qwen3.7-max', label: 'Qwen3.7 Max', description: 'OpenCode Zen' },
47
+ { value: 'opencode/qwen3.7-plus', label: 'Qwen3.7 Plus', description: 'OpenCode Zen' },
48
+ { value: 'opencode/qwen3.6-plus', label: 'Qwen3.6 Plus', description: 'OpenCode Zen' },
49
+ { value: 'opencode/qwen3.5-plus', label: 'Qwen3.5 Plus', description: 'OpenCode Zen' },
50
+ { value: 'opencode/deepseek-v4-pro', label: 'DeepSeek V4 Pro', description: 'OpenCode Zen' },
51
+ { value: 'opencode/deepseek-v4-flash', label: 'DeepSeek V4 Flash', description: 'OpenCode Zen' },
52
+ { value: 'opencode/minimax-m3', label: 'MiniMax M3', description: 'OpenCode Zen' },
53
+ { value: 'opencode/minimax-m2.7', label: 'MiniMax M2.7', description: 'OpenCode Zen' },
54
+ { value: 'opencode/minimax-m2.5', label: 'MiniMax M2.5', description: 'OpenCode Zen' },
55
+ { value: 'opencode/glm-5.2', label: 'GLM 5.2', description: 'OpenCode Zen' },
56
+ { value: 'opencode/glm-5.1', label: 'GLM 5.1', description: 'OpenCode Zen' },
57
+ { value: 'opencode/kimi-k2.5', label: 'Kimi K2.5', description: 'OpenCode Zen' },
58
+ { value: 'opencode/kimi-k2.6', label: 'Kimi K2.6', description: 'OpenCode Zen' },
59
+ { value: 'opencode/kimi-k2.7-code', label: 'Kimi K2.7 Code', description: 'OpenCode Zen' },
60
+ { value: 'opencode/kimi-k3', label: 'Kimi K3', description: 'OpenCode Zen' },
61
+ { value: 'opencode/big-pickle', label: 'Big Pickle', description: 'OpenCode Zen · Free' },
62
+ { value: 'opencode/mimo-v2.5-free', label: 'MiMo-V2.5 Free', description: 'OpenCode Zen · Free' },
63
+ { value: 'opencode/laguna-s-2.1-free', label: 'Laguna S 2.1 Free', description: 'OpenCode Zen · Free' },
64
+ { value: 'opencode/ling-3.0-flash-free', label: 'Ling-3.0-flash Free', description: 'OpenCode Zen · Free' },
65
+ { value: 'opencode/north-mini-code-free', label: 'North Mini Code Free', description: 'OpenCode Zen · Free' },
66
+ { value: 'opencode/nemotron-3-ultra-free', label: 'Nemotron 3 Ultra Free', description: 'OpenCode Zen · Free' },
67
+ { value: 'opencode/deepseek-v4-flash-free', label: 'DeepSeek V4 Flash Free', description: 'OpenCode Zen · Free' },
68
+ { value: 'anthropic/claude-opus-5', label: 'Claude Opus 5', description: 'Anthropic' },
69
+ { value: 'anthropic/claude-opus-5-fast', label: 'Claude Opus 5 Fast', description: 'Anthropic' },
70
+ { value: 'anthropic/claude-fable-5', label: 'Claude Fable 5', description: 'Anthropic' },
71
+ { value: 'anthropic/claude-sonnet-5', label: 'Claude Sonnet 5', description: 'Anthropic' },
72
+ { value: 'anthropic/claude-opus-4-8', label: 'Claude Opus 4.8', description: 'Anthropic' },
73
+ { value: 'anthropic/claude-opus-4-8-fast', label: 'Claude Opus 4.8 Fast', description: 'Anthropic' },
74
+ { value: 'anthropic/claude-opus-4-7', label: 'Claude Opus 4.7', description: 'Anthropic' },
75
+ { value: 'anthropic/claude-opus-4-7-fast', label: 'Claude Opus 4.7 Fast', description: 'Anthropic' },
76
+ { value: 'anthropic/claude-opus-4-6', label: 'Claude Opus 4.6', description: 'Anthropic' },
77
+ { value: 'anthropic/claude-opus-4-6-fast', label: 'Claude Opus 4.6 Fast', description: 'Anthropic' },
78
+ { value: 'anthropic/claude-opus-4-5', label: 'Claude Opus 4.5 (latest)', description: 'Anthropic' },
79
+ { value: 'anthropic/claude-opus-4-5-20251101', label: 'Claude Opus 4.5', description: 'Anthropic' },
80
+ { value: 'anthropic/claude-sonnet-4-6', label: 'Claude Sonnet 4.6', description: 'Anthropic' },
81
+ { value: 'anthropic/claude-sonnet-4-5', label: 'Claude Sonnet 4.5 (latest)', description: 'Anthropic' },
82
+ { value: 'anthropic/claude-sonnet-4-5-20250929', label: 'Claude Sonnet 4.5', description: 'Anthropic' },
83
+ { value: 'anthropic/claude-haiku-4-5', label: 'Claude Haiku 4.5 (latest)', description: 'Anthropic' },
84
+ { value: 'anthropic/claude-haiku-4-5-20251001', label: 'Claude Haiku 4.5', description: 'Anthropic' },
85
+ { value: 'openai/gpt-5.6', label: 'GPT-5.6', description: 'OpenAI' },
86
+ { value: 'openai/gpt-5.6-fast', label: 'GPT-5.6 Fast', description: 'OpenAI' },
87
+ { value: 'openai/gpt-5.6-pro', label: 'GPT-5.6 Pro', description: 'OpenAI' },
88
+ { value: 'openai/gpt-5.6-sol', label: 'GPT-5.6 Sol', description: 'OpenAI' },
89
+ { value: 'openai/gpt-5.6-sol-fast', label: 'GPT-5.6 Sol Fast', description: 'OpenAI' },
90
+ { value: 'openai/gpt-5.6-sol-pro', label: 'GPT-5.6 Sol Pro', description: 'OpenAI' },
91
+ { value: 'openai/gpt-5.6-terra', label: 'GPT-5.6 Terra', description: 'OpenAI' },
92
+ { value: 'openai/gpt-5.6-terra-fast', label: 'GPT-5.6 Terra Fast', description: 'OpenAI' },
93
+ { value: 'openai/gpt-5.6-terra-pro', label: 'GPT-5.6 Terra Pro', description: 'OpenAI' },
94
+ { value: 'openai/gpt-5.6-luna', label: 'GPT-5.6 Luna', description: 'OpenAI' },
95
+ { value: 'openai/gpt-5.6-luna-fast', label: 'GPT-5.6 Luna Fast', description: 'OpenAI' },
96
+ { value: 'openai/gpt-5.6-luna-pro', label: 'GPT-5.6 Luna Pro', description: 'OpenAI' },
97
+ { value: 'openai/gpt-5.5', label: 'GPT-5.5', description: 'OpenAI' },
98
+ { value: 'openai/gpt-5.5-fast', label: 'GPT-5.5 Fast', description: 'OpenAI' },
99
+ { value: 'openai/gpt-5.4', label: 'GPT-5.4', description: 'OpenAI' },
100
+ { value: 'openai/gpt-5.4-fast', label: 'GPT-5.4 Fast', description: 'OpenAI' },
101
+ { value: 'openai/gpt-5.4-mini', label: 'GPT-5.4 mini', description: 'OpenAI' },
102
+ { value: 'openai/gpt-5.4-mini-fast', label: 'GPT-5.4 mini Fast', description: 'OpenAI' },
103
+ { value: 'openai/gpt-5.3-codex-spark', label: 'GPT-5.3 Codex Spark', description: 'OpenAI' },
36
104
  ],
37
- DEFAULT: 'anthropic/claude-sonnet-4-5',
38
- };
39
- const OPEN_CODE_MODELS_TIMEOUT_MS = 20_000;
40
- const MODEL_ID_LINE = /^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/i;
41
- // cross-spawn resolves .cmd shims/PATHEXT on Windows and delegates to
42
- // child_process.spawn everywhere else.
43
- const spawnFunction = crossSpawn;
44
- const DATE_TOKEN = /^\d{8}$/;
45
- const SIMPLE_NUMBER_TOKEN = /^\d$/;
46
- const VERSION_TOKEN = /^[a-z]\d+$/i;
47
- const NUMERIC_TOKEN = /^\d+(?:\.\d+)*$/;
48
- const SHORT_ACRONYM_TOKEN = /^[a-z]{2,3}$/;
49
- export const parseOpenCodeModelsStdout = (stdout) => {
50
- const ids = [];
51
- for (const rawLine of stdout.split(/\r?\n/)) {
52
- const line = rawLine.trim();
53
- if (!line || line.startsWith('{') || line.startsWith('[')) {
54
- continue;
55
- }
56
- if (MODEL_ID_LINE.test(line)) {
57
- ids.push(line);
58
- }
59
- }
60
- return [...new Set(ids)];
61
- };
62
- const countJsonBraceDelta = (value) => {
63
- let delta = 0;
64
- let inString = false;
65
- let escaped = false;
66
- for (const character of value) {
67
- if (escaped) {
68
- escaped = false;
69
- continue;
70
- }
71
- if (character === '\\') {
72
- escaped = inString;
73
- continue;
74
- }
75
- if (character === '"') {
76
- inString = !inString;
77
- continue;
78
- }
79
- if (inString) {
80
- continue;
81
- }
82
- if (character === '{') {
83
- delta += 1;
84
- }
85
- else if (character === '}') {
86
- delta -= 1;
87
- }
88
- }
89
- return delta;
90
- };
91
- const isOpenCodeVerboseModel = (value) => {
92
- const record = readObjectRecord(value);
93
- return Boolean(record && readOptionalString(record.id));
94
- };
95
- export const parseOpenCodeVerboseModelsStdout = (stdout) => {
96
- const models = [];
97
- let buffer = [];
98
- let depth = 0;
99
- for (const rawLine of stdout.split(/\r?\n/)) {
100
- const line = rawLine.trim();
101
- if (buffer.length === 0) {
102
- if (line === '{') {
103
- buffer = [rawLine];
104
- depth = 1;
105
- }
106
- continue;
107
- }
108
- buffer.push(rawLine);
109
- depth += countJsonBraceDelta(rawLine);
110
- if (depth !== 0) {
111
- continue;
112
- }
113
- try {
114
- const parsed = JSON.parse(buffer.join('\n'));
115
- if (isOpenCodeVerboseModel(parsed)) {
116
- models.push(parsed);
117
- }
118
- }
119
- catch {
120
- // Ignore malformed verbose blocks and fall back to the plain id parser.
121
- }
122
- buffer = [];
123
- }
124
- return models;
125
- };
126
- const formatDateToken = (token) => (`${token.slice(0, 4)}-${token.slice(4, 6)}-${token.slice(6, 8)}`);
127
- const formatModelToken = (token, nextToken) => {
128
- const lower = token.toLowerCase();
129
- if (VERSION_TOKEN.test(token)) {
130
- return token.toUpperCase();
131
- }
132
- if (SHORT_ACRONYM_TOKEN.test(lower) && nextToken && NUMERIC_TOKEN.test(nextToken)) {
133
- return token.toUpperCase();
134
- }
135
- return lower.charAt(0).toUpperCase() + lower.slice(1);
136
- };
137
- const formatOpenCodeModelSlug = (slug) => {
138
- const labelParts = [];
139
- const dateParts = [];
140
- const tokens = slug.split('-').filter(Boolean);
141
- for (let index = 0; index < tokens.length; index += 1) {
142
- const token = tokens[index];
143
- const nextToken = tokens[index + 1];
144
- if (DATE_TOKEN.test(token)) {
145
- dateParts.push(formatDateToken(token));
146
- continue;
147
- }
148
- if (SIMPLE_NUMBER_TOKEN.test(token) && nextToken && SIMPLE_NUMBER_TOKEN.test(nextToken)) {
149
- labelParts.push(`${token}.${nextToken}`);
150
- index += 1;
151
- continue;
152
- }
153
- labelParts.push(formatModelToken(token, nextToken));
154
- }
155
- const label = (labelParts.join(' ').trim() || slug).replace(/^GPT\s+/, 'GPT-');
156
- if (dateParts.length === 0) {
157
- return label;
158
- }
159
- return `${label} (${dateParts.join(', ')})`;
160
- };
161
- const readOpenCodeModelParts = (id) => {
162
- const separatorIndex = id.indexOf('/');
163
- if (separatorIndex < 0) {
164
- return {
165
- upstreamProvider: '',
166
- slug: id,
167
- };
168
- }
169
- return {
170
- upstreamProvider: id.slice(0, separatorIndex),
171
- slug: id.slice(separatorIndex + 1),
172
- };
173
- };
174
- const isSupportedOpenCodeModelId = (id) => (readOpenCodeModelParts(id).upstreamProvider.toLowerCase() !== 'google');
175
- const readOpenCodeVerboseModelId = (model) => {
176
- const id = readOptionalString(model.id);
177
- if (!id) {
178
- return null;
179
- }
180
- if (id.includes('/')) {
181
- return id;
182
- }
183
- const upstreamProvider = readOptionalString(model.providerID);
184
- return upstreamProvider ? `${upstreamProvider}/${id}` : id;
185
- };
186
- const labelForOpenCodeModelId = (id) => {
187
- const fallbackLabel = OPENCODE_FALLBACK_MODELS.OPTIONS.find((option) => option.value === id)?.label;
188
- if (fallbackLabel) {
189
- return fallbackLabel;
190
- }
191
- const { slug } = readOpenCodeModelParts(id);
192
- return formatOpenCodeModelSlug(slug);
193
- };
194
- const descriptionForOpenCodeModelId = (id) => {
195
- const { upstreamProvider } = readOpenCodeModelParts(id);
196
- return upstreamProvider ? `${upstreamProvider} - ${id}` : id;
197
- };
198
- const readOpenCodeVariantEffort = (key, value) => {
199
- const variant = readObjectRecord(value);
200
- return readOptionalString(variant?.reasoningEffort)
201
- ?? readOptionalString(variant?.effort)
202
- ?? key;
203
- };
204
- const readOpenCodeEffortValues = (variants) => {
205
- const effortValues = [];
206
- const seenValues = new Set();
207
- for (const [key, value] of Object.entries(variants ?? {})) {
208
- const effort = readOpenCodeVariantEffort(key, value);
209
- if (!effort || seenValues.has(effort)) {
210
- continue;
211
- }
212
- seenValues.add(effort);
213
- effortValues.push({ value: effort });
214
- }
215
- return effortValues;
216
- };
217
- const mapOpenCodeVerboseModel = (model) => {
218
- const value = readOpenCodeVerboseModelId(model);
219
- if (!value || !isSupportedOpenCodeModelId(value)) {
220
- return null;
221
- }
222
- const effortValues = readOpenCodeEffortValues(model.variants);
223
- return {
224
- value,
225
- label: readOptionalString(model.name) ?? labelForOpenCodeModelId(value),
226
- description: descriptionForOpenCodeModelId(value),
227
- effort: effortValues.length > 0
228
- ? {
229
- values: effortValues,
230
- }
231
- : undefined,
232
- };
233
- };
234
- export const buildOpenCodeDefinitionFromIds = (ids) => {
235
- const options = ids
236
- .filter(isSupportedOpenCodeModelId)
237
- .map((value) => ({
238
- value,
239
- label: labelForOpenCodeModelId(value),
240
- description: descriptionForOpenCodeModelId(value),
241
- }));
242
- const defaultValue = options.find((option) => option.value === OPENCODE_FALLBACK_MODELS.DEFAULT)?.value
243
- ?? options[0]?.value
244
- ?? OPENCODE_FALLBACK_MODELS.DEFAULT;
245
- return {
246
- OPTIONS: options,
247
- DEFAULT: defaultValue,
248
- };
249
- };
250
- export const buildOpenCodeDefinitionFromVerboseModels = (models) => {
251
- const options = [];
252
- const seenValues = new Set();
253
- for (const model of models) {
254
- const mappedModel = mapOpenCodeVerboseModel(model);
255
- if (!mappedModel || seenValues.has(mappedModel.value)) {
256
- continue;
257
- }
258
- seenValues.add(mappedModel.value);
259
- options.push(mappedModel);
260
- }
261
- if (options.length === 0) {
262
- return OPENCODE_FALLBACK_MODELS;
263
- }
264
- const defaultValue = options.find((option) => option.value === OPENCODE_FALLBACK_MODELS.DEFAULT)?.value
265
- ?? options[0]?.value
266
- ?? OPENCODE_FALLBACK_MODELS.DEFAULT;
267
- return {
268
- OPTIONS: options,
269
- DEFAULT: defaultValue,
270
- };
105
+ DEFAULT: 'opencode/gpt-5.6-terra',
271
106
  };
272
107
  const parseOpenCodeSessionModelValue = (rawModel) => {
273
108
  if (typeof rawModel === 'string') {
@@ -292,72 +127,19 @@ const parseOpenCodeSessionModelValue = (rawModel) => {
292
127
  ?? readOptionalString(record.value)
293
128
  ?? null;
294
129
  };
295
- const runOpenCodeModelsCommand = () => new Promise((resolve, reject) => {
296
- const openCodeProcess = spawnFunction('opencode', ['models', '--verbose'], {
297
- cwd: process.cwd(),
298
- env: { ...process.env },
299
- });
300
- let stdout = '';
301
- let stderr = '';
302
- let settled = false;
303
- const timer = setTimeout(() => {
304
- openCodeProcess.kill('SIGTERM');
305
- if (!settled) {
306
- settled = true;
307
- reject(new Error('opencode models timed out'));
308
- }
309
- }, OPEN_CODE_MODELS_TIMEOUT_MS);
310
- const finish = (error, output) => {
311
- if (settled) {
312
- return;
313
- }
314
- settled = true;
315
- clearTimeout(timer);
316
- if (error) {
317
- reject(error);
318
- return;
319
- }
320
- resolve(output);
321
- };
322
- openCodeProcess.stdout?.on('data', (chunk) => {
323
- stdout += chunk.toString();
324
- });
325
- openCodeProcess.stderr?.on('data', (chunk) => {
326
- stderr += chunk.toString();
327
- });
328
- openCodeProcess.on('error', (error) => {
329
- finish(error instanceof Error ? error : new Error(String(error)), '');
330
- });
331
- openCodeProcess.on('close', (code) => {
332
- if (code !== 0) {
333
- finish(new Error(stderr.trim() || `opencode models exited with code ${code}`), '');
334
- return;
335
- }
336
- finish(null, stdout);
337
- });
338
- });
130
+ /** Provider registry model adapter for OpenCode predefined models and session metadata. */
339
131
  export class OpenCodeProviderModels {
340
132
  async getSupportedModels() {
341
- try {
342
- const stdout = await runOpenCodeModelsCommand();
343
- const verboseModels = parseOpenCodeVerboseModelsStdout(stdout);
344
- if (verboseModels.length > 0) {
345
- return buildOpenCodeDefinitionFromVerboseModels(verboseModels);
346
- }
347
- const ids = parseOpenCodeModelsStdout(stdout);
348
- if (ids.length === 0) {
349
- return OPENCODE_FALLBACK_MODELS;
350
- }
351
- return buildOpenCodeDefinitionFromIds(ids);
352
- }
353
- catch {
354
- return OPENCODE_FALLBACK_MODELS;
355
- }
133
+ return OPENCODE_PREDEFINED_MODELS;
356
134
  }
357
135
  async getCurrentActiveModel(sessionId) {
358
136
  if (!sessionId?.trim()) {
359
- return buildDefaultProviderCurrentActiveModel(await this.getSupportedModels());
137
+ return buildDefaultProviderCurrentActiveModel(OPENCODE_PREDEFINED_MODELS);
360
138
  }
139
+ // OpenCode's `session` table is keyed by its own session id, so the stable
140
+ // app id has to be translated first; sessions discovered on disk store the
141
+ // provider id in both columns and resolve to themselves.
142
+ const providerSessionId = sessionsDb.getSessionById(sessionId)?.provider_session_id ?? sessionId;
361
143
  try {
362
144
  const dbPath = getOpenCodeDatabasePath();
363
145
  const db = new Database(dbPath, { readonly: true, fileMustExist: true });
@@ -374,7 +156,7 @@ export class OpenCodeProviderModels {
374
156
  WHERE s.id = ?
375
157
  ORDER BY COALESCE(s.time_updated, s.time_created, 0) DESC
376
158
  LIMIT 1
377
- `).get(sessionId);
159
+ `).get(providerSessionId);
378
160
  const model = parseOpenCodeSessionModelValue(row?.model);
379
161
  if (model) {
380
162
  return {
@@ -387,12 +169,9 @@ export class OpenCodeProviderModels {
387
169
  }
388
170
  }
389
171
  catch {
390
- // Fall through to the provider default when OpenCode session lookup fails.
172
+ // Fall through to the curated default when OpenCode session lookup fails.
391
173
  }
392
- return buildDefaultProviderCurrentActiveModel(await this.getSupportedModels());
393
- }
394
- async changeActiveModel(input) {
395
- return writeProviderSessionActiveModelChange('opencode', input);
174
+ return buildDefaultProviderCurrentActiveModel(OPENCODE_PREDEFINED_MODELS);
396
175
  }
397
176
  }
398
177
  //# sourceMappingURL=opencode-models.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-models.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/opencode/opencode-models.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-models.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/opencode/opencode-models.provider.ts"],"names":[],"mappings":"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"}