maxsimcli 4.1.0 → 4.2.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 (79) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/assets/CHANGELOG.md +8 -0
  3. package/dist/assets/dashboard/client/assets/{index-C_eAetZJ.js → index-BcRHShXD.js} +59 -59
  4. package/dist/assets/dashboard/client/assets/index-C199D4Eb.css +32 -0
  5. package/dist/assets/dashboard/client/index.html +2 -2
  6. package/dist/assets/dashboard/server.js +26 -11
  7. package/dist/assets/templates/agents/AGENTS.md +18 -69
  8. package/dist/assets/templates/agents/maxsim-code-reviewer.md +17 -92
  9. package/dist/assets/templates/agents/maxsim-codebase-mapper.md +57 -694
  10. package/dist/assets/templates/agents/maxsim-debugger.md +80 -925
  11. package/dist/assets/templates/agents/maxsim-executor.md +94 -431
  12. package/dist/assets/templates/agents/maxsim-integration-checker.md +51 -319
  13. package/dist/assets/templates/agents/maxsim-phase-researcher.md +63 -429
  14. package/dist/assets/templates/agents/maxsim-plan-checker.md +79 -568
  15. package/dist/assets/templates/agents/maxsim-planner.md +125 -855
  16. package/dist/assets/templates/agents/maxsim-project-researcher.md +32 -472
  17. package/dist/assets/templates/agents/maxsim-research-synthesizer.md +25 -134
  18. package/dist/assets/templates/agents/maxsim-roadmapper.md +66 -480
  19. package/dist/assets/templates/agents/maxsim-spec-reviewer.md +13 -55
  20. package/dist/assets/templates/agents/maxsim-verifier.md +95 -450
  21. package/dist/assets/templates/commands/maxsim/artefakte.md +122 -0
  22. package/dist/assets/templates/commands/maxsim/batch.md +42 -0
  23. package/dist/assets/templates/commands/maxsim/check-todos.md +1 -0
  24. package/dist/assets/templates/commands/maxsim/sdd.md +39 -0
  25. package/dist/assets/templates/references/thinking-partner.md +33 -0
  26. package/dist/assets/templates/workflows/batch.md +420 -0
  27. package/dist/assets/templates/workflows/check-todos.md +85 -1
  28. package/dist/assets/templates/workflows/discuss-phase.md +31 -0
  29. package/dist/assets/templates/workflows/execute-plan.md +96 -27
  30. package/dist/assets/templates/workflows/help.md +47 -0
  31. package/dist/assets/templates/workflows/sdd.md +426 -0
  32. package/dist/backend-server.cjs +174 -51
  33. package/dist/backend-server.cjs.map +1 -1
  34. package/dist/cli.cjs +310 -146
  35. package/dist/cli.cjs.map +1 -1
  36. package/dist/cli.js +5 -5
  37. package/dist/cli.js.map +1 -1
  38. package/dist/core/artefakte.d.ts.map +1 -1
  39. package/dist/core/artefakte.js +16 -0
  40. package/dist/core/artefakte.js.map +1 -1
  41. package/dist/core/context-loader.d.ts +1 -0
  42. package/dist/core/context-loader.d.ts.map +1 -1
  43. package/dist/core/context-loader.js +58 -0
  44. package/dist/core/context-loader.js.map +1 -1
  45. package/dist/core/core.d.ts +6 -0
  46. package/dist/core/core.d.ts.map +1 -1
  47. package/dist/core/core.js +238 -0
  48. package/dist/core/core.js.map +1 -1
  49. package/dist/core/index.d.ts +1 -1
  50. package/dist/core/index.d.ts.map +1 -1
  51. package/dist/core/index.js +5 -3
  52. package/dist/core/index.js.map +1 -1
  53. package/dist/core/phase.d.ts +11 -11
  54. package/dist/core/phase.d.ts.map +1 -1
  55. package/dist/core/phase.js +88 -73
  56. package/dist/core/phase.js.map +1 -1
  57. package/dist/core/roadmap.d.ts +2 -2
  58. package/dist/core/roadmap.d.ts.map +1 -1
  59. package/dist/core/roadmap.js +11 -10
  60. package/dist/core/roadmap.js.map +1 -1
  61. package/dist/core/state.d.ts +11 -11
  62. package/dist/core/state.d.ts.map +1 -1
  63. package/dist/core/state.js +60 -54
  64. package/dist/core/state.js.map +1 -1
  65. package/dist/core-RRjCSt0G.cjs.map +1 -1
  66. package/dist/{lifecycle-D4E9yP6E.cjs → lifecycle-0M4VqOMm.cjs} +2 -2
  67. package/dist/{lifecycle-D4E9yP6E.cjs.map → lifecycle-0M4VqOMm.cjs.map} +1 -1
  68. package/dist/mcp/context-tools.d.ts.map +1 -1
  69. package/dist/mcp/context-tools.js +7 -3
  70. package/dist/mcp/context-tools.js.map +1 -1
  71. package/dist/mcp/phase-tools.js +3 -3
  72. package/dist/mcp/phase-tools.js.map +1 -1
  73. package/dist/mcp-server.cjs +163 -40
  74. package/dist/mcp-server.cjs.map +1 -1
  75. package/dist/{server-pvY2WbKj.cjs → server-G1MIg_Oe.cjs} +7 -7
  76. package/dist/server-G1MIg_Oe.cjs.map +1 -0
  77. package/package.json +1 -1
  78. package/dist/assets/dashboard/client/assets/index-CmiJKqOU.css +0 -32
  79. package/dist/server-pvY2WbKj.cjs.map +0 -1
