@miller-tech/uap 1.221.0 → 2.0.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 +19 -9
- package/config/exl3-profiles/qwen38-27b-exl3.env +68 -0
- package/config/llama-profiles/qwen38-27b-dflash2.env +6 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/benchmarks/paired/adapter.d.ts +15 -0
- package/dist/benchmarks/paired/adapter.d.ts.map +1 -1
- package/dist/benchmarks/paired/adapter.js +22 -1
- package/dist/benchmarks/paired/adapter.js.map +1 -1
- package/dist/bin/cli.js +20 -24
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/deliver.d.ts +34 -0
- package/dist/cli/deliver.d.ts.map +1 -1
- package/dist/cli/deliver.js +147 -20
- package/dist/cli/deliver.js.map +1 -1
- package/dist/cli/guided-setup.d.ts.map +1 -1
- package/dist/cli/guided-setup.js +15 -0
- package/dist/cli/guided-setup.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +3 -0
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli/plan.js +8 -2
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/policy.d.ts.map +1 -1
- package/dist/cli/policy.js +104 -2
- package/dist/cli/policy.js.map +1 -1
- package/dist/cli/quality.d.ts +11 -0
- package/dist/cli/quality.d.ts.map +1 -0
- package/dist/cli/quality.js +213 -0
- package/dist/cli/quality.js.map +1 -0
- package/dist/cli/wizard-config.d.ts.map +1 -1
- package/dist/cli/wizard-config.js +19 -9
- package/dist/cli/wizard-config.js.map +1 -1
- package/dist/cli/worktree.d.ts.map +1 -1
- package/dist/cli/worktree.js +8 -1
- package/dist/cli/worktree.js.map +1 -1
- package/dist/dashboard/savings.d.ts +1 -4
- package/dist/dashboard/savings.d.ts.map +1 -1
- package/dist/dashboard/savings.js +2 -52
- package/dist/dashboard/savings.js.map +1 -1
- package/dist/delivery/acceptance-judge.d.ts +10 -0
- package/dist/delivery/acceptance-judge.d.ts.map +1 -1
- package/dist/delivery/acceptance-judge.js +45 -3
- package/dist/delivery/acceptance-judge.js.map +1 -1
- package/dist/delivery/agentic-executor.d.ts +12 -1
- package/dist/delivery/agentic-executor.d.ts.map +1 -1
- package/dist/delivery/agentic-executor.js +25 -5
- package/dist/delivery/agentic-executor.js.map +1 -1
- package/dist/delivery/bash-sweep.d.ts +12 -0
- package/dist/delivery/bash-sweep.d.ts.map +1 -1
- package/dist/delivery/bash-sweep.js +8 -1
- package/dist/delivery/bash-sweep.js.map +1 -1
- package/dist/delivery/convergence-loop.d.ts.map +1 -1
- package/dist/delivery/convergence-loop.js +6 -4
- package/dist/delivery/convergence-loop.js.map +1 -1
- package/dist/delivery/execution-gate.d.ts +1 -1
- package/dist/delivery/execution-gate.d.ts.map +1 -1
- package/dist/delivery/execution-gate.js +248 -5
- package/dist/delivery/execution-gate.js.map +1 -1
- package/dist/delivery/snapshot.d.ts +16 -0
- package/dist/delivery/snapshot.d.ts.map +1 -1
- package/dist/delivery/snapshot.js +113 -2
- package/dist/delivery/snapshot.js.map +1 -1
- package/dist/delivery/user-validation.d.ts.map +1 -1
- package/dist/delivery/user-validation.js +55 -10
- package/dist/delivery/user-validation.js.map +1 -1
- package/dist/delivery/verifier-ladder.d.ts +24 -0
- package/dist/delivery/verifier-ladder.d.ts.map +1 -1
- package/dist/delivery/verifier-ladder.js +119 -2
- package/dist/delivery/verifier-ladder.js.map +1 -1
- package/dist/delivery/visual-gate.d.ts +24 -0
- package/dist/delivery/visual-gate.d.ts.map +1 -1
- package/dist/delivery/visual-gate.js +70 -9
- package/dist/delivery/visual-gate.js.map +1 -1
- package/dist/generators/claude-md.js +17 -4
- package/dist/generators/claude-md.js.map +1 -1
- package/dist/policies/liveness.d.ts +105 -0
- package/dist/policies/liveness.d.ts.map +1 -0
- package/dist/policies/liveness.js +251 -0
- package/dist/policies/liveness.js.map +1 -0
- package/dist/policies/policy-memory.d.ts.map +1 -1
- package/dist/policies/policy-memory.js +3 -4
- package/dist/policies/policy-memory.js.map +1 -1
- package/dist/quality/baseline.d.ts +29 -0
- package/dist/quality/baseline.d.ts.map +1 -0
- package/dist/quality/baseline.js +79 -0
- package/dist/quality/baseline.js.map +1 -0
- package/dist/quality/complexity.d.ts +38 -0
- package/dist/quality/complexity.d.ts.map +1 -0
- package/dist/quality/complexity.js +239 -0
- package/dist/quality/complexity.js.map +1 -0
- package/dist/quality/config.d.ts +40 -0
- package/dist/quality/config.d.ts.map +1 -0
- package/dist/quality/config.js +77 -0
- package/dist/quality/config.js.map +1 -0
- package/dist/quality/crap.d.ts +11 -0
- package/dist/quality/crap.d.ts.map +1 -0
- package/dist/quality/crap.js +54 -0
- package/dist/quality/crap.js.map +1 -0
- package/dist/quality/languages.d.ts +25 -0
- package/dist/quality/languages.d.ts.map +1 -0
- package/dist/quality/languages.js +150 -0
- package/dist/quality/languages.js.map +1 -0
- package/dist/quality/report.d.ts +38 -0
- package/dist/quality/report.d.ts.map +1 -0
- package/dist/quality/report.js +251 -0
- package/dist/quality/report.js.map +1 -0
- package/dist/quality/scanner.d.ts +32 -0
- package/dist/quality/scanner.d.ts.map +1 -0
- package/dist/quality/scanner.js +127 -0
- package/dist/quality/scanner.js.map +1 -0
- package/dist/quality/tools.d.ts +28 -0
- package/dist/quality/tools.d.ts.map +1 -0
- package/dist/quality/tools.js +189 -0
- package/dist/quality/tools.js.map +1 -0
- package/dist/types/config.d.ts +148 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +35 -0
- package/dist/types/config.js.map +1 -1
- package/docs/ATTRIBUTION.md +0 -1
- package/docs/INDEX.md +38 -4
- package/docs/analysis/MARKET_POSITION.md +179 -0
- package/docs/architecture/OVERVIEW.md +82 -18
- package/docs/architecture/PROTOCOL.md +1 -1
- package/docs/benchmarks/PAIRED_FINDINGS.md +106 -0
- package/docs/benchmarks/PAIRED_HARNESS.md +16 -0
- package/docs/benchmarks/README.md +59 -0
- package/docs/design/UAP_REACTOR.md +0 -1
- package/docs/getting-started/INSTALLATION.md +1 -1
- package/docs/guides/AUTOMATIC.md +0 -14
- package/docs/guides/AUTOMATIC_FEATURES.md +1 -9
- package/docs/guides/COORDINATION.md +1 -1
- package/docs/guides/DELIVERY_PIPELINE.md +5 -0
- package/docs/guides/DEPLOY_BATCHING.md +1 -1
- package/docs/guides/DROIDS_AND_SKILLS.md +1 -1
- package/docs/guides/LOCAL_MODELS.md +6 -1
- package/docs/guides/MCP_ROUTER.md +1 -1
- package/docs/guides/MEMORY.md +1 -1
- package/docs/guides/MULTI_MODEL.md +1 -1
- package/docs/guides/ORCHESTRATOR.md +1 -1
- package/docs/guides/POLICIES.md +19 -3
- package/docs/guides/QWEN38_EXL3.md +114 -0
- package/docs/guides/WORKTREE_WORKFLOW.md +45 -1
- package/docs/integrations/MCP_ROUTER.md +1 -4
- package/docs/plans/deliver-hardening-plan-2026-07-13.md +173 -0
- package/docs/plans/deliver-hardening-review-response-2026-07-13.md +180 -0
- package/docs/plans/k3-uap-uplift-validation.md +216 -0
- package/docs/plans/qwen38-uap-retest-plan.md +196 -0
- package/docs/reference/API.md +1 -1
- package/docs/reference/CLI.md +49 -14
- package/docs/reference/COMPARISON.md +248 -0
- package/docs/reference/CONFIGURATION.md +1 -3
- package/docs/reference/DATABASE_SCHEMA.md +1 -1
- package/docs/reference/FEATURES.md +3 -3
- package/docs/reference/PATTERNS.md +1 -1
- package/docs/reference/PLATFORMS.md +1 -1
- package/package.json +2 -2
- package/scripts/maintenance/update-skills.py +0 -22
- package/scripts/maintenance/verify-compliance.sh +3 -3
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/src/policies/enforcers/__pycache__/quality_metrics_gate.cpython-312.pyc +0 -0
- package/src/policies/enforcers/adr_guard.py +0 -0
- package/src/policies/enforcers/bearer_lockdown.py +0 -0
- package/src/policies/enforcers/branch_freshness.py +0 -0
- package/src/policies/enforcers/design_token_gate.py +0 -0
- package/src/policies/enforcers/enforcement_self_protect.py +70 -0
- package/src/policies/enforcers/expert_review_required.py +22 -0
- package/src/policies/enforcers/iac_plan_destruction_check.py +0 -0
- package/src/policies/enforcers/quality_metrics_gate.py +447 -0
- package/src/policies/enforcers/ship_loop_gate.py +0 -0
- package/src/policies/enforcers/validate_plan_on_change.py +0 -0
- package/src/policies/enforcers/visual_verification.py +0 -0
- package/src/policies/enforcers/workdir_scope.py +0 -0
- package/src/policies/schemas/policies/expert-review-required.md +9 -1
- package/src/policies/schemas/policies/quality-metrics-gate.md +74 -0
- package/templates/CLAUDE.template.md +1 -1
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/templates/hooks/pre-tool-use-bash.sh +50 -3
- package/templates/hooks/pre-tool-use-edit-write.sh +31 -0
- package/templates/hooks/session-start.sh +15 -0
- package/templates/hooks/uap-policy-gate.sh +187 -5
- package/templates/stryker.config.json +14 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
- package/tools/agents/scripts/anthropic_proxy.py +254 -28
- package/tools/agents/tests/run_acceptance.py +0 -0
- package/tools/agents/tests/test_client_disconnect.py +0 -0
- package/tools/agents/tests/test_cycle_break_exploration.py +0 -0
- package/tools/agents/tests/test_deferral_break.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_all_langs.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_exemptions.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_filepath.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_web_and_bash.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_worktree.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_write_complexity.py +0 -0
- package/tools/agents/tests/test_disconnect_watcher.py +0 -0
- package/tools/agents/tests/test_doubling_break.py +0 -0
- package/tools/agents/tests/test_empty_maxtokens_recovery.py +0 -0
- package/tools/agents/tests/test_empty_tool_loop_break.py +0 -0
- package/tools/agents/tests/test_enforcement_self_protect.py +90 -0
- package/tools/agents/tests/test_enforcer_escape_hatches.py +0 -0
- package/tools/agents/tests/test_error_loop_break.py +0 -0
- package/tools/agents/tests/test_expert_review_pr_scope.py +13 -5
- package/tools/agents/tests/test_fastpath_config.py +0 -0
- package/tools/agents/tests/test_finalize_suppression.py +0 -0
- package/tools/agents/tests/test_gate_evidence.py +0 -0
- package/tools/agents/tests/test_gate_failclosed_indirection.py +0 -0
- package/tools/agents/tests/test_gate_integrity.py +0 -0
- package/tools/agents/tests/test_live_deliver_kill.py +0 -0
- package/tools/agents/tests/test_malformed_unclosed_think.py +0 -0
- package/tools/agents/tests/test_mandate_beats_recon.py +0 -0
- package/tools/agents/tests/test_mandate_deliver.py +0 -0
- package/tools/agents/tests/test_non_stream_resp_log.py +0 -0
- package/tools/agents/tests/test_output_token_ceilings.py +0 -0
- package/tools/agents/tests/test_overflow_truncate_count_tokens.py +0 -0
- package/tools/agents/tests/test_path_containment.py +0 -0
- package/tools/agents/tests/test_path_normalizer_hardened.py +0 -0
- package/tools/agents/tests/test_repeat_call_guard.py +0 -0
- package/tools/agents/tests/test_repeat_guard.py +0 -0
- package/tools/agents/tests/test_session_admission.py +0 -0
- package/tools/agents/tests/test_stream_heartbeat.py +0 -0
- package/tools/agents/tests/test_stream_thinking_deltas.py +405 -0
- package/tools/agents/tests/test_stuck_break_hard.py +0 -0
- package/tools/agents/tests/test_stuck_break_reattach.py +0 -0
- package/tools/agents/tests/test_turn_count_breaker_periodic.py +0 -0
- package/tools/agents/tests/test_upstream_chokepoint.py +0 -0
- package/tools/agents/tests/test_upstream_model_aliases.py +0 -0
- package/tools/agents/tests/test_validate_plan_gate.py +0 -0
- package/tools/agents/tests/test_vision_passthrough.py +0 -0
- package/tools/agents/tests/test_workdir_scope_enforcer.py +0 -0
- package/dist/cli/rtk.d.ts +0 -34
- package/dist/cli/rtk.d.ts.map +0 -1
- package/dist/cli/rtk.js +0 -401
- package/dist/cli/rtk.js.map +0 -1
- package/docs/integrations/RTK.md +0 -113
- package/scripts/setup/install-rtk.sh +0 -184
- package/src/policies/enforcers/rtk_wrap.py +0 -205
- package/src/policies/schemas/policies/rtk-wrap.md +0 -50
- package/tools/agents/tests/test_rtk_wrap.py +0 -151
package/dist/cli/rtk.js
DELETED
|
@@ -1,401 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* RTK (Rust Token Killer) Integration for UAP
|
|
4
|
-
*
|
|
5
|
-
* Provides commands to install and manage RTK CLI proxy
|
|
6
|
-
* for 60-90% token savings on command outputs.
|
|
7
|
-
*/
|
|
8
|
-
import { execSync } from 'child_process';
|
|
9
|
-
import { existsSync, mkdirSync, readFileSync } from 'fs';
|
|
10
|
-
import path from 'path';
|
|
11
|
-
/**
|
|
12
|
-
* Detect the operating system
|
|
13
|
-
*/
|
|
14
|
-
function detectOS() {
|
|
15
|
-
const platform = process.platform;
|
|
16
|
-
if (platform === 'darwin')
|
|
17
|
-
return 'macOS';
|
|
18
|
-
if (platform === 'linux')
|
|
19
|
-
return 'Linux';
|
|
20
|
-
if (platform === 'win32')
|
|
21
|
-
return 'Windows';
|
|
22
|
-
return 'Unknown';
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Detect system architecture
|
|
26
|
-
*/
|
|
27
|
-
function detectArch() {
|
|
28
|
-
const arch = process.arch;
|
|
29
|
-
if (arch === 'x64')
|
|
30
|
-
return 'x86_64';
|
|
31
|
-
if (arch === 'arm64')
|
|
32
|
-
return 'arm64';
|
|
33
|
-
return arch;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Check if RTK is already installed
|
|
37
|
-
*/
|
|
38
|
-
function checkRTKInstalled() {
|
|
39
|
-
try {
|
|
40
|
-
execSync('which rtk', { stdio: 'ignore' });
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Get RTK version if installed
|
|
49
|
-
*/
|
|
50
|
-
function getRTKVersion() {
|
|
51
|
-
try {
|
|
52
|
-
const output = execSync('rtk --version', { encoding: 'utf8' });
|
|
53
|
-
return output.trim().split('\n')[0];
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
return 'unknown';
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Check if a command is available
|
|
61
|
-
*/
|
|
62
|
-
function commandExists(command) {
|
|
63
|
-
try {
|
|
64
|
-
execSync(`which ${command}`, { stdio: 'ignore' });
|
|
65
|
-
return true;
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Install RTK using Homebrew (macOS/Linux)
|
|
73
|
-
*/
|
|
74
|
-
function installWithHomebrew() {
|
|
75
|
-
console.log(' Installing via Homebrew...');
|
|
76
|
-
try {
|
|
77
|
-
execSync('brew install rtk', { stdio: 'inherit' });
|
|
78
|
-
console.log('✅ Installed via Homebrew');
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
console.error('❌ Homebrew installation failed:', error);
|
|
82
|
-
throw error;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Install RTK using Cargo (Rust package manager)
|
|
87
|
-
*/
|
|
88
|
-
function installWithCargo() {
|
|
89
|
-
console.log(' Installing via Cargo...');
|
|
90
|
-
try {
|
|
91
|
-
execSync('cargo install --git https://github.com/rtk-ai/rtk', { stdio: 'inherit' });
|
|
92
|
-
console.log('✅ Installed via Cargo');
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
console.error('❌ Cargo installation failed:', error);
|
|
96
|
-
throw error;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Install RTK using curl (download pre-built binary)
|
|
101
|
-
*/
|
|
102
|
-
async function installWithCurl() {
|
|
103
|
-
console.log(' Installing via curl...');
|
|
104
|
-
const os = detectOS();
|
|
105
|
-
const arch = detectArch();
|
|
106
|
-
let binaryName;
|
|
107
|
-
if (os === 'macOS') {
|
|
108
|
-
binaryName =
|
|
109
|
-
arch === 'arm64' ? 'rtk-aarch64-apple-darwin.tar.gz' : 'rtk-x86_64-apple-darwin.tar.gz';
|
|
110
|
-
}
|
|
111
|
-
else if (os === 'Linux') {
|
|
112
|
-
binaryName =
|
|
113
|
-
arch === 'arm64'
|
|
114
|
-
? 'rtk-aarch64-unknown-linux-gnu.tar.gz'
|
|
115
|
-
: 'rtk-x86_64-unknown-linux-musl.tar.gz';
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
throw new Error('Unsupported OS for curl installation');
|
|
119
|
-
}
|
|
120
|
-
console.log(` Downloading: ${binaryName}`);
|
|
121
|
-
const tempDir = process.env.TMPDIR || '/tmp';
|
|
122
|
-
const downloadPath = path.join(tempDir, 'rtk-install');
|
|
123
|
-
try {
|
|
124
|
-
mkdirSync(downloadPath, { recursive: true });
|
|
125
|
-
// Download binary
|
|
126
|
-
execSync(`curl -fsSL "https://github.com/rtk-ai/rtk/releases/latest/download/${binaryName}" -o "${downloadPath}/rtk.tar.gz"`, { stdio: 'inherit' });
|
|
127
|
-
// Extract
|
|
128
|
-
execSync(`tar -xzf "${downloadPath}/rtk.tar.gz" -C "${downloadPath}"`, { stdio: 'inherit' });
|
|
129
|
-
// Move to local bin
|
|
130
|
-
const localBin = path.join(process.env.HOME || '/tmp', '.local', 'bin');
|
|
131
|
-
mkdirSync(localBin, { recursive: true });
|
|
132
|
-
execSync(`mv "${downloadPath}/rtk" "${localBin}/rtk"`, { stdio: 'inherit' });
|
|
133
|
-
execSync(`chmod +x "${localBin}/rtk"`, { stdio: 'inherit' });
|
|
134
|
-
console.log(`✅ Installed to ${localBin}/rtk`);
|
|
135
|
-
}
|
|
136
|
-
catch (error) {
|
|
137
|
-
console.error('❌ Curl installation failed:', error);
|
|
138
|
-
throw error;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Install RTK with auto-detection of best method
|
|
143
|
-
*/
|
|
144
|
-
export async function installRTK(options = {}) {
|
|
145
|
-
const os = detectOS();
|
|
146
|
-
const arch = detectArch();
|
|
147
|
-
console.log('🔧 Installing RTK (Rust Token Killer)...');
|
|
148
|
-
console.log(' Reduces LLM token consumption by 60-90% on CLI commands');
|
|
149
|
-
console.log('');
|
|
150
|
-
console.log(`Detected: ${os} (${arch})`);
|
|
151
|
-
console.log('');
|
|
152
|
-
// Check if already installed
|
|
153
|
-
if (checkRTKInstalled() && !options.force) {
|
|
154
|
-
const version = getRTKVersion();
|
|
155
|
-
console.log(`ℹ RTK is already installed: ${version}`);
|
|
156
|
-
console.log('');
|
|
157
|
-
if (!process.env.FORCE_INSTALL) {
|
|
158
|
-
console.log('To force upgrade, set FORCE_INSTALL=1 and re-run the install command.');
|
|
159
|
-
console.log('Skipping installation.');
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
// Try installation methods in order of preference
|
|
164
|
-
const methods = [
|
|
165
|
-
{ name: 'homebrew', check: () => os === 'macOS' || commandExists('brew') },
|
|
166
|
-
{ name: 'cargo', check: () => commandExists('cargo') },
|
|
167
|
-
{ name: 'curl', check: () => true }, // Fallback for all platforms
|
|
168
|
-
];
|
|
169
|
-
let installed = false;
|
|
170
|
-
for (const method of methods) {
|
|
171
|
-
if (!options.method || options.method === method.name) {
|
|
172
|
-
console.log(`📦 Trying installation method: ${method.name}`);
|
|
173
|
-
try {
|
|
174
|
-
switch (method.name) {
|
|
175
|
-
case 'homebrew':
|
|
176
|
-
installWithHomebrew();
|
|
177
|
-
installed = true;
|
|
178
|
-
break;
|
|
179
|
-
case 'cargo':
|
|
180
|
-
installWithCargo();
|
|
181
|
-
installed = true;
|
|
182
|
-
break;
|
|
183
|
-
case 'curl':
|
|
184
|
-
installWithCurl();
|
|
185
|
-
installed = true;
|
|
186
|
-
break;
|
|
187
|
-
}
|
|
188
|
-
if (installed) {
|
|
189
|
-
console.log('');
|
|
190
|
-
break;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
catch (error) {
|
|
194
|
-
console.error(` ✗ Failed: ${method.name}`);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
// Verify installation
|
|
199
|
-
if (!checkRTKInstalled()) {
|
|
200
|
-
console.log('');
|
|
201
|
-
console.error('❌ All installation methods failed');
|
|
202
|
-
console.log('');
|
|
203
|
-
console.log('Manual installation options:');
|
|
204
|
-
console.log(' 1. Homebrew (macOS/Linux): brew install rtk');
|
|
205
|
-
console.log(' 2. Cargo: cargo install --git https://github.com/rtk-ai/rtk');
|
|
206
|
-
console.log(' 3. Pre-built binaries: https://github.com/rtk-ai/rtk/releases');
|
|
207
|
-
process.exit(1);
|
|
208
|
-
}
|
|
209
|
-
// Success!
|
|
210
|
-
const version = getRTKVersion();
|
|
211
|
-
console.log('');
|
|
212
|
-
console.log('✅ RTK installed successfully!');
|
|
213
|
-
console.log(` Version: ${version}`);
|
|
214
|
-
console.log('');
|
|
215
|
-
console.log('📚 Next steps:');
|
|
216
|
-
console.log(' 1. Initialize hook for Claude Code:');
|
|
217
|
-
console.log(' rtk init --global');
|
|
218
|
-
console.log('');
|
|
219
|
-
console.log(' 2. Verify installation:');
|
|
220
|
-
console.log(' rtk gain');
|
|
221
|
-
console.log('');
|
|
222
|
-
console.log(' 3. View token savings:');
|
|
223
|
-
console.log(' rtk gain --graph');
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Check RTK status
|
|
227
|
-
*/
|
|
228
|
-
export async function checkRTKStatus() {
|
|
229
|
-
console.log('🔍 Checking RTK status...');
|
|
230
|
-
console.log('');
|
|
231
|
-
if (!checkRTKInstalled()) {
|
|
232
|
-
console.log('❌ RTK is not installed');
|
|
233
|
-
console.log('');
|
|
234
|
-
console.log('Install with: uap install rtk');
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
const version = getRTKVersion();
|
|
238
|
-
console.log(`✅ RTK is installed`);
|
|
239
|
-
console.log(` Version: ${version}`);
|
|
240
|
-
console.log('');
|
|
241
|
-
// Check hook installation
|
|
242
|
-
const homeDir = process.env.HOME || '/tmp';
|
|
243
|
-
const claudeHooksDir = path.join(homeDir, '.claude', 'hooks');
|
|
244
|
-
const rtkHookPath = path.join(claudeHooksDir, 'rtk-rewrite.sh');
|
|
245
|
-
if (existsSync(rtkHookPath)) {
|
|
246
|
-
console.log('✅ RTK hook is installed');
|
|
247
|
-
console.log(` Path: ${rtkHookPath}`);
|
|
248
|
-
console.log('');
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
console.log('⚠️ RTK hook is not installed');
|
|
252
|
-
console.log('');
|
|
253
|
-
console.log('Install hook with: rtk init --global');
|
|
254
|
-
console.log('');
|
|
255
|
-
}
|
|
256
|
-
// Show recent token savings if available
|
|
257
|
-
try {
|
|
258
|
-
const gainOutput = execSync('rtk gain', { encoding: 'utf8' });
|
|
259
|
-
console.log('📊 Recent Token Savings:');
|
|
260
|
-
console.log('─────────────────────────────────');
|
|
261
|
-
// Show first 20 lines of gain output
|
|
262
|
-
const lines = gainOutput.split('\n').slice(0, 20);
|
|
263
|
-
console.log(lines.join('\n'));
|
|
264
|
-
}
|
|
265
|
-
catch {
|
|
266
|
-
console.log('ℹ️ No token savings data available yet');
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Run an arbitrary RTK command by passing through all args to the rtk binary.
|
|
271
|
-
* If RTK is not installed, prints install instructions.
|
|
272
|
-
*/
|
|
273
|
-
export function runRTKCommand(args) {
|
|
274
|
-
if (!checkRTKInstalled()) {
|
|
275
|
-
console.log('RTK is not installed.');
|
|
276
|
-
console.log('');
|
|
277
|
-
console.log('Install RTK using one of these methods:');
|
|
278
|
-
console.log(' uap install rtk # Auto-detect best method');
|
|
279
|
-
console.log(' brew install rtk # Homebrew (macOS/Linux)');
|
|
280
|
-
console.log(' cargo install --git https://github.com/rtk-ai/rtk # Cargo');
|
|
281
|
-
console.log(' Download from: https://github.com/rtk-ai/rtk/releases');
|
|
282
|
-
return;
|
|
283
|
-
}
|
|
284
|
-
const command = ['rtk', ...args].join(' ');
|
|
285
|
-
try {
|
|
286
|
-
execSync(command, { stdio: 'inherit' });
|
|
287
|
-
}
|
|
288
|
-
catch (error) {
|
|
289
|
-
// execSync throws on non-zero exit; the output is already shown via stdio: 'inherit'
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Show unified analytics combining MCP Router stats and RTK stats.
|
|
294
|
-
* Reads MCP Router config from .uap-mcp-router.json and RTK stats from `rtk gain`.
|
|
295
|
-
*/
|
|
296
|
-
export function showUnifiedAnalytics() {
|
|
297
|
-
console.log('');
|
|
298
|
-
console.log('Unified Token Analytics');
|
|
299
|
-
console.log('═══════════════════════════════════════════════════════');
|
|
300
|
-
console.log('');
|
|
301
|
-
// MCP Router stats
|
|
302
|
-
console.log('MCP Router');
|
|
303
|
-
console.log('───────────────────────────────────────────────────────');
|
|
304
|
-
const mcpConfigPath = path.join(process.cwd(), '.uap-mcp-router.json');
|
|
305
|
-
if (existsSync(mcpConfigPath)) {
|
|
306
|
-
try {
|
|
307
|
-
const raw = readFileSync(mcpConfigPath, 'utf-8');
|
|
308
|
-
const mcpConfig = JSON.parse(raw);
|
|
309
|
-
const rows = [
|
|
310
|
-
['Enabled', String(mcpConfig.enabled ?? 'unknown')],
|
|
311
|
-
['Compression', String(mcpConfig.compressionLevel ?? 'unknown')],
|
|
312
|
-
['Max Tools', String(mcpConfig.maxTools ?? 'unknown')],
|
|
313
|
-
['Version', String(mcpConfig.version ?? 'unknown')],
|
|
314
|
-
];
|
|
315
|
-
for (const [label, value] of rows) {
|
|
316
|
-
console.log(` ${label.padEnd(20)} ${value}`);
|
|
317
|
-
}
|
|
318
|
-
console.log(' Savings ~98% (150+ tools behind 2 meta-tools)');
|
|
319
|
-
}
|
|
320
|
-
catch {
|
|
321
|
-
console.log(' Could not parse .uap-mcp-router.json');
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
else {
|
|
325
|
-
console.log(' Not configured. Run: uap setup mcp-router');
|
|
326
|
-
}
|
|
327
|
-
console.log('');
|
|
328
|
-
// RTK stats
|
|
329
|
-
console.log('RTK (Rust Token Killer)');
|
|
330
|
-
console.log('───────────────────────────────────────────────────────');
|
|
331
|
-
if (checkRTKInstalled()) {
|
|
332
|
-
const version = getRTKVersion();
|
|
333
|
-
console.log(` Installed ${version}`);
|
|
334
|
-
try {
|
|
335
|
-
const gainOutput = execSync('rtk gain', {
|
|
336
|
-
encoding: 'utf8',
|
|
337
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
338
|
-
});
|
|
339
|
-
const lines = gainOutput.trim().split('\n');
|
|
340
|
-
for (const line of lines.slice(0, 15)) {
|
|
341
|
-
console.log(` ${line}`);
|
|
342
|
-
}
|
|
343
|
-
if (lines.length > 15) {
|
|
344
|
-
console.log(` ... (${lines.length - 15} more lines)`);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
catch {
|
|
348
|
-
console.log(' No token savings data available yet');
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
else {
|
|
352
|
-
console.log(' Not installed. Run: uap install rtk');
|
|
353
|
-
}
|
|
354
|
-
console.log('');
|
|
355
|
-
console.log('Combined Savings');
|
|
356
|
-
console.log('───────────────────────────────────────────────────────');
|
|
357
|
-
console.log(' MCP Router + RTK = 95%+ total token reduction');
|
|
358
|
-
console.log('');
|
|
359
|
-
}
|
|
360
|
-
/**
|
|
361
|
-
* Show RTK help
|
|
362
|
-
*/
|
|
363
|
-
export function showRTKHelp() {
|
|
364
|
-
console.log(`
|
|
365
|
-
RTK (Rust Token Killer) Integration
|
|
366
|
-
|
|
367
|
-
USAGE:
|
|
368
|
-
uap rtk <command>
|
|
369
|
-
|
|
370
|
-
COMMANDS:
|
|
371
|
-
install [options] Install RTK CLI proxy
|
|
372
|
-
--force Force reinstallation
|
|
373
|
-
--method <m> Installation method (homebrew|cargo|curl)
|
|
374
|
-
|
|
375
|
-
status Check RTK installation status
|
|
376
|
-
|
|
377
|
-
help Show this help message
|
|
378
|
-
|
|
379
|
-
EXAMPLES:
|
|
380
|
-
uap rtk install # Install RTK
|
|
381
|
-
uap rtk install --force # Force reinstall
|
|
382
|
-
uap rtk status # Check installation status
|
|
383
|
-
|
|
384
|
-
INTEGRATION WITH UAP:
|
|
385
|
-
RTK works alongside UAP's MCP Router for maximum token savings:
|
|
386
|
-
|
|
387
|
-
- MCP Router: Reduces tool definition overhead (~98% savings)
|
|
388
|
-
• Hides 150+ tools behind 2 meta-tools
|
|
389
|
-
|
|
390
|
-
- RTK: Compresses CLI command output (60-90% savings)
|
|
391
|
-
• Filters git status, test output, file reads, etc.
|
|
392
|
-
|
|
393
|
-
Combined: 95%+ total token reduction
|
|
394
|
-
|
|
395
|
-
LEARN MORE:
|
|
396
|
-
• RTK Documentation: https://www.rtk-ai.app
|
|
397
|
-
• GitHub: https://github.com/rtk-ai/rtk
|
|
398
|
-
• Architecture: docs/rtk-integration-analysis.md
|
|
399
|
-
`);
|
|
400
|
-
}
|
|
401
|
-
//# sourceMappingURL=rtk.js.map
|
package/dist/cli/rtk.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rtk.js","sourceRoot":"","sources":["../../src/cli/rtk.ts"],"names":[],"mappings":"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"}
|
package/docs/integrations/RTK.md
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# RTK — Rust Token Killer
|
|
2
|
-
|
|
3
|
-
`v1.93.1` · `src/cli/rtk.ts`
|
|
4
|
-
|
|
5
|
-
> **🏭 Where this fits:** Cross-cutting (keeps the belt from jamming) — every
|
|
6
|
-
> `git status`, test run, and file dump your agent echoes floods the context
|
|
7
|
-
> window, so it loses focus and burns budget on terminal noise. **What it
|
|
8
|
-
> delivers:** 60–90% fewer tokens on CLI-command output, transparently, so
|
|
9
|
-
> context stays lean at every station of the
|
|
10
|
-
> [delivery pipeline](../guides/DELIVERY_PIPELINE.md).
|
|
11
|
-
|
|
12
|
-
RTK (Rust Token Killer) is a fast CLI proxy that compresses and filters the
|
|
13
|
-
output of command-line tools — `git status`, test runs, file reads, and similar
|
|
14
|
-
heavy commands — to cut the tokens your agent spends echoing terminal output.
|
|
15
|
-
Source positions it at **60–90% token savings on CLI command output**.
|
|
16
|
-
|
|
17
|
-
RTK is a separate, open-source tool (`https://github.com/rtk-ai/rtk`,
|
|
18
|
-
docs at `https://www.rtk-ai.app`). UAP integrates with it but does not bundle
|
|
19
|
-
it; `uap rtk` manages installation and wiring.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Why RTK + the MCP Router
|
|
24
|
-
|
|
25
|
-
The two integrations guard the same cross-cutting concern — keeping context lean
|
|
26
|
-
so no station downstream jams — but target different sources of token waste, and
|
|
27
|
-
they stack:
|
|
28
|
-
|
|
29
|
-
| Layer | Tool | Saves on |
|
|
30
|
-
|-------|------|----------|
|
|
31
|
-
| MCP tool definitions + tool output | [MCP Router](MCP_ROUTER.md) | ~98% of tool-definition tokens |
|
|
32
|
-
| Raw CLI command output | **RTK** | 60–90% of CLI-output tokens |
|
|
33
|
-
|
|
34
|
-
Source describes the combination as **95%+ total token reduction**
|
|
35
|
-
(`src/cli/rtk.ts`).
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## How UAP integrates RTK
|
|
40
|
-
|
|
41
|
-
`uap rtk <command>` (`src/cli/rtk.ts`):
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
uap rtk install # install RTK, auto-detecting the best method
|
|
45
|
-
uap rtk status # check install + hook wiring + recent savings
|
|
46
|
-
uap rtk help # usage
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### `uap rtk install`
|
|
50
|
-
|
|
51
|
-
Auto-detects the best install method (Homebrew → Cargo → pre-built binary via
|
|
52
|
-
curl) and runs it. Override with flags:
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
uap rtk install --method homebrew # force a method: homebrew | cargo | curl
|
|
56
|
-
uap rtk install --force # reinstall
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Equivalent manual installs:
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
brew install rtk # Homebrew
|
|
63
|
-
cargo install --git https://github.com/rtk-ai/rtk # Cargo
|
|
64
|
-
# or download a release binary from:
|
|
65
|
-
# https://github.com/rtk-ai/rtk/releases
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
After install, initialize and verify:
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
rtk init --global # set up the global rewrite hook
|
|
72
|
-
rtk gain # show token savings analytics
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### `uap rtk status`
|
|
76
|
-
|
|
77
|
-
Reports whether the `rtk` binary is installed, whether the rewrite hook
|
|
78
|
-
(`~/.claude/hooks/rtk-rewrite.sh`) is wired in, and recent savings from
|
|
79
|
-
`rtk gain`.
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## How it works in practice
|
|
84
|
-
|
|
85
|
-
Once the rewrite hook is installed, heavy CLI commands are transparently routed
|
|
86
|
-
through RTK (e.g. `git status` is rewritten to `rtk git status`) with zero
|
|
87
|
-
extra tokens of overhead — the agent issues normal commands and RTK compresses
|
|
88
|
-
the output before it reaches the model. Your agent never knows the belt is being
|
|
89
|
-
kept clear underneath it.
|
|
90
|
-
|
|
91
|
-
UAP can nudge agents to route heavy CLIs through RTK via the `rtk_wrap.py`
|
|
92
|
-
policy enforcer (`src/policies/enforcers/rtk_wrap.py`).
|
|
93
|
-
|
|
94
|
-
Useful RTK meta-commands:
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
rtk gain # token savings analytics
|
|
98
|
-
rtk gain --history # command usage history with savings
|
|
99
|
-
rtk discover # find missed savings opportunities
|
|
100
|
-
rtk --version # verify the install
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Combined analytics
|
|
106
|
-
|
|
107
|
-
`uap rtk` can surface unified analytics combining MCP Router and RTK savings
|
|
108
|
-
(`showUnifiedAnalytics` in `src/cli/rtk.ts`), so you can see total context
|
|
109
|
-
reduction from both layers at once.
|
|
110
|
-
|
|
111
|
-
See also: [MCP_ROUTER.md](MCP_ROUTER.md) ·
|
|
112
|
-
[../architecture/OVERVIEW.md](../architecture/OVERVIEW.md) ·
|
|
113
|
-
[../guides/DELIVERY_PIPELINE.md](../guides/DELIVERY_PIPELINE.md)
|