zelari-code 1.15.0 → 1.17.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 (56) hide show
  1. package/README.md +3 -1
  2. package/dist/cli/app.js +7 -1
  3. package/dist/cli/app.js.map +1 -1
  4. package/dist/cli/components/StatusBar.js +5 -1
  5. package/dist/cli/components/StatusBar.js.map +1 -1
  6. package/dist/cli/councilDispatcher.js +3 -0
  7. package/dist/cli/councilDispatcher.js.map +1 -1
  8. package/dist/cli/hooks/chatStats.js +20 -2
  9. package/dist/cli/hooks/chatStats.js.map +1 -1
  10. package/dist/cli/hooks/conversationContext.js +5 -2
  11. package/dist/cli/hooks/conversationContext.js.map +1 -1
  12. package/dist/cli/hooks/historyCompaction.js +8 -1
  13. package/dist/cli/hooks/historyCompaction.js.map +1 -1
  14. package/dist/cli/hooks/useChatTurn.js +236 -60
  15. package/dist/cli/hooks/useChatTurn.js.map +1 -1
  16. package/dist/cli/hooks/useSlashDispatch.js +42 -0
  17. package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
  18. package/dist/cli/main.bundled.js +2385 -846
  19. package/dist/cli/main.bundled.js.map +4 -4
  20. package/dist/cli/main.js +47 -0
  21. package/dist/cli/main.js.map +1 -1
  22. package/dist/cli/mcp/mcpManager.js +11 -1
  23. package/dist/cli/mcp/mcpManager.js.map +1 -1
  24. package/dist/cli/mcp/mcpPresets.js +77 -0
  25. package/dist/cli/mcp/mcpPresets.js.map +1 -0
  26. package/dist/cli/memory/fileBackend.js +11 -2
  27. package/dist/cli/memory/fileBackend.js.map +1 -1
  28. package/dist/cli/runHeadless.js +61 -4
  29. package/dist/cli/runHeadless.js.map +1 -1
  30. package/dist/cli/slashCommands.js +54 -1
  31. package/dist/cli/slashCommands.js.map +1 -1
  32. package/dist/cli/slashHandlers/cache.js +28 -0
  33. package/dist/cli/slashHandlers/cache.js.map +1 -0
  34. package/dist/cli/slashHandlers/state.js +83 -0
  35. package/dist/cli/slashHandlers/state.js.map +1 -0
  36. package/dist/cli/state/commitHelpers.js +62 -0
  37. package/dist/cli/state/commitHelpers.js.map +1 -0
  38. package/dist/cli/state/fileStateStore.js +262 -0
  39. package/dist/cli/state/fileStateStore.js.map +1 -0
  40. package/dist/cli/state/promptCacheStats.js +56 -0
  41. package/dist/cli/state/promptCacheStats.js.map +1 -0
  42. package/dist/cli/state/restoreState.js +70 -0
  43. package/dist/cli/state/restoreState.js.map +1 -0
  44. package/dist/cli/toolRegistry.js +8 -0
  45. package/dist/cli/toolRegistry.js.map +1 -1
  46. package/dist/cli/tools/askUser.js +71 -0
  47. package/dist/cli/tools/askUser.js.map +1 -0
  48. package/dist/cli/utils/doctor.js +19 -0
  49. package/dist/cli/utils/doctor.js.map +1 -1
  50. package/dist/cli/workspace/composeContext.js +210 -0
  51. package/dist/cli/workspace/composeContext.js.map +1 -0
  52. package/dist/cli/workspace/workspaceSummary.js +58 -31
  53. package/dist/cli/workspace/workspaceSummary.js.map +1 -1
  54. package/dist/cli/zelariMission.js +135 -18
  55. package/dist/cli/zelariMission.js.map +1 -1
  56. package/package.json +2 -2
