@miller-tech/uap 1.39.0 → 1.40.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.
Files changed (99) hide show
  1. package/README.md +109 -642
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/bin/cli.js +2 -2
  4. package/dist/bin/cli.js.map +1 -1
  5. package/dist/cli/deliver.d.ts +3 -2
  6. package/dist/cli/deliver.d.ts.map +1 -1
  7. package/dist/cli/deliver.js +10 -5
  8. package/dist/cli/deliver.js.map +1 -1
  9. package/docs/INDEX.md +48 -286
  10. package/docs/architecture/OVERVIEW.md +328 -0
  11. package/docs/architecture/PROTOCOL.md +204 -0
  12. package/docs/benchmarks/README.md +17 -192
  13. package/docs/getting-started/CONFIGURATION.md +237 -0
  14. package/docs/getting-started/INSTALLATION.md +125 -0
  15. package/docs/getting-started/QUICKSTART.md +115 -0
  16. package/docs/guides/COORDINATION.md +162 -0
  17. package/docs/guides/DELIVER.md +115 -0
  18. package/docs/guides/DEPLOY_BATCHING.md +212 -0
  19. package/docs/guides/DROIDS_AND_SKILLS.md +202 -0
  20. package/docs/guides/LOCAL_MODELS.md +148 -0
  21. package/docs/guides/MCP_ROUTER.md +195 -0
  22. package/docs/guides/MEMORY.md +235 -0
  23. package/docs/guides/MULTI_MODEL.md +223 -0
  24. package/docs/guides/POLICIES.md +190 -0
  25. package/docs/guides/WORKTREE_WORKFLOW.md +185 -0
  26. package/docs/integrations/MCP_ROUTER.md +147 -0
  27. package/docs/integrations/RTK.md +102 -0
  28. package/docs/reference/API.md +485 -0
  29. package/docs/reference/CLI.md +719 -0
  30. package/docs/reference/CONFIGURATION.md +90 -193
  31. package/docs/reference/DATABASE_SCHEMA.md +110 -344
  32. package/docs/reference/FEATURES.md +176 -472
  33. package/docs/reference/PATTERNS.md +102 -0
  34. package/docs/reference/PLATFORMS.md +83 -0
  35. package/package.json +1 -1
  36. package/docs/AGENTS.md +0 -423
  37. package/docs/DOCUMENTATION_AUDIT_REPORT.md +0 -131
  38. package/docs/GETTING_STARTED.md +0 -288
  39. package/docs/PROJECT_ANALYSIS_REPORT.md +0 -510
  40. package/docs/architecture/COMPLETE_ARCHITECTURE.md +0 -748
  41. package/docs/architecture/EXPERT_STACK.md +0 -137
  42. package/docs/architecture/MULTI_MODEL.md +0 -224
  43. package/docs/architecture/PLATFORM_GATING.md +0 -68
  44. package/docs/architecture/SYSTEM_ANALYSIS.md +0 -334
  45. package/docs/architecture/UAP_COMPLIANCE.md +0 -217
  46. package/docs/architecture/UAP_PROTOCOL.md +0 -339
  47. package/docs/architecture/UAP_STRICT_DROIDS.md +0 -172
  48. package/docs/archive/BALLS_MODE_SELF_ANALYSIS.md +0 -260
  49. package/docs/archive/BENCHMARK_GAPS_AND_PLAN.md +0 -146
  50. package/docs/archive/FAILING_TASKS_SOLUTION_PLAN.md +0 -668
  51. package/docs/archive/JINJA2-SYSTEM-MESSAGE-FIX.md +0 -209
  52. package/docs/archive/MODEL_ROUTING_IMPLEMENTATION_SUMMARY.md +0 -281
  53. package/docs/archive/MODEL_ROUTING_OPTIMIZATION_PLAN.md +0 -320
  54. package/docs/archive/NPM-PUBLISH-V0.9.1.md +0 -240
  55. package/docs/archive/OPTIMIZATION_OPTIONS.md +0 -334
  56. package/docs/archive/PARALLELISM_GAPS_AND_OPTIONS.md +0 -422
  57. package/docs/archive/POLICY_GATE_IMPLEMENTATION.md +0 -245
  58. package/docs/archive/SETUP_IMPROVEMENTS.md +0 -213
  59. package/docs/archive/UAP_GENERIC_OPTIMIZATION_PLAN.md +0 -270
  60. package/docs/archive/UAP_OPTIMIZATION_PLAN.md +0 -701
  61. package/docs/archive/UAP_V103_PATTERN_DESIGN.md +0 -315
  62. package/docs/archive/UAP_V104_COMPLIANCE_DESIGN.md +0 -223
  63. package/docs/archive/changelog/2026-03-10_uap-100-compliance.md +0 -77
  64. package/docs/archive/changelog/2026-03-10_uap-full-system-verification.md +0 -109
  65. package/docs/archive/opencode-integration-guide.md +0 -740
  66. package/docs/archive/opencode-integration-quickref.md +0 -180
  67. package/docs/benchmarks/OVERNIGHT_RUNNER.md +0 -341
  68. package/docs/benchmarks/SPECULATIVE_DECODING_JOURNEY_2026-03.md +0 -221
  69. package/docs/benchmarks/VALIDATION_PLAN.md +0 -568
  70. package/docs/blog/SPECULATIVE_DECODING_PRODUCTION_PLAYBOOK.md +0 -139
  71. package/docs/blog/local-coding-agents.md +0 -266
  72. package/docs/blog/x-thread.md +0 -254
  73. package/docs/deployment/DEPLOYMENT.md +0 -895
  74. package/docs/deployment/DEPLOYMENT_STRATEGIES.md +0 -518
  75. package/docs/deployment/DEPLOY_BATCHER_ANALYSIS.md +0 -224
  76. package/docs/deployment/DEPLOY_BATCHING.md +0 -273
  77. package/docs/deployment/DEPLOY_BUCKETING_ANALYSIS.md +0 -420
  78. package/docs/deployment/QWEN35_LLAMA_CPP.md +0 -426
  79. package/docs/deployment/UAP_LLAMA_ANTHROPIC_PROXY_BOOTSTRAP.md +0 -279
  80. package/docs/getting-started/INTEGRATION.md +0 -628
  81. package/docs/getting-started/OVERVIEW.md +0 -324
  82. package/docs/getting-started/SETUP.md +0 -377
  83. package/docs/integrations/MCP_ROUTER_SETUP.md +0 -445
  84. package/docs/integrations/RTK_INTEGRATION.md +0 -468
  85. package/docs/operations/TROUBLESHOOTING.md +0 -660
  86. package/docs/pr/PR_SPECULATIVE_DOCS_TEMPLATE.md +0 -146
  87. package/docs/pr/UPSTREAM_PRS.md +0 -424
  88. package/docs/reference/API_REFERENCE.md +0 -903
  89. package/docs/reference/EXPERT_DROIDS.md +0 -219
  90. package/docs/reference/HARNESS-MATRIX.md +0 -318
  91. package/docs/reference/PATTERN_LIBRARY.md +0 -636
  92. package/docs/reference/UAP_CLI_REFERENCE.md +0 -620
  93. package/docs/research/BEHAVIORAL_PATTERNS.md +0 -228
  94. package/docs/research/DOMAIN_STRATEGIES.md +0 -316
  95. package/docs/research/MEMORY_SYSTEMS_COMPARISON.md +0 -812
  96. package/docs/research/PATTERN_ANALYSIS_2026-01-18.md +0 -436
  97. package/docs/research/PERFORMANCE_ANALYSIS_2026-01-18.md +0 -209
  98. package/docs/research/PERFORMANCE_TEST_PLAN.md +0 -383
  99. package/docs/research/TERMINAL_BENCH_LEARNINGS.md +0 -217
