@miller-tech/uap 1.115.0 → 1.118.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.
Files changed (44) hide show
  1. package/config/model-profiles/claude-fable-5.json +78 -0
  2. package/config/model-profiles/claude-haiku-4.5.json +69 -0
  3. package/config/model-profiles/claude-opus-4.8.json +72 -0
  4. package/config/model-profiles/claude-sonnet-5.json +58 -20
  5. package/config/model-profiles/qwen36.json +102 -0
  6. package/dist/.tsbuildinfo +1 -1
  7. package/dist/cli/guided-setup.d.ts.map +1 -1
  8. package/dist/cli/guided-setup.js +20 -12
  9. package/dist/cli/guided-setup.js.map +1 -1
  10. package/dist/cli/tool-calls.d.ts +3 -1
  11. package/dist/cli/tool-calls.d.ts.map +1 -1
  12. package/dist/cli/tool-calls.js +28 -12
  13. package/dist/cli/tool-calls.js.map +1 -1
  14. package/dist/dashboard/data-service.d.ts +9 -0
  15. package/dist/dashboard/data-service.d.ts.map +1 -1
  16. package/dist/dashboard/data-service.js +32 -13
  17. package/dist/dashboard/data-service.js.map +1 -1
  18. package/dist/mcp-router/tools/execute.d.ts.map +1 -1
  19. package/dist/mcp-router/tools/execute.js +4 -1
  20. package/dist/mcp-router/tools/execute.js.map +1 -1
  21. package/dist/memory/dynamic-retrieval.d.ts.map +1 -1
  22. package/dist/memory/dynamic-retrieval.js +3 -0
  23. package/dist/memory/dynamic-retrieval.js.map +1 -1
  24. package/dist/memory/embeddings.d.ts.map +1 -1
  25. package/dist/memory/embeddings.js +7 -1
  26. package/dist/memory/embeddings.js.map +1 -1
  27. package/dist/models/executor.d.ts.map +1 -1
  28. package/dist/models/executor.js +4 -1
  29. package/dist/models/executor.js.map +1 -1
  30. package/dist/models/profile-map.d.ts +48 -0
  31. package/dist/models/profile-map.d.ts.map +1 -0
  32. package/dist/models/profile-map.js +104 -0
  33. package/dist/models/profile-map.js.map +1 -0
  34. package/dist/utils/performance-monitor.d.ts +7 -0
  35. package/dist/utils/performance-monitor.d.ts.map +1 -1
  36. package/dist/utils/performance-monitor.js +22 -14
  37. package/dist/utils/performance-monitor.js.map +1 -1
  38. package/dist/utils/telemetry-store.d.ts +35 -0
  39. package/dist/utils/telemetry-store.d.ts.map +1 -0
  40. package/dist/utils/telemetry-store.js +212 -0
  41. package/dist/utils/telemetry-store.js.map +1 -0
  42. package/package.json +1 -1
  43. package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
  44. package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
