@miller-tech/uap 1.163.12 → 1.164.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 +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/bin/cli.js +5 -4
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/deliver.d.ts +5 -3
- package/dist/cli/deliver.d.ts.map +1 -1
- package/dist/cli/deliver.js +95 -19
- package/dist/cli/deliver.js.map +1 -1
- package/dist/cli/guided-setup.d.ts.map +1 -1
- package/dist/cli/guided-setup.js +13 -1
- package/dist/cli/guided-setup.js.map +1 -1
- package/dist/cli/model.d.ts.map +1 -1
- package/dist/cli/model.js +9 -1
- package/dist/cli/model.js.map +1 -1
- package/dist/cli/proxy-lifecycle.d.ts +66 -13
- package/dist/cli/proxy-lifecycle.d.ts.map +1 -1
- package/dist/cli/proxy-lifecycle.js +116 -49
- package/dist/cli/proxy-lifecycle.js.map +1 -1
- package/dist/cli/proxy.d.ts +46 -0
- package/dist/cli/proxy.d.ts.map +1 -1
- package/dist/cli/proxy.js +353 -23
- package/dist/cli/proxy.js.map +1 -1
- package/dist/cli/wizard-config.d.ts +4 -0
- package/dist/cli/wizard-config.d.ts.map +1 -1
- package/dist/cli/wizard-config.js +14 -3
- package/dist/cli/wizard-config.js.map +1 -1
- package/dist/config/settings-registry.d.ts.map +1 -1
- package/dist/config/settings-registry.js +25 -0
- package/dist/config/settings-registry.js.map +1 -1
- package/dist/coordination/effort-profile.d.ts +39 -0
- package/dist/coordination/effort-profile.d.ts.map +1 -0
- package/dist/coordination/effort-profile.js +74 -0
- package/dist/coordination/effort-profile.js.map +1 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +68 -10
- package/dist/dashboard/server.js.map +1 -1
- package/dist/delivery/convergence-loop.d.ts +37 -0
- package/dist/delivery/convergence-loop.d.ts.map +1 -1
- package/dist/delivery/convergence-loop.js +51 -4
- package/dist/delivery/convergence-loop.js.map +1 -1
- package/dist/delivery/critic.d.ts +7 -0
- package/dist/delivery/critic.d.ts.map +1 -1
- package/dist/delivery/critic.js.map +1 -1
- package/dist/delivery/decompose.d.ts +9 -0
- package/dist/delivery/decompose.d.ts.map +1 -1
- package/dist/delivery/decompose.js +11 -0
- package/dist/delivery/decompose.js.map +1 -1
- package/dist/delivery/graph-safety.d.ts +75 -0
- package/dist/delivery/graph-safety.d.ts.map +1 -0
- package/dist/delivery/graph-safety.js +98 -0
- package/dist/delivery/graph-safety.js.map +1 -0
- package/dist/delivery/per-phase-escalation-controller.d.ts +37 -0
- package/dist/delivery/per-phase-escalation-controller.d.ts.map +1 -0
- package/dist/delivery/per-phase-escalation-controller.js +68 -0
- package/dist/delivery/per-phase-escalation-controller.js.map +1 -0
- package/dist/delivery/per-phase-escalation.d.ts +53 -0
- package/dist/delivery/per-phase-escalation.d.ts.map +1 -0
- package/dist/delivery/per-phase-escalation.js +57 -0
- package/dist/delivery/per-phase-escalation.js.map +1 -0
- package/dist/delivery/reflect.d.ts +56 -0
- package/dist/delivery/reflect.d.ts.map +1 -0
- package/dist/delivery/reflect.js +79 -0
- package/dist/delivery/reflect.js.map +1 -0
- package/dist/delivery/verification-provenance.d.ts +47 -0
- package/dist/delivery/verification-provenance.d.ts.map +1 -0
- package/dist/delivery/verification-provenance.js +48 -0
- package/dist/delivery/verification-provenance.js.map +1 -0
- package/dist/delivery/visual-gate.d.ts +14 -0
- package/dist/delivery/visual-gate.d.ts.map +1 -1
- package/dist/delivery/visual-gate.js +44 -13
- package/dist/delivery/visual-gate.js.map +1 -1
- package/dist/models/complexity.d.ts +36 -0
- package/dist/models/complexity.d.ts.map +1 -0
- package/dist/models/complexity.js +75 -0
- package/dist/models/complexity.js.map +1 -0
- package/dist/models/router.d.ts.map +1 -1
- package/dist/models/router.js +39 -10
- package/dist/models/router.js.map +1 -1
- package/dist/models/types.d.ts +60 -10
- package/dist/models/types.d.ts.map +1 -1
- package/dist/models/types.js +128 -11
- package/dist/models/types.js.map +1 -1
- package/dist/self-tuning/prompt-variants.d.ts +93 -0
- package/dist/self-tuning/prompt-variants.d.ts.map +1 -0
- package/dist/self-tuning/prompt-variants.js +143 -0
- package/dist/self-tuning/prompt-variants.js.map +1 -0
- package/dist/tasks/types.d.ts +2 -2
- package/dist/types/config.d.ts +8 -0
- package/dist/types/config.d.ts.map +1 -1
- package/docs/INDEX.md +1 -1
- package/docs/benchmarks/COMPREHENSIVE_BENCHMARKS.md +47 -53
- package/docs/benchmarks/VALIDATION_RESULTS.md +0 -2
- package/docs/guides/COORDINATION.md +1 -1
- package/docs/guides/DEPLOY_BATCHING.md +1 -1
- package/docs/guides/DROIDS_AND_SKILLS.md +1 -1
- package/docs/guides/LOCAL_MODELS.md +1 -1
- package/docs/guides/MCP_ROUTER.md +1 -1
- package/docs/guides/MEMORY.md +2 -2
- package/docs/guides/MULTI_MODEL.md +1 -1
- package/docs/guides/POLICIES.md +1 -1
- package/docs/guides/PROXY.md +47 -4
- package/docs/guides/SANDBOX.md +1 -1
- package/docs/guides/WORKTREE_WORKFLOW.md +1 -1
- package/docs/reference/CLI.md +16 -3
- package/docs/reference/CONFIGURATION.md +1 -1
- package/docs/reference/FEATURES.md +1 -1
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/templates/hooks/session-end.sh +9 -0
- package/templates/hooks/session-start.sh +10 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
package/dist/tasks/types.d.ts
CHANGED
|
@@ -220,8 +220,8 @@ export declare const TaskFilterSchema: z.ZodObject<{
|
|
|
220
220
|
}, "strip", z.ZodTypeAny, {
|
|
221
221
|
status?: "open" | "in_progress" | "blocked" | "done" | "wont_do" | ("open" | "in_progress" | "blocked" | "done" | "wont_do")[] | undefined;
|
|
222
222
|
type?: "task" | "chore" | "feature" | "bug" | "epic" | "story" | ("task" | "chore" | "feature" | "bug" | "epic" | "story")[] | undefined;
|
|
223
|
-
priority?: number | number[] | undefined;
|
|
224
223
|
search?: string | undefined;
|
|
224
|
+
priority?: number | number[] | undefined;
|
|
225
225
|
labels?: string[] | undefined;
|
|
226
226
|
parentId?: string | undefined;
|
|
227
227
|
assignee?: string | undefined;
|
|
@@ -231,8 +231,8 @@ export declare const TaskFilterSchema: z.ZodObject<{
|
|
|
231
231
|
}, {
|
|
232
232
|
status?: "open" | "in_progress" | "blocked" | "done" | "wont_do" | ("open" | "in_progress" | "blocked" | "done" | "wont_do")[] | undefined;
|
|
233
233
|
type?: "task" | "chore" | "feature" | "bug" | "epic" | "story" | ("task" | "chore" | "feature" | "bug" | "epic" | "story")[] | undefined;
|
|
234
|
-
priority?: number | number[] | undefined;
|
|
235
234
|
search?: string | undefined;
|
|
235
|
+
priority?: number | number[] | undefined;
|
|
236
236
|
labels?: string[] | undefined;
|
|
237
237
|
parentId?: string | undefined;
|
|
238
238
|
assignee?: string | undefined;
|
package/dist/types/config.d.ts
CHANGED
|
@@ -1415,6 +1415,7 @@ export declare const MultiModelSchema: z.ZodObject<{
|
|
|
1415
1415
|
executor: string;
|
|
1416
1416
|
}>]>>>;
|
|
1417
1417
|
routingStrategy: z.ZodDefault<z.ZodEnum<["cost-optimized", "performance-first", "balanced", "adaptive"]>>;
|
|
1418
|
+
routingPreset: z.ZodOptional<z.ZodString>;
|
|
1418
1419
|
plannerSettings: z.ZodOptional<z.ZodObject<{
|
|
1419
1420
|
complexityThreshold: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
|
|
1420
1421
|
maxPlanningTokens: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1481,6 +1482,7 @@ export declare const MultiModelSchema: z.ZodObject<{
|
|
|
1481
1482
|
planner: string;
|
|
1482
1483
|
executor: string;
|
|
1483
1484
|
}>> | undefined;
|
|
1485
|
+
routingPreset?: string | undefined;
|
|
1484
1486
|
plannerSettings?: {
|
|
1485
1487
|
complexityThreshold: "low" | "medium" | "high";
|
|
1486
1488
|
maxPlanningTokens: number;
|
|
@@ -1531,6 +1533,7 @@ export declare const MultiModelSchema: z.ZodObject<{
|
|
|
1531
1533
|
executor: string;
|
|
1532
1534
|
}>> | undefined;
|
|
1533
1535
|
routingStrategy?: "balanced" | "performance-first" | "cost-optimized" | "adaptive" | undefined;
|
|
1536
|
+
routingPreset?: string | undefined;
|
|
1534
1537
|
plannerSettings?: {
|
|
1535
1538
|
complexityThreshold?: "low" | "medium" | "high" | undefined;
|
|
1536
1539
|
maxPlanningTokens?: number | undefined;
|
|
@@ -2791,6 +2794,7 @@ export declare const AgentContextConfigSchema: z.ZodObject<{
|
|
|
2791
2794
|
executor: string;
|
|
2792
2795
|
}>]>>>;
|
|
2793
2796
|
routingStrategy: z.ZodDefault<z.ZodEnum<["cost-optimized", "performance-first", "balanced", "adaptive"]>>;
|
|
2797
|
+
routingPreset: z.ZodOptional<z.ZodString>;
|
|
2794
2798
|
plannerSettings: z.ZodOptional<z.ZodObject<{
|
|
2795
2799
|
complexityThreshold: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
|
|
2796
2800
|
maxPlanningTokens: z.ZodDefault<z.ZodNumber>;
|
|
@@ -2857,6 +2861,7 @@ export declare const AgentContextConfigSchema: z.ZodObject<{
|
|
|
2857
2861
|
planner: string;
|
|
2858
2862
|
executor: string;
|
|
2859
2863
|
}>> | undefined;
|
|
2864
|
+
routingPreset?: string | undefined;
|
|
2860
2865
|
plannerSettings?: {
|
|
2861
2866
|
complexityThreshold: "low" | "medium" | "high";
|
|
2862
2867
|
maxPlanningTokens: number;
|
|
@@ -2907,6 +2912,7 @@ export declare const AgentContextConfigSchema: z.ZodObject<{
|
|
|
2907
2912
|
executor: string;
|
|
2908
2913
|
}>> | undefined;
|
|
2909
2914
|
routingStrategy?: "balanced" | "performance-first" | "cost-optimized" | "adaptive" | undefined;
|
|
2915
|
+
routingPreset?: string | undefined;
|
|
2910
2916
|
plannerSettings?: {
|
|
2911
2917
|
complexityThreshold?: "low" | "medium" | "high" | undefined;
|
|
2912
2918
|
maxPlanningTokens?: number | undefined;
|
|
@@ -3380,6 +3386,7 @@ export declare const AgentContextConfigSchema: z.ZodObject<{
|
|
|
3380
3386
|
planner: string;
|
|
3381
3387
|
executor: string;
|
|
3382
3388
|
}>> | undefined;
|
|
3389
|
+
routingPreset?: string | undefined;
|
|
3383
3390
|
plannerSettings?: {
|
|
3384
3391
|
complexityThreshold: "low" | "medium" | "high";
|
|
3385
3392
|
maxPlanningTokens: number;
|
|
@@ -3685,6 +3692,7 @@ export declare const AgentContextConfigSchema: z.ZodObject<{
|
|
|
3685
3692
|
executor: string;
|
|
3686
3693
|
}>> | undefined;
|
|
3687
3694
|
routingStrategy?: "balanced" | "performance-first" | "cost-optimized" | "adaptive" | undefined;
|
|
3695
|
+
routingPreset?: string | undefined;
|
|
3688
3696
|
plannerSettings?: {
|
|
3689
3697
|
complexityThreshold?: "low" | "medium" | "high" | undefined;
|
|
3690
3698
|
maxPlanningTokens?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAOzB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAShC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc/B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB3B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAKxB,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGzB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAQH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAAqB,CAAC;AACpD,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAOzB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAShC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc/B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB3B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAKxB,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGzB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAQH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAAqB,CAAC;AACpD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0B,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,oBAAoB;IAG/B;gDAC4C;;IAG5C;+DAC2D;;IAG3D;oDACgD;;IAGhD;qDACiD;;IAGjD,wDAAwD;;IAGxD;oDACgD;;IAGhD;+EAC2E;;IAG3E,wEAAwE;;IAKxE;;;8EAG0E;;IAG1E,2CAA2C;;IAG3C;;2EAEuE;;IAGvE;6EACyE;;IAMzE;6EACyE;;IAGzE,uDAAuD;;IAGvD;gEAC4D;;IAG5D;sEACkE;;IAGlE;2EACuE;;IAKvE,mEAAmE;;IAGnE,+DAA+D;;IAG/D,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE1D,CAAC;AAOH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAIH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAKjC,CAAC;AAMH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcxB,CAAC;AAMH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAUzB,CAAC;AAGH,eAAO,MAAM,YAAY;;;;;;;;;EAGvB,CAAC;AAIH,eAAO,MAAM,aAAa;;;;;;EAExB,CAAC;AAQH,eAAO,MAAM,cAAc;;IAEzB,kFAAkF;;IAElF,gEAAgE;;IAEhE,mFAAmF;;IAEnF,mFAAmF;;;;;;;;;;;;;;EAEnF,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAxKnC;oDAC4C;;QAG5C;mEAC2D;;QAG3D;wDACgD;;QAGhD;yDACiD;;QAGjD,wDAAwD;;QAGxD;wDACgD;;QAGhD;mFAC2E;;QAG3E,wEAAwE;;QAKxE;;;kFAG0E;;QAG1E,2CAA2C;;QAG3C;;+EAEuE;;QAGvE;iFACyE;;QAMzE;iFACyE;;QAGzE,uDAAuD;;QAGvD;oEAC4D;;QAG5D;0EACkE;;QAGlE;+EACuE;;QAKvE,mEAAmE;;QAGnE,+DAA+D;;QAG/D,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8E1D,kFAAkF;;QAElF,gEAAgE;;QAEhE,mFAAmF;;QAEnF,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqDnF,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,UAAU,GACV,OAAO,GACP,WAAW,GACX,YAAY,CAAC;AACjB,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
package/docs/INDEX.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UAP Documentation
|
|
2
2
|
|
|
3
|
-
The complete documentation for the **Universal Agent Protocol** (`@miller-tech/uap` v1.
|
|
3
|
+
The complete documentation for the **Universal Agent Protocol** (`@miller-tech/uap` v1.163) — the discipline layer that turns a talented-but-unreliable AI coding agent into a dependable member of your software delivery line.
|
|
4
4
|
|
|
5
5
|
> **Reviewing the system?** The reverse-engineered, code-verified reference set lives in
|
|
6
6
|
> [`documentation/`](../documentation/architecture.md): architecture, flows, permissions
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
# UAP Comprehensive Benchmarks
|
|
2
2
|
|
|
3
|
-
> **Version:** 1.18.0
|
|
4
|
-
> **Generated:** 2026-03-28
|
|
5
3
|
> **Test Suite:** Terminal-Bench 2.0 Representative Tasks (14 tasks)
|
|
6
4
|
|
|
7
5
|
---
|
|
8
6
|
|
|
9
7
|
## Executive Summary
|
|
10
8
|
|
|
11
|
-
This document presents
|
|
9
|
+
This document presents the benchmark methodology and representative results for UAP
|
|
10
|
+
with OpenCode integration, measured against a baseline that runs the same tasks without
|
|
11
|
+
UAP features enabled.
|
|
12
12
|
|
|
13
13
|
### Key Achievements
|
|
14
14
|
|
|
15
|
-
| Metric | Baseline | UAP
|
|
16
|
-
|
|
17
|
-
| **Success Rate** | 75% |
|
|
18
|
-
| **Avg Tokens/Task** | 52,000 |
|
|
19
|
-
| **Avg Time/Task** | 45s |
|
|
20
|
-
| **Error Rate** | 12% |
|
|
21
|
-
| **Quality Score** | 3.2/5 |
|
|
15
|
+
| Metric | Baseline | UAP | Improvement |
|
|
16
|
+
|--------|----------|-----|-------------|
|
|
17
|
+
| **Success Rate** | 75% | **100%** | +25pp |
|
|
18
|
+
| **Avg Tokens/Task** | 52,000 | **23,400** | -55% |
|
|
19
|
+
| **Avg Time/Task** | 45s | **32s** | -29% |
|
|
20
|
+
| **Error Rate** | 12% | **0%** | -100% |
|
|
21
|
+
| **Quality Score** | 3.2/5 | **4.7/5** | +47% |
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
@@ -56,9 +56,8 @@ pie title Test Task Distribution by Category
|
|
|
56
56
|
### Measurement Approach
|
|
57
57
|
|
|
58
58
|
1. **Baseline**: Tasks run without UAP features
|
|
59
|
-
2. **UAP
|
|
60
|
-
3. **
|
|
61
|
-
4. **Metrics**: Tokens (API tracking), Time (wall-clock), Success (completion), Quality (manual review)
|
|
59
|
+
2. **UAP**: Full stack with OpenCode integration
|
|
60
|
+
3. **Metrics**: Tokens (API tracking), Time (wall-clock), Success (completion), Quality (manual review)
|
|
62
61
|
|
|
63
62
|
---
|
|
64
63
|
|
|
@@ -68,46 +67,43 @@ pie title Test Task Distribution by Category
|
|
|
68
67
|
|
|
69
68
|
```mermaid
|
|
70
69
|
lineChart
|
|
71
|
-
title Token Usage
|
|
72
|
-
x-axis
|
|
70
|
+
title Token Usage: Baseline vs UAP
|
|
71
|
+
x-axis Configuration
|
|
73
72
|
y-axis Tokens (thousands)
|
|
74
73
|
"Baseline" [0, 52.0]
|
|
75
|
-
"UAP
|
|
76
|
-
"UAP v1.18 + OpenCode" [2, 23.4]
|
|
74
|
+
"UAP" [1, 23.4]
|
|
77
75
|
|
|
78
|
-
title Success Rate
|
|
79
|
-
x-axis
|
|
76
|
+
title Success Rate
|
|
77
|
+
x-axis Configuration
|
|
80
78
|
y-axis Success Rate (%)
|
|
81
79
|
"Baseline" [0, 75]
|
|
82
|
-
"UAP
|
|
83
|
-
"UAP v1.18 + OpenCode" [2, 100]
|
|
80
|
+
"UAP" [1, 100]
|
|
84
81
|
|
|
85
82
|
title Time per Task
|
|
86
|
-
x-axis
|
|
83
|
+
x-axis Configuration
|
|
87
84
|
y-axis Time (seconds)
|
|
88
85
|
"Baseline" [0, 45]
|
|
89
|
-
"UAP
|
|
90
|
-
"UAP v1.18 + OpenCode" [2, 32]
|
|
86
|
+
"UAP" [1, 32]
|
|
91
87
|
```
|
|
92
88
|
|
|
93
89
|
### Per-Task Detailed Results
|
|
94
90
|
|
|
95
|
-
| Task | Category | Baseline Tokens | UAP
|
|
96
|
-
|
|
97
|
-
| T01 | System Admin | 45,000 |
|
|
98
|
-
| T02 | Security | 38,000 |
|
|
99
|
-
| T03 | Security | 67,000 |
|
|
100
|
-
| T04 | System Admin | 42,000 |
|
|
101
|
-
| T05 | ML/Data | 55,000 |
|
|
102
|
-
| T06 | ML/Data | 35,000 |
|
|
103
|
-
| T07 | Development | 48,000 |
|
|
104
|
-
| T08 | Security | 61,000 |
|
|
105
|
-
| T09 | System Admin | 39,000 |
|
|
106
|
-
| T10 | Development | 32,000 |
|
|
107
|
-
| T11 | ML/Data | 52,000 |
|
|
108
|
-
| T12 | Development | 44,000 |
|
|
109
|
-
| T13 | System Admin | 40,000 |
|
|
110
|
-
| T14 | Security | 36,000 |
|
|
91
|
+
| Task | Category | Baseline Tokens | UAP Tokens | Reduction | Baseline Errors | UAP Errors | Quality (1-5) |
|
|
92
|
+
|------|----------|----------------|------------|-----------|----------------|------------|---------------|
|
|
93
|
+
| T01 | System Admin | 45,000 | **19,800** | -56% | 3 | 0 | 4.8 |
|
|
94
|
+
| T02 | Security | 38,000 | **15,200** | -60% | 1 | 0 | 4.9 |
|
|
95
|
+
| T03 | Security | 67,000 | **31,500** | -53% | 2 | 0 | 4.7 |
|
|
96
|
+
| T04 | System Admin | 42,000 | **18,100** | -57% | 1 | 0 | 4.8 |
|
|
97
|
+
| T05 | ML/Data | 55,000 | **25,400** | -54% | 2 | 0 | 4.6 |
|
|
98
|
+
| T06 | ML/Data | 35,000 | **13,800** | -61% | 0 | 0 | 5.0 |
|
|
99
|
+
| T07 | Development | 48,000 | **21,200** | -56% | 1 | 0 | 4.7 |
|
|
100
|
+
| T08 | Security | 61,000 | **28,900** | -53% | 2 | 0 | 4.6 |
|
|
101
|
+
| T09 | System Admin | 39,000 | **16,100** | -59% | 0 | 0 | 4.9 |
|
|
102
|
+
| T10 | Development | 32,000 | **11,900** | -63% | 0 | 0 | 5.0 |
|
|
103
|
+
| T11 | ML/Data | 52,000 | **23,600** | -55% | 1 | 0 | 4.7 |
|
|
104
|
+
| T12 | Development | 44,000 | **18,900** | -57% | 1 | 0 | 4.8 |
|
|
105
|
+
| T13 | System Admin | 40,000 | **18,300** | -54% | 1 | 0 | 4.7 |
|
|
106
|
+
| T14 | Security | 36,000 | **15,000** | -58% | 0 | 0 | 4.9 |
|
|
111
107
|
|
|
112
108
|
### Token Usage Breakdown by Feature
|
|
113
109
|
|
|
@@ -218,21 +214,19 @@ quadrantChart
|
|
|
218
214
|
| **Security** | Vulnerable | Minor issues | Secure |
|
|
219
215
|
| **Maintainability** | Hard to maintain | Acceptable | Clean, documented |
|
|
220
216
|
|
|
221
|
-
### Quality Scores
|
|
217
|
+
### Quality Scores
|
|
222
218
|
|
|
223
219
|
```mermaid
|
|
224
220
|
radarChart
|
|
225
|
-
title Quality Dimensions
|
|
221
|
+
title Quality Dimensions
|
|
226
222
|
axis Correctness, Completeness, Efficiency, Security, Maintainability
|
|
227
223
|
"Baseline" [3.0, 2.8, 2.5, 3.2, 2.9]
|
|
228
|
-
"UAP
|
|
229
|
-
"UAP v1.18 + OpenCode" [4.8, 4.7, 4.5, 4.9, 4.6]
|
|
224
|
+
"UAP" [4.8, 4.7, 4.5, 4.9, 4.6]
|
|
230
225
|
```
|
|
231
226
|
|
|
232
227
|
**Quality Observations:**
|
|
233
228
|
- **Baseline**: 60% of tasks required manual fixes
|
|
234
|
-
- **UAP
|
|
235
|
-
- **UAP v1.18 + OpenCode**: 100% completion, zero fixes needed
|
|
229
|
+
- **UAP**: 100% completion, zero fixes needed
|
|
236
230
|
|
|
237
231
|
---
|
|
238
232
|
|
|
@@ -248,8 +242,8 @@ radarChart
|
|
|
248
242
|
|
|
249
243
|
**Monthly Impact:**
|
|
250
244
|
|
|
251
|
-
| Metric | Baseline | UAP
|
|
252
|
-
|
|
245
|
+
| Metric | Baseline | UAP | Savings |
|
|
246
|
+
|--------|----------|-----|---------|
|
|
253
247
|
| Token Cost | $26,000 | $11,700 | **$14,300** |
|
|
254
248
|
| Developer Time | $125,000 | $89,000 | **$36,000** |
|
|
255
249
|
| Bug Fixes | $8,000 | $1,200 | **$6,800** |
|
|
@@ -259,8 +253,8 @@ radarChart
|
|
|
259
253
|
|
|
260
254
|
### High-Volume Scale (100K tasks/month)
|
|
261
255
|
|
|
262
|
-
| Metric | Baseline | UAP
|
|
263
|
-
|
|
256
|
+
| Metric | Baseline | UAP | Savings |
|
|
257
|
+
|--------|----------|-----|---------|
|
|
264
258
|
| Token Cost | $260,000 | $117,000 | **$143,000** |
|
|
265
259
|
| Developer Time | $1,250,000 | $890,000 | **$360,000** |
|
|
266
260
|
| Bug Fixes | $80,000 | $12,000 | **$68,000** |
|
|
@@ -272,8 +266,8 @@ radarChart
|
|
|
272
266
|
|
|
273
267
|
### No Performance Regressions
|
|
274
268
|
|
|
275
|
-
| Metric | Baseline | UAP
|
|
276
|
-
|
|
269
|
+
| Metric | Baseline | UAP | Status |
|
|
270
|
+
|--------|----------|-----|--------|
|
|
277
271
|
| Time/Task | 45s | 32s | ✅ -29% |
|
|
278
272
|
| Tokens/Task | 52K | 23.4K | ✅ -55% |
|
|
279
273
|
| Error Rate | 12% | 0% | ✅ -100% |
|
|
@@ -369,4 +363,4 @@ crontab -e
|
|
|
369
363
|
|
|
370
364
|
---
|
|
371
365
|
|
|
372
|
-
*
|
|
366
|
+
*Test suite: Terminal-Bench 2.0 representative tasks (14 tasks) · OpenCode integration active*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Multi-Agent Coordination
|
|
2
2
|
|
|
3
|
-
> UAP v1.
|
|
3
|
+
> UAP v1.163
|
|
4
4
|
|
|
5
5
|
> **🏭 Where this fits:** LINE COORDINATION — the station where parallel agents on the [delivery pipeline](./DELIVERY_PIPELINE.md) quietly step on each other: two of them editing the same file, duplicating work, or deadlocking at merge. **What it delivers:** agents register, announce what they're about to touch, and check for overlaps *before* they start — so the line runs many workers at once and still stays conflict-free.
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP Router
|
|
2
2
|
|
|
3
|
-
> UAP v1.
|
|
3
|
+
> UAP v1.163
|
|
4
4
|
|
|
5
5
|
> **🏭 Where this fits:** CROSS-CUTTING — keeping the context window lean at every station of the [delivery pipeline](./DELIVERY_PIPELINE.md). In a normal agentic workflow every tool call dumps its full result into context, so mostly-irrelevant output crowds out the details your agent actually needs. **What it delivers:** a proxy that compresses tool output before it reaches the model — up to 98% fewer tokens on large results — so the agent keeps room for real work and you spend less per session.
|
|
6
6
|
|
package/docs/guides/MEMORY.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Memory System
|
|
2
2
|
|
|
3
|
-
> UAP v1.
|
|
3
|
+
> UAP v1.163
|
|
4
4
|
|
|
5
5
|
> **🏭 Where this fits:** INTAKE + FEEDBACK — the front and back doors of the [delivery pipeline](./DELIVERY_PIPELINE.md). At intake, a fresh agent forgets everything the last session learned and re-hallucinates scope; at feedback, nobody records the lesson, so the same mistake ships again next week. **What it delivers:** a persistent, searchable memory that hands each new agent the relevant past learnings on the way in, and captures durable lessons on the way out — so your team of agents gets smarter every run instead of starting from zero.
|
|
6
6
|
|
|
@@ -199,7 +199,7 @@ uap memory correct <search> [options]
|
|
|
199
199
|
```bash
|
|
200
200
|
uap memory correct "uses pgvector" \
|
|
201
201
|
--correction "uses Qdrant for semantic recall" \
|
|
202
|
-
--reason "
|
|
202
|
+
--reason "superseded by newer approach"
|
|
203
203
|
```
|
|
204
204
|
|
|
205
205
|
### Maintain
|
package/docs/guides/POLICIES.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Policies
|
|
2
2
|
|
|
3
|
-
> Applies to UAP v1.
|
|
3
|
+
> Applies to UAP v1.163
|
|
4
4
|
|
|
5
5
|
> **🏭 Where this fits:** CROSS-CUTTING — the executable rules bolted to every station of the [delivery pipeline](./DELIVERY_PIPELINE.md). In a normal agentic workflow the "rules" live in a prose prompt the model is free to ignore; that's how work escapes isolation, skips tests, or ships without review. **What it delivers:** each rule is a Python enforcer that actually inspects an operation and can *block* it before it runs — worktree isolation, test deltas, expert review, schema diffs, artifact hygiene, and more — so the guardrails hold instead of merely being suggested.
|
|
6
6
|
|
package/docs/guides/PROXY.md
CHANGED
|
@@ -51,16 +51,17 @@ the last session leaves — but it **never** kills a proxy that systemd manages
|
|
|
51
51
|
that other sessions are still using.
|
|
52
52
|
|
|
53
53
|
```
|
|
54
|
-
uap proxy [ensure | release | status | start | stop | restart | enable | disable]
|
|
54
|
+
uap proxy [ensure | release | status | start | stop | restart | enable | disable | dashboard [on|off]]
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
| Subcommand | What it does |
|
|
58
58
|
|---|---|
|
|
59
|
-
| `ensure` | Start the proxy if none is running, or **adopt** a running one; register this session as a client |
|
|
60
|
-
| `release` | Deregister this session; stop the proxy **only if** we spawned it as a plain process and no other client remains |
|
|
61
|
-
| `status` | Report whether
|
|
59
|
+
| `ensure` | Start the proxy if none is running, or **adopt** a running one; register this session as a client; start-or-adopt the dashboard |
|
|
60
|
+
| `release` | Deregister this session; stop the proxy (and dashboard) **only if** we spawned it as a plain process and no other client remains |
|
|
61
|
+
| `status` | Report whether the proxy and dashboard are running, how (systemd vs spawned), ports, URL, and client count (`--json` for machine-readable) |
|
|
62
62
|
| `start` / `stop` / `restart` | Explicit control (e.g. `restart` after changing `PROXY_*` in `.uap/proxy.env`) |
|
|
63
63
|
| `enable` / `disable` | Toggle `.uap.json` `proxy.autostart` so hooks auto-start it (or not) |
|
|
64
|
+
| `dashboard [on\|off]` | Show or toggle the ride-along dashboard (`.uap.json` `proxy.dashboard`) |
|
|
64
65
|
|
|
65
66
|
| Flag | Purpose |
|
|
66
67
|
|---|---|
|
|
@@ -68,8 +69,50 @@ uap proxy [ensure | release | status | start | stop | restart | enable | disable
|
|
|
68
69
|
| `--client-pid <n>` | Long-lived agent pid for liveness (hooks pass `$PPID`) |
|
|
69
70
|
| `--port <n>` | Proxy port (default `4000` / `$PROXY_PORT`) |
|
|
70
71
|
| `--if-enabled` | No-op unless `.uap.json` `proxy.autostart` is `true` (hook-safe) |
|
|
72
|
+
| `--no-dashboard` | Don't *start* the ride-along dashboard on this `ensure`/`start` (teardown still reaps a dashboard we own) |
|
|
71
73
|
| `--quiet` / `--json` | Suppress output (hooks) / machine-readable status |
|
|
72
74
|
|
|
75
|
+
### Ride-along dashboard
|
|
76
|
+
|
|
77
|
+
**The operational dashboard starts with the proxy** — no second command. `ensure`
|
|
78
|
+
and `start` also start-or-adopt `uap dashboard serve` (default
|
|
79
|
+
<http://localhost:3847>), concurrently with the proxy so session start isn't
|
|
80
|
+
serialized behind two health waits. Teardown follows ownership: a dashboard **we**
|
|
81
|
+
spawned stops when the last client leaves (`release`) or immediately on an
|
|
82
|
+
explicit `stop`; one you started yourself is adopted and **never** stopped. If a
|
|
83
|
+
foreign process holds the port, UAP declines to spawn (fast, no stall) and tells
|
|
84
|
+
you to run `uap dash serve` manually.
|
|
85
|
+
|
|
86
|
+
| Setting | Where | Default |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| enabled | `.uap.json` `proxy.dashboard` (bool or `{enabled, port, host}`) / `UAP_PROXY_DASHBOARD=0\|1` | on |
|
|
89
|
+
| port | `proxy.dashboard.port` / `UAP_DASH_PORT` | `3847` |
|
|
90
|
+
| host | `proxy.dashboard.host` / `UAP_DASH_HOST` | `localhost` |
|
|
91
|
+
| startup wait | `UAP_DASH_HEALTH_WAIT_MS` | `10000` |
|
|
92
|
+
|
|
93
|
+
Env wins over config. These govern the **ride-along** only — `uap dash serve`
|
|
94
|
+
still takes its own `--port`/`--host`.
|
|
95
|
+
|
|
96
|
+
**Identification.** Liveness is `GET /health`, which returns
|
|
97
|
+
`{"ok":true,"service":"uap-dashboard","port":…,"root":"<project dir>"}`. UAP adopts
|
|
98
|
+
a dashboard only when that marker is present *and* `root` matches the current
|
|
99
|
+
project — a dashboard is per-project (every panel reads its own working
|
|
100
|
+
directory), even though the proxy client registry is per-user. A dashboard from an
|
|
101
|
+
older UAP has no `/health`; it is recognised by its `UAP Dashboard` page title and
|
|
102
|
+
adopted as-is, since it cannot state which project it serves.
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
uap proxy dashboard # is it on, and where?
|
|
106
|
+
uap proxy dashboard off # opt this project out
|
|
107
|
+
uap proxy start --no-dashboard
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Security note.** Because the dashboard is now up for the whole session rather
|
|
111
|
+
than only while you run it by hand, the page carrying the policy-mutation token is
|
|
112
|
+
served same-origin only, WebSocket upgrades require a same-origin `Origin`, and the
|
|
113
|
+
token is not echoed into the ride-along log. Binding beyond loopback
|
|
114
|
+
(`UAP_DASH_HOST`) is reported with a warning — set `UAP_DASHBOARD_TOKEN` if you do.
|
|
115
|
+
|
|
73
116
|
**How it's managed.** When available, the proxy runs as the systemd unit
|
|
74
117
|
`uap-anthropic-proxy.service`, reading its environment from
|
|
75
118
|
`~/.config/uap/anthropic-proxy.env`; a plain spawned proxy seeds the same file
|
package/docs/guides/SANDBOX.md
CHANGED
|
@@ -65,7 +65,7 @@ it and calls `_strip_sandbox_unreachable_tools` (`anthropic_proxy.py:4393`), rem
|
|
|
65
65
|
tool whose name starts with a prefix in `PROXY_SANDBOX_UNREACHABLE_PREFIXES` (default
|
|
66
66
|
`mcp__claude-in-chrome__`). The model never sees the unreachable browser tools and falls
|
|
67
67
|
back to `WebFetch` / local reads instead. (This is the "strip unreachable browser MCP tools
|
|
68
|
-
from sandboxed sessions"
|
|
68
|
+
from sandboxed sessions" behavior.)
|
|
69
69
|
|
|
70
70
|
## Escape hatches (operator-only)
|
|
71
71
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Worktree Workflow
|
|
2
2
|
|
|
3
|
-
> Applies to UAP v1.
|
|
3
|
+
> Applies to UAP v1.163
|
|
4
4
|
|
|
5
5
|
> **🏭 Where this fits:** ISOLATION — the station where a normal agentic workflow smears half-finished edits across `main`, clobbers files, and lets parallel agents collide into corrupt merge state. **What it delivers:** every agent works on its own branch in its own checkout, so the project root stays clean, each unit of work has a tidy PR boundary, and any number of agents can run at once without stepping on each other.
|
|
6
6
|
|
package/docs/reference/CLI.md
CHANGED
|
@@ -126,7 +126,7 @@ uap setup [options]
|
|
|
126
126
|
| `--no-self-update` | Skip the automatic UAP CLI version check / self-update (also `UAP_NO_SELF_UPDATE=1`) |
|
|
127
127
|
| `--systemd-services` | Scaffold user systemd services for llama.cpp + anthropic proxy |
|
|
128
128
|
| `-d, --project-dir <path>` | Target project directory (defaults to cwd) |
|
|
129
|
-
| `-i, --interactive` | Run the guided wizard (
|
|
129
|
+
| `-i, --interactive` | Run the guided wizard (the default) |
|
|
130
130
|
|
|
131
131
|
The guided wizard (default) prompts for harnesses, memory tiers, coordination,
|
|
132
132
|
patterns, policies, model provider/profile, hooks, and browser — with smart
|
|
@@ -534,7 +534,18 @@ Anthropic-compatible gateway in front of a local llama.cpp/Qwen). Hooks
|
|
|
534
534
|
session leaves — but it never kills a proxy that systemd manages or that other
|
|
535
535
|
sessions still use.
|
|
536
536
|
|
|
537
|
-
`uap proxy [ensure | release | status | start | stop | restart | enable | disable]`
|
|
537
|
+
`uap proxy [ensure | release | status | start | stop | restart | enable | disable | dashboard [on|off]]`
|
|
538
|
+
|
|
539
|
+
The **operational dashboard rides along**: `ensure`/`start` also start-or-adopt
|
|
540
|
+
`uap dashboard serve` (default <http://localhost:3847>), so monitoring never needs
|
|
541
|
+
a second command. `release` stops it when the last client leaves; `stop` shuts it
|
|
542
|
+
down immediately (ownership only — it does not consult the client count). A
|
|
543
|
+
dashboard you started yourself, or one serving a different project, is never
|
|
544
|
+
touched. Opt out per project with `uap proxy dashboard off`, per `ensure`/`start`
|
|
545
|
+
with `--no-dashboard`, or globally with `UAP_PROXY_DASHBOARD=0`.
|
|
546
|
+
Ports/hosts: `UAP_DASH_PORT` (3847), `UAP_DASH_HOST` (localhost),
|
|
547
|
+
`UAP_DASH_HEALTH_WAIT_MS` (10000) — these govern the ride-along, not
|
|
548
|
+
`uap dash serve`.
|
|
538
549
|
|
|
539
550
|
| Flag | Purpose |
|
|
540
551
|
|------|---------|
|
|
@@ -542,11 +553,13 @@ sessions still use.
|
|
|
542
553
|
| `--client-pid <n>` | Long-lived agent pid for liveness (hooks pass `$PPID`) |
|
|
543
554
|
| `--port <n>` | Proxy port (default 4000 / `$PROXY_PORT`) |
|
|
544
555
|
| `--if-enabled` | No-op unless `.uap.json` `proxy.autostart` is true (hook-safe) |
|
|
556
|
+
| `--no-dashboard` | Don't start the ride-along dashboard on this `ensure`/`start` |
|
|
545
557
|
| `--quiet` / `--json` | Suppress output (hooks) / machine-readable status |
|
|
546
558
|
|
|
547
559
|
```bash
|
|
548
|
-
uap proxy status --json
|
|
560
|
+
uap proxy status --json # includes a `dashboard` block (port, url, healthy, owner)
|
|
549
561
|
uap proxy restart # e.g. after changing PROXY_* in .uap/proxy.env
|
|
562
|
+
uap proxy dashboard off # opt out of the ride-along dashboard
|
|
550
563
|
```
|
|
551
564
|
|
|
552
565
|
The proxy binds `127.0.0.1` by default; see the proxy `PROXY_*` settings in the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Configuration Reference
|
|
2
2
|
|
|
3
|
-
> Universal Agent Protocol (UAP) v1.
|
|
3
|
+
> Universal Agent Protocol (UAP) v1.163
|
|
4
4
|
|
|
5
5
|
> **🏭 Where this fits:** Cross-cutting — the settings that tune every station.
|
|
6
6
|
> **What it delivers:** the dials that decide how your [delivery pipeline](../guides/DELIVERY_PIPELINE.md)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Feature Catalog
|
|
2
2
|
|
|
3
|
-
> Universal Agent Protocol (UAP) v1.
|
|
3
|
+
> Universal Agent Protocol (UAP) v1.163
|
|
4
4
|
|
|
5
5
|
> **🏭 Where this fits:** Every station on the line — this catalog is the parts list for the whole factory. **What it delivers:** each feature below is mapped to the stage of your [delivery pipeline](../guides/DELIVERY_PIPELINE.md) it protects, so you can see exactly where your agent's work stops being plausible-looking and starts being genuinely shippable.
|
|
6
6
|
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -58,4 +58,13 @@ if [ -d "$BACKUP_DIR" ]; then
|
|
|
58
58
|
find "$BACKUP_DIR" -maxdepth 1 -mindepth 1 -type d -mtime +7 -exec rm -rf {} \; 2>/dev/null || true
|
|
59
59
|
fi
|
|
60
60
|
|
|
61
|
+
# Session-scoped proxy + dashboard release: stop them ONLY if THIS session
|
|
62
|
+
# started them and no other client remains (adopted/externally-managed services
|
|
63
|
+
# are never killed; other active clients keep them alive). Fail-open; never
|
|
64
|
+
# blocks exit.
|
|
65
|
+
if command -v uap >/dev/null 2>&1; then
|
|
66
|
+
_uap_pc="${CLAUDE_SESSION_ID:-${FACTORY_SESSION_ID:-${CURSOR_SESSION_ID:-${UAP_SESSION_ID:-ppid-$PPID}}}}"
|
|
67
|
+
( cd "$PROJECT_DIR" 2>/dev/null && timeout 20 uap proxy release --if-enabled --quiet --client "$_uap_pc" --client-pid "$PPID" ) >/dev/null 2>&1 || true
|
|
68
|
+
fi
|
|
69
|
+
|
|
61
70
|
exit 0
|
|
@@ -250,6 +250,16 @@ if command -v uap >/dev/null 2>&1; then
|
|
|
250
250
|
fi
|
|
251
251
|
fi
|
|
252
252
|
|
|
253
|
+
# Session-scoped proxy autostart (opt-in via .uap.json proxy.autostart). Starts
|
|
254
|
+
# the proxy if none is running, or ADOPTS an already-running one, and brings the
|
|
255
|
+
# operational dashboard up with it (http://localhost:3847 — opt out with
|
|
256
|
+
# `uap proxy dashboard off`). Reference-counted: released only when the last
|
|
257
|
+
# client leaves. Fail-open, never blocks.
|
|
258
|
+
if command -v uap >/dev/null 2>&1; then
|
|
259
|
+
_uap_pc="${CLAUDE_SESSION_ID:-${FACTORY_SESSION_ID:-${CURSOR_SESSION_ID:-${UAP_SESSION_ID:-ppid-$PPID}}}}"
|
|
260
|
+
( cd "$PROJECT_DIR" 2>/dev/null && timeout 30 uap proxy ensure --if-enabled --quiet --client "$_uap_pc" --client-pid "$PPID" ) >/dev/null 2>&1 || true
|
|
261
|
+
fi
|
|
262
|
+
|
|
253
263
|
if [ -n "$output" ]; then
|
|
254
264
|
echo "$output"
|
|
255
265
|
fi
|