@@ -1,208 +1,105 @@
1
- # UAP Configuration Reference
1
+ # Configuration Reference
2
2
 
3
- Complete configuration schema and environment variables for Universal Agent Protocol.
3
+ > Universal Agent Protocol (UAP) v1.40.0
4
4
 
5
- ## .uap.json Project Configuration
5
+ All configuration surfaces below are verified against source. Only options that
6
+ exist in code are documented here.
6
7
 
7
- ### Root Schema
8
+ ## Config files
8
9
 
9
- ```json
10
+ | File | Owner / where read | Purpose |
11
+ |------|--------------------|---------|
12
+ | `.uap.json` | `src/utils/config-loader.ts` (searched up to 3 parent dirs for worktrees) | Central UAP config, validated by `AgentContextConfigSchema` (`src/types/config.ts`). |
13
+ | `.factory/patterns/index.json` | `src/coordination/pattern-router.ts` | Pattern catalogue / router source of truth. |
14
+ | `mcp.json` (platform path; `~/.factory/mcp.json` on Linux) | `src/cli/setup-mcp-router.ts`, `src/mcp-router/config/parser.ts` | MCP router server registration; supports `~`, `%APPDATA%`, `%USERPROFILE%`, `${VAR:-default}`, `$env:VAR` expansion. |
15
+ | `.codex/config.toml` | `src/cli/hooks.ts` | Codex CLI config + UAP MCP server section. |
16
+ | `.claude/settings.local.json` / `.factory/settings.local.json` | `src/cli/hooks.ts` | Hook registration (Claude / Factory / VSCode). |
17
+ | `.cursor/hooks.json` | `src/cli/hooks.ts` | Cursor hook definitions. |
18
+ | `~/.hermes/config.yaml` | `src/cli/hooks.ts` | Hermes (global) hooks + `mcp_servers.uap` + skills bridge. |
19
+ | `.uap/omp/settings.json` | `src/cli/hooks.ts` | Oh-My-Pi integration settings. |
20
+ | `llama-server.conf` | `src/bin/llama-server-optimize.ts` | Generated llama-server config. |
21
+
22
+ ### `.uap.json` schema (`src/types/config.ts`)
23
+
24
+ Top level: `version`, `project`, `memory`, `worktree`, `costOptimization`,
25
+ `timeOptimization`, plus droids/commands/template sections.
26
+
27
+ ```jsonc
10
28
  {
11
- "version": "1.0.0",
12
- "project": {
13
- "name": "string (required)",
14
- "defaultBranch": "string (optional, default: main)"
15
- },
29
+ "project": { "name": "...", "description": "...", "defaultBranch": "main" },
16
30
  "memory": {
17
31
  "shortTerm": {
18
- "enabled": "boolean (default: true)",
19
- "path": "string (default: ./agents/data/memory/short_term.db)",
20
- "maxEntries": "integer (default: 50)"
32
+ "path": "./agents/data/memory/short_term.db",
33
+ "maxEntries": 50
21
34
  },
22
35
  "longTerm": {
23
- "enabled": "boolean (default: true)",
24
- "provider": "string (qdrant | github | local)",
25
- "endpoint": "string (for Qdrant cloud)",
26
- "apiKey": "string (for Qdrant cloud)"
27
- }
28
- },
29
- "multiModel": {
30
- "enabled": "boolean (default: true)",
31
- "models": "string[] (required)",
32
- "roles": {
33
- "planner": "string (model ID)",
34
- "executor": "string (model ID)",
35
- "fallback": "string (model ID)"
36
+ "provider": "qdrant", // qdrant|chroma|pinecone|github|qdrant-cloud|serverless|none
37
+ "collection": "agent_memory",
38
+ "embeddingModel": "all-MiniLM-L6-v2",
39
+ "endpoint": "localhost:6333"
36
40
  },
37
- "routingStrategy": "string (cost-optimized | performance-first | balanced)"
38
- },
39
- "worktrees": {
40
- "enabled": "boolean (default: true)",
41
- "directory": "string (default: .worktrees)"
42
- },
43
- "policies": {
44
- "enabled": "boolean (default: true)",
45
- "auditTrail": "boolean (default: true)"
46
- },
47
- "hooks": {
48
- "sessionStart": "boolean (default: true)",
49
- "preCompact": "boolean (default: true)"
50
- }
51
- }
52
- ```
53
-
54
- ### Validation Rules
55
-
56
- | Field | Type | Required | Default | Description |
57
- | --------------------------- | -------- | -------- | ---------------------------------- | -------------------------- |
58
- | version | string | Yes | - | Schema version (1.0.0) |
59
- | project.name | string | Yes | - | Project identifier |
60
- | project.defaultBranch | string | No | main | Git default branch |
61
- | memory.shortTerm.enabled | boolean | No | true | Enable short-term memory |
62
- | memory.shortTerm.path | string | No | ./agents/data/memory/short_term.db | SQLite path |
63
- | memory.shortTerm.maxEntries | integer | No | 50 | Max working memory entries |
64
- | memory.longTerm.provider | string | No | qdrant | Backend provider |
65
- | multiModel.models | string[] | Yes | - | Available model IDs |
66
- | multiModel.routingStrategy | string | No | balanced | Routing strategy |
67
-
68
- ## Environment Variables
69
-
70
- ### Memory Configuration
71
-
72
- | Variable | Type | Default | Description |
73
- | ----------------------------- | ------ | ---------------------------------- | ------------------------- |
74
- | UAP_MEMORY_SHORT_TERM_PATH | string | ./agents/data/memory/short_term.db | Short-term memory DB path |
75
- | UAP_MEMORY_LONG_TERM_PROVIDER | string | qdrant | Long-term memory backend |
76
- | UAP_QDRANT_ENDPOINT | string | - | Qdrant cloud endpoint |
77
- | UAP_QDRANT_API_KEY | string | - | Qdrant API key |
78
-
79
- ### Multi-Model Configuration
80
-
81
- | Variable | Type | Default | Description |
82
- | -------------------- | ------ | -------- | ---------------------- |
83
- | UAP_MODEL_PLANNER | string | opus-4.6 | Default planner model |
84
- | UAP_MODEL_EXECUTOR | string | glm-4.7 | Default executor model |
85
- | UAP_MODEL_FALLBACK | string | opus-4.5 | Fallback on failure |
86
- | UAP_ROUTING_STRATEGY | string | balanced | Routing strategy |
87
-
88
- ### Worktree Configuration
89
-
90
- | Variable | Type | Default | Description |
91
- | -------------------- | ------- | ---------- | ----------------------- |
92
- | UAP_WORKTREE_DIR | string | .worktrees | Worktree directory path |
93
- | UAP_WORKTREE_ENABLED | boolean | true | Enable worktree system |
94
-
95
- ### Policy Configuration
96
-
97
- | Variable | Type | Default | Description |
98
- | -------------------- | ------- | ------- | ------------------------- |
99
- | UAP_POLICIES_ENABLED | boolean | true | Enable policy enforcement |
100
- | UAP_AUDIT_TRAIL | boolean | true | Enable audit logging |
101
-
102
- ### Debug & Logging
103
-
104
- | Variable | Type | Default | Description |
105
- | --------------------- | ------- | ------- | ------------------------------------ |
106
- | UAP_VERBOSE | boolean | false | Enable verbose logging |
107
- | UAP_LOG_LEVEL | string | info | Log level (debug, info, warn, error) |
108
- | UAP_TELEMETRY_ENABLED | boolean | true | Enable telemetry collection |
109
-
110
- ## Platform-Specific Configurations
111
-
112
- ### Claude Code Integration
113
-
114
- ```json
115
- {
116
- "hooks": {
117
- "claude": {
118
- "sessionStart": "templates/hooks/session-start.sh",
119
- "preCompact": "templates/hooks/pre-compact.sh"
120
- }
121
- }
122
- }
123
- ```
124
-
125
- ### Factory.AI Integration
126
-
127
- ```json
128
- {
129
- "hooks": {
130
- "factory": {
131
- "sessionStart": "templates/hooks/session-start.sh",
132
- "preCompact": "templates/hooks/pre-compact.sh"
41
+ "patternRag": {
42
+ "collection": "agent_patterns",
43
+ "embeddingModel": "all-MiniLM-L6-v2",
44
+ "vectorSize": 384,
45
+ "scoreThreshold": 0.35,
46
+ "topK": 2
133
47
  }
134
- }
135
- }
136
- ```
137
-
138
- ### OpenCode Integration
139
-
140
- ```json
141
- {
142
- "hooks": {
143
- "opencode": {
144
- "sessionStart": "templates/hooks/session-start.sh",
145
- "preCompact": "templates/hooks/pre-compact.sh"
146
- }
147
- }
148
- }
149
- ```
150
-
151
- ## Example Configurations
152
-
153
- ### Minimal Configuration
154
-
155
- ```json
156
- {
157
- "version": "1.0.0",
158
- "project": { "name": "my-project" },
159
- "memory": { "shortTerm": { "enabled": true } },
160
- "multiModel": {
161
- "enabled": true,
162
- "models": ["opus-4.6", "qwen35"],
163
- "roles": { "planner": "opus-4.6", "executor": "qwen35" }
164
- }
165
- }
166
- ```
167
-
168
- ### Production Configuration
169
-
170
- ```json
171
- {
172
- "version": "1.0.0",
173
- "project": { "name": "production-app", "defaultBranch": "main" },
174
- "memory": {
175
- "shortTerm": { "enabled": true, "maxEntries": 50 },
176
- "longTerm": { "enabled": true, "provider": "qdrant", "endpoint": "https://qdrant.example.com" }
177
- },
178
- "multiModel": {
179
- "enabled": true,
180
- "models": ["opus-4.6", "sonnet-4.6", "qwen35"],
181
- "roles": { "planner": "opus-4.6", "executor": "qwen35", "fallback": "sonnet-4.6" },
182
- "routingStrategy": "cost-optimized"
183
48
  },
184
- "worktrees": { "enabled": true, "directory": ".worktrees" },
185
- "policies": { "enabled": true, "auditTrail": true }
49
+ "worktree": { "directory": ".worktrees", "branchPrefix": "feature/" }
186
50
  }
187
51
  ```
188
52
 
189
- ## Configuration Validation
190
-
191
- Run validation:
192
-
193
- ```bash
194
- uap compliance check
195
- ```
196
-
197
- This verifies:
198
-
199
- - Memory database paths exist or can be created
200
- - Model IDs are valid
201
- - Worktree directory is accessible
202
- - Policy enforcement is properly configured
203
-
204
- ## See Also
205
-
206
- - [Getting Started](../../docs/getting-started/SETUP.md)
207
- - [Multi-Model Architecture](../../docs/reference/FEATURES.md#multi-model-architecture)
208
- - [Memory System](../../docs/reference/FEATURES.md#memory-system)
53
+ > **Embedding-model nuance.** The config default `embeddingModel` is
54
+ > `all-MiniLM-L6-v2` (384-dim), but the runtime embedding provider prefers
55
+ > nomic-embed-text via llama.cpp/Ollama (768-dim). Long-term collection vector
56
+ > size is therefore 384 (MiniLM/compliance path) or 768 (cloud/nomic runtime)
57
+ > depending on backend; pattern RAG is consistently 384.
58
+
59
+ ## Environment variables
60
+
61
+ | Variable | Controls | Default |
62
+ |----------|----------|---------|
63
+ | `ANTHROPIC_API_KEY` | Gates ideate / API-backed flows | — |
64
+ | `OPENAI_API_KEY` | OpenAI embedding provider key | — |
65
+ | `QDRANT_URL` | Qdrant cloud/serverless endpoint | — |
66
+ | `QDRANT_API_KEY` | Qdrant cloud API key | — |
67
+ | `GITHUB_TOKEN` | GitHub memory backend PAT | — |
68
+ | `UAP_EMBEDDING_ENDPOINT` | Embedding server URL | `http://192.168.1.165:8081` |
69
+ | `UAP_INFERENCE_ENDPOINT` | Default LLM inference endpoint | `http://localhost:4000/v1` |
70
+ | `UAP_LLM_SERVER` | LLM server selection for tool-call routing | — |
71
+ | `UAP_MODEL_PROFILE` | Active model profile name | `generic` |
72
+ | `UAP_LOG_LEVEL` | Logger level | `warn` |
73
+ | `UAP_DELIVER_MODEL` | Deliver model preset | `qwen35-a3b` |
74
+ | `UAP_ESCALATE_MODEL` | Escalation model preset | — |
75
+ | `UAP_DELIVER_AUTO` | `0` disables auto-deliver | enabled |
76
+ | `UAP_DELIVER_UNTIL_DELIVERED` | `0` disables loop-until-delivered | enabled |
77
+ | `UAP_DELIVER_SANDBOX` | Deliver sandbox root path | — |
78
+ | `UAP_HALO_TRACE` | `1` enables HALO tracing | off |
79
+ | `UAP_HALO_TRACE_PATH` | HALO trace output file | `.uap/halo/traces.jsonl` |
80
+ | `UAP_HALO_PROJECT_ID` | HALO project id | `uap` |
81
+ | `UAP_AGENT_ID` | Agent id for MCP execute | `mcp-<pid>` |
82
+ | `UAP_MAX_PARALLEL` | Override max parallel workers | auto |
83
+ | `UAP_PARALLEL` | `false` disables parallelism | enabled |
84
+ | `UAP_BENCHMARK_MODE` | `true` enables benchmark template mode | off |
85
+ | `UAP_BENCHMARK_PARALLEL` | Parallel model count in benchmarks | — |
86
+ | `HERMES_HOME` | Hermes home dir | `~/.hermes` |
87
+ | `FACTORY_PROJECT_DIR` | Project dir in Factory hook commands | — |
88
+ | `FORGE_UAP_PROJECT` | Project dir in ForgeCode hook scripts | `.` |
89
+ | `FACTORY_API_KEY` / `DROID_API_KEY` | Factory/droid benchmark API key | — |
90
+ | `NODE_ENV` / `UAM_ENV` / `CI` | Serverless env detection | — |
91
+ | `HOME` | `~/.uap/omp`, droids dir resolution | — |
92
+ | `TMPDIR` | rtk temp dir | `/tmp` |
93
+ | `FORCE_INSTALL` | Force rtk reinstall | off |
94
+ | `APPDATA` / `USERPROFILE` | Windows MCP config path expansion | — |
95
+
96
+ Per-model API key env var names are configurable via the model config field
97
+ `apiKeyEnvVar` (`src/types/config.ts`), resolved indirectly in
98
+ `src/models/openai-compat-client.ts`.
99
+
100
+ ## Database & vector store locations
101
+
102
+ See `docs/reference/DATABASE_SCHEMA.md` for full schemas. In brief, SQLite DBs
103
+ live under `agents/data/memory/`, `agents/data/coordination/`, and `.uap/`;
104
+ Qdrant runs as a local Docker container (`qdrant/qdrant:latest`, `uap-qdrant`,
105
+ port 6333) or against a cloud endpoint.