@jingyi0605/codingns 0.2.5 → 0.3.5

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 (227) hide show
  1. package/bin/codingns.mjs +278 -2
  2. package/dist/public/assets/{TerminalPage-BkjqU9NG.js → TerminalPage-CgrfstRm.js} +19 -19
  3. package/dist/public/assets/index-Cek6u0b9.css +1 -0
  4. package/dist/public/assets/index-THHY79si.js +122 -0
  5. package/dist/public/index.html +2 -2
  6. package/dist/server/config/env.d.ts +4 -0
  7. package/dist/server/config/env.js +67 -3
  8. package/dist/server/config/env.js.map +1 -1
  9. package/dist/server/modules/auth/auth-service.d.ts +18 -1
  10. package/dist/server/modules/auth/auth-service.js +168 -7
  11. package/dist/server/modules/auth/auth-service.js.map +1 -1
  12. package/dist/server/modules/butler/butler-codex-model-policy.d.ts +1 -0
  13. package/dist/server/modules/butler/butler-codex-model-policy.js +36 -0
  14. package/dist/server/modules/butler/butler-codex-model-policy.js.map +1 -0
  15. package/dist/server/modules/butler/butler-control-session-service.d.ts +16 -2
  16. package/dist/server/modules/butler/butler-control-session-service.js +58 -210
  17. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  18. package/dist/server/modules/butler/butler-controller.d.ts +17 -0
  19. package/dist/server/modules/butler/butler-controller.js +20 -1
  20. package/dist/server/modules/butler/butler-controller.js.map +1 -1
  21. package/dist/server/modules/butler/butler-follow-up-service.js +7 -3
  22. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
  23. package/dist/server/modules/butler/butler-inbox-analysis-service.d.ts +36 -0
  24. package/dist/server/modules/butler/butler-inbox-analysis-service.js +375 -0
  25. package/dist/server/modules/butler/butler-inbox-analysis-service.js.map +1 -0
  26. package/dist/server/modules/butler/butler-inbox-instruction-adapter.d.ts +23 -0
  27. package/dist/server/modules/butler/butler-inbox-instruction-adapter.js +96 -0
  28. package/dist/server/modules/butler/butler-inbox-instruction-adapter.js.map +1 -0
  29. package/dist/server/modules/butler/butler-inbox-service.d.ts +39 -2
  30. package/dist/server/modules/butler/butler-inbox-service.js +392 -2
  31. package/dist/server/modules/butler/butler-inbox-service.js.map +1 -1
  32. package/dist/server/modules/butler/butler-session-service.d.ts +9 -0
  33. package/dist/server/modules/butler/butler-session-service.js +277 -68
  34. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  35. package/dist/server/modules/butler/butler-session-summary-service.d.ts +1 -0
  36. package/dist/server/modules/butler/butler-session-summary-service.js +48 -23
  37. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
  38. package/dist/server/modules/butler/butler-workspace-context.d.ts +13 -0
  39. package/dist/server/modules/butler/butler-workspace-context.js +223 -0
  40. package/dist/server/modules/butler/butler-workspace-context.js.map +1 -0
  41. package/dist/server/modules/client/client-controller.d.ts +6 -0
  42. package/dist/server/modules/client/client-controller.js +30 -8
  43. package/dist/server/modules/client/client-controller.js.map +1 -1
  44. package/dist/server/modules/client/client-service.d.ts +22 -10
  45. package/dist/server/modules/client/client-service.js +77 -100
  46. package/dist/server/modules/client/client-service.js.map +1 -1
  47. package/dist/server/modules/client/npm-global-package-service.d.ts +21 -0
  48. package/dist/server/modules/client/npm-global-package-service.js +210 -0
  49. package/dist/server/modules/client/npm-global-package-service.js.map +1 -0
  50. package/dist/server/modules/client/service-update-task-service.d.ts +15 -0
  51. package/dist/server/modules/client/service-update-task-service.js +147 -0
  52. package/dist/server/modules/client/service-update-task-service.js.map +1 -0
  53. package/dist/server/modules/client/service-update-types.d.ts +30 -0
  54. package/dist/server/modules/client/service-update-types.js +2 -0
  55. package/dist/server/modules/client/service-update-types.js.map +1 -0
  56. package/dist/server/modules/debug-target/debug-target-service.d.ts +5 -2
  57. package/dist/server/modules/debug-target/debug-target-service.js +170 -10
  58. package/dist/server/modules/debug-target/debug-target-service.js.map +1 -1
  59. package/dist/server/modules/file/file-constants.d.ts +1 -0
  60. package/dist/server/modules/file/file-constants.js +1 -0
  61. package/dist/server/modules/file/file-constants.js.map +1 -1
  62. package/dist/server/modules/file/file-controller.js +12 -3
  63. package/dist/server/modules/file/file-controller.js.map +1 -1
  64. package/dist/server/modules/file/file-preview-link-service.js +6 -37
  65. package/dist/server/modules/file/file-preview-link-service.js.map +1 -1
  66. package/dist/server/modules/file/file-preview-service.d.ts +6 -12
  67. package/dist/server/modules/file/file-preview-service.js +114 -28
  68. package/dist/server/modules/file/file-preview-service.js.map +1 -1
  69. package/dist/server/modules/file/file-preview-types.d.ts +37 -0
  70. package/dist/server/modules/file/file-preview-types.js +84 -0
  71. package/dist/server/modules/file/file-preview-types.js.map +1 -0
  72. package/dist/server/modules/git/git-controller.d.ts +6 -0
  73. package/dist/server/modules/git/git-controller.js +13 -0
  74. package/dist/server/modules/git/git-controller.js.map +1 -1
  75. package/dist/server/modules/git/git-read-service.d.ts +2 -1
  76. package/dist/server/modules/git/git-read-service.js +100 -0
  77. package/dist/server/modules/git/git-read-service.js.map +1 -1
  78. package/dist/server/modules/git/types.d.ts +23 -0
  79. package/dist/server/modules/model-switch/cc-switch-adapter.d.ts +36 -0
  80. package/dist/server/modules/model-switch/cc-switch-adapter.js +317 -0
  81. package/dist/server/modules/model-switch/cc-switch-adapter.js.map +1 -0
  82. package/dist/server/modules/model-switch/model-switch-controller.d.ts +11 -0
  83. package/dist/server/modules/model-switch/model-switch-controller.js +30 -0
  84. package/dist/server/modules/model-switch/model-switch-controller.js.map +1 -0
  85. package/dist/server/modules/model-switch/model-switch-service.d.ts +16 -0
  86. package/dist/server/modules/model-switch/model-switch-service.js +29 -0
  87. package/dist/server/modules/model-switch/model-switch-service.js.map +1 -0
  88. package/dist/server/modules/preferences/profile-service.d.ts +1 -0
  89. package/dist/server/modules/preferences/profile-service.js +9 -0
  90. package/dist/server/modules/preferences/profile-service.js.map +1 -1
  91. package/dist/server/modules/sessions/codex-app-server-helper-process.js +3 -0
  92. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  93. package/dist/server/modules/sessions/session-activity-authority-service.d.ts +3 -1
  94. package/dist/server/modules/sessions/session-activity-authority-service.js +16 -1
  95. package/dist/server/modules/sessions/session-activity-authority-service.js.map +1 -1
  96. package/dist/server/modules/sessions/session-activity-inspector.d.ts +1 -1
  97. package/dist/server/modules/sessions/session-activity-inspector.js +52 -9
  98. package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
  99. package/dist/server/modules/sessions/session-controller.d.ts +3 -3
  100. package/dist/server/modules/sessions/session-controller.js +3 -3
  101. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  102. package/dist/server/modules/sessions/session-history-service.d.ts +11 -2
  103. package/dist/server/modules/sessions/session-history-service.js +373 -78
  104. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  105. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +9 -4
  106. package/dist/server/modules/sessions/session-live-runtime-service.js +59 -11
  107. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  108. package/dist/server/modules/sessions/session-message-attachment-service.d.ts +8 -8
  109. package/dist/server/modules/sessions/session-message-attachment-service.js +25 -34
  110. package/dist/server/modules/sessions/session-message-attachment-service.js.map +1 -1
  111. package/dist/server/modules/sessions/session-provider-error-mapper.js +7 -0
  112. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  113. package/dist/server/modules/skills/skill-controller.d.ts +23 -0
  114. package/dist/server/modules/skills/skill-controller.js +35 -0
  115. package/dist/server/modules/skills/skill-controller.js.map +1 -0
  116. package/dist/server/modules/skills/skill-manager-service.d.ts +86 -0
  117. package/dist/server/modules/skills/skill-manager-service.js +557 -0
  118. package/dist/server/modules/skills/skill-manager-service.js.map +1 -0
  119. package/dist/server/modules/skills/skill-reconciler.d.ts +21 -0
  120. package/dist/server/modules/skills/skill-reconciler.js +99 -0
  121. package/dist/server/modules/skills/skill-reconciler.js.map +1 -0
  122. package/dist/server/modules/skills/skill-sync-planner.d.ts +8 -0
  123. package/dist/server/modules/skills/skill-sync-planner.js +20 -0
  124. package/dist/server/modules/skills/skill-sync-planner.js.map +1 -0
  125. package/dist/server/modules/skills/skill-target-adapter.d.ts +34 -0
  126. package/dist/server/modules/skills/skill-target-adapter.js +65 -0
  127. package/dist/server/modules/skills/skill-target-adapter.js.map +1 -0
  128. package/dist/server/modules/tailscale/tailscale-controller.d.ts +15 -0
  129. package/dist/server/modules/tailscale/tailscale-controller.js +33 -0
  130. package/dist/server/modules/tailscale/tailscale-controller.js.map +1 -0
  131. package/dist/server/modules/tailscale/tailscale-helper-client.d.ts +41 -0
  132. package/dist/server/modules/tailscale/tailscale-helper-client.js +135 -0
  133. package/dist/server/modules/tailscale/tailscale-helper-client.js.map +1 -0
  134. package/dist/server/modules/tailscale/tailscale-helper-process.d.ts +1 -0
  135. package/dist/server/modules/tailscale/tailscale-helper-process.js +327 -0
  136. package/dist/server/modules/tailscale/tailscale-helper-process.js.map +1 -0
  137. package/dist/server/modules/tailscale/tailscale-manager.d.ts +41 -0
  138. package/dist/server/modules/tailscale/tailscale-manager.js +263 -0
  139. package/dist/server/modules/tailscale/tailscale-manager.js.map +1 -0
  140. package/dist/server/modules/tailscale/tailscale-service.d.ts +43 -0
  141. package/dist/server/modules/tailscale/tailscale-service.js +201 -0
  142. package/dist/server/modules/tailscale/tailscale-service.js.map +1 -0
  143. package/dist/server/modules/tasks/task-lane-executors.js +3 -0
  144. package/dist/server/modules/tasks/task-lane-executors.js.map +1 -1
  145. package/dist/server/modules/tasks/task-types.d.ts +2 -0
  146. package/dist/server/modules/tasks/task-types.js +3 -1
  147. package/dist/server/modules/tasks/task-types.js.map +1 -1
  148. package/dist/server/modules/terminal/command-template-service.js +10 -1
  149. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  150. package/dist/server/modules/terminal/template-port-runtime.d.ts +12 -1
  151. package/dist/server/modules/terminal/template-port-runtime.js +189 -17
  152. package/dist/server/modules/terminal/template-port-runtime.js.map +1 -1
  153. package/dist/server/modules/terminal/terminal-service.js +30 -3
  154. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  155. package/dist/server/modules/workspace/workspace-code-composition.js +95 -2
  156. package/dist/server/modules/workspace/workspace-code-composition.js.map +1 -1
  157. package/dist/server/routes/butler.js +4 -0
  158. package/dist/server/routes/butler.js.map +1 -1
  159. package/dist/server/routes/client.js +2 -0
  160. package/dist/server/routes/client.js.map +1 -1
  161. package/dist/server/routes/git.js +1 -0
  162. package/dist/server/routes/git.js.map +1 -1
  163. package/dist/server/routes/sessions.js +1 -1
  164. package/dist/server/routes/sessions.js.map +1 -1
  165. package/dist/server/routes/skills.d.ts +3 -0
  166. package/dist/server/routes/skills.js +7 -0
  167. package/dist/server/routes/skills.js.map +1 -0
  168. package/dist/server/routes/system.d.ts +4 -0
  169. package/dist/server/routes/system.js +11 -0
  170. package/dist/server/routes/system.js.map +1 -0
  171. package/dist/server/server/create-server.d.ts +16 -0
  172. package/dist/server/server/create-server.js +91 -8
  173. package/dist/server/server/create-server.js.map +1 -1
  174. package/dist/server/shared/errors/app-error.d.ts +2 -0
  175. package/dist/server/shared/errors/app-error.js +2 -0
  176. package/dist/server/shared/errors/app-error.js.map +1 -1
  177. package/dist/server/shared/http/error-handler.d.ts +2 -1
  178. package/dist/server/shared/http/error-handler.js +3 -2
  179. package/dist/server/shared/http/error-handler.js.map +1 -1
  180. package/dist/server/shared/utils/command-availability.d.ts +1 -0
  181. package/dist/server/shared/utils/command-availability.js +26 -3
  182. package/dist/server/shared/utils/command-availability.js.map +1 -1
  183. package/dist/server/storage/repositories/auth-login-attempt-repository.d.ts +9 -0
  184. package/dist/server/storage/repositories/auth-login-attempt-repository.js +59 -0
  185. package/dist/server/storage/repositories/auth-login-attempt-repository.js.map +1 -0
  186. package/dist/server/storage/repositories/butler-control-session-repository.d.ts +3 -0
  187. package/dist/server/storage/repositories/butler-control-session-repository.js +80 -4
  188. package/dist/server/storage/repositories/butler-control-session-repository.js.map +1 -1
  189. package/dist/server/storage/repositories/butler-inbox-item-repository.js +54 -3
  190. package/dist/server/storage/repositories/butler-inbox-item-repository.js.map +1 -1
  191. package/dist/server/storage/repositories/instance-tailscale-repository.d.ts +10 -0
  192. package/dist/server/storage/repositories/instance-tailscale-repository.js +112 -0
  193. package/dist/server/storage/repositories/instance-tailscale-repository.js.map +1 -0
  194. package/dist/server/storage/repositories/managed-skill-repository.d.ts +11 -0
  195. package/dist/server/storage/repositories/managed-skill-repository.js +102 -0
  196. package/dist/server/storage/repositories/managed-skill-repository.js.map +1 -0
  197. package/dist/server/storage/repositories/skill-target-binding-repository.d.ts +10 -0
  198. package/dist/server/storage/repositories/skill-target-binding-repository.js +77 -0
  199. package/dist/server/storage/repositories/skill-target-binding-repository.js.map +1 -0
  200. package/dist/server/storage/repositories/terminal-instance-repository.js +1 -1
  201. package/dist/server/storage/repositories/terminal-instance-repository.js.map +1 -1
  202. package/dist/server/storage/repositories/user-preference-profile-repository.js +6 -3
  203. package/dist/server/storage/repositories/user-preference-profile-repository.js.map +1 -1
  204. package/dist/server/storage/sqlite/client.js +137 -0
  205. package/dist/server/storage/sqlite/client.js.map +1 -1
  206. package/dist/server/storage/sqlite/schema.sql +84 -1
  207. package/dist/server/types/domain.d.ts +109 -1
  208. package/dist/server/ws/ws-server.js +4 -4
  209. package/dist/server/ws/ws-server.js.map +1 -1
  210. package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +23 -0
  211. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +162 -0
  212. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +1 -1
  213. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +1 -0
  214. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +89 -33
  215. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  216. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +18 -2
  217. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
  218. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +3 -1
  219. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +238 -53
  220. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  221. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +1 -0
  222. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -1
  223. package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +6 -2
  224. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +1 -1
  225. package/package.json +1 -1
  226. package/dist/public/assets/index-C6U8-9jg.css +0 -1
  227. package/dist/public/assets/index-CKSumuV2.js +0 -109
