agentfootprint 6.43.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/RunnerBase.js +7 -0
- package/dist/core/RunnerBase.js.map +1 -1
- 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/RunnerBase.js +7 -0
- package/dist/esm/core/RunnerBase.js.map +1 -1
- 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/observe.js +7 -1
- package/dist/esm/observe.js.map +1 -1
- 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/FlowchartRecorder.js +10 -2
- package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -1
- 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/localObservability.js +54 -0
- package/dist/esm/recorders/observability/localObservability.js.map +1 -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/recorders/observability/trace.js +99 -0
- package/dist/esm/recorders/observability/trace.js.map +1 -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/observe.js +14 -3
- package/dist/observe.js.map +1 -1
- package/dist/recorders/observability/FlowchartRecorder.js +12 -3
- package/dist/recorders/observability/FlowchartRecorder.js.map +1 -1
- package/dist/recorders/observability/localObservability.js +58 -0
- package/dist/recorders/observability/localObservability.js.map +1 -0
- package/dist/recorders/observability/trace.js +105 -0
- package/dist/recorders/observability/trace.js.map +1 -0
- package/dist/types/core/RunnerBase.d.ts.map +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/core/runner.d.ts +12 -0
- package/dist/types/core/runner.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/dist/types/observe.d.ts +3 -1
- package/dist/types/observe.d.ts.map +1 -1
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts +8 -1
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/localObservability.d.ts +49 -0
- package/dist/types/recorders/observability/localObservability.d.ts.map +1 -0
- package/dist/types/recorders/observability/trace.d.ts +120 -0
- package/dist/types/recorders/observability/trace.d.ts.map +1 -0
- package/package.json +203 -56
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentCoreStore — AWS Bedrock **AgentCore Memory** adapter
|
|
3
|
+
* (peer-dep `@aws-sdk/client-bedrock-agentcore`).
|
|
4
|
+
*
|
|
5
|
+
* import { AgentCoreStore } from 'agentfootprint/memory-providers';
|
|
6
|
+
*
|
|
7
|
+
* const store = new AgentCoreStore({
|
|
8
|
+
* memoryId: 'arn:aws:bedrock-agentcore:us-west-2:...:memory/my-mem',
|
|
9
|
+
* region: 'us-west-2',
|
|
10
|
+
* });
|
|
11
|
+
*
|
|
12
|
+
* Pattern: Adapter (GoF) — maps the `MemoryStore` interface onto AgentCore Memory's
|
|
13
|
+
* data-plane **event** model (`CreateEvent` / `GetEvent` / `ListEvents` /
|
|
14
|
+
* `DeleteEvent`, `@aws-sdk/client-bedrock-agentcore`):
|
|
15
|
+
* MemoryIdentity.{tenant,principal} ↔ AgentCore `actorId`
|
|
16
|
+
* MemoryIdentity.conversationId ↔ AgentCore `sessionId`
|
|
17
|
+
* MemoryEntry ↔ one event whose `payload` is a single
|
|
18
|
+
* `blob` document holding the entry
|
|
19
|
+
*
|
|
20
|
+
* **AgentCore Memory is an append-only event log, not a key-value store.** The server
|
|
21
|
+
* assigns each event's `eventId` on `CreateEvent` (you cannot choose it), and there is no
|
|
22
|
+
* "delete the whole session" call. This shapes the adapter:
|
|
23
|
+
*
|
|
24
|
+
* • `put` → `CreateEvent` (append; `actorId` + `eventTimestamp` are required). O(1)
|
|
25
|
+
* • `list` → `ListEvents` (paginated, `includePayloads`). ← window / episodic memory. O(page)
|
|
26
|
+
* • `get(id)` / `delete(id)` → list-then-find by the entry id stored in the blob, since
|
|
27
|
+
* AgentCore's ids are server-assigned. **O(events in session)** — fine for typical
|
|
28
|
+
* window sizes; if you need O(1) keyed access at scale, use RedisStore.
|
|
29
|
+
* • `forget` → `ListEvents` + `DeleteEvent` per event (no `DeleteSession` on AgentCore).
|
|
30
|
+
* • `search` → still unwired (AgentCore's `RetrieveMemoryRecords` lands as a later helper).
|
|
31
|
+
* • `putIfVersion` / `seen` / `feedback` → in-process emulation (AgentCore has no native
|
|
32
|
+
* CAS / dedup / feedback primitive; these don't survive process restart).
|
|
33
|
+
*
|
|
34
|
+
* Role: Outer ring. Lazy-requires the AWS SDK; zero runtime cost when another adapter is
|
|
35
|
+
* in use. Emits: N/A (storage adapters don't emit).
|
|
36
|
+
*/
|
|
37
|
+
import type { ListOptions, ListResult, MemoryStore, PutIfVersionResult } from '../../memory/store/types.js';
|
|
38
|
+
import type { MemoryEntry } from '../../memory/entry/index.js';
|
|
39
|
+
import type { MemoryIdentity } from '../../memory/identity/index.js';
|
|
40
|
+
/** One event as the adapter cares about it: AgentCore's id + the decoded entry. */
|
|
41
|
+
export interface AgentCoreEvent {
|
|
42
|
+
/** AgentCore server-assigned event id (needed to delete it). */
|
|
43
|
+
readonly eventId: string;
|
|
44
|
+
/** The MemoryEntry decoded from the event's blob payload (null if unparseable). */
|
|
45
|
+
readonly entry: MemoryEntry | null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Minimal, entry-semantic surface the store uses. The real implementation
|
|
49
|
+
* (`createAgentCoreClient`) maps these onto `CreateEvent` / `ListEvents` /
|
|
50
|
+
* `DeleteEvent`; tests inject a mock via `_client`.
|
|
51
|
+
*/
|
|
52
|
+
export interface AgentCoreLikeClient {
|
|
53
|
+
/** Append one entry as an event (server assigns the eventId). */
|
|
54
|
+
createEvent(input: {
|
|
55
|
+
memoryId: string;
|
|
56
|
+
actorId: string;
|
|
57
|
+
sessionId: string;
|
|
58
|
+
entry: MemoryEntry;
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
/** One page of the session's events (newest-first is AgentCore's default). */
|
|
61
|
+
listEvents(input: {
|
|
62
|
+
memoryId: string;
|
|
63
|
+
actorId: string;
|
|
64
|
+
sessionId: string;
|
|
65
|
+
maxResults?: number;
|
|
66
|
+
nextToken?: string;
|
|
67
|
+
}): Promise<{
|
|
68
|
+
events: readonly AgentCoreEvent[];
|
|
69
|
+
nextToken?: string;
|
|
70
|
+
}>;
|
|
71
|
+
/** Delete one event by its AgentCore eventId. */
|
|
72
|
+
deleteEvent(input: {
|
|
73
|
+
memoryId: string;
|
|
74
|
+
actorId: string;
|
|
75
|
+
sessionId: string;
|
|
76
|
+
eventId: string;
|
|
77
|
+
}): Promise<void>;
|
|
78
|
+
}
|
|
79
|
+
export interface AgentCoreStoreOptions {
|
|
80
|
+
/** AgentCore Memory ARN or id. Required. */
|
|
81
|
+
readonly memoryId: string;
|
|
82
|
+
/** AWS region. Required when constructing the SDK client internally. */
|
|
83
|
+
readonly region?: string;
|
|
84
|
+
/** Pre-built AgentCore client (shares one SDK config across the host app). */
|
|
85
|
+
readonly client?: AgentCoreLikeClient;
|
|
86
|
+
/** Page size for `listEvents`. Default 100. */
|
|
87
|
+
readonly pageSize?: number;
|
|
88
|
+
/** @internal Test injection — skips the SDK require entirely. */
|
|
89
|
+
readonly _client?: AgentCoreLikeClient;
|
|
90
|
+
/** @internal Test injection — the AWS SDK module (to exercise the real shim with a mock SDK). */
|
|
91
|
+
readonly _sdk?: BedrockAgentCoreSdkModule;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* AgentCore Memory-backed `MemoryStore`. Implements every method except `search()`.
|
|
95
|
+
*
|
|
96
|
+
* @throws when `@aws-sdk/client-bedrock-agentcore` is not installed and no `_client`/`_sdk`
|
|
97
|
+
* is supplied.
|
|
98
|
+
*/
|
|
99
|
+
export declare class AgentCoreStore implements MemoryStore {
|
|
100
|
+
private readonly client;
|
|
101
|
+
private readonly memoryId;
|
|
102
|
+
private readonly pageSize;
|
|
103
|
+
private closed;
|
|
104
|
+
private readonly signatures;
|
|
105
|
+
private readonly feedbackBag;
|
|
106
|
+
constructor(options: AgentCoreStoreOptions);
|
|
107
|
+
private actorId;
|
|
108
|
+
private sessionId;
|
|
109
|
+
private scope;
|
|
110
|
+
private shadowKey;
|
|
111
|
+
private feedbackKey;
|
|
112
|
+
/** Walk every event in the session (paginated). */
|
|
113
|
+
private eachEvent;
|
|
114
|
+
get<T = unknown>(identity: MemoryIdentity, id: string): Promise<MemoryEntry<T> | null>;
|
|
115
|
+
put<T = unknown>(identity: MemoryIdentity, entry: MemoryEntry<T>): Promise<void>;
|
|
116
|
+
putMany<T = unknown>(identity: MemoryIdentity, entries: readonly MemoryEntry<T>[]): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Emulated optimistic concurrency. AgentCore appends unconditionally; we read-then-write
|
|
119
|
+
* inside a JS critical section — adequate for single-writer-per-session deployments.
|
|
120
|
+
*/
|
|
121
|
+
putIfVersion<T = unknown>(identity: MemoryIdentity, entry: MemoryEntry<T>, expectedVersion: number): Promise<PutIfVersionResult>;
|
|
122
|
+
list<T = unknown>(identity: MemoryIdentity, options?: ListOptions): Promise<ListResult<T>>;
|
|
123
|
+
delete(identity: MemoryIdentity, id: string): Promise<void>;
|
|
124
|
+
seen(identity: MemoryIdentity, signature: string): Promise<boolean>;
|
|
125
|
+
recordSignature(identity: MemoryIdentity, signature: string): Promise<void>;
|
|
126
|
+
feedback(identity: MemoryIdentity, id: string, usefulness: number): Promise<void>;
|
|
127
|
+
getFeedback(identity: MemoryIdentity, id: string): Promise<{
|
|
128
|
+
average: number;
|
|
129
|
+
count: number;
|
|
130
|
+
} | null>;
|
|
131
|
+
/** GDPR "everything for this identity, gone." No DeleteSession on AgentCore → delete every event. */
|
|
132
|
+
forget(identity: MemoryIdentity): Promise<void>;
|
|
133
|
+
close(): Promise<void>;
|
|
134
|
+
private ensureOpen;
|
|
135
|
+
}
|
|
136
|
+
/** The slice of `@aws-sdk/client-bedrock-agentcore` the shim touches. */
|
|
137
|
+
export interface BedrockAgentCoreSdkModule {
|
|
138
|
+
readonly BedrockAgentCoreClient?: new (config: {
|
|
139
|
+
region?: string;
|
|
140
|
+
}) => {
|
|
141
|
+
send(cmd: unknown): Promise<unknown>;
|
|
142
|
+
};
|
|
143
|
+
readonly CreateEventCommand?: new (input: unknown) => unknown;
|
|
144
|
+
readonly ListEventsCommand?: new (input: unknown) => unknown;
|
|
145
|
+
readonly DeleteEventCommand?: new (input: unknown) => unknown;
|
|
146
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BedrockAgentMemory — read the **auto-generated session-summary memory** of a
|
|
3
|
+
* (legacy) Amazon **Bedrock Agents** agent (peer-dep `@aws-sdk/client-bedrock-agent-runtime`).
|
|
4
|
+
*
|
|
5
|
+
* import { BedrockAgentMemory } from 'agentfootprint/memory-providers';
|
|
6
|
+
*
|
|
7
|
+
* const mem = new BedrockAgentMemory({ agentId, agentAliasId, region: 'us-west-2' });
|
|
8
|
+
* const summaries = await mem.readSummaries(userMemoryId); // string summaries Bedrock wrote
|
|
9
|
+
*
|
|
10
|
+
* **This is NOT a `MemoryStore`** — and intentionally so. Bedrock Agents *owns the writes*:
|
|
11
|
+
* the agent generates `SESSION_SUMMARY` records itself (`GetAgentMemory` reads them,
|
|
12
|
+
* `DeleteAgentMemory` clears them). There is no "put an arbitrary entry" operation, so wrapping
|
|
13
|
+
* it as a `defineMemory({ store })` would be a "store that can't store." Instead it's a small
|
|
14
|
+
* **reader** you use to *surface* Bedrock's built-in memory — e.g. inject the summaries as a
|
|
15
|
+
* Fact/context block into an agentfootprint agent.
|
|
16
|
+
*
|
|
17
|
+
* For a real read/write agent memory store on AWS, use `AgentCoreStore` (the newer
|
|
18
|
+
* Bedrock **AgentCore** platform) — that's the go-forward path; this targets the prior-gen
|
|
19
|
+
* Bedrock Agents product and exists for teams migrating off it.
|
|
20
|
+
*
|
|
21
|
+
* Role: Outer ring. Lazy-requires the AWS SDK; zero cost when unused.
|
|
22
|
+
*/
|
|
23
|
+
/** One auto-generated session summary from Bedrock Agents memory. */
|
|
24
|
+
export interface BedrockAgentSummary {
|
|
25
|
+
readonly sessionId: string;
|
|
26
|
+
readonly summaryText: string;
|
|
27
|
+
/** ISO timestamps (the SDK returns Date; serialized here for portability). */
|
|
28
|
+
readonly sessionStartTime?: string;
|
|
29
|
+
readonly sessionExpiryTime?: string;
|
|
30
|
+
}
|
|
31
|
+
/** Minimal surface the reader uses; tests inject a mock via `_client`. */
|
|
32
|
+
export interface BedrockAgentMemoryLikeClient {
|
|
33
|
+
getSessionSummaries(input: {
|
|
34
|
+
agentId: string;
|
|
35
|
+
agentAliasId: string;
|
|
36
|
+
memoryId: string;
|
|
37
|
+
maxItems?: number;
|
|
38
|
+
nextToken?: string;
|
|
39
|
+
}): Promise<{
|
|
40
|
+
summaries: readonly BedrockAgentSummary[];
|
|
41
|
+
nextToken?: string;
|
|
42
|
+
}>;
|
|
43
|
+
deleteMemory(input: {
|
|
44
|
+
agentId: string;
|
|
45
|
+
agentAliasId: string;
|
|
46
|
+
memoryId: string;
|
|
47
|
+
sessionId?: string;
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
export interface BedrockAgentMemoryOptions {
|
|
51
|
+
/** The Bedrock Agent id whose memory to read. Required. */
|
|
52
|
+
readonly agentId: string;
|
|
53
|
+
/** The Bedrock Agent alias id. Required. */
|
|
54
|
+
readonly agentAliasId: string;
|
|
55
|
+
/** AWS region (when constructing the SDK client internally). */
|
|
56
|
+
readonly region?: string;
|
|
57
|
+
/** Pre-built client (shares one SDK config across the host app). */
|
|
58
|
+
readonly client?: BedrockAgentMemoryLikeClient;
|
|
59
|
+
/** Default page size for `readSummaries`. Default 20. */
|
|
60
|
+
readonly maxItems?: number;
|
|
61
|
+
/** @internal Test injection — skips the SDK require. */
|
|
62
|
+
readonly _client?: BedrockAgentMemoryLikeClient;
|
|
63
|
+
/** @internal Test injection — the AWS SDK module. */
|
|
64
|
+
readonly _sdk?: BedrockAgentRuntimeSdkModule;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Read-only reader for Bedrock Agents' auto session-summary memory.
|
|
68
|
+
*
|
|
69
|
+
* @throws when `@aws-sdk/client-bedrock-agent-runtime` is not installed and no
|
|
70
|
+
* `_client`/`_sdk` is supplied.
|
|
71
|
+
*/
|
|
72
|
+
export declare class BedrockAgentMemory {
|
|
73
|
+
private readonly client;
|
|
74
|
+
private readonly agentId;
|
|
75
|
+
private readonly agentAliasId;
|
|
76
|
+
private readonly maxItems;
|
|
77
|
+
constructor(options: BedrockAgentMemoryOptions);
|
|
78
|
+
/** All session summaries Bedrock generated for `memoryId` (paginated). */
|
|
79
|
+
readSummaries(memoryId: string, opts?: {
|
|
80
|
+
maxItems?: number;
|
|
81
|
+
}): Promise<BedrockAgentSummary[]>;
|
|
82
|
+
/** The concatenated summary text — handy to inject as a single context/Fact block. */
|
|
83
|
+
readText(memoryId: string): Promise<string>;
|
|
84
|
+
/** Clear Bedrock's memory for `memoryId` (optionally a single `sessionId`). */
|
|
85
|
+
forget(memoryId: string, sessionId?: string): Promise<void>;
|
|
86
|
+
}
|
|
87
|
+
export interface BedrockAgentRuntimeSdkModule {
|
|
88
|
+
readonly BedrockAgentRuntimeClient?: new (config: {
|
|
89
|
+
region?: string;
|
|
90
|
+
}) => {
|
|
91
|
+
send(cmd: unknown): Promise<unknown>;
|
|
92
|
+
};
|
|
93
|
+
readonly GetAgentMemoryCommand?: new (input: unknown) => unknown;
|
|
94
|
+
readonly DeleteAgentMemoryCommand?: new (input: unknown) => unknown;
|
|
95
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RedisStore — Redis-backed `MemoryStore` adapter (peer-dep `ioredis`).
|
|
3
|
+
*
|
|
4
|
+
* Import from the canonical subpath (the `agentfootprint/memory-redis` alias
|
|
5
|
+
* was removed in 4.0.0):
|
|
6
|
+
*
|
|
7
|
+
* import { RedisStore } from 'agentfootprint/memory-providers';
|
|
8
|
+
*
|
|
9
|
+
* const store = new RedisStore({ url: 'redis://localhost:6379' });
|
|
10
|
+
*
|
|
11
|
+
* Pattern: Adapter (GoF) — translates the `MemoryStore` interface onto
|
|
12
|
+
* Redis primitives (key/value for entries, set for signatures,
|
|
13
|
+
* hash for feedback aggregates).
|
|
14
|
+
* Role: Outer ring. Lazy-requires `ioredis`; no runtime cost when
|
|
15
|
+
* another adapter is in use.
|
|
16
|
+
* Emits: N/A (storage adapters don't emit; recorders observe the
|
|
17
|
+
* memory pipeline that calls them).
|
|
18
|
+
*
|
|
19
|
+
* Vector search (`search()`) is NOT implemented in this adapter — RedisSearch
|
|
20
|
+
* is a separate Redis module with its own API surface. A `RedisSearchStore`
|
|
21
|
+
* may ship in a future release. RAG users with v2.3 should use
|
|
22
|
+
* `InMemoryStore` until the search-capable adapter lands.
|
|
23
|
+
*
|
|
24
|
+
* Concurrency model:
|
|
25
|
+
* - `put` / `putMany` use simple SET / pipelined SET (last-write-wins).
|
|
26
|
+
* - `putIfVersion` uses a small Lua script for atomic version compare-and-swap.
|
|
27
|
+
* - Multi-writer correctness ⇒ prefer `putIfVersion` in stage code.
|
|
28
|
+
*/
|
|
29
|
+
import type { ListOptions, ListResult, MemoryStore, PutIfVersionResult } from '../../memory/store/types.js';
|
|
30
|
+
import type { MemoryEntry } from '../../memory/entry/index.js';
|
|
31
|
+
import type { MemoryIdentity } from '../../memory/identity/index.js';
|
|
32
|
+
/**
|
|
33
|
+
* Minimal `ioredis` client surface this adapter needs. Defined locally so
|
|
34
|
+
* we don't take a hard import on `ioredis` (lazy peer-dep) and tests can
|
|
35
|
+
* inject a mock implementation via `_client`.
|
|
36
|
+
*/
|
|
37
|
+
export interface RedisLikeClient {
|
|
38
|
+
get(key: string): Promise<string | null>;
|
|
39
|
+
set(key: string, value: string, ...args: ReadonlyArray<string | number>): Promise<unknown>;
|
|
40
|
+
del(...keys: ReadonlyArray<string>): Promise<number>;
|
|
41
|
+
sadd(key: string, ...members: ReadonlyArray<string>): Promise<number>;
|
|
42
|
+
srem(key: string, ...members: ReadonlyArray<string>): Promise<number>;
|
|
43
|
+
sismember(key: string, member: string): Promise<number>;
|
|
44
|
+
smembers(key: string): Promise<readonly string[]>;
|
|
45
|
+
hgetall(key: string): Promise<Record<string, string>>;
|
|
46
|
+
hset(key: string, ...args: ReadonlyArray<string | number>): Promise<number>;
|
|
47
|
+
scan(cursor: string, match: 'MATCH', pattern: string, count: 'COUNT', n: number): Promise<readonly [string, readonly string[]]>;
|
|
48
|
+
eval(script: string, numKeys: number, ...args: ReadonlyArray<string | number>): Promise<unknown>;
|
|
49
|
+
pipeline(): RedisLikePipeline;
|
|
50
|
+
quit(): Promise<unknown>;
|
|
51
|
+
}
|
|
52
|
+
export interface RedisLikePipeline {
|
|
53
|
+
set(key: string, value: string, ...args: ReadonlyArray<string | number>): RedisLikePipeline;
|
|
54
|
+
sadd(key: string, ...members: ReadonlyArray<string>): RedisLikePipeline;
|
|
55
|
+
exec(): Promise<unknown>;
|
|
56
|
+
}
|
|
57
|
+
export interface RedisStoreOptions {
|
|
58
|
+
/**
|
|
59
|
+
* Connection URL (e.g. `redis://default:password@host:6379/0`). Required
|
|
60
|
+
* unless `_client` is supplied.
|
|
61
|
+
*/
|
|
62
|
+
readonly url?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Pre-built `ioredis` client. Use this when the host app already manages
|
|
65
|
+
* a Redis connection pool. Adapter does NOT call `quit()` on a borrowed
|
|
66
|
+
* client — caller owns the lifecycle.
|
|
67
|
+
*/
|
|
68
|
+
readonly client?: RedisLikeClient;
|
|
69
|
+
/** Key prefix for namespace isolation across apps sharing one Redis. Default `'agentfootprint'`. */
|
|
70
|
+
readonly prefix?: string;
|
|
71
|
+
/**
|
|
72
|
+
* SCAN page size when iterating keys. Default 100. Larger = fewer
|
|
73
|
+
* round-trips but more memory per response. Adapter never uses `KEYS *`
|
|
74
|
+
* (which blocks Redis).
|
|
75
|
+
*/
|
|
76
|
+
readonly scanCount?: number;
|
|
77
|
+
/**
|
|
78
|
+
* @internal Test injection point. When provided, skips the SDK require.
|
|
79
|
+
*/
|
|
80
|
+
readonly _client?: RedisLikeClient;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Redis-backed `MemoryStore`. Implements every method except `search()`.
|
|
84
|
+
*
|
|
85
|
+
* @throws when `ioredis` is not installed and no `_client` is supplied.
|
|
86
|
+
*/
|
|
87
|
+
export declare class RedisStore implements MemoryStore {
|
|
88
|
+
private readonly client;
|
|
89
|
+
private readonly prefix;
|
|
90
|
+
private readonly scanCount;
|
|
91
|
+
private readonly ownsClient;
|
|
92
|
+
private closed;
|
|
93
|
+
constructor(options?: RedisStoreOptions);
|
|
94
|
+
private nsKey;
|
|
95
|
+
private entryKey;
|
|
96
|
+
private indexKey;
|
|
97
|
+
private sigKey;
|
|
98
|
+
private feedbackKey;
|
|
99
|
+
get<T = unknown>(identity: MemoryIdentity, id: string): Promise<MemoryEntry<T> | null>;
|
|
100
|
+
put<T = unknown>(identity: MemoryIdentity, entry: MemoryEntry<T>): Promise<void>;
|
|
101
|
+
putMany<T = unknown>(identity: MemoryIdentity, entries: readonly MemoryEntry<T>[]): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Optimistic concurrency via a small Lua script — atomic
|
|
104
|
+
* compare-and-swap on the JSON-encoded `version` field.
|
|
105
|
+
*/
|
|
106
|
+
putIfVersion<T = unknown>(identity: MemoryIdentity, entry: MemoryEntry<T>, expectedVersion: number): Promise<PutIfVersionResult>;
|
|
107
|
+
list<T = unknown>(identity: MemoryIdentity, options?: ListOptions): Promise<ListResult<T>>;
|
|
108
|
+
delete(identity: MemoryIdentity, id: string): Promise<void>;
|
|
109
|
+
seen(identity: MemoryIdentity, signature: string): Promise<boolean>;
|
|
110
|
+
recordSignature(identity: MemoryIdentity, signature: string): Promise<void>;
|
|
111
|
+
feedback(identity: MemoryIdentity, id: string, usefulness: number): Promise<void>;
|
|
112
|
+
getFeedback(identity: MemoryIdentity, id: string): Promise<{
|
|
113
|
+
average: number;
|
|
114
|
+
count: number;
|
|
115
|
+
} | null>;
|
|
116
|
+
/**
|
|
117
|
+
* GDPR — drop every key under this identity's namespace.
|
|
118
|
+
*/
|
|
119
|
+
forget(identity: MemoryIdentity): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Close the underlying Redis connection — only when this adapter
|
|
122
|
+
* owns it. Borrowed clients (passed via `client` option) are left to
|
|
123
|
+
* the caller. Idempotent.
|
|
124
|
+
*/
|
|
125
|
+
close(): Promise<void>;
|
|
126
|
+
private ensureOpen;
|
|
127
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agentcoreObservability — AWS Bedrock AgentCore observability adapter.
|
|
3
|
+
*
|
|
4
|
+
* Ships every `AgentfootprintEvent` to **CloudWatch Logs** in a
|
|
5
|
+
* structured-JSON shape AgentCore's hosted-agent telemetry layer
|
|
6
|
+
* understands. Use when:
|
|
7
|
+
*
|
|
8
|
+
* 1. Your agent runs INSIDE AgentCore — events show up alongside
|
|
9
|
+
* AgentCore's own runtime telemetry in the same log group.
|
|
10
|
+
* 2. Your agent runs OUTSIDE AgentCore but you want to query agent
|
|
11
|
+
* behavior in CloudWatch Insights / X-Ray traces using the same
|
|
12
|
+
* schema AgentCore uses internally.
|
|
13
|
+
*
|
|
14
|
+
* Subpath: `agentfootprint/observability-providers`
|
|
15
|
+
* Peer dep: `@aws-sdk/client-cloudwatch-logs` (OPTIONAL — installed
|
|
16
|
+
* only when this adapter is used; declared via
|
|
17
|
+
* `peerDependenciesMeta.{name}.optional = true`).
|
|
18
|
+
*
|
|
19
|
+
* **Implementation:** thin wrapper over `cloudwatchObservability`'s
|
|
20
|
+
* shared base. The only difference is the strategy `name` (used for
|
|
21
|
+
* registry lookup + diagnostics). All batching, flush, error-routing,
|
|
22
|
+
* and SDK-loading behavior is identical. As we evolve the CloudWatch
|
|
23
|
+
* shipping path (retry, sequence tokens, metrics emission), every
|
|
24
|
+
* CloudWatch-shaped adapter inherits the improvement.
|
|
25
|
+
*
|
|
26
|
+
* @example Basic
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { agentcoreObservability } from 'agentfootprint/observability-providers';
|
|
29
|
+
* import { microtaskBatchDriver } from 'footprintjs/detach';
|
|
30
|
+
*
|
|
31
|
+
* agent.enable.observability({
|
|
32
|
+
* strategy: agentcoreObservability({
|
|
33
|
+
* region: 'us-east-1',
|
|
34
|
+
* logGroupName: '/agentfootprint/my-agent',
|
|
35
|
+
* logStreamName: `${process.env.HOSTNAME}/${Date.now()}`,
|
|
36
|
+
* }),
|
|
37
|
+
* detach: { driver: microtaskBatchDriver, mode: 'forget' },
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @example Test injection (skip SDK require entirely)
|
|
42
|
+
* ```ts
|
|
43
|
+
* agentcoreObservability({
|
|
44
|
+
* logGroupName: '/agentfootprint/test',
|
|
45
|
+
* _client: {
|
|
46
|
+
* putLogEvents: async (input) => { capturedBatches.push(input); },
|
|
47
|
+
* },
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
import type { ObservabilityStrategy } from '../../strategies/types.js';
|
|
52
|
+
import { type CloudwatchObservabilityOptions } from './cloudwatch.js';
|
|
53
|
+
/**
|
|
54
|
+
* AgentCore-specific options. Currently identical to the generic
|
|
55
|
+
* `CloudwatchObservabilityOptions` — kept as a separate type for
|
|
56
|
+
* future-proofing (AgentCore-specific knobs like
|
|
57
|
+
* `agentcoreSessionId` propagation could land here without a
|
|
58
|
+
* breaking change).
|
|
59
|
+
*/
|
|
60
|
+
export type AgentcoreObservabilityOptions = CloudwatchObservabilityOptions;
|
|
61
|
+
/**
|
|
62
|
+
* Build an AgentCore-flavored CloudWatch Logs observability strategy.
|
|
63
|
+
* Functionally identical to `cloudwatchObservability` except for the
|
|
64
|
+
* strategy `name`, which lets registry-lookup + diagnostics
|
|
65
|
+
* distinguish AgentCore-targeted shipping from generic CloudWatch.
|
|
66
|
+
*/
|
|
67
|
+
export declare function agentcoreObservability(opts: AgentcoreObservabilityOptions): ObservabilityStrategy;
|