@liangjie559567/ultrapower 7.0.3 → 7.0.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 (67) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +4 -0
  4. package/bridge/mcp-server.cjs +117 -68
  5. package/dist/hooks/autopilot/cancel.d.ts.map +1 -1
  6. package/dist/hooks/autopilot/cancel.js +15 -15
  7. package/dist/hooks/autopilot/cancel.js.map +1 -1
  8. package/dist/hooks/autopilot/enforcement.js +12 -12
  9. package/dist/hooks/autopilot/enforcement.js.map +1 -1
  10. package/dist/hooks/autopilot/state.d.ts.map +1 -1
  11. package/dist/hooks/autopilot/state.js +28 -30
  12. package/dist/hooks/autopilot/state.js.map +1 -1
  13. package/dist/hooks/bridge-types.d.ts +2 -0
  14. package/dist/hooks/bridge-types.d.ts.map +1 -1
  15. package/dist/hooks/bridge-types.js.map +1 -1
  16. package/dist/hooks/handlers/route-map.d.ts.map +1 -1
  17. package/dist/hooks/handlers/route-map.js +15 -0
  18. package/dist/hooks/handlers/route-map.js.map +1 -1
  19. package/dist/hooks/index.d.ts +1 -0
  20. package/dist/hooks/index.d.ts.map +1 -1
  21. package/dist/hooks/index.js +3 -0
  22. package/dist/hooks/index.js.map +1 -1
  23. package/dist/hooks/mode-cancel-sync.d.ts.map +1 -1
  24. package/dist/hooks/mode-cancel-sync.js +11 -12
  25. package/dist/hooks/mode-cancel-sync.js.map +1 -1
  26. package/dist/hooks/persistent-mode/index.js +2 -2
  27. package/dist/hooks/persistent-mode/index.js.map +1 -1
  28. package/dist/hooks/ralph/loop.d.ts.map +1 -1
  29. package/dist/hooks/ralph/loop.js +7 -8
  30. package/dist/hooks/ralph/loop.js.map +1 -1
  31. package/dist/hooks/ralph/verifier.js +11 -11
  32. package/dist/hooks/ralph/verifier.js.map +1 -1
  33. package/dist/hooks/ultrawork/index.d.ts.map +1 -1
  34. package/dist/hooks/ultrawork/index.js +7 -4
  35. package/dist/hooks/ultrawork/index.js.map +1 -1
  36. package/dist/hooks/validation.d.ts.map +1 -1
  37. package/dist/hooks/validation.js +2 -0
  38. package/dist/hooks/validation.js.map +1 -1
  39. package/dist/hooks/workflow-gate/index.d.ts +116 -0
  40. package/dist/hooks/workflow-gate/index.d.ts.map +1 -0
  41. package/dist/hooks/workflow-gate/index.js +352 -0
  42. package/dist/hooks/workflow-gate/index.js.map +1 -0
  43. package/dist/lib/state-cache.d.ts +8 -5
  44. package/dist/lib/state-cache.d.ts.map +1 -1
  45. package/dist/lib/state-cache.js +26 -16
  46. package/dist/lib/state-cache.js.map +1 -1
  47. package/dist/mcp/adapters/state-adapter.d.ts +8 -8
  48. package/dist/team/index.d.ts +1 -0
  49. package/dist/team/index.d.ts.map +1 -1
  50. package/dist/team/index.js +1 -0
  51. package/dist/team/index.js.map +1 -1
  52. package/dist/team/workflow-integration.d.ts +8 -0
  53. package/dist/team/workflow-integration.d.ts.map +1 -0
  54. package/dist/team/workflow-integration.js +62 -0
  55. package/dist/team/workflow-integration.js.map +1 -0
  56. package/dist/tools/lsp/client.d.ts +8 -2
  57. package/dist/tools/lsp/client.d.ts.map +1 -1
  58. package/dist/tools/lsp/client.js +114 -70
  59. package/dist/tools/lsp/client.js.map +1 -1
  60. package/dist/tools/lsp-tools.d.ts.map +1 -1
  61. package/dist/tools/lsp-tools.js +1 -4
  62. package/dist/tools/lsp-tools.js.map +1 -1
  63. package/docs/REFERENCE.md +3 -0
  64. package/package.json +1 -1
  65. package/skills/brainstorming/SKILL.md +57 -14
  66. package/skills/omc-doctor/SKILL.md +45 -0
  67. package/skills/team/SKILL.md +12 -0
