zelari-code 2.49.0 → 2.51.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 +1 -0
- package/dist/cli/acp/command.js +127 -0
- package/dist/cli/acp/command.js.map +1 -0
- package/dist/cli/acp/eventMap.js +84 -0
- package/dist/cli/acp/eventMap.js.map +1 -0
- package/dist/cli/acp/framing.js +118 -0
- package/dist/cli/acp/framing.js.map +1 -0
- package/dist/cli/acp/protocol.js +192 -0
- package/dist/cli/acp/protocol.js.map +1 -0
- package/dist/cli/acp/server.js +229 -0
- package/dist/cli/acp/server.js.map +1 -0
- package/dist/cli/acp/turnAdapter.js +144 -0
- package/dist/cli/acp/turnAdapter.js.map +1 -0
- package/dist/cli/commands/report.js +273 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/components/statusChips.js +18 -1
- package/dist/cli/components/statusChips.js.map +1 -1
- package/dist/cli/main.bundled.js +2392 -763
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/main.js +32 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/safety/jails/baseEnv.js +132 -0
- package/dist/cli/safety/jails/baseEnv.js.map +1 -0
- package/dist/cli/safety/jails/execPath.js +116 -0
- package/dist/cli/safety/jails/execPath.js.map +1 -0
- package/dist/cli/safety/jails/linux.js +19 -21
- package/dist/cli/safety/jails/linux.js.map +1 -1
- package/dist/cli/safety/osJail.js +29 -5
- package/dist/cli/safety/osJail.js.map +1 -1
- package/dist/cli/slashCommands.js +21 -1
- package/dist/cli/slashCommands.js.map +1 -1
- package/dist/cli/slashHandlers/statusline.js +126 -0
- package/dist/cli/slashHandlers/statusline.js.map +1 -0
- package/dist/cli/statusline/statuslineConfig.js +169 -0
- package/dist/cli/statusline/statuslineConfig.js.map +1 -0
- package/dist/cli/statusline/statuslineCustom.js +154 -0
- package/dist/cli/statusline/statuslineCustom.js.map +1 -0
- package/dist/cli/statusline/statuslineItems.js +93 -0
- package/dist/cli/statusline/statuslineItems.js.map +1 -0
- package/package.json +4 -2
|
@@ -44,6 +44,8 @@ import { spawn } from 'node:child_process';
|
|
|
44
44
|
import { homedir, tmpdir } from 'node:os';
|
|
45
45
|
import path from 'node:path';
|
|
46
46
|
import { activePolicyLoadMode } from './policyLoadMode.js';
|
|
47
|
+
// t116: DENY-FIRST base env for the jailed child (see jails/baseEnv.ts).
|
|
48
|
+
import { baseJailEnv } from './jails/baseEnv.js';
|
|
47
49
|
import { darwinBackend } from './jails/darwin.js';
|
|
48
50
|
import { linuxBackend } from './jails/linux.js';
|
|
49
51
|
import { win32Backend } from './jails/win32.js';
|
|
@@ -123,6 +125,12 @@ export function setJailBackendForTests(backend) {
|
|
|
123
125
|
probeCache = null;
|
|
124
126
|
}
|
|
125
127
|
// ── JailSpec construction (same decision inputs — no second policy engine) ──
|
|
128
|
+
/**
|
|
129
|
+
* t116 — deny-first environment for a jailed child, re-exported at the
|
|
130
|
+
* choke-point so callers/tests see ONE jail surface. See jails/baseEnv.ts for
|
|
131
|
+
* the allowlist rationale and the `ZELARI_JAIL_FULL_ENV=1` escape hatch.
|
|
132
|
+
*/
|
|
133
|
+
export { baseJailEnv, baseJailEnvKeys, JAIL_FULL_ENV_ENV, jailFullEnvRequested } from './jails/baseEnv.js';
|
|
126
134
|
/** Spec-mandated default allowlist: today's exec tools inherited ALL of process.env. */
|
|
127
135
|
export const BASE_ENV_ALLOWLIST = [
|
|
128
136
|
'PATH', 'HOME', 'USER', 'LANG', 'CI', 'TERM', 'NO_COLOR',
|
|
@@ -142,8 +150,16 @@ const WIN32_ENV_ALLOWLIST = [
|
|
|
142
150
|
export function defaultEnvAllowlist(platform = process.platform) {
|
|
143
151
|
return platform === 'win32' ? [...BASE_ENV_ALLOWLIST, ...WIN32_ENV_ALLOWLIST] : BASE_ENV_ALLOWLIST;
|
|
144
152
|
}
|
|
145
|
-
/**
|
|
146
|
-
|
|
153
|
+
/**
|
|
154
|
+
* Writable = root + caller-supplied temp dir + ~/.zelari-code (deduped,
|
|
155
|
+
* case-folded on win32).
|
|
156
|
+
*
|
|
157
|
+
* t116: the temp dir is a REQUIRED parameter — the jail no longer derives a
|
|
158
|
+
* temp dir internally (an internally-derived `tmpdir()` silently widened the
|
|
159
|
+
* writable set behind the caller's back). Every call site passes the value it
|
|
160
|
+
* already resolved; `buildJailSpec` threads it from its own caller.
|
|
161
|
+
*/
|
|
162
|
+
export function defaultWritable(root, home, tmp, platform = process.platform) {
|
|
147
163
|
// All three entries go through the same resolution so that dedup is
|
|
148
164
|
// host-independent: a win32 case-folded collapse must hold on any host
|
|
149
165
|
// (path.resolve is identity for already-absolute native paths).
|
|
@@ -159,13 +175,17 @@ export function defaultWritable(root, home = homedir(), tmp = tmpdir(), platform
|
|
|
159
175
|
/**
|
|
160
176
|
* Build a JailSpec. `network` defaults to the conservative deny; pass the
|
|
161
177
|
* result of {@link networkSpecFromClaimHosts} to honor the claims decision.
|
|
178
|
+
* `tmp` is the caller's temp dir (t116): pass the one you resolved. The
|
|
179
|
+
* `tmpdir()` fallback exists only for pre-t116 call sites that never
|
|
180
|
+
* resolved one — it is NOT the intent, and a caller that passes `tmp`
|
|
181
|
+
* always wins.
|
|
162
182
|
*/
|
|
163
183
|
export function buildJailSpec(opts) {
|
|
164
184
|
return {
|
|
165
185
|
root: path.resolve(opts.root),
|
|
166
186
|
network: opts.network ?? { mode: 'deny' },
|
|
167
187
|
envAllowlist: opts.envAllowlist ?? defaultEnvAllowlist(),
|
|
168
|
-
writable: opts.writable ?? defaultWritable(opts.root),
|
|
188
|
+
writable: opts.writable ?? defaultWritable(opts.root, homedir(), opts.tmp ?? tmpdir()),
|
|
169
189
|
};
|
|
170
190
|
}
|
|
171
191
|
/**
|
|
@@ -220,11 +240,15 @@ export function decideJailSpawn(spec, input) {
|
|
|
220
240
|
const merged = { ...(input.env ?? process.env), ...(input.envExtras ?? {}) };
|
|
221
241
|
if (mode === 'off')
|
|
222
242
|
return { action: 'spawn-plain', env: merged };
|
|
243
|
+
// t116: deny-first base env. The jail is active (even on the advisory
|
|
244
|
+
// fail-open path), so the child gets ONLY the boot-critical variables —
|
|
245
|
+
// `ZELARI_JAIL_FULL_ENV=1` restores the full inherited env explicitly.
|
|
246
|
+
const narrowed = baseJailEnv(merged);
|
|
223
247
|
const probe = probeJailBackend();
|
|
224
248
|
if (!probe.available) {
|
|
225
249
|
if (mode === 'required')
|
|
226
250
|
return { action: 'deny', reason: jailDenyReason(probe, mode) };
|
|
227
|
-
return { action: 'spawn-plain', env: sanitizeEnv(
|
|
251
|
+
return { action: 'spawn-plain', env: sanitizeEnv(narrowed, spec.envAllowlist), notice: jailAdvisoryNotice(probe) };
|
|
228
252
|
}
|
|
229
253
|
const wrapped = currentBackend().wrap(spec, input.program, input.argv);
|
|
230
254
|
return {
|
|
@@ -232,7 +256,7 @@ export function decideJailSpawn(spec, input) {
|
|
|
232
256
|
probe,
|
|
233
257
|
program: wrapped.program,
|
|
234
258
|
argv: wrapped.argv,
|
|
235
|
-
env: sanitizeEnv(
|
|
259
|
+
env: sanitizeEnv(narrowed, spec.envAllowlist),
|
|
236
260
|
};
|
|
237
261
|
}
|
|
238
262
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"osJail.js","sourceRoot":"","sources":["../../../src/cli/safety/osJail.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"osJail.js","sourceRoot":"","sources":["../../../src/cli/safety/osJail.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { parseMode } from './mode.js';
|
|
2
2
|
import { evolutionMode, ledgerStats, readLedger } from './evolution/ledger.js';
|
|
3
3
|
import { proposalSummary, readProposalStore } from './evolution/proposals.js';
|
|
4
|
+
import { handleStatusLine } from './slashHandlers/statusline.js';
|
|
5
|
+
import { buildSessionReport } from './commands/report.js';
|
|
4
6
|
/**
|
|
5
7
|
* Parse a user input string starting with '/' into a SlashCommand + args.
|
|
6
8
|
* Returns { command, args } or null if not a slash command.
|
|
@@ -77,7 +79,9 @@ export function handleSlashCommand(text, availableSkills) {
|
|
|
77
79
|
message: `Available commands:\n /login <provider> — authenticate (OAuth: grok, chatgpt, anthropic, muse; or /login <provider> <key>)\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] — list+pick a skill (no args) or invoke /skill <name>\n /skills — interactive skill picker (same as /skill with no args)\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 /resume-mission — resume the persisted mission (.zelari/mission-state.json; TUI twin of --resume-mission)\n /council-feedback <memberId> <1-5> [note] — rate a council member for future ranking (Task I.2)
|
|
78
80
|
/promote-member <memberId> — promote a council member to a standalone skill (v3-K)
|
|
79
81
|
/memory [stats|search|show|related|history|retract|forget|consolidate|index|promote|doctor|export|audit] — inspect native project memory
|
|
80
|
-
/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 /integrations — list MCP integration presets (cua, composio, qwen-mm-plugins) + status\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 /verify — re-evaluate the strict completion gate (deterministic, no LLM; criteria + next command)
|
|
82
|
+
/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 /integrations — list MCP integration presets (cua, composio, qwen-mm-plugins) + status\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 /verify — re-evaluate the strict completion gate (deterministic, no LLM; criteria + next command)
|
|
83
|
+
/report [sessionId] — aggregate the active session spine (files, tool calls, verify, tokens)
|
|
84
|
+
/statusline [on|off|up|down <item>|custom <cmd>|timeout <ms>|reset] — configure the status line (t114)\n /mode [kraken|council|zelari] — switch dispatch mode (same as shift+tab; agent=alias kraken)\n /kraken [sessionId] — show Kraken tentacle radio (last spawns)\n /trust [path] — trust a folder so project MCP + project hooks load\n /trust remove [path] — revoke folder trust\n /evolve [status|proposals] — evolution ledger status + deterministic fitness; proposals lists the store (read-only, ADR-0036)
|
|
81
85
|
/help — show this help\n /exit — exit the CLI\n\n${formatSkillList(availableSkills)}`,
|
|
82
86
|
};
|
|
83
87
|
case 'evolve': {
|
|
@@ -674,6 +678,22 @@ export function handleSlashCommand(text, availableSkills) {
|
|
|
674
678
|
// (deterministic evidence evaluation; no LLM call).
|
|
675
679
|
return { handled: true, kind: 'verify' };
|
|
676
680
|
}
|
|
681
|
+
case 'statusline': {
|
|
682
|
+
// `/statusline …` (t114) — configure the status line. The handler does
|
|
683
|
+
// the read-modify-write on the prefs file and returns the text to show;
|
|
684
|
+
// an unknown sub-command still prints the current state + usage.
|
|
685
|
+
return { handled: true, kind: 'statusline', message: handleStatusLine(args) };
|
|
686
|
+
}
|
|
687
|
+
case 'report': {
|
|
688
|
+
// `/report [sessionId]` (t115) — aggregate view of the active session
|
|
689
|
+
// spine. Fail-soft: a missing/corrupt spine renders a clear message.
|
|
690
|
+
const target = args.find((a) => !a.startsWith('-'));
|
|
691
|
+
return {
|
|
692
|
+
handled: true,
|
|
693
|
+
kind: 'report',
|
|
694
|
+
message: buildSessionReport(target ? { sessionId: target } : {}).markdown,
|
|
695
|
+
};
|
|
696
|
+
}
|
|
677
697
|
case 'index': {
|
|
678
698
|
// `/index` → build/rebuild the semantic code index
|
|
679
699
|
// `/index status` → show current index stats
|
|
@@ -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,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* slashHandlers/statusline — `/statusline` (t114).
|
|
3
|
+
*
|
|
4
|
+
* Minimal, numeric-selection-free interaction that matches the other slash
|
|
5
|
+
* handlers: every sub-command is idempotent, prints a compact table, and
|
|
6
|
+
* persists the config (fail-soft — a failed write is REPORTED, never thrown).
|
|
7
|
+
*
|
|
8
|
+
* /statusline show the current order + availability
|
|
9
|
+
* /statusline on <item> enable an item
|
|
10
|
+
* /statusline off <item> disable an item
|
|
11
|
+
* /statusline up <item> move an item one slot earlier
|
|
12
|
+
* /statusline down <item> move an item one slot later
|
|
13
|
+
* /statusline custom <command> set (and preview) the custom script
|
|
14
|
+
* /statusline custom clear drop the custom script
|
|
15
|
+
* /statusline timeout <ms> change the custom script timeout
|
|
16
|
+
* /statusline reset back to the default chip order
|
|
17
|
+
*
|
|
18
|
+
* The pure text rendering lives in `renderStatusLine` so it is testable
|
|
19
|
+
* without touching disk; `handleStatusLine` performs the read-modify-write.
|
|
20
|
+
*/
|
|
21
|
+
import { DEFAULT_STATUSLINE_TIMEOUT_MS, STATUSLINE_MAX_TEXT_CHARS, defaultStatusLineConfig, loadStatusLineConfig, moveItem, setCustomCommand, setItemEnabled, updateStatusLineConfig, } from '../statusline/statuslineConfig.js';
|
|
22
|
+
import { previewStatusLineCustomItem } from '../statusline/statuslineCustom.js';
|
|
23
|
+
import { formatStatusLineItems, statusLineItemLabel } from '../statusline/statuslineItems.js';
|
|
24
|
+
/** `1. mode → 2. model …` — the configured order, numbered. */
|
|
25
|
+
function orderLine(config) {
|
|
26
|
+
if (config.items.length === 0)
|
|
27
|
+
return '(none — the bar will show nothing)';
|
|
28
|
+
return config.items.map((id, i) => `${i + 1}.${statusLineItemLabel(id)}`).join(' ');
|
|
29
|
+
}
|
|
30
|
+
/** Pure report body: current order + the catalog with on/off marks. */
|
|
31
|
+
export function renderStatusLine(config, notice) {
|
|
32
|
+
const lines = [];
|
|
33
|
+
if (notice)
|
|
34
|
+
lines.push(`[statusline] ${notice}`, '');
|
|
35
|
+
lines.push(`order: ${orderLine(config)}`);
|
|
36
|
+
lines.push(config.custom
|
|
37
|
+
? `custom: ${config.custom.command} (timeout ${config.custom.timeoutMs}ms, 1 line, ≤${STATUSLINE_MAX_TEXT_CHARS} chars)`
|
|
38
|
+
: `custom: (not configured) — set one with /statusline custom <command>`);
|
|
39
|
+
lines.push('', 'items:');
|
|
40
|
+
lines.push(formatStatusLineItems(config.items));
|
|
41
|
+
lines.push('', 'usage: /statusline [on|off|up|down] <item> · /statusline custom <command|clear> · /statusline timeout <ms> · /statusline reset');
|
|
42
|
+
return lines.join('\n');
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Apply one `/statusline` invocation. Returns the message to print; the
|
|
46
|
+
* persistence failure (if any) is folded into the message, never thrown.
|
|
47
|
+
*/
|
|
48
|
+
export function handleStatusLine(args, opts = {}) {
|
|
49
|
+
const io = { file: opts.file };
|
|
50
|
+
const sub = (args[0] ?? '').toLowerCase();
|
|
51
|
+
const target = args[1] ?? '';
|
|
52
|
+
if (sub === '' || sub === 'show' || sub === 'list') {
|
|
53
|
+
return renderStatusLine(loadStatusLineConfig(io));
|
|
54
|
+
}
|
|
55
|
+
if (sub === 'reset') {
|
|
56
|
+
if (opts.dryRun)
|
|
57
|
+
return `[statusline] reset (dry-run)`;
|
|
58
|
+
// Write the DEFAULT list explicitly: an empty `items` now means "nothing
|
|
59
|
+
// enabled" (see normalizeStatusLineConfig), so it can no longer double as
|
|
60
|
+
// the reset sentinel.
|
|
61
|
+
const { ok } = updateStatusLineConfig(() => defaultStatusLineConfig(), io);
|
|
62
|
+
return ok
|
|
63
|
+
? renderStatusLine(loadStatusLineConfig(io), 'reset to the default chip order')
|
|
64
|
+
: '[statusline] reset failed: cannot write the config file — the current order stays active';
|
|
65
|
+
}
|
|
66
|
+
if (sub === 'custom') {
|
|
67
|
+
if (target === '')
|
|
68
|
+
return '[statusline] usage: /statusline custom <command> | /statusline custom clear';
|
|
69
|
+
if (target.toLowerCase() === 'clear') {
|
|
70
|
+
if (opts.dryRun)
|
|
71
|
+
return '[statusline] custom cleared (dry-run)';
|
|
72
|
+
const { ok } = updateStatusLineConfig((c) => setCustomCommand(c, null), io);
|
|
73
|
+
return ok
|
|
74
|
+
? renderStatusLine(loadStatusLineConfig(io), 'custom item removed')
|
|
75
|
+
: '[statusline] cannot write the config file';
|
|
76
|
+
}
|
|
77
|
+
const command = args.slice(1).join(' ');
|
|
78
|
+
const preview = previewStatusLineCustomItem({ command });
|
|
79
|
+
if (opts.dryRun)
|
|
80
|
+
return `[statusline] custom = ${command} (dry-run; preview: ${preview ?? '(hidden)'})`;
|
|
81
|
+
const { ok, config } = updateStatusLineConfig((c) => setCustomCommand(c, command, c.custom?.timeoutMs ?? DEFAULT_STATUSLINE_TIMEOUT_MS), io);
|
|
82
|
+
if (!ok)
|
|
83
|
+
return '[statusline] cannot write the config file';
|
|
84
|
+
const notice = preview === null
|
|
85
|
+
? `custom script set but produced no usable first line (item stays hidden): ${command}`
|
|
86
|
+
: `custom script set — first line: ${preview}`;
|
|
87
|
+
return renderStatusLine(config, notice);
|
|
88
|
+
}
|
|
89
|
+
if (sub === 'timeout') {
|
|
90
|
+
const ms = Number.parseInt(target, 10);
|
|
91
|
+
if (!Number.isFinite(ms) || ms <= 0)
|
|
92
|
+
return '[statusline] usage: /statusline timeout <ms>';
|
|
93
|
+
const existing = loadStatusLineConfig(io).custom;
|
|
94
|
+
if (!existing)
|
|
95
|
+
return '[statusline] no custom script configured — set one first';
|
|
96
|
+
if (opts.dryRun)
|
|
97
|
+
return `[statusline] timeout = ${ms}ms (dry-run)`;
|
|
98
|
+
const { ok, config } = updateStatusLineConfig((c) => setCustomCommand(c, c.custom?.command ?? null, ms), io);
|
|
99
|
+
return ok ? renderStatusLine(config, `custom timeout set to ${ms}ms`) : '[statusline] cannot write the config file';
|
|
100
|
+
}
|
|
101
|
+
if (sub === 'on' || sub === 'off' || sub === 'up' || sub === 'down') {
|
|
102
|
+
if (target === '')
|
|
103
|
+
return `[statusline] usage: /statusline ${sub} <item>`;
|
|
104
|
+
const before = loadStatusLineConfig(io);
|
|
105
|
+
if (!before.items.includes(target) && sub !== 'on') {
|
|
106
|
+
return `[statusline] '${target}' is not enabled — see /statusline for the available items`;
|
|
107
|
+
}
|
|
108
|
+
if (!before.items.includes(target) && sub === 'on' && target === 'custom' && !before.custom) {
|
|
109
|
+
return `[statusline] configure the script first: /statusline custom <command>`;
|
|
110
|
+
}
|
|
111
|
+
if (opts.dryRun)
|
|
112
|
+
return `[statusline] ${sub} ${target} (dry-run)`;
|
|
113
|
+
const { ok, config } = updateStatusLineConfig((c) => sub === 'on'
|
|
114
|
+
? setItemEnabled(c, target, true)
|
|
115
|
+
: sub === 'off'
|
|
116
|
+
? setItemEnabled(c, target, false)
|
|
117
|
+
: moveItem(c, target, sub === 'up' ? -1 : 1), io);
|
|
118
|
+
if (!ok)
|
|
119
|
+
return '[statusline] cannot write the config file';
|
|
120
|
+
const verb = sub === 'on' ? 'enabled' : sub === 'off' ? 'disabled' : `moved ${sub}`;
|
|
121
|
+
return renderStatusLine(config, `${target} ${verb}`);
|
|
122
|
+
}
|
|
123
|
+
const unknownReason = `unknown sub-command '${sub}'`;
|
|
124
|
+
return renderStatusLine(loadStatusLineConfig(io), unknownReason);
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=statusline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statusline.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/statusline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* statuslineConfig — persisted configuration for the configurable status line
|
|
3
|
+
* (t114).
|
|
4
|
+
*
|
|
5
|
+
* WHERE: `<zelariHome>/statusline.json` (`ZELARI_STATUSLINE_CONFIG_FILE`
|
|
6
|
+
* overrides it for tests / CI isolation) — the same home-scoped JSON
|
|
7
|
+
* convention as plugins/prefs.ts and providerConfig.ts, with the same
|
|
8
|
+
* read-modify-write + fail-soft contract:
|
|
9
|
+
* - a missing/corrupt/unreadable file degrades to DEFAULTS with a warning,
|
|
10
|
+
* never a throw (a broken UX knob must not break boot — P2);
|
|
11
|
+
* - unknown item ids are dropped by normalization (an old file can never
|
|
12
|
+
* resurrect a chip that no longer exists, nor inject a new one);
|
|
13
|
+
* - `custom` is present in `items` ONLY while a custom command is
|
|
14
|
+
* configured, so enabling/disabling the script is a single field.
|
|
15
|
+
*
|
|
16
|
+
* SHAPE (version 1):
|
|
17
|
+
* { "version": 1,
|
|
18
|
+
* "items": ["model", "jail", "custom", …],
|
|
19
|
+
* "custom": { "command": "node ~/status.js", "timeoutMs": 1500 } | null }
|
|
20
|
+
*
|
|
21
|
+
* DEFAULTS: `items` = the StatusBar's current chip order (DEFAULT_STATUSLINE_ITEMS)
|
|
22
|
+
* and `custom` = null — zero visible change until a user opts in.
|
|
23
|
+
*/
|
|
24
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
25
|
+
import path from 'node:path';
|
|
26
|
+
import { z } from 'zod';
|
|
27
|
+
import { ZELARI_HOME_ENV, zelariHome } from '../paths.js';
|
|
28
|
+
import { DEFAULT_STATUSLINE_ITEMS, STATUSLINE_CUSTOM_ID, isStatusLineItemId, } from './statuslineItems.js';
|
|
29
|
+
/** Default timeout for the custom item script. */
|
|
30
|
+
export const DEFAULT_STATUSLINE_TIMEOUT_MS = 1500;
|
|
31
|
+
/** Hard ceiling for a user-supplied timeout (a status line never blocks). */
|
|
32
|
+
export const MAX_STATUSLINE_TIMEOUT_MS = 30_000;
|
|
33
|
+
/** A custom item's text is capped at this many characters. */
|
|
34
|
+
export const STATUSLINE_MAX_TEXT_CHARS = 120;
|
|
35
|
+
const CustomSchema = z.object({
|
|
36
|
+
command: z.string().min(1),
|
|
37
|
+
timeoutMs: z.number().int().positive().max(MAX_STATUSLINE_TIMEOUT_MS).optional(),
|
|
38
|
+
});
|
|
39
|
+
const ConfigSchema = z.object({
|
|
40
|
+
version: z.literal(1).optional(),
|
|
41
|
+
items: z.array(z.string()).optional(),
|
|
42
|
+
custom: CustomSchema.nullable().optional(),
|
|
43
|
+
});
|
|
44
|
+
/** The zero-opt-in default: today's chip order, no custom script. */
|
|
45
|
+
export function defaultStatusLineConfig() {
|
|
46
|
+
return { items: [...DEFAULT_STATUSLINE_ITEMS], custom: null };
|
|
47
|
+
}
|
|
48
|
+
/** Path of the persisted config (env-overridable, like the other prefs files). */
|
|
49
|
+
export function statusLineConfigPath(env = process.env) {
|
|
50
|
+
const override = env.ZELARI_STATUSLINE_CONFIG_FILE?.trim();
|
|
51
|
+
if (override)
|
|
52
|
+
return override;
|
|
53
|
+
// An INJECTED env must isolate the home too, not just the file: otherwise a
|
|
54
|
+
// caller passing `{ env: { ZELARI_HOME: tmp } }` (tests, CI, headless with a
|
|
55
|
+
// synthetic home) would silently read/write the REAL `~/.zelari-code`.
|
|
56
|
+
const home = env[ZELARI_HOME_ENV]?.trim();
|
|
57
|
+
return path.join(home || zelariHome(), 'statusline.json');
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Coerce arbitrary JSON into a valid config. Drops unknown/duplicate ids,
|
|
61
|
+
* re-adds `custom` exactly when a command exists, and preserves the caller's
|
|
62
|
+
* order otherwise.
|
|
63
|
+
*
|
|
64
|
+
* An ABSENT `items` key means "not configured yet" ⇒ the default order; an
|
|
65
|
+
* EXPLICIT empty array means the user disabled every item and MUST survive
|
|
66
|
+
* normalization (otherwise turning off the last chip would silently re-enable
|
|
67
|
+
* the whole bar — the opposite of what `/statusline off` just reported).
|
|
68
|
+
*/
|
|
69
|
+
export function normalizeStatusLineConfig(raw) {
|
|
70
|
+
const parsed = ConfigSchema.safeParse(raw);
|
|
71
|
+
if (!parsed.success)
|
|
72
|
+
return defaultStatusLineConfig();
|
|
73
|
+
const command = parsed.data.custom?.command?.trim();
|
|
74
|
+
const custom = command
|
|
75
|
+
? { command, timeoutMs: parsed.data.custom?.timeoutMs ?? DEFAULT_STATUSLINE_TIMEOUT_MS }
|
|
76
|
+
: null;
|
|
77
|
+
const seen = new Set();
|
|
78
|
+
const items = [];
|
|
79
|
+
for (const id of parsed.data.items ?? DEFAULT_STATUSLINE_ITEMS) {
|
|
80
|
+
if (id === STATUSLINE_CUSTOM_ID)
|
|
81
|
+
continue; // re-added below by the custom field
|
|
82
|
+
if (!isStatusLineItemId(id) || seen.has(id))
|
|
83
|
+
continue;
|
|
84
|
+
seen.add(id);
|
|
85
|
+
items.push(id);
|
|
86
|
+
}
|
|
87
|
+
if (custom && !items.includes(STATUSLINE_CUSTOM_ID))
|
|
88
|
+
items.push(STATUSLINE_CUSTOM_ID);
|
|
89
|
+
return { items, custom };
|
|
90
|
+
}
|
|
91
|
+
/** Read the persisted config; corrupt/missing file ⇒ DEFAULT (fail-soft). */
|
|
92
|
+
export function loadStatusLineConfig(opts = {}) {
|
|
93
|
+
const file = opts.file ?? statusLineConfigPath(opts.env);
|
|
94
|
+
try {
|
|
95
|
+
if (!existsSync(file))
|
|
96
|
+
return defaultStatusLineConfig();
|
|
97
|
+
return normalizeStatusLineConfig(JSON.parse(readFileSync(file, 'utf-8')));
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return defaultStatusLineConfig();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Persist a config. Returns false (never throws) when the write fails — a
|
|
105
|
+
* read-only home must not take the TUI down.
|
|
106
|
+
*/
|
|
107
|
+
export function saveStatusLineConfig(config, opts = {}) {
|
|
108
|
+
const file = opts.file ?? statusLineConfigPath(opts.env);
|
|
109
|
+
try {
|
|
110
|
+
mkdirSync(path.dirname(file), { recursive: true });
|
|
111
|
+
const body = { version: 1, items: config.items, custom: config.custom };
|
|
112
|
+
writeFileSync(file, JSON.stringify(body, null, 2), { encoding: 'utf-8', mode: 0o600 });
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/** Enable/disable one item (enabling `custom` without a command is a no-op). */
|
|
120
|
+
export function setItemEnabled(config, id, enabled) {
|
|
121
|
+
if (!isStatusLineItemId(id))
|
|
122
|
+
return config;
|
|
123
|
+
if (id === STATUSLINE_CUSTOM_ID && enabled && !config.custom)
|
|
124
|
+
return config;
|
|
125
|
+
const has = config.items.includes(id);
|
|
126
|
+
if (enabled === has)
|
|
127
|
+
return config;
|
|
128
|
+
return enabled
|
|
129
|
+
? { ...config, items: [...config.items, id] }
|
|
130
|
+
: { ...config, items: config.items.filter((i) => i !== id) };
|
|
131
|
+
}
|
|
132
|
+
/** Move an item one slot up (`delta: -1`) or down (`delta: +1`). */
|
|
133
|
+
export function moveItem(config, id, delta) {
|
|
134
|
+
const from = config.items.indexOf(id);
|
|
135
|
+
if (from < 0)
|
|
136
|
+
return config;
|
|
137
|
+
const to = Math.min(config.items.length - 1, Math.max(0, from + delta));
|
|
138
|
+
if (to === from)
|
|
139
|
+
return config;
|
|
140
|
+
const items = [...config.items];
|
|
141
|
+
items.splice(from, 1);
|
|
142
|
+
items.splice(to, 0, id);
|
|
143
|
+
return { ...config, items };
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Set (or clear) the custom command. Setting it appends/enables `custom` at
|
|
147
|
+
* the end of the item list; clearing removes it from the list too.
|
|
148
|
+
*/
|
|
149
|
+
export function setCustomCommand(config, command, timeoutMs) {
|
|
150
|
+
const trimmed = command?.trim() ?? '';
|
|
151
|
+
if (trimmed.length === 0) {
|
|
152
|
+
return { items: config.items.filter((i) => i !== STATUSLINE_CUSTOM_ID), custom: null };
|
|
153
|
+
}
|
|
154
|
+
const custom = {
|
|
155
|
+
command: trimmed,
|
|
156
|
+
timeoutMs: timeoutMs ?? config.custom?.timeoutMs ?? DEFAULT_STATUSLINE_TIMEOUT_MS,
|
|
157
|
+
};
|
|
158
|
+
const items = config.items.includes(STATUSLINE_CUSTOM_ID)
|
|
159
|
+
? config.items
|
|
160
|
+
: [...config.items, STATUSLINE_CUSTOM_ID];
|
|
161
|
+
return { items, custom };
|
|
162
|
+
}
|
|
163
|
+
/** Read-modify-write helper: applies `mutate`, persists, never throws. */
|
|
164
|
+
export function updateStatusLineConfig(mutate, opts = {}) {
|
|
165
|
+
const next = normalizeStatusLineConfig(mutate(loadStatusLineConfig(opts)));
|
|
166
|
+
const ok = saveStatusLineConfig(next, opts);
|
|
167
|
+
return { ok, config: next };
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=statuslineConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statuslineConfig.js","sourceRoot":"","sources":["../../../src/cli/statusline/statuslineConfig.ts"],"names":[],"mappings":"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"}
|