@jingyi0605/codingns 0.3.6 → 0.4.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 (185) hide show
  1. package/README.md +3 -0
  2. package/bin/codingns.mjs +489 -1
  3. package/dist/public/assets/{TerminalPage-D00S4KM6.js → TerminalPage-6jHZV9Mh.js} +17 -17
  4. package/dist/public/assets/index-CSVhg7I8.js +123 -0
  5. package/dist/public/assets/index-Ce1VX19m.css +1 -0
  6. package/dist/public/index.html +2 -2
  7. package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +173 -0
  8. package/dist/server/modules/assistant-capability/assistant-capability-controller.js +307 -0
  9. package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
  10. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +199 -2
  11. package/dist/server/modules/assistant-capability/assistant-capability-service.js +565 -3
  12. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
  13. package/dist/server/modules/butler/assistant-automation-service.d.ts +110 -0
  14. package/dist/server/modules/butler/assistant-automation-service.js +786 -0
  15. package/dist/server/modules/butler/assistant-automation-service.js.map +1 -0
  16. package/dist/server/modules/butler/assistant-automation-trigger.d.ts +94 -0
  17. package/dist/server/modules/butler/assistant-automation-trigger.js +400 -0
  18. package/dist/server/modules/butler/assistant-automation-trigger.js.map +1 -0
  19. package/dist/server/modules/butler/assistant-sandbox-service.d.ts +55 -0
  20. package/dist/server/modules/butler/assistant-sandbox-service.js +266 -0
  21. package/dist/server/modules/butler/assistant-sandbox-service.js.map +1 -0
  22. package/dist/server/modules/butler/butler-action-context-service.d.ts +4 -1
  23. package/dist/server/modules/butler/butler-action-context-service.js +8 -2
  24. package/dist/server/modules/butler/butler-action-context-service.js.map +1 -1
  25. package/dist/server/modules/butler/butler-control-session-service.d.ts +8 -1
  26. package/dist/server/modules/butler/butler-control-session-service.js +154 -40
  27. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  28. package/dist/server/modules/butler/butler-control-timer-scheduler.d.ts +32 -0
  29. package/dist/server/modules/butler/butler-control-timer-scheduler.js +93 -0
  30. package/dist/server/modules/butler/butler-control-timer-scheduler.js.map +1 -0
  31. package/dist/server/modules/butler/butler-control-timer-service.d.ts +42 -0
  32. package/dist/server/modules/butler/butler-control-timer-service.js +132 -0
  33. package/dist/server/modules/butler/butler-control-timer-service.js.map +1 -0
  34. package/dist/server/modules/butler/butler-controller.d.ts +42 -2
  35. package/dist/server/modules/butler/butler-controller.js +79 -12
  36. package/dist/server/modules/butler/butler-controller.js.map +1 -1
  37. package/dist/server/modules/butler/butler-follow-up-service.d.ts +9 -1
  38. package/dist/server/modules/butler/butler-follow-up-service.js +273 -181
  39. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
  40. package/dist/server/modules/butler/butler-inbox-analysis-service.d.ts +4 -1
  41. package/dist/server/modules/butler/butler-inbox-analysis-service.js +18 -4
  42. package/dist/server/modules/butler/butler-inbox-analysis-service.js.map +1 -1
  43. package/dist/server/modules/butler/butler-profile-service.js +2 -5
  44. package/dist/server/modules/butler/butler-profile-service.js.map +1 -1
  45. package/dist/server/modules/butler/butler-project-service.d.ts +3 -1
  46. package/dist/server/modules/butler/butler-project-service.js +7 -1
  47. package/dist/server/modules/butler/butler-project-service.js.map +1 -1
  48. package/dist/server/modules/butler/butler-session-service.d.ts +3 -1
  49. package/dist/server/modules/butler/butler-session-service.js +12 -1
  50. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  51. package/dist/server/modules/butler/butler-session-summary-service.js +2 -1
  52. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
  53. package/dist/server/modules/butler/butler-workspace-context.d.ts +3 -0
  54. package/dist/server/modules/butler/butler-workspace-context.js +164 -44
  55. package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
  56. package/dist/server/modules/butler/patrol-execution-service.js +2 -1
  57. package/dist/server/modules/butler/patrol-execution-service.js.map +1 -1
  58. package/dist/server/modules/butler/provider-adapter-registry.d.ts +3 -0
  59. package/dist/server/modules/butler/provider-adapter-registry.js +18 -1
  60. package/dist/server/modules/butler/provider-adapter-registry.js.map +1 -1
  61. package/dist/server/modules/butler/verification-run-service.d.ts +9 -2
  62. package/dist/server/modules/butler/verification-run-service.js +188 -34
  63. package/dist/server/modules/butler/verification-run-service.js.map +1 -1
  64. package/dist/server/modules/debug-target/debug-target-controller.js +1 -1
  65. package/dist/server/modules/debug-target/debug-target-controller.js.map +1 -1
  66. package/dist/server/modules/debug-target/debug-target-service.d.ts +7 -2
  67. package/dist/server/modules/debug-target/debug-target-service.js +563 -100
  68. package/dist/server/modules/debug-target/debug-target-service.js.map +1 -1
  69. package/dist/server/modules/git/git-command-helper-client.d.ts +1 -0
  70. package/dist/server/modules/git/git-command-helper-client.js +19 -26
  71. package/dist/server/modules/git/git-command-helper-client.js.map +1 -1
  72. package/dist/server/modules/git/git-command-runner.js +19 -1
  73. package/dist/server/modules/git/git-command-runner.js.map +1 -1
  74. package/dist/server/modules/preferences/profile-service.d.ts +3 -1
  75. package/dist/server/modules/preferences/profile-service.js +74 -3
  76. package/dist/server/modules/preferences/profile-service.js.map +1 -1
  77. package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +5 -3
  78. package/dist/server/modules/provider/provider-discovery-helper-client.js +129 -43
  79. package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
  80. package/dist/server/modules/provider/provider-discovery-helper-process.js +44 -0
  81. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
  82. package/dist/server/modules/provider/provider-discovery-runtime.js +83 -3
  83. package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
  84. package/dist/server/modules/sessions/claude-runtime-helper-client.js +23 -1
  85. package/dist/server/modules/sessions/claude-runtime-helper-client.js.map +1 -1
  86. package/dist/server/modules/sessions/session-history-service.d.ts +7 -1
  87. package/dist/server/modules/sessions/session-history-service.js +251 -41
  88. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  89. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +6 -0
  90. package/dist/server/modules/sessions/session-live-runtime-service.js +97 -11
  91. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  92. package/dist/server/modules/sessions/session-message-origin-utils.d.ts +12 -0
  93. package/dist/server/modules/sessions/session-message-origin-utils.js +45 -0
  94. package/dist/server/modules/sessions/session-message-origin-utils.js.map +1 -0
  95. package/dist/server/modules/sessions/session-permission-request-service.js +167 -0
  96. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
  97. package/dist/server/modules/skills/builtin-skill-service.js +1 -1
  98. package/dist/server/modules/skills/builtin-skill-service.js.map +1 -1
  99. package/dist/server/modules/skills/builtin-skills/codingns-assistant/SKILL.md +19 -12
  100. package/dist/server/modules/skills/builtin-skills/codingns-assistant/references/cli-workflow.md +9 -3
  101. package/dist/server/modules/tasks/task-helper-client.d.ts +5 -2
  102. package/dist/server/modules/tasks/task-helper-client.js +118 -38
  103. package/dist/server/modules/tasks/task-helper-client.js.map +1 -1
  104. package/dist/server/modules/tasks/task-helper-process.js +94 -3
  105. package/dist/server/modules/tasks/task-helper-process.js.map +1 -1
  106. package/dist/server/modules/tasks/task-types.d.ts +3 -0
  107. package/dist/server/modules/tasks/task-types.js +4 -1
  108. package/dist/server/modules/tasks/task-types.js.map +1 -1
  109. package/dist/server/modules/terminal/command-template-service.d.ts +9 -0
  110. package/dist/server/modules/terminal/command-template-service.js +87 -5
  111. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  112. package/dist/server/modules/terminal/terminal-controller.d.ts +3 -0
  113. package/dist/server/modules/terminal/terminal-controller.js +41 -0
  114. package/dist/server/modules/terminal/terminal-controller.js.map +1 -1
  115. package/dist/server/modules/workbench/workbench-service.d.ts +3 -0
  116. package/dist/server/modules/workbench/workbench-service.js +4 -3
  117. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  118. package/dist/server/modules/workbench/workspace-file-watcher.d.ts +14 -6
  119. package/dist/server/modules/workbench/workspace-file-watcher.js +267 -57
  120. package/dist/server/modules/workbench/workspace-file-watcher.js.map +1 -1
  121. package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +2 -0
  122. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +32 -3
  123. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  124. package/dist/server/modules/worktree/worktree-manager.d.ts +9 -1
  125. package/dist/server/modules/worktree/worktree-manager.js +9 -1
  126. package/dist/server/modules/worktree/worktree-manager.js.map +1 -1
  127. package/dist/server/routes/assistant.js +19 -0
  128. package/dist/server/routes/assistant.js.map +1 -1
  129. package/dist/server/routes/butler.js +5 -0
  130. package/dist/server/routes/butler.js.map +1 -1
  131. package/dist/server/server/create-server.d.ts +8 -0
  132. package/dist/server/server/create-server.js +36 -13
  133. package/dist/server/server/create-server.js.map +1 -1
  134. package/dist/server/storage/repositories/assistant-automation-run-repository.d.ts +12 -0
  135. package/dist/server/storage/repositories/assistant-automation-run-repository.js +139 -0
  136. package/dist/server/storage/repositories/assistant-automation-run-repository.js.map +1 -0
  137. package/dist/server/storage/repositories/assistant-automation-task-repository.d.ts +15 -0
  138. package/dist/server/storage/repositories/assistant-automation-task-repository.js +173 -0
  139. package/dist/server/storage/repositories/assistant-automation-task-repository.js.map +1 -0
  140. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.d.ts +17 -0
  141. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js +164 -0
  142. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js.map +1 -0
  143. package/dist/server/storage/repositories/butler-control-session-repository.js +27 -3
  144. package/dist/server/storage/repositories/butler-control-session-repository.js.map +1 -1
  145. package/dist/server/storage/repositories/butler-control-timer-repository.d.ts +15 -0
  146. package/dist/server/storage/repositories/butler-control-timer-repository.js +157 -0
  147. package/dist/server/storage/repositories/butler-control-timer-repository.js.map +1 -0
  148. package/dist/server/storage/repositories/user-preference-profile-repository.js +6 -3
  149. package/dist/server/storage/repositories/user-preference-profile-repository.js.map +1 -1
  150. package/dist/server/storage/sqlite/client.js +239 -2
  151. package/dist/server/storage/sqlite/client.js.map +1 -1
  152. package/dist/server/storage/sqlite/schema.sql +107 -1
  153. package/dist/server/types/domain.d.ts +89 -2
  154. package/dist/server/ws/workbench-ws-hub.d.ts +14 -8
  155. package/dist/server/ws/workbench-ws-hub.js +299 -163
  156. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  157. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +4 -1
  158. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +111 -3
  159. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  160. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +6 -1
  161. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +306 -31
  162. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  163. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.d.ts +5 -1
  164. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +187 -26
  165. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +1 -1
  166. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.d.ts +4 -1
  167. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js +98 -1
  168. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js.map +1 -1
  169. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +2 -0
  170. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +71 -8
  171. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  172. package/node_modules/@codingns/session-sync-core/dist/providers/utils.d.ts +1 -0
  173. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js +4 -1
  174. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js.map +1 -1
  175. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +44 -0
  176. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
  177. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +9 -3
  178. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  179. package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +1 -0
  180. package/node_modules/@codingns/session-sync-core/dist/services.js +17 -8
  181. package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
  182. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +4 -0
  183. package/package.json +1 -1
  184. package/dist/public/assets/index-BlOinYqR.js +0 -122
  185. package/dist/public/assets/index-Dg_7g6lA.css +0 -1
