agent-nuvira 3.3.3 → 3.3.5
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 +13 -5
- package/dist/agent-sdk/src/agent.d.ts +2 -0
- package/dist/agent-sdk/src/agent.d.ts.map +1 -1
- package/dist/agent-sdk/src/define.d.ts +64 -0
- package/dist/agent-sdk/src/define.d.ts.map +1 -0
- package/dist/agent-sdk/src/define.js +76 -0
- package/dist/agent-sdk/src/define.js.map +1 -0
- package/dist/agent-sdk/src/index.d.ts +9 -0
- package/dist/agent-sdk/src/index.d.ts.map +1 -1
- package/dist/agent-sdk/src/index.js +9 -0
- package/dist/agent-sdk/src/index.js.map +1 -1
- package/dist/agent-sdk/src/scaffold.d.ts +11 -0
- package/dist/agent-sdk/src/scaffold.d.ts.map +1 -1
- package/dist/agent-sdk/src/scaffold.js +16 -6
- package/dist/agent-sdk/src/scaffold.js.map +1 -1
- package/dist/agents/long-form-plan.d.ts.map +1 -1
- package/dist/agents/long-form-plan.js +2 -1
- package/dist/agents/long-form-plan.js.map +1 -1
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +5 -4
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/cli/agent.d.ts +2 -2
- package/dist/cli/agent.js +10 -10
- package/dist/cli/chat.d.ts +94 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +354 -20
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts.map +1 -1
- package/dist/cli/cli-program.js +5 -0
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +9 -1
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +3 -2
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/edit.js +2 -2
- package/dist/cli/eval.d.ts +17 -0
- package/dist/cli/eval.d.ts.map +1 -1
- package/dist/cli/eval.js +105 -2
- package/dist/cli/eval.js.map +1 -1
- package/dist/cli/execute.d.ts +16 -1
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +192 -22
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/loop-executor.d.ts +55 -0
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +212 -13
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/model.d.ts.map +1 -1
- package/dist/cli/model.js +9 -8
- package/dist/cli/model.js.map +1 -1
- package/dist/cli/models.d.ts +1 -1
- package/dist/cli/models.js +4 -4
- package/dist/cli/parity.d.ts +85 -0
- package/dist/cli/parity.d.ts.map +1 -0
- package/dist/cli/parity.js +506 -0
- package/dist/cli/parity.js.map +1 -0
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli/plan.js +2 -1
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/retrieval.d.ts.map +1 -1
- package/dist/cli/retrieval.js +5 -4
- package/dist/cli/retrieval.js.map +1 -1
- package/dist/cli/sdk.js +4 -4
- package/dist/cli/sdk.js.map +1 -1
- package/dist/cli/trace.d.ts.map +1 -1
- package/dist/cli/trace.js +2 -1
- package/dist/cli/trace.js.map +1 -1
- package/dist/cli/workflow.js +2 -2
- package/dist/cli/workflow.js.map +1 -1
- package/dist/config/process-env.d.ts +136 -0
- package/dist/config/process-env.d.ts.map +1 -0
- package/dist/config/process-env.js +217 -0
- package/dist/config/process-env.js.map +1 -0
- package/dist/config/types.d.ts +44 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/findings/verdicts.d.ts +241 -0
- package/dist/findings/verdicts.d.ts.map +1 -0
- package/dist/findings/verdicts.js +284 -0
- package/dist/findings/verdicts.js.map +1 -0
- package/dist/gateway/adapters.d.ts +65 -0
- package/dist/gateway/adapters.d.ts.map +1 -1
- package/dist/gateway/adapters.js +216 -10
- package/dist/gateway/adapters.js.map +1 -1
- package/dist/gateway/channel-directory.d.ts +31 -0
- package/dist/gateway/channel-directory.d.ts.map +1 -1
- package/dist/gateway/channel-directory.js +40 -0
- package/dist/gateway/channel-directory.js.map +1 -1
- package/dist/gateway/gateway-log.d.ts +1 -1
- package/dist/gateway/gateway-log.d.ts.map +1 -1
- package/dist/gateway/gateway-log.js.map +1 -1
- package/dist/gateway/hooks.d.ts +87 -19
- package/dist/gateway/hooks.d.ts.map +1 -1
- package/dist/gateway/hooks.js +62 -23
- package/dist/gateway/hooks.js.map +1 -1
- package/dist/gateway/inbound-media.d.ts +147 -0
- package/dist/gateway/inbound-media.d.ts.map +1 -0
- package/dist/gateway/inbound-media.js +317 -0
- package/dist/gateway/inbound-media.js.map +1 -0
- package/dist/gateway/inbox.d.ts +8 -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 +14 -0
- package/dist/gateway/platform-config.d.ts.map +1 -1
- package/dist/gateway/platform-config.js +26 -8
- package/dist/gateway/platform-config.js.map +1 -1
- package/dist/gateway/realtime.d.ts +114 -0
- package/dist/gateway/realtime.d.ts.map +1 -0
- package/dist/gateway/realtime.js +402 -0
- package/dist/gateway/realtime.js.map +1 -0
- package/dist/gateway/registry.d.ts +31 -0
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +224 -4
- 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 +123 -4
- package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
- package/dist/gateway/whatsapp/bridge.d.ts +6 -2
- package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/bridge.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/inference/factory.d.ts +14 -0
- package/dist/inference/factory.d.ts.map +1 -1
- package/dist/inference/factory.js +17 -0
- package/dist/inference/factory.js.map +1 -1
- package/dist/inference/groq-adapter.d.ts +2 -0
- package/dist/inference/groq-adapter.d.ts.map +1 -1
- package/dist/inference/groq-adapter.js +16 -6
- package/dist/inference/groq-adapter.js.map +1 -1
- package/dist/inference/tools.d.ts.map +1 -1
- package/dist/inference/tools.js +29 -0
- package/dist/inference/tools.js.map +1 -1
- package/dist/learning/benchmark.d.ts.map +1 -1
- package/dist/learning/benchmark.js +3 -2
- package/dist/learning/benchmark.js.map +1 -1
- package/dist/learning/continuation.d.ts.map +1 -1
- package/dist/learning/continuation.js +2 -1
- package/dist/learning/continuation.js.map +1 -1
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +2 -1
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/deferred-task.d.ts.map +1 -1
- package/dist/learning/deferred-task.js +13 -4
- package/dist/learning/deferred-task.js.map +1 -1
- package/dist/learning/eval-framework.d.ts.map +1 -1
- package/dist/learning/eval-framework.js +2 -1
- package/dist/learning/eval-framework.js.map +1 -1
- package/dist/learning/long-form.d.ts.map +1 -1
- package/dist/learning/long-form.js +2 -1
- package/dist/learning/long-form.js.map +1 -1
- package/dist/learning/model-reachability.d.ts +95 -0
- package/dist/learning/model-reachability.d.ts.map +1 -0
- package/dist/learning/model-reachability.js +111 -0
- package/dist/learning/model-reachability.js.map +1 -0
- package/dist/learning/model-registry.d.ts +22 -0
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +26 -1
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/model-verify-job.d.ts +131 -0
- package/dist/learning/model-verify-job.d.ts.map +1 -0
- package/dist/learning/model-verify-job.js +221 -0
- package/dist/learning/model-verify-job.js.map +1 -0
- package/dist/learning/reasoning-cache.d.ts.map +1 -1
- package/dist/learning/reasoning-cache.js +2 -1
- package/dist/learning/reasoning-cache.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +37 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js +66 -0
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +2 -1
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/retrieval.d.ts.map +1 -1
- package/dist/learning/retrieval.js +2 -1
- package/dist/learning/retrieval.js.map +1 -1
- package/dist/learning/seeded-benchmark.d.ts +160 -0
- package/dist/learning/seeded-benchmark.d.ts.map +1 -0
- package/dist/learning/seeded-benchmark.js +321 -0
- package/dist/learning/seeded-benchmark.js.map +1 -0
- package/dist/learning/seeded-bugs.d.ts +142 -0
- package/dist/learning/seeded-bugs.d.ts.map +1 -0
- package/dist/learning/seeded-bugs.js +535 -0
- package/dist/learning/seeded-bugs.js.map +1 -0
- package/dist/learning/step-checkpoint.d.ts +127 -0
- package/dist/learning/step-checkpoint.d.ts.map +1 -0
- package/dist/learning/step-checkpoint.js +244 -0
- package/dist/learning/step-checkpoint.js.map +1 -0
- package/dist/nlu/intent-confirm.d.ts +23 -1
- package/dist/nlu/intent-confirm.d.ts.map +1 -1
- package/dist/nlu/intent-confirm.js +85 -2
- package/dist/nlu/intent-confirm.js.map +1 -1
- package/dist/nlu/learnings.d.ts +7 -0
- package/dist/nlu/learnings.d.ts.map +1 -1
- package/dist/nlu/learnings.js +7 -0
- package/dist/nlu/learnings.js.map +1 -1
- package/dist/observability/debug-log.d.ts +250 -0
- package/dist/observability/debug-log.d.ts.map +1 -0
- package/dist/observability/debug-log.js +500 -0
- package/dist/observability/debug-log.js.map +1 -0
- package/dist/observability/event-bus.d.ts.map +1 -1
- package/dist/observability/event-bus.js +4 -1
- package/dist/observability/event-bus.js.map +1 -1
- package/dist/observability/otel.d.ts +278 -0
- package/dist/observability/otel.d.ts.map +1 -0
- package/dist/observability/otel.js +590 -0
- package/dist/observability/otel.js.map +1 -0
- package/dist/parity/drivers.d.ts +99 -0
- package/dist/parity/drivers.d.ts.map +1 -0
- package/dist/parity/drivers.js +1362 -0
- package/dist/parity/drivers.js.map +1 -0
- package/dist/parity/graph.d.ts +73 -0
- package/dist/parity/graph.d.ts.map +1 -0
- package/dist/parity/graph.js +162 -0
- package/dist/parity/graph.js.map +1 -0
- package/dist/parity/matrix.d.ts +105 -0
- package/dist/parity/matrix.d.ts.map +1 -0
- package/dist/parity/matrix.js +352 -0
- package/dist/parity/matrix.js.map +1 -0
- package/dist/parity/observation.d.ts +444 -0
- package/dist/parity/observation.d.ts.map +1 -0
- package/dist/parity/observation.js +333 -0
- package/dist/parity/observation.js.map +1 -0
- package/dist/parity/scenarios.d.ts +229 -0
- package/dist/parity/scenarios.d.ts.map +1 -0
- package/dist/parity/scenarios.js +175 -0
- package/dist/parity/scenarios.js.map +1 -0
- package/dist/parity/surfaces.d.ts +122 -0
- package/dist/parity/surfaces.d.ts.map +1 -0
- package/dist/parity/surfaces.js +190 -0
- package/dist/parity/surfaces.js.map +1 -0
- package/dist/runtime/fault-injection.d.ts +173 -0
- package/dist/runtime/fault-injection.d.ts.map +1 -0
- package/dist/runtime/fault-injection.js +281 -0
- package/dist/runtime/fault-injection.js.map +1 -0
- package/dist/tools/child-agent-entry.d.ts +23 -0
- package/dist/tools/child-agent-entry.d.ts.map +1 -0
- package/dist/tools/child-agent-entry.js +129 -0
- package/dist/tools/child-agent-entry.js.map +1 -0
- package/dist/tools/child-agent-runtime.d.ts +124 -0
- package/dist/tools/child-agent-runtime.d.ts.map +1 -0
- package/dist/tools/child-agent-runtime.js +704 -0
- package/dist/tools/child-agent-runtime.js.map +1 -0
- package/dist/tools/coding-tools.d.ts.map +1 -1
- package/dist/tools/coding-tools.js +82 -10
- package/dist/tools/coding-tools.js.map +1 -1
- package/dist/tools/delegation-system.d.ts +31 -0
- package/dist/tools/delegation-system.d.ts.map +1 -1
- package/dist/tools/delegation-system.js +70 -9
- package/dist/tools/delegation-system.js.map +1 -1
- package/dist/tools/extract/docx.d.ts +27 -0
- package/dist/tools/extract/docx.d.ts.map +1 -0
- package/dist/tools/extract/docx.js +48 -0
- package/dist/tools/extract/docx.js.map +1 -0
- package/dist/tools/extract/html-text.d.ts +27 -0
- package/dist/tools/extract/html-text.d.ts.map +1 -0
- package/dist/tools/extract/html-text.js +86 -0
- package/dist/tools/extract/html-text.js.map +1 -0
- package/dist/tools/extract/pdf-ocr.d.ts +58 -0
- package/dist/tools/extract/pdf-ocr.d.ts.map +1 -0
- package/dist/tools/extract/pdf-ocr.js +116 -0
- package/dist/tools/extract/pdf-ocr.js.map +1 -0
- package/dist/tools/extract/pdf.d.ts +65 -0
- package/dist/tools/extract/pdf.d.ts.map +1 -0
- package/dist/tools/extract/pdf.js +197 -0
- package/dist/tools/extract/pdf.js.map +1 -0
- package/dist/tools/extract/pptx.d.ts +32 -0
- package/dist/tools/extract/pptx.d.ts.map +1 -0
- package/dist/tools/extract/pptx.js +77 -0
- package/dist/tools/extract/pptx.js.map +1 -0
- package/dist/tools/extract/xlsx.d.ts +47 -0
- package/dist/tools/extract/xlsx.d.ts.map +1 -0
- package/dist/tools/extract/xlsx.js +111 -0
- package/dist/tools/extract/xlsx.js.map +1 -0
- package/dist/tools/finding-tool.d.ts +76 -0
- package/dist/tools/finding-tool.d.ts.map +1 -0
- package/dist/tools/finding-tool.js +125 -0
- package/dist/tools/finding-tool.js.map +1 -0
- package/dist/tools/messaging-tools.d.ts +41 -11
- package/dist/tools/messaging-tools.d.ts.map +1 -1
- package/dist/tools/messaging-tools.js +104 -55
- package/dist/tools/messaging-tools.js.map +1 -1
- package/dist/tools/neutts-synth.d.ts +27 -3
- package/dist/tools/neutts-synth.d.ts.map +1 -1
- package/dist/tools/neutts-synth.js +57 -13
- package/dist/tools/neutts-synth.js.map +1 -1
- package/dist/tools/pipeline-tool.d.ts +43 -1
- package/dist/tools/pipeline-tool.d.ts.map +1 -1
- package/dist/tools/pipeline-tool.js +13 -2
- package/dist/tools/pipeline-tool.js.map +1 -1
- package/dist/tools/read-extract.d.ts +116 -45
- package/dist/tools/read-extract.d.ts.map +1 -1
- package/dist/tools/read-extract.js +494 -158
- package/dist/tools/read-extract.js.map +1 -1
- package/dist/tools/registry.d.ts +2 -2
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +152 -23
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/subagent-refusal.d.ts +15 -0
- package/dist/tools/subagent-refusal.d.ts.map +1 -0
- package/dist/tools/subagent-refusal.js +18 -0
- package/dist/tools/subagent-refusal.js.map +1 -0
- package/dist/tools/subagent-spawner.d.ts +122 -0
- package/dist/tools/subagent-spawner.d.ts.map +1 -1
- package/dist/tools/subagent-spawner.js +249 -28
- package/dist/tools/subagent-spawner.js.map +1 -1
- package/dist/tools/tool-hooks.d.ts +177 -0
- package/dist/tools/tool-hooks.d.ts.map +1 -0
- package/dist/tools/tool-hooks.js +427 -0
- package/dist/tools/tool-hooks.js.map +1 -0
- package/dist/tools/tool-loop.d.ts +82 -0
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +167 -9
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/tool-refusal.d.ts +68 -0
- package/dist/tools/tool-refusal.d.ts.map +1 -0
- package/dist/tools/tool-refusal.js +78 -0
- package/dist/tools/tool-refusal.js.map +1 -0
- package/dist/tools/toolsets.d.ts +8 -0
- package/dist/tools/toolsets.d.ts.map +1 -1
- package/dist/tools/toolsets.js +12 -2
- package/dist/tools/toolsets.js.map +1 -1
- package/dist/tools/vision-tools.d.ts +88 -83
- package/dist/tools/vision-tools.d.ts.map +1 -1
- package/dist/tools/vision-tools.js +134 -103
- package/dist/tools/vision-tools.js.map +1 -1
- package/dist/tools/worktree.d.ts +210 -0
- package/dist/tools/worktree.d.ts.map +1 -0
- package/dist/tools/worktree.js +374 -0
- package/dist/tools/worktree.js.map +1 -0
- package/dist/utils/format.d.ts +3 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +32 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/web-dashboard/attachment-extract.d.ts +64 -0
- package/dist/web-dashboard/attachment-extract.d.ts.map +1 -0
- package/dist/web-dashboard/attachment-extract.js +154 -0
- package/dist/web-dashboard/attachment-extract.js.map +1 -0
- package/dist/web-dashboard/chat-console.d.ts +108 -1
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +36 -0
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/hub-data.d.ts +37 -0
- package/dist/web-dashboard/hub-data.d.ts.map +1 -1
- package/dist/web-dashboard/hub-data.js +61 -1
- package/dist/web-dashboard/hub-data.js.map +1 -1
- package/dist/web-dashboard/process-env-inventory.d.ts +57 -0
- package/dist/web-dashboard/process-env-inventory.d.ts.map +1 -0
- package/dist/web-dashboard/process-env-inventory.js +96 -0
- package/dist/web-dashboard/process-env-inventory.js.map +1 -0
- package/dist/web-dashboard/server.d.ts +14 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +493 -30
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +261 -48
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/package.json +18 -3
- package/src/web-dashboard/public/assets/{index-Cyd6tIew.css → index-CIJ6FHHZ.css} +1 -1
- package/src/web-dashboard/public/assets/index-CsySzR41.js +207 -0
- package/src/web-dashboard/public/assets/index-CsySzR41.js.map +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/dist/tools/child-agent-worker.js +0 -212
- package/src/web-dashboard/public/assets/index-CxDj7p6i.js +0 -207
- package/src/web-dashboard/public/assets/index-CxDj7p6i.js.map +0 -1
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Verify next N" — a bounded, single-flight spot-check run a UI can start.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. The registered catalog is mostly UNKNOWN, not broken: on a
|
|
5
|
+
* real profile 535 of 553 tracked models read `unverified`, which means "the
|
|
6
|
+
* provider lists this id and nothing has ever been tried against it". Those rows
|
|
7
|
+
* cannot be routed to (see `model-reachability.ts` — the router needs a proven
|
|
8
|
+
* success within 7 days), and until this module the only thing that could turn
|
|
9
|
+
* one into a routable model was the background warmup daemon, six models per
|
|
10
|
+
* cycle, on an interval — a fix that works but that a user cannot ask for, watch,
|
|
11
|
+
* or aim.
|
|
12
|
+
*
|
|
13
|
+
* WHAT IT IS NOT. It is not `refreshModelRegistry`. That is a bulk sweep: it
|
|
14
|
+
* re-lists every provider's catalog and spends a per-provider spot-check budget.
|
|
15
|
+
* This module spends the SAME 1-token primitive but does not re-list anything —
|
|
16
|
+
* it takes the next N already-recorded never-verified ids and tries them. The
|
|
17
|
+
* catalog does not change; only our knowledge of it does.
|
|
18
|
+
*
|
|
19
|
+
* THE FOUR PROPERTIES THAT KEEP IT SAFE TO PUT BEHIND A BUTTON:
|
|
20
|
+
*
|
|
21
|
+
* 1. **Single-flight.** A second run while one is in progress is refused, not
|
|
22
|
+
* queued. Concurrent runs would read the same candidate list and probe the
|
|
23
|
+
* same models twice — the candidate selector's per-model throttle is ten
|
|
24
|
+
* minutes, so the second run's picks would overlap the first's almost
|
|
25
|
+
* exactly. Two runs are one run at double the quota cost.
|
|
26
|
+
* 2. **Bounded.** `VERIFY_BACKLOG_MAX_PER_RUN` (25) is a hard ceiling on a
|
|
27
|
+
* single request, because every model in the list is a REAL generation —
|
|
28
|
+
* 1 token, but up to `SPOT_CHECK_TIMEOUT_MS` (20s) of wall clock each.
|
|
29
|
+
* 3. **Never-verified only.** The candidate list comes from
|
|
30
|
+
* `selectExplorationCandidates`, which already excludes verified models,
|
|
31
|
+
* proven-dead ones, parked ones, providers we hold no credentials for, and
|
|
32
|
+
* the config sentinel. So a run cannot spend budget on something that
|
|
33
|
+
* cannot answer, and it cannot re-probe something already known.
|
|
34
|
+
* 4. **Self-consuming.** A spot-check either verifies a model or marks it
|
|
35
|
+
* unavailable — both take it out of the never-verified set. Repeating the
|
|
36
|
+
* run therefore makes progress by construction rather than by luck, which
|
|
37
|
+
* is what "work the backlog down" means.
|
|
38
|
+
*
|
|
39
|
+
* SEQUENTIAL ON PURPOSE. `refreshModelRegistry` probes with a concurrency of 3;
|
|
40
|
+
* this runs one model at a time. A bulk sweep tolerates a 429 because it is
|
|
41
|
+
* unattended and long-lived, but here a 429 PARKS the model for
|
|
42
|
+
* `PROBE_RATE_LIMIT_PARK_MS` and the user is watching a progress counter — so
|
|
43
|
+
* the gentler shape buys a stable readout and fewer self-inflicted parks.
|
|
44
|
+
*
|
|
45
|
+
* WHAT IT DELIBERATELY DOES NOT DO: it does not treat a transient `error` as an
|
|
46
|
+
* answer. `spotCheckModel` leaves the entry untouched for a network blip, so an
|
|
47
|
+
* errored model stays in the backlog and is picked again next run. That is the
|
|
48
|
+
* honest outcome — we still do not know — and it is reported as `errored`, never
|
|
49
|
+
* folded into `verified`.
|
|
50
|
+
*/
|
|
51
|
+
import { selectExplorationCandidates } from './model-warmup.js';
|
|
52
|
+
import { spotCheckModel } from '../inference/model-probe.js';
|
|
53
|
+
import { getModelRegistry } from './model-registry.js';
|
|
54
|
+
import { logger } from '../utils/logger.js';
|
|
55
|
+
/** Hard ceiling on one run. Each model is a real (1-token) generation. */
|
|
56
|
+
export const VERIFY_BACKLOG_MAX_PER_RUN = 25;
|
|
57
|
+
/** What the UI asks for when the user does not choose. */
|
|
58
|
+
export const VERIFY_BACKLOG_DEFAULT_PER_RUN = 10;
|
|
59
|
+
function idleState() {
|
|
60
|
+
return {
|
|
61
|
+
status: 'idle',
|
|
62
|
+
runId: null,
|
|
63
|
+
requested: 0,
|
|
64
|
+
planned: 0,
|
|
65
|
+
processed: 0,
|
|
66
|
+
verified: 0,
|
|
67
|
+
unavailable: 0,
|
|
68
|
+
skipped: 0,
|
|
69
|
+
errored: 0,
|
|
70
|
+
current: null,
|
|
71
|
+
results: [],
|
|
72
|
+
startedAt: null,
|
|
73
|
+
finishedAt: null,
|
|
74
|
+
refusal: null,
|
|
75
|
+
remaining: null,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The in-process run state. One at a time, so one slot — this is a UI action on
|
|
80
|
+
* a single machine, not a queue, and a queue would only hide the fact that the
|
|
81
|
+
* second click was a duplicate of the first.
|
|
82
|
+
*/
|
|
83
|
+
let state = idleState();
|
|
84
|
+
/** Current state, safe to serialize straight to a client. */
|
|
85
|
+
export function getVerifyBacklogState() {
|
|
86
|
+
return { ...state, results: [...state.results] };
|
|
87
|
+
}
|
|
88
|
+
/** Reset to idle (tests). Never called from the server path. */
|
|
89
|
+
export function resetVerifyBacklog() {
|
|
90
|
+
state = idleState();
|
|
91
|
+
}
|
|
92
|
+
/** Clamp a requested count into the allowed band. */
|
|
93
|
+
export function clampVerifyCount(requested) {
|
|
94
|
+
if (!Number.isFinite(requested))
|
|
95
|
+
return VERIFY_BACKLOG_DEFAULT_PER_RUN;
|
|
96
|
+
const n = Math.floor(requested);
|
|
97
|
+
if (n < 1)
|
|
98
|
+
return 1;
|
|
99
|
+
return Math.min(n, VERIFY_BACKLOG_MAX_PER_RUN);
|
|
100
|
+
}
|
|
101
|
+
/** How many never-verified models are actionable right now (servable, unthrottled). */
|
|
102
|
+
function actionableBacklog(registry, configManager, now) {
|
|
103
|
+
// The selector is the only place that decides what is actionable, so ask IT
|
|
104
|
+
// for the full list rather than counting `status === 'unverified'` here —
|
|
105
|
+
// otherwise the number would include providers with no credentials and models
|
|
106
|
+
// inside their probe throttle, and would fall as the run worked while the
|
|
107
|
+
// user's remaining work did not.
|
|
108
|
+
return selectExplorationCandidates(registry, configManager, now, Number.MAX_SAFE_INTEGER).length;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Start a run. Returns immediately — the probes continue in the background and
|
|
112
|
+
* are observed through {@link getVerifyBacklogState}.
|
|
113
|
+
*
|
|
114
|
+
* The candidate list is computed SYNCHRONOUSLY, before returning, so the caller
|
|
115
|
+
* learns "there was nothing to do" as a refusal rather than as a run that
|
|
116
|
+
* finishes instantly. That distinction is the whole reason `refusal` exists: an
|
|
117
|
+
* empty backlog is good news and should read as such, not as a failed run.
|
|
118
|
+
*/
|
|
119
|
+
export function startVerifyBacklogRun(configManager, requested = VERIFY_BACKLOG_DEFAULT_PER_RUN, deps = {}) {
|
|
120
|
+
if (state.status === 'running') {
|
|
121
|
+
return {
|
|
122
|
+
started: false,
|
|
123
|
+
state: getVerifyBacklogState(),
|
|
124
|
+
error: 'A verify run is already in progress — wait for it to finish.',
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
const count = clampVerifyCount(requested);
|
|
128
|
+
const registry = deps.registry ?? getModelRegistry();
|
|
129
|
+
const now = deps.now ?? Date.now;
|
|
130
|
+
// Start from what is on DISK, not from this process's boot-time snapshot.
|
|
131
|
+
// `ModelRegistry.persist()` writes the whole entry map from memory, and the
|
|
132
|
+
// singleton loads the mirror exactly once at startup — so a dashboard that had
|
|
133
|
+
// been up for hours would otherwise flush a hours-old view of every OTHER
|
|
134
|
+
// model back over whatever the gateway and the CLI have learned since.
|
|
135
|
+
try {
|
|
136
|
+
registry.reloadFromMirror();
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// Best-effort: a reload failure must not block verification.
|
|
140
|
+
}
|
|
141
|
+
const candidates = selectExplorationCandidates(registry, configManager, now(), count);
|
|
142
|
+
if (candidates.length === 0) {
|
|
143
|
+
state = {
|
|
144
|
+
...idleState(),
|
|
145
|
+
requested: count,
|
|
146
|
+
finishedAt: now(),
|
|
147
|
+
refusal: 'Nothing to verify — every tracked model is either already proven, proven dead, parked, throttled, or behind a provider you have no credentials for.',
|
|
148
|
+
remaining: 0,
|
|
149
|
+
};
|
|
150
|
+
return { started: false, state: getVerifyBacklogState() };
|
|
151
|
+
}
|
|
152
|
+
state = {
|
|
153
|
+
...idleState(),
|
|
154
|
+
status: 'running',
|
|
155
|
+
runId: `verify-${now()}`,
|
|
156
|
+
requested: count,
|
|
157
|
+
planned: candidates.length,
|
|
158
|
+
startedAt: now(),
|
|
159
|
+
};
|
|
160
|
+
logger.info(`[verify-next] Verifying ${candidates.length} never-verified model(s) (asked for ${count}).`);
|
|
161
|
+
const spotCheck = deps.spotCheck ?? spotCheckModel;
|
|
162
|
+
void runToCompletion(candidates, configManager, spotCheck, registry, now);
|
|
163
|
+
return { started: true, state: getVerifyBacklogState() };
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* The probe loop. Sequential, and one failing model never aborts the run — a
|
|
167
|
+
* single dead id is a normal thing to find in a catalog, not a reason to stop
|
|
168
|
+
* telling the user about the other twenty-four.
|
|
169
|
+
*/
|
|
170
|
+
async function runToCompletion(candidates, configManager, spotCheck, registry, now) {
|
|
171
|
+
for (const candidate of candidates) {
|
|
172
|
+
state.current = { provider: candidate.provider, model: candidate.model };
|
|
173
|
+
let outcome;
|
|
174
|
+
try {
|
|
175
|
+
outcome = await spotCheck(candidate.provider, candidate.model, configManager);
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
// A throwing seam is an unanswered question, not a proof — same category
|
|
179
|
+
// as `spotCheckModel`'s own transient path.
|
|
180
|
+
outcome = 'error';
|
|
181
|
+
}
|
|
182
|
+
state.processed += 1;
|
|
183
|
+
if (outcome === 'verified')
|
|
184
|
+
state.verified += 1;
|
|
185
|
+
else if (outcome === 'unavailable')
|
|
186
|
+
state.unavailable += 1;
|
|
187
|
+
else if (outcome === 'skipped')
|
|
188
|
+
state.skipped += 1;
|
|
189
|
+
else
|
|
190
|
+
state.errored += 1;
|
|
191
|
+
state.results.push({ provider: candidate.provider, model: candidate.model, outcome });
|
|
192
|
+
}
|
|
193
|
+
state.current = null;
|
|
194
|
+
state.status = 'done';
|
|
195
|
+
state.finishedAt = now();
|
|
196
|
+
try {
|
|
197
|
+
state.remaining = actionableBacklog(registry, configManager, now());
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
state.remaining = null;
|
|
201
|
+
}
|
|
202
|
+
logger.info(`[verify-next] Done — ${state.verified} verified · ${state.unavailable} unavailable · ` +
|
|
203
|
+
`${state.errored} errored · ${state.skipped} skipped. ${state.remaining ?? '?'} still never verified.`);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Never-verified models, as the registry currently holds them.
|
|
207
|
+
*
|
|
208
|
+
* Exported for the empty-state copy and for tests; the classification itself
|
|
209
|
+
* lives in `selectExplorationCandidates`, not here.
|
|
210
|
+
*/
|
|
211
|
+
export function neverVerifiedEntries(registry) {
|
|
212
|
+
const out = [];
|
|
213
|
+
for (const provider of registry.getTrackedProviders()) {
|
|
214
|
+
for (const entry of registry.getAllModelsForProvider(provider)) {
|
|
215
|
+
if (entry.status === 'unverified')
|
|
216
|
+
out.push(entry);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return out;
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=model-verify-job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-verify-job.js","sourceRoot":"","sources":["../../src/learning/model-verify-job.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-cache.d.ts","sourceRoot":"","sources":["../../src/learning/reasoning-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"reasoning-cache.d.ts","sourceRoot":"","sources":["../../src/learning/reasoning-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAgDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAU/F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAC5C,IAAI,CAeN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,GACtB,MAAM,GAAG,IAAI,CAKf;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,mDAAmD;AACnD,wBAAgB,kBAAkB,IAAI,mBAAmB,EAAE,CAE1D"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { join } from 'node:path';
|
|
15
15
|
import { envBuff, resolveNuviraHome } from '../config/paths.js';
|
|
16
|
+
import { formatCount } from '../utils/format.js';
|
|
16
17
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
17
18
|
/** Cache bound — reasoning blobs are small, but cap to be safe. */
|
|
18
19
|
const MAX_ENTRIES = 64;
|
|
@@ -81,7 +82,7 @@ export function cacheReasoning(entry) {
|
|
|
81
82
|
// Cap a single reasoning chain so the cache file stays small (head+tail
|
|
82
83
|
// kept — the beginning frames the chain, the end is the most recent step).
|
|
83
84
|
reasoningContent: entry.reasoningContent.length > MAX_REASONING_CHARS
|
|
84
|
-
? `${entry.reasoningContent.slice(0, Math.floor(MAX_REASONING_CHARS * 0.3))}\n…[${entry.reasoningContent.length
|
|
85
|
+
? `${entry.reasoningContent.slice(0, Math.floor(MAX_REASONING_CHARS * 0.3))}\n…[${formatCount(entry.reasoningContent.length)} chars truncated]…\n${entry.reasoningContent.slice(-Math.floor(MAX_REASONING_CHARS * 0.7))}`
|
|
85
86
|
: entry.reasoningContent,
|
|
86
87
|
timestamp: Date.now(),
|
|
87
88
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-cache.js","sourceRoot":"","sources":["../../src/learning/reasoning-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"reasoning-cache.js","sourceRoot":"","sources":["../../src/learning/reasoning-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import type { LLMCallFn } from '../agents/agent.js';
|
|
23
23
|
import { type PromptLayerDigests } from './prompt-layers.js';
|
|
24
|
+
import { type WireFinding, type Finding } from '../findings/verdicts.js';
|
|
24
25
|
/** A compact routing snapshot captured at decision time (from AutoRouteResult). */
|
|
25
26
|
export interface TraceRoutingSnapshot {
|
|
26
27
|
provider: string;
|
|
@@ -141,7 +142,7 @@ export interface TraceOutcome {
|
|
|
141
142
|
* gate that DECIDED to proceed on the request's own authorization; `budget` is
|
|
142
143
|
* a bound (step/continuation) being reached.
|
|
143
144
|
*/
|
|
144
|
-
export type TraceGateName = 'permission' | 'verification' | 'deliverable' | 'promise' | 'confirmation' | 'workspace' | 'autonomy' | 'repeat' | 'budget';
|
|
145
|
+
export type TraceGateName = 'permission' | 'verification' | 'deliverable' | 'promise' | 'confirmation' | 'workspace' | 'autonomy' | 'repeat' | 'budget' | 'tool-hook';
|
|
145
146
|
/**
|
|
146
147
|
* A NON-LLM fact about a turn: a tool call, a gate decision, or a refusal.
|
|
147
148
|
*
|
|
@@ -215,6 +216,19 @@ export interface ReasoningTrace {
|
|
|
215
216
|
* treat `undefined` as "no events were recorded", never as "none happened".
|
|
216
217
|
*/
|
|
217
218
|
events?: TraceEvent[];
|
|
219
|
+
/**
|
|
220
|
+
* WS1 (#23) — the findings the run recorded, in call order, in the shared wire
|
|
221
|
+
* form (`findings/verdicts.ts`): the claim, the outcome, the evidence and the
|
|
222
|
+
* verdict the GATE computed.
|
|
223
|
+
*
|
|
224
|
+
* Persisted on the trace for the same reason the outcome flags are: a verdict
|
|
225
|
+
* that only ever existed in the turn's return value cannot be audited after the
|
|
226
|
+
* turn — a reader opening the Trace tab would see the tool calls and the
|
|
227
|
+
* hallucinations flags but not that the run ASSERTED something and whether
|
|
228
|
+
* anything backed it. Absent on traces written before this existed; readers
|
|
229
|
+
* must treat `undefined` as "this trace predates findings", never as "none".
|
|
230
|
+
*/
|
|
231
|
+
findings?: WireFinding[];
|
|
218
232
|
/**
|
|
219
233
|
* The FULL stable layer (system prompt), captured ONCE per trace.
|
|
220
234
|
* Previously every trace exposed only the first 80 characters of it, so the
|
|
@@ -294,6 +308,28 @@ export declare function recordStep(traceId: string, step: Omit<TraceStep, 'seq'
|
|
|
294
308
|
* so two recorders can never disagree about ordering.
|
|
295
309
|
*/
|
|
296
310
|
export declare function recordTraceEvent(traceId: string | undefined, event: Omit<TraceEvent, 'seq' | 'timestamp'>): void;
|
|
311
|
+
/**
|
|
312
|
+
* Attach the findings a run recorded to its trace — WS1 (#23).
|
|
313
|
+
*
|
|
314
|
+
* The findings are already GATED when they arrive (`confirmFinding` refused any
|
|
315
|
+
* promotion without usable evidence), so this stores them verbatim rather than
|
|
316
|
+
* re-deciding: the trace must show what the run actually reported, and a reader
|
|
317
|
+
* comparing the Trace tab against the turn's own output must not find two
|
|
318
|
+
* different verdicts. `toWire` is applied anyway, so a `Finding` passed by
|
|
319
|
+
* mistake is normalised into the comparable form instead of leaking `at` (which
|
|
320
|
+
* would differ on every run).
|
|
321
|
+
*
|
|
322
|
+
* Best-effort on purpose: the trace store is an instrument, and an instrument
|
|
323
|
+
* must never break the run it observes — `recordStep` and `recordTraceEvent`
|
|
324
|
+
* follow the same rule. An id-less call attaches to the run in progress, exactly
|
|
325
|
+
* like `recordTraceEvent`, so a recorder that never held the id still lands on
|
|
326
|
+
* the right trace.
|
|
327
|
+
*
|
|
328
|
+
* Each finding ALSO lands as a `decision` event, so the run's timeline reads in
|
|
329
|
+
* order (the tool call that checked something, then the verdict it earned)
|
|
330
|
+
* instead of the verdicts appearing only in a section of their own.
|
|
331
|
+
*/
|
|
332
|
+
export declare function recordTraceFindings(traceId: string | undefined, findings: readonly (WireFinding | Finding)[]): void;
|
|
297
333
|
/**
|
|
298
334
|
* Mark a trace finished (sets endedAt, durationMs, success). Idempotent: a
|
|
299
335
|
* second endTrace (e.g. from a finally block after an early close) is a no-op.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-trace.d.ts","sourceRoot":"","sources":["../../src/learning/reasoning-trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAyC,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"reasoning-trace.d.ts","sourceRoot":"","sources":["../../src/learning/reasoning-trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
25
25
|
import { join } from 'node:path';
|
|
26
26
|
import { estimateTokens } from './cost-tracker.js';
|
|
27
27
|
import { splitPromptLayers, digestPromptLayers } from './prompt-layers.js';
|
|
28
|
+
import { describeFinding, toWire } from '../findings/verdicts.js';
|
|
28
29
|
// ─── Storage ────────────────────────────────────────────────────────────────
|
|
29
30
|
const DEFAULT_MEMORY_DIR = join(resolveNuviraHome(), 'memory');
|
|
30
31
|
const CURRENT_VERSION = 1;
|
|
@@ -200,6 +201,71 @@ export function recordTraceEvent(traceId, event) {
|
|
|
200
201
|
// Best-effort — an instrument must never break the run it observes.
|
|
201
202
|
}
|
|
202
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Attach the findings a run recorded to its trace — WS1 (#23).
|
|
206
|
+
*
|
|
207
|
+
* The findings are already GATED when they arrive (`confirmFinding` refused any
|
|
208
|
+
* promotion without usable evidence), so this stores them verbatim rather than
|
|
209
|
+
* re-deciding: the trace must show what the run actually reported, and a reader
|
|
210
|
+
* comparing the Trace tab against the turn's own output must not find two
|
|
211
|
+
* different verdicts. `toWire` is applied anyway, so a `Finding` passed by
|
|
212
|
+
* mistake is normalised into the comparable form instead of leaking `at` (which
|
|
213
|
+
* would differ on every run).
|
|
214
|
+
*
|
|
215
|
+
* Best-effort on purpose: the trace store is an instrument, and an instrument
|
|
216
|
+
* must never break the run it observes — `recordStep` and `recordTraceEvent`
|
|
217
|
+
* follow the same rule. An id-less call attaches to the run in progress, exactly
|
|
218
|
+
* like `recordTraceEvent`, so a recorder that never held the id still lands on
|
|
219
|
+
* the right trace.
|
|
220
|
+
*
|
|
221
|
+
* Each finding ALSO lands as a `decision` event, so the run's timeline reads in
|
|
222
|
+
* order (the tool call that checked something, then the verdict it earned)
|
|
223
|
+
* instead of the verdicts appearing only in a section of their own.
|
|
224
|
+
*/
|
|
225
|
+
export function recordTraceFindings(traceId, findings) {
|
|
226
|
+
if (findings.length === 0)
|
|
227
|
+
return;
|
|
228
|
+
try {
|
|
229
|
+
const id = traceId || currentTraceId;
|
|
230
|
+
if (!id)
|
|
231
|
+
return;
|
|
232
|
+
const data = readFile();
|
|
233
|
+
const trace = data.traces.find((t) => t.id === id);
|
|
234
|
+
if (!trace)
|
|
235
|
+
return;
|
|
236
|
+
const wire = findings.map((finding) => (isWireFinding(finding) ? finding : toWire(finding)));
|
|
237
|
+
const stored = trace.findings ?? (trace.findings = []);
|
|
238
|
+
for (const finding of wire)
|
|
239
|
+
stored.push(finding);
|
|
240
|
+
const events = trace.events ?? (trace.events = []);
|
|
241
|
+
for (const finding of wire) {
|
|
242
|
+
events.push({
|
|
243
|
+
seq: events.length + 1,
|
|
244
|
+
timestamp: Date.now(),
|
|
245
|
+
kind: 'decision',
|
|
246
|
+
summary: describeFinding(finding),
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
// Same cap and re-numbering rule as `recordTraceEvent`, so the timeline's
|
|
250
|
+
// `seq` stays 1-based contiguous however the events arrived.
|
|
251
|
+
if (events.length > MAX_EVENTS_PER_TRACE) {
|
|
252
|
+
trace.events = events.slice(-MAX_EVENTS_PER_TRACE);
|
|
253
|
+
trace.events.forEach((e, i) => { e.seq = i + 1; });
|
|
254
|
+
}
|
|
255
|
+
writeFile(data);
|
|
256
|
+
}
|
|
257
|
+
catch {
|
|
258
|
+
// Best-effort — an instrument must never break the run it observes.
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Is this already the wire form? `WireFinding` and `Finding` differ only in
|
|
263
|
+
* `at`, which `Finding` may carry — checked structurally rather than by a flag
|
|
264
|
+
* so either shape can be passed.
|
|
265
|
+
*/
|
|
266
|
+
function isWireFinding(finding) {
|
|
267
|
+
return !('at' in finding && finding.at !== undefined);
|
|
268
|
+
}
|
|
203
269
|
/**
|
|
204
270
|
* Mark a trace finished (sets endedAt, durationMs, success). Idempotent: a
|
|
205
271
|
* second endTrace (e.g. from a finally block after an early close) is a no-op.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-trace.js","sourceRoot":"","sources":["../../src/learning/reasoning-trace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reasoning-trace.js","sourceRoot":"","sources":["../../src/learning/reasoning-trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAA2B,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,EAAkC,MAAM,yBAAyB,CAAC;AAgSlG,+EAA+E;AAE/E,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/D,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,oFAAoF;AACpF,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B;;;;;;GAMG;AACH,IAAI,cAAc,GAAkB,IAAI,CAAC;AACzC,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,iFAAiF;AACjF,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,gDAAgD;AAChD,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,kBAAkB,CAAC;AACrD,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,uBAAuB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,SAAS;IAChB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;QAC7B,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,IAAI,CAAC;QACH,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC/E,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAe;IAChC,IAAI,CAAC;QACH,SAAS,EAAE,CAAC;QACZ,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,MAAM,GAAG,EAAE;IAC9C,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,IAAoG;IAEpG,MAAM,EAAE,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC3E,6EAA6E;IAC7E,cAAc,GAAG,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACf,EAAE;QACF,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc;QACrC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,wCAAwC;IACxC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,OAAe,EACf,IAAoE;IAEpE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,wEAAwE;QACxE,wEAAwE;QACxE,6EAA6E;QAC7E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QACrC,IAAI,MAAsC,CAAC;QAC3C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACrD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;gBACpE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YAChD,CAAC;QACH,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACf,GAAG,IAAI;YACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC7C,uEAAuE;YACvE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACtD,6CAA6C;YAC7C,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAA2B,EAC3B,KAA4C;IAE5C,IAAI,CAAC;QACH,uEAAuE;QACvE,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,iCAAiC;QACjC,MAAM,EAAE,GAAG,OAAO,IAAI,cAAc,CAAC;QACrC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACzC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACnD,wEAAwE;YACxE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA2B,EAC3B,QAA4C;IAE5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,OAAO,IAAI,cAAc,CAAC;QACrC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QACvD,KAAK,MAAM,OAAO,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;gBACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QACD,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACzC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACnD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,OAA8B;IACnD,OAAO,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,OAAiB,EAAE,OAAsB;IACjF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,gBAAgB;QACzD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,0EAA0E;QAC1E,mDAAmD;QACnD,IAAI,cAAc,KAAK,OAAO;YAAE,cAAc,GAAG,IAAI,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KASjC;IACC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACzD,IAAI,KAAK,CAAC,gBAAgB;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;QAC7C,KAAK;QACL,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;AACtD,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,UAAU,CAAC,KAAK,GAAG,EAAE;IACnC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;IAC9C,IAAI,OAAO;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,WAAW;IACzB,SAAS,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa;IAC3B,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,UAAU,EAAE,CAAC;YACb,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC;YAC7B,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACjD,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACvC,WAAW,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,QAAQ,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;gBAAE,aAAa,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;QACzB,UAAU;QACV,YAAY,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,WAAW,EAAE,QAAQ;QACrB,WAAW;QACX,OAAO;QACP,WAAW;QACX,QAAQ;QACR,aAAa;QACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAkB,EAClB,GAAwB;IAExB,OAAO,KAAK,EAAE,MAAc,EAAE,gBAAmC,EAAmB,EAAE;QACpF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,QAA4B,CAAC;QACjC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACjD,qEAAqE;YACrE,6DAA6D;YAC7D,2EAA2E;YAC3E,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,yEAAyE;YACzE,8CAA8C;YAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;YACzC,OAAO,GAAG,CAAC,KAAK,CAAC;YACjB,IAAI,KAAK;gBAAE,QAAQ,GAAG,6DAA6D,CAAC;QACtF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE;gBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,uEAAuE;gBACvE,2CAA2C;gBAC3C,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,SAAS;gBAC5D,KAAK,EAAE,gBAAgB,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,SAAS;gBAC9E,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC;gBAClC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;gBACpD,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC;gBACxD,cAAc,EAAE,MAAM,CAAC,MAAM;gBAC7B,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC;gBACnC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC;gBACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,OAAO;gBACP,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resilient-call.d.ts","sourceRoot":"","sources":["../../src/learning/resilient-call.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;
|
|
1
|
+
{"version":3,"file":"resilient-call.d.ts","sourceRoot":"","sources":["../../src/learning/resilient-call.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
29
29
|
import { createHash } from 'node:crypto';
|
|
30
|
+
import { formatCount } from '../utils/format.js';
|
|
30
31
|
import { join } from 'node:path';
|
|
31
32
|
import { resolveNuviraConfigDir, resolveNuviraDataPath } from '../config/paths.js';
|
|
32
33
|
import { getAutoRouter } from './auto-router.js';
|
|
@@ -1159,7 +1160,7 @@ export function renderModelBreadthReport(report, opts = {}) {
|
|
|
1159
1160
|
}
|
|
1160
1161
|
if (poolMeasured && !emptyPool) {
|
|
1161
1162
|
lines.push('');
|
|
1162
|
-
lines.push(`Pool at the time: ${poolSize
|
|
1163
|
+
lines.push(`Pool at the time: ${formatCount(poolSize)} eligible model${poolSize === 1 ? '' : 's'} across ${poolProviders} provider${poolProviders === 1 ? '' : 's'}.`);
|
|
1163
1164
|
}
|
|
1164
1165
|
lines.push('');
|
|
1165
1166
|
if (report.nextFreeInMs !== undefined) {
|