@@ -23,7 +23,7 @@ exports.cmdStateAddBlocker = cmdStateAddBlocker;
23
23
  exports.cmdStateResolveBlocker = cmdStateResolveBlocker;
24
24
  exports.cmdStateRecordSession = cmdStateRecordSession;
25
25
  exports.cmdStateSnapshot = cmdStateSnapshot;
26
- const node_fs_1 = __importDefault(require("node:fs"));
26
+ const node_fs_1 = require("node:fs");
27
27
  const node_path_1 = __importDefault(require("node:path"));
28
28
  const escape_string_regexp_1 = __importDefault(require("escape-string-regexp"));
29
29
  const core_js_1 = require("./core.js");
@@ -63,12 +63,12 @@ function stateReplaceField(content, fieldName, newValue) {
63
63
  replaced = content.replace(plainPattern, (_match, prefix) => `${prefix}${newValue}`);
64
64
  return replaced !== content ? replaced : null;
65
65
  }
66
- function readTextArgOrFile(cwd, value, filePath, label) {
66
+ async function readTextArgOrFile(cwd, value, filePath, label) {
67
67
  if (!filePath)
68
68
  return value;
69
69
  const resolvedPath = node_path_1.default.isAbsolute(filePath) ? filePath : node_path_1.default.join(cwd, filePath);
70
70
  try {
71
- return node_fs_1.default.readFileSync(resolvedPath, 'utf-8').trimEnd();
71
+ return (await node_fs_1.promises.readFile(resolvedPath, 'utf-8')).trimEnd();
72
72
  }
73
73
  catch {
74
74
  throw new Error(`${label} file not found: ${filePath}`);
@@ -95,8 +95,8 @@ async function cmdStateLoad(cwd, raw) {
95
95
  const config = (0, core_js_1.loadConfig)(cwd);
96
96
  const [stateContent, configExists, roadmapExists] = await Promise.all([
97
97
  (0, core_js_1.safeReadFileAsync)((0, core_js_1.statePath)(cwd)),
98
- node_fs_1.default.promises.access((0, core_js_1.configPath)(cwd)).then(() => true, () => false),
99
- node_fs_1.default.promises.access((0, core_js_1.roadmapPath)(cwd)).then(() => true, () => false),
98
+ (0, core_js_1.pathExistsAsync)((0, core_js_1.configPath)(cwd)),
99
+ (0, core_js_1.pathExistsAsync)((0, core_js_1.roadmapPath)(cwd)),
100
100
  ]);
101
101
  const stateRaw = stateContent ?? '';
102
102
  const stateExists = stateRaw.length > 0;
@@ -127,10 +127,10 @@ async function cmdStateLoad(cwd, raw) {
127
127
  }
128
128
  return (0, types_js_1.cmdOk)(result);
129
129
  }
130
- function cmdStateGet(cwd, section, raw) {
130
+ async function cmdStateGet(cwd, section, raw) {
131
131
  const statePath = (0, core_js_1.statePath)(cwd);
132
132
  try {
133
- const content = node_fs_1.default.readFileSync(statePath, 'utf-8');
133
+ const content = await node_fs_1.promises.readFile(statePath, 'utf-8');
134
134
  if (!section) {
135
135
  return (0, types_js_1.cmdOk)({ content }, raw ? content : undefined);
136
136
  }
@@ -153,10 +153,10 @@ function cmdStateGet(cwd, section, raw) {
153
153
  return (0, types_js_1.cmdErr)('STATE.md not found');
154
154
  }
155
155
  }
156
- function cmdStatePatch(cwd, patches, raw) {
156
+ async function cmdStatePatch(cwd, patches, raw) {
157
157
  const statePath = (0, core_js_1.statePath)(cwd);
158
158
  try {
159
- let content = node_fs_1.default.readFileSync(statePath, 'utf-8');
159
+ let content = await node_fs_1.promises.readFile(statePath, 'utf-8');
160
160
  const results = { updated: [], failed: [] };
161
161
  for (const [field, value] of Object.entries(patches)) {
162
162
  const result = stateReplaceField(content, field, value);
@@ -169,7 +169,7 @@ function cmdStatePatch(cwd, patches, raw) {
169
169
  }
170
170
  }
171
171
  if (results.updated.length > 0) {
172
- node_fs_1.default.writeFileSync(statePath, content, 'utf-8');
172
+ await node_fs_1.promises.writeFile(statePath, content, 'utf-8');
173
173
  }
174
174
  return (0, types_js_1.cmdOk)(results, raw ? (results.updated.length > 0 ? 'true' : 'false') : undefined);
175
175
  }
@@ -178,16 +178,16 @@ function cmdStatePatch(cwd, patches, raw) {
178
178
  return (0, types_js_1.cmdErr)('STATE.md not found');
179
179
  }
180
180
  }
181
- function cmdStateUpdate(cwd, field, value) {
181
+ async function cmdStateUpdate(cwd, field, value) {
182
182
  if (!field || value === undefined) {
183
183
  return (0, types_js_1.cmdErr)('field and value required for state update');
184
184
  }
185
185
  const statePath = (0, core_js_1.statePath)(cwd);
186
186
  try {
187
- const content = node_fs_1.default.readFileSync(statePath, 'utf-8');
187
+ const content = await node_fs_1.promises.readFile(statePath, 'utf-8');
188
188
  const result = stateReplaceField(content, field, value);
189
189
  if (result) {
190
- node_fs_1.default.writeFileSync(statePath, result, 'utf-8');
190
+ await node_fs_1.promises.writeFile(statePath, result, 'utf-8');
191
191
  return (0, types_js_1.cmdOk)({ updated: true });
192
192
  }
193
193
  else {
@@ -200,12 +200,12 @@ function cmdStateUpdate(cwd, field, value) {
200
200
  }
201
201
  }
202
202
  // ─── State Progression Engine ────────────────────────────────────────────────
203
- function cmdStateAdvancePlan(cwd, raw) {
203
+ async function cmdStateAdvancePlan(cwd, raw) {
204
204
  const statePath = (0, core_js_1.statePath)(cwd);
205
- if (!node_fs_1.default.existsSync(statePath)) {
205
+ if (!(await (0, core_js_1.pathExistsAsync)(statePath))) {
206
206
  return (0, types_js_1.cmdOk)({ error: 'STATE.md not found' });
207
207
  }
208
- let content = node_fs_1.default.readFileSync(statePath, 'utf-8');
208
+ let content = await node_fs_1.promises.readFile(statePath, 'utf-8');
209
209
  const currentPlan = parseInt(stateExtractField(content, 'Current Plan') ?? '', 10);
210
210
  const totalPlans = parseInt(stateExtractField(content, 'Total Plans in Phase') ?? '', 10);
211
211
  const today = (0, core_js_1.todayISO)();
@@ -215,7 +215,7 @@ function cmdStateAdvancePlan(cwd, raw) {
215
215
  if (currentPlan >= totalPlans) {
216
216
  content = stateReplaceField(content, 'Status', 'Phase complete — ready for verification') || content;
217
217
  content = stateReplaceField(content, 'Last Activity', today) || content;
218
- node_fs_1.default.writeFileSync(statePath, content, 'utf-8');
218
+ await node_fs_1.promises.writeFile(statePath, content, 'utf-8');
219
219
  return (0, types_js_1.cmdOk)({ advanced: false, reason: 'last_plan', current_plan: currentPlan, total_plans: totalPlans, status: 'ready_for_verification' }, raw ? 'false' : undefined);
220
220
  }
221
221
  else {
@@ -223,16 +223,16 @@ function cmdStateAdvancePlan(cwd, raw) {
223
223
  content = stateReplaceField(content, 'Current Plan', String(newPlan)) || content;
224
224
  content = stateReplaceField(content, 'Status', 'Ready to execute') || content;
225
225
  content = stateReplaceField(content, 'Last Activity', today) || content;
226
- node_fs_1.default.writeFileSync(statePath, content, 'utf-8');
226
+ await node_fs_1.promises.writeFile(statePath, content, 'utf-8');
227
227
  return (0, types_js_1.cmdOk)({ advanced: true, previous_plan: currentPlan, current_plan: newPlan, total_plans: totalPlans }, raw ? 'true' : undefined);
228
228
  }
229
229
  }
230
- function cmdStateRecordMetric(cwd, options, raw) {
230
+ async function cmdStateRecordMetric(cwd, options, raw) {
231
231
  const statePath = (0, core_js_1.statePath)(cwd);
232
- if (!node_fs_1.default.existsSync(statePath)) {
232
+ if (!(await (0, core_js_1.pathExistsAsync)(statePath))) {
233
233
  return (0, types_js_1.cmdOk)({ error: 'STATE.md not found' });
234
234
  }
235
- let content = node_fs_1.default.readFileSync(statePath, 'utf-8');
235
+ let content = await node_fs_1.promises.readFile(statePath, 'utf-8');
236
236
  const { phase, plan, duration, tasks, files } = options;
237
237
  if (!phase || !plan || !duration) {
238
238
  return (0, types_js_1.cmdOk)({ error: 'phase, plan, and duration required' });
@@ -250,29 +250,35 @@ function cmdStateRecordMetric(cwd, options, raw) {
250
250
  tableBody = tableBody + '\n' + newRow;
251
251
  }
252
252
  content = content.replace(metricsPattern, (_match, header) => `${header}${tableBody}\n`);
253
- node_fs_1.default.writeFileSync(statePath, content, 'utf-8');
253
+ await node_fs_1.promises.writeFile(statePath, content, 'utf-8');
254
254
  return (0, types_js_1.cmdOk)({ recorded: true, phase, plan, duration }, raw ? 'true' : undefined);
255
255
  }
256
256
  else {
257
257
  return (0, types_js_1.cmdOk)({ recorded: false, reason: 'Performance Metrics section not found in STATE.md' }, raw ? 'false' : undefined);
258
258
  }
259
259
  }
260
- function cmdStateUpdateProgress(cwd, raw) {
260
+ async function cmdStateUpdateProgress(cwd, raw) {
261
261
  const statePath = (0, core_js_1.statePath)(cwd);
262
- if (!node_fs_1.default.existsSync(statePath)) {
262
+ if (!(await (0, core_js_1.pathExistsAsync)(statePath))) {
263
263
  return (0, types_js_1.cmdOk)({ error: 'STATE.md not found' });
264
264
  }
265
- let content = node_fs_1.default.readFileSync(statePath, 'utf-8');
265
+ let content = await node_fs_1.promises.readFile(statePath, 'utf-8');
266
266
  const phasesDir = (0, core_js_1.phasesPath)(cwd);
267
267
  let totalPlans = 0;
268
268
  let totalSummaries = 0;
269
- if (node_fs_1.default.existsSync(phasesDir)) {
270
- const phaseDirs = node_fs_1.default.readdirSync(phasesDir, { withFileTypes: true })
269
+ if (await (0, core_js_1.pathExistsAsync)(phasesDir)) {
270
+ const phaseDirs = (await node_fs_1.promises.readdir(phasesDir, { withFileTypes: true }))
271
271
  .filter(e => e.isDirectory()).map(e => e.name);
272
- for (const dir of phaseDirs) {
273
- const files = node_fs_1.default.readdirSync(node_path_1.default.join(phasesDir, dir));
274
- totalPlans += files.filter(f => (0, core_js_1.isPlanFile)(f)).length;
275
- totalSummaries += files.filter(f => (0, core_js_1.isSummaryFile)(f)).length;
272
+ const counts = await Promise.all(phaseDirs.map(async (dir) => {
273
+ const files = await node_fs_1.promises.readdir(node_path_1.default.join(phasesDir, dir));
274
+ return {
275
+ plans: files.filter(f => (0, core_js_1.isPlanFile)(f)).length,
276
+ summaries: files.filter(f => (0, core_js_1.isSummaryFile)(f)).length,
277
+ };
278
+ }));
279
+ for (const c of counts) {
280
+ totalPlans += c.plans;
281
+ totalSummaries += c.summaries;
276
282
  }
277
283
  }
278
284
  const percent = totalPlans > 0 ? Math.min(100, Math.round(totalSummaries / totalPlans * 100)) : 0;
@@ -282,24 +288,24 @@ function cmdStateUpdateProgress(cwd, raw) {
282
288
  const progressStr = `[${bar}] ${percent}%`;
283
289
  const result = stateReplaceField(content, 'Progress', progressStr);
284
290
  if (result) {
285
- node_fs_1.default.writeFileSync(statePath, result, 'utf-8');
291
+ await node_fs_1.promises.writeFile(statePath, result, 'utf-8');
286
292
  return (0, types_js_1.cmdOk)({ updated: true, percent, completed: totalSummaries, total: totalPlans, bar: progressStr }, raw ? progressStr : undefined);
287
293
  }
288
294
  else {
289
295
  return (0, types_js_1.cmdOk)({ updated: false, reason: 'Progress field not found in STATE.md' }, raw ? 'false' : undefined);
290
296
  }
291
297
  }
292
- function cmdStateAddDecision(cwd, options, raw) {
298
+ async function cmdStateAddDecision(cwd, options, raw) {
293
299
  const statePath = (0, core_js_1.statePath)(cwd);
294
- if (!node_fs_1.default.existsSync(statePath)) {
300
+ if (!(await (0, core_js_1.pathExistsAsync)(statePath))) {
295
301
  return (0, types_js_1.cmdOk)({ error: 'STATE.md not found' });
296
302
  }
297
303
  const { phase, summary, summary_file, rationale, rationale_file } = options;
298
304
  let summaryText;
299
305
  let rationaleText = '';
300
306
  try {
301
- summaryText = readTextArgOrFile(cwd, summary, summary_file, 'summary');
302
- rationaleText = readTextArgOrFile(cwd, rationale || '', rationale_file, 'rationale') || '';
307
+ summaryText = await readTextArgOrFile(cwd, summary, summary_file, 'summary');
308
+ rationaleText = (await readTextArgOrFile(cwd, rationale || '', rationale_file, 'rationale')) || '';
303
309
  }
304
310
  catch (thrown) {
305
311
  const e = thrown;
@@ -308,27 +314,27 @@ function cmdStateAddDecision(cwd, options, raw) {
308
314
  if (!summaryText) {
309
315
  return (0, types_js_1.cmdOk)({ error: 'summary required' });
310
316
  }
311
- const content = node_fs_1.default.readFileSync(statePath, 'utf-8');
317
+ const content = await node_fs_1.promises.readFile(statePath, 'utf-8');
312
318
  const entry = `- [Phase ${phase || '?'}]: ${summaryText}${rationaleText ? ` — ${rationaleText}` : ''}`;
313
319
  const sectionPattern = /(###?\s*(?:Decisions|Decisions Made|Accumulated.*Decisions)\s*\n)([\s\S]*?)(?=\n###?|\n##[^#]|$)/i;
314
320
  const updated = appendToStateSection(content, sectionPattern, entry, [/None yet\.?\s*\n?/gi, /No decisions yet\.?\s*\n?/gi]);
315
321
  if (updated) {
316
- node_fs_1.default.writeFileSync(statePath, updated, 'utf-8');
322
+ await node_fs_1.promises.writeFile(statePath, updated, 'utf-8');
317
323
  return (0, types_js_1.cmdOk)({ added: true, decision: entry }, raw ? 'true' : undefined);
318
324
  }
319
325
  else {
320
326
  return (0, types_js_1.cmdOk)({ added: false, reason: 'Decisions section not found in STATE.md' }, raw ? 'false' : undefined);
321
327
  }
322
328
  }
323
- function cmdStateAddBlocker(cwd, text, raw) {
329
+ async function cmdStateAddBlocker(cwd, text, raw) {
324
330
  const statePath = (0, core_js_1.statePath)(cwd);
325
- if (!node_fs_1.default.existsSync(statePath)) {
331
+ if (!(await (0, core_js_1.pathExistsAsync)(statePath))) {
326
332
  return (0, types_js_1.cmdOk)({ error: 'STATE.md not found' });
327
333
  }
328
334
  const blockerOptions = typeof text === 'object' && text !== null ? text : { text: text };
329
335
  let blockerText;
330
336
  try {
331
- blockerText = readTextArgOrFile(cwd, blockerOptions.text, blockerOptions.text_file, 'blocker');
337
+ blockerText = await readTextArgOrFile(cwd, blockerOptions.text, blockerOptions.text_file, 'blocker');
332
338
  }
333
339
  catch (thrown) {
334
340
  const e = thrown;
@@ -337,27 +343,27 @@ function cmdStateAddBlocker(cwd, text, raw) {
337
343
  if (!blockerText) {
338
344
  return (0, types_js_1.cmdOk)({ error: 'text required' });
339
345
  }
340
- const content = node_fs_1.default.readFileSync(statePath, 'utf-8');
346
+ const content = await node_fs_1.promises.readFile(statePath, 'utf-8');
341
347
  const entry = `- ${blockerText}`;
342
348
  const sectionPattern = /(###?\s*(?:Blockers|Blockers\/Concerns|Concerns)\s*\n)([\s\S]*?)(?=\n###?|\n##[^#]|$)/i;
343
349
  const updated = appendToStateSection(content, sectionPattern, entry, [/None\.?\s*\n?/gi, /None yet\.?\s*\n?/gi]);
344
350
  if (updated) {
345
- node_fs_1.default.writeFileSync(statePath, updated, 'utf-8');
351
+ await node_fs_1.promises.writeFile(statePath, updated, 'utf-8');
346
352
  return (0, types_js_1.cmdOk)({ added: true, blocker: blockerText }, raw ? 'true' : undefined);
347
353
  }
348
354
  else {
349
355
  return (0, types_js_1.cmdOk)({ added: false, reason: 'Blockers section not found in STATE.md' }, raw ? 'false' : undefined);
350
356
  }
351
357
  }
352
- function cmdStateResolveBlocker(cwd, text, raw) {
358
+ async function cmdStateResolveBlocker(cwd, text, raw) {
353
359
  const statePath = (0, core_js_1.statePath)(cwd);
354
- if (!node_fs_1.default.existsSync(statePath)) {
360
+ if (!(await (0, core_js_1.pathExistsAsync)(statePath))) {
355
361
  return (0, types_js_1.cmdOk)({ error: 'STATE.md not found' });
356
362
  }
357
363
  if (!text) {
358
364
  return (0, types_js_1.cmdOk)({ error: 'text required' });
359
365
  }
360
- let content = node_fs_1.default.readFileSync(statePath, 'utf-8');
366
+ let content = await node_fs_1.promises.readFile(statePath, 'utf-8');
361
367
  const sectionPattern = /(#{2,3}\s*(?:Blockers|Blockers\/Concerns|Concerns)\s*\n\s*\n?)([\s\S]*?)(?=\n#{2,3}\s|$)/i;
362
368
  const match = content.match(sectionPattern);
363
369
  if (match) {
@@ -374,19 +380,19 @@ function cmdStateResolveBlocker(cwd, text, raw) {
374
380
  newBody = 'None\n';
375
381
  }
376
382
  content = content.replace(sectionPattern, (_match, header) => `${header}${newBody}`);
377
- node_fs_1.default.writeFileSync(statePath, content, 'utf-8');
383
+ await node_fs_1.promises.writeFile(statePath, content, 'utf-8');
378
384
  return (0, types_js_1.cmdOk)({ resolved: true, blocker: text }, raw ? 'true' : undefined);
379
385
  }
380
386
  else {
381
387
  return (0, types_js_1.cmdOk)({ resolved: false, reason: 'Blockers section not found in STATE.md' }, raw ? 'false' : undefined);
382
388
  }
383
389
  }
384
- function cmdStateRecordSession(cwd, options, raw) {
390
+ async function cmdStateRecordSession(cwd, options, raw) {
385
391
  const statePath = (0, core_js_1.statePath)(cwd);
386
- if (!node_fs_1.default.existsSync(statePath)) {
392
+ if (!(await (0, core_js_1.pathExistsAsync)(statePath))) {
387
393
  return (0, types_js_1.cmdOk)({ error: 'STATE.md not found' });
388
394
  }
389
- let content = node_fs_1.default.readFileSync(statePath, 'utf-8');
395
+ let content = await node_fs_1.promises.readFile(statePath, 'utf-8');
390
396
  const now = new Date().toISOString();
391
397
  const updated = [];
392
398
  let result = stateReplaceField(content, 'Last session', now);
@@ -417,19 +423,19 @@ function cmdStateRecordSession(cwd, options, raw) {
417
423
  updated.push('Resume File');
418
424
  }
419
425
  if (updated.length > 0) {
420
- node_fs_1.default.writeFileSync(statePath, content, 'utf-8');
426
+ await node_fs_1.promises.writeFile(statePath, content, 'utf-8');
421
427
  return (0, types_js_1.cmdOk)({ recorded: true, updated }, raw ? 'true' : undefined);
422
428
  }
423
429
  else {
424
430
  return (0, types_js_1.cmdOk)({ recorded: false, reason: 'No session fields found in STATE.md' }, raw ? 'false' : undefined);
425
431
  }
426
432
  }
427
- function cmdStateSnapshot(cwd, raw) {
433
+ async function cmdStateSnapshot(cwd, raw) {
428
434
  const statePath = (0, core_js_1.statePath)(cwd);
429
- if (!node_fs_1.default.existsSync(statePath)) {
435
+ if (!(await (0, core_js_1.pathExistsAsync)(statePath))) {
430
436
  return (0, types_js_1.cmdOk)({ error: 'STATE.md not found' });
431
437
  }
432
- const content = node_fs_1.default.readFileSync(statePath, 'utf-8');
438
+ const content = await node_fs_1.promises.readFile(statePath, 'utf-8');
433
439
  const extractField = (fieldName) => stateExtractField(content, fieldName);
434
440
  const currentPhase = extractField('Current Phase');
435
441
  const currentPhaseName = extractField('Current Phase Name');
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}