@@ -73,7 +73,7 @@ export function handleSlashCommand(text, availableSkills) {
73
73
  kind: 'help',
74
74
  message: `Available commands:\n /login <provider> — authenticate with provider (grok, minimax, glm, custom)\n /model — pick the active model from a list (auto-discovers, v0.7.10)\n /model <name> — switch the active model directly\n /model show — print the current model\n /models — list discovered models for the active provider (v3-U)\n /models refresh (or /discover) — re-discover models for the active provider\n /provider — pick the active provider from a list (v0.7.10)\n /provider <name> — switch the active provider directly\n /provider custom <baseUrl> — point the active provider at a self-hosted endpoint (Ollama, LM Studio, vLLM, ...)\n /provider custom clear — clear the custom endpoint override\n /skill <name> [input] — invoke a skill (autocomplete with /skill <TAB>)\n /skill-stats [name] — show invocation stats (success rate, avg duration, total tokens)\n /council <input> — invoke the multi-agent council on input\n /zelari <input> — run an autonomous mission (multi-run council until the MVP slice is complete)\n /council-feedback <memberId> <1-5> [note] — rate a council member for future ranking (Task I.2)
75
75
  /promote-member <memberId> — promote a council member to a standalone skill (v3-K)
76
- /update [--yes|-y] — check for zelari-code updates; --yes performs the update (v3-N)\n /plugins — list optional tool plugins (Playwright, eslint, ruff, LSP servers)\n /plugins install <id> — install a plugin now (e.g. /plugins install eslint)\n /steer <text> — enqueue a follow-up prompt on the active run (Task 18.2)\n /steer --interrupt <text> — cancel current run + enqueue <text> for next dispatch (Task C.3.2)\n /compact — compact the session transcript\n /clear — clear the visible transcript (session is preserved)\n /sessions — list past sessions\n /resume <id> — load a past session\n /branch <name> — snapshot the current session into a new branch\n /branches — list branches\n /checkout <name> — switch the active branch\n /new — start a fresh session\n /diff [--staged] — show uncommitted changes (or staged with --staged)\n /undo [--yes] — revert working-tree changes (destructive! requires --yes)\n /checkpoint [label] — snapshot the working tree as a restore point\n /rollback [id|latest] — restore the working tree to a checkpoint (no arg: list)\n /index [status] — build the semantic code index for semantic_search\n /mode [agent|council|zelari] — switch dispatch mode (same as shift+tab; no arg cycles)\n /help — show this help\n /exit — exit the CLI\n\n${formatSkillList(availableSkills)}`,
76
+ /update [--yes|-y] — check for zelari-code updates; --yes performs the update (v3-N)\n /plugins — list optional tool plugins (Playwright, eslint, ruff, LSP servers)\n /plugins install <id> — install a plugin now (e.g. /plugins install eslint)\n /steer <text> — enqueue a follow-up prompt on the active run (Task 18.2)\n /steer --interrupt <text> — cancel current run + enqueue <text> for next dispatch (Task C.3.2)\n /compact — compact the session transcript\n /clear — clear the visible transcript (session is preserved)\n /sessions — list past sessions\n /resume <id> — load a past session\n /branch <name> — snapshot the current session into a new branch\n /branches — list branches\n /checkout <name> — switch the active branch\n /new — start a fresh session\n /diff [--staged] — show uncommitted changes (or staged with --staged)\n /undo [--yes] — revert working-tree changes (destructive! requires --yes)\n /checkpoint [label] — snapshot the working tree as a restore point\n /rollback [id|latest] — restore the working tree to a checkpoint (no arg: list)\n /state status — durable state HEAD + recent commits\n /state commit [label] — force a durable state commit (soft)\n /state show [id] — show discoveries for HEAD or commit id\n /state restore [id] [--no-tree] — set HEAD + optional git checkpoint restore\n /cache stats — prompt-cache hit rate, premium vs cached, stable busts\n /index [status] — build the semantic code index for semantic_search\n /mode [agent|council|zelari] — switch dispatch mode (same as shift+tab; no arg cycles)\n /help — show this help\n /exit — exit the CLI\n\n${formatSkillList(availableSkills)}`,
77
77
  };
78
78
  case 'exit':
79
79
  return { handled: true, kind: 'exit', message: 'Goodbye.' };
@@ -517,6 +517,59 @@ export function handleSlashCommand(text, availableSkills) {
517
517
  ...(label ? { checkpointLabel: label } : {}),
518
518
  };
519
519
  }
520
+ case 'state': {
521
+ // `/state` | `/state status` | `/state commit [label]` | `/state show [id]`
522
+ // `/state restore [id] [--no-tree]`
523
+ const sub = (args[0] ?? 'status').toLowerCase();
524
+ if (sub === 'status' || sub === '') {
525
+ return { handled: true, kind: 'state_status' };
526
+ }
527
+ if (sub === 'commit') {
528
+ const label = args.slice(1).join(' ').trim();
529
+ return {
530
+ handled: true,
531
+ kind: 'state_commit',
532
+ ...(label ? { stateArg: label } : {}),
533
+ };
534
+ }
535
+ if (sub === 'show') {
536
+ const id = args[1]?.trim();
537
+ return {
538
+ handled: true,
539
+ kind: 'state_show',
540
+ ...(id ? { stateArg: id } : {}),
541
+ };
542
+ }
543
+ if (sub === 'restore') {
544
+ const rest = args.slice(1);
545
+ const noTree = rest.some((a) => a === '--no-tree' || a === '-n');
546
+ const id = rest.find((a) => !a.startsWith('-'))?.trim();
547
+ return {
548
+ handled: true,
549
+ kind: 'state_restore',
550
+ ...(id ? { stateArg: id } : {}),
551
+ ...(noTree ? { stateNoTree: true } : {}),
552
+ };
553
+ }
554
+ return {
555
+ handled: true,
556
+ kind: 'state_usage',
557
+ message: 'Usage: /state status | /state commit [label] | /state show [id] | /state restore [id] [--no-tree]\n' +
558
+ 'Durable verified accumulation under .zelari/state/ (not memory RAG).',
559
+ };
560
+ }
561
+ case 'cache': {
562
+ // `/cache` | `/cache stats`
563
+ const sub = (args[0] ?? 'stats').toLowerCase();
564
+ if (sub === 'stats' || sub === '') {
565
+ return { handled: true, kind: 'cache_stats' };
566
+ }
567
+ return {
568
+ handled: true,
569
+ kind: 'cache_stats',
570
+ message: 'Usage: /cache stats — session prompt-cache hit rate and premium vs cached tokens.',
571
+ };
572
+ }
520
573
  case 'rollback': {
521
574
  // `/rollback` → list checkpoints
522
575
  // `/rollback <id>` → restore that checkpoint
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommands.js","sourceRoot":"","sources":["../../src/cli/slashCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashCommands.js","sourceRoot":"","sources":["../../src/cli/slashCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Slash handlers for prompt-cache stats (/cache stats).
3
+ */
4
+ import { appendSystem } from '../hooks/messageHelpers.js';
5
+ import { formatCacheStatsLine } from '../state/promptCacheStats.js';
6
+ export function handleCacheStats(ctx) {
7
+ const s = ctx.sessionStats;
8
+ if (!s || !(s.promptTokens || s.cachedTokens || s.totalTokens)) {
9
+ appendSystem(ctx.setMessages, '[cache] no session usage yet. Complete a model turn to see hit rate.\n' +
10
+ ' Tip: stable prompt (identity+tools) should stay byte-stable; workspace/plan is volatile.\n' +
11
+ ' Env: ZELARI_PROMPT_CACHE_TTL=1h|5m|auto (Anthropic path when available).');
12
+ return;
13
+ }
14
+ const stats = {
15
+ promptTokens: s.promptTokens ?? 0,
16
+ cachedTokens: s.cachedTokens ?? 0,
17
+ premiumTokens: s.premiumTokens ?? Math.max(0, (s.promptTokens ?? 0) - (s.cachedTokens ?? 0)),
18
+ hitRate: s.cacheHitRate ?? 0,
19
+ estimatedCostUsd: s.totalCostUsd ?? 0,
20
+ stableBustCount: s.stableBustCount ?? 0,
21
+ turns: 0,
22
+ };
23
+ const pct = stats.promptTokens > 0 ? Math.round(stats.hitRate * 100) : 0;
24
+ appendSystem(ctx.setMessages, `[cache] ${formatCacheStatsLine(stats)}\n` +
25
+ ` hit rate: ${pct}% · cost ~$${stats.estimatedCostUsd.toFixed(4)}\n` +
26
+ ` (OpenAI-compat: automatic prefix cache; keep system stable prefix free of plan/memory churn.)`);
27
+ }
28
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAgC,MAAM,8BAA8B,CAAC;AAgBlG,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;IAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/D,YAAY,CACV,GAAG,CAAC,WAAW,EACf,wEAAwE;YACtE,8FAA8F;YAC9F,4EAA4E,CAC/E,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAA4B;QACrC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;QACjC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;QACjC,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC5F,OAAO,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;QAC5B,gBAAgB,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;QACrC,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,CAAC;QACvC,KAAK,EAAE,CAAC;KACT,CAAC;IACF,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,YAAY,CACV,GAAG,CAAC,WAAW,EACf,WAAW,oBAAoB,CAAC,KAAK,CAAC,IAAI;QACxC,eAAe,GAAG,eAAe,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACtE,iGAAiG,CACpG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Slash handlers for durable state (/state status|commit|show|restore).
3
+ */
4
+ import { appendSystem } from '../hooks/messageHelpers.js';
5
+ import { getStateStore } from '../state/fileStateStore.js';
6
+ import { restoreDurableState } from '../state/restoreState.js';
7
+ function ago(ms) {
8
+ const s = Math.max(0, Math.round((Date.now() - ms) / 1000));
9
+ if (s < 60)
10
+ return `${s}s ago`;
11
+ if (s < 3600)
12
+ return `${Math.round(s / 60)}m ago`;
13
+ return `${Math.round(s / 3600)}h ago`;
14
+ }
15
+ export async function handleStateStatus(ctx) {
16
+ const store = await getStateStore(ctx.cwd);
17
+ const head = await store.head();
18
+ if (!head) {
19
+ appendSystem(ctx.setMessages, '[state] no durable commits yet. Run a verified Zelari slice or `/state commit [label]`.');
20
+ return;
21
+ }
22
+ const recent = await store.list(5);
23
+ const lines = recent.map((c, i) => {
24
+ const ver = c.verification.ran ? (c.verification.ok ? 'ok' : 'fail') : 'n/a';
25
+ return (` ${i === 0 ? '→' : ' '} ${c.id} ${ago(c.createdAt)} ${c.label}` +
26
+ ` ver=${ver}` +
27
+ (c.layer ? ` [${c.layer}]` : ''));
28
+ });
29
+ appendSystem(ctx.setMessages, `[state] HEAD ${head.id} · ${head.discoveryCount} discoveries · mode ${head.mode}\n` +
30
+ (head.workspaceCheckpointId
31
+ ? `linked checkpoint: ${head.workspaceCheckpointId}\n`
32
+ : '') +
33
+ lines.join('\n'));
34
+ }
35
+ export async function handleStateCommit(ctx, label) {
36
+ const store = await getStateStore(ctx.cwd);
37
+ try {
38
+ const meta = await store.commit({
39
+ mode: 'agent',
40
+ label: label?.trim() || 'manual state commit',
41
+ layer: 'manual',
42
+ verification: { ok: false, ran: false },
43
+ force: true,
44
+ discoveries: [
45
+ {
46
+ id: 'manual',
47
+ kind: 'note',
48
+ summary: label?.trim() || 'Manual durable state commit',
49
+ reusable: true,
50
+ },
51
+ ],
52
+ });
53
+ appendSystem(ctx.setMessages, `[state] ✓ commit ${meta.id} (“${meta.label}”) — soft/manual (verification not required).`);
54
+ }
55
+ catch (err) {
56
+ appendSystem(ctx.setMessages, `[state] ✗ ${err instanceof Error ? err.message : String(err)}`);
57
+ }
58
+ }
59
+ export async function handleStateShow(ctx, id) {
60
+ const store = await getStateStore(ctx.cwd);
61
+ const meta = id ? await store.get(id) : await store.head();
62
+ if (!meta) {
63
+ appendSystem(ctx.setMessages, id
64
+ ? `[state] commit ${id} not found.`
65
+ : '[state] no HEAD — nothing to show.');
66
+ return;
67
+ }
68
+ const text = await store.materializeContext(meta.id, 6_000);
69
+ appendSystem(ctx.setMessages, `[state] show ${meta.id}\n${text}`);
70
+ }
71
+ /**
72
+ * Point HEAD at a commit and restore the linked git working-tree checkpoint
73
+ * when present. Use `/state restore <id> --no-tree` to skip tree restore.
74
+ */
75
+ export async function handleStateRestore(ctx, id, opts) {
76
+ const res = await restoreDurableState({
77
+ projectRoot: ctx.cwd,
78
+ commitId: id,
79
+ restoreTree: opts?.restoreTree !== false,
80
+ });
81
+ appendSystem(ctx.setMessages, res.message);
82
+ }
83
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Shared helpers for durable state commits from mission / council paths.
3
+ * Fail-open: never throws to callers of tryCommit* helpers.
4
+ */
5
+ import { createCheckpoint } from '../checkpoint/checkpointManager.js';
6
+ import { getStateStore } from './fileStateStore.js';
7
+ /**
8
+ * Best-effort durable state commit. Returns ok:false on refuse/I/O — never throws.
9
+ */
10
+ export async function tryStateCommit(args) {
11
+ try {
12
+ const store = args.store ?? (await getStateStore(args.projectRoot, args.env));
13
+ let workspaceCheckpointId;
14
+ if (args.withCheckpoint && (args.env ?? process.env).ZELARI_CHECKPOINT !== '0') {
15
+ const cp = await createCheckpoint(args.projectRoot, `state ${args.layer ?? args.label}`.slice(0, 80));
16
+ if (cp.ok)
17
+ workspaceCheckpointId = cp.value.id;
18
+ }
19
+ const meta = await store.commit({
20
+ mode: args.mode,
21
+ label: args.label,
22
+ layer: args.layer,
23
+ sessionId: args.sessionId,
24
+ workspaceCheckpointId,
25
+ verification: args.verification,
26
+ changedPaths: args.changedPaths,
27
+ discoveries: args.discoveries,
28
+ force: args.force,
29
+ });
30
+ if (!meta.id)
31
+ return { ok: false, error: 'noop store', checkpointId: workspaceCheckpointId };
32
+ return { ok: true, meta, checkpointId: workspaceCheckpointId };
33
+ }
34
+ catch (err) {
35
+ return {
36
+ ok: false,
37
+ error: err instanceof Error ? err.message : String(err),
38
+ };
39
+ }
40
+ }
41
+ /** Build standard discoveries from a slice/council outcome. */
42
+ export function discoveriesFromOutcome(opts) {
43
+ const out = [];
44
+ if (opts.note || opts.synthesis) {
45
+ out.push({
46
+ id: `note-${opts.stepId}`,
47
+ kind: 'note',
48
+ summary: (opts.note || opts.synthesis || '').slice(0, 400),
49
+ reusable: true,
50
+ });
51
+ }
52
+ if (typeof opts.writeCount === 'number' && opts.writeCount > 0) {
53
+ out.push({
54
+ id: `writes-${opts.stepId}`,
55
+ kind: 'file_change',
56
+ summary: `${opts.writeCount} project file write(s)`,
57
+ reusable: true,
58
+ });
59
+ }
60
+ return out;
61
+ }
62
+ //# sourceMappingURL=commitHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitHelpers.js","sourceRoot":"","sources":["../../../src/cli/state/commitHelpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA0BpD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAmB;IACtD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,qBAAyC,CAAC;QAC9C,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,KAAK,GAAG,EAAE,CAAC;YAC/E,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAC/B,IAAI,CAAC,WAAW,EAChB,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CACjD,CAAC;YACF,IAAI,EAAE,CAAC,EAAE;gBAAE,qBAAqB,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,qBAAqB;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;QAC7F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,sBAAsB,CAAC,IAKtC;IACC,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC;YACP,EAAE,EAAE,QAAQ,IAAI,CAAC,MAAM,EAAE;YACzB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1D,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC;YACP,EAAE,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,wBAAwB;YACnD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,262 @@
1
+ /**
2
+ * File-backed DurableStateStore — verified layer accumulation under
3
+ * `<projectRoot>/.zelari/state/`.
4
+ *
5
+ * Layout:
6
+ * .zelari/state/HEAD.json
7
+ * .zelari/state/commits/<id>.json
8
+ * .zelari/state/artifacts/<id>/{summary.md,discoveries.json,verification.json}
9
+ * .zelari/state/index.jsonl
10
+ *
11
+ * Kill switch: ZELARI_STATE=0 → factory returns NoopDurableStateStore.
12
+ * Fail-open: getStateStore never throws; returns noop on init failure.
13
+ */
14
+ import { createHash, randomUUID } from 'node:crypto';
15
+ import { promises as fs } from 'node:fs';
16
+ import * as path from 'node:path';
17
+ const DEFAULT_MATERIALIZE_CHARS = 4_000;
18
+ function shortId() {
19
+ return randomUUID().replace(/-/g, '').slice(0, 12);
20
+ }
21
+ async function writeJsonAtomic(filePath, data) {
22
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
23
+ const tmp = `${filePath}.${process.pid}.${Date.now()}.tmp`;
24
+ await fs.writeFile(tmp, JSON.stringify(data, null, 2) + '\n', 'utf8');
25
+ await fs.rename(tmp, filePath);
26
+ }
27
+ async function readJsonFile(filePath) {
28
+ try {
29
+ const raw = await fs.readFile(filePath, 'utf8');
30
+ return JSON.parse(raw);
31
+ }
32
+ catch {
33
+ return null;
34
+ }
35
+ }
36
+ function defaultSummary(input, discoveries) {
37
+ if (input.summary?.trim())
38
+ return input.summary.trim();
39
+ const lines = [
40
+ `# ${input.label}`,
41
+ '',
42
+ `- mode: ${input.mode}`,
43
+ input.layer ? `- layer: ${input.layer}` : null,
44
+ `- verification: ran=${input.verification.ran} ok=${input.verification.ok}`,
45
+ '',
46
+ '## Discoveries',
47
+ ...discoveries.map((d) => `- [${d.kind}] ${d.summary}`),
48
+ ].filter((x) => x !== null);
49
+ return lines.join('\n');
50
+ }
51
+ export class FileDurableStateStore {
52
+ root = '';
53
+ stateDir = '';
54
+ commitsDir = '';
55
+ artifactsDir = '';
56
+ headPath = '';
57
+ indexPath = '';
58
+ async init(projectRoot) {
59
+ this.root = projectRoot;
60
+ this.stateDir = path.join(projectRoot, '.zelari', 'state');
61
+ this.commitsDir = path.join(this.stateDir, 'commits');
62
+ this.artifactsDir = path.join(this.stateDir, 'artifacts');
63
+ this.headPath = path.join(this.stateDir, 'HEAD.json');
64
+ this.indexPath = path.join(this.stateDir, 'index.jsonl');
65
+ await fs.mkdir(this.commitsDir, { recursive: true });
66
+ await fs.mkdir(this.artifactsDir, { recursive: true });
67
+ }
68
+ async commit(input) {
69
+ if (!input.force && input.verification.ran && !input.verification.ok) {
70
+ throw new Error('DurableStateStore.commit refused: verification ran and failed (pass force:true for soft commit)');
71
+ }
72
+ const discoveries = input.discoveries ?? [];
73
+ const parent = await this.head();
74
+ const id = shortId();
75
+ const artifactRel = path.join('artifacts', id);
76
+ const artifactAbs = path.join(this.artifactsDir, id);
77
+ await fs.mkdir(artifactAbs, { recursive: true });
78
+ const summary = defaultSummary(input, discoveries);
79
+ await fs.writeFile(path.join(artifactAbs, 'summary.md'), summary + '\n', 'utf8');
80
+ await writeJsonAtomic(path.join(artifactAbs, 'discoveries.json'), discoveries);
81
+ await writeJsonAtomic(path.join(artifactAbs, 'verification.json'), input.verification);
82
+ const meta = {
83
+ id,
84
+ parentId: parent?.id ?? null,
85
+ createdAt: Date.now(),
86
+ sessionId: input.sessionId,
87
+ mode: input.mode,
88
+ layer: input.layer,
89
+ label: input.label,
90
+ workspaceCheckpointId: input.workspaceCheckpointId,
91
+ verification: {
92
+ ...input.verification,
93
+ reportPath: input.verification.reportPath ??
94
+ path.join('.zelari', 'state', artifactRel, 'verification.json').replace(/\\/g, '/'),
95
+ },
96
+ changedPaths: input.changedPaths ?? [],
97
+ stablePromptHash: input.stablePromptHash,
98
+ discoveryCount: discoveries.length,
99
+ artifactDir: artifactRel.replace(/\\/g, '/'),
100
+ };
101
+ await writeJsonAtomic(path.join(this.commitsDir, `${id}.json`), meta);
102
+ await writeJsonAtomic(this.headPath, { id, updatedAt: meta.createdAt });
103
+ await fs.appendFile(this.indexPath, JSON.stringify({ id, createdAt: meta.createdAt, label: meta.label }) + '\n', 'utf8');
104
+ return stripStored(meta);
105
+ }
106
+ async head() {
107
+ const head = await readJsonFile(this.headPath);
108
+ if (!head?.id)
109
+ return null;
110
+ return this.get(head.id);
111
+ }
112
+ async get(id) {
113
+ const stored = await readJsonFile(path.join(this.commitsDir, `${id}.json`));
114
+ return stored ? stripStored(stored) : null;
115
+ }
116
+ async list(limit = 20) {
117
+ let raw;
118
+ try {
119
+ raw = await fs.readFile(this.indexPath, 'utf8');
120
+ }
121
+ catch {
122
+ return [];
123
+ }
124
+ const ids = [];
125
+ for (const line of raw.split('\n')) {
126
+ const t = line.trim();
127
+ if (!t)
128
+ continue;
129
+ try {
130
+ const row = JSON.parse(t);
131
+ if (row.id)
132
+ ids.push(row.id);
133
+ }
134
+ catch {
135
+ // skip corrupt
136
+ }
137
+ }
138
+ const slice = ids.slice(-Math.max(1, limit)).reverse();
139
+ const out = [];
140
+ for (const id of slice) {
141
+ const m = await this.get(id);
142
+ if (m)
143
+ out.push(m);
144
+ }
145
+ return out;
146
+ }
147
+ async setHead(id) {
148
+ const meta = await this.get(id);
149
+ if (!meta) {
150
+ throw new Error(`DurableStateStore.setHead: unknown commit ${id}`);
151
+ }
152
+ await writeJsonAtomic(this.headPath, { id, updatedAt: Date.now() });
153
+ return meta;
154
+ }
155
+ async loadDiscoveries(id) {
156
+ const meta = id ? await this.get(id) : await this.head();
157
+ if (!meta)
158
+ return [];
159
+ const stored = await readJsonFile(path.join(this.commitsDir, `${meta.id}.json`));
160
+ if (!stored?.artifactDir)
161
+ return [];
162
+ const discPath = path.join(this.stateDir, stored.artifactDir, 'discoveries.json');
163
+ return (await readJsonFile(discPath)) ?? [];
164
+ }
165
+ async materializeContext(id, maxChars = DEFAULT_MATERIALIZE_CHARS) {
166
+ const meta = id ? await this.get(id) : await this.head();
167
+ if (!meta)
168
+ return '';
169
+ const discoveries = await this.loadDiscoveries(meta.id);
170
+ const reusable = discoveries.filter((d) => d.reusable);
171
+ const lines = [
172
+ `# Durable State (commit ${meta.id}${meta.layer ? `, layer ${meta.layer}` : ''})`,
173
+ `label: ${meta.label}`,
174
+ `verification: ran=${meta.verification.ran} ok=${meta.verification.ok}`,
175
+ ];
176
+ if (meta.workspaceCheckpointId) {
177
+ lines.push(`workspaceCheckpoint: ${meta.workspaceCheckpointId}`);
178
+ }
179
+ if (reusable.length === 0 && discoveries.length === 0) {
180
+ lines.push('(no discoveries)');
181
+ }
182
+ else {
183
+ const list = reusable.length > 0 ? reusable : discoveries;
184
+ for (const d of list) {
185
+ const pathHint = d.paths?.length ? ` — ${d.paths.join(', ')}` : '';
186
+ lines.push(`- [${d.kind}] ${d.summary}${pathHint}`);
187
+ }
188
+ }
189
+ let text = lines.join('\n');
190
+ if (text.length > maxChars) {
191
+ text = text.slice(0, maxChars - 1) + '…';
192
+ }
193
+ return text;
194
+ }
195
+ async close() {
196
+ // nothing held open
197
+ }
198
+ }
199
+ function stripStored(s) {
200
+ const { artifactDir: _a, ...meta } = s;
201
+ return meta;
202
+ }
203
+ /** No-op store used when ZELARI_STATE=0 or init fails. */
204
+ export class NoopDurableStateStore {
205
+ async init() { }
206
+ async commit(input) {
207
+ return {
208
+ id: '',
209
+ parentId: null,
210
+ createdAt: Date.now(),
211
+ mode: input.mode,
212
+ label: input.label,
213
+ verification: input.verification,
214
+ changedPaths: input.changedPaths ?? [],
215
+ discoveryCount: input.discoveries?.length ?? 0,
216
+ };
217
+ }
218
+ async head() {
219
+ return null;
220
+ }
221
+ async get() {
222
+ return null;
223
+ }
224
+ async list() {
225
+ return [];
226
+ }
227
+ async setHead(id) {
228
+ throw new Error(`NoopDurableStateStore.setHead: state disabled (id=${id})`);
229
+ }
230
+ async loadDiscoveries() {
231
+ return [];
232
+ }
233
+ async materializeContext() {
234
+ return '';
235
+ }
236
+ async close() { }
237
+ }
238
+ /** True unless durable state has been explicitly disabled. */
239
+ export function isStateEnabled(env = process.env) {
240
+ return env.ZELARI_STATE !== '0';
241
+ }
242
+ /**
243
+ * Resolve and initialise the durable state store. Never throws — returns
244
+ * NoopDurableStateStore when disabled or when init fails.
245
+ */
246
+ export async function getStateStore(projectRoot, env = process.env) {
247
+ if (!isStateEnabled(env))
248
+ return new NoopDurableStateStore();
249
+ const store = new FileDurableStateStore();
250
+ try {
251
+ await store.init(projectRoot);
252
+ return store;
253
+ }
254
+ catch {
255
+ return new NoopDurableStateStore();
256
+ }
257
+ }
258
+ /** Stable SHA-256 hex of a prompt pack (for stablePromptHash / cache bust count). */
259
+ export function hashStablePrompt(stable) {
260
+ return createHash('sha256').update(stable, 'utf8').digest('hex').slice(0, 16);
261
+ }
262
+ //# sourceMappingURL=fileStateStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileStateStore.js","sourceRoot":"","sources":["../../../src/cli/state/fileStateStore.ts"],"names":[],"mappings":"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"}