@@ -8,11 +8,11 @@
8
8
  {
9
9
  "name": "ultrapower",
10
10
  "description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
11
- "version": "7.0.3",
11
+ "version": "7.0.5",
12
12
  "source": {
13
13
  "source": "npm",
14
14
  "package": "@liangjie559567/ultrapower",
15
- "version": "7.0.3"
15
+ "version": "7.0.5"
16
16
  },
17
17
  "author": {
18
18
  "name": "liangjie559567"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ultrapower",
3
3
  "description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
4
- "version": "7.0.3",
4
+ "version": "7.0.5",
5
5
  "author": {
6
6
  "name": "liangjie559567"
7
7
  },
package/README.md CHANGED
@@ -53,6 +53,8 @@ graph TB
53
53
  /ultrapower:omc-setup
54
54
  ```
55
55
 
56
+ > **Windows 用户注意**:如果安装后 HUD 不显示,运行 `/ultrapower:omc-doctor` 检查路径格式。Claude Code 要求配置文件中使用正斜杠(`C:/Users/...`)而非反斜杠。
57
+
56
58
  ### 验证安装
57
59
 
58
60
  ```bash
@@ -79,6 +81,8 @@ autopilot "创建一个 hello world 函数"
79
81
 
80
82
  ## 基础工作流
81
83
 
84
+ > **🛡️ 工作流门禁系统**:ultrapower 自动强制执行 superpowers 工作流纪律。尝试跳过必要步骤时,系统会自动注入对应 skill 并显示警告。
85
+
82
86
  1. **brainstorming** — 代码前必须先设计。通过对话细化需求,探索 2-3 种方案,呈现设计并获批准,保存设计文档。
83
87
 
84
88
  1. **using-git-worktrees** — 设计批准后创建隔离工作区,新建分支,运行项目初始化,验证测试基线。
@@ -18084,6 +18084,47 @@ function getAllServers() {
18084
18084
 
18085
18085
  // src/tools/lsp/client.ts
18086
18086
  var MAX_BUFFER_BYTES = 64 * 1024 * 1024;
18087
+ var LANGUAGE_MAP = {
18088
+ "ts": "typescript",
18089
+ "tsx": "typescriptreact",
18090
+ "js": "javascript",
18091
+ "jsx": "javascriptreact",
18092
+ "mts": "typescript",
18093
+ "cts": "typescript",
18094
+ "mjs": "javascript",
18095
+ "cjs": "javascript",
18096
+ "py": "python",
18097
+ "rs": "rust",
18098
+ "go": "go",
18099
+ "c": "c",
18100
+ "h": "c",
18101
+ "cpp": "cpp",
18102
+ "cc": "cpp",
18103
+ "hpp": "cpp",
18104
+ "java": "java",
18105
+ "json": "json",
18106
+ "html": "html",
18107
+ "css": "css",
18108
+ "scss": "scss",
18109
+ "yaml": "yaml",
18110
+ "yml": "yaml",
18111
+ "php": "php",
18112
+ "phtml": "php",
18113
+ "rb": "ruby",
18114
+ "rake": "ruby",
18115
+ "gemspec": "ruby",
18116
+ "erb": "ruby",
18117
+ "lua": "lua",
18118
+ "kt": "kotlin",
18119
+ "kts": "kotlin",
18120
+ "ex": "elixir",
18121
+ "exs": "elixir",
18122
+ "heex": "elixir",
18123
+ "eex": "elixir",
18124
+ "cs": "csharp"
18125
+ };
18126
+ var workspaceRootCache = /* @__PURE__ */ new Map();
18127
+ var MAX_WORKSPACE_CACHE = 100;
18087
18128
  function fileUri(filePath) {
18088
18129
  return (0, import_url.pathToFileURL)((0, import_path2.resolve)(filePath)).href;
18089
18130
  }
@@ -18091,9 +18132,11 @@ var LspClient = class {
18091
18132
  process = null;
18092
18133
  requestId = 0;
18093
18134
  pendingRequests = /* @__PURE__ */ new Map();
18094
- buffer = "";
18135
+ bufferChunks = [];
18136
+ bufferOffset = 0;
18095
18137
  openDocuments = /* @__PURE__ */ new Set();
18096
18138
  diagnostics = /* @__PURE__ */ new Map();
18139
+ pendingDiagnostics = /* @__PURE__ */ new Map();
18097
18140
  workspaceRoot;
18098
18141
  serverConfig;
18099
18142
  initialized = false;
@@ -18169,7 +18212,8 @@ Install with: ${this.serverConfig.installHint}`
18169
18212
  * Handle incoming data from the server
18170
18213
  */
18171
18214
  handleData(data) {
18172
- if (this.buffer.length + data.length > MAX_BUFFER_BYTES) {
18215
+ const totalLength = this.bufferChunks.reduce((sum, chunk) => sum + chunk.length, 0) - this.bufferOffset + data.length;
18216
+ if (totalLength > MAX_BUFFER_BYTES) {
18173
18217
  console.error(
18174
18218
  `[ultrapower] \u9519\u8BEF\uFF1ALSP \u7F13\u51B2\u533A\u8D85\u8FC7 ${MAX_BUFFER_BYTES} \u5B57\u8282\uFF0864MB\uFF09\u4E0A\u9650\uFF0C\u6B63\u5728\u65AD\u5F00\u8FDE\u63A5`
18175
18219
  );
@@ -18177,24 +18221,27 @@ Install with: ${this.serverConfig.installHint}`
18177
18221
  });
18178
18222
  return;
18179
18223
  }
18180
- this.buffer += data;
18224
+ this.bufferChunks.push(data);
18181
18225
  while (true) {
18182
- const headerEnd = this.buffer.indexOf("\r\n\r\n");
18226
+ const buffer = this.bufferChunks.join("").slice(this.bufferOffset);
18227
+ const headerEnd = buffer.indexOf("\r\n\r\n");
18183
18228
  if (headerEnd === -1) break;
18184
- const header = this.buffer.slice(0, headerEnd);
18229
+ const header = buffer.slice(0, headerEnd);
18185
18230
  const contentLengthMatch = header.match(/Content-Length: (\d+)/i);
18186
18231
  if (!contentLengthMatch) {
18187
- this.buffer = this.buffer.slice(headerEnd + 4);
18232
+ this.bufferOffset += headerEnd + 4;
18188
18233
  continue;
18189
18234
  }
18190
18235
  const contentLength = parseInt(contentLengthMatch[1], 10);
18191
18236
  const messageStart = headerEnd + 4;
18192
18237
  const messageEnd = messageStart + contentLength;
18193
- if (this.buffer.length < messageEnd) {
18194
- break;
18238
+ if (buffer.length < messageEnd) break;
18239
+ const messageJson = buffer.slice(messageStart, messageEnd);
18240
+ this.bufferOffset += messageEnd;
18241
+ if (this.bufferOffset > 8192) {
18242
+ this.bufferChunks = [buffer.slice(messageEnd)];
18243
+ this.bufferOffset = 0;
18195
18244
  }
18196
- const messageJson = this.buffer.slice(messageStart, messageEnd);
18197
- this.buffer = this.buffer.slice(messageEnd);
18198
18245
  try {
18199
18246
  const message = JSON.parse(messageJson);
18200
18247
  this.handleMessage(message);
@@ -18228,6 +18275,12 @@ Install with: ${this.serverConfig.installHint}`
18228
18275
  if (notification.method === "textDocument/publishDiagnostics") {
18229
18276
  const params = notification.params;
18230
18277
  this.diagnostics.set(params.uri, params.diagnostics);
18278
+ const pending = this.pendingDiagnostics.get(params.uri);
18279
+ if (pending) {
18280
+ clearTimeout(pending.timeout);
18281
+ this.pendingDiagnostics.delete(params.uri);
18282
+ pending.resolve(params.diagnostics);
18283
+ }
18231
18284
  }
18232
18285
  }
18233
18286
  /**
@@ -18323,7 +18376,7 @@ ${content}`;
18323
18376
  }
18324
18377
  });
18325
18378
  this.openDocuments.add(uri);
18326
- await new Promise((resolve6) => setTimeout(resolve6, 100));
18379
+ return this.waitForDiagnostics(uri, 500);
18327
18380
  }
