agent-nuvira 3.3.13 → 3.3.14
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 +67 -1
- package/dist/agents/agents/planner.d.ts.map +1 -1
- package/dist/agents/agents/planner.js +9 -0
- package/dist/agents/agents/planner.js.map +1 -1
- package/dist/agents/orchestrator.d.ts +31 -0
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +74 -126
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/cli/chat.d.ts +89 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +765 -33
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts.map +1 -1
- package/dist/cli/cli-program.js +12 -0
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/config.d.ts +12 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +86 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/decisions.d.ts +28 -0
- package/dist/cli/decisions.d.ts.map +1 -0
- package/dist/cli/decisions.js +140 -0
- package/dist/cli/decisions.js.map +1 -0
- package/dist/cli/doctor.d.ts +6 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +46 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/failover-runner.d.ts.map +1 -1
- package/dist/cli/failover-runner.js +19 -1
- package/dist/cli/failover-runner.js.map +1 -1
- package/dist/cli/feedback.d.ts.map +1 -1
- package/dist/cli/feedback.js +5 -1
- package/dist/cli/feedback.js.map +1 -1
- package/dist/cli/hooks.d.ts +30 -0
- package/dist/cli/hooks.d.ts.map +1 -0
- package/dist/cli/hooks.js +224 -0
- package/dist/cli/hooks.js.map +1 -0
- package/dist/cli/knowledge.d.ts +9 -1
- package/dist/cli/knowledge.d.ts.map +1 -1
- package/dist/cli/knowledge.js +93 -2
- package/dist/cli/knowledge.js.map +1 -1
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +47 -12
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/model.d.ts +20 -0
- package/dist/cli/model.d.ts.map +1 -1
- package/dist/cli/model.js +294 -14
- package/dist/cli/model.js.map +1 -1
- package/dist/cli/rate.d.ts +78 -0
- package/dist/cli/rate.d.ts.map +1 -0
- package/dist/cli/rate.js +294 -0
- package/dist/cli/rate.js.map +1 -0
- package/dist/config/process-env.d.ts.map +1 -1
- package/dist/config/process-env.js +10 -0
- package/dist/config/process-env.js.map +1 -1
- package/dist/enterprise/vault.d.ts.map +1 -1
- package/dist/enterprise/vault.js +5 -21
- package/dist/enterprise/vault.js.map +1 -1
- package/dist/gateway/hook-contract.d.ts +33 -0
- package/dist/gateway/hook-contract.d.ts.map +1 -1
- package/dist/gateway/hook-contract.js +97 -0
- package/dist/gateway/hook-contract.js.map +1 -1
- package/dist/inference/gemini-adapter.d.ts.map +1 -1
- package/dist/inference/gemini-adapter.js +4 -0
- package/dist/inference/gemini-adapter.js.map +1 -1
- package/dist/inference/interface.d.ts +37 -0
- package/dist/inference/interface.d.ts.map +1 -1
- package/dist/inference/native-tools.d.ts +16 -1
- package/dist/inference/native-tools.d.ts.map +1 -1
- package/dist/inference/native-tools.js +34 -10
- package/dist/inference/native-tools.js.map +1 -1
- package/dist/inference/route-resolver.d.ts +30 -0
- package/dist/inference/route-resolver.d.ts.map +1 -1
- package/dist/inference/route-resolver.js +158 -1
- package/dist/inference/route-resolver.js.map +1 -1
- package/dist/inference/tools.d.ts +16 -1
- package/dist/inference/tools.d.ts.map +1 -1
- package/dist/inference/tools.js +51 -18
- package/dist/inference/tools.js.map +1 -1
- package/dist/learning/acceptance-model.d.ts +247 -0
- package/dist/learning/acceptance-model.d.ts.map +1 -0
- package/dist/learning/acceptance-model.js +708 -0
- package/dist/learning/acceptance-model.js.map +1 -0
- package/dist/learning/auto-router.d.ts +68 -24
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +301 -96
- package/dist/learning/auto-router.js.map +1 -1
- package/dist/learning/autonomy-policy.d.ts +12 -16
- package/dist/learning/autonomy-policy.d.ts.map +1 -1
- package/dist/learning/autonomy-policy.js +50 -48
- package/dist/learning/autonomy-policy.js.map +1 -1
- package/dist/learning/behavioural-labels.d.ts +86 -0
- package/dist/learning/behavioural-labels.d.ts.map +1 -0
- package/dist/learning/behavioural-labels.js +166 -0
- package/dist/learning/behavioural-labels.js.map +1 -0
- package/dist/learning/capability-evidence.d.ts +167 -0
- package/dist/learning/capability-evidence.d.ts.map +1 -0
- package/dist/learning/capability-evidence.js +210 -0
- package/dist/learning/capability-evidence.js.map +1 -0
- package/dist/learning/capability-readiness.d.ts +64 -0
- package/dist/learning/capability-readiness.d.ts.map +1 -0
- package/dist/learning/capability-readiness.js +74 -0
- package/dist/learning/capability-readiness.js.map +1 -0
- package/dist/learning/capability-types.d.ts +169 -0
- package/dist/learning/capability-types.d.ts.map +1 -0
- package/dist/learning/capability-types.js +20 -0
- package/dist/learning/capability-types.js.map +1 -0
- package/dist/learning/catalog-feed.d.ts +89 -0
- package/dist/learning/catalog-feed.d.ts.map +1 -0
- package/dist/learning/catalog-feed.js +211 -0
- package/dist/learning/catalog-feed.js.map +1 -0
- package/dist/learning/cli-intent-effects.d.ts +60 -0
- package/dist/learning/cli-intent-effects.d.ts.map +1 -0
- package/dist/learning/cli-intent-effects.js +153 -0
- package/dist/learning/cli-intent-effects.js.map +1 -0
- package/dist/learning/command-adaptation.d.ts +41 -0
- package/dist/learning/command-adaptation.d.ts.map +1 -0
- package/dist/learning/command-adaptation.js +122 -0
- package/dist/learning/command-adaptation.js.map +1 -0
- package/dist/learning/consent-picture.d.ts +42 -0
- package/dist/learning/consent-picture.d.ts.map +1 -0
- package/dist/learning/consent-picture.js +53 -0
- package/dist/learning/consent-picture.js.map +1 -0
- package/dist/learning/context-budget.d.ts +37 -6
- package/dist/learning/context-budget.d.ts.map +1 -1
- package/dist/learning/context-budget.js +38 -9
- package/dist/learning/context-budget.js.map +1 -1
- package/dist/learning/decision-log.d.ts +114 -0
- package/dist/learning/decision-log.d.ts.map +1 -0
- package/dist/learning/decision-log.js +296 -0
- package/dist/learning/decision-log.js.map +1 -0
- package/dist/learning/deliverable-class.d.ts.map +1 -1
- package/dist/learning/deliverable-class.js +19 -0
- package/dist/learning/deliverable-class.js.map +1 -1
- package/dist/learning/deliverable-corpus.d.ts +117 -0
- package/dist/learning/deliverable-corpus.d.ts.map +1 -0
- package/dist/learning/deliverable-corpus.js +176 -0
- package/dist/learning/deliverable-corpus.js.map +1 -0
- package/dist/learning/error-repair.d.ts +22 -1
- package/dist/learning/error-repair.d.ts.map +1 -1
- package/dist/learning/error-repair.js +37 -0
- package/dist/learning/error-repair.js.map +1 -1
- package/dist/learning/exhaustion-report.d.ts +136 -0
- package/dist/learning/exhaustion-report.d.ts.map +1 -0
- package/dist/learning/exhaustion-report.js +239 -0
- package/dist/learning/exhaustion-report.js.map +1 -0
- package/dist/learning/failure-bookkeeping.d.ts +16 -0
- package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
- package/dist/learning/failure-bookkeeping.js +51 -5
- package/dist/learning/failure-bookkeeping.js.map +1 -1
- package/dist/learning/gate-friction.d.ts +39 -0
- package/dist/learning/gate-friction.d.ts.map +1 -0
- package/dist/learning/gate-friction.js +91 -0
- package/dist/learning/gate-friction.js.map +1 -0
- package/dist/learning/harness-narration.d.ts +34 -0
- package/dist/learning/harness-narration.d.ts.map +1 -0
- package/dist/learning/harness-narration.js +58 -0
- package/dist/learning/harness-narration.js.map +1 -0
- package/dist/learning/hub-skill-catalog.d.ts.map +1 -1
- package/dist/learning/hub-skill-catalog.js +1 -2
- package/dist/learning/hub-skill-catalog.js.map +1 -1
- package/dist/learning/hybrid-router.d.ts +65 -0
- package/dist/learning/hybrid-router.d.ts.map +1 -1
- package/dist/learning/hybrid-router.js +186 -0
- package/dist/learning/hybrid-router.js.map +1 -1
- package/dist/learning/knowledge-base.d.ts +229 -3
- package/dist/learning/knowledge-base.d.ts.map +1 -1
- package/dist/learning/knowledge-base.js +593 -24
- package/dist/learning/knowledge-base.js.map +1 -1
- package/dist/learning/knowledge-eval.d.ts +171 -0
- package/dist/learning/knowledge-eval.d.ts.map +1 -0
- package/dist/learning/knowledge-eval.js +196 -0
- package/dist/learning/knowledge-eval.js.map +1 -0
- package/dist/learning/knowledge-turn.d.ts +92 -0
- package/dist/learning/knowledge-turn.d.ts.map +1 -0
- package/dist/learning/knowledge-turn.js +190 -0
- package/dist/learning/knowledge-turn.js.map +1 -0
- package/dist/learning/learned-commands.d.ts +64 -0
- package/dist/learning/learned-commands.d.ts.map +1 -0
- package/dist/learning/learned-commands.js +108 -0
- package/dist/learning/learned-commands.js.map +1 -0
- package/dist/learning/lexical-search.d.ts +50 -0
- package/dist/learning/lexical-search.d.ts.map +1 -0
- package/dist/learning/lexical-search.js +111 -0
- package/dist/learning/lexical-search.js.map +1 -0
- package/dist/learning/machine-facts.d.ts +71 -0
- package/dist/learning/machine-facts.d.ts.map +1 -0
- package/dist/learning/machine-facts.js +164 -0
- package/dist/learning/machine-facts.js.map +1 -0
- package/dist/learning/markdown-outline.d.ts +73 -0
- package/dist/learning/markdown-outline.d.ts.map +1 -0
- package/dist/learning/markdown-outline.js +136 -0
- package/dist/learning/markdown-outline.js.map +1 -0
- package/dist/learning/model-first-router.d.ts +33 -1
- package/dist/learning/model-first-router.d.ts.map +1 -1
- package/dist/learning/model-first-router.js +123 -9
- package/dist/learning/model-first-router.js.map +1 -1
- package/dist/learning/model-identity.d.ts +80 -0
- package/dist/learning/model-identity.d.ts.map +1 -0
- package/dist/learning/model-identity.js +115 -0
- package/dist/learning/model-identity.js.map +1 -0
- package/dist/learning/model-registry.d.ts +141 -2
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +324 -38
- 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 +8 -1
- package/dist/learning/model-scoring.js.map +1 -1
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +41 -0
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/outcome-observation.d.ts +49 -0
- package/dist/learning/outcome-observation.d.ts.map +1 -0
- package/dist/learning/outcome-observation.js +95 -0
- package/dist/learning/outcome-observation.js.map +1 -0
- package/dist/learning/pair-entitlement.d.ts +184 -0
- package/dist/learning/pair-entitlement.d.ts.map +1 -0
- package/dist/learning/pair-entitlement.js +214 -0
- package/dist/learning/pair-entitlement.js.map +1 -0
- package/dist/learning/provider-fallback.d.ts +23 -1
- package/dist/learning/provider-fallback.d.ts.map +1 -1
- package/dist/learning/provider-fallback.js +24 -0
- package/dist/learning/provider-fallback.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +65 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js +123 -1
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/requirement-probe.d.ts +55 -0
- package/dist/learning/requirement-probe.d.ts.map +1 -0
- package/dist/learning/requirement-probe.js +77 -0
- package/dist/learning/requirement-probe.js.map +1 -0
- package/dist/learning/resilient-call.d.ts +20 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +42 -4
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/response-usability.d.ts +85 -0
- package/dist/learning/response-usability.d.ts.map +1 -0
- package/dist/learning/response-usability.js +135 -0
- package/dist/learning/response-usability.js.map +1 -0
- package/dist/learning/router-bandit.d.ts +132 -0
- package/dist/learning/router-bandit.d.ts.map +1 -1
- package/dist/learning/router-bandit.js +253 -0
- package/dist/learning/router-bandit.js.map +1 -1
- package/dist/learning/routing-history.d.ts +41 -2
- package/dist/learning/routing-history.d.ts.map +1 -1
- package/dist/learning/routing-history.js.map +1 -1
- package/dist/learning/run-trace.d.ts +21 -0
- package/dist/learning/run-trace.d.ts.map +1 -1
- package/dist/learning/run-trace.js +38 -0
- package/dist/learning/run-trace.js.map +1 -1
- package/dist/learning/session-grant.d.ts +75 -0
- package/dist/learning/session-grant.d.ts.map +1 -0
- package/dist/learning/session-grant.js +112 -0
- package/dist/learning/session-grant.js.map +1 -0
- package/dist/learning/task-model-continuity.d.ts +73 -0
- package/dist/learning/task-model-continuity.d.ts.map +1 -0
- package/dist/learning/task-model-continuity.js +87 -0
- package/dist/learning/task-model-continuity.js.map +1 -0
- package/dist/learning/turn-feedback.d.ts +93 -0
- package/dist/learning/turn-feedback.d.ts.map +1 -0
- package/dist/learning/turn-feedback.js +127 -0
- package/dist/learning/turn-feedback.js.map +1 -0
- package/dist/learning/turn-report.d.ts +104 -2
- package/dist/learning/turn-report.d.ts.map +1 -1
- package/dist/learning/turn-report.js +161 -6
- package/dist/learning/turn-report.js.map +1 -1
- package/dist/learning/verdict-routing.d.ts +51 -0
- package/dist/learning/verdict-routing.d.ts.map +1 -0
- package/dist/learning/verdict-routing.js +122 -0
- package/dist/learning/verdict-routing.js.map +1 -0
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +5 -0
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/manager.d.ts +10 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +20 -0
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/mcp-discovery.d.ts +34 -0
- package/dist/mcp/mcp-discovery.d.ts.map +1 -0
- package/dist/mcp/mcp-discovery.js +71 -0
- package/dist/mcp/mcp-discovery.js.map +1 -0
- package/dist/mcp/mcp-schema-cache.d.ts +17 -0
- package/dist/mcp/mcp-schema-cache.d.ts.map +1 -1
- package/dist/mcp/mcp-schema-cache.js +47 -3
- package/dist/mcp/mcp-schema-cache.js.map +1 -1
- package/dist/mcp/types.d.ts +28 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js.map +1 -1
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +4 -0
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/capability-registry.d.ts +150 -0
- package/dist/tools/capability-registry.d.ts.map +1 -0
- package/dist/tools/capability-registry.js +400 -0
- package/dist/tools/capability-registry.js.map +1 -0
- package/dist/tools/child-agent-runtime.d.ts.map +1 -1
- package/dist/tools/child-agent-runtime.js +19 -5
- package/dist/tools/child-agent-runtime.js.map +1 -1
- package/dist/tools/coding-tools.d.ts +17 -5
- package/dist/tools/coding-tools.d.ts.map +1 -1
- package/dist/tools/coding-tools.js +80 -11
- package/dist/tools/coding-tools.js.map +1 -1
- package/dist/tools/command-memo.d.ts +116 -0
- package/dist/tools/command-memo.d.ts.map +1 -0
- package/dist/tools/command-memo.js +202 -0
- package/dist/tools/command-memo.js.map +1 -0
- package/dist/tools/git-tool.d.ts.map +1 -1
- package/dist/tools/git-tool.js +13 -3
- package/dist/tools/git-tool.js.map +1 -1
- package/dist/tools/harness-directive.d.ts +42 -0
- package/dist/tools/harness-directive.d.ts.map +1 -0
- package/dist/tools/harness-directive.js +45 -0
- package/dist/tools/harness-directive.js.map +1 -0
- package/dist/tools/loop-skill-hint.d.ts +74 -174
- package/dist/tools/loop-skill-hint.d.ts.map +1 -1
- package/dist/tools/loop-skill-hint.js +110 -536
- package/dist/tools/loop-skill-hint.js.map +1 -1
- package/dist/tools/mcp-client-tool.d.ts +2 -0
- package/dist/tools/mcp-client-tool.d.ts.map +1 -1
- package/dist/tools/mcp-client-tool.js +3 -0
- package/dist/tools/mcp-client-tool.js.map +1 -1
- package/dist/tools/modality/shared.d.ts +1 -4
- package/dist/tools/modality/shared.d.ts.map +1 -1
- package/dist/tools/modality/shared.js +7 -22
- package/dist/tools/modality/shared.js.map +1 -1
- package/dist/tools/plan-store.d.ts +20 -2
- package/dist/tools/plan-store.d.ts.map +1 -1
- package/dist/tools/plan-store.js +51 -7
- package/dist/tools/plan-store.js.map +1 -1
- package/dist/tools/registry.d.ts +76 -3
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +486 -26
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/remediation-ladder.d.ts.map +1 -1
- package/dist/tools/remediation-ladder.js +8 -0
- package/dist/tools/remediation-ladder.js.map +1 -1
- package/dist/tools/run-cli.d.ts.map +1 -1
- package/dist/tools/run-cli.js +29 -4
- package/dist/tools/run-cli.js.map +1 -1
- package/dist/tools/run-terminal.d.ts +11 -0
- package/dist/tools/run-terminal.d.ts.map +1 -1
- package/dist/tools/run-terminal.js +265 -10
- package/dist/tools/run-terminal.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +321 -13
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +867 -66
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/utils/atomic-store.d.ts +53 -0
- package/dist/utils/atomic-store.d.ts.map +1 -0
- package/dist/utils/atomic-store.js +178 -0
- package/dist/utils/atomic-store.js.map +1 -0
- package/dist/utils/binary-probe.d.ts +25 -0
- package/dist/utils/binary-probe.d.ts.map +1 -0
- package/dist/utils/binary-probe.js +48 -0
- package/dist/utils/binary-probe.js.map +1 -0
- package/dist/utils/workspace-path.d.ts +50 -0
- package/dist/utils/workspace-path.d.ts.map +1 -0
- package/dist/utils/workspace-path.js +86 -0
- package/dist/utils/workspace-path.js.map +1 -0
- package/dist/web-dashboard/chat-console.d.ts +24 -0
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +38 -0
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/project-context.d.ts +27 -2
- package/dist/web-dashboard/project-context.d.ts.map +1 -1
- package/dist/web-dashboard/project-context.js +32 -2
- package/dist/web-dashboard/project-context.js.map +1 -1
- package/dist/web-dashboard/server.d.ts +11 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +362 -11
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +170 -1
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.d.ts +11 -2
- package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.js +24 -12
- package/dist/web-dashboard/workspace-guard.js.map +1 -1
- package/dist/web-dashboard/workspace-resolution.d.ts +87 -0
- package/dist/web-dashboard/workspace-resolution.d.ts.map +1 -0
- package/dist/web-dashboard/workspace-resolution.js +105 -0
- package/dist/web-dashboard/workspace-resolution.js.map +1 -0
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/index-zjbdJnO-.js +210 -0
- package/src/web-dashboard/public/assets/index-zjbdJnO-.js.map +1 -0
- package/src/web-dashboard/public/index.html +1 -1
- package/src/web-dashboard/public/assets/index-DhiuR4S2.js +0 -210
- package/src/web-dashboard/public/assets/index-DhiuR4S2.js.map +0 -1
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deliverable corpus — COLLECT the case item 13's residual needs, instead of
|
|
3
|
+
* inventing a detector for it.
|
|
4
|
+
*
|
|
5
|
+
* THE PROBLEM THIS EXISTS FOR. Bundle 23 catches an authored artifact materially
|
|
6
|
+
* SHORTER than a magnitude the ask stated, and Bundle 19 catches one that admits
|
|
7
|
+
* its own content was omitted. Neither reaches the remaining shape: a deliverable
|
|
8
|
+
* that is complete and on-length yet simply GENERIC — the case none of the live
|
|
9
|
+
* runs has produced, and the one no deterministic rule can judge, because judging
|
|
10
|
+
* it from vocabulary is the defect this programme exists to remove.
|
|
11
|
+
*
|
|
12
|
+
* So this module does not judge. It COLLECTS. When a turn delivers a single
|
|
13
|
+
* authored artifact that trips neither the omission nor the shortfall check, the
|
|
14
|
+
* bare facts of that delivery (the ask, the file, its length, a bounded excerpt)
|
|
15
|
+
* are appended here. If the user then reports the turn as a miss — the SAME
|
|
16
|
+
* correction signal (`detectRegressionSignal`) the working-state ledger and the
|
|
17
|
+
* bandit already use — the most recent candidate is labelled `rejected`.
|
|
18
|
+
*
|
|
19
|
+
* That pair — a fluent, on-length delivery plus a human's verdict on it — is the
|
|
20
|
+
* ground truth a measured quality signal must be fit to. Until rows carry the
|
|
21
|
+
* label the corpus is deliberately INERT: nothing reads it, nothing routes on it,
|
|
22
|
+
* and no score is derived from it. It is a dataset, not a detector. Deriving a
|
|
23
|
+
* signal from `verdict: null` rows, or from the excerpt's wording, would be the
|
|
24
|
+
* phrase-list defect one layer down.
|
|
25
|
+
*
|
|
26
|
+
* Storage: `<memory>/deliverable-candidates.jsonl` (honours `NUVIRA_MEMORY_DIR`).
|
|
27
|
+
* Every write is best-effort — collection must NEVER break a turn.
|
|
28
|
+
*/
|
|
29
|
+
/** Rows kept on disk (oldest drop first) — a dataset, not an unbounded log. */
|
|
30
|
+
export declare const MAX_DELIVERABLE_CANDIDATES = 500;
|
|
31
|
+
/** Characters of the artifact kept per row: enough to fit features to, bounded. */
|
|
32
|
+
export declare const DELIVERABLE_EXCERPT_MAX = 2000;
|
|
33
|
+
/** Characters of the ask kept per row. */
|
|
34
|
+
export declare const DELIVERABLE_ASK_MAX = 500;
|
|
35
|
+
/** One collected delivery, and (once the user speaks) the verdict on it. */
|
|
36
|
+
export interface DeliverableCandidate {
|
|
37
|
+
/** Epoch ms the delivery was recorded. */
|
|
38
|
+
ts: number;
|
|
39
|
+
/** The user's ask that produced the deliverable. */
|
|
40
|
+
ask: string;
|
|
41
|
+
/** The file the turn wrote. */
|
|
42
|
+
path: string;
|
|
43
|
+
/** Words actually delivered. */
|
|
44
|
+
deliveredWords: number;
|
|
45
|
+
/** The magnitude the ask stated, when it stated one. */
|
|
46
|
+
targetWords?: number;
|
|
47
|
+
/** The turn's own verdict, so a reader can see what was already known. */
|
|
48
|
+
verification?: string;
|
|
49
|
+
/** A bounded excerpt of the artifact. */
|
|
50
|
+
excerpt: string;
|
|
51
|
+
/** The trace this delivery belongs to, so a later verdict can label THIS row. */
|
|
52
|
+
traceId?: string;
|
|
53
|
+
/**
|
|
54
|
+
* `null` — the user has not judged the turn; `'accepted'` / `'rejected'` — they
|
|
55
|
+
* did. A boolean `rejected: false` is deliberately NOT used: it cannot tell
|
|
56
|
+
* "the user accepted it" from "the user never said", and reading silence as
|
|
57
|
+
* acceptance would fabricate the positive class a fitted signal needs most
|
|
58
|
+
* (the same rule the bandit follows).
|
|
59
|
+
*/
|
|
60
|
+
verdict: 'accepted' | 'rejected' | null;
|
|
61
|
+
/** Epoch ms the verdict was recorded. */
|
|
62
|
+
verdictAt?: number;
|
|
63
|
+
}
|
|
64
|
+
/** The corpus path — exported so tests and an inspection surface can name it. */
|
|
65
|
+
export declare function deliverableCorpusPath(): string;
|
|
66
|
+
/** Parse the JSONL store; a malformed line is skipped, never fatal. */
|
|
67
|
+
export declare function readDeliverableCandidates(): DeliverableCandidate[];
|
|
68
|
+
/**
|
|
69
|
+
* Record one magnitude-satisfied authored delivery. Returns the stored row, or
|
|
70
|
+
* null when there was nothing to record.
|
|
71
|
+
*/
|
|
72
|
+
export declare function recordDeliverableCandidate(input: {
|
|
73
|
+
ask: string;
|
|
74
|
+
path: string;
|
|
75
|
+
deliveredWords: number;
|
|
76
|
+
targetWords?: number;
|
|
77
|
+
verification?: string;
|
|
78
|
+
excerpt: string;
|
|
79
|
+
traceId?: string;
|
|
80
|
+
}, now?: number): DeliverableCandidate | null;
|
|
81
|
+
/**
|
|
82
|
+
* Label the most recent UNLABELLED candidate as rejected.
|
|
83
|
+
*
|
|
84
|
+
* Called when the user's next message reports the previous turn as a miss. Only
|
|
85
|
+
* the newest unlabelled row is touched: a correction speaks about the most recent
|
|
86
|
+
* delivery, and a row that already carries a verdict must not be relabelled by a
|
|
87
|
+
* later, unrelated complaint. Returns true when a row was labelled.
|
|
88
|
+
*/
|
|
89
|
+
export declare function markLastDeliverableRejected(now?: number): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Label the most recent UNLABELLED row with `verdict`.
|
|
92
|
+
*
|
|
93
|
+
* The general form of {@link markLastDeliverableRejected}, for callers that carry
|
|
94
|
+
* a verdict but not a trace id (the tier-3 behavioural path can infer a label from
|
|
95
|
+
* what the user did without a trace to attach it to). Only the newest unlabelled
|
|
96
|
+
* row is touched — a verdict speaks about the most recent delivery, and a row that
|
|
97
|
+
* already carries one must not be relabelled by a later, unrelated signal. Returns
|
|
98
|
+
* true when a row was labelled.
|
|
99
|
+
*/
|
|
100
|
+
export declare function labelNewestUnlabelled(verdict: 'accepted' | 'rejected', now?: number): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Label the delivery that belongs to `traceId` with the user's EXPLICIT verdict.
|
|
103
|
+
*
|
|
104
|
+
* Unlike {@link markLastDeliverableRejected} (which the derived correction signal
|
|
105
|
+
* uses), this is the reliable path: the row knows which trace produced it, so the
|
|
106
|
+
* label lands on the RIGHT delivery rather than on "the most recent one".
|
|
107
|
+
*
|
|
108
|
+
* When no row carries this trace, a REJECTION still falls back to the newest
|
|
109
|
+
* unlabelled row — the delivery may predate the trace link — but an ACCEPTANCE
|
|
110
|
+
* does not: inventing a positive label for a delivery we cannot identify is
|
|
111
|
+
* exactly the fabricated sample this corpus refuses. Returns true when a row was
|
|
112
|
+
* labelled.
|
|
113
|
+
*/
|
|
114
|
+
export declare function labelDeliverableByTrace(traceId: string, verdict: 'accepted' | 'rejected', now?: number): boolean;
|
|
115
|
+
/** Forget the whole corpus (CLI/test escape hatch). */
|
|
116
|
+
export declare function clearDeliverableCandidates(): void;
|
|
117
|
+
//# sourceMappingURL=deliverable-corpus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deliverable-corpus.d.ts","sourceRoot":"","sources":["../../src/learning/deliverable-corpus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAMH,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,0CAA0C;AAC1C,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;IACxC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,uEAAuE;AACvE,wBAAgB,yBAAyB,IAAI,oBAAoB,EAAE,CA2BlE;AAYD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE;IACL,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,GAAG,GAAE,MAAmB,GACvB,oBAAoB,GAAG,IAAI,CAiB7B;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO,CAE7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,UAAU,GAAG,UAAU,EAChC,GAAG,GAAE,MAAmB,GACvB,OAAO,CAUT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,GAAG,UAAU,EAChC,GAAG,GAAE,MAAmB,GACvB,OAAO,CAUT;AAED,uDAAuD;AACvD,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deliverable corpus — COLLECT the case item 13's residual needs, instead of
|
|
3
|
+
* inventing a detector for it.
|
|
4
|
+
*
|
|
5
|
+
* THE PROBLEM THIS EXISTS FOR. Bundle 23 catches an authored artifact materially
|
|
6
|
+
* SHORTER than a magnitude the ask stated, and Bundle 19 catches one that admits
|
|
7
|
+
* its own content was omitted. Neither reaches the remaining shape: a deliverable
|
|
8
|
+
* that is complete and on-length yet simply GENERIC — the case none of the live
|
|
9
|
+
* runs has produced, and the one no deterministic rule can judge, because judging
|
|
10
|
+
* it from vocabulary is the defect this programme exists to remove.
|
|
11
|
+
*
|
|
12
|
+
* So this module does not judge. It COLLECTS. When a turn delivers a single
|
|
13
|
+
* authored artifact that trips neither the omission nor the shortfall check, the
|
|
14
|
+
* bare facts of that delivery (the ask, the file, its length, a bounded excerpt)
|
|
15
|
+
* are appended here. If the user then reports the turn as a miss — the SAME
|
|
16
|
+
* correction signal (`detectRegressionSignal`) the working-state ledger and the
|
|
17
|
+
* bandit already use — the most recent candidate is labelled `rejected`.
|
|
18
|
+
*
|
|
19
|
+
* That pair — a fluent, on-length delivery plus a human's verdict on it — is the
|
|
20
|
+
* ground truth a measured quality signal must be fit to. Until rows carry the
|
|
21
|
+
* label the corpus is deliberately INERT: nothing reads it, nothing routes on it,
|
|
22
|
+
* and no score is derived from it. It is a dataset, not a detector. Deriving a
|
|
23
|
+
* signal from `verdict: null` rows, or from the excerpt's wording, would be the
|
|
24
|
+
* phrase-list defect one layer down.
|
|
25
|
+
*
|
|
26
|
+
* Storage: `<memory>/deliverable-candidates.jsonl` (honours `NUVIRA_MEMORY_DIR`).
|
|
27
|
+
* Every write is best-effort — collection must NEVER break a turn.
|
|
28
|
+
*/
|
|
29
|
+
import { envBuff, resolveNuviraHome } from '../config/paths.js';
|
|
30
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
31
|
+
import { join } from 'node:path';
|
|
32
|
+
/** Rows kept on disk (oldest drop first) — a dataset, not an unbounded log. */
|
|
33
|
+
export const MAX_DELIVERABLE_CANDIDATES = 500;
|
|
34
|
+
/** Characters of the artifact kept per row: enough to fit features to, bounded. */
|
|
35
|
+
export const DELIVERABLE_EXCERPT_MAX = 2000;
|
|
36
|
+
/** Characters of the ask kept per row. */
|
|
37
|
+
export const DELIVERABLE_ASK_MAX = 500;
|
|
38
|
+
function memoryDir() {
|
|
39
|
+
return envBuff('MEMORY_DIR') || join(resolveNuviraHome(), 'memory');
|
|
40
|
+
}
|
|
41
|
+
function corpusPath() {
|
|
42
|
+
return join(memoryDir(), 'deliverable-candidates.jsonl');
|
|
43
|
+
}
|
|
44
|
+
/** The corpus path — exported so tests and an inspection surface can name it. */
|
|
45
|
+
export function deliverableCorpusPath() {
|
|
46
|
+
return corpusPath();
|
|
47
|
+
}
|
|
48
|
+
/** Parse the JSONL store; a malformed line is skipped, never fatal. */
|
|
49
|
+
export function readDeliverableCandidates() {
|
|
50
|
+
try {
|
|
51
|
+
if (!existsSync(corpusPath()))
|
|
52
|
+
return [];
|
|
53
|
+
const out = [];
|
|
54
|
+
for (const line of readFileSync(corpusPath(), 'utf-8').split('\n')) {
|
|
55
|
+
const trimmed = line.trim();
|
|
56
|
+
if (!trimmed)
|
|
57
|
+
continue;
|
|
58
|
+
try {
|
|
59
|
+
const row = JSON.parse(trimmed);
|
|
60
|
+
if (row && typeof row.path === 'string' && typeof row.ask === 'string') {
|
|
61
|
+
// Tolerate the short-lived shape that predates the tri-state verdict: an
|
|
62
|
+
// old `rejected: true` row is a rejection, and is MIGRATED on read so the
|
|
63
|
+
// rest of the module has exactly one shape to reason about.
|
|
64
|
+
if (row.verdict === undefined && row.rejected === true) {
|
|
65
|
+
row.verdict = 'rejected';
|
|
66
|
+
}
|
|
67
|
+
if (row.verdict === undefined)
|
|
68
|
+
row.verdict = null;
|
|
69
|
+
out.push(row);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// A corrupt line is skipped — a collection store must not become a landmine.
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return out;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return [];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function writeCandidates(rows) {
|
|
83
|
+
try {
|
|
84
|
+
if (!existsSync(memoryDir()))
|
|
85
|
+
mkdirSync(memoryDir(), { recursive: true });
|
|
86
|
+
const capped = rows.slice(-MAX_DELIVERABLE_CANDIDATES);
|
|
87
|
+
writeFileSync(corpusPath(), capped.map((r) => JSON.stringify(r)).join('\n') + '\n', 'utf-8');
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Best-effort — collection must never break a turn.
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Record one magnitude-satisfied authored delivery. Returns the stored row, or
|
|
95
|
+
* null when there was nothing to record.
|
|
96
|
+
*/
|
|
97
|
+
export function recordDeliverableCandidate(input, now = Date.now()) {
|
|
98
|
+
if (!input.path || !input.excerpt)
|
|
99
|
+
return null;
|
|
100
|
+
const row = {
|
|
101
|
+
ts: now,
|
|
102
|
+
ask: (input.ask || '').replace(/\s+/g, ' ').slice(0, DELIVERABLE_ASK_MAX),
|
|
103
|
+
path: input.path,
|
|
104
|
+
deliveredWords: input.deliveredWords,
|
|
105
|
+
...(input.targetWords !== undefined ? { targetWords: input.targetWords } : {}),
|
|
106
|
+
...(input.verification ? { verification: input.verification } : {}),
|
|
107
|
+
...(input.traceId ? { traceId: input.traceId } : {}),
|
|
108
|
+
excerpt: input.excerpt.slice(0, DELIVERABLE_EXCERPT_MAX),
|
|
109
|
+
verdict: null,
|
|
110
|
+
};
|
|
111
|
+
const rows = readDeliverableCandidates();
|
|
112
|
+
rows.push(row);
|
|
113
|
+
writeCandidates(rows);
|
|
114
|
+
return row;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Label the most recent UNLABELLED candidate as rejected.
|
|
118
|
+
*
|
|
119
|
+
* Called when the user's next message reports the previous turn as a miss. Only
|
|
120
|
+
* the newest unlabelled row is touched: a correction speaks about the most recent
|
|
121
|
+
* delivery, and a row that already carries a verdict must not be relabelled by a
|
|
122
|
+
* later, unrelated complaint. Returns true when a row was labelled.
|
|
123
|
+
*/
|
|
124
|
+
export function markLastDeliverableRejected(now = Date.now()) {
|
|
125
|
+
return labelNewestUnlabelled('rejected', now);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Label the most recent UNLABELLED row with `verdict`.
|
|
129
|
+
*
|
|
130
|
+
* The general form of {@link markLastDeliverableRejected}, for callers that carry
|
|
131
|
+
* a verdict but not a trace id (the tier-3 behavioural path can infer a label from
|
|
132
|
+
* what the user did without a trace to attach it to). Only the newest unlabelled
|
|
133
|
+
* row is touched — a verdict speaks about the most recent delivery, and a row that
|
|
134
|
+
* already carries one must not be relabelled by a later, unrelated signal. Returns
|
|
135
|
+
* true when a row was labelled.
|
|
136
|
+
*/
|
|
137
|
+
export function labelNewestUnlabelled(verdict, now = Date.now()) {
|
|
138
|
+
const rows = readDeliverableCandidates();
|
|
139
|
+
for (let i = rows.length - 1; i >= 0; i--) {
|
|
140
|
+
if (rows[i].verdict === null) {
|
|
141
|
+
rows[i] = { ...rows[i], verdict, verdictAt: now };
|
|
142
|
+
writeCandidates(rows);
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Label the delivery that belongs to `traceId` with the user's EXPLICIT verdict.
|
|
150
|
+
*
|
|
151
|
+
* Unlike {@link markLastDeliverableRejected} (which the derived correction signal
|
|
152
|
+
* uses), this is the reliable path: the row knows which trace produced it, so the
|
|
153
|
+
* label lands on the RIGHT delivery rather than on "the most recent one".
|
|
154
|
+
*
|
|
155
|
+
* When no row carries this trace, a REJECTION still falls back to the newest
|
|
156
|
+
* unlabelled row — the delivery may predate the trace link — but an ACCEPTANCE
|
|
157
|
+
* does not: inventing a positive label for a delivery we cannot identify is
|
|
158
|
+
* exactly the fabricated sample this corpus refuses. Returns true when a row was
|
|
159
|
+
* labelled.
|
|
160
|
+
*/
|
|
161
|
+
export function labelDeliverableByTrace(traceId, verdict, now = Date.now()) {
|
|
162
|
+
const rows = readDeliverableCandidates();
|
|
163
|
+
for (let i = rows.length - 1; i >= 0; i--) {
|
|
164
|
+
if (rows[i].traceId === traceId) {
|
|
165
|
+
rows[i] = { ...rows[i], verdict, verdictAt: now };
|
|
166
|
+
writeCandidates(rows);
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return verdict === 'rejected' ? markLastDeliverableRejected(now) : false;
|
|
171
|
+
}
|
|
172
|
+
/** Forget the whole corpus (CLI/test escape hatch). */
|
|
173
|
+
export function clearDeliverableCandidates() {
|
|
174
|
+
writeCandidates([]);
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=deliverable-corpus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deliverable-corpus.js","sourceRoot":"","sources":["../../src/learning/deliverable-corpus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAC9C,mFAAmF;AACnF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAgCvC,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,8BAA8B,CAAC,CAAC;AAC3D,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,yBAAyB;IACvC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;QACzC,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC;gBACpD,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC3E,yEAAyE;oBACzE,0EAA0E;oBAC1E,4DAA4D;oBAC5D,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAK,GAA8B,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACnF,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC;oBAC3B,CAAC;oBACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;wBAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBAClD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6EAA6E;YAC/E,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAA4B;IACnD,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAAE,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACvD,aAAa,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAQC,EACD,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,GAAG,GAAyB;QAChC,EAAE,EAAE,GAAG;QACP,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC;QACzE,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;QACxD,OAAO,EAAE,IAAI;KACd,CAAC;IACF,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,eAAe,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;IAClE,OAAO,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAgC,EAChC,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAe,EACf,OAAgC,EAChC,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3E,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,0BAA0B;IACxC,eAAe,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -37,7 +37,28 @@
|
|
|
37
37
|
*/
|
|
38
38
|
import type { AgentContext, AgentResult, LLMCallFn } from '../agents/agent.js';
|
|
39
39
|
/** Categories of errors that the repair system can classify */
|
|
40
|
-
export type ErrorCategory = 'llm-error' | 'provider-error' | 'process-error' | 'injection-blocked' | 'context-limit' | 'budget-exhausted'
|
|
40
|
+
export type ErrorCategory = 'llm-error' | 'provider-error' | 'process-error' | 'injection-blocked' | 'context-limit' | 'budget-exhausted'
|
|
41
|
+
/**
|
|
42
|
+
* The PROVIDER's account has no money/credits left (HTTP 402). Distinct from
|
|
43
|
+
* `budget-exhausted` (OUR token/step allowance): retrying, re-prompting or
|
|
44
|
+
* shrinking the ask cannot conjure funds, so this is never repairable on the
|
|
45
|
+
* same pair. Switching PROVIDER is the real remedy — a different host may
|
|
46
|
+
* serve the same model — but that decision belongs to the failover walk, not
|
|
47
|
+
* to the repair ladder.
|
|
48
|
+
*/
|
|
49
|
+
| 'credit-exhausted'
|
|
50
|
+
/**
|
|
51
|
+
* A PIN that strict mode refuses to honour (`Model 'X' is not available on
|
|
52
|
+
* 'Y', and strict model mode forbids substituting another model`).
|
|
53
|
+
*
|
|
54
|
+
* DEFINITIVE for this run: only the user can change the pin or unset
|
|
55
|
+
* NUVIRA_STRICT_MODEL. No rung of the repair ladder may substitute a model the
|
|
56
|
+
* user explicitly forbade, so every attempt is waste. Measured: this sentence —
|
|
57
|
+
* NOT the raw provider error — is what reached the repair loop, so the planner
|
|
58
|
+
* burned its entire budget on it even after the underlying 402 was itself
|
|
59
|
+
* classified correctly.
|
|
60
|
+
*/
|
|
61
|
+
| 'pin-unavailable' | 'unknown';
|
|
41
62
|
/** Repair strategies that can be applied */
|
|
42
63
|
export type RepairStrategy = 're-prompt' | 'switch-model' | 'adjust-temperature' | 'retry-tool' | 'alternative-approach' | 'shrink-scope' | 'skip-step';
|
|
43
64
|
/** Mode of operation for the repair loop */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-repair.d.ts","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/E,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,eAAe,GACf,kBAAkB,
|
|
1
|
+
{"version":3,"file":"error-repair.d.ts","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,29 @@ export function classifyError(error) {
|
|
|
60
60
|
lower.includes('prompt injection')) {
|
|
61
61
|
return 'injection-blocked';
|
|
62
62
|
}
|
|
63
|
+
// Credit/payment exhaustion — checked BEFORE the generic provider/server
|
|
64
|
+
// patterns. Measured: an OpenRouter 402
|
|
65
|
+
// (`{"error":{"message":"Insufficient credits...","code":402,...}}`) matched
|
|
66
|
+
// NO branch and fell through to `unknown`, which `isRepairable` treats as
|
|
67
|
+
// repairable — so a Planner burned its whole repair budget ("Repair budget exhausted
|
|
68
|
+
// after 2 attempt(s)") on a failure that could never succeed. The message
|
|
69
|
+
// ALSO contains `max_tokens`, which is why the credit check must come first:
|
|
70
|
+
// a later `context-limit` match would classify an unfunded account as a
|
|
71
|
+
// too-long-prompt and try to shrink the ask.
|
|
72
|
+
if (/insufficient credits?/.test(lower) ||
|
|
73
|
+
/purchase (more )?credits?/.test(lower) ||
|
|
74
|
+
/credit balance/.test(lower) ||
|
|
75
|
+
/out of credits/.test(lower) ||
|
|
76
|
+
/"?code"?\s*:\s*402/.test(lower)) {
|
|
77
|
+
return 'credit-exhausted';
|
|
78
|
+
}
|
|
79
|
+
// A strict-mode pin refusal — DEFINITIVE, and deliberately matched on OUR OWN
|
|
80
|
+
// wording (the sentence `route-resolver.ts` emits), so it cannot accidentally
|
|
81
|
+
// swallow a provider's "service not available" (which is a retryable 503 and
|
|
82
|
+
// must stay `provider-error`).
|
|
83
|
+
if (lower.includes('strict model mode') || lower.includes('forbids substituting')) {
|
|
84
|
+
return 'pin-unavailable';
|
|
85
|
+
}
|
|
63
86
|
// Provider errors
|
|
64
87
|
if (/5\d{2}(\D|$)/.test(lower) ||
|
|
65
88
|
lower.includes('rate limit') ||
|
|
@@ -130,6 +153,15 @@ export function isRepairable(category) {
|
|
|
130
153
|
return true; // conditionally repairable
|
|
131
154
|
case 'injection-blocked':
|
|
132
155
|
case 'budget-exhausted':
|
|
156
|
+
// No strategy in the ladder changes an unfunded account: re-prompting the
|
|
157
|
+
// same pair, shrinking the ask or switching model within the provider all
|
|
158
|
+
// hit the same 402. Only a different PROVIDER can serve it — a decision the
|
|
159
|
+
// failover walk owns. Spending repair attempts here is pure waste, and it
|
|
160
|
+
// hides the real cause behind "repair budget exhausted".
|
|
161
|
+
case 'credit-exhausted':
|
|
162
|
+
// Only the user can change a pin or lift strict mode; the ladder must not
|
|
163
|
+
// substitute a model they forbade, so it has nothing to offer.
|
|
164
|
+
case 'pin-unavailable':
|
|
133
165
|
return false;
|
|
134
166
|
case 'unknown':
|
|
135
167
|
return true; // try a generic repair
|
|
@@ -216,6 +248,11 @@ export function selectStrategy(category, attemptNumber, options) {
|
|
|
216
248
|
return 'skip-step';
|
|
217
249
|
case 'injection-blocked':
|
|
218
250
|
case 'budget-exhausted':
|
|
251
|
+
// No rung of the ladder can fund an account, and `isRepairable` already
|
|
252
|
+
// refuses it — this case exists so the switch stays exhaustive and the
|
|
253
|
+
// strategy is stated positively rather than defaulting.
|
|
254
|
+
case 'credit-exhausted':
|
|
255
|
+
case 'pin-unavailable':
|
|
219
256
|
return 'skip-step';
|
|
220
257
|
}
|
|
221
258
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-repair.js","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"error-repair.js","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The honest EXHAUSTION REPORT (fix_model_routing P4, invariants 2, 4 and 7).
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. When every reachable model has been tried and the task is
|
|
5
|
+
* still not delivered, the old answer was a one-line apology plus — worse — a
|
|
6
|
+
* question: *"Want me to retry? Reply yes."* That makes the USER the retry
|
|
7
|
+
* button, which is the single clearest way to fail them: a competent operator
|
|
8
|
+
* does not walk back to the requester to ask permission to try the next worker,
|
|
9
|
+
* and they certainly do not do it after the requester already asked once. The
|
|
10
|
+
* user's own words: *"if user need to say retry that we are failing."*
|
|
11
|
+
*
|
|
12
|
+
* So the report's job is to say, in plain language and with NO follow-up
|
|
13
|
+
* question:
|
|
14
|
+
*
|
|
15
|
+
* 1. what was tried, per model, and why each one did not answer;
|
|
16
|
+
* 2. which targets are exhausted vs. DEAD vs. merely COOLING DOWN, and the
|
|
17
|
+
* WALL-CLOCK TIME each cooling one frees up (a wait length is unactionable;
|
|
18
|
+
* "free at 18:42" is something a person can plan around);
|
|
19
|
+
* 3. what the system itself is doing about it (routing to an untried model,
|
|
20
|
+
* or waiting for a window) — stated as the system's job, not the user's;
|
|
21
|
+
* 4. the concrete levers only the user can pull: recharge/replace a rejected
|
|
22
|
+
* credential, knowingly accept a weaker model, or narrow the ask.
|
|
23
|
+
*
|
|
24
|
+
* DETERMINISTIC AND LLM-FREE on purpose. A failure explanation that is itself
|
|
25
|
+
* generated can hallucinate a reason or a time, and this text is the only thing
|
|
26
|
+
* the user has left to trust. Every line here comes from measured state: the
|
|
27
|
+
* failover walk's own attempt log, the routing exclusion ledger, and the pool
|
|
28
|
+
* count — the SAME sources enforcement reads, so the report can never disagree
|
|
29
|
+
* with what routing actually did.
|
|
30
|
+
*
|
|
31
|
+
* It DELIBERATELY does not duplicate `renderModelBreadthReport`'s job of
|
|
32
|
+
* explaining a failure to a caller that still has a retry mechanism available;
|
|
33
|
+
* it is the terminal, "there is nothing left" message, and its distinguishing
|
|
34
|
+
* features are the absolute clocks, the named levers and the refusal to ask the
|
|
35
|
+
* user to trigger anything.
|
|
36
|
+
*/
|
|
37
|
+
/** One model the walk actually reached, and how it went. */
|
|
38
|
+
export interface ExhaustionAttempt {
|
|
39
|
+
provider: string;
|
|
40
|
+
model: string;
|
|
41
|
+
/** The classified failure kind ('empty-response', 'rate-limit', 'auth', …). */
|
|
42
|
+
kind: string;
|
|
43
|
+
/** A short human phrase — what the user can act on. */
|
|
44
|
+
reason: string;
|
|
45
|
+
/** True when the candidate was ruled out WITHOUT being called. */
|
|
46
|
+
skipped?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/** A target that could not be reached, with why and (when known) until when. */
|
|
49
|
+
export interface ExhaustionExclusion {
|
|
50
|
+
provider: string;
|
|
51
|
+
model?: string;
|
|
52
|
+
kind: string;
|
|
53
|
+
/**
|
|
54
|
+
* When it becomes usable again (ms epoch). Absent/0 means "not on its own" —
|
|
55
|
+
* a retired pair or a rejected credential does not heal with time.
|
|
56
|
+
*/
|
|
57
|
+
expiresAt?: number;
|
|
58
|
+
/** 'registry' marks a ruling (the pair does not exist), not a cooldown. */
|
|
59
|
+
source?: string;
|
|
60
|
+
}
|
|
61
|
+
export interface ExhaustionInput {
|
|
62
|
+
attempts: ExhaustionAttempt[];
|
|
63
|
+
exclusions?: ExhaustionExclusion[];
|
|
64
|
+
/** Eligible models the router would consider right now (measured, never guessed). */
|
|
65
|
+
poolSize?: number;
|
|
66
|
+
poolProviders?: number;
|
|
67
|
+
/** What the user asked for, for the header. */
|
|
68
|
+
task?: string;
|
|
69
|
+
/**
|
|
70
|
+
* The underlying failure line, when there is one (e.g. the provider's own
|
|
71
|
+
* rejection text). Rendered as a `Reason:` line so a specific, actionable
|
|
72
|
+
* cause is never lost behind the report.
|
|
73
|
+
*/
|
|
74
|
+
cause?: string;
|
|
75
|
+
/** Injected clock — reports are pure functions of their inputs. */
|
|
76
|
+
now?: number;
|
|
77
|
+
}
|
|
78
|
+
export interface ExhaustionOption {
|
|
79
|
+
/** `recharge` | `wait` | `weaker-model` | `narrow`. */
|
|
80
|
+
code: 'recharge' | 'wait' | 'weaker-model' | 'narrow';
|
|
81
|
+
text: string;
|
|
82
|
+
}
|
|
83
|
+
export interface ExhaustionReport {
|
|
84
|
+
headline: string;
|
|
85
|
+
/** `provider/model — reason`, one per model that was reached and failed. */
|
|
86
|
+
tried: string[];
|
|
87
|
+
/** Targets that were not reachable, with an absolute free time when it exists. */
|
|
88
|
+
unavailable: Array<{
|
|
89
|
+
target: string;
|
|
90
|
+
reason: string;
|
|
91
|
+
freeAt?: number;
|
|
92
|
+
}>;
|
|
93
|
+
/** Pairs ruled out because they do not exist on that provider. */
|
|
94
|
+
retired: string[];
|
|
95
|
+
/** The measured pool claim, when the pool was measured. */
|
|
96
|
+
poolClaim?: string;
|
|
97
|
+
/**
|
|
98
|
+
* True when a healthy pool existed and the walk simply did not reach the
|
|
99
|
+
* remaining models. That is a ROUTING GAP, not a shortage — and the report
|
|
100
|
+
* says so instead of presenting it as an outage.
|
|
101
|
+
*/
|
|
102
|
+
routingGap: boolean;
|
|
103
|
+
/** The soonest a capable model comes back on its own (ms epoch). */
|
|
104
|
+
nextFreeAt?: number;
|
|
105
|
+
options: ExhaustionOption[];
|
|
106
|
+
/** The rendered, ready-to-deliver text. */
|
|
107
|
+
text: string;
|
|
108
|
+
}
|
|
109
|
+
/** `18:42` in the operator's own clock. Deterministic given a timestamp. */
|
|
110
|
+
export declare function formatClockTime(ts: number): string;
|
|
111
|
+
/** `2m`, `55m`, `3h` — a wait a person can read. */
|
|
112
|
+
export declare function formatWaitShort(ms: number): string;
|
|
113
|
+
/**
|
|
114
|
+
* A phrase for a failure kind, in the vocabulary the user can act on.
|
|
115
|
+
*
|
|
116
|
+
* Exported so a caller RECORDING an attempt (chat's own walk) writes the same
|
|
117
|
+
* words the report will print — the alternative is a raw provider message
|
|
118
|
+
* reaching the user, which is how a JSON quota dump once got delivered verbatim
|
|
119
|
+
* as an answer.
|
|
120
|
+
*/
|
|
121
|
+
export declare function describeFailureKind(kind: string): string;
|
|
122
|
+
/**
|
|
123
|
+
* Build the report. Pure: same inputs, same text — no clock reads, no network,
|
|
124
|
+
* no model call (pass `now` explicitly; absent means "measured here").
|
|
125
|
+
*/
|
|
126
|
+
export declare function buildExhaustionReport(input: ExhaustionInput): ExhaustionReport;
|
|
127
|
+
/**
|
|
128
|
+
* The report, or `undefined` when there is genuinely nothing concrete to say.
|
|
129
|
+
*
|
|
130
|
+
* Silent-when-empty is deliberate: a caller that already has an actionable line
|
|
131
|
+
* ("the provider rejected the key") must keep it rather than trade it for an
|
|
132
|
+
* empty report. "Concrete" means exactly one thing — a model was reached, or
|
|
133
|
+
* something was ruled out. A report with neither is not evidence of exhaustion.
|
|
134
|
+
*/
|
|
135
|
+
export declare function renderExhaustionReport(input: ExhaustionInput): string | undefined;
|
|
136
|
+
//# sourceMappingURL=exhaustion-report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exhaustion-report.d.ts","sourceRoot":"","sources":["../../src/learning/exhaustion-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kFAAkF;IAClF,WAAW,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,kEAAkE;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuBxD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAuJ9E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAQjF"}
|