agency-lang 0.7.8 → 0.8.1
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/agents/agency-agent/agent.agency +82 -9
- package/dist/lib/agents/agency-agent/agent.js +1165 -910
- package/dist/lib/agents/agency-agent/lib/attachments.js +12 -18
- package/dist/lib/agents/agency-agent/lib/capabilities.js +64 -84
- package/dist/lib/agents/agency-agent/lib/config.agency +10 -0
- package/dist/lib/agents/agency-agent/lib/config.js +12 -6
- package/dist/lib/agents/agency-agent/lib/defaultPolicy.js +96 -104
- package/dist/lib/agents/agency-agent/lib/modelFilters.js +5 -6
- package/dist/lib/agents/agency-agent/lib/models.js +53 -85
- package/dist/lib/agents/agency-agent/lib/resolution.js +39 -73
- package/dist/lib/agents/agency-agent/lib/search.js +60 -97
- package/dist/lib/agents/agency-agent/lib/settings.agency +10 -1
- package/dist/lib/agents/agency-agent/lib/settings.js +160 -54
- package/dist/lib/agents/agency-agent/lib/slots.js +18 -22
- package/dist/lib/agents/agency-agent/lib/utils.js +24 -33
- package/dist/lib/agents/agency-agent/prompts/codeSample.js +3 -2
- package/dist/lib/agents/agency-agent/shared.js +109 -184
- package/dist/lib/agents/agency-agent/subagents/code.agency +22 -11
- package/dist/lib/agents/agency-agent/subagents/code.js +73 -95
- package/dist/lib/agents/agency-agent/subagents/explorer.agency +5 -3
- package/dist/lib/agents/agency-agent/subagents/explorer.js +24 -36
- package/dist/lib/agents/agency-agent/subagents/oracle.agency +5 -3
- package/dist/lib/agents/agency-agent/subagents/oracle.js +24 -36
- package/dist/lib/agents/agency-agent/subagents/research.agency +12 -14
- package/dist/lib/agents/agency-agent/subagents/research.js +29 -41
- package/dist/lib/agents/agency-agent/subagents/review.agency +27 -130
- package/dist/lib/agents/agency-agent/subagents/review.js +40 -800
- package/dist/lib/agents/agency-agent/subagents/verify.agency +26 -17
- package/dist/lib/agents/agency-agent/subagents/verify.js +157 -45
- package/dist/lib/agents/agency-agent/tests/agentDir.js +6 -16
- package/dist/lib/agents/agency-agent/tests/agentTurn.js +61 -145
- package/dist/lib/agents/agency-agent/tests/attachments.js +102 -212
- package/dist/lib/agents/agency-agent/tests/attachmentsTurn.js +17 -40
- package/dist/lib/agents/agency-agent/tests/capabilities.js +9 -43
- package/dist/lib/agents/agency-agent/tests/capabilities.test.json +1 -1
- package/dist/lib/agents/agency-agent/tests/execPolicy.agency +2 -2
- package/dist/lib/agents/agency-agent/tests/execPolicy.js +11 -18
- package/dist/lib/agents/agency-agent/tests/gitPolicy.agency +2 -2
- package/dist/lib/agents/agency-agent/tests/gitPolicy.js +13 -33
- package/dist/lib/agents/agency-agent/tests/imageTool.js +16 -41
- package/dist/lib/agents/agency-agent/tests/mcpGating.agency +42 -0
- package/dist/lib/agents/agency-agent/tests/mcpGating.js +670 -0
- package/dist/lib/agents/agency-agent/tests/mcpGating.test.json +22 -0
- package/dist/lib/agents/agency-agent/tests/memoryWiring.js +19 -65
- package/dist/lib/agents/agency-agent/tests/modelFilters.js +0 -5
- package/dist/lib/agents/agency-agent/tests/models.js +5 -25
- package/dist/lib/agents/agency-agent/tests/oneShotRounds.js +0 -4
- package/dist/lib/agents/agency-agent/tests/resolution.js +11 -28
- package/dist/lib/agents/agency-agent/tests/search.js +15 -37
- package/dist/lib/agents/agency-agent/tests/settings.js +52 -108
- package/dist/lib/agents/agency-agent/tests/settings.test.json +2 -2
- package/dist/lib/agents/agency-agent/tests/slots.js +0 -5
- package/dist/lib/agents/agency-agent/tests/toolWiring.js +6 -6
- package/dist/lib/agents/agency-agent/tests/turnFailure.agency +4 -0
- package/dist/lib/agents/agency-agent/tests/turnFailure.js +92 -6
- package/dist/lib/agents/agency-agent/tests/turnFailure.test.json +6 -0
- package/dist/lib/agents/eval/goalJudge.js +3 -2
- package/dist/lib/agents/eval/judge.js +1 -0
- package/dist/lib/agents/eval/judgePairwise.js +1 -0
- package/dist/lib/agents/optimize/gepaReflect.js +1 -0
- package/dist/lib/agents/optimize/mutatePrompt.js +1 -0
- package/dist/lib/agents/policy/agent.js +47 -66
- package/dist/lib/agents/review/agent.js +8 -7
- package/dist/lib/backends/agencyGenerator.d.ts +14 -0
- package/dist/lib/backends/agencyGenerator.js +49 -35
- package/dist/lib/backends/agencyGenerator.test.js +116 -0
- package/dist/lib/backends/raisesFormat.test.js +24 -0
- package/dist/lib/backends/signatureOf.test.d.ts +1 -0
- package/dist/lib/backends/signatureOf.test.js +34 -0
- package/dist/lib/backends/typeOperators.codegen.test.d.ts +1 -0
- package/dist/lib/backends/typeOperators.codegen.test.js +126 -0
- package/dist/lib/backends/typescriptBuilder/destructiveTracking.d.ts +63 -0
- package/dist/lib/backends/typescriptBuilder/destructiveTracking.js +109 -0
- package/dist/lib/backends/typescriptBuilder/destructiveTracking.test.d.ts +1 -0
- package/dist/lib/backends/typescriptBuilder/destructiveTracking.test.js +104 -0
- package/dist/lib/backends/typescriptBuilder/nameClassifier.d.ts +13 -4
- package/dist/lib/backends/typescriptBuilder/nameClassifier.js +44 -13
- package/dist/lib/backends/typescriptBuilder/scopeManager.d.ts +6 -6
- package/dist/lib/backends/typescriptBuilder/scopeManager.js +9 -9
- package/dist/lib/backends/typescriptBuilder.d.ts +5 -0
- package/dist/lib/backends/typescriptBuilder.integration.test.js +52 -28
- package/dist/lib/backends/typescriptBuilder.js +134 -33
- package/dist/lib/backends/typescriptGenerator/typeToString.d.ts +6 -0
- package/dist/lib/backends/typescriptGenerator/typeToString.js +47 -2
- package/dist/lib/backends/typescriptGenerator/validationDescriptor.js +11 -0
- package/dist/lib/cli/commands.d.ts +34 -1
- package/dist/lib/cli/commands.js +84 -4
- package/dist/lib/cli/commands.test.d.ts +1 -0
- package/dist/lib/cli/commands.test.js +115 -0
- package/dist/lib/cli/diagnosticsDocs.d.ts +8 -0
- package/dist/lib/cli/diagnosticsDocs.js +79 -0
- package/dist/lib/cli/diagnosticsDocs.test.d.ts +1 -0
- package/dist/lib/cli/diagnosticsDocs.test.js +61 -0
- package/dist/lib/cli/doc.js +2 -13
- package/dist/lib/cli/doc.test.js +13 -0
- package/dist/lib/cli/explain.d.ts +9 -0
- package/dist/lib/cli/explain.js +53 -0
- package/dist/lib/cli/explain.test.d.ts +1 -0
- package/dist/lib/cli/explain.test.js +44 -0
- package/dist/lib/cli/mcp.d.ts +13 -0
- package/dist/lib/cli/mcp.js +66 -0
- package/dist/lib/cli/mcp.test.d.ts +1 -0
- package/dist/lib/cli/mcp.test.js +70 -0
- package/dist/lib/cli/runPolicy.d.ts +11 -0
- package/dist/lib/cli/runPolicy.js +67 -0
- package/dist/lib/cli/runPolicy.spawn.test.d.ts +1 -0
- package/dist/lib/cli/runPolicy.spawn.test.js +198 -0
- package/dist/lib/cli/runPolicy.test.d.ts +1 -0
- package/dist/lib/cli/runPolicy.test.js +96 -0
- package/dist/lib/cli/serve.js +1 -1
- package/dist/lib/compilationUnit.d.ts +9 -1
- package/dist/lib/compilationUnit.js +25 -8
- package/dist/lib/compilationUnit.test.js +67 -1
- package/dist/lib/compiler/buildSession.js +9 -3
- package/dist/lib/compiler/compile.d.ts +1 -1
- package/dist/lib/compiler/compile.js +2 -2
- package/dist/lib/compiler/typecheck.d.ts +17 -3
- package/dist/lib/compiler/typecheck.getEffects.test.d.ts +1 -0
- package/dist/lib/compiler/typecheck.getEffects.test.js +35 -0
- package/dist/lib/compiler/typecheck.js +43 -11
- package/dist/lib/constants.d.ts +14 -0
- package/dist/lib/constants.js +17 -0
- package/dist/lib/debugger/driver.test.js +0 -1
- package/dist/lib/formatter.test.js +5 -5
- package/dist/lib/lowering/patternLowering.test.js +33 -0
- package/dist/lib/lsp/diagnostics.js +0 -1
- package/dist/lib/lsp/diagnostics.test.js +1 -1
- package/dist/lib/optimize/constraint.js +2 -1
- package/dist/lib/parsers/exportFromStatement.test.js +18 -9
- package/dist/lib/parsers/exportNode.test.js +6 -6
- package/dist/lib/parsers/expression.test.js +103 -0
- package/dist/lib/parsers/function.test.js +60 -68
- package/dist/lib/parsers/importStatement.test.js +76 -21
- package/dist/lib/parsers/intersectionParsing.test.d.ts +1 -0
- package/dist/lib/parsers/intersectionParsing.test.js +90 -0
- package/dist/lib/parsers/parsers.d.ts +52 -2
- package/dist/lib/parsers/parsers.js +208 -61
- package/dist/lib/parsers/typeOperatorParsing.test.d.ts +1 -0
- package/dist/lib/parsers/typeOperatorParsing.test.js +107 -0
- package/dist/lib/preprocessors/importResolver.js +27 -16
- package/dist/lib/preprocessors/importResolver.test.js +6 -11
- package/dist/lib/preprocessors/prunePreludeShadows.js +14 -1
- package/dist/lib/preprocessors/resolveReExports.js +4 -2
- package/dist/lib/preprocessors/resolveReExports.test.js +9 -16
- package/dist/lib/runtime/agencyFunction.d.ts +8 -2
- package/dist/lib/runtime/agencyFunction.js +21 -9
- package/dist/lib/runtime/agencyFunction.test.js +26 -0
- package/dist/lib/runtime/agencyInterrupt.d.ts +4 -0
- package/dist/lib/runtime/agencyInterrupt.js +1 -1
- package/dist/lib/runtime/builtinPolicies.d.ts +11 -0
- package/dist/lib/runtime/builtinPolicies.js +139 -0
- package/dist/lib/runtime/builtinPolicies.test.d.ts +1 -0
- package/dist/lib/runtime/builtinPolicies.test.js +54 -0
- package/dist/lib/runtime/failurePropagation.test.js +2 -2
- package/dist/lib/runtime/index.d.ts +4 -2
- package/dist/lib/runtime/index.js +4 -2
- package/dist/lib/runtime/interrupts.d.ts +16 -7
- package/dist/lib/runtime/interrupts.js +24 -2
- package/dist/lib/runtime/interrupts.test.js +36 -0
- package/dist/lib/runtime/ipc.d.ts +2 -0
- package/dist/lib/runtime/ipc.js +2 -2
- package/dist/lib/runtime/llmRetry.d.ts +45 -3
- package/dist/lib/runtime/llmRetry.js +47 -2
- package/dist/lib/runtime/llmRetry.test.js +64 -2
- package/dist/lib/runtime/memory/manager.js +0 -2
- package/dist/lib/runtime/nn.d.ts +13 -0
- package/dist/lib/runtime/nn.js +15 -0
- package/dist/lib/runtime/nn.test.d.ts +1 -0
- package/dist/lib/runtime/nn.test.js +20 -0
- package/dist/lib/runtime/node.js +6 -0
- package/dist/lib/runtime/policy.d.ts +11 -0
- package/dist/lib/runtime/policy.js +10 -2
- package/dist/lib/runtime/policy.test.js +25 -0
- package/dist/lib/runtime/prompt.d.ts +41 -0
- package/dist/lib/runtime/prompt.js +424 -263
- package/dist/lib/runtime/prompt.test.js +70 -5
- package/dist/lib/runtime/result.d.ts +28 -2
- package/dist/lib/runtime/result.js +23 -1
- package/dist/lib/runtime/result.test.js +43 -6
- package/dist/lib/runtime/runPolicyHandler.d.ts +27 -0
- package/dist/lib/runtime/runPolicyHandler.js +222 -0
- package/dist/lib/runtime/runPolicyHandler.test.d.ts +1 -0
- package/dist/lib/runtime/runPolicyHandler.test.js +363 -0
- package/dist/lib/runtime/toolBlockDiagnostics.d.ts +3 -1
- package/dist/lib/runtime/toolBlockDiagnostics.js +19 -8
- package/dist/lib/runtime/types.d.ts +1 -0
- package/dist/lib/runtime/utils.d.ts +8 -0
- package/dist/lib/runtime/utils.js +55 -21
- package/dist/lib/runtime/utils.test.js +26 -1
- package/dist/lib/serve/discovery.test.js +0 -2
- package/dist/lib/serve/http/adapter.js +4 -1
- package/dist/lib/serve/http/adapter.test.js +36 -3
- package/dist/lib/serve/mcp/adapter.js +16 -6
- package/dist/lib/serve/mcp/adapter.test.js +42 -5
- package/dist/lib/serve/mcp/httpTransport.test.js +0 -1
- package/dist/lib/statelogClient.d.ts +5 -3
- package/dist/lib/statelogClient.js +3 -2
- package/dist/lib/statelogClient.test.js +5 -3
- package/dist/lib/stdlib/agency.d.ts +1 -0
- package/dist/lib/stdlib/agency.js +4 -1
- package/dist/lib/stdlib/localModels.d.ts +6 -0
- package/dist/lib/stdlib/localModels.js +1 -1
- package/dist/lib/stdlib/mcp.d.ts +39 -0
- package/dist/lib/stdlib/mcp.js +223 -0
- package/dist/lib/stdlib/mcpBridge.mjs +71 -0
- package/dist/lib/stdlib/mcpGate.d.ts +9 -0
- package/dist/lib/stdlib/mcpGate.js +23 -0
- package/dist/lib/stdlib/mcpResolver.d.ts +12 -0
- package/dist/lib/stdlib/mcpResolver.js +46 -0
- package/dist/lib/stdlib/policy.d.ts +1 -0
- package/dist/lib/stdlib/policy.js +4 -0
- package/dist/lib/stdlib/skills.d.ts +7 -0
- package/dist/lib/stdlib/skills.js +10 -0
- package/dist/lib/stdlib/thread.js +6 -3
- package/dist/lib/stdlib/threads.js +13 -0
- package/dist/lib/stdlib/version.d.ts +1 -1
- package/dist/lib/stdlib/version.js +1 -1
- package/dist/lib/symbolTable.d.ts +2 -2
- package/dist/lib/symbolTable.js +22 -10
- package/dist/lib/symbolTable.test.js +12 -12
- package/dist/lib/templates/backends/typescriptGenerator/functionCatchFailure.d.ts +1 -1
- package/dist/lib/templates/backends/typescriptGenerator/functionCatchFailure.js +1 -2
- package/dist/lib/templates/backends/typescriptGenerator/imports.d.ts +1 -1
- package/dist/lib/templates/backends/typescriptGenerator/imports.js +2 -2
- package/dist/lib/templates/backends/typescriptGenerator/interruptAssignment.d.ts +1 -1
- package/dist/lib/templates/backends/typescriptGenerator/interruptAssignment.js +5 -5
- package/dist/lib/templates/backends/typescriptGenerator/interruptReturn.d.ts +1 -1
- package/dist/lib/templates/backends/typescriptGenerator/interruptReturn.js +4 -4
- package/dist/lib/typeChecker/assignability.js +25 -1
- package/dist/lib/typeChecker/builtinGenerics.d.ts +11 -0
- package/dist/lib/typeChecker/builtinGenerics.js +3 -3
- package/dist/lib/typeChecker/builtinNamedArgs.test.js +12 -0
- package/dist/lib/typeChecker/builtins.js +3 -0
- package/dist/lib/typeChecker/callbackCallEffects.test.d.ts +1 -0
- package/dist/lib/typeChecker/callbackCallEffects.test.js +42 -0
- package/dist/lib/typeChecker/checker.d.ts +3 -3
- package/dist/lib/typeChecker/checker.js +51 -67
- package/dist/lib/typeChecker/conflictingMarkers.d.ts +9 -0
- package/dist/lib/typeChecker/conflictingMarkers.js +17 -0
- package/dist/lib/typeChecker/conflictingMarkers.test.d.ts +1 -0
- package/dist/lib/typeChecker/conflictingMarkers.test.js +22 -0
- package/dist/lib/typeChecker/definiteReturns.js +3 -6
- package/dist/lib/typeChecker/diagnosticExplanations.d.ts +23 -0
- package/dist/lib/typeChecker/diagnosticExplanations.js +326 -0
- package/dist/lib/typeChecker/diagnosticExplanations.test.d.ts +1 -0
- package/dist/lib/typeChecker/diagnosticExplanations.test.js +52 -0
- package/dist/lib/typeChecker/diagnosticLocations.test.d.ts +1 -0
- package/dist/lib/typeChecker/diagnosticLocations.test.js +41 -0
- package/dist/lib/typeChecker/diagnostics.d.ts +518 -0
- package/dist/lib/typeChecker/diagnostics.js +504 -0
- package/dist/lib/typeChecker/diagnostics.test.d.ts +1 -0
- package/dist/lib/typeChecker/diagnostics.test.js +93 -0
- package/dist/lib/typeChecker/effectPayloadCheck.js +9 -37
- package/dist/lib/typeChecker/flow.d.ts +26 -9
- package/dist/lib/typeChecker/flow.js +18 -2
- package/dist/lib/typeChecker/flow.test.js +104 -3
- package/dist/lib/typeChecker/flowBuilder.js +15 -2
- package/dist/lib/typeChecker/flowBuilder.test.js +29 -3
- package/dist/lib/typeChecker/formatErrors.test.d.ts +1 -0
- package/dist/lib/typeChecker/formatErrors.test.js +88 -0
- package/dist/lib/typeChecker/functionTypeRaises.d.ts +18 -0
- package/dist/lib/typeChecker/functionTypeRaises.js +141 -0
- package/dist/lib/typeChecker/functionTypeRaises.test.d.ts +1 -0
- package/dist/lib/typeChecker/functionTypeRaises.test.js +94 -0
- package/dist/lib/typeChecker/functionValueEffects.d.ts +14 -0
- package/dist/lib/typeChecker/functionValueEffects.js +60 -0
- package/dist/lib/typeChecker/handlerParamTyping.js +9 -7
- package/dist/lib/typeChecker/index.d.ts +39 -1
- package/dist/lib/typeChecker/index.js +147 -88
- package/dist/lib/typeChecker/interruptAnalysis.js +36 -27
- package/dist/lib/typeChecker/matchExhaustiveness.js +2 -5
- package/dist/lib/typeChecker/matchExprTypes.js +3 -7
- package/dist/lib/typeChecker/matchExpression.test.js +29 -0
- package/dist/lib/typeChecker/raisesDiagnostic.js +3 -12
- package/dist/lib/typeChecker/resultUnion.js +3 -1
- package/dist/lib/typeChecker/schemaType.test.js +26 -0
- package/dist/lib/typeChecker/scope.d.ts +25 -1
- package/dist/lib/typeChecker/scope.js +37 -2
- package/dist/lib/typeChecker/scope.test.js +56 -0
- package/dist/lib/typeChecker/scopes.js +13 -36
- package/dist/lib/typeChecker/staticInitRules.d.ts +1 -24
- package/dist/lib/typeChecker/staticInitRules.js +43 -28
- package/dist/lib/typeChecker/suppression.d.ts +19 -10
- package/dist/lib/typeChecker/suppression.js +64 -14
- package/dist/lib/typeChecker/suppression.test.js +80 -13
- package/dist/lib/typeChecker/synthesizer.js +58 -66
- package/dist/lib/typeChecker/toolBlockBinding.d.ts +0 -23
- package/dist/lib/typeChecker/toolBlockBinding.js +44 -14
- package/dist/lib/typeChecker/typeKey.js +7 -0
- package/dist/lib/typeChecker/typeOperators.d.ts +37 -0
- package/dist/lib/typeChecker/typeOperators.js +110 -0
- package/dist/lib/typeChecker/typeOperators.test.d.ts +1 -0
- package/dist/lib/typeChecker/typeOperators.test.js +491 -0
- package/dist/lib/typeChecker/typeWalker.js +21 -0
- package/dist/lib/typeChecker/types.d.ts +14 -5
- package/dist/lib/typeChecker/undefinedFunctionDiagnostic.js +13 -24
- package/dist/lib/typeChecker/undefinedVariableDiagnostic.js +3 -4
- package/dist/lib/typeChecker/utils.d.ts +1 -1
- package/dist/lib/typeChecker/utils.js +14 -23
- package/dist/lib/typeChecker/validate.js +45 -44
- package/dist/lib/typeChecker/validateStaticInit.js +1 -1
- package/dist/lib/typeChecker/valueParamSubstitution.js +27 -0
- package/dist/lib/typeChecker/variadicNamedBinding.test.js +5 -5
- package/dist/lib/typeChecker.test.js +60 -62
- package/dist/lib/types/exportFromStatement.d.ts +4 -2
- package/dist/lib/types/function.d.ts +12 -1
- package/dist/lib/types/importStatement.d.ts +5 -2
- package/dist/lib/types/importStatement.js +0 -3
- package/dist/lib/types/typeHints.d.ts +51 -3
- package/dist/lib/utils/bodySlots.d.ts +36 -0
- package/dist/lib/utils/bodySlots.js +120 -0
- package/dist/lib/utils/formatType.js +48 -3
- package/dist/lib/utils/formatType.test.d.ts +1 -0
- package/dist/lib/utils/formatType.test.js +65 -0
- package/dist/lib/utils/mapBodies.d.ts +10 -10
- package/dist/lib/utils/mapBodies.js +11 -45
- package/dist/lib/utils/node.js +35 -50
- package/dist/scripts/agency.js +109 -53
- package/dist/scripts/generateDiagnosticsDocs.d.ts +1 -0
- package/dist/scripts/generateDiagnosticsDocs.js +28 -0
- package/dist/scripts/stage-agents.test.js +24 -0
- package/package.json +2 -4
- package/stdlib/agency/eval.js +27 -55
- package/stdlib/agency/local.js +49 -84
- package/stdlib/agency.agency +509 -38
- package/stdlib/agency.js +2941 -307
- package/stdlib/agent.agency +6 -6
- package/stdlib/agent.js +60 -90
- package/stdlib/args.agency +74 -0
- package/stdlib/args.js +6 -8
- package/stdlib/array.js +53 -91
- package/stdlib/auth/keyring.agency +4 -4
- package/stdlib/auth/keyring.js +33 -32
- package/stdlib/auth/oauth.agency +2 -2
- package/stdlib/auth/oauth.js +28 -31
- package/stdlib/calendar.agency +4 -4
- package/stdlib/calendar.js +50 -49
- package/stdlib/clipboard.agency +2 -2
- package/stdlib/clipboard.js +18 -18
- package/stdlib/concurrency.js +5 -7
- package/stdlib/data/finance/dbnomics.agency +4 -4
- package/stdlib/data/finance/dbnomics.js +25 -31
- package/stdlib/data/finance/edgar.agency +7 -7
- package/stdlib/data/finance/edgar.js +42 -54
- package/stdlib/data/finance/fred.agency +9 -9
- package/stdlib/data/finance/fred.js +49 -67
- package/stdlib/data/finance/gdelt.agency +4 -4
- package/stdlib/data/finance/gdelt.js +21 -27
- package/stdlib/data/people/littlesis.agency +19 -19
- package/stdlib/data/people/littlesis.js +90 -126
- package/stdlib/data/tech/hackernews.agency +23 -23
- package/stdlib/data/tech/hackernews.js +108 -152
- package/stdlib/data/tech/yc.agency +19 -19
- package/stdlib/data/tech/yc.js +90 -126
- package/stdlib/data/usaspending.agency +12 -12
- package/stdlib/data/usaspending.js +64 -86
- package/stdlib/data/wikidata.agency +17 -17
- package/stdlib/data/wikidata.js +80 -112
- package/stdlib/date.agency +15 -15
- package/stdlib/date.js +61 -90
- package/{dist/lib/agents → stdlib}/docs/cli/typecheck.md +3 -1
- package/stdlib/docs/diagnostics/checking.md +154 -0
- package/stdlib/docs/diagnostics/effects.md +155 -0
- package/stdlib/docs/diagnostics/index.md +127 -0
- package/stdlib/docs/diagnostics/match.md +25 -0
- package/stdlib/docs/diagnostics/names.md +83 -0
- package/stdlib/docs/diagnostics/static-init.md +65 -0
- package/stdlib/docs/diagnostics/tools.md +305 -0
- package/stdlib/docs/diagnostics/types-aliases.md +125 -0
- package/stdlib/docs/guide/agency-vs-typescript.md +30 -0
- package/stdlib/docs/guide/build-integration.md +106 -0
- package/{dist/lib/agents → stdlib}/docs/guide/builtins.md +6 -7
- package/stdlib/docs/guide/cross-thread-context.md +178 -0
- package/{dist/lib/agents → stdlib}/docs/guide/custom-providers.md +8 -1
- package/{dist/lib/agents → stdlib}/docs/guide/developer-tools.md +3 -3
- package/stdlib/docs/guide/llm-part-2.md +145 -0
- package/{dist/lib/agents → stdlib}/docs/guide/mcp.md +13 -45
- package/{dist/lib/agents → stdlib}/docs/guide/memory.md +2 -0
- package/{dist/lib/agents/docs/guide/advanced-types.md → stdlib/docs/guide/notes-on-types.md} +2 -2
- package/{dist/lib/agents → stdlib}/docs/guide/policies.md +27 -1
- package/{dist/lib/agents → stdlib}/docs/guide/schema-parameter-injection.md +2 -0
- package/{dist/lib/agents → stdlib}/docs/guide/serving.md +23 -35
- package/stdlib/docs/guide/tags.md +66 -0
- package/{dist/lib/agents → stdlib}/docs/guide/ts-helpers.md +2 -0
- package/{dist/lib/agents → stdlib}/docs/guide/types.md +57 -12
- package/{dist/lib/agents → stdlib}/docs/guide/vscode-extension.md +2 -2
- package/stdlib/fs.agency +6 -6
- package/stdlib/fs.js +112 -77
- package/stdlib/git.agency +17 -17
- package/stdlib/git.js +197 -197
- package/stdlib/http.js +19 -24
- package/stdlib/image.js +5 -7
- package/stdlib/index.agency +12 -12
- package/stdlib/index.js +136 -173
- package/stdlib/llm.agency +5 -2
- package/stdlib/llm.js +39 -62
- package/stdlib/markdown.agency +4 -4
- package/stdlib/markdown.js +17 -24
- package/stdlib/math.agency +5 -5
- package/stdlib/math.js +21 -30
- package/stdlib/mcp.agency +53 -0
- package/stdlib/mcp.js +811 -0
- package/stdlib/memory.agency +22 -8
- package/stdlib/memory.js +115 -104
- package/stdlib/messaging/email.agency +3 -3
- package/stdlib/messaging/email.js +34 -27
- package/stdlib/messaging/imessage.agency +1 -1
- package/stdlib/messaging/imessage.js +12 -9
- package/stdlib/messaging/sms.agency +1 -1
- package/stdlib/messaging/sms.js +12 -9
- package/stdlib/object.agency +3 -3
- package/stdlib/object.js +36 -50
- package/stdlib/path.agency +7 -7
- package/stdlib/path.js +29 -42
- package/stdlib/policy.agency +36 -0
- package/stdlib/policy.js +478 -124
- package/stdlib/shell.agency +8 -8
- package/stdlib/shell.js +78 -71
- package/stdlib/skills.agency +36 -12
- package/stdlib/skills.js +347 -107
- package/stdlib/speech.js +19 -27
- package/stdlib/statelog.agency +5 -5
- package/stdlib/statelog.js +29 -44
- package/stdlib/strategy.js +25 -37
- package/stdlib/syntax.agency +4 -4
- package/stdlib/syntax.js +18 -25
- package/stdlib/system.agency +6 -6
- package/stdlib/system.js +59 -86
- package/stdlib/tag.js +25 -42
- package/stdlib/thread.agency +20 -14
- package/stdlib/thread.js +89 -108
- package/stdlib/ui/chart.agency +1 -1
- package/stdlib/ui/chart.js +19 -26
- package/stdlib/ui/cli.agency +2 -2
- package/stdlib/ui/cli.js +29 -47
- package/stdlib/ui/layout.agency +9 -9
- package/stdlib/ui/layout.js +74 -109
- package/stdlib/ui/table.agency +1 -1
- package/stdlib/ui/table.js +29 -42
- package/stdlib/ui.agency +6 -6
- package/stdlib/ui.js +242 -395
- package/stdlib/validation.agency +11 -11
- package/stdlib/validation.js +45 -66
- package/stdlib/weather.agency +3 -3
- package/stdlib/weather.js +15 -20
- package/stdlib/web/browser.js +7 -8
- package/stdlib/web/search.agency +2 -2
- package/stdlib/web/search.js +13 -16
- package/stdlib/wikipedia.agency +3 -3
- package/stdlib/wikipedia.js +19 -24
- package/dist/lib/agents/agency-agent/lib/defaultPolicy.agency +0 -227
- package/dist/lib/agents/docs/guide/agency-vs-typescript.md +0 -33
- package/dist/lib/agents/docs/guide/build-integration.md +0 -99
- package/dist/lib/agents/docs/guide/cli-args.md +0 -190
- package/dist/lib/agents/docs/guide/cross-thread-context.md +0 -226
- package/dist/lib/agents/docs/guide/llm-part-2.md +0 -111
- package/dist/lib/agents/docs/guide/tags.md +0 -72
- /package/{dist/lib/agents → stdlib}/docs/cli/agent.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/compile.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/coverage.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/debug.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/doc.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/editor-integration.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/eval-judge.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/eval.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/format.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/index.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/local.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/models.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/optimize.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/pack.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/policy.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/preprocess-and-ast.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/review.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/run.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/schedule.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/serve.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/test.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/cli/trace-and-bundle.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/agency-config-file.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/agency-packages.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/agency-stdlib.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/attachments.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/basic-syntax.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/blocks.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/callbacks.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/checkpointing.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/common-functions.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/compiling-and-running.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/concurrency.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/debugging.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/effects-and-raises.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/effects.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/error-handling.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/exercise-1.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/functions.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/getting-started.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/global-var-initialization.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/global-vs-static.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/guards.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/handlers.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/image-generation.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/imports-and-packages.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/interrupts-from-typescript.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/interrupts-part-2.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/interrupts.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/llm.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/message-threads.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/nodes.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/observability.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/partial-application.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/pattern-matching.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/schemas.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/state-isolation.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/streaming.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/testing.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/troubleshooting.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/ts-interop.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/type-validation.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/unused.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/unused2.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/value-parameterized-types.md +0 -0
- /package/{dist/lib/agents → stdlib}/docs/guide/why-agency.md +0 -0
|
@@ -18,7 +18,13 @@ import {
|
|
|
18
18
|
cliPolicyHandler,
|
|
19
19
|
parsePolicyFile,
|
|
20
20
|
setPolicy,
|
|
21
|
+
minimalAutoApprovePolicy,
|
|
22
|
+
recommendedAutoApprovePolicy,
|
|
23
|
+
builtinPolicy,
|
|
24
|
+
builtinPolicyNames,
|
|
25
|
+
BUILTIN_POLICIES,
|
|
21
26
|
} from "std::policy"
|
|
27
|
+
import { loadMcpToolsWithStatus, mergeMcpServers, isMcpAvailable, readProjectMcpConfig } from "std::mcp"
|
|
22
28
|
import { exists } from "std::shell"
|
|
23
29
|
import { commandsDir, expandSlash } from "std::skills"
|
|
24
30
|
import { highlight } from "std::syntax"
|
|
@@ -49,13 +55,6 @@ import {
|
|
|
49
55
|
HISTORY_PATH,
|
|
50
56
|
ALWAYS_FIELDS,
|
|
51
57
|
} from "./lib/config.agency"
|
|
52
|
-
import {
|
|
53
|
-
minimalAutoApprovePolicy,
|
|
54
|
-
recommendedAutoApprovePolicy,
|
|
55
|
-
builtinPolicy,
|
|
56
|
-
builtinPolicyNames,
|
|
57
|
-
BUILTIN_POLICIES,
|
|
58
|
-
} from "./lib/defaultPolicy.agency"
|
|
59
58
|
import { filterHostedModels, ModelFilters } from "./lib/modelFilters.agency"
|
|
60
59
|
import { parseModelFlag, parseModelSpec, knownProviders, embeddingSpecHasProvider, missingProviderEnvVar, Resolved } from "./lib/models.agency"
|
|
61
60
|
import { SLOTS } from "./lib/slots.agency"
|
|
@@ -80,8 +79,10 @@ import {
|
|
|
80
79
|
providerLacksEmbeddings,
|
|
81
80
|
} from "./lib/capabilities.agency"
|
|
82
81
|
import {
|
|
82
|
+
Settings,
|
|
83
83
|
getCapabilitySettings,
|
|
84
84
|
getModelSettings,
|
|
85
|
+
getMcpServers,
|
|
85
86
|
loadSettings,
|
|
86
87
|
saveSettings,
|
|
87
88
|
} from "./lib/settings.agency"
|
|
@@ -235,6 +236,9 @@ export def retryReasonLabel(reason: string): string {
|
|
|
235
236
|
if (reason == "serverError") {
|
|
236
237
|
return "Server error"
|
|
237
238
|
}
|
|
239
|
+
if (reason == "invalidStructuredOutput") {
|
|
240
|
+
return "Output failed validation"
|
|
241
|
+
}
|
|
238
242
|
return reason
|
|
239
243
|
}
|
|
240
244
|
|
|
@@ -339,6 +343,7 @@ def builtinPalette(): Record<string, string> {
|
|
|
339
343
|
"/local": "Switch to a local model",
|
|
340
344
|
"/search": "Choose the web search backend (hosted / Tavily / Brave / off)",
|
|
341
345
|
"/settings": "View and change capability settings for the current model",
|
|
346
|
+
"/mcp": "List configured MCP servers and their tools",
|
|
342
347
|
"/paste": "Multi-line paste mode (Ctrl+D submits, Ctrl+C cancels)",
|
|
343
348
|
"/help": "Show available slash commands"
|
|
344
349
|
}
|
|
@@ -854,7 +859,7 @@ def _runTurn(msg: string): boolean {
|
|
|
854
859
|
}
|
|
855
860
|
if (trimmed == "/help") {
|
|
856
861
|
pushMessage(
|
|
857
|
-
"Commands: /exit, /clear, /clear-history, /cost, /model, /models, /local, /search, /settings, /paste, /help",
|
|
862
|
+
"Commands: /exit, /clear, /clear-history, /cost, /model, /models, /local, /search, /settings, /mcp, /paste, /help",
|
|
858
863
|
)
|
|
859
864
|
return true
|
|
860
865
|
}
|
|
@@ -863,6 +868,30 @@ def _runTurn(msg: string): boolean {
|
|
|
863
868
|
editCapabilities()
|
|
864
869
|
return true
|
|
865
870
|
}
|
|
871
|
+
if (trimmed == "/mcp") {
|
|
872
|
+
if (!isMcpAvailable()) {
|
|
873
|
+
pushMessage(color.yellow("MCP is not installed. Run: npm install @agency-lang/mcp"))
|
|
874
|
+
return true
|
|
875
|
+
}
|
|
876
|
+
const merged = mergeMcpServers(getMcpServers(loadSettings()), readProjectMcpConfig(cwd()))
|
|
877
|
+
if (keys(merged).length == 0) {
|
|
878
|
+
pushMessage(color.dim("No MCP servers configured. Add an mcpServers block to agency.json or settings.json."))
|
|
879
|
+
return true
|
|
880
|
+
}
|
|
881
|
+
pushMessage(color.bold("MCP servers:"))
|
|
882
|
+
for (name in keys(merged)) {
|
|
883
|
+
// mcpServerStatus is populated at session start. A server present in the
|
|
884
|
+
// config but absent from the status map was never loaded (e.g. /mcp run
|
|
885
|
+
// before startup finished) — show it as unknown rather than connected.
|
|
886
|
+
let status = mcpServerStatus[name]
|
|
887
|
+
if (status == null) {
|
|
888
|
+
status = "not loaded"
|
|
889
|
+
}
|
|
890
|
+
pushMessage(" ${name} — ${status}")
|
|
891
|
+
}
|
|
892
|
+
pushMessage(color.dim("Loaded ${mcpTools.length} MCP tool(s) this session."))
|
|
893
|
+
return true
|
|
894
|
+
}
|
|
866
895
|
if (trimmed == "/search") {
|
|
867
896
|
const opts = availableBackendItems()
|
|
868
897
|
const choice = chooseOption(
|
|
@@ -1303,6 +1332,46 @@ static const mainAgentTools = [
|
|
|
1303
1332
|
generateImageFile,
|
|
1304
1333
|
]
|
|
1305
1334
|
|
|
1335
|
+
// MCP tools are appended to the coordinator's tools. ORDERING CONTRACT:
|
|
1336
|
+
// maybeLoadMcp (session start, in main()) must run before mainAgent's first
|
|
1337
|
+
// turn, or MCP tools silently vanish.
|
|
1338
|
+
let mcpTools: any[] = []
|
|
1339
|
+
// Per-server load outcome ("connected" / "unavailable"), for /mcp.
|
|
1340
|
+
let mcpServerStatus: Record<string, string> = {}
|
|
1341
|
+
|
|
1342
|
+
export def setMcpTools(tools: any[]) {
|
|
1343
|
+
mcpTools = tools
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
def setMcpServerStatus(status: Record<string, string>) {
|
|
1347
|
+
mcpServerStatus = status
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
// MCP OAuth notification. The @agency-lang/mcp package opens the browser itself
|
|
1351
|
+
// (macOS-only today); we only print the URL so the user can complete auth.
|
|
1352
|
+
def onMcpOAuth(data: any) {
|
|
1353
|
+
print(color.yellow("MCP authorization needed — opening browser. If it does not open, visit:\n${data.authUrl}"))
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
/** Load MCP tools from the project agency.json merged with the global settings
|
|
1357
|
+
and hand them to the coordinator. No-op when @agency-lang/mcp is not installed
|
|
1358
|
+
or no servers are configured. loadMcpTools warns-and-skips internally on any
|
|
1359
|
+
per-server failure, so it always returns an array. */
|
|
1360
|
+
def maybeLoadMcp(settings: Settings) {
|
|
1361
|
+
if (!isMcpAvailable()) {
|
|
1362
|
+
return
|
|
1363
|
+
}
|
|
1364
|
+
const merged = mergeMcpServers(getMcpServers(settings), readProjectMcpConfig(cwd()))
|
|
1365
|
+
if (keys(merged).length == 0) {
|
|
1366
|
+
return
|
|
1367
|
+
}
|
|
1368
|
+
// Always returns a result (per-server failures warn-and-skip internally), so
|
|
1369
|
+
// there is no Failure branch. The status map drives /mcp.
|
|
1370
|
+
const loaded = loadMcpToolsWithStatus(merged, onMcpOAuth)
|
|
1371
|
+
setMcpTools(loaded.tools)
|
|
1372
|
+
setMcpServerStatus(loaded.status)
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1306
1375
|
/** Enable memory when the capability profile allows it. When the user
|
|
1307
1376
|
pointed the embedding slot at a provider, embeddings run there. A
|
|
1308
1377
|
missing API key degrades to the default embedding behavior with one
|
|
@@ -1357,7 +1426,7 @@ def mainAgent(prompt: string | (string | Attachment)[]): string {
|
|
|
1357
1426
|
}
|
|
1358
1427
|
const result = llm(prompt, {
|
|
1359
1428
|
memory: true,
|
|
1360
|
-
tools: mainAgentTools
|
|
1429
|
+
tools: [...mainAgentTools, ...mcpTools]
|
|
1361
1430
|
})
|
|
1362
1431
|
}
|
|
1363
1432
|
return result
|
|
@@ -1860,6 +1929,10 @@ node main() {
|
|
|
1860
1929
|
// before any handler/REPL is installed.
|
|
1861
1930
|
maybeEnableMemory()
|
|
1862
1931
|
|
|
1932
|
+
// Connect configured MCP servers and hand their (policy-gated) tools to the
|
|
1933
|
+
// coordinator. Must run before the first turn (mcpTools ordering contract).
|
|
1934
|
+
maybeLoadMcp(loadSettings())
|
|
1935
|
+
|
|
1863
1936
|
// Positional args (everything after flags) are joined with spaces to
|
|
1864
1937
|
// form the starting prompt. `--` ends flag parsing if a positional
|
|
1865
1938
|
// would otherwise look like a flag.
|