18328
18381
  /**
18329
18382
  * Close a document
@@ -18341,46 +18394,25 @@ ${content}`;
18341
18394
  */
18342
18395
  getLanguageId(filePath) {
18343
18396
  const ext = filePath.split(".").pop()?.toLowerCase() || "";
18344
- const langMap = {
18345
- "ts": "typescript",
18346
- "tsx": "typescriptreact",
18347
- "js": "javascript",
18348
- "jsx": "javascriptreact",
18349
- "mts": "typescript",
18350
- "cts": "typescript",
18351
- "mjs": "javascript",
18352
- "cjs": "javascript",
18353
- "py": "python",
18354
- "rs": "rust",
18355
- "go": "go",
18356
- "c": "c",
18357
- "h": "c",
18358
- "cpp": "cpp",
18359
- "cc": "cpp",
18360
- "hpp": "cpp",
18361
- "java": "java",
18362
- "json": "json",
18363
- "html": "html",
18364
- "css": "css",
18365
- "scss": "scss",
18366
- "yaml": "yaml",
18367
- "yml": "yaml",
18368
- "php": "php",
18369
- "phtml": "php",
18370
- "rb": "ruby",
18371
- "rake": "ruby",
18372
- "gemspec": "ruby",
18373
- "erb": "ruby",
18374
- "lua": "lua",
18375
- "kt": "kotlin",
18376
- "kts": "kotlin",
18377
- "ex": "elixir",
18378
- "exs": "elixir",
18379
- "heex": "elixir",
18380
- "eex": "elixir",
18381
- "cs": "csharp"
18382
- };
18383
- return langMap[ext] || ext;
18397
+ return LANGUAGE_MAP[ext] || ext;
18398
+ }
18399
+ /**
18400
+ * Wait for diagnostics to be published for a URI
18401
+ */
18402
+ waitForDiagnostics(uri, timeout) {
18403
+ return new Promise((resolve6) => {
18404
+ const timeoutHandle = setTimeout(() => {
18405
+ this.pendingDiagnostics.delete(uri);
18406
+ resolve6();
18407
+ }, timeout);
18408
+ this.pendingDiagnostics.set(uri, {
18409
+ resolve: () => {
18410
+ clearTimeout(timeoutHandle);
18411
+ resolve6();
18412
+ },
18413
+ timeout: timeoutHandle
18414
+ });
18415
+ });
18384
18416
  }
