agent-nuvira 2.7.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/agents/writer-tool-calling.d.ts +14 -0
- package/dist/agents/agents/writer-tool-calling.d.ts.map +1 -1
- package/dist/agents/agents/writer-tool-calling.js +20 -0
- package/dist/agents/agents/writer-tool-calling.js.map +1 -1
- package/dist/agents/agents/writer.d.ts.map +1 -1
- package/dist/agents/agents/writer.js +15 -4
- package/dist/agents/agents/writer.js.map +1 -1
- package/dist/agents/edit-module.d.ts +7 -0
- package/dist/agents/edit-module.d.ts.map +1 -1
- package/dist/agents/edit-module.js +21 -6
- package/dist/agents/edit-module.js.map +1 -1
- package/dist/agents/orchestrator.d.ts +40 -0
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +116 -27
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/agents/tool-calling-agent.d.ts +19 -0
- package/dist/agents/tool-calling-agent.d.ts.map +1 -1
- package/dist/agents/tool-calling-agent.js +42 -2
- package/dist/agents/tool-calling-agent.js.map +1 -1
- package/dist/auth-api.d.ts +2 -0
- package/dist/auth-api.d.ts.map +1 -0
- package/dist/auth-api.js +61 -0
- package/dist/auth-api.js.map +1 -0
- package/dist/auth.test.d.ts +1 -0
- package/dist/auth.test.d.ts.map +1 -0
- package/dist/auth.test.js +3 -0
- package/dist/auth.test.js.map +1 -0
- package/dist/cli/chat.d.ts +66 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +323 -77
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts +6 -0
- package/dist/cli/cli-program.d.ts.map +1 -0
- package/dist/cli/cli-program.js +222 -0
- package/dist/cli/cli-program.js.map +1 -0
- package/dist/cli/edit.d.ts.map +1 -1
- package/dist/cli/edit.js +18 -3
- package/dist/cli/edit.js.map +1 -1
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +29 -5
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/failover-runner.d.ts +13 -0
- package/dist/cli/failover-runner.d.ts.map +1 -1
- package/dist/cli/failover-runner.js +11 -0
- package/dist/cli/failover-runner.js.map +1 -1
- package/dist/cli/gateway.d.ts +16 -0
- package/dist/cli/gateway.d.ts.map +1 -1
- package/dist/cli/gateway.js +108 -2
- package/dist/cli/gateway.js.map +1 -1
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +296 -20
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli/plan.js +20 -6
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/process-control.d.ts +10 -0
- package/dist/cli/process-control.d.ts.map +1 -1
- package/dist/cli/process-control.js +73 -7
- package/dist/cli/process-control.js.map +1 -1
- package/dist/cli/router.d.ts +16 -5
- package/dist/cli/router.d.ts.map +1 -1
- package/dist/cli/router.js +31 -206
- package/dist/cli/router.js.map +1 -1
- package/dist/config/paths.d.ts +23 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +30 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/provider-env.d.ts +37 -0
- package/dist/config/provider-env.d.ts.map +1 -0
- package/dist/config/provider-env.js +86 -0
- package/dist/config/provider-env.js.map +1 -0
- package/dist/context/history.d.ts.map +1 -1
- package/dist/context/history.js +24 -8
- package/dist/context/history.js.map +1 -1
- package/dist/context/session-recall.d.ts +30 -0
- package/dist/context/session-recall.d.ts.map +1 -1
- package/dist/context/session-recall.js +61 -0
- package/dist/context/session-recall.js.map +1 -1
- package/dist/file.js +0 -1
- package/dist/file.js.map +1 -1
- package/dist/gateway/adapters.d.ts +10 -0
- package/dist/gateway/adapters.d.ts.map +1 -1
- package/dist/gateway/adapters.js +4 -1
- package/dist/gateway/adapters.js.map +1 -1
- package/dist/gateway/dedup.d.ts +105 -0
- package/dist/gateway/dedup.d.ts.map +1 -0
- package/dist/gateway/dedup.js +160 -0
- package/dist/gateway/dedup.js.map +1 -0
- package/dist/gateway/heartbeat.d.ts +99 -0
- package/dist/gateway/heartbeat.d.ts.map +1 -0
- package/dist/gateway/heartbeat.js +122 -0
- package/dist/gateway/heartbeat.js.map +1 -0
- package/dist/gateway/inbox.d.ts +14 -1
- package/dist/gateway/inbox.d.ts.map +1 -1
- package/dist/gateway/inbox.js.map +1 -1
- package/dist/gateway/platform-config.d.ts +5 -0
- package/dist/gateway/platform-config.d.ts.map +1 -1
- package/dist/gateway/platform-config.js +8 -13
- package/dist/gateway/platform-config.js.map +1 -1
- package/dist/gateway/registry.d.ts +65 -0
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +307 -32
- package/dist/gateway/registry.js.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
- package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
- package/dist/gateway/whatsapp/bridge.d.ts +4 -2
- package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/bridge.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inference/factory.d.ts +16 -0
- package/dist/inference/factory.d.ts.map +1 -1
- package/dist/inference/factory.js +42 -0
- package/dist/inference/factory.js.map +1 -1
- package/dist/inference/gemini-adapter.d.ts.map +1 -1
- package/dist/inference/gemini-adapter.js +3 -0
- package/dist/inference/gemini-adapter.js.map +1 -1
- package/dist/inference/interface.d.ts +12 -0
- package/dist/inference/interface.d.ts.map +1 -1
- package/dist/inference/local-adapter.d.ts +2 -0
- package/dist/inference/local-adapter.d.ts.map +1 -1
- package/dist/inference/local-adapter.js +36 -5
- package/dist/inference/local-adapter.js.map +1 -1
- package/dist/inference/model-catalog.d.ts +8 -0
- package/dist/inference/model-catalog.d.ts.map +1 -1
- package/dist/inference/model-catalog.js +40 -0
- package/dist/inference/model-catalog.js.map +1 -1
- package/dist/inference/model-probe.d.ts +7 -0
- package/dist/inference/model-probe.d.ts.map +1 -1
- package/dist/inference/model-probe.js +25 -7
- package/dist/inference/model-probe.js.map +1 -1
- package/dist/inference/native-tools.d.ts +8 -0
- package/dist/inference/native-tools.d.ts.map +1 -1
- package/dist/inference/native-tools.js +14 -3
- package/dist/inference/native-tools.js.map +1 -1
- package/dist/inference/tool-call-utils.d.ts +66 -7
- package/dist/inference/tool-call-utils.d.ts.map +1 -1
- package/dist/inference/tool-call-utils.js +134 -13
- package/dist/inference/tool-call-utils.js.map +1 -1
- package/dist/learning/auto-router.d.ts +21 -0
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +282 -21
- package/dist/learning/auto-router.js.map +1 -1
- package/dist/learning/context-budget.d.ts +133 -0
- package/dist/learning/context-budget.d.ts.map +1 -0
- package/dist/learning/context-budget.js +196 -0
- package/dist/learning/context-budget.js.map +1 -0
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +20 -8
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/eval-framework.d.ts.map +1 -1
- package/dist/learning/eval-framework.js +6 -2
- package/dist/learning/eval-framework.js.map +1 -1
- package/dist/learning/failure-bookkeeping.d.ts +41 -0
- package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
- package/dist/learning/failure-bookkeeping.js +122 -4
- package/dist/learning/failure-bookkeeping.js.map +1 -1
- package/dist/learning/feedback.d.ts.map +1 -1
- package/dist/learning/feedback.js +19 -8
- package/dist/learning/feedback.js.map +1 -1
- package/dist/learning/model-first-router.d.ts.map +1 -1
- package/dist/learning/model-first-router.js +5 -11
- package/dist/learning/model-first-router.js.map +1 -1
- package/dist/learning/model-harness.d.ts +76 -0
- package/dist/learning/model-harness.d.ts.map +1 -0
- package/dist/learning/model-harness.js +119 -0
- package/dist/learning/model-harness.js.map +1 -0
- package/dist/learning/model-registry.d.ts +29 -0
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +129 -3
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/model-scoring.d.ts.map +1 -1
- package/dist/learning/model-scoring.js +6 -1
- package/dist/learning/model-scoring.js.map +1 -1
- package/dist/learning/model-selection.d.ts +15 -0
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +40 -1
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/provider-fallback.d.ts +12 -0
- package/dist/learning/provider-fallback.d.ts.map +1 -1
- package/dist/learning/provider-fallback.js +84 -0
- package/dist/learning/provider-fallback.js.map +1 -1
- package/dist/learning/provider-revival.d.ts +106 -0
- package/dist/learning/provider-revival.d.ts.map +1 -0
- package/dist/learning/provider-revival.js +154 -0
- package/dist/learning/provider-revival.js.map +1 -0
- package/dist/learning/quota-ledger.d.ts +64 -3
- package/dist/learning/quota-ledger.d.ts.map +1 -1
- package/dist/learning/quota-ledger.js +122 -9
- package/dist/learning/quota-ledger.js.map +1 -1
- package/dist/learning/resilient-call.d.ts +98 -0
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +252 -46
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/nlu/conversation-gate.d.ts +37 -0
- package/dist/nlu/conversation-gate.d.ts.map +1 -1
- package/dist/nlu/conversation-gate.js +49 -0
- package/dist/nlu/conversation-gate.js.map +1 -1
- package/dist/nlu/schema.d.ts +4 -4
- package/dist/observability/dag-bridge.d.ts +69 -0
- package/dist/observability/dag-bridge.d.ts.map +1 -0
- package/dist/observability/dag-bridge.js +56 -0
- package/dist/observability/dag-bridge.js.map +1 -0
- package/dist/observability/event-bus.d.ts +5 -10
- package/dist/observability/event-bus.d.ts.map +1 -1
- package/dist/observability/event-bus.js +10 -42
- package/dist/observability/event-bus.js.map +1 -1
- package/dist/routes/auth.d.ts +3 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +41 -36
- package/dist/routes/auth.js.map +1 -0
- package/dist/skills/execution-audit.d.ts.map +1 -1
- package/dist/skills/execution-audit.js +17 -5
- package/dist/skills/execution-audit.js.map +1 -1
- package/dist/skills/sandbox-executor.d.ts +12 -1
- package/dist/skills/sandbox-executor.d.ts.map +1 -1
- package/dist/skills/sandbox-executor.js +28 -6
- package/dist/skills/sandbox-executor.js.map +1 -1
- package/dist/skills/secret-capture.d.ts +45 -1
- package/dist/skills/secret-capture.d.ts.map +1 -1
- package/dist/skills/secret-capture.js +82 -19
- package/dist/skills/secret-capture.js.map +1 -1
- package/dist/skills/skill-env-inventory.d.ts +79 -0
- package/dist/skills/skill-env-inventory.d.ts.map +1 -0
- package/dist/skills/skill-env-inventory.js +167 -0
- package/dist/skills/skill-env-inventory.js.map +1 -0
- package/dist/skills/skill-executor.d.ts +2 -0
- package/dist/skills/skill-executor.d.ts.map +1 -1
- package/dist/skills/skill-executor.js +19 -24
- package/dist/skills/skill-executor.js.map +1 -1
- package/dist/tools/ask-user.d.ts +14 -1
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +25 -1
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/followup-utils.d.ts +64 -0
- package/dist/tools/followup-utils.d.ts.map +1 -0
- package/dist/tools/followup-utils.js +158 -0
- package/dist/tools/followup-utils.js.map +1 -0
- package/dist/tools/memory-tools.d.ts +35 -0
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +76 -0
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/pipeline-tool.d.ts.map +1 -1
- package/dist/tools/pipeline-tool.js +8 -3
- package/dist/tools/pipeline-tool.js.map +1 -1
- package/dist/tools/registry.d.ts +25 -12
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +31 -6
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/skill-tool.d.ts.map +1 -1
- package/dist/tools/skill-tool.js +52 -5
- package/dist/tools/skill-tool.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +63 -1
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +305 -66
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/toolsets.d.ts +19 -3
- package/dist/tools/toolsets.d.ts.map +1 -1
- package/dist/tools/toolsets.js +21 -5
- package/dist/tools/toolsets.js.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +9 -13
- package/dist/utils/env.js.map +1 -1
- package/dist/web-dashboard/chat-console.d.ts +13 -1
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +16 -2
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/hub-data.d.ts +2 -0
- package/dist/web-dashboard/hub-data.d.ts.map +1 -1
- package/dist/web-dashboard/hub-data.js +4 -0
- package/dist/web-dashboard/hub-data.js.map +1 -1
- package/dist/web-dashboard/server.d.ts +6 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +196 -3
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +31 -1
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/package.json +11 -1
- package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
- package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
- package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
- package/src/web-dashboard/public/index.html +2 -2
- package/dist/example.d.ts +0 -1
- package/dist/example.d.ts.map +0 -1
- package/dist/example.js +0 -3
- package/dist/example.js.map +0 -1
- package/dist/fresh.d.ts +0 -2
- package/dist/fresh.d.ts.map +0 -1
- package/dist/fresh.js +0 -2
- package/dist/fresh.js.map +0 -1
- package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
- package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
- package/dist/mcp/mcp-dashboard-oauth.js +0 -140
- package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
- package/dist/memory/background-sync.d.ts +0 -107
- package/dist/memory/background-sync.d.ts.map +0 -1
- package/dist/memory/background-sync.js +0 -242
- package/dist/memory/background-sync.js.map +0 -1
- package/dist/memory/cross-session.d.ts +0 -68
- package/dist/memory/cross-session.d.ts.map +0 -1
- package/dist/memory/cross-session.js +0 -153
- package/dist/memory/cross-session.js.map +0 -1
- package/dist/memory/drift-detector.d.ts +0 -76
- package/dist/memory/drift-detector.d.ts.map +0 -1
- package/dist/memory/drift-detector.js +0 -216
- package/dist/memory/drift-detector.js.map +0 -1
- package/dist/memory/enhanced-manager.d.ts +0 -105
- package/dist/memory/enhanced-manager.d.ts.map +0 -1
- package/dist/memory/enhanced-manager.js +0 -280
- package/dist/memory/enhanced-manager.js.map +0 -1
- package/dist/memory/session-extraction.d.ts +0 -93
- package/dist/memory/session-extraction.d.ts.map +0 -1
- package/dist/memory/session-extraction.js +0 -290
- package/dist/memory/session-extraction.js.map +0 -1
- package/dist/memory/sqlite-store.d.ts +0 -208
- package/dist/memory/sqlite-store.d.ts.map +0 -1
- package/dist/memory/sqlite-store.js +0 -556
- package/dist/memory/sqlite-store.js.map +0 -1
- package/dist/skills/daytona-executor.d.ts +0 -78
- package/dist/skills/daytona-executor.d.ts.map +0 -1
- package/dist/skills/daytona-executor.js +0 -256
- package/dist/skills/daytona-executor.js.map +0 -1
- package/dist/skills/modal-executor.d.ts +0 -81
- package/dist/skills/modal-executor.d.ts.map +0 -1
- package/dist/skills/modal-executor.js +0 -285
- package/dist/skills/modal-executor.js.map +0 -1
- package/dist/sync/inventory.d.ts +0 -1
- package/dist/sync/inventory.d.ts.map +0 -1
- package/dist/sync/inventory.js +0 -3
- package/dist/sync/inventory.js.map +0 -1
- package/dist/sync/validate.d.ts +0 -1
- package/dist/sync/validate.d.ts.map +0 -1
- package/dist/sync/validate.js +0 -3
- package/dist/sync/validate.js.map +0 -1
- package/dist/test.d.ts +0 -2
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -3
- package/dist/test.js.map +0 -1
- package/dist/tools/browser-tool.d.ts +0 -206
- package/dist/tools/browser-tool.d.ts.map +0 -1
- package/dist/tools/browser-tool.js +0 -726
- package/dist/tools/browser-tool.js.map +0 -1
- package/dist/tools/delegate-tool.d.ts +0 -109
- package/dist/tools/delegate-tool.d.ts.map +0 -1
- package/dist/tools/delegate-tool.js +0 -185
- package/dist/tools/delegate-tool.js.map +0 -1
- package/dist/tools/delegation-state.d.ts +0 -87
- package/dist/tools/delegation-state.d.ts.map +0 -1
- package/dist/tools/delegation-state.js +0 -278
- package/dist/tools/delegation-state.js.map +0 -1
- package/dist/tools/desktop-ui.d.ts +0 -148
- package/dist/tools/desktop-ui.d.ts.map +0 -1
- package/dist/tools/desktop-ui.js +0 -486
- package/dist/tools/desktop-ui.js.map +0 -1
- package/dist/tools/image-video-tool.d.ts +0 -88
- package/dist/tools/image-video-tool.d.ts.map +0 -1
- package/dist/tools/image-video-tool.js +0 -276
- package/dist/tools/image-video-tool.js.map +0 -1
- package/dist/tools/kanban-cron-tools.d.ts +0 -92
- package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
- package/dist/tools/kanban-cron-tools.js +0 -197
- package/dist/tools/kanban-cron-tools.js.map +0 -1
- package/dist/tools/messaging-tool.d.ts +0 -127
- package/dist/tools/messaging-tool.d.ts.map +0 -1
- package/dist/tools/messaging-tool.js +0 -314
- package/dist/tools/messaging-tool.js.map +0 -1
- package/dist/tools/modality/generic-caller.d.ts +0 -43
- package/dist/tools/modality/generic-caller.d.ts.map +0 -1
- package/dist/tools/modality/generic-caller.js +0 -254
- package/dist/tools/modality/generic-caller.js.map +0 -1
- package/dist/tools/modality/modality-catalog.d.ts +0 -134
- package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
- package/dist/tools/modality/modality-catalog.js +0 -445
- package/dist/tools/modality/modality-catalog.js.map +0 -1
- package/dist/tools/modality/tool-router.d.ts +0 -81
- package/dist/tools/modality/tool-router.d.ts.map +0 -1
- package/dist/tools/modality/tool-router.js +0 -84
- package/dist/tools/modality/tool-router.js.map +0 -1
- package/dist/tools/security-tools.d.ts +0 -107
- package/dist/tools/security-tools.d.ts.map +0 -1
- package/dist/tools/security-tools.js +0 -264
- package/dist/tools/security-tools.js.map +0 -1
- package/dist/tools/ssh-tool.d.ts +0 -130
- package/dist/tools/ssh-tool.d.ts.map +0 -1
- package/dist/tools/ssh-tool.js +0 -328
- package/dist/tools/ssh-tool.js.map +0 -1
- package/dist/tools/tts-tool.d.ts +0 -91
- package/dist/tools/tts-tool.d.ts.map +0 -1
- package/dist/tools/tts-tool.js +0 -406
- package/dist/tools/tts-tool.js.map +0 -1
- package/dist/utils/shell-detection.d.ts +0 -124
- package/dist/utils/shell-detection.d.ts.map +0 -1
- package/dist/utils/shell-detection.js +0 -305
- package/dist/utils/shell-detection.js.map +0 -1
- package/dist/utils/windows-paths.d.ts +0 -185
- package/dist/utils/windows-paths.d.ts.map +0 -1
- package/dist/utils/windows-paths.js +0 -472
- package/dist/utils/windows-paths.js.map +0 -1
- package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
- package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
|
@@ -38,6 +38,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
38
38
|
import { envBuff, resolveNuviraHome } from '../config/paths.js';
|
|
39
39
|
import { join } from 'node:path';
|
|
40
40
|
import { getVectorStore } from '../memory/vector-store.js';
|
|
41
|
+
import { isNonChatModel } from '../inference/model-catalog.js';
|
|
41
42
|
import { getQuotaLedger } from './quota-ledger.js';
|
|
42
43
|
import { getEventBus, EventNames } from '../observability/event-bus.js';
|
|
43
44
|
import { appendChainedRecordFast, rechainRecords, writeHeadState, headOfLines, } from '../enterprise/audit-chain.js';
|
|
@@ -64,6 +65,12 @@ export const DEFAULT_STALE_MS = 7 * 24 * 60 * 60 * 1000; // 7 days
|
|
|
64
65
|
* stops the router from scoring a provider it already knows is dead. ISSUE-002.
|
|
65
66
|
*/
|
|
66
67
|
export const DEGRADED_UNAVAILABLE_THRESHOLD = 3;
|
|
68
|
+
/**
|
|
69
|
+
* How far a single SUCCESS decays the error-rate EMA (mirrors the 0.1 partial-
|
|
70
|
+
* rate heal step). errorRate must heal on success, otherwise a transient blip
|
|
71
|
+
* permanently penalizes a recovered model in preferredModelsFor().
|
|
72
|
+
*/
|
|
73
|
+
export const ERROR_RATE_HEAL_STEP = 0.1;
|
|
67
74
|
function memoryDir() {
|
|
68
75
|
return envBuff('MEMORY_DIR') || DEFAULT_MEMORY_DIR;
|
|
69
76
|
}
|
|
@@ -76,6 +83,16 @@ function actionLogPath() {
|
|
|
76
83
|
function entryKey(provider, model) {
|
|
77
84
|
return `${provider}|${model || 'default'}`;
|
|
78
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* The config value `'default'` is a SENTINEL meaning "use the provider's
|
|
88
|
+
* default model" — it is NOT a model id. Telemetry must never track it: a
|
|
89
|
+
* `groq|default` entry marked `verified` (observed live, its lastError being
|
|
90
|
+
* "model not found") ranked first by error-rate and was handed to the adapter
|
|
91
|
+
* as a literal model name. Every registry WRITE ignores the sentinel.
|
|
92
|
+
*/
|
|
93
|
+
export function isSentinelModel(model) {
|
|
94
|
+
return !model || model === 'default';
|
|
95
|
+
}
|
|
79
96
|
function emptyState() {
|
|
80
97
|
return { version: CURRENT_VERSION, entries: {}, updatedAt: Date.now() };
|
|
81
98
|
}
|
|
@@ -258,6 +275,13 @@ export class ModelRegistry {
|
|
|
258
275
|
getVerifiedModels(provider, now = Date.now()) {
|
|
259
276
|
return Object.values(this.data.entries)
|
|
260
277
|
.filter((e) => e.provider === provider && this.isUsable(provider, e.model, now))
|
|
278
|
+
// `'default'` is the config SENTINEL ("use the provider's default
|
|
279
|
+
// model"), not a model id. Telemetry can erroneously record it as a
|
|
280
|
+
// VERIFIED model — observed live: `groq|default` had status=verified
|
|
281
|
+
// while its lastError was "model not found". With errorRate 0 it sorts
|
|
282
|
+
// first and gets handed to the adapter, so the provider rejects it.
|
|
283
|
+
// Never expose the sentinel as a routable model.
|
|
284
|
+
.filter((e) => !!e.model && e.model !== 'default')
|
|
261
285
|
.sort((a, b) => b.lastVerifiedAt - a.lastVerifiedAt)
|
|
262
286
|
.map((e) => e.model);
|
|
263
287
|
}
|
|
@@ -381,8 +405,11 @@ export class ModelRegistry {
|
|
|
381
405
|
if (this.isUsable(provider, m, now))
|
|
382
406
|
return m;
|
|
383
407
|
}
|
|
384
|
-
// No curated pick usable — any verified model works
|
|
385
|
-
|
|
408
|
+
// No curated pick usable — any verified model works, minus NON-CHAT
|
|
409
|
+
// families (a probe can verify a classifier/embedding/speech/image model,
|
|
410
|
+
// which can never serve a chat turn — observed live with
|
|
411
|
+
// llama-prompt-guard-2).
|
|
412
|
+
const verified = this.getVerifiedModels(provider, now).filter((m) => !isNonChatModel(m));
|
|
386
413
|
return verified.length > 0 ? verified[0] : undefined;
|
|
387
414
|
}
|
|
388
415
|
// ─── Writes (probe / spot-check / telemetry) ──────────────────────────────
|
|
@@ -408,6 +435,8 @@ export class ModelRegistry {
|
|
|
408
435
|
const now = Date.now();
|
|
409
436
|
for (const raw of models) {
|
|
410
437
|
const model = typeof raw === 'string' ? raw : raw.id;
|
|
438
|
+
if (isSentinelModel(model))
|
|
439
|
+
continue; // never track the 'default' sentinel
|
|
411
440
|
const contextWindowTokens = typeof raw === 'string' ? undefined : raw.contextWindowTokens;
|
|
412
441
|
const key = entryKey(provider, model);
|
|
413
442
|
const existing = this.data.entries[key];
|
|
@@ -460,6 +489,8 @@ export class ModelRegistry {
|
|
|
460
489
|
* next real call fails again and re-parks.
|
|
461
490
|
*/
|
|
462
491
|
markVerified(provider, model, source, latencyMs, action, costUsd, callId) {
|
|
492
|
+
if (isSentinelModel(model))
|
|
493
|
+
return; // never verify the 'default' sentinel
|
|
463
494
|
const now = Date.now();
|
|
464
495
|
const key = entryKey(provider, model);
|
|
465
496
|
const existing = this.data.entries[key];
|
|
@@ -477,7 +508,12 @@ export class ModelRegistry {
|
|
|
477
508
|
? Math.round(0.3 * latencyMs + 0.7 * prevLatency)
|
|
478
509
|
: Math.round(latencyMs)
|
|
479
510
|
: prevLatency,
|
|
480
|
-
|
|
511
|
+
// Success HEALS reliability: decay the error EMA toward 0 (never hard-reset,
|
|
512
|
+
// so one lucky call can't erase a genuinely flaky streak). Before this a
|
|
513
|
+
// verified model that once hit a transient 429 stayed penalized FOREVER
|
|
514
|
+
// (errorRate was monotonically non-decreasing), permanently sinking it in
|
|
515
|
+
// preferredModelsFor() even after it recovered.
|
|
516
|
+
errorRate: Math.max(0, (existing?.errorRate ?? 0) - ERROR_RATE_HEAL_STEP),
|
|
481
517
|
// The provider-advertised context window survives a re-verify (it is
|
|
482
518
|
// model metadata, independent of the verify event).
|
|
483
519
|
contextWindowTokens: existing?.contextWindowTokens,
|
|
@@ -576,6 +612,8 @@ export class ModelRegistry {
|
|
|
576
612
|
* Optionally applies a quota park (e.g. rate-limit).
|
|
577
613
|
*/
|
|
578
614
|
markUnavailable(provider, model, reason, source, quotaParkedUntil = 0, action) {
|
|
615
|
+
if (isSentinelModel(model))
|
|
616
|
+
return; // never track the 'default' sentinel
|
|
579
617
|
const now = Date.now();
|
|
580
618
|
const key = entryKey(provider, model);
|
|
581
619
|
const existing = this.data.entries[key];
|
|
@@ -615,6 +653,47 @@ export class ModelRegistry {
|
|
|
615
653
|
});
|
|
616
654
|
}
|
|
617
655
|
}
|
|
656
|
+
/**
|
|
657
|
+
* Park a SINGLE model for a quota window (rate-limit / 429) WITHOUT demoting
|
|
658
|
+
* its status.
|
|
659
|
+
*
|
|
660
|
+
* This is the probe-side counterpart to `recordCall(ok=false,'rate-limit')`:
|
|
661
|
+
* a transient quota blip must never flip a model to `unavailable` (which
|
|
662
|
+
* `isUsable()` then treats as permanently dead until a manual unblock), or a
|
|
663
|
+
* single 429 during a refresh would exclude a perfectly good model forever.
|
|
664
|
+
* The entry keeps its prior status (verified stays verified) and is gated
|
|
665
|
+
* only by `quotaParkedUntil`, so it re-enters routing automatically the
|
|
666
|
+
* moment the window lapses — "probed, and made available again when it is".
|
|
667
|
+
*
|
|
668
|
+
* @param until Absolute epoch ms when the park expires (must be > now to gate).
|
|
669
|
+
*/
|
|
670
|
+
parkModel(provider, model, reason, until, source) {
|
|
671
|
+
if (isSentinelModel(model))
|
|
672
|
+
return; // never track the 'default' sentinel
|
|
673
|
+
const now = Date.now();
|
|
674
|
+
const key = entryKey(provider, model);
|
|
675
|
+
const existing = this.data.entries[key];
|
|
676
|
+
const entry = existing ?? {
|
|
677
|
+
provider,
|
|
678
|
+
model,
|
|
679
|
+
status: 'unverified',
|
|
680
|
+
lastVerifiedAt: 0,
|
|
681
|
+
lastProbedAt: now,
|
|
682
|
+
lastUsedAt: 0,
|
|
683
|
+
errorRate: 0,
|
|
684
|
+
quotaParkedUntil: 0,
|
|
685
|
+
source: 'telemetry',
|
|
686
|
+
};
|
|
687
|
+
entry.lastProbedAt = now;
|
|
688
|
+
entry.lastError = reason;
|
|
689
|
+
entry.quotaParkedUntil = Math.max(entry.quotaParkedUntil || 0, until);
|
|
690
|
+
// providerParked=false → isUsable() blocks THIS model only; a sibling model
|
|
691
|
+
// on the same provider is untouched (per-model granularity).
|
|
692
|
+
entry.providerParked = false;
|
|
693
|
+
this.data.entries[key] = entry;
|
|
694
|
+
this.persist();
|
|
695
|
+
this.emitUpdated([provider], `quota-parked: ${model} (${reason})`, source);
|
|
696
|
+
}
|
|
618
697
|
/** Apply the quota ledger's parked-provider status to a provider's entries.
|
|
619
698
|
*
|
|
620
699
|
* FIX: Only park models that are NOT verified. A verified model has proven
|
|
@@ -712,6 +791,8 @@ export class ModelRegistry {
|
|
|
712
791
|
recordCall(provider, model, ok, errorType, action, latencyMs, costUsd, callId,
|
|
713
792
|
/** Provider-reported reset hint in ms (Retry-After / "try again in Ns"). */
|
|
714
793
|
retryAfterMs) {
|
|
794
|
+
if (isSentinelModel(model))
|
|
795
|
+
return; // never record calls against the sentinel
|
|
715
796
|
const now = Date.now();
|
|
716
797
|
const key = entryKey(provider, model);
|
|
717
798
|
const existing = this.data.entries[key];
|
|
@@ -821,6 +902,8 @@ export class ModelRegistry {
|
|
|
821
902
|
* the dashboard — the bigger the partial, the more "almost finished").
|
|
822
903
|
*/
|
|
823
904
|
recordPartial(provider, model, action, errorType, streamedChunks) {
|
|
905
|
+
if (isSentinelModel(model))
|
|
906
|
+
return; // never record the 'default' sentinel
|
|
824
907
|
try {
|
|
825
908
|
this.appendActionLog({
|
|
826
909
|
timestamp: Date.now(),
|
|
@@ -949,6 +1032,30 @@ export class ModelRegistry {
|
|
|
949
1032
|
}
|
|
950
1033
|
}
|
|
951
1034
|
}
|
|
1035
|
+
// 1b. MODEL-level parks — mirror the ledger's PER-MODEL cooldowns onto the
|
|
1036
|
+
// EXACT entry. This is the per-model quota key end to end: one model
|
|
1037
|
+
// resting on its own limit must never block its siblings, so the park is
|
|
1038
|
+
// written with providerParked=false (model-specific) and only that entry's
|
|
1039
|
+
// `isUsable()` turns false — `preferredModelsFor()` still ranks the
|
|
1040
|
+
// provider's other models and routing serves from them. The park EXPIRES
|
|
1041
|
+
// by itself (quotaParkedUntil is absolute), so the model is automatically
|
|
1042
|
+
// re-admitted the moment its window lapses — and because a genuine success
|
|
1043
|
+
// clears the park (markVerified), a recovered model is picked up as soon
|
|
1044
|
+
// as it is used or re-probed.
|
|
1045
|
+
for (const { provider, model, cooldownRemaining } of ledger.getModelQuotaStatus(configManager)) {
|
|
1046
|
+
if (cooldownRemaining <= 0 || model === '*')
|
|
1047
|
+
continue;
|
|
1048
|
+
const entry = this.data.entries[entryKey(provider, model)];
|
|
1049
|
+
if (!entry)
|
|
1050
|
+
continue;
|
|
1051
|
+
const until = now + cooldownRemaining;
|
|
1052
|
+
if (until > entry.quotaParkedUntil) {
|
|
1053
|
+
entry.quotaParkedUntil = until;
|
|
1054
|
+
entry.providerParked = false;
|
|
1055
|
+
changed = true;
|
|
1056
|
+
newlyParked.add(provider);
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
952
1059
|
// 2. Full usage telemetry mirror — tokens / requests / reset / remaining.
|
|
953
1060
|
const limits = configManager?.getAll()?.routing?.quota || {};
|
|
954
1061
|
for (const s of ledger.getStatus(configManager)) {
|
|
@@ -974,6 +1081,22 @@ export class ModelRegistry {
|
|
|
974
1081
|
changed = true;
|
|
975
1082
|
}
|
|
976
1083
|
}
|
|
1084
|
+
// 3. RECOVERY WAKE-UP: an entry whose park has LAPSED is already routable
|
|
1085
|
+
// again (quotaParkedUntil is absolute and `isUsable()` gates on it), but
|
|
1086
|
+
// nothing told the watcher or the dashboard it RECOVERED. Emit once per
|
|
1087
|
+
// lapse so the event-driven re-verification re-probes the healed model
|
|
1088
|
+
// (proving it really serves again instead of trusting a stale entry) and
|
|
1089
|
+
// the dashboard's quota view refreshes — "keep checking models that are
|
|
1090
|
+
// available again, and keep the ledger/dashboard current".
|
|
1091
|
+
const recovered = new Set();
|
|
1092
|
+
for (const e of Object.values(this.data.entries)) {
|
|
1093
|
+
if (e.quotaParkedUntil > 0 && e.quotaParkedUntil <= now) {
|
|
1094
|
+
e.quotaParkedUntil = 0;
|
|
1095
|
+
e.providerParked = false;
|
|
1096
|
+
changed = true;
|
|
1097
|
+
recovered.add(e.provider);
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
977
1100
|
if (changed) {
|
|
978
1101
|
this.persist();
|
|
979
1102
|
// Mirror-applied parks are state changes too — report them the same way
|
|
@@ -982,6 +1105,9 @@ export class ModelRegistry {
|
|
|
982
1105
|
for (const provider of newlyParked) {
|
|
983
1106
|
this.emitUpdated([provider], 'quota-parked (window exhausted)', 'quota');
|
|
984
1107
|
}
|
|
1108
|
+
for (const provider of recovered) {
|
|
1109
|
+
this.emitUpdated([provider], 'quota park lapsed — re-admitted', 'quota');
|
|
1110
|
+
}
|
|
985
1111
|
}
|
|
986
1112
|
}
|
|
987
1113
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-registry.js","sourceRoot":"","sources":["../../src/learning/model-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model-registry.js","sourceRoot":"","sources":["../../src/learning/model-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-scoring.d.ts","sourceRoot":"","sources":["../../src/learning/model-scoring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"model-scoring.d.ts","sourceRoot":"","sources":["../../src/learning/model-scoring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO7E,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzC,4CAA4C;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,gCAAgC;AAChC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAID;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,eAAe,EAC3B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,qBAAqB,CA2DvB;AA8HD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,eAAe,EAC5B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,UAAU,EAAE,CA4Bd;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,eAAe,EAC5B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,GAAG,SAAS,CAIpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,CAAC,GAAE,MAAU,EACb,UAAU,CAAC,EAAE,eAAe,EAC5B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,UAAU,EAAE,CAGd"}
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
import { getModelRegistry } from './model-registry.js';
|
|
26
26
|
import { analyzeComplexity } from './hybrid-router.js';
|
|
27
27
|
import { getCatalogProvider } from '../inference/provider-catalog.js';
|
|
28
|
+
import { isNonChatModel } from '../inference/model-catalog.js';
|
|
28
29
|
// ─── Task Analysis ──────────────────────────────────────────────────────────
|
|
29
30
|
/**
|
|
30
31
|
* Estimate task requirements from description and complexity.
|
|
@@ -213,7 +214,11 @@ export function scoreModels(provider, taskDescription, complexity, estimatedInpu
|
|
|
213
214
|
const resolvedComplexity = complexity || analyzeComplexity(taskDescription);
|
|
214
215
|
const requirements = estimateTaskRequirements(taskDescription, resolvedComplexity, estimatedInputTokens);
|
|
215
216
|
// Get ALL tracked models for this provider (verified + unverified + unavailable)
|
|
216
|
-
|
|
217
|
+
// — minus NON-CHAT families (safety classifiers, embeddings, speech, image/
|
|
218
|
+
// video generators). A probe can mark one "verified" (observed live: groq's
|
|
219
|
+
// llama-prompt-guard-2), but it can never serve a chat turn, so model-level
|
|
220
|
+
// scoring must never select one.
|
|
221
|
+
const allModels = registry.getAllModelsForProvider(provider).filter((m) => !isNonChatModel(m.model));
|
|
217
222
|
// If no models in registry, return empty (caller falls back to configured model)
|
|
218
223
|
if (allModels.length === 0) {
|
|
219
224
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-scoring.js","sourceRoot":"","sources":["../../src/learning/model-scoring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,gBAAgB,EAA2B,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAwB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAA6B,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"model-scoring.js","sourceRoot":"","sources":["../../src/learning/model-scoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,10 +41,25 @@ export declare const KEYLESS_PROVIDERS: string[];
|
|
|
41
41
|
* reachability is probed later by isAvailable(), never assumed here.
|
|
42
42
|
*/
|
|
43
43
|
export declare function hasCredentials(configManager: ConfigManager, provider: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* The error rate above which a model is DEPRIORITIZED (not excluded): at 0.6 it
|
|
46
|
+
* fails roughly 3 times in 5, so preferring a healthier sibling is worth it —
|
|
47
|
+
* but if it is the only verified option it must still be usable, because a
|
|
48
|
+
* weak candidate beats no candidate.
|
|
49
|
+
*
|
|
50
|
+
* Observed live: routing served `groq/compound-mini` at errorRate 0.89 while
|
|
51
|
+
* healthy siblings sat available, and every turn answered by it was poor or
|
|
52
|
+
* failed outright.
|
|
53
|
+
*/
|
|
54
|
+
export declare const MODEL_HEALTH_CEILING = 0.6;
|
|
44
55
|
/**
|
|
45
56
|
* Verified working models for a provider, ranked by learned health:
|
|
46
57
|
* lowest error rate first, then lowest latency, then most recently verified.
|
|
47
58
|
* Empty when nothing has been verified yet (cold start / no keys).
|
|
59
|
+
*
|
|
60
|
+
* MODELS AT/ABOVE `MODEL_HEALTH_CEILING` SORT AFTER THE HEALTHY ONES but are
|
|
61
|
+
* never removed: "deprioritize, never exclude" — a burning provider you can
|
|
62
|
+
* still fall back TO is worth more than a clean-looking empty pool.
|
|
48
63
|
*/
|
|
49
64
|
export declare function preferredModelsFor(provider: string): string[];
|
|
50
65
|
export interface RankedProvider {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-selection.d.ts","sourceRoot":"","sources":["../../src/learning/model-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"model-selection.d.ts","sourceRoot":"","sources":["../../src/learning/model-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAU1D,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,qEAAsE,CAAC;AAErG;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAMnE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAA6B,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOtF;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC7D;AAcD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,aAAa,GAAG,cAAc,EAAE,CAiErF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAE3E;AAED,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,aAAa,CAAC,EAAE,aAAa,GAC5B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA0BjD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGxG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1F;AAED,qFAAqF;AACrF,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAa5E"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { getModelRegistry } from './model-registry.js';
|
|
23
23
|
import { CATALOG_PROVIDER_IDS, CATALOG_KEYLESS_IDS, isCatalogKeyless, catalogContextWindow, } from '../inference/provider-catalog.js';
|
|
24
|
+
import { isNonChatModel } from '../inference/model-catalog.js';
|
|
24
25
|
/** Built-in provider adapters shipped with the CLI — a catalog, not a preference. */
|
|
25
26
|
export const BUILTIN_PROVIDERS = ['local', 'groq', 'gemini', 'nim', 'openrouter', 'nuvira'];
|
|
26
27
|
/**
|
|
@@ -56,15 +57,42 @@ export function hasCredentials(configManager, provider) {
|
|
|
56
57
|
return false;
|
|
57
58
|
}
|
|
58
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* The error rate above which a model is DEPRIORITIZED (not excluded): at 0.6 it
|
|
62
|
+
* fails roughly 3 times in 5, so preferring a healthier sibling is worth it —
|
|
63
|
+
* but if it is the only verified option it must still be usable, because a
|
|
64
|
+
* weak candidate beats no candidate.
|
|
65
|
+
*
|
|
66
|
+
* Observed live: routing served `groq/compound-mini` at errorRate 0.89 while
|
|
67
|
+
* healthy siblings sat available, and every turn answered by it was poor or
|
|
68
|
+
* failed outright.
|
|
69
|
+
*/
|
|
70
|
+
export const MODEL_HEALTH_CEILING = 0.6;
|
|
59
71
|
/**
|
|
60
72
|
* Verified working models for a provider, ranked by learned health:
|
|
61
73
|
* lowest error rate first, then lowest latency, then most recently verified.
|
|
62
74
|
* Empty when nothing has been verified yet (cold start / no keys).
|
|
75
|
+
*
|
|
76
|
+
* MODELS AT/ABOVE `MODEL_HEALTH_CEILING` SORT AFTER THE HEALTHY ONES but are
|
|
77
|
+
* never removed: "deprioritize, never exclude" — a burning provider you can
|
|
78
|
+
* still fall back TO is worth more than a clean-looking empty pool.
|
|
63
79
|
*/
|
|
64
80
|
export function preferredModelsFor(provider) {
|
|
65
81
|
const registry = getModelRegistry();
|
|
66
|
-
|
|
82
|
+
const ranked = registry
|
|
67
83
|
.getVerifiedModels(provider)
|
|
84
|
+
// The config value `'default'` is a SENTINEL meaning "use the provider's
|
|
85
|
+
// default model" — it is NOT a model id. It can be recorded as a
|
|
86
|
+
// "verified" model by telemetry (observed: `groq|default` status=verified
|
|
87
|
+
// while its lastError was "model not found"), and with errorRate 0 it then
|
|
88
|
+
// sorts FIRST here and gets handed to the adapter → the provider 404s.
|
|
89
|
+
// Never let the sentinel act as a real model.
|
|
90
|
+
.filter((m) => !!m && m !== 'default')
|
|
91
|
+
// Never rank a NON-CHAT model: a probe can mark a safety classifier /
|
|
92
|
+
// embedding / speech / image model "verified" (observed live with groq's
|
|
93
|
+
// llama-prompt-guard-2), and before this filter it then sorted FIRST and
|
|
94
|
+
// got served as the chat model. ROUTING MUST NEVER SELECT ONE.
|
|
95
|
+
.filter((m) => !isNonChatModel(m))
|
|
68
96
|
.sort((a, b) => {
|
|
69
97
|
const ea = registry.getEntry(provider, a);
|
|
70
98
|
const eb = registry.getEntry(provider, b);
|
|
@@ -78,6 +106,17 @@ export function preferredModelsFor(provider) {
|
|
|
78
106
|
return la - lb;
|
|
79
107
|
return (eb?.lastVerifiedAt ?? 0) - (ea?.lastVerifiedAt ?? 0);
|
|
80
108
|
});
|
|
109
|
+
// Health ceiling: a STABLE partition, so the learned order is preserved
|
|
110
|
+
// inside each group. Both groups are returned — degraded models remain
|
|
111
|
+
// reachable as a last resort (the failover walk's whole job is "never
|
|
112
|
+
// dead-end", so dropping them here would be the opposite of a fix).
|
|
113
|
+
const healthy = [];
|
|
114
|
+
const degraded = [];
|
|
115
|
+
for (const model of ranked) {
|
|
116
|
+
const rate = registry.getEntry(provider, model)?.errorRate ?? 0;
|
|
117
|
+
(rate >= MODEL_HEALTH_CEILING ? degraded : healthy).push(model);
|
|
118
|
+
}
|
|
119
|
+
return [...healthy, ...degraded];
|
|
81
120
|
}
|
|
82
121
|
/** Aggregate health score for a provider (its best verified model). Lower = better. */
|
|
83
122
|
function providerHealth(provider) {
|