@miller-tech/uap 1.40.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.
- package/README.md +109 -642
- package/docs/INDEX.md +48 -286
- package/docs/architecture/OVERVIEW.md +328 -0
- package/docs/architecture/PROTOCOL.md +204 -0
- package/docs/benchmarks/README.md +17 -192
- package/docs/getting-started/CONFIGURATION.md +237 -0
- package/docs/getting-started/INSTALLATION.md +125 -0
- package/docs/getting-started/QUICKSTART.md +115 -0
- package/docs/guides/COORDINATION.md +162 -0
- package/docs/guides/DELIVER.md +115 -0
- package/docs/guides/DEPLOY_BATCHING.md +212 -0
- package/docs/guides/DROIDS_AND_SKILLS.md +202 -0
- package/docs/guides/LOCAL_MODELS.md +148 -0
- package/docs/guides/MCP_ROUTER.md +195 -0
- package/docs/guides/MEMORY.md +235 -0
- package/docs/guides/MULTI_MODEL.md +223 -0
- package/docs/guides/POLICIES.md +190 -0
- package/docs/guides/WORKTREE_WORKFLOW.md +185 -0
- package/docs/integrations/MCP_ROUTER.md +147 -0
- package/docs/integrations/RTK.md +102 -0
- package/docs/reference/API.md +485 -0
- package/docs/reference/CLI.md +719 -0
- package/docs/reference/CONFIGURATION.md +90 -193
- package/docs/reference/DATABASE_SCHEMA.md +110 -344
- package/docs/reference/FEATURES.md +176 -472
- package/docs/reference/PATTERNS.md +102 -0
- package/docs/reference/PLATFORMS.md +83 -0
- package/package.json +1 -1
- package/docs/AGENTS.md +0 -423
- package/docs/DOCUMENTATION_AUDIT_REPORT.md +0 -131
- package/docs/GETTING_STARTED.md +0 -288
- package/docs/PROJECT_ANALYSIS_REPORT.md +0 -510
- package/docs/architecture/COMPLETE_ARCHITECTURE.md +0 -748
- package/docs/architecture/EXPERT_STACK.md +0 -137
- package/docs/architecture/MULTI_MODEL.md +0 -224
- package/docs/architecture/PLATFORM_GATING.md +0 -68
- package/docs/architecture/SYSTEM_ANALYSIS.md +0 -334
- package/docs/architecture/UAP_COMPLIANCE.md +0 -217
- package/docs/architecture/UAP_PROTOCOL.md +0 -339
- package/docs/architecture/UAP_STRICT_DROIDS.md +0 -172
- package/docs/archive/BALLS_MODE_SELF_ANALYSIS.md +0 -260
- package/docs/archive/BENCHMARK_GAPS_AND_PLAN.md +0 -146
- package/docs/archive/FAILING_TASKS_SOLUTION_PLAN.md +0 -668
- package/docs/archive/JINJA2-SYSTEM-MESSAGE-FIX.md +0 -209
- package/docs/archive/MODEL_ROUTING_IMPLEMENTATION_SUMMARY.md +0 -281
- package/docs/archive/MODEL_ROUTING_OPTIMIZATION_PLAN.md +0 -320
- package/docs/archive/NPM-PUBLISH-V0.9.1.md +0 -240
- package/docs/archive/OPTIMIZATION_OPTIONS.md +0 -334
- package/docs/archive/PARALLELISM_GAPS_AND_OPTIONS.md +0 -422
- package/docs/archive/POLICY_GATE_IMPLEMENTATION.md +0 -245
- package/docs/archive/SETUP_IMPROVEMENTS.md +0 -213
- package/docs/archive/UAP_GENERIC_OPTIMIZATION_PLAN.md +0 -270
- package/docs/archive/UAP_OPTIMIZATION_PLAN.md +0 -701
- package/docs/archive/UAP_V103_PATTERN_DESIGN.md +0 -315
- package/docs/archive/UAP_V104_COMPLIANCE_DESIGN.md +0 -223
- package/docs/archive/changelog/2026-03-10_uap-100-compliance.md +0 -77
- package/docs/archive/changelog/2026-03-10_uap-full-system-verification.md +0 -109
- package/docs/archive/opencode-integration-guide.md +0 -740
- package/docs/archive/opencode-integration-quickref.md +0 -180
- package/docs/benchmarks/OVERNIGHT_RUNNER.md +0 -341
- package/docs/benchmarks/SPECULATIVE_DECODING_JOURNEY_2026-03.md +0 -221
- package/docs/benchmarks/VALIDATION_PLAN.md +0 -568
- package/docs/blog/SPECULATIVE_DECODING_PRODUCTION_PLAYBOOK.md +0 -139
- package/docs/blog/local-coding-agents.md +0 -266
- package/docs/blog/x-thread.md +0 -254
- package/docs/deployment/DEPLOYMENT.md +0 -895
- package/docs/deployment/DEPLOYMENT_STRATEGIES.md +0 -518
- package/docs/deployment/DEPLOY_BATCHER_ANALYSIS.md +0 -224
- package/docs/deployment/DEPLOY_BATCHING.md +0 -273
- package/docs/deployment/DEPLOY_BUCKETING_ANALYSIS.md +0 -420
- package/docs/deployment/QWEN35_LLAMA_CPP.md +0 -426
- package/docs/deployment/UAP_LLAMA_ANTHROPIC_PROXY_BOOTSTRAP.md +0 -279
- package/docs/getting-started/INTEGRATION.md +0 -628
- package/docs/getting-started/OVERVIEW.md +0 -324
- package/docs/getting-started/SETUP.md +0 -377
- package/docs/integrations/MCP_ROUTER_SETUP.md +0 -445
- package/docs/integrations/RTK_INTEGRATION.md +0 -468
- package/docs/operations/TROUBLESHOOTING.md +0 -660
- package/docs/pr/PR_SPECULATIVE_DOCS_TEMPLATE.md +0 -146
- package/docs/pr/UPSTREAM_PRS.md +0 -424
- package/docs/reference/API_REFERENCE.md +0 -903
- package/docs/reference/EXPERT_DROIDS.md +0 -219
- package/docs/reference/HARNESS-MATRIX.md +0 -318
- package/docs/reference/PATTERN_LIBRARY.md +0 -636
- package/docs/reference/UAP_CLI_REFERENCE.md +0 -620
- package/docs/research/BEHAVIORAL_PATTERNS.md +0 -228
- package/docs/research/DOMAIN_STRATEGIES.md +0 -316
- package/docs/research/MEMORY_SYSTEMS_COMPARISON.md +0 -812
- package/docs/research/PATTERN_ANALYSIS_2026-01-18.md +0 -436
- package/docs/research/PERFORMANCE_ANALYSIS_2026-01-18.md +0 -209
- package/docs/research/PERFORMANCE_TEST_PLAN.md +0 -383
- package/docs/research/TERMINAL_BENCH_LEARNINGS.md +0 -217
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
# Model Routing CLI Selection & UAP Compliance Analysis
|
|
2
|
-
|
|
3
|
-
## Current Issues Identified
|
|
4
|
-
|
|
5
|
-
### 1. Missing 'task' Role in Model Routing
|
|
6
|
-
|
|
7
|
-
**File**: `src/models/types.ts` (line 15)
|
|
8
|
-
|
|
9
|
-
```typescript
|
|
10
|
-
export type ModelRole = 'planner' | 'executor' | 'reviewer' | 'fallback';
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
The routing rules support `'task'` as a target role, but the type definition is missing this value.
|
|
14
|
-
|
|
15
|
-
### 2. Null Issues in Router
|
|
16
|
-
|
|
17
|
-
**File**: `src/models/router.ts`
|
|
18
|
-
|
|
19
|
-
- Line 117: `preset` can be undefined when model preset doesn't exist
|
|
20
|
-
- Line 468: No fallback when executor model is not found
|
|
21
|
-
- Line 13: Import uses `ModelPresets` but no null check before access
|
|
22
|
-
|
|
23
|
-
### 3. Missing CLI Command for Model Selection
|
|
24
|
-
|
|
25
|
-
**Current**: `uap model status`, `route`, `plan`, `compare` exist
|
|
26
|
-
**Missing**: Interactive CLI to select models per purpose at runtime
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## UAP Compliance Correctness Analysis
|
|
31
|
-
|
|
32
|
-
### Compliant Features ✅
|
|
33
|
-
|
|
34
|
-
1. **Multi-model architecture types** - Properly defined in `types.ts`
|
|
35
|
-
2. **Routing rules with priorities** - Implemented in `router.ts`
|
|
36
|
-
3. **Task classification** - Complexity-based routing works correctly
|
|
37
|
-
4. **Planner/Executor separation** - Implemented with validation
|
|
38
|
-
5. **Cost estimation** - Built into router
|
|
39
|
-
6. **Fallback mechanisms** - Present in all critical paths
|
|
40
|
-
|
|
41
|
-
### Non-Compliant Features ❌
|
|
42
|
-
|
|
43
|
-
1. **Missing 'task' role** - Type definition incomplete
|
|
44
|
-
2. **No null safety** - Multiple undefined access patterns
|
|
45
|
-
3. **Incomplete CLI** - No interactive model selection
|
|
46
|
-
4. **TypeScript build issues** - May fail on missing presets
|
|
47
|
-
5. **No validation for role assignments** - Can assign non-existent models to roles
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Performance Analysis
|
|
52
|
-
|
|
53
|
-
### Current Implementation Performance
|
|
54
|
-
|
|
55
|
-
| Feature | Performance | Notes |
|
|
56
|
-
| ------------------- | ----------- | ------------------------------- |
|
|
57
|
-
| Task Classification | O(1) | Keyword matching is fast |
|
|
58
|
-
| Model Selection | O(n) | Iterates through routing rules |
|
|
59
|
-
| Plan Creation | O(n\*m) | n=subtasks, m=complexity levels |
|
|
60
|
-
| Routing Analysis | O(n) | Full rule evaluation |
|
|
61
|
-
|
|
62
|
-
### Bottlenecks Identified
|
|
63
|
-
|
|
64
|
-
1. **Routing rules iteration** - Can be optimized with indexing
|
|
65
|
-
2. **Keyword matching** - Linear scan through all keywords
|
|
66
|
-
3. **No caching** - Classification recalculated each time
|
|
67
|
-
4. **Model lookup** - Map is efficient but presets initialization is synchronous
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Optimization Options
|
|
72
|
-
|
|
73
|
-
### Option 1: Quick Fixes (Recommended for Immediate Use)
|
|
74
|
-
|
|
75
|
-
**Priority**: High | **Effort**: Low | **Impact**: Medium
|
|
76
|
-
|
|
77
|
-
#### A. Fix Missing 'task' Role
|
|
78
|
-
|
|
79
|
-
```typescript
|
|
80
|
-
// src/models/types.ts line 15
|
|
81
|
-
export type ModelRole = 'planner' | 'executor' | 'reviewer' | 'fallback' | 'task';
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
#### B. Add Null Safety to Router
|
|
85
|
-
|
|
86
|
-
```typescript
|
|
87
|
-
// src/models/router.ts line 117-120
|
|
88
|
-
if (preset) {
|
|
89
|
-
this.models.set(modelDef, preset);
|
|
90
|
-
}
|
|
91
|
-
// Add check before accessing preset throughout
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
#### C. Add Role Assignment Validation
|
|
95
|
-
|
|
96
|
-
```typescript
|
|
97
|
-
// In ModelRouter constructor
|
|
98
|
-
private validateRoleAssignments(): void {
|
|
99
|
-
const roles = this.config.roles || {};
|
|
100
|
-
for (const [role, modelId] of Object.entries(roles)) {
|
|
101
|
-
if (!this.models.has(modelId)) {
|
|
102
|
-
console.warn(`Role ${role} assigned to non-existent model ${modelId}`);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### Option 2: CLI Enhancement (User-Friendly Selection)
|
|
109
|
-
|
|
110
|
-
**Priority**: High | **Effort**: Medium | **Impact**: High
|
|
111
|
-
|
|
112
|
-
#### A. Add Interactive Model Selector
|
|
113
|
-
|
|
114
|
-
```typescript
|
|
115
|
-
// src/cli/model.ts - New command
|
|
116
|
-
program
|
|
117
|
-
.command('model:select')
|
|
118
|
-
.description('Interactively select models for each role')
|
|
119
|
-
.option('--planner <id>', 'Model ID for planning role')
|
|
120
|
-
.option('--executor <id>', 'Model ID for execution role')
|
|
121
|
-
.option('--reviewer <id>', 'Model ID for review role')
|
|
122
|
-
.option('--fallback <id>', 'Model ID for fallback role')
|
|
123
|
-
.option(
|
|
124
|
-
'--strategy <strategy>',
|
|
125
|
-
'Routing strategy: balanced|cost-optimized|performance-first|adaptive'
|
|
126
|
-
)
|
|
127
|
-
.option('--save', 'Save configuration to .uap.json')
|
|
128
|
-
.action(async (options) => {
|
|
129
|
-
// Interactive selection logic
|
|
130
|
-
});
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
#### B. Add Preset Browser
|
|
134
|
-
|
|
135
|
-
```typescript
|
|
136
|
-
// Show available presets with details
|
|
137
|
-
uap model presets --verbose
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
#### C. Add Configuration Export
|
|
141
|
-
|
|
142
|
-
```typescript
|
|
143
|
-
// Export current config as JSON/YAML
|
|
144
|
-
uap model export --format json > model-config.json
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### Option 3: Performance Optimizations
|
|
148
|
-
|
|
149
|
-
**Priority**: Medium | **Effort**: Medium | **Impact**: High
|
|
150
|
-
|
|
151
|
-
#### A. Add Classification Caching
|
|
152
|
-
|
|
153
|
-
```typescript
|
|
154
|
-
class ModelRouter {
|
|
155
|
-
private classificationCache = new Map<string, TaskClassificationResult>();
|
|
156
|
-
|
|
157
|
-
classifyTask(taskDescription: string): TaskClassificationResult {
|
|
158
|
-
const cacheKey = taskDescription.toLowerCase().trim();
|
|
159
|
-
if (this.classificationCache.has(cacheKey)) {
|
|
160
|
-
return this.classificationCache.get(cacheKey)!;
|
|
161
|
-
}
|
|
162
|
-
// ... existing logic ...
|
|
163
|
-
const result = /* classification logic */;
|
|
164
|
-
this.classificationCache.set(cacheKey, result);
|
|
165
|
-
return result;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
#### B. Optimize Keyword Matching
|
|
171
|
-
|
|
172
|
-
```typescript
|
|
173
|
-
// Pre-compile keyword patterns for faster matching
|
|
174
|
-
private complexityPatterns: Map<TaskComplexity, RegExp[]> = new Map();
|
|
175
|
-
private taskTypePatterns: Map<string, RegExp[]> = new Map();
|
|
176
|
-
|
|
177
|
-
private buildPatternIndex(): void {
|
|
178
|
-
for (const [level, keywords] of Object.entries(COMPLEXITY_KEYWORDS)) {
|
|
179
|
-
this.complexityPatterns.set(level as TaskComplexity,
|
|
180
|
-
keywords.map(kw => new RegExp(`\\b${kw}\\b`, 'i')));
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
#### C. Add Routing Rule Indexing
|
|
186
|
-
|
|
187
|
-
```typescript
|
|
188
|
-
// Group rules by condition for O(1) lookup
|
|
189
|
-
private complexityIndex: Map<TaskComplexity, RoutingRule[]> = new Map();
|
|
190
|
-
type TaskTypeIndex: Map<string, RoutingRule[]> = new Map();
|
|
191
|
-
|
|
192
|
-
private buildIndexes(): void {
|
|
193
|
-
for (const rule of this.routingRules) {
|
|
194
|
-
if (rule.complexity) {
|
|
195
|
-
const rules = this.complexityIndex.get(rule.complexity) || [];
|
|
196
|
-
rules.push(rule);
|
|
197
|
-
this.complexityIndex.set(rule.complexity, rules);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Option 4: Enhanced Validation & Diagnostics
|
|
204
|
-
|
|
205
|
-
**Priority**: Medium | **Effort**: Low | **Impact**: Medium
|
|
206
|
-
|
|
207
|
-
#### A. Add Model Health Check
|
|
208
|
-
|
|
209
|
-
```typescript
|
|
210
|
-
// src/cli/model.ts
|
|
211
|
-
async function healthCheckCommand(): Promise<void> {
|
|
212
|
-
const config = loadConfig();
|
|
213
|
-
const mmConfig = getMultiModelConfig(config);
|
|
214
|
-
const router = createRouter(mmConfig);
|
|
215
|
-
|
|
216
|
-
console.log('=== Model Health Check ===\n');
|
|
217
|
-
|
|
218
|
-
// Check all assigned models exist
|
|
219
|
-
const roles = mmConfig.roles || {};
|
|
220
|
-
let hasErrors = false;
|
|
221
|
-
for (const [role, modelId] of Object.entries(roles)) {
|
|
222
|
-
if (!router.getModel(modelId)) {
|
|
223
|
-
console.error(`❌ ${role}: Model '${modelId}' not found`);
|
|
224
|
-
hasErrors = true;
|
|
225
|
-
} else {
|
|
226
|
-
console.log(`✓ ${role}: ${modelId} (OK)`);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
if (hasErrors) {
|
|
231
|
-
process.exitCode = 1;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
#### B. Add Configuration Diff
|
|
237
|
-
|
|
238
|
-
```typescript
|
|
239
|
-
// Compare current config with defaults
|
|
240
|
-
uap model diff
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
#### C. Add Simulation Mode
|
|
244
|
-
|
|
245
|
-
```typescript
|
|
246
|
-
// Test routing without execution
|
|
247
|
-
uap model simulate --task "<task description>" --dry-run
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## Recommended Implementation Plan
|
|
253
|
-
|
|
254
|
-
### Phase 1: Critical Fixes (1-2 hours)
|
|
255
|
-
|
|
256
|
-
1. ✅ Fix missing 'task' role type definition
|
|
257
|
-
2. ✅ Add null safety checks in router
|
|
258
|
-
3. ✅ Add role assignment validation
|
|
259
|
-
4. ✅ Run build to verify TypeScript compilation
|
|
260
|
-
|
|
261
|
-
### Phase 2: CLI Enhancement (2-3 hours)
|
|
262
|
-
|
|
263
|
-
1. ✅ Add `uap model select` interactive command
|
|
264
|
-
2. ✅ Add `uap model presets` listing
|
|
265
|
-
3. ✅ Add `uap model export` for config backup
|
|
266
|
-
4. ✅ Add `uap model health` diagnostic
|
|
267
|
-
|
|
268
|
-
### Phase 3: Performance (4-6 hours)
|
|
269
|
-
|
|
270
|
-
1. ✅ Add classification caching
|
|
271
|
-
2. ✅ Optimize keyword matching with precompiled patterns
|
|
272
|
-
3. ✅ Index routing rules for faster lookup
|
|
273
|
-
4. ✅ Benchmark before/after performance
|
|
274
|
-
|
|
275
|
-
### Phase 4: Validation & Testing (2-3 hours)
|
|
276
|
-
|
|
277
|
-
1. ✅ Add comprehensive unit tests for router
|
|
278
|
-
2. ✅ Add integration tests for CLI commands
|
|
279
|
-
3. ✅ Create sample configurations for testing
|
|
280
|
-
4. ✅ Document all new commands
|
|
281
|
-
|
|
282
|
-
---
|
|
283
|
-
|
|
284
|
-
## Implementation Priority Matrix
|
|
285
|
-
|
|
286
|
-
| Task | Priority | Effort | Impact | Phase |
|
|
287
|
-
| ------------------------ | -------- | ------ | ------ | ----- |
|
|
288
|
-
| Fix 'task' role type | High | Low | High | 1 |
|
|
289
|
-
| Add null safety | High | Low | High | 1 |
|
|
290
|
-
| CLI interactive selector | High | Medium | High | 2 |
|
|
291
|
-
| Role validation | High | Low | Medium | 1 |
|
|
292
|
-
| Classification cache | Medium | Low | Medium | 3 |
|
|
293
|
-
| Keyword optimization | Medium | Medium | Low | 3 |
|
|
294
|
-
| Health check command | Medium | Low | Medium | 2 |
|
|
295
|
-
| Rule indexing | Medium | Medium | Medium | 3 |
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
## UAP Compliance Checklist
|
|
300
|
-
|
|
301
|
-
After implementation, verify:
|
|
302
|
-
|
|
303
|
-
- [ ] All model roles properly typed and validated
|
|
304
|
-
- [ ] No undefined/null access patterns in router
|
|
305
|
-
- [ ] CLI commands for model selection work interactively
|
|
306
|
-
- [ ] Build passes without errors
|
|
307
|
-
- [ ] All existing tests pass
|
|
308
|
-
- [ ] New commands documented in CLI help
|
|
309
|
-
- [ ] Performance improvements verified with benchmarks
|
|
310
|
-
- [ ] Configuration export/import works correctly
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
## Next Steps
|
|
315
|
-
|
|
316
|
-
1. **Start with Phase 1** - Critical fixes to prevent runtime errors
|
|
317
|
-
2. **Run `npm run build`** after each phase to verify compilation
|
|
318
|
-
3. **Test with sample tasks** to verify routing correctness
|
|
319
|
-
4. **Document changes** in CHANGELOG.md
|
|
320
|
-
5. **Create migration guide** if breaking changes are introduced
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
# 🚀 UAP v0.9.1 NPM Publish - Complete Success!
|
|
2
|
-
|
|
3
|
-
**Date**: March 11, 2026
|
|
4
|
-
**Version**: 0.9.1
|
|
5
|
-
**Status**: ✅ **PUBLISHED TO NPM**
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## ✅ Deployment Complete!
|
|
10
|
-
|
|
11
|
-
### Package Published
|
|
12
|
-
|
|
13
|
-
| Package | Version | Status | URL |
|
|
14
|
-
|---------|---------|--------|-----|
|
|
15
|
-
| `universal-agent-protocol` | **0.9.1** | ✅ Published | [npmjs.com](https://www.npmjs.com/package/universal-agent-protocol) |
|
|
16
|
-
|
|
17
|
-
### Package Details
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
universal-agent-protocol@0.9.1 | MIT | deps: 13 | versions: 7
|
|
21
|
-
Autonomous AI agent memory system with CLAUDE.md protocol enforcement
|
|
22
|
-
https://github.com/DammianMiller/universal-agent-protocol#readme
|
|
23
|
-
|
|
24
|
-
bin: universal-agent-protocol, uap, uap-tool-calls
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Installation
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
# Install the latest version
|
|
31
|
-
npm install universal-agent-protocol@latest
|
|
32
|
-
|
|
33
|
-
# Or install specific version
|
|
34
|
-
npm install universal-agent-protocol@0.9.1
|
|
35
|
-
|
|
36
|
-
# Use globally
|
|
37
|
-
npm install -g universal-agent-protocol
|
|
38
|
-
|
|
39
|
-
# Create UAP instance
|
|
40
|
-
uap setup -p all
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## 🎯 What's in v0.9.1
|
|
46
|
-
|
|
47
|
-
### Key Features
|
|
48
|
-
|
|
49
|
-
1. **OpenCode as Primary Harness** 🎉
|
|
50
|
-
- Full feature parity with Claude Code
|
|
51
|
-
- 6 plugins fully operational
|
|
52
|
-
- MCP Router integration
|
|
53
|
-
|
|
54
|
-
2. **Pattern RAG Enabled by Default** ✅
|
|
55
|
-
- Saves ~12,000 tokens per query
|
|
56
|
-
- On-demand pattern retrieval from CLAUDE.md
|
|
57
|
-
- 397 patterns indexed in Qdrant
|
|
58
|
-
|
|
59
|
-
3. **Jinja2 Template Fix** 🔧
|
|
60
|
-
- Resolved system message validation error
|
|
61
|
-
- Fixed chat template for Qwen3.5
|
|
62
|
-
- Improved error messages
|
|
63
|
-
|
|
64
|
-
4. **Full UAP Compliance** ✅
|
|
65
|
-
- Task management system
|
|
66
|
-
- Worktree isolation
|
|
67
|
-
- Memory persistence
|
|
68
|
-
- Agent coordination
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## 📊 NPM Package Statistics
|
|
73
|
-
|
|
74
|
-
| Metric | Value |
|
|
75
|
-
|--------|-------|
|
|
76
|
-
| **Name** | universal-agent-protocol |
|
|
77
|
-
| **Version** | 0.9.1 |
|
|
78
|
-
| **License** | MIT |
|
|
79
|
-
| **Dependencies** | 13 packages |
|
|
80
|
-
| **Total Versions** | 7 releases |
|
|
81
|
-
| **Tarball Size** | ~2.6 MB (unpacked) |
|
|
82
|
-
| **Binaries** | `uap`, `universal-agent-protocol`, `uap-tool-calls` |
|
|
83
|
-
|
|
84
|
-
### Dependencies
|
|
85
|
-
|
|
86
|
-
```json
|
|
87
|
-
{
|
|
88
|
-
"@octokit/rest": "^20.0.2",
|
|
89
|
-
"@qdrant/js-client-rest": "^1.11.0",
|
|
90
|
-
"better-sqlite3": "^11.0.0",
|
|
91
|
-
"chalk": "^5.3.0",
|
|
92
|
-
"commander": "^11.1.0",
|
|
93
|
-
"ora": "^8.0.1"
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 🚀 GitHub Actions Workflow
|
|
100
|
-
|
|
101
|
-
### Workflow Status
|
|
102
|
-
|
|
103
|
-
| Job | Status | Duration |
|
|
104
|
-
|-----|--------|----------|
|
|
105
|
-
| **Build & Test** | ✅ Success | 1m31s |
|
|
106
|
-
| **Publish to npm** | ✅ Success | 1m29s |
|
|
107
|
-
| **Create Release** | ✅ Success | 12s |
|
|
108
|
-
| **Deploy Documentation** | ⚠️ Skipped | — |
|
|
109
|
-
|
|
110
|
-
### Workflow Run
|
|
111
|
-
|
|
112
|
-
- **Run ID**: `22905773861`
|
|
113
|
-
- **Trigger**: Push to master branch
|
|
114
|
-
- **Commit**: `b82b1e60` - "chore: bump version to 0.9.1 for npm publish"
|
|
115
|
-
- **URL**: https://github.com/DammianMiller/universal-agent-protocol/actions/runs/22905773861
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## 📦 What's Changed (v0.9.1)
|
|
120
|
-
|
|
121
|
-
### Bug Fixes
|
|
122
|
-
|
|
123
|
-
- **Jinja2 Template System Message Error**
|
|
124
|
-
- Fixed validation error in `chat_template.jinja` line 103
|
|
125
|
-
- Added `has_system_message` variable for consistent checks
|
|
126
|
-
- Improved error messages for missing system messages
|
|
127
|
-
|
|
128
|
-
### Improvements
|
|
129
|
-
|
|
130
|
-
- **Default Pattern RAG**
|
|
131
|
-
- Enabled by default when Qdrant is available
|
|
132
|
-
- Automatic pattern retrieval on task queries
|
|
133
|
-
- Token savings: ~12K per query
|
|
134
|
-
|
|
135
|
-
### Infrastructure
|
|
136
|
-
|
|
137
|
-
- **OpenCode Primary Harness**
|
|
138
|
-
- All 6 plugins active and tested
|
|
139
|
-
- MCP Router configured for opencode
|
|
140
|
-
- Full feature parity achieved
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## 🔧 Installation & Usage
|
|
145
|
-
|
|
146
|
-
### Quick Start
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
# Install globally
|
|
150
|
-
npm install -g universal-agent-protocol@latest
|
|
151
|
-
|
|
152
|
-
# Initialize in your project
|
|
153
|
-
cd /path/to/project
|
|
154
|
-
uap setup -p all
|
|
155
|
-
|
|
156
|
-
# That's it! OpenCode is now your primary harness with:
|
|
157
|
-
# ✅ Pattern RAG (~12K tokens saved/query)
|
|
158
|
-
# ✅ Task management active
|
|
159
|
-
# ✅ Worktree isolation ready
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Available Commands
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
# Task Management
|
|
166
|
-
uap task create -t "Your task" --type feature --priority 2
|
|
167
|
-
uap task ready # List tasks ready to work on
|
|
168
|
-
uap task claim <id> # Claim + create worktree
|
|
169
|
-
|
|
170
|
-
# Worktree Isolation
|
|
171
|
-
uap worktree create <slug> # Create isolated branch
|
|
172
|
-
uap worktree list # List active worktrees
|
|
173
|
-
uap worktree pr <id> # Create PR from worktree
|
|
174
|
-
|
|
175
|
-
# Memory & Patterns
|
|
176
|
-
uap memory status # Show memory health
|
|
177
|
-
uap patterns query "search" --top 3 # Query patterns
|
|
178
|
-
|
|
179
|
-
# Compliance
|
|
180
|
-
uap compliance check -v # Check UAP compliance
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## 📚 Documentation
|
|
186
|
-
|
|
187
|
-
### Quick Links
|
|
188
|
-
|
|
189
|
-
- **README**: https://github.com/DammianMiller/universal-agent-protocol#readme
|
|
190
|
-
- **NPM Package**: https://www.npmjs.com/package/universal-agent-protocol
|
|
191
|
-
- **GitHub Actions**: https://github.com/DammianMiller/universal-agent-protocol/actions
|
|
192
|
-
- **Issues**: https://github.com/DammianMiller/universal-agent-protocol/issues
|
|
193
|
-
|
|
194
|
-
### Full Documentation
|
|
195
|
-
|
|
196
|
-
All documentation is available in the `docs/` folder of the repository:
|
|
197
|
-
- `/docs/deployment/` - Deployment guides and summaries
|
|
198
|
-
- `/docs/fixes/` - Bug fix documentation
|
|
199
|
-
- `/README.md` - Complete usage guide
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
## ✅ Deployment Checklist
|
|
204
|
-
|
|
205
|
-
- [x] Version bumped to 0.9.1
|
|
206
|
-
- [x] Build & Test passed (1m31s)
|
|
207
|
-
- [x] Published to npm registry
|
|
208
|
-
- [x] GitHub Release created
|
|
209
|
-
- [x] Package verified on npmjs.com
|
|
210
|
-
- [ ] Documentation deployment (skipped due to protection rules)
|
|
211
|
-
|
|
212
|
-
---
|
|
213
|
-
|
|
214
|
-
## 📊 Previous Versions
|
|
215
|
-
|
|
216
|
-
| Version | Date | Status | Notes |
|
|
217
|
-
|---------|------|--------|-------|
|
|
218
|
-
| 0.9.1 | Mar 11, 2026 | ✅ Published | OpenCode primary harness |
|
|
219
|
-
| 0.9.0 | Mar 10, 2026 | ✅ Published | OpenCode enabled |
|
|
220
|
-
| 0.8.1 | Mar 10, 2026 | ✅ Published | Full compliance enforcement |
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## 🎉 Summary
|
|
225
|
-
|
|
226
|
-
**UAP v0.9.1 is now live on npm!**
|
|
227
|
-
|
|
228
|
-
This release brings:
|
|
229
|
-
- ✅ OpenCode as the primary AI coding harness
|
|
230
|
-
- ✅ Pattern RAG enabled by default (~12K tokens saved/query)
|
|
231
|
-
- ✅ Fixed Jinja2 template system message validation error
|
|
232
|
-
- ✅ Full feature parity across all platforms
|
|
233
|
-
- ✅ 100% UAP compliance enforcement
|
|
234
|
-
|
|
235
|
-
**Install now**: `npm install universal-agent-protocol@latest`
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
*Published via GitHub Actions workflow `deploy-publish.yml`*
|
|
240
|
-
*Workflow Run: https://github.com/DammianMiller/universal-agent-protocol/actions/runs/22905773861*
|