18385
18417
  /**
18386
18418
  * Convert file path to URI and ensure document is open
@@ -18592,25 +18624,38 @@ var LspClientManager = class {
18592
18624
  }
18593
18625
  }
18594
18626
  /**
18595
- * Find the workspace root for a file
18627
+ * Find the workspace root for a file (with LRU cache)
18596
18628
  */
18597
18629
  findWorkspaceRoot(filePath) {
18598
- let dir = (0, import_path2.dirname)((0, import_path2.resolve)(filePath));
18630
+ const resolved = (0, import_path2.resolve)(filePath);
18631
+ if (workspaceRootCache.has(resolved)) {
18632
+ const cached2 = workspaceRootCache.get(resolved);
18633
+ workspaceRootCache.delete(resolved);
18634
+ workspaceRootCache.set(resolved, cached2);
18635
+ return cached2;
18636
+ }
18637
+ let dir = (0, import_path2.dirname)(resolved);
18599
18638
  const markers = ["package.json", "tsconfig.json", "pyproject.toml", "Cargo.toml", "go.mod", ".git"];
18600
18639
  while (true) {
18601
18640
  const parsed = (0, import_path2.parse)(dir);
18602
- if (parsed.root === dir) {
18603
- break;
18604
- }
18641
+ if (parsed.root === dir) break;
18605
18642
  for (const marker of markers) {
18606
- const markerPath = (0, import_path2.join)(dir, marker);
18607
- if ((0, import_fs.existsSync)(markerPath)) {
18643
+ if ((0, import_fs.existsSync)((0, import_path2.join)(dir, marker))) {
18644
+ if (workspaceRootCache.size >= MAX_WORKSPACE_CACHE) {
18645
+ const firstKey = workspaceRootCache.keys().next().value;
18646
+ if (firstKey !== void 0) {
18647
+ workspaceRootCache.delete(firstKey);
18648
+ }
18649
+ }
18650
+ workspaceRootCache.set(resolved, dir);
18608
18651
  return dir;
18609
18652
  }
18610
18653
  }
18611
18654
  dir = (0, import_path2.dirname)(dir);
18612
18655
  }
18613
- return (0, import_path2.dirname)((0, import_path2.resolve)(filePath));
18656
+ const fallback = (0, import_path2.dirname)(resolved);
18657
+ workspaceRootCache.set(resolved, fallback);
18658
+ return fallback;
18614
18659
  }
18615
18660
  /**
18616
18661
  * Start periodic idle check
@@ -19225,7 +19270,6 @@ var lspDiagnosticsTool = {
19225
19270
  const { file, severity } = args;
19226
19271
  return withLspClient(file, "diagnostics", async (client) => {
19227
19272
  await client.openDocument(file);
19228
- await new Promise((resolve6) => setTimeout(resolve6, LSP_DIAGNOSTICS_WAIT_MS));
19229
19273
  let diagnostics = client.getDiagnostics(file);
19230
19274
  if (severity) {
19231
19275
  const severityMap = {
@@ -22102,17 +22146,22 @@ function assertValidMode(mode) {
22102
22146
  var import_fs8 = require("fs");
22103
22147
  var stateCache = /* @__PURE__ */ new Map();
22104
22148
  function readStateWithCache(path13, data, ttl = 5e3) {
22149
+ const now = Date.now();
22150
+ const cached2 = stateCache.get(path13);
22151
+ if (cached2 && now - cached2.cachedAt < ttl) {
22152
+ if (now - cached2.mtimeCheckedAt < 1e3) {
22153
+ return Object.freeze(cached2.data);
22154
+ }
22155
+ }
22105
22156
  try {
22106
22157
  const mtime = (0, import_fs8.statSync)(path13).mtimeMs;
22107
- const cached2 = stateCache.get(path13);
22108
- if (cached2 && cached2.mtime === mtime && Date.now() - cached2.cachedAt < ttl) {
22109
- if (typeof cached2.data === "object" && cached2.data !== null) {
22110
- return { ...cached2.data };
22111
- }
22112
- return cached2.data;
22158
+ if (cached2 && cached2.mtime === mtime) {
22159
+ cached2.mtimeCheckedAt = now;
22160
+ return Object.freeze(cached2.data);
22113
22161
  }
22114
- stateCache.set(path13, { data, mtime, cachedAt: Date.now() });
22115
- return data;
22162
+ const frozenData = Object.freeze(data);
22163
+ stateCache.set(path13, { data: frozenData, mtime, cachedAt: now, mtimeCheckedAt: now });
22164
+ return frozenData;
22116
22165
  } catch {
22117
22166
  return data;
22118
22167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../../src/hooks/autopilot/cancel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAmElG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CA+ClF;AAED,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAKrD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAqCA;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpF,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC,CAwCD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAyBhE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAoClE"}
1
+ {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../../src/hooks/autopilot/cancel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAkElG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CA+ClF;AAED,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAKrD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAqCA;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpF,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC,CAwCD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAyBhE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAoClE"}
@@ -62,16 +62,15 @@ export async function cancelAutopilot(directory, sessionId) {
62
62
  }
63
63
  cleanedUp.push('ultraqa');
64
64
  }
65
- // Mark autopilot as inactive but preserve state for resume
66
- state.active = false;
67
- await writeAutopilotState(directory, state, sessionId);
65
+ const mutableState = { ...state, active: false };
66
+ await writeAutopilotState(directory, mutableState, sessionId);
68
67
  const cleanupMsg = cleanedUp.length > 0
69
68
  ? ` Cleaned up: ${cleanedUp.join(', ')}.`
70
69
  : '';
71
70
  return {
72
71
  success: true,
73
- message: `Autopilot cancelled at phase: ${state.phase}.${cleanupMsg} Progress preserved for resume.`,
74
- preservedState: state
72
+ message: `Autopilot cancelled at phase: ${mutableState.phase}.${cleanupMsg} Progress preserved for resume.`,
73
+ preservedState: mutableState
75
74
  };
76
75
  }
77
76
  /**
@@ -188,15 +187,16 @@ export async function resumeAutopilot(directory, sessionId) {
188
187
  message: `Max iterations (${state.max_iterations}) reached, cannot resume`
189
188
  };
190
189
  }
191
- // Re-activate
192
- state.active = true;
193
- state.iteration++;
194
- // Record interruption metadata if applicable
195
- if (wasInterrupted) {
196
- state.was_interrupted = true;
197
- state.resumed_at = new Date().toISOString();
198
- }
199
- if (!(await writeAutopilotState(directory, state, sessionId))) {
190
+ const mutableState = {
191
+ ...state,
192
+ active: true,
193
+ iteration: state.iteration + 1,
194
+ ...(wasInterrupted && {
195
+ was_interrupted: true,
196
+ resumed_at: new Date().toISOString()
197
+ })
198
+ };
199
+ if (!(await writeAutopilotState(directory, mutableState, sessionId))) {
200
200
  return {
201
201
  success: false,
202
202
  message: 'Failed to update autopilot state'
@@ -205,7 +205,7 @@ export async function resumeAutopilot(directory, sessionId) {
205
205
  return {
206
206
  success: true,
207
207
  message: `Resuming autopilot at phase: ${state.phase}`,
208
- state
208
+ state: mutableState
209
209
  };
210
210
  }
211
211
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/hooks/autopilot/cancel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAS1E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,SAAkB;IACzE,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,mCAAmC;SAC7C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,mCAAmC;SAC7C,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,kCAAkC;IAClC,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC;QACtC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;QACvB,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,SAAS,EAAE,CAAC;gBACd,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,yBAAyB,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,SAAS;QAC5B,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC;QACxC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,YAAY,EAAE,MAAM,EAAE,CAAC;QACzB,IAAI,SAAS,EAAE,CAAC;YACd,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,mBAAmB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAEvD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACzC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,iCAAiC,KAAK,CAAC,KAAK,IAAI,UAAU,iCAAiC;QACpG,cAAc,EAAE,KAAK;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAkB;IAClE,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,6BAA6B;SACvC,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC;QACtC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,SAAS,EAAE,CAAC;gBACd,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,yBAAyB,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,SAAS;QAC5B,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC;QACxC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,SAAS,EAAE,CAAC;YACd,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE1C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,oCAAoC;KAC9C,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAErD,8FAA8F;AAC9F,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,SAAkB;IAMtE,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,gCAAgC;IAChC,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC/D,CAAC;IAED,uDAAuD;IACvD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,+EAA+E;QAC/E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,wBAAwB,EAAE,CAAC;YACxD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/D,CAAC;QACD,2EAA2E;QAC3E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IACpF,CAAC;IAED,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,sBAAsB,EAAE,CAAC;QACrD,6DAA6D;QAC7D,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI;QACf,KAAK;QACL,WAAW,EAAE,KAAK,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,SAAkB;IAKzE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEtF,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,0CAA0C;SACpD,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QAC5C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,mBAAmB,KAAK,CAAC,cAAc,0BAA0B;SAC3E,CAAC;IACJ,CAAC;IAED,cAAc;IACd,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,SAAS,EAAE,CAAC;IAElB,6CAA6C;IAC7C,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,KAAK,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,kCAAkC;SAC5C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,gCAAgC,KAAK,CAAC,KAAK,EAAE;QACtD,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,EAAE;QACF,uBAAuB;QACvB,EAAE;QACF,MAAM,CAAC,OAAO;QACd,EAAE;KACH,CAAC;IAEF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAqB;IACxD,MAAM,SAAS,GAAa,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;IAEnD,MAAM,KAAK,GAAa;QACtB,EAAE;QACF,oBAAoB;QACpB,OAAO,KAAK,CAAC,KAAK,KAAK;QACvB,EAAE;QACF,QAAQ;KACT,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,UAAU;gBAC5B,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI;gBACtF,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;YACnC,MAAM;QACR,CAAC;QACD,8CAA8C;IAChD,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/hooks/autopilot/cancel.ts"],"names":[],"mappings":"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"}
@@ -184,16 +184,16 @@ function generateContinuationPrompt(state, directory, sessionId) {
184
184
  const toolError = readLastToolError(directory);
185
185
  const errorGuidance = getToolErrorRetryGuidance(toolError);
186
186
  // Increment iteration
187
- state.iteration += 1;
188
- writeAutopilotState(directory, state, sessionId);
189
- const phasePrompt = getPhasePrompt(state.phase, {
190
- idea: state.originalIdea,
191
- specPath: state.expansion.spec_path || `${OmcPaths.AUTOPILOT}/spec.md`,
192
- planPath: state.planning.plan_path || `${OmcPaths.PLANS}/autopilot-impl.md`
187
+ const updatedState = { ...state, iteration: state.iteration + 1 };
188
+ writeAutopilotState(directory, updatedState, sessionId);
189
+ const phasePrompt = getPhasePrompt(updatedState.phase, {
190
+ idea: updatedState.originalIdea,
191
+ specPath: updatedState.expansion.spec_path || `${OmcPaths.AUTOPILOT}/spec.md`,
192
+ planPath: updatedState.planning.plan_path || `${OmcPaths.PLANS}/autopilot-impl.md`
193
193
  });
194
194
  const continuationPrompt = `<autopilot-continuation>
195
195
  ${errorGuidance ? errorGuidance + '\n' : ''}
196
- [AUTOPILOT - PHASE: ${state.phase.toUpperCase()} | ITERATION ${state.iteration}/${state.max_iterations}]
196
+ [AUTOPILOT - PHASE: ${updatedState.phase.toUpperCase()} | ITERATION ${updatedState.iteration}/${updatedState.max_iterations}]
197
197
 
198
198
  Your previous response did not signal phase completion. Continue working on the current phase.
199
199
 
@@ -214,12 +214,12 @@ IMPORTANT: When the phase is complete, output the appropriate signal:
214
214
  return {
215
215
  shouldBlock: true,
216
216
  message: continuationPrompt,
217
- phase: state.phase,
217
+ phase: updatedState.phase,
218
218
  metadata: {
219
- iteration: state.iteration,
220
- maxIterations: state.max_iterations,
221
- tasksCompleted: state.execution.tasks_completed,
222
- tasksTotal: state.execution.tasks_total,
219
+ iteration: updatedState.iteration,
220
+ maxIterations: updatedState.max_iterations,
221
+ tasksCompleted: updatedState.execution.tasks_completed,
222
+ tasksTotal: updatedState.execution.tasks_total,
223
223
  toolError: toolError || undefined
224
224
  }
225
225
  };
@@ -1 +1 @@
1
- {"version":3,"file":"enforcement.js","sourceRoot":"","sources":["../../../src/hooks/autopilot/enforcement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enforcement.js","sourceRoot":"","sources":["../../../src/hooks/autopilot/enforcement.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/hooks/autopilot/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/hooks/autopilot/state.ts"],"names":[],"mappings":"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"}
@@ -144,21 +144,20 @@ export async function transitionPhase(directory, newPhase, sessionId) {
144
144
  }
145
145
  const now = new Date().toISOString();
146
146
  const oldPhase = state.phase;
147
- // Record duration for old phase (if we have a start time recorded)
147
+ const mutableState = { ...state, phase_durations: { ...state.phase_durations } };
148
148
  const phaseStartKey = `${oldPhase}_start_ms`;
149
- if (state.phase_durations[phaseStartKey] !== undefined) {
150
- const duration = Date.now() - state.phase_durations[phaseStartKey];
151
- state.phase_durations[oldPhase] = duration;
149
+ if (mutableState.phase_durations[phaseStartKey] !== undefined) {
150
+ const duration = Date.now() - mutableState.phase_durations[phaseStartKey];
151
+ mutableState.phase_durations[oldPhase] = duration;
152
152
  }
153
- // Transition to new phase and record start time
154
- state.phase = newPhase;
155
- state.phase_durations[`${newPhase}_start_ms`] = Date.now();
153
+ mutableState.phase = newPhase;
154
+ mutableState.phase_durations[`${newPhase}_start_ms`] = Date.now();
156
155
  if (newPhase === 'complete' || newPhase === 'failed') {
157
- state.completed_at = now;
158
- state.active = false;
156
+ mutableState.completed_at = now;
157
+ mutableState.active = false;
159
158
  }
160
- await writeAutopilotState(directory, state, sessionId);
161
- return state;
159
+ await writeAutopilotState(directory, mutableState, sessionId);
160
+ return mutableState;
162
161
  }
163
162
  /**
164
163
  * Increment the agent spawn counter
@@ -177,8 +176,8 @@ export async function updateExpansion(directory, updates, sessionId) {
177
176
  const state = readAutopilotState(directory, sessionId);
178
177
  if (!state)
179
178
  return false;
180
- state.expansion = { ...state.expansion, ...updates };
181
- return await writeAutopilotState(directory, state, sessionId);
179
+ const mutableState = { ...state, expansion: { ...state.expansion, ...updates } };
180
+ return await writeAutopilotState(directory, mutableState, sessionId);
182
181
  }
183
182
  /**
184
183
  * Update planning phase data
@@ -187,8 +186,8 @@ export async function updatePlanning(directory, updates, sessionId) {
187
186
  const state = readAutopilotState(directory, sessionId);
188
187
  if (!state)
189
188
  return false;
190
- state.planning = { ...state.planning, ...updates };
191
- return await writeAutopilotState(directory, state, sessionId);
189
+ const mutableState = { ...state, planning: { ...state.planning, ...updates } };
190
+ return await writeAutopilotState(directory, mutableState, sessionId);
192
191
  }
193
192
  /**
194
193
  * Update execution phase data
@@ -197,8 +196,8 @@ export async function updateExecution(directory, updates, sessionId) {
197
196
  const state = readAutopilotState(directory, sessionId);
198
197
  if (!state)
199
198
  return false;
200
- state.execution = { ...state.execution, ...updates };
201
- return await writeAutopilotState(directory, state, sessionId);
199
+ const mutableState = { ...state, execution: { ...state.execution, ...updates } };
200
+ return await writeAutopilotState(directory, mutableState, sessionId);
202
201
  }
203
202
  /**
204
203
  * Update QA phase data
@@ -207,8 +206,8 @@ export async function updateQA(directory, updates, sessionId) {
207
206
  const state = readAutopilotState(directory, sessionId);
208
207
  if (!state)
209
208
  return false;
210
- state.qa = { ...state.qa, ...updates };
211
- return await writeAutopilotState(directory, state, sessionId);
209
+ const mutableState = { ...state, qa: { ...state.qa, ...updates } };
210
+ return await writeAutopilotState(directory, mutableState, sessionId);
212
211
  }
213
212
  /**
214
213
  * Update validation phase data
@@ -217,8 +216,8 @@ export async function updateValidation(directory, updates, sessionId) {
217
216
  const state = readAutopilotState(directory, sessionId);
218
217
  if (!state)
219
218
  return false;
220
- state.validation = { ...state.validation, ...updates };
221
- return await writeAutopilotState(directory, state, sessionId);
219
+ const mutableState = { ...state, validation: { ...state.validation, ...updates } };
220
+ return await writeAutopilotState(directory, mutableState, sessionId);
222
221
  }
223
222
  /**
224
223
  * Get the spec file path
@@ -449,13 +448,12 @@ export async function appendCompletedStep(directory, step, sessionId) {
449
448
  const state = readAutopilotState(directory, sessionId);
450
449
  if (!state)
451
450
  return false;
452
- if (!state.completed_steps) {
453
- state.completed_steps = [];
454
- }
455
- if (!state.completed_steps.includes(step)) {
456
- state.completed_steps.push(step);
457
- }
458
- return await writeAutopilotState(directory, state, sessionId);
451
+ const completedSteps = state.completed_steps || [];
452
+ const mutableState = {
453
+ ...state,
454
+ completed_steps: completedSteps.includes(step) ? completedSteps : [...completedSteps, step]
455
+ };
456
+ return await writeAutopilotState(directory, mutableState, sessionId);
459
457
  }
460
458
  /**
461
459
  * Record a failure reason in the state.
@@ -464,7 +462,7 @@ export async function recordFailureReason(directory, reason, sessionId) {
464
462
  const state = readAutopilotState(directory, sessionId);
465
463
  if (!state)
466
464
  return false;
467
- state.failure_reason = reason;
468
- return await writeAutopilotState(directory, state, sessionId);
465
+ const mutableState = { ...state, failure_reason: reason };
466
+ return await writeAutopilotState(directory, mutableState, sessionId);
469
467
  }
470
468
  //# sourceMappingURL=state.js.map