pan-wizard 3.29.0 → 3.30.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 +39 -39
- package/bin/install-lib.cjs +65 -58
- package/bin/install.js +199 -188
- package/commands/pan/army.md +2 -2
- package/commands/pan/audit-deployment.md +2 -2
- package/commands/pan/cost.md +5 -5
- package/commands/pan/exec-phase.md +2 -0
- package/commands/pan/focus-auto.md +5 -5
- package/hooks/dist/pan-cost-logger.js +1 -1
- package/hooks/dist/pan-stop-guard.js +81 -2
- package/hooks/dist/pan-trace-logger.js +1 -1
- package/package.json +1 -1
- package/pan-wizard-core/bin/lib/agents-md.cjs +3 -2
- package/pan-wizard-core/bin/lib/core.cjs +17 -4
- package/pan-wizard-core/bin/lib/cost.cjs +104 -47
- package/pan-wizard-core/bin/lib/memory-rebuild.cjs +3 -3
- package/pan-wizard-core/bin/lib/verify-deploy.cjs +1 -1
- package/pan-wizard-core/references/model-profiles.md +4 -4
- package/pan-wizard-core/references/planning-config.md +19 -23
- package/pan-wizard-core/workflows/settings.md +2 -4
- package/scripts/test-surface.cjs +10 -9
package/scripts/test-surface.cjs
CHANGED
|
@@ -49,24 +49,25 @@ const CONTENT_DIRS = Object.freeze({
|
|
|
49
49
|
'pan-wizard-core/workflows': /\.(md|js)$/,
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
//
|
|
53
|
-
//
|
|
52
|
+
// Registrations the installer wires outside HOOK_EVENT_MAP: the statuslines. (The
|
|
53
|
+
// stop guard moved INTO the table on 2026-09-23 as its `stop` slot, so its Gemini
|
|
54
|
+
// row follows Gemini's vocabulary — AfterAgent — instead of a hand-written `Stop`
|
|
55
|
+
// that Gemini never read.)
|
|
54
56
|
const EXTRA_HOOK_ROWS = Object.freeze([
|
|
55
|
-
{ runtime: 'claude', hook: 'pan-stop-guard.js', event: 'Stop', surface: 'settings.json' },
|
|
56
|
-
{ runtime: 'gemini', hook: 'pan-stop-guard.js', event: 'Stop', surface: 'settings.json' },
|
|
57
57
|
{ runtime: 'claude', hook: 'pan-statusline.js', event: 'statusLine', surface: 'settings.json' },
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
// registration cannot sit outside it, so a hand-maintained list is the weak point
|
|
61
|
-
// these rows are the evidence for why it must be checked against an install.
|
|
62
|
-
{ runtime: 'gemini', hook: 'pan-statusline.js', event: 'statusLine', surface: 'settings.json' },
|
|
58
|
+
// Copilot registers a statusline too; it was missing here until a real install was
|
|
59
|
+
// read back (2026-09-17) — the registry's whole purpose is that a shipped
|
|
60
|
+
// registration cannot sit outside it, so a hand-maintained list is the weak point.
|
|
63
61
|
// Copilot keeps its hooks in hooks/pan.json but its statusline in copilot/settings.json.
|
|
62
|
+
// Gemini's row is gone: Gemini CLI has no statusline command, so PAN stopped
|
|
63
|
+
// writing one there (R29).
|
|
64
64
|
{ runtime: 'copilot', hook: 'pan-statusline.js', event: 'statusLine', surface: 'copilot/settings.json' },
|
|
65
65
|
]);
|
|
66
66
|
const EVENT_HOOKS = Object.freeze({
|
|
67
67
|
sessionStart: ['pan-check-update.js'],
|
|
68
68
|
postToolUse: ['pan-context-monitor.js'],
|
|
69
69
|
subagentStop: ['pan-cost-logger.js', 'pan-trace-logger.js'],
|
|
70
|
+
stop: ['pan-stop-guard.js'],
|
|
70
71
|
});
|
|
71
72
|
|
|
72
73
|
// ─── Parsers (pure) ─────────────────────────────────────────────────────────
|