agentfootprint 8.19.0 → 9.0.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/README.md +2 -2
- package/bin/agentfootprint-index.mjs +28 -3
- package/dist/adapters/hosting/agentcore.js +1 -1
- package/dist/adapters/identity/agentcore.js +1 -1
- package/dist/adapters/llm/AnthropicProvider.js +1 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js +1 -1
- package/dist/adapters/llm/MockProvider.js +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +2 -2
- package/dist/adapters/memory/agentcore.js +1 -1
- package/dist/adapters/memory/bedrockAgentMemory.js +1 -1
- package/dist/adapters/memory/redis.js +1 -1
- package/dist/adapters/observability/agentcore.js +2 -2
- package/dist/adapters/observability/audit.js +1 -1
- package/dist/adapters/observability/cloudwatch.js +2 -2
- package/dist/adapters/observability/otel.js +3 -3
- package/dist/adapters/observability/xray.js +2 -2
- package/dist/core/Agent.js +1 -1
- package/dist/core/agent/AgentBuilder.js +35 -23
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/stages/window.js +11 -13
- package/dist/core/agent/stages/window.js.map +1 -1
- package/dist/core/agent/watch.js +1 -1
- package/dist/core/agent/window/index.js.map +1 -1
- package/dist/core/agent/window/strategies/summarizeOldest.js +0 -5
- package/dist/core/agent/window/strategies/summarizeOldest.js.map +1 -1
- package/dist/core/slots/helpers.js +4 -7
- package/dist/core/slots/helpers.js.map +1 -1
- package/dist/debug/finders.js +7 -10
- package/dist/debug/finders.js.map +1 -1
- package/dist/debug.js +4 -4
- package/dist/doors/context.js +3 -3
- package/dist/esm/adapters/hosting/agentcore.d.ts +1 -1
- package/dist/esm/adapters/hosting/agentcore.js +1 -1
- package/dist/esm/adapters/identity/agentcore.d.ts +1 -1
- package/dist/esm/adapters/identity/agentcore.js +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.d.ts +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.js +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +1 -1
- package/dist/esm/adapters/llm/MockProvider.d.ts +1 -1
- package/dist/esm/adapters/llm/MockProvider.js +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.d.ts +2 -2
- package/dist/esm/adapters/llm/OpenAIProvider.js +2 -2
- package/dist/esm/adapters/memory/agentcore.d.ts +1 -1
- package/dist/esm/adapters/memory/agentcore.js +1 -1
- package/dist/esm/adapters/memory/bedrockAgentMemory.d.ts +1 -1
- package/dist/esm/adapters/memory/bedrockAgentMemory.js +1 -1
- package/dist/esm/adapters/memory/redis.d.ts +1 -1
- package/dist/esm/adapters/memory/redis.js +1 -1
- package/dist/esm/adapters/observability/agentcore.d.ts +2 -2
- package/dist/esm/adapters/observability/agentcore.js +2 -2
- package/dist/esm/adapters/observability/audit.d.ts +1 -1
- package/dist/esm/adapters/observability/audit.js +1 -1
- package/dist/esm/adapters/observability/cloudwatch.d.ts +2 -2
- package/dist/esm/adapters/observability/cloudwatch.js +2 -2
- package/dist/esm/adapters/observability/otel.d.ts +4 -4
- package/dist/esm/adapters/observability/otel.js +3 -3
- package/dist/esm/adapters/observability/xray.d.ts +2 -2
- package/dist/esm/adapters/observability/xray.js +2 -2
- package/dist/esm/core/Agent.js +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +17 -14
- package/dist/esm/core/agent/AgentBuilder.js +35 -23
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/stages/window.js +11 -13
- package/dist/esm/core/agent/stages/window.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +2 -2
- package/dist/esm/core/agent/watch.d.ts +1 -1
- package/dist/esm/core/agent/watch.js +1 -1
- package/dist/esm/core/agent/window/index.d.ts +1 -1
- package/dist/esm/core/agent/window/index.js.map +1 -1
- package/dist/esm/core/agent/window/strategies/summarizeOldest.js +0 -5
- package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -1
- package/dist/esm/core/agent/window/types.d.ts +0 -30
- package/dist/esm/core/runner.d.ts +1 -1
- package/dist/esm/core/slots/helpers.d.ts +3 -4
- package/dist/esm/core/slots/helpers.js +4 -7
- package/dist/esm/core/slots/helpers.js.map +1 -1
- package/dist/esm/debug/finders.d.ts +7 -10
- package/dist/esm/debug/finders.js +7 -10
- package/dist/esm/debug/finders.js.map +1 -1
- package/dist/esm/debug.d.ts +4 -4
- package/dist/esm/debug.js +4 -4
- package/dist/esm/doors/context.d.ts +3 -3
- package/dist/esm/doors/context.js +3 -3
- package/dist/esm/embedders/index.d.ts +4 -4
- package/dist/esm/events/payloads.d.ts +10 -14
- package/dist/esm/hosting-providers.d.ts +16 -16
- package/dist/esm/hosting-providers.js +16 -16
- package/dist/esm/identity/types.d.ts +1 -1
- package/dist/esm/identity/types.js +1 -1
- package/dist/esm/identity/withCredentialRetry.d.ts +1 -1
- package/dist/esm/identity/withCredentialRetry.js +1 -1
- package/dist/esm/identity.d.ts +5 -5
- package/dist/esm/identity.js +5 -5
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +4 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/injection-engine.d.ts +4 -4
- package/dist/esm/injection-engine.js +4 -4
- package/dist/esm/lib/context-ledger/gates.d.ts +1 -1
- package/dist/esm/lib/context-ledger/gates.js +1 -1
- package/dist/esm/lib/injection-engine/SkillRegistry.d.ts +1 -1
- package/dist/esm/lib/injection-engine/SkillRegistry.js +1 -1
- package/dist/esm/lib/injection-engine/factories/defineSkill.d.ts +1 -16
- package/dist/esm/lib/injection-engine/factories/defineSkill.js +29 -1
- package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillsFromDir.d.ts +1 -11
- package/dist/esm/lib/injection-engine/skillsFromDir.js +22 -2
- package/dist/esm/lib/injection-engine/skillsFromDir.js.map +1 -1
- package/dist/esm/lib/injection-engine/types.d.ts +1 -1
- package/dist/esm/lib/mcp/gatewayTransport.d.ts +2 -2
- package/dist/esm/lib/mcp/gatewayTransport.js +2 -2
- package/dist/esm/lib/rag/defineRAG.d.ts +9 -6
- package/dist/esm/lib/rag/defineRAG.js.map +1 -1
- package/dist/esm/lib/recorded-chat/index.d.ts +1 -1
- package/dist/esm/lib/recorded-chat/index.js +1 -1
- package/dist/esm/llm-providers.d.ts +5 -19
- package/dist/esm/llm-providers.js +5 -19
- package/dist/esm/llm-providers.js.map +1 -1
- package/dist/esm/locales/index.d.ts +7 -7
- package/dist/esm/locales/index.js +7 -7
- package/dist/esm/memory/causal/evidenceRecorder.d.ts +1 -1
- package/dist/esm/memory/causal/evidenceRecorder.js +1 -1
- package/dist/esm/memory/define.types.d.ts +3 -2
- package/dist/esm/memory/define.types.js.map +1 -1
- package/dist/esm/memory/index.d.ts +0 -10
- package/dist/esm/memory/index.js +6 -0
- package/dist/esm/memory/index.js.map +1 -1
- package/dist/esm/memory/retrieval/topK.d.ts +12 -6
- package/dist/esm/memory/retrieval/topK.js.map +1 -1
- package/dist/esm/memory/store/index.d.ts +1 -0
- package/dist/esm/memory/store/index.js +1 -0
- package/dist/esm/memory/store/index.js.map +1 -1
- package/dist/esm/memory/store/staticVectorStore.d.ts +83 -0
- package/dist/esm/memory/store/staticVectorStore.js +224 -0
- package/dist/esm/memory/store/staticVectorStore.js.map +1 -0
- package/dist/esm/memory-providers.d.ts +8 -24
- package/dist/esm/memory-providers.js +8 -24
- package/dist/esm/memory-providers.js.map +1 -1
- package/dist/esm/observability/contextError/finders/index.d.ts +4 -4
- package/dist/esm/observability-providers.d.ts +5 -5
- package/dist/esm/observability-providers.js +5 -5
- package/dist/esm/observe.d.ts +1 -0
- package/dist/esm/observe.js +11 -6
- package/dist/esm/observe.js.map +1 -1
- package/dist/esm/providers.d.ts +2 -2
- package/dist/esm/providers.js +2 -2
- package/dist/esm/rag/exportCorpus.d.ts +64 -0
- package/dist/esm/rag/exportCorpus.js +172 -0
- package/dist/esm/rag/exportCorpus.js.map +1 -0
- package/dist/esm/rag/index.d.ts +3 -1
- package/dist/esm/rag/index.js +8 -1
- package/dist/esm/rag/index.js.map +1 -1
- package/dist/esm/rag/splitters/byHeading.d.ts +39 -0
- package/dist/esm/rag/splitters/byHeading.js +133 -15
- package/dist/esm/rag/splitters/byHeading.js.map +1 -1
- package/dist/esm/rag/splitters/byParagraph.d.ts +14 -0
- package/dist/esm/rag/splitters/byParagraph.js +4 -2
- package/dist/esm/rag/splitters/byParagraph.js.map +1 -1
- package/dist/esm/rag/splitters/constants.d.ts +24 -1
- package/dist/esm/rag/splitters/constants.js +24 -1
- package/dist/esm/rag/splitters/constants.js.map +1 -1
- package/dist/esm/rag/splitters/index.d.ts +15 -1
- package/dist/esm/rag/splitters/index.js +15 -1
- package/dist/esm/rag/splitters/index.js.map +1 -1
- package/dist/esm/rag/splitters/shared.d.ts +32 -0
- package/dist/esm/rag/splitters/shared.js +77 -1
- package/dist/esm/rag/splitters/shared.js.map +1 -1
- package/dist/esm/recorders/core/ContextRecorder.js +47 -11
- package/dist/esm/recorders/core/ContextRecorder.js.map +1 -1
- package/dist/esm/recorders/core/types.d.ts +16 -18
- package/dist/esm/recorders/core/types.js.map +1 -1
- package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +24 -0
- package/dist/esm/recorders/observability/BoundaryRecorder.js +19 -6
- package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/RouteRecorder.d.ts +1 -1
- package/dist/esm/recorders/observability/RouteRecorder.js +1 -1
- package/dist/esm/recorders/observability/ToolChoiceRecorder.d.ts +1 -1
- package/dist/esm/recorders/observability/ToolChoiceRecorder.js +1 -1
- package/dist/esm/recorders/observability/embeddingSummary.d.ts +56 -0
- package/dist/esm/recorders/observability/embeddingSummary.js +114 -0
- package/dist/esm/recorders/observability/embeddingSummary.js.map +1 -0
- package/dist/esm/recorders/observability/recordRun.d.ts +16 -0
- package/dist/esm/recorders/observability/recordRun.js +17 -3
- package/dist/esm/recorders/observability/recordRun.js.map +1 -1
- package/dist/esm/reliability/index.d.ts +15 -3
- package/dist/esm/reliability/index.js +15 -3
- package/dist/esm/reliability/index.js.map +1 -1
- package/dist/esm/resilience/fallbackProvider.d.ts +1 -1
- package/dist/esm/resilience/fallbackProvider.js +1 -1
- package/dist/esm/resilience/withCircuitBreaker.d.ts +1 -1
- package/dist/esm/resilience/withCircuitBreaker.js +1 -1
- package/dist/esm/resilience/withRetry.d.ts +1 -1
- package/dist/esm/resilience/withRetry.js +1 -1
- package/dist/esm/security/PermissionPolicy.d.ts +2 -2
- package/dist/esm/security/PermissionPolicy.js +2 -2
- package/dist/esm/security/index.d.ts +3 -3
- package/dist/esm/security/index.js +3 -3
- package/dist/esm/status.d.ts +14 -24
- package/dist/esm/status.js +15 -25
- package/dist/esm/status.js.map +1 -1
- package/dist/esm/strategies/index.d.ts +9 -16
- package/dist/esm/strategies/index.js +9 -16
- package/dist/esm/strategies/index.js.map +1 -1
- package/dist/esm/strategies/registry.d.ts +1 -1
- package/dist/esm/strategies/registry.js +1 -1
- package/dist/esm/stream.d.ts +4 -4
- package/dist/esm/stream.js +4 -4
- package/dist/esm/thinking/index.d.ts +5 -5
- package/dist/esm/thinking/index.js +5 -5
- package/dist/esm/tool-providers/index.d.ts +4 -4
- package/dist/esm/tool-providers/index.js +4 -4
- package/dist/hosting-providers.js +16 -16
- package/dist/identity/types.js +1 -1
- package/dist/identity/withCredentialRetry.js +1 -1
- package/dist/identity.js +5 -5
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/injection-engine.js +4 -4
- package/dist/lib/context-ledger/gates.js +1 -1
- package/dist/lib/injection-engine/SkillRegistry.js +1 -1
- package/dist/lib/injection-engine/factories/defineSkill.js +29 -1
- package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -1
- package/dist/lib/injection-engine/skillsFromDir.js +22 -2
- package/dist/lib/injection-engine/skillsFromDir.js.map +1 -1
- package/dist/lib/mcp/gatewayTransport.js +2 -2
- package/dist/lib/rag/defineRAG.js.map +1 -1
- package/dist/lib/recorded-chat/index.js +1 -1
- package/dist/llm-providers.js +5 -19
- package/dist/llm-providers.js.map +1 -1
- package/dist/locales/index.js +6 -6
- package/dist/memory/causal/evidenceRecorder.js +1 -1
- package/dist/memory/define.types.js.map +1 -1
- package/dist/memory/index.js +6 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/retrieval/topK.js.map +1 -1
- package/dist/memory/store/index.js +6 -1
- package/dist/memory/store/index.js.map +1 -1
- package/dist/memory/store/staticVectorStore.js +230 -0
- package/dist/memory/store/staticVectorStore.js.map +1 -0
- package/dist/memory-providers.js +8 -24
- package/dist/memory-providers.js.map +1 -1
- package/dist/observability-providers.js +5 -5
- package/dist/observe.js +14 -7
- package/dist/observe.js.map +1 -1
- package/dist/providers.js +2 -2
- package/dist/rag/exportCorpus.js +177 -0
- package/dist/rag/exportCorpus.js.map +1 -0
- package/dist/rag/index.js +13 -1
- package/dist/rag/index.js.map +1 -1
- package/dist/rag/splitters/byHeading.js +132 -14
- package/dist/rag/splitters/byHeading.js.map +1 -1
- package/dist/rag/splitters/byParagraph.js +3 -1
- package/dist/rag/splitters/byParagraph.js.map +1 -1
- package/dist/rag/splitters/constants.js +25 -2
- package/dist/rag/splitters/constants.js.map +1 -1
- package/dist/rag/splitters/index.js +16 -1
- package/dist/rag/splitters/index.js.map +1 -1
- package/dist/rag/splitters/shared.js +79 -1
- package/dist/rag/splitters/shared.js.map +1 -1
- package/dist/recorders/core/ContextRecorder.js +47 -11
- package/dist/recorders/core/ContextRecorder.js.map +1 -1
- package/dist/recorders/core/types.js.map +1 -1
- package/dist/recorders/observability/BoundaryRecorder.js +19 -6
- package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/recorders/observability/RouteRecorder.js +1 -1
- package/dist/recorders/observability/ToolChoiceRecorder.js +1 -1
- package/dist/recorders/observability/embeddingSummary.js +119 -0
- package/dist/recorders/observability/embeddingSummary.js.map +1 -0
- package/dist/recorders/observability/recordRun.js +17 -3
- package/dist/recorders/observability/recordRun.js.map +1 -1
- package/dist/reliability/index.js +15 -3
- package/dist/reliability/index.js.map +1 -1
- package/dist/resilience/fallbackProvider.js +1 -1
- package/dist/resilience/withCircuitBreaker.js +1 -1
- package/dist/resilience/withRetry.js +1 -1
- package/dist/security/PermissionPolicy.js +2 -2
- package/dist/security/index.js +3 -3
- package/dist/status.js +14 -24
- package/dist/status.js.map +1 -1
- package/dist/strategies/index.js +9 -16
- package/dist/strategies/index.js.map +1 -1
- package/dist/strategies/registry.js +1 -1
- package/dist/stream.js +4 -4
- package/dist/thinking/index.js +5 -5
- package/dist/tool-providers/index.js +4 -4
- package/dist/types/adapters/hosting/agentcore.d.ts +1 -1
- package/dist/types/adapters/identity/agentcore.d.ts +1 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +1 -1
- package/dist/types/adapters/llm/MockProvider.d.ts +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +2 -2
- package/dist/types/adapters/memory/agentcore.d.ts +1 -1
- package/dist/types/adapters/memory/bedrockAgentMemory.d.ts +1 -1
- package/dist/types/adapters/memory/redis.d.ts +1 -1
- package/dist/types/adapters/observability/agentcore.d.ts +2 -2
- package/dist/types/adapters/observability/audit.d.ts +1 -1
- package/dist/types/adapters/observability/cloudwatch.d.ts +2 -2
- package/dist/types/adapters/observability/otel.d.ts +4 -4
- package/dist/types/adapters/observability/xray.d.ts +2 -2
- package/dist/types/core/agent/AgentBuilder.d.ts +17 -14
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/stages/window.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +2 -2
- package/dist/types/core/agent/watch.d.ts +1 -1
- package/dist/types/core/agent/window/index.d.ts +1 -1
- package/dist/types/core/agent/window/index.d.ts.map +1 -1
- package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -1
- package/dist/types/core/agent/window/types.d.ts +0 -30
- package/dist/types/core/agent/window/types.d.ts.map +1 -1
- package/dist/types/core/runner.d.ts +1 -1
- package/dist/types/core/slots/helpers.d.ts +3 -4
- package/dist/types/core/slots/helpers.d.ts.map +1 -1
- package/dist/types/debug/finders.d.ts +7 -10
- package/dist/types/debug/finders.d.ts.map +1 -1
- package/dist/types/debug.d.ts +4 -4
- package/dist/types/doors/context.d.ts +3 -3
- package/dist/types/embedders/index.d.ts +4 -4
- package/dist/types/events/payloads.d.ts +10 -14
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/hosting-providers.d.ts +16 -16
- package/dist/types/identity/types.d.ts +1 -1
- package/dist/types/identity/withCredentialRetry.d.ts +1 -1
- package/dist/types/identity.d.ts +5 -5
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/injection-engine.d.ts +4 -4
- package/dist/types/lib/context-ledger/gates.d.ts +1 -1
- package/dist/types/lib/injection-engine/SkillRegistry.d.ts +1 -1
- package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +1 -16
- package/dist/types/lib/injection-engine/factories/defineSkill.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillsFromDir.d.ts +1 -11
- package/dist/types/lib/injection-engine/skillsFromDir.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/types.d.ts +1 -1
- package/dist/types/lib/mcp/gatewayTransport.d.ts +2 -2
- package/dist/types/lib/rag/defineRAG.d.ts +9 -6
- package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
- package/dist/types/lib/recorded-chat/index.d.ts +1 -1
- package/dist/types/llm-providers.d.ts +5 -19
- package/dist/types/llm-providers.d.ts.map +1 -1
- package/dist/types/locales/index.d.ts +7 -7
- package/dist/types/memory/causal/evidenceRecorder.d.ts +1 -1
- package/dist/types/memory/define.types.d.ts +3 -2
- package/dist/types/memory/define.types.d.ts.map +1 -1
- package/dist/types/memory/index.d.ts +0 -10
- package/dist/types/memory/index.d.ts.map +1 -1
- package/dist/types/memory/retrieval/topK.d.ts +12 -6
- package/dist/types/memory/retrieval/topK.d.ts.map +1 -1
- package/dist/types/memory/store/index.d.ts +1 -0
- package/dist/types/memory/store/index.d.ts.map +1 -1
- package/dist/types/memory/store/staticVectorStore.d.ts +84 -0
- package/dist/types/memory/store/staticVectorStore.d.ts.map +1 -0
- package/dist/types/memory-providers.d.ts +8 -24
- package/dist/types/memory-providers.d.ts.map +1 -1
- package/dist/types/observability/contextError/finders/index.d.ts +4 -4
- package/dist/types/observability-providers.d.ts +5 -5
- package/dist/types/observe.d.ts +1 -0
- package/dist/types/observe.d.ts.map +1 -1
- package/dist/types/providers.d.ts +2 -2
- package/dist/types/rag/exportCorpus.d.ts +65 -0
- package/dist/types/rag/exportCorpus.d.ts.map +1 -0
- package/dist/types/rag/index.d.ts +3 -1
- package/dist/types/rag/index.d.ts.map +1 -1
- package/dist/types/rag/splitters/byHeading.d.ts +39 -0
- package/dist/types/rag/splitters/byHeading.d.ts.map +1 -1
- package/dist/types/rag/splitters/byParagraph.d.ts +14 -0
- package/dist/types/rag/splitters/byParagraph.d.ts.map +1 -1
- package/dist/types/rag/splitters/constants.d.ts +24 -1
- package/dist/types/rag/splitters/constants.d.ts.map +1 -1
- package/dist/types/rag/splitters/index.d.ts +15 -1
- package/dist/types/rag/splitters/index.d.ts.map +1 -1
- package/dist/types/rag/splitters/shared.d.ts +32 -0
- package/dist/types/rag/splitters/shared.d.ts.map +1 -1
- package/dist/types/recorders/core/ContextRecorder.d.ts.map +1 -1
- package/dist/types/recorders/core/types.d.ts +16 -18
- package/dist/types/recorders/core/types.d.ts.map +1 -1
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts +24 -0
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/RouteRecorder.d.ts +1 -1
- package/dist/types/recorders/observability/ToolChoiceRecorder.d.ts +1 -1
- package/dist/types/recorders/observability/embeddingSummary.d.ts +57 -0
- package/dist/types/recorders/observability/embeddingSummary.d.ts.map +1 -0
- package/dist/types/recorders/observability/recordRun.d.ts +16 -0
- package/dist/types/recorders/observability/recordRun.d.ts.map +1 -1
- package/dist/types/reliability/index.d.ts +15 -3
- package/dist/types/reliability/index.d.ts.map +1 -1
- package/dist/types/resilience/fallbackProvider.d.ts +1 -1
- package/dist/types/resilience/withCircuitBreaker.d.ts +1 -1
- package/dist/types/resilience/withRetry.d.ts +1 -1
- package/dist/types/security/PermissionPolicy.d.ts +2 -2
- package/dist/types/security/index.d.ts +3 -3
- package/dist/types/status.d.ts +14 -24
- package/dist/types/status.d.ts.map +1 -1
- package/dist/types/strategies/index.d.ts +9 -16
- package/dist/types/strategies/index.d.ts.map +1 -1
- package/dist/types/strategies/registry.d.ts +1 -1
- package/dist/types/stream.d.ts +4 -4
- package/dist/types/thinking/index.d.ts +5 -5
- package/dist/types/tool-providers/index.d.ts +4 -4
- package/package.json +1 -209
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { identityNamespace } from '../identity/index.js';
|
|
2
|
+
import { cosineSimilarity } from '../embedding/cosine.js';
|
|
3
|
+
/** The bundle format marker. Version the FORMAT, not the library. */
|
|
4
|
+
export const CORPUS_BUNDLE_FORMAT = 'agentfootprint-corpus-v1';
|
|
5
|
+
/**
|
|
6
|
+
* Validate a value as a `CorpusBundle`, teachingly. Shared by
|
|
7
|
+
* `staticVectorStore` and `importCorpus`, so a truncated file or a
|
|
8
|
+
* hand-edited bundle fails the same way at every door.
|
|
9
|
+
*/
|
|
10
|
+
export function assertCorpusBundle(bundle, caller) {
|
|
11
|
+
const b = bundle;
|
|
12
|
+
if (b === null || typeof b !== 'object') {
|
|
13
|
+
throw new Error(`${caller}: expected a corpus bundle object, received ${b === null ? 'null' : typeof b}. ` +
|
|
14
|
+
`A bundle comes from exportCorpus() — typically JSON.parse of the file it was saved to.`);
|
|
15
|
+
}
|
|
16
|
+
if (b.format !== CORPUS_BUNDLE_FORMAT) {
|
|
17
|
+
throw new Error(`${caller}: this is not a corpus bundle — \`format\` is ${JSON.stringify(b.format)}, expected '${CORPUS_BUNDLE_FORMAT}'. Bundles are produced by exportCorpus(); a raw ` +
|
|
18
|
+
`entries array or a different artifact cannot be served as one.`);
|
|
19
|
+
}
|
|
20
|
+
const dims = b.embedder?.dimensions;
|
|
21
|
+
if (typeof b.embedder?.id !== 'string' || typeof dims !== 'number' || dims < 1) {
|
|
22
|
+
throw new Error(`${caller}: the bundle does not name its embedding space — \`embedder\` must carry a ` +
|
|
23
|
+
`string \`id\` and a positive \`dimensions\`. Without them nothing can refuse a wrong ` +
|
|
24
|
+
`embedder at load, which is the silent failure this format exists to prevent.`);
|
|
25
|
+
}
|
|
26
|
+
if (typeof b.namespace !== 'string' || b.namespace.length === 0) {
|
|
27
|
+
throw new Error(`${caller}: the bundle carries no \`namespace\`. Re-export with exportCorpus().`);
|
|
28
|
+
}
|
|
29
|
+
if (!Array.isArray(b.entries)) {
|
|
30
|
+
throw new Error(`${caller}: \`entries\` must be an array. Re-export with exportCorpus().`);
|
|
31
|
+
}
|
|
32
|
+
b.entries.forEach((entry, i) => {
|
|
33
|
+
const where = `entries[${i}]${entry?.id ? ` ('${entry.id}')` : ''}`;
|
|
34
|
+
if (!entry || typeof entry.id !== 'string' || entry.id.length === 0) {
|
|
35
|
+
throw new Error(`${caller}: ${where} has no \`id\`.`);
|
|
36
|
+
}
|
|
37
|
+
if (typeof entry.text !== 'string' || entry.text.trim().length === 0) {
|
|
38
|
+
throw new Error(`${caller}: ${where} has no passage on \`text\`. A citable id with nothing to cite is ` +
|
|
39
|
+
`the blank-citation bug; a bundle never carries one.`);
|
|
40
|
+
}
|
|
41
|
+
if (!Array.isArray(entry.vector) || entry.vector.length !== dims) {
|
|
42
|
+
throw new Error(`${caller}: ${where} carries a vector of length ` +
|
|
43
|
+
`${Array.isArray(entry.vector) ? entry.vector.length : 'none'}, but the bundle's ` +
|
|
44
|
+
`embedder declares ${dims} dimensions. The bundle is corrupt or hand-edited — ` +
|
|
45
|
+
`re-export it.`);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The `MemoryEntry` a bundle entry seeds — in the exact shape the retrieval
|
|
51
|
+
* formatter reads: passage on `value.content`, provenance under
|
|
52
|
+
* `value.metadata`. Shared with `importCorpus` so a static corpus and an
|
|
53
|
+
* imported one render identically.
|
|
54
|
+
*/
|
|
55
|
+
export function bundleEntryToMemoryEntry(entry, bundle) {
|
|
56
|
+
return {
|
|
57
|
+
id: entry.id,
|
|
58
|
+
value: {
|
|
59
|
+
id: entry.id,
|
|
60
|
+
content: entry.text,
|
|
61
|
+
...(entry.metadata !== undefined && { metadata: { ...entry.metadata } }),
|
|
62
|
+
},
|
|
63
|
+
version: 1,
|
|
64
|
+
createdAt: bundle.exportedAt,
|
|
65
|
+
updatedAt: bundle.exportedAt,
|
|
66
|
+
lastAccessedAt: bundle.exportedAt,
|
|
67
|
+
accessCount: 0,
|
|
68
|
+
embedding: [...entry.vector],
|
|
69
|
+
embeddingModel: bundle.embedder.id,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const READ_ONLY_FIX = `A static corpus is a build artifact: change it by re-indexing at build time and ` +
|
|
73
|
+
`re-exporting (exportCorpus), or load the bundle into a writable store with ` +
|
|
74
|
+
`importCorpus(store, bundle). For conversation memory alongside a static corpus, ` +
|
|
75
|
+
`register a SEPARATE defineMemory with its own writable store.`;
|
|
76
|
+
function refuseWrite(method) {
|
|
77
|
+
throw new Error(`staticVectorStore.${method}: this store is read-only — accepting the write and losing ` +
|
|
78
|
+
`it with the process would be the quiet version of data loss. ${READ_ONLY_FIX}`);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Serve an exported corpus bundle as a read-only, vector-capable
|
|
82
|
+
* `MemoryStore`.
|
|
83
|
+
*
|
|
84
|
+
* @param bundle a `CorpusBundle` from `exportCorpus` (usually
|
|
85
|
+
* `JSON.parse` of the shipped file).
|
|
86
|
+
* @param embedder optional — the embedder the RUNTIME will query with (or
|
|
87
|
+
* just `{ id, dimensions }`). When given, a fingerprint
|
|
88
|
+
* mismatch is refused HERE, at load, instead of surfacing as
|
|
89
|
+
* an empty retrieval at the first question. Recommended.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```ts
|
|
93
|
+
* import { staticVectorStore } from 'agentfootprint/memory';
|
|
94
|
+
* import corpus from './corpus.json';
|
|
95
|
+
*
|
|
96
|
+
* const store = staticVectorStore(corpus, embedder);
|
|
97
|
+
* const docs = defineRAG({ id: 'docs', store, embedder });
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export function staticVectorStore(bundle, embedder) {
|
|
101
|
+
assertCorpusBundle(bundle, 'staticVectorStore');
|
|
102
|
+
if (embedder !== undefined) {
|
|
103
|
+
// The sqliteVectorStore rule, applied at load: dimensions ALWAYS decide;
|
|
104
|
+
// ids decide only when both sides named themselves.
|
|
105
|
+
if (embedder.dimensions !== bundle.embedder.dimensions) {
|
|
106
|
+
throw new Error(`staticVectorStore: this bundle was built in '${bundle.embedder.id}@` +
|
|
107
|
+
`${bundle.embedder.dimensions}' and the configured embedder produces ` +
|
|
108
|
+
`${embedder.dimensions}-dimensional vectors. Vectors of different lengths cannot ` +
|
|
109
|
+
`be compared at all. Re-export the corpus with the runtime's embedder, or ` +
|
|
110
|
+
`configure the embedder the corpus was built with.`);
|
|
111
|
+
}
|
|
112
|
+
if (embedder.id !== undefined && embedder.id !== bundle.embedder.id) {
|
|
113
|
+
throw new Error(`staticVectorStore: this bundle was built in '${bundle.embedder.id}@` +
|
|
114
|
+
`${bundle.embedder.dimensions}' and the configured embedder is '${embedder.id}'. ` +
|
|
115
|
+
`Cosine similarity between two embedding spaces is not a weak signal — it is not ` +
|
|
116
|
+
`a signal, and it comes back as a confident number in the same range as a real ` +
|
|
117
|
+
`one. Re-export the corpus with '${embedder.id}', or configure ` +
|
|
118
|
+
`'${bundle.embedder.id}'.`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const entries = new Map();
|
|
122
|
+
for (const entry of bundle.entries) {
|
|
123
|
+
entries.set(entry.id, bundleEntryToMemoryEntry(entry, bundle));
|
|
124
|
+
}
|
|
125
|
+
const namespace = bundle.namespace;
|
|
126
|
+
const inNamespace = (identity) => identityNamespace(identity) === namespace;
|
|
127
|
+
return {
|
|
128
|
+
// Vectors in, ranked vectors out — the cosine scan below ranks the
|
|
129
|
+
// embeddings the bundle carries. Declared, so corpus builders can tell
|
|
130
|
+
// this apart from a server-side store (and refuse to INDEX into it —
|
|
131
|
+
// which they will anyway, at the first write).
|
|
132
|
+
supportsVectorSearch: true,
|
|
133
|
+
async get(identity, id) {
|
|
134
|
+
if (!inNamespace(identity))
|
|
135
|
+
return null;
|
|
136
|
+
// No access-count bump: the store is read-only, decay signals frozen
|
|
137
|
+
// at export.
|
|
138
|
+
return entries.get(id) ?? null;
|
|
139
|
+
},
|
|
140
|
+
async put() {
|
|
141
|
+
refuseWrite('put');
|
|
142
|
+
},
|
|
143
|
+
async putMany() {
|
|
144
|
+
refuseWrite('putMany');
|
|
145
|
+
},
|
|
146
|
+
async putIfVersion() {
|
|
147
|
+
refuseWrite('putIfVersion');
|
|
148
|
+
},
|
|
149
|
+
async delete() {
|
|
150
|
+
refuseWrite('delete');
|
|
151
|
+
},
|
|
152
|
+
async forget() {
|
|
153
|
+
refuseWrite('forget');
|
|
154
|
+
},
|
|
155
|
+
async recordSignature() {
|
|
156
|
+
refuseWrite('recordSignature');
|
|
157
|
+
},
|
|
158
|
+
async feedback() {
|
|
159
|
+
refuseWrite('feedback');
|
|
160
|
+
},
|
|
161
|
+
async list(identity, options) {
|
|
162
|
+
if (!inNamespace(identity))
|
|
163
|
+
return { entries: [] };
|
|
164
|
+
const limit = Math.max(1, Math.min(options?.limit ?? 100, 1000));
|
|
165
|
+
const all = [...entries.values()];
|
|
166
|
+
const offset = options?.cursor ? parseInt(options.cursor, 10) : 0;
|
|
167
|
+
const safeOffset = Number.isFinite(offset) && offset >= 0 ? offset : 0;
|
|
168
|
+
const page = all.slice(safeOffset, safeOffset + limit);
|
|
169
|
+
const next = safeOffset + page.length;
|
|
170
|
+
return {
|
|
171
|
+
entries: page,
|
|
172
|
+
...(next < all.length && { cursor: String(next) }),
|
|
173
|
+
};
|
|
174
|
+
},
|
|
175
|
+
async seen() {
|
|
176
|
+
return false; // no signature set was exported; recognition is a write-side concern
|
|
177
|
+
},
|
|
178
|
+
async getFeedback() {
|
|
179
|
+
return null;
|
|
180
|
+
},
|
|
181
|
+
async search(identity, query, options) {
|
|
182
|
+
// A wrong-space query is refused BY NAME rather than ranked to an empty
|
|
183
|
+
// page — the loud version of the mismatch machinery, because on a
|
|
184
|
+
// static corpus "no results" reads as "the corpus has nothing to say".
|
|
185
|
+
if (query.length !== bundle.embedder.dimensions) {
|
|
186
|
+
throw new Error(`staticVectorStore.search: the query vector has ${query.length} dimensions, but ` +
|
|
187
|
+
`this bundle was built in '${bundle.embedder.id}@${bundle.embedder.dimensions}'. ` +
|
|
188
|
+
`The query was embedded with a different embedder than the corpus. Configure the ` +
|
|
189
|
+
`embedder the corpus was built with, or re-export the corpus.`);
|
|
190
|
+
}
|
|
191
|
+
if (options?.embedderId !== undefined && options.embedderId !== bundle.embedder.id) {
|
|
192
|
+
throw new Error(`staticVectorStore.search: the retriever declares embedderId '${options.embedderId}' ` +
|
|
193
|
+
`but this bundle was built in '${bundle.embedder.id}@` +
|
|
194
|
+
`${bundle.embedder.dimensions}'. Silently skipping every entry would look like an ` +
|
|
195
|
+
`empty corpus. Align the retriever's \`embedderId\` with the bundle, or re-export ` +
|
|
196
|
+
`the corpus with the new embedder.`);
|
|
197
|
+
}
|
|
198
|
+
if (!inNamespace(identity))
|
|
199
|
+
return [];
|
|
200
|
+
const k = options?.k ?? 10;
|
|
201
|
+
const tierFilter = options?.tiers ? new Set(options.tiers) : undefined;
|
|
202
|
+
const minScore = options?.minScore;
|
|
203
|
+
const scored = [];
|
|
204
|
+
for (const entry of entries.values()) {
|
|
205
|
+
if (tierFilter && (!entry.tier || !tierFilter.has(entry.tier)))
|
|
206
|
+
continue;
|
|
207
|
+
const emb = entry.embedding;
|
|
208
|
+
if (!emb || emb.length !== query.length)
|
|
209
|
+
continue;
|
|
210
|
+
const score = cosineSimilarity(emb, query);
|
|
211
|
+
if (minScore !== undefined && score < minScore)
|
|
212
|
+
continue;
|
|
213
|
+
scored.push({ entry: entry, score });
|
|
214
|
+
}
|
|
215
|
+
scored.sort((a, b) => {
|
|
216
|
+
if (b.score !== a.score)
|
|
217
|
+
return b.score - a.score;
|
|
218
|
+
return a.entry.id < b.entry.id ? -1 : a.entry.id > b.entry.id ? 1 : 0;
|
|
219
|
+
});
|
|
220
|
+
return scored.slice(0, k);
|
|
221
|
+
},
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=staticVectorStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staticVectorStore.js","sourceRoot":"","sources":["../../../../src/memory/store/staticVectorStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* memory-providers — memory store adapters.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* agentfootprint/llm-providers ← LLM provider adapters
|
|
8
|
-
* agentfootprint/tool-providers ← tool dispatch + tool sources
|
|
9
|
-
* agentfootprint/memory-providers ← memory store adapters (this file)
|
|
10
|
-
* agentfootprint/security ← cross-cutting authorization
|
|
11
|
-
*
|
|
12
|
-
* One subpath that grows — RedisStore, AgentCoreStore, and future
|
|
13
|
-
* stores (DynamoDB, Postgres, Pinecone, …) all live here. No more
|
|
14
|
-
* adding `agentfootprint/memory-<vendor>` per-adapter subpath each
|
|
15
|
-
* time a new store ships.
|
|
16
|
-
*
|
|
17
|
-
* Per-adapter aliases (`agentfootprint/memory-redis`,
|
|
18
|
-
* `agentfootprint/memory-agentcore`) stay available through the v2.x
|
|
19
|
-
* line — they point at the same files. New code SHOULD import from
|
|
20
|
-
* `agentfootprint/memory-providers`:
|
|
21
|
-
*
|
|
22
|
-
* import { RedisStore, AgentCoreStore } from 'agentfootprint/memory-providers';
|
|
4
|
+
* RedisStore, AgentCoreStore, and future stores (DynamoDB, Postgres,
|
|
5
|
+
* Pinecone, …) all live here — a new store adds an export, never a new
|
|
6
|
+
* import path.
|
|
23
7
|
*
|
|
24
8
|
* Pattern: Adapter (GoF) — each store translates the `MemoryStore`
|
|
25
9
|
* interface onto a specific backend (Redis, DynamoDB-style
|
|
@@ -30,11 +14,11 @@
|
|
|
30
14
|
* actually instantiate pull their SDK in.
|
|
31
15
|
*
|
|
32
16
|
* @example
|
|
33
|
-
* import { RedisStore, AgentCoreStore } from 'agentfootprint/memory
|
|
17
|
+
* import { RedisStore, AgentCoreStore } from 'agentfootprint/memory';
|
|
34
18
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
19
|
+
* Not an import path of its own since 9.0.0. This is the implementation barrel
|
|
20
|
+
* behind `agentfootprint/memory`, which re-exports every name here — same
|
|
21
|
+
* symbols, one door. Import from the door.
|
|
38
22
|
*/
|
|
39
23
|
export { RedisStore, type RedisStoreOptions, type RedisLikeClient, type RedisLikePipeline, } from './adapters/memory/redis.js';
|
|
40
24
|
export { AgentCoreStore, UnreadableMemoryEntryError, type AgentCoreStoreOptions, type AgentCoreLikeClient, type AgentCoreEvent, type AgentCoreMemoryRecord, } from './adapters/memory/agentcore.js';
|
|
@@ -1,25 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* memory-providers — memory store adapters.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* agentfootprint/llm-providers ← LLM provider adapters
|
|
8
|
-
* agentfootprint/tool-providers ← tool dispatch + tool sources
|
|
9
|
-
* agentfootprint/memory-providers ← memory store adapters (this file)
|
|
10
|
-
* agentfootprint/security ← cross-cutting authorization
|
|
11
|
-
*
|
|
12
|
-
* One subpath that grows — RedisStore, AgentCoreStore, and future
|
|
13
|
-
* stores (DynamoDB, Postgres, Pinecone, …) all live here. No more
|
|
14
|
-
* adding `agentfootprint/memory-<vendor>` per-adapter subpath each
|
|
15
|
-
* time a new store ships.
|
|
16
|
-
*
|
|
17
|
-
* Per-adapter aliases (`agentfootprint/memory-redis`,
|
|
18
|
-
* `agentfootprint/memory-agentcore`) stay available through the v2.x
|
|
19
|
-
* line — they point at the same files. New code SHOULD import from
|
|
20
|
-
* `agentfootprint/memory-providers`:
|
|
21
|
-
*
|
|
22
|
-
* import { RedisStore, AgentCoreStore } from 'agentfootprint/memory-providers';
|
|
4
|
+
* RedisStore, AgentCoreStore, and future stores (DynamoDB, Postgres,
|
|
5
|
+
* Pinecone, …) all live here — a new store adds an export, never a new
|
|
6
|
+
* import path.
|
|
23
7
|
*
|
|
24
8
|
* Pattern: Adapter (GoF) — each store translates the `MemoryStore`
|
|
25
9
|
* interface onto a specific backend (Redis, DynamoDB-style
|
|
@@ -30,11 +14,11 @@
|
|
|
30
14
|
* actually instantiate pull their SDK in.
|
|
31
15
|
*
|
|
32
16
|
* @example
|
|
33
|
-
* import { RedisStore, AgentCoreStore } from 'agentfootprint/memory
|
|
17
|
+
* import { RedisStore, AgentCoreStore } from 'agentfootprint/memory';
|
|
34
18
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
19
|
+
* Not an import path of its own since 9.0.0. This is the implementation barrel
|
|
20
|
+
* behind `agentfootprint/memory`, which re-exports every name here — same
|
|
21
|
+
* symbols, one door. Import from the door.
|
|
38
22
|
*/
|
|
39
23
|
// Lazy-required peer-dep stores. Both adapters defer their vendor SDK
|
|
40
24
|
// `require()` to constructor time; importing this barrel doesn't load
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-providers.js","sourceRoot":"","sources":["../../src/memory-providers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"memory-providers.js","sourceRoot":"","sources":["../../src/memory-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,sEAAsE;AACtE,wDAAwD;AACxD,OAAO,EACL,UAAU,GAIX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,cAAc,EACd,0BAA0B,GAK3B,MAAM,gCAAgC,CAAC;AAExC,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,mDAAmD;AACnD,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,GAMtB,MAAM,mCAAmC,CAAC;AAE3C,6EAA6E;AAC7E,8EAA8E;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,8EAA8E;AAC9E,yEAAyE;AACzE,OAAO,EACL,kBAAkB,GAInB,MAAM,yCAAyC,CAAC"}
|
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
* `src/lib/context-bisect` + `src/lib/influence-core`; the academic method + citation
|
|
7
7
|
* live in `meta`, never in the import name.
|
|
8
8
|
*
|
|
9
|
-
* import { rankSuspects } from 'agentfootprint/
|
|
9
|
+
* import { rankSuspects } from 'agentfootprint/observe';
|
|
10
10
|
* const r = await rankSuspects.find(input); // r.lead, r.evidence ('guessed'|'proven')
|
|
11
11
|
*
|
|
12
12
|
* Tree-shakeable: one finder = one file = one named export. Importing one finder does
|
|
13
13
|
* not pull the others (or the heavy ablation path behind removeAndRetry). This barrel
|
|
14
14
|
* is re-export-only — no runtime code, no registry.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* Not an import path of its own since 9.0.0. This is the implementation barrel
|
|
17
|
+
* behind `agentfootprint/observe`, which re-exports every name here — same
|
|
18
|
+
* symbols, one door. Import from the door.
|
|
19
19
|
*/
|
|
20
20
|
export type { ContextPiece, Evidence, Finder, FinderMeta, FindInput, FindResult, Granularity, ScoredSuspect, StepInput, } from './types.js';
|
|
21
21
|
export { rankSuspects } from './rankSuspects.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* observability-providers — vendor observability strategies.
|
|
3
3
|
*
|
|
4
4
|
* Grouped subpath following the parallel-providers pattern v2.5
|
|
5
5
|
* established for `llm-providers` / `tool-providers` /
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* ```ts
|
|
16
|
-
* import { agentcoreObservability } from 'agentfootprint/
|
|
16
|
+
* import { agentcoreObservability } from 'agentfootprint/observe';
|
|
17
17
|
* import { microtaskBatchDriver } from 'footprintjs/detach';
|
|
18
18
|
*
|
|
19
19
|
* agent.enable.observability({
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
* dedicated `dd-trace`-based adapter only if real-world feedback
|
|
39
39
|
* demands the native Datadog APM client.
|
|
40
40
|
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* Not an import path of its own since 9.0.0. This is the implementation barrel
|
|
42
|
+
* behind `agentfootprint/observe`, which re-exports every name here — same
|
|
43
|
+
* symbols, one door. Import from the door.
|
|
44
44
|
*/
|
|
45
45
|
export { agentcoreObservability, type AgentcoreObservabilityOptions, } from './adapters/observability/agentcore.js';
|
|
46
46
|
export { cloudwatchObservability, type CloudwatchObservabilityOptions, } from './adapters/observability/cloudwatch.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* observability-providers — vendor observability strategies.
|
|
3
3
|
*
|
|
4
4
|
* Grouped subpath following the parallel-providers pattern v2.5
|
|
5
5
|
* established for `llm-providers` / `tool-providers` /
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* ```ts
|
|
16
|
-
* import { agentcoreObservability } from 'agentfootprint/
|
|
16
|
+
* import { agentcoreObservability } from 'agentfootprint/observe';
|
|
17
17
|
* import { microtaskBatchDriver } from 'footprintjs/detach';
|
|
18
18
|
*
|
|
19
19
|
* agent.enable.observability({
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
* dedicated `dd-trace`-based adapter only if real-world feedback
|
|
39
39
|
* demands the native Datadog APM client.
|
|
40
40
|
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* Not an import path of its own since 9.0.0. This is the implementation barrel
|
|
42
|
+
* behind `agentfootprint/observe`, which re-exports every name here — same
|
|
43
|
+
* symbols, one door. Import from the door.
|
|
44
44
|
*/
|
|
45
45
|
export { agentcoreObservability, } from './adapters/observability/agentcore.js';
|
|
46
46
|
export { cloudwatchObservability, } from './adapters/observability/cloudwatch.js';
|
package/dist/esm/observe.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export { boundaryRecorder, BoundaryRecorder, type ActorArrow, type BoundaryAggre
|
|
|
39
39
|
export { buildRunSteps, RunStepRecorder, runStepRecorder, type BuildRunStepsOptions, type RunStep, type RunStepGraph, type RunStepKind, type RunStepMeta, type RunStepRecorderOptions, type RunStepTransition, } from './recorders/observability/RunStepRecorder.js';
|
|
40
40
|
export { attachFlowchart, buildStepGraph, buildStepGraphFromEvents, type StepGraph, type StepNode, type StepEdge, type SlotBoundary, type ContextInjection, type FlowchartOptions, type FlowchartHandle, } from './recorders/observability/FlowchartRecorder.js';
|
|
41
41
|
export { recordRun, type Recording, type RecordRunOptions, type RunRecorder, } from './recorders/observability/recordRun.js';
|
|
42
|
+
export { summarizeEmbeddings, summarizeVector, type EmbeddingSummary, } from './recorders/observability/embeddingSummary.js';
|
|
42
43
|
export { serializeTrace, redactContent, traceToStepGraph, type Trace, type TraceSummary, type TraceRedaction, type SerializeTraceOptions, } from './recorders/observability/trace.js';
|
|
43
44
|
export { attachLocalObservability, type LocalObservabilityHandle, type LocalObservabilityOptions, } from './recorders/observability/localObservability.js';
|
|
44
45
|
export { liveStateRecorder, LiveStateRecorder, LiveLLMTracker, LiveToolTracker, LiveAgentTurnTracker, type LLMLiveState, type ToolLiveState, type AgentTurnLiveState, type LiveStateRunnerLike, } from './recorders/observability/LiveStateRecorder.js';
|
package/dist/esm/observe.js
CHANGED
|
@@ -45,6 +45,11 @@ export { attachFlowchart, buildStepGraph, buildStepGraphFromEvents, } from './re
|
|
|
45
45
|
// which is the shape the UIs consume (lens's `observeRecording`) and the one
|
|
46
46
|
// every integration used to assemble by hand, each missing a different piece.
|
|
47
47
|
export { recordRun, } from './recorders/observability/recordRun.js';
|
|
48
|
+
// What a recording keeps of a vector: `{ dims, norm }`, not the bytes (8.20.0).
|
|
49
|
+
// Applied by BoundaryRecorder and recordRun unless `recordEmbeddings: true`;
|
|
50
|
+
// exported so consumers that render or post-process recordings can apply or
|
|
51
|
+
// recognise the same projection.
|
|
52
|
+
export { summarizeEmbeddings, summarizeVector, } from './recorders/observability/embeddingSummary.js';
|
|
48
53
|
// Offline replay: freeze a live run model into a UI-free, JSON-lossless Trace
|
|
49
54
|
// (redaction applied at the serialize boundary). agentfootprint-lens's <Replay>
|
|
50
55
|
// rehydrates it. See docs/design/local-observability-and-pii.md.
|
|
@@ -78,12 +83,12 @@ export { toolLineageRecorder, } from './recorders/observability/ToolLineageRecor
|
|
|
78
83
|
export { agentThinkingTrace, } from './recorders/observability/AgentThinkingTraceRecorder.js';
|
|
79
84
|
// Emit primitive — used by every Tier-3 source-domain.
|
|
80
85
|
export { typedEmit } from './recorders/core/typedEmit.js';
|
|
81
|
-
// ──
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
//
|
|
85
|
-
//
|
|
86
|
-
//
|
|
86
|
+
// ── Diagnosis tools ────────────────────────────────────────────
|
|
87
|
+
// influence-core, trace-toolpack, context-bisect and tool-lint live in
|
|
88
|
+
// `src/debug.ts`. 8.0.0 folded their import path INTO this one, and 9.0.0
|
|
89
|
+
// removed the separate `agentfootprint/debug` subpath, so this re-export is
|
|
90
|
+
// how they reach the door. Watching a healthy run and performing the autopsy
|
|
91
|
+
// on a broken one come through the same door on purpose.
|
|
87
92
|
export * from './debug.js';
|
|
88
93
|
// Tool-choice margin recorder (RFC-002 tier 2, C4–C6) — per LLM call,
|
|
89
94
|
// ranks the OFFERED catalog against the choice context (user message +
|
package/dist/esm/observe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAA+B,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAEhG,+BAA+B;AAC/B,OAAO,EACL,mBAAmB,GAEpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAkBjB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,GAQhB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,eAAe,EACf,cAAc,EACd,wBAAwB,GAQzB,MAAM,gDAAgD,CAAC;AAExD,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,OAAO,EACL,SAAS,GAIV,MAAM,wCAAwC,CAAC;AAEhD,8EAA8E;AAC9E,gFAAgF;AAChF,iEAAiE;AACjE,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,GAKjB,MAAM,oCAAoC,CAAC;AAE5C,mEAAmE;AACnE,4EAA4E;AAC5E,mDAAmD;AACnD,OAAO,EACL,wBAAwB,GAGzB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,oBAAoB,GAKrB,MAAM,gDAAgD,CAAC;AAExD,6BAA6B;AAC7B,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EACL,wBAAwB,GAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAA8B,MAAM,oCAAoC,CAAC;AAChG,OAAO,EACL,iBAAiB,GAElB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,kBAAkB,GAEnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAA6B,MAAM,mCAAmC,CAAC;AAC7F,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AACxE,oDAAoD;AACpD,OAAO,EACL,kBAAkB,GAEnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,aAAa,EACb,cAAc,GAIf,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,YAAY,GAGb,MAAM,6CAA6C,CAAC;AACrD,4EAA4E;AAC5E,gFAAgF;AAChF,OAAO,EACL,mBAAmB,GAMpB,MAAM,kDAAkD,CAAC;AAC1D,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EACL,kBAAkB,GAQnB,MAAM,yDAAyD,CAAC;AAEjE,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,kEAAkE;AAClE,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/providers.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* LLM provider adapters — implementation behind the `agentfootprint/
|
|
2
|
+
* LLM provider adapters — implementation behind the `agentfootprint/providers`
|
|
3
3
|
* subpath (which re-exports this file).
|
|
4
4
|
*
|
|
5
5
|
* The standalone `agentfootprint/providers` subpath alias was removed in 4.0.0.
|
|
6
6
|
* Import from the canonical subpath:
|
|
7
7
|
*
|
|
8
|
-
* import { mock, anthropic, openai } from 'agentfootprint/
|
|
8
|
+
* import { mock, anthropic, openai } from 'agentfootprint/providers';
|
|
9
9
|
*
|
|
10
10
|
* Pattern: Adapter (GoF) — concrete `LLMProvider` implementations that
|
|
11
11
|
* translate the agentfootprint port to a specific vendor SDK.
|
package/dist/esm/providers.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* LLM provider adapters — implementation behind the `agentfootprint/
|
|
2
|
+
* LLM provider adapters — implementation behind the `agentfootprint/providers`
|
|
3
3
|
* subpath (which re-exports this file).
|
|
4
4
|
*
|
|
5
5
|
* The standalone `agentfootprint/providers` subpath alias was removed in 4.0.0.
|
|
6
6
|
* Import from the canonical subpath:
|
|
7
7
|
*
|
|
8
|
-
* import { mock, anthropic, openai } from 'agentfootprint/
|
|
8
|
+
* import { mock, anthropic, openai } from 'agentfootprint/providers';
|
|
9
9
|
*
|
|
10
10
|
* Pattern: Adapter (GoF) — concrete `LLMProvider` implementations that
|
|
11
11
|
* translate the agentfootprint port to a specific vendor SDK.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* exportCorpus / importCorpus — a corpus as a build artifact.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: projection (store → plain-JSON bundle) and its inverse.
|
|
5
|
+
* Role: rag/ layer — the build-time half of the story whose runtime half
|
|
6
|
+
* is `staticVectorStore` (`agentfootprint/memory`). Index where the
|
|
7
|
+
* credentials and the durable disk live; ship the bundle with the
|
|
8
|
+
* deploy; serve it read-only where the process runs.
|
|
9
|
+
* Emits: N/A — build-step helpers, not run-time stages.
|
|
10
|
+
*
|
|
11
|
+
* ── The deployment shape this exists for ────────────────────────────────────
|
|
12
|
+
* An immutable or serverless runtime loses its disk between invocations and
|
|
13
|
+
* often holds no embedding-API credentials — while the build machine has
|
|
14
|
+
* both. So the corpus becomes an artifact of the BUILD:
|
|
15
|
+
*
|
|
16
|
+
* // build step (cron, CI, deploy hook) — credentials live here
|
|
17
|
+
* const report = await indexFolder('./docs', { to: store, embedder });
|
|
18
|
+
* writeFileSync('corpus.json', JSON.stringify(await exportCorpus(store)));
|
|
19
|
+
*
|
|
20
|
+
* // runtime — no disk, no embedding writes, no drift
|
|
21
|
+
* const store = staticVectorStore(JSON.parse(readFileSync('corpus.json', 'utf8')), embedder);
|
|
22
|
+
* const docs = defineRAG({ id: 'docs', store, embedder });
|
|
23
|
+
*
|
|
24
|
+
* The bundle records the embedder id and dimensions it was built with, so the
|
|
25
|
+
* runtime can REFUSE a mismatched embedder at load instead of discovering it
|
|
26
|
+
* as an empty retrieval — the same fingerprint discipline the durable store
|
|
27
|
+
* enforces per write.
|
|
28
|
+
*
|
|
29
|
+
* `importCorpus` is the inverse for a WRITABLE store: load a bundle into
|
|
30
|
+
* InMemoryStore at boot, or into sqliteVectorStore to migrate a corpus
|
|
31
|
+
* between machines without re-embedding (and re-billing) anything.
|
|
32
|
+
*/
|
|
33
|
+
import type { MemoryStore } from '../memory/store/index.js';
|
|
34
|
+
import type { MemoryIdentity } from '../memory/identity/index.js';
|
|
35
|
+
import { type CorpusBundle } from '../memory/store/staticVectorStore.js';
|
|
36
|
+
/**
|
|
37
|
+
* Export every entry of a corpus namespace as a plain-JSON bundle.
|
|
38
|
+
*
|
|
39
|
+
* @param store the store the corpus was indexed into. Any `MemoryStore`
|
|
40
|
+
* that can `list` — the reference stores and the durable one
|
|
41
|
+
* all can.
|
|
42
|
+
* @param identity the namespace to export. Defaults to the same
|
|
43
|
+
* `{ conversationId: '_global' }` that `indexCorpus`,
|
|
44
|
+
* `indexFolder`, `indexDocuments` and `defineRAG` default to,
|
|
45
|
+
* so the plain path needs no argument anywhere.
|
|
46
|
+
*
|
|
47
|
+
* @throws when the namespace is empty (almost always an identity mismatch,
|
|
48
|
+
* named as such), when an entry carries no vector or no passage (a
|
|
49
|
+
* bundle never ships an unservable entry), or when the namespace
|
|
50
|
+
* mixes embedding spaces (two spaces in one bundle could never be
|
|
51
|
+
* served by one embedder).
|
|
52
|
+
*/
|
|
53
|
+
export declare function exportCorpus(store: MemoryStore, identity?: MemoryIdentity): Promise<CorpusBundle>;
|
|
54
|
+
/**
|
|
55
|
+
* Load a bundle into a WRITABLE vector-capable store — the inverse of
|
|
56
|
+
* `exportCorpus`. Use it to seed an `InMemoryStore` at boot from a shipped
|
|
57
|
+
* bundle, or to migrate a corpus between machines without re-embedding.
|
|
58
|
+
*
|
|
59
|
+
* Entries are written in the same formatter-ready shape `staticVectorStore`
|
|
60
|
+
* serves, so the two paths render identically.
|
|
61
|
+
*
|
|
62
|
+
* @returns the number of entries written.
|
|
63
|
+
*/
|
|
64
|
+
export declare function importCorpus(store: MemoryStore, bundle: CorpusBundle, identity?: MemoryIdentity): Promise<number>;
|