@@ -0,0 +1,78 @@
1
+ {
2
+ "_profile": "claude-fable-5",
3
+ "_description": "Anthropic Claude Fable 5 (claude-fable-5). Anthropic's most capable widely released model — the most demanding reasoning and long-horizon agentic work. 1M context (default), 128K max output. Thinking is ALWAYS on (omit the thinking parameter); the raw chain of thought is never returned. temperature/top_p/top_k and budget_tokens are removed. Requires 30-day data retention (not available under ZDR). Use only for the hardest tasks — pricing exceeds Opus tier.",
4
+
5
+ "model": "claude-fable-5",
6
+ "provider": "anthropic",
7
+ "api_base_url": "https://api.anthropic.com",
8
+ "max_tokens": 64000,
9
+ "timeout_ms": 900000,
10
+ "context_window": 1000000,
11
+
12
+ "sampling_parameters_supported": false,
13
+ "_sampling_comment": "temperature, top_p, and top_k are removed on Fable 5 and return HTTP 400. Steer with prompting and effort.",
14
+
15
+ "optimize_for_tool_calls": true,
16
+ "enable_thinking": true,
17
+
18
+ "reasoning": {
19
+ "mode": "always_on",
20
+ "effort": "high",
21
+ "display": "summarized",
22
+ "_comment": "Fable 5 thinking is always on — do NOT send a thinking config (an explicit {type:'disabled'} 400s; omit the param). Control depth with effort (low..max). Raw chain of thought is never returned; display=summarized surfaces a readable summary. Long turns are normal — plan timeouts/streaming."
23
+ },
24
+
25
+ "extended_thinking": {
26
+ "enabled": true,
27
+ "mode": "always_on",
28
+ "_comment": "Always-on adaptive thinking; no budget_tokens (removed). Do not pass a thinking parameter on the wire."
29
+ },
30
+
31
+ "tool_calling": {
32
+ "parallel_tool_calls": true,
33
+ "tool_choice": "auto",
34
+ "max_tool_calls_per_turn": 128,
35
+ "_comment": "Excellent parallel tool use and long-lived sub-agent coordination. No forced tool_choice needed."
36
+ },
37
+
38
+ "tool_call_batching": {
39
+ "enabled": true,
40
+ "system_prompt_suffix": "When multiple tools are needed, call ALL of them in a single response. Do not call one tool and wait - emit all tool calls together.",
41
+ "_comment": "Fable 5 natively supports parallel tool calls and asynchronous sub-agent delegation."
42
+ },
43
+
44
+ "refusal_fallback": {
45
+ "enabled": true,
46
+ "beta": "server-side-fallback-2026-06-01",
47
+ "fallback_model": "claude-opus-4-8",
48
+ "_comment": "Safety classifiers may return stop_reason=refusal (HTTP 200). Opt into server-side fallbacks so a benign-but-declined request is transparently re-served by Opus 4.8 in the same call."
49
+ },
50
+
51
+ "requirements": {
52
+ "data_retention_days": 30,
53
+ "_comment": "Fable 5 is unavailable under zero data retention — requests from a ZDR org 400 on every call."
54
+ },
55
+
56
+ "pricing": {
57
+ "input_per_1m": 10.0,
58
+ "output_per_1m": 50.0,
59
+ "cache_write_per_1m": 12.5,
60
+ "cache_read_per_1m": 1.0,
61
+ "currency": "USD",
62
+ "_comment": "Above Opus tier — reserve for the hardest reasoning/agentic work."
63
+ },
64
+
65
+ "rate_limits": {
66
+ "requests_per_minute": 500,
67
+ "tokens_per_minute": 60000,
68
+ "_comment": "Default tier limits. Higher tiers available via Anthropic."
69
+ },
70
+
71
+ "running_config": {
72
+ "description": "Anthropic hosted API. Requires ANTHROPIC_API_KEY and an org with >= 30-day data retention.",
73
+ "env_vars": {
74
+ "ANTHROPIC_API_KEY": "<your-api-key>",
75
+ "UAP_MODEL_PROFILE": "claude-fable-5"
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "_profile": "claude-haiku-4.5",
3
+ "_description": "Anthropic Claude Haiku 4.5 (claude-haiku-4-5-20251001). Fastest and most cost-effective current Claude model. 200K context, 64K max output, strong tool calling for high-throughput agentic work. Supports adaptive thinking; the effort parameter is NOT supported (it errors). Best for rapid iteration, simple-to-medium tool use, classification, and cost-sensitive workloads.",
4
+
5
+ "model": "claude-haiku-4-5-20251001",
6
+ "provider": "anthropic",
7
+ "api_base_url": "https://api.anthropic.com",
8
+ "max_tokens": 16384,
9
+ "temperature": 1.0,
10
+ "top_p": 1.0,
11
+ "timeout_ms": 120000,
12
+ "context_window": 200000,
13
+
14
+ "optimize_for_tool_calls": true,
15
+ "enable_thinking": true,
16
+
17
+ "reasoning": {
18
+ "mode": "adaptive",
19
+ "effort_supported": false,
20
+ "_comment": "Haiku 4.5 supports adaptive thinking but NOT the effort parameter (effort=* returns 400). Do not send output_config.effort. budget_tokens is not used on 4.5."
21
+ },
22
+
23
+ "extended_thinking": {
24
+ "enabled": true,
25
+ "mode": "adaptive",
26
+ "_comment": "Adaptive thinking supported. No effort control on Haiku 4.5."
27
+ },
28
+
29
+ "dynamic_temperature": {
30
+ "enabled": false,
31
+ "_comment": "Default temp=1.0 is recommended by Anthropic for most use cases."
32
+ },
33
+
34
+ "tool_calling": {
35
+ "parallel_tool_calls": true,
36
+ "tool_choice": "auto",
37
+ "max_tool_calls_per_turn": 128,
38
+ "_comment": "Strong tool calling for a fast/cheap model; good for high-throughput fan-out."
39
+ },
40
+
41
+ "tool_call_batching": {
42
+ "enabled": true,
43
+ "system_prompt_suffix": "When multiple tools are needed, call ALL of them in a single response. Do not call one tool and wait - emit all tool calls together.",
44
+ "_comment": "Haiku 4.5 supports parallel tool calls natively."
45
+ },
46
+
47
+ "pricing": {
48
+ "input_per_1m": 1.0,
49
+ "output_per_1m": 5.0,
50
+ "cache_write_per_1m": 1.25,
51
+ "cache_read_per_1m": 0.1,
52
+ "currency": "USD",
53
+ "_comment": "Cheapest current Claude. Ideal for cost-sensitive, latency-sensitive workloads."
54
+ },
55
+
56
+ "rate_limits": {
57
+ "requests_per_minute": 4000,
58
+ "tokens_per_minute": 400000,
59
+ "_comment": "Default tier limits. Separate rate-limit pool from Haiku 3.x."
60
+ },
61
+
62
+ "running_config": {
63
+ "description": "Anthropic hosted API. Requires ANTHROPIC_API_KEY environment variable.",
64
+ "env_vars": {
65
+ "ANTHROPIC_API_KEY": "<your-api-key>",
66
+ "UAP_MODEL_PROFILE": "claude-haiku-4.5"
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "_profile": "claude-opus-4.8",
3
+ "_description": "Anthropic Claude Opus 4.8 (claude-opus-4-8). Most capable Opus-tier model — state-of-the-art long-horizon agentic execution, knowledge work, and memory. 1M context, 128K max output. Adaptive thinking + effort control (temperature/top_p/top_k and budget_tokens are removed on this model). Best for complex multi-step reasoning and autonomous coding where accuracy matters more than speed.",
4
+
5
+ "model": "claude-opus-4-8",
6
+ "provider": "anthropic",
7
+ "api_base_url": "https://api.anthropic.com",
8
+ "max_tokens": 64000,
9
+ "timeout_ms": 600000,
10
+ "context_window": 1000000,
11
+
12
+ "sampling_parameters_supported": false,
13
+ "_sampling_comment": "temperature, top_p, and top_k are removed on Opus 4.8 and return HTTP 400. Steer behaviour with prompting and the effort control instead.",
14
+
15
+ "optimize_for_tool_calls": true,
16
+ "enable_thinking": true,
17
+
18
+ "reasoning": {
19
+ "mode": "adaptive",
20
+ "effort": "xhigh",
21
+ "display": "summarized",
22
+ "_comment": "Opus 4.8 uses adaptive thinking only; budget_tokens is removed (400). effort=xhigh is the sweet spot for coding/agentic work; drop to low/medium for routine tasks. Streaming is required for max_tokens above ~16K."
23
+ },
24
+
25
+ "extended_thinking": {
26
+ "enabled": true,
27
+ "mode": "adaptive",
28
+ "_comment": "Adaptive thinking — no fixed budget_tokens (removed on Opus 4.8). Depth is controlled by reasoning.effort."
29
+ },
30
+
31
+ "tool_calling": {
32
+ "parallel_tool_calls": true,
33
+ "tool_choice": "auto",
34
+ "max_tool_calls_per_turn": 128,
35
+ "_comment": "Native parallel tool use with strong self-regulation. No forced tool_choice needed — Opus 4.8 uses tools reliably on its own."
36
+ },
37
+
38
+ "tool_call_batching": {
39
+ "enabled": true,
40
+ "system_prompt_suffix": "When multiple tools are needed, call ALL of them in a single response. Do not call one tool and wait - emit all tool calls together.",
41
+ "_comment": "Opus 4.8 natively supports parallel tool calls."
42
+ },
43
+
44
+ "fast_mode": {
45
+ "supported": true,
46
+ "beta": "fast-mode-2026-02-01",
47
+ "_comment": "Opus 4.8 is the durable fast-capable tier (speed=fast on client.beta.messages). Premium pricing; not available on Batch/Priority/third-party platforms."
48
+ },
49
+
50
+ "pricing": {
51
+ "input_per_1m": 5.0,
52
+ "output_per_1m": 25.0,
53
+ "cache_write_per_1m": 6.25,
54
+ "cache_read_per_1m": 0.5,
55
+ "currency": "USD",
56
+ "_comment": "1M context at standard pricing — no long-context premium. Prompt caching gives ~90% discount on cache reads."
57
+ },
58
+
59
+ "rate_limits": {
60
+ "requests_per_minute": 1000,
61
+ "tokens_per_minute": 80000,
62
+ "_comment": "Default tier limits. Higher tiers available via Anthropic."
63
+ },
64
+
65
+ "running_config": {
66
+ "description": "Anthropic hosted API. Requires ANTHROPIC_API_KEY environment variable (or an `ant auth login` profile / Claude Max OAuth via the proxy).",
67
+ "env_vars": {
68
+ "ANTHROPIC_API_KEY": "<your-api-key>",
69
+ "UAP_MODEL_PROFILE": "claude-opus-4.8"
70
+ }
71
+ }
72
+ }
@@ -1,28 +1,66 @@
1
1
  {
2
- "name": "Claude Sonnet 5",
3
- "model": "claude-sonnet-5-20250514",
4
- "max_tokens": 8192,
5
- "temperature": 0.5,
6
- "top_p": 0.9,
7
- "top_k": 40,
8
- "context_window": 200000,
9
- "stop_sequences": [],
10
- "presence_penalty": 0.0,
11
- "frequency_penalty": 0.0,
2
+ "_profile": "claude-sonnet-5",
3
+ "_description": "Anthropic Claude Sonnet 5 (claude-sonnet-5). Best combination of speed and intelligence in the Sonnet tier — near-Opus quality on coding and agentic work at Sonnet cost. 1M context, 128K max output. Adaptive thinking on by default; non-default temperature/top_p/top_k are rejected; budget_tokens is removed. New tokenizer (~30% more tokens than Sonnet 4.6). Best value for everyday agentic work.",
4
+
5
+ "model": "claude-sonnet-5",
6
+ "provider": "anthropic",
7
+ "api_base_url": "https://api.anthropic.com",
8
+ "max_tokens": 32000,
9
+ "timeout_ms": 300000,
10
+ "context_window": 1000000,
11
+
12
+ "sampling_parameters_supported": false,
13
+ "_sampling_comment": "Non-default temperature/top_p/top_k are rejected on Sonnet 5 (400). Omit them; steer with prompting and effort.",
14
+
15
+ "optimize_for_tool_calls": true,
16
+ "enable_thinking": true,
17
+
12
18
  "reasoning": {
19
+ "mode": "adaptive",
20
+ "effort": "high",
21
+ "display": "summarized",
22
+ "_comment": "Adaptive thinking is on by default (omitting thinking runs adaptive). effort=high is the default; raise to xhigh for the hardest coding/agentic tasks. budget_tokens is removed. New tokenizer uses ~30% more tokens than Sonnet 4.6 — size max_tokens with headroom."
23
+ },
24
+
25
+ "extended_thinking": {
13
26
  "enabled": true,
14
- "effort": "medium",
15
- "budget": 16000
27
+ "mode": "adaptive",
28
+ "_comment": "Adaptive thinking — no fixed budget_tokens (removed). Depth is controlled by reasoning.effort (low..max, including xhigh)."
29
+ },
30
+
31
+ "tool_calling": {
32
+ "parallel_tool_calls": true,
33
+ "tool_choice": "auto",
34
+ "max_tool_calls_per_turn": 128,
35
+ "_comment": "More agentic than Sonnet 4.6 by default — reaches for tools and self-verification readily. No forced tool_choice needed."
16
36
  },
17
- "tools": {
37
+
38
+ "tool_call_batching": {
18
39
  "enabled": true,
19
- "max_concurrent": 10,
20
- "auto_invoke": true
40
+ "system_prompt_suffix": "When multiple tools are needed, call ALL of them in a single response. Do not call one tool and wait - emit all tool calls together.",
41
+ "_comment": "Sonnet 5 natively supports parallel tool calls."
42
+ },
43
+
44
+ "pricing": {
45
+ "input_per_1m": 3.0,
46
+ "output_per_1m": 15.0,
47
+ "cache_write_per_1m": 3.75,
48
+ "cache_read_per_1m": 0.3,
49
+ "currency": "USD",
50
+ "_comment": "Introductory pricing $2/$10 per 1M through 2026-08-31, then $3/$15. Near-Opus quality at Sonnet cost."
51
+ },
52
+
53
+ "rate_limits": {
54
+ "requests_per_minute": 2000,
55
+ "tokens_per_minute": 160000,
56
+ "_comment": "Default tier limits. Higher throughput than Opus."
21
57
  },
22
- "guardrails": {
23
- "loop_detection": true,
24
- "tool_narrowing": true,
25
- "cycle_breaking": true,
26
- "context_pruning": true
58
+
59
+ "running_config": {
60
+ "description": "Anthropic hosted API. Requires ANTHROPIC_API_KEY environment variable (or an `ant auth login` profile / Claude Max OAuth via the proxy).",
61
+ "env_vars": {
62
+ "ANTHROPIC_API_KEY": "<your-api-key>",
63
+ "UAP_MODEL_PROFILE": "claude-sonnet-5"
64
+ }
27
65
  }
28
66
  }
@@ -0,0 +1,102 @@
1
+ {
2
+ "_profile": "qwen36",
3
+ "_description": "Qwen3.6 35B A3B (IQ4_XS) — local llama.cpp deployment for agentic tool-calling workloads. Successor to qwen35; the default local executor in UAP routing. Routes through the anthropic-proxy (:4000) for <think>-stripping + tool/finalize guardrails.",
4
+ "model": "qwen36-35b-a3b-iq4xs",
5
+ "max_tokens": 81920,
6
+ "temperature": 0.3,
7
+ "top_p": 0.9,
8
+ "top_k": 20,
9
+ "min_p": 0.05,
10
+ "repetition_penalty": 1.0,
11
+ "stop_sequences": ["<|im_end|>"],
12
+ "timeout_ms": 300000,
13
+ "context_window": 262144,
14
+ "optimize_for_tool_calls": true,
15
+ "mode_switch_buffer_tokens": 500,
16
+ "enable_thinking": true,
17
+ "chat_template_kwargs": {
18
+ "enable_thinking": true
19
+ },
20
+
21
+ "dynamic_temperature": {
22
+ "enabled": true,
23
+ "decay": 0.5,
24
+ "floor": 0.2,
25
+ "_comment": "On retry, temp = max(floor, base_temp * decay^attempt). Reduces randomness for structured output."
26
+ },
27
+
28
+ "tool_call_batching": {
29
+ "enabled": true,
30
+ "system_prompt_suffix": "When multiple tools are needed, call ALL of them in a single response. Do not call one tool and wait - emit all tool calls together.",
31
+ "_comment": "Reduces round-trips by encouraging multi-tool emission in one turn."
32
+ },
33
+
34
+ "structured_output": {
35
+ "grammar_file": "tools/agents/config/tool-call.gbnf",
36
+ "json_schema_file": "tools/agents/config/tool-call-schema.json",
37
+ "_comment": "GBNF grammar for per-request use only. Do NOT use --grammar-file on server startup — it forces tool_call output on all requests including plain chat. llama.cpp's autoparser handles tool call detection lazily via the chat template."
38
+ },
39
+
40
+ "server_optimization": {
41
+ "flash_attention": true,
42
+ "kv_cache_type_k": "q8_0",
43
+ "kv_cache_type_v": "q4_0",
44
+ "prompt_cache": {
45
+ "enabled": true,
46
+ "slot_save_path": "./cache/slots"
47
+ },
48
+ "speculative_decoding": {
49
+ "enabled": true,
50
+ "type": "ngram-mod",
51
+ "ngram_size_n": 3,
52
+ "draft_max": 3,
53
+ "draft_min": 1,
54
+ "draft_p_min": 0.80,
55
+ "_comment": "ngram-mod self-speculation (no draft model). Draft-model spec crashes on the Qwen3.x hybrid memory (GDN) seq_add path; ngram-mod avoids this and gives stable throughput."
56
+ },
57
+ "_comment": "KV q8/q4 split saves ~60% KV VRAM. Flash attn gives 1.5-2x speed on long context."
58
+ },
59
+
60
+ "routing": {
61
+ "endpoint": "http://192.168.1.165:4000/v1",
62
+ "_comment": "Route through the anthropic-proxy (:4000), NOT llama :8080 directly — the proxy strips <think> blocks and applies the tool/finalize guardrails."
63
+ },
64
+
65
+ "quantization_profiles": {
66
+ "current": "iq4_xs",
67
+ "upgrade_path": [
68
+ { "quant": "IQ4_XS", "vram_gb": 17, "accuracy": "96%", "tool_calls": "94%" },
69
+ { "quant": "Q4_K_M", "vram_gb": 20, "accuracy": "95%", "tool_calls": "95%" },
70
+ { "quant": "Q5_K_M", "vram_gb": 24, "accuracy": "97%", "tool_calls": "97%" },
71
+ { "quant": "Q6_K", "vram_gb": 28, "accuracy": "98%", "tool_calls": "98%" }
72
+ ],
73
+ "_comment": "Each step up requires ~4-7GB more VRAM but improves instruction following."
74
+ },
75
+
76
+ "running_config": {
77
+ "description": "Dual-model llama.cpp setup: Qwen3.6 35B A3B for LLM + nomic-embed-text-v2-moe for embeddings. Run as two separate llama-server instances on different ports; the LLM is fronted by the anthropic-proxy on :4000.",
78
+ "llm_server": {
79
+ "description": "Instance 1: Main LLM (Qwen3.6 35B A3B) — port 8080, fronted by the proxy on :4000",
80
+ "flags": [
81
+ "--model /path/to/Qwen3.6-35B-A3B-UD-IQ4_XS.gguf",
82
+ "--chat-template-file chat_template.jinja",
83
+ "--n-predict 16384",
84
+ "--temp 0.3",
85
+ "--top-p 0.9",
86
+ "--top-k 20",
87
+ "--min-p 0.05",
88
+ "--ctx-size 131072",
89
+ "--gpu-layers 99",
90
+ "--cache-type-k q8_0",
91
+ "--cache-type-v q4_0",
92
+ "--mlock",
93
+ "-fa on",
94
+ "--metrics",
95
+ "--host 0.0.0.0",
96
+ "--port 8080"
97
+ ],
98
+ "vram_estimate": "~20GB (17GB model + KV cache)"
99
+ },
100
+ "env_var": "UAP_EMBEDDING_ENDPOINT=http://192.168.1.165:8081"
101
+ }
102
+ }