@jingyi0605/codingns 0.2.0 → 0.3.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 (328) hide show
  1. package/README.md +44 -0
  2. package/bin/codingns.mjs +918 -55
  3. package/dist/public/assets/{TerminalPage-BlbQuWi1.js → TerminalPage-Dfw1QUqW.js} +19 -19
  4. package/dist/public/assets/index-DR2rPNi7.css +1 -0
  5. package/dist/public/assets/index-DTOruahn.js +114 -0
  6. package/dist/public/index.html +2 -2
  7. package/dist/server/config/env.d.ts +3 -0
  8. package/dist/server/config/env.js +35 -3
  9. package/dist/server/config/env.js.map +1 -1
  10. package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +89 -0
  11. package/dist/server/modules/assistant-capability/assistant-capability-controller.js +138 -0
  12. package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -0
  13. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +115 -0
  14. package/dist/server/modules/assistant-capability/assistant-capability-service.js +241 -0
  15. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -0
  16. package/dist/server/modules/butler/butler-control-session-service.d.ts +3 -1
  17. package/dist/server/modules/butler/butler-control-session-service.js +96 -33
  18. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  19. package/dist/server/modules/butler/butler-follow-up-scheduler.d.ts +9 -0
  20. package/dist/server/modules/butler/butler-follow-up-scheduler.js +47 -11
  21. package/dist/server/modules/butler/butler-follow-up-scheduler.js.map +1 -1
  22. package/dist/server/modules/butler/butler-follow-up-service.d.ts +7 -1
  23. package/dist/server/modules/butler/butler-follow-up-service.js +10 -0
  24. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
  25. package/dist/server/modules/butler/butler-session-service.d.ts +3 -1
  26. package/dist/server/modules/butler/butler-session-service.js +82 -16
  27. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  28. package/dist/server/modules/butler/butler-session-summary-service.d.ts +8 -1
  29. package/dist/server/modules/butler/butler-session-summary-service.js +34 -7
  30. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
  31. package/dist/server/modules/butler/context-aggregator.js +44 -13
  32. package/dist/server/modules/butler/context-aggregator.js.map +1 -1
  33. package/dist/server/modules/butler/patrol-scheduler.d.ts +9 -0
  34. package/dist/server/modules/butler/patrol-scheduler.js +63 -9
  35. package/dist/server/modules/butler/patrol-scheduler.js.map +1 -1
  36. package/dist/server/modules/butler/session-summary-scheduler.d.ts +9 -0
  37. package/dist/server/modules/butler/session-summary-scheduler.js +47 -11
  38. package/dist/server/modules/butler/session-summary-scheduler.js.map +1 -1
  39. package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.d.ts +38 -0
  40. package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.js +99 -0
  41. package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.js.map +1 -0
  42. package/dist/server/modules/debug-target/debug-target-controller.d.ts +70 -0
  43. package/dist/server/modules/debug-target/debug-target-controller.js +113 -0
  44. package/dist/server/modules/debug-target/debug-target-controller.js.map +1 -0
  45. package/dist/server/modules/debug-target/debug-target-service.d.ts +105 -0
  46. package/dist/server/modules/debug-target/debug-target-service.js +1644 -0
  47. package/dist/server/modules/debug-target/debug-target-service.js.map +1 -0
  48. package/dist/server/modules/debug-target/framework-compatibility-matrix.d.ts +4 -0
  49. package/dist/server/modules/debug-target/framework-compatibility-matrix.js +45 -0
  50. package/dist/server/modules/debug-target/framework-compatibility-matrix.js.map +1 -0
  51. package/dist/server/modules/debug-target/launch-adapter-registry.d.ts +25 -0
  52. package/dist/server/modules/debug-target/launch-adapter-registry.js +445 -0
  53. package/dist/server/modules/debug-target/launch-adapter-registry.js.map +1 -0
  54. package/dist/server/modules/file/file-constants.d.ts +1 -0
  55. package/dist/server/modules/file/file-constants.js +1 -0
  56. package/dist/server/modules/file/file-constants.js.map +1 -1
  57. package/dist/server/modules/file/file-content-service.d.ts +2 -1
  58. package/dist/server/modules/file/file-content-service.js +53 -0
  59. package/dist/server/modules/file/file-content-service.js.map +1 -1
  60. package/dist/server/modules/file/file-controller.js +12 -3
  61. package/dist/server/modules/file/file-controller.js.map +1 -1
  62. package/dist/server/modules/file/file-preview-link-service.js +6 -37
  63. package/dist/server/modules/file/file-preview-link-service.js.map +1 -1
  64. package/dist/server/modules/file/file-preview-service.d.ts +6 -12
  65. package/dist/server/modules/file/file-preview-service.js +114 -28
  66. package/dist/server/modules/file/file-preview-service.js.map +1 -1
  67. package/dist/server/modules/file/file-preview-types.d.ts +37 -0
  68. package/dist/server/modules/file/file-preview-types.js +84 -0
  69. package/dist/server/modules/file/file-preview-types.js.map +1 -0
  70. package/dist/server/modules/git/commit-orchestrator.d.ts +4 -1
  71. package/dist/server/modules/git/commit-orchestrator.js +18 -1
  72. package/dist/server/modules/git/commit-orchestrator.js.map +1 -1
  73. package/dist/server/modules/git/git-auth.d.ts +25 -0
  74. package/dist/server/modules/git/git-auth.js +88 -0
  75. package/dist/server/modules/git/git-auth.js.map +1 -0
  76. package/dist/server/modules/git/git-controller.d.ts +12 -0
  77. package/dist/server/modules/git/git-controller.js +18 -1
  78. package/dist/server/modules/git/git-controller.js.map +1 -1
  79. package/dist/server/modules/git/git-read-service.d.ts +3 -1
  80. package/dist/server/modules/git/git-read-service.js +119 -2
  81. package/dist/server/modules/git/git-read-service.js.map +1 -1
  82. package/dist/server/modules/git/git-remote-credential-service.d.ts +9 -0
  83. package/dist/server/modules/git/git-remote-credential-service.js +76 -0
  84. package/dist/server/modules/git/git-remote-credential-service.js.map +1 -0
  85. package/dist/server/modules/git/git-write-service.d.ts +5 -2
  86. package/dist/server/modules/git/git-write-service.js +33 -17
  87. package/dist/server/modules/git/git-write-service.js.map +1 -1
  88. package/dist/server/modules/git/types.d.ts +26 -0
  89. package/dist/server/modules/git/workspace-repo-guard.js +3 -2
  90. package/dist/server/modules/git/workspace-repo-guard.js.map +1 -1
  91. package/dist/server/modules/provider/codex-model-options.d.ts +3 -1
  92. package/dist/server/modules/provider/codex-model-options.js +4 -1
  93. package/dist/server/modules/provider/codex-model-options.js.map +1 -1
  94. package/dist/server/modules/provider/opencode-model-options.d.ts +3 -1
  95. package/dist/server/modules/provider/opencode-model-options.js +5 -1
  96. package/dist/server/modules/provider/opencode-model-options.js.map +1 -1
  97. package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +24 -0
  98. package/dist/server/modules/provider/provider-discovery-helper-client.js +14 -0
  99. package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
  100. package/dist/server/modules/provider/provider-discovery-helper-process.js +54 -0
  101. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
  102. package/dist/server/modules/sessions/session-activity-authority-service.js +13 -1
  103. package/dist/server/modules/sessions/session-activity-authority-service.js.map +1 -1
  104. package/dist/server/modules/sessions/session-activity-inspector.js +21 -5
  105. package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
  106. package/dist/server/modules/sessions/session-controller.d.ts +5 -0
  107. package/dist/server/modules/sessions/session-controller.js +16 -0
  108. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  109. package/dist/server/modules/sessions/session-history-service.d.ts +27 -7
  110. package/dist/server/modules/sessions/session-history-service.js +439 -81
  111. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  112. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +2 -1
  113. package/dist/server/modules/sessions/session-live-runtime-service.js +12 -0
  114. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  115. package/dist/server/modules/skills/skill-controller.d.ts +23 -0
  116. package/dist/server/modules/skills/skill-controller.js +35 -0
  117. package/dist/server/modules/skills/skill-controller.js.map +1 -0
  118. package/dist/server/modules/skills/skill-manager-service.d.ts +86 -0
  119. package/dist/server/modules/skills/skill-manager-service.js +557 -0
  120. package/dist/server/modules/skills/skill-manager-service.js.map +1 -0
  121. package/dist/server/modules/skills/skill-reconciler.d.ts +21 -0
  122. package/dist/server/modules/skills/skill-reconciler.js +99 -0
  123. package/dist/server/modules/skills/skill-reconciler.js.map +1 -0
  124. package/dist/server/modules/skills/skill-sync-planner.d.ts +8 -0
  125. package/dist/server/modules/skills/skill-sync-planner.js +20 -0
  126. package/dist/server/modules/skills/skill-sync-planner.js.map +1 -0
  127. package/dist/server/modules/skills/skill-target-adapter.d.ts +34 -0
  128. package/dist/server/modules/skills/skill-target-adapter.js +65 -0
  129. package/dist/server/modules/skills/skill-target-adapter.js.map +1 -0
  130. package/dist/server/modules/tailscale/tailscale-controller.d.ts +15 -0
  131. package/dist/server/modules/tailscale/tailscale-controller.js +33 -0
  132. package/dist/server/modules/tailscale/tailscale-controller.js.map +1 -0
  133. package/dist/server/modules/tailscale/tailscale-helper-client.d.ts +41 -0
  134. package/dist/server/modules/tailscale/tailscale-helper-client.js +135 -0
  135. package/dist/server/modules/tailscale/tailscale-helper-client.js.map +1 -0
  136. package/dist/server/modules/tailscale/tailscale-helper-process.d.ts +1 -0
  137. package/dist/server/modules/tailscale/tailscale-helper-process.js +327 -0
  138. package/dist/server/modules/tailscale/tailscale-helper-process.js.map +1 -0
  139. package/dist/server/modules/tailscale/tailscale-manager.d.ts +41 -0
  140. package/dist/server/modules/tailscale/tailscale-manager.js +259 -0
  141. package/dist/server/modules/tailscale/tailscale-manager.js.map +1 -0
  142. package/dist/server/modules/tailscale/tailscale-service.d.ts +43 -0
  143. package/dist/server/modules/tailscale/tailscale-service.js +201 -0
  144. package/dist/server/modules/tailscale/tailscale-service.js.map +1 -0
  145. package/dist/server/modules/tasks/event-loop-monitor.d.ts +21 -0
  146. package/dist/server/modules/tasks/event-loop-monitor.js +64 -0
  147. package/dist/server/modules/tasks/event-loop-monitor.js.map +1 -0
  148. package/dist/server/modules/tasks/observability-controller.d.ts +30 -0
  149. package/dist/server/modules/tasks/observability-controller.js +44 -0
  150. package/dist/server/modules/tasks/observability-controller.js.map +1 -0
  151. package/dist/server/modules/tasks/observability-service.d.ts +32 -0
  152. package/dist/server/modules/tasks/observability-service.js +104 -0
  153. package/dist/server/modules/tasks/observability-service.js.map +1 -0
  154. package/dist/server/modules/tasks/scheduler-metrics.d.ts +41 -0
  155. package/dist/server/modules/tasks/scheduler-metrics.js +92 -0
  156. package/dist/server/modules/tasks/scheduler-metrics.js.map +1 -0
  157. package/dist/server/modules/tasks/task-activity-log.d.ts +39 -0
  158. package/dist/server/modules/tasks/task-activity-log.js +43 -0
  159. package/dist/server/modules/tasks/task-activity-log.js.map +1 -0
  160. package/dist/server/modules/tasks/task-helper-client.d.ts +11 -0
  161. package/dist/server/modules/tasks/task-helper-client.js +132 -0
  162. package/dist/server/modules/tasks/task-helper-client.js.map +1 -0
  163. package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +16 -0
  164. package/dist/server/modules/tasks/task-helper-process-handlers.js +14 -0
  165. package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -0
  166. package/dist/server/modules/tasks/task-helper-process.d.ts +1 -0
  167. package/dist/server/modules/tasks/task-helper-process.js +49 -0
  168. package/dist/server/modules/tasks/task-helper-process.js.map +1 -0
  169. package/dist/server/modules/tasks/task-lane-executors.d.ts +2 -0
  170. package/dist/server/modules/tasks/task-lane-executors.js +15 -0
  171. package/dist/server/modules/tasks/task-lane-executors.js.map +1 -0
  172. package/dist/server/modules/tasks/task-manager.d.ts +15 -0
  173. package/dist/server/modules/tasks/task-manager.js +36 -0
  174. package/dist/server/modules/tasks/task-manager.js.map +1 -0
  175. package/dist/server/modules/tasks/task-metrics.d.ts +9 -0
  176. package/dist/server/modules/tasks/task-metrics.js +81 -0
  177. package/dist/server/modules/tasks/task-metrics.js.map +1 -0
  178. package/dist/server/modules/tasks/task-registry.d.ts +7 -0
  179. package/dist/server/modules/tasks/task-registry.js +21 -0
  180. package/dist/server/modules/tasks/task-registry.js.map +1 -0
  181. package/dist/server/modules/tasks/task-scheduler.d.ts +31 -0
  182. package/dist/server/modules/tasks/task-scheduler.js +473 -0
  183. package/dist/server/modules/tasks/task-scheduler.js.map +1 -0
  184. package/dist/server/modules/tasks/task-types.d.ts +106 -0
  185. package/dist/server/modules/tasks/task-types.js +23 -0
  186. package/dist/server/modules/tasks/task-types.js.map +1 -0
  187. package/dist/server/modules/terminal/command-template-service.d.ts +4 -0
  188. package/dist/server/modules/terminal/command-template-service.js +5 -3
  189. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  190. package/dist/server/modules/terminal/runtime/terminal-log-spooler.d.ts +7 -3
  191. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js +95 -15
  192. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js.map +1 -1
  193. package/dist/server/modules/terminal/runtime/terminal-log-writer-client.d.ts +21 -0
  194. package/dist/server/modules/terminal/runtime/terminal-log-writer-client.js +144 -0
  195. package/dist/server/modules/terminal/runtime/terminal-log-writer-client.js.map +1 -0
  196. package/dist/server/modules/terminal/runtime/terminal-log-writer-process.d.ts +1 -0
  197. package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js +187 -0
  198. package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js.map +1 -0
  199. package/dist/server/modules/terminal/terminal-service.d.ts +12 -0
  200. package/dist/server/modules/terminal/terminal-service.js +34 -17
  201. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  202. package/dist/server/modules/workbench/workbench-service.d.ts +23 -2
  203. package/dist/server/modules/workbench/workbench-service.js +126 -15
  204. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  205. package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +5 -1
  206. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +88 -19
  207. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  208. package/dist/server/modules/workspace/workspace-code-composition.d.ts +2 -0
  209. package/dist/server/modules/workspace/workspace-code-composition.js +154 -0
  210. package/dist/server/modules/workspace/workspace-code-composition.js.map +1 -0
  211. package/dist/server/modules/workspace/workspace-controller.d.ts +14 -0
  212. package/dist/server/modules/workspace/workspace-controller.js +19 -0
  213. package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
  214. package/dist/server/modules/workspace/workspace-service.d.ts +21 -14
  215. package/dist/server/modules/workspace/workspace-service.js +183 -234
  216. package/dist/server/modules/workspace/workspace-service.js.map +1 -1
  217. package/dist/server/modules/worktree/worktree-cleanup-service.d.ts +35 -0
  218. package/dist/server/modules/worktree/worktree-cleanup-service.js +210 -0
  219. package/dist/server/modules/worktree/worktree-cleanup-service.js.map +1 -0
  220. package/dist/server/modules/worktree/worktree-controller.d.ts +44 -0
  221. package/dist/server/modules/worktree/worktree-controller.js +40 -0
  222. package/dist/server/modules/worktree/worktree-controller.js.map +1 -0
  223. package/dist/server/modules/worktree/worktree-manager.d.ts +34 -0
  224. package/dist/server/modules/worktree/worktree-manager.js +292 -0
  225. package/dist/server/modules/worktree/worktree-manager.js.map +1 -0
  226. package/dist/server/modules/worktree/worktree-merge-service.d.ts +52 -0
  227. package/dist/server/modules/worktree/worktree-merge-service.js +293 -0
  228. package/dist/server/modules/worktree/worktree-merge-service.js.map +1 -0
  229. package/dist/server/modules/worktree/worktree-sync-service.d.ts +23 -0
  230. package/dist/server/modules/worktree/worktree-sync-service.js +166 -0
  231. package/dist/server/modules/worktree/worktree-sync-service.js.map +1 -0
  232. package/dist/server/routes/assistant.d.ts +3 -0
  233. package/dist/server/routes/assistant.js +15 -0
  234. package/dist/server/routes/assistant.js.map +1 -0
  235. package/dist/server/routes/debug-targets.d.ts +3 -0
  236. package/dist/server/routes/debug-targets.js +15 -0
  237. package/dist/server/routes/debug-targets.js.map +1 -0
  238. package/dist/server/routes/git.js +2 -0
  239. package/dist/server/routes/git.js.map +1 -1
  240. package/dist/server/routes/observability.d.ts +3 -0
  241. package/dist/server/routes/observability.js +7 -0
  242. package/dist/server/routes/observability.js.map +1 -0
  243. package/dist/server/routes/skills.d.ts +3 -0
  244. package/dist/server/routes/skills.js +7 -0
  245. package/dist/server/routes/skills.js.map +1 -0
  246. package/dist/server/routes/system.d.ts +3 -0
  247. package/dist/server/routes/system.js +9 -0
  248. package/dist/server/routes/system.js.map +1 -0
  249. package/dist/server/routes/workspaces.js +2 -0
  250. package/dist/server/routes/workspaces.js.map +1 -1
  251. package/dist/server/routes/worktrees.d.ts +3 -0
  252. package/dist/server/routes/worktrees.js +8 -0
  253. package/dist/server/routes/worktrees.js.map +1 -0
  254. package/dist/server/server/create-server.d.ts +46 -0
  255. package/dist/server/server/create-server.js +141 -12
  256. package/dist/server/server/create-server.js.map +1 -1
  257. package/dist/server/shared/utils/command-availability.d.ts +1 -0
  258. package/dist/server/shared/utils/command-availability.js +26 -3
  259. package/dist/server/shared/utils/command-availability.js.map +1 -1
  260. package/dist/server/shared/utils/secret-box.d.ts +2 -0
  261. package/dist/server/shared/utils/secret-box.js +29 -0
  262. package/dist/server/shared/utils/secret-box.js.map +1 -0
  263. package/dist/server/shared/utils/terminal-debug-log.js +5 -3
  264. package/dist/server/shared/utils/terminal-debug-log.js.map +1 -1
  265. package/dist/server/storage/repositories/ai-fallback-edit-repository.d.ts +11 -0
  266. package/dist/server/storage/repositories/ai-fallback-edit-repository.js +118 -0
  267. package/dist/server/storage/repositories/ai-fallback-edit-repository.js.map +1 -0
  268. package/dist/server/storage/repositories/debug-runtime-session-repository.d.ts +11 -0
  269. package/dist/server/storage/repositories/debug-runtime-session-repository.js +100 -0
  270. package/dist/server/storage/repositories/debug-runtime-session-repository.js.map +1 -0
  271. package/dist/server/storage/repositories/debug-service-repository.d.ts +9 -0
  272. package/dist/server/storage/repositories/debug-service-repository.js +99 -0
  273. package/dist/server/storage/repositories/debug-service-repository.js.map +1 -0
  274. package/dist/server/storage/repositories/debug-target-repository.d.ts +11 -0
  275. package/dist/server/storage/repositories/debug-target-repository.js +100 -0
  276. package/dist/server/storage/repositories/debug-target-repository.js.map +1 -0
  277. package/dist/server/storage/repositories/framework-analysis-result-repository.d.ts +9 -0
  278. package/dist/server/storage/repositories/framework-analysis-result-repository.js +98 -0
  279. package/dist/server/storage/repositories/framework-analysis-result-repository.js.map +1 -0
  280. package/dist/server/storage/repositories/git-remote-credential-repository.d.ts +9 -0
  281. package/dist/server/storage/repositories/git-remote-credential-repository.js +51 -0
  282. package/dist/server/storage/repositories/git-remote-credential-repository.js.map +1 -0
  283. package/dist/server/storage/repositories/instance-tailscale-repository.d.ts +10 -0
  284. package/dist/server/storage/repositories/instance-tailscale-repository.js +112 -0
  285. package/dist/server/storage/repositories/instance-tailscale-repository.js.map +1 -0
  286. package/dist/server/storage/repositories/managed-skill-repository.d.ts +11 -0
  287. package/dist/server/storage/repositories/managed-skill-repository.js +102 -0
  288. package/dist/server/storage/repositories/managed-skill-repository.js.map +1 -0
  289. package/dist/server/storage/repositories/port-lease-repository.d.ts +12 -0
  290. package/dist/server/storage/repositories/port-lease-repository.js +124 -0
  291. package/dist/server/storage/repositories/port-lease-repository.js.map +1 -0
  292. package/dist/server/storage/repositories/runtime-binding-repository.d.ts +10 -0
  293. package/dist/server/storage/repositories/runtime-binding-repository.js +89 -0
  294. package/dist/server/storage/repositories/runtime-binding-repository.js.map +1 -0
  295. package/dist/server/storage/repositories/skill-target-binding-repository.d.ts +10 -0
  296. package/dist/server/storage/repositories/skill-target-binding-repository.js +77 -0
  297. package/dist/server/storage/repositories/skill-target-binding-repository.js.map +1 -0
  298. package/dist/server/storage/repositories/terminal-command-template-repository.js +77 -4
  299. package/dist/server/storage/repositories/terminal-command-template-repository.js.map +1 -1
  300. package/dist/server/storage/repositories/terminal-instance-repository.js +89 -7
  301. package/dist/server/storage/repositories/terminal-instance-repository.js.map +1 -1
  302. package/dist/server/storage/repositories/workspace-navigation-state-repository.d.ts +9 -0
  303. package/dist/server/storage/repositories/workspace-navigation-state-repository.js +49 -0
  304. package/dist/server/storage/repositories/workspace-navigation-state-repository.js.map +1 -0
  305. package/dist/server/storage/repositories/workspace-repository.d.ts +7 -1
  306. package/dist/server/storage/repositories/workspace-repository.js +32 -8
  307. package/dist/server/storage/repositories/workspace-repository.js.map +1 -1
  308. package/dist/server/storage/repositories/workspace-worktree-repository.d.ts +13 -0
  309. package/dist/server/storage/repositories/workspace-worktree-repository.js +158 -0
  310. package/dist/server/storage/repositories/workspace-worktree-repository.js.map +1 -0
  311. package/dist/server/storage/sqlite/client.js +311 -0
  312. package/dist/server/storage/sqlite/client.js.map +1 -1
  313. package/dist/server/storage/sqlite/schema.sql +303 -0
  314. package/dist/server/types/domain.d.ts +303 -0
  315. package/dist/server/ws/workbench-ws-hub.js +33 -9
  316. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  317. package/dist/server/ws/ws-server.js +4 -4
  318. package/dist/server/ws/ws-server.js.map +1 -1
  319. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +18 -6
  320. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  321. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +14 -2
  322. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  323. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +25 -1
  324. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  325. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +6 -0
  326. package/package.json +1 -1
  327. package/dist/public/assets/index-1VIm8lVL.css +0 -1
  328. package/dist/public/assets/index-Dti93O2S.js +0 -109
