zelari-code 2.56.0 → 2.58.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/budget/modelContextBuilder.js +4 -1
- package/dist/cli/budget/modelContextBuilder.js.map +1 -1
- package/dist/cli/evolution/ledger.js +85 -0
- package/dist/cli/evolution/ledger.js.map +1 -1
- package/dist/cli/evolution/patternLedger.js +165 -0
- package/dist/cli/evolution/patternLedger.js.map +1 -0
- package/dist/cli/headless/runOneTurn.js +13 -1
- package/dist/cli/headless/runOneTurn.js.map +1 -1
- package/dist/cli/hooks/skillCompare.js +9 -3
- package/dist/cli/hooks/skillCompare.js.map +1 -1
- package/dist/cli/hooks/useChatTurn.js +21 -1
- package/dist/cli/hooks/useChatTurn.js.map +1 -1
- package/dist/cli/main.bundled.js +2311 -1280
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/memory/mcpAdapter.js +3 -1
- package/dist/cli/memory/mcpAdapter.js.map +1 -1
- package/dist/cli/memory/onePager.js +93 -0
- package/dist/cli/memory/onePager.js.map +1 -0
- package/dist/cli/memory/serviceFactory.js +5 -0
- package/dist/cli/memory/serviceFactory.js.map +1 -1
- package/dist/cli/memory/sqliteBackend.js +40 -3
- package/dist/cli/memory/sqliteBackend.js.map +1 -1
- package/dist/cli/memory/sqliteCodec.js +2 -0
- package/dist/cli/memory/sqliteCodec.js.map +1 -1
- package/dist/cli/memory/sqliteSchema.js +11 -1
- package/dist/cli/memory/sqliteSchema.js.map +1 -1
- package/dist/cli/runHeadless.js +62 -12
- package/dist/cli/runHeadless.js.map +1 -1
- package/dist/cli/safety/destructiveCommands.js +21 -0
- package/dist/cli/safety/destructiveCommands.js.map +1 -1
- package/dist/cli/safety/permissionAdapter.js +70 -0
- package/dist/cli/safety/permissionAdapter.js.map +1 -0
- package/dist/cli/safety/permissionCompat.js +69 -0
- package/dist/cli/safety/permissionCompat.js.map +1 -0
- package/dist/cli/safety/permissionGate.js +97 -26
- package/dist/cli/safety/permissionGate.js.map +1 -1
- package/dist/cli/safety/policyEngine.js +41 -8
- package/dist/cli/safety/policyEngine.js.map +1 -1
- package/dist/cli/safety/policyLayers.js +25 -21
- package/dist/cli/safety/policyLayers.js.map +1 -1
- package/dist/cli/safety/resourceClaims.js +6 -33
- package/dist/cli/safety/resourceClaims.js.map +1 -1
- package/dist/cli/skillHistory.js +6 -2
- package/dist/cli/skillHistory.js.map +1 -1
- package/dist/cli/slashCommands.js +1 -1
- package/dist/cli/slashHandlers/memory.js +21 -0
- package/dist/cli/slashHandlers/memory.js.map +1 -1
- package/dist/cli/slashHandlers/permissions.js +36 -9
- package/dist/cli/slashHandlers/permissions.js.map +1 -1
- package/dist/cli/slashHandlers/skills.js +3 -2
- package/dist/cli/slashHandlers/skills.js.map +1 -1
- package/dist/cli/toolRegistry.js +47 -10
- package/dist/cli/toolRegistry.js.map +1 -1
- package/dist/cli/toolResultCache.js +4 -22
- package/dist/cli/toolResultCache.js.map +1 -1
- package/package.json +5 -2
|
@@ -80,7 +80,7 @@ export function handleSlashCommand(text, availableSkills) {
|
|
|
80
80
|
kind: 'help',
|
|
81
81
|
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)
|
|
82
82
|
/promote-member <memberId> — promote a council member to a standalone skill (v3-K)
|
|
83
|
-
/memory [stats|search|show|related|history|retract|forget|consolidate|index|promote|doctor|export|audit] — inspect native project memory
|
|
83
|
+
/memory [stats|search|show|related|history|retract|forget|consolidate|dream|index|promote|doctor|export|audit] — inspect native project memory
|
|
84
84
|
/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)
|
|
85
85
|
/report [sessionId] — aggregate the active session spine (files, tool calls, verify, tokens)
|
|
86
86
|
/inbox — what is waiting on you across local sessions (unanswered ask_user, needs input, tentacle finished; ZELARI_INBOX=0 disables)
|
|
@@ -15,6 +15,7 @@ const USAGE = [
|
|
|
15
15
|
'/memory retract <id> [reason]',
|
|
16
16
|
'/memory forget <id> --yes',
|
|
17
17
|
'/memory consolidate [query]',
|
|
18
|
+
'/memory dream [--min-candidates N] — consolidate pending candidates into durable nodes',
|
|
18
19
|
'/memory index [--force]',
|
|
19
20
|
'/memory promote <id> — append durable knowledge to managed AGENTS.md section',
|
|
20
21
|
'/memory promote con-<fp> --as-check --command "<cmd>" [--expect-exit N] — append a WorldCheck',
|
|
@@ -30,6 +31,15 @@ function sourceLine(source) {
|
|
|
30
31
|
const entries = Object.entries(source).filter(([, value]) => value !== undefined && value !== '');
|
|
31
32
|
return entries.length ? entries.map(([key, value]) => `${key}=${value}`).join(' · ') : 'unknown';
|
|
32
33
|
}
|
|
34
|
+
/** Parse `--min-candidates N` (or a bare numeric arg) for `/memory dream`. */
|
|
35
|
+
function parseMinCandidates(args) {
|
|
36
|
+
const flagIndex = args.findIndex((arg) => arg === '--min-candidates' || arg === '--min-occurrences');
|
|
37
|
+
const raw = flagIndex >= 0 ? args[flagIndex + 1] : args.find((arg) => /^\d+$/.test(arg));
|
|
38
|
+
if (raw === undefined)
|
|
39
|
+
return undefined;
|
|
40
|
+
const value = Number.parseInt(raw, 10);
|
|
41
|
+
return Number.isFinite(value) && value > 0 ? value : undefined;
|
|
42
|
+
}
|
|
33
43
|
function isInside(root, target) {
|
|
34
44
|
const relative = path.relative(root, target);
|
|
35
45
|
return relative === '' || (!relative.startsWith('..') && !path.isAbsolute(relative));
|
|
@@ -184,6 +194,17 @@ export async function handleMemoryCommand(ctx, subcommand = 'stats', args = [])
|
|
|
184
194
|
emit(`[memory] consolidation scanned ${result.scanned} candidate(s), created ${result.created.length} durable node(s), archived ${result.archivedSourceIds.length} source duplicate(s).`);
|
|
185
195
|
return;
|
|
186
196
|
}
|
|
197
|
+
case 'dream': {
|
|
198
|
+
// S4: an explicit consolidation pass ("dream") — candidate → durable.
|
|
199
|
+
// Consolidate ONLY: no genome, no AGENTS.md/prompt writes, no auto-dream.
|
|
200
|
+
const minOccurrences = parseMinCandidates(args);
|
|
201
|
+
const result = await memory.consolidate({
|
|
202
|
+
source: { agent: 'user-cli-dream' },
|
|
203
|
+
...(minOccurrences === undefined ? {} : { minOccurrences }),
|
|
204
|
+
});
|
|
205
|
+
emit(`[memory dream] consolidated ${result.scanned} candidate(s), created ${result.created.length} durable node(s), archived ${result.archivedSourceIds.length} source duplicate(s).`);
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
187
208
|
case 'index': {
|
|
188
209
|
const result = memory.index
|
|
189
210
|
? await memory.index({ force: args.includes('--force') || args.includes('-f') })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAO9D,MAAM,KAAK,GAAG;IACZ,2BAA2B;IAC3B,wBAAwB;IACxB,mBAAmB;IACnB,sBAAsB;IACtB,sBAAsB;IACtB,+BAA+B;IAC/B,2BAA2B;IAC3B,6BAA6B;IAC7B,yBAAyB;IACzB,8EAA8E;IAC9E,+FAA+F;IAC/F,kFAAkF;IAClF,yDAAyD;IACzD,6EAA6E;CAC9E,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEf,SAAS,OAAO,CAAC,KAAc,EAAE,GAAG,GAAG,GAAG;IACxC,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;AAClE,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;IAClG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnG,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,MAAc;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,SAA6B;IACtE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAuB,EACvB,UAAU,GAAG,OAAO,EACpB,OAAiB,EAAE;IAEnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAC1D,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;KAC/C,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,YAAY,CAC5C,GAAG,CAAC,WAAW,EACf,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CACjE,CAAC;IACF,IAAI,CAAC;QACH,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,EAAE,CAAC;YACR,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACnC,IAAI,CACF,oBAAoB,KAAK,CAAC,OAAO,cAAc,KAAK,CAAC,aAAa,IAAI;oBACtE,WAAW,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,MAAM,gBAAgB,KAAK,CAAC,UAAU,IAAI;oBAClF,aAAa,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,QAAQ,KAAK;oBAC7D,WAAW,KAAK,CAAC,KAAK,iBAAiB,KAAK,CAAC,wBAAwB,KAAK;oBAC1E,YAAY,KAAK,CAAC,aAAa,EAAE;oBACjC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,eAAe,IAAI,CAAC,aAAa,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,OAAO,KAAK,EAAE,CACf,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC9D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,IAAI,CAAC,mCAAmC,KAAK,IAAI,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACjF,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CACxE,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CACpF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC9E,IAAI,CACF,YAAY,IAAI,CAAC,EAAE,YAAY,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,MAAM,GAAG;oBACjE,cAAc,IAAI,CAAC,UAAU,IAAI,SAAS,GAAG;oBAC7C,cAAc,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBACrF,aAAa,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,SAAS,IAAI;oBACzD,aAAa,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;oBACxC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI;oBAC1C,KAAK,IAAI,CAAC,OAAO,iBAAiB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAClE,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC/D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,IAAI,CAAC,OAAO,CAAC,MAAM;oBACjB,CAAC,CAAC,uBAAuB,QAAQ,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CACnE,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAC/F,CAAC,IAAI,CAAC,IAAI,CAAC;oBACd,CAAC,CAAC,6BAA6B,QAAQ,GAAG,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC/D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAClB,CAAC,CAAC,oBAAoB,QAAQ,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1D,MAAM,OAAO,CAAC,QAAQ,MAAM,OAAO,CAAC,UAAU,MAAM,OAAO,CAAC,MAAM,IAAI,SAAS,KAAK;wBACpF,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,WAAW,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC9E,CAAC,IAAI,CAAC,IAAI,CAAC;oBACd,CAAC,CAAC,YAAY,QAAQ,+BAA+B,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACxE,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;gBAC5E,IAAI,CAAC,sBAAsB,QAAQ,+BAA+B,CAAC,CAAC;gBACpE,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACpE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,IAAI,CAAC,kFAAkF,QAAQ,sDAAsD,CAAC,CAAC;oBACvJ,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAClC,CAAC,CAAC,gCAAgC,QAAQ,GAAG;oBAC7C,CAAC,CAAC,YAAY,QAAQ,aAAa,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;oBACtC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;oBACzC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;iBAC9B,CAAC,CAAC;gBACH,IAAI,CAAC,kCAAkC,MAAM,CAAC,OAAO,0BAA0B,MAAM,CAAC,OAAO,CAAC,MAAM,8BAA8B,MAAM,CAAC,iBAAiB,CAAC,MAAM,uBAAuB,CAAC,CAAC;gBAC1L,OAAO;YACT,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAsB,MAAM,CAAC,KAAK;oBAC5C,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChF,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBAC9F,IAAI,CACF,kBAAkB,MAAM,CAAC,MAAM,EAAE;oBACjC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,cAAc,MAAM,CAAC,OAAO,cAAc,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,MAAM,EAAE;oBACpF,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5C,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,sEAAsE;gBACtE,+DAA+D;gBAC/D,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,OAAO;oBACjB,CAAC,CAAC,mCAAmC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,gBAAgB;oBAChF,CAAC,CAAC,qCAAqC,MAAM,CAAC,MAAM,IAAI,oBAAoB,GAAG,CAAC,CAAC;gBACnF,OAAO;YACT,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,OAAO,aAAa,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,IAAI,CAAC,YAAY,QAAQ,6BAA6B,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC/E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,uEAAuE;oBACvE,uEAAuE;oBACvE,4DAA4D;oBAC5D,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,IAAI,CAAC,YAAY,QAAQ,qGAAqG,CAAC,CAAC;wBAChI,OAAO;oBACT,CAAC;oBACD,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAC;oBACvD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACjE,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE;wBACnC,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;qBAC9E,CAAC,CAAC;oBACH,IAAI,CAAC,KAAK,EAAE,CAAC;wBAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBAC9D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACxD,IAAI,CAAC,QAAQ,CAAC,KAAK;wBACjB,CAAC,CAAC,mBAAmB,KAAK,CAAC,EAAE,iBAAiB,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,YAAY;wBAC1F,CAAC,CAAC,mBAAmB,KAAK,CAAC,EAAE,wBAAwB,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;oBAC1F,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,QAAQ,CAAC,KAAK;oBACjB,CAAC,CAAC,qBAAqB,QAAQ,OAAO,QAAQ,CAAC,IAAI,EAAE;oBACrD,CAAC,CAAC,YAAY,QAAQ,kBAAkB,QAAQ,CAAC,MAAM,IAAI,oBAAoB,GAAG,CAAC,CAAC;gBACtF,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrC,IAAI,CAAC,mBAAmB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,EAAE;oBACvE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI;oBAChD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvG,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;gBACjF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3E,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC1F,IAAI,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,mEAAmE;gBACnE,mEAAmE;gBACnE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAEjF,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAY,CAAC;gBAChD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAA8B,CAAC,KAAK,IAAI,EAAE,CAAC,CAAgB,CAAC;gBAC1G,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChD,IAAI,CACF,kBAAkB,KAAK,CAAC,MAAM,cAAc,cAAc,CAAC,MAAM,uBAAuB,OAAO,CAAC,MAAM,mBAAmB;oBACvH,CAAC,cAAc,CAAC,MAAM;wBACpB,CAAC,CAAC,yCAAyC;4BACzC,cAAc;iCACX,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iCACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;iCAClE,IAAI,CAAC,IAAI,CAAC;wBACf,CAAC,CAAC,EAAE,CAAC;oBACP,CAAC,OAAO,CAAC,MAAM;wBACb,CAAC,CAAC,8BAA8B;4BAC9B,OAAO;iCACJ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;iCAC9G,IAAI,CAAC,IAAI,CAAC;wBACf,CAAC,CAAC,EAAE,CAAC,CACV,CAAC;gBACF,OAAO;YACT,CAAC;YACD;gBACE,IAAI,CAAC,gCAAgC,UAAU,SAAS,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,16 @@ import { appendSystem } from '../hooks/messageHelpers.js';
|
|
|
2
2
|
import { defaultPermissionPolicy } from '../safety/toolPermissions.js';
|
|
3
3
|
import { PERMISSION_RULE_CATEGORIES } from '../safety/permissionPolicy.js';
|
|
4
4
|
import { addSessionPermissionRule, listSessionPermissionRules, loadProjectPermissionRules, removeSessionPermissionRule, clearSessionPermissionRules, } from '../safety/permissionRules.js';
|
|
5
|
-
import {
|
|
5
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
6
|
+
import path from 'node:path';
|
|
7
|
+
import { buildProjection, parseSessionLogText, resolveSessionsDir, } from '@zelari/core/session';
|
|
8
|
+
import { getCurrentSessionId } from '../sessionManager.js';
|
|
6
9
|
export const PERMISSIONS_USAGE = [
|
|
7
10
|
'/permissions — active rules (source: default | project | session) + recent denials',
|
|
8
11
|
'/permissions add <id> <allow|ask|deny> [tool=<name|glob>] [category=read|write|execute|network|ui] [pathPrefix=<p>] [host=<h>] [note=<text>]',
|
|
9
12
|
'/permissions remove <id> — drop a session rule',
|
|
10
13
|
'/permissions clear — drop every session rule',
|
|
11
|
-
'/permissions denials
|
|
14
|
+
'/permissions denials — recent denials (derived from the session spine)',
|
|
12
15
|
].join('\n');
|
|
13
16
|
const MATCHER_KEYS = ['tool', 'category', 'pathPrefix', 'host', 'note'];
|
|
14
17
|
/** `id effect tool=bash pathPrefix=docs` → the raw rule object (zod validates it). */
|
|
@@ -46,15 +49,38 @@ function matchersOf(rule) {
|
|
|
46
49
|
.join(' ');
|
|
47
50
|
}
|
|
48
51
|
export function formatPermissionDenialLine(d) {
|
|
49
|
-
const when = new Date(d.
|
|
52
|
+
const when = new Date(d.at).toISOString();
|
|
50
53
|
return ` ${when} ${d.tool} blocked by [${d.source}] '${d.matchedRuleId}'`;
|
|
51
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* t142 — the denial ledger is DERIVE-ONLY: `/permissions` reads the
|
|
57
|
+
* `permission.denied` events this session already wrote to the spine
|
|
58
|
+
* (ADR-0016/0024 — same discipline as the inbox; the old 20-entry RAM
|
|
59
|
+
* buffer is gone). `limit` caps the DISPLAY only, never the storage.
|
|
60
|
+
* Fail-soft like /report: no marker or unreadable spine ⇒ [] (diagnostics,
|
|
61
|
+
* never a gate).
|
|
62
|
+
*/
|
|
63
|
+
export function listSessionPermissionDenials(cwd, limit = 20, sessionId) {
|
|
64
|
+
try {
|
|
65
|
+
const sessionsDir = resolveSessionsDir({ workspaceRoot: cwd, env: process.env });
|
|
66
|
+
const marker = sessionId ?? getCurrentSessionId();
|
|
67
|
+
const eventsPath = marker !== null ? path.join(sessionsDir, marker, 'events.jsonl') : null;
|
|
68
|
+
if (eventsPath === null || !existsSync(eventsPath))
|
|
69
|
+
return [];
|
|
70
|
+
const parsed = parseSessionLogText(eventsPath, readFileSync(eventsPath, 'utf-8'));
|
|
71
|
+
const all = buildProjection(parsed.events, parsed.issues).permissionDenials;
|
|
72
|
+
return all.slice(-Math.max(0, limit)).reverse(); // newest first
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
52
78
|
/** The full `/permissions` report (pure — same input, same text). */
|
|
53
79
|
export function formatPermissionsReport(cwd) {
|
|
54
80
|
const policy = defaultPermissionPolicy();
|
|
55
81
|
const project = loadProjectPermissionRules(cwd);
|
|
56
82
|
const session = listSessionPermissionRules();
|
|
57
|
-
const denials =
|
|
83
|
+
const denials = listSessionPermissionDenials(cwd, 10);
|
|
58
84
|
const lines = [
|
|
59
85
|
'[permissions] local policy engine (WS1) — evaluated before every tool dispatch',
|
|
60
86
|
' precedence: deny > ask > allow, then most specific rule, then session before project',
|
|
@@ -147,14 +173,15 @@ export function handlePermissions(ctx, subcommand, args = [], cwd = process.cwd(
|
|
|
147
173
|
case 'denials':
|
|
148
174
|
case 'denied': {
|
|
149
175
|
if (args[0] === '--clear') {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
176
|
+
// t142: derive-only - the spine is append-only, nothing to clear.
|
|
177
|
+
const cleared = '[permissions] denial ledger is derived from the session spine (append-only) - nothing to clear.';
|
|
178
|
+
appendSystem(ctx.setMessages, cleared);
|
|
179
|
+
return cleared;
|
|
153
180
|
}
|
|
154
|
-
const denials =
|
|
181
|
+
const denials = listSessionPermissionDenials(cwd, 20);
|
|
155
182
|
const text = denials.length === 0
|
|
156
183
|
? '[permissions] no denials recorded this session.'
|
|
157
|
-
: ['[permissions] recent denials:', ...denials.map(formatPermissionDenialLine)].join('\n');
|
|
184
|
+
: ['[permissions] recent denials (session spine):', ...denials.map(formatPermissionDenialLine)].join('\n');
|
|
158
185
|
appendSystem(ctx.setMessages, text);
|
|
159
186
|
return text;
|
|
160
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/permissions.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,11 +38,12 @@ export async function handleSkillStats(ctx, skillId) {
|
|
|
38
38
|
const historyFile = skillHistoryPath();
|
|
39
39
|
try {
|
|
40
40
|
const records = await readSkillHistory(historyFile);
|
|
41
|
-
const
|
|
41
|
+
const model = process.env.ANATHEMA_MODEL ?? '';
|
|
42
|
+
const stats = getSkillStats(records, skillId, undefined, model);
|
|
42
43
|
const label = skillId ?? 'all skills';
|
|
43
44
|
const formatted = stats.count === 0
|
|
44
45
|
? `[skill-stats] ${label}: no invocations recorded yet`
|
|
45
|
-
: `[skill-stats] ${label}: ${stats.count} invocations, ${(stats.successRate * 100).toFixed(1)}% success, avg ${stats.avgDurationMs.toFixed(0)}ms, ${stats.totalTokens} tokens total`;
|
|
46
|
+
: `[skill-stats] ${label}: ${stats.count} invocations, ${(stats.successRate * 100).toFixed(1)}% success, avg ${stats.avgDurationMs.toFixed(0)}ms, ${stats.totalTokens} tokens total, est. cost $${stats.estimatedCostUsd.toFixed(4)}${model ? ` (${model})` : ''}`;
|
|
46
47
|
appendSystem(ctx.setMessages, formatted);
|
|
47
48
|
}
|
|
48
49
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/skills.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAetD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAsB,EACtB,MAAwC,EACxC,UAAuB,EACvB,eAAwB;IAExB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,YAAY,CACV,GAAG,CAAC,WAAW,EACf,eAAe,IAAI,eAAe,CAAC,MAAM,CAAC,CAC3C,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,KAAK,EAAE,CAAC,CAAC,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;QACrB,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC7D,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,KAAK,CAAC;KACf,CAAC,CAAC,CAAC;IACN,UAAU,CAAC;QACT,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,gBAAgB;QACvB,KAAK;QACL,aAAa,EAAE,QAAQ;KACxB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAsB,EACtB,OAA2B;IAE3B,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/toolRegistry.js
CHANGED
|
@@ -59,7 +59,7 @@ import { activePermissionPreset, defaultPermissionPolicy, intersectPermissionPol
|
|
|
59
59
|
import { destructiveCommandHit } from './safety/destructiveCommands.js';
|
|
60
60
|
// WS1 (t133): local permission policy (allow/ask/deny rules) — evaluated
|
|
61
61
|
// BEFORE dispatch, with the structured `permission.denied` spine event.
|
|
62
|
-
import { applyAllowRule, emitAutoApproveGranted, emitPermissionAsked, emitPermissionDenied, emitPermissionObserverHooks, evaluateToolDispatch, permissionDenialMessage, autoApproveOrigin, } from './safety/permissionGate.js';
|
|
62
|
+
import { applyAllowRule, denyOriginFor, emitAutoApproveGranted, emitPermissionAsked, emitPermissionDenied, emitPermissionObserverHooks, evaluateToolDispatch, permissionDenialMessage, autoApproveOrigin, } from './safety/permissionGate.js';
|
|
63
63
|
// WS7 slice 4 (t139): best-effort writer for the remaining decision kinds.
|
|
64
64
|
import { emitJailBlocked } from './safety/decisionEmit.js';
|
|
65
65
|
import { provenanceAppliesTo, provenanceMatchIn, recordResultForProvenance, } from './safety/provenance.js';
|
|
@@ -73,6 +73,7 @@ import { extensionToolToDefinition, withExtensionPreToolUse } from './extensions
|
|
|
73
73
|
import { agentLayersFor, emptyPolicySet, loadPolicySet, mergeRuleEffect, PolicyLoadError, } from './safety/policyEngine.js';
|
|
74
74
|
import { activePolicyLoadMode } from './safety/policyLoadMode.js';
|
|
75
75
|
import { intersectEffects, matchAgentPolicyRuleLayered } from './safety/policyLayers.js';
|
|
76
|
+
import { COMPAT_WARNING_TAG } from './safety/permissionCompat.js';
|
|
76
77
|
// t22: the TaskContract compiles into a NON-OVERRIDABLE restrict-only layer.
|
|
77
78
|
import { matchContractCapabilityRule } from './kraken/contractCompiler.js';
|
|
78
79
|
import { describeResourceClaim, matchResourceClaimLayered, resourceClaimsFor, resolveClaimsVerdict } from './safety/resourceClaims.js';
|
|
@@ -87,6 +88,14 @@ import { inspectCommand } from './safety/selfKillGuard.js';
|
|
|
87
88
|
import { withSessionEventSink } from './safety/sessionSink.js';
|
|
88
89
|
import { typedErr } from '@zelari/core/harness/tools/toolTypes';
|
|
89
90
|
import { cliToolToEnhanced, registerCustomTool } from '@zelari/core/skills';
|
|
91
|
+
/**
|
|
92
|
+
* ADR-0039 Phase 2 notices already written to stderr, keyed by their own text:
|
|
93
|
+
* a session builds several registries (main + one per sub-agent), and a
|
|
94
|
+
* deprecation warning is not a per-build event. Keying on the text (not a
|
|
95
|
+
* boolean) means a DIFFERENT notice — another root, another file — still reaches
|
|
96
|
+
* the operator.
|
|
97
|
+
*/
|
|
98
|
+
const printedPolicyCompatNotices = new Set();
|
|
90
99
|
/**
|
|
91
100
|
* Create a fresh ToolRegistry pre-populated with the 5 built-in tools,
|
|
92
101
|
* each wrapped with the safety layer (Task A2).
|
|
@@ -250,6 +259,18 @@ export function createBuiltinToolRegistry(options = {}) {
|
|
|
250
259
|
throw err;
|
|
251
260
|
}
|
|
252
261
|
})();
|
|
262
|
+
// ADR-0039 Phase 2: `.zelari/permissions.json` is DEPRECATED but still honored —
|
|
263
|
+
// loadPolicySet translated it into the `compat` layer of `agentPolicySet` above.
|
|
264
|
+
// These are the notices the compat loader tagged; rule diagnostics stay in
|
|
265
|
+
// `warnings` where they always were, and an absent file says nothing here. Each
|
|
266
|
+
// distinct notice reaches the operator ONCE per process (a session builds several
|
|
267
|
+
// registries), never per dispatch and never on the deny path.
|
|
268
|
+
for (const warning of agentPolicySet.warnings) {
|
|
269
|
+
if (!warning.startsWith(COMPAT_WARNING_TAG) || printedPolicyCompatNotices.has(warning))
|
|
270
|
+
continue;
|
|
271
|
+
printedPolicyCompatNotices.add(warning);
|
|
272
|
+
process.stderr.write(`[policy] ${warning}\n`);
|
|
273
|
+
}
|
|
253
274
|
const agentPolicyLayers = agentLayersFor(agentPolicySet, options.policyAgent ?? 'lead');
|
|
254
275
|
const withPerm = (t) => wrapWithPermissions(t, permPolicy, options.onPermissionAsk, agentPolicyLayers, agentPolicySet.precedence, root,
|
|
255
276
|
// WS5 (t137): the SAME runner the registry gates Pre/PostToolUse with —
|
|
@@ -1050,16 +1071,32 @@ function wrapWithPermissions(original, policy, onAsk, agentLayers, precedence =
|
|
|
1050
1071
|
}
|
|
1051
1072
|
}
|
|
1052
1073
|
if (action === 'deny') {
|
|
1053
|
-
// WS1 (t133): a RULE deny is structured — the message names the
|
|
1054
|
-
//
|
|
1055
|
-
//
|
|
1056
|
-
//
|
|
1074
|
+
// WS1 (t133): a RULE deny is structured — the message names the matched
|
|
1075
|
+
// rule id; yolo never promotes a deny.
|
|
1076
|
+
//
|
|
1077
|
+
// ADR-0039 Phase 1: this branch is the SINGLE `permission.denied`
|
|
1078
|
+
// emission point for EVERY deny, whichever layer decided it. Before
|
|
1079
|
+
// this, only an engine-A verdict was recorded: a deny from engine B
|
|
1080
|
+
// (policy.json rule or resource claim), from the TaskContract or from
|
|
1081
|
+
// the category decision emitted NOTHING, so it was invisible to replay,
|
|
1082
|
+
// to the inbox and to `/permissions` — whose ledger is derive-only from
|
|
1083
|
+
// this event (t142). Emission stays best-effort (it cannot change
|
|
1084
|
+
// `action`) and happens exactly once: both paths below return.
|
|
1085
|
+
await emitPermissionDenied(ctx.emitSessionEvent, {
|
|
1086
|
+
tool: original.name,
|
|
1087
|
+
...(policyVerdict?.decision === 'deny'
|
|
1088
|
+
? { verdict: policyVerdict }
|
|
1089
|
+
: {
|
|
1090
|
+
origin: denyOriginFor({
|
|
1091
|
+
rule,
|
|
1092
|
+
claimRule: claimHit,
|
|
1093
|
+
contractRule,
|
|
1094
|
+
categoryReason: actionReason || decision.reason,
|
|
1095
|
+
}),
|
|
1096
|
+
}),
|
|
1097
|
+
sessionId: ctx.sessionId,
|
|
1098
|
+
});
|
|
1057
1099
|
if (policyVerdict?.decision === 'deny') {
|
|
1058
|
-
await emitPermissionDenied(ctx.emitSessionEvent, {
|
|
1059
|
-
tool: original.name,
|
|
1060
|
-
verdict: policyVerdict,
|
|
1061
|
-
sessionId: ctx.sessionId,
|
|
1062
|
-
});
|
|
1063
1100
|
return typedErr(`[permission] ${permissionDenialMessage(original.name, policyVerdict)}`);
|
|
1064
1101
|
}
|
|
1065
1102
|
return typedErr(`[permission] ${rulePrefix || decision.reason}`);
|