@miller-tech/uap 1.22.0 → 1.26.1
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 +65 -21
- package/dist/.tsbuildinfo +1 -1
- package/dist/benchmarks/token-throughput.d.ts +53 -53
- package/dist/bin/cli.js +88 -5
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/llama-server-optimize.js +0 -0
- package/dist/bin/policy.js +0 -0
- package/dist/cli/agent.js +1 -1
- package/dist/cli/agent.js.map +1 -1
- package/dist/cli/droids.d.ts +21 -1
- package/dist/cli/droids.d.ts.map +1 -1
- package/dist/cli/droids.js +142 -0
- package/dist/cli/droids.js.map +1 -1
- package/dist/cli/expert-route.d.ts +11 -0
- package/dist/cli/expert-route.d.ts.map +1 -0
- package/dist/cli/expert-route.js +67 -0
- package/dist/cli/expert-route.js.map +1 -0
- package/dist/cli/harness.d.ts +24 -0
- package/dist/cli/harness.d.ts.map +1 -0
- package/dist/cli/harness.js +84 -0
- package/dist/cli/harness.js.map +1 -0
- package/dist/cli/hooks.d.ts +13 -2
- package/dist/cli/hooks.d.ts.map +1 -1
- package/dist/cli/hooks.js +333 -3
- package/dist/cli/hooks.js.map +1 -1
- package/dist/cli/ideate.d.ts +18 -0
- package/dist/cli/ideate.d.ts.map +1 -0
- package/dist/cli/ideate.js +148 -0
- package/dist/cli/ideate.js.map +1 -0
- package/dist/cli/patterns.js +55 -0
- package/dist/cli/patterns.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +14 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/coordination/capability-router.d.ts +1 -1
- package/dist/coordination/capability-router.d.ts.map +1 -1
- package/dist/coordination/capability-router.js +132 -0
- package/dist/coordination/capability-router.js.map +1 -1
- package/dist/coordination/expert-orchestrator.d.ts +66 -0
- package/dist/coordination/expert-orchestrator.d.ts.map +1 -0
- package/dist/coordination/expert-orchestrator.js +150 -0
- package/dist/coordination/expert-orchestrator.js.map +1 -0
- package/dist/coordination/service.d.ts +8 -1
- package/dist/coordination/service.d.ts.map +1 -1
- package/dist/coordination/service.js +18 -4
- package/dist/coordination/service.js.map +1 -1
- package/dist/mcp-router/experts/registry.d.ts +54 -0
- package/dist/mcp-router/experts/registry.d.ts.map +1 -0
- package/dist/mcp-router/experts/registry.js +143 -0
- package/dist/mcp-router/experts/registry.js.map +1 -0
- package/dist/mcp-router/index.d.ts +2 -0
- package/dist/mcp-router/index.d.ts.map +1 -1
- package/dist/mcp-router/index.js +1 -0
- package/dist/mcp-router/index.js.map +1 -1
- package/dist/mcp-router/server.d.ts.map +1 -1
- package/dist/mcp-router/server.js +16 -0
- package/dist/mcp-router/server.js.map +1 -1
- package/dist/mcp-router/tools/execute.d.ts.map +1 -1
- package/dist/mcp-router/tools/execute.js +40 -0
- package/dist/mcp-router/tools/execute.js.map +1 -1
- package/dist/models/planner.d.ts +7 -1
- package/dist/models/planner.d.ts.map +1 -1
- package/dist/models/planner.js +61 -0
- package/dist/models/planner.js.map +1 -1
- package/dist/models/types.d.ts +14 -12
- package/dist/models/types.d.ts.map +1 -1
- package/dist/models/types.js.map +1 -1
- package/dist/observability/halo-exporter.d.ts +86 -0
- package/dist/observability/halo-exporter.d.ts.map +1 -0
- package/dist/observability/halo-exporter.js +139 -0
- package/dist/observability/halo-exporter.js.map +1 -0
- package/dist/telemetry/session-telemetry.d.ts.map +1 -1
- package/dist/telemetry/session-telemetry.js +7 -0
- package/dist/telemetry/session-telemetry.js.map +1 -1
- package/dist/types/config.d.ts +170 -170
- package/docs/architecture/EXPERT_STACK.md +137 -0
- package/docs/architecture/PLATFORM_GATING.md +68 -0
- package/docs/reference/EXPERT_DROIDS.md +219 -0
- package/package.json +1 -1
- package/templates/hooks/pre-tool-use-edit-write.sh +29 -8
- package/templates/hooks/uap-policy-gate-hermes.sh +42 -0
- package/tools/agents/scripts/anthropic_proxy.py +166 -30
- package/tools/agents/tests/test_attractor_detection.py +213 -0
- package/dist/utils/baseline-metrics.d.ts +0 -21
- package/dist/utils/baseline-metrics.d.ts.map +0 -1
- package/dist/utils/baseline-metrics.js +0 -111
- package/dist/utils/baseline-metrics.js.map +0 -1
- package/tools/agents/__pycache__/claude_local_agent.cpython-313.pyc +0 -0
- package/tools/agents/__pycache__/opencode_uap_agent.cpython-313.pyc +0 -0
- package/tools/agents/scripts/__pycache__/anthropic_proxy.cpython-313.pyc +0 -0
- package/tools/agents/tests/__pycache__/test_anthropic_proxy_streaming.cpython-313-pytest-9.0.2.pyc +0 -0
package/dist/cli/hooks.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { existsSync, mkdirSync, copyFileSync, readFileSync, writeFileSync, chmodSync } from 'fs';
|
|
3
3
|
import { join, dirname } from 'path';
|
|
4
|
+
import { homedir } from 'os';
|
|
4
5
|
import { fileURLToPath } from 'url';
|
|
6
|
+
import yaml from 'js-yaml';
|
|
5
7
|
const __filename = fileURLToPath(import.meta.url);
|
|
6
8
|
const __dirname = dirname(__filename);
|
|
7
|
-
|
|
9
|
+
// Single source of truth for supported platforms.
|
|
10
|
+
export const ALL_TARGETS = [
|
|
8
11
|
'claude',
|
|
9
12
|
'factory',
|
|
10
13
|
'cursor',
|
|
@@ -13,6 +16,7 @@ const ALL_TARGETS = [
|
|
|
13
16
|
'codex',
|
|
14
17
|
'forgecode',
|
|
15
18
|
'omp',
|
|
19
|
+
'hermes',
|
|
16
20
|
];
|
|
17
21
|
function normalizeTarget(target) {
|
|
18
22
|
if (!target)
|
|
@@ -21,10 +25,19 @@ function normalizeTarget(target) {
|
|
|
21
25
|
return 'claude';
|
|
22
26
|
return target;
|
|
23
27
|
}
|
|
28
|
+
// Project-local platforms. Hermes is excluded from the default install loop
|
|
29
|
+
// because its config is GLOBAL (~/.hermes) — installing it requires the
|
|
30
|
+
// explicit `-t hermes` so a project-level `uap hooks install` never silently
|
|
31
|
+
// writes the user's global Hermes config. status/doctor still report all.
|
|
32
|
+
const PROJECT_TARGETS = ALL_TARGETS.filter((t) => t !== 'hermes');
|
|
24
33
|
export async function hooksCommand(action, options = {}) {
|
|
25
34
|
const cwd = options.projectDir || process.cwd();
|
|
26
35
|
const normalized = normalizeTarget(options.target);
|
|
27
|
-
const targets = normalized
|
|
36
|
+
const targets = normalized
|
|
37
|
+
? [normalized]
|
|
38
|
+
: action === 'install'
|
|
39
|
+
? PROJECT_TARGETS
|
|
40
|
+
: ALL_TARGETS;
|
|
28
41
|
switch (action) {
|
|
29
42
|
case 'install':
|
|
30
43
|
for (const target of targets) {
|
|
@@ -36,6 +49,9 @@ export async function hooksCommand(action, options = {}) {
|
|
|
36
49
|
await showHooksStatusForTarget(cwd, target);
|
|
37
50
|
}
|
|
38
51
|
break;
|
|
52
|
+
case 'doctor':
|
|
53
|
+
hooksDoctor(cwd, targets);
|
|
54
|
+
break;
|
|
39
55
|
}
|
|
40
56
|
}
|
|
41
57
|
function getTemplateHooksDir() {
|
|
@@ -65,6 +81,10 @@ function copyHookScripts(targetHooksDir) {
|
|
|
65
81
|
'post-compact.sh',
|
|
66
82
|
'stop.sh',
|
|
67
83
|
'session-end.sh',
|
|
84
|
+
// The DB-driven policy gate (policies.db + .policy-tools/*.py). Without it,
|
|
85
|
+
// every platform that registers `uap-policy-gate.sh` in its settings points
|
|
86
|
+
// at a script that was never placed → the gate silently no-ops.
|
|
87
|
+
'uap-policy-gate.sh',
|
|
68
88
|
];
|
|
69
89
|
for (const file of hookFiles) {
|
|
70
90
|
const src = join(templateHooksDir, file);
|
|
@@ -242,15 +262,23 @@ async function installFactoryHooks(cwd) {
|
|
|
242
262
|
],
|
|
243
263
|
PreToolUse: [
|
|
244
264
|
{
|
|
245
|
-
matcher: 'Edit|Write',
|
|
265
|
+
matcher: 'Edit|Write|MultiEdit',
|
|
246
266
|
hooks: [
|
|
247
267
|
{ type: 'command', command: '"$FACTORY_PROJECT_DIR"/.factory/hooks/pre-tool-use-edit-write.sh' },
|
|
268
|
+
{ type: 'command', command: '"$FACTORY_PROJECT_DIR"/.factory/hooks/uap-policy-gate.sh' },
|
|
248
269
|
],
|
|
249
270
|
},
|
|
250
271
|
{
|
|
251
272
|
matcher: 'Bash',
|
|
252
273
|
hooks: [
|
|
253
274
|
{ type: 'command', command: '"$FACTORY_PROJECT_DIR"/.factory/hooks/pre-tool-use-bash.sh' },
|
|
275
|
+
{ type: 'command', command: '"$FACTORY_PROJECT_DIR"/.factory/hooks/uap-policy-gate.sh' },
|
|
276
|
+
],
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
matcher: 'Task|Agent|ToolSearch|ExitPlanMode',
|
|
280
|
+
hooks: [
|
|
281
|
+
{ type: 'command', command: '"$FACTORY_PROJECT_DIR"/.factory/hooks/uap-policy-gate.sh' },
|
|
254
282
|
],
|
|
255
283
|
},
|
|
256
284
|
],
|
|
@@ -430,6 +458,9 @@ async function installOpencodeHooks(cwd) {
|
|
|
430
458
|
mkdirSync(pluginDir, { recursive: true });
|
|
431
459
|
console.log(chalk.dim(` Created ${pluginDir}`));
|
|
432
460
|
}
|
|
461
|
+
// The plugin's tool.execute.before gate shells out to uap-policy-gate.sh,
|
|
462
|
+
// so the hook scripts (incl. the gate) must be present under .opencode/hooks.
|
|
463
|
+
copyHookScripts(join(cwd, '.opencode', 'hooks'));
|
|
433
464
|
const dbPath = './agents/data/memory/short_term.db';
|
|
434
465
|
const coordDbPath = './agents/data/coordination/coordination.db';
|
|
435
466
|
const pluginContent = [
|
|
@@ -475,6 +506,21 @@ async function installOpencodeHooks(cwd) {
|
|
|
475
506
|
' }',
|
|
476
507
|
' },',
|
|
477
508
|
'',
|
|
509
|
+
' // Pre-tool-use policy gate. OpenCode aborts the tool call when this',
|
|
510
|
+
' // hook throws, so a blocked verdict (exit 2) becomes a hard block.',
|
|
511
|
+
' "tool.execute.before": async (input, output) => {',
|
|
512
|
+
' try {',
|
|
513
|
+
' const payload = JSON.stringify({ tool_name: input.tool, tool_input: (output && output.args) || {} })',
|
|
514
|
+
' const res = await $`echo ${payload} | bash .opencode/hooks/uap-policy-gate.sh`.quiet().nothrow()',
|
|
515
|
+
' if (res.exitCode === 2) {',
|
|
516
|
+
' const reason = (res.stderr.toString() || res.stdout.toString()).trim()',
|
|
517
|
+
' throw new Error("[UAP policy blocked] " + reason)',
|
|
518
|
+
' }',
|
|
519
|
+
' } catch (e) {',
|
|
520
|
+
' if (e instanceof Error && e.message.indexOf("[UAP policy blocked]") === 0) throw e',
|
|
521
|
+
' }',
|
|
522
|
+
' },',
|
|
523
|
+
'',
|
|
478
524
|
' "experimental.session.compacting": async (_input, output) => {',
|
|
479
525
|
' try {',
|
|
480
526
|
' const timestamp = new Date().toISOString()',
|
|
@@ -542,6 +588,7 @@ async function installCodexHooks(cwd) {
|
|
|
542
588
|
'',
|
|
543
589
|
'The following enforcement hooks are installed and run automatically:',
|
|
544
590
|
'',
|
|
591
|
+
'- **uap-policy-gate.sh** - DB-driven policy gate (policies.db + .policy-tools/*.py)',
|
|
545
592
|
'- **pre-tool-use-edit-write.sh** - Blocks edits outside worktree directories',
|
|
546
593
|
'- **pre-tool-use-bash.sh** - Blocks dangerous commands (force push, terraform apply, etc)',
|
|
547
594
|
'- **post-tool-use-edit-write.sh** - Runs build gate + backup reminder after edits',
|
|
@@ -549,6 +596,13 @@ async function installCodexHooks(cwd) {
|
|
|
549
596
|
'- **stop.sh** - Completion gate checklist + session cleanup',
|
|
550
597
|
'- **session-end.sh** - Agent deregistration + backup retention',
|
|
551
598
|
'',
|
|
599
|
+
'> **Gating note (Codex):** Codex CLI has no native pre-tool-use *hook event*,',
|
|
600
|
+
'> so it cannot auto-run these scripts before every tool the way Claude Code does.',
|
|
601
|
+
'> Policy gating is enforced two ways: (1) **hard** for tools routed through the',
|
|
602
|
+
'> UAP MCP server (`[mcp_servers.uap]` below) — `execute_tool` runs the PolicyGate;',
|
|
603
|
+
'> (2) **advisory** for Codex-native edit/bash — run `bash .codex/hooks/uap-policy-gate.sh`',
|
|
604
|
+
'> per the lifecycle above. `uap hooks doctor` reports Codex as MCP-gated.',
|
|
605
|
+
'',
|
|
552
606
|
'## Memory System',
|
|
553
607
|
'',
|
|
554
608
|
'UAP provides persistent memory across sessions. Use these commands:',
|
|
@@ -903,6 +957,8 @@ async function installOmpHooks(cwd) {
|
|
|
903
957
|
'pre-compact.sh',
|
|
904
958
|
'pre-tool-use-edit-write.sh',
|
|
905
959
|
'pre-tool-use-bash.sh',
|
|
960
|
+
'uap-policy-gate.sh',
|
|
961
|
+
'loop-protection.sh',
|
|
906
962
|
];
|
|
907
963
|
for (const file of preHookFiles) {
|
|
908
964
|
const src = join(getTemplateHooksDir(), file);
|
|
@@ -948,6 +1004,8 @@ async function installOmpHooks(cwd) {
|
|
|
948
1004
|
policyEnforcement: true,
|
|
949
1005
|
hooks: {
|
|
950
1006
|
preSession: '.uap/omp/hooks/pre/session-start.sh',
|
|
1007
|
+
// Backs the policyEnforcement flag above — the DB-driven policy gate.
|
|
1008
|
+
preToolUsePolicyGate: '.uap/omp/hooks/pre/uap-policy-gate.sh',
|
|
951
1009
|
preToolUseEditWrite: '.uap/omp/hooks/pre/pre-tool-use-edit-write.sh',
|
|
952
1010
|
preToolUseBash: '.uap/omp/hooks/pre/pre-tool-use-bash.sh',
|
|
953
1011
|
preCompact: '.uap/omp/hooks/pre/pre-compact.sh',
|
|
@@ -974,6 +1032,117 @@ async function installOmpHooks(cwd) {
|
|
|
974
1032
|
chalk.gray(' (links hooks and dashboard to omp)'));
|
|
975
1033
|
}
|
|
976
1034
|
// --- Dispatcher ---
|
|
1035
|
+
// --- Hermes Agent (NousResearch) ---
|
|
1036
|
+
/** Resolve the Hermes config home ($HERMES_HOME or ~/.hermes). */
|
|
1037
|
+
function hermesHome() {
|
|
1038
|
+
return process.env.HERMES_HOME || join(homedir(), '.hermes');
|
|
1039
|
+
}
|
|
1040
|
+
/** Add an entry to a Hermes hook-event array, de-duped by command. */
|
|
1041
|
+
function mergeHermesHook(existing, entry) {
|
|
1042
|
+
const arr = Array.isArray(existing) ? existing : [];
|
|
1043
|
+
if (arr.some((e) => e && e.command === entry.command))
|
|
1044
|
+
return arr;
|
|
1045
|
+
return [...arr, entry];
|
|
1046
|
+
}
|
|
1047
|
+
/**
|
|
1048
|
+
* Hermes Agent uses a GLOBAL config at ~/.hermes/config.yaml (not project-local).
|
|
1049
|
+
* Hermes hooks are fail-open and Claude-Code-compatible: `pre_tool_call` blocks
|
|
1050
|
+
* via a stdout `{"decision":"block"}` JSON, which our uap-policy-gate-hermes.sh
|
|
1051
|
+
* wrapper emits. Memory injection rides `pre_llm_call` (cache-safe). Droids are
|
|
1052
|
+
* surfaced via a skills bridge + the UAP MCP `experts.<name>` tools.
|
|
1053
|
+
*/
|
|
1054
|
+
async function installHermesHooks(_cwd) {
|
|
1055
|
+
console.log(chalk.bold('\n Installing UAP Hooks for Hermes Agent (NousResearch)\n'));
|
|
1056
|
+
if (!ensureTemplateHooksExist())
|
|
1057
|
+
return;
|
|
1058
|
+
const home = hermesHome();
|
|
1059
|
+
const agentHooksDir = join(home, 'agent-hooks');
|
|
1060
|
+
copyHookScripts(agentHooksDir);
|
|
1061
|
+
// Hermes-specific gate (translates exit-2 → stdout block JSON; fail-open-safe).
|
|
1062
|
+
const hermesGateSrc = join(getTemplateHooksDir(), 'uap-policy-gate-hermes.sh');
|
|
1063
|
+
const hermesGateDest = join(agentHooksDir, 'uap-policy-gate-hermes.sh');
|
|
1064
|
+
if (existsSync(hermesGateSrc)) {
|
|
1065
|
+
copyFileSync(hermesGateSrc, hermesGateDest);
|
|
1066
|
+
chmodSync(hermesGateDest, 0o755);
|
|
1067
|
+
console.log(chalk.green(' + agent-hooks/uap-policy-gate-hermes.sh'));
|
|
1068
|
+
}
|
|
1069
|
+
else {
|
|
1070
|
+
console.log(chalk.yellow(' - uap-policy-gate-hermes.sh (template not found)'));
|
|
1071
|
+
}
|
|
1072
|
+
// Merge into ~/.hermes/config.yaml (preserve existing keys).
|
|
1073
|
+
const configPath = join(home, 'config.yaml');
|
|
1074
|
+
let config = {};
|
|
1075
|
+
if (existsSync(configPath)) {
|
|
1076
|
+
try {
|
|
1077
|
+
config = yaml.load(readFileSync(configPath, 'utf-8')) || {};
|
|
1078
|
+
}
|
|
1079
|
+
catch {
|
|
1080
|
+
console.log(chalk.yellow(' ~ config.yaml unparseable — merging into a fresh document'));
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
const hooks = config.hooks || {};
|
|
1084
|
+
hooks.pre_tool_call = mergeHermesHook(hooks.pre_tool_call, {
|
|
1085
|
+
matcher: 'write_file|patch|edit|terminal|bash|run|apply',
|
|
1086
|
+
command: hermesGateDest,
|
|
1087
|
+
timeout: 15,
|
|
1088
|
+
});
|
|
1089
|
+
hooks.on_session_start = mergeHermesHook(hooks.on_session_start, {
|
|
1090
|
+
command: join(agentHooksDir, 'session-start.sh'),
|
|
1091
|
+
});
|
|
1092
|
+
config.hooks = hooks;
|
|
1093
|
+
const mcp = config.mcp_servers || {};
|
|
1094
|
+
if (!mcp.uap) {
|
|
1095
|
+
mcp.uap = { command: 'uap', args: ['mcp-router', 'start'], enabled: true };
|
|
1096
|
+
}
|
|
1097
|
+
config.mcp_servers = mcp;
|
|
1098
|
+
// Droid bridge: a skills external dir + an index skill pointing at UAP experts.
|
|
1099
|
+
const skills = config.skills || {};
|
|
1100
|
+
const skillsDir = join(home, 'uap-skills');
|
|
1101
|
+
const extDirs = Array.isArray(skills.external_dirs) ? skills.external_dirs : [];
|
|
1102
|
+
if (!extDirs.includes(skillsDir))
|
|
1103
|
+
extDirs.push(skillsDir);
|
|
1104
|
+
skills.external_dirs = extDirs;
|
|
1105
|
+
config.skills = skills;
|
|
1106
|
+
writeFileSync(configPath, yaml.dump(config, { lineWidth: 100 }));
|
|
1107
|
+
console.log(chalk.green(' + config.yaml (pre_tool_call gate, on_session_start, mcp_servers.uap, skills)'));
|
|
1108
|
+
// Write the droid→skill bridge so Hermes can discover UAP experts.
|
|
1109
|
+
const expertSkillDir = join(skillsDir, 'uap-experts');
|
|
1110
|
+
mkdirSync(expertSkillDir, { recursive: true });
|
|
1111
|
+
const bridge = [
|
|
1112
|
+
'---',
|
|
1113
|
+
'name: uap-experts',
|
|
1114
|
+
'description: Consult UAP expert droids (architecture, security, testing, review, planning) for specialized guidance.',
|
|
1115
|
+
'metadata:',
|
|
1116
|
+
' hermes:',
|
|
1117
|
+
' tags: [uap, experts, review, architecture]',
|
|
1118
|
+
'version: 1',
|
|
1119
|
+
'---',
|
|
1120
|
+
'# UAP Expert Droids',
|
|
1121
|
+
'',
|
|
1122
|
+
'UAP ships a roster of expert droids. Hermes has no per-file persona registry,',
|
|
1123
|
+
'so consult them through UAP instead of defining them as personalities:',
|
|
1124
|
+
'',
|
|
1125
|
+
'- `uap expert-route "<task>"` — get the recommended expert chain for a task.',
|
|
1126
|
+
'- Via the UAP MCP server (`mcp_servers.uap`): `discover_tools "<need>"` then',
|
|
1127
|
+
' `execute_tool experts.<droid> { context }` to consult a specific expert',
|
|
1128
|
+
' (e.g. `experts.architect-reviewer`, `experts.security-auditor`).',
|
|
1129
|
+
'',
|
|
1130
|
+
'## When to Use',
|
|
1131
|
+
'Before non-trivial design, review, or release work — route to the matching expert.',
|
|
1132
|
+
'',
|
|
1133
|
+
'## Verification',
|
|
1134
|
+
'Run `uap droids list` to see the available experts.',
|
|
1135
|
+
'',
|
|
1136
|
+
].join('\n');
|
|
1137
|
+
writeFileSync(join(expertSkillDir, 'SKILL.md'), bridge);
|
|
1138
|
+
console.log(chalk.green(' + uap-skills/uap-experts/SKILL.md (droid bridge)'));
|
|
1139
|
+
console.log(chalk.bold.green('\n Hermes Agent hooks installed successfully!'));
|
|
1140
|
+
console.log(chalk.dim(' Config: ') + chalk.cyan(configPath) + '\n' +
|
|
1141
|
+
chalk.dim(' Note: Hermes prompts once to approve each hook command (stored in\n') +
|
|
1142
|
+
chalk.dim(' ~/.hermes/shell-hooks-allowlist.json). Approve the UAP gate, or set\n') +
|
|
1143
|
+
chalk.dim(' hooks_auto_accept: true in config.yaml. Hermes hooks are fail-open —\n') +
|
|
1144
|
+
chalk.dim(' the UAP gate always emits a decision JSON so real blocks are enforced.\n'));
|
|
1145
|
+
}
|
|
977
1146
|
async function installHooksForTarget(cwd, target) {
|
|
978
1147
|
switch (target) {
|
|
979
1148
|
case 'claude':
|
|
@@ -992,6 +1161,8 @@ async function installHooksForTarget(cwd, target) {
|
|
|
992
1161
|
return installForgeCodeHooks(cwd);
|
|
993
1162
|
case 'omp':
|
|
994
1163
|
return installOmpHooks(cwd);
|
|
1164
|
+
case 'hermes':
|
|
1165
|
+
return installHermesHooks(cwd);
|
|
995
1166
|
}
|
|
996
1167
|
}
|
|
997
1168
|
const HOOK_FILES = [
|
|
@@ -1172,6 +1343,165 @@ async function showHooksStatusForTarget(cwd, target) {
|
|
|
1172
1343
|
return showForgecodeStatus(cwd);
|
|
1173
1344
|
case 'omp':
|
|
1174
1345
|
return showOmpStatus(cwd);
|
|
1346
|
+
case 'hermes':
|
|
1347
|
+
return showHermesStatus(cwd);
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
function fileIncludes(path, needle) {
|
|
1351
|
+
try {
|
|
1352
|
+
return existsSync(path) && readFileSync(path, 'utf-8').includes(needle);
|
|
1353
|
+
}
|
|
1354
|
+
catch {
|
|
1355
|
+
return false;
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
/** Audit one platform's policy-gate coverage. */
|
|
1359
|
+
export function auditPlatform(cwd, target) {
|
|
1360
|
+
const P = (p) => join(cwd, p);
|
|
1361
|
+
const gate = 'uap-policy-gate.sh';
|
|
1362
|
+
switch (target) {
|
|
1363
|
+
case 'claude':
|
|
1364
|
+
case 'vscode': {
|
|
1365
|
+
const cfg = P('.claude/settings.local.json');
|
|
1366
|
+
return {
|
|
1367
|
+
platform: target, tier: 'gateable',
|
|
1368
|
+
scriptPresent: existsSync(P('.claude/hooks/' + gate)),
|
|
1369
|
+
wired: fileIncludes(cfg, gate),
|
|
1370
|
+
note: 'PreToolUse in .claude/settings.local.json',
|
|
1371
|
+
};
|
|
1372
|
+
}
|
|
1373
|
+
case 'cursor':
|
|
1374
|
+
return {
|
|
1375
|
+
platform: target, tier: 'gateable',
|
|
1376
|
+
scriptPresent: existsSync(P('.cursor/hooks/' + gate)),
|
|
1377
|
+
wired: fileIncludes(P('.cursor/hooks.json'), gate),
|
|
1378
|
+
note: 'preToolUse in .cursor/hooks.json',
|
|
1379
|
+
};
|
|
1380
|
+
case 'factory':
|
|
1381
|
+
return {
|
|
1382
|
+
platform: target, tier: 'gateable',
|
|
1383
|
+
scriptPresent: existsSync(P('.factory/hooks/' + gate)),
|
|
1384
|
+
wired: fileIncludes(P('.factory/settings.local.json'), gate),
|
|
1385
|
+
note: 'PreToolUse in .factory/settings.local.json',
|
|
1386
|
+
};
|
|
1387
|
+
case 'opencode':
|
|
1388
|
+
return {
|
|
1389
|
+
platform: target, tier: 'gateable',
|
|
1390
|
+
scriptPresent: existsSync(P('.opencode/hooks/' + gate)),
|
|
1391
|
+
wired: fileIncludes(P('.opencode/plugin/uap-session-hooks.ts'), 'tool.execute.before'),
|
|
1392
|
+
note: 'tool.execute.before in .opencode plugin (throws to block)',
|
|
1393
|
+
};
|
|
1394
|
+
case 'omp':
|
|
1395
|
+
return {
|
|
1396
|
+
platform: target, tier: 'gateable',
|
|
1397
|
+
scriptPresent: existsSync(P('.uap/omp/hooks/pre/' + gate)),
|
|
1398
|
+
wired: fileIncludes(P('.uap/omp/settings.json'), 'preToolUsePolicyGate'),
|
|
1399
|
+
note: 'preToolUsePolicyGate in .uap/omp/settings.json',
|
|
1400
|
+
};
|
|
1401
|
+
case 'hermes': {
|
|
1402
|
+
const home = hermesHome();
|
|
1403
|
+
// Hermes config is global and opt-in. If Hermes isn't set up on this
|
|
1404
|
+
// machine at all, report it as optional rather than a hard gap.
|
|
1405
|
+
if (!existsSync(home)) {
|
|
1406
|
+
return {
|
|
1407
|
+
platform: target, tier: 'advisory',
|
|
1408
|
+
scriptPresent: false, wired: false,
|
|
1409
|
+
note: 'not configured (opt-in: uap hooks install -t hermes)',
|
|
1410
|
+
};
|
|
1411
|
+
}
|
|
1412
|
+
let wired = false;
|
|
1413
|
+
const cfg = join(home, 'config.yaml');
|
|
1414
|
+
if (existsSync(cfg)) {
|
|
1415
|
+
try {
|
|
1416
|
+
const c = yaml.load(readFileSync(cfg, 'utf-8')) || {};
|
|
1417
|
+
const hooks = c.hooks || {};
|
|
1418
|
+
const pre = Array.isArray(hooks.pre_tool_call) ? hooks.pre_tool_call : [];
|
|
1419
|
+
wired = pre.some((e) => typeof e?.command === 'string' && String(e.command).includes('uap-policy-gate'));
|
|
1420
|
+
}
|
|
1421
|
+
catch { /* unparseable */ }
|
|
1422
|
+
}
|
|
1423
|
+
return {
|
|
1424
|
+
platform: target, tier: 'gateable',
|
|
1425
|
+
scriptPresent: existsSync(join(home, 'agent-hooks', 'uap-policy-gate-hermes.sh')),
|
|
1426
|
+
wired,
|
|
1427
|
+
note: 'pre_tool_call in ~/.hermes/config.yaml (global)',
|
|
1428
|
+
};
|
|
1429
|
+
}
|
|
1430
|
+
case 'codex':
|
|
1431
|
+
return {
|
|
1432
|
+
platform: target, tier: 'mcp',
|
|
1433
|
+
scriptPresent: existsSync(P('.codex/hooks/' + gate)),
|
|
1434
|
+
wired: fileIncludes(P('.codex/config.toml'), '[mcp_servers.uap]'),
|
|
1435
|
+
note: 'MCP-gated only — no native pre-tool hook event for codex edit/bash',
|
|
1436
|
+
};
|
|
1437
|
+
case 'forgecode':
|
|
1438
|
+
return {
|
|
1439
|
+
platform: target, tier: 'advisory',
|
|
1440
|
+
scriptPresent: existsSync(P('.forge/forgecode.plugin.sh')),
|
|
1441
|
+
wired: false,
|
|
1442
|
+
note: 'advisory — ForgeCode plugin injects policy context, no pre-tool block path',
|
|
1443
|
+
};
|
|
1175
1444
|
}
|
|
1176
1445
|
}
|
|
1446
|
+
/** `uap hooks doctor` — print a gating-coverage matrix; exit non-zero on gaps. */
|
|
1447
|
+
function hooksDoctor(cwd, targets) {
|
|
1448
|
+
console.log(chalk.bold('\n UAP Policy-Gate Coverage (hooks doctor)\n'));
|
|
1449
|
+
const rows = targets.map((t) => auditPlatform(cwd, t));
|
|
1450
|
+
for (const r of rows) {
|
|
1451
|
+
let mark;
|
|
1452
|
+
if (r.tier === 'gateable') {
|
|
1453
|
+
mark = r.scriptPresent && r.wired ? chalk.green('✅ gated') : chalk.red('❌ GAP');
|
|
1454
|
+
}
|
|
1455
|
+
else if (r.tier === 'mcp') {
|
|
1456
|
+
mark = r.scriptPresent && r.wired ? chalk.yellow('⚠️ MCP-gated') : chalk.red('❌ GAP');
|
|
1457
|
+
}
|
|
1458
|
+
else {
|
|
1459
|
+
mark = chalk.yellow('⚠️ advisory');
|
|
1460
|
+
}
|
|
1461
|
+
console.log(` ${mark} ${chalk.bold(r.platform.padEnd(10))} ${chalk.dim(r.note)}`);
|
|
1462
|
+
if (r.tier === 'gateable' && !(r.scriptPresent && r.wired)) {
|
|
1463
|
+
const reason = !r.scriptPresent ? 'gate script not installed' : 'gate not wired in config';
|
|
1464
|
+
console.log(` ${chalk.red('→ ' + reason)} (run: uap hooks install -t ${r.platform})`);
|
|
1465
|
+
}
|
|
1466
|
+
}
|
|
1467
|
+
const failures = rows.filter((r) => r.tier === 'gateable' && !(r.scriptPresent && r.wired));
|
|
1468
|
+
console.log('');
|
|
1469
|
+
if (failures.length > 0) {
|
|
1470
|
+
console.log(chalk.red.bold(` ${failures.length} platform(s) missing required gating.\n`));
|
|
1471
|
+
process.exitCode = 1;
|
|
1472
|
+
}
|
|
1473
|
+
else {
|
|
1474
|
+
console.log(chalk.green.bold(' All gateable platforms have the policy gate installed and wired.'));
|
|
1475
|
+
console.log(chalk.dim(' (codex = MCP-gated; forgecode = advisory — harness limits)\n'));
|
|
1476
|
+
}
|
|
1477
|
+
}
|
|
1478
|
+
async function showHermesStatus(_cwd) {
|
|
1479
|
+
console.log(chalk.bold('\n Hermes Agent Hooks Status\n'));
|
|
1480
|
+
const home = hermesHome();
|
|
1481
|
+
const configPath = join(home, 'config.yaml');
|
|
1482
|
+
const gate = join(home, 'agent-hooks', 'uap-policy-gate-hermes.sh');
|
|
1483
|
+
const gateStatus = existsSync(gate) ? chalk.green('installed') : chalk.red('missing');
|
|
1484
|
+
console.log(` ${gateStatus} agent-hooks/uap-policy-gate-hermes.sh`);
|
|
1485
|
+
let wired = false;
|
|
1486
|
+
if (existsSync(configPath)) {
|
|
1487
|
+
try {
|
|
1488
|
+
const cfg = yaml.load(readFileSync(configPath, 'utf-8')) || {};
|
|
1489
|
+
const hooks = cfg.hooks || {};
|
|
1490
|
+
const pre = Array.isArray(hooks.pre_tool_call)
|
|
1491
|
+
? hooks.pre_tool_call
|
|
1492
|
+
: [];
|
|
1493
|
+
wired = pre.some((e) => typeof e?.command === 'string' && String(e.command).includes('uap-policy-gate'));
|
|
1494
|
+
}
|
|
1495
|
+
catch {
|
|
1496
|
+
/* unparseable */
|
|
1497
|
+
}
|
|
1498
|
+
}
|
|
1499
|
+
const cfgStatus = !existsSync(configPath)
|
|
1500
|
+
? chalk.red('missing')
|
|
1501
|
+
: wired
|
|
1502
|
+
? chalk.green('gate wired (pre_tool_call)')
|
|
1503
|
+
: chalk.yellow('present, gate NOT wired');
|
|
1504
|
+
console.log(` ${cfgStatus} ${configPath}`);
|
|
1505
|
+
console.log('');
|
|
1506
|
+
}
|
|
1177
1507
|
//# sourceMappingURL=hooks.js.map
|
package/dist/cli/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/cli/hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/cli/hooks.ts"],"names":[],"mappings":"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"}
|