@@ -38,8 +38,12 @@ export function createDatabaseClient(databasePath) {
38
38
  ensureUserPreferenceProfileSchema(db);
39
39
  ensureButlerProfileSchema(db);
40
40
  ensureButlerControlSessionSchema(db);
41
+ ensureButlerControlTimerSchema(db);
42
+ ensureAssistantAutomationSchema(db);
43
+ ensureAssistantSandboxSchema(db);
41
44
  ensureButlerInboxSchema(db);
42
45
  ensureButlerFollowUpTaskSchema(db);
46
+ ensureVerificationRunSchema(db);
43
47
  ensureButlerSessionSummarySchema(db);
44
48
  return {
45
49
  db,
@@ -197,10 +201,17 @@ function ensureUserPreferenceProfileSchema(db) {
197
201
  const columns = db
198
202
  .prepare("PRAGMA table_info(user_preference_profiles)")
199
203
  .all();
200
- if (columns.length === 0 || columns.some((column) => column.name === "auto_theme")) {
204
+ if (columns.length === 0) {
201
205
  return;
202
206
  }
203
- db.exec("ALTER TABLE user_preference_profiles ADD COLUMN auto_theme INTEGER NOT NULL DEFAULT 0 CHECK (auto_theme IN (0, 1))");
207
+ const columnNames = new Set(columns.map((column) => column.name));
208
+ if (!columnNames.has("auto_theme")) {
209
+ db.exec("ALTER TABLE user_preference_profiles ADD COLUMN auto_theme INTEGER NOT NULL DEFAULT 0 CHECK (auto_theme IN (0, 1))");
210
+ }
211
+ if (!columnNames.has("debug_port_pools_json")) {
212
+ db.exec(`ALTER TABLE user_preference_profiles
213
+ ADD COLUMN debug_port_pools_json TEXT NOT NULL DEFAULT '{"start":43000,"end":47999}'`);
214
+ }
204
215
  }
205
216
  function ensureButlerControlSessionSchema(db) {
206
217
  const columns = db
@@ -219,6 +230,232 @@ function ensureButlerControlSessionSchema(db) {
219
230
  if (!columnNames.has("source_item_id")) {
220
231
  db.exec("ALTER TABLE butler_control_sessions ADD COLUMN source_item_id TEXT");
221
232
  }
233
+ if (!columnNames.has("model")) {
234
+ db.exec("ALTER TABLE butler_control_sessions ADD COLUMN model TEXT");
235
+ }
236
+ if (!columnNames.has("reasoning_level")) {
237
+ db.exec("ALTER TABLE butler_control_sessions ADD COLUMN reasoning_level TEXT");
238
+ }
239
+ if (!columnNames.has("permission_mode")) {
240
+ db.exec("ALTER TABLE butler_control_sessions ADD COLUMN permission_mode TEXT");
241
+ }
242
+ }
243
+ function ensureButlerControlTimerSchema(db) {
244
+ const columns = db
245
+ .prepare("PRAGMA table_info(butler_control_timers)")
246
+ .all();
247
+ if (columns.length > 0) {
248
+ return;
249
+ }
250
+ db.exec(`
251
+ CREATE TABLE IF NOT EXISTS butler_control_timers (
252
+ id TEXT PRIMARY KEY,
253
+ control_session_id TEXT NOT NULL,
254
+ session_id TEXT NOT NULL,
255
+ user_id TEXT NOT NULL,
256
+ project_id TEXT,
257
+ target_session_id TEXT,
258
+ title TEXT,
259
+ content TEXT NOT NULL,
260
+ due_at TEXT NOT NULL,
261
+ status TEXT NOT NULL CHECK (status IN ('active', 'completed', 'cancelled', 'failed')),
262
+ triggered_at TEXT,
263
+ last_error TEXT,
264
+ created_at TEXT NOT NULL,
265
+ updated_at TEXT NOT NULL,
266
+ cancelled_at TEXT,
267
+ FOREIGN KEY (control_session_id) REFERENCES butler_control_sessions(id) ON DELETE CASCADE,
268
+ FOREIGN KEY (session_id) REFERENCES session_bindings(session_id) ON DELETE CASCADE,
269
+ FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE
270
+ );
271
+
272
+ CREATE INDEX IF NOT EXISTS idx_butler_control_timers_status_due_at
273
+ ON butler_control_timers(status, due_at ASC, updated_at ASC);
274
+ CREATE INDEX IF NOT EXISTS idx_butler_control_timers_session
275
+ ON butler_control_timers(control_session_id, status, updated_at DESC);
276
+ `);
277
+ }
278
+ function ensureAssistantAutomationSchema(db) {
279
+ const taskColumns = db
280
+ .prepare("PRAGMA table_info(assistant_automation_tasks)")
281
+ .all();
282
+ const runColumns = db
283
+ .prepare("PRAGMA table_info(assistant_automation_runs)")
284
+ .all();
285
+ if (taskColumns.length > 0 && runColumns.length > 0) {
286
+ return;
287
+ }
288
+ db.exec(`
289
+ CREATE TABLE IF NOT EXISTS assistant_automation_tasks (
290
+ id TEXT PRIMARY KEY,
291
+ user_id TEXT NOT NULL,
292
+ control_session_id TEXT NOT NULL,
293
+ project_id TEXT,
294
+ title TEXT,
295
+ trigger_type TEXT NOT NULL CHECK (trigger_type IN ('once', 'interval', 'cron', 'condition')),
296
+ trigger_config_json TEXT NOT NULL,
297
+ action_type TEXT NOT NULL CHECK (action_type IN ('send_control_message')),
298
+ action_config_json TEXT NOT NULL,
299
+ status TEXT NOT NULL CHECK (status IN ('active', 'paused', 'completed', 'cancelled', 'failed')),
300
+ next_run_at TEXT,
301
+ last_run_at TEXT,
302
+ last_run_summary TEXT,
303
+ last_error TEXT,
304
+ created_at TEXT NOT NULL,
305
+ updated_at TEXT NOT NULL,
306
+ cancelled_at TEXT,
307
+ FOREIGN KEY (control_session_id) REFERENCES butler_control_sessions(id) ON DELETE CASCADE,
308
+ FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE
309
+ );
310
+
311
+ CREATE INDEX IF NOT EXISTS idx_assistant_automation_tasks_status_next_run_at
312
+ ON assistant_automation_tasks(status, next_run_at ASC, updated_at ASC);
313
+ CREATE INDEX IF NOT EXISTS idx_assistant_automation_tasks_session
314
+ ON assistant_automation_tasks(control_session_id, status, updated_at DESC);
315
+
316
+ CREATE TABLE IF NOT EXISTS assistant_automation_runs (
317
+ id TEXT PRIMARY KEY,
318
+ automation_id TEXT NOT NULL,
319
+ run_seq INTEGER NOT NULL,
320
+ trigger_type TEXT NOT NULL CHECK (trigger_type IN ('once', 'interval', 'cron', 'condition')),
321
+ trigger_snapshot_json TEXT NOT NULL,
322
+ action_type TEXT NOT NULL CHECK (action_type IN ('send_control_message')),
323
+ action_snapshot_json TEXT NOT NULL,
324
+ status TEXT NOT NULL CHECK (status IN ('queued', 'running', 'succeeded', 'failed', 'cancelled', 'skipped')),
325
+ summary TEXT,
326
+ error TEXT,
327
+ scheduled_at TEXT NOT NULL,
328
+ started_at TEXT,
329
+ finished_at TEXT,
330
+ created_at TEXT NOT NULL,
331
+ FOREIGN KEY (automation_id) REFERENCES assistant_automation_tasks(id) ON DELETE CASCADE
332
+ );
333
+
334
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_assistant_automation_runs_seq
335
+ ON assistant_automation_runs(automation_id, run_seq);
336
+ CREATE INDEX IF NOT EXISTS idx_assistant_automation_runs_created_at
337
+ ON assistant_automation_runs(automation_id, created_at DESC);
338
+ `);
339
+ }
340
+ function ensureAssistantSandboxSchema(db) {
341
+ const columns = db
342
+ .prepare("PRAGMA table_info(assistant_sandboxes)")
343
+ .all();
344
+ if (columns.length > 0) {
345
+ const columnNames = new Set(columns.map((column) => column.name));
346
+ if (!columnNames.has("control_session_id")) {
347
+ db.exec("ALTER TABLE assistant_sandboxes ADD COLUMN control_session_id TEXT");
348
+ }
349
+ db.exec(`
350
+ CREATE INDEX IF NOT EXISTS idx_assistant_sandboxes_control_session
351
+ ON assistant_sandboxes(control_session_id, status, updated_at DESC);
352
+ `);
353
+ return;
354
+ }
355
+ db.exec(`
356
+ CREATE TABLE IF NOT EXISTS assistant_sandboxes (
357
+ id TEXT PRIMARY KEY,
358
+ user_id TEXT NOT NULL,
359
+ workspace_id TEXT NOT NULL UNIQUE,
360
+ control_session_id TEXT,
361
+ title TEXT NOT NULL,
362
+ description TEXT,
363
+ source_kind TEXT NOT NULL CHECK (source_kind IN ('blank', 'clone')),
364
+ source_ref TEXT,
365
+ visibility TEXT NOT NULL CHECK (visibility IN ('assistant_only', 'pinned')),
366
+ status TEXT NOT NULL CHECK (status IN ('active', 'archived', 'expired', 'deleted')),
367
+ purpose TEXT,
368
+ expires_at TEXT,
369
+ promoted_at TEXT,
370
+ created_at TEXT NOT NULL,
371
+ updated_at TEXT NOT NULL,
372
+ FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE,
373
+ FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
374
+ FOREIGN KEY (control_session_id) REFERENCES butler_control_sessions(id) ON DELETE SET NULL
375
+ );
376
+
377
+ CREATE INDEX IF NOT EXISTS idx_assistant_sandboxes_user_status
378
+ ON assistant_sandboxes(user_id, status, updated_at DESC);
379
+ CREATE INDEX IF NOT EXISTS idx_assistant_sandboxes_workspace
380
+ ON assistant_sandboxes(workspace_id, status, updated_at DESC);
381
+ CREATE INDEX IF NOT EXISTS idx_assistant_sandboxes_control_session
382
+ ON assistant_sandboxes(control_session_id, status, updated_at DESC);
383
+ `);
384
+ }
385
+ function ensureVerificationRunSchema(db) {
386
+ const verificationRunSql = readTableSql(db, "verification_runs");
387
+ if (!verificationRunSql.includes("status IN ('queued', 'running', 'passed', 'failed', 'skipped')")) {
388
+ return;
389
+ }
390
+ db.exec(`
391
+ PRAGMA foreign_keys = OFF;
392
+
393
+ CREATE TABLE verification_runs_next (
394
+ id TEXT PRIMARY KEY,
395
+ project_id TEXT NOT NULL,
396
+ butler_session_id TEXT,
397
+ source_patrol_run_id TEXT,
398
+ verification_type TEXT NOT NULL CHECK (
399
+ verification_type IN ('test', 'health', 'browser', 'visual', 'metric')
400
+ ),
401
+ status TEXT NOT NULL CHECK (
402
+ status IN ('queued', 'running', 'passed', 'failed', 'skipped', 'cancelled')
403
+ ),
404
+ target_ref TEXT,
405
+ spec_json TEXT NOT NULL,
406
+ artifact_refs_json TEXT NOT NULL,
407
+ result_json TEXT NOT NULL,
408
+ summary TEXT,
409
+ started_at TEXT,
410
+ finished_at TEXT,
411
+ created_at TEXT NOT NULL,
412
+ FOREIGN KEY (project_id) REFERENCES butler_projects(id) ON DELETE CASCADE,
413
+ FOREIGN KEY (butler_session_id) REFERENCES butler_sessions(id)
414
+ );
415
+
416
+ INSERT INTO verification_runs_next (
417
+ id,
418
+ project_id,
419
+ butler_session_id,
420
+ source_patrol_run_id,
421
+ verification_type,
422
+ status,
423
+ target_ref,
424
+ spec_json,
425
+ artifact_refs_json,
426
+ result_json,
427
+ summary,
428
+ started_at,
429
+ finished_at,
430
+ created_at
431
+ )
432
+ SELECT
433
+ id,
434
+ project_id,
435
+ butler_session_id,
436
+ source_patrol_run_id,
437
+ verification_type,
438
+ status,
439
+ target_ref,
440
+ spec_json,
441
+ artifact_refs_json,
442
+ result_json,
443
+ summary,
444
+ started_at,
445
+ finished_at,
446
+ created_at
447
+ FROM verification_runs;
448
+
449
+ DROP TABLE verification_runs;
450
+ ALTER TABLE verification_runs_next RENAME TO verification_runs;
451
+
452
+ CREATE INDEX IF NOT EXISTS idx_verification_runs_project_created_at
453
+ ON verification_runs(project_id, created_at DESC);
454
+ CREATE INDEX IF NOT EXISTS idx_verification_runs_project_status
455
+ ON verification_runs(project_id, status, created_at DESC);
456
+
457
+ PRAGMA foreign_keys = ON;
458
+ `);
222
459
  }
223
460
  function ensureButlerInboxSchema(db) {
224
461
  const columns = db
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
@@ -328,6 +328,7 @@ CREATE TABLE IF NOT EXISTS user_preference_profiles (
328
328
  default_permission_mode IN ('default', 'acceptEdits', 'bypassPermissions')
329
329
  ),
330
330
  providers_json TEXT NOT NULL,
331
+ debug_port_pools_json TEXT NOT NULL,
331
332
  created_at TEXT NOT NULL,
332
333
  updated_at TEXT NOT NULL,
333
334
  FOREIGN KEY (user_id) REFERENCES auth_users(id)
@@ -688,6 +689,9 @@ CREATE TABLE IF NOT EXISTS butler_control_sessions (
688
689
  purpose TEXT NOT NULL DEFAULT 'chat' CHECK (purpose IN ('chat', 'todo_analysis')),
689
690
  title TEXT,
690
691
  source_item_id TEXT,
692
+ model TEXT,
693
+ reasoning_level TEXT,
694
+ permission_mode TEXT,
691
695
  status TEXT NOT NULL CHECK (status IN ('idle', 'running', 'failed', 'closed')),
692
696
  last_context_version TEXT,
693
697
  last_summary TEXT,
@@ -699,6 +703,108 @@ CREATE TABLE IF NOT EXISTS butler_control_sessions (
699
703
  CREATE INDEX IF NOT EXISTS idx_butler_control_sessions_provider
700
704
  ON butler_control_sessions(provider_id, updated_at DESC, created_at DESC);
701
705
 
706
+ CREATE TABLE IF NOT EXISTS butler_control_timers (
707
+ id TEXT PRIMARY KEY,
708
+ control_session_id TEXT NOT NULL,
709
+ session_id TEXT NOT NULL,
710
+ user_id TEXT NOT NULL,
711
+ project_id TEXT,
712
+ target_session_id TEXT,
713
+ title TEXT,
714
+ content TEXT NOT NULL,
715
+ due_at TEXT NOT NULL,
716
+ status TEXT NOT NULL CHECK (status IN ('active', 'completed', 'cancelled', 'failed')),
717
+ triggered_at TEXT,
718
+ last_error TEXT,
719
+ created_at TEXT NOT NULL,
720
+ updated_at TEXT NOT NULL,
721
+ cancelled_at TEXT,
722
+ FOREIGN KEY (control_session_id) REFERENCES butler_control_sessions(id) ON DELETE CASCADE,
723
+ FOREIGN KEY (session_id) REFERENCES session_bindings(session_id) ON DELETE CASCADE,
724
+ FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE
725
+ );
726
+
727
+ CREATE INDEX IF NOT EXISTS idx_butler_control_timers_status_due_at
728
+ ON butler_control_timers(status, due_at ASC, updated_at ASC);
729
+ CREATE INDEX IF NOT EXISTS idx_butler_control_timers_session
730
+ ON butler_control_timers(control_session_id, status, updated_at DESC);
731
+
732
+ CREATE TABLE IF NOT EXISTS assistant_automation_tasks (
733
+ id TEXT PRIMARY KEY,
734
+ user_id TEXT NOT NULL,
735
+ control_session_id TEXT NOT NULL,
736
+ project_id TEXT,
737
+ title TEXT,
738
+ trigger_type TEXT NOT NULL CHECK (trigger_type IN ('once', 'interval', 'cron', 'condition')),
739
+ trigger_config_json TEXT NOT NULL,
740
+ action_type TEXT NOT NULL CHECK (action_type IN ('send_control_message')),
741
+ action_config_json TEXT NOT NULL,
742
+ status TEXT NOT NULL CHECK (status IN ('active', 'paused', 'completed', 'cancelled', 'failed')),
743
+ next_run_at TEXT,
744
+ last_run_at TEXT,
745
+ last_run_summary TEXT,
746
+ last_error TEXT,
747
+ created_at TEXT NOT NULL,
748
+ updated_at TEXT NOT NULL,
749
+ cancelled_at TEXT,
750
+ FOREIGN KEY (control_session_id) REFERENCES butler_control_sessions(id) ON DELETE CASCADE,
751
+ FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE
752
+ );
753
+
754
+ CREATE INDEX IF NOT EXISTS idx_assistant_automation_tasks_status_next_run_at
755
+ ON assistant_automation_tasks(status, next_run_at ASC, updated_at ASC);
756
+ CREATE INDEX IF NOT EXISTS idx_assistant_automation_tasks_session
757
+ ON assistant_automation_tasks(control_session_id, status, updated_at DESC);
758
+
759
+ CREATE TABLE IF NOT EXISTS assistant_automation_runs (
760
+ id TEXT PRIMARY KEY,
761
+ automation_id TEXT NOT NULL,
762
+ run_seq INTEGER NOT NULL,
763
+ trigger_type TEXT NOT NULL CHECK (trigger_type IN ('once', 'interval', 'cron', 'condition')),
764
+ trigger_snapshot_json TEXT NOT NULL,
765
+ action_type TEXT NOT NULL CHECK (action_type IN ('send_control_message')),
766
+ action_snapshot_json TEXT NOT NULL,
767
+ status TEXT NOT NULL CHECK (status IN ('queued', 'running', 'succeeded', 'failed', 'cancelled', 'skipped')),
768
+ summary TEXT,
769
+ error TEXT,
770
+ scheduled_at TEXT NOT NULL,
771
+ started_at TEXT,
772
+ finished_at TEXT,
773
+ created_at TEXT NOT NULL,
774
+ FOREIGN KEY (automation_id) REFERENCES assistant_automation_tasks(id) ON DELETE CASCADE
775
+ );
776
+
777
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_assistant_automation_runs_seq
778
+ ON assistant_automation_runs(automation_id, run_seq);
779
+ CREATE INDEX IF NOT EXISTS idx_assistant_automation_runs_created_at
780
+ ON assistant_automation_runs(automation_id, created_at DESC);
781
+
782
+ CREATE TABLE IF NOT EXISTS assistant_sandboxes (
783
+ id TEXT PRIMARY KEY,
784
+ user_id TEXT NOT NULL,
785
+ workspace_id TEXT NOT NULL UNIQUE,
786
+ control_session_id TEXT,
787
+ title TEXT NOT NULL,
788
+ description TEXT,
789
+ source_kind TEXT NOT NULL CHECK (source_kind IN ('blank', 'clone')),
790
+ source_ref TEXT,
791
+ visibility TEXT NOT NULL CHECK (visibility IN ('assistant_only', 'pinned')),
792
+ status TEXT NOT NULL CHECK (status IN ('active', 'archived', 'expired', 'deleted')),
793
+ purpose TEXT,
794
+ expires_at TEXT,
795
+ promoted_at TEXT,
796
+ created_at TEXT NOT NULL,
797
+ updated_at TEXT NOT NULL,
798
+ FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE,
799
+ FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
800
+ FOREIGN KEY (control_session_id) REFERENCES butler_control_sessions(id) ON DELETE SET NULL
801
+ );
802
+
803
+ CREATE INDEX IF NOT EXISTS idx_assistant_sandboxes_user_status
804
+ ON assistant_sandboxes(user_id, status, updated_at DESC);
805
+ CREATE INDEX IF NOT EXISTS idx_assistant_sandboxes_workspace
806
+ ON assistant_sandboxes(workspace_id, status, updated_at DESC);
807
+
702
808
  CREATE TABLE IF NOT EXISTS butler_control_events (
703
809
  id TEXT PRIMARY KEY,
704
810
  control_session_id TEXT NOT NULL,
@@ -958,7 +1064,7 @@ CREATE TABLE IF NOT EXISTS verification_runs (
958
1064
  verification_type IN ('test', 'health', 'browser', 'visual', 'metric')
959
1065
  ),
960
1066
  status TEXT NOT NULL CHECK (
961
- status IN ('queued', 'running', 'passed', 'failed', 'skipped')
1067
+ status IN ('queued', 'running', 'passed', 'failed', 'skipped', 'cancelled')
962
1068
  ),
963
1069
  target_ref TEXT,
964
1070
  spec_json TEXT NOT NULL,
@@ -275,6 +275,12 @@ export type PreferenceProviderId = "claude-code" | "codex" | "opencode" | "gemin
275
275
  export type UserPreferenceLanguage = "zh-CN" | "en-US";
276
276
  export type UserPreferenceTheme = "light" | "dark" | "sky-blue" | "eye-green";
277
277
  export type UserPreferencePermissionMode = "default" | "acceptEdits" | "bypassPermissions";
278
+ export type DebugPortPoolRole = "frontend" | "backend" | "worker" | "mock" | "custom";
279
+ export interface DebugPortPoolRange {
280
+ start: number;
281
+ end: number;
282
+ }
283
+ export type DebugPortPoolConfig = DebugPortPoolRange;
278
284
  export interface UserPreferenceProviderProfile {
279
285
  defaultModel: string | null;
280
286
  defaultReasoningLevel: string | null;
@@ -286,6 +292,7 @@ export interface UserPreferenceProfile {
286
292
  autoTheme: boolean;
287
293
  defaultPermissionMode: UserPreferencePermissionMode;
288
294
  providers: UserPreferenceProviders;
295
+ debugPortPools: DebugPortPoolConfig;
289
296
  }
290
297
  export interface UserPreferenceProfileRecord extends UserPreferenceProfile {
291
298
  userId: string;
@@ -304,6 +311,14 @@ export interface GitRemoteCredentialRecord {
304
311
  export type ButlerProfileProviderId = "codex" | "claude-code";
305
312
  export type ButlerAgentsMode = "inline" | "file";
306
313
  export type ButlerControlSessionStatus = "idle" | "running" | "failed" | "closed";
314
+ export type ButlerControlTimerStatus = "active" | "completed" | "cancelled" | "failed";
315
+ export type AssistantAutomationStatus = "active" | "paused" | "completed" | "cancelled" | "failed";
316
+ export type AssistantAutomationTriggerType = "once" | "interval" | "cron" | "condition";
317
+ export type AssistantAutomationActionType = "send_control_message";
318
+ export type AssistantAutomationRunStatus = "queued" | "running" | "succeeded" | "failed" | "cancelled" | "skipped";
319
+ export type AssistantSandboxStatus = "active" | "archived" | "expired" | "deleted";
320
+ export type AssistantSandboxSourceKind = "blank" | "clone";
321
+ export type AssistantSandboxVisibility = "assistant_only" | "pinned";
307
322
  export type ButlerControlEventKind = "action";
308
323
  export type ButlerControlActionType = "open-project" | "resume-session" | "start-patrol" | "start-verification";
309
324
  export type ButlerControlEventStatus = "succeeded" | "failed";
@@ -342,7 +357,7 @@ export type PatrolExecutionMode = "readonly" | "controlled";
342
357
  export type PatrolRunTriggeredBy = "scheduler" | "user" | "system";
343
358
  export type PatrolRunStatus = "queued" | "running" | "succeeded" | "failed" | "cancelled";
344
359
  export type VerificationType = "test" | "health" | "browser" | "visual" | "metric";
345
- export type VerificationRunStatus = "queued" | "running" | "passed" | "failed" | "skipped";
360
+ export type VerificationRunStatus = "queued" | "running" | "passed" | "failed" | "skipped" | "cancelled";
346
361
  export interface ButlerProfile {
347
362
  id: "default";
348
363
  displayName: string;
@@ -363,12 +378,84 @@ export interface ButlerControlSession {
363
378
  purpose: ButlerControlSessionPurpose;
364
379
  title: string | null;
365
380
  sourceItemId: string | null;
381
+ model: string | null;
382
+ reasoningLevel: string | null;
383
+ permissionMode: string | null;
366
384
  status: ButlerControlSessionStatus;
367
385
  lastContextVersion: string | null;
368
386
  lastSummary: string | null;
369
387
  createdAt: string;
370
388
  updatedAt: string;
371
389
  }
390
+ export interface ButlerControlTimer {
391
+ id: string;
392
+ controlSessionId: string;
393
+ sessionId: string;
394
+ userId: string;
395
+ projectId: string | null;
396
+ targetSessionId: string | null;
397
+ title: string | null;
398
+ content: string;
399
+ dueAt: string;
400
+ status: ButlerControlTimerStatus;
401
+ triggeredAt: string | null;
402
+ lastError: string | null;
403
+ createdAt: string;
404
+ updatedAt: string;
405
+ cancelledAt: string | null;
406
+ }
407
+ export interface AssistantAutomationTask {
408
+ id: string;
409
+ userId: string;
410
+ controlSessionId: string;
411
+ projectId: string | null;
412
+ title: string | null;
413
+ triggerType: AssistantAutomationTriggerType;
414
+ triggerConfigJson: string;
415
+ actionType: AssistantAutomationActionType;
416
+ actionConfigJson: string;
417
+ status: AssistantAutomationStatus;
418
+ nextRunAt: string | null;
419
+ lastRunAt: string | null;
420
+ lastRunSummary: string | null;
421
+ lastError: string | null;
422
+ createdAt: string;
423
+ updatedAt: string;
424
+ cancelledAt: string | null;
425
+ }
426
+ export interface AssistantAutomationRun {
427
+ id: string;
428
+ automationId: string;
429
+ runSeq: number;
430
+ triggerType: AssistantAutomationTriggerType;
431
+ triggerSnapshotJson: string;
432
+ actionType: AssistantAutomationActionType;
433
+ actionSnapshotJson: string;
434
+ status: AssistantAutomationRunStatus;
435
+ summary: string | null;
436
+ error: string | null;
437
+ scheduledAt: string;
438
+ startedAt: string | null;
439
+ finishedAt: string | null;
440
+ createdAt: string;
441
+ }
442
+ export interface AssistantSandboxWorkspace {
443
+ id: string;
444
+ userId: string;
445
+ workspaceId: string;
446
+ controlSessionId: string | null;
447
+ title: string;
448
+ description: string | null;
449
+ sourceKind: AssistantSandboxSourceKind;
450
+ sourceRef: string | null;
451
+ visibility: AssistantSandboxVisibility;
452
+ status: AssistantSandboxStatus;
453
+ purpose: string | null;
454
+ expiresAt: string | null;
455
+ promotedAt: string | null;
456
+ createdAt: string;
457
+ updatedAt: string;
458
+ }
372
459
  export interface ButlerControlRelatedRef {
373
460
  kind: "project" | "butler-session" | "session" | "patrol-run" | "verification-run" | "workspace";
374
461
  id: string;
@@ -586,7 +673,7 @@ export interface FileContextBinding {
586
673
  attachedAt: string;
587
674
  }
588
675
  export type DebugTargetSourceType = "repo" | "worktree";
589
- export type DebugServiceRole = "frontend" | "backend" | "worker" | "mock" | "custom";
676
+ export type DebugServiceRole = DebugPortPoolRole;
590
677
  export type DebugServiceProtocol = "http" | "ws" | "tcp";
591
678
  export type FrameworkAnalysisConfidence = "high" | "medium" | "low";
592
679
  export type FrameworkCompatibilityLevel = "supported" | "conditional" | "unsupported" | "unknown";
@@ -1,5 +1,6 @@
1
1
  import type { WebSocket } from "ws";
2
2
  import type { AuthContext } from "../modules/auth/auth-service.js";
3
+ import type { TerminalService } from "../modules/terminal/terminal-service.js";
3
4
  import type { WorkbenchService } from "../modules/workbench/workbench-service.js";
4
5
  import type { WorkspacePanelSnapshotService } from "../modules/workbench/workspace-panel-snapshot-service.js";
5
6
  import type { WorkspaceFileWatcher } from "../modules/workbench/workspace-file-watcher.js";
@@ -13,27 +14,32 @@ export declare class WorkbenchWsHub {
13
14
  private readonly clientGitSubscriptions;
14
15
  private readonly clientTerminalManagerSubscriptions;
15
16
  private readonly clientWorkspaceManagementSubscriptions;
16
- constructor(workbenchService: WorkbenchService, workspacePanelSnapshotService: WorkspacePanelSnapshotService, fileWatcher: WorkspaceFileWatcher);
17
+ constructor(workbenchService: WorkbenchService, workspacePanelSnapshotService: WorkspacePanelSnapshotService, fileWatcher: WorkspaceFileWatcher, terminalService?: Pick<TerminalService, "on">);
17
18
  handleMessage(client: WebSocket, payload: unknown, authContext: AuthContext): boolean;
18
19
  cleanupClient(client: WebSocket): void;
19
20
  broadcastSnapshot(userId: string): Promise<void>;
20
21
  private scheduleRealtimeBroadcast;
21
22
  private flushRealtimeBroadcast;
22
23
  private attachClient;
23
- /**
24
- * 文件变化回调:chokidar 检测到工作区文件变化后,失效缓存并推送更新给订阅了该工作区的客户端。
25
- */
26
- private handleWorkspaceFileChange;
24
+ private handleWorkspaceWatcherChange;
25
+ private handleTerminalManagerChange;
27
26
  private getOrCreateChannel;
28
- private syncTitlesAndBroadcast;
29
27
  private sendWorkbenchSnapshotToClient;
30
28
  private refreshAndBroadcast;
31
- private refreshSidebarSubscriptions;
32
29
  private ensureFileTreeSubscription;
30
+ private replaceFileTreeSubscription;
33
31
  private refreshFileTreeSubscriptions;
34
32
  private refreshGitSubscription;
35
- private abortGitRefresh;
33
+ private ensureGitSubscription;
34
+ private scheduleGitRefresh;
35
+ private flushQueuedGitRefresh;
36
+ private deferQueuedGitRefresh;
37
+ private ensureTerminalManagerSubscription;
38
+ private scheduleTerminalManagerRefresh;
39
+ private flushQueuedTerminalManagerRefresh;
40
+ private deferQueuedTerminalManagerRefresh;
36
41
  private refreshTerminalManagerSubscription;
37
42
  private refreshWorkspaceManagementSubscription;
43
+ private refreshWorkspaceManagementSubscriptions;
38
44
  private reportAsyncError;
39
45
  }