zelari-code 1.44.0 → 1.45.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/dist/cli/headless.js
CHANGED
|
@@ -27,6 +27,7 @@ object per line) or as plain text (just the assistant message text).
|
|
|
27
27
|
|
|
28
28
|
Options:
|
|
29
29
|
--task <text> Task prompt (required)
|
|
30
|
+
--task-file <path> Same as --task but read from a file (avoids Windows argv cap)
|
|
30
31
|
--output json|plain Output format (default: json)
|
|
31
32
|
--mode kraken|council|zelari Dispatch mode (default: kraken; agent=alias)
|
|
32
33
|
--council Alias for --mode council
|
|
@@ -38,6 +39,7 @@ Options:
|
|
|
38
39
|
--once Trigger mode: single cycle + lockfile (for cron/git hooks)
|
|
39
40
|
--kraken-graph <goal> Plan + execute a Kraken task graph instead of --task
|
|
40
41
|
(mutually exclusive with --task; ZELARI_KRAKEN_GRAPH=0 disables)
|
|
42
|
+
--kraken-graph-file <path> Same as --kraken-graph but read from a file
|
|
41
43
|
|
|
42
44
|
Exit codes:
|
|
43
45
|
0 completed
|
|
@@ -91,6 +93,25 @@ export function parseHeadlessFlags(argv) {
|
|
|
91
93
|
task = argv[i + 1];
|
|
92
94
|
i++;
|
|
93
95
|
}
|
|
96
|
+
else if (arg === '--task-file') {
|
|
97
|
+
// File-backed variant of --task: the desktop spills long prompts to
|
|
98
|
+
// a temp file because Windows CreateProcess caps the command line at
|
|
99
|
+
// ~32KB (os error 206) and a long first message overflows it.
|
|
100
|
+
// Unreadable/empty file leaves `task` undefined so the validation
|
|
101
|
+
// below reports "requires --task" instead of a silent empty run.
|
|
102
|
+
const next = argv[i + 1];
|
|
103
|
+
if (next) {
|
|
104
|
+
try {
|
|
105
|
+
const fromFile = readFileSync(next, 'utf-8');
|
|
106
|
+
if (fromFile.trim())
|
|
107
|
+
task = fromFile;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// Missing/unreadable — validation below handles it.
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
i++;
|
|
114
|
+
}
|
|
94
115
|
else if (arg === '--council') {
|
|
95
116
|
councilFlag = true;
|
|
96
117
|
}
|
|
@@ -222,6 +243,22 @@ export function parseHeadlessFlags(argv) {
|
|
|
222
243
|
krakenGraph = argv[i + 1];
|
|
223
244
|
i++;
|
|
224
245
|
}
|
|
246
|
+
else if (arg === '--kraken-graph-file') {
|
|
247
|
+
// File-backed variant of --kraken-graph (same Windows argv cap as
|
|
248
|
+
// --task-file). Last flag wins, mirroring --task/--task-file.
|
|
249
|
+
const next = argv[i + 1];
|
|
250
|
+
if (next) {
|
|
251
|
+
try {
|
|
252
|
+
const fromFile = readFileSync(next, 'utf-8');
|
|
253
|
+
if (fromFile.trim())
|
|
254
|
+
krakenGraph = fromFile;
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
// Missing/unreadable — leave as-is.
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
i++;
|
|
261
|
+
}
|
|
225
262
|
else if (arg === '--plan-only') {
|
|
226
263
|
planOnly = true;
|
|
227
264
|
}
|
package/dist/cli/headless.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../../src/cli/headless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAqFvC,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../../src/cli/headless.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* parseHeadlessFlags tests — --task-file / --kraken-graph-file slices.
|
|
3
|
+
*
|
|
4
|
+
* Covers the Windows argv-cap workaround (os error 206): the desktop
|
|
5
|
+
* spills long prompts to a temp file and the CLI must read the task
|
|
6
|
+
* from it exactly like the inline --task flag.
|
|
7
|
+
*
|
|
8
|
+
* @since v1.44.0
|
|
9
|
+
*/
|
|
10
|
+
import { describe, it, expect, afterEach } from 'vitest';
|
|
11
|
+
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
12
|
+
import { tmpdir } from 'node:os';
|
|
13
|
+
import { join } from 'node:path';
|
|
14
|
+
import { parseHeadlessFlags } from './headless.js';
|
|
15
|
+
const dirs = [];
|
|
16
|
+
function tmpFile(content) {
|
|
17
|
+
const dir = mkdtempSync(join(tmpdir(), 'zelari-headless-test-'));
|
|
18
|
+
dirs.push(dir);
|
|
19
|
+
const p = join(dir, 'task.txt');
|
|
20
|
+
writeFileSync(p, content, 'utf-8');
|
|
21
|
+
return p;
|
|
22
|
+
}
|
|
23
|
+
afterEach(() => {
|
|
24
|
+
while (dirs.length) {
|
|
25
|
+
rmSync(dirs.pop(), { recursive: true, force: true });
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
describe('parseHeadlessFlags --task-file', () => {
|
|
29
|
+
it('reads the task prompt from a file (argv-cap workaround)', () => {
|
|
30
|
+
const p = tmpFile('Refactor the workspace plan store and verify tests');
|
|
31
|
+
const res = parseHeadlessFlags(['--headless', '--task-file', p]);
|
|
32
|
+
expect(res.options).not.toBeNull();
|
|
33
|
+
expect(res.options?.task).toBe('Refactor the workspace plan store and verify tests');
|
|
34
|
+
expect(res.error).toBeUndefined();
|
|
35
|
+
});
|
|
36
|
+
it('inline --task wins over a previous --task-file (last flag wins)', () => {
|
|
37
|
+
const p = tmpFile('from file');
|
|
38
|
+
const res = parseHeadlessFlags([
|
|
39
|
+
'--headless',
|
|
40
|
+
'--task-file',
|
|
41
|
+
p,
|
|
42
|
+
'--task',
|
|
43
|
+
'inline wins',
|
|
44
|
+
]);
|
|
45
|
+
expect(res.options?.task).toBe('inline wins');
|
|
46
|
+
});
|
|
47
|
+
it('missing file leaves task undefined → clear validation error', () => {
|
|
48
|
+
const res = parseHeadlessFlags([
|
|
49
|
+
'--headless',
|
|
50
|
+
'--task-file',
|
|
51
|
+
'Z:/definitely/not/here/task.txt',
|
|
52
|
+
]);
|
|
53
|
+
expect(res.options).toBeNull();
|
|
54
|
+
expect(res.error).toMatch(/requires --task/);
|
|
55
|
+
});
|
|
56
|
+
it('empty file also degrades to the validation error', () => {
|
|
57
|
+
const p = tmpFile(' ');
|
|
58
|
+
const res = parseHeadlessFlags(['--headless', '--task-file', p]);
|
|
59
|
+
expect(res.options).toBeNull();
|
|
60
|
+
expect(res.error).toMatch(/requires --task/);
|
|
61
|
+
});
|
|
62
|
+
it('still mutually exclusive with --kraken-graph', () => {
|
|
63
|
+
const p = tmpFile('do the graph thing');
|
|
64
|
+
const res = parseHeadlessFlags([
|
|
65
|
+
'--headless',
|
|
66
|
+
'--task-file',
|
|
67
|
+
p,
|
|
68
|
+
'--kraken-graph',
|
|
69
|
+
'goal',
|
|
70
|
+
]);
|
|
71
|
+
expect(res.options).toBeNull();
|
|
72
|
+
expect(res.error).toMatch(/mutually exclusive/);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe('parseHeadlessFlags --kraken-graph-file', () => {
|
|
76
|
+
it('reads the graph goal from a file', () => {
|
|
77
|
+
const p = tmpFile('Plan + execute the release DAG');
|
|
78
|
+
const res = parseHeadlessFlags(['--headless', '--kraken-graph-file', p]);
|
|
79
|
+
expect(res.options).not.toBeNull();
|
|
80
|
+
expect(res.options?.krakenGraph).toBe('Plan + execute the release DAG');
|
|
81
|
+
});
|
|
82
|
+
it('inline --kraken-graph wins over a previous --kraken-graph-file', () => {
|
|
83
|
+
const p = tmpFile('from file');
|
|
84
|
+
const res = parseHeadlessFlags([
|
|
85
|
+
'--headless',
|
|
86
|
+
'--kraken-graph-file',
|
|
87
|
+
p,
|
|
88
|
+
'--kraken-graph',
|
|
89
|
+
'inline goal',
|
|
90
|
+
]);
|
|
91
|
+
expect(res.options?.krakenGraph).toBe('inline goal');
|
|
92
|
+
});
|
|
93
|
+
it('mutually exclusive with --task-file as well', () => {
|
|
94
|
+
const a = tmpFile('task a');
|
|
95
|
+
const b = tmpFile('graph b');
|
|
96
|
+
const res = parseHeadlessFlags([
|
|
97
|
+
'--headless',
|
|
98
|
+
'--task-file',
|
|
99
|
+
a,
|
|
100
|
+
'--kraken-graph-file',
|
|
101
|
+
b,
|
|
102
|
+
]);
|
|
103
|
+
expect(res.options).toBeNull();
|
|
104
|
+
expect(res.error).toMatch(/mutually exclusive/);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=headless.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headless.test.js","sourceRoot":"","sources":["../../src/cli/headless.test.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.bundled.js
CHANGED
|
@@ -55711,6 +55711,16 @@ function parseHeadlessFlags(argv) {
|
|
|
55711
55711
|
} else if (arg === "--task") {
|
|
55712
55712
|
task = argv[i + 1];
|
|
55713
55713
|
i++;
|
|
55714
|
+
} else if (arg === "--task-file") {
|
|
55715
|
+
const next = argv[i + 1];
|
|
55716
|
+
if (next) {
|
|
55717
|
+
try {
|
|
55718
|
+
const fromFile = readFileSync37(next, "utf-8");
|
|
55719
|
+
if (fromFile.trim()) task = fromFile;
|
|
55720
|
+
} catch {
|
|
55721
|
+
}
|
|
55722
|
+
}
|
|
55723
|
+
i++;
|
|
55714
55724
|
} else if (arg === "--council") {
|
|
55715
55725
|
councilFlag = true;
|
|
55716
55726
|
} else if (arg === "--mode") {
|
|
@@ -55805,6 +55815,16 @@ function parseHeadlessFlags(argv) {
|
|
|
55805
55815
|
} else if (arg === "--kraken-graph") {
|
|
55806
55816
|
krakenGraph = argv[i + 1];
|
|
55807
55817
|
i++;
|
|
55818
|
+
} else if (arg === "--kraken-graph-file") {
|
|
55819
|
+
const next = argv[i + 1];
|
|
55820
|
+
if (next) {
|
|
55821
|
+
try {
|
|
55822
|
+
const fromFile = readFileSync37(next, "utf-8");
|
|
55823
|
+
if (fromFile.trim()) krakenGraph = fromFile;
|
|
55824
|
+
} catch {
|
|
55825
|
+
}
|
|
55826
|
+
}
|
|
55827
|
+
i++;
|
|
55808
55828
|
} else if (arg === "--plan-only") {
|
|
55809
55829
|
planOnly = true;
|
|
55810
55830
|
} else if (arg === "--run-plan") {
|