agentfootprint 6.44.0 → 6.45.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/ai-instructions/setup.sh +0 -0
- package/dist/core/agent/buildAgentChart.js +2 -1
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +3 -1
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/stages/pickEntry.js +3 -1
- package/dist/core/agent/stages/pickEntry.js.map +1 -1
- package/dist/esm/adapters/identity/agentcore.d.ts +100 -0
- package/dist/esm/adapters/llm/AnthropicProvider.d.ts +130 -0
- package/dist/esm/adapters/llm/BedrockProvider.d.ts +100 -0
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +41 -0
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +95 -0
- package/dist/esm/adapters/llm/MockProvider.d.ts +153 -0
- package/dist/esm/adapters/llm/OpenAIProvider.d.ts +220 -0
- package/dist/esm/adapters/llm/createProvider.d.ts +85 -0
- package/dist/esm/adapters/memory/agentcore.d.ts +146 -0
- package/dist/esm/adapters/memory/bedrockAgentMemory.d.ts +95 -0
- package/dist/esm/adapters/memory/redis.d.ts +127 -0
- package/dist/esm/adapters/observability/agentcore.d.ts +67 -0
- package/dist/esm/adapters/observability/audit.d.ts +254 -0
- package/dist/esm/adapters/observability/cloudwatch.d.ts +96 -0
- package/dist/esm/adapters/observability/otel.d.ts +237 -0
- package/dist/esm/adapters/observability/xray.d.ts +88 -0
- package/dist/esm/adapters/types.d.ts +378 -0
- package/dist/esm/bridge/eventMeta.d.ts +59 -0
- package/dist/esm/cache/CacheDecisionSubflow.d.ts +85 -0
- package/dist/esm/cache/CacheGateDecider.d.ts +127 -0
- package/dist/esm/cache/applyCachePolicy.d.ts +37 -0
- package/dist/esm/cache/cacheRecorder.d.ts +85 -0
- package/dist/esm/cache/index.d.ts +33 -0
- package/dist/esm/cache/strategies/AnthropicCacheStrategy.d.ts +38 -0
- package/dist/esm/cache/strategies/BedrockCacheStrategy.d.ts +33 -0
- package/dist/esm/cache/strategies/NoOpCacheStrategy.d.ts +29 -0
- package/dist/esm/cache/strategies/OpenAICacheStrategy.d.ts +36 -0
- package/dist/esm/cache/strategyRegistry.d.ts +45 -0
- package/dist/esm/cache/types.d.ts +243 -0
- package/dist/esm/conventions.d.ts +203 -0
- package/dist/esm/core/Agent.d.ts +355 -0
- package/dist/esm/core/LLMCall.d.ts +139 -0
- package/dist/esm/core/RunnerBase.d.ts +267 -0
- package/dist/esm/core/agent/AgentBuilder.d.ts +565 -0
- package/dist/esm/core/agent/buildAgentChart.d.ts +109 -0
- package/dist/esm/core/agent/buildAgentChart.js +2 -1
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildAgentMessageApiChart.d.ts +40 -0
- package/dist/esm/core/agent/buildCacheSubflow.d.ts +35 -0
- package/dist/esm/core/agent/buildDynamicAgentChart.d.ts +56 -0
- package/dist/esm/core/agent/buildDynamicAgentChart.js +3 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildMessageApiChart.d.ts +47 -0
- package/dist/esm/core/agent/buildToolRegistry.d.ts +61 -0
- package/dist/esm/core/agent/memoryRecallInjections.d.ts +8 -0
- package/dist/esm/core/agent/stages/breakFinal.d.ts +22 -0
- package/dist/esm/core/agent/stages/callLLM.d.ts +74 -0
- package/dist/esm/core/agent/stages/pickEntry.d.ts +19 -0
- package/dist/esm/core/agent/stages/pickEntry.js +3 -1
- package/dist/esm/core/agent/stages/pickEntry.js.map +1 -1
- package/dist/esm/core/agent/stages/prepareFinal.d.ts +19 -0
- package/dist/esm/core/agent/stages/reliabilityExecution.d.ts +135 -0
- package/dist/esm/core/agent/stages/route.d.ts +18 -0
- package/dist/esm/core/agent/stages/seed.d.ts +53 -0
- package/dist/esm/core/agent/stages/toolCalls.d.ts +76 -0
- package/dist/esm/core/agent/toolArgsValidation.d.ts +62 -0
- package/dist/esm/core/agent/types.d.ts +382 -0
- package/dist/esm/core/agent/validators.d.ts +52 -0
- package/dist/esm/core/cost.d.ts +38 -0
- package/dist/esm/core/flowchartAsTool.d.ts +200 -0
- package/dist/esm/core/humanizeLLMError.d.ts +23 -0
- package/dist/esm/core/outputFallback.d.ts +139 -0
- package/dist/esm/core/outputSchema.d.ts +127 -0
- package/dist/esm/core/pause.d.ts +74 -0
- package/dist/esm/core/runCheckpoint.d.ts +179 -0
- package/dist/esm/core/runner.d.ts +203 -0
- package/dist/esm/core/slots/buildMessagesSlot.d.ts +40 -0
- package/dist/esm/core/slots/buildSystemPromptSlot.d.ts +41 -0
- package/dist/esm/core/slots/buildThinkingSubflow.d.ts +40 -0
- package/dist/esm/core/slots/buildToolsSlot.d.ts +60 -0
- package/dist/esm/core/slots/helpers.d.ts +27 -0
- package/dist/esm/core/toolContract.d.ts +43 -0
- package/dist/esm/core/tools.d.ts +90 -0
- package/dist/esm/core/translator.d.ts +94 -0
- package/dist/esm/core-flow/Conditional.d.ts +119 -0
- package/dist/esm/core-flow/Loop.d.ts +160 -0
- package/dist/esm/core-flow/Parallel.d.ts +360 -0
- package/dist/esm/core-flow/Sequence.d.ts +133 -0
- package/dist/esm/events/dispatcher.d.ts +134 -0
- package/dist/esm/events/payloads.d.ts +761 -0
- package/dist/esm/events/registry.d.ts +198 -0
- package/dist/esm/events/types.d.ts +70 -0
- package/dist/esm/identity/kinds.d.ts +36 -0
- package/dist/esm/identity/staticTokens.d.ts +28 -0
- package/dist/esm/identity/types.d.ts +113 -0
- package/dist/esm/identity/withCredentialRetry.d.ts +64 -0
- package/dist/esm/identity.d.ts +31 -0
- package/dist/esm/index.d.ts +64 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/injection-engine.d.ts +4 -0
- package/dist/esm/lib/canonicalJson.d.ts +56 -0
- package/dist/esm/lib/context-bisect/ablation.d.ts +109 -0
- package/dist/esm/lib/context-bisect/bisect.d.ts +75 -0
- package/dist/esm/lib/context-bisect/cost.d.ts +37 -0
- package/dist/esm/lib/context-bisect/index.d.ts +31 -0
- package/dist/esm/lib/context-bisect/index.js +3 -0
- package/dist/esm/lib/context-bisect/index.js.map +1 -1
- package/dist/esm/lib/context-bisect/llmEdgeWeigher.d.ts +124 -0
- package/dist/esm/lib/context-bisect/localize.d.ts +152 -0
- package/dist/esm/lib/context-bisect/localize.js +2 -0
- package/dist/esm/lib/context-bisect/localize.js.map +1 -1
- package/dist/esm/lib/context-bisect/loop-recall.d.ts +97 -0
- package/dist/esm/lib/context-bisect/missingContext.d.ts +71 -0
- package/dist/esm/lib/context-bisect/restoration.d.ts +39 -0
- package/dist/esm/lib/context-bisect/toBacktrackTrace.d.ts +138 -0
- package/dist/esm/lib/context-bisect/trajectory.d.ts +168 -0
- package/dist/esm/lib/context-bisect/types.d.ts +448 -0
- package/dist/esm/lib/context-bisect/walk-to-root.d.ts +103 -0
- package/dist/esm/lib/influence-core/attributability.d.ts +72 -0
- package/dist/esm/lib/influence-core/cache.d.ts +94 -0
- package/dist/esm/lib/influence-core/contrastive.d.ts +26 -0
- package/dist/esm/lib/influence-core/index.d.ts +34 -0
- package/dist/esm/lib/influence-core/margin.d.ts +33 -0
- package/dist/esm/lib/influence-core/signals.d.ts +128 -0
- package/dist/esm/lib/influence-core/similarity.d.ts +25 -0
- package/dist/esm/lib/influence-core/types.d.ts +252 -0
- package/dist/esm/lib/injection-engine/SkillRegistry.d.ts +147 -0
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.d.ts +110 -0
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js +1 -0
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/esm/lib/injection-engine/entryScorer.d.ts +93 -0
- package/dist/esm/lib/injection-engine/entryScorer.js +172 -0
- package/dist/esm/lib/injection-engine/entryScorer.js.map +1 -0
- package/dist/esm/lib/injection-engine/evaluator.d.ts +24 -0
- package/dist/esm/lib/injection-engine/factories/defineFact.d.ts +60 -0
- package/dist/esm/lib/injection-engine/factories/defineInjection.d.ts +41 -0
- package/dist/esm/lib/injection-engine/factories/defineInstruction.d.ts +78 -0
- package/dist/esm/lib/injection-engine/factories/defineRelevanceHint.d.ts +26 -0
- package/dist/esm/lib/injection-engine/factories/defineSkill.d.ts +160 -0
- package/dist/esm/lib/injection-engine/factories/defineSteering.d.ts +39 -0
- package/dist/esm/lib/injection-engine/index.d.ts +22 -0
- package/dist/esm/lib/injection-engine/index.js +1 -0
- package/dist/esm/lib/injection-engine/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillContract.d.ts +29 -0
- package/dist/esm/lib/injection-engine/skillGraph.d.ts +289 -0
- package/dist/esm/lib/injection-engine/skillGraph.js +35 -41
- package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraphCheckup.d.ts +49 -0
- package/dist/esm/lib/injection-engine/skillTools.d.ts +72 -0
- package/dist/esm/lib/injection-engine/softmax.d.ts +11 -0
- package/dist/esm/lib/injection-engine/types.d.ts +229 -0
- package/dist/esm/lib/injection-engine/types.js.map +1 -1
- package/dist/esm/lib/lazyRequire.d.ts +29 -0
- package/dist/esm/lib/mcp/index.d.ts +9 -0
- package/dist/esm/lib/mcp/mcpClient.d.ts +46 -0
- package/dist/esm/lib/mcp/mockMcpClient.d.ts +65 -0
- package/dist/esm/lib/mcp/types.d.ts +133 -0
- package/dist/esm/lib/rag/defineRAG.d.ts +139 -0
- package/dist/esm/lib/rag/index.d.ts +7 -0
- package/dist/esm/lib/rag/indexDocuments.d.ts +105 -0
- package/dist/esm/lib/tool-lint/analyze.d.ts +83 -0
- package/dist/esm/lib/tool-lint/cli.d.ts +43 -0
- package/dist/esm/lib/tool-lint/format.d.ts +18 -0
- package/dist/esm/lib/tool-lint/index.d.ts +23 -0
- package/dist/esm/lib/tool-lint/rules.d.ts +85 -0
- package/dist/esm/lib/tool-lint/types.d.ts +155 -0
- package/dist/esm/lib/trace-toolpack/bounded.d.ts +47 -0
- package/dist/esm/lib/trace-toolpack/debugPrompt.d.ts +19 -0
- package/dist/esm/lib/trace-toolpack/index.d.ts +20 -0
- package/dist/esm/lib/trace-toolpack/lazyToolpack.d.ts +35 -0
- package/dist/esm/lib/trace-toolpack/selfExplain.d.ts +100 -0
- package/dist/esm/lib/trace-toolpack/traceDebugAgent.d.ts +42 -0
- package/dist/esm/lib/trace-toolpack/traceToolpack.d.ts +69 -0
- package/dist/esm/lib/trace-toolpack/types.d.ts +59 -0
- package/dist/esm/llm-providers.d.ts +26 -0
- package/dist/esm/locales/index.d.ts +132 -0
- package/dist/esm/memory/beats/extractBeats.d.ts +61 -0
- package/dist/esm/memory/beats/extractor.d.ts +47 -0
- package/dist/esm/memory/beats/formatAsNarrative.d.ts +62 -0
- package/dist/esm/memory/beats/heuristicExtractor.d.ts +37 -0
- package/dist/esm/memory/beats/index.d.ts +12 -0
- package/dist/esm/memory/beats/llmExtractor.d.ts +56 -0
- package/dist/esm/memory/beats/types.d.ts +60 -0
- package/dist/esm/memory/beats/writeBeats.d.ts +22 -0
- package/dist/esm/memory/causal/evidenceRecorder.d.ts +66 -0
- package/dist/esm/memory/causal/index.d.ts +6 -0
- package/dist/esm/memory/causal/loadSnapshot.d.ts +51 -0
- package/dist/esm/memory/causal/snapshotPipeline.d.ts +35 -0
- package/dist/esm/memory/causal/types.d.ts +130 -0
- package/dist/esm/memory/causal/writeSnapshot.d.ts +73 -0
- package/dist/esm/memory/define.d.ts +63 -0
- package/dist/esm/memory/define.types.d.ts +276 -0
- package/dist/esm/memory/define.types.js +1 -1
- package/dist/esm/memory/embedding/cosine.d.ts +18 -0
- package/dist/esm/memory/embedding/embedMessages.d.ts +58 -0
- package/dist/esm/memory/embedding/index.d.ts +8 -0
- package/dist/esm/memory/embedding/loadRelevant.d.ts +51 -0
- package/dist/esm/memory/embedding/mockEmbedder.d.ts +22 -0
- package/dist/esm/memory/embedding/types.d.ts +46 -0
- package/dist/esm/memory/entry/decay.d.ts +36 -0
- package/dist/esm/memory/entry/index.d.ts +2 -0
- package/dist/esm/memory/entry/types.d.ts +140 -0
- package/dist/esm/memory/facts/extractFacts.d.ts +50 -0
- package/dist/esm/memory/facts/extractor.d.ts +33 -0
- package/dist/esm/memory/facts/formatFacts.d.ts +60 -0
- package/dist/esm/memory/facts/index.d.ts +14 -0
- package/dist/esm/memory/facts/llmFactExtractor.d.ts +64 -0
- package/dist/esm/memory/facts/loadFacts.d.ts +43 -0
- package/dist/esm/memory/facts/patternFactExtractor.d.ts +2 -0
- package/dist/esm/memory/facts/types.d.ts +68 -0
- package/dist/esm/memory/facts/writeFacts.d.ts +19 -0
- package/dist/esm/memory/identity/index.d.ts +2 -0
- package/dist/esm/memory/identity/types.d.ts +49 -0
- package/dist/esm/memory/index.d.ts +19 -0
- package/dist/esm/memory/pipeline/auto.d.ts +59 -0
- package/dist/esm/memory/pipeline/default.d.ts +49 -0
- package/dist/esm/memory/pipeline/ephemeral.d.ts +28 -0
- package/dist/esm/memory/pipeline/fact.d.ts +26 -0
- package/dist/esm/memory/pipeline/index.d.ts +13 -0
- package/dist/esm/memory/pipeline/narrative.d.ts +35 -0
- package/dist/esm/memory/pipeline/semantic.d.ts +37 -0
- package/dist/esm/memory/pipeline/types.d.ts +31 -0
- package/dist/esm/memory/stages/formatDefault.d.ts +64 -0
- package/dist/esm/memory/stages/index.d.ts +13 -0
- package/dist/esm/memory/stages/loadRecent.d.ts +49 -0
- package/dist/esm/memory/stages/pickByBudget.d.ts +63 -0
- package/dist/esm/memory/stages/summarize.d.ts +87 -0
- package/dist/esm/memory/stages/tokenize.d.ts +43 -0
- package/dist/esm/memory/stages/types.d.ts +75 -0
- package/dist/esm/memory/stages/writeMessages.d.ts +71 -0
- package/dist/esm/memory/store/InMemoryStore.d.ts +62 -0
- package/dist/esm/memory/store/index.d.ts +2 -0
- package/dist/esm/memory/store/types.d.ts +223 -0
- package/dist/esm/memory/wire/index.d.ts +2 -0
- package/dist/esm/memory/wire/mountMemoryPipeline.d.ts +108 -0
- package/dist/esm/memory-providers.d.ts +37 -0
- package/dist/esm/observability/contextError/finders/compareFinders.d.ts +19 -0
- package/dist/esm/observability/contextError/finders/index.d.ts +22 -0
- package/dist/esm/observability/contextError/finders/rankSuspects.d.ts +2 -0
- package/dist/esm/observability/contextError/finders/removeAndRetry.d.ts +11 -0
- package/dist/esm/observability/contextError/finders/shrinkToCause.d.ts +11 -0
- package/dist/esm/observability/contextError/finders/testManyCombos.d.ts +11 -0
- package/dist/esm/observability/contextError/finders/traceSteps.d.ts +2 -0
- package/dist/esm/observability/contextError/finders/types.d.ts +88 -0
- package/dist/esm/observability-providers.d.ts +46 -0
- package/dist/esm/observe.d.ts +62 -0
- package/dist/esm/patterns/Debate.d.ts +39 -0
- package/dist/esm/patterns/MapReduce.d.ts +66 -0
- package/dist/esm/patterns/Reflection.d.ts +51 -0
- package/dist/esm/patterns/SelfConsistency.d.ts +43 -0
- package/dist/esm/patterns/Swarm.d.ts +60 -0
- package/dist/esm/patterns/ToT.d.ts +53 -0
- package/dist/esm/patterns/index.d.ts +22 -0
- package/dist/esm/providers.d.ts +33 -0
- package/dist/esm/recorders/core/AgentRecorder.d.ts +15 -0
- package/dist/esm/recorders/core/CompositionRecorder.d.ts +17 -0
- package/dist/esm/recorders/core/ContextEvaluatedRecorder.d.ts +23 -0
- package/dist/esm/recorders/core/ContextRecorder.d.ts +47 -0
- package/dist/esm/recorders/core/CostRecorder.d.ts +14 -0
- package/dist/esm/recorders/core/EmitBridge.d.ts +30 -0
- package/dist/esm/recorders/core/ErrorBridge.d.ts +38 -0
- package/dist/esm/recorders/core/EvalRecorder.d.ts +16 -0
- package/dist/esm/recorders/core/MemoryRecorder.d.ts +17 -0
- package/dist/esm/recorders/core/PermissionRecorder.d.ts +16 -0
- package/dist/esm/recorders/core/ReliabilityRecorder.d.ts +24 -0
- package/dist/esm/recorders/core/SkillRecorder.d.ts +14 -0
- package/dist/esm/recorders/core/StreamRecorder.d.ts +15 -0
- package/dist/esm/recorders/core/ToolsRecorder.d.ts +18 -0
- package/dist/esm/recorders/core/ValidationRecorder.d.ts +16 -0
- package/dist/esm/recorders/core/contextEngineering.d.ts +136 -0
- package/dist/esm/recorders/core/typedEmit.d.ts +34 -0
- package/dist/esm/recorders/core/types.d.ts +97 -0
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.d.ts +117 -0
- package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +546 -0
- package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +220 -0
- package/dist/esm/recorders/observability/LiveStateRecorder.d.ts +250 -0
- package/dist/esm/recorders/observability/LoggingRecorder.d.ts +91 -0
- package/dist/esm/recorders/observability/RouteRecorder.d.ts +83 -0
- package/dist/esm/recorders/observability/RunStepRecorder.d.ts +231 -0
- package/dist/esm/recorders/observability/StatusRecorder.d.ts +36 -0
- package/dist/esm/recorders/observability/ToolChoiceRecorder.d.ts +164 -0
- package/dist/esm/recorders/observability/ToolLineageRecorder.d.ts +71 -0
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.d.ts +105 -0
- package/dist/esm/recorders/observability/internal/ActorArrowClassifier.d.ts +25 -0
- package/dist/esm/recorders/observability/internal/CandidateAnswerBuffer.d.ts +28 -0
- package/dist/esm/recorders/observability/internal/ForkTracker.d.ts +60 -0
- package/dist/esm/recorders/observability/internal/RootInferrer.d.ts +51 -0
- package/dist/esm/recorders/observability/internal/SequenceSiblingTracker.d.ts +24 -0
- package/dist/esm/recorders/observability/localObservability.d.ts +48 -0
- package/dist/esm/recorders/observability/observeRunId.d.ts +36 -0
- package/dist/esm/recorders/observability/status/statusTemplates.d.ts +106 -0
- package/dist/esm/recorders/observability/trace.d.ts +119 -0
- package/dist/esm/reliability/CircuitBreaker.d.ts +75 -0
- package/dist/esm/reliability/buildReliabilityGateChart.d.ts +53 -0
- package/dist/esm/reliability/classifyError.d.ts +28 -0
- package/dist/esm/reliability/index.d.ts +35 -0
- package/dist/esm/reliability/types.d.ts +327 -0
- package/dist/esm/resilience/fallbackProvider.d.ts +33 -0
- package/dist/esm/resilience/index.d.ts +21 -0
- package/dist/esm/resilience/withCircuitBreaker.d.ts +129 -0
- package/dist/esm/resilience/withFallback.d.ts +45 -0
- package/dist/esm/resilience/withRetry.d.ts +71 -0
- package/dist/esm/security/PermissionPolicy.d.ts +124 -0
- package/dist/esm/security/PolicyHaltError.d.ts +72 -0
- package/dist/esm/security/extractSequence.d.ts +46 -0
- package/dist/esm/security/index.d.ts +44 -0
- package/dist/esm/security/thinkingRedaction.d.ts +50 -0
- package/dist/esm/status.d.ts +48 -0
- package/dist/esm/strategies/attach.d.ts +47 -0
- package/dist/esm/strategies/compose.d.ts +48 -0
- package/dist/esm/strategies/defaults/chatBubbleLiveStatus.d.ts +36 -0
- package/dist/esm/strategies/defaults/consoleObservability.d.ts +42 -0
- package/dist/esm/strategies/defaults/inMemorySinkCost.d.ts +50 -0
- package/dist/esm/strategies/defaults/index.d.ts +30 -0
- package/dist/esm/strategies/defaults/noopLens.d.ts +28 -0
- package/dist/esm/strategies/index.d.ts +36 -0
- package/dist/esm/strategies/registry.d.ts +70 -0
- package/dist/esm/strategies/types.d.ts +303 -0
- package/dist/esm/stream.d.ts +82 -0
- package/dist/esm/thinking/AnthropicThinkingHandler.d.ts +42 -0
- package/dist/esm/thinking/MockThinkingHandler.d.ts +50 -0
- package/dist/esm/thinking/OpenAIThinkingHandler.d.ts +37 -0
- package/dist/esm/thinking/index.d.ts +51 -0
- package/dist/esm/thinking/registry.d.ts +33 -0
- package/dist/esm/thinking/types.d.ts +162 -0
- package/dist/esm/tool-providers/gatedTools.d.ts +36 -0
- package/dist/esm/tool-providers/index.d.ts +41 -0
- package/dist/esm/tool-providers/skillScopedTools.d.ts +45 -0
- package/dist/esm/tool-providers/staticTools.d.ts +21 -0
- package/dist/esm/tool-providers/types.d.ts +138 -0
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/context-bisect/index.js +3 -0
- package/dist/lib/context-bisect/index.js.map +1 -1
- package/dist/lib/context-bisect/localize.js +2 -0
- package/dist/lib/context-bisect/localize.js.map +1 -1
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js +1 -0
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/lib/injection-engine/entryScorer.js +178 -0
- package/dist/lib/injection-engine/entryScorer.js.map +1 -0
- package/dist/lib/injection-engine/index.js +5 -1
- package/dist/lib/injection-engine/index.js.map +1 -1
- package/dist/lib/injection-engine/skillGraph.js +35 -41
- package/dist/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/lib/injection-engine/types.js.map +1 -1
- package/dist/memory/define.types.js +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/stages/pickEntry.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +8 -4
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/index.d.ts +3 -0
- package/dist/types/lib/context-bisect/index.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/localize.d.ts +2 -0
- package/dist/types/lib/context-bisect/localize.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/entryScorer.d.ts +94 -0
- package/dist/types/lib/injection-engine/entryScorer.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/index.d.ts +1 -0
- package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraph.d.ts +21 -24
- package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/types.d.ts +9 -4
- package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
- package/dist/types/memory/define.types.d.ts +1 -1
- package/package.json +203 -56
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* otelObservability — OpenTelemetry distributed-tracing adapter.
|
|
3
|
+
*
|
|
4
|
+
* Ships every agentfootprint event as OpenTelemetry spans + span events
|
|
5
|
+
* via a consumer-supplied OTel API, following the OpenTelemetry **GenAI
|
|
6
|
+
* semantic conventions** (`gen_ai.*` attribute namespace) plus
|
|
7
|
+
* agentfootprint-specific explainability attributes (`agentfootprint.*`).
|
|
8
|
+
* Same hierarchical mapping as the X-Ray adapter, but the destination is
|
|
9
|
+
* whichever OTel-compat backend the consumer's SDK exports to:
|
|
10
|
+
*
|
|
11
|
+
* - **Honeycomb** (OTLP/HTTP)
|
|
12
|
+
* - **Grafana Cloud / Tempo / Mimir** (OTLP)
|
|
13
|
+
* - **AWS Distro for OTel** → AWS X-Ray (alternative to xrayObservability)
|
|
14
|
+
* - **Datadog APM** (OTLP endpoint)
|
|
15
|
+
* - **Splunk Observability Cloud** (OTLP)
|
|
16
|
+
* - **New Relic** (OTLP endpoint)
|
|
17
|
+
* - **Lightstep / ServiceNow Cloud Observability** (OTLP)
|
|
18
|
+
* - any custom OTel collector / processor pipeline
|
|
19
|
+
*
|
|
20
|
+
* Subpath: `agentfootprint/observability-providers`
|
|
21
|
+
* Peer dep: `@opentelemetry/api` (OPTIONAL — installed only when
|
|
22
|
+
* this adapter is used. The consumer ALSO installs the
|
|
23
|
+
* OTel SDK + exporter of their choice — that's the BYO
|
|
24
|
+
* contract that makes this adapter backend-agnostic.).
|
|
25
|
+
*
|
|
26
|
+
* **Why BYO SDK:** OTel's SDK is heavyweight and exporter-specific
|
|
27
|
+
* (each backend has its own exporter package). Forcing a particular
|
|
28
|
+
* exporter would defeat the "OTel is portable" guarantee. Consumers
|
|
29
|
+
* configure the SDK + exporter once at app startup; we just speak
|
|
30
|
+
* the typed OTel API.
|
|
31
|
+
*
|
|
32
|
+
* ## Event → span/attribute mapping
|
|
33
|
+
*
|
|
34
|
+
* agent.turn_start ↦ start root span (one trace per turn) —
|
|
35
|
+
* `gen_ai.operation.name: 'invoke_agent'`
|
|
36
|
+
* agent.turn_end ↦ end root span (+ turn-total `gen_ai.usage.*`)
|
|
37
|
+
* agent.iteration_start ↦ start child span under root
|
|
38
|
+
* agent.iteration_end ↦ end iteration span
|
|
39
|
+
* stream.llm_start ↦ start child span (inference) — `gen_ai.*`
|
|
40
|
+
* request attrs (`chat` operation)
|
|
41
|
+
* stream.llm_end ↦ end llm span (+ `gen_ai.usage.*`,
|
|
42
|
+
* `gen_ai.response.*`)
|
|
43
|
+
* stream.tool_start ↦ start child span — `execute_tool` operation,
|
|
44
|
+
* `gen_ai.tool.name` / `gen_ai.tool.call.id`
|
|
45
|
+
* stream.tool_end ↦ end tool span (ERROR status + `error.type`
|
|
46
|
+
* if errored). Correlated by toolCallId so
|
|
47
|
+
* PARALLEL tool calls close the right span.
|
|
48
|
+
* cost.tick ↦ setAttribute on topmost active span
|
|
49
|
+
* error.fatal ↦ ERROR status on root + defensive unwind
|
|
50
|
+
* context.evaluated ↦ N span events `agentfootprint.skill.routing`
|
|
51
|
+
* — SYNTHESIZED name (one per routing entry),
|
|
52
|
+
* not a registry-verbatim forward; all other
|
|
53
|
+
* span events use the registry name verbatim
|
|
54
|
+
*
|
|
55
|
+
* ## Decisions = SPAN EVENTS, not attributes (design decision)
|
|
56
|
+
*
|
|
57
|
+
* Explainability signals (route decisions, skill routing, validation
|
|
58
|
+
* rejections, permission checks, credential lifecycle) are emitted as
|
|
59
|
+
* **span events** on the currently-active span rather than attributes:
|
|
60
|
+
*
|
|
61
|
+
* 1. MULTIPLICITY — an iteration span can carry several decisions
|
|
62
|
+
* (route + N skill routings + M permission checks). Attributes are
|
|
63
|
+
* last-write-wins and would clobber; span events accumulate.
|
|
64
|
+
* 2. ORDERING — span events carry their own timestamps, preserving the
|
|
65
|
+
* decision sequence inside one span. Compliance review (EU AI Act
|
|
66
|
+
* Art. 12 record-keeping) needs the order decisions were made.
|
|
67
|
+
* 3. ROUND-TRIP — OTLP backends (and agentThinkingUI's `fromOTLP`
|
|
68
|
+
* ingestion) surface span events as first-class timeline entries.
|
|
69
|
+
*
|
|
70
|
+
* When the consumer-injected tracer's spans don't implement `addEvent`
|
|
71
|
+
* (minimal test doubles), the adapter falls back to flattened
|
|
72
|
+
* `${eventName}.${key}` attributes — degraded (last-write-wins) but
|
|
73
|
+
* never silently dropped.
|
|
74
|
+
*
|
|
75
|
+
* ## PII discipline
|
|
76
|
+
*
|
|
77
|
+
* Mirrors the #9 validation contract: attribute values NEVER echo
|
|
78
|
+
* runtime VALUES that can carry PII —
|
|
79
|
+
* - tool args → top-level key NAMES only (`agentfootprint.tool.args.keys`)
|
|
80
|
+
* - tool results → `typeof` only (`agentfootprint.tool.result.type`)
|
|
81
|
+
* - validation issues → path / expected / got TYPES (bounded upstream)
|
|
82
|
+
* - decide() evidence → rule labels, operators, thresholds (developer
|
|
83
|
+
* constants) and the engine's redaction-aware value SUMMARIES
|
|
84
|
+
* - userPrompt / llm content / thinking → never emitted
|
|
85
|
+
* - error.fatal → stage + scope only (error MESSAGES can echo values)
|
|
86
|
+
* - credential events carry no secrets by construction (registry contract)
|
|
87
|
+
*
|
|
88
|
+
* @example Basic — Honeycomb via OTLP
|
|
89
|
+
* ```ts
|
|
90
|
+
* import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
|
|
91
|
+
* import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
92
|
+
* import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
93
|
+
* import { otelObservability } from 'agentfootprint/observability-providers';
|
|
94
|
+
*
|
|
95
|
+
* // Set up OTel ONCE at app startup.
|
|
96
|
+
* const provider = new NodeTracerProvider();
|
|
97
|
+
* provider.addSpanProcessor(new BatchSpanProcessor(new OTLPTraceExporter({
|
|
98
|
+
* url: 'https://api.honeycomb.io/v1/traces',
|
|
99
|
+
* headers: { 'x-honeycomb-team': process.env.HONEYCOMB_KEY },
|
|
100
|
+
* })));
|
|
101
|
+
* provider.register();
|
|
102
|
+
*
|
|
103
|
+
* const otel = otelObservability({
|
|
104
|
+
* serviceName: 'my-agent',
|
|
105
|
+
* // genAiSpanNames: true, // opt-in spec span names ('chat gpt-4', …)
|
|
106
|
+
* });
|
|
107
|
+
* agent.enable.observability({ strategy: otel });
|
|
108
|
+
* // Optional — operator-level decide()/select() evidence as span events:
|
|
109
|
+
* // Agent.create({...}).recorder(otel.decisionEvidenceRecorder())
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
* @example Test injection
|
|
113
|
+
* ```ts
|
|
114
|
+
* otelObservability({
|
|
115
|
+
* serviceName: 'test',
|
|
116
|
+
* tracer: mockTracer, // anything matching the OTel Tracer interface
|
|
117
|
+
* });
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
import type { FlowDecisionEvent, FlowSelectedEvent } from 'footprintjs';
|
|
121
|
+
import type { ObservabilityStrategy } from '../../strategies/types.js';
|
|
122
|
+
export interface OtelObservabilityOptions {
|
|
123
|
+
/** Service name on every emitted span. Surfaces in your OTel
|
|
124
|
+
* backend's service map. Required. */
|
|
125
|
+
readonly serviceName: string;
|
|
126
|
+
/** OTel Tracer to use. Defaults to
|
|
127
|
+
* `trace.getTracer('agentfootprint', AGENTFOOTPRINT_VERSION)`
|
|
128
|
+
* (where `trace` is the lazy-imported `@opentelemetry/api`). */
|
|
129
|
+
readonly tracer?: OtelTracerLike;
|
|
130
|
+
/** 0..1 — sample rate for turn-level spans. Default `1.0`.
|
|
131
|
+
* Sampling decisions are normally an OTel SDK concern (via
|
|
132
|
+
* `Sampler`); this option is a per-strategy override for cases
|
|
133
|
+
* where the consumer wants agentfootprint to drop spans BEFORE
|
|
134
|
+
* they reach the SDK (e.g., aggressive cost control). */
|
|
135
|
+
readonly sampleRate?: number;
|
|
136
|
+
/**
|
|
137
|
+
* Opt-in OTel GenAI semconv SPAN NAMES (default `false`):
|
|
138
|
+
*
|
|
139
|
+
* root → `invoke_agent {serviceName}` (was `{serviceName}`)
|
|
140
|
+
* llm → `chat {model}` (was `llm`)
|
|
141
|
+
* tool → `execute_tool {toolName}` (was `tool:{toolName}`)
|
|
142
|
+
*
|
|
143
|
+
* Off by default because existing consumers' dashboards / alerts key
|
|
144
|
+
* on the legacy span names — renames would break them. All `gen_ai.*`
|
|
145
|
+
* ATTRIBUTES are emitted regardless of this flag (purely additive),
|
|
146
|
+
* so semconv-aware backends can already group by
|
|
147
|
+
* `gen_ai.operation.name` with the flag off.
|
|
148
|
+
*/
|
|
149
|
+
readonly genAiSpanNames?: boolean;
|
|
150
|
+
/**
|
|
151
|
+
* Explainability span events (default `true`): route decisions, skill
|
|
152
|
+
* routing provenance, validation rejections, permission decisions,
|
|
153
|
+
* credential lifecycle. Set `false` to emit only the span tree +
|
|
154
|
+
* `gen_ai.*` attributes (e.g., aggressive per-byte vendor billing).
|
|
155
|
+
*/
|
|
156
|
+
readonly explainability?: boolean;
|
|
157
|
+
}
|
|
158
|
+
/** Attribute value union we emit. Matches OTel's `AttributeValue`
|
|
159
|
+
* subset: primitives + homogeneous string arrays
|
|
160
|
+
* (`gen_ai.response.finish_reasons`, issue lists, …). */
|
|
161
|
+
export type OtelAttributeValue = string | number | boolean | readonly string[];
|
|
162
|
+
/** Subset of `@opentelemetry/api`'s `Tracer` we depend on. */
|
|
163
|
+
export interface OtelTracerLike {
|
|
164
|
+
startSpan(name: string, options?: OtelSpanOptions, context?: unknown): OtelSpanLike;
|
|
165
|
+
}
|
|
166
|
+
/** Subset of `@opentelemetry/api`'s `SpanOptions`. */
|
|
167
|
+
export interface OtelSpanOptions {
|
|
168
|
+
attributes?: Record<string, OtelAttributeValue>;
|
|
169
|
+
startTime?: number;
|
|
170
|
+
kind?: number;
|
|
171
|
+
}
|
|
172
|
+
/** Subset of `@opentelemetry/api`'s `Span` we depend on. */
|
|
173
|
+
export interface OtelSpanLike {
|
|
174
|
+
setAttribute(key: string, value: OtelAttributeValue): unknown;
|
|
175
|
+
setStatus(status: {
|
|
176
|
+
code: number;
|
|
177
|
+
message?: string;
|
|
178
|
+
}): unknown;
|
|
179
|
+
end(endTime?: number): void;
|
|
180
|
+
spanContext(): {
|
|
181
|
+
traceId: string;
|
|
182
|
+
spanId: string;
|
|
183
|
+
traceFlags: number;
|
|
184
|
+
};
|
|
185
|
+
/** OTel `Span.addEvent` — optional in the duck-typed surface so
|
|
186
|
+
* minimal test doubles still satisfy the interface. Explainability
|
|
187
|
+
* signals degrade to flattened attributes when absent. */
|
|
188
|
+
addEvent?(name: string, attributes?: Record<string, OtelAttributeValue>): unknown;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* footprintjs CombinedRecorder (FlowRecorder channel) that forwards
|
|
192
|
+
* decide()/select() operator-level evidence into the paired
|
|
193
|
+
* otelObservability strategy as span events. Attach via
|
|
194
|
+
* `Agent.create({...}).recorder(...)` or
|
|
195
|
+
* `executor.attachCombinedRecorder(...)`.
|
|
196
|
+
*/
|
|
197
|
+
export interface OtelDecisionEvidenceRecorder {
|
|
198
|
+
readonly id: string;
|
|
199
|
+
onDecision(event: FlowDecisionEvent): void;
|
|
200
|
+
onSelected(event: FlowSelectedEvent): void;
|
|
201
|
+
}
|
|
202
|
+
/** Return type of {@link otelObservability} — the base
|
|
203
|
+
* ObservabilityStrategy plus the decide()/select() evidence bridge. */
|
|
204
|
+
export interface OtelObservabilityStrategy extends ObservabilityStrategy {
|
|
205
|
+
/**
|
|
206
|
+
* Build the decide()/select() evidence bridge for this strategy.
|
|
207
|
+
*
|
|
208
|
+
* Operator-level decision evidence (which rule fired, the
|
|
209
|
+
* `key op threshold → actual` conditions) travels on footprintjs's
|
|
210
|
+
* FlowRecorder channel (`onDecision` / `onSelected`) — it never
|
|
211
|
+
* reaches the typed event dispatcher, so the strategy alone can't
|
|
212
|
+
* see it. This recorder is the bridge (same pattern as the #5
|
|
213
|
+
* causal-evidence bridge in `memory/causal/evidenceRecorder.ts`).
|
|
214
|
+
*
|
|
215
|
+
* Decisions WITHOUT structured evidence are skipped — they already
|
|
216
|
+
* arrive via the `agent.route_decided` / `composition.route_decided`
|
|
217
|
+
* typed events, so forwarding them here would double-report.
|
|
218
|
+
*
|
|
219
|
+
* @remarks PII: attaching this recorder EXPORTS bounded actual scope
|
|
220
|
+
* values to your OTel collector — each condition renders as
|
|
221
|
+
* `key op threshold → actualSummary (bool)`, where `actualSummary` is
|
|
222
|
+
* the engine's redaction-aware ≤80-char value summary (e.g.
|
|
223
|
+
* `creditScore gt 700 → 750 (true)`). Keys covered by a footprintjs
|
|
224
|
+
* `RedactionPolicy` render `[REDACTED]`; everything else leaves the
|
|
225
|
+
* process. For compliance record-keeping that disclosure is usually
|
|
226
|
+
* the point — but treat the collector as PII-bearing, or redact the
|
|
227
|
+
* relevant keys upstream, before attaching.
|
|
228
|
+
*
|
|
229
|
+
* @remarks Attach ONCE per executor. Every instance carries the
|
|
230
|
+
* well-known id `'otel-decision-evidence'`, so re-attaching is
|
|
231
|
+
* idempotent-by-ID (the replacement prevents double-reported span
|
|
232
|
+
* events); instances from the same strategy share its turn state by
|
|
233
|
+
* design.
|
|
234
|
+
*/
|
|
235
|
+
decisionEvidenceRecorder(): OtelDecisionEvidenceRecorder;
|
|
236
|
+
}
|
|
237
|
+
export declare function otelObservability(opts: OtelObservabilityOptions): OtelObservabilityStrategy;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* xrayObservability — AWS X-Ray distributed-tracing adapter.
|
|
3
|
+
*
|
|
4
|
+
* Maps agentfootprint's event taxonomy onto AWS X-Ray segment trees:
|
|
5
|
+
*
|
|
6
|
+
* agent.turn_start ↦ root segment (one trace per turn)
|
|
7
|
+
* agent.turn_end ↦ close root segment + flush
|
|
8
|
+
* agent.iteration_start ↦ push subsegment under root
|
|
9
|
+
* agent.iteration_end ↦ close iteration subsegment
|
|
10
|
+
* stream.llm_start ↦ push leaf subsegment (model call)
|
|
11
|
+
* stream.llm_end ↦ close llm subsegment
|
|
12
|
+
* stream.tool_start ↦ push leaf subsegment (tool call)
|
|
13
|
+
* stream.tool_end ↦ close tool subsegment (correlated
|
|
14
|
+
* by toolCallId — parallel-safe)
|
|
15
|
+
* error.fatal ↦ fault on root + close the whole
|
|
16
|
+
* tree (turn_end never arrives)
|
|
17
|
+
*
|
|
18
|
+
* Events are anchored on `meta.runId` (the dispatcher envelope),
|
|
19
|
+
* with a `payload.runId` fallback for hand-built events.
|
|
20
|
+
*
|
|
21
|
+
* The result in the X-Ray Trace Map: a hierarchical timeline of every
|
|
22
|
+
* agent run — turn → iteration → llm-call/tool-call — queryable in
|
|
23
|
+
* X-Ray Insights, joinable with the rest of your AWS distributed
|
|
24
|
+
* trace via `AWSTraceHeader` propagation (consumer's responsibility
|
|
25
|
+
* to wire upstream/downstream IDs).
|
|
26
|
+
*
|
|
27
|
+
* Subpath: `agentfootprint/observability-providers`
|
|
28
|
+
* Peer dep: `@aws-sdk/client-xray` (OPTIONAL — installed only when
|
|
29
|
+
* this adapter is used).
|
|
30
|
+
*
|
|
31
|
+
* Sampling:
|
|
32
|
+
* By default every turn produces one trace. Pass `sampleRate: 0.1`
|
|
33
|
+
* to sample 10% of turns — sampling decisions are made at
|
|
34
|
+
* `turn_start` and persist for the whole turn (so partial traces
|
|
35
|
+
* never reach X-Ray).
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* import { xrayObservability } from 'agentfootprint/observability-providers';
|
|
40
|
+
* import { microtaskBatchDriver } from 'footprintjs/detach';
|
|
41
|
+
*
|
|
42
|
+
* agent.enable.observability({
|
|
43
|
+
* strategy: xrayObservability({
|
|
44
|
+
* region: 'us-east-1',
|
|
45
|
+
* serviceName: 'my-agent',
|
|
46
|
+
* sampleRate: 0.1, // 10% sampling
|
|
47
|
+
* }),
|
|
48
|
+
* detach: { driver: microtaskBatchDriver, mode: 'forget' },
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @example Test injection
|
|
53
|
+
* ```ts
|
|
54
|
+
* xrayObservability({
|
|
55
|
+
* serviceName: 'test',
|
|
56
|
+
* _client: {
|
|
57
|
+
* putTraceSegments: async (input) => { capturedDocs.push(input); },
|
|
58
|
+
* },
|
|
59
|
+
* });
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
import type { ObservabilityStrategy } from '../../strategies/types.js';
|
|
63
|
+
export interface XrayObservabilityOptions {
|
|
64
|
+
/** AWS region. Falls back to AWS_REGION / AWS_DEFAULT_REGION env. */
|
|
65
|
+
readonly region?: string;
|
|
66
|
+
/** Service name on every emitted segment. Surfaces in X-Ray's
|
|
67
|
+
* service map. Required. */
|
|
68
|
+
readonly serviceName: string;
|
|
69
|
+
/** 0..1 — fraction of turns to sample. Default `1.0` (every turn).
|
|
70
|
+
* Decisions are made at `turn_start` and persist for the whole
|
|
71
|
+
* turn so partial traces never reach X-Ray. */
|
|
72
|
+
readonly sampleRate?: number;
|
|
73
|
+
/** Max segments buffered before forced flush. X-Ray's
|
|
74
|
+
* `PutTraceSegments` API accepts up to 50 segments per call;
|
|
75
|
+
* default 25 keeps latency tight. */
|
|
76
|
+
readonly maxBatchSegments?: number;
|
|
77
|
+
/** Forced flush window for low-traffic agents. Default 1000ms.
|
|
78
|
+
* `0` disables time-based flush. */
|
|
79
|
+
readonly flushIntervalMs?: number;
|
|
80
|
+
/** Test injection — bypasses SDK lazy-require entirely. */
|
|
81
|
+
readonly _client?: XRayLikeClient;
|
|
82
|
+
}
|
|
83
|
+
export interface XRayLikeClient {
|
|
84
|
+
putTraceSegments(input: {
|
|
85
|
+
TraceSegmentDocuments: ReadonlyArray<string>;
|
|
86
|
+
}): Promise<unknown>;
|
|
87
|
+
}
|
|
88
|
+
export declare function xrayObservability(opts: XrayObservabilityOptions): ObservabilityStrategy;
|