@@ -0,0 +1,241 @@
1
+ import { createId } from "../../shared/utils/id.js";
2
+ import { nowIso } from "../../shared/utils/time.js";
3
+ const ASSISTANT_CAPABILITIES = [
4
+ {
5
+ name: "capabilities.list",
6
+ mode: "read",
7
+ enabled: true,
8
+ summary: "查看当前开放的助手内部能力"
9
+ },
10
+ {
11
+ name: "projects.list",
12
+ mode: "read",
13
+ enabled: true,
14
+ summary: "列出当前托管项目"
15
+ },
16
+ {
17
+ name: "projects.get",
18
+ mode: "read",
19
+ enabled: true,
20
+ summary: "读取指定项目详情和概况"
21
+ },
22
+ {
23
+ name: "projects.sessions.list",
24
+ mode: "read",
25
+ enabled: true,
26
+ summary: "列出指定项目下可操作的会话"
27
+ },
28
+ {
29
+ name: "sessions.get",
30
+ mode: "read",
31
+ enabled: true,
32
+ summary: "读取指定会话详情"
33
+ },
34
+ {
35
+ name: "sessions.messages.list",
36
+ mode: "read",
37
+ enabled: true,
38
+ summary: "读取指定会话消息窗口"
39
+ },
40
+ {
41
+ name: "sessions.runtime.get",
42
+ mode: "read",
43
+ enabled: true,
44
+ summary: "读取指定会话运行态"
45
+ },
46
+ {
47
+ name: "sessions.message.send",
48
+ mode: "proxy_execute",
49
+ enabled: true,
50
+ summary: "向指定真实项目会话发送消息"
51
+ },
52
+ {
53
+ name: "sessions.fork",
54
+ mode: "proxy_execute",
55
+ enabled: true,
56
+ summary: "从指定会话或消息点 fork 新会话"
57
+ },
58
+ {
59
+ name: "terminals.list",
60
+ mode: "read",
61
+ enabled: true,
62
+ summary: "列出指定工作区或项目下的终端"
63
+ },
64
+ {
65
+ name: "terminals.history.read",
66
+ mode: "read",
67
+ enabled: true,
68
+ summary: "读取终端历史输出"
69
+ },
70
+ {
71
+ name: "terminals.input.send",
72
+ mode: "proxy_execute",
73
+ enabled: true,
74
+ summary: "向受控终端发送输入"
75
+ }
76
+ ];
77
+ export class AssistantCapabilityService {
78
+ butlerProjectService;
79
+ butlerSessionService;
80
+ sessionHistoryService;
81
+ sessionLiveRuntimeService;
82
+ terminalService;
83
+ constructor(butlerProjectService, butlerSessionService, sessionHistoryService, sessionLiveRuntimeService, terminalService) {
84
+ this.butlerProjectService = butlerProjectService;
85
+ this.butlerSessionService = butlerSessionService;
86
+ this.sessionHistoryService = sessionHistoryService;
87
+ this.sessionLiveRuntimeService = sessionLiveRuntimeService;
88
+ this.terminalService = terminalService;
89
+ }
90
+ listCapabilities() {
91
+ return this.createReceipt("capabilities.list", {
92
+ kind: "none",
93
+ id: null
94
+ }, {
95
+ version: "2026-04-14",
96
+ items: ASSISTANT_CAPABILITIES
97
+ });
98
+ }
99
+ listProjects(input) {
100
+ const items = this.butlerProjectService.list({
101
+ workspaceId: input.workspaceId?.trim() || undefined,
102
+ lifecycleStatus: input.lifecycleStatus,
103
+ riskLevel: input.riskLevel
104
+ });
105
+ return this.createReceipt("projects.list", {
106
+ kind: "none",
107
+ id: null
108
+ }, {
109
+ items
110
+ });
111
+ }
112
+ async getProject(projectId, userId) {
113
+ await this.butlerSessionService.ensureProjectSessionsSynced(projectId, userId);
114
+ const project = this.butlerProjectService.getById(projectId);
115
+ const overview = this.butlerProjectService.getOverview(projectId);
116
+ const sessions = this.butlerSessionService.listByProject(projectId, userId);
117
+ return this.createReceipt("projects.get", {
118
+ kind: "project",
119
+ id: projectId
120
+ }, {
121
+ project,
122
+ overview,
123
+ sessions
124
+ });
125
+ }
126
+ async listProjectSessions(projectId, userId) {
127
+ await this.butlerSessionService.ensureProjectSessionsSynced(projectId, userId);
128
+ const items = this.butlerSessionService.listByProject(projectId, userId);
129
+ return this.createReceipt("projects.sessions.list", {
130
+ kind: "project",
131
+ id: projectId
132
+ }, {
133
+ items
134
+ });
135
+ }
136
+ getSession(sessionId, userId) {
137
+ const session = this.sessionHistoryService.getSession(sessionId, userId);
138
+ return this.createReceipt("sessions.get", {
139
+ kind: "session",
140
+ id: sessionId
141
+ }, {
142
+ session
143
+ });
144
+ }
145
+ async listSessionMessages(input) {
146
+ const page = await this.sessionHistoryService.readSessionHistory(input.sessionId, input.cursor, input.limit, input.direction, input.userId);
147
+ return this.createReceipt("sessions.messages.list", {
148
+ kind: "session",
149
+ id: input.sessionId
150
+ }, {
151
+ page
152
+ });
153
+ }
154
+ async getSessionRuntime(sessionId, userId) {
155
+ const runtime = await this.sessionLiveRuntimeService.getSessionRuntime(sessionId, userId);
156
+ return this.createReceipt("sessions.runtime.get", {
157
+ kind: "session",
158
+ id: sessionId
159
+ }, {
160
+ runtime
161
+ });
162
+ }
163
+ async sendSessionMessage(input) {
164
+ const result = await this.sessionLiveRuntimeService.sendLiveMessage({
165
+ sessionId: input.sessionId,
166
+ userId: input.userId,
167
+ content: input.content,
168
+ clientRequestId: input.clientRequestId?.trim() || null,
169
+ runtimeOptions: {
170
+ model: input.model?.trim() || null,
171
+ reasoningLevel: input.reasoningLevel?.trim() || null,
172
+ permissionMode: input.permissionMode?.trim() || null,
173
+ attachments: []
174
+ }
175
+ });
176
+ return this.createReceipt("sessions.message.send", {
177
+ kind: "session",
178
+ id: input.sessionId
179
+ }, {
180
+ result
181
+ });
182
+ }
183
+ async forkSession(input) {
184
+ const session = await this.sessionHistoryService.forkSession({
185
+ sessionId: input.sessionId,
186
+ userId: input.userId,
187
+ sourceType: input.sourceType,
188
+ sourceMessageId: input.sourceMessageId?.trim() || null,
189
+ strategy: input.strategy ?? "auto",
190
+ targetProvider: input.targetProvider?.trim() || null
191
+ });
192
+ return this.createReceipt("sessions.fork", {
193
+ kind: "session",
194
+ id: input.sessionId
195
+ }, {
196
+ session
197
+ });
198
+ }
199
+ async listTerminals(input) {
200
+ const workspaceId = input.projectId?.trim()
201
+ ? this.butlerProjectService.getById(input.projectId).workspaceId
202
+ : input.workspaceId?.trim() || "";
203
+ const items = await this.terminalService.listTerminals(workspaceId);
204
+ return this.createReceipt("terminals.list", {
205
+ kind: input.projectId?.trim() ? "project" : "none",
206
+ id: input.projectId?.trim() || null
207
+ }, {
208
+ workspaceId,
209
+ items
210
+ });
211
+ }
212
+ async readTerminalHistory(input) {
213
+ const page = await this.terminalService.readTerminalHistory(input.terminalId, input.beforeSeq, input.limit);
214
+ return this.createReceipt("terminals.history.read", {
215
+ kind: "terminal",
216
+ id: input.terminalId
217
+ }, {
218
+ page
219
+ });
220
+ }
221
+ async sendTerminalInput(input) {
222
+ const result = await this.terminalService.writeInput(input.terminalId, input.content);
223
+ return this.createReceipt("terminals.input.send", {
224
+ kind: "terminal",
225
+ id: input.terminalId
226
+ }, {
227
+ result
228
+ });
229
+ }
230
+ createReceipt(capability, targetRef, payload) {
231
+ return {
232
+ ok: true,
233
+ capability,
234
+ auditId: createId(),
235
+ timestamp: nowIso(),
236
+ targetRef,
237
+ payload
238
+ };
239
+ }
240
+ }
241
+ //# sourceMappingURL=assistant-capability-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-capability-service.js","sourceRoot":"","sources":["../../../../src/modules/assistant-capability/assistant-capability-service.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import type { WorkspaceService } from "../workspace/workspace-service.js";
6
6
  import type { SessionHistoryService } from "../sessions/session-history-service.js";
