agency-lang 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/agentTarget.d.ts +16 -11
- package/dist/lib/agentTarget.js +59 -28
- package/dist/lib/agents/agency-agent/agent.agency +66 -180
- package/dist/lib/agents/agency-agent/agent.js +605 -659
- package/dist/lib/agents/agency-agent/brains/brain.agency +29 -0
- package/dist/lib/agents/agency-agent/brains/brain.js +199 -0
- package/dist/lib/agents/agency-agent/brains/coordinator/README.md +100 -0
- package/dist/lib/agents/agency-agent/brains/coordinator/coordinator.agency +124 -0
- package/dist/lib/agents/agency-agent/brains/coordinator/coordinator.js +1397 -0
- package/dist/lib/agents/agency-agent/{prompts → brains/coordinator/prompts}/code.md +8 -4
- package/dist/lib/agents/agency-agent/{prompts → brains/coordinator/prompts}/codeSample.js +21 -16
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/brainstorm.js +48 -48
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/code.agency +127 -24
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/code.js +770 -150
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/explorer.agency +1 -1
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/explorer.js +11 -11
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/oracle.agency +1 -1
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/oracle.js +11 -11
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/research.js +15 -15
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/review.js +34 -34
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/supervisor.agency +1 -1
- package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/supervisor.js +71 -71
- package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/agentTurn.agency +28 -17
- package/dist/lib/agents/agency-agent/brains/coordinator/tests/agentTurn.js +4852 -0
- package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/agentTurn.test.json +11 -1
- package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/attachmentsTurn.agency +19 -24
- package/dist/lib/agents/agency-agent/brains/coordinator/tests/attachmentsTurn.js +800 -0
- package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/attachmentsTurn.test.json +1 -48
- package/dist/lib/agents/agency-agent/brains/coordinator/tests/brainstorm.js +1269 -0
- package/dist/lib/agents/agency-agent/brains/coordinator/tests/supervisor.js +2797 -0
- package/dist/lib/agents/agency-agent/brains/coordinator/tests/toolWiring.js +1063 -0
- package/dist/lib/agents/agency-agent/brains/registry.agency +29 -0
- package/dist/lib/agents/agency-agent/brains/registry.js +632 -0
- package/dist/lib/agents/agency-agent/brains/simple/README.md +43 -0
- package/dist/lib/agents/agency-agent/brains/simple/simple.agency +43 -0
- package/dist/lib/agents/agency-agent/brains/simple/simple.js +621 -0
- package/dist/lib/agents/agency-agent/brains/simple/tests/simpleTurn.agency +17 -0
- package/dist/lib/agents/agency-agent/brains/simple/tests/simpleTurn.js +385 -0
- package/dist/lib/agents/agency-agent/brains/simple/tests/simpleTurn.test.json +13 -0
- package/dist/lib/agents/agency-agent/lib/agentName.agency +10 -0
- package/dist/lib/agents/agency-agent/{subagents/shell.js → lib/agentName.js} +74 -193
- package/dist/lib/agents/agency-agent/lib/args.agency +10 -2
- package/dist/lib/agents/agency-agent/lib/args.js +27 -5
- package/dist/lib/agents/agency-agent/lib/grounding.agency +38 -0
- package/dist/lib/agents/agency-agent/lib/grounding.js +566 -0
- package/dist/lib/agents/agency-agent/lib/header.agency +4 -1
- package/dist/lib/agents/agency-agent/lib/header.js +45 -6
- package/dist/lib/agents/agency-agent/lib/repl.agency +27 -127
- package/dist/lib/agents/agency-agent/lib/repl.js +74 -205
- package/dist/lib/agents/agency-agent/lib/session.agency +32 -0
- package/dist/lib/agents/agency-agent/lib/session.js +288 -2
- package/dist/lib/agents/agency-agent/lib/settings.agency +2 -1
- package/dist/lib/agents/agency-agent/lib/settings.js +2 -2
- package/dist/lib/agents/agency-agent/lib/turn.agency +199 -0
- package/dist/lib/agents/agency-agent/lib/{coordinator.js → turn.js} +933 -1084
- package/dist/lib/agents/agency-agent/tests/agentDir.js +2 -1
- package/dist/lib/agents/agency-agent/tests/agentName.agency +10 -0
- package/dist/lib/agents/agency-agent/tests/agentName.js +337 -0
- package/dist/lib/agents/agency-agent/tests/agentName.test.json +6 -0
- package/dist/lib/agents/agency-agent/tests/agentTurn.js +268 -733
- package/dist/lib/agents/agency-agent/tests/attachments.js +50 -25
- package/dist/lib/agents/agency-agent/tests/attachmentsTurn.js +56 -167
- package/dist/lib/agents/agency-agent/tests/brainstorm.js +100 -299
- package/dist/lib/agents/agency-agent/tests/capabilities.js +32 -16
- package/dist/lib/agents/agency-agent/tests/execPolicy.js +10 -5
- package/dist/lib/agents/agency-agent/tests/gitPolicy.js +6 -3
- package/dist/lib/agents/agency-agent/tests/imageTool.js +14 -7
- package/dist/lib/agents/agency-agent/tests/mcpGating.js +6 -3
- package/dist/lib/agents/agency-agent/tests/memoryWiring.js +14 -7
- package/dist/lib/agents/agency-agent/tests/modelFilters.js +10 -5
- package/dist/lib/agents/agency-agent/tests/models.js +38 -19
- package/dist/lib/agents/agency-agent/tests/oneShotRounds.js +8 -4
- package/dist/lib/agents/agency-agent/tests/readPolicy.agency +44 -0
- package/dist/lib/agents/agency-agent/tests/readPolicy.js +1034 -0
- package/dist/lib/agents/agency-agent/tests/readPolicy.test.json +22 -0
- package/dist/lib/agents/agency-agent/tests/registry.agency +26 -0
- package/dist/lib/agents/agency-agent/tests/registry.js +703 -0
- package/dist/lib/agents/agency-agent/tests/registry.test.json +9 -0
- package/dist/lib/agents/agency-agent/tests/resolution.js +22 -11
- package/dist/lib/agents/agency-agent/tests/search.js +28 -14
- package/dist/lib/agents/agency-agent/tests/settings.agency +16 -0
- package/dist/lib/agents/agency-agent/tests/settings.js +292 -13
- package/dist/lib/agents/agency-agent/tests/settings.test.json +20 -0
- package/dist/lib/agents/agency-agent/tests/slots.js +10 -5
- package/dist/lib/agents/agency-agent/tests/stubBrains.agency +143 -0
- package/dist/lib/agents/agency-agent/tests/stubBrains.js +2375 -0
- package/dist/lib/agents/agency-agent/tests/stubPolicy.json +4 -0
- package/dist/lib/agents/agency-agent/tests/supervisor.js +163 -508
- package/dist/lib/agents/agency-agent/tests/threadText.agency +29 -0
- package/dist/lib/agents/agency-agent/tests/threadText.js +561 -0
- package/dist/lib/agents/agency-agent/tests/toolWiring.js +59 -168
- package/dist/lib/agents/agency-agent/tests/turn.agency +194 -0
- package/dist/lib/agents/agency-agent/tests/turn.js +2817 -0
- package/dist/lib/agents/agency-agent/tests/turn.test.json +29 -0
- package/dist/lib/agents/agency-agent/tests/turnFailure.js +12 -6
- package/dist/lib/agents/eval/goalJudge.js +2 -1
- package/dist/lib/agents/eval/judge.js +2 -1
- package/dist/lib/agents/eval/judgePairwise.js +2 -1
- package/dist/lib/agents/optimize/gepaReflect.js +2 -1
- package/dist/lib/agents/optimize/mutatePrompt.js +2 -1
- package/dist/lib/agents/policy/agent.js +2 -1
- package/dist/lib/agents/review/agent.js +4 -2
- package/dist/lib/analysis/closure.d.ts +1 -0
- package/dist/lib/analysis/closure.js +2 -2
- package/dist/lib/analysis/effects.js +3 -9
- package/dist/lib/analysis/imports.d.ts +1 -1
- package/dist/lib/analysis/imports.js +3 -0
- package/dist/lib/backends/agencyGenerator.js +23 -62
- package/dist/lib/backends/typescriptBuilder/assignmentEmitter.js +1 -3
- package/dist/lib/backends/typescriptBuilder/destructiveTracking.js +2 -5
- package/dist/lib/backends/typescriptBuilder/finalizeCodegen.js +1 -3
- package/dist/lib/backends/typescriptBuilder/nameClassifier.js +25 -14
- package/dist/lib/backends/typescriptBuilder/namedArgsResolver.js +1 -3
- package/dist/lib/backends/typescriptBuilder/nodeWrapperParams.js +8 -2
- package/dist/lib/backends/typescriptBuilder/pipeChainEmitter.js +9 -6
- package/dist/lib/backends/typescriptBuilder/scopeManager.js +3 -3
- package/dist/lib/backends/typescriptBuilder/sectionAssembler.js +12 -19
- package/dist/lib/backends/typescriptBuilder.js +66 -129
- package/dist/lib/backends/typescriptGenerator/tagArgToTs.js +2 -6
- package/dist/lib/backends/typescriptGenerator/typeToString.js +2 -6
- package/dist/lib/backends/typescriptGenerator/typeToZodSchema.js +1 -1
- package/dist/lib/backends/typescriptGenerator/validationDescriptor.js +7 -16
- package/dist/lib/cli/childEnv.d.ts +12 -0
- package/dist/lib/cli/childEnv.js +24 -0
- package/dist/lib/cli/commands.d.ts +21 -1
- package/dist/lib/cli/commands.js +110 -30
- package/dist/lib/cli/coverage.js +2 -6
- package/dist/lib/cli/debug.js +4 -5
- package/dist/lib/cli/deploy/bundle.js +4 -1
- package/dist/lib/cli/diagnosticsDocs.js +1 -1
- package/dist/lib/cli/doc.js +7 -17
- package/dist/lib/cli/eval/formatGrade.d.ts +10 -0
- package/dist/lib/cli/eval/formatGrade.js +76 -0
- package/dist/lib/cli/eval/grade.d.ts +34 -5
- package/dist/lib/cli/eval/grade.js +57 -17
- package/dist/lib/cli/eval/graders.d.ts +5 -0
- package/dist/lib/cli/eval/graders.js +7 -0
- package/dist/lib/cli/eval/label.d.ts +25 -23
- package/dist/lib/cli/eval/label.js +37 -34
- package/dist/lib/cli/eval/labelCommand.d.ts +6 -37
- package/dist/lib/cli/eval/labelCommand.js +10 -81
- package/dist/lib/cli/eval/logs.d.ts +3 -3
- package/dist/lib/cli/eval/logs.js +12 -5
- package/dist/lib/cli/eval/ls.d.ts +16 -0
- package/dist/lib/cli/eval/ls.js +41 -0
- package/dist/lib/cli/eval/optimize.d.ts +3 -3
- package/dist/lib/cli/eval/optimize.js +27 -15
- package/dist/lib/cli/eval/run.d.ts +46 -25
- package/dist/lib/cli/eval/run.js +58 -81
- package/dist/lib/cli/eval/upload.d.ts +70 -0
- package/dist/lib/cli/eval/upload.js +182 -0
- package/dist/lib/cli/evalJudge.d.ts +1 -1
- package/dist/lib/cli/evalJudge.js +11 -5
- package/dist/lib/cli/explain.js +1 -1
- package/dist/lib/cli/local.d.ts +1 -1
- package/dist/lib/cli/local.js +2 -1
- package/dist/lib/cli/logsView.d.ts +7 -4
- package/dist/lib/cli/logsView.js +28 -8
- package/dist/lib/cli/precompile.js +31 -8
- package/dist/lib/cli/remote/commands/deploy.js +20 -3
- package/dist/lib/cli/remote/commands/ls.d.ts +4 -0
- package/dist/lib/cli/remote/commands/ls.js +24 -1
- package/dist/lib/cli/remote/commands/spendWindow.js +4 -5
- package/dist/lib/cli/remote/exportedEndpoints.d.ts +8 -0
- package/dist/lib/cli/remote/exportedEndpoints.js +34 -4
- package/dist/lib/cli/remote/pullPlan.js +3 -1
- package/dist/lib/cli/remote/render.d.ts +4 -1
- package/dist/lib/cli/remote/render.js +39 -6
- package/dist/lib/cli/remote/secretsInput.js +2 -7
- package/dist/lib/cli/runAgencyAgent.js +2 -2
- package/dist/lib/cli/runBundledAgent.d.ts +4 -0
- package/dist/lib/cli/runBundledAgent.js +35 -13
- package/dist/lib/cli/runDirectory/add.d.ts +15 -0
- package/dist/lib/cli/runDirectory/add.js +18 -0
- package/dist/lib/cli/runDirectory/commands.d.ts +15 -0
- package/dist/lib/cli/runDirectory/commands.js +71 -0
- package/dist/lib/cli/runDirectory/extract.d.ts +26 -0
- package/dist/lib/cli/runDirectory/extract.js +51 -0
- package/dist/lib/cli/runDirectory/list.d.ts +13 -0
- package/dist/lib/cli/runDirectory/list.js +91 -0
- package/dist/lib/cli/runDirectory/table.d.ts +6 -0
- package/dist/lib/cli/runDirectory/table.js +18 -0
- package/dist/lib/cli/runDirectory/traceListing.d.ts +3 -0
- package/dist/lib/cli/runDirectory/traceListing.js +21 -0
- package/dist/lib/cli/runPolicy.js +1 -1
- package/dist/lib/cli/schedule/backends/github.js +1 -3
- package/dist/lib/cli/schedule/backends/launchd.js +4 -3
- package/dist/lib/cli/schedule/backends/pinnedActions.js +2 -2
- package/dist/lib/cli/schedule/index.js +1 -3
- package/dist/lib/cli/schedule/remote.js +2 -3
- package/dist/lib/cli/serve.js +8 -11
- package/dist/lib/cli/stageConfiguredAgent.js +4 -1
- package/dist/lib/cli/statelog/accountClient.js +7 -1
- package/dist/lib/cli/statelog/evalUploadClient.d.ts +46 -0
- package/dist/lib/cli/statelog/evalUploadClient.js +94 -0
- package/dist/lib/cli/statelog/projectClient.d.ts +15 -0
- package/dist/lib/cli/statelog/projectClient.js +19 -1
- package/dist/lib/cli/statelog/redact.js +1 -3
- package/dist/lib/cli/statelog/secretsClient.js +3 -1
- package/dist/lib/cli/statelog/spendTypes.js +1 -3
- package/dist/lib/cli/test.d.ts +46 -13
- package/dist/lib/cli/test.js +245 -223
- package/dist/lib/cli/testOutput.d.ts +17 -0
- package/dist/lib/cli/testOutput.js +18 -0
- package/dist/lib/cli/testReport.d.ts +99 -0
- package/dist/lib/cli/testReport.js +88 -0
- package/dist/lib/cli/util.d.ts +11 -6
- package/dist/lib/cli/util.js +20 -31
- package/dist/lib/cli/watch.js +3 -1
- package/dist/lib/compilationUnit.js +3 -4
- package/dist/lib/compiler/buildSession.js +23 -16
- package/dist/lib/compiler/closureValidator.d.ts +44 -0
- package/dist/lib/compiler/closureValidator.js +238 -0
- package/dist/lib/compiler/compile.d.ts +9 -0
- package/dist/lib/compiler/compile.js +3 -5
- package/dist/lib/compiler/compileClosure.js +1 -3
- package/dist/lib/compiler/compileSandboxed.d.ts +20 -0
- package/dist/lib/compiler/compileSandboxed.js +39 -0
- package/dist/lib/compiler/compileValidatedClosure.d.ts +3 -0
- package/dist/lib/compiler/compileValidatedClosure.js +84 -0
- package/dist/lib/compiler/defaultSession.js +1 -1
- package/dist/lib/compiler/depFingerprint.js +11 -2
- package/dist/lib/compiler/initDepGraph.js +4 -6
- package/dist/lib/compiler/splice/generatorEffects.js +3 -8
- package/dist/lib/compiler/splice/runGenerator.js +5 -5
- package/dist/lib/config.d.ts +63 -11
- package/dist/lib/config.js +54 -14
- package/dist/lib/constants.js +1 -3
- package/dist/lib/debugger/driver.js +8 -16
- package/dist/lib/debugger/overlays.js +2 -4
- package/dist/lib/debugger/testHelpers.js +12 -5
- package/dist/lib/debugger/testSession.js +1 -3
- package/dist/lib/debugger/ui.js +48 -26
- package/dist/lib/eval/batchStatistics.d.ts +40 -0
- package/dist/lib/eval/batchStatistics.js +124 -0
- package/dist/lib/eval/extract.js +4 -5
- package/dist/lib/eval/grading/agencyRunner.js +10 -1
- package/dist/lib/eval/grading/agencyTestGrader.d.ts +31 -0
- package/dist/lib/eval/grading/agencyTestGrader.js +148 -0
- package/dist/lib/eval/grading/baseGrader.d.ts +22 -3
- package/dist/lib/eval/grading/baseGrader.js +25 -1
- package/dist/lib/eval/grading/functionGrader.d.ts +13 -13
- package/dist/lib/eval/grading/functionGrader.js +9 -8
- package/dist/lib/eval/grading/goalJudgeFile.d.ts +10 -0
- package/dist/lib/eval/grading/goalJudgeFile.js +11 -0
- package/dist/lib/eval/grading/gradeBreakdown.d.ts +4 -0
- package/dist/lib/eval/grading/gradeBreakdown.js +14 -8
- package/dist/lib/eval/grading/gradeRun.d.ts +23 -20
- package/dist/lib/eval/grading/gradeRun.js +191 -132
- package/dist/lib/eval/grading/gradeSuite.d.ts +27 -5
- package/dist/lib/eval/grading/gradeSuite.js +68 -11
- package/dist/lib/eval/grading/graders/builtinGraders.d.ts +5 -5
- package/dist/lib/eval/grading/graders/builtinGraders.js +14 -11
- package/dist/lib/eval/grading/graders/humanGrader.js +10 -3
- package/dist/lib/eval/grading/graders/llmJudge.d.ts +14 -1
- package/dist/lib/eval/grading/graders/llmJudge.js +35 -7
- package/dist/lib/eval/grading/gradingModule.d.ts +41 -4
- package/dist/lib/eval/grading/gradingModule.js +115 -20
- package/dist/lib/eval/grading/harnessSnapshot.d.ts +12 -0
- package/dist/lib/eval/grading/harnessSnapshot.js +35 -0
- package/dist/lib/eval/grading/scorecard.d.ts +6 -2
- package/dist/lib/eval/grading/scorecard.js +1 -1
- package/dist/lib/eval/grading/testUtils.js +1 -1
- package/dist/lib/eval/grading/types.d.ts +7 -9
- package/dist/lib/eval/judge/pairwise.d.ts +11 -3
- package/dist/lib/eval/judge/pairwise.js +28 -26
- package/dist/lib/eval/judge/suite.d.ts +2 -2
- package/dist/lib/eval/judge/suite.js +56 -23
- package/dist/lib/eval/label/checklist.d.ts +6 -6
- package/dist/lib/eval/label/checklist.js +42 -33
- package/dist/lib/eval/label/controller.d.ts +7 -3
- package/dist/lib/eval/label/controller.js +257 -121
- package/dist/lib/eval/label/draft.d.ts +35 -29
- package/dist/lib/eval/label/draft.js +44 -30
- package/dist/lib/eval/label/group.d.ts +34 -0
- package/dist/lib/eval/label/group.js +72 -0
- package/dist/lib/eval/label/ids.d.ts +3 -23
- package/dist/lib/eval/label/ids.js +4 -34
- package/dist/lib/eval/label/judgement.d.ts +25 -0
- package/dist/lib/eval/label/judgement.js +30 -0
- package/dist/lib/eval/label/labelTui.d.ts +4 -14
- package/dist/lib/eval/label/labelTui.js +43 -38
- package/dist/lib/eval/label/session.d.ts +23 -14
- package/dist/lib/eval/label/session.js +66 -49
- package/dist/lib/eval/label/types.d.ts +18 -126
- package/dist/lib/eval/label/types.js +37 -130
- package/dist/lib/eval/loadInputs.d.ts +12 -9
- package/dist/lib/eval/loadInputs.js +102 -27
- package/dist/lib/eval/normalize.js +1 -3
- package/dist/lib/eval/public.d.ts +10 -1
- package/dist/lib/eval/public.js +11 -0
- package/dist/lib/eval/run/commandLine.d.ts +13 -7
- package/dist/lib/eval/run/commandLine.js +23 -12
- package/dist/lib/eval/run/extract.d.ts +6 -18
- package/dist/lib/eval/run/extract.js +6 -16
- package/dist/lib/eval/run/runAgent.d.ts +26 -26
- package/dist/lib/eval/run/runAgent.js +49 -52
- package/dist/lib/eval/run/runSuite.d.ts +23 -19
- package/dist/lib/eval/run/runSuite.js +392 -147
- package/dist/lib/eval/run/seed.js +22 -10
- package/dist/lib/eval/run/spawnRunner.js +1 -3
- package/dist/lib/eval/run/subprocess.d.ts +8 -1
- package/dist/lib/eval/run/subprocess.js +11 -4
- package/dist/lib/eval/runDirectoryFixture.d.ts +40 -0
- package/dist/lib/eval/runDirectoryFixture.js +86 -0
- package/dist/lib/eval/runTypes.d.ts +50 -49
- package/dist/lib/eval/selectTests.d.ts +22 -0
- package/dist/lib/eval/selectTests.js +28 -0
- package/dist/lib/eval/sources.js +11 -4
- package/dist/lib/eval/statelogParser.js +11 -2
- package/dist/lib/importPaths.d.ts +1 -0
- package/dist/lib/importPaths.js +4 -9
- package/dist/lib/importStrategy.js +2 -1
- package/dist/lib/ir/builders.js +16 -10
- package/dist/lib/ir/prettyPrint.js +6 -15
- package/dist/lib/linter/rules/importFixes.js +1 -2
- package/dist/lib/linter/rules/redundantPreludeImport.js +1 -3
- package/dist/lib/logsViewer/conversation.js +19 -9
- package/dist/lib/logsViewer/help.js +2 -1
- package/dist/lib/logsViewer/run.d.ts +5 -0
- package/dist/lib/logsViewer/run.js +94 -20
- package/dist/lib/logsViewer/search.js +1 -1
- package/dist/lib/logsViewer/spanText.js +2 -4
- package/dist/lib/logsViewer/summary.js +4 -13
- package/dist/lib/logsViewer/timeline/groups.js +1 -2
- package/dist/lib/logsViewer/tree.js +1 -3
- package/dist/lib/logsViewer/treeRows.d.ts +2 -0
- package/dist/lib/logsViewer/treeRows.js +8 -8
- package/dist/lib/logsViewer/views/byNameView.js +4 -3
- package/dist/lib/logsViewer/views/detailScreen.js +3 -1
- package/dist/lib/logsViewer/views/flameView.js +14 -7
- package/dist/lib/logsViewer/views/occurrencesView.js +5 -6
- package/dist/lib/logsViewer/views/shared.js +2 -5
- package/dist/lib/logsViewer/views/treeReducer.js +1 -2
- package/dist/lib/logsViewer/views/treeView.d.ts +14 -1
- package/dist/lib/logsViewer/views/treeView.js +56 -18
- package/dist/lib/logsViewer/views/view.d.ts +9 -0
- package/dist/lib/lowering/comprehensionDesugar.js +3 -9
- package/dist/lib/lowering/patternLowering.js +20 -24
- package/dist/lib/lsp/builtinHover.js +4 -16
- package/dist/lib/lsp/completion.js +11 -8
- package/dist/lib/lsp/diagnostics.js +19 -3
- package/dist/lib/lsp/hover.js +1 -3
- package/dist/lib/lsp/semanticTokens.js +1 -2
- package/dist/lib/lsp/semantics.js +2 -6
- package/dist/lib/lsp/server.js +2 -6
- package/dist/lib/lsp/setup.d.ts +1 -1
- package/dist/lib/lsp/setup.js +1 -6
- package/dist/lib/lsp/workspaceSymbol.js +12 -5
- package/dist/lib/mcp/setup.js +1 -4
- package/dist/lib/mcp/tools.js +2 -5
- package/dist/lib/optimize/baseOptimizer.d.ts +6 -6
- package/dist/lib/optimize/baseOptimizer.js +16 -16
- package/dist/lib/optimize/candidatePool.js +4 -1
- package/dist/lib/optimize/mutator.d.ts +2 -2
- package/dist/lib/optimize/mutator.js +10 -2
- package/dist/lib/optimize/optimizer.d.ts +3 -3
- package/dist/lib/optimize/optimizers/example.d.ts +2 -2
- package/dist/lib/optimize/optimizers/example.js +12 -5
- package/dist/lib/optimize/optimizers/gepa.d.ts +3 -3
- package/dist/lib/optimize/optimizers/gepa.js +50 -14
- package/dist/lib/optimize/optimizers/greedyReflective.d.ts +2 -2
- package/dist/lib/optimize/optimizers/greedyReflective.js +33 -10
- package/dist/lib/optimize/public.d.ts +3 -3
- package/dist/lib/optimize/reflectionFeedback.js +17 -4
- package/dist/lib/optimize/report.js +9 -1
- package/dist/lib/optimize/reporter.js +1 -1
- package/dist/lib/optimize/sourceMutator.js +70 -18
- package/dist/lib/optimize/targets.js +8 -5
- package/dist/lib/optimize/testUtils.d.ts +7 -7
- package/dist/lib/optimize/testUtils.js +8 -46
- package/dist/lib/optimize/validationSplit.d.ts +4 -4
- package/dist/lib/parsers/parsers.js +132 -77
- package/dist/lib/preprocessors/expandSplices.d.ts +9 -0
- package/dist/lib/preprocessors/expandSplices.js +2 -3
- package/dist/lib/preprocessors/hoistCalls.js +1 -3
- package/dist/lib/preprocessors/importResolver.js +4 -7
- package/dist/lib/preprocessors/injectSchemaArgs.js +1 -2
- package/dist/lib/preprocessors/liftCallbacks.js +6 -8
- package/dist/lib/preprocessors/parallelDesugar.js +1 -2
- package/dist/lib/preprocessors/resolveReExports.js +1 -2
- package/dist/lib/preprocessors/typescriptPreprocessor.js +48 -33
- package/dist/lib/runDirectory/annotations.d.ts +285 -0
- package/dist/lib/runDirectory/annotations.js +211 -0
- package/dist/lib/runDirectory/attachCode.d.ts +23 -0
- package/dist/lib/runDirectory/attachCode.js +79 -0
- package/dist/lib/runDirectory/attachWorkdir.d.ts +32 -0
- package/dist/lib/runDirectory/attachWorkdir.js +69 -0
- package/dist/lib/runDirectory/codeIdentity.d.ts +24 -0
- package/dist/lib/runDirectory/codeIdentity.js +37 -0
- package/dist/lib/runDirectory/durableWrite.d.ts +40 -0
- package/dist/lib/runDirectory/durableWrite.js +91 -0
- package/dist/lib/runDirectory/evalRecord.d.ts +15 -0
- package/dist/lib/runDirectory/evalRecord.js +21 -0
- package/dist/lib/runDirectory/extractTrace.d.ts +22 -0
- package/dist/lib/runDirectory/extractTrace.js +47 -0
- package/dist/lib/runDirectory/findRuns.d.ts +17 -0
- package/dist/lib/runDirectory/findRuns.js +86 -0
- package/dist/lib/runDirectory/humanFeedback.d.ts +17 -0
- package/dist/lib/runDirectory/humanFeedback.js +40 -0
- package/dist/lib/runDirectory/labelStore.d.ts +72 -0
- package/dist/lib/runDirectory/labelStore.js +238 -0
- package/dist/lib/runDirectory/list.d.ts +102 -0
- package/dist/lib/runDirectory/list.js +207 -0
- package/dist/lib/runDirectory/lock.d.ts +40 -0
- package/dist/lib/{eval/label → runDirectory}/lock.js +31 -17
- package/dist/lib/runDirectory/mergeStatelog.d.ts +26 -0
- package/dist/lib/runDirectory/mergeStatelog.js +48 -0
- package/dist/lib/runDirectory/mutations.d.ts +124 -0
- package/dist/lib/runDirectory/mutations.js +427 -0
- package/dist/lib/runDirectory/runDir.d.ts +46 -0
- package/dist/lib/runDirectory/runDir.js +92 -0
- package/dist/lib/runDirectory/testFixtures.d.ts +17 -0
- package/dist/lib/runDirectory/testFixtures.js +61 -0
- package/dist/lib/runDirectory/traceText.d.ts +29 -0
- package/dist/lib/runDirectory/traceText.js +34 -0
- package/dist/lib/runDirectory/traces.d.ts +49 -0
- package/dist/lib/runDirectory/traces.js +87 -0
- package/dist/lib/runsExplorer/loader.d.ts +4 -10
- package/dist/lib/runsExplorer/loader.js +32 -197
- package/dist/lib/runsExplorer/mine.d.ts +1 -23
- package/dist/lib/runsExplorer/mine.js +3 -31
- package/dist/lib/runsExplorer/rows.d.ts +17 -26
- package/dist/lib/runsExplorer/rows.js +68 -105
- package/dist/lib/runsExplorer/run.d.ts +0 -2
- package/dist/lib/runsExplorer/run.js +6 -5
- package/dist/lib/runsExplorer/sources.d.ts +5 -4
- package/dist/lib/runsExplorer/sources.js +9 -10
- package/dist/lib/runsExplorer/suite.d.ts +3 -6
- package/dist/lib/runsExplorer/suite.js +18 -29
- package/dist/lib/runsExplorer/testFixtures.d.ts +4 -43
- package/dist/lib/runsExplorer/testFixtures.js +37 -129
- package/dist/lib/runsExplorer/views/compareView.js +10 -7
- package/dist/lib/runsExplorer/views/explorerView.d.ts +1 -0
- package/dist/lib/runsExplorer/views/runsTableView.js +57 -23
- package/dist/lib/runsExplorer/views/tableState.js +4 -5
- package/dist/lib/runsExplorer/views/testsTableView.js +26 -7
- package/dist/lib/runsExplorer/views/trendView.js +16 -5
- package/dist/lib/runtime/abortedResult.js +2 -4
- package/dist/lib/runtime/agency.js +4 -6
- package/dist/lib/runtime/agencyFunction.js +15 -16
- package/dist/lib/runtime/asyncContext.js +1 -3
- package/dist/lib/runtime/builtinPolicies.d.ts +2 -1
- package/dist/lib/runtime/builtinPolicies.js +25 -6
- package/dist/lib/runtime/call.js +3 -8
- package/dist/lib/runtime/callDepth.js +1 -1
- package/dist/lib/runtime/cliInterruptResolution.js +1 -1
- package/dist/lib/runtime/configOverrides.js +1 -4
- package/dist/lib/runtime/debugger.js +1 -3
- package/dist/lib/runtime/deterministicClient.js +6 -7
- package/dist/lib/runtime/guard.js +1 -3
- package/dist/lib/runtime/guardTripInterrupt.js +2 -4
- package/dist/lib/runtime/index.d.ts +4 -4
- package/dist/lib/runtime/index.js +3 -3
- package/dist/lib/runtime/interruptPrompts.js +2 -9
- package/dist/lib/runtime/interrupts.js +30 -10
- package/dist/lib/runtime/invocationOptions.d.ts +10 -5
- package/dist/lib/runtime/invocationOptions.js +12 -5
- package/dist/lib/runtime/invocationUsage.js +59 -12
- package/dist/lib/runtime/ipc.d.ts +6 -4
- package/dist/lib/runtime/ipc.js +80 -23
- package/dist/lib/runtime/llmClient.js +53 -7
- package/dist/lib/runtime/llmDispatch.d.ts +74 -0
- package/dist/lib/runtime/llmDispatch.js +179 -0
- package/dist/lib/runtime/llmRetry.js +12 -2
- package/dist/lib/runtime/memory/embeddings.js +1 -1
- package/dist/lib/runtime/memory/extraction.js +1 -2
- package/dist/lib/runtime/memory/index.d.ts +1 -1
- package/dist/lib/runtime/memory/manager.js +8 -20
- package/dist/lib/runtime/memory/retrieval.js +31 -4
- package/dist/lib/runtime/memory/store.js +2 -5
- package/dist/lib/runtime/node.d.ts +1 -0
- package/dist/lib/runtime/node.js +13 -7
- package/dist/lib/runtime/policy.d.ts +7 -0
- package/dist/lib/runtime/policy.js +69 -1
- package/dist/lib/runtime/prompt.d.ts +2 -37
- package/dist/lib/runtime/prompt.js +169 -316
- package/dist/lib/runtime/providerModules.js +4 -1
- package/dist/lib/runtime/replyAttachments.js +2 -2
- package/dist/lib/runtime/result.js +13 -5
- package/dist/lib/runtime/revivers/functionRefReviver.js +6 -8
- package/dist/lib/runtime/revivers/taggedReviver.js +1 -1
- package/dist/lib/runtime/runBatch.js +3 -9
- package/dist/lib/runtime/runner.js +9 -26
- package/dist/lib/runtime/simpleOpenAIClient.js +1 -1
- package/dist/lib/runtime/state/checkpointStore.js +7 -3
- package/dist/lib/runtime/state/context.js +10 -5
- package/dist/lib/runtime/state/globalStore.js +3 -5
- package/dist/lib/runtime/state/messageThread.js +2 -6
- package/dist/lib/runtime/state/pendingPromiseStore.js +1 -2
- package/dist/lib/runtime/state/stateStack.js +7 -18
- package/dist/lib/runtime/state/tagSymbol.js +1 -2
- package/dist/lib/runtime/state/threadStore.js +2 -4
- package/dist/lib/runtime/streaming.js +1 -1
- package/dist/lib/runtime/subprocess-bootstrap.js +10 -6
- package/dist/lib/runtime/template/explainMismatch.js +1 -1
- package/dist/lib/runtime/template/fill.js +2 -2
- package/dist/lib/runtime/template/synthesizeType.js +2 -4
- package/dist/lib/runtime/threadRepair.js +1 -3
- package/dist/lib/runtime/toolLoopGuards.d.ts +38 -0
- package/dist/lib/runtime/toolLoopGuards.js +100 -0
- package/dist/lib/runtime/trace/contentAddressableStore.js +1 -5
- package/dist/lib/runtime/trace/eventLog.js +5 -11
- package/dist/lib/runtime/trace/traceWriter.js +4 -1
- package/dist/lib/runtime/turnBoundary.js +2 -3
- package/dist/lib/serve/discovery.js +2 -4
- package/dist/lib/serve/http/adapter.js +3 -1
- package/dist/lib/serve/mcp/adapter.js +39 -9
- package/dist/lib/serve/testOutcome.js +16 -2
- package/dist/lib/statelog/agentName.d.ts +14 -0
- package/dist/lib/statelog/agentName.js +34 -0
- package/dist/lib/statelog/parse.d.ts +16 -0
- package/dist/lib/statelog/parse.js +21 -9
- package/dist/lib/statelog/wireAccessors.js +1 -3
- package/dist/lib/statelogClient.d.ts +12 -4
- package/dist/lib/statelogClient.js +12 -7
- package/dist/lib/stdlib/abortable.js +12 -4
- package/dist/lib/stdlib/agency.d.ts +31 -5
- package/dist/lib/stdlib/agency.js +80 -19
- package/dist/lib/stdlib/agencyEval.d.ts +3 -4
- package/dist/lib/stdlib/agencyEval.js +3 -4
- package/dist/lib/stdlib/args.js +13 -26
- package/dist/lib/stdlib/assertContained.d.ts +8 -0
- package/dist/lib/stdlib/assertContained.js +1 -1
- package/dist/lib/stdlib/aws/client.js +1 -3
- package/dist/lib/stdlib/aws/s3.js +1 -3
- package/dist/lib/stdlib/aws/sigv4.js +2 -3
- package/dist/lib/stdlib/builtins.d.ts +1 -1
- package/dist/lib/stdlib/builtins.js +28 -11
- package/dist/lib/stdlib/calendar.js +7 -7
- package/dist/lib/stdlib/cli.js +45 -68
- package/dist/lib/stdlib/clipboard.js +2 -4
- package/dist/lib/stdlib/date.js +1 -3
- package/dist/lib/stdlib/email.js +6 -8
- package/dist/lib/stdlib/fs.d.ts +2 -0
- package/dist/lib/stdlib/fs.js +4 -6
- package/dist/lib/stdlib/gitCore.js +5 -5
- package/dist/lib/stdlib/http.js +2 -3
- package/dist/lib/stdlib/image.js +1 -3
- package/dist/lib/stdlib/keyring.js +18 -28
- package/dist/lib/stdlib/layout/ansi.js +4 -1
- package/dist/lib/stdlib/layout/axis.js +6 -2
- package/dist/lib/stdlib/layout/barchart.js +16 -6
- package/dist/lib/stdlib/layout/block.js +16 -12
- package/dist/lib/stdlib/layout/border.js +45 -11
- package/dist/lib/stdlib/layout/render.js +10 -2
- package/dist/lib/stdlib/layout/table.js +22 -18
- package/dist/lib/stdlib/layout.js +26 -7
- package/dist/lib/stdlib/llm.d.ts +2 -0
- package/dist/lib/stdlib/llm.js +4 -1
- package/dist/lib/stdlib/localModels.d.ts +14 -4
- package/dist/lib/stdlib/localModels.js +222 -74
- package/dist/lib/stdlib/markdown.js +24 -50
- package/dist/lib/stdlib/mcp.js +4 -1
- package/dist/lib/stdlib/oauth.js +11 -9
- package/dist/lib/stdlib/policy.d.ts +1 -1
- package/dist/lib/stdlib/policy.js +1 -1
- package/dist/lib/stdlib/prepareContainedPath.d.ts +21 -0
- package/dist/lib/stdlib/prepareContainedPath.js +105 -0
- package/dist/lib/stdlib/shell.js +4 -13
- package/dist/lib/stdlib/sms.js +2 -2
- package/dist/lib/stdlib/speech.js +1 -2
- package/dist/lib/stdlib/statelog.d.ts +2 -0
- package/dist/lib/stdlib/statelog.js +11 -8
- package/dist/lib/stdlib/syntax-themes.js +43 -7
- package/dist/lib/stdlib/syntax.js +2 -3
- package/dist/lib/stdlib/thread.js +9 -19
- package/dist/lib/stdlib/threads.js +4 -4
- package/dist/lib/stdlib/ui.js +1 -1
- package/dist/lib/stdlib/validators.js +7 -21
- package/dist/lib/symbolTable.js +4 -8
- package/dist/lib/testFormat/schema.d.ts +123 -0
- package/dist/lib/testFormat/schema.js +319 -0
- package/dist/lib/testFormat/verdict.d.ts +24 -0
- package/dist/lib/testFormat/verdict.js +56 -0
- package/dist/lib/tui/colors.js +57 -15
- package/dist/lib/tui/layout.js +1 -1
- package/dist/lib/tui/output/terminal.js +8 -2
- package/dist/lib/tui/render/ansi.js +2 -10
- package/dist/lib/tui/render/plaintext.js +4 -1
- package/dist/lib/tui/render/renderer.js +5 -8
- package/dist/lib/tui/screen.js +4 -1
- package/dist/lib/tui/scrollList.js +1 -3
- package/dist/lib/tui/styleParser.js +44 -10
- package/dist/lib/tui/table.js +3 -1
- package/dist/lib/typeChecker/assignability.js +15 -30
- package/dist/lib/typeChecker/builtins.js +4 -0
- package/dist/lib/typeChecker/checker.js +2 -6
- package/dist/lib/typeChecker/conflictingMarkers.js +1 -3
- package/dist/lib/typeChecker/flow.js +1 -2
- package/dist/lib/typeChecker/flowBuilder.js +9 -9
- package/dist/lib/typeChecker/handlerParamTyping.js +1 -3
- package/dist/lib/typeChecker/inference.js +2 -5
- package/dist/lib/typeChecker/matchExhaustiveness.js +1 -3
- package/dist/lib/typeChecker/missingImportDiagnostic.js +6 -1
- package/dist/lib/typeChecker/narrowing.js +2 -4
- package/dist/lib/typeChecker/paramDefaultOrder.js +1 -3
- package/dist/lib/typeChecker/primitiveMembers.js +183 -70
- package/dist/lib/typeChecker/recordLike.js +1 -3
- package/dist/lib/typeChecker/resolveCall.js +1 -1
- package/dist/lib/typeChecker/scopes.js +4 -13
- package/dist/lib/typeChecker/suppression.js +1 -3
- package/dist/lib/typeChecker/synthesizer.js +29 -40
- package/dist/lib/typeChecker/templateNames.js +1 -3
- package/dist/lib/typeChecker/toolBlockBinding.js +1 -3
- package/dist/lib/typeChecker/typeCases.js +7 -1
- package/dist/lib/typeChecker/typeKey.js +1 -1
- package/dist/lib/typeChecker/typeWalker.js +1 -1
- package/dist/lib/typeChecker/types.d.ts +1 -1
- package/dist/lib/typeChecker/undefinedFunctionDiagnostic.js +5 -3
- package/dist/lib/typeChecker/undefinedVariableDiagnostic.js +1 -1
- package/dist/lib/typeChecker/utils.js +1 -1
- package/dist/lib/typeChecker/validateStaticInit.js +1 -1
- package/dist/lib/typeChecker/valueParamSubstitution.js +4 -7
- package/dist/lib/types/access.d.ts +2 -2
- package/dist/lib/types/binop.js +5 -5
- package/dist/lib/types/hole.js +1 -3
- package/dist/lib/types/importStatement.js +1 -1
- package/dist/lib/utils/docStringText.js +1 -3
- package/dist/lib/utils/envfile.js +1 -4
- package/dist/lib/utils/expressionSlots.js +5 -7
- package/dist/lib/utils/findRecursively.js +1 -2
- package/dist/lib/utils/formatType.js +1 -2
- package/dist/lib/utils/node.js +18 -16
- package/dist/lib/utils/ownProperty.d.ts +10 -0
- package/dist/lib/utils/ownProperty.js +12 -0
- package/dist/lib/utils/readContainedFile.d.ts +6 -0
- package/dist/lib/utils/readContainedFile.js +49 -0
- package/dist/lib/utils/termcolors.js +4 -14
- package/dist/lib/utils.d.ts +14 -0
- package/dist/lib/utils.js +63 -0
- package/dist/scripts/agency.js +225 -158
- package/package.json +6 -3
- package/stdlib/agency.agency +476 -69
- package/stdlib/agency.js +5185 -1349
- package/stdlib/agents/agency/coding.agency +73 -33
- package/stdlib/agents/agency/coding.js +119 -65
- package/stdlib/agents/coding.agency +2 -2
- package/stdlib/agents/coding.js +2 -2
- package/stdlib/agents/lib/toolkits.agency +14 -8
- package/stdlib/agents/lib/toolkits.js +18 -20
- package/stdlib/agents/verifier.agency +5 -1
- package/stdlib/agents/verifier.js +26 -7
- package/stdlib/docs/cli/eval.md +136 -273
- package/stdlib/docs/cli/local.md +2 -1
- package/stdlib/docs/cli/logs.md +32 -0
- package/stdlib/docs/guide/eval-basics.md +128 -0
- package/stdlib/docs/guide/graders.md +81 -0
- package/stdlib/docs/guide/observability.md +4 -2
- package/stdlib/docs/guide/suites.md +99 -0
- package/stdlib/docs/guide/testing.md +2 -2
- package/stdlib/docs/stdlib/agency.md +268 -50
- package/stdlib/docs/stdlib/agents/agency/coding.md +14 -7
- package/stdlib/docs/stdlib/agents/lib/toolkits.md +22 -17
- package/stdlib/docs/stdlib/agents/verifier.md +3 -1
- package/stdlib/docs/stdlib/fs.md +8 -6
- package/stdlib/docs/stdlib/index.md +45 -37
- package/stdlib/docs/stdlib/llm.md +11 -10
- package/stdlib/docs/stdlib/policy.md +15 -12
- package/stdlib/docs/stdlib/safeBash/actions.md +65 -11
- package/stdlib/docs/stdlib/safeBash.md +26 -26
- package/stdlib/docs/stdlib/statelog.md +16 -10
- package/stdlib/fs.agency +14 -7
- package/stdlib/fs.js +60 -13
- package/stdlib/index.agency +41 -16
- package/stdlib/index.js +216 -35
- package/stdlib/llm.agency +1 -0
- package/stdlib/llm.js +2 -2
- package/stdlib/policy.agency +18 -0
- package/stdlib/policy.js +50 -18
- package/stdlib/safeBash/actions.agency +26 -1
- package/stdlib/safeBash/actions.js +248 -3
- package/stdlib/safeBash.agency +133 -52
- package/stdlib/safeBash.js +3645 -1918
- package/stdlib/statelog.agency +9 -3
- package/stdlib/statelog.js +5 -1
- package/dist/lib/agents/agency-agent/code.js +0 -532
- package/dist/lib/agents/agency-agent/lib/coordinator.agency +0 -373
- package/dist/lib/agents/agency-agent/research.js +0 -311
- package/dist/lib/agents/agency-agent/subagents/verify.js +0 -954
- package/dist/lib/agents/agency-agent/toolWiring.js +0 -696
- package/dist/lib/cli/eval/ingest.d.ts +0 -40
- package/dist/lib/cli/eval/ingest.js +0 -136
- package/dist/lib/cli/evalExtract.d.ts +0 -8
- package/dist/lib/cli/evalExtract.js +0 -39
- package/dist/lib/eval/grading/recordGrading.d.ts +0 -12
- package/dist/lib/eval/grading/recordGrading.js +0 -27
- package/dist/lib/eval/label/annotations.d.ts +0 -53
- package/dist/lib/eval/label/annotations.js +0 -92
- package/dist/lib/eval/label/corpus.d.ts +0 -18
- package/dist/lib/eval/label/corpus.js +0 -34
- package/dist/lib/eval/label/jsonl.d.ts +0 -93
- package/dist/lib/eval/label/jsonl.js +0 -202
- package/dist/lib/eval/label/load/discoverFiles.d.ts +0 -25
- package/dist/lib/eval/label/load/discoverFiles.js +0 -59
- package/dist/lib/eval/label/load/eligibility.d.ts +0 -17
- package/dist/lib/eval/label/load/eligibility.js +0 -46
- package/dist/lib/eval/label/load/files.d.ts +0 -18
- package/dist/lib/eval/label/load/files.js +0 -37
- package/dist/lib/eval/label/load/format.d.ts +0 -14
- package/dist/lib/eval/label/load/format.js +0 -42
- package/dist/lib/eval/label/load/index.d.ts +0 -38
- package/dist/lib/eval/label/load/index.js +0 -91
- package/dist/lib/eval/label/load/json.d.ts +0 -14
- package/dist/lib/eval/label/load/json.js +0 -49
- package/dist/lib/eval/label/load/run.d.ts +0 -41
- package/dist/lib/eval/label/load/run.js +0 -173
- package/dist/lib/eval/label/load/types.d.ts +0 -30
- package/dist/lib/eval/label/load/types.js +0 -11
- package/dist/lib/eval/label/lock.d.ts +0 -27
- package/dist/lib/eval/label/occurrences.d.ts +0 -17
- package/dist/lib/eval/label/occurrences.js +0 -33
- package/dist/lib/eval/label/project.d.ts +0 -14
- package/dist/lib/eval/label/project.js +0 -15
- package/dist/lib/eval/label/runFixture.d.ts +0 -24
- package/dist/lib/eval/label/runFixture.js +0 -57
- package/dist/lib/eval/label/store.d.ts +0 -77
- package/dist/lib/eval/label/store.js +0 -408
- package/dist/lib/eval/parseJsonl.d.ts +0 -20
- package/dist/lib/eval/parseJsonl.js +0 -57
- package/dist/lib/eval/readRun.d.ts +0 -13
- package/dist/lib/eval/readRun.js +0 -81
- package/dist/lib/eval/runArtifacts.d.ts +0 -84
- package/dist/lib/eval/runArtifacts.js +0 -198
- package/dist/lib/runsExplorer/readRunSummary.d.ts +0 -23
- package/dist/lib/runsExplorer/readRunSummary.js +0 -61
- /package/dist/lib/agents/agency-agent/{prompts → brains/coordinator/prompts}/codeSample.agency +0 -0
- /package/dist/lib/agents/agency-agent/{prompts → brains/coordinator/prompts}/design.md +0 -0
- /package/dist/lib/agents/agency-agent/{prompts → brains/coordinator/prompts}/main-large.md +0 -0
- /package/dist/lib/agents/agency-agent/{prompts → brains/coordinator/prompts}/main-small.md +0 -0
- /package/dist/lib/agents/agency-agent/{prompts → brains/coordinator/prompts}/oneShot.md +0 -0
- /package/dist/lib/agents/agency-agent/{prompts → brains/coordinator/prompts}/plan.md +0 -0
- /package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/brainstorm.agency +0 -0
- /package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/research.agency +0 -0
- /package/dist/lib/agents/agency-agent/{subagents → brains/coordinator/subagents}/review.agency +0 -0
- /package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/brainstorm.agency +0 -0
- /package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/brainstorm.test.json +0 -0
- /package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/supervisor.agency +0 -0
- /package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/supervisor.test.json +0 -0
- /package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/toolWiring.agency +0 -0
- /package/dist/lib/agents/agency-agent/{tests → brains/coordinator/tests}/toolWiring.test.json +0 -0
|
@@ -29,7 +29,7 @@ export type EvalTarget = {
|
|
|
29
29
|
label: string;
|
|
30
30
|
};
|
|
31
31
|
/** Resolve the runner-side agent choice. Exactly one of --agent /
|
|
32
|
-
* --agent-cmd; the command's {
|
|
32
|
+
* --agent-cmd; the command's {input} placeholder is validated here, before
|
|
33
33
|
* any run. Commands come ONLY from these flags, never from suite content —
|
|
34
34
|
* suites can be remote git sources, and a suite that named its own command
|
|
35
35
|
* would be remote code execution. */
|
|
@@ -38,15 +38,20 @@ export declare function resolveEvalTarget(opts: {
|
|
|
38
38
|
agentCmd?: string;
|
|
39
39
|
}): EvalTarget;
|
|
40
40
|
/**
|
|
41
|
-
* Fail fast when the
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
41
|
+
* Fail fast when the agent's shape does not match what the tests deliver.
|
|
42
|
+
* A test's input reaches a file agent as the entry node's single positional
|
|
43
|
+
* parameter and a command agent as `{input}`; a test with no input reaches a
|
|
44
|
+
* node that takes none / a command with no placeholder. Within one suite the
|
|
45
|
+
* tests must agree (all carry an input, or none does), so the agent has one
|
|
46
|
+
* shape to be. Checked before any workdir is seeded or agent compiled: a
|
|
47
|
+
* mis-shaped agent is a configuration error, not a per-test run failure —
|
|
48
|
+
* and the optimizer would pay it once per candidate. The subprocess
|
|
49
|
+
* bootstrap re-checks the file case at run time (resolveNodeCallArgs).
|
|
47
50
|
*
|
|
48
|
-
*
|
|
49
|
-
* elsewhere than the entry file, is left for compile/run to
|
|
50
|
-
* better errors than a pre-parse could.
|
|
51
|
+
* The file check is best-effort: an unreadable or unparseable file, or a
|
|
52
|
+
* node defined elsewhere than the entry file, is left for compile/run to
|
|
53
|
+
* report with better errors than a pre-parse could.
|
|
51
54
|
*/
|
|
52
|
-
export declare function
|
|
55
|
+
export declare function assertTargetMatchesInputs(target: EvalTarget, tests: {
|
|
56
|
+
input?: unknown;
|
|
57
|
+
}[]): void;
|
package/dist/lib/agentTarget.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import * as path from "path";
|
|
3
|
-
import {
|
|
3
|
+
import { MISSING_INPUT_PLACEHOLDER_ERROR, INPUT_PLACEHOLDER, OLD_TASK_PLACEHOLDER, OLD_TASK_PLACEHOLDER_ERROR, tokenizeCommand, } from "./eval/run/commandLine.js";
|
|
4
4
|
import { parseAgency } from "./parser.js";
|
|
5
5
|
/**
|
|
6
6
|
* How an agent target string is parsed and resolved. A target names an agent
|
|
@@ -28,56 +28,87 @@ export function resolveEvalRunTarget(target) {
|
|
|
28
28
|
return { agentFile, node, label: `${agentFile}:${node}` };
|
|
29
29
|
}
|
|
30
30
|
/** Resolve the runner-side agent choice. Exactly one of --agent /
|
|
31
|
-
* --agent-cmd; the command's {
|
|
31
|
+
* --agent-cmd; the command's {input} placeholder is validated here, before
|
|
32
32
|
* any run. Commands come ONLY from these flags, never from suite content —
|
|
33
33
|
* suites can be remote git sources, and a suite that named its own command
|
|
34
34
|
* would be remote code execution. */
|
|
35
35
|
export function resolveEvalTarget(opts) {
|
|
36
36
|
if ((opts.agent ? 1 : 0) + (opts.agentCmd ? 1 : 0) !== 1) {
|
|
37
|
-
throw new Error("Provide exactly one of
|
|
37
|
+
throw new Error("Provide exactly one of an agent file or --agent-cmd");
|
|
38
38
|
}
|
|
39
39
|
if (opts.agentCmd) {
|
|
40
|
-
|
|
41
|
-
if (!tokens.some((t) => t.includes(TASK_PLACEHOLDER))) {
|
|
42
|
-
throw new Error(MISSING_TASK_PLACEHOLDER_ERROR);
|
|
43
|
-
}
|
|
44
|
-
return { kind: "command", tokens, label: opts.agentCmd };
|
|
40
|
+
return { kind: "command", tokens: tokenizeCommand(opts.agentCmd), label: opts.agentCmd };
|
|
45
41
|
}
|
|
46
42
|
return { kind: "file", ...resolveEvalRunTarget(opts.agent) };
|
|
47
43
|
}
|
|
48
44
|
/**
|
|
49
|
-
* Fail fast when the
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
45
|
+
* Fail fast when the agent's shape does not match what the tests deliver.
|
|
46
|
+
* A test's input reaches a file agent as the entry node's single positional
|
|
47
|
+
* parameter and a command agent as `{input}`; a test with no input reaches a
|
|
48
|
+
* node that takes none / a command with no placeholder. Within one suite the
|
|
49
|
+
* tests must agree (all carry an input, or none does), so the agent has one
|
|
50
|
+
* shape to be. Checked before any workdir is seeded or agent compiled: a
|
|
51
|
+
* mis-shaped agent is a configuration error, not a per-test run failure —
|
|
52
|
+
* and the optimizer would pay it once per candidate. The subprocess
|
|
53
|
+
* bootstrap re-checks the file case at run time (resolveNodeCallArgs).
|
|
55
54
|
*
|
|
56
|
-
*
|
|
57
|
-
* elsewhere than the entry file, is left for compile/run to
|
|
58
|
-
* better errors than a pre-parse could.
|
|
55
|
+
* The file check is best-effort: an unreadable or unparseable file, or a
|
|
56
|
+
* node defined elsewhere than the entry file, is left for compile/run to
|
|
57
|
+
* report with better errors than a pre-parse could.
|
|
59
58
|
*/
|
|
60
|
-
export function
|
|
59
|
+
export function assertTargetMatchesInputs(target, tests) {
|
|
60
|
+
const withInput = tests.filter((test) => test.input !== undefined).length;
|
|
61
|
+
if (withInput !== 0 && withInput !== tests.length) {
|
|
62
|
+
throw new Error(`Within one suite either every test provides an "input" or none does; ${withInput} of ${tests.length} do.`);
|
|
63
|
+
}
|
|
64
|
+
const hasInput = withInput > 0;
|
|
65
|
+
if (target.kind === "command") {
|
|
66
|
+
if (target.tokens.some((t) => t.includes(OLD_TASK_PLACEHOLDER))) {
|
|
67
|
+
throw new Error(OLD_TASK_PLACEHOLDER_ERROR);
|
|
68
|
+
}
|
|
69
|
+
const hasPlaceholder = target.tokens.some((t) => t.includes(INPUT_PLACEHOLDER));
|
|
70
|
+
if (hasInput && !hasPlaceholder)
|
|
71
|
+
throw new Error(MISSING_INPUT_PLACEHOLDER_ERROR);
|
|
72
|
+
if (!hasInput && hasPlaceholder) {
|
|
73
|
+
throw new Error(`--agent-cmd contains ${INPUT_PLACEHOLDER} but no test provides an input — pass --input <text> ` +
|
|
74
|
+
`(or give the tests an "input"), or drop the placeholder for an agent that takes none.`);
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const count = entryNodeParameterCount(target.agentFile, target.node);
|
|
79
|
+
if (count === undefined)
|
|
80
|
+
return;
|
|
81
|
+
const { names } = count;
|
|
82
|
+
if (hasInput && names.length !== 1) {
|
|
83
|
+
const detail = names.length === 0
|
|
84
|
+
? `takes none — add one (it may go unused: \`node ${target.node}(task: string) { ... }\`), or drop the input if the agent needs none`
|
|
85
|
+
: `takes ${names.length} (${names.join(", ")}) — add a one-parameter adapter node`;
|
|
86
|
+
throw new Error(`eval delivers each test's input as the entry node's single parameter, ` +
|
|
87
|
+
`but node "${target.node}" in ${target.agentFile} ${detail}.`);
|
|
88
|
+
}
|
|
89
|
+
if (!hasInput && names.length !== 0) {
|
|
90
|
+
throw new Error(`node "${target.node}" in ${target.agentFile} takes ${names.length} (${names.join(", ")}) ` +
|
|
91
|
+
`but no test provides an input — pass --input <text> (or give the tests an "input"), ` +
|
|
92
|
+
`or make the node take no parameter.`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** The entry node's parameter names, or undefined when the file cannot be
|
|
96
|
+
* read/parsed or does not define the node (best-effort, see above). */
|
|
97
|
+
function entryNodeParameterCount(agentFile, node) {
|
|
61
98
|
let source;
|
|
62
99
|
try {
|
|
63
100
|
source = fs.readFileSync(agentFile, "utf-8");
|
|
64
101
|
}
|
|
65
102
|
catch {
|
|
66
|
-
return;
|
|
103
|
+
return undefined;
|
|
67
104
|
}
|
|
68
105
|
const parsed = parseAgency(source, {}, false);
|
|
69
106
|
if (!parsed.success)
|
|
70
|
-
return;
|
|
107
|
+
return undefined;
|
|
71
108
|
for (const candidate of parsed.result.nodes) {
|
|
72
109
|
if (candidate.type !== "graphNode" || candidate.nodeName !== node)
|
|
73
110
|
continue;
|
|
74
|
-
|
|
75
|
-
if (count !== 1) {
|
|
76
|
-
const detail = count === 0
|
|
77
|
-
? `takes none — add one (it may go unused: \`node ${node}(task: string) { ... }\`)`
|
|
78
|
-
: `takes ${count} (${candidate.parameters.map((p) => p.name).join(", ")}) — add a one-parameter adapter node`;
|
|
79
|
-
throw new Error(`eval delivers the input's task as the entry node's single parameter, ` +
|
|
80
|
-
`but node "${node}" in ${agentFile} ${detail}.`);
|
|
81
|
-
}
|
|
111
|
+
return { names: candidate.parameters.map((p) => p.name) };
|
|
82
112
|
}
|
|
113
|
+
return undefined;
|
|
83
114
|
}
|
|
@@ -1,141 +1,36 @@
|
|
|
1
|
-
import { localModelsSupported, listModelNames } from "std::agency/local"
|
|
2
1
|
import { parseArgs } from "std::args"
|
|
3
2
|
import { map } from "std::array"
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { listHostedModels, hostedModelInfo, setLlmOptions } from "std::llm"
|
|
7
|
-
import { setMemoryId, disableMemory } from "std::memory"
|
|
8
|
-
import { basename, dirname } from "std::path"
|
|
9
|
-
import {
|
|
10
|
-
ScopedRuleFields,
|
|
11
|
-
cliPolicyHandler,
|
|
12
|
-
parsePolicyFile,
|
|
13
|
-
setPolicy,
|
|
14
|
-
minimalAutoApprovePolicy,
|
|
15
|
-
recommendedAutoApprovePolicy,
|
|
16
|
-
builtinPolicy,
|
|
17
|
-
builtinPolicyNames,
|
|
18
|
-
BUILTIN_POLICIES,
|
|
19
|
-
} from "std::policy"
|
|
20
|
-
import { exists } from "std::shell"
|
|
21
|
-
import { commandsDir, expandSlash } from "std::skills"
|
|
22
|
-
import { highlight } from "std::syntax"
|
|
3
|
+
import { setLlmOptions } from "std::llm"
|
|
4
|
+
import { evalOutput, evalValue, setAgentName } from "std::statelog"
|
|
23
5
|
import { cwd, env, isTTY, readStdin, setTitle } from "std::system"
|
|
24
|
-
import {
|
|
25
|
-
Attachment,
|
|
26
|
-
attachToReply,
|
|
27
|
-
getCost,
|
|
28
|
-
getModelCosts,
|
|
29
|
-
image,
|
|
30
|
-
systemMessage,
|
|
31
|
-
} from "std::thread"
|
|
32
|
-
import { chooseOption, ChoiceItem } from "std::ui"
|
|
6
|
+
import { getCost } from "std::thread"
|
|
33
7
|
import {
|
|
34
8
|
clearMessages,
|
|
35
9
|
pushMessage,
|
|
36
10
|
repl,
|
|
37
11
|
clearScreen,
|
|
38
|
-
clearHistory,
|
|
39
12
|
} from "std::ui/cli"
|
|
40
13
|
|
|
14
|
+
import { brainByName, allBrains, brainFlagHelp } from "./brains/registry.agency"
|
|
15
|
+
import { agentNameFor } from "./lib/agentName.agency"
|
|
41
16
|
import { parseAgentArgs } from "./lib/args.agency"
|
|
42
|
-
import { detectAttachments, modalityFilter } from "./lib/attachments.agency"
|
|
43
|
-
import { showCapabilities, editCapabilities } from "./lib/capabilitiesUi.agency"
|
|
44
|
-
import { mergedPalette, projectCommands } from "./lib/commandPalette.agency"
|
|
45
|
-
import {
|
|
46
|
-
POLICY_PATH,
|
|
47
|
-
SESSION_POLICY_PATH,
|
|
48
|
-
HISTORY_PATH,
|
|
49
|
-
ALWAYS_FIELDS,
|
|
50
|
-
} from "./lib/config.agency"
|
|
51
|
-
import {
|
|
52
|
-
runTurn,
|
|
53
|
-
setGroundingContext,
|
|
54
|
-
loadAgentsMd,
|
|
55
|
-
maybeEnableMemory,
|
|
56
|
-
checkMainPrompts,
|
|
57
|
-
START_AGENTS,
|
|
58
|
-
} from "./lib/coordinator.agency"
|
|
59
17
|
import { getHeader } from "./lib/header.agency"
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
64
|
-
|
|
65
|
-
parseModelSpec,
|
|
66
|
-
knownProviders,
|
|
67
|
-
missingProviderEnvVar,
|
|
68
|
-
Resolved,
|
|
69
|
-
} from "./lib/models.agency"
|
|
70
|
-
import {
|
|
71
|
-
givePolicyChoice,
|
|
72
|
-
printPolicyHelp,
|
|
73
|
-
getPolicyForAgent,
|
|
74
|
-
} from "./lib/policy.agency"
|
|
75
|
-
import { startInteractive, renderAgentResponse } from "./lib/repl.agency"
|
|
76
|
-
import {
|
|
77
|
-
buildLayers,
|
|
78
|
-
resolveAll,
|
|
79
|
-
diffResolved,
|
|
80
|
-
Ctx,
|
|
81
|
-
SlotChange,
|
|
82
|
-
} from "./lib/resolution.agency"
|
|
83
|
-
import {
|
|
84
|
-
configureSearch,
|
|
85
|
-
setSearchBackend,
|
|
86
|
-
getSearchBackend,
|
|
87
|
-
availableBackendItems,
|
|
88
|
-
} from "./lib/search.agency"
|
|
89
|
-
import {
|
|
90
|
-
Session,
|
|
91
|
-
switchModel,
|
|
92
|
-
reactToSlotChange,
|
|
93
|
-
modelChoiceItems,
|
|
94
|
-
parseModelsFilters,
|
|
95
|
-
markMemoryEmbeddingsPinned,
|
|
96
|
-
pickModelsForAgent,
|
|
97
|
-
} from "./lib/session.agency"
|
|
98
|
-
import {
|
|
99
|
-
getCapabilitySettings,
|
|
100
|
-
getModelSettings,
|
|
101
|
-
loadSettings,
|
|
102
|
-
saveSettings,
|
|
103
|
-
} from "./lib/settings.agency"
|
|
104
|
-
import { SLOTS } from "./lib/slots.agency"
|
|
18
|
+
import { maybeLoadMcp } from "./lib/mcp.agency"
|
|
19
|
+
import { printPolicyHelp } from "./lib/policy.agency"
|
|
20
|
+
import { startInteractive } from "./lib/repl.agency"
|
|
21
|
+
import { pickModelsForAgent, maybeEnableMemory } from "./lib/session.agency"
|
|
22
|
+
import { loadSettings } from "./lib/settings.agency"
|
|
105
23
|
import { setDebug, setVerbose, setInteractive } from "./lib/trace.agency"
|
|
106
24
|
import {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
import {
|
|
115
|
-
|
|
116
|
-
configureLocalModel,
|
|
117
|
-
enableAgentMemory,
|
|
118
|
-
getResolvedSlots,
|
|
119
|
-
applyResolved,
|
|
120
|
-
promoteAll,
|
|
121
|
-
currentProvider,
|
|
122
|
-
resolveMaxToolCallRounds,
|
|
123
|
-
getCapabilities,
|
|
124
|
-
getCapabilitiesResolved,
|
|
125
|
-
getCapabilityModelKey,
|
|
126
|
-
getCapabilityProvider,
|
|
127
|
-
refreshCapabilities,
|
|
128
|
-
embeddingKeyStatus,
|
|
129
|
-
memoryEnablePlan,
|
|
130
|
-
overrideFromResolved,
|
|
131
|
-
embeddingsOverride,
|
|
132
|
-
providerEnvMissing,
|
|
133
|
-
} from "./shared.agency"
|
|
134
|
-
import { codeAgent, setCodeOneShot } from "./subagents/code.agency"
|
|
135
|
-
import { explorerAgent } from "./subagents/explorer.agency"
|
|
136
|
-
import { oracleAgent } from "./subagents/oracle.agency"
|
|
137
|
-
import { researchAgent } from "./subagents/research.agency"
|
|
138
|
-
import { reviewAgent } from "./subagents/review.agency"
|
|
25
|
+
setBrain,
|
|
26
|
+
runTurn,
|
|
27
|
+
runSession,
|
|
28
|
+
setPolicyArg,
|
|
29
|
+
resolveBrainName,
|
|
30
|
+
resolveStartTarget,
|
|
31
|
+
} from "./lib/turn.agency"
|
|
32
|
+
import { formatTurnFailure } from "./lib/utils.agency"
|
|
33
|
+
import { resolveMaxToolCallRounds, getCapabilities } from "./shared.agency"
|
|
139
34
|
|
|
140
35
|
|
|
141
36
|
// UI mode select — one-line swap between the alt-screen TUI and the
|
|
@@ -146,44 +41,25 @@ import { reviewAgent } from "./subagents/review.agency"
|
|
|
146
41
|
//
|
|
147
42
|
//import { clearMessages, pushMessage, repl } from "std::ui"
|
|
148
43
|
|
|
149
|
-
// The `--policy` argument (a built-in name or a policy-file path), or "" when
|
|
150
|
-
// absent. CLI-owned: main() sets it, setupSession() reads it.
|
|
151
|
-
let _policyArg: string = ""
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
def setupSession(interactive: boolean): any {
|
|
155
|
-
setAgentCwd(cwd())
|
|
156
|
-
|
|
157
|
-
// Grounding: the LLM shouldn't have to ask where it is or what day it
|
|
158
|
-
// is. Also load `AGENTS.md` if present.
|
|
159
|
-
const projectContext = loadAgentsMd(cwd()) with approve
|
|
160
|
-
const grounding = """
|
|
161
|
-
|
|
162
|
-
Current date: ${today()}
|
|
163
|
-
Current working directory: ${cwd()}
|
|
164
|
-
${projectContext}
|
|
165
|
-
"""
|
|
166
|
-
setGroundingContext(grounding)
|
|
167
|
-
|
|
168
|
-
const { policyFile, sessionPolicy } = getPolicyForAgent(_policyArg, interactive)
|
|
169
|
-
|
|
170
|
-
return cliPolicyHandler(
|
|
171
|
-
file: policyFile,
|
|
172
|
-
fields: ALWAYS_FIELDS,
|
|
173
|
-
policy: sessionPolicy,
|
|
174
|
-
)
|
|
175
|
-
}
|
|
176
|
-
|
|
177
44
|
def oneShotAgent(target: string, prompt: string): string {
|
|
178
45
|
setInteractive(false)
|
|
179
|
-
|
|
180
|
-
|
|
46
|
+
// Mark the input and reply in the statelog so a one-shot run is gradable:
|
|
47
|
+
// `agency eval grade` reads the agent's output from the trace's
|
|
48
|
+
// `evalOutputRecorded` events, not from stdout.
|
|
49
|
+
evalValue(prompt)
|
|
50
|
+
let reply = ""
|
|
51
|
+
runSession(false) {
|
|
181
52
|
const result = try runTurn(target, prompt)
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
53
|
+
// Not `match`: a match expression inside a block body keeps its value on
|
|
54
|
+
// the wrong stack, so `reply` would end up null (compiler bug).
|
|
55
|
+
if (result is success(r)) {
|
|
56
|
+
reply = r
|
|
57
|
+
} else if (result is failure(f)) {
|
|
58
|
+
reply = formatTurnFailure("${f.error}")
|
|
185
59
|
}
|
|
186
|
-
}
|
|
60
|
+
}
|
|
61
|
+
evalOutput(reply)
|
|
62
|
+
return reply
|
|
187
63
|
}
|
|
188
64
|
|
|
189
65
|
/* A seeded turn is if the user invokes the Agency agent with
|
|
@@ -193,7 +69,7 @@ It means that agent starts with an initial prompt already there to respond to. *
|
|
|
193
69
|
node main() {
|
|
194
70
|
// Parse CLI flags first — `parseArgs` exits on --help / --version /
|
|
195
71
|
// usage errors, before any handlers or the TUI are installed.
|
|
196
|
-
const args = parseAgentArgs()
|
|
72
|
+
const args = parseAgentArgs(brainFlagHelp())
|
|
197
73
|
|
|
198
74
|
// NOTE: --trace / --log / --agent-home are declared here only for
|
|
199
75
|
// --help and so parseArgs accepts them. runBundledAgent extracts them from
|
|
@@ -208,8 +84,6 @@ node main() {
|
|
|
208
84
|
setVerbose(true)
|
|
209
85
|
}
|
|
210
86
|
|
|
211
|
-
checkMainPrompts()
|
|
212
|
-
|
|
213
87
|
// `--policy` is an optional-value flag: a bare `--policy` (no name or
|
|
214
88
|
// path) prints the usage + the built-in policies and exits, rather than
|
|
215
89
|
// silently doing nothing.
|
|
@@ -217,7 +91,32 @@ node main() {
|
|
|
217
91
|
printPolicyHelp()
|
|
218
92
|
process.exit(0)
|
|
219
93
|
}
|
|
220
|
-
|
|
94
|
+
setPolicyArg(args.flags.policy ?? "")
|
|
95
|
+
|
|
96
|
+
const brainName = resolveBrainName(args.flags.brain ?? null, loadSettings())
|
|
97
|
+
const brain = brainByName(brainName)
|
|
98
|
+
if (brain == null) {
|
|
99
|
+
const names = map(allBrains(), \entry -> entry.name).join(", ")
|
|
100
|
+
print(color.red("Unknown --brain value: ${brainName}. Valid: ${names}"))
|
|
101
|
+
process.exit(1)
|
|
102
|
+
return
|
|
103
|
+
}
|
|
104
|
+
setBrain(brain)
|
|
105
|
+
// Group this trace under its brain wherever runs are compared.
|
|
106
|
+
setAgentName(agentNameFor(brain))
|
|
107
|
+
|
|
108
|
+
// Validate the --agent target up front, before any model or session setup.
|
|
109
|
+
const requestedStartTarget = args.flags.agent ?? ""
|
|
110
|
+
const resolvedStartTarget = resolveStartTarget(brain, requestedStartTarget)
|
|
111
|
+
let startAgent = ""
|
|
112
|
+
if (resolvedStartTarget == null) {
|
|
113
|
+
const validTargets = ["main", ...brain.startTargets].join(", ")
|
|
114
|
+
print(color.red("Unknown --agent value: ${requestedStartTarget}. Valid for the ${brain.name} brain: ${validTargets}"))
|
|
115
|
+
process.exit(1)
|
|
116
|
+
return
|
|
117
|
+
} else {
|
|
118
|
+
startAgent = resolvedStartTarget
|
|
119
|
+
}
|
|
221
120
|
|
|
222
121
|
pickModelsForAgent(args)
|
|
223
122
|
|
|
@@ -234,16 +133,6 @@ node main() {
|
|
|
234
133
|
// would otherwise look like a flag.
|
|
235
134
|
const positionalQuery = args.positionals.join(" ")
|
|
236
135
|
const hasQuery = positionalQuery != ""
|
|
237
|
-
const startAgent = args.flags.agent ?? ""
|
|
238
|
-
// Validate the target subagent name up front (empty = coordinator).
|
|
239
|
-
if (startAgent != "" && !START_AGENTS.includes(startAgent)) {
|
|
240
|
-
print(
|
|
241
|
-
color.red(
|
|
242
|
-
"Unknown --agent value: ${startAgent}. Valid: ${START_AGENTS.join(", ")}",
|
|
243
|
-
),
|
|
244
|
-
)
|
|
245
|
-
process.exit(1)
|
|
246
|
-
}
|
|
247
136
|
|
|
248
137
|
const wantInteractive = args.flags.interactive
|
|
249
138
|
|
|
@@ -275,11 +164,7 @@ node main() {
|
|
|
275
164
|
})
|
|
276
165
|
}
|
|
277
166
|
|
|
278
|
-
|
|
279
|
-
// questions and no next turn, so it must drive to a finished artifact.
|
|
280
|
-
// Set before any dispatch so both the pinned `--agent code` path and the
|
|
281
|
-
// coordinator (which calls codeAgent as a tool) pick it up.
|
|
282
|
-
setCodeOneShot(isOneShot)
|
|
167
|
+
setAgentCwd(cwd())
|
|
283
168
|
|
|
284
169
|
if (isOneShot) {
|
|
285
170
|
let prompt = positionalQuery
|
|
@@ -296,8 +181,9 @@ node main() {
|
|
|
296
181
|
} else {
|
|
297
182
|
setTitle("Agency Agent")
|
|
298
183
|
clearScreen()
|
|
299
|
-
print(getHeader())
|
|
300
|
-
|
|
301
|
-
|
|
184
|
+
print(getHeader(brain.name))
|
|
185
|
+
runSession(true) {
|
|
186
|
+
startInteractive(startAgent, positionalQuery)
|
|
187
|
+
}
|
|
302
188
|
}
|
|
303
189
|
}
|