@@ -1,10 +1,7 @@
1
- import fs from "node:fs";
2
- import os from "node:os";
3
- import path from "node:path";
4
1
  import { AppError } from "../../shared/errors/app-error.js";
5
2
  import { createId } from "../../shared/utils/id.js";
6
3
  import { nowIso } from "../../shared/utils/time.js";
7
- import { ensureButlerWorkspaceIsolation } from "./butler-profile-service.js";
4
+ import { syncButlerWorkspaceContext } from "./butler-workspace-context.js";
8
5
  export class ButlerControlSessionService {
9
6
  butlerProfileService;
10
7
  butlerControlSessionRepository;
@@ -13,9 +10,10 @@ export class ButlerControlSessionService {
13
10
  sessionLiveRuntimeService;
14
11
  butlerContextAggregator;
15
12
  butlerAuthService;
13
+ skillManagerService;
16
14
  codexHomeDir;
17
15
  sourceCodexHomeDir;
18
- constructor(butlerProfileService, butlerControlSessionRepository, workspaceService, sessionHistoryService, sessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, codexHomeDir = null, sourceCodexHomeDir = null) {
16
+ constructor(butlerProfileService, butlerControlSessionRepository, workspaceService, sessionHistoryService, sessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, skillManagerService, codexHomeDir = null, sourceCodexHomeDir = null) {
19
17
  this.butlerProfileService = butlerProfileService;
20
18
  this.butlerControlSessionRepository = butlerControlSessionRepository;
21
19
  this.workspaceService = workspaceService;
@@ -23,20 +21,34 @@ export class ButlerControlSessionService {
23
21
  this.sessionLiveRuntimeService = sessionLiveRuntimeService;
24
22
  this.butlerContextAggregator = butlerContextAggregator;
25
23
  this.butlerAuthService = butlerAuthService;
24
+ this.skillManagerService = skillManagerService;
26
25
  this.codexHomeDir = codexHomeDir;
27
26
  this.sourceCodexHomeDir = sourceCodexHomeDir;
28
27
  }
29
28
  getCurrentSession(userId) {
30
29
  const profile = this.butlerProfileService.ensureInitialized();
31
- const current = this.butlerControlSessionRepository.findLatestByProvider(profile.providerId);
30
+ const current = this.butlerControlSessionRepository.findLatestOpenByProvider(profile.providerId);
32
31
  if (!current) {
33
32
  return null;
34
33
  }
35
34
  return this.toView(current, userId);
36
35
  }
36
+ getSession(controlSessionId, userId) {
37
+ const current = this.butlerControlSessionRepository.findById(controlSessionId.trim());
38
+ if (!current) {
39
+ return null;
40
+ }
41
+ return this.toView(current, userId);
42
+ }
43
+ listSessions(userId) {
44
+ const profile = this.butlerProfileService.ensureInitialized();
45
+ return this.butlerControlSessionRepository
46
+ .listByProvider(profile.providerId)
47
+ .map((record) => this.toView(record, userId));
48
+ }
37
49
  resetCurrentSession() {
38
50
  const profile = this.butlerProfileService.ensureInitialized();
39
- const current = this.butlerControlSessionRepository.findLatestByProvider(profile.providerId);
51
+ const current = this.butlerControlSessionRepository.findLatestOpenByProvider(profile.providerId);
40
52
  if (!current || current.status === "closed") {
41
53
  return;
42
54
  }
@@ -51,7 +63,7 @@ export class ButlerControlSessionService {
51
63
  const content = normalizeControlContent(input.content, "");
52
64
  const promptContext = await this.butlerContextAggregator.resolvePromptContext(userId, input.content ?? null);
53
65
  const workspace = this.prepareWorkspace(profile, promptContext, userId);
54
- const current = this.butlerControlSessionRepository.findLatestByProvider(profile.providerId);
66
+ const current = this.butlerControlSessionRepository.findLatestOpenByProvider(profile.providerId);
55
67
  if (current && current.status !== "closed") {
56
68
  this.butlerControlSessionRepository.update({
57
69
  ...current,
@@ -77,9 +89,12 @@ export class ButlerControlSessionService {
77
89
  id: createId(),
78
90
  providerId: profile.providerId,
79
91
  sessionId: started.sessionId,
92
+ purpose: input.purpose ?? "chat",
93
+ title: normalizeNullableText(input.title),
94
+ sourceItemId: normalizeNullableText(input.sourceItemId),
80
95
  status: "running",
81
96
  lastContextVersion: promptContext.version,
82
- lastSummary: summarizeMessage(content),
97
+ lastSummary: normalizeNullableText(input.title) ?? summarizeMessage(content),
83
98
  createdAt: timestamp,
84
99
  updatedAt: timestamp
85
100
  });
@@ -112,7 +127,9 @@ export class ButlerControlSessionService {
112
127
  }
113
128
  async sendMessage(userId, input) {
114
129
  const profile = this.butlerProfileService.ensureInitialized();
115
- const current = this.requireCurrentSession(profile.providerId);
130
+ const current = input.controlSessionId?.trim()
131
+ ? this.requireSessionById(input.controlSessionId, profile.providerId)
132
+ : this.requireCurrentSession(profile.providerId);
116
133
  const content = normalizeControlContent(input.content, "");
117
134
  const promptContext = await this.butlerContextAggregator.resolvePromptContext(userId, content);
118
135
  this.syncWorkspaceContext(profile, promptContext, userId);
@@ -152,7 +169,7 @@ export class ButlerControlSessionService {
152
169
  }
153
170
  }
154
171
  requireCurrentSession(providerId) {
155
- const current = this.butlerControlSessionRepository.findLatestByProvider(providerId);
172
+ const current = this.butlerControlSessionRepository.findLatestOpenByProvider(providerId);
156
173
  if (!current || current.status === "closed") {
157
174
  throw new AppError({
158
175
  statusCode: 404,
@@ -162,6 +179,17 @@ export class ButlerControlSessionService {
162
179
  }
163
180
  return current;
164
181
  }
182
+ requireSessionById(controlSessionId, providerId) {
183
+ const record = this.butlerControlSessionRepository.findById(controlSessionId.trim());
184
+ if (!record || record.providerId !== providerId || record.status === "closed") {
185
+ throw new AppError({
186
+ statusCode: 404,
187
+ errorCode: "BUTLER_CONTROL_SESSION_NOT_FOUND",
188
+ detail: "指定的助手会话不存在或已经关闭"
189
+ });
190
+ }
191
+ return record;
192
+ }
165
193
  toView(record, userId) {
166
194
  return {
167
195
  ...record,
@@ -173,11 +201,15 @@ export class ButlerControlSessionService {
173
201
  return this.workspaceService.importWorkspace(profile.workspacePath, "代码助手");
174
202
  }
175
203
  syncWorkspaceContext(profile, promptContext, userId) {
176
- fs.mkdirSync(profile.workspacePath, { recursive: true });
177
- ensureButlerWorkspaceIsolation(profile.workspacePath);
178
- const auth = this.butlerAuthService.ensureWorkspaceCredential(profile.workspacePath, userId);
179
- writeInstructionFiles(profile, promptContext, auth, this.butlerAuthService.getCredentialFilePath(profile.workspacePath));
180
- syncCodexInstructionConfig(profile, this.codexHomeDir, this.sourceCodexHomeDir);
204
+ syncButlerWorkspaceContext({
205
+ profile,
206
+ promptContext,
207
+ userId,
208
+ butlerAuthService: this.butlerAuthService,
209
+ skillManagerService: this.skillManagerService,
210
+ codexHomeDir: this.codexHomeDir,
211
+ sourceCodexHomeDir: this.sourceCodexHomeDir
212
+ });
181
213
  }
182
214
  markFailed(record, fallbackSummary) {
183
215
  this.butlerControlSessionRepository.update({
@@ -187,202 +219,18 @@ export class ButlerControlSessionService {
187
219
  updatedAt: nowIso()
188
220
  });
189
221
  }
190
- }
191
- function writeInstructionFiles(profile, promptContext, auth, authFilePath) {
192
- const rootAgentsPath = path.join(profile.workspacePath, "AGENTS.md");
193
- writeFileIfChanged(rootAgentsPath, composeInstructionContent(profile, promptContext));
194
- if (profile.agentsMode === "file" && profile.agentsFilePath) {
195
- writeFileIfChanged(profile.agentsFilePath, composeInstructionContent(profile, promptContext));
196
- }
197
- if (profile.providerId === "claude-code") {
198
- const claudeFilePath = path.join(profile.workspacePath, "CLAUDE.md");
199
- writeFileIfChanged(claudeFilePath, composeInstructionContent(profile, promptContext));
200
- }
201
- writeFileIfChanged(path.join(profile.workspacePath, "BUTLER_CONTEXT.md"), `${promptContext.prompt.trim()}\n`);
202
- writeFileIfChanged(path.join(profile.workspacePath, "BUTLER_API.md"), buildApiGuideContent(auth, authFilePath));
203
- }
204
- function syncCodexInstructionConfig(profile, codexHomeDir, sourceCodexHomeDir) {
205
- if (profile.providerId !== "codex" || !codexHomeDir?.trim()) {
206
- return;
207
- }
208
- const targetHomeDir = path.resolve(codexHomeDir);
209
- const sourceHomeDir = resolveSourceCodexHomeDir(sourceCodexHomeDir, targetHomeDir);
210
- const sourceConfigPath = path.join(sourceHomeDir, "config.toml");
211
- const instructionFilePath = profile.agentsMode === "file" && profile.agentsFilePath
212
- ? path.resolve(profile.agentsFilePath)
213
- : path.join(profile.workspacePath, "AGENTS.md");
214
- const sourceConfigContent = sourceHomeDir !== targetHomeDir && fs.existsSync(sourceConfigPath) && fs.statSync(sourceConfigPath).isFile()
215
- ? fs.readFileSync(sourceConfigPath, "utf8")
216
- : "";
217
- const configContent = composeCodexConfigContent(sourceConfigContent, instructionFilePath);
218
- fs.mkdirSync(targetHomeDir, { recursive: true });
219
- removeFileIfExists(path.join(targetHomeDir, "AGENTS.md"));
220
- removeFileIfExists(path.join(targetHomeDir, "AGENTS.override.md"));
221
- // 助手需要独立规则,但不能因为独立 home 丢掉 Codex 登录态。
222
- syncOptionalFile(path.join(sourceHomeDir, "auth.json"), path.join(targetHomeDir, "auth.json"));
223
- syncOptionalDirectory(path.join(sourceHomeDir, "skills", "codingns-assistant"), path.join(targetHomeDir, "skills", "codingns-assistant"));
224
- writeFileIfChanged(path.join(targetHomeDir, "config.toml"), `${configContent}\n`);
225
- }
226
- function resolveSourceCodexHomeDir(sourceCodexHomeDir, targetHomeDir) {
227
- const configuredSource = sourceCodexHomeDir?.trim();
228
- if (configuredSource) {
229
- const resolvedConfiguredSource = path.resolve(configuredSource);
230
- if (resolvedConfiguredSource !== targetHomeDir) {
231
- return resolvedConfiguredSource;
222
+ updateSessionStatusBySessionId(input) {
223
+ const current = this.butlerControlSessionRepository.findBySessionId(input.sessionId.trim());
224
+ if (!current) {
225
+ return null;
232
226
  }
227
+ return this.butlerControlSessionRepository.update({
228
+ ...current,
229
+ status: input.status,
230
+ lastSummary: normalizeNullableText(input.lastSummary) ?? current.lastSummary,
231
+ updatedAt: nowIso()
232
+ });
233
233
  }
234
- const fallbackHomeDir = path.resolve(path.join(os.homedir(), ".codex"));
235
- if (fallbackHomeDir !== targetHomeDir) {
236
- return fallbackHomeDir;
237
- }
238
- return targetHomeDir;
239
- }
240
- function composeCodexConfigContent(sourceConfigContent, instructionFilePath) {
241
- const normalizedSource = sourceConfigContent
242
- .split(/\r?\n/)
243
- .filter((line) => {
244
- const trimmed = line.trim();
245
- return trimmed.length > 0 && !trimmed.startsWith("model_instructions_file");
246
- })
247
- .join("\n")
248
- .trim();
249
- return [
250
- "# 代码助手专用 Codex 配置(系统自动生成)",
251
- normalizedSource,
252
- `model_instructions_file = ${toTomlString(instructionFilePath)}`
253
- ]
254
- .filter((part) => part.trim().length > 0)
255
- .join("\n\n");
256
- }
257
- function writeFileIfChanged(filePath, content) {
258
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
259
- if (fs.existsSync(filePath) && fs.readFileSync(filePath, "utf8") === content) {
260
- return;
261
- }
262
- fs.writeFileSync(filePath, content, "utf8");
263
- }
264
- function composeInstructionContent(profile, promptContext) {
265
- return `${profile.agentsContent.trim()}
266
-
267
- ## 代码助手运行附加说明(系统自动生成)
268
-
269
- - 当前工作目录是代码助手专用目录,只使用这里的助手规则,不回退到普通项目会话规则。
270
- - 你是代码助手控制面,不是项目实现者。默认职责只有:查看、分析、归纳、补查信息、安排下一步、把指令发送给真实项目会话或终端。
271
- - 禁止直接改业务项目代码、禁止直接生成补丁并落盘、禁止自己在项目目录里写实现。用户要推进开发时,只能通过内部 API 续接/新建项目会话、发送消息、查询结果,或者操作受控终端。
272
- - 如果用户要求“修改代码”“继续实现”“修 bug”,先定位目标项目和目标会话;没有会话就先新建/续接项目会话,再把任务发给那个会话继续做,不要自己在 Butler 工作目录里动手。
273
- - 当前聚合后的平台摘要写在 \`BUTLER_CONTEXT.md\`,先看这里,不要把所有项目原始记录一股脑塞进回答。
274
- - 当前摘要作用域是:${promptContext.scope === "project" ? `项目 ${promptContext.projectId}` : "全局总览"}。
275
- - 你自己的主工具入口不是一堆 HTTP 路由,而是 \`codingns assistant ...\`。真正执行前,先用 \`codingns assistant --help\`、\`codingns assistant help <group>\`、\`codingns assistant <group> <action> --help\` 按需查命令。
276
- - 如果当前 Codex 环境能发现 \`codingns-assistant\` skill,优先按这个 skill 的流程工作:先查能力,再查项目/会话/终端,再决定是否发送消息、fork 或发终端输入。
277
- - 默认查询顺序固定为:先看 \`BUTLER_CONTEXT.md\`,再用 \`codingns assistant capabilities list\` 确认能力,再按 \`projects / sessions / terminals\` 分组查具体对象;不要先翻一大堆旧 REST 文档。
278
- - 如果你在跟进开发会话,且目标或上下文里提到了 spec,只能围绕 spec 明确写出的必做项推进,不能顺着建议项无限扩展开发范围。
279
- - 如果当前没有 spec,就先从用户要求和会话现状里归纳一句核心任务,后续只围绕这个核心任务推进;不要把建议项、最佳实践、顺手优化当成必做项。
280
- - 如果用户的问题里已经带了项目名、会话名、错误词或任务关键词,先通过 \`codingns assistant projects --help\`、\`codingns assistant sessions --help\` 选对命令,再查目标对象;如果用户明确点名历史会话或归档会话,按 help 提示补充筛选参数。
281
- - 如果 \`BUTLER_CONTEXT.md\` 里的项目数或会话数是 0,不能直接下结论,必须先跑 \`codingns assistant capabilities list\` 和 \`codingns assistant projects list\` 确认真实状态。
282
- - 如果用户追问的细节超出当前摘要,先明确缺口,再按 \`BUTLER_API.md\` 里记录的 CLI 顺序补查项目、会话、消息窗口或终端历史。
283
- - 如果用户追问会话内容,先定位 \`sessionId\`,再优先用 \`codingns assistant sessions messages <sessionId>\` 查看最近消息,不要只复述摘要。
284
- - 需要推进开发时,优先用 \`codingns assistant sessions send <sessionId> --message ...\`;只有明确需要 shell 链路时,才用 \`codingns assistant terminals send <terminalId> --input ...\`。
285
- - 不要编造不存在的项目状态;信息不足时直接说缺什么。
286
- `;
287
- }
288
- function buildApiGuideContent(auth, authFilePath) {
289
- return `# 代码助手 CLI 与按需补查指南
290
-
291
- 默认不要直接背 HTTP 路由。先用 \`codingns assistant ...\` 和分层 help 按需查询。
292
-
293
- ## 固定认证方式
294
-
295
- - Butler 专用凭证文件:\`${path.basename(authFilePath)}\`
296
- - 凭证文件路径:\`${authFilePath}\`
297
- - 当前 API 基地址:\`${auth.apiBaseUrl}\`
298
- - 先从这个文件导出环境变量,再执行 \`codingns assistant ...\`。
299
-
300
- ## 推荐先准备一次环境变量
301
-
302
- \`\`\`bash
303
- export CODINGNS_BASE_URL="$(jq -r '.apiBaseUrl' "${authFilePath}")"
304
- export CODINGNS_ACCESS_TOKEN="$(jq -r '.accessToken' "${authFilePath}")"
305
- \`\`\`
306
-
307
- ## 默认读取顺序
308
-
309
- 1. 先读 \`BUTLER_CONTEXT.md\` 的当前摘要。
310
- 2. 先跑 \`codingns assistant capabilities list\`,确认当前开放能力。
311
- 3. 不知道怎么查时,先跑 \`codingns assistant --help\`、\`codingns assistant help projects\`、\`codingns assistant help sessions\`、\`codingns assistant help terminals\`。
312
- 4. 要找项目时,先 \`codingns assistant projects list\`,需要详情时再 \`projects get <projectId>\`。
313
- 5. 要找会话时,先 \`codingns assistant sessions list --project <projectId>\`,再按需要用 \`sessions get\`、\`sessions runtime\`、\`sessions messages\`。
314
- 6. 要推进开发时,优先 \`codingns assistant sessions send <sessionId> --message "..."\`。
315
- 7. 只有明确需要 shell 链路时,先 \`terminals list\`、\`terminals history\`,再决定是否 \`terminals send\`。
316
- 8. 要开新分支时,再用 \`codingns assistant sessions fork <sessionId>\`。
317
-
318
- ## 执行边界
319
-
320
- - 你不能直接修改项目代码,也不能把自己当成项目执行会话。
321
- - 需要推进开发时,只能通过下面这些 CLI 命令驱动真实项目会话或受控终端。
322
- - 需要命令结果时,优先查终端历史;确实要执行命令,再向受控终端发送输入。
323
- - 需要分叉会话时,统一走 \`codingns assistant sessions fork\`,不要自己伪造一条“新上下文”继续编。
324
-
325
- ## help 入口
326
-
327
- \`\`\`bash
328
- codingns assistant --help
329
- codingns assistant help projects
330
- codingns assistant help sessions
331
- codingns assistant sessions send --help
332
- codingns assistant terminals send --help
333
- \`\`\`
334
-
335
- ## 常用命令
336
-
337
- - \`codingns assistant capabilities list\`:查看当前 Butler 可用能力。
338
- - \`codingns assistant projects list\`:列出托管项目。
339
- - \`codingns assistant projects get <projectId>\`:读取项目详情和项目下可操作会话。
340
- - \`codingns assistant sessions list --project <projectId>\`:列出项目会话。
341
- - \`codingns assistant sessions get <sessionId>\`:读取真实会话详情。
342
- - \`codingns assistant sessions messages <sessionId> --limit 40\`:读取最近消息窗口。
343
- - \`codingns assistant sessions runtime <sessionId>\`:查看会话是否还在运行。
344
- - \`codingns assistant sessions send <sessionId> --message "..."\`:向真实项目会话发消息。
345
- - \`codingns assistant sessions fork <sessionId> --message-id <messageId>\`:从消息点 fork 新会话。
346
- - \`codingns assistant terminals list --project-id <projectId>\`:列出项目下终端。
347
- - \`codingns assistant terminals history <terminalId> --limit 50\`:读取终端最近输出。
348
- - \`codingns assistant terminals send <terminalId> --input "npm test\\n"\`:向终端发送输入。
349
-
350
- ## 底层说明
351
-
352
- - 上面这些命令最终还是调用宿主系统的 \`/api/assistant/*\`。
353
- - 只有当 CLI 还没覆盖某个极少数细节时,才回退到底层 HTTP。
354
- `;
355
- }
356
- function toTomlString(value) {
357
- return `"${value.replaceAll("\\", "\\\\").replaceAll("\"", "\\\"")}"`;
358
- }
359
- function removeFileIfExists(filePath) {
360
- if (!fs.existsSync(filePath)) {
361
- return;
362
- }
363
- if (fs.statSync(filePath).isFile()) {
364
- fs.rmSync(filePath, { force: true });
365
- }
366
- }
367
- function syncOptionalFile(sourcePath, targetPath) {
368
- if (!fs.existsSync(sourcePath) || !fs.statSync(sourcePath).isFile()) {
369
- removeFileIfExists(targetPath);
370
- return;
371
- }
372
- fs.mkdirSync(path.dirname(targetPath), { recursive: true });
373
- if (fs.existsSync(targetPath) && fs.readFileSync(targetPath).equals(fs.readFileSync(sourcePath))) {
374
- return;
375
- }
376
- fs.copyFileSync(sourcePath, targetPath);
377
- }
378
- function syncOptionalDirectory(sourcePath, targetPath) {
379
- if (!fs.existsSync(sourcePath) || !fs.statSync(sourcePath).isDirectory()) {
380
- fs.rmSync(targetPath, { recursive: true, force: true });
381
- return;
382
- }
383
- fs.rmSync(targetPath, { recursive: true, force: true });
384
- fs.mkdirSync(path.dirname(targetPath), { recursive: true });
385
- fs.cpSync(sourcePath, targetPath, { recursive: true });
386
234
  }
387
235
  function normalizeControlContent(value, fallback) {
388
236
  const normalized = value?.trim() ?? fallback.trim();
@@ -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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"}
@@ -71,6 +71,9 @@ interface ButlerVerificationParams extends ButlerProjectParams {
71
71
  interface ButlerSessionParams extends ButlerProjectParams {
72
72
  butlerSessionId: string;
73
73
  }
74
+ interface ButlerControlSessionParams {
75
+ controlSessionId: string;
76
+ }
74
77
  interface CreateButlerProjectBody {
75
78
  workspaceId?: string;
76
79
  name?: string;
@@ -137,6 +140,8 @@ interface UpdateButlerNotificationArchiveBody {
137
140
  }
138
141
  interface CreateButlerFollowUpTaskBody extends CreateButlerFollowUpTaskInput {
139
142
  }
143
+ interface ButlerInboxLifecycleActionBody {
144
+ }
140
145
  interface ButlerPatrolPlanListQuery {
141
146
  enabled?: "true" | "false";
142
147
  executionMode?: "readonly" | "controlled";
@@ -217,6 +222,10 @@ export declare class ButlerController {
217
222
  Body: ButlerProfilePatchInput;
218
223
  }>, reply: FastifyReply) => Promise<void>;
219
224
  readonly getCurrentControlSession: (request: FastifyRequest, reply: FastifyReply) => Promise<void>;
225
+ readonly listControlSessions: (request: FastifyRequest, reply: FastifyReply) => Promise<void>;
226
+ readonly getControlSession: (request: FastifyRequest<{
227
+ Params: ButlerControlSessionParams;
228
+ }>, reply: FastifyReply) => Promise<void>;
220
229
  readonly listControlSessionEvents: (_request: FastifyRequest, reply: FastifyReply) => Promise<void>;
221
230
  readonly resetControlSession: (_request: FastifyRequest, reply: FastifyReply) => Promise<void>;
222
231
  readonly startControlSession: (request: FastifyRequest<{
@@ -250,6 +259,14 @@ export declare class ButlerController {
250
259
  Params: ButlerInboxItemParams;
251
260
  Body: UpdateButlerInboxItemBody;
252
261
  }>, reply: FastifyReply) => Promise<void>;
262
+ readonly analyzeInboxItem: (request: FastifyRequest<{
263
+ Params: ButlerInboxItemParams;
264
+ Body: ButlerInboxLifecycleActionBody;
265
+ }>, reply: FastifyReply) => Promise<void>;
266
+ readonly startInboxItemSession: (request: FastifyRequest<{
267
+ Params: ButlerInboxItemParams;
268
+ Body: ButlerInboxLifecycleActionBody;
269
+ }>, reply: FastifyReply) => Promise<void>;
253
270
  readonly deleteInboxItem: (request: FastifyRequest<{
254
271
  Params: ButlerInboxItemParams;
255
272
  }>, reply: FastifyReply) => Promise<void>;
@@ -58,6 +58,16 @@ export class ButlerController {
58
58
  controlSession: this.butlerControlSessionService.getCurrentSession(requireUserId(request))
59
59
  });
60
60
  };
61
+ listControlSessions = async (request, reply) => {
62
+ reply.send({
63
+ items: this.butlerControlSessionService.listSessions(requireUserId(request))
64
+ });
65
+ };
66
+ getControlSession = async (request, reply) => {
67
+ reply.send({
68
+ controlSession: this.butlerControlSessionService.getSession(request.params.controlSessionId, requireUserId(request))
69
+ });
70
+ };
61
71
  listControlSessionEvents = async (_request, reply) => {
62
72
  reply.send({
63
73
  items: this.butlerControlActionService.listCurrentEvents()
@@ -90,7 +100,8 @@ export class ButlerController {
90
100
  workspaceId: request.query.workspaceId,
91
101
  projectId: request.query.projectId,
92
102
  status: request.query.status,
93
- itemType: request.query.itemType
103
+ itemType: request.query.itemType,
104
+ userId: requireUserId(request)
94
105
  })
95
106
  });
96
107
  };
@@ -145,6 +156,14 @@ export class ButlerController {
145
156
  })
146
157
  });
147
158
  };
159
+ analyzeInboxItem = async (request, reply) => {
160
+ reply.status(202).send(await this.butlerInboxService.analyzeItem(request.params.itemId, requireUserId(request)));
161
+ };
162
+ startInboxItemSession = async (request, reply) => {
163
+ const result = await this.butlerInboxService.startExecution(request.params.itemId, requireUserId(request));
164
+ this.butlerActionContextService?.invalidateSessionActionContext(result.session.sessionId);
165
+ reply.status(201).send(result);
166
+ };
148
167
  deleteInboxItem = async (request, reply) => {
149
168
  this.butlerInboxService.deleteItem(request.params.itemId);
150
169
  reply.status(204).send();
@@ -1 +1 @@
1
- {"version":3,"file":"butler-controller.js","sourceRoot":"","sources":["../../../../src/modules/butler/butler-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"butler-controller.js","sourceRoot":"","sources":["../../../../src/modules/butler/butler-controller.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { AppError } from "../../shared/errors/app-error.js";
5
5
  import { createId } from "../../shared/utils/id.js";
6
6
  import { nowIso } from "../../shared/utils/time.js";
7
7
  import { ensureButlerWorkspaceIsolation } from "./butler-profile-service.js";
8
+ import { resolveButlerCodexBackgroundModel } from "./butler-codex-model-policy.js";
8
9
  const DEFAULT_CHECK_INTERVAL_SECONDS = 300;
9
10
  const MIN_CHECK_INTERVAL_SECONDS = 60;
10
11
  const MAX_CHECK_INTERVAL_SECONDS = 3600;
@@ -596,7 +597,7 @@ export class ButlerFollowUpService {
596
597
  userId: task.createdByUserId,
597
598
  providerId: profile.providerId,
598
599
  prompt: instruction.prompt,
599
- model: resolveFollowUpModel(profile.providerId),
600
+ model: resolveFollowUpModel(profile.providerId, this.sourceCodexHomeDir),
600
601
  reasoningLevel: "low",
601
602
  permissionMode: "default"
602
603
  });
@@ -822,8 +823,11 @@ function truncateText(value, maxLength) {
822
823
  }
823
824
  return `${value.slice(0, Math.max(0, maxLength - 1))}…`;
824
825
  }
825
- function resolveFollowUpModel(providerId) {
826
- return providerId === "codex" ? "gpt-5.1-codex-mini" : "haiku";
826
+ function resolveFollowUpModel(providerId, sourceCodexHomeDir) {
827
+ if (providerId !== "codex") {
828
+ return "haiku";
829
+ }
830
+ return resolveButlerCodexBackgroundModel("gpt-5.1-codex-mini", sourceCodexHomeDir);
827
831
  }
828
832
  function parseEvaluationResult(result) {
829
833
  const rawJson = result.structured.rawJson ?? extractJsonFromText(result.latestAssistantMessage);