7
7
  import type { SessionLiveRuntimeService } from "../sessions/session-live-runtime-service.js";
8
8
  import type { ButlerContextAggregator } from "./context-aggregator.js";
9
+ import type { SkillManagerService } from "../skills/skill-manager-service.js";
9
10
  export interface ButlerControlSessionView extends ButlerControlSession {
10
11
  session: SessionListItem;
11
12
  }
@@ -27,9 +28,10 @@ export declare class ButlerControlSessionService {
27
28
  private readonly sessionLiveRuntimeService;
28
29
  private readonly butlerContextAggregator;
29
30
  private readonly butlerAuthService;
31
+ private readonly skillManagerService;
30
32
  private readonly codexHomeDir;
31
33
  private readonly sourceCodexHomeDir;
32
- 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">, codexHomeDir?: string | null, sourceCodexHomeDir?: string | null);
34
+ 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">, codexHomeDir?: string | null, sourceCodexHomeDir?: string | null);
33
35
  getCurrentSession(userId: string): ButlerControlSessionView | null;
34
36
  resetCurrentSession(): void;
35
37
  startSession(userId: string, input?: StartButlerControlSessionInput): Promise<ButlerControlSessionView>;
@@ -13,9 +13,10 @@ export class ButlerControlSessionService {
13
13
  sessionLiveRuntimeService;
14
14
  butlerContextAggregator;
15
15
  butlerAuthService;
16
+ skillManagerService;
16
17
  codexHomeDir;
17
18
  sourceCodexHomeDir;
18
- constructor(butlerProfileService, butlerControlSessionRepository, workspaceService, sessionHistoryService, sessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, codexHomeDir = null, sourceCodexHomeDir = null) {
19
+ constructor(butlerProfileService, butlerControlSessionRepository, workspaceService, sessionHistoryService, sessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, skillManagerService, codexHomeDir = null, sourceCodexHomeDir = null) {
19
20
  this.butlerProfileService = butlerProfileService;
20
21
  this.butlerControlSessionRepository = butlerControlSessionRepository;
21
22
  this.workspaceService = workspaceService;
@@ -23,6 +24,7 @@ export class ButlerControlSessionService {
23
24
  this.sessionLiveRuntimeService = sessionLiveRuntimeService;
24
25
  this.butlerContextAggregator = butlerContextAggregator;
25
26
  this.butlerAuthService = butlerAuthService;
27
+ this.skillManagerService = skillManagerService;
26
28
  this.codexHomeDir = codexHomeDir;
27
29
  this.sourceCodexHomeDir = sourceCodexHomeDir;
28
30
  }
@@ -177,7 +179,7 @@ export class ButlerControlSessionService {
177
179
  ensureButlerWorkspaceIsolation(profile.workspacePath);
178
180
  const auth = this.butlerAuthService.ensureWorkspaceCredential(profile.workspacePath, userId);
179
181
  writeInstructionFiles(profile, promptContext, auth, this.butlerAuthService.getCredentialFilePath(profile.workspacePath));
180
- syncCodexInstructionConfig(profile, this.codexHomeDir, this.sourceCodexHomeDir);
182
+ syncCodexInstructionConfig(profile, this.skillManagerService, this.codexHomeDir, this.sourceCodexHomeDir);
181
183
  }
182
184
  markFailed(record, fallbackSummary) {
183
185
  this.butlerControlSessionRepository.update({
@@ -201,7 +203,7 @@ function writeInstructionFiles(profile, promptContext, auth, authFilePath) {
201
203
  writeFileIfChanged(path.join(profile.workspacePath, "BUTLER_CONTEXT.md"), `${promptContext.prompt.trim()}\n`);
202
204
  writeFileIfChanged(path.join(profile.workspacePath, "BUTLER_API.md"), buildApiGuideContent(auth, authFilePath));
203
205
  }
204
- function syncCodexInstructionConfig(profile, codexHomeDir, sourceCodexHomeDir) {
206
+ function syncCodexInstructionConfig(profile, skillManagerService, codexHomeDir, sourceCodexHomeDir) {
205
207
  if (profile.providerId !== "codex" || !codexHomeDir?.trim()) {
206
208
  return;
207
209
  }
@@ -220,8 +222,31 @@ function syncCodexInstructionConfig(profile, codexHomeDir, sourceCodexHomeDir) {
220
222
  removeFileIfExists(path.join(targetHomeDir, "AGENTS.override.md"));
221
223
  // 助手需要独立规则,但不能因为独立 home 丢掉 Codex 登录态。
222
224
  syncOptionalFile(path.join(sourceHomeDir, "auth.json"), path.join(targetHomeDir, "auth.json"));
225
+ syncButlerCodexSkill(skillManagerService, path.join(targetHomeDir, "skills", "codingns-assistant"));
223
226
  writeFileIfChanged(path.join(targetHomeDir, "config.toml"), `${configContent}\n`);
224
227
  }
228
+ function syncButlerCodexSkill(skillManagerService, targetSkillPath) {
229
+ const skillDirectoryName = "codingns-assistant";
230
+ const overview = skillManagerService.getOverview({
231
+ targetCli: ["codex"]
232
+ });
233
+ const managedSkill = overview.managedSkills.find((item) => item.skill.directoryName === skillDirectoryName);
234
+ if (managedSkill) {
235
+ syncOptionalDirectory(managedSkill.ssotPath, targetSkillPath);
236
+ return;
237
+ }
238
+ const unmanagedEntry = overview.unmanagedEntries.find((entry) => entry.targetCli === "codex" && entry.directoryName === skillDirectoryName);
239
+ if (unmanagedEntry) {
240
+ const imported = skillManagerService.importUnmanagedSkill({
241
+ targetCli: "codex",
242
+ directoryPath: unmanagedEntry.directoryPath,
243
+ expectedContentHash: unmanagedEntry.contentHash
244
+ });
245
+ syncOptionalDirectory(imported.ssotPath, targetSkillPath);
246
+ return;
247
+ }
248
+ fs.rmSync(targetSkillPath, { recursive: true, force: true });
249
+ }
225
250
  function resolveSourceCodexHomeDir(sourceCodexHomeDir, targetHomeDir) {
226
251
  const configuredSource = sourceCodexHomeDir?.trim();
227
252
  if (configuredSource) {
@@ -266,61 +291,90 @@ function composeInstructionContent(profile, promptContext) {
266
291
  ## 代码助手运行附加说明(系统自动生成)
267
292
 
268
293
  - 当前工作目录是代码助手专用目录,只使用这里的助手规则,不回退到普通项目会话规则。
294
+ - 你是代码助手控制面,不是项目实现者。默认职责只有:查看、分析、归纳、补查信息、安排下一步、把指令发送给真实项目会话或终端。
295
+ - 禁止直接改业务项目代码、禁止直接生成补丁并落盘、禁止自己在项目目录里写实现。用户要推进开发时,只能通过内部 API 续接/新建项目会话、发送消息、查询结果,或者操作受控终端。
296
+ - 如果用户要求“修改代码”“继续实现”“修 bug”,先定位目标项目和目标会话;没有会话就先新建/续接项目会话,再把任务发给那个会话继续做,不要自己在 Butler 工作目录里动手。
269
297
  - 当前聚合后的平台摘要写在 \`BUTLER_CONTEXT.md\`,先看这里,不要把所有项目原始记录一股脑塞进回答。
270
298
  - 当前摘要作用域是:${promptContext.scope === "project" ? `项目 ${promptContext.projectId}` : "全局总览"}。
299
+ - 你自己的主工具入口不是一堆 HTTP 路由,而是 \`codingns assistant ...\`。真正执行前,先用 \`codingns assistant --help\`、\`codingns assistant help <group>\`、\`codingns assistant <group> <action> --help\` 按需查命令。
300
+ - 如果当前 Codex 环境能发现 \`codingns-assistant\` skill,优先按这个 skill 的流程工作:先查能力,再查项目/会话/终端,再决定是否发送消息、fork 或发终端输入。
301
+ - 默认查询顺序固定为:先看 \`BUTLER_CONTEXT.md\`,再用 \`codingns assistant capabilities list\` 确认能力,再按 \`projects / sessions / terminals\` 分组查具体对象;不要先翻一大堆旧 REST 文档。
271
302
  - 如果你在跟进开发会话,且目标或上下文里提到了 spec,只能围绕 spec 明确写出的必做项推进,不能顺着建议项无限扩展开发范围。
272
303
  - 如果当前没有 spec,就先从用户要求和会话现状里归纳一句核心任务,后续只围绕这个核心任务推进;不要把建议项、最佳实践、顺手优化当成必做项。
273
- - 如果用户的问题里已经带了项目名、会话名、错误词或任务关键词,优先按 \`BUTLER_API.md\` \`GET /api/butler/search?q=...\` 命中摘要,再决定要不要继续翻原始消息;如果用户明确点名历史会话或归档会话,记得加 \`includeArchived=true\`。
274
- - 如果 \`BUTLER_CONTEXT.md\` 里的项目数或会话数是 0,不能直接下结论,必须先按 \`BUTLER_API.md\` 实查一次 \`GET /api/butler/overview\` 和 \`GET /api/butler/projects\`。
275
- - 如果用户追问的细节超出当前摘要,先明确缺口,再要求宿主系统按 \`BUTLER_API.md\` 的说明补查具体项目、会话、巡视或验证信息。
276
- - 如果用户追问会话内容,先定位 \`sessionId\`,再调用 \`GET /api/sessions/:sessionId/messages?direction=backward&limit=40\` 查看最近消息,不要只复述摘要。
304
+ - 如果用户的问题里已经带了项目名、会话名、错误词或任务关键词,先通过 \`codingns assistant projects --help\`、\`codingns assistant sessions --help\` 选对命令,再查目标对象;如果用户明确点名历史会话或归档会话,按 help 提示补充筛选参数。
305
+ - 如果 \`BUTLER_CONTEXT.md\` 里的项目数或会话数是 0,不能直接下结论,必须先跑 \`codingns assistant capabilities list\` 和 \`codingns assistant projects list\` 确认真实状态。
306
+ - 如果用户追问的细节超出当前摘要,先明确缺口,再按 \`BUTLER_API.md\` 里记录的 CLI 顺序补查项目、会话、消息窗口或终端历史。
307
+ - 如果用户追问会话内容,先定位 \`sessionId\`,再优先用 \`codingns assistant sessions messages <sessionId>\` 查看最近消息,不要只复述摘要。
308
+ - 需要推进开发时,优先用 \`codingns assistant sessions send <sessionId> --message ...\`;只有明确需要 shell 链路时,才用 \`codingns assistant terminals send <terminalId> --input ...\`。
277
309
  - 不要编造不存在的项目状态;信息不足时直接说缺什么。
278
310
  `;
279
311
  }
280
312
  function buildApiGuideContent(auth, authFilePath) {
281
- return `# 代码助手内部补查接口
313
+ return `# 代码助手 CLI 与按需补查指南
282
314
 
283
- 这些接口由宿主系统提供,用于按需补查信息,不应该在每轮对话默认全量注入。
315
+ 默认不要直接背 HTTP 路由。先用 \`codingns assistant ...\` 和分层 help 按需查询。
284
316
 
285
317
  ## 固定认证方式
286
318
 
287
319
  - Butler 专用凭证文件:\`${path.basename(authFilePath)}\`
288
320
  - 凭证文件路径:\`${authFilePath}\`
289
321
  - 当前 API 基地址:\`${auth.apiBaseUrl}\`
290
- - 调内部接口时固定读取这个文件,不要每轮重新摸索认证方式。
291
- - 请求头固定为:\`Authorization: Bearer <BUTLER_AUTH.json.accessToken>\`
322
+ - 先从这个文件导出环境变量,再执行 \`codingns assistant ...\`。
323
+
324
+ ## 推荐先准备一次环境变量
325
+
326
+ \`\`\`bash
327
+ export CODINGNS_BASE_URL="$(jq -r '.apiBaseUrl' "${authFilePath}")"
328
+ export CODINGNS_ACCESS_TOKEN="$(jq -r '.accessToken' "${authFilePath}")"
329
+ \`\`\`
292
330
 
293
331
  ## 默认读取顺序
294
332
 
295
333
  1. 先读 \`BUTLER_CONTEXT.md\` 的当前摘要。
296
- 2. 用户的问题里带了项目名、会话名、报错词、任务词时,先补查 \`GET /api/butler/search?q=...\`,优先命中摘要层;如果用户明确点名历史会话或归档会话,改用 \`GET /api/butler/search?q=...&includeArchived=true\`。
297
- 3. 如果摘要里项目数或会话数是 0,先补查 \`GET /api/butler/overview\` \`GET /api/butler/projects\`,确认不是旧摘要。
298
- 4. 用户问全局情况时,补查 \`GET /api/butler/overview\`。
299
- 5. 用户明确追问某个项目时,补查 \`GET /api/butler/projects/:projectId/context\`。
300
- 6. 用户追问某个会话内容时,先拿到 \`sessionId\`,再补查 \`GET /api/sessions/:sessionId/messages?direction=backward&limit=40\`。
301
- 7. 仍然不够时,再按既有 butler 细节接口查询项目、会话、记忆、巡视、验证对象。
334
+ 2. 先跑 \`codingns assistant capabilities list\`,确认当前开放能力。
335
+ 3. 不知道怎么查时,先跑 \`codingns assistant --help\`、\`codingns assistant help projects\`、\`codingns assistant help sessions\`、\`codingns assistant help terminals\`。
336
+ 4. 要找项目时,先 \`codingns assistant projects list\`,需要详情时再 \`projects get <projectId>\`。
337
+ 5. 要找会话时,先 \`codingns assistant sessions list --project <projectId>\`,再按需要用 \`sessions get\`、\`sessions runtime\`、\`sessions messages\`。
338
+ 6. 要推进开发时,优先 \`codingns assistant sessions send <sessionId> --message "..."\`。
339
+ 7. 只有明确需要 shell 链路时,先 \`terminals list\`、\`terminals history\`,再决定是否 \`terminals send\`。
340
+ 8. 要开新分支时,再用 \`codingns assistant sessions fork <sessionId>\`。
341
+
342
+ ## 执行边界
343
+
344
+ - 你不能直接修改项目代码,也不能把自己当成项目执行会话。
345
+ - 需要推进开发时,只能通过下面这些 CLI 命令驱动真实项目会话或受控终端。
346
+ - 需要命令结果时,优先查终端历史;确实要执行命令,再向受控终端发送输入。
347
+ - 需要分叉会话时,统一走 \`codingns assistant sessions fork\`,不要自己伪造一条“新上下文”继续编。
302
348
 
303
- ## 调用示例
349
+ ## help 入口
304
350
 
305
351
  \`\`\`bash
306
- TOKEN="$(jq -r '.accessToken' "${authFilePath}")"
307
- BASE_URL="$(jq -r '.apiBaseUrl' "${authFilePath}")"
308
- curl -H "Authorization: Bearer ${"$"}TOKEN" "${"$"}BASE_URL/api/butler/overview"
352
+ codingns assistant --help
353
+ codingns assistant help projects
354
+ codingns assistant help sessions
355
+ codingns assistant sessions send --help
356
+ codingns assistant terminals send --help
309
357
  \`\`\`
310
358
 
311
- ## 可用接口
359
+ ## 常用命令
360
+
361
+ - \`codingns assistant capabilities list\`:查看当前 Butler 可用能力。
362
+ - \`codingns assistant projects list\`:列出托管项目。
363
+ - \`codingns assistant projects get <projectId>\`:读取项目详情和项目下可操作会话。
364
+ - \`codingns assistant sessions list --project <projectId>\`:列出项目会话。
365
+ - \`codingns assistant sessions get <sessionId>\`:读取真实会话详情。
366
+ - \`codingns assistant sessions messages <sessionId> --limit 40\`:读取最近消息窗口。
367
+ - \`codingns assistant sessions runtime <sessionId>\`:查看会话是否还在运行。
368
+ - \`codingns assistant sessions send <sessionId> --message "..."\`:向真实项目会话发消息。
369
+ - \`codingns assistant sessions fork <sessionId> --message-id <messageId>\`:从消息点 fork 新会话。
370
+ - \`codingns assistant terminals list --project-id <projectId>\`:列出项目下终端。
371
+ - \`codingns assistant terminals history <terminalId> --limit 50\`:读取终端最近输出。
372
+ - \`codingns assistant terminals send <terminalId> --input "npm test\\n"\`:向终端发送输入。
373
+
374
+ ## 底层说明
312
375
 
313
- - \`GET /api/butler/overview\`:全局聚合总览,只返回摘要层和行动层。
314
- - \`GET /api/butler/projects\`:当前 Butler 视图中的项目列表。
315
- - \`GET /api/butler/context-snapshot\`:完整聚合快照,仍然只返回摘要字段,不返回全量原始正文。
316
- - \`GET /api/butler/search?q=...\`:Butler 摘要优先检索入口,先按项目、会话、记忆、巡视、验证摘要做命中。
317
- - \`GET /api/butler/search?q=...&includeArchived=true\`:当用户明确要查历史会话或归档会话时,扩展到归档摘要。
318
- - \`GET /api/butler/projects/:projectId/context\`:单项目聚合上下文,用于回答项目级追问。
319
- - \`GET /api/butler/projects/:projectId/sessions\`:项目会话列表。
320
- - \`GET /api/butler/projects/:projectId/memories\`:项目记忆摘要列表。
321
- - \`GET /api/butler/projects/:projectId/patrol-runs\`:项目巡视记录列表。
322
- - \`GET /api/butler/projects/:projectId/verifications\`:项目验证记录列表。
323
- - \`GET /api/sessions/:sessionId/messages?direction=backward&limit=40\`:读取某个真实会话最近几十条消息。
376
+ - 上面这些命令最终还是调用宿主系统的 \`/api/assistant/*\`。
377
+ - 只有当 CLI 还没覆盖某个极少数细节时,才回退到底层 HTTP。
324
378
  `;
325
379
  }
326
380
  function toTomlString(value) {
@@ -345,6 +399,15 @@ function syncOptionalFile(sourcePath, targetPath) {
345
399
  }
346
400
  fs.copyFileSync(sourcePath, targetPath);
347
401
  }
402
+ function syncOptionalDirectory(sourcePath, targetPath) {
403
+ if (!fs.existsSync(sourcePath) || !fs.statSync(sourcePath).isDirectory()) {
404
+ fs.rmSync(targetPath, { recursive: true, force: true });
405
+ return;
406
+ }
407
+ fs.rmSync(targetPath, { recursive: true, force: true });
408
+ fs.mkdirSync(path.dirname(targetPath), { recursive: true });
409
+ fs.cpSync(sourcePath, targetPath, { recursive: true });
410
+ }
348
411
  function normalizeControlContent(value, fallback) {
349
412
  const normalized = value?.trim() ?? fallback.trim();
350
413
  if (!normalized) {
@@ -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,23 +1,32 @@
1
+ import { type SchedulerMetrics } from "../tasks/scheduler-metrics.js";
1
2
  import type { ButlerFollowUpService } from "./butler-follow-up-service.js";
2
3
  interface ButlerFollowUpSchedulerLogger {
3
4
  error(message: string, detail?: unknown): void;
4
5
  }
5
6
  interface ButlerFollowUpSchedulerOptions {
6
7
  intervalMs?: number;
8
+ maxIntervalMs?: number;
7
9
  now?: () => string;
8
10
  logger?: ButlerFollowUpSchedulerLogger;
11
+ schedulerMetrics?: SchedulerMetrics;
9
12
  }
10
13
  export declare class ButlerFollowUpScheduler {
11
14
  private readonly butlerFollowUpService;
12
15
  private readonly intervalMs;
16
+ private readonly maxIntervalMs;
13
17
  private readonly now;
14
18
  private readonly logger;
19
+ private readonly schedulerMetrics;
15
20
  private timer;
16
21
  private ticking;
22
+ private started;
23
+ private disposed;
24
+ private idleStreak;
17
25
  constructor(butlerFollowUpService: Pick<ButlerFollowUpService, "runDueTasks">, options?: ButlerFollowUpSchedulerOptions);
18
26
  start(): void;
19
27
  dispose(): Promise<void>;
20
28
  runOnce(): Promise<void>;
29
+ private scheduleNext;
21
30
  private tick;
22
31
  }
23
32
  export {};