agent-nuvira 3.3.3 β 3.3.4
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/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-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +2 -1
- package/dist/learning/model-registry.js.map +1 -1
- 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/server.d.ts +14 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +247 -13
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +196 -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-XJjj2cBX.css} +1 -1
- package/src/web-dashboard/public/assets/index-YWF9FpwQ.js +207 -0
- package/src/web-dashboard/public/assets/index-YWF9FpwQ.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
package/dist/cli/eval.js
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { Command } from 'commander';
|
|
21
21
|
import { BaseCommand, getCliName } from './commands.js';
|
|
22
|
+
import { formatCount } from '../utils/format.js';
|
|
22
23
|
import { PipelineBoard } from './pipeline-board.js';
|
|
23
24
|
import { getEventBus, EventNames } from '../observability/event-bus.js';
|
|
24
25
|
import { resolveProvider } from './router.js';
|
|
@@ -28,6 +29,10 @@ import { buildAutoResolveOptions } from '../learning/resolve-options.js';
|
|
|
28
29
|
import { recordRoutingDecision } from '../learning/routing-history.js';
|
|
29
30
|
import { logger } from '../utils/logger.js';
|
|
30
31
|
import { runEvalSuite, getEvalTasks, getM2bTasks, getEvalRuns, formatEvalReport, formatEvalMarkdown, formatEvalScoreRules, resolvePaceBudget, writeBenchmarkReport, compareEvalRuns, selectCompareRuns, clearEvals, } from '../learning/eval-framework.js';
|
|
32
|
+
// WS7 (#29) β the seeded-bug benchmark: its own suite, its own verification, its
|
|
33
|
+
// own scoring (found / fixed / nothing else touched).
|
|
34
|
+
import { formatSeedVerification } from '../learning/seeded-bugs.js';
|
|
35
|
+
import { formatSeededReport, runSeededSuite, seededReportPath, verifySeeds as verifySeedSuite, writeSeededReport, } from '../learning/seeded-benchmark.js';
|
|
31
36
|
import { resolveDefaultModel } from '../inference/default-model-resolver.js';
|
|
32
37
|
import { ProviderFactory } from '../inference/factory.js';
|
|
33
38
|
export class EvalCommand extends BaseCommand {
|
|
@@ -41,7 +46,7 @@ export class EvalCommand extends BaseCommand {
|
|
|
41
46
|
.option('-p, --provider <provider>', 'Provider to evaluate')
|
|
42
47
|
.option('-m, --model <model>', 'Model to evaluate')
|
|
43
48
|
.option('--tasks <filter>', 'Task filter: task ID, or "quick"/"medium"/"slow" by time estimate')
|
|
44
|
-
.option('--suite <suite>', 'Curated task suite: "m2b" (experience-parity benchmark) or "full" (all tasks)', 'full')
|
|
49
|
+
.option('--suite <suite>', 'Curated task suite: "m2b" (experience-parity benchmark), "seeded-bugs" (find and fix a deliberately seeded defect) or "full" (all tasks)', 'full')
|
|
45
50
|
.option('--budget <amount>', 'Maximum cost in USD before stopping', parseFloat)
|
|
46
51
|
.option('--pace', 'Stop when the provider\'s declared DAILY token budget (routing.quota.<provider>.tokensPerWindow) is reached β the Decision 21 gate guard', false)
|
|
47
52
|
.option('--format <format>', 'Output format: text (default), json, markdown', 'text')
|
|
@@ -56,6 +61,14 @@ export class EvalCommand extends BaseCommand {
|
|
|
56
61
|
await this.runEval(options || {});
|
|
57
62
|
}
|
|
58
63
|
});
|
|
64
|
+
// ββ verify-seeds ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
65
|
+
command
|
|
66
|
+
.command('verify-seeds')
|
|
67
|
+
.description('Prove every seeded bug is genuinely broken (and genuinely fixable) β no provider needed')
|
|
68
|
+
.option('--tasks <ids>', 'Only verify these task ids (comma-separated)')
|
|
69
|
+
.action((options) => {
|
|
70
|
+
this.verifySeeds(options?.tasks ? options.tasks.split(',').map((t) => t.trim()) : undefined);
|
|
71
|
+
});
|
|
59
72
|
// ββ list ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
60
73
|
command
|
|
61
74
|
.command('list')
|
|
@@ -296,6 +309,14 @@ export class EvalCommand extends BaseCommand {
|
|
|
296
309
|
taskIds = options.tasks.split(',').map((t) => t.trim());
|
|
297
310
|
}
|
|
298
311
|
}
|
|
312
|
+
// WS7 (#29) β the seeded-bug suite is its own benchmark with its own scoring
|
|
313
|
+
// (found / fixed / nothing else touched), so it is dispatched rather than
|
|
314
|
+
// filtered into the M2b metric set: those metrics grade a task against hidden
|
|
315
|
+
// tests, and they cannot express "did the run name the defect".
|
|
316
|
+
if (options.suite === 'seeded-bugs') {
|
|
317
|
+
await this.runSeededBenchmark({ provider: providerName, model, taskIds });
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
299
320
|
let tasks;
|
|
300
321
|
if (options.suite === 'm2b') {
|
|
301
322
|
tasks = getM2bTasks();
|
|
@@ -339,7 +360,7 @@ export class EvalCommand extends BaseCommand {
|
|
|
339
360
|
logger.warn(`--pace: no declared daily budget for ${providerName} β running unpaced. Declare one with \`${getCliName()} model quota set ${providerName} --tokens N\`.`);
|
|
340
361
|
}
|
|
341
362
|
else {
|
|
342
|
-
logger.info(`β± Pacing under the declared daily budget: ${paceTokens
|
|
363
|
+
logger.info(`β± Pacing under the declared daily budget: ${formatCount(paceTokens)} tokens (${formatCount(paceUsedBefore)} used today).`);
|
|
343
364
|
}
|
|
344
365
|
}
|
|
345
366
|
// Engine arm (assessment Addendum v4 Phase 0): 'pipeline' (default) is
|
|
@@ -407,6 +428,88 @@ export class EvalCommand extends BaseCommand {
|
|
|
407
428
|
logger.error(String(err));
|
|
408
429
|
}
|
|
409
430
|
}
|
|
431
|
+
/**
|
|
432
|
+
* WS7 (#29) β prove every seeded bug is genuinely broken, and genuinely fixable.
|
|
433
|
+
*
|
|
434
|
+
* No provider, no tokens, no network: the checks are plain `node` scripts run in
|
|
435
|
+
* two throwaway workspaces per task. Exits non-zero when a seed does not verify,
|
|
436
|
+
* so this is usable as the gate that keeps the benchmark honest.
|
|
437
|
+
*/
|
|
438
|
+
verifySeeds(taskIds) {
|
|
439
|
+
const results = verifySeedSuite(taskIds);
|
|
440
|
+
console.log(`\n${formatSeedVerification(results)}\n`);
|
|
441
|
+
if (results.some((result) => !result.ok))
|
|
442
|
+
process.exitCode = 1;
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* WS7 (#29) β run the seeded-bug suite against a real model.
|
|
446
|
+
*
|
|
447
|
+
* The agent runs through the LOOP engine (`runLoopExecutor`) with the workspace
|
|
448
|
+
* as its cwd, which is the arm that actually edits files; a pipeline arm would
|
|
449
|
+
* grade the planner instead of the agent. The suite verifies every seed before it
|
|
450
|
+
* spends a token, so an aborted run costs nothing.
|
|
451
|
+
*/
|
|
452
|
+
async runSeededBenchmark(opts) {
|
|
453
|
+
const board = new PipelineBoard();
|
|
454
|
+
board.start(`Seeded-bug benchmark: ${opts.provider}/${opts.model}`);
|
|
455
|
+
try {
|
|
456
|
+
const run = await runSeededSuite(opts.provider, opts.model, {
|
|
457
|
+
...(opts.taskIds && opts.taskIds.length > 0 ? { taskIds: opts.taskIds } : {}),
|
|
458
|
+
onProgress: (current, total, bug) => {
|
|
459
|
+
getEventBus().emit(EventNames.ORCHESTRATOR_AGENT_UPDATE, {
|
|
460
|
+
agentType: 'eval',
|
|
461
|
+
stage: 'running',
|
|
462
|
+
message: `[${current}/${total}] ${bug.title} (${bug.difficulty})`,
|
|
463
|
+
}, 'eval');
|
|
464
|
+
},
|
|
465
|
+
runAgent: async ({ goal, workspace }) => {
|
|
466
|
+
// The workspace IS the project: the engine resolves relative paths
|
|
467
|
+
// against the process cwd (the same convention the eval arms use).
|
|
468
|
+
const cwd = process.cwd();
|
|
469
|
+
process.chdir(workspace);
|
|
470
|
+
try {
|
|
471
|
+
const { runLoopExecutor } = await import('./loop-executor.js');
|
|
472
|
+
const result = await runLoopExecutor(goal, this.configManager, {
|
|
473
|
+
provider: opts.provider,
|
|
474
|
+
model: opts.model,
|
|
475
|
+
quiet: true,
|
|
476
|
+
skipProjectContext: true,
|
|
477
|
+
});
|
|
478
|
+
return { summary: result.content ?? '', success: !result.generationFailed };
|
|
479
|
+
}
|
|
480
|
+
finally {
|
|
481
|
+
process.chdir(cwd);
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
});
|
|
485
|
+
// Green only for a run that actually scored something and fixed all of it: a
|
|
486
|
+
// board finishing green over zero tasks reports a pass for a run that measured
|
|
487
|
+
// nothing, which is the shape this repo keeps having to remove.
|
|
488
|
+
board.finish(!run.aborted && run.summary.tasks > 0 && run.summary.fixed === run.summary.tasks);
|
|
489
|
+
console.log('');
|
|
490
|
+
if (run.aborted && run.verification) {
|
|
491
|
+
console.log(formatSeedVerification(run.verification));
|
|
492
|
+
console.log('');
|
|
493
|
+
}
|
|
494
|
+
console.log(formatSeededReport(run));
|
|
495
|
+
console.log('');
|
|
496
|
+
try {
|
|
497
|
+
const { join } = await import('node:path');
|
|
498
|
+
const path = writeSeededReport(run, join(process.cwd(), seededReportPath(run.provider, run.model)));
|
|
499
|
+
logger.success(`π Seeded-bug report: ${path}`);
|
|
500
|
+
}
|
|
501
|
+
catch {
|
|
502
|
+
// Non-critical β the terminal report is already printed.
|
|
503
|
+
}
|
|
504
|
+
if (run.aborted)
|
|
505
|
+
process.exitCode = 1;
|
|
506
|
+
}
|
|
507
|
+
catch (err) {
|
|
508
|
+
board.finish(false);
|
|
509
|
+
logger.error(String(err));
|
|
510
|
+
process.exitCode = 1;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
410
513
|
listTasks() {
|
|
411
514
|
const tasks = getEvalTasks();
|
|
412
515
|
logger.highlight(`${'β'.repeat(64)}`);
|
package/dist/cli/eval.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/cli/eval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/cli/eval.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/execute.d.ts
CHANGED
|
@@ -16,6 +16,20 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { Command } from 'commander';
|
|
18
18
|
import { BaseCommand } from './commands.js';
|
|
19
|
+
import { type PipelineToolResult } from '../tools/pipeline-tool.js';
|
|
20
|
+
/**
|
|
21
|
+
* The pipeline's result, read through the SHARED wrapper's contract instead of
|
|
22
|
+
* by importing the engine's own module.
|
|
23
|
+
*
|
|
24
|
+
* This command used to import `OrchestrationResult` straight from
|
|
25
|
+
* `agents/orchestrator.ts`. That is how a bypass starts β a surface that names
|
|
26
|
+
* the engine's internals is already coupled to the engine β and the architecture
|
|
27
|
+
* ratchet read it exactly that way, which is why `cli/execute.ts` was the ONE
|
|
28
|
+
* entry on `SURFACE_DEBT['pipeline-wrapper-bypass']`. Now the command drives the
|
|
29
|
+
* pipeline through `runPipelineTool`, so the wrapper's public shape is what it
|
|
30
|
+
* speaks, and the import graph agrees with the behaviour.
|
|
31
|
+
*/
|
|
32
|
+
type OrchestrationResult = NonNullable<PipelineToolResult['result']>;
|
|
19
33
|
/** A single goal execution entry in the session history */
|
|
20
34
|
export interface SessionEntry {
|
|
21
35
|
goal: string;
|
|
@@ -166,5 +180,6 @@ export declare class ExecuteCommand extends BaseCommand {
|
|
|
166
180
|
/**
|
|
167
181
|
* Pretty-print the orchestration result to the console.
|
|
168
182
|
*/
|
|
169
|
-
export declare function printOrchestrationResult(result:
|
|
183
|
+
export declare function printOrchestrationResult(result: OrchestrationResult): void;
|
|
184
|
+
export {};
|
|
170
185
|
//# sourceMappingURL=execute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA6CrF;;;;;;;;;;;GAWG;AACH,KAAK,mBAAmB,GAAG,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;AA8ErE,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAkGD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GACnC;IACD,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;CAC1B,CAMA;AAUD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAGtD;AAID;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG7B;IAEF,MAAM,IAAI,OAAO;YAsFH,OAAO;IA+IrB;;OAEG;YACW,qBAAqB;IA4OnC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAsDhB;;OAEG;YACW,gBAAgB;IA0G9B;;OAEG;YACW,UAAU;IA0CxB;;OAEG;YACW,YAAY;IAoE1B;;OAEG;YACW,aAAa;IA8D3B;;;;;;;;;;OAUG;YACW,mBAAmB;IA0EjC;;;;;;OAMG;YACW,4BAA4B;IAsE1C;;;;;;OAMG;YACW,2BAA2B;IA0MzC;;;OAGG;IACH,OAAO,CAAC,cAAc;IA8HtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;;OAGG;IACH;;;;;OAKG;YACW,0BAA0B;IAwGxC;;;;;;OAMG;YACW,iBAAiB;YAmHjB,aAAa;IAqV3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;YA4BZ,eAAe;YA2Bf,WAAW;CAS1B;AAqCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CA+C1E"}
|
package/dist/cli/execute.js
CHANGED
|
@@ -21,9 +21,8 @@ import { join } from 'node:path';
|
|
|
21
21
|
import { Command } from 'commander';
|
|
22
22
|
import inquirer from 'inquirer';
|
|
23
23
|
import { BaseCommand } from './commands.js';
|
|
24
|
-
import { ProviderFactory } from '../inference/factory.js';
|
|
25
24
|
import { resolveDefaultModel } from '../inference/default-model-resolver.js';
|
|
26
|
-
import {
|
|
25
|
+
import { runPipelineTool } from '../tools/pipeline-tool.js';
|
|
27
26
|
import { applyActiveModel } from './model.js';
|
|
28
27
|
import { showModelPicker } from './model-picker.js';
|
|
29
28
|
import { resolveProvider } from './router.js';
|
|
@@ -132,7 +131,17 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
132
131
|
.option('--engine <mode>', 'Execution engine: auto | loop | pipeline (default: auto β loop for strong models, pipeline for local/weak tier)')
|
|
133
132
|
.option('--plan-mode <mode>', 'Planning depth: light | heavy (default: light β heavy forces the reasonerβplanner front-matter for large greenfield builds)')
|
|
134
133
|
.option('--checkpoint', 'Save a resume-able checkpoint after every task batch (in ~/.nuvira/memory/checkpoints/)', false)
|
|
135
|
-
|
|
134
|
+
// NO `false` DEFAULT here (or on the two below), and that is the point: a
|
|
135
|
+
// `false` commander invented for an untyped flag is an explicit DECLINE, and
|
|
136
|
+
// an explicit decline outranks the environment β which would make
|
|
137
|
+
// `NUVIRA_ISOLATE=1` / `NUVIRA_RESUME=1` dead letters on `nuvira execute`,
|
|
138
|
+
// the one arm the harness cannot reach through the flags. Absent stays
|
|
139
|
+
// `undefined`: "the operator did not ask", so the environment can.
|
|
140
|
+
.option('--resume [id]', 'Resume the last run of this goal in this directory (defaults to its auto id). Completed tasks are skipped on the pipeline engine, and recorded model calls whose input is unchanged are replayed on the loop engine')
|
|
141
|
+
// WS5 (#27) β isolation. Read from the environment too (`NUVIRA_ISOLATE`),
|
|
142
|
+
// which is how a surface with no command line asks for it.
|
|
143
|
+
.option('--worktree', 'Run the goal in its own git worktree of the project and report the diff against the base commit. Refuses rather than running unisolated when the directory cannot be isolated (also asked for by NUVIRA_ISOLATE=1)')
|
|
144
|
+
.option('--keep-worktree', 'Keep the isolated worktree after the run instead of removing it')
|
|
136
145
|
.option('--checkpoint-list', 'List saved checkpoints and exit', false)
|
|
137
146
|
.option('--json-events', 'Emit machine-readable NDJSON pipeline events on stdout (no human board)', false)
|
|
138
147
|
.action(async (goal, options) => {
|
|
@@ -996,15 +1005,18 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
996
1005
|
const config = this.configManager.getAll();
|
|
997
1006
|
const type = (activeProvider ||
|
|
998
1007
|
config.defaultProvider || 'auto');
|
|
999
|
-
//
|
|
1000
|
-
//
|
|
1001
|
-
|
|
1002
|
-
|
|
1008
|
+
// The SHARED provider service (`cli/router.ts`) β the same one every other
|
|
1009
|
+
// command resolves through β instead of building the adapter here. It
|
|
1010
|
+
// handles the built-in ids, the plugin registry, the 'auto' directive and
|
|
1011
|
+
// the catalog providers, so this call site cannot be the one that forgets
|
|
1012
|
+
// one (SURFACE_DEBT['provider-factory'] used to record exactly that).
|
|
1013
|
+
const resolved = resolveProvider(this.configManager, type);
|
|
1014
|
+
const provider = resolved.provider;
|
|
1003
1015
|
// Resolve 'default' to a real model via the provider's live catalog
|
|
1004
1016
|
let model = activeModel || 'default';
|
|
1005
1017
|
if (!model || model === 'default') {
|
|
1006
1018
|
try {
|
|
1007
|
-
model = await resolveDefaultModel(provider,
|
|
1019
|
+
model = await resolveDefaultModel(provider, resolved.type, model);
|
|
1008
1020
|
}
|
|
1009
1021
|
catch { /* best-effort */ }
|
|
1010
1022
|
}
|
|
@@ -1272,34 +1284,96 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
1272
1284
|
// printOrchestrationResult from execute.ts); the chat engine IS the
|
|
1273
1285
|
// direct-answer path (tool loop + ask_user + followups).
|
|
1274
1286
|
const { ChatCommand } = await import('./chat.js');
|
|
1287
|
+
// The direct-answer path IS a chat turn, so it reports a chat turn's tool
|
|
1288
|
+
// lifecycle: each executed call and its outcome, from the shared engine's
|
|
1289
|
+
// own onToolCall seam. Without this the command could answer by running
|
|
1290
|
+
// tools ("list the working directoryβ¦") and report no tool work at all β
|
|
1291
|
+
// the gap `tool-call-lifecycle@cli-execute` recorded.
|
|
1292
|
+
const toolCalls = [];
|
|
1293
|
+
const toolOutcomes = [];
|
|
1294
|
+
// WS1 β the findings this answer recorded, from the same engine seam as
|
|
1295
|
+
// the tool lifecycle above.
|
|
1296
|
+
const findings = [];
|
|
1275
1297
|
const answer = await new ChatCommand().answerOnce(goal, {
|
|
1276
1298
|
...(provider ? { provider } : {}),
|
|
1277
1299
|
...(model ? { model } : {}),
|
|
1300
|
+
onToolCall: (phase, info) => {
|
|
1301
|
+
if (phase !== 'called')
|
|
1302
|
+
return;
|
|
1303
|
+
toolCalls.push(info.tool);
|
|
1304
|
+
toolOutcomes.push({ tool: info.tool, ...(typeof info.ok === 'boolean' ? { ok: info.ok } : {}) });
|
|
1305
|
+
},
|
|
1306
|
+
onFinding: (finding) => {
|
|
1307
|
+
findings.push(finding);
|
|
1308
|
+
},
|
|
1309
|
+
// WS2 (#24) β this turn is the EXECUTE command's, even though it runs
|
|
1310
|
+
// through the shared chat engine. Without this the session debug log of
|
|
1311
|
+
// a `nuvira execute` run was labelled `cli-chat`, which is exactly the
|
|
1312
|
+
// kind of misattribution a bug report cannot afford.
|
|
1313
|
+
debugSurface: 'cli-execute',
|
|
1314
|
+
// WS5 (#27) β the command's own flags, on the arm that answers directly.
|
|
1315
|
+
// The loop arm is handed the same three by `runLoopEngineGoal`, so one
|
|
1316
|
+
// `nuvira execute --worktree` isolates the run on EITHER engine.
|
|
1317
|
+
worktree: options.worktree,
|
|
1318
|
+
keepWorktree: options.keepWorktree,
|
|
1319
|
+
resume: options.resume,
|
|
1278
1320
|
});
|
|
1279
1321
|
// Parity with the dashboard/gateway: never print a raw suggest_followups
|
|
1280
1322
|
// payload (or the empty fence it leaves behind) as if it were the answer,
|
|
1281
1323
|
// and never print the model's own reasoning as one either.
|
|
1282
1324
|
const content = displayTextOrLine(answer.content ?? '');
|
|
1325
|
+
// HONESTY (WS6 #28): a turn whose generation FAILED is not a success, and
|
|
1326
|
+
// this arm used to say it was. Found by the fault-injection row, which drives
|
|
1327
|
+
// all five surfaces through a declared provider fault and compared what they
|
|
1328
|
+
// claimed: the loop arm below computes `success = !result.generationFailed`,
|
|
1329
|
+
// while this arm returned `success: true` unconditionally β so `nuvira
|
|
1330
|
+
// execute` reported success for the SAME backend failure that `nuvira chat`
|
|
1331
|
+
// reported as failed, publishing the provider's own error prose as the
|
|
1332
|
+
// answer. An empty generation is the one outcome a caller must be able to
|
|
1333
|
+
// tell apart from a real answer, and `--json-events` consumers were being
|
|
1334
|
+
// told the opposite.
|
|
1335
|
+
const generationFailed = answer.generationFailed === true;
|
|
1283
1336
|
if (options.jsonEvents) {
|
|
1284
1337
|
process.stdout.write(JSON.stringify({
|
|
1285
1338
|
type: 'result',
|
|
1286
|
-
success:
|
|
1339
|
+
success: !generationFailed,
|
|
1287
1340
|
goal,
|
|
1288
1341
|
summary: content,
|
|
1289
|
-
tasksCompleted: 1,
|
|
1342
|
+
tasksCompleted: generationFailed ? 0 : 1,
|
|
1290
1343
|
tasksTotal: 1,
|
|
1291
1344
|
agentResults: [],
|
|
1292
1345
|
fileChanges: '',
|
|
1293
1346
|
runOutput: '',
|
|
1294
|
-
|
|
1347
|
+
// The loop arm puts the failure text here too; the machine-readable
|
|
1348
|
+
// stream must not need a second field to tell why nothing was answered.
|
|
1349
|
+
error: generationFailed ? content : '',
|
|
1295
1350
|
engine: 'direct',
|
|
1296
1351
|
ts: Date.now(),
|
|
1297
1352
|
}) + '\n');
|
|
1298
1353
|
}
|
|
1299
1354
|
else if (content) {
|
|
1300
1355
|
console.log('\n' + content + '\n');
|
|
1356
|
+
// The same visible failure signal the loop arm prints, so a person running
|
|
1357
|
+
// `nuvira execute` is told the run produced no answer rather than left to
|
|
1358
|
+
// read the provider's apology as one.
|
|
1359
|
+
if (generationFailed)
|
|
1360
|
+
logger.error(content);
|
|
1301
1361
|
}
|
|
1302
|
-
|
|
1362
|
+
// R1 β hand the caller the backend that produced this answer. The chat
|
|
1363
|
+
// engine has always known it; this command used to drop it here.
|
|
1364
|
+
return {
|
|
1365
|
+
success: !generationFailed,
|
|
1366
|
+
...(typeof answer.content === 'string' ? { content: answer.content } : {}),
|
|
1367
|
+
...(answer.provider ? { provider: answer.provider } : {}),
|
|
1368
|
+
...(answer.model ? { model: answer.model } : {}),
|
|
1369
|
+
...(answer.transport ? { transport: answer.transport } : {}),
|
|
1370
|
+
...(toolCalls.length > 0 ? { toolCalls } : {}),
|
|
1371
|
+
...(toolOutcomes.length > 0 ? { toolOutcomes } : {}),
|
|
1372
|
+
...(findings.length > 0 ? { findings } : {}),
|
|
1373
|
+
// WS5 β the isolation and resume this turn had, back to the caller.
|
|
1374
|
+
...(answer.worktree ? { worktree: answer.worktree } : {}),
|
|
1375
|
+
...(answer.resume ? { resume: answer.resume } : {}),
|
|
1376
|
+
};
|
|
1303
1377
|
}
|
|
1304
1378
|
catch (err) {
|
|
1305
1379
|
logger.error(err instanceof Error ? err.message : String(err));
|
|
@@ -1329,6 +1403,13 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
1329
1403
|
const result = await runLoopExecutor(goal, this.configManager, {
|
|
1330
1404
|
provider,
|
|
1331
1405
|
model,
|
|
1406
|
+
// WS5 (#27) β the command's own flags. `--resume` means the SAME run
|
|
1407
|
+
// here as it does on the pipeline arm: the last run of this ask in this
|
|
1408
|
+
// directory (both ids come from `checkpointIdFor`), so one flag resumes
|
|
1409
|
+
// the plan on one engine and the recorded model calls on the other.
|
|
1410
|
+
...(options.worktree === undefined ? {} : { worktree: options.worktree }),
|
|
1411
|
+
...(options.keepWorktree === undefined ? {} : { keepWorktree: options.keepWorktree }),
|
|
1412
|
+
...(options.resume === undefined ? {} : { resume: options.resume }),
|
|
1332
1413
|
quiet: !!options.jsonEvents,
|
|
1333
1414
|
// G18 β `-v` echoes each tool's result (first line) under its call, so a
|
|
1334
1415
|
// live run shows what came BACK, not only what was attempted. Without
|
|
@@ -1361,7 +1442,14 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
1361
1442
|
error: success ? '' : content,
|
|
1362
1443
|
engine: 'loop',
|
|
1363
1444
|
engineExplanation: result.engineExplanation,
|
|
1445
|
+
// R1 β the same attribution the human path now returns, on the
|
|
1446
|
+
// machine-readable stream: which provider/model served the run, and
|
|
1447
|
+
// which tool transport carried it.
|
|
1448
|
+
provider: result.provider,
|
|
1449
|
+
model: result.model,
|
|
1450
|
+
transport: result.transport,
|
|
1364
1451
|
toolCalls: result.toolCalls,
|
|
1452
|
+
toolOutcomes: result.toolOutcomes,
|
|
1365
1453
|
erroredTools: result.erroredTools,
|
|
1366
1454
|
// G18 β the evidence pointer: a machine consumer can follow up with
|
|
1367
1455
|
// `nuvira trace show <id>` (or `/api/traces/<id>`) instead of taking
|
|
@@ -1386,7 +1474,24 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
1386
1474
|
logger.info(` π Trace: ${result.traceId} β \`nuvira trace show ${result.traceId}\` (tool calls, gate decisions, refusals)`);
|
|
1387
1475
|
}
|
|
1388
1476
|
}
|
|
1389
|
-
|
|
1477
|
+
// R1 β the run's own attribution, back to the caller. `success` alone was
|
|
1478
|
+
// the whole result before this: a reader could not say which model
|
|
1479
|
+
// produced the output they were reading.
|
|
1480
|
+
return {
|
|
1481
|
+
success,
|
|
1482
|
+
...(result.content ? { content: result.content } : {}),
|
|
1483
|
+
...(result.provider ? { provider: result.provider } : {}),
|
|
1484
|
+
...(result.model ? { model: result.model } : {}),
|
|
1485
|
+
...(result.transport ? { transport: result.transport } : {}),
|
|
1486
|
+
...(result.toolCalls.length > 0 ? { toolCalls: result.toolCalls } : {}),
|
|
1487
|
+
...(result.toolOutcomes && result.toolOutcomes.length > 0
|
|
1488
|
+
? { toolOutcomes: result.toolOutcomes }
|
|
1489
|
+
: {}),
|
|
1490
|
+
...(result.findings && result.findings.length > 0 ? { findings: result.findings } : {}),
|
|
1491
|
+
// WS5 β the isolation and resume this run had, back to the caller.
|
|
1492
|
+
...(result.worktree ? { worktree: result.worktree } : {}),
|
|
1493
|
+
...(result.resume ? { resume: result.resume } : {}),
|
|
1494
|
+
};
|
|
1390
1495
|
}
|
|
1391
1496
|
catch (err) {
|
|
1392
1497
|
logger.error(err instanceof Error ? err.message : String(err));
|
|
@@ -1530,10 +1635,10 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
1530
1635
|
}
|
|
1531
1636
|
catch { /* recall must never break execution */ }
|
|
1532
1637
|
}
|
|
1533
|
-
|
|
1638
|
+
// The options THIS command owns. Provider/model are deliberately ABSENT:
|
|
1639
|
+
// they ride on the wrapper's own options, where 'auto' is resolved once,
|
|
1640
|
+
// the same way for every caller (the gateway included).
|
|
1534
1641
|
const execOptions = {
|
|
1535
|
-
provider,
|
|
1536
|
-
model,
|
|
1537
1642
|
taskIntentHint: dispatch.taskIntentHint,
|
|
1538
1643
|
recallContext,
|
|
1539
1644
|
acceptanceCriteria: contract.acceptanceCriteria,
|
|
@@ -1557,7 +1662,42 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
1557
1662
|
...checkpointOptions(options.checkpoint, options.resume),
|
|
1558
1663
|
spinner: board,
|
|
1559
1664
|
};
|
|
1560
|
-
|
|
1665
|
+
// The SHARED turn entry. One place owns the pipeline's provider
|
|
1666
|
+
// resolution, understand-card, recall wiring and checkpoint default, so
|
|
1667
|
+
// this command, the gateway and the model's build/resume tools cannot
|
|
1668
|
+
// drift apart β which is what SURFACE_DEBT['pipeline-wrapper-bypass'] was
|
|
1669
|
+
// recording while this command built its own Orchestrator.
|
|
1670
|
+
const pipeline = await runPipelineTool(goal, this.configManager, {
|
|
1671
|
+
provider,
|
|
1672
|
+
model,
|
|
1673
|
+
// The board is OURS: the wrapper must not mount a second one behind it.
|
|
1674
|
+
board: false,
|
|
1675
|
+
// β¦and the π§ card is ours too β ours states the real resumability, which
|
|
1676
|
+
// the wrapper cannot know.
|
|
1677
|
+
announce: false,
|
|
1678
|
+
taskIntentHint: dispatch.taskIntentHint,
|
|
1679
|
+
recallContext,
|
|
1680
|
+
execOptions,
|
|
1681
|
+
});
|
|
1682
|
+
const result = pipeline.result;
|
|
1683
|
+
if (!result) {
|
|
1684
|
+
// The wrapper never throws, so a run that could not even resolve a
|
|
1685
|
+
// working provider arrives here as a null result with the reason in
|
|
1686
|
+
// `error` β reported as the failure it is rather than swallowed.
|
|
1687
|
+
board.finish(false);
|
|
1688
|
+
if (options.jsonEvents) {
|
|
1689
|
+
process.stdout.write(JSON.stringify({
|
|
1690
|
+
type: 'result',
|
|
1691
|
+
success: false,
|
|
1692
|
+
error: pipeline.error ?? pipeline.summary,
|
|
1693
|
+
ts: Date.now(),
|
|
1694
|
+
}) + '\n');
|
|
1695
|
+
}
|
|
1696
|
+
else {
|
|
1697
|
+
logger.error(pipeline.error ?? pipeline.summary);
|
|
1698
|
+
}
|
|
1699
|
+
return { success: false };
|
|
1700
|
+
}
|
|
1561
1701
|
// ββ G11: finish the job, do NOT ask for a "continue" ββββββββββββββββββ
|
|
1562
1702
|
// A 100-page book is ~39 units; the ledger already made that possible, but
|
|
1563
1703
|
// it used to end every batch by asking the user to reply. The ask itself
|
|
@@ -1585,10 +1725,27 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
1585
1725
|
// loop too, so a session counter would report zero for every
|
|
1586
1726
|
// batch after the first.
|
|
1587
1727
|
const startedAt = Date.now();
|
|
1588
|
-
// A FRESH
|
|
1589
|
-
// reusing the
|
|
1590
|
-
// and trace id into the next
|
|
1591
|
-
const
|
|
1728
|
+
// A FRESH wrapper run per batch: each batch is its own run, and
|
|
1729
|
+
// reusing anything from the previous one would carry its
|
|
1730
|
+
// counters and trace id into the next.
|
|
1731
|
+
const batch = await runPipelineTool(batchJob.continuationPrompt, this.configManager, {
|
|
1732
|
+
provider,
|
|
1733
|
+
model,
|
|
1734
|
+
board: false,
|
|
1735
|
+
announce: false,
|
|
1736
|
+
taskIntentHint: dispatch.taskIntentHint,
|
|
1737
|
+
recallContext,
|
|
1738
|
+
execOptions: { ...execOptions, spinner: undefined },
|
|
1739
|
+
});
|
|
1740
|
+
const batchResult = batch.result;
|
|
1741
|
+
if (!batchResult) {
|
|
1742
|
+
// Nothing ran at all, so there is no progress to measure and
|
|
1743
|
+
// the failure counts against the runner's own caps.
|
|
1744
|
+
return {
|
|
1745
|
+
...measureUnattendedProgress(batchJob),
|
|
1746
|
+
error: batch.error ?? batch.summary ?? 'batch failed',
|
|
1747
|
+
};
|
|
1748
|
+
}
|
|
1592
1749
|
const economy = costSince(startedAt);
|
|
1593
1750
|
const envelope = {
|
|
1594
1751
|
durationMs: Date.now() - startedAt,
|
|
@@ -1642,6 +1799,13 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
1642
1799
|
engine: 'pipeline',
|
|
1643
1800
|
trajectoryId: result.trajectoryId,
|
|
1644
1801
|
reviewId: result.reviewId,
|
|
1802
|
+
// R1 β the run's attribution, so a machine consumer reading the
|
|
1803
|
+
// NDJSON stream can tell WHICH backend produced this output without
|
|
1804
|
+
// joining against a trace. `transport` is deliberately absent for
|
|
1805
|
+
// this arm: a multi-agent pipeline resolves a model per agent, and
|
|
1806
|
+
// the wrapper does not track a single tool transport for the run.
|
|
1807
|
+
provider: pipeline.provider,
|
|
1808
|
+
model: pipeline.model,
|
|
1645
1809
|
ts: Date.now(),
|
|
1646
1810
|
}) + '\n');
|
|
1647
1811
|
}
|
|
@@ -1649,7 +1813,13 @@ export class ExecuteCommand extends BaseCommand {
|
|
|
1649
1813
|
console.log('');
|
|
1650
1814
|
printOrchestrationResult(result);
|
|
1651
1815
|
}
|
|
1652
|
-
return {
|
|
1816
|
+
return {
|
|
1817
|
+
success: result.success,
|
|
1818
|
+
orchestrationResult: result,
|
|
1819
|
+
content: result.summary,
|
|
1820
|
+
...(pipeline.provider ? { provider: pipeline.provider } : {}),
|
|
1821
|
+
...(pipeline.model ? { model: pipeline.model } : {}),
|
|
1822
|
+
};
|
|
1653
1823
|
}
|
|
1654
1824
|
catch (err) {
|
|
1655
1825
|
board.finish(false);
|