@jingyi0605/codingns 0.6.1 → 0.7.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 (291) hide show
  1. package/bin/codingns.mjs +225 -0
  2. package/dist/public/assets/AdaptiveButlerPage-B8mg25ze.js +3 -0
  3. package/dist/public/assets/{App-Dsf3ooXU.js → App-C2lNmeKL.js} +6 -6
  4. package/dist/public/assets/{BootstrapPage-CE0m1qSR.js → BootstrapPage-CAVA-a8h.js} +1 -1
  5. package/dist/public/assets/ConversationPage-B6BGOX4C.js +6 -0
  6. package/dist/public/assets/{DesktopDetachPreviewPage-Dxarr_Wf.js → DesktopDetachPreviewPage-B37DUL15.js} +1 -1
  7. package/dist/public/assets/{DesktopWindowPage-VytPwJ4c.js → DesktopWindowPage-CDA6l7lm.js} +1 -1
  8. package/dist/public/assets/{FileContextPanel-DwFzLsOp.js → FileContextPanel-CMGTtAB6.js} +1 -1
  9. package/dist/public/assets/{GitSidebar-CH6WqTrM.js → GitSidebar--DCqBiGL.js} +1 -1
  10. package/dist/public/assets/{MobileCreateSessionSheet-DcxKM00P.js → MobileCreateSessionSheet-THIrIzJ3.js} +1 -1
  11. package/dist/public/assets/{MobileTopHeaderFrame-C5rIKQT6.js → MobileTopHeaderFrame-D-X7pVnV.js} +1 -1
  12. package/dist/public/assets/{MobileWorkspaceSwitcherHeader-CfUnHgv_.js → MobileWorkspaceSwitcherHeader-Cczi7RYu.js} +1 -1
  13. package/dist/public/assets/{RelayConnectEntryPage-CgMvVZwa.js → RelayConnectEntryPage-D417tgWj.js} +1 -1
  14. package/dist/public/assets/{ServerSettingsModal-CFul__z1.js → ServerSettingsModal-BdTxbRbU.js} +1 -1
  15. package/dist/public/assets/SessionIndexPage-D5iefVcc.js +1 -0
  16. package/dist/public/assets/SettingsPage-iCFe_DHP.js +2 -0
  17. package/dist/public/assets/{TerminalManagerPanel-BbORd-ee.js → TerminalManagerPanel-CtldwWz8.js} +1 -1
  18. package/dist/public/assets/{TerminalPage-DWHv6mlu.js → TerminalPage-DAzQTmQC.js} +19 -19
  19. package/dist/public/assets/{TerminalRuntimeFallbackModal-B29YxbQe.js → TerminalRuntimeFallbackModal-DLOhAvaq.js} +1 -1
  20. package/dist/public/assets/{ToolFilesPage-Dx9cv9hu.js → ToolFilesPage-D7thcDEv.js} +1 -1
  21. package/dist/public/assets/{ToolGitPage-D7H3vAia.js → ToolGitPage-uPRsxdcn.js} +1 -1
  22. package/dist/public/assets/{ToolProcessesPage-PqQWxsy-.js → ToolProcessesPage-B1uOk0Ef.js} +1 -1
  23. package/dist/public/assets/{ToolsHomePage-CX05Pe_4.js → ToolsHomePage-rU3V8mmh.js} +1 -1
  24. package/dist/public/assets/{WorkbenchLandingPage-CchkAC75.js → WorkbenchLandingPage-BudM2C69.js} +1 -1
  25. package/dist/public/assets/WorkbenchLayout-Dybarc1V.js +244 -0
  26. package/dist/public/assets/WorkbenchModal-DMQutm1x.js +1 -0
  27. package/dist/public/assets/WorkbenchShellRoute-Cy4WBbzq.js +1 -0
  28. package/dist/public/assets/{WorkbenchShellRoute-RGZpA0_J.css → WorkbenchShellRoute-DhQo_0vu.css} +1 -1
  29. package/dist/public/assets/{WorkspaceDebugDetailPage-Deqy2_pO.js → WorkspaceDebugDetailPage-CHqo-uDf.js} +1 -1
  30. package/dist/public/assets/{WorkspaceDetailPage-Cvf-ZdlB.js → WorkspaceDetailPage-CGkAH1W-.js} +1 -1
  31. package/dist/public/assets/{WorkspaceHomePage-Dsyvqyk1.js → WorkspaceHomePage-CfuPVITd.js} +1 -1
  32. package/dist/public/assets/{client-runtime-manager-DROQJ9v3.js → client-runtime-manager-CKbtaemV.js} +1 -1
  33. package/dist/public/assets/file-tree-icon-Bc0KADEl.js +3 -0
  34. package/dist/public/assets/index-DNRyROOG.css +1 -0
  35. package/dist/public/assets/index-oGylLBIX.js +42 -0
  36. package/dist/public/assets/{login-direct-candidate-resolver-DotM530R.js → login-direct-candidate-resolver-DjJMbqB7.js} +1 -1
  37. package/dist/public/assets/model-switch-api-T55eW6D4.js +1 -0
  38. package/dist/public/assets/{preferences-service-BG6GKG29.js → preferences-service-BTKBl5xM.js} +1 -1
  39. package/dist/public/assets/realtime-client-ww7MnbTD.js +1 -0
  40. package/dist/public/assets/{relay-entry-pmr-c42O.js → relay-entry-sdeFnTbY.js} +1 -1
  41. package/dist/public/assets/styles-BjPytabP.css +1 -0
  42. package/dist/public/assets/{terminal-runtime-meta-8_uRZf7h.js → terminal-runtime-meta-Cvt1ID92.js} +1 -1
  43. package/dist/public/assets/{useRegisteredDebugTemplates-DWX7LXQu.js → useRegisteredDebugTemplates-O-ymgLd9.js} +1 -1
  44. package/dist/public/index.html +2 -2
  45. package/dist/server/config/env.js +21 -1
  46. package/dist/server/config/env.js.map +1 -1
  47. package/dist/server/config/opencode-base-url-resolver.d.ts +16 -0
  48. package/dist/server/config/opencode-base-url-resolver.js +154 -0
  49. package/dist/server/config/opencode-base-url-resolver.js.map +1 -1
  50. package/dist/server/helpers/wechat-claw-runtime/main.d.ts +1 -0
  51. package/dist/server/helpers/wechat-claw-runtime/main.js +38 -0
  52. package/dist/server/helpers/wechat-claw-runtime/main.js.map +1 -0
  53. package/dist/server/helpers/wechat-claw-runtime/modules/errors.d.ts +5 -0
  54. package/dist/server/helpers/wechat-claw-runtime/modules/errors.js +32 -0
  55. package/dist/server/helpers/wechat-claw-runtime/modules/errors.js.map +1 -0
  56. package/dist/server/helpers/wechat-claw-runtime/modules/login-service.d.ts +16 -0
  57. package/dist/server/helpers/wechat-claw-runtime/modules/login-service.js +209 -0
  58. package/dist/server/helpers/wechat-claw-runtime/modules/login-service.js.map +1 -0
  59. package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.d.ts +18 -0
  60. package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.js +135 -0
  61. package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.js.map +1 -0
  62. package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.d.ts +34 -0
  63. package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js +394 -0
  64. package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js.map +1 -0
  65. package/dist/server/helpers/wechat-claw-runtime/modules/send-service.d.ts +9 -0
  66. package/dist/server/helpers/wechat-claw-runtime/modules/send-service.js +64 -0
  67. package/dist/server/helpers/wechat-claw-runtime/modules/send-service.js.map +1 -0
  68. package/dist/server/helpers/wechat-claw-runtime/modules/types.d.ts +167 -0
  69. package/dist/server/helpers/wechat-claw-runtime/modules/types.js +3 -0
  70. package/dist/server/helpers/wechat-claw-runtime/modules/types.js.map +1 -0
  71. package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.d.ts +34 -0
  72. package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.js +160 -0
  73. package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.js.map +1 -0
  74. package/dist/server/helpers/wechat-claw-runtime/routes/accounts.d.ts +9 -0
  75. package/dist/server/helpers/wechat-claw-runtime/routes/accounts.js +24 -0
  76. package/dist/server/helpers/wechat-claw-runtime/routes/accounts.js.map +1 -0
  77. package/dist/server/helpers/wechat-claw-runtime/server.d.ts +5 -0
  78. package/dist/server/helpers/wechat-claw-runtime/server.js +36 -0
  79. package/dist/server/helpers/wechat-claw-runtime/server.js.map +1 -0
  80. package/dist/server/middlewares/auth-guard.js +4 -1
  81. package/dist/server/middlewares/auth-guard.js.map +1 -1
  82. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +4 -1
  83. package/dist/server/modules/assistant-capability/assistant-capability-service.js +12 -1
  84. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
  85. package/dist/server/modules/butler/butler-control-session-service.d.ts +20 -2
  86. package/dist/server/modules/butler/butler-control-session-service.js +121 -74
  87. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  88. package/dist/server/modules/butler/butler-profile-service.d.ts +3 -1
  89. package/dist/server/modules/butler/butler-profile-service.js +16 -4
  90. package/dist/server/modules/butler/butler-profile-service.js.map +1 -1
  91. package/dist/server/modules/butler/butler-session-service.js +44 -15
  92. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  93. package/dist/server/modules/channels/channel-bridge-service.d.ts +55 -0
  94. package/dist/server/modules/channels/channel-bridge-service.js +340 -0
  95. package/dist/server/modules/channels/channel-bridge-service.js.map +1 -0
  96. package/dist/server/modules/channels/channel-controller.d.ts +52 -0
  97. package/dist/server/modules/channels/channel-controller.js +54 -0
  98. package/dist/server/modules/channels/channel-controller.js.map +1 -0
  99. package/dist/server/modules/channels/channel-delivery-service.d.ts +63 -0
  100. package/dist/server/modules/channels/channel-delivery-service.js +429 -0
  101. package/dist/server/modules/channels/channel-delivery-service.js.map +1 -0
  102. package/dist/server/modules/channels/channel-gateway-controller.d.ts +15 -0
  103. package/dist/server/modules/channels/channel-gateway-controller.js +16 -0
  104. package/dist/server/modules/channels/channel-gateway-controller.js.map +1 -0
  105. package/dist/server/modules/channels/channel-gateway-service.d.ts +24 -0
  106. package/dist/server/modules/channels/channel-gateway-service.js +56 -0
  107. package/dist/server/modules/channels/channel-gateway-service.js.map +1 -0
  108. package/dist/server/modules/channels/channel-platform-adapters.d.ts +46 -0
  109. package/dist/server/modules/channels/channel-platform-adapters.js +315 -0
  110. package/dist/server/modules/channels/channel-platform-adapters.js.map +1 -0
  111. package/dist/server/modules/channels/channel-platform-catalog.d.ts +3 -0
  112. package/dist/server/modules/channels/channel-platform-catalog.js +42 -0
  113. package/dist/server/modules/channels/channel-platform-catalog.js.map +1 -0
  114. package/dist/server/modules/channels/channel-polling-scheduler.d.ts +31 -0
  115. package/dist/server/modules/channels/channel-polling-scheduler.js +93 -0
  116. package/dist/server/modules/channels/channel-polling-scheduler.js.map +1 -0
  117. package/dist/server/modules/channels/channel-polling-service.d.ts +46 -0
  118. package/dist/server/modules/channels/channel-polling-service.js +176 -0
  119. package/dist/server/modules/channels/channel-polling-service.js.map +1 -0
  120. package/dist/server/modules/channels/channel-service.d.ts +108 -0
  121. package/dist/server/modules/channels/channel-service.js +397 -0
  122. package/dist/server/modules/channels/channel-service.js.map +1 -0
  123. package/dist/server/modules/channels/wechat-claw-client.d.ts +51 -0
  124. package/dist/server/modules/channels/wechat-claw-client.js +245 -0
  125. package/dist/server/modules/channels/wechat-claw-client.js.map +1 -0
  126. package/dist/server/modules/channels/wechat-claw-runtime-boundary.d.ts +4 -0
  127. package/dist/server/modules/channels/wechat-claw-runtime-boundary.js +13 -0
  128. package/dist/server/modules/channels/wechat-claw-runtime-boundary.js.map +1 -0
  129. package/dist/server/modules/channels/wechat-claw-runtime-client.d.ts +14 -0
  130. package/dist/server/modules/channels/wechat-claw-runtime-client.js +95 -0
  131. package/dist/server/modules/channels/wechat-claw-runtime-client.js.map +1 -0
  132. package/dist/server/modules/channels/wechat-claw-runtime-manager.d.ts +16 -0
  133. package/dist/server/modules/channels/wechat-claw-runtime-manager.js +133 -0
  134. package/dist/server/modules/channels/wechat-claw-runtime-manager.js.map +1 -0
  135. package/dist/server/modules/channels/wechat-claw-runtime-types.d.ts +1 -0
  136. package/dist/server/modules/channels/wechat-claw-runtime-types.js +2 -0
  137. package/dist/server/modules/channels/wechat-claw-runtime-types.js.map +1 -0
  138. package/dist/server/modules/opencli/opencli-bridge-skill-service.d.ts +12 -0
  139. package/dist/server/modules/opencli/opencli-bridge-skill-service.js +125 -0
  140. package/dist/server/modules/opencli/opencli-bridge-skill-service.js.map +1 -0
  141. package/dist/server/modules/opencli/opencli-catalog-service.d.ts +50 -0
  142. package/dist/server/modules/opencli/opencli-catalog-service.js +345 -0
  143. package/dist/server/modules/opencli/opencli-catalog-service.js.map +1 -0
  144. package/dist/server/modules/opencli/opencli-controller.d.ts +13 -0
  145. package/dist/server/modules/opencli/opencli-controller.js +30 -0
  146. package/dist/server/modules/opencli/opencli-controller.js.map +1 -0
  147. package/dist/server/modules/opencli/opencli-health-service.d.ts +28 -0
  148. package/dist/server/modules/opencli/opencli-health-service.js +106 -0
  149. package/dist/server/modules/opencli/opencli-health-service.js.map +1 -0
  150. package/dist/server/modules/opencli/opencli-install-discovery.d.ts +23 -0
  151. package/dist/server/modules/opencli/opencli-install-discovery.js +130 -0
  152. package/dist/server/modules/opencli/opencli-install-discovery.js.map +1 -0
  153. package/dist/server/modules/opencli/opencli-management-service.d.ts +59 -0
  154. package/dist/server/modules/opencli/opencli-management-service.js +152 -0
  155. package/dist/server/modules/opencli/opencli-management-service.js.map +1 -0
  156. package/dist/server/modules/opencli/opencli-runtime-builder.d.ts +11 -0
  157. package/dist/server/modules/opencli/opencli-runtime-builder.js +214 -0
  158. package/dist/server/modules/opencli/opencli-runtime-builder.js.map +1 -0
  159. package/dist/server/modules/opencli/opencli-runtime-layout.d.ts +3 -0
  160. package/dist/server/modules/opencli/opencli-runtime-layout.js +11 -0
  161. package/dist/server/modules/opencli/opencli-runtime-layout.js.map +1 -0
  162. package/dist/server/modules/opencli/opencli-runtime-profile-service.d.ts +29 -0
  163. package/dist/server/modules/opencli/opencli-runtime-profile-service.js +104 -0
  164. package/dist/server/modules/opencli/opencli-runtime-profile-service.js.map +1 -0
  165. package/dist/server/modules/opencli/opencli-runtime-resolver.d.ts +29 -0
  166. package/dist/server/modules/opencli/opencli-runtime-resolver.js +110 -0
  167. package/dist/server/modules/opencli/opencli-runtime-resolver.js.map +1 -0
  168. package/dist/server/modules/opencli/opencli-session-prompt-service.d.ts +11 -0
  169. package/dist/server/modules/opencli/opencli-session-prompt-service.js +66 -0
  170. package/dist/server/modules/opencli/opencli-session-prompt-service.js.map +1 -0
  171. package/dist/server/modules/provider/provider-catalog-service.d.ts +45 -0
  172. package/dist/server/modules/provider/provider-catalog-service.js +204 -0
  173. package/dist/server/modules/provider/provider-catalog-service.js.map +1 -0
  174. package/dist/server/modules/provider/provider-controller.d.ts +16 -2
  175. package/dist/server/modules/provider/provider-controller.js +49 -6
  176. package/dist/server/modules/provider/provider-controller.js.map +1 -1
  177. package/dist/server/modules/provider/provider-disabled.d.ts +8 -0
  178. package/dist/server/modules/provider/provider-disabled.js +45 -0
  179. package/dist/server/modules/provider/provider-disabled.js.map +1 -0
  180. package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +1 -0
  181. package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
  182. package/dist/server/modules/provider/provider-discovery-helper-process.js +3 -3
  183. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
  184. package/dist/server/modules/provider/provider-discovery-runtime.d.ts +1 -1
  185. package/dist/server/modules/provider/provider-discovery-runtime.js +12 -8
  186. package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
  187. package/dist/server/modules/provider/provider-runtime-state-service.d.ts +24 -0
  188. package/dist/server/modules/provider/provider-runtime-state-service.js +141 -0
  189. package/dist/server/modules/provider/provider-runtime-state-service.js.map +1 -0
  190. package/dist/server/modules/sessions/claude-compatible-provider-registry.d.ts +16 -0
  191. package/dist/server/modules/sessions/claude-compatible-provider-registry.js +91 -0
  192. package/dist/server/modules/sessions/claude-compatible-provider-registry.js.map +1 -0
  193. package/dist/server/modules/sessions/session-history-service.d.ts +9 -3
  194. package/dist/server/modules/sessions/session-history-service.js +198 -62
  195. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  196. package/dist/server/modules/sessions/session-live-runtime-router-service.js +9 -4
  197. package/dist/server/modules/sessions/session-live-runtime-router-service.js.map +1 -1
  198. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +8 -4
  199. package/dist/server/modules/sessions/session-live-runtime-service.js +99 -88
  200. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  201. package/dist/server/modules/sessions/session-permission-request-service.d.ts +5 -2
  202. package/dist/server/modules/sessions/session-permission-request-service.js +26 -27
  203. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
  204. package/dist/server/modules/sessions/session-provider-config-service.d.ts +18 -1
  205. package/dist/server/modules/sessions/session-provider-config-service.js +142 -17
  206. package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -1
  207. package/dist/server/modules/sessions/session-provider-error-mapper.js +7 -0
  208. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  209. package/dist/server/modules/skills/skill-manager-service.d.ts +5 -0
  210. package/dist/server/modules/skills/skill-manager-service.js +26 -0
  211. package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
  212. package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +1 -0
  213. package/dist/server/modules/tasks/task-helper-process-handlers.js +1 -1
  214. package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -1
  215. package/dist/server/modules/tasks/task-types.d.ts +2 -0
  216. package/dist/server/modules/tasks/task-types.js +2 -0
  217. package/dist/server/modules/tasks/task-types.js.map +1 -1
  218. package/dist/server/routes/channels.d.ts +3 -0
  219. package/dist/server/routes/channels.js +16 -0
  220. package/dist/server/routes/channels.js.map +1 -0
  221. package/dist/server/routes/opencli.d.ts +3 -0
  222. package/dist/server/routes/opencli.js +7 -0
  223. package/dist/server/routes/opencli.js.map +1 -0
  224. package/dist/server/routes/providers.js +5 -2
  225. package/dist/server/routes/providers.js.map +1 -1
  226. package/dist/server/routes/public.d.ts +2 -1
  227. package/dist/server/routes/public.js +3 -1
  228. package/dist/server/routes/public.js.map +1 -1
  229. package/dist/server/server/create-server.d.ts +30 -0
  230. package/dist/server/server/create-server.js +104 -12
  231. package/dist/server/server/create-server.js.map +1 -1
  232. package/dist/server/shared/http/error-handler.js +59 -3
  233. package/dist/server/shared/http/error-handler.js.map +1 -1
  234. package/dist/server/storage/repositories/channel-account-repository.d.ts +12 -0
  235. package/dist/server/storage/repositories/channel-account-repository.js +153 -0
  236. package/dist/server/storage/repositories/channel-account-repository.js.map +1 -0
  237. package/dist/server/storage/repositories/channel-delivery-repository.d.ts +13 -0
  238. package/dist/server/storage/repositories/channel-delivery-repository.js +156 -0
  239. package/dist/server/storage/repositories/channel-delivery-repository.js.map +1 -0
  240. package/dist/server/storage/repositories/channel-inbound-event-repository.d.ts +12 -0
  241. package/dist/server/storage/repositories/channel-inbound-event-repository.js +144 -0
  242. package/dist/server/storage/repositories/channel-inbound-event-repository.js.map +1 -0
  243. package/dist/server/storage/repositories/channel-thread-repository.d.ts +12 -0
  244. package/dist/server/storage/repositories/channel-thread-repository.js +152 -0
  245. package/dist/server/storage/repositories/channel-thread-repository.js.map +1 -0
  246. package/dist/server/storage/repositories/opencli-catalog-entry-repository.d.ts +9 -0
  247. package/dist/server/storage/repositories/opencli-catalog-entry-repository.js +85 -0
  248. package/dist/server/storage/repositories/opencli-catalog-entry-repository.js.map +1 -0
  249. package/dist/server/storage/repositories/opencli-provider-repository.d.ts +8 -0
  250. package/dist/server/storage/repositories/opencli-provider-repository.js +88 -0
  251. package/dist/server/storage/repositories/opencli-provider-repository.js.map +1 -0
  252. package/dist/server/storage/repositories/opencli-runtime-profile-repository.d.ts +11 -0
  253. package/dist/server/storage/repositories/opencli-runtime-profile-repository.js +127 -0
  254. package/dist/server/storage/repositories/opencli-runtime-profile-repository.js.map +1 -0
  255. package/dist/server/storage/repositories/provider-control-repository.d.ts +9 -0
  256. package/dist/server/storage/repositories/provider-control-repository.js +51 -0
  257. package/dist/server/storage/repositories/provider-control-repository.js.map +1 -0
  258. package/dist/server/storage/repositories/provider-runtime-state-repository.d.ts +9 -0
  259. package/dist/server/storage/repositories/provider-runtime-state-repository.js +50 -0
  260. package/dist/server/storage/repositories/provider-runtime-state-repository.js.map +1 -0
  261. package/dist/server/storage/sqlite/client.js +53 -0
  262. package/dist/server/storage/sqlite/client.js.map +1 -1
  263. package/dist/server/storage/sqlite/schema.sql +180 -0
  264. package/dist/server/types/domain.d.ts +132 -0
  265. package/dist/server/ws/workbench-ws-hub.js +8 -2
  266. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  267. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +28 -11
  268. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  269. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +61 -8
  270. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  271. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.d.ts +5 -0
  272. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js +1 -1
  273. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js.map +1 -1
  274. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +3 -0
  275. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +94 -21
  276. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
  277. package/package.json +1 -1
  278. package/dist/public/assets/AdaptiveButlerPage-Dw72U3hG.js +0 -3
  279. package/dist/public/assets/ConversationPage-8wOY7SX-.js +0 -4
  280. package/dist/public/assets/SessionIndexPage-B-tRhBXC.js +0 -1
  281. package/dist/public/assets/SettingsPage-C9LGxSQZ.js +0 -1
  282. package/dist/public/assets/WorkbenchLayout-pOZvEqp7.js +0 -3
  283. package/dist/public/assets/WorkbenchModal-ColqvV6a.js +0 -1
  284. package/dist/public/assets/WorkbenchShellRoute-C0_h4lP6.js +0 -1
  285. package/dist/public/assets/file-tree-icon-Bp3Ntt7u.js +0 -31
  286. package/dist/public/assets/index-B84Po2NA.css +0 -1
  287. package/dist/public/assets/index-C-0oeG_5.js +0 -42
  288. package/dist/public/assets/model-switch-api-Bh9nYslz.js +0 -1
  289. package/dist/public/assets/session-runtime-machine-YN84QBlr.js +0 -21
  290. package/dist/public/assets/styles-CsEMfdaS.css +0 -1
  291. /package/dist/public/assets/{styles-DRVvx_kv.js → styles-lhQGDlPF.js} +0 -0
