agentfootprint 1.23.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +344 -193
- package/CLAUDE.md +340 -247
- package/README.md +208 -241
- package/ai-instructions/claude-code/SKILL.md +276 -502
- package/ai-instructions/clinerules +143 -49
- package/ai-instructions/copilot-instructions.md +138 -68
- package/ai-instructions/cursor/agentfootprint.md +139 -61
- package/ai-instructions/kiro/agentfootprint.md +139 -61
- package/ai-instructions/windsurfrules +143 -49
- 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 +1035 -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 +1030 -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 +122 -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/lib/rag/defineRAG.js +118 -0
- package/dist/esm/lib/rag/defineRAG.js.map +1 -0
- package/dist/esm/lib/rag/index.js +8 -0
- package/dist/esm/lib/rag/index.js.map +1 -0
- package/dist/esm/lib/rag/indexDocuments.js +73 -0
- package/dist/esm/lib/rag/indexDocuments.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 +226 -89
- 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/lib/rag/defineRAG.js +122 -0
- package/dist/lib/rag/defineRAG.js.map +1 -0
- package/dist/lib/rag/index.js +13 -0
- package/dist/lib/rag/index.js.map +1 -0
- package/dist/lib/rag/indexDocuments.js +77 -0
- package/dist/lib/rag/indexDocuments.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 +237 -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 +55 -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/lib/rag/defineRAG.d.ts +141 -0
- package/dist/types/lib/rag/defineRAG.d.ts.map +1 -0
- package/dist/types/lib/rag/index.d.ts +8 -0
- package/dist/types/lib/rag/index.d.ts.map +1 -0
- package/dist/types/lib/rag/indexDocuments.d.ts +77 -0
- package/dist/types/lib/rag/indexDocuments.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 -240
- 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 -291
- 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 -313
- 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 -235
- 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 -286
- 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 -308
- 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 -1107
- 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 -1112
- 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 -68
- 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 -122
- 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 -111
- 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 -538
- 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
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OTelRecorder — exports agent events as OpenTelemetry spans.
|
|
3
|
-
*
|
|
4
|
-
* Takes a duck-typed Tracer from the consumer — zero @opentelemetry dependency in core.
|
|
5
|
-
* Follows OpenTelemetry Semantic Conventions for GenAI where applicable.
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* import { trace } from '@opentelemetry/api';
|
|
9
|
-
* import { OTelRecorder } from 'agentfootprint/observe';
|
|
10
|
-
*
|
|
11
|
-
* const recorder = new OTelRecorder(trace.getTracer('agentfootprint'));
|
|
12
|
-
* agent.recorder(recorder);
|
|
13
|
-
*/
|
|
14
|
-
export class OTelRecorder {
|
|
15
|
-
id;
|
|
16
|
-
tracer;
|
|
17
|
-
serviceName;
|
|
18
|
-
turnSpan;
|
|
19
|
-
constructor(tracer, options) {
|
|
20
|
-
this.tracer = tracer;
|
|
21
|
-
this.id = options?.id ?? 'otel-recorder';
|
|
22
|
-
this.serviceName = options?.serviceName ?? 'agentfootprint';
|
|
23
|
-
}
|
|
24
|
-
onTurnStart(event) {
|
|
25
|
-
this.turnSpan = this.tracer.startSpan('agent.turn', {
|
|
26
|
-
attributes: {
|
|
27
|
-
'gen_ai.system': this.serviceName,
|
|
28
|
-
'agent.turn_number': event.turnNumber,
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
onLLMCall(event) {
|
|
33
|
-
const span = this.tracer.startSpan('gen_ai.chat', {
|
|
34
|
-
attributes: {
|
|
35
|
-
'gen_ai.system': this.serviceName,
|
|
36
|
-
'gen_ai.request.model': event.model ?? 'unknown',
|
|
37
|
-
'gen_ai.response.finish_reason': event.finishReason ?? 'unknown',
|
|
38
|
-
'gen_ai.usage.input_tokens': event.usage?.inputTokens ?? 0,
|
|
39
|
-
'gen_ai.usage.output_tokens': event.usage?.outputTokens ?? 0,
|
|
40
|
-
'gen_ai.response.latency_ms': event.latencyMs,
|
|
41
|
-
'agent.loop_iteration': event.loopIteration,
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
span.end();
|
|
45
|
-
}
|
|
46
|
-
onToolCall(event) {
|
|
47
|
-
const span = this.tracer.startSpan(`tool.${event.toolName}`, {
|
|
48
|
-
attributes: {
|
|
49
|
-
'tool.name': event.toolName,
|
|
50
|
-
'tool.latency_ms': event.latencyMs,
|
|
51
|
-
'tool.error': Boolean(event.result.error),
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
span.end();
|
|
55
|
-
}
|
|
56
|
-
onTurnComplete(event) {
|
|
57
|
-
if (this.turnSpan) {
|
|
58
|
-
this.turnSpan.setAttribute('agent.iterations', event.totalLoopIterations);
|
|
59
|
-
this.turnSpan.setAttribute('agent.message_count', event.messageCount);
|
|
60
|
-
this.turnSpan.end();
|
|
61
|
-
this.turnSpan = undefined;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
onError(event) {
|
|
65
|
-
const span = this.tracer.startSpan('agent.error', {
|
|
66
|
-
attributes: {
|
|
67
|
-
'error.phase': event.phase,
|
|
68
|
-
'error.type': event.error instanceof Error ? event.error.name : 'unknown',
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
// OTel StatusCode.ERROR = 2
|
|
72
|
-
span.setStatus?.({
|
|
73
|
-
code: 2,
|
|
74
|
-
message: event.error instanceof Error ? event.error.message : String(event.error),
|
|
75
|
-
});
|
|
76
|
-
span.end();
|
|
77
|
-
}
|
|
78
|
-
clear() {
|
|
79
|
-
this.turnSpan = undefined;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=OTelRecorder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OTelRecorder.js","sourceRoot":"","sources":["../../../src/recorders/OTelRecorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PermissionRecorder — AgentRecorder that captures permission gate events.
|
|
3
|
-
*
|
|
4
|
-
* Tracks both layers of gatedTools defense-in-depth:
|
|
5
|
-
* 1. resolve: tools filtered out (LLM never saw them)
|
|
6
|
-
* 2. execute: tool calls rejected (hallucinated/injected tool name)
|
|
7
|
-
*
|
|
8
|
-
* Integrates with gatedTools via the onBlocked callback — events
|
|
9
|
-
* are captured DURING traversal (not post-processing).
|
|
10
|
-
*
|
|
11
|
-
* Also captures successful tool calls via onToolCall to give a
|
|
12
|
-
* complete picture: what was allowed, what was blocked, what was denied.
|
|
13
|
-
*
|
|
14
|
-
* Usage:
|
|
15
|
-
* const permRecorder = new PermissionRecorder();
|
|
16
|
-
*
|
|
17
|
-
* const gated = gatedTools(inner, checker, {
|
|
18
|
-
* onBlocked: permRecorder.onBlocked, // Wire the bridge
|
|
19
|
-
* });
|
|
20
|
-
*
|
|
21
|
-
* const agent = Agent.create({ provider })
|
|
22
|
-
* .toolProvider(gated)
|
|
23
|
-
* .recorder(permRecorder)
|
|
24
|
-
* .build();
|
|
25
|
-
*
|
|
26
|
-
* // After execution:
|
|
27
|
-
* permRecorder.getEvents(); // all permission events
|
|
28
|
-
* permRecorder.getBlocked(); // just blocked tools
|
|
29
|
-
* permRecorder.getDenied(); // execute-time rejections
|
|
30
|
-
* permRecorder.getSummary(); // { allowed: [...], blocked: [...], denied: [...] }
|
|
31
|
-
*/
|
|
32
|
-
export class PermissionRecorder {
|
|
33
|
-
id = 'permission-recorder';
|
|
34
|
-
events = [];
|
|
35
|
-
/**
|
|
36
|
-
* Wire this to gatedTools({ onBlocked: recorder.onBlocked }).
|
|
37
|
-
* Arrow function — safe to pass as callback directly.
|
|
38
|
-
*/
|
|
39
|
-
onBlocked = (toolId, phase, _context) => {
|
|
40
|
-
this.events.push({
|
|
41
|
-
type: phase === 'resolve' ? 'blocked' : 'denied',
|
|
42
|
-
toolId,
|
|
43
|
-
phase,
|
|
44
|
-
timestamp: Date.now(),
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
/** AgentRecorder hook — captures successful tool calls. */
|
|
48
|
-
onToolCall(event) {
|
|
49
|
-
if (!event.result.error) {
|
|
50
|
-
this.events.push({
|
|
51
|
-
type: 'allowed',
|
|
52
|
-
toolId: event.toolName,
|
|
53
|
-
phase: 'execute',
|
|
54
|
-
timestamp: Date.now(),
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/** All permission events in order. */
|
|
59
|
-
getEvents() {
|
|
60
|
-
return this.events;
|
|
61
|
-
}
|
|
62
|
-
/** Tools blocked at resolve time (LLM never saw them). */
|
|
63
|
-
getBlocked() {
|
|
64
|
-
return [...new Set(this.events.filter((e) => e.type === 'blocked').map((e) => e.toolId))];
|
|
65
|
-
}
|
|
66
|
-
/** Tool calls denied at execute time (hallucinated/injected). */
|
|
67
|
-
getDenied() {
|
|
68
|
-
return [...new Set(this.events.filter((e) => e.type === 'denied').map((e) => e.toolId))];
|
|
69
|
-
}
|
|
70
|
-
/** Tools that were allowed and executed successfully. */
|
|
71
|
-
getAllowed() {
|
|
72
|
-
return [...new Set(this.events.filter((e) => e.type === 'allowed').map((e) => e.toolId))];
|
|
73
|
-
}
|
|
74
|
-
/** Summary for audit logging. */
|
|
75
|
-
getSummary() {
|
|
76
|
-
return {
|
|
77
|
-
allowed: this.getAllowed(),
|
|
78
|
-
blocked: this.getBlocked(),
|
|
79
|
-
denied: this.getDenied(),
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
clear() {
|
|
83
|
-
this.events = [];
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=PermissionRecorder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionRecorder.js","sourceRoot":"","sources":["../../../src/recorders/PermissionRecorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAYH,MAAM,OAAO,kBAAkB;IACpB,EAAE,GAAG,qBAAqB,CAAC;IAC5B,MAAM,GAAsB,EAAE,CAAC;IAEvC;;;OAGG;IACM,SAAS,GAAG,CACnB,MAAc,EACd,KAA4B,EAC5B,QAAsB,EAChB,EAAE;QACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAChD,MAAM;YACN,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,2DAA2D;IAC3D,UAAU,CAAC,KAAoB;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,KAAK,CAAC,QAAQ;gBACtB,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,0DAA0D;IAC1D,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,iEAAiE;IACjE,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,yDAAyD;IACzD,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,iCAAiC;IACjC,UAAU;QACR,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;SACzB,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* QualityRecorder — evaluates output quality during execution.
|
|
3
|
-
*
|
|
4
|
-
* Calls a judge function on each turn completion and collects scores.
|
|
5
|
-
* The judge can be LLM-powered, rule-based, or any scoring function.
|
|
6
|
-
* Scores are collected during traversal (never post-processed).
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* const quality = new QualityRecorder(async (event) => {
|
|
10
|
-
* const score = await llm.judge(event.content);
|
|
11
|
-
* return { score, label: score > 0.8 ? 'good' : 'poor' };
|
|
12
|
-
* });
|
|
13
|
-
* agent.recorder(quality);
|
|
14
|
-
* await agent.run(...);
|
|
15
|
-
* console.log(quality.getScores());
|
|
16
|
-
*/
|
|
17
|
-
// ── Recorder ─────────────────────────────────────────────────
|
|
18
|
-
export class QualityRecorder {
|
|
19
|
-
id;
|
|
20
|
-
judge;
|
|
21
|
-
scores = [];
|
|
22
|
-
constructor(judge, id = 'quality-recorder') {
|
|
23
|
-
this.judge = judge;
|
|
24
|
-
this.id = id;
|
|
25
|
-
}
|
|
26
|
-
onTurnComplete(event) {
|
|
27
|
-
// Fire-and-forget — eval must not block execution
|
|
28
|
-
const result = this.judge(event);
|
|
29
|
-
if (result instanceof Promise) {
|
|
30
|
-
result.then((s) => this.scores.push(s)).catch(() => { });
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this.scores.push(result);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
getScores() {
|
|
37
|
-
return [...this.scores];
|
|
38
|
-
}
|
|
39
|
-
getAverageScore() {
|
|
40
|
-
if (this.scores.length === 0)
|
|
41
|
-
return 0;
|
|
42
|
-
return this.scores.reduce((sum, s) => sum + s.score, 0) / this.scores.length;
|
|
43
|
-
}
|
|
44
|
-
clear() {
|
|
45
|
-
this.scores = [];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=QualityRecorder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QualityRecorder.js","sourceRoot":"","sources":["../../../src/recorders/QualityRecorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAiBH,gEAAgE;AAEhE,MAAM,OAAO,eAAe;IACjB,EAAE,CAAS;IACH,KAAK,CAAe;IAC7B,MAAM,GAAmB,EAAE,CAAC;IAEpC,YAAY,KAAmB,EAAE,EAAE,GAAG,kBAAkB;QACtD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,cAAc,CAAC,KAAwB;QACrC,kDAAkD;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/E,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RecorderBridge — dispatches AgentRecorder events from runner execution data.
|
|
3
|
-
*
|
|
4
|
-
* Runners call bridge methods at the right points:
|
|
5
|
-
* - dispatchTurnStart() before execution
|
|
6
|
-
* - dispatchLLMCall() after extracting LLM response from snapshot
|
|
7
|
-
* - dispatchTurnComplete() after successful execution
|
|
8
|
-
* - dispatchError() on failure
|
|
9
|
-
*/
|
|
10
|
-
export class RecorderBridge {
|
|
11
|
-
recorders;
|
|
12
|
-
turnNumber = 1;
|
|
13
|
-
loopIteration = 0;
|
|
14
|
-
_toolRuntimeStageId = '';
|
|
15
|
-
/** Set by the LLM capture recorder's onStageStart — tracks current stage's runtimeStageId. */
|
|
16
|
-
setToolRuntimeStageId(id) {
|
|
17
|
-
this._toolRuntimeStageId = id;
|
|
18
|
-
}
|
|
19
|
-
constructor(recorders) {
|
|
20
|
-
this.recorders = recorders;
|
|
21
|
-
}
|
|
22
|
-
/** Dispatch turn start event. */
|
|
23
|
-
dispatchTurnStart(message) {
|
|
24
|
-
this.dispatch('onTurnStart', { turnNumber: this.turnNumber, message });
|
|
25
|
-
}
|
|
26
|
-
/** Dispatch LLM call event from the adapter response stored in scope. */
|
|
27
|
-
dispatchLLMCall(response, latencyMs, context) {
|
|
28
|
-
const event = {
|
|
29
|
-
model: response.model,
|
|
30
|
-
usage: response.usage,
|
|
31
|
-
latencyMs,
|
|
32
|
-
turnNumber: this.turnNumber,
|
|
33
|
-
loopIteration: this.loopIteration,
|
|
34
|
-
finishReason: response.finishReason,
|
|
35
|
-
runtimeStageId: context.runtimeStageId,
|
|
36
|
-
systemPrompt: context?.systemPrompt,
|
|
37
|
-
toolDescriptions: context?.toolDescriptions,
|
|
38
|
-
messages: context?.messages,
|
|
39
|
-
};
|
|
40
|
-
this.dispatch('onLLMCall', event);
|
|
41
|
-
this.loopIteration++;
|
|
42
|
-
}
|
|
43
|
-
/** Dispatch turn complete event. */
|
|
44
|
-
dispatchTurnComplete(content, messageCount, totalLoopIterations = 0) {
|
|
45
|
-
this.dispatch('onTurnComplete', {
|
|
46
|
-
turnNumber: this.turnNumber,
|
|
47
|
-
messageCount,
|
|
48
|
-
totalLoopIterations,
|
|
49
|
-
content,
|
|
50
|
-
});
|
|
51
|
-
this.turnNumber++;
|
|
52
|
-
this.loopIteration = 0;
|
|
53
|
-
}
|
|
54
|
-
/** Dispatch tool call event. */
|
|
55
|
-
dispatchToolCall(toolName, args, result, latencyMs, runtimeStageId) {
|
|
56
|
-
this.dispatch('onToolCall', { toolName, args, result, latencyMs, runtimeStageId });
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Create an onStreamEvent handler that bridges tool events to recorders.
|
|
60
|
-
* Attach this alongside the consumer's onEvent handler in AgentRunner.
|
|
61
|
-
*/
|
|
62
|
-
createStreamEventBridge() {
|
|
63
|
-
const pendingTools = new Map();
|
|
64
|
-
return (event) => {
|
|
65
|
-
if (event.type === 'tool_start') {
|
|
66
|
-
pendingTools.set(event.toolCallId, {
|
|
67
|
-
name: event.toolName,
|
|
68
|
-
args: event.args,
|
|
69
|
-
startMs: Date.now(),
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
else if (event.type === 'tool_end') {
|
|
73
|
-
const pending = pendingTools.get(event.toolCallId);
|
|
74
|
-
if (pending) {
|
|
75
|
-
this.dispatchToolCall(pending.name, pending.args, { content: event.result, error: event.error }, event.latencyMs, this._toolRuntimeStageId);
|
|
76
|
-
pendingTools.delete(event.toolCallId);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
/** Dispatch error event. */
|
|
82
|
-
dispatchError(phase, error) {
|
|
83
|
-
this.dispatch('onError', { phase, error, turnNumber: this.turnNumber });
|
|
84
|
-
}
|
|
85
|
-
dispatch(hook, event) {
|
|
86
|
-
for (const recorder of this.recorders) {
|
|
87
|
-
try {
|
|
88
|
-
const fn = recorder[hook];
|
|
89
|
-
if (typeof fn === 'function') {
|
|
90
|
-
fn.call(recorder, event);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
catch {
|
|
94
|
-
// Error isolation
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=RecorderBridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RecorderBridge.js","sourceRoot":"","sources":["../../../src/recorders/RecorderBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TokenRecorder — tracks token usage and cost across LLM calls.
|
|
3
|
-
*
|
|
4
|
-
* Extends KeyedRecorder<LLMCallEntry> — Map keyed by runtimeStageId.
|
|
5
|
-
* No fallbacks. runtimeStageId is always provided by footprintjs.
|
|
6
|
-
*/
|
|
7
|
-
import { KeyedRecorder } from 'footprintjs/trace';
|
|
8
|
-
export class TokenRecorder extends KeyedRecorder {
|
|
9
|
-
id;
|
|
10
|
-
pricing;
|
|
11
|
-
constructor(options) {
|
|
12
|
-
super();
|
|
13
|
-
if (typeof options === 'string') {
|
|
14
|
-
this.id = options;
|
|
15
|
-
this.pricing = {};
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
this.id = options?.id ?? 'token-recorder';
|
|
19
|
-
this.pricing = options?.pricing ?? {};
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
onLLMCall(event) {
|
|
23
|
-
const model = event.model ?? 'unknown';
|
|
24
|
-
const inputTokens = event.usage?.inputTokens ?? 0;
|
|
25
|
-
const outputTokens = event.usage?.outputTokens ?? 0;
|
|
26
|
-
const p = this.pricing[model];
|
|
27
|
-
const cost = p
|
|
28
|
-
? (inputTokens / 1_000_000) * p.input + (outputTokens / 1_000_000) * p.output
|
|
29
|
-
: 0;
|
|
30
|
-
this.store(event.runtimeStageId, {
|
|
31
|
-
model,
|
|
32
|
-
inputTokens,
|
|
33
|
-
outputTokens,
|
|
34
|
-
latencyMs: event.latencyMs,
|
|
35
|
-
turnNumber: event.turnNumber,
|
|
36
|
-
loopIteration: event.loopIteration,
|
|
37
|
-
cost,
|
|
38
|
-
runtimeStageId: event.runtimeStageId,
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
getStats() {
|
|
42
|
-
const calls = this.values();
|
|
43
|
-
const totalCalls = calls.length;
|
|
44
|
-
const totalInputTokens = this.aggregate((s, c) => s + c.inputTokens, 0);
|
|
45
|
-
const totalOutputTokens = this.aggregate((s, c) => s + c.outputTokens, 0);
|
|
46
|
-
const totalLatencyMs = this.aggregate((s, c) => s + c.latencyMs, 0);
|
|
47
|
-
const totalCost = this.aggregate((s, c) => s + c.cost, 0);
|
|
48
|
-
return {
|
|
49
|
-
totalCalls,
|
|
50
|
-
totalInputTokens,
|
|
51
|
-
totalOutputTokens,
|
|
52
|
-
totalLatencyMs,
|
|
53
|
-
averageLatencyMs: totalCalls > 0 ? Math.round(totalLatencyMs / totalCalls) : 0,
|
|
54
|
-
totalCost,
|
|
55
|
-
calls,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
getTotalTokens() {
|
|
59
|
-
return this.aggregate((sum, c) => sum + c.inputTokens + c.outputTokens, 0);
|
|
60
|
-
}
|
|
61
|
-
toSnapshot() {
|
|
62
|
-
return {
|
|
63
|
-
name: 'Tokens',
|
|
64
|
-
description: 'Aggregator (KeyedRecorder) — per-call LLM token usage',
|
|
65
|
-
preferredOperation: 'aggregate',
|
|
66
|
-
data: {
|
|
67
|
-
numericField: 'inputTokens',
|
|
68
|
-
grandTotal: this.getTotalTokens(),
|
|
69
|
-
steps: Object.fromEntries(this.getMap()),
|
|
70
|
-
},
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=TokenRecorder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TokenRecorder.js","sourceRoot":"","sources":["../../../src/recorders/TokenRecorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ToolUsageRecorder — tracks which tools are called, how often, and latency.
|
|
3
|
-
*
|
|
4
|
-
* Extends KeyedRecorder<ToolCallEvent> — Map keyed by runtimeStageId.
|
|
5
|
-
*/
|
|
6
|
-
import { KeyedRecorder } from 'footprintjs/trace';
|
|
7
|
-
export class ToolUsageRecorder extends KeyedRecorder {
|
|
8
|
-
id;
|
|
9
|
-
constructor(id = 'tool-usage-recorder') {
|
|
10
|
-
super();
|
|
11
|
-
this.id = id;
|
|
12
|
-
}
|
|
13
|
-
onToolCall(event) {
|
|
14
|
-
this.store(event.runtimeStageId, event);
|
|
15
|
-
}
|
|
16
|
-
getStats() {
|
|
17
|
-
const calls = this.values();
|
|
18
|
-
const byTool = {};
|
|
19
|
-
for (const call of calls) {
|
|
20
|
-
if (!byTool[call.toolName]) {
|
|
21
|
-
byTool[call.toolName] = { calls: 0, errors: 0, totalLatencyMs: 0 };
|
|
22
|
-
}
|
|
23
|
-
byTool[call.toolName].calls++;
|
|
24
|
-
byTool[call.toolName].totalLatencyMs += call.latencyMs;
|
|
25
|
-
if (call.result.error) {
|
|
26
|
-
byTool[call.toolName].errors++;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
const result = {};
|
|
30
|
-
for (const [name, stats] of Object.entries(byTool)) {
|
|
31
|
-
result[name] = {
|
|
32
|
-
...stats,
|
|
33
|
-
averageLatencyMs: stats.calls > 0 ? Math.round(stats.totalLatencyMs / stats.calls) : 0,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
return {
|
|
37
|
-
totalCalls: calls.length,
|
|
38
|
-
totalErrors: calls.filter((c) => c.result.error).length,
|
|
39
|
-
byTool: result,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
getToolNames() {
|
|
43
|
-
return [...new Set(this.values().map((c) => c.toolName))];
|
|
44
|
-
}
|
|
45
|
-
toSnapshot() {
|
|
46
|
-
return {
|
|
47
|
-
name: 'Tools',
|
|
48
|
-
description: 'Translator (KeyedRecorder) — per-call tool usage and latency',
|
|
49
|
-
preferredOperation: 'translate',
|
|
50
|
-
data: {
|
|
51
|
-
numericField: 'latencyMs',
|
|
52
|
-
grandTotal: this.aggregate((sum, e) => sum + e.latencyMs, 0),
|
|
53
|
-
steps: Object.fromEntries(this.getMap()),
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=ToolUsageRecorder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolUsageRecorder.js","sourceRoot":"","sources":["../../../src/recorders/ToolUsageRecorder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAgBlD,MAAM,OAAO,iBAAkB,SAAQ,aAA4B;IACxD,EAAE,CAAS;IAEpB,YAAY,EAAE,GAAG,qBAAqB;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,UAAU,CAAC,KAAoB;QAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,MAAM,GAA8E,EAAE,CAAC;QAE7F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC;YACvD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,GAAG;gBACb,GAAG,KAAK;gBACR,gBAAgB,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACvF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;YACvD,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,UAAU;QACR,OAAO;YACL,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,8DAA8D;YAC3E,kBAAkB,EAAE,WAAoB;YACxC,IAAI,EAAE;gBACJ,YAAY,EAAE,WAAW;gBACzB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5D,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACzC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TurnRecorder — tracks turn-level lifecycle events.
|
|
3
|
-
*
|
|
4
|
-
* Records when turns start and complete, including message counts and
|
|
5
|
-
* loop iterations. Useful for debugging multi-turn conversations and
|
|
6
|
-
* understanding agent behavior over time.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* const turns = new TurnRecorder();
|
|
10
|
-
* agent.recorder(turns);
|
|
11
|
-
* await agent.run(...);
|
|
12
|
-
* console.log(turns.getTurns());
|
|
13
|
-
*/
|
|
14
|
-
export class TurnRecorder {
|
|
15
|
-
id;
|
|
16
|
-
turns = [];
|
|
17
|
-
constructor(id = 'turn-recorder') {
|
|
18
|
-
this.id = id;
|
|
19
|
-
}
|
|
20
|
-
onTurnStart(event) {
|
|
21
|
-
this.turns.push({
|
|
22
|
-
turnNumber: event.turnNumber,
|
|
23
|
-
message: event.message,
|
|
24
|
-
status: 'started',
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
onTurnComplete(event) {
|
|
28
|
-
// Update the matching started entry, or add a new one
|
|
29
|
-
const idx = this.turns.findIndex((t) => t.turnNumber === event.turnNumber && t.status === 'started');
|
|
30
|
-
if (idx >= 0) {
|
|
31
|
-
this.turns[idx] = {
|
|
32
|
-
...this.turns[idx],
|
|
33
|
-
content: event.content,
|
|
34
|
-
messageCount: event.messageCount,
|
|
35
|
-
totalLoopIterations: event.totalLoopIterations,
|
|
36
|
-
status: 'completed',
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.turns.push({
|
|
41
|
-
turnNumber: event.turnNumber,
|
|
42
|
-
message: '',
|
|
43
|
-
content: event.content,
|
|
44
|
-
messageCount: event.messageCount,
|
|
45
|
-
totalLoopIterations: event.totalLoopIterations,
|
|
46
|
-
status: 'completed',
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
onError(event) {
|
|
51
|
-
const idx = this.turns.findIndex((t) => t.turnNumber === event.turnNumber && t.status === 'started');
|
|
52
|
-
if (idx >= 0) {
|
|
53
|
-
this.turns[idx] = {
|
|
54
|
-
...this.turns[idx],
|
|
55
|
-
error: event.error,
|
|
56
|
-
status: 'error',
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
// Error fired before onTurnStart (e.g. prompt resolution failure).
|
|
61
|
-
// Record it anyway — never silently drop errors.
|
|
62
|
-
this.turns.push({
|
|
63
|
-
turnNumber: event.turnNumber,
|
|
64
|
-
message: '',
|
|
65
|
-
error: event.error,
|
|
66
|
-
status: 'error',
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
getTurns() {
|
|
71
|
-
return [...this.turns];
|
|
72
|
-
}
|
|
73
|
-
getCompletedCount() {
|
|
74
|
-
return this.turns.filter((t) => t.status === 'completed').length;
|
|
75
|
-
}
|
|
76
|
-
getErrorCount() {
|
|
77
|
-
return this.turns.filter((t) => t.status === 'error').length;
|
|
78
|
-
}
|
|
79
|
-
clear() {
|
|
80
|
-
this.turns = [];
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=TurnRecorder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TurnRecorder.js","sourceRoot":"","sources":["../../../src/recorders/TurnRecorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAcH,MAAM,OAAO,YAAY;IACd,EAAE,CAAS;IACZ,KAAK,GAAgB,EAAE,CAAC;IAEhC,YAAY,EAAE,GAAG,eAAe;QAC9B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,WAAW,CAAC,KAAqB;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,KAAwB;QACrC,sDAAsD;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CACnE,CAAC;QACF,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;gBAChB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,MAAM,EAAE,WAAW;aACpB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAsB;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CACnE,CAAC;QACF,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;gBAChB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,OAAO;aAChB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,mEAAmE;YACnE,iDAAiD;YACjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAC/D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* agentObservability() — one-call preset for full agent observability.
|
|
3
|
-
*
|
|
4
|
-
* Bundles TokenRecorder, ToolUsageRecorder, CostRecorder, and ExplainRecorder
|
|
5
|
-
* into a single CompositeRecorder. One `.recorder()` call gives you token tracking,
|
|
6
|
-
* tool usage, cost estimation, and grounding analysis (sources vs claims).
|
|
7
|
-
*
|
|
8
|
-
* Stage-level timing is auto-attached by the runners (MetricRecorder on the
|
|
9
|
-
* executor) — this preset covers the agent-level concerns only.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```typescript
|
|
13
|
-
* import { Agent, agentObservability } from 'agentfootprint';
|
|
14
|
-
*
|
|
15
|
-
* const obs = agentObservability();
|
|
16
|
-
* const agent = Agent.create({ provider })
|
|
17
|
-
* .recorder(obs)
|
|
18
|
-
* .build();
|
|
19
|
-
*
|
|
20
|
-
* await agent.run('hello');
|
|
21
|
-
*
|
|
22
|
-
* obs.tokens(); // { totalCalls: 2, totalInputTokens: 150, ... }
|
|
23
|
-
* obs.tools(); // { totalCalls: 1, byTool: { search: { calls: 1, ... } } }
|
|
24
|
-
* obs.cost(); // 0.0042
|
|
25
|
-
* obs.explain(); // { sources, claims, decisions, summary }
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
import { CompositeRecorder } from './CompositeRecorder';
|
|
29
|
-
import { CostRecorder } from './CostRecorder';
|
|
30
|
-
import { ExplainRecorder } from './ExplainRecorder';
|
|
31
|
-
import { TokenRecorder } from './TokenRecorder';
|
|
32
|
-
import { ToolUsageRecorder } from './ToolUsageRecorder';
|
|
33
|
-
/**
|
|
34
|
-
* Create a bundled agent observability recorder.
|
|
35
|
-
*
|
|
36
|
-
* Tracks tokens, tool usage, cost, and grounding in a single `.recorder()` call.
|
|
37
|
-
* Stage timing is handled separately by MetricRecorder (auto-attached by runners).
|
|
38
|
-
*/
|
|
39
|
-
export function agentObservability(options) {
|
|
40
|
-
const tokenRec = new TokenRecorder();
|
|
41
|
-
const toolRec = new ToolUsageRecorder();
|
|
42
|
-
const costRec = new CostRecorder(options?.pricing ? { pricingTable: options.pricing } : undefined);
|
|
43
|
-
const explainRec = new ExplainRecorder();
|
|
44
|
-
const composite = new CompositeRecorder([tokenRec, toolRec, costRec, explainRec], options?.id ?? 'agent-observability');
|
|
45
|
-
// Convenience accessors — no need to dig into children
|
|
46
|
-
composite.tokens = () => tokenRec.getStats();
|
|
47
|
-
composite.tools = () => toolRec.getStats();
|
|
48
|
-
composite.cost = () => costRec.getTotalCost();
|
|
49
|
-
composite.costEntries = () => costRec.getEntries();
|
|
50
|
-
composite.explain = () => explainRec.explain();
|
|
51
|
-
return composite;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=agentObservability.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentObservability.js","sourceRoot":"","sources":["../../../src/recorders/agentObservability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAuBxD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAmC;IAEnC,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,YAAY,CAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CACjE,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,MAAM,SAAS,GAAG,IAAI,iBAAiB,CACrC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EACxC,OAAO,EAAE,EAAE,IAAI,qBAAqB,CACP,CAAC;IAEhC,uDAAuD;IACvD,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7C,SAAS,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC3C,SAAS,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC9C,SAAS,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACnD,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAE/C,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared helper for the `attachRecorder()` method that AgentRunner +
|
|
3
|
-
* FlowChartRunner + ConditionalRunner + ParallelRunner + SwarmRunner
|
|
4
|
-
* all expose. Same contract: idempotent on recorder id, returns detach.
|
|
5
|
-
*
|
|
6
|
-
* Lives here (not duplicated per runner) so any future *Runner class
|
|
7
|
-
* gets the same behavior with one line of glue.
|
|
8
|
-
*/
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
export function attachRecorderToList(recorders, recorder) {
|
|
11
|
-
const id = recorder?.id;
|
|
12
|
-
if (typeof id === 'string') {
|
|
13
|
-
const existing = recorders.findIndex((r) => r.id === id);
|
|
14
|
-
if (existing >= 0) {
|
|
15
|
-
recorders[existing] = recorder;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
recorders.push(recorder);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
recorders.push(recorder);
|
|
23
|
-
}
|
|
24
|
-
return () => {
|
|
25
|
-
const idx = recorders.indexOf(recorder);
|
|
26
|
-
if (idx >= 0)
|
|
27
|
-
recorders.splice(idx, 1);
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=attachRecorderHelper.js.map
|