zelari-code 1.23.0 → 1.25.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 -0
- package/bin/zelari-code.js +44 -12
- package/dist/cli/atMentions.js +179 -0
- package/dist/cli/atMentions.js.map +1 -0
- package/dist/cli/companion/config.js +172 -0
- package/dist/cli/companion/config.js.map +1 -0
- package/dist/cli/companion/runManager.js +250 -0
- package/dist/cli/companion/runManager.js.map +1 -0
- package/dist/cli/companion/serve.js +376 -0
- package/dist/cli/companion/serve.js.map +1 -0
- package/dist/cli/components/InputBar.js +1 -1
- package/dist/cli/components/InputBar.js.map +1 -1
- package/dist/cli/generateSkillFromUrl.js +236 -0
- package/dist/cli/generateSkillFromUrl.js.map +1 -0
- package/dist/cli/headless.js +6 -0
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/hooks/useSlashDispatch.js +19 -6
- package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
- package/dist/cli/main.bundled.js +2617 -769
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/main.js +155 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/missionSlice.js +19 -0
- package/dist/cli/missionSlice.js.map +1 -1
- package/dist/cli/provider/openai-compatible.js +164 -41
- package/dist/cli/provider/openai-compatible.js.map +1 -1
- package/dist/cli/runHeadless.js +33 -0
- package/dist/cli/runHeadless.js.map +1 -1
- package/dist/cli/skillCategories.js +15 -0
- package/dist/cli/skillCategories.js.map +1 -0
- package/dist/cli/skillConfigIo.js +285 -0
- package/dist/cli/skillConfigIo.js.map +1 -0
- package/dist/cli/slashCommands.js +14 -5
- package/dist/cli/slashCommands.js.map +1 -1
- package/dist/cli/slashHandlers/skills.js +30 -0
- package/dist/cli/slashHandlers/skills.js.map +1 -1
- package/dist/cli/traceStore.js +84 -0
- package/dist/cli/traceStore.js.map +1 -0
- package/dist/cli/triggerLock.js +79 -0
- package/dist/cli/triggerLock.js.map +1 -0
- package/dist/cli/zelariMission.js +77 -0
- package/dist/cli/zelariMission.js.map +1 -1
- package/dist/cli/zelariMission.test.js +44 -0
- package/dist/cli/zelariMission.test.js.map +1 -0
- package/package.json +4 -3
- package/scripts/start-companion-serve.ps1 +43 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* triggerLock — file-based lock for event-driven mission triggers (ADR-0014).
|
|
3
|
+
*
|
|
4
|
+
* Prevents two concurrent missions from running on the same repo. The lock
|
|
5
|
+
* is a simple JSON file at `.zelari/trigger.lock` containing the PID of the
|
|
6
|
+
* process that acquired it. On release (or SIGINT), the file is removed.
|
|
7
|
+
*
|
|
8
|
+
* Stale-lock recovery: if the PID in the lockfile is no longer alive
|
|
9
|
+
* (`process.kill(pid, 0)` throws ESRCH), the lock is stolen with a warning.
|
|
10
|
+
*/
|
|
11
|
+
import { promises as fs } from 'node:fs';
|
|
12
|
+
import * as path from 'node:path';
|
|
13
|
+
/** Default lockfile path. */
|
|
14
|
+
export function lockPath(projectRoot) {
|
|
15
|
+
return path.join(projectRoot, '.zelari', 'trigger.lock');
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Check whether a PID is still alive without sending a signal.
|
|
19
|
+
* Returns `false` if the process doesn't exist (ESRCH) or we lack
|
|
20
|
+
* permission (EPERM is treated as alive — the process exists but is
|
|
21
|
+
* owned by another user).
|
|
22
|
+
*/
|
|
23
|
+
function isPidAlive(pid) {
|
|
24
|
+
try {
|
|
25
|
+
process.kill(pid, 0);
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
const code = err.code;
|
|
30
|
+
// EPERM = process exists but we can't signal it → treat as alive
|
|
31
|
+
return code === 'EPERM';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Attempt to acquire the trigger lock. If the lock exists and the holding
|
|
36
|
+
* PID is still alive, returns `{ acquired: false }`. If the lock exists but
|
|
37
|
+
* the PID is dead (stale), the lock is stolen.
|
|
38
|
+
*
|
|
39
|
+
* Does NOT install signal handlers — the caller is responsible for calling
|
|
40
|
+
* {@link releaseLock} in a `finally` block or `SIGINT` handler.
|
|
41
|
+
*/
|
|
42
|
+
export async function acquireLock(projectRoot, now = () => new Date()) {
|
|
43
|
+
const lp = lockPath(projectRoot);
|
|
44
|
+
const dir = path.dirname(lp);
|
|
45
|
+
await fs.mkdir(dir, { recursive: true });
|
|
46
|
+
// Check for existing lock
|
|
47
|
+
try {
|
|
48
|
+
const raw = await fs.readFile(lp, 'utf8');
|
|
49
|
+
const existing = JSON.parse(raw);
|
|
50
|
+
if (existing.pid && isPidAlive(existing.pid)) {
|
|
51
|
+
return { acquired: false, heldBy: existing.pid, lockPath: lp };
|
|
52
|
+
}
|
|
53
|
+
// Stale lock — fall through to overwrite
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// No existing lock (or corrupt) — proceed
|
|
57
|
+
}
|
|
58
|
+
// Write our lock
|
|
59
|
+
const payload = {
|
|
60
|
+
pid: process.pid,
|
|
61
|
+
acquiredAt: now().toISOString(),
|
|
62
|
+
};
|
|
63
|
+
await fs.writeFile(lp, JSON.stringify(payload, null, 2) + '\n', 'utf8');
|
|
64
|
+
return { acquired: true, lockPath: lp };
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Release the lock by deleting the lockfile. Safe to call even if the lock
|
|
68
|
+
* was never acquired or was already removed (idempotent).
|
|
69
|
+
*/
|
|
70
|
+
export async function releaseLock(projectRoot) {
|
|
71
|
+
const lp = lockPath(projectRoot);
|
|
72
|
+
try {
|
|
73
|
+
await fs.unlink(lp);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// already gone — fine
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=triggerLock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triggerLock.js","sourceRoot":"","sources":["../../src/cli/triggerLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAelC,6BAA6B;AAC7B,MAAM,UAAU,QAAQ,CAAC,WAAmB;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,iEAAiE;QACjE,OAAO,IAAI,KAAK,OAAO,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,MAAkB,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;IAElC,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,0BAA0B;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;QAC7C,IAAI,QAAQ,CAAC,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACjE,CAAC;QACD,yCAAyC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAAa;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;KAChC,CAAC;IACF,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACxE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB;IACnD,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -17,6 +17,8 @@ import { formatMemoryHits } from './memory/fileBackend.js';
|
|
|
17
17
|
import { createCheckpoint } from './checkpoint/checkpointManager.js';
|
|
18
18
|
import { getStateStore } from './state/fileStateStore.js';
|
|
19
19
|
import { discoveriesFromOutcome, tryStateCommit } from './state/commitHelpers.js';
|
|
20
|
+
import { formatCost, formatTokens } from './modelPricing.js';
|
|
21
|
+
import { saveTrace } from './traceStore.js';
|
|
20
22
|
/**
|
|
21
23
|
* Default budget for **implementation** slices only.
|
|
22
24
|
* Design-phase (when the brief asks for it) is free and does not consume this.
|
|
@@ -43,6 +45,30 @@ export function resolveMaxStall(env = process.env) {
|
|
|
43
45
|
const n = Number.parseInt(raw, 10);
|
|
44
46
|
return Number.isFinite(n) && n >= 0 ? n : DEFAULT_MAX_STALL;
|
|
45
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Maximum cumulative USD cost for a mission (ADR-0013 budget cap).
|
|
50
|
+
* Default: undefined (off). When set, the mission stops when the
|
|
51
|
+
* cumulative cost reaches this threshold.
|
|
52
|
+
*/
|
|
53
|
+
export function resolveMaxCost(env = process.env) {
|
|
54
|
+
const raw = env.ZELARI_MISSION_MAX_COST;
|
|
55
|
+
if (!raw)
|
|
56
|
+
return undefined;
|
|
57
|
+
const n = Number.parseFloat(raw);
|
|
58
|
+
return Number.isFinite(n) && n > 0 ? n : undefined;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Maximum cumulative tokens for a mission (ADR-0013 budget cap).
|
|
62
|
+
* Default: undefined (off). When set, the mission stops when the
|
|
63
|
+
* cumulative token count reaches this threshold.
|
|
64
|
+
*/
|
|
65
|
+
export function resolveMaxTokens(env = process.env) {
|
|
66
|
+
const raw = env.ZELARI_MISSION_MAX_TOKENS;
|
|
67
|
+
if (!raw)
|
|
68
|
+
return undefined;
|
|
69
|
+
const n = Number.parseInt(raw, 10);
|
|
70
|
+
return Number.isFinite(n) && n > 0 ? n : undefined;
|
|
71
|
+
}
|
|
46
72
|
/** True unless auto-start is explicitly requested. */
|
|
47
73
|
export function isMissionAutoStart(env = process.env) {
|
|
48
74
|
return env.ZELARI_MISSION_AUTO === '1';
|
|
@@ -51,6 +77,15 @@ async function writeMissionState(projectRoot, state) {
|
|
|
51
77
|
const dir = path.join(projectRoot, '.zelari');
|
|
52
78
|
await fs.mkdir(dir, { recursive: true });
|
|
53
79
|
await fs.writeFile(path.join(dir, 'mission-state.json'), JSON.stringify(state, null, 2) + '\n', 'utf8');
|
|
80
|
+
// Also persist the per-mission trace file (ADR-0015-A).
|
|
81
|
+
if (state.trace?.length) {
|
|
82
|
+
try {
|
|
83
|
+
await saveTrace(projectRoot, state.missionId, state.trace);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// best-effort — trace is also in mission-state.json
|
|
87
|
+
}
|
|
88
|
+
}
|
|
54
89
|
}
|
|
55
90
|
function buildSlicePrompt(brief, userMessage, runMode, iteration) {
|
|
56
91
|
if (runMode === 'design-phase') {
|
|
@@ -98,6 +133,8 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
98
133
|
const now = deps.now ?? (() => new Date());
|
|
99
134
|
const maxIter = deps.maxIterations ?? resolveMaxIterations(deps.env);
|
|
100
135
|
const maxStall = resolveMaxStall(deps.env);
|
|
136
|
+
const maxCost = resolveMaxCost(deps.env);
|
|
137
|
+
const maxTokens = resolveMaxTokens(deps.env);
|
|
101
138
|
const missionId = deps.missionId ?? `m_${randomUUID().slice(0, 8)}`;
|
|
102
139
|
const startedAt = now().toISOString();
|
|
103
140
|
const state = {
|
|
@@ -141,6 +178,9 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
141
178
|
let implStep = 0;
|
|
142
179
|
// One free design-phase pass when the brief asks for it (does not burn budget).
|
|
143
180
|
let pendingDesign = designFirst;
|
|
181
|
+
// Budget cap accumulators (ADR-0013).
|
|
182
|
+
let cumulativeCostUsd = 0;
|
|
183
|
+
let cumulativeTokens = 0;
|
|
144
184
|
while (true) {
|
|
145
185
|
const runMode = pendingDesign ? 'design-phase' : 'implementation';
|
|
146
186
|
if (runMode === 'implementation') {
|
|
@@ -162,6 +202,8 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
162
202
|
const promptIter = runMode === 'implementation' ? implStep : 1;
|
|
163
203
|
const slicePrompt = buildSlicePrompt(brief, userMessage, runMode, promptIter);
|
|
164
204
|
const implementerRetry = runMode === 'implementation' && implStep > 1;
|
|
205
|
+
const sliceStartedAt = now().toISOString();
|
|
206
|
+
const sliceStartMs = now().getTime();
|
|
165
207
|
if (runMode === 'design-phase') {
|
|
166
208
|
deps.emit(`[zelari] design-phase (fuori budget) · step ${step} · slice ${brief.sliceMvp.id}`);
|
|
167
209
|
}
|
|
@@ -195,6 +237,11 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
195
237
|
deps.emit(`[zelari] errore allo step ${step}: ${err instanceof Error ? err.message : String(err)}`);
|
|
196
238
|
return state;
|
|
197
239
|
}
|
|
240
|
+
// Budget cap accumulation (ADR-0013).
|
|
241
|
+
if (typeof result.costUsd === 'number')
|
|
242
|
+
cumulativeCostUsd += result.costUsd;
|
|
243
|
+
if (typeof result.costTokens === 'number')
|
|
244
|
+
cumulativeTokens += result.costTokens;
|
|
198
245
|
await deps.memory.add(JSON.stringify({
|
|
199
246
|
iteration: step,
|
|
200
247
|
implStep: runMode === 'implementation' ? implStep : 0,
|
|
@@ -220,6 +267,22 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
220
267
|
}
|
|
221
268
|
state.lastCompletionOk = completionOk;
|
|
222
269
|
state.updatedAt = now().toISOString();
|
|
270
|
+
state.cumulativeCostUsd = cumulativeCostUsd;
|
|
271
|
+
state.cumulativeTokens = cumulativeTokens;
|
|
272
|
+
// Trace view accumulation (ADR-0015-A).
|
|
273
|
+
if (!state.trace)
|
|
274
|
+
state.trace = [];
|
|
275
|
+
state.trace.push({
|
|
276
|
+
sliceId: brief.sliceMvp.id,
|
|
277
|
+
iteration: step,
|
|
278
|
+
runMode,
|
|
279
|
+
completionOk,
|
|
280
|
+
degraded: result.degraded,
|
|
281
|
+
costTokens: typeof result.costTokens === 'number' ? result.costTokens : undefined,
|
|
282
|
+
costUsd: typeof result.costUsd === 'number' ? result.costUsd : undefined,
|
|
283
|
+
startedAt: sliceStartedAt,
|
|
284
|
+
durationMs: now().getTime() - sliceStartMs,
|
|
285
|
+
});
|
|
223
286
|
// Design is free: clear the flag and continue into implementation budget.
|
|
224
287
|
if (runMode === 'design-phase') {
|
|
225
288
|
pendingDesign = false;
|
|
@@ -300,6 +363,20 @@ export async function runZelariMission(userMessage, brief, deps) {
|
|
|
300
363
|
return state;
|
|
301
364
|
}
|
|
302
365
|
}
|
|
366
|
+
// Budget cap: third stop-rule (ADR-0013 / Loop Engineering).
|
|
367
|
+
if ((maxCost !== undefined && cumulativeCostUsd >= maxCost) ||
|
|
368
|
+
(maxTokens !== undefined && cumulativeTokens >= maxTokens)) {
|
|
369
|
+
state.status = 'stopped';
|
|
370
|
+
state.updatedAt = now().toISOString();
|
|
371
|
+
await writeMissionState(deps.projectRoot, state);
|
|
372
|
+
const reason = maxCost !== undefined && cumulativeCostUsd >= maxCost
|
|
373
|
+
? `budget USD ${formatCost(cumulativeCostUsd)} ≥ ${formatCost(maxCost)}`
|
|
374
|
+
: `token ${formatTokens(cumulativeTokens)} ≥ ${formatTokens(maxTokens)}`;
|
|
375
|
+
deps.emit(`[zelari] fermata: ${reason}. ` +
|
|
376
|
+
'Imposta ZELARI_MISSION_MAX_COST / ZELARI_MISSION_MAX_TOKENS più alto, ' +
|
|
377
|
+
'o usa un modello più economico. Stato salvato in .zelari/mission-state.json');
|
|
378
|
+
return state;
|
|
379
|
+
}
|
|
303
380
|
await writeMissionState(deps.projectRoot, state);
|
|
304
381
|
}
|
|
305
382
|
state.status = 'stopped';
|
|
@@ -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;AAClF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgH5C;;;;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;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB,OAAO,CAAC,GAAG;IACjE,MAAM,GAAG,GAAG,GAAG,CAAC,uBAAuB,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,MAAM,GAAG,GAAG,GAAG,CAAC,yBAAyB,CAAC;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,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;IACF,wDAAwD;IACxD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IACH,CAAC;AACH,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,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,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;IAChC,sCAAsC;IACtC,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,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,kFAAkF;QAClF,8EAA8E;QAC9E,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,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;QACtE,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAErC,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,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CACP,4BAA4B,QAAQ,IAAI,OAAO,WAAW,IAAI,KAAK;gBACjE,uBAAuB,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAC7C,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,sCAAsC;QACtC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC;QAC5E,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YAAE,gBAAgB,IAAI,MAAM,CAAC,UAAU,CAAC;QAEjF,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,4EAA4E;QAC5E,uEAAuE;QACvE,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACvC,IACE,OAAO,KAAK,gBAAgB;YAC5B,YAAY;YACZ,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACrC,MAAM,CAAC,UAAU,KAAK,CAAC,EACvB,CAAC;YACD,YAAY,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,CACP,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACtC,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QACtC,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC5C,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAE1C,wCAAwC;QACxC,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACnC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;YAC1B,SAAS,EAAE,IAAI;YACf,OAAO;YACP,YAAY;YACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACjF,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACxE,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,YAAY;SAC3C,CAAC,CAAC;QAEH,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,YAAY,IAAI,KAAK,EAAE,CAAC;YAC1B,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,8DAA8D;gBAC9D,qBAAqB,EAAE,mBAAmB;gBAC1C,cAAc,EAAE,IAAI,IAAI,CAAC,mBAAmB;gBAC5C,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,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACnD,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,8EAA8E;QAC9E,IAAI,YAAY,EAAE,CAAC;YACjB,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,6DAA6D;QAC7D,IACE,CAAC,OAAO,KAAK,SAAS,IAAI,iBAAiB,IAAI,OAAO,CAAC;YACvD,CAAC,SAAS,KAAK,SAAS,IAAI,gBAAgB,IAAI,SAAS,CAAC,EAC1D,CAAC;YACD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YACzB,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,MAAM,GACV,OAAO,KAAK,SAAS,IAAI,iBAAiB,IAAI,OAAO;gBACnD,CAAC,CAAC,cAAc,UAAU,CAAC,iBAAiB,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE;gBACxE,CAAC,CAAC,SAAS,YAAY,CAAC,gBAAgB,CAAC,MAAM,YAAY,CAAC,SAAU,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC,IAAI,CACP,qBAAqB,MAAM,IAAI;gBAC7B,wEAAwE;gBACxE,6EAA6E,CAChF,CAAC;YACF,OAAO,KAAK,CAAC;QACf,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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { resolveMaxCost, resolveMaxTokens, resolveMaxIterations, resolveMaxStall, } from './zelariMission.js';
|
|
3
|
+
describe('resolveMaxCost (ADR-0013)', () => {
|
|
4
|
+
it('returns undefined when env var is not set', () => {
|
|
5
|
+
expect(resolveMaxCost({})).toBeUndefined();
|
|
6
|
+
});
|
|
7
|
+
it('parses a valid USD value', () => {
|
|
8
|
+
expect(resolveMaxCost({ ZELARI_MISSION_MAX_COST: '5.00' })).toBe(5.0);
|
|
9
|
+
expect(resolveMaxCost({ ZELARI_MISSION_MAX_COST: '0.50' })).toBe(0.5);
|
|
10
|
+
});
|
|
11
|
+
it('returns undefined for zero or negative', () => {
|
|
12
|
+
expect(resolveMaxCost({ ZELARI_MISSION_MAX_COST: '0' })).toBeUndefined();
|
|
13
|
+
expect(resolveMaxCost({ ZELARI_MISSION_MAX_COST: '-1' })).toBeUndefined();
|
|
14
|
+
});
|
|
15
|
+
it('returns undefined for non-numeric', () => {
|
|
16
|
+
expect(resolveMaxCost({ ZELARI_MISSION_MAX_COST: 'abc' })).toBeUndefined();
|
|
17
|
+
expect(resolveMaxCost({ ZELARI_MISSION_MAX_COST: '' })).toBeUndefined();
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
describe('resolveMaxTokens (ADR-0013)', () => {
|
|
21
|
+
it('returns undefined when env var is not set', () => {
|
|
22
|
+
expect(resolveMaxTokens({})).toBeUndefined();
|
|
23
|
+
});
|
|
24
|
+
it('parses a valid token count', () => {
|
|
25
|
+
expect(resolveMaxTokens({ ZELARI_MISSION_MAX_TOKENS: '2000000' })).toBe(2_000_000);
|
|
26
|
+
expect(resolveMaxTokens({ ZELARI_MISSION_MAX_TOKENS: '100000' })).toBe(100_000);
|
|
27
|
+
});
|
|
28
|
+
it('returns undefined for zero or negative', () => {
|
|
29
|
+
expect(resolveMaxTokens({ ZELARI_MISSION_MAX_TOKENS: '0' })).toBeUndefined();
|
|
30
|
+
expect(resolveMaxTokens({ ZELARI_MISSION_MAX_TOKENS: '-5' })).toBeUndefined();
|
|
31
|
+
});
|
|
32
|
+
it('returns undefined for non-integer', () => {
|
|
33
|
+
expect(resolveMaxTokens({ ZELARI_MISSION_MAX_TOKENS: 'abc' })).toBeUndefined();
|
|
34
|
+
expect(resolveMaxTokens({ ZELARI_MISSION_MAX_TOKENS: '' })).toBeUndefined();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
// Sanity: existing resolve functions still work alongside the new ones.
|
|
38
|
+
describe('resolveMaxIterations / resolveMaxStall (regression)', () => {
|
|
39
|
+
it('returns defaults when env is empty', () => {
|
|
40
|
+
expect(resolveMaxIterations({})).toBeGreaterThan(0);
|
|
41
|
+
expect(resolveMaxStall({})).toBeGreaterThanOrEqual(0);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=zelariMission.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zelariMission.test.js","sourceRoot":"","sources":["../../src/cli/zelariMission.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zelari-code",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.25.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",
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"smoke": "node bin/zelari-code.js --version",
|
|
37
37
|
"verify:council": "npm run build --workspace=@zelari/core && node scripts/verify-council.mjs",
|
|
38
38
|
"desktop:install": "npm install --prefix apps/desktop",
|
|
39
|
-
"desktop:dev": "npm run tauri:dev --prefix apps/desktop",
|
|
39
|
+
"desktop:dev": "npm run build:cli && npm run tauri:dev --prefix apps/desktop",
|
|
40
|
+
"companion:android": "cd apps/companion-android && .\\gradlew.bat assembleDebug",
|
|
40
41
|
"desktop:build": "npm run tauri:build --prefix apps/desktop",
|
|
41
42
|
"postinstall": "node scripts/postinstall.mjs",
|
|
42
43
|
"prepublishOnly": "node scripts/prepublish.mjs"
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|
|
52
53
|
"@testing-library/react": "^16.3.2",
|
|
53
|
-
"@zelari/core": "1.
|
|
54
|
+
"@zelari/core": "1.24.0",
|
|
54
55
|
"@types/node": "^25.3.0",
|
|
55
56
|
"@types/react": "^19.0.10",
|
|
56
57
|
"esbuild": "^0.25.0",
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Start Zelari companion host in a VISIBLE window (must stay open).
|
|
2
|
+
# Usage:
|
|
3
|
+
# powershell -File scripts/start-companion-serve.ps1
|
|
4
|
+
# powershell -File scripts/start-companion-serve.ps1 -Bind 0.0.0.0 -Port 7421
|
|
5
|
+
# powershell -File scripts/start-companion-serve.ps1 -Bind 192.168.1.40
|
|
6
|
+
|
|
7
|
+
param(
|
|
8
|
+
[string]$Bind = "127.0.0.1",
|
|
9
|
+
[int]$Port = 7421,
|
|
10
|
+
[string]$Project = ""
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
$ErrorActionPreference = "Stop"
|
|
14
|
+
$Root = Split-Path -Parent $PSScriptRoot
|
|
15
|
+
if (-not $Project) { $Project = $Root }
|
|
16
|
+
|
|
17
|
+
$node = (Get-Command node -ErrorAction SilentlyContinue)?.Source
|
|
18
|
+
if (-not $node) {
|
|
19
|
+
Write-Host "Node.js not found on PATH. Install Node 20+." -ForegroundColor Red
|
|
20
|
+
exit 1
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
$cli = Join-Path $Root "bin\zelari-code.js"
|
|
24
|
+
if (-not (Test-Path $cli)) {
|
|
25
|
+
Write-Host "CLI not found: $cli" -ForegroundColor Red
|
|
26
|
+
exit 1
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
Write-Host ""
|
|
30
|
+
Write-Host "Starting Zelari companion serve..." -ForegroundColor Cyan
|
|
31
|
+
Write-Host " Bind: $Bind"
|
|
32
|
+
Write-Host " Port: $Port"
|
|
33
|
+
Write-Host " Project: $Project"
|
|
34
|
+
Write-Host " Health: http://127.0.0.1:$Port/health"
|
|
35
|
+
Write-Host ""
|
|
36
|
+
Write-Host "Leave this window OPEN. Ctrl+C to stop." -ForegroundColor Yellow
|
|
37
|
+
Write-Host ""
|
|
38
|
+
|
|
39
|
+
# Run in THIS console so you see logs and the process cannot vanish silently.
|
|
40
|
+
Set-Location $Root
|
|
41
|
+
$env:ZELARI_SKIP_PREFLIGHT = "1"
|
|
42
|
+
$env:ANATHEMA_DEV = "1"
|
|
43
|
+
& $node $cli serve --bind $Bind --port $Port --project $Project
|