agentfootprint 1.22.0 → 2.0.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/AGENTS.md +316 -198
- package/CLAUDE.md +316 -208
- package/README.md +208 -241
- package/ai-instructions/claude-code/SKILL.md +255 -510
- package/ai-instructions/clinerules +127 -52
- package/ai-instructions/copilot-instructions.md +124 -73
- package/ai-instructions/cursor/agentfootprint.md +124 -65
- package/ai-instructions/kiro/agentfootprint.md +124 -65
- package/ai-instructions/windsurfrules +127 -52
- package/dist/adapters/llm/AnthropicProvider.js +282 -0
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -0
- package/dist/adapters/llm/BedrockProvider.js +294 -0
- package/dist/adapters/llm/BedrockProvider.js.map +1 -0
- package/dist/adapters/llm/BrowserAnthropicProvider.js +334 -0
- package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -0
- package/dist/adapters/llm/BrowserOpenAIProvider.js +332 -0
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -0
- package/dist/adapters/llm/MockProvider.js +187 -0
- package/dist/adapters/llm/MockProvider.js.map +1 -0
- package/dist/adapters/llm/OpenAIProvider.js +353 -0
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -0
- package/dist/adapters/llm/createProvider.js +57 -0
- package/dist/adapters/llm/createProvider.js.map +1 -0
- package/dist/adapters/types.js +17 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/bridge/eventMeta.js +62 -0
- package/dist/bridge/eventMeta.js.map +1 -0
- package/dist/conventions.js +110 -0
- package/dist/conventions.js.map +1 -0
- package/dist/core/Agent.js +1015 -0
- package/dist/core/Agent.js.map +1 -0
- package/dist/core/LLMCall.js +258 -0
- package/dist/core/LLMCall.js.map +1 -0
- package/dist/core/RunnerBase.js +184 -0
- package/dist/core/RunnerBase.js.map +1 -0
- package/dist/core/cost.js +63 -0
- package/dist/core/cost.js.map +1 -0
- package/dist/core/pause.js +83 -0
- package/dist/core/pause.js.map +1 -0
- package/dist/core/runner.js +17 -0
- package/dist/core/runner.js.map +1 -0
- package/dist/core/slots/buildMessagesSlot.js +105 -0
- package/dist/core/slots/buildMessagesSlot.js.map +1 -0
- package/dist/core/slots/buildSystemPromptSlot.js +81 -0
- package/dist/core/slots/buildSystemPromptSlot.js.map +1 -0
- package/dist/core/slots/buildToolsSlot.js +85 -0
- package/dist/core/slots/buildToolsSlot.js.map +1 -0
- package/dist/core/slots/helpers.js +65 -0
- package/dist/core/slots/helpers.js.map +1 -0
- package/dist/core/tools.js +42 -0
- package/dist/core/tools.js.map +1 -0
- package/dist/core-flow/Conditional.js +237 -0
- package/dist/core-flow/Conditional.js.map +1 -0
- package/dist/core-flow/Loop.js +264 -0
- package/dist/core-flow/Loop.js.map +1 -0
- package/dist/core-flow/Parallel.js +344 -0
- package/dist/core-flow/Parallel.js.map +1 -0
- package/dist/core-flow/Sequence.js +194 -0
- package/dist/core-flow/Sequence.js.map +1 -0
- package/dist/esm/adapters/llm/AnthropicProvider.js +277 -0
- package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -0
- package/dist/esm/adapters/llm/BedrockProvider.js +289 -0
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -0
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +329 -0
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -0
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +327 -0
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -0
- package/dist/esm/adapters/llm/MockProvider.js +182 -0
- package/dist/esm/adapters/llm/MockProvider.js.map +1 -0
- package/dist/esm/adapters/llm/OpenAIProvider.js +347 -0
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -0
- package/dist/esm/adapters/llm/createProvider.js +53 -0
- package/dist/esm/adapters/llm/createProvider.js.map +1 -0
- package/dist/esm/adapters/types.js +16 -0
- package/dist/esm/adapters/types.js.map +1 -0
- package/dist/esm/bridge/eventMeta.js +57 -0
- package/dist/esm/bridge/eventMeta.js.map +1 -0
- package/dist/esm/conventions.js +101 -0
- package/dist/esm/conventions.js.map +1 -0
- package/dist/esm/core/Agent.js +1010 -0
- package/dist/esm/core/Agent.js.map +1 -0
- package/dist/esm/core/LLMCall.js +253 -0
- package/dist/esm/core/LLMCall.js.map +1 -0
- package/dist/esm/core/RunnerBase.js +179 -0
- package/dist/esm/core/RunnerBase.js.map +1 -0
- package/dist/esm/core/cost.js +59 -0
- package/dist/esm/core/cost.js.map +1 -0
- package/dist/esm/core/pause.js +76 -0
- package/dist/esm/core/pause.js.map +1 -0
- package/dist/esm/core/runner.js +16 -0
- package/dist/esm/core/runner.js.map +1 -0
- package/dist/esm/core/slots/buildMessagesSlot.js +101 -0
- package/dist/esm/core/slots/buildMessagesSlot.js.map +1 -0
- package/dist/esm/core/slots/buildSystemPromptSlot.js +77 -0
- package/dist/esm/core/slots/buildSystemPromptSlot.js.map +1 -0
- package/dist/esm/core/slots/buildToolsSlot.js +81 -0
- package/dist/esm/core/slots/buildToolsSlot.js.map +1 -0
- package/dist/esm/core/slots/helpers.js +58 -0
- package/dist/esm/core/slots/helpers.js.map +1 -0
- package/dist/esm/core/tools.js +38 -0
- package/dist/esm/core/tools.js.map +1 -0
- package/dist/esm/core-flow/Conditional.js +232 -0
- package/dist/esm/core-flow/Conditional.js.map +1 -0
- package/dist/esm/core-flow/Loop.js +259 -0
- package/dist/esm/core-flow/Loop.js.map +1 -0
- package/dist/esm/core-flow/Parallel.js +339 -0
- package/dist/esm/core-flow/Parallel.js.map +1 -0
- package/dist/esm/core-flow/Sequence.js +189 -0
- package/dist/esm/core-flow/Sequence.js.map +1 -0
- package/dist/esm/events/dispatcher.js +193 -0
- package/dist/esm/events/dispatcher.js.map +1 -0
- package/dist/esm/events/payloads.js +9 -0
- package/dist/esm/events/payloads.js.map +1 -0
- package/dist/esm/events/registry.js +151 -0
- package/dist/esm/events/registry.js.map +1 -0
- package/dist/esm/events/types.js +9 -0
- package/dist/esm/events/types.js.map +1 -0
- package/dist/esm/index.js +118 -33
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/injection-engine.js +5 -0
- package/dist/esm/injection-engine.js.map +1 -0
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js +77 -0
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -0
- package/dist/esm/lib/injection-engine/evaluator.js +75 -0
- package/dist/esm/lib/injection-engine/evaluator.js.map +1 -0
- package/dist/esm/lib/injection-engine/factories/defineFact.js +54 -0
- package/dist/esm/lib/injection-engine/factories/defineFact.js.map +1 -0
- package/dist/esm/lib/injection-engine/factories/defineInstruction.js +52 -0
- package/dist/esm/lib/injection-engine/factories/defineInstruction.js.map +1 -0
- package/dist/esm/lib/injection-engine/factories/defineSkill.js +53 -0
- package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -0
- package/dist/esm/lib/injection-engine/factories/defineSteering.js +35 -0
- package/dist/esm/lib/injection-engine/factories/defineSteering.js.map +1 -0
- package/dist/esm/lib/injection-engine/index.js +70 -0
- package/dist/esm/lib/injection-engine/index.js.map +1 -0
- package/dist/esm/lib/injection-engine/types.js +38 -0
- package/dist/esm/lib/injection-engine/types.js.map +1 -0
- package/dist/esm/memory/beats/llmExtractor.js +7 -20
- package/dist/esm/memory/beats/llmExtractor.js.map +1 -1
- package/dist/esm/memory/causal/index.js +5 -0
- package/dist/esm/memory/causal/index.js.map +1 -0
- package/dist/esm/memory/causal/loadSnapshot.js +112 -0
- package/dist/esm/memory/causal/loadSnapshot.js.map +1 -0
- package/dist/esm/memory/causal/snapshotPipeline.js +36 -0
- package/dist/esm/memory/causal/snapshotPipeline.js.map +1 -0
- package/dist/esm/memory/causal/types.js +25 -0
- package/dist/esm/memory/causal/types.js.map +1 -0
- package/dist/esm/memory/causal/writeSnapshot.js +75 -0
- package/dist/esm/memory/causal/writeSnapshot.js.map +1 -0
- package/dist/esm/memory/define.js +330 -0
- package/dist/esm/memory/define.js.map +1 -0
- package/dist/esm/memory/define.types.js +134 -0
- package/dist/esm/memory/define.types.js.map +1 -0
- package/dist/esm/memory/embedding/embedMessages.js +1 -15
- package/dist/esm/memory/embedding/embedMessages.js.map +1 -1
- package/dist/esm/memory/embedding/loadRelevant.js +1 -13
- package/dist/esm/memory/embedding/loadRelevant.js.map +1 -1
- package/dist/esm/memory/facts/llmFactExtractor.js +7 -20
- package/dist/esm/memory/facts/llmFactExtractor.js.map +1 -1
- package/dist/esm/memory/facts/patternFactExtractor.js +1 -15
- package/dist/esm/memory/facts/patternFactExtractor.js.map +1 -1
- package/dist/esm/memory/index.js +20 -1
- package/dist/esm/memory/index.js.map +1 -1
- package/dist/esm/memory/pipeline/auto.js +9 -10
- package/dist/esm/memory/pipeline/auto.js.map +1 -1
- package/dist/esm/memory/pipeline/default.js +14 -8
- package/dist/esm/memory/pipeline/default.js.map +1 -1
- package/dist/esm/memory/pipeline/fact.js +8 -10
- package/dist/esm/memory/pipeline/fact.js.map +1 -1
- package/dist/esm/memory/pipeline/narrative.js +9 -10
- package/dist/esm/memory/pipeline/narrative.js.map +1 -1
- package/dist/esm/memory/pipeline/semantic.js +8 -13
- package/dist/esm/memory/pipeline/semantic.js.map +1 -1
- package/dist/esm/memory/stages/formatDefault.js +1 -19
- package/dist/esm/memory/stages/formatDefault.js.map +1 -1
- package/dist/esm/memory/stages/tokenize.js +1 -21
- package/dist/esm/memory/stages/tokenize.js.map +1 -1
- package/dist/esm/observe.js +51 -0
- package/dist/esm/observe.js.map +1 -0
- package/dist/esm/patterns/Debate.js +61 -0
- package/dist/esm/patterns/Debate.js.map +1 -0
- package/dist/esm/patterns/MapReduce.js +162 -0
- package/dist/esm/patterns/MapReduce.js.map +1 -0
- package/dist/esm/patterns/Reflection.js +64 -0
- package/dist/esm/patterns/Reflection.js.map +1 -0
- package/dist/esm/patterns/SelfConsistency.js +71 -0
- package/dist/esm/patterns/SelfConsistency.js.map +1 -0
- package/dist/esm/patterns/Swarm.js +88 -0
- package/dist/esm/patterns/Swarm.js.map +1 -0
- package/dist/esm/patterns/ToT.js +98 -0
- package/dist/esm/patterns/ToT.js.map +1 -0
- package/dist/esm/patterns/index.js +18 -13
- package/dist/esm/patterns/index.js.map +1 -1
- package/dist/esm/providers.js +27 -0
- package/dist/esm/providers.js.map +1 -0
- package/dist/esm/recorders/core/AgentRecorder.js +20 -0
- package/dist/esm/recorders/core/AgentRecorder.js.map +1 -0
- package/dist/esm/recorders/core/CompositionRecorder.js +22 -0
- package/dist/esm/recorders/core/CompositionRecorder.js.map +1 -0
- package/dist/esm/recorders/core/ContextRecorder.js +218 -0
- package/dist/esm/recorders/core/ContextRecorder.js.map +1 -0
- package/dist/esm/recorders/core/CostRecorder.js +19 -0
- package/dist/esm/recorders/core/CostRecorder.js.map +1 -0
- package/dist/esm/recorders/core/EmitBridge.js +41 -0
- package/dist/esm/recorders/core/EmitBridge.js.map +1 -0
- package/dist/esm/recorders/core/EvalRecorder.js +21 -0
- package/dist/esm/recorders/core/EvalRecorder.js.map +1 -0
- package/dist/esm/recorders/core/MemoryRecorder.js +22 -0
- package/dist/esm/recorders/core/MemoryRecorder.js.map +1 -0
- package/dist/esm/recorders/core/PermissionRecorder.js +21 -0
- package/dist/esm/recorders/core/PermissionRecorder.js.map +1 -0
- package/dist/esm/recorders/core/SkillRecorder.js +19 -0
- package/dist/esm/recorders/core/SkillRecorder.js.map +1 -0
- package/dist/esm/recorders/core/StreamRecorder.js +20 -0
- package/dist/esm/recorders/core/StreamRecorder.js.map +1 -0
- package/dist/esm/recorders/core/typedEmit.js +27 -0
- package/dist/esm/recorders/core/typedEmit.js.map +1 -0
- package/dist/esm/recorders/core/types.js +16 -0
- package/dist/esm/recorders/core/types.js.map +1 -0
- package/dist/esm/recorders/observability/BoundaryRecorder.js +466 -0
- package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -0
- package/dist/esm/recorders/observability/FlowchartRecorder.js +495 -0
- package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -0
- package/dist/esm/recorders/observability/LoggingRecorder.js +98 -0
- package/dist/esm/recorders/observability/LoggingRecorder.js.map +1 -0
- package/dist/esm/recorders/observability/ThinkingRecorder.js +59 -0
- package/dist/esm/recorders/observability/ThinkingRecorder.js.map +1 -0
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +202 -0
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -0
- package/dist/esm/recorders/observability/thinking/thinkingTemplates.js +185 -0
- package/dist/esm/recorders/observability/thinking/thinkingTemplates.js.map +1 -0
- package/dist/esm/resilience/fallbackProvider.js +53 -0
- package/dist/esm/resilience/fallbackProvider.js.map +1 -0
- package/dist/esm/resilience/index.js +65 -0
- package/dist/esm/resilience/index.js.map +1 -0
- package/dist/esm/resilience/withFallback.js +106 -0
- package/dist/esm/resilience/withFallback.js.map +1 -0
- package/dist/esm/resilience/withRetry.js +110 -0
- package/dist/esm/resilience/withRetry.js.map +1 -0
- package/dist/esm/stream.js +146 -0
- package/dist/esm/stream.js.map +1 -0
- package/dist/events/dispatcher.js +197 -0
- package/dist/events/dispatcher.js.map +1 -0
- package/dist/events/payloads.js +10 -0
- package/dist/events/payloads.js.map +1 -0
- package/dist/events/registry.js +154 -0
- package/dist/events/registry.js.map +1 -0
- package/dist/events/types.js +10 -0
- package/dist/events/types.js.map +1 -0
- package/dist/index.js +220 -88
- package/dist/index.js.map +1 -1
- package/dist/injection-engine.js +21 -0
- package/dist/injection-engine.js.map +1 -0
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js +81 -0
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -0
- package/dist/lib/injection-engine/evaluator.js +79 -0
- package/dist/lib/injection-engine/evaluator.js.map +1 -0
- package/dist/lib/injection-engine/factories/defineFact.js +58 -0
- package/dist/lib/injection-engine/factories/defineFact.js.map +1 -0
- package/dist/lib/injection-engine/factories/defineInstruction.js +56 -0
- package/dist/lib/injection-engine/factories/defineInstruction.js.map +1 -0
- package/dist/lib/injection-engine/factories/defineSkill.js +57 -0
- package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -0
- package/dist/lib/injection-engine/factories/defineSteering.js +39 -0
- package/dist/lib/injection-engine/factories/defineSteering.js.map +1 -0
- package/dist/lib/injection-engine/index.js +79 -0
- package/dist/lib/injection-engine/index.js.map +1 -0
- package/dist/lib/injection-engine/types.js +42 -0
- package/dist/lib/injection-engine/types.js.map +1 -0
- package/dist/memory/beats/llmExtractor.js +7 -20
- package/dist/memory/beats/llmExtractor.js.map +1 -1
- package/dist/memory/causal/index.js +12 -0
- package/dist/memory/causal/index.js.map +1 -0
- package/dist/memory/causal/loadSnapshot.js +116 -0
- package/dist/memory/causal/loadSnapshot.js.map +1 -0
- package/dist/memory/causal/snapshotPipeline.js +40 -0
- package/dist/memory/causal/snapshotPipeline.js.map +1 -0
- package/dist/memory/causal/types.js +28 -0
- package/dist/memory/causal/types.js.map +1 -0
- package/dist/memory/causal/writeSnapshot.js +79 -0
- package/dist/memory/causal/writeSnapshot.js.map +1 -0
- package/dist/memory/define.js +335 -0
- package/dist/memory/define.js.map +1 -0
- package/dist/memory/define.types.js +143 -0
- package/dist/memory/define.types.js.map +1 -0
- package/dist/memory/embedding/embedMessages.js +1 -15
- package/dist/memory/embedding/embedMessages.js.map +1 -1
- package/dist/memory/embedding/loadRelevant.js +1 -13
- package/dist/memory/embedding/loadRelevant.js.map +1 -1
- package/dist/memory/facts/llmFactExtractor.js +7 -20
- package/dist/memory/facts/llmFactExtractor.js.map +1 -1
- package/dist/memory/facts/patternFactExtractor.js +1 -15
- package/dist/memory/facts/patternFactExtractor.js.map +1 -1
- package/dist/memory/index.js +47 -7
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/pipeline/auto.js +9 -10
- package/dist/memory/pipeline/auto.js.map +1 -1
- package/dist/memory/pipeline/default.js +14 -8
- package/dist/memory/pipeline/default.js.map +1 -1
- package/dist/memory/pipeline/fact.js +8 -10
- package/dist/memory/pipeline/fact.js.map +1 -1
- package/dist/memory/pipeline/narrative.js +9 -10
- package/dist/memory/pipeline/narrative.js.map +1 -1
- package/dist/memory/pipeline/semantic.js +8 -13
- package/dist/memory/pipeline/semantic.js.map +1 -1
- package/dist/memory/stages/formatDefault.js +1 -19
- package/dist/memory/stages/formatDefault.js.map +1 -1
- package/dist/memory/stages/tokenize.js +1 -21
- package/dist/memory/stages/tokenize.js.map +1 -1
- package/dist/observe.js +71 -0
- package/dist/observe.js.map +1 -0
- package/dist/patterns/Debate.js +65 -0
- package/dist/patterns/Debate.js.map +1 -0
- package/dist/patterns/MapReduce.js +166 -0
- package/dist/patterns/MapReduce.js.map +1 -0
- package/dist/patterns/Reflection.js +68 -0
- package/dist/patterns/Reflection.js.map +1 -0
- package/dist/patterns/SelfConsistency.js +75 -0
- package/dist/patterns/SelfConsistency.js.map +1 -0
- package/dist/patterns/Swarm.js +92 -0
- package/dist/patterns/Swarm.js.map +1 -0
- package/dist/patterns/ToT.js +102 -0
- package/dist/patterns/ToT.js.map +1 -0
- package/dist/patterns/index.js +25 -18
- package/dist/patterns/index.js.map +1 -1
- package/dist/providers.js +44 -0
- package/dist/providers.js.map +1 -0
- package/dist/recorders/core/AgentRecorder.js +24 -0
- package/dist/recorders/core/AgentRecorder.js.map +1 -0
- package/dist/recorders/core/CompositionRecorder.js +26 -0
- package/dist/recorders/core/CompositionRecorder.js.map +1 -0
- package/dist/recorders/core/ContextRecorder.js +222 -0
- package/dist/recorders/core/ContextRecorder.js.map +1 -0
- package/dist/recorders/core/CostRecorder.js +23 -0
- package/dist/recorders/core/CostRecorder.js.map +1 -0
- package/dist/recorders/core/EmitBridge.js +45 -0
- package/dist/recorders/core/EmitBridge.js.map +1 -0
- package/dist/recorders/core/EvalRecorder.js +25 -0
- package/dist/recorders/core/EvalRecorder.js.map +1 -0
- package/dist/recorders/core/MemoryRecorder.js +26 -0
- package/dist/recorders/core/MemoryRecorder.js.map +1 -0
- package/dist/recorders/core/PermissionRecorder.js +25 -0
- package/dist/recorders/core/PermissionRecorder.js.map +1 -0
- package/dist/recorders/core/SkillRecorder.js +23 -0
- package/dist/recorders/core/SkillRecorder.js.map +1 -0
- package/dist/recorders/core/StreamRecorder.js +24 -0
- package/dist/recorders/core/StreamRecorder.js.map +1 -0
- package/dist/recorders/core/typedEmit.js +31 -0
- package/dist/recorders/core/typedEmit.js.map +1 -0
- package/dist/recorders/core/types.js +19 -0
- package/dist/recorders/core/types.js.map +1 -0
- package/dist/recorders/observability/BoundaryRecorder.js +471 -0
- package/dist/recorders/observability/BoundaryRecorder.js.map +1 -0
- package/dist/recorders/observability/FlowchartRecorder.js +500 -0
- package/dist/recorders/observability/FlowchartRecorder.js.map +1 -0
- package/dist/recorders/observability/LoggingRecorder.js +102 -0
- package/dist/recorders/observability/LoggingRecorder.js.map +1 -0
- package/dist/recorders/observability/ThinkingRecorder.js +63 -0
- package/dist/recorders/observability/ThinkingRecorder.js.map +1 -0
- package/dist/recorders/observability/commentary/commentaryTemplates.js +208 -0
- package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -0
- package/dist/recorders/observability/thinking/thinkingTemplates.js +190 -0
- package/dist/recorders/observability/thinking/thinkingTemplates.js.map +1 -0
- package/dist/resilience/fallbackProvider.js +57 -0
- package/dist/resilience/fallbackProvider.js.map +1 -0
- package/dist/resilience/index.js +71 -0
- package/dist/resilience/index.js.map +1 -0
- package/dist/resilience/withFallback.js +110 -0
- package/dist/resilience/withFallback.js.map +1 -0
- package/dist/resilience/withRetry.js +114 -0
- package/dist/resilience/withRetry.js.map +1 -0
- package/dist/stream.js +152 -0
- package/dist/stream.js.map +1 -0
- package/dist/types/adapters/llm/AnthropicProvider.d.ts +151 -0
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -0
- package/dist/types/adapters/llm/BedrockProvider.d.ts +127 -0
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -0
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +72 -0
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -0
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +52 -0
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -0
- package/dist/types/adapters/llm/MockProvider.d.ts +109 -0
- package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -0
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +181 -0
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -0
- package/dist/types/adapters/llm/createProvider.d.ts +57 -0
- package/dist/types/adapters/llm/createProvider.d.ts.map +1 -0
- package/dist/types/adapters/types.d.ts +159 -0
- package/dist/types/adapters/types.d.ts.map +1 -0
- package/dist/types/bridge/eventMeta.d.ts +60 -0
- package/dist/types/bridge/eventMeta.d.ts.map +1 -0
- package/dist/types/conventions.d.ts +71 -0
- package/dist/types/conventions.d.ts.map +1 -0
- package/dist/types/core/Agent.d.ts +219 -0
- package/dist/types/core/Agent.d.ts.map +1 -0
- package/dist/types/core/LLMCall.d.ts +78 -0
- package/dist/types/core/LLMCall.d.ts.map +1 -0
- package/dist/types/core/RunnerBase.d.ts +95 -0
- package/dist/types/core/RunnerBase.d.ts.map +1 -0
- package/dist/types/core/cost.d.ts +39 -0
- package/dist/types/core/cost.d.ts.map +1 -0
- package/dist/types/core/pause.d.ts +75 -0
- package/dist/types/core/pause.d.ts.map +1 -0
- package/dist/types/core/runner.d.ts +105 -0
- package/dist/types/core/runner.d.ts.map +1 -0
- package/dist/types/core/slots/buildMessagesSlot.d.ts +41 -0
- package/dist/types/core/slots/buildMessagesSlot.d.ts.map +1 -0
- package/dist/types/core/slots/buildSystemPromptSlot.d.ts +42 -0
- package/dist/types/core/slots/buildSystemPromptSlot.d.ts.map +1 -0
- package/dist/types/core/slots/buildToolsSlot.d.ts +31 -0
- package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -0
- package/dist/types/core/slots/helpers.d.ts +28 -0
- package/dist/types/core/slots/helpers.d.ts.map +1 -0
- package/dist/types/core/tools.d.ts +73 -0
- package/dist/types/core/tools.d.ts.map +1 -0
- package/dist/types/core-flow/Conditional.d.ts +76 -0
- package/dist/types/core-flow/Conditional.d.ts.map +1 -0
- package/dist/types/core-flow/Loop.d.ts +99 -0
- package/dist/types/core-flow/Loop.d.ts.map +1 -0
- package/dist/types/core-flow/Parallel.d.ts +115 -0
- package/dist/types/core-flow/Parallel.d.ts.map +1 -0
- package/dist/types/core-flow/Sequence.d.ts +88 -0
- package/dist/types/core-flow/Sequence.d.ts.map +1 -0
- package/dist/types/events/dispatcher.d.ts +82 -0
- package/dist/types/events/dispatcher.d.ts.map +1 -0
- package/dist/types/events/payloads.d.ts +332 -0
- package/dist/types/events/payloads.d.ts.map +1 -0
- package/dist/types/events/registry.d.ts +155 -0
- package/dist/types/events/registry.d.ts.map +1 -0
- package/dist/types/events/types.d.ts +71 -0
- package/dist/types/events/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +54 -34
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/injection-engine.d.ts +5 -0
- package/dist/types/injection-engine.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts +46 -0
- package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/evaluator.d.ts +25 -0
- package/dist/types/lib/injection-engine/evaluator.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/factories/defineFact.d.ts +52 -0
- package/dist/types/lib/injection-engine/factories/defineFact.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/factories/defineInstruction.d.ts +68 -0
- package/dist/types/lib/injection-engine/factories/defineInstruction.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +47 -0
- package/dist/types/lib/injection-engine/factories/defineSkill.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/factories/defineSteering.d.ts +28 -0
- package/dist/types/lib/injection-engine/factories/defineSteering.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/index.d.ts +69 -0
- package/dist/types/lib/injection-engine/index.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/types.d.ts +175 -0
- package/dist/types/lib/injection-engine/types.d.ts.map +1 -0
- package/dist/types/memory/beats/extractor.d.ts +1 -1
- package/dist/types/memory/beats/extractor.d.ts.map +1 -1
- package/dist/types/memory/beats/llmExtractor.d.ts +2 -2
- package/dist/types/memory/beats/llmExtractor.d.ts.map +1 -1
- package/dist/types/memory/causal/index.d.ts +6 -0
- package/dist/types/memory/causal/index.d.ts.map +1 -0
- package/dist/types/memory/causal/loadSnapshot.d.ts +52 -0
- package/dist/types/memory/causal/loadSnapshot.d.ts.map +1 -0
- package/dist/types/memory/causal/snapshotPipeline.d.ts +36 -0
- package/dist/types/memory/causal/snapshotPipeline.d.ts.map +1 -0
- package/dist/types/memory/causal/types.d.ts +131 -0
- package/dist/types/memory/causal/types.d.ts.map +1 -0
- package/dist/types/memory/causal/writeSnapshot.d.ts +57 -0
- package/dist/types/memory/causal/writeSnapshot.d.ts.map +1 -0
- package/dist/types/memory/define.d.ts +78 -0
- package/dist/types/memory/define.d.ts.map +1 -0
- package/dist/types/memory/define.types.d.ts +284 -0
- package/dist/types/memory/define.types.d.ts.map +1 -0
- package/dist/types/memory/embedding/embedMessages.d.ts +1 -1
- package/dist/types/memory/embedding/embedMessages.d.ts.map +1 -1
- package/dist/types/memory/embedding/loadRelevant.d.ts.map +1 -1
- package/dist/types/memory/facts/extractor.d.ts +1 -1
- package/dist/types/memory/facts/extractor.d.ts.map +1 -1
- package/dist/types/memory/facts/llmFactExtractor.d.ts +2 -2
- package/dist/types/memory/facts/llmFactExtractor.d.ts.map +1 -1
- package/dist/types/memory/facts/patternFactExtractor.d.ts.map +1 -1
- package/dist/types/memory/index.d.ts +19 -1
- package/dist/types/memory/index.d.ts.map +1 -1
- package/dist/types/memory/pipeline/auto.d.ts +1 -1
- package/dist/types/memory/pipeline/auto.d.ts.map +1 -1
- package/dist/types/memory/pipeline/default.d.ts.map +1 -1
- package/dist/types/memory/pipeline/fact.d.ts.map +1 -1
- package/dist/types/memory/pipeline/narrative.d.ts +1 -1
- package/dist/types/memory/pipeline/narrative.d.ts.map +1 -1
- package/dist/types/memory/pipeline/semantic.d.ts +1 -1
- package/dist/types/memory/pipeline/semantic.d.ts.map +1 -1
- package/dist/types/memory/pipeline/types.d.ts +1 -1
- package/dist/types/memory/stages/formatDefault.d.ts +1 -1
- package/dist/types/memory/stages/formatDefault.d.ts.map +1 -1
- package/dist/types/memory/stages/summarize.d.ts +1 -1
- package/dist/types/memory/stages/summarize.d.ts.map +1 -1
- package/dist/types/memory/stages/tokenize.d.ts +1 -1
- package/dist/types/memory/stages/tokenize.d.ts.map +1 -1
- package/dist/types/memory/stages/types.d.ts +1 -1
- package/dist/types/memory/stages/types.d.ts.map +1 -1
- package/dist/types/memory/stages/writeMessages.d.ts +1 -1
- package/dist/types/memory/stages/writeMessages.d.ts.map +1 -1
- package/dist/types/observe.d.ts +47 -0
- package/dist/types/observe.d.ts.map +1 -0
- package/dist/types/patterns/Debate.d.ts +40 -0
- package/dist/types/patterns/Debate.d.ts.map +1 -0
- package/dist/types/patterns/MapReduce.d.ts +67 -0
- package/dist/types/patterns/MapReduce.d.ts.map +1 -0
- package/dist/types/patterns/Reflection.d.ts +52 -0
- package/dist/types/patterns/Reflection.d.ts.map +1 -0
- package/dist/types/patterns/SelfConsistency.d.ts +44 -0
- package/dist/types/patterns/SelfConsistency.d.ts.map +1 -0
- package/dist/types/patterns/Swarm.d.ts +61 -0
- package/dist/types/patterns/Swarm.d.ts.map +1 -0
- package/dist/types/patterns/ToT.d.ts +54 -0
- package/dist/types/patterns/ToT.d.ts.map +1 -0
- package/dist/types/patterns/index.d.ts +18 -17
- package/dist/types/patterns/index.d.ts.map +1 -1
- package/dist/types/providers.d.ts +28 -0
- package/dist/types/providers.d.ts.map +1 -0
- package/dist/types/recorders/core/AgentRecorder.d.ts +16 -0
- package/dist/types/recorders/core/AgentRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/CompositionRecorder.d.ts +18 -0
- package/dist/types/recorders/core/CompositionRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/ContextRecorder.d.ts +50 -0
- package/dist/types/recorders/core/ContextRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/CostRecorder.d.ts +15 -0
- package/dist/types/recorders/core/CostRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/EmitBridge.d.ts +31 -0
- package/dist/types/recorders/core/EmitBridge.d.ts.map +1 -0
- package/dist/types/recorders/core/EvalRecorder.d.ts +17 -0
- package/dist/types/recorders/core/EvalRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/MemoryRecorder.d.ts +18 -0
- package/dist/types/recorders/core/MemoryRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/PermissionRecorder.d.ts +17 -0
- package/dist/types/recorders/core/PermissionRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/SkillRecorder.d.ts +15 -0
- package/dist/types/recorders/core/SkillRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/StreamRecorder.d.ts +16 -0
- package/dist/types/recorders/core/StreamRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/typedEmit.d.ts +35 -0
- package/dist/types/recorders/core/typedEmit.d.ts.map +1 -0
- package/dist/types/recorders/core/types.d.ts +98 -0
- package/dist/types/recorders/core/types.d.ts.map +1 -0
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts +301 -0
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -0
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts +205 -0
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -0
- package/dist/types/recorders/observability/LoggingRecorder.d.ts +89 -0
- package/dist/types/recorders/observability/LoggingRecorder.d.ts.map +1 -0
- package/dist/types/recorders/observability/ThinkingRecorder.d.ts +35 -0
- package/dist/types/recorders/observability/ThinkingRecorder.d.ts.map +1 -0
- package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts +96 -0
- package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -0
- package/dist/types/recorders/observability/thinking/thinkingTemplates.d.ts +107 -0
- package/dist/types/recorders/observability/thinking/thinkingTemplates.d.ts.map +1 -0
- package/dist/types/resilience/fallbackProvider.d.ts +34 -0
- package/dist/types/resilience/fallbackProvider.d.ts.map +1 -0
- package/dist/types/resilience/index.d.ts +65 -0
- package/dist/types/resilience/index.d.ts.map +1 -0
- package/dist/types/resilience/withFallback.d.ts +46 -0
- package/dist/types/resilience/withFallback.d.ts.map +1 -0
- package/dist/types/resilience/withRetry.d.ts +54 -0
- package/dist/types/resilience/withRetry.d.ts.map +1 -0
- package/dist/types/stream.d.ts +112 -0
- package/dist/types/stream.d.ts.map +1 -0
- package/package.json +26 -89
- package/dist/adapters/a2a/a2aRunner.js +0 -36
- package/dist/adapters/a2a/a2aRunner.js.map +0 -1
- package/dist/adapters/anthropic/AnthropicAdapter.js +0 -292
- package/dist/adapters/anthropic/AnthropicAdapter.js.map +0 -1
- package/dist/adapters/bedrock/BedrockAdapter.js +0 -313
- package/dist/adapters/bedrock/BedrockAdapter.js.map +0 -1
- package/dist/adapters/browser/BrowserAnthropicAdapter.js +0 -381
- package/dist/adapters/browser/BrowserAnthropicAdapter.js.map +0 -1
- package/dist/adapters/browser/BrowserOpenAIAdapter.js +0 -317
- package/dist/adapters/browser/BrowserOpenAIAdapter.js.map +0 -1
- package/dist/adapters/browser/index.js +0 -8
- package/dist/adapters/browser/index.js.map +0 -1
- package/dist/adapters/createAdapterSubflow.js +0 -46
- package/dist/adapters/createAdapterSubflow.js.map +0 -1
- package/dist/adapters/createProvider.js +0 -107
- package/dist/adapters/createProvider.js.map +0 -1
- package/dist/adapters/fallbackProvider.js +0 -94
- package/dist/adapters/fallbackProvider.js.map +0 -1
- package/dist/adapters/index.js +0 -41
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/mcp/mcpToolProvider.js +0 -44
- package/dist/adapters/mcp/mcpToolProvider.js.map +0 -1
- package/dist/adapters/mock/MockAdapter.js +0 -66
- package/dist/adapters/mock/MockAdapter.js.map +0 -1
- package/dist/adapters/mock/MockRetriever.js +0 -61
- package/dist/adapters/mock/MockRetriever.js.map +0 -1
- package/dist/adapters/openai/OpenAIAdapter.js +0 -278
- package/dist/adapters/openai/OpenAIAdapter.js.map +0 -1
- package/dist/adapters/resilientProvider.js +0 -93
- package/dist/adapters/resilientProvider.js.map +0 -1
- package/dist/compositions/index.js +0 -17
- package/dist/compositions/index.js.map +0 -1
- package/dist/compositions/withCircuitBreaker.js +0 -84
- package/dist/compositions/withCircuitBreaker.js.map +0 -1
- package/dist/compositions/withFallback.js +0 -33
- package/dist/compositions/withFallback.js.map +0 -1
- package/dist/compositions/withRetry.js +0 -59
- package/dist/compositions/withRetry.js.map +0 -1
- package/dist/concepts/Conditional.js +0 -306
- package/dist/concepts/Conditional.js.map +0 -1
- package/dist/concepts/FlowChart.js +0 -239
- package/dist/concepts/FlowChart.js.map +0 -1
- package/dist/concepts/LLMCall.js +0 -214
- package/dist/concepts/LLMCall.js.map +0 -1
- package/dist/concepts/Parallel.js +0 -289
- package/dist/concepts/Parallel.js.map +0 -1
- package/dist/concepts/RAG.js +0 -244
- package/dist/concepts/RAG.js.map +0 -1
- package/dist/concepts/Swarm.js +0 -310
- package/dist/concepts/Swarm.js.map +0 -1
- package/dist/concepts/index.js +0 -26
- package/dist/concepts/index.js.map +0 -1
- package/dist/concepts/specIcons.js +0 -50
- package/dist/concepts/specIcons.js.map +0 -1
- package/dist/core/config.js +0 -7
- package/dist/core/config.js.map +0 -1
- package/dist/core/index.js +0 -14
- package/dist/core/index.js.map +0 -1
- package/dist/core/providers.js +0 -19
- package/dist/core/providers.js.map +0 -1
- package/dist/core/recorders.js +0 -7
- package/dist/core/recorders.js.map +0 -1
- package/dist/esm/adapters/a2a/a2aRunner.js +0 -32
- package/dist/esm/adapters/a2a/a2aRunner.js.map +0 -1
- package/dist/esm/adapters/anthropic/AnthropicAdapter.js +0 -288
- package/dist/esm/adapters/anthropic/AnthropicAdapter.js.map +0 -1
- package/dist/esm/adapters/bedrock/BedrockAdapter.js +0 -309
- package/dist/esm/adapters/bedrock/BedrockAdapter.js.map +0 -1
- package/dist/esm/adapters/browser/BrowserAnthropicAdapter.js +0 -377
- package/dist/esm/adapters/browser/BrowserAnthropicAdapter.js.map +0 -1
- package/dist/esm/adapters/browser/BrowserOpenAIAdapter.js +0 -313
- package/dist/esm/adapters/browser/BrowserOpenAIAdapter.js.map +0 -1
- package/dist/esm/adapters/browser/index.js +0 -3
- package/dist/esm/adapters/browser/index.js.map +0 -1
- package/dist/esm/adapters/createAdapterSubflow.js +0 -42
- package/dist/esm/adapters/createAdapterSubflow.js.map +0 -1
- package/dist/esm/adapters/createProvider.js +0 -101
- package/dist/esm/adapters/createProvider.js.map +0 -1
- package/dist/esm/adapters/fallbackProvider.js +0 -90
- package/dist/esm/adapters/fallbackProvider.js.map +0 -1
- package/dist/esm/adapters/index.js +0 -21
- package/dist/esm/adapters/index.js.map +0 -1
- package/dist/esm/adapters/mcp/mcpToolProvider.js +0 -40
- package/dist/esm/adapters/mcp/mcpToolProvider.js.map +0 -1
- package/dist/esm/adapters/mock/MockAdapter.js +0 -61
- package/dist/esm/adapters/mock/MockAdapter.js.map +0 -1
- package/dist/esm/adapters/mock/MockRetriever.js +0 -56
- package/dist/esm/adapters/mock/MockRetriever.js.map +0 -1
- package/dist/esm/adapters/openai/OpenAIAdapter.js +0 -274
- package/dist/esm/adapters/openai/OpenAIAdapter.js.map +0 -1
- package/dist/esm/adapters/resilientProvider.js +0 -89
- package/dist/esm/adapters/resilientProvider.js.map +0 -1
- package/dist/esm/compositions/index.js +0 -10
- package/dist/esm/compositions/index.js.map +0 -1
- package/dist/esm/compositions/withCircuitBreaker.js +0 -79
- package/dist/esm/compositions/withCircuitBreaker.js.map +0 -1
- package/dist/esm/compositions/withFallback.js +0 -29
- package/dist/esm/compositions/withFallback.js.map +0 -1
- package/dist/esm/compositions/withRetry.js +0 -55
- package/dist/esm/compositions/withRetry.js.map +0 -1
- package/dist/esm/concepts/Conditional.js +0 -301
- package/dist/esm/concepts/Conditional.js.map +0 -1
- package/dist/esm/concepts/FlowChart.js +0 -234
- package/dist/esm/concepts/FlowChart.js.map +0 -1
- package/dist/esm/concepts/LLMCall.js +0 -209
- package/dist/esm/concepts/LLMCall.js.map +0 -1
- package/dist/esm/concepts/Parallel.js +0 -284
- package/dist/esm/concepts/Parallel.js.map +0 -1
- package/dist/esm/concepts/RAG.js +0 -239
- package/dist/esm/concepts/RAG.js.map +0 -1
- package/dist/esm/concepts/Swarm.js +0 -305
- package/dist/esm/concepts/Swarm.js.map +0 -1
- package/dist/esm/concepts/index.js +0 -9
- package/dist/esm/concepts/index.js.map +0 -1
- package/dist/esm/concepts/specIcons.js +0 -46
- package/dist/esm/concepts/specIcons.js.map +0 -1
- package/dist/esm/core/config.js +0 -6
- package/dist/esm/core/config.js.map +0 -1
- package/dist/esm/core/index.js +0 -13
- package/dist/esm/core/index.js.map +0 -1
- package/dist/esm/core/providers.js +0 -18
- package/dist/esm/core/providers.js.map +0 -1
- package/dist/esm/core/recorders.js +0 -6
- package/dist/esm/core/recorders.js.map +0 -1
- package/dist/esm/executor/agentLoop.js +0 -154
- package/dist/esm/executor/agentLoop.js.map +0 -1
- package/dist/esm/executor/index.js +0 -5
- package/dist/esm/executor/index.js.map +0 -1
- package/dist/esm/explain.barrel.js +0 -24
- package/dist/esm/explain.barrel.js.map +0 -1
- package/dist/esm/exportTrace.js +0 -71
- package/dist/esm/exportTrace.js.map +0 -1
- package/dist/esm/instructions.barrel.js +0 -22
- package/dist/esm/instructions.barrel.js.map +0 -1
- package/dist/esm/lib/call/callLLMStage.js +0 -100
- package/dist/esm/lib/call/callLLMStage.js.map +0 -1
- package/dist/esm/lib/call/helpers.js +0 -574
- package/dist/esm/lib/call/helpers.js.map +0 -1
- package/dist/esm/lib/call/index.js +0 -6
- package/dist/esm/lib/call/index.js.map +0 -1
- package/dist/esm/lib/call/parseResponseStage.js +0 -63
- package/dist/esm/lib/call/parseResponseStage.js.map +0 -1
- package/dist/esm/lib/call/streamingCallLLMStage.js +0 -152
- package/dist/esm/lib/call/streamingCallLLMStage.js.map +0 -1
- package/dist/esm/lib/call/toolExecutionSubflow.js +0 -198
- package/dist/esm/lib/call/toolExecutionSubflow.js.map +0 -1
- package/dist/esm/lib/call/types.js +0 -10
- package/dist/esm/lib/call/types.js.map +0 -1
- package/dist/esm/lib/concepts/Agent.js +0 -7
- package/dist/esm/lib/concepts/Agent.js.map +0 -1
- package/dist/esm/lib/concepts/AgentBuilder.js +0 -430
- package/dist/esm/lib/concepts/AgentBuilder.js.map +0 -1
- package/dist/esm/lib/concepts/AgentRunner.js +0 -640
- package/dist/esm/lib/concepts/AgentRunner.js.map +0 -1
- package/dist/esm/lib/concepts/index.js +0 -2
- package/dist/esm/lib/concepts/index.js.map +0 -1
- package/dist/esm/lib/instructions/InstructionRecorder.js +0 -125
- package/dist/esm/lib/instructions/InstructionRecorder.js.map +0 -1
- package/dist/esm/lib/instructions/agentInstruction.js +0 -141
- package/dist/esm/lib/instructions/agentInstruction.js.map +0 -1
- package/dist/esm/lib/instructions/buildInstructionsToLLMSubflow.js +0 -83
- package/dist/esm/lib/instructions/buildInstructionsToLLMSubflow.js.map +0 -1
- package/dist/esm/lib/instructions/evaluator.js +0 -196
- package/dist/esm/lib/instructions/evaluator.js.map +0 -1
- package/dist/esm/lib/instructions/index.js +0 -10
- package/dist/esm/lib/instructions/index.js.map +0 -1
- package/dist/esm/lib/instructions/inject.js +0 -55
- package/dist/esm/lib/instructions/inject.js.map +0 -1
- package/dist/esm/lib/instructions/preview.js +0 -86
- package/dist/esm/lib/instructions/preview.js.map +0 -1
- package/dist/esm/lib/instructions/strictFollowUp.js +0 -157
- package/dist/esm/lib/instructions/strictFollowUp.js.map +0 -1
- package/dist/esm/lib/instructions/template.js +0 -82
- package/dist/esm/lib/instructions/template.js.map +0 -1
- package/dist/esm/lib/instructions/types.js +0 -83
- package/dist/esm/lib/instructions/types.js.map +0 -1
- package/dist/esm/lib/loop/buildAgentLoop.js +0 -628
- package/dist/esm/lib/loop/buildAgentLoop.js.map +0 -1
- package/dist/esm/lib/loop/index.js +0 -3
- package/dist/esm/lib/loop/index.js.map +0 -1
- package/dist/esm/lib/loop/types.js +0 -71
- package/dist/esm/lib/loop/types.js.map +0 -1
- package/dist/esm/lib/narrative/agentRenderer.js +0 -364
- package/dist/esm/lib/narrative/agentRenderer.js.map +0 -1
- package/dist/esm/lib/narrative/index.js +0 -2
- package/dist/esm/lib/narrative/index.js.map +0 -1
- package/dist/esm/lib/skills/defineSkill.js +0 -13
- package/dist/esm/lib/skills/defineSkill.js.map +0 -1
- package/dist/esm/lib/skills/index.js +0 -5
- package/dist/esm/lib/skills/index.js.map +0 -1
- package/dist/esm/lib/skills/registry.js +0 -258
- package/dist/esm/lib/skills/registry.js.map +0 -1
- package/dist/esm/lib/skills/renderBody.js +0 -34
- package/dist/esm/lib/skills/renderBody.js.map +0 -1
- package/dist/esm/lib/skills/surfaceMode.js +0 -52
- package/dist/esm/lib/skills/surfaceMode.js.map +0 -1
- package/dist/esm/lib/skills/types.js +0 -2
- package/dist/esm/lib/skills/types.js.map +0 -1
- package/dist/esm/lib/slots/helpers.js +0 -23
- package/dist/esm/lib/slots/helpers.js.map +0 -1
- package/dist/esm/lib/slots/index.js +0 -4
- package/dist/esm/lib/slots/index.js.map +0 -1
- package/dist/esm/lib/slots/messages/buildMessagesSubflow.js +0 -66
- package/dist/esm/lib/slots/messages/buildMessagesSubflow.js.map +0 -1
- package/dist/esm/lib/slots/messages/index.js +0 -2
- package/dist/esm/lib/slots/messages/index.js.map +0 -1
- package/dist/esm/lib/slots/messages/types.js +0 -11
- package/dist/esm/lib/slots/messages/types.js.map +0 -1
- package/dist/esm/lib/slots/system-prompt/buildSystemPromptSubflow.js +0 -65
- package/dist/esm/lib/slots/system-prompt/buildSystemPromptSubflow.js.map +0 -1
- package/dist/esm/lib/slots/system-prompt/index.js +0 -2
- package/dist/esm/lib/slots/system-prompt/index.js.map +0 -1
- package/dist/esm/lib/slots/system-prompt/types.js +0 -9
- package/dist/esm/lib/slots/system-prompt/types.js.map +0 -1
- package/dist/esm/lib/slots/tools/buildToolsSubflow.js +0 -85
- package/dist/esm/lib/slots/tools/buildToolsSubflow.js.map +0 -1
- package/dist/esm/lib/slots/tools/index.js +0 -2
- package/dist/esm/lib/slots/tools/index.js.map +0 -1
- package/dist/esm/lib/slots/tools/types.js +0 -11
- package/dist/esm/lib/slots/tools/types.js.map +0 -1
- package/dist/esm/lib/swarm/buildSwarmRouting.js +0 -228
- package/dist/esm/lib/swarm/buildSwarmRouting.js.map +0 -1
- package/dist/esm/lib/swarm/index.js +0 -2
- package/dist/esm/lib/swarm/index.js.map +0 -1
- package/dist/esm/memory/conversationHelpers.js +0 -31
- package/dist/esm/memory/conversationHelpers.js.map +0 -1
- package/dist/esm/memory.barrel.js +0 -48
- package/dist/esm/memory.barrel.js.map +0 -1
- package/dist/esm/models/index.js +0 -3
- package/dist/esm/models/index.js.map +0 -1
- package/dist/esm/models/pricing.js +0 -23
- package/dist/esm/models/pricing.js.map +0 -1
- package/dist/esm/models/providers.js +0 -42
- package/dist/esm/models/providers.js.map +0 -1
- package/dist/esm/models/types.js +0 -6
- package/dist/esm/models/types.js.map +0 -1
- package/dist/esm/observe.barrel.js +0 -20
- package/dist/esm/observe.barrel.js.map +0 -1
- package/dist/esm/patterns/mapReduce.js +0 -60
- package/dist/esm/patterns/mapReduce.js.map +0 -1
- package/dist/esm/patterns/planExecute.js +0 -43
- package/dist/esm/patterns/planExecute.js.map +0 -1
- package/dist/esm/patterns/reflexion.js +0 -58
- package/dist/esm/patterns/reflexion.js.map +0 -1
- package/dist/esm/patterns/treeOfThoughts.js +0 -71
- package/dist/esm/patterns/treeOfThoughts.js.map +0 -1
- package/dist/esm/patterns.barrel.js +0 -8
- package/dist/esm/patterns.barrel.js.map +0 -1
- package/dist/esm/providers/index.js +0 -12
- package/dist/esm/providers/index.js.map +0 -1
- package/dist/esm/providers/messages/charBudget.js +0 -39
- package/dist/esm/providers/messages/charBudget.js.map +0 -1
- package/dist/esm/providers/messages/compositeMessages.js +0 -33
- package/dist/esm/providers/messages/compositeMessages.js.map +0 -1
- package/dist/esm/providers/messages/fullHistory.js +0 -19
- package/dist/esm/providers/messages/fullHistory.js.map +0 -1
- package/dist/esm/providers/messages/index.js +0 -10
- package/dist/esm/providers/messages/index.js.map +0 -1
- package/dist/esm/providers/messages/slidingWindow.js +0 -32
- package/dist/esm/providers/messages/slidingWindow.js.map +0 -1
- package/dist/esm/providers/messages/summaryStrategy.js +0 -53
- package/dist/esm/providers/messages/summaryStrategy.js.map +0 -1
- package/dist/esm/providers/messages/withToolPairSafety.js +0 -76
- package/dist/esm/providers/messages/withToolPairSafety.js.map +0 -1
- package/dist/esm/providers/prompt/compositePrompt.js +0 -28
- package/dist/esm/providers/prompt/compositePrompt.js.map +0 -1
- package/dist/esm/providers/prompt/index.js +0 -8
- package/dist/esm/providers/prompt/index.js.map +0 -1
- package/dist/esm/providers/prompt/skillBasedPrompt.js +0 -37
- package/dist/esm/providers/prompt/skillBasedPrompt.js.map +0 -1
- package/dist/esm/providers/prompt/static.js +0 -9
- package/dist/esm/providers/prompt/static.js.map +0 -1
- package/dist/esm/providers/prompt/template.js +0 -20
- package/dist/esm/providers/prompt/template.js.map +0 -1
- package/dist/esm/providers/tools/PermissionPolicy.js +0 -100
- package/dist/esm/providers/tools/PermissionPolicy.js.map +0 -1
- package/dist/esm/providers/tools/agentAsTool.js +0 -47
- package/dist/esm/providers/tools/agentAsTool.js.map +0 -1
- package/dist/esm/providers/tools/compositeTools.js +0 -49
- package/dist/esm/providers/tools/compositeTools.js.map +0 -1
- package/dist/esm/providers/tools/dynamicTools.js +0 -41
- package/dist/esm/providers/tools/dynamicTools.js.map +0 -1
- package/dist/esm/providers/tools/gatedTools.js +0 -91
- package/dist/esm/providers/tools/gatedTools.js.map +0 -1
- package/dist/esm/providers/tools/index.js +0 -11
- package/dist/esm/providers/tools/index.js.map +0 -1
- package/dist/esm/providers/tools/noTools.js +0 -9
- package/dist/esm/providers/tools/noTools.js.map +0 -1
- package/dist/esm/providers/tools/staticTools.js +0 -25
- package/dist/esm/providers/tools/staticTools.js.map +0 -1
- package/dist/esm/providers.barrel.js +0 -32
- package/dist/esm/providers.barrel.js.map +0 -1
- package/dist/esm/recorders/AgentTimelineRecorder.js +0 -508
- package/dist/esm/recorders/AgentTimelineRecorder.js.map +0 -1
- package/dist/esm/recorders/CompositeRecorder.js +0 -65
- package/dist/esm/recorders/CompositeRecorder.js.map +0 -1
- package/dist/esm/recorders/ContextEngineeringRecorder.js +0 -155
- package/dist/esm/recorders/ContextEngineeringRecorder.js.map +0 -1
- package/dist/esm/recorders/CostRecorder.js +0 -51
- package/dist/esm/recorders/CostRecorder.js.map +0 -1
- package/dist/esm/recorders/ExplainRecorder.js +0 -148
- package/dist/esm/recorders/ExplainRecorder.js.map +0 -1
- package/dist/esm/recorders/GuardrailRecorder.js +0 -58
- package/dist/esm/recorders/GuardrailRecorder.js.map +0 -1
- package/dist/esm/recorders/OTelRecorder.js +0 -82
- package/dist/esm/recorders/OTelRecorder.js.map +0 -1
- package/dist/esm/recorders/PermissionRecorder.js +0 -86
- package/dist/esm/recorders/PermissionRecorder.js.map +0 -1
- package/dist/esm/recorders/QualityRecorder.js +0 -48
- package/dist/esm/recorders/QualityRecorder.js.map +0 -1
- package/dist/esm/recorders/RecorderBridge.js +0 -99
- package/dist/esm/recorders/RecorderBridge.js.map +0 -1
- package/dist/esm/recorders/TokenRecorder.js +0 -74
- package/dist/esm/recorders/TokenRecorder.js.map +0 -1
- package/dist/esm/recorders/ToolUsageRecorder.js +0 -58
- package/dist/esm/recorders/ToolUsageRecorder.js.map +0 -1
- package/dist/esm/recorders/TurnRecorder.js +0 -83
- package/dist/esm/recorders/TurnRecorder.js.map +0 -1
- package/dist/esm/recorders/agentObservability.js +0 -53
- package/dist/esm/recorders/agentObservability.js.map +0 -1
- package/dist/esm/recorders/attachRecorderHelper.js +0 -30
- package/dist/esm/recorders/attachRecorderHelper.js.map +0 -1
- package/dist/esm/recorders/forwardEmitRecorders.js +0 -29
- package/dist/esm/recorders/forwardEmitRecorders.js.map +0 -1
- package/dist/esm/recorders/index.js +0 -15
- package/dist/esm/recorders/index.js.map +0 -1
- package/dist/esm/resilience.barrel.js +0 -17
- package/dist/esm/resilience.barrel.js.map +0 -1
- package/dist/esm/scope/AgentScope.js +0 -135
- package/dist/esm/scope/AgentScope.js.map +0 -1
- package/dist/esm/scope/index.js +0 -2
- package/dist/esm/scope/index.js.map +0 -1
- package/dist/esm/scope/types.js +0 -37
- package/dist/esm/scope/types.js.map +0 -1
- package/dist/esm/security.barrel.js +0 -17
- package/dist/esm/security.barrel.js.map +0 -1
- package/dist/esm/skills.barrel.js +0 -42
- package/dist/esm/skills.barrel.js.map +0 -1
- package/dist/esm/stages/augmentPrompt.js +0 -61
- package/dist/esm/stages/augmentPrompt.js.map +0 -1
- package/dist/esm/stages/callLLM.js +0 -15
- package/dist/esm/stages/callLLM.js.map +0 -1
- package/dist/esm/stages/finalize.js +0 -12
- package/dist/esm/stages/finalize.js.map +0 -1
- package/dist/esm/stages/helpers.js +0 -58
- package/dist/esm/stages/helpers.js.map +0 -1
- package/dist/esm/stages/index.js +0 -8
- package/dist/esm/stages/index.js.map +0 -1
- package/dist/esm/stages/parseResponse.js +0 -25
- package/dist/esm/stages/parseResponse.js.map +0 -1
- package/dist/esm/stages/retrieve.js +0 -28
- package/dist/esm/stages/retrieve.js.map +0 -1
- package/dist/esm/stages/runnerAsStage.js +0 -66
- package/dist/esm/stages/runnerAsStage.js.map +0 -1
- package/dist/esm/stream.barrel.js +0 -18
- package/dist/esm/stream.barrel.js.map +0 -1
- package/dist/esm/streaming/EventDispatcher.js +0 -44
- package/dist/esm/streaming/EventDispatcher.js.map +0 -1
- package/dist/esm/streaming/StreamEmitter.js +0 -43
- package/dist/esm/streaming/StreamEmitter.js.map +0 -1
- package/dist/esm/streaming/StreamEventRecorder.js +0 -55
- package/dist/esm/streaming/StreamEventRecorder.js.map +0 -1
- package/dist/esm/streaming/index.js +0 -4
- package/dist/esm/streaming/index.js.map +0 -1
- package/dist/esm/subflows/index.js +0 -2
- package/dist/esm/subflows/index.js.map +0 -1
- package/dist/esm/tools/ToolRegistry.js +0 -102
- package/dist/esm/tools/ToolRegistry.js.map +0 -1
- package/dist/esm/tools/askHuman.js +0 -63
- package/dist/esm/tools/askHuman.js.map +0 -1
- package/dist/esm/tools/index.js +0 -3
- package/dist/esm/tools/index.js.map +0 -1
- package/dist/esm/tools/validateInput.js +0 -62
- package/dist/esm/tools/validateInput.js.map +0 -1
- package/dist/esm/tools/zodToJsonSchema.js +0 -66
- package/dist/esm/tools/zodToJsonSchema.js.map +0 -1
- package/dist/esm/types/adapter.js +0 -11
- package/dist/esm/types/adapter.js.map +0 -1
- package/dist/esm/types/agent.js +0 -5
- package/dist/esm/types/agent.js.map +0 -1
- package/dist/esm/types/content.js +0 -82
- package/dist/esm/types/content.js.map +0 -1
- package/dist/esm/types/errors.js +0 -74
- package/dist/esm/types/errors.js.map +0 -1
- package/dist/esm/types/index.js +0 -5
- package/dist/esm/types/index.js.map +0 -1
- package/dist/esm/types/llm.js +0 -6
- package/dist/esm/types/llm.js.map +0 -1
- package/dist/esm/types/messages.js +0 -24
- package/dist/esm/types/messages.js.map +0 -1
- package/dist/esm/types/multiAgent.js +0 -5
- package/dist/esm/types/multiAgent.js.map +0 -1
- package/dist/esm/types/retriever.js +0 -6
- package/dist/esm/types/retriever.js.map +0 -1
- package/dist/esm/types/tools.js +0 -5
- package/dist/esm/types/tools.js.map +0 -1
- package/dist/executor/agentLoop.js +0 -158
- package/dist/executor/agentLoop.js.map +0 -1
- package/dist/executor/index.js +0 -9
- package/dist/executor/index.js.map +0 -1
- package/dist/explain.barrel.js +0 -29
- package/dist/explain.barrel.js.map +0 -1
- package/dist/exportTrace.js +0 -75
- package/dist/exportTrace.js.map +0 -1
- package/dist/instructions.barrel.js +0 -30
- package/dist/instructions.barrel.js.map +0 -1
- package/dist/lib/call/callLLMStage.js +0 -104
- package/dist/lib/call/callLLMStage.js.map +0 -1
- package/dist/lib/call/helpers.js +0 -581
- package/dist/lib/call/helpers.js.map +0 -1
- package/dist/lib/call/index.js +0 -15
- package/dist/lib/call/index.js.map +0 -1
- package/dist/lib/call/parseResponseStage.js +0 -67
- package/dist/lib/call/parseResponseStage.js.map +0 -1
- package/dist/lib/call/streamingCallLLMStage.js +0 -156
- package/dist/lib/call/streamingCallLLMStage.js.map +0 -1
- package/dist/lib/call/toolExecutionSubflow.js +0 -202
- package/dist/lib/call/toolExecutionSubflow.js.map +0 -1
- package/dist/lib/call/types.js +0 -11
- package/dist/lib/call/types.js.map +0 -1
- package/dist/lib/concepts/Agent.js +0 -12
- package/dist/lib/concepts/Agent.js.map +0 -1
- package/dist/lib/concepts/AgentBuilder.js +0 -434
- package/dist/lib/concepts/AgentBuilder.js.map +0 -1
- package/dist/lib/concepts/AgentRunner.js +0 -644
- package/dist/lib/concepts/AgentRunner.js.map +0 -1
- package/dist/lib/concepts/index.js +0 -7
- package/dist/lib/concepts/index.js.map +0 -1
- package/dist/lib/instructions/InstructionRecorder.js +0 -129
- package/dist/lib/instructions/InstructionRecorder.js.map +0 -1
- package/dist/lib/instructions/agentInstruction.js +0 -146
- package/dist/lib/instructions/agentInstruction.js.map +0 -1
- package/dist/lib/instructions/buildInstructionsToLLMSubflow.js +0 -87
- package/dist/lib/instructions/buildInstructionsToLLMSubflow.js.map +0 -1
- package/dist/lib/instructions/evaluator.js +0 -202
- package/dist/lib/instructions/evaluator.js.map +0 -1
- package/dist/lib/instructions/index.js +0 -27
- package/dist/lib/instructions/index.js.map +0 -1
- package/dist/lib/instructions/inject.js +0 -59
- package/dist/lib/instructions/inject.js.map +0 -1
- package/dist/lib/instructions/preview.js +0 -90
- package/dist/lib/instructions/preview.js.map +0 -1
- package/dist/lib/instructions/strictFollowUp.js +0 -162
- package/dist/lib/instructions/strictFollowUp.js.map +0 -1
- package/dist/lib/instructions/template.js +0 -86
- package/dist/lib/instructions/template.js.map +0 -1
- package/dist/lib/instructions/types.js +0 -88
- package/dist/lib/instructions/types.js.map +0 -1
- package/dist/lib/loop/buildAgentLoop.js +0 -632
- package/dist/lib/loop/buildAgentLoop.js.map +0 -1
- package/dist/lib/loop/index.js +0 -9
- package/dist/lib/loop/index.js.map +0 -1
- package/dist/lib/loop/types.js +0 -74
- package/dist/lib/loop/types.js.map +0 -1
- package/dist/lib/narrative/agentRenderer.js +0 -368
- package/dist/lib/narrative/agentRenderer.js.map +0 -1
- package/dist/lib/narrative/index.js +0 -6
- package/dist/lib/narrative/index.js.map +0 -1
- package/dist/lib/skills/defineSkill.js +0 -17
- package/dist/lib/skills/defineSkill.js.map +0 -1
- package/dist/lib/skills/index.js +0 -15
- package/dist/lib/skills/index.js.map +0 -1
- package/dist/lib/skills/registry.js +0 -262
- package/dist/lib/skills/registry.js.map +0 -1
- package/dist/lib/skills/renderBody.js +0 -39
- package/dist/lib/skills/renderBody.js.map +0 -1
- package/dist/lib/skills/surfaceMode.js +0 -58
- package/dist/lib/skills/surfaceMode.js.map +0 -1
- package/dist/lib/skills/types.js +0 -3
- package/dist/lib/skills/types.js.map +0 -1
- package/dist/lib/slots/helpers.js +0 -28
- package/dist/lib/slots/helpers.js.map +0 -1
- package/dist/lib/slots/index.js +0 -10
- package/dist/lib/slots/index.js.map +0 -1
- package/dist/lib/slots/messages/buildMessagesSubflow.js +0 -70
- package/dist/lib/slots/messages/buildMessagesSubflow.js.map +0 -1
- package/dist/lib/slots/messages/index.js +0 -6
- package/dist/lib/slots/messages/index.js.map +0 -1
- package/dist/lib/slots/messages/types.js +0 -12
- package/dist/lib/slots/messages/types.js.map +0 -1
- package/dist/lib/slots/system-prompt/buildSystemPromptSubflow.js +0 -69
- package/dist/lib/slots/system-prompt/buildSystemPromptSubflow.js.map +0 -1
- package/dist/lib/slots/system-prompt/index.js +0 -6
- package/dist/lib/slots/system-prompt/index.js.map +0 -1
- package/dist/lib/slots/system-prompt/types.js +0 -10
- package/dist/lib/slots/system-prompt/types.js.map +0 -1
- package/dist/lib/slots/tools/buildToolsSubflow.js +0 -89
- package/dist/lib/slots/tools/buildToolsSubflow.js.map +0 -1
- package/dist/lib/slots/tools/index.js +0 -6
- package/dist/lib/slots/tools/index.js.map +0 -1
- package/dist/lib/slots/tools/types.js +0 -12
- package/dist/lib/slots/tools/types.js.map +0 -1
- package/dist/lib/swarm/buildSwarmRouting.js +0 -232
- package/dist/lib/swarm/buildSwarmRouting.js.map +0 -1
- package/dist/lib/swarm/index.js +0 -6
- package/dist/lib/swarm/index.js.map +0 -1
- package/dist/memory/conversationHelpers.js +0 -39
- package/dist/memory/conversationHelpers.js.map +0 -1
- package/dist/memory.barrel.js +0 -92
- package/dist/memory.barrel.js.map +0 -1
- package/dist/models/index.js +0 -12
- package/dist/models/index.js.map +0 -1
- package/dist/models/pricing.js +0 -27
- package/dist/models/pricing.js.map +0 -1
- package/dist/models/providers.js +0 -49
- package/dist/models/providers.js.map +0 -1
- package/dist/models/types.js +0 -7
- package/dist/models/types.js.map +0 -1
- package/dist/observe.barrel.js +0 -37
- package/dist/observe.barrel.js.map +0 -1
- package/dist/patterns/mapReduce.js +0 -64
- package/dist/patterns/mapReduce.js.map +0 -1
- package/dist/patterns/planExecute.js +0 -47
- package/dist/patterns/planExecute.js.map +0 -1
- package/dist/patterns/reflexion.js +0 -62
- package/dist/patterns/reflexion.js.map +0 -1
- package/dist/patterns/treeOfThoughts.js +0 -75
- package/dist/patterns/treeOfThoughts.js.map +0 -1
- package/dist/patterns.barrel.js +0 -24
- package/dist/patterns.barrel.js.map +0 -1
- package/dist/providers/index.js +0 -32
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/messages/charBudget.js +0 -43
- package/dist/providers/messages/charBudget.js.map +0 -1
- package/dist/providers/messages/compositeMessages.js +0 -37
- package/dist/providers/messages/compositeMessages.js.map +0 -1
- package/dist/providers/messages/fullHistory.js +0 -23
- package/dist/providers/messages/fullHistory.js.map +0 -1
- package/dist/providers/messages/index.js +0 -19
- package/dist/providers/messages/index.js.map +0 -1
- package/dist/providers/messages/slidingWindow.js +0 -36
- package/dist/providers/messages/slidingWindow.js.map +0 -1
- package/dist/providers/messages/summaryStrategy.js +0 -57
- package/dist/providers/messages/summaryStrategy.js.map +0 -1
- package/dist/providers/messages/withToolPairSafety.js +0 -80
- package/dist/providers/messages/withToolPairSafety.js.map +0 -1
- package/dist/providers/prompt/compositePrompt.js +0 -32
- package/dist/providers/prompt/compositePrompt.js.map +0 -1
- package/dist/providers/prompt/index.js +0 -15
- package/dist/providers/prompt/index.js.map +0 -1
- package/dist/providers/prompt/skillBasedPrompt.js +0 -41
- package/dist/providers/prompt/skillBasedPrompt.js.map +0 -1
- package/dist/providers/prompt/static.js +0 -13
- package/dist/providers/prompt/static.js.map +0 -1
- package/dist/providers/prompt/template.js +0 -24
- package/dist/providers/prompt/template.js.map +0 -1
- package/dist/providers/tools/PermissionPolicy.js +0 -104
- package/dist/providers/tools/PermissionPolicy.js.map +0 -1
- package/dist/providers/tools/agentAsTool.js +0 -51
- package/dist/providers/tools/agentAsTool.js.map +0 -1
- package/dist/providers/tools/compositeTools.js +0 -53
- package/dist/providers/tools/compositeTools.js.map +0 -1
- package/dist/providers/tools/dynamicTools.js +0 -45
- package/dist/providers/tools/dynamicTools.js.map +0 -1
- package/dist/providers/tools/gatedTools.js +0 -95
- package/dist/providers/tools/gatedTools.js.map +0 -1
- package/dist/providers/tools/index.js +0 -21
- package/dist/providers/tools/index.js.map +0 -1
- package/dist/providers/tools/noTools.js +0 -13
- package/dist/providers/tools/noTools.js.map +0 -1
- package/dist/providers/tools/staticTools.js +0 -29
- package/dist/providers/tools/staticTools.js.map +0 -1
- package/dist/providers.barrel.js +0 -68
- package/dist/providers.barrel.js.map +0 -1
- package/dist/recorders/AgentTimelineRecorder.js +0 -513
- package/dist/recorders/AgentTimelineRecorder.js.map +0 -1
- package/dist/recorders/CompositeRecorder.js +0 -69
- package/dist/recorders/CompositeRecorder.js.map +0 -1
- package/dist/recorders/ContextEngineeringRecorder.js +0 -159
- package/dist/recorders/ContextEngineeringRecorder.js.map +0 -1
- package/dist/recorders/CostRecorder.js +0 -55
- package/dist/recorders/CostRecorder.js.map +0 -1
- package/dist/recorders/ExplainRecorder.js +0 -152
- package/dist/recorders/ExplainRecorder.js.map +0 -1
- package/dist/recorders/GuardrailRecorder.js +0 -62
- package/dist/recorders/GuardrailRecorder.js.map +0 -1
- package/dist/recorders/OTelRecorder.js +0 -86
- package/dist/recorders/OTelRecorder.js.map +0 -1
- package/dist/recorders/PermissionRecorder.js +0 -90
- package/dist/recorders/PermissionRecorder.js.map +0 -1
- package/dist/recorders/QualityRecorder.js +0 -52
- package/dist/recorders/QualityRecorder.js.map +0 -1
- package/dist/recorders/RecorderBridge.js +0 -103
- package/dist/recorders/RecorderBridge.js.map +0 -1
- package/dist/recorders/TokenRecorder.js +0 -78
- package/dist/recorders/TokenRecorder.js.map +0 -1
- package/dist/recorders/ToolUsageRecorder.js +0 -62
- package/dist/recorders/ToolUsageRecorder.js.map +0 -1
- package/dist/recorders/TurnRecorder.js +0 -87
- package/dist/recorders/TurnRecorder.js.map +0 -1
- package/dist/recorders/agentObservability.js +0 -57
- package/dist/recorders/agentObservability.js.map +0 -1
- package/dist/recorders/attachRecorderHelper.js +0 -34
- package/dist/recorders/attachRecorderHelper.js.map +0 -1
- package/dist/recorders/forwardEmitRecorders.js +0 -33
- package/dist/recorders/forwardEmitRecorders.js.map +0 -1
- package/dist/recorders/index.js +0 -30
- package/dist/recorders/index.js.map +0 -1
- package/dist/resilience.barrel.js +0 -28
- package/dist/resilience.barrel.js.map +0 -1
- package/dist/scope/AgentScope.js +0 -138
- package/dist/scope/AgentScope.js.map +0 -1
- package/dist/scope/index.js +0 -10
- package/dist/scope/index.js.map +0 -1
- package/dist/scope/types.js +0 -40
- package/dist/scope/types.js.map +0 -1
- package/dist/security.barrel.js +0 -22
- package/dist/security.barrel.js.map +0 -1
- package/dist/skills.barrel.js +0 -48
- package/dist/skills.barrel.js.map +0 -1
- package/dist/stages/augmentPrompt.js +0 -65
- package/dist/stages/augmentPrompt.js.map +0 -1
- package/dist/stages/callLLM.js +0 -19
- package/dist/stages/callLLM.js.map +0 -1
- package/dist/stages/finalize.js +0 -16
- package/dist/stages/finalize.js.map +0 -1
- package/dist/stages/helpers.js +0 -63
- package/dist/stages/helpers.js.map +0 -1
- package/dist/stages/index.js +0 -19
- package/dist/stages/index.js.map +0 -1
- package/dist/stages/parseResponse.js +0 -29
- package/dist/stages/parseResponse.js.map +0 -1
- package/dist/stages/retrieve.js +0 -32
- package/dist/stages/retrieve.js.map +0 -1
- package/dist/stages/runnerAsStage.js +0 -70
- package/dist/stages/runnerAsStage.js.map +0 -1
- package/dist/stream.barrel.js +0 -23
- package/dist/stream.barrel.js.map +0 -1
- package/dist/streaming/EventDispatcher.js +0 -48
- package/dist/streaming/EventDispatcher.js.map +0 -1
- package/dist/streaming/StreamEmitter.js +0 -48
- package/dist/streaming/StreamEmitter.js.map +0 -1
- package/dist/streaming/StreamEventRecorder.js +0 -59
- package/dist/streaming/StreamEventRecorder.js.map +0 -1
- package/dist/streaming/index.js +0 -12
- package/dist/streaming/index.js.map +0 -1
- package/dist/subflows/index.js +0 -3
- package/dist/subflows/index.js.map +0 -1
- package/dist/tools/ToolRegistry.js +0 -107
- package/dist/tools/ToolRegistry.js.map +0 -1
- package/dist/tools/askHuman.js +0 -68
- package/dist/tools/askHuman.js.map +0 -1
- package/dist/tools/index.js +0 -9
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/validateInput.js +0 -67
- package/dist/tools/validateInput.js.map +0 -1
- package/dist/tools/zodToJsonSchema.js +0 -71
- package/dist/tools/zodToJsonSchema.js.map +0 -1
- package/dist/types/adapter.js +0 -14
- package/dist/types/adapter.js.map +0 -1
- package/dist/types/adapters/a2a/a2aRunner.d.ts +0 -40
- package/dist/types/adapters/a2a/a2aRunner.d.ts.map +0 -1
- package/dist/types/adapters/anthropic/AnthropicAdapter.d.ts +0 -37
- package/dist/types/adapters/anthropic/AnthropicAdapter.d.ts.map +0 -1
- package/dist/types/adapters/bedrock/BedrockAdapter.d.ts +0 -44
- package/dist/types/adapters/bedrock/BedrockAdapter.d.ts.map +0 -1
- package/dist/types/adapters/browser/BrowserAnthropicAdapter.d.ts +0 -40
- package/dist/types/adapters/browser/BrowserAnthropicAdapter.d.ts.map +0 -1
- package/dist/types/adapters/browser/BrowserOpenAIAdapter.d.ts +0 -46
- package/dist/types/adapters/browser/BrowserOpenAIAdapter.d.ts.map +0 -1
- package/dist/types/adapters/browser/index.d.ts +0 -5
- package/dist/types/adapters/browser/index.d.ts.map +0 -1
- package/dist/types/adapters/createAdapterSubflow.d.ts +0 -36
- package/dist/types/adapters/createAdapterSubflow.d.ts.map +0 -1
- package/dist/types/adapters/createProvider.d.ts +0 -47
- package/dist/types/adapters/createProvider.d.ts.map +0 -1
- package/dist/types/adapters/fallbackProvider.d.ts +0 -45
- package/dist/types/adapters/fallbackProvider.d.ts.map +0 -1
- package/dist/types/adapters/index.d.ts +0 -26
- package/dist/types/adapters/index.d.ts.map +0 -1
- package/dist/types/adapters/mcp/mcpToolProvider.d.ts +0 -41
- package/dist/types/adapters/mcp/mcpToolProvider.d.ts.map +0 -1
- package/dist/types/adapters/mock/MockAdapter.d.ts +0 -51
- package/dist/types/adapters/mock/MockAdapter.d.ts.map +0 -1
- package/dist/types/adapters/mock/MockRetriever.d.ts +0 -43
- package/dist/types/adapters/mock/MockRetriever.d.ts.map +0 -1
- package/dist/types/adapters/openai/OpenAIAdapter.d.ts +0 -47
- package/dist/types/adapters/openai/OpenAIAdapter.d.ts.map +0 -1
- package/dist/types/adapters/resilientProvider.d.ts +0 -33
- package/dist/types/adapters/resilientProvider.d.ts.map +0 -1
- package/dist/types/agent.js +0 -6
- package/dist/types/agent.js.map +0 -1
- package/dist/types/compositions/index.d.ts +0 -13
- package/dist/types/compositions/index.d.ts.map +0 -1
- package/dist/types/compositions/withCircuitBreaker.d.ts +0 -43
- package/dist/types/compositions/withCircuitBreaker.d.ts.map +0 -1
- package/dist/types/compositions/withFallback.d.ts +0 -17
- package/dist/types/compositions/withFallback.d.ts.map +0 -1
- package/dist/types/compositions/withRetry.d.ts +0 -27
- package/dist/types/compositions/withRetry.d.ts.map +0 -1
- package/dist/types/concepts/Conditional.d.ts +0 -133
- package/dist/types/concepts/Conditional.d.ts.map +0 -1
- package/dist/types/concepts/FlowChart.d.ts +0 -67
- package/dist/types/concepts/FlowChart.d.ts.map +0 -1
- package/dist/types/concepts/LLMCall.d.ts +0 -73
- package/dist/types/concepts/LLMCall.d.ts.map +0 -1
- package/dist/types/concepts/Parallel.d.ts +0 -120
- package/dist/types/concepts/Parallel.d.ts.map +0 -1
- package/dist/types/concepts/RAG.d.ts +0 -89
- package/dist/types/concepts/RAG.d.ts.map +0 -1
- package/dist/types/concepts/Swarm.d.ts +0 -108
- package/dist/types/concepts/Swarm.d.ts.map +0 -1
- package/dist/types/concepts/index.d.ts +0 -14
- package/dist/types/concepts/index.d.ts.map +0 -1
- package/dist/types/concepts/specIcons.d.ts +0 -14
- package/dist/types/concepts/specIcons.d.ts.map +0 -1
- package/dist/types/content.js +0 -97
- package/dist/types/content.js.map +0 -1
- package/dist/types/core/config.d.ts +0 -24
- package/dist/types/core/config.d.ts.map +0 -1
- package/dist/types/core/index.d.ts +0 -15
- package/dist/types/core/index.d.ts.map +0 -1
- package/dist/types/core/providers.d.ts +0 -168
- package/dist/types/core/providers.d.ts.map +0 -1
- package/dist/types/core/recorders.d.ts +0 -70
- package/dist/types/core/recorders.d.ts.map +0 -1
- package/dist/types/errors.js +0 -80
- package/dist/types/errors.js.map +0 -1
- package/dist/types/executor/agentLoop.d.ts +0 -37
- package/dist/types/executor/agentLoop.d.ts.map +0 -1
- package/dist/types/executor/index.d.ts +0 -6
- package/dist/types/executor/index.d.ts.map +0 -1
- package/dist/types/explain.barrel.d.ts +0 -25
- package/dist/types/explain.barrel.d.ts.map +0 -1
- package/dist/types/exportTrace.d.ts +0 -84
- package/dist/types/exportTrace.d.ts.map +0 -1
- package/dist/types/index.js +0 -29
- package/dist/types/index.js.map +0 -1
- package/dist/types/instructions.barrel.d.ts +0 -24
- package/dist/types/instructions.barrel.d.ts.map +0 -1
- package/dist/types/lib/call/callLLMStage.d.ts +0 -33
- package/dist/types/lib/call/callLLMStage.d.ts.map +0 -1
- package/dist/types/lib/call/helpers.d.ts +0 -108
- package/dist/types/lib/call/helpers.d.ts.map +0 -1
- package/dist/types/lib/call/index.d.ts +0 -8
- package/dist/types/lib/call/index.d.ts.map +0 -1
- package/dist/types/lib/call/parseResponseStage.d.ts +0 -22
- package/dist/types/lib/call/parseResponseStage.d.ts.map +0 -1
- package/dist/types/lib/call/streamingCallLLMStage.d.ts +0 -23
- package/dist/types/lib/call/streamingCallLLMStage.d.ts.map +0 -1
- package/dist/types/lib/call/toolExecutionSubflow.d.ts +0 -82
- package/dist/types/lib/call/toolExecutionSubflow.d.ts.map +0 -1
- package/dist/types/lib/call/types.d.ts +0 -17
- package/dist/types/lib/call/types.d.ts.map +0 -1
- package/dist/types/lib/concepts/Agent.d.ts +0 -9
- package/dist/types/lib/concepts/Agent.d.ts.map +0 -1
- package/dist/types/lib/concepts/AgentBuilder.d.ts +0 -297
- package/dist/types/lib/concepts/AgentBuilder.d.ts.map +0 -1
- package/dist/types/lib/concepts/AgentRunner.d.ts +0 -241
- package/dist/types/lib/concepts/AgentRunner.d.ts.map +0 -1
- package/dist/types/lib/concepts/index.d.ts +0 -3
- package/dist/types/lib/concepts/index.d.ts.map +0 -1
- package/dist/types/lib/instructions/InstructionRecorder.d.ts +0 -86
- package/dist/types/lib/instructions/InstructionRecorder.d.ts.map +0 -1
- package/dist/types/lib/instructions/agentInstruction.d.ts +0 -150
- package/dist/types/lib/instructions/agentInstruction.d.ts.map +0 -1
- package/dist/types/lib/instructions/buildInstructionsToLLMSubflow.d.ts +0 -56
- package/dist/types/lib/instructions/buildInstructionsToLLMSubflow.d.ts.map +0 -1
- package/dist/types/lib/instructions/evaluator.d.ts +0 -99
- package/dist/types/lib/instructions/evaluator.d.ts.map +0 -1
- package/dist/types/lib/instructions/index.d.ts +0 -18
- package/dist/types/lib/instructions/index.d.ts.map +0 -1
- package/dist/types/lib/instructions/inject.d.ts +0 -54
- package/dist/types/lib/instructions/inject.d.ts.map +0 -1
- package/dist/types/lib/instructions/preview.d.ts +0 -85
- package/dist/types/lib/instructions/preview.d.ts.map +0 -1
- package/dist/types/lib/instructions/strictFollowUp.d.ts +0 -88
- package/dist/types/lib/instructions/strictFollowUp.d.ts.map +0 -1
- package/dist/types/lib/instructions/template.d.ts +0 -52
- package/dist/types/lib/instructions/template.d.ts.map +0 -1
- package/dist/types/lib/instructions/types.d.ts +0 -394
- package/dist/types/lib/instructions/types.d.ts.map +0 -1
- package/dist/types/lib/loop/buildAgentLoop.d.ts +0 -60
- package/dist/types/lib/loop/buildAgentLoop.d.ts.map +0 -1
- package/dist/types/lib/loop/index.d.ts +0 -5
- package/dist/types/lib/loop/index.d.ts.map +0 -1
- package/dist/types/lib/loop/types.d.ts +0 -281
- package/dist/types/lib/loop/types.d.ts.map +0 -1
- package/dist/types/lib/narrative/agentRenderer.d.ts +0 -56
- package/dist/types/lib/narrative/agentRenderer.d.ts.map +0 -1
- package/dist/types/lib/narrative/index.d.ts +0 -3
- package/dist/types/lib/narrative/index.d.ts.map +0 -1
- package/dist/types/lib/skills/defineSkill.d.ts +0 -10
- package/dist/types/lib/skills/defineSkill.d.ts.map +0 -1
- package/dist/types/lib/skills/index.d.ts +0 -6
- package/dist/types/lib/skills/index.d.ts.map +0 -1
- package/dist/types/lib/skills/registry.d.ts +0 -98
- package/dist/types/lib/skills/registry.d.ts.map +0 -1
- package/dist/types/lib/skills/renderBody.d.ts +0 -22
- package/dist/types/lib/skills/renderBody.d.ts.map +0 -1
- package/dist/types/lib/skills/surfaceMode.d.ts +0 -34
- package/dist/types/lib/skills/surfaceMode.d.ts.map +0 -1
- package/dist/types/lib/skills/types.d.ts +0 -164
- package/dist/types/lib/skills/types.d.ts.map +0 -1
- package/dist/types/lib/slots/helpers.d.ts +0 -16
- package/dist/types/lib/slots/helpers.d.ts.map +0 -1
- package/dist/types/lib/slots/index.d.ts +0 -7
- package/dist/types/lib/slots/index.d.ts.map +0 -1
- package/dist/types/lib/slots/messages/buildMessagesSubflow.d.ts +0 -37
- package/dist/types/lib/slots/messages/buildMessagesSubflow.d.ts.map +0 -1
- package/dist/types/lib/slots/messages/index.d.ts +0 -3
- package/dist/types/lib/slots/messages/index.d.ts.map +0 -1
- package/dist/types/lib/slots/messages/types.d.ts +0 -16
- package/dist/types/lib/slots/messages/types.d.ts.map +0 -1
- package/dist/types/lib/slots/system-prompt/buildSystemPromptSubflow.d.ts +0 -27
- package/dist/types/lib/slots/system-prompt/buildSystemPromptSubflow.d.ts.map +0 -1
- package/dist/types/lib/slots/system-prompt/index.d.ts +0 -3
- package/dist/types/lib/slots/system-prompt/index.d.ts.map +0 -1
- package/dist/types/lib/slots/system-prompt/types.d.ts +0 -17
- package/dist/types/lib/slots/system-prompt/types.d.ts.map +0 -1
- package/dist/types/lib/slots/tools/buildToolsSubflow.d.ts +0 -23
- package/dist/types/lib/slots/tools/buildToolsSubflow.d.ts.map +0 -1
- package/dist/types/lib/slots/tools/index.d.ts +0 -3
- package/dist/types/lib/slots/tools/index.d.ts.map +0 -1
- package/dist/types/lib/slots/tools/types.d.ts +0 -18
- package/dist/types/lib/slots/tools/types.d.ts.map +0 -1
- package/dist/types/lib/swarm/buildSwarmRouting.d.ts +0 -36
- package/dist/types/lib/swarm/buildSwarmRouting.d.ts.map +0 -1
- package/dist/types/lib/swarm/index.d.ts +0 -3
- package/dist/types/lib/swarm/index.d.ts.map +0 -1
- package/dist/types/llm.js +0 -7
- package/dist/types/llm.js.map +0 -1
- package/dist/types/memory/conversationHelpers.d.ts +0 -19
- package/dist/types/memory/conversationHelpers.d.ts.map +0 -1
- package/dist/types/memory.barrel.d.ts +0 -73
- package/dist/types/memory.barrel.d.ts.map +0 -1
- package/dist/types/messages.js +0 -32
- package/dist/types/messages.js.map +0 -1
- package/dist/types/models/index.d.ts +0 -4
- package/dist/types/models/index.d.ts.map +0 -1
- package/dist/types/models/pricing.d.ts +0 -8
- package/dist/types/models/pricing.d.ts.map +0 -1
- package/dist/types/models/providers.d.ts +0 -23
- package/dist/types/models/providers.d.ts.map +0 -1
- package/dist/types/models/types.d.ts +0 -25
- package/dist/types/models/types.d.ts.map +0 -1
- package/dist/types/multiAgent.js +0 -6
- package/dist/types/multiAgent.js.map +0 -1
- package/dist/types/observe.barrel.d.ts +0 -22
- package/dist/types/observe.barrel.d.ts.map +0 -1
- package/dist/types/patterns/mapReduce.d.ts +0 -65
- package/dist/types/patterns/mapReduce.d.ts.map +0 -1
- package/dist/types/patterns/planExecute.d.ts +0 -49
- package/dist/types/patterns/planExecute.d.ts.map +0 -1
- package/dist/types/patterns/reflexion.d.ts +0 -65
- package/dist/types/patterns/reflexion.d.ts.map +0 -1
- package/dist/types/patterns/treeOfThoughts.d.ts +0 -65
- package/dist/types/patterns/treeOfThoughts.d.ts.map +0 -1
- package/dist/types/patterns.barrel.d.ts +0 -8
- package/dist/types/patterns.barrel.d.ts.map +0 -1
- package/dist/types/providers/index.d.ts +0 -15
- package/dist/types/providers/index.d.ts.map +0 -1
- package/dist/types/providers/messages/charBudget.d.ts +0 -19
- package/dist/types/providers/messages/charBudget.d.ts.map +0 -1
- package/dist/types/providers/messages/compositeMessages.d.ts +0 -16
- package/dist/types/providers/messages/compositeMessages.d.ts.map +0 -1
- package/dist/types/providers/messages/fullHistory.d.ts +0 -12
- package/dist/types/providers/messages/fullHistory.d.ts.map +0 -1
- package/dist/types/providers/messages/index.d.ts +0 -13
- package/dist/types/providers/messages/index.d.ts.map +0 -1
- package/dist/types/providers/messages/slidingWindow.d.ts +0 -16
- package/dist/types/providers/messages/slidingWindow.d.ts.map +0 -1
- package/dist/types/providers/messages/summaryStrategy.d.ts +0 -29
- package/dist/types/providers/messages/summaryStrategy.d.ts.map +0 -1
- package/dist/types/providers/messages/withToolPairSafety.d.ts +0 -19
- package/dist/types/providers/messages/withToolPairSafety.d.ts.map +0 -1
- package/dist/types/providers/prompt/compositePrompt.d.ts +0 -20
- package/dist/types/providers/prompt/compositePrompt.d.ts.map +0 -1
- package/dist/types/providers/prompt/index.d.ts +0 -10
- package/dist/types/providers/prompt/index.d.ts.map +0 -1
- package/dist/types/providers/prompt/skillBasedPrompt.d.ts +0 -33
- package/dist/types/providers/prompt/skillBasedPrompt.d.ts.map +0 -1
- package/dist/types/providers/prompt/static.d.ts +0 -6
- package/dist/types/providers/prompt/static.d.ts.map +0 -1
- package/dist/types/providers/prompt/template.d.ts +0 -6
- package/dist/types/providers/prompt/template.d.ts.map +0 -1
- package/dist/types/providers/tools/PermissionPolicy.d.ts +0 -76
- package/dist/types/providers/tools/PermissionPolicy.d.ts.map +0 -1
- package/dist/types/providers/tools/agentAsTool.d.ts +0 -40
- package/dist/types/providers/tools/agentAsTool.d.ts.map +0 -1
- package/dist/types/providers/tools/compositeTools.d.ts +0 -18
- package/dist/types/providers/tools/compositeTools.d.ts.map +0 -1
- package/dist/types/providers/tools/dynamicTools.d.ts +0 -27
- package/dist/types/providers/tools/dynamicTools.d.ts.map +0 -1
- package/dist/types/providers/tools/gatedTools.d.ts +0 -52
- package/dist/types/providers/tools/gatedTools.d.ts.map +0 -1
- package/dist/types/providers/tools/index.d.ts +0 -15
- package/dist/types/providers/tools/index.d.ts.map +0 -1
- package/dist/types/providers/tools/noTools.d.ts +0 -6
- package/dist/types/providers/tools/noTools.d.ts.map +0 -1
- package/dist/types/providers/tools/staticTools.d.ts +0 -7
- package/dist/types/providers/tools/staticTools.d.ts.map +0 -1
- package/dist/types/providers.barrel.d.ts +0 -34
- package/dist/types/providers.barrel.d.ts.map +0 -1
- package/dist/types/recorders/AgentTimelineRecorder.d.ts +0 -309
- package/dist/types/recorders/AgentTimelineRecorder.d.ts.map +0 -1
- package/dist/types/recorders/CompositeRecorder.d.ts +0 -30
- package/dist/types/recorders/CompositeRecorder.d.ts.map +0 -1
- package/dist/types/recorders/ContextEngineeringRecorder.d.ts +0 -105
- package/dist/types/recorders/ContextEngineeringRecorder.d.ts.map +0 -1
- package/dist/types/recorders/CostRecorder.d.ts +0 -43
- package/dist/types/recorders/CostRecorder.d.ts.map +0 -1
- package/dist/types/recorders/ExplainRecorder.d.ts +0 -117
- package/dist/types/recorders/ExplainRecorder.d.ts.map +0 -1
- package/dist/types/recorders/GuardrailRecorder.d.ts +0 -45
- package/dist/types/recorders/GuardrailRecorder.d.ts.map +0 -1
- package/dist/types/recorders/OTelRecorder.d.ts +0 -50
- package/dist/types/recorders/OTelRecorder.d.ts.map +0 -1
- package/dist/types/recorders/PermissionRecorder.d.ts +0 -66
- package/dist/types/recorders/PermissionRecorder.d.ts.map +0 -1
- package/dist/types/recorders/QualityRecorder.d.ts +0 -37
- package/dist/types/recorders/QualityRecorder.d.ts.map +0 -1
- package/dist/types/recorders/RecorderBridge.d.ts +0 -52
- package/dist/types/recorders/RecorderBridge.d.ts.map +0 -1
- package/dist/types/recorders/TokenRecorder.d.ts +0 -53
- package/dist/types/recorders/TokenRecorder.d.ts.map +0 -1
- package/dist/types/recorders/ToolUsageRecorder.d.ts +0 -38
- package/dist/types/recorders/ToolUsageRecorder.d.ts.map +0 -1
- package/dist/types/recorders/TurnRecorder.d.ts +0 -36
- package/dist/types/recorders/TurnRecorder.d.ts.map +0 -1
- package/dist/types/recorders/agentObservability.d.ts +0 -59
- package/dist/types/recorders/agentObservability.d.ts.map +0 -1
- package/dist/types/recorders/attachRecorderHelper.d.ts +0 -10
- package/dist/types/recorders/attachRecorderHelper.d.ts.map +0 -1
- package/dist/types/recorders/forwardEmitRecorders.d.ts +0 -22
- package/dist/types/recorders/forwardEmitRecorders.d.ts.map +0 -1
- package/dist/types/recorders/index.d.ts +0 -25
- package/dist/types/recorders/index.d.ts.map +0 -1
- package/dist/types/resilience.barrel.d.ts +0 -19
- package/dist/types/resilience.barrel.d.ts.map +0 -1
- package/dist/types/retriever.js +0 -7
- package/dist/types/retriever.js.map +0 -1
- package/dist/types/scope/AgentScope.d.ts +0 -76
- package/dist/types/scope/AgentScope.d.ts.map +0 -1
- package/dist/types/scope/index.d.ts +0 -3
- package/dist/types/scope/index.d.ts.map +0 -1
- package/dist/types/scope/types.d.ts +0 -182
- package/dist/types/scope/types.d.ts.map +0 -1
- package/dist/types/security.barrel.d.ts +0 -17
- package/dist/types/security.barrel.d.ts.map +0 -1
- package/dist/types/skills.barrel.d.ts +0 -43
- package/dist/types/skills.barrel.d.ts.map +0 -1
- package/dist/types/stages/augmentPrompt.d.ts +0 -16
- package/dist/types/stages/augmentPrompt.d.ts.map +0 -1
- package/dist/types/stages/callLLM.d.ts +0 -8
- package/dist/types/stages/callLLM.d.ts.map +0 -1
- package/dist/types/stages/finalize.d.ts +0 -7
- package/dist/types/stages/finalize.d.ts.map +0 -1
- package/dist/types/stages/helpers.d.ts +0 -17
- package/dist/types/stages/helpers.d.ts.map +0 -1
- package/dist/types/stages/index.d.ts +0 -8
- package/dist/types/stages/index.d.ts.map +0 -1
- package/dist/types/stages/parseResponse.d.ts +0 -8
- package/dist/types/stages/parseResponse.d.ts.map +0 -1
- package/dist/types/stages/retrieve.d.ts +0 -14
- package/dist/types/stages/retrieve.d.ts.map +0 -1
- package/dist/types/stages/runnerAsStage.d.ts +0 -18
- package/dist/types/stages/runnerAsStage.d.ts.map +0 -1
- package/dist/types/stream.barrel.d.ts +0 -19
- package/dist/types/stream.barrel.d.ts.map +0 -1
- package/dist/types/streaming/EventDispatcher.d.ts +0 -42
- package/dist/types/streaming/EventDispatcher.d.ts.map +0 -1
- package/dist/types/streaming/StreamEmitter.d.ts +0 -113
- package/dist/types/streaming/StreamEmitter.d.ts.map +0 -1
- package/dist/types/streaming/StreamEventRecorder.d.ts +0 -52
- package/dist/types/streaming/StreamEventRecorder.d.ts.map +0 -1
- package/dist/types/streaming/index.d.ts +0 -5
- package/dist/types/streaming/index.d.ts.map +0 -1
- package/dist/types/subflows/index.d.ts +0 -2
- package/dist/types/subflows/index.d.ts.map +0 -1
- package/dist/types/tools/ToolRegistry.d.ts +0 -57
- package/dist/types/tools/ToolRegistry.d.ts.map +0 -1
- package/dist/types/tools/askHuman.d.ts +0 -39
- package/dist/types/tools/askHuman.d.ts.map +0 -1
- package/dist/types/tools/index.d.ts +0 -3
- package/dist/types/tools/index.d.ts.map +0 -1
- package/dist/types/tools/validateInput.d.ts +0 -29
- package/dist/types/tools/validateInput.d.ts.map +0 -1
- package/dist/types/tools/zodToJsonSchema.d.ts +0 -9
- package/dist/types/tools/zodToJsonSchema.d.ts.map +0 -1
- package/dist/types/tools.js +0 -6
- package/dist/types/tools.js.map +0 -1
- package/dist/types/types/adapter.d.ts +0 -36
- package/dist/types/types/adapter.d.ts.map +0 -1
- package/dist/types/types/agent.d.ts +0 -44
- package/dist/types/types/agent.d.ts.map +0 -1
- package/dist/types/types/content.d.ts +0 -104
- package/dist/types/types/content.d.ts.map +0 -1
- package/dist/types/types/errors.d.ts +0 -27
- package/dist/types/types/errors.d.ts.map +0 -1
- package/dist/types/types/index.d.ts +0 -14
- package/dist/types/types/index.d.ts.map +0 -1
- package/dist/types/types/llm.d.ts +0 -78
- package/dist/types/types/llm.d.ts.map +0 -1
- package/dist/types/types/messages.d.ts +0 -40
- package/dist/types/types/messages.d.ts.map +0 -1
- package/dist/types/types/multiAgent.d.ts +0 -66
- package/dist/types/types/multiAgent.d.ts.map +0 -1
- package/dist/types/types/retriever.d.ts +0 -41
- package/dist/types/types/retriever.d.ts.map +0 -1
- package/dist/types/types/tools.d.ts +0 -78
- package/dist/types/types/tools.d.ts.map +0 -1
|
@@ -0,0 +1,1015 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent — ReAct primitive (LLM + tools + iteration loop).
|
|
4
|
+
*
|
|
5
|
+
* Pattern: Builder (GoF) → produces a Runner backed by a footprintjs FlowChart.
|
|
6
|
+
* Role: Layer-5 primitive (core/). Assembles the 3-slot context
|
|
7
|
+
* pipeline + callLLM + route decider + tool-calls subflow +
|
|
8
|
+
* loopTo. Composition nestable anywhere that accepts a Runner.
|
|
9
|
+
* Emits: Via internal recorders:
|
|
10
|
+
* agentfootprint.agent.turn_start / turn_end
|
|
11
|
+
* agentfootprint.agent.iteration_start / iteration_end
|
|
12
|
+
* agentfootprint.agent.route_decided
|
|
13
|
+
* agentfootprint.stream.llm_start / llm_end
|
|
14
|
+
* agentfootprint.stream.tool_start / tool_end
|
|
15
|
+
* agentfootprint.context.* (via ContextRecorder)
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.AgentBuilder = exports.Agent = void 0;
|
|
19
|
+
const footprintjs_1 = require("footprintjs");
|
|
20
|
+
const pause_js_1 = require("./pause.js");
|
|
21
|
+
const cost_js_1 = require("./cost.js");
|
|
22
|
+
const conventions_js_1 = require("../conventions.js");
|
|
23
|
+
const commentaryTemplates_js_1 = require("../recorders/observability/commentary/commentaryTemplates.js");
|
|
24
|
+
const thinkingTemplates_js_1 = require("../recorders/observability/thinking/thinkingTemplates.js");
|
|
25
|
+
const ContextRecorder_js_1 = require("../recorders/core/ContextRecorder.js");
|
|
26
|
+
const StreamRecorder_js_1 = require("../recorders/core/StreamRecorder.js");
|
|
27
|
+
const AgentRecorder_js_1 = require("../recorders/core/AgentRecorder.js");
|
|
28
|
+
const CostRecorder_js_1 = require("../recorders/core/CostRecorder.js");
|
|
29
|
+
const PermissionRecorder_js_1 = require("../recorders/core/PermissionRecorder.js");
|
|
30
|
+
const EvalRecorder_js_1 = require("../recorders/core/EvalRecorder.js");
|
|
31
|
+
const MemoryRecorder_js_1 = require("../recorders/core/MemoryRecorder.js");
|
|
32
|
+
const SkillRecorder_js_1 = require("../recorders/core/SkillRecorder.js");
|
|
33
|
+
const typedEmit_js_1 = require("../recorders/core/typedEmit.js");
|
|
34
|
+
const define_types_js_1 = require("../memory/define.types.js");
|
|
35
|
+
const define_js_1 = require("../memory/define.js");
|
|
36
|
+
const mountMemoryPipeline_js_1 = require("../memory/wire/mountMemoryPipeline.js");
|
|
37
|
+
const buildSystemPromptSlot_js_1 = require("./slots/buildSystemPromptSlot.js");
|
|
38
|
+
const buildMessagesSlot_js_1 = require("./slots/buildMessagesSlot.js");
|
|
39
|
+
const buildToolsSlot_js_1 = require("./slots/buildToolsSlot.js");
|
|
40
|
+
const buildInjectionEngineSubflow_js_1 = require("../lib/injection-engine/buildInjectionEngineSubflow.js");
|
|
41
|
+
const RunnerBase_js_1 = require("./RunnerBase.js");
|
|
42
|
+
const tools_js_1 = require("./tools.js");
|
|
43
|
+
class Agent extends RunnerBase_js_1.RunnerBase {
|
|
44
|
+
name;
|
|
45
|
+
id;
|
|
46
|
+
provider;
|
|
47
|
+
model;
|
|
48
|
+
temperature;
|
|
49
|
+
maxTokens;
|
|
50
|
+
maxIterations;
|
|
51
|
+
systemPromptValue;
|
|
52
|
+
registry;
|
|
53
|
+
/**
|
|
54
|
+
* The Injection list — Skills, Steering, Instructions, Facts (and
|
|
55
|
+
* RAG, Memory). Evaluated each iteration by the
|
|
56
|
+
* InjectionEngine subflow; active set is filtered by slot subflows.
|
|
57
|
+
*/
|
|
58
|
+
injections;
|
|
59
|
+
pricingTable;
|
|
60
|
+
costBudget;
|
|
61
|
+
permissionChecker;
|
|
62
|
+
/**
|
|
63
|
+
* Voice config — shared by viewers (Lens, ChatThinkKit, CLI tail).
|
|
64
|
+
* `appName` is the active actor in narration ("Chatbot called…").
|
|
65
|
+
* `commentaryTemplates` drives Lens's third-person panel.
|
|
66
|
+
* `thinkingTemplates` drives chat-bubble first-person status.
|
|
67
|
+
* Defaults to bundled English; consumer overrides via builder.
|
|
68
|
+
*/
|
|
69
|
+
appName;
|
|
70
|
+
commentaryTemplates;
|
|
71
|
+
thinkingTemplates;
|
|
72
|
+
currentRunContext = {
|
|
73
|
+
runStartMs: 0,
|
|
74
|
+
runId: 'pending',
|
|
75
|
+
compositionPath: [],
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Memory subsystems registered via `.memory()`. Each definition mounts
|
|
79
|
+
* its `read` subflow before the InjectionEngine on every turn; per-id
|
|
80
|
+
* scope keys (`memoryInjectionKey(id)`) keep multi-memory layering
|
|
81
|
+
* collision-free.
|
|
82
|
+
*/
|
|
83
|
+
memories;
|
|
84
|
+
constructor(opts, systemPromptValue, registry, voice, injections = [], memories = []) {
|
|
85
|
+
super();
|
|
86
|
+
this.provider = opts.provider;
|
|
87
|
+
this.name = opts.name ?? 'Agent';
|
|
88
|
+
this.id = opts.id ?? 'agent';
|
|
89
|
+
this.model = opts.model;
|
|
90
|
+
this.temperature = opts.temperature;
|
|
91
|
+
this.maxTokens = opts.maxTokens;
|
|
92
|
+
this.maxIterations = clampIterations(opts.maxIterations ?? 10);
|
|
93
|
+
this.systemPromptValue = systemPromptValue;
|
|
94
|
+
this.registry = registry;
|
|
95
|
+
this.injections = injections;
|
|
96
|
+
this.memories = memories;
|
|
97
|
+
// Eager validation: tool names must be unique across .tool() +
|
|
98
|
+
// every Skill.inject.tools — the LLM dispatches by name. Runs in
|
|
99
|
+
// constructor so `Agent.build()` throws immediately on collision,
|
|
100
|
+
// not at first run().
|
|
101
|
+
validateToolNameUniqueness(registry, injections);
|
|
102
|
+
// Eager validation: memory ids must be unique so per-id scope keys
|
|
103
|
+
// (`memoryInjection_${id}`) don't collide.
|
|
104
|
+
validateMemoryIdUniqueness(memories);
|
|
105
|
+
if (opts.pricingTable)
|
|
106
|
+
this.pricingTable = opts.pricingTable;
|
|
107
|
+
if (opts.costBudget !== undefined)
|
|
108
|
+
this.costBudget = opts.costBudget;
|
|
109
|
+
if (opts.permissionChecker)
|
|
110
|
+
this.permissionChecker = opts.permissionChecker;
|
|
111
|
+
this.appName = voice.appName;
|
|
112
|
+
this.commentaryTemplates = voice.commentaryTemplates;
|
|
113
|
+
this.thinkingTemplates = voice.thinkingTemplates;
|
|
114
|
+
}
|
|
115
|
+
static create(opts) {
|
|
116
|
+
return new AgentBuilder(opts);
|
|
117
|
+
}
|
|
118
|
+
toFlowChart() {
|
|
119
|
+
return this.buildChart();
|
|
120
|
+
}
|
|
121
|
+
async run(input, options) {
|
|
122
|
+
const executor = this.createExecutor();
|
|
123
|
+
const result = await executor.run({
|
|
124
|
+
input: {
|
|
125
|
+
message: input.message,
|
|
126
|
+
...(input.identity !== undefined && { identity: input.identity }),
|
|
127
|
+
},
|
|
128
|
+
...(options ?? {}),
|
|
129
|
+
});
|
|
130
|
+
return this.finalizeResult(executor, result);
|
|
131
|
+
}
|
|
132
|
+
async resume(checkpoint, input, options) {
|
|
133
|
+
this.emitPauseResume(checkpoint, input);
|
|
134
|
+
// Fresh executor — footprintjs 4.17.0+ seeds the runtime from
|
|
135
|
+
// `checkpoint.sharedState` (and nested subflow states) automatically
|
|
136
|
+
// on a fresh executor's `resume()`. No need to retain a paused
|
|
137
|
+
// executor between run/resume.
|
|
138
|
+
const executor = this.createExecutor();
|
|
139
|
+
const result = await executor.resume(checkpoint, input, options);
|
|
140
|
+
return this.finalizeResult(executor, result);
|
|
141
|
+
}
|
|
142
|
+
createExecutor() {
|
|
143
|
+
this.currentRunContext = {
|
|
144
|
+
runStartMs: Date.now(),
|
|
145
|
+
runId: (0, RunnerBase_js_1.makeRunId)(),
|
|
146
|
+
compositionPath: [`Agent:${this.id}`],
|
|
147
|
+
};
|
|
148
|
+
const chart = this.buildChart();
|
|
149
|
+
const executor = new footprintjs_1.FlowChartExecutor(chart);
|
|
150
|
+
const dispatcher = this.getDispatcher();
|
|
151
|
+
const getRunCtx = () => this.currentRunContext;
|
|
152
|
+
executor.attachCombinedRecorder(new ContextRecorder_js_1.ContextRecorder({ dispatcher, getRunContext: getRunCtx }));
|
|
153
|
+
executor.attachCombinedRecorder((0, StreamRecorder_js_1.streamRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
154
|
+
executor.attachCombinedRecorder((0, AgentRecorder_js_1.agentRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
155
|
+
if (this.pricingTable) {
|
|
156
|
+
executor.attachCombinedRecorder((0, CostRecorder_js_1.costRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
157
|
+
}
|
|
158
|
+
if (this.permissionChecker) {
|
|
159
|
+
executor.attachCombinedRecorder((0, PermissionRecorder_js_1.permissionRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
160
|
+
}
|
|
161
|
+
// Always-on bridges for consumer-emitted domain events.
|
|
162
|
+
executor.attachCombinedRecorder((0, EvalRecorder_js_1.evalRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
163
|
+
executor.attachCombinedRecorder((0, MemoryRecorder_js_1.memoryRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
164
|
+
executor.attachCombinedRecorder((0, SkillRecorder_js_1.skillRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
165
|
+
for (const r of this.attachedRecorders)
|
|
166
|
+
executor.attachCombinedRecorder(r);
|
|
167
|
+
return executor;
|
|
168
|
+
}
|
|
169
|
+
finalizeResult(executor, result) {
|
|
170
|
+
const paused = this.detectPause(executor, result);
|
|
171
|
+
if (paused)
|
|
172
|
+
return paused;
|
|
173
|
+
if (result instanceof Error)
|
|
174
|
+
throw result;
|
|
175
|
+
if (typeof result === 'string')
|
|
176
|
+
return result;
|
|
177
|
+
throw new Error('Agent: unexpected result shape — expected final-answer string');
|
|
178
|
+
}
|
|
179
|
+
// ─── Chart assembly ────────────────────────────────────────────
|
|
180
|
+
buildChart() {
|
|
181
|
+
const provider = this.provider;
|
|
182
|
+
const model = this.model;
|
|
183
|
+
const temperature = this.temperature;
|
|
184
|
+
const maxTokens = this.maxTokens;
|
|
185
|
+
const systemPromptValue = this.systemPromptValue;
|
|
186
|
+
const registry = this.registry;
|
|
187
|
+
// (registryByName + toolSchemas redefined below using
|
|
188
|
+
// `augmentedRegistry` which adds the auto-attached `read_skill`
|
|
189
|
+
// tool when Skills are registered.)
|
|
190
|
+
const _legacyRegistry = registry;
|
|
191
|
+
void _legacyRegistry;
|
|
192
|
+
const maxIterations = this.maxIterations;
|
|
193
|
+
const pricingTable = this.pricingTable;
|
|
194
|
+
const costBudget = this.costBudget;
|
|
195
|
+
const permissionChecker = this.permissionChecker;
|
|
196
|
+
const seed = (scope) => {
|
|
197
|
+
const args = scope.$getArgs();
|
|
198
|
+
scope.userMessage = args.message;
|
|
199
|
+
scope.history = [{ role: 'user', content: args.message }];
|
|
200
|
+
// Default identity uses the runId so multi-run isolation works
|
|
201
|
+
// without consumer changes; explicit identity (multi-tenant)
|
|
202
|
+
// overrides via `agent.run({ identity })`.
|
|
203
|
+
scope.runIdentity = args.identity ?? {
|
|
204
|
+
conversationId: this.currentRunContext?.runId ?? 'default',
|
|
205
|
+
};
|
|
206
|
+
scope.newMessages = [];
|
|
207
|
+
scope.turnNumber = 1;
|
|
208
|
+
// Permissive default — explicit cap will land when PricingTable
|
|
209
|
+
// gets a context-window field. Memory pickByBudget treats anything
|
|
210
|
+
// ≥ minimumTokens as "fits", so this just enables the budget path.
|
|
211
|
+
scope.contextTokensRemaining = 32_000;
|
|
212
|
+
scope.iteration = 1;
|
|
213
|
+
scope.maxIterations = maxIterations;
|
|
214
|
+
scope.finalContent = '';
|
|
215
|
+
scope.totalInputTokens = 0;
|
|
216
|
+
scope.totalOutputTokens = 0;
|
|
217
|
+
scope.turnStartMs = Date.now();
|
|
218
|
+
scope.systemPromptInjections = [];
|
|
219
|
+
scope.messagesInjections = [];
|
|
220
|
+
scope.toolsInjections = [];
|
|
221
|
+
scope.llmLatestContent = '';
|
|
222
|
+
scope.llmLatestToolCalls = [];
|
|
223
|
+
scope.pausedToolCallId = '';
|
|
224
|
+
scope.pausedToolName = '';
|
|
225
|
+
scope.pausedToolStartMs = 0;
|
|
226
|
+
scope.cumTokensInput = 0;
|
|
227
|
+
scope.cumTokensOutput = 0;
|
|
228
|
+
scope.cumEstimatedUsd = 0;
|
|
229
|
+
scope.costBudgetHit = false;
|
|
230
|
+
scope.activeInjections = [];
|
|
231
|
+
scope.activatedInjectionIds = [];
|
|
232
|
+
scope.dynamicToolSchemas = toolSchemas;
|
|
233
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.turn_start', {
|
|
234
|
+
turnIndex: 0,
|
|
235
|
+
userPrompt: args.message,
|
|
236
|
+
});
|
|
237
|
+
};
|
|
238
|
+
// Tool registry composition — three sources:
|
|
239
|
+
//
|
|
240
|
+
// 1. Static registry: tools registered via `.tool()`. Always
|
|
241
|
+
// visible to the LLM; always executable.
|
|
242
|
+
// 2. `read_skill` (auto-attached when ≥1 Skill is registered):
|
|
243
|
+
// activation tool for LLM-guided Skills.
|
|
244
|
+
// 3. Skill-supplied tools (`Skill.inject.tools[]`): visible only
|
|
245
|
+
// when the Skill is active (filtered by tools slot subflow);
|
|
246
|
+
// MUST always be in the executor registry so when the LLM
|
|
247
|
+
// calls one, the tool-calls handler can dispatch.
|
|
248
|
+
//
|
|
249
|
+
// Tool-name uniqueness is enforced across all three sources at
|
|
250
|
+
// build time. The LLM only sees `tool.schema.name` (no ids), so
|
|
251
|
+
// names ARE the runtime dispatch key — collisions break the LLM's
|
|
252
|
+
// ability to call the right tool. Throw early instead of subtly
|
|
253
|
+
// shadowing.
|
|
254
|
+
const skills = this.injections.filter((i) => i.flavor === 'skill');
|
|
255
|
+
const skillToolEntries = [];
|
|
256
|
+
for (const skill of skills) {
|
|
257
|
+
const toolsFromSkill = skill.inject.tools ?? [];
|
|
258
|
+
for (const tool of toolsFromSkill) {
|
|
259
|
+
skillToolEntries.push({ name: tool.schema.name, tool });
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
const readSkillEntries = skills.length > 0 ? [{ name: 'read_skill', tool: buildReadSkillTool(skills) }] : [];
|
|
263
|
+
const augmentedRegistry = [
|
|
264
|
+
...registry,
|
|
265
|
+
...readSkillEntries,
|
|
266
|
+
...skillToolEntries,
|
|
267
|
+
];
|
|
268
|
+
// Validate: tool names must be unique across registry + skills.
|
|
269
|
+
// The LLM dispatches by name; collisions silently shadow.
|
|
270
|
+
const seenNames = new Set();
|
|
271
|
+
for (const entry of augmentedRegistry) {
|
|
272
|
+
if (seenNames.has(entry.name)) {
|
|
273
|
+
throw new Error(`Agent: duplicate tool name '${entry.name}'. Tool names must be unique ` +
|
|
274
|
+
`across .tool() registrations and all Skills' inject.tools (the LLM ` +
|
|
275
|
+
`dispatches by name; collisions break tool routing).`);
|
|
276
|
+
}
|
|
277
|
+
seenNames.add(entry.name);
|
|
278
|
+
}
|
|
279
|
+
const registryByName = new Map(augmentedRegistry.map((e) => [e.name, e.tool]));
|
|
280
|
+
const toolSchemas = augmentedRegistry.map((e) => e.tool.schema);
|
|
281
|
+
const injectionEngineSubflow = (0, buildInjectionEngineSubflow_js_1.buildInjectionEngineSubflow)({
|
|
282
|
+
injections: this.injections,
|
|
283
|
+
});
|
|
284
|
+
const systemPromptSubflow = (0, buildSystemPromptSlot_js_1.buildSystemPromptSlot)({
|
|
285
|
+
prompt: systemPromptValue,
|
|
286
|
+
reason: 'Agent.system()',
|
|
287
|
+
});
|
|
288
|
+
const messagesSubflow = (0, buildMessagesSlot_js_1.buildMessagesSlot)();
|
|
289
|
+
const toolsSubflow = (0, buildToolsSlot_js_1.buildToolsSlot)({ tools: toolSchemas });
|
|
290
|
+
const iterationStart = (scope) => {
|
|
291
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_start', {
|
|
292
|
+
turnIndex: 0,
|
|
293
|
+
iterIndex: scope.iteration,
|
|
294
|
+
});
|
|
295
|
+
};
|
|
296
|
+
const callLLM = async (scope) => {
|
|
297
|
+
const systemPromptInjections = scope.systemPromptInjections ?? [];
|
|
298
|
+
const messagesInjections = scope.messagesInjections ?? [];
|
|
299
|
+
const iteration = scope.iteration;
|
|
300
|
+
const systemPrompt = systemPromptInjections
|
|
301
|
+
.map((r) => r.rawContent ?? '')
|
|
302
|
+
.filter((s) => s.length > 0)
|
|
303
|
+
.join('\n\n');
|
|
304
|
+
const messages = messagesInjections
|
|
305
|
+
.map((r) => ({
|
|
306
|
+
role: r.asRole ?? 'user',
|
|
307
|
+
content: r.rawContent ?? r.contentSummary,
|
|
308
|
+
...(r.sourceId !== undefined && { toolCallId: r.sourceId }),
|
|
309
|
+
}))
|
|
310
|
+
.filter((m) => m.content.length > 0);
|
|
311
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.llm_start', {
|
|
312
|
+
iteration,
|
|
313
|
+
provider: provider.name,
|
|
314
|
+
model,
|
|
315
|
+
systemPromptChars: systemPrompt.length,
|
|
316
|
+
messagesCount: messages.length,
|
|
317
|
+
toolsCount: toolSchemas.length,
|
|
318
|
+
...(temperature !== undefined && { temperature }),
|
|
319
|
+
});
|
|
320
|
+
const startMs = Date.now();
|
|
321
|
+
// Use dynamic schemas — registry tools + injection-supplied
|
|
322
|
+
// tools (Skills' `inject.tools` when their Injection is active).
|
|
323
|
+
// Falls back to the static schemas at startup before the tools
|
|
324
|
+
// slot has run for the first time.
|
|
325
|
+
const activeToolSchemas = scope.dynamicToolSchemas ?? toolSchemas;
|
|
326
|
+
const llmRequest = {
|
|
327
|
+
...(systemPrompt.length > 0 && { systemPrompt }),
|
|
328
|
+
messages,
|
|
329
|
+
...(activeToolSchemas.length > 0 && { tools: activeToolSchemas }),
|
|
330
|
+
model,
|
|
331
|
+
...(temperature !== undefined && { temperature }),
|
|
332
|
+
...(maxTokens !== undefined && { maxTokens }),
|
|
333
|
+
};
|
|
334
|
+
// Streaming-first: when the provider implements `stream()` we
|
|
335
|
+
// consume chunk-by-chunk so consumers (Lens commentary, chat
|
|
336
|
+
// UIs) see tokens as they arrive instead of waiting for the
|
|
337
|
+
// full LLM call to finish. Each non-terminal chunk fires
|
|
338
|
+
// `agentfootprint.stream.token` with the token text + index.
|
|
339
|
+
//
|
|
340
|
+
// The terminal chunk SHOULD carry the authoritative
|
|
341
|
+
// `LLMResponse` (toolCalls + usage + stopReason); when it does
|
|
342
|
+
// we use it directly. When it doesn't (older providers, partial
|
|
343
|
+
// implementations) we fall back to `complete()` for the
|
|
344
|
+
// authoritative payload — keeping the ReAct loop deterministic.
|
|
345
|
+
let response;
|
|
346
|
+
if (provider.stream) {
|
|
347
|
+
for await (const chunk of provider.stream(llmRequest)) {
|
|
348
|
+
if (chunk.done) {
|
|
349
|
+
if (chunk.response)
|
|
350
|
+
response = chunk.response;
|
|
351
|
+
break;
|
|
352
|
+
}
|
|
353
|
+
if (chunk.content.length > 0) {
|
|
354
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.token', {
|
|
355
|
+
iteration,
|
|
356
|
+
tokenIndex: chunk.tokenIndex,
|
|
357
|
+
content: chunk.content,
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
if (!response) {
|
|
363
|
+
// No `stream()` OR stream finished without a response payload.
|
|
364
|
+
response = await provider.complete(llmRequest);
|
|
365
|
+
}
|
|
366
|
+
const durationMs = Date.now() - startMs;
|
|
367
|
+
scope.totalInputTokens = scope.totalInputTokens + response.usage.input;
|
|
368
|
+
scope.totalOutputTokens = scope.totalOutputTokens + response.usage.output;
|
|
369
|
+
scope.llmLatestContent = response.content;
|
|
370
|
+
scope.llmLatestToolCalls = response.toolCalls;
|
|
371
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.llm_end', {
|
|
372
|
+
iteration,
|
|
373
|
+
content: response.content,
|
|
374
|
+
toolCallCount: response.toolCalls.length,
|
|
375
|
+
usage: response.usage,
|
|
376
|
+
stopReason: response.stopReason,
|
|
377
|
+
durationMs,
|
|
378
|
+
});
|
|
379
|
+
(0, cost_js_1.emitCostTick)(scope, pricingTable, costBudget, model, response.usage);
|
|
380
|
+
};
|
|
381
|
+
/** Decides the next branch: 'tool-calls' or 'final'. */
|
|
382
|
+
const routeDecider = (scope) => {
|
|
383
|
+
const toolCalls = scope.llmLatestToolCalls;
|
|
384
|
+
const iteration = scope.iteration;
|
|
385
|
+
const chosen = toolCalls.length > 0 && iteration < scope.maxIterations ? 'tool-calls' : 'final';
|
|
386
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.route_decided', {
|
|
387
|
+
turnIndex: 0,
|
|
388
|
+
iterIndex: iteration,
|
|
389
|
+
chosen,
|
|
390
|
+
rationale: chosen === 'tool-calls'
|
|
391
|
+
? `LLM requested ${toolCalls.length} tool call(s)`
|
|
392
|
+
: iteration >= scope.maxIterations
|
|
393
|
+
? 'maxIterations reached — forcing final'
|
|
394
|
+
: 'LLM produced no tool calls — final answer',
|
|
395
|
+
});
|
|
396
|
+
return chosen;
|
|
397
|
+
};
|
|
398
|
+
/**
|
|
399
|
+
* Pausable tool-call handler.
|
|
400
|
+
*
|
|
401
|
+
* `execute` iterates the LLM-requested tool calls. If a tool throws
|
|
402
|
+
* `PauseRequest` via `pauseHere()`, we save the remaining work into
|
|
403
|
+
* scope and return the pause data — footprintjs captures a checkpoint
|
|
404
|
+
* and bubbles it up. The outer `Agent.run()` surfaces it as a
|
|
405
|
+
* `RunnerPauseOutcome`.
|
|
406
|
+
*
|
|
407
|
+
* `resume` is called when the consumer provides the human's answer.
|
|
408
|
+
* We treat that answer as the paused tool's result and append it to
|
|
409
|
+
* history, then continue the ReAct iteration loop.
|
|
410
|
+
*/
|
|
411
|
+
const toolCallsHandler = {
|
|
412
|
+
execute: async (scope) => {
|
|
413
|
+
const toolCalls = scope.llmLatestToolCalls;
|
|
414
|
+
const iteration = scope.iteration;
|
|
415
|
+
const newHistory = [...scope.history];
|
|
416
|
+
// ALWAYS push the assistant turn when there are tool calls — even
|
|
417
|
+
// if the content was empty — so providers (Anthropic, OpenAI) can
|
|
418
|
+
// round-trip the tool_use blocks via `LLMMessage.toolCalls`.
|
|
419
|
+
// Without this, the next iteration's request lacks the assistant
|
|
420
|
+
// turn that initiated the tool call, and the API rejects the
|
|
421
|
+
// following tool_result with "preceding tool_use missing".
|
|
422
|
+
if (scope.llmLatestContent || toolCalls.length > 0) {
|
|
423
|
+
newHistory.push({
|
|
424
|
+
role: 'assistant',
|
|
425
|
+
content: scope.llmLatestContent ?? '',
|
|
426
|
+
...(toolCalls.length > 0 && { toolCalls }),
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
for (const tc of toolCalls) {
|
|
430
|
+
const tool = registryByName.get(tc.name);
|
|
431
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.tool_start', {
|
|
432
|
+
toolName: tc.name,
|
|
433
|
+
toolCallId: tc.id,
|
|
434
|
+
args: tc.args,
|
|
435
|
+
...(toolCalls.length > 1 && { parallelCount: toolCalls.length }),
|
|
436
|
+
});
|
|
437
|
+
const startMs = Date.now();
|
|
438
|
+
let result;
|
|
439
|
+
let error;
|
|
440
|
+
// Permission gate — when a checker is configured, evaluate BEFORE
|
|
441
|
+
// executing the tool. Emits `permission.check` with the decision.
|
|
442
|
+
// On 'deny', the tool is not executed and its result is a
|
|
443
|
+
// synthetic denial string; on 'allow'/'gate_open', execution
|
|
444
|
+
// proceeds normally (the gate is informational — the consumer's
|
|
445
|
+
// checker is responsible for any gate-open side effects).
|
|
446
|
+
let denied = false;
|
|
447
|
+
if (permissionChecker) {
|
|
448
|
+
try {
|
|
449
|
+
const decision = await permissionChecker.check({
|
|
450
|
+
capability: 'tool_call',
|
|
451
|
+
actor: 'agent',
|
|
452
|
+
target: tc.name,
|
|
453
|
+
context: tc.args,
|
|
454
|
+
});
|
|
455
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.permission.check', {
|
|
456
|
+
capability: 'tool_call',
|
|
457
|
+
actor: 'agent',
|
|
458
|
+
target: tc.name,
|
|
459
|
+
result: decision.result,
|
|
460
|
+
...(decision.policyRuleId !== undefined && { policyRuleId: decision.policyRuleId }),
|
|
461
|
+
...(decision.rationale !== undefined && { rationale: decision.rationale }),
|
|
462
|
+
});
|
|
463
|
+
if (decision.result === 'deny') {
|
|
464
|
+
denied = true;
|
|
465
|
+
result = `[permission denied: ${decision.rationale ?? 'policy'}]`;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
catch (permErr) {
|
|
469
|
+
// A checker that throws is treated as deny-by-default. The
|
|
470
|
+
// denial message records the thrown error so consumers can
|
|
471
|
+
// debug policy-adapter failures without losing the run.
|
|
472
|
+
denied = true;
|
|
473
|
+
const msg = permErr instanceof Error ? permErr.message : String(permErr);
|
|
474
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.permission.check', {
|
|
475
|
+
capability: 'tool_call',
|
|
476
|
+
actor: 'agent',
|
|
477
|
+
target: tc.name,
|
|
478
|
+
result: 'deny',
|
|
479
|
+
rationale: `permission-checker threw: ${msg}`,
|
|
480
|
+
});
|
|
481
|
+
result = `[permission denied: checker error: ${msg}]`;
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
if (!denied) {
|
|
485
|
+
try {
|
|
486
|
+
if (!tool)
|
|
487
|
+
throw new Error(`Unknown tool: ${tc.name}`);
|
|
488
|
+
result = await tool.execute(tc.args, {
|
|
489
|
+
toolCallId: tc.id,
|
|
490
|
+
iteration,
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
catch (err) {
|
|
494
|
+
if ((0, pause_js_1.isPauseRequest)(err)) {
|
|
495
|
+
// Commit partial state so resume() can find history intact.
|
|
496
|
+
scope.history = newHistory;
|
|
497
|
+
scope.pausedToolCallId = tc.id;
|
|
498
|
+
scope.pausedToolName = tc.name;
|
|
499
|
+
scope.pausedToolStartMs = startMs;
|
|
500
|
+
// Returning a defined value triggers footprintjs pause —
|
|
501
|
+
// the returned object becomes the checkpoint's pauseData.
|
|
502
|
+
return {
|
|
503
|
+
toolCallId: tc.id,
|
|
504
|
+
toolName: tc.name,
|
|
505
|
+
...(typeof err.data === 'object' && err.data !== null
|
|
506
|
+
? err.data
|
|
507
|
+
: { data: err.data }),
|
|
508
|
+
};
|
|
509
|
+
}
|
|
510
|
+
error = true;
|
|
511
|
+
result = err instanceof Error ? err.message : String(err);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
const durationMs = Date.now() - startMs;
|
|
515
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.tool_end', {
|
|
516
|
+
toolCallId: tc.id,
|
|
517
|
+
result,
|
|
518
|
+
durationMs,
|
|
519
|
+
...(error === true && { error: true }),
|
|
520
|
+
});
|
|
521
|
+
const resultStr = typeof result === 'string' ? result : safeStringify(result);
|
|
522
|
+
newHistory.push({
|
|
523
|
+
role: 'tool',
|
|
524
|
+
content: resultStr,
|
|
525
|
+
toolCallId: tc.id,
|
|
526
|
+
toolName: tc.name,
|
|
527
|
+
});
|
|
528
|
+
// ── Dynamic ReAct wiring ───────────────────────────────
|
|
529
|
+
//
|
|
530
|
+
// (1) `lastToolResult` drives `on-tool-return` Injection
|
|
531
|
+
// triggers — the InjectionEngine's NEXT pass will see
|
|
532
|
+
// this and activate any matching Instructions.
|
|
533
|
+
scope.lastToolResult = { toolName: tc.name, result: resultStr };
|
|
534
|
+
// (2) `read_skill` is the auto-attached activation tool.
|
|
535
|
+
// When the LLM calls it with a valid Skill id, append
|
|
536
|
+
// to `activatedInjectionIds` so the InjectionEngine's
|
|
537
|
+
// NEXT pass activates that Skill (lifetime: turn — stays
|
|
538
|
+
// active until the turn ends).
|
|
539
|
+
if (tc.name === 'read_skill' && !error && !denied) {
|
|
540
|
+
const requestedId = tc.args.id;
|
|
541
|
+
if (typeof requestedId === 'string' && requestedId.length > 0) {
|
|
542
|
+
const current = scope.activatedInjectionIds;
|
|
543
|
+
if (!current.includes(requestedId)) {
|
|
544
|
+
scope.activatedInjectionIds = [...current, requestedId];
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
scope.history = newHistory;
|
|
550
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_end', {
|
|
551
|
+
turnIndex: 0,
|
|
552
|
+
iterIndex: iteration,
|
|
553
|
+
toolCallCount: toolCalls.length,
|
|
554
|
+
});
|
|
555
|
+
scope.iteration = iteration + 1;
|
|
556
|
+
return undefined; // explicit: no pause, flow continues to loopTo
|
|
557
|
+
},
|
|
558
|
+
resume: (scope, input) => {
|
|
559
|
+
// Consumer-supplied resume input becomes the paused tool's result.
|
|
560
|
+
// The subflow's pre-pause scope is restored automatically by
|
|
561
|
+
// footprintjs 4.17.0 via `checkpoint.subflowStates`, so
|
|
562
|
+
// `scope.history` and `scope.pausedToolCallId` read back cleanly
|
|
563
|
+
// across same-executor AND cross-executor resume.
|
|
564
|
+
const toolCallId = scope.pausedToolCallId;
|
|
565
|
+
const toolName = scope.pausedToolName;
|
|
566
|
+
const startMs = scope.pausedToolStartMs;
|
|
567
|
+
const resultStr = typeof input === 'string' ? input : safeStringify(input);
|
|
568
|
+
const newHistory = [
|
|
569
|
+
...scope.history,
|
|
570
|
+
{
|
|
571
|
+
role: 'tool',
|
|
572
|
+
content: resultStr,
|
|
573
|
+
toolCallId,
|
|
574
|
+
toolName,
|
|
575
|
+
},
|
|
576
|
+
];
|
|
577
|
+
scope.history = newHistory;
|
|
578
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.tool_end', {
|
|
579
|
+
toolCallId,
|
|
580
|
+
result: input,
|
|
581
|
+
durationMs: Date.now() - startMs,
|
|
582
|
+
});
|
|
583
|
+
const iteration = scope.iteration;
|
|
584
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_end', {
|
|
585
|
+
turnIndex: 0,
|
|
586
|
+
iterIndex: iteration,
|
|
587
|
+
toolCallCount: 1,
|
|
588
|
+
});
|
|
589
|
+
scope.iteration = iteration + 1;
|
|
590
|
+
// Clear pause checkpoint fields.
|
|
591
|
+
scope.pausedToolCallId = '';
|
|
592
|
+
scope.pausedToolName = '';
|
|
593
|
+
scope.pausedToolStartMs = 0;
|
|
594
|
+
},
|
|
595
|
+
};
|
|
596
|
+
// Final branch is split so memory-write subflows can mount BETWEEN
|
|
597
|
+
// setting `finalContent` and breaking the ReAct loop. PrepareFinal
|
|
598
|
+
// captures the turn payload; BreakFinal terminates the loop.
|
|
599
|
+
const prepareFinalStage = (scope) => {
|
|
600
|
+
const iteration = scope.iteration;
|
|
601
|
+
scope.finalContent = scope.llmLatestContent;
|
|
602
|
+
// The turn payload memory writes persist: the user's message
|
|
603
|
+
// paired with the agent's final answer.
|
|
604
|
+
scope.newMessages = [
|
|
605
|
+
{ role: 'user', content: scope.userMessage },
|
|
606
|
+
{ role: 'assistant', content: scope.finalContent },
|
|
607
|
+
];
|
|
608
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_end', {
|
|
609
|
+
turnIndex: 0,
|
|
610
|
+
iterIndex: iteration,
|
|
611
|
+
toolCallCount: 0,
|
|
612
|
+
});
|
|
613
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.turn_end', {
|
|
614
|
+
turnIndex: 0,
|
|
615
|
+
finalContent: scope.finalContent,
|
|
616
|
+
totalInputTokens: scope.totalInputTokens,
|
|
617
|
+
totalOutputTokens: scope.totalOutputTokens,
|
|
618
|
+
iterationCount: iteration,
|
|
619
|
+
durationMs: Date.now() - scope.turnStartMs,
|
|
620
|
+
});
|
|
621
|
+
};
|
|
622
|
+
const breakFinalStage = (scope) => {
|
|
623
|
+
// $break terminates the flow before loopTo fires, ending the
|
|
624
|
+
// ReAct iteration once memory writes (if any) have persisted.
|
|
625
|
+
scope.$break();
|
|
626
|
+
return scope.finalContent;
|
|
627
|
+
};
|
|
628
|
+
// Compose the final branch as its own subflow so memory write
|
|
629
|
+
// subflows mount as visible siblings in narrative + Lens.
|
|
630
|
+
let finalBranchBuilder = (0, footprintjs_1.flowChart)('PrepareFinal', prepareFinalStage, 'prepare-final', undefined, 'Capture turn payload (finalContent + newMessages)');
|
|
631
|
+
for (const m of this.memories) {
|
|
632
|
+
if (m.write) {
|
|
633
|
+
finalBranchBuilder = (0, mountMemoryPipeline_js_1.mountMemoryWrite)(finalBranchBuilder, {
|
|
634
|
+
pipeline: {
|
|
635
|
+
read: (0, define_js_1.unwrapMemoryFlowChart)(m.read),
|
|
636
|
+
write: (0, define_js_1.unwrapMemoryFlowChart)(m.write),
|
|
637
|
+
},
|
|
638
|
+
identityKey: 'runIdentity',
|
|
639
|
+
turnNumberKey: 'turnNumber',
|
|
640
|
+
contextTokensKey: 'contextTokensRemaining',
|
|
641
|
+
newMessagesKey: 'newMessages',
|
|
642
|
+
writeSubflowId: `sf-memory-write-${m.id}`,
|
|
643
|
+
});
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
const finalBranchChart = finalBranchBuilder
|
|
647
|
+
.addFunction('BreakFinal', breakFinalStage, 'break-final', 'Terminate the ReAct loop')
|
|
648
|
+
.build();
|
|
649
|
+
// Description prefix `Agent:` is a taxonomy marker — consumers
|
|
650
|
+
// (Lens + FlowchartRecorder) detect Agent-primitive subflows via
|
|
651
|
+
// this prefix and flag them as true agent boundaries (separate
|
|
652
|
+
// from LLMCall subflows which use `LLMCall:` prefix).
|
|
653
|
+
let builder = (0, footprintjs_1.flowChart)('Seed', seed, conventions_js_1.STAGE_IDS.SEED, undefined, 'Agent: ReAct loop');
|
|
654
|
+
// Memory READ subflows — mounted between Seed and InjectionEngine
|
|
655
|
+
// for TURN_START timing (default). Each memory writes to its own
|
|
656
|
+
// scope key (`memoryInjection_${id}`) so multiple `.memory()`
|
|
657
|
+
// registrations layer without colliding.
|
|
658
|
+
for (const m of this.memories) {
|
|
659
|
+
builder = (0, mountMemoryPipeline_js_1.mountMemoryRead)(builder, {
|
|
660
|
+
pipeline: {
|
|
661
|
+
read: (0, define_js_1.unwrapMemoryFlowChart)(m.read),
|
|
662
|
+
...(m.write !== undefined && { write: (0, define_js_1.unwrapMemoryFlowChart)(m.write) }),
|
|
663
|
+
},
|
|
664
|
+
identityKey: 'runIdentity',
|
|
665
|
+
turnNumberKey: 'turnNumber',
|
|
666
|
+
contextTokensKey: 'contextTokensRemaining',
|
|
667
|
+
injectionKey: (0, define_types_js_1.memoryInjectionKey)(m.id),
|
|
668
|
+
readSubflowId: `sf-memory-read-${m.id}`,
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
builder = builder
|
|
672
|
+
// Injection Engine — evaluates every Injection's trigger once
|
|
673
|
+
// per iteration; writes activeInjections[] to parent scope for
|
|
674
|
+
// the slot subflows to consume. Skipped if no injections were
|
|
675
|
+
// registered (no observable difference, just one more no-op
|
|
676
|
+
// subflow boundary).
|
|
677
|
+
.addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.INJECTION_ENGINE, injectionEngineSubflow, 'Injection Engine', {
|
|
678
|
+
inputMapper: (parent) => ({
|
|
679
|
+
iteration: parent.iteration,
|
|
680
|
+
userMessage: parent.userMessage,
|
|
681
|
+
history: parent.history,
|
|
682
|
+
lastToolResult: parent.lastToolResult,
|
|
683
|
+
activatedInjectionIds: parent.activatedInjectionIds ?? [],
|
|
684
|
+
}),
|
|
685
|
+
outputMapper: (sf) => ({ activeInjections: sf.activeInjections }),
|
|
686
|
+
})
|
|
687
|
+
.addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.SYSTEM_PROMPT, systemPromptSubflow, 'System Prompt', {
|
|
688
|
+
inputMapper: (parent) => ({
|
|
689
|
+
userMessage: parent.userMessage,
|
|
690
|
+
iteration: parent.iteration,
|
|
691
|
+
activeInjections: parent.activeInjections,
|
|
692
|
+
}),
|
|
693
|
+
outputMapper: (sf) => ({ systemPromptInjections: sf.systemPromptInjections }),
|
|
694
|
+
})
|
|
695
|
+
.addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.MESSAGES, messagesSubflow, 'Messages', {
|
|
696
|
+
inputMapper: (parent) => ({
|
|
697
|
+
messages: parent.history,
|
|
698
|
+
iteration: parent.iteration,
|
|
699
|
+
activeInjections: parent.activeInjections,
|
|
700
|
+
}),
|
|
701
|
+
outputMapper: (sf) => ({ messagesInjections: sf.messagesInjections }),
|
|
702
|
+
})
|
|
703
|
+
.addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.TOOLS, toolsSubflow, 'Tools', {
|
|
704
|
+
inputMapper: (parent) => ({
|
|
705
|
+
iteration: parent.iteration,
|
|
706
|
+
activeInjections: parent.activeInjections,
|
|
707
|
+
}),
|
|
708
|
+
outputMapper: (sf) => ({
|
|
709
|
+
toolsInjections: sf.toolsInjections,
|
|
710
|
+
// Pass merged tool schemas (registry + injection-supplied)
|
|
711
|
+
// back up so callLLM uses the right list for THIS iteration.
|
|
712
|
+
dynamicToolSchemas: sf.toolSchemas,
|
|
713
|
+
}),
|
|
714
|
+
})
|
|
715
|
+
.addFunction('IterationStart', iterationStart, 'iteration-start', 'Iteration begin marker')
|
|
716
|
+
.addFunction('CallLLM', callLLM, conventions_js_1.STAGE_IDS.CALL_LLM, 'LLM invocation')
|
|
717
|
+
.addDeciderFunction('Route', routeDecider, conventions_js_1.SUBFLOW_IDS.ROUTE, 'ReAct routing')
|
|
718
|
+
.addPausableFunctionBranch('tool-calls', 'ToolCalls', toolCallsHandler, 'Tool execution (pausable via pauseHere)')
|
|
719
|
+
.addSubFlowChartBranch('final', finalBranchChart, 'Final', {
|
|
720
|
+
// Pass through the read-only state the sub-chart needs;
|
|
721
|
+
// OMIT keys the sub-chart writes (finalContent, newMessages)
|
|
722
|
+
// — passing those via inputMapper would freeze them as args.
|
|
723
|
+
inputMapper: (parent) => {
|
|
724
|
+
const { finalContent: _f, newMessages: _nm, ...rest } = parent;
|
|
725
|
+
void _f;
|
|
726
|
+
void _nm;
|
|
727
|
+
return rest;
|
|
728
|
+
},
|
|
729
|
+
outputMapper: (sf) => ({
|
|
730
|
+
finalContent: sf.finalContent,
|
|
731
|
+
}),
|
|
732
|
+
// BreakFinal's $break() must reach the outer loopTo so the
|
|
733
|
+
// ReAct iteration terminates; without this the inner break
|
|
734
|
+
// only exits the sub-chart and the outer loop continues.
|
|
735
|
+
propagateBreak: true,
|
|
736
|
+
})
|
|
737
|
+
.setDefault('final')
|
|
738
|
+
.end()
|
|
739
|
+
.loopTo(conventions_js_1.SUBFLOW_IDS.MESSAGES);
|
|
740
|
+
return builder.build();
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
exports.Agent = Agent;
|
|
744
|
+
/**
|
|
745
|
+
* Fluent builder. `tool()` accepts any Tool<TArgs, TResult> and registers
|
|
746
|
+
* it by its schema.name. Duplicate names throw at build time.
|
|
747
|
+
*/
|
|
748
|
+
class AgentBuilder {
|
|
749
|
+
opts;
|
|
750
|
+
systemPromptValue = '';
|
|
751
|
+
registry = [];
|
|
752
|
+
injectionList = [];
|
|
753
|
+
memoryList = [];
|
|
754
|
+
// Voice config — defaults until the consumer calls .appName() /
|
|
755
|
+
// .commentaryTemplates() / .thinkingTemplates(). Stored as plain
|
|
756
|
+
// dicts (Record<string, string>) so the builder doesn't depend on
|
|
757
|
+
// the template-engine modules at compile time; the runtime types
|
|
758
|
+
// come from the agentfootprint barrel exports.
|
|
759
|
+
appNameValue = 'Chatbot';
|
|
760
|
+
commentaryOverrides = {};
|
|
761
|
+
thinkingOverrides = {};
|
|
762
|
+
constructor(opts) {
|
|
763
|
+
this.opts = opts;
|
|
764
|
+
}
|
|
765
|
+
system(prompt) {
|
|
766
|
+
this.systemPromptValue = prompt;
|
|
767
|
+
return this;
|
|
768
|
+
}
|
|
769
|
+
tool(tool) {
|
|
770
|
+
const name = tool.schema.name;
|
|
771
|
+
if (this.registry.some((e) => e.name === name)) {
|
|
772
|
+
throw new Error(`Agent.tool(): duplicate tool name '${name}'`);
|
|
773
|
+
}
|
|
774
|
+
this.registry.push({ name, tool: tool });
|
|
775
|
+
return this;
|
|
776
|
+
}
|
|
777
|
+
/**
|
|
778
|
+
* Set the agent's display name — substituted as `{{appName}}` in
|
|
779
|
+
* commentary + thinking templates. Same place to brand a tenant
|
|
780
|
+
* ("Acme Bot"), distinguish multi-agent roles ("Triage" vs
|
|
781
|
+
* "Reviewer"), or localize ("Asistente"). Default: `'Chatbot'`.
|
|
782
|
+
*/
|
|
783
|
+
appName(name) {
|
|
784
|
+
this.appNameValue = name;
|
|
785
|
+
return this;
|
|
786
|
+
}
|
|
787
|
+
/**
|
|
788
|
+
* Override agentfootprint's bundled commentary templates. Spread on
|
|
789
|
+
* top of `defaultCommentaryTemplates`; missing keys fall back. Same
|
|
790
|
+
* `Record<string, string>` shape with `{{vars}}` substitution as
|
|
791
|
+
* the bundled defaults — see `defaultCommentaryTemplates` for the
|
|
792
|
+
* full key list.
|
|
793
|
+
*
|
|
794
|
+
* Use cases: i18n (`'agent.turn_start': 'El usuario...'`), brand
|
|
795
|
+
* voice ("You: {{userPrompt}}"), per-tenant customization.
|
|
796
|
+
*/
|
|
797
|
+
commentaryTemplates(templates) {
|
|
798
|
+
this.commentaryOverrides = { ...this.commentaryOverrides, ...templates };
|
|
799
|
+
return this;
|
|
800
|
+
}
|
|
801
|
+
/**
|
|
802
|
+
* Override agentfootprint's bundled thinking templates. Same
|
|
803
|
+
* contract shape as commentary; different vocabulary — first-person
|
|
804
|
+
* status the chat bubble shows mid-call. Per-tool overrides go via
|
|
805
|
+
* `tool.<toolName>` keys (e.g., `'tool.weather': 'Looking up the
|
|
806
|
+
* weather…'`). See `defaultThinkingTemplates` for the full key list.
|
|
807
|
+
*/
|
|
808
|
+
thinkingTemplates(templates) {
|
|
809
|
+
this.thinkingOverrides = { ...this.thinkingOverrides, ...templates };
|
|
810
|
+
return this;
|
|
811
|
+
}
|
|
812
|
+
// ─── Injection sugar — context engineering surface ───────────
|
|
813
|
+
//
|
|
814
|
+
// ALL of these push into the same `injectionList`. The Injection
|
|
815
|
+
// primitive is identical across flavors; the methods are just
|
|
816
|
+
// narrative-friendly aliases. Duplicate ids throw at build time.
|
|
817
|
+
/**
|
|
818
|
+
* Register any `Injection`. Use this for power-user / custom flavors;
|
|
819
|
+
* for built-in flavors use the typed sugar (`.skill`, `.steering`,
|
|
820
|
+
* `.instruction`, `.fact`).
|
|
821
|
+
*/
|
|
822
|
+
injection(injection) {
|
|
823
|
+
if (this.injectionList.some((i) => i.id === injection.id)) {
|
|
824
|
+
throw new Error(`Agent.injection(): duplicate id '${injection.id}'`);
|
|
825
|
+
}
|
|
826
|
+
this.injectionList.push(injection);
|
|
827
|
+
return this;
|
|
828
|
+
}
|
|
829
|
+
/**
|
|
830
|
+
* Register a Skill — LLM-activated, system-prompt + tools.
|
|
831
|
+
* Auto-attaches the `read_skill` activation tool to the agent.
|
|
832
|
+
* Skill stays active for the rest of the turn once activated.
|
|
833
|
+
*/
|
|
834
|
+
skill(injection) {
|
|
835
|
+
return this.injection(injection);
|
|
836
|
+
}
|
|
837
|
+
/**
|
|
838
|
+
* Register a Steering doc — always-on system-prompt rule.
|
|
839
|
+
* Use for invariant guidance: output format, persona, safety policies.
|
|
840
|
+
*/
|
|
841
|
+
steering(injection) {
|
|
842
|
+
return this.injection(injection);
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* Register an Instruction — rule-based system-prompt guidance.
|
|
846
|
+
* Predicate runs each iteration. Use for context-dependent rules
|
|
847
|
+
* including the "Dynamic ReAct" `on-tool-return` pattern.
|
|
848
|
+
*/
|
|
849
|
+
instruction(injection) {
|
|
850
|
+
return this.injection(injection);
|
|
851
|
+
}
|
|
852
|
+
/**
|
|
853
|
+
* Register a Fact — developer-supplied data the LLM should see.
|
|
854
|
+
* User profile, env info, computed summary, current time, …
|
|
855
|
+
* Distinct from Skills (LLM-activated guidance) and Steering
|
|
856
|
+
* (always-on rules) in INTENT — the engine treats them all alike.
|
|
857
|
+
*/
|
|
858
|
+
fact(injection) {
|
|
859
|
+
return this.injection(injection);
|
|
860
|
+
}
|
|
861
|
+
/**
|
|
862
|
+
* Register a Memory subsystem — load/persist conversation context,
|
|
863
|
+
* facts, narrative beats, or causal snapshots across runs.
|
|
864
|
+
*
|
|
865
|
+
* The `MemoryDefinition` is produced by `defineMemory({ type, strategy,
|
|
866
|
+
* store })`. Multiple memories layer cleanly via per-id scope keys
|
|
867
|
+
* (`memoryInjection_${id}`):
|
|
868
|
+
*
|
|
869
|
+
* ```ts
|
|
870
|
+
* Agent.create({ provider })
|
|
871
|
+
* .memory(defineMemory({ id: 'short', type: MEMORY_TYPES.EPISODIC,
|
|
872
|
+
* strategy: { kind: MEMORY_STRATEGIES.WINDOW, size: 10 },
|
|
873
|
+
* store }))
|
|
874
|
+
* .memory(defineMemory({ id: 'facts', type: MEMORY_TYPES.SEMANTIC,
|
|
875
|
+
* strategy: { kind: MEMORY_STRATEGIES.EXTRACT,
|
|
876
|
+
* extractor: 'pattern' }, store }))
|
|
877
|
+
* .build();
|
|
878
|
+
* ```
|
|
879
|
+
*
|
|
880
|
+
* The READ subflow runs at the configured `timing` (default
|
|
881
|
+
* `MEMORY_TIMING.TURN_START`) and writes its formatted output to the
|
|
882
|
+
* `memoryInjection_${id}` scope key for the slot subflows to consume.
|
|
883
|
+
*/
|
|
884
|
+
memory(definition) {
|
|
885
|
+
if (this.memoryList.some((m) => m.id === definition.id)) {
|
|
886
|
+
throw new Error(`Agent.memory(): duplicate id '${definition.id}' — each memory needs a unique id ` +
|
|
887
|
+
'to keep its scope key (`memoryInjection_${id}`) collision-free.');
|
|
888
|
+
}
|
|
889
|
+
this.memoryList.push(definition);
|
|
890
|
+
return this;
|
|
891
|
+
}
|
|
892
|
+
build() {
|
|
893
|
+
// Resolve the voice config: bundled defaults + consumer overrides.
|
|
894
|
+
// Templates flow through the same barrel exports the rest of the
|
|
895
|
+
// library uses, so a future locale-pack swap is a single import.
|
|
896
|
+
const voice = {
|
|
897
|
+
appName: this.appNameValue,
|
|
898
|
+
commentaryTemplates: { ...commentaryTemplates_js_1.defaultCommentaryTemplates, ...this.commentaryOverrides },
|
|
899
|
+
thinkingTemplates: { ...thinkingTemplates_js_1.defaultThinkingTemplates, ...this.thinkingOverrides },
|
|
900
|
+
};
|
|
901
|
+
return new Agent(this.opts, this.systemPromptValue, this.registry, voice, this.injectionList, this.memoryList);
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
exports.AgentBuilder = AgentBuilder;
|
|
905
|
+
function validateMemoryIdUniqueness(memories) {
|
|
906
|
+
const seen = new Set();
|
|
907
|
+
for (const m of memories) {
|
|
908
|
+
if (seen.has(m.id)) {
|
|
909
|
+
throw new Error(`Agent: duplicate memory id '${m.id}'. Each memory needs a unique id to keep ` +
|
|
910
|
+
'its scope key (`memoryInjection_${id}`) collision-free.');
|
|
911
|
+
}
|
|
912
|
+
seen.add(m.id);
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
function clampIterations(n) {
|
|
916
|
+
if (!Number.isInteger(n) || n < 1)
|
|
917
|
+
return 1;
|
|
918
|
+
if (n > 50)
|
|
919
|
+
return 50;
|
|
920
|
+
return n;
|
|
921
|
+
}
|
|
922
|
+
/**
|
|
923
|
+
* Validate tool-name uniqueness across `.tool()`-registered tools +
|
|
924
|
+
* every Skill's `inject.tools[]`. The LLM dispatches by `tool.schema.name`
|
|
925
|
+
* (the wire format), so any collision silently shadows execution.
|
|
926
|
+
*
|
|
927
|
+
* Called eagerly in the Agent constructor so `Agent.build()` throws
|
|
928
|
+
* immediately, not on first `run()`.
|
|
929
|
+
*
|
|
930
|
+
* `read_skill` is reserved when ≥1 Skill is registered — collisions
|
|
931
|
+
* with consumer tools throw.
|
|
932
|
+
*/
|
|
933
|
+
function validateToolNameUniqueness(registry, injections) {
|
|
934
|
+
const seen = new Set();
|
|
935
|
+
const claim = (name, sourceLabel) => {
|
|
936
|
+
if (seen.has(name)) {
|
|
937
|
+
throw new Error(`Agent: duplicate tool name '${name}' (${sourceLabel}). Tool names must be ` +
|
|
938
|
+
`unique across .tool() registrations and all Skills' inject.tools — the LLM ` +
|
|
939
|
+
`dispatches by name; collisions break tool routing.`);
|
|
940
|
+
}
|
|
941
|
+
seen.add(name);
|
|
942
|
+
};
|
|
943
|
+
for (const entry of registry)
|
|
944
|
+
claim(entry.name, '.tool()');
|
|
945
|
+
const skills = injections.filter((i) => i.flavor === 'skill');
|
|
946
|
+
if (skills.length > 0)
|
|
947
|
+
claim('read_skill', 'auto-attached for Skills');
|
|
948
|
+
for (const skill of skills) {
|
|
949
|
+
for (const tool of skill.inject.tools ?? []) {
|
|
950
|
+
claim(tool.schema.name, `from Skill '${skill.id}'`);
|
|
951
|
+
}
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
/**
|
|
955
|
+
* Build the auto-attached `read_skill` tool from a list of Skill
|
|
956
|
+
* Injections. The LLM picks WHICH skill via the `id` argument.
|
|
957
|
+
*
|
|
958
|
+
* Tool execute() does the bookkeeping: appends the requested skill id
|
|
959
|
+
* to `scope.activatedInjectionIds`. The next iteration's
|
|
960
|
+
* InjectionEngine matches Skills with `trigger.kind: 'llm-activated'`
|
|
961
|
+
* by id and includes them in the active set; slot subflows then
|
|
962
|
+
* inject the body + tools.
|
|
963
|
+
*
|
|
964
|
+
* The tool's description lists each Skill's `id` + `description` so
|
|
965
|
+
* the LLM can choose meaningfully.
|
|
966
|
+
*/
|
|
967
|
+
function buildReadSkillTool(skills) {
|
|
968
|
+
const skillIds = skills.map((s) => s.id);
|
|
969
|
+
const skillCatalog = skills
|
|
970
|
+
.map((s) => ` - ${s.id}: ${s.description ?? '(no description)'}`)
|
|
971
|
+
.join('\n');
|
|
972
|
+
return (0, tools_js_1.defineTool)({
|
|
973
|
+
name: 'read_skill',
|
|
974
|
+
description: `Activate a skill for the next iteration. Available skills:\n${skillCatalog}\n\n` +
|
|
975
|
+
`Pass the skill's id. The skill's body becomes part of the system prompt and any ` +
|
|
976
|
+
`gated tools become available on the next call.`,
|
|
977
|
+
inputSchema: {
|
|
978
|
+
type: 'object',
|
|
979
|
+
properties: {
|
|
980
|
+
id: {
|
|
981
|
+
type: 'string',
|
|
982
|
+
enum: skillIds,
|
|
983
|
+
description: 'The skill id to activate.',
|
|
984
|
+
},
|
|
985
|
+
},
|
|
986
|
+
required: ['id'],
|
|
987
|
+
},
|
|
988
|
+
execute: ({ id }) => {
|
|
989
|
+
// Bookkeeping is handled by the Agent's tool-calls subflow,
|
|
990
|
+
// which inspects `read_skill` returns and updates
|
|
991
|
+
// `scope.activatedInjectionIds` before the next iteration.
|
|
992
|
+
// The tool itself returns a confirmation string for the LLM.
|
|
993
|
+
if (!skillIds.includes(id)) {
|
|
994
|
+
return `Unknown skill '${id}'. Available: ${skillIds.join(', ')}`;
|
|
995
|
+
}
|
|
996
|
+
return `Skill '${id}' activated for the next iteration.`;
|
|
997
|
+
},
|
|
998
|
+
});
|
|
999
|
+
}
|
|
1000
|
+
/**
|
|
1001
|
+
* JSON.stringify with circular-ref protection. Tool results are untrusted —
|
|
1002
|
+
* a hostile/buggy tool returning a cyclic object must not crash the run.
|
|
1003
|
+
* Falls back to '[unstringifiable: <reason>]' so the LLM still sees that
|
|
1004
|
+
* the tool ran and produced something unusable.
|
|
1005
|
+
*/
|
|
1006
|
+
function safeStringify(value) {
|
|
1007
|
+
try {
|
|
1008
|
+
return JSON.stringify(value);
|
|
1009
|
+
}
|
|
1010
|
+
catch (err) {
|
|
1011
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
1012
|
+
return `[unstringifiable: ${reason}]`;
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
//# sourceMappingURL=Agent.js.map
|