zelari-code 1.14.4 → 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.
- package/README.md +3 -1
- package/dist/cli/app.js +8 -1
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/components/StatusBar.js +5 -1
- package/dist/cli/components/StatusBar.js.map +1 -1
- package/dist/cli/councilDispatcher.js +3 -0
- package/dist/cli/councilDispatcher.js.map +1 -1
- package/dist/cli/hooks/chatStats.js +20 -2
- package/dist/cli/hooks/chatStats.js.map +1 -1
- package/dist/cli/hooks/conversationContext.js +5 -2
- package/dist/cli/hooks/conversationContext.js.map +1 -1
- package/dist/cli/hooks/historyCompaction.js +8 -1
- package/dist/cli/hooks/historyCompaction.js.map +1 -1
- package/dist/cli/hooks/useChatTurn.js +236 -60
- package/dist/cli/hooks/useChatTurn.js.map +1 -1
- package/dist/cli/hooks/useSlashDispatch.js +42 -0
- package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
- package/dist/cli/main.bundled.js +2797 -863
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/main.js +47 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/mcp/mcpManager.js +27 -6
- package/dist/cli/mcp/mcpManager.js.map +1 -1
- package/dist/cli/mcp/mcpPresets.js +77 -0
- package/dist/cli/mcp/mcpPresets.js.map +1 -0
- package/dist/cli/memory/fileBackend.js +11 -2
- package/dist/cli/memory/fileBackend.js.map +1 -1
- package/dist/cli/runHeadless.js +61 -4
- package/dist/cli/runHeadless.js.map +1 -1
- package/dist/cli/slashCommands.js +54 -1
- package/dist/cli/slashCommands.js.map +1 -1
- package/dist/cli/slashHandlers/cache.js +28 -0
- package/dist/cli/slashHandlers/cache.js.map +1 -0
- package/dist/cli/slashHandlers/state.js +83 -0
- package/dist/cli/slashHandlers/state.js.map +1 -0
- package/dist/cli/state/commitHelpers.js +62 -0
- package/dist/cli/state/commitHelpers.js.map +1 -0
- package/dist/cli/state/fileStateStore.js +262 -0
- package/dist/cli/state/fileStateStore.js.map +1 -0
- package/dist/cli/state/promptCacheStats.js +56 -0
- package/dist/cli/state/promptCacheStats.js.map +1 -0
- package/dist/cli/state/restoreState.js +70 -0
- package/dist/cli/state/restoreState.js.map +1 -0
- package/dist/cli/toolRegistry.js +22 -0
- package/dist/cli/toolRegistry.js.map +1 -1
- package/dist/cli/tools/askUser.js +71 -0
- package/dist/cli/tools/askUser.js.map +1 -0
- package/dist/cli/utils/doctor.js +19 -0
- package/dist/cli/utils/doctor.js.map +1 -1
- package/dist/cli/workspace/composeContext.js +210 -0
- package/dist/cli/workspace/composeContext.js.map +1 -0
- package/dist/cli/workspace/workspaceSummary.js +58 -31
- package/dist/cli/workspace/workspaceSummary.js.map +1 -1
- package/dist/cli/workspace/worldModel.js +331 -0
- package/dist/cli/workspace/worldModel.js.map +1 -0
- package/dist/cli/zelariMission.js +135 -18
- package/dist/cli/zelariMission.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* worldModel — Schema-inspired lightweight task world model (P0/P1).
|
|
3
|
+
*
|
|
4
|
+
* Persists under `<cwd>/.zelari/world/`:
|
|
5
|
+
* hypothesis.md — working theory (notes.md analogue)
|
|
6
|
+
* checks.json — certifiable checks for run_backtest
|
|
7
|
+
* timeline.jsonl — append-only observations (optional ground truth)
|
|
8
|
+
*
|
|
9
|
+
* Kill switch: ZELARI_SCHEMA_LOOP=0 disables tool registration.
|
|
10
|
+
*
|
|
11
|
+
* Inspired by https://schema-harness.github.io/ — adapted for coding agents
|
|
12
|
+
* (no ARC grid; certify via shell checks + hypothesis files).
|
|
13
|
+
*/
|
|
14
|
+
import { promises as fs } from 'node:fs';
|
|
15
|
+
import path from 'node:path';
|
|
16
|
+
import { spawn } from 'node:child_process';
|
|
17
|
+
import { z } from 'zod';
|
|
18
|
+
import { typedOk, typedErr, } from '@zelari/core/harness/tools/toolTypes';
|
|
19
|
+
export const WORLD_DIR_NAME = path.join('.zelari', 'world');
|
|
20
|
+
export const HYPOTHESIS_FILE = 'hypothesis.md';
|
|
21
|
+
export const CHECKS_FILE = 'checks.json';
|
|
22
|
+
export const TIMELINE_FILE = 'timeline.jsonl';
|
|
23
|
+
function worldDir(cwd) {
|
|
24
|
+
return path.join(cwd, WORLD_DIR_NAME);
|
|
25
|
+
}
|
|
26
|
+
async function ensureWorldDir(cwd) {
|
|
27
|
+
const dir = worldDir(cwd);
|
|
28
|
+
await fs.mkdir(dir, { recursive: true });
|
|
29
|
+
return dir;
|
|
30
|
+
}
|
|
31
|
+
async function appendTimeline(cwd, entry) {
|
|
32
|
+
const dir = await ensureWorldDir(cwd);
|
|
33
|
+
const line = JSON.stringify({ ts: new Date().toISOString(), ...entry }) + '\n';
|
|
34
|
+
await fs.appendFile(path.join(dir, TIMELINE_FILE), line, 'utf8');
|
|
35
|
+
}
|
|
36
|
+
async function readChecks(cwd) {
|
|
37
|
+
const p = path.join(worldDir(cwd), CHECKS_FILE);
|
|
38
|
+
try {
|
|
39
|
+
const raw = await fs.readFile(p, 'utf8');
|
|
40
|
+
const parsed = JSON.parse(raw);
|
|
41
|
+
return Array.isArray(parsed.checks) ? parsed.checks : [];
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function runShell(command, cwd, timeoutMs, signal) {
|
|
48
|
+
return new Promise((resolve) => {
|
|
49
|
+
const isWin = process.platform === 'win32';
|
|
50
|
+
const child = spawn(isWin ? 'cmd.exe' : '/bin/sh', isWin ? ['/c', command] : ['-c', command], {
|
|
51
|
+
cwd,
|
|
52
|
+
env: process.env,
|
|
53
|
+
windowsHide: true,
|
|
54
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
55
|
+
});
|
|
56
|
+
let stdout = '';
|
|
57
|
+
let stderr = '';
|
|
58
|
+
let settled = false;
|
|
59
|
+
const finish = (exitCode) => {
|
|
60
|
+
if (settled)
|
|
61
|
+
return;
|
|
62
|
+
settled = true;
|
|
63
|
+
resolve({ exitCode, stdout, stderr });
|
|
64
|
+
};
|
|
65
|
+
const timer = setTimeout(() => {
|
|
66
|
+
try {
|
|
67
|
+
child.kill('SIGTERM');
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
/* ignore */
|
|
71
|
+
}
|
|
72
|
+
finish(124);
|
|
73
|
+
}, timeoutMs);
|
|
74
|
+
if (signal) {
|
|
75
|
+
if (signal.aborted) {
|
|
76
|
+
try {
|
|
77
|
+
child.kill('SIGTERM');
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
/* ignore */
|
|
81
|
+
}
|
|
82
|
+
clearTimeout(timer);
|
|
83
|
+
finish(130);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
signal.addEventListener('abort', () => {
|
|
87
|
+
try {
|
|
88
|
+
child.kill('SIGTERM');
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
/* ignore */
|
|
92
|
+
}
|
|
93
|
+
clearTimeout(timer);
|
|
94
|
+
finish(130);
|
|
95
|
+
}, { once: true });
|
|
96
|
+
}
|
|
97
|
+
child.stdout?.on('data', (d) => {
|
|
98
|
+
stdout += d.toString('utf8');
|
|
99
|
+
if (stdout.length > 32_000)
|
|
100
|
+
stdout = stdout.slice(0, 32_000);
|
|
101
|
+
});
|
|
102
|
+
child.stderr?.on('data', (d) => {
|
|
103
|
+
stderr += d.toString('utf8');
|
|
104
|
+
if (stderr.length > 32_000)
|
|
105
|
+
stderr = stderr.slice(0, 32_000);
|
|
106
|
+
});
|
|
107
|
+
child.on('error', () => {
|
|
108
|
+
clearTimeout(timer);
|
|
109
|
+
finish(1);
|
|
110
|
+
});
|
|
111
|
+
child.on('close', (code) => {
|
|
112
|
+
clearTimeout(timer);
|
|
113
|
+
finish(code ?? 1);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
export async function runBacktest(cwd, signal) {
|
|
118
|
+
const checksPath = path.join(worldDir(cwd), CHECKS_FILE);
|
|
119
|
+
const hypothesisPath = path.join(worldDir(cwd), HYPOTHESIS_FILE);
|
|
120
|
+
const checks = await readChecks(cwd);
|
|
121
|
+
if (checks.length === 0) {
|
|
122
|
+
return {
|
|
123
|
+
ok: false,
|
|
124
|
+
passed: 0,
|
|
125
|
+
failed: 0,
|
|
126
|
+
total: 0,
|
|
127
|
+
results: [],
|
|
128
|
+
hypothesisPath,
|
|
129
|
+
checksPath,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
const results = [];
|
|
133
|
+
for (const c of checks) {
|
|
134
|
+
const expectExit = c.expectExit ?? 0;
|
|
135
|
+
const timeoutMs = c.timeoutMs ?? 120_000;
|
|
136
|
+
const start = Date.now();
|
|
137
|
+
const { exitCode, stdout, stderr } = await runShell(c.command, cwd, timeoutMs, signal);
|
|
138
|
+
const combined = `${stdout}${stderr}`;
|
|
139
|
+
const preview = combined.slice(0, 400);
|
|
140
|
+
let ok = exitCode === expectExit;
|
|
141
|
+
let mismatch;
|
|
142
|
+
if (!ok) {
|
|
143
|
+
mismatch = `exit ${exitCode} (expected ${expectExit})`;
|
|
144
|
+
}
|
|
145
|
+
else if (c.expectStdoutIncludes && !combined.includes(c.expectStdoutIncludes)) {
|
|
146
|
+
ok = false;
|
|
147
|
+
mismatch = `stdout missing substring: ${c.expectStdoutIncludes}`;
|
|
148
|
+
}
|
|
149
|
+
results.push({
|
|
150
|
+
id: c.id,
|
|
151
|
+
command: c.command,
|
|
152
|
+
ok,
|
|
153
|
+
exitCode,
|
|
154
|
+
expectExit,
|
|
155
|
+
durationMs: Date.now() - start,
|
|
156
|
+
stdoutPreview: preview,
|
|
157
|
+
...(mismatch ? { mismatch } : {}),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
const passed = results.filter((r) => r.ok).length;
|
|
161
|
+
const failed = results.length - passed;
|
|
162
|
+
const summary = {
|
|
163
|
+
ok: failed === 0 && results.length > 0,
|
|
164
|
+
passed,
|
|
165
|
+
failed,
|
|
166
|
+
total: results.length,
|
|
167
|
+
results,
|
|
168
|
+
hypothesisPath,
|
|
169
|
+
checksPath,
|
|
170
|
+
};
|
|
171
|
+
await appendTimeline(cwd, { kind: 'backtest', ok: summary.ok, passed, failed, total: results.length });
|
|
172
|
+
return summary;
|
|
173
|
+
}
|
|
174
|
+
// ─── Tools ─────────────────────────────────────────────────────────────
|
|
175
|
+
const UpdateHypothesisSchema = z.object({
|
|
176
|
+
content: z.string().min(1).describe('Full markdown hypothesis / working notes (replaces file).'),
|
|
177
|
+
append: z
|
|
178
|
+
.boolean()
|
|
179
|
+
.optional()
|
|
180
|
+
.describe('If true, append content under a timestamp instead of replacing.'),
|
|
181
|
+
});
|
|
182
|
+
export const updateWorldHypothesisTool = {
|
|
183
|
+
name: 'update_world_hypothesis',
|
|
184
|
+
description: 'Write or append the task world-model hypothesis (Schema-style notes.md) to ' +
|
|
185
|
+
'.zelari/world/hypothesis.md. Use this to record what you believe is true ' +
|
|
186
|
+
'about the bug/system, competing hypotheses, and what experiment would discriminate them. ' +
|
|
187
|
+
'Do NOT claim work is done until run_backtest is green.',
|
|
188
|
+
permissions: ['write'],
|
|
189
|
+
timeoutMs: 10_000,
|
|
190
|
+
inputSchema: UpdateHypothesisSchema,
|
|
191
|
+
execute: async (args, ctx) => {
|
|
192
|
+
try {
|
|
193
|
+
const dir = await ensureWorldDir(ctx.cwd);
|
|
194
|
+
const file = path.join(dir, HYPOTHESIS_FILE);
|
|
195
|
+
if (args.append) {
|
|
196
|
+
const block = `\n\n## ${new Date().toISOString()}\n\n${args.content}\n`;
|
|
197
|
+
await fs.appendFile(file, block, 'utf8');
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
await fs.writeFile(file, args.content, 'utf8');
|
|
201
|
+
}
|
|
202
|
+
const st = await fs.stat(file);
|
|
203
|
+
await appendTimeline(ctx.cwd, { kind: 'hypothesis_update', bytes: st.size, append: !!args.append });
|
|
204
|
+
return typedOk({ path: file, bytes: st.size });
|
|
205
|
+
}
|
|
206
|
+
catch (err) {
|
|
207
|
+
return typedErr(err instanceof Error ? err.message : String(err));
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
const WorldCheckSchema = z.object({
|
|
212
|
+
id: z.string().min(1),
|
|
213
|
+
command: z.string().min(1),
|
|
214
|
+
expectExit: z.number().int().optional(),
|
|
215
|
+
expectStdoutIncludes: z.string().optional(),
|
|
216
|
+
timeoutMs: z.number().int().positive().max(600_000).optional(),
|
|
217
|
+
});
|
|
218
|
+
const SetChecksSchema = z.object({
|
|
219
|
+
checks: z
|
|
220
|
+
.array(WorldCheckSchema)
|
|
221
|
+
.min(1)
|
|
222
|
+
.describe('List of certifiable shell checks (typecheck, unit tests, smoke scripts).'),
|
|
223
|
+
});
|
|
224
|
+
export const setWorldChecksTool = {
|
|
225
|
+
name: 'set_world_checks',
|
|
226
|
+
description: 'Replace .zelari/world/checks.json with certifiable checks used by run_backtest. ' +
|
|
227
|
+
'Each check is a shell command + expected exit code (default 0). Prefer fast, ' +
|
|
228
|
+
'deterministic commands (npm run typecheck, npx vitest run path/to/file).',
|
|
229
|
+
permissions: ['write'],
|
|
230
|
+
timeoutMs: 10_000,
|
|
231
|
+
inputSchema: SetChecksSchema,
|
|
232
|
+
execute: async (args, ctx) => {
|
|
233
|
+
try {
|
|
234
|
+
const dir = await ensureWorldDir(ctx.cwd);
|
|
235
|
+
const file = path.join(dir, CHECKS_FILE);
|
|
236
|
+
const body = { checks: args.checks };
|
|
237
|
+
await fs.writeFile(file, JSON.stringify(body, null, 2) + '\n', 'utf8');
|
|
238
|
+
await appendTimeline(ctx.cwd, { kind: 'checks_set', count: args.checks.length });
|
|
239
|
+
return typedOk({ path: file, count: args.checks.length });
|
|
240
|
+
}
|
|
241
|
+
catch (err) {
|
|
242
|
+
return typedErr(err instanceof Error ? err.message : String(err));
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
};
|
|
246
|
+
const RunBacktestSchema = z.object({
|
|
247
|
+
/** Reserved for future selective runs. */
|
|
248
|
+
dryRun: z.boolean().optional(),
|
|
249
|
+
});
|
|
250
|
+
export const runBacktestTool = {
|
|
251
|
+
name: 'run_backtest',
|
|
252
|
+
description: 'Schema-style certify: run every check in .zelari/world/checks.json and report ' +
|
|
253
|
+
'exact pass/fail (exit code + optional stdout substring). Appends a timeline entry. ' +
|
|
254
|
+
'If total=0, call set_world_checks first. NEVER claim the task is done when ok=false. ' +
|
|
255
|
+
'On mismatch, revise hypothesis (update_world_hypothesis) and the implementation, then re-run.',
|
|
256
|
+
permissions: ['execute'],
|
|
257
|
+
timeoutMs: 600_000,
|
|
258
|
+
inputSchema: RunBacktestSchema,
|
|
259
|
+
execute: async (args, ctx) => {
|
|
260
|
+
try {
|
|
261
|
+
if (args.dryRun) {
|
|
262
|
+
const checks = await readChecks(ctx.cwd);
|
|
263
|
+
return typedOk({
|
|
264
|
+
ok: false,
|
|
265
|
+
passed: 0,
|
|
266
|
+
failed: 0,
|
|
267
|
+
total: checks.length,
|
|
268
|
+
results: checks.map((c) => ({
|
|
269
|
+
id: c.id,
|
|
270
|
+
command: c.command,
|
|
271
|
+
ok: false,
|
|
272
|
+
exitCode: -1,
|
|
273
|
+
expectExit: c.expectExit ?? 0,
|
|
274
|
+
durationMs: 0,
|
|
275
|
+
stdoutPreview: '(dryRun)',
|
|
276
|
+
mismatch: 'dryRun',
|
|
277
|
+
})),
|
|
278
|
+
hypothesisPath: path.join(worldDir(ctx.cwd), HYPOTHESIS_FILE),
|
|
279
|
+
checksPath: path.join(worldDir(ctx.cwd), CHECKS_FILE),
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
const result = await runBacktest(ctx.cwd, ctx.signal);
|
|
283
|
+
return typedOk(result);
|
|
284
|
+
}
|
|
285
|
+
catch (err) {
|
|
286
|
+
return typedErr(err instanceof Error ? err.message : String(err));
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
};
|
|
290
|
+
const RecordObsSchema = z.object({
|
|
291
|
+
kind: z.string().min(1).describe('Observation kind, e.g. surprise, probe, prediction_mismatch.'),
|
|
292
|
+
summary: z.string().min(1),
|
|
293
|
+
data: z.record(z.string(), z.unknown()).optional(),
|
|
294
|
+
});
|
|
295
|
+
export const recordWorldObservationTool = {
|
|
296
|
+
name: 'record_world_observation',
|
|
297
|
+
description: 'Append one ground-truth observation to .zelari/world/timeline.jsonl (Schema timeline). ' +
|
|
298
|
+
'Use after a surprising tool result (prediction mismatch, unexpected exit code, wrong path) ' +
|
|
299
|
+
'so later deliberation cannot rewrite history.',
|
|
300
|
+
permissions: ['write'],
|
|
301
|
+
timeoutMs: 5_000,
|
|
302
|
+
inputSchema: RecordObsSchema,
|
|
303
|
+
execute: async (args, ctx) => {
|
|
304
|
+
try {
|
|
305
|
+
const dir = await ensureWorldDir(ctx.cwd);
|
|
306
|
+
const file = path.join(dir, TIMELINE_FILE);
|
|
307
|
+
await appendTimeline(ctx.cwd, {
|
|
308
|
+
kind: args.kind,
|
|
309
|
+
summary: args.summary,
|
|
310
|
+
...(args.data ? { data: args.data } : {}),
|
|
311
|
+
});
|
|
312
|
+
return typedOk({ path: file });
|
|
313
|
+
}
|
|
314
|
+
catch (err) {
|
|
315
|
+
return typedErr(err instanceof Error ? err.message : String(err));
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
};
|
|
319
|
+
/** All world-model tools (omit when ZELARI_SCHEMA_LOOP=0). */
|
|
320
|
+
export function createWorldModelTools() {
|
|
321
|
+
if (process.env['ZELARI_SCHEMA_LOOP'] === '0')
|
|
322
|
+
return [];
|
|
323
|
+
// Cast: ToolDefinition is invariant on input; registry accepts heterogeneous tools.
|
|
324
|
+
return [
|
|
325
|
+
updateWorldHypothesisTool,
|
|
326
|
+
setWorldChecksTool,
|
|
327
|
+
runBacktestTool,
|
|
328
|
+
recordWorldObservationTool,
|
|
329
|
+
];
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=worldModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worldModel.js","sourceRoot":"","sources":["../../../src/cli/workspace/worldModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,14 @@ import { promises as fs } from 'node:fs';
|
|
|
15
15
|
import * as path from 'node:path';
|
|
16
16
|
import { formatMemoryHits } from './memory/fileBackend.js';
|
|
17
17
|
import { createCheckpoint } from './checkpoint/checkpointManager.js';
|
|
18
|
-
|
|
18
|
+
import { getStateStore } from './state/fileStateStore.js';
|
|
19
|
+
import { discoveriesFromOutcome, tryStateCommit } from './state/commitHelpers.js';
|
|
20
|
+
/**
|
|
21
|
+
* Default budget for **implementation** slices only.
|
|
22
|
+
* Design-phase (when the brief asks for it) is free and does not consume this.
|
|
23
|
+
* Override via `ZELARI_MISSION_MAX_ITER`.
|
|
24
|
+
*/
|
|
25
|
+
const DEFAULT_MAX_ITER = 6;
|
|
19
26
|
const DEFAULT_MAX_STALL = 2;
|
|
20
27
|
export function resolveMaxIterations(env = process.env) {
|
|
21
28
|
const raw = env.ZELARI_MISSION_MAX_ITER;
|
|
@@ -106,12 +113,21 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
106
113
|
};
|
|
107
114
|
await deps.memory.init(deps.projectRoot);
|
|
108
115
|
await writeMissionState(deps.projectRoot, state);
|
|
116
|
+
const stateStore = deps.stateStore ?? (await getStateStore(deps.projectRoot, deps.env ?? process.env));
|
|
117
|
+
try {
|
|
118
|
+
await stateStore.init(deps.projectRoot);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
// fail-open
|
|
122
|
+
}
|
|
109
123
|
// Safety net: snapshot the working tree before the mission mutates files,
|
|
110
124
|
// so a bad run can be rolled back atomically (opt out: ZELARI_CHECKPOINT=0).
|
|
111
125
|
// Best-effort — a non-git project or a git hiccup just skips the checkpoint.
|
|
126
|
+
let missionCheckpointId;
|
|
112
127
|
if ((deps.env ?? process.env).ZELARI_CHECKPOINT !== '0') {
|
|
113
128
|
const cp = await createCheckpoint(deps.projectRoot, `zelari mission ${missionId}`);
|
|
114
129
|
if (cp.ok) {
|
|
130
|
+
missionCheckpointId = cp.value.id;
|
|
115
131
|
deps.emit(`[zelari] checkpoint ${cp.value.id} creato — se la missione va storta ripristina con \`/rollback ${cp.value.id}\`.`);
|
|
116
132
|
}
|
|
117
133
|
}
|
|
@@ -119,41 +135,141 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
119
135
|
// Consecutive implementation iterations that wrote 0 project files. Reset on
|
|
120
136
|
// any real write. Drives the `stalled` early-out (see resolveMaxStall).
|
|
121
137
|
let noWriteStreak = 0;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
138
|
+
// Wall-clock step counter (design + impl) for state.iteration / logging.
|
|
139
|
+
let step = 0;
|
|
140
|
+
// Implementation slices only — this is what maxIter budgets.
|
|
141
|
+
let implStep = 0;
|
|
142
|
+
// One free design-phase pass when the brief asks for it (does not burn budget).
|
|
143
|
+
let pendingDesign = designFirst;
|
|
144
|
+
while (true) {
|
|
145
|
+
const runMode = pendingDesign ? 'design-phase' : 'implementation';
|
|
146
|
+
if (runMode === 'implementation') {
|
|
147
|
+
if (implStep >= maxIter)
|
|
148
|
+
break;
|
|
149
|
+
implStep++;
|
|
150
|
+
}
|
|
151
|
+
step++;
|
|
152
|
+
state.iteration = step;
|
|
125
153
|
const hits = await deps.memory.search(`${brief.deliverableThisMission} ${userMessage}`, {
|
|
126
154
|
limit: 8,
|
|
127
155
|
metadataFilter: { projectRoot: deps.projectRoot },
|
|
128
156
|
});
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
157
|
+
// Memory (soft RAG) + durable HEAD materialization (verified + progress).
|
|
158
|
+
// lastGoodCommitId is retained for resume/oracle; next-slice context uses HEAD
|
|
159
|
+
// so progress soft-commits are visible immediately.
|
|
160
|
+
let durableBlock = '';
|
|
161
|
+
try {
|
|
162
|
+
durableBlock = await stateStore.materializeContext();
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
durableBlock = '';
|
|
166
|
+
}
|
|
167
|
+
const memBlock = formatMemoryHits(hits);
|
|
168
|
+
const ragContext = [durableBlock, memBlock].filter(Boolean).join('\n\n');
|
|
169
|
+
// buildSlicePrompt uses iteration>1 for "fix remaining failures" — that
|
|
170
|
+
// should track implementation attempts, not free design steps.
|
|
171
|
+
const promptIter = runMode === 'implementation' ? implStep : 1;
|
|
172
|
+
const slicePrompt = buildSlicePrompt(brief, userMessage, runMode, promptIter);
|
|
173
|
+
const implementerRetry = runMode === 'implementation' && implStep > 1;
|
|
174
|
+
if (runMode === 'design-phase') {
|
|
175
|
+
deps.emit(`[zelari] design-phase (fuori budget) · step ${step} · slice ${brief.sliceMvp.id}`);
|
|
176
|
+
}
|
|
177
|
+
else if (implementerRetry) {
|
|
178
|
+
deps.emit(`[zelari] implementazione ${implStep}/${maxIter} · step ${step} · ` +
|
|
179
|
+
`roster ridotto (Minosse+Lucifero) · slice ${brief.sliceMvp.id}`);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
deps.emit(`[zelari] implementazione ${implStep}/${maxIter} · step ${step} · ` +
|
|
183
|
+
`council completo · slice ${brief.sliceMvp.id}`);
|
|
184
|
+
}
|
|
132
185
|
let result;
|
|
133
186
|
try {
|
|
134
|
-
result = await deps.runSlice({
|
|
187
|
+
result = await deps.runSlice({
|
|
188
|
+
userMessage: slicePrompt,
|
|
189
|
+
runMode,
|
|
190
|
+
ragContext,
|
|
191
|
+
iteration: step,
|
|
192
|
+
implementationIndex: runMode === 'implementation' ? implStep : undefined,
|
|
193
|
+
implementerRetry,
|
|
194
|
+
});
|
|
135
195
|
}
|
|
136
196
|
catch (err) {
|
|
137
197
|
state.status = 'error';
|
|
138
198
|
state.updatedAt = now().toISOString();
|
|
139
199
|
await writeMissionState(deps.projectRoot, state);
|
|
140
|
-
deps.emit(`[zelari] errore
|
|
200
|
+
deps.emit(`[zelari] errore allo step ${step}: ${err instanceof Error ? err.message : String(err)}`);
|
|
141
201
|
return state;
|
|
142
202
|
}
|
|
143
203
|
await deps.memory.add(JSON.stringify({
|
|
144
|
-
iteration:
|
|
204
|
+
iteration: step,
|
|
205
|
+
implStep: runMode === 'implementation' ? implStep : 0,
|
|
145
206
|
runMode,
|
|
146
207
|
completionOk: result.completionOk,
|
|
147
208
|
synthesis: result.synthesisText?.slice(0, 2000) ?? '',
|
|
148
|
-
}), {
|
|
209
|
+
}), {
|
|
210
|
+
projectRoot: deps.projectRoot,
|
|
211
|
+
missionId,
|
|
212
|
+
sliceId: brief.sliceMvp.id,
|
|
213
|
+
source: 'council',
|
|
214
|
+
iteration: step,
|
|
215
|
+
});
|
|
149
216
|
state.lastCompletionOk = result.completionOk;
|
|
150
217
|
state.updatedAt = now().toISOString();
|
|
151
|
-
//
|
|
152
|
-
|
|
153
|
-
|
|
218
|
+
// Design is free: clear the flag and continue into implementation budget.
|
|
219
|
+
if (runMode === 'design-phase') {
|
|
220
|
+
pendingDesign = false;
|
|
221
|
+
await writeMissionState(deps.projectRoot, state);
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
// Durable accumulation: verified success → hard commit; progress with
|
|
225
|
+
// writes → soft progress commit so the next slice inherits discoveries.
|
|
226
|
+
const wrote = typeof result.writeCount === 'number' && result.writeCount > 0;
|
|
227
|
+
if (result.completionOk || wrote) {
|
|
228
|
+
const hard = result.completionOk === true;
|
|
229
|
+
const commitRes = await tryStateCommit({
|
|
230
|
+
projectRoot: deps.projectRoot,
|
|
231
|
+
store: stateStore,
|
|
232
|
+
env: deps.env,
|
|
233
|
+
mode: 'zelari',
|
|
234
|
+
layer: hard
|
|
235
|
+
? `mission:impl-${implStep}`
|
|
236
|
+
: `mission:progress-${implStep}`,
|
|
237
|
+
label: hard
|
|
238
|
+
? `zelari ${brief.sliceMvp.id} impl ${implStep} verified`
|
|
239
|
+
: `zelari ${brief.sliceMvp.id} progress impl ${implStep}`,
|
|
240
|
+
sessionId: missionId,
|
|
241
|
+
verification: { ok: hard, ran: result.ran },
|
|
242
|
+
force: !hard,
|
|
243
|
+
withCheckpoint: hard,
|
|
244
|
+
discoveries: discoveriesFromOutcome({
|
|
245
|
+
stepId: `${missionId}-${step}`,
|
|
246
|
+
synthesis: result.synthesisText,
|
|
247
|
+
writeCount: result.writeCount,
|
|
248
|
+
note: hard
|
|
249
|
+
? `Implementation slice ${implStep} completed (verified)`
|
|
250
|
+
: `Progress slice ${implStep} (${result.writeCount} writes, not yet complete)`,
|
|
251
|
+
}),
|
|
252
|
+
});
|
|
253
|
+
if (commitRes.ok && commitRes.meta?.id) {
|
|
254
|
+
// Only advance lastGoodCommitId on verified commits (Palmer: oracle PASS).
|
|
255
|
+
if (hard) {
|
|
256
|
+
state.lastGoodCommitId = commitRes.meta.id;
|
|
257
|
+
if (commitRes.checkpointId) {
|
|
258
|
+
missionCheckpointId = commitRes.checkpointId;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
deps.emit(`[zelari] state commit ${commitRes.meta.id}` +
|
|
262
|
+
` (${hard ? 'verified' : 'progress'} layer mission:${hard ? 'impl' : 'progress'}-${implStep})`);
|
|
263
|
+
}
|
|
264
|
+
else if (commitRes.error) {
|
|
265
|
+
deps.emit(`[zelari] state commit skipped: ${commitRes.error}`);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
// Success only when an IMPLEMENTATION slice completes.
|
|
269
|
+
if (result.completionOk) {
|
|
154
270
|
state.status = 'success';
|
|
155
271
|
await writeMissionState(deps.projectRoot, state);
|
|
156
|
-
deps.emit(`[zelari] ✓ missione completata — slice MVP verde all'
|
|
272
|
+
deps.emit(`[zelari] ✓ missione completata — slice MVP verde all'implementazione ${implStep}/${maxIter} (step ${step}).`);
|
|
157
273
|
return state;
|
|
158
274
|
}
|
|
159
275
|
// Stall detection: an implementation slice that wrote 0 files made no
|
|
@@ -161,7 +277,7 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
161
277
|
// synthesis claims done but nothing is written). Bail early with an
|
|
162
278
|
// actionable message instead of burning the whole iteration budget on
|
|
163
279
|
// identical no-op runs. Only counts when the driver reports writeCount.
|
|
164
|
-
if (
|
|
280
|
+
if (typeof result.writeCount === 'number') {
|
|
165
281
|
if (result.writeCount === 0)
|
|
166
282
|
noWriteStreak++;
|
|
167
283
|
else
|
|
@@ -182,8 +298,9 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
182
298
|
state.status = 'stopped';
|
|
183
299
|
state.updatedAt = now().toISOString();
|
|
184
300
|
await writeMissionState(deps.projectRoot, state);
|
|
185
|
-
deps.emit(`[zelari] fermata dopo ${maxIter}
|
|
186
|
-
'
|
|
301
|
+
deps.emit(`[zelari] fermata dopo ${maxIter} implementazioni senza completamento verde` +
|
|
302
|
+
(designFirst ? ' (design-phase esclusa dal budget)' : '') +
|
|
303
|
+
'. Stato salvato in .zelari/mission-state.json');
|
|
187
304
|
return state;
|
|
188
305
|
}
|
|
189
306
|
//# sourceMappingURL=zelariMission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zelariMission.js","sourceRoot":"","sources":["../../src/cli/zelariMission.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zelariMission.js","sourceRoot":"","sources":["../../src/cli/zelariMission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA6ElF;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,UAAU,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACvE,MAAM,GAAG,GAAG,GAAG,CAAC,uBAAuB,CAAC;IACxC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,MAAM,GAAG,GAAG,GAAG,CAAC,wBAAwB,CAAC;IACzC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAC9D,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,kBAAkB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACrE,OAAO,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,WAAmB,EAAE,KAAmB;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EACpC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EACrC,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAmB,EACnB,WAAmB,EACnB,OAAuB,EACvB,SAAiB;IAEjB,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CACL,GAAG,WAAW,kEAAkE;YAChF,GAAG,KAAK,CAAC,sBAAsB,oCAAoC;YACnE,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,SAAS,CACzC,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GACP,SAAS,GAAG,CAAC;QACX,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,CACL,GAAG,WAAW,gDAAgD;QAC9D,GAAG,KAAK,CAAC,sBAAsB,IAAI,GAAG,GAAG;QACzC,iFAAiF;QACjF,gFAAgF;QAChF,oDAAoD,CACrD,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,MAAM,KAAK,GAAa;QACtB,wBAAwB;QACxB,kBAAkB,KAAK,CAAC,MAAM,EAAE;QAChC,kBAAkB,KAAK,CAAC,WAAW,EAAE;QACrC,kBAAkB,KAAK,CAAC,sBAAsB,EAAE;KACjD,CAAC;IACF,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,QAAQ,CAAC,KAAK,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,SAAS,CAAC,CAAC;IAC1F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAmB,EACnB,KAAmB,EACnB,IAAuB;IAEvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAiB;QAC1B,SAAS;QACT,UAAU,EAAE,WAAW;QACvB,KAAK;QACL,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;QACjC,MAAM,EAAE,SAAS;QACjB,gBAAgB,EAAE,KAAK;QACvB,SAAS;QACT,SAAS,EAAE,SAAS;KACrB,CAAC;IAEF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEjD,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,mBAAuC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,KAAK,GAAG,EAAE,CAAC;QACxD,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,SAAS,EAAE,CAAC,CAAC;QACnF,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACV,mBAAmB,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CACP,uBAAuB,EAAE,CAAC,KAAK,CAAC,EAAE,iEAAiE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CACpH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,cAAc,CAAC;IAE7D,6EAA6E;IAC7E,wEAAwE;IACxE,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,yEAAyE;IACzE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,6DAA6D;IAC7D,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,gFAAgF;IAChF,IAAI,aAAa,GAAG,WAAW,CAAC;IAEhC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAmB,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAClF,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACjC,IAAI,QAAQ,IAAI,OAAO;gBAAE,MAAM;YAC/B,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,IAAI,EAAE,CAAC;QACP,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAEvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,sBAAsB,IAAI,WAAW,EAAE,EAAE;YACtF,KAAK,EAAE,CAAC;YACR,cAAc,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAClD,CAAC,CAAC;QACH,0EAA0E;QAC1E,+EAA+E;QAC/E,oDAAoD;QACpD,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;QACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzE,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,UAAU,GAAG,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAE9E,MAAM,gBAAgB,GAAG,OAAO,KAAK,gBAAgB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEtE,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CACP,+CAA+C,IAAI,YAAY,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CACnF,CAAC;QACJ,CAAC;aAAM,IAAI,gBAAgB,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CACP,4BAA4B,QAAQ,IAAI,OAAO,WAAW,IAAI,KAAK;gBACjE,6CAA6C,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CACnE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CACP,4BAA4B,QAAQ,IAAI,OAAO,WAAW,IAAI,KAAK;gBACjE,4BAA4B,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAClD,CAAC;QACJ,CAAC;QAED,IAAI,MAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;gBAC3B,WAAW,EAAE,WAAW;gBACxB,OAAO;gBACP,UAAU;gBACV,SAAS,EAAE,IAAI;gBACf,mBAAmB,EAAE,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACxE,gBAAgB;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;YACvB,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CACP,6BAA6B,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACzF,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACnB,IAAI,CAAC,SAAS,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrD,OAAO;YACP,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE;SACtD,CAAC,EACF;YACE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;YAC1B,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;QAEF,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC;QAC7C,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAEtC,0EAA0E;QAC1E,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YAC/B,aAAa,GAAG,KAAK,CAAC;YACtB,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QAC7E,IAAI,MAAM,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;gBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,UAAU;gBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI;oBACT,CAAC,CAAC,gBAAgB,QAAQ,EAAE;oBAC5B,CAAC,CAAC,oBAAoB,QAAQ,EAAE;gBAClC,KAAK,EAAE,IAAI;oBACT,CAAC,CAAC,UAAU,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,QAAQ,WAAW;oBACzD,CAAC,CAAC,UAAU,KAAK,CAAC,QAAQ,CAAC,EAAE,kBAAkB,QAAQ,EAAE;gBAC3D,SAAS,EAAE,SAAS;gBACpB,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;gBAC3C,KAAK,EAAE,CAAC,IAAI;gBACZ,cAAc,EAAE,IAAI;gBACpB,WAAW,EAAE,sBAAsB,CAAC;oBAClC,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE;oBAC9B,SAAS,EAAE,MAAM,CAAC,aAAa;oBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,IAAI,EAAE,IAAI;wBACR,CAAC,CAAC,wBAAwB,QAAQ,uBAAuB;wBACzD,CAAC,CAAC,kBAAkB,QAAQ,KAAK,MAAM,CAAC,UAAU,4BAA4B;iBACjF,CAAC;aACH,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;gBACvC,2EAA2E;gBAC3E,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;wBAC3B,mBAAmB,GAAG,SAAS,CAAC,YAAY,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,IAAI,CACP,yBAAyB,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE;oBAC1C,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,kBAAkB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,QAAQ,GAAG,CACjG,CAAC;YACJ,CAAC;iBAAM,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,kCAAkC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YACzB,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CACP,wEAAwE,QAAQ,IAAI,OAAO,UAAU,IAAI,IAAI,CAC9G,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC;gBAAE,aAAa,EAAE,CAAC;;gBACxC,aAAa,GAAG,CAAC,CAAC;YAEvB,IAAI,QAAQ,GAAG,CAAC,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;gBAC9C,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;gBACzB,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACjD,IAAI,CAAC,IAAI,CACP,qBAAqB,aAAa,sCAAsC;oBACtE,qEAAqE;oBACrE,wEAAwE;oBACxE,6CAA6C,CAChD,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,CACP,yBAAyB,OAAO,4CAA4C;QAC1E,CAAC,WAAW,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,+CAA+C,CAClD,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zelari-code",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.17.0",
|
|
4
4
|
"description": "Zelari Code — AI Council coding agent CLI. Multi-agent orchestration (Caronte, Nettuno, Gerione, Plutone, Minosse, Lucifero) with slash commands, provider-agnostic LLM streaming, and self-update.",
|
|
5
5
|
"author": "Anathema Studio <https://anathema-studio.com/>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@testing-library/react": "^16.3.2",
|
|
53
|
-
"@zelari/core": "1.
|
|
53
|
+
"@zelari/core": "1.17.0",
|
|
54
54
|
"@types/node": "^25.3.0",
|
|
55
55
|
"@types/react": "^19.0.10",
|
|
56
56
|
"esbuild": "^0.25.0",
|