@@ -1,4 +1,4 @@
1
- import type { ButlerControlSession, ButlerControlSessionPurpose, SessionListItem } from "../../types/domain.js";
1
+ import type { ButlerControlSession, ButlerControlSessionPurpose, ButlerProfileProviderId, SessionListItem } from "../../types/domain.js";
2
2
  import type { ButlerControlSessionRepository } from "../../storage/repositories/butler-control-session-repository.js";
3
3
  import { type ButlerProfileService } from "./butler-profile-service.js";
4
4
  import type { ButlerAuthService } from "./butler-auth-service.js";
@@ -10,6 +10,7 @@ import type { ButlerContextAggregator } from "./context-aggregator.js";
10
10
  import type { SkillManagerService } from "../skills/skill-manager-service.js";
11
11
  import type { AssistantSandboxService } from "./assistant-sandbox-service.js";
12
12
  import type { SessionProviderUsageLimitGuardService } from "../sessions/session-provider-usage-guard-service.js";
13
+ import type { ProviderControlRepository } from "../../storage/repositories/provider-control-repository.js";
13
14
  export interface ButlerControlSessionView extends ButlerControlSession {
14
15
  session: SessionListItem;
15
16
  }
@@ -43,12 +44,15 @@ export declare class ButlerControlSessionService {
43
44
  private readonly sessionMessageOriginRepository;
44
45
  private readonly assistantSandboxService;
45
46
  private readonly providerUsageLimitGuardService;
46
- constructor(butlerProfileService: ButlerProfileService, butlerControlSessionRepository: ButlerControlSessionRepository, workspaceService: Pick<WorkspaceService, "importWorkspace">, sessionHistoryService: Pick<SessionHistoryService, "getSession" | "resumeSession">, sessionLiveRuntimeService: Pick<SessionLiveRuntimeService, "startLiveSession" | "sendLiveMessage">, butlerContextAggregator: Pick<ButlerContextAggregator, "resolvePromptContext">, butlerAuthService: Pick<ButlerAuthService, "ensureWorkspaceCredential" | "getCredentialFilePath">, skillManagerService: Pick<SkillManagerService, "getOverview" | "importUnmanagedSkill" | "listAssistantRuntimeSkillSources">, codexHomeDir?: string | null, sourceCodexHomeDir?: string | null, claudeCodeHomeDir?: string | null, sourceClaudeCodeHomeDir?: string | null, sessionMessageOriginRepository?: Pick<SessionMessageOriginRepository, "upsert"> | null, assistantSandboxService?: Pick<AssistantSandboxService, "createSandbox" | "listSandboxes" | "markSandboxUsedByControlSession" | "removeSandbox"> | null, providerUsageLimitGuardService?: Pick<SessionProviderUsageLimitGuardService, "resolveBlockingInspection" | "createBlockedAppError"> | null);
47
+ private readonly providerControlRepository;
48
+ constructor(butlerProfileService: ButlerProfileService, butlerControlSessionRepository: ButlerControlSessionRepository, workspaceService: Pick<WorkspaceService, "importWorkspace">, sessionHistoryService: Pick<SessionHistoryService, "getSession" | "resumeSession">, sessionLiveRuntimeService: Pick<SessionLiveRuntimeService, "startLiveSession" | "sendLiveMessage">, butlerContextAggregator: Pick<ButlerContextAggregator, "resolvePromptContext">, butlerAuthService: Pick<ButlerAuthService, "ensureWorkspaceCredential" | "getCredentialFilePath">, skillManagerService: Pick<SkillManagerService, "getOverview" | "importUnmanagedSkill" | "listAssistantRuntimeSkillSources">, codexHomeDir?: string | null, sourceCodexHomeDir?: string | null, claudeCodeHomeDir?: string | null, sourceClaudeCodeHomeDir?: string | null, sessionMessageOriginRepository?: Pick<SessionMessageOriginRepository, "upsert"> | null, assistantSandboxService?: Pick<AssistantSandboxService, "createSandbox" | "listSandboxes" | "markSandboxUsedByControlSession" | "removeSandbox"> | null, providerUsageLimitGuardService?: Pick<SessionProviderUsageLimitGuardService, "resolveBlockingInspection" | "createBlockedAppError"> | null, providerControlRepository?: Pick<ProviderControlRepository, "get"> | null);
47
49
  getCurrentSession(userId: string): ButlerControlSessionView | null;
48
50
  getSession(controlSessionId: string, userId: string): ButlerControlSessionView | null;
49
51
  listSessions(userId: string): ButlerControlSessionView[];
50
52
  resetCurrentSession(): void;
51
53
  startSession(userId: string, input?: StartButlerControlSessionInput): Promise<ButlerControlSessionView>;
54
+ startSessionForProvider(userId: string, providerId: ButlerProfileProviderId, input?: StartButlerControlSessionInput): Promise<ButlerControlSessionView>;
55
+ private assertProviderEnabled;
52
56
  resumeCurrentSession(userId: string): Promise<ButlerControlSessionView & {
53
57
  resumedAt: string;
54
58
  provider: string;
@@ -63,8 +67,22 @@ export declare class ButlerControlSessionService {
63
67
  clientRequestId: string | null;
64
68
  message: Awaited<ReturnType<SessionLiveRuntimeService["sendLiveMessage"]>>["message"];
65
69
  }>;
70
+ sendMessageToSession(userId: string, input: SendButlerControlMessageInput & {
71
+ controlSessionId: string;
72
+ }): Promise<{
73
+ controlSession: ButlerControlSessionView;
74
+ sessionId: string;
75
+ provider: string;
76
+ providerSessionId: string;
77
+ acceptedAt: string;
78
+ clientRequestId: string | null;
79
+ message: Awaited<ReturnType<SessionLiveRuntimeService["sendLiveMessage"]>>["message"];
80
+ }>;
81
+ private sendMessageInternal;
82
+ private startSessionInternal;
66
83
  private requireCurrentSession;
67
84
  private requireSessionById;
85
+ private requireSessionByIdAnyProvider;
68
86
  private toView;
69
87
  private ensureSessionCanStartWork;
70
88
  private prepareWorkspace;
@@ -3,6 +3,7 @@ import { createId } from "../../shared/utils/id.js";
3
3
  import { nowIso } from "../../shared/utils/time.js";
4
4
  import { syncButlerWorkspaceContext } from "./butler-workspace-context.js";
5
5
  import { recordButlerProxyMessageOrigin } from "../sessions/session-message-origin-utils.js";
6
+ import { createProviderDisabledError } from "../provider/provider-disabled.js";
6
7
  export class ButlerControlSessionService {
7
8
  butlerProfileService;
8
9
  butlerControlSessionRepository;
@@ -19,7 +20,8 @@ export class ButlerControlSessionService {
19
20
  sessionMessageOriginRepository;
20
21
  assistantSandboxService;
21
22
  providerUsageLimitGuardService;
22
- constructor(butlerProfileService, butlerControlSessionRepository, workspaceService, sessionHistoryService, sessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, skillManagerService, codexHomeDir = null, sourceCodexHomeDir = null, claudeCodeHomeDir = null, sourceClaudeCodeHomeDir = null, sessionMessageOriginRepository = null, assistantSandboxService = null, providerUsageLimitGuardService = null) {
23
+ providerControlRepository;
24
+ constructor(butlerProfileService, butlerControlSessionRepository, workspaceService, sessionHistoryService, sessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, skillManagerService, codexHomeDir = null, sourceCodexHomeDir = null, claudeCodeHomeDir = null, sourceClaudeCodeHomeDir = null, sessionMessageOriginRepository = null, assistantSandboxService = null, providerUsageLimitGuardService = null, providerControlRepository = null) {
23
25
  this.butlerProfileService = butlerProfileService;
24
26
  this.butlerControlSessionRepository = butlerControlSessionRepository;
25
27
  this.workspaceService = workspaceService;
@@ -35,6 +37,13 @@ export class ButlerControlSessionService {
35
37
  this.sessionMessageOriginRepository = sessionMessageOriginRepository;
36
38
  this.assistantSandboxService = assistantSandboxService;
37
39
  this.providerUsageLimitGuardService = providerUsageLimitGuardService;
40
+ this.providerControlRepository = providerControlRepository ?? {
41
+ get: (providerId) => ({
42
+ providerId: providerId.trim(),
43
+ enabled: true,
44
+ updatedAt: ""
45
+ })
46
+ };
38
47
  }
39
48
  getCurrentSession(userId) {
40
49
  const profile = this.butlerProfileService.ensureInitialized();
@@ -71,80 +80,20 @@ export class ButlerControlSessionService {
71
80
  }
72
81
  async startSession(userId, input = {}) {
73
82
  const profile = this.butlerProfileService.ensureInitialized();
74
- const content = normalizeControlContent(input.content, "");
75
- const model = normalizeNullableText(input.model);
76
- const reasoningLevel = normalizeNullableText(input.reasoningLevel);
77
- const permissionMode = normalizeNullableText(input.permissionMode);
78
- const clientRequestId = normalizeNullableText(input.clientRequestId)
79
- ?? `assistant-origin:butler-control-start:${createId()}`;
80
- const promptContext = await this.butlerContextAggregator.resolvePromptContext(userId, input.content ?? null);
81
- const preparedWorkspace = await this.prepareWorkspace(profile, promptContext, userId, {
82
- title: normalizeNullableText(input.title),
83
- content
83
+ return this.startSessionInternal(userId, profile.providerId, input, {
84
+ closeExistingCurrent: true
84
85
  });
85
- const current = this.butlerControlSessionRepository.findLatestOpenByProvider(profile.providerId);
86
- if (current && current.status !== "closed") {
87
- this.butlerControlSessionRepository.update({
88
- ...current,
89
- status: "closed",
90
- updatedAt: nowIso()
91
- });
92
- }
93
- try {
94
- const started = await this.sessionLiveRuntimeService.startLiveSession({
95
- workspaceId: preparedWorkspace.workspaceId,
96
- userId,
97
- provider: profile.providerId,
98
- content,
99
- clientRequestId,
100
- runtimeOptions: {
101
- model,
102
- reasoningLevel,
103
- permissionMode,
104
- attachments: []
105
- }
106
- });
107
- recordButlerProxyMessageOrigin(this.sessionMessageOriginRepository, {
108
- sessionId: started.sessionId,
109
- clientRequestId,
110
- messageId: started.message?.messageId ?? null,
111
- content,
112
- createdAt: started.acceptedAt,
113
- fallbackKey: `butler-control-start:${started.sessionId}:${started.acceptedAt}`
114
- });
115
- const timestamp = started.acceptedAt;
116
- const created = this.butlerControlSessionRepository.create({
117
- id: createId(),
118
- providerId: profile.providerId,
119
- sessionId: started.sessionId,
120
- purpose: input.purpose ?? "chat",
121
- title: normalizeNullableText(input.title),
122
- sourceItemId: normalizeNullableText(input.sourceItemId),
123
- model,
124
- reasoningLevel,
125
- permissionMode,
126
- status: "running",
127
- lastContextVersion: promptContext.version,
128
- lastSummary: normalizeNullableText(input.title) ?? summarizeMessage(content),
129
- createdAt: timestamp,
130
- updatedAt: timestamp
131
- });
132
- if (preparedWorkspace.sandboxId && this.assistantSandboxService) {
133
- this.assistantSandboxService.markSandboxUsedByControlSession(preparedWorkspace.sandboxId, userId, created.id);
134
- }
135
- return this.toView(created, userId);
136
- }
137
- catch (error) {
138
- if (preparedWorkspace.sandboxId && this.assistantSandboxService) {
139
- try {
140
- this.assistantSandboxService.removeSandbox(preparedWorkspace.sandboxId, userId);
141
- }
142
- catch {
143
- // 控制会话没真正启动成功时,尽量把新建的空白沙箱收口,避免残留无主目录。
144
- }
145
- }
146
- throw error;
86
+ }
87
+ async startSessionForProvider(userId, providerId, input = {}) {
88
+ return this.startSessionInternal(userId, providerId, input, {
89
+ closeExistingCurrent: false
90
+ });
91
+ }
92
+ assertProviderEnabled(providerId) {
93
+ if (this.providerControlRepository.get(providerId).enabled) {
94
+ return;
147
95
  }
96
+ throw createProviderDisabledError(providerId, "providerId");
148
97
  }
149
98
  async resumeCurrentSession(userId) {
150
99
  const profile = this.butlerProfileService.ensureInitialized();
@@ -177,6 +126,15 @@ export class ButlerControlSessionService {
177
126
  const current = input.controlSessionId?.trim()
178
127
  ? this.requireSessionById(input.controlSessionId, profile.providerId)
179
128
  : this.requireCurrentSession(profile.providerId);
129
+ return this.sendMessageInternal(userId, current, input);
130
+ }
131
+ async sendMessageToSession(userId, input) {
132
+ const current = this.requireSessionByIdAnyProvider(input.controlSessionId);
133
+ return this.sendMessageInternal(userId, current, input);
134
+ }
135
+ async sendMessageInternal(userId, current, input) {
136
+ const profile = this.butlerProfileService.ensureInitialized();
137
+ this.assertProviderEnabled(current.providerId);
180
138
  await this.ensureSessionCanStartWork(current.sessionId, userId, "助手控制会话");
181
139
  const content = normalizeControlContent(input.content, "");
182
140
  const requestedAt = nowIso();
@@ -238,6 +196,84 @@ export class ButlerControlSessionService {
238
196
  throw error;
239
197
  }
240
198
  }
199
+ async startSessionInternal(userId, providerId, input, options) {
200
+ const profile = this.butlerProfileService.ensureInitialized();
201
+ this.assertProviderEnabled(providerId);
202
+ const content = normalizeControlContent(input.content, "");
203
+ const model = normalizeNullableText(input.model);
204
+ const reasoningLevel = normalizeNullableText(input.reasoningLevel);
205
+ const permissionMode = normalizeNullableText(input.permissionMode);
206
+ const clientRequestId = normalizeNullableText(input.clientRequestId)
207
+ ?? `assistant-origin:butler-control-start:${createId()}`;
208
+ const promptContext = await this.butlerContextAggregator.resolvePromptContext(userId, input.content ?? null);
209
+ const preparedWorkspace = await this.prepareWorkspace(profile, promptContext, userId, {
210
+ title: normalizeNullableText(input.title),
211
+ content
212
+ });
213
+ const current = this.butlerControlSessionRepository.findLatestOpenByProvider(providerId);
214
+ if (options.closeExistingCurrent && current && current.status !== "closed") {
215
+ this.butlerControlSessionRepository.update({
216
+ ...current,
217
+ status: "closed",
218
+ updatedAt: nowIso()
219
+ });
220
+ }
221
+ try {
222
+ const started = await this.sessionLiveRuntimeService.startLiveSession({
223
+ workspaceId: preparedWorkspace.workspaceId,
224
+ userId,
225
+ provider: providerId,
226
+ content,
227
+ clientRequestId,
228
+ runtimeOptions: {
229
+ model,
230
+ reasoningLevel,
231
+ permissionMode,
232
+ attachments: []
233
+ }
234
+ });
235
+ recordButlerProxyMessageOrigin(this.sessionMessageOriginRepository, {
236
+ sessionId: started.sessionId,
237
+ clientRequestId,
238
+ messageId: started.message?.messageId ?? null,
239
+ content,
240
+ createdAt: started.acceptedAt,
241
+ fallbackKey: `butler-control-start:${started.sessionId}:${started.acceptedAt}`
242
+ });
243
+ const timestamp = started.acceptedAt;
244
+ const created = this.butlerControlSessionRepository.create({
245
+ id: createId(),
246
+ providerId,
247
+ sessionId: started.sessionId,
248
+ purpose: input.purpose ?? "chat",
249
+ title: normalizeNullableText(input.title),
250
+ sourceItemId: normalizeNullableText(input.sourceItemId),
251
+ model,
252
+ reasoningLevel,
253
+ permissionMode,
254
+ status: "running",
255
+ lastContextVersion: promptContext.version,
256
+ lastSummary: normalizeNullableText(input.title) ?? summarizeMessage(content),
257
+ createdAt: timestamp,
258
+ updatedAt: timestamp
259
+ });
260
+ if (preparedWorkspace.sandboxId && this.assistantSandboxService) {
261
+ this.assistantSandboxService.markSandboxUsedByControlSession(preparedWorkspace.sandboxId, userId, created.id);
262
+ }
263
+ return this.toView(created, userId);
264
+ }
265
+ catch (error) {
266
+ if (preparedWorkspace.sandboxId && this.assistantSandboxService) {
267
+ try {
268
+ this.assistantSandboxService.removeSandbox(preparedWorkspace.sandboxId, userId);
269
+ }
270
+ catch {
271
+ // 控制会话没真正启动成功时,尽量把新建的空白沙箱收口,避免残留无主目录。
272
+ }
273
+ }
274
+ throw error;
275
+ }
276
+ }
241
277
  requireCurrentSession(providerId) {
242
278
  const current = this.butlerControlSessionRepository.findLatestOpenByProvider(providerId);
243
279
  if (!current || current.status === "closed") {
@@ -250,8 +286,19 @@ export class ButlerControlSessionService {
250
286
  return current;
251
287
  }
252
288
  requireSessionById(controlSessionId, providerId) {
289
+ const record = this.requireSessionByIdAnyProvider(controlSessionId);
290
+ if (record.providerId !== providerId) {
291
+ throw new AppError({
292
+ statusCode: 404,
293
+ errorCode: "BUTLER_CONTROL_SESSION_NOT_FOUND",
294
+ detail: "指定的助手会话不存在或已经关闭"
295
+ });
296
+ }
297
+ return record;
298
+ }
299
+ requireSessionByIdAnyProvider(controlSessionId) {
253
300
  const record = this.butlerControlSessionRepository.findById(controlSessionId.trim());
254
- if (!record || record.providerId !== providerId || record.status === "closed") {
301
+ if (!record || record.status === "closed") {
255
302
  throw new AppError({
256
303
  statusCode: 404,
257
304
  errorCode: "BUTLER_CONTROL_SESSION_NOT_FOUND",
@@ -1 +1 @@
1
- {"version":3,"file":"butler-control-session-service.js","sourceRoot":"","sources":["../../../../src/modules/butler/butler-control-session-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"butler-control-session-service.js","sourceRoot":"","sources":["../../../../src/modules/butler/butler-control-session-service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ButlerProfile } from "../../types/domain.js";
2
2
  import type { ButlerProfileRepository } from "../../storage/repositories/butler-profile-repository.js";
3
3
  import type { ButlerProjectRepository } from "../../storage/repositories/butler-project-repository.js";
4
+ import type { ProviderControlRepository } from "../../storage/repositories/provider-control-repository.js";
4
5
  export interface ButlerProfileInitInput {
5
6
  displayName?: unknown;
6
7
  providerId?: unknown;
@@ -17,7 +18,8 @@ export declare class ButlerProfileService {
17
18
  private readonly butlerProfileRepository;
18
19
  private readonly butlerProjectRepository;
19
20
  private readonly dataRootDir;
20
- constructor(butlerProfileRepository: ButlerProfileRepository, butlerProjectRepository: Pick<ButlerProjectRepository, "list">, dataRootDir?: string);
21
+ private readonly providerControlRepository;
22
+ constructor(butlerProfileRepository: ButlerProfileRepository, butlerProjectRepository: Pick<ButlerProjectRepository, "list">, dataRootDir?: string, providerControlRepository?: Pick<ProviderControlRepository, "get"> | null);
21
23
  getProfile(): ButlerProfile | null;
22
24
  initProfile(input: ButlerProfileInitInput): ButlerProfile;
23
25
  updateProfile(input: ButlerProfilePatchInput): ButlerProfile;
@@ -3,6 +3,7 @@ import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { AppError } from "../../shared/errors/app-error.js";
5
5
  import { nowIso } from "../../shared/utils/time.js";
6
+ import { createProviderDisabledError } from "../provider/provider-disabled.js";
6
7
  const BUTLER_PROFILE_ID = "default";
7
8
  const DEFAULT_BUTLER_DISPLAY_NAME = "代码助手";
8
9
  const DEFAULT_BUTLER_WORKSPACE_DIRNAME = "butler-workspace";
@@ -21,10 +22,18 @@ export class ButlerProfileService {
21
22
  butlerProfileRepository;
22
23
  butlerProjectRepository;
23
24
  dataRootDir;
24
- constructor(butlerProfileRepository, butlerProjectRepository, dataRootDir = path.resolve("data", "host")) {
25
+ providerControlRepository;
26
+ constructor(butlerProfileRepository, butlerProjectRepository, dataRootDir = path.resolve("data", "host"), providerControlRepository = null) {
25
27
  this.butlerProfileRepository = butlerProfileRepository;
26
28
  this.butlerProjectRepository = butlerProjectRepository;
27
29
  this.dataRootDir = dataRootDir;
30
+ this.providerControlRepository = providerControlRepository ?? {
31
+ get: (providerId) => ({
32
+ providerId: providerId.trim(),
33
+ enabled: true,
34
+ updatedAt: ""
35
+ })
36
+ };
28
37
  }
29
38
  getProfile() {
30
39
  const profile = this.butlerProfileRepository.find();
@@ -39,7 +48,7 @@ export class ButlerProfileService {
39
48
  });
40
49
  }
41
50
  const timestamp = nowIso();
42
- const profile = buildButlerProfileRecord(input, timestamp, null, this.butlerProjectRepository, this.dataRootDir);
51
+ const profile = buildButlerProfileRecord(input, timestamp, null, this.butlerProjectRepository, this.dataRootDir, this.providerControlRepository);
43
52
  return this.butlerProfileRepository.create(profile);
44
53
  }
45
54
  updateProfile(input) {
@@ -51,7 +60,7 @@ export class ButlerProfileService {
51
60
  detail: "代码助手尚未完成初始化"
52
61
  });
53
62
  }
54
- const updated = buildButlerProfileRecord(input, current.initializedAt, current, this.butlerProjectRepository, this.dataRootDir);
63
+ const updated = buildButlerProfileRecord(input, current.initializedAt, current, this.butlerProjectRepository, this.dataRootDir, this.providerControlRepository);
55
64
  return this.butlerProfileRepository.update(updated);
56
65
  }
57
66
  ensureInitialized() {
@@ -66,7 +75,7 @@ export class ButlerProfileService {
66
75
  return profile;
67
76
  }
68
77
  }
69
- function buildButlerProfileRecord(input, initializedAt, current, butlerProjectRepository, dataRootDir) {
78
+ function buildButlerProfileRecord(input, initializedAt, current, butlerProjectRepository, dataRootDir, providerControlRepository) {
70
79
  const displayName = input.displayName !== undefined
71
80
  ? normalizeDisplayName(input.displayName)
72
81
  : current?.displayName ?? DEFAULT_BUTLER_DISPLAY_NAME;
@@ -76,6 +85,9 @@ function buildButlerProfileRecord(input, initializedAt, current, butlerProjectRe
76
85
  const providerId = input.providerId !== undefined
77
86
  ? normalizeProviderId(input.providerId)
78
87
  : current?.providerId ?? invalidField("providerId", PROVIDER_ERROR_DETAIL);
88
+ if (!providerControlRepository.get(providerId).enabled) {
89
+ throw createProviderDisabledError(providerId, "providerId");
90
+ }
79
91
  const agentsMode = input.agentsMode !== undefined
80
92
  ? normalizeAgentsMode(input.agentsMode)
81
93
  : current?.agentsMode ?? "inline";
@@ -1 +1 @@
1
- {"version":3,"file":"butler-profile-service.js","sourceRoot":"","sources":["../../../../src/modules/butler/butler-profile-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"butler-profile-service.js","sourceRoot":"","sources":["../../../../src/modules/butler/butler-profile-service.ts"],"names":[],"mappings":"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"}
@@ -541,16 +541,24 @@ export class ButlerSessionService {
541
541
  const existingSessionIds = new Set(this.butlerSessionRepository.listByProject(project.id).map((record) => record.sessionId));
542
542
  const workspaceSessions = this.sessionHistoryService.listWorkspaceSessions(project.workspaceId, userId);
543
543
  for (const session of workspaceSessions) {
544
+ const existing = this.butlerSessionRepository.findBySessionId(session.sessionId);
544
545
  if (session.isSubagent
545
546
  || (!includeArchived && session.isArchived)
546
- || existingSessionIds.has(session.sessionId)) {
547
+ || existingSessionIds.has(session.sessionId)
548
+ || Boolean(existing)) {
547
549
  continue;
548
550
  }
549
- this.createObservedSession(project, session, userId);
550
- existingSessionIds.add(session.sessionId);
551
+ const created = this.createObservedSession(project, session, userId);
552
+ if (created) {
553
+ existingSessionIds.add(session.sessionId);
554
+ }
551
555
  }
552
556
  }
553
557
  createObservedSession(project, session, userId) {
558
+ const existing = this.butlerSessionRepository.findBySessionId(session.sessionId);
559
+ if (existing) {
560
+ return existing.projectId === project.id ? existing : null;
561
+ }
554
562
  const state = this.sessionStateRepository.findBySessionAndUser(session.sessionId, userId);
555
563
  const normalizedRunningState = normalizeRunningState(session.runningState ?? state?.runningState ?? null);
556
564
  const timestamp = nowIso();
@@ -558,18 +566,31 @@ export class ButlerSessionService {
558
566
  const checkpointProgressState = mapCheckpointProgressState(normalizedRunningState);
559
567
  const checkpointRiskFlags = buildCheckpointRiskFlags(normalizedRunningState);
560
568
  const checkpointActions = buildCheckpointNextActions(checkpointProgressState);
561
- const created = this.butlerSessionRepository.create({
562
- id: createId(),
563
- projectId: project.id,
564
- sessionId: session.sessionId,
565
- role: "adhoc",
566
- ownershipMode: "observed",
567
- status: mapButlerStatusFromRunningState(normalizedRunningState),
568
- lastSummary: checkpointSummary,
569
- lastCheckpointAt: timestamp,
570
- createdAt: session.createdAt,
571
- updatedAt: session.updatedAt
572
- });
569
+ const recordId = createId();
570
+ let created;
571
+ try {
572
+ created = this.butlerSessionRepository.create({
573
+ id: recordId,
574
+ projectId: project.id,
575
+ sessionId: session.sessionId,
576
+ role: "adhoc",
577
+ ownershipMode: "observed",
578
+ status: mapButlerStatusFromRunningState(normalizedRunningState),
579
+ lastSummary: checkpointSummary,
580
+ lastCheckpointAt: timestamp,
581
+ createdAt: session.createdAt,
582
+ updatedAt: session.updatedAt
583
+ });
584
+ }
585
+ catch (error) {
586
+ if (isButlerSessionUniqueConstraintError(error)) {
587
+ return this.butlerSessionRepository.findBySessionId(session.sessionId);
588
+ }
589
+ throw error;
590
+ }
591
+ if (created.id !== recordId) {
592
+ return created;
593
+ }
573
594
  this.sessionCheckpointRepository.create({
574
595
  id: createId(),
575
596
  butlerSessionId: created.id,
@@ -581,6 +602,7 @@ export class ButlerSessionService {
581
602
  nextActions: checkpointActions,
582
603
  capturedAt: timestamp
583
604
  });
605
+ return created;
584
606
  }
585
607
  }
586
608
  function requireNonEmptyText(value, field, detail) {
@@ -610,6 +632,13 @@ function mapButlerStatusFromRunningState(runningState) {
610
632
  return "idle";
611
633
  }
612
634
  }
635
+ function isButlerSessionUniqueConstraintError(error) {
636
+ if (!(error instanceof Error)) {
637
+ return false;
638
+ }
639
+ const code = "code" in error ? error.code : null;
640
+ return code === "SQLITE_CONSTRAINT_UNIQUE" && error.message.includes("butler_sessions.session_id");
641
+ }
613
642
  function mapCheckpointProgressState(runningState) {
614
643
  switch (runningState) {
615
644
  case "starting":