agentfootprint 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +80 -0
- package/CLAUDE.md +80 -0
- package/README.md +51 -1
- package/README.proposed.md +258 -0
- package/ai-instructions/claude-code/SKILL.md +56 -5
- package/ai-instructions/clinerules +44 -5
- package/ai-instructions/copilot-instructions.md +44 -5
- package/ai-instructions/cursor/agentfootprint.md +44 -5
- package/ai-instructions/kiro/agentfootprint.md +44 -5
- package/ai-instructions/windsurfrules +44 -5
- package/dist/adapters/llm/AnthropicProvider.js +0 -31
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BedrockProvider.js +2 -28
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserAnthropicProvider.js +1 -31
- package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js +1 -11
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/MockProvider.js +35 -1
- package/dist/adapters/llm/MockProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +3 -29
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/adapters/memory/agentcore.js +305 -0
- package/dist/adapters/memory/agentcore.js.map +1 -0
- package/dist/adapters/memory/redis.js +287 -0
- package/dist/adapters/memory/redis.js.map +1 -0
- package/dist/core/Agent.js +11 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.js +0 -31
- package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.js +2 -28
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +1 -31
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +1 -11
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/MockProvider.js +35 -1
- package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.js +3 -29
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/memory/agentcore.js +301 -0
- package/dist/esm/adapters/memory/agentcore.js.map +1 -0
- package/dist/esm/adapters/memory/redis.js +283 -0
- package/dist/esm/adapters/memory/redis.js.map +1 -0
- package/dist/esm/core/Agent.js +11 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/index.js +0 -54
- package/dist/esm/lib/injection-engine/index.js.map +1 -1
- package/dist/esm/lib/mcp/index.js +9 -0
- package/dist/esm/lib/mcp/index.js.map +1 -0
- package/dist/esm/lib/mcp/mcpClient.js +176 -0
- package/dist/esm/lib/mcp/mcpClient.js.map +1 -0
- package/dist/esm/lib/mcp/mockMcpClient.js +97 -0
- package/dist/esm/lib/mcp/mockMcpClient.js.map +1 -0
- package/dist/esm/lib/mcp/types.js +24 -0
- package/dist/esm/lib/mcp/types.js.map +1 -0
- package/dist/esm/lib/rag/defineRAG.js +0 -18
- package/dist/esm/lib/rag/defineRAG.js.map +1 -1
- package/dist/esm/lib/rag/indexDocuments.js +39 -4
- package/dist/esm/lib/rag/indexDocuments.js.map +1 -1
- package/dist/esm/memory/causal/loadSnapshot.js +1 -1
- package/dist/esm/memory/define.js +0 -14
- package/dist/esm/memory/define.js.map +1 -1
- package/dist/esm/memory/define.types.js +0 -10
- package/dist/esm/memory/define.types.js.map +1 -1
- package/dist/esm/resilience/index.js +0 -44
- package/dist/esm/resilience/index.js.map +1 -1
- package/dist/esm/stream.js +0 -29
- package/dist/esm/stream.js.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/instructions.js +21 -0
- package/dist/instructions.js.map +1 -0
- package/dist/lib/injection-engine/index.js +0 -54
- package/dist/lib/injection-engine/index.js.map +1 -1
- package/dist/lib/instructions/defineInstruction.js +35 -0
- package/dist/lib/instructions/defineInstruction.js.map +1 -0
- package/dist/lib/instructions/evaluator.js +38 -0
- package/dist/lib/instructions/evaluator.js.map +1 -0
- package/dist/lib/instructions/index.js +48 -0
- package/dist/lib/instructions/index.js.map +1 -0
- package/dist/lib/instructions/types.js +22 -0
- package/dist/lib/instructions/types.js.map +1 -0
- package/dist/lib/mcp/index.js +14 -0
- package/dist/lib/mcp/index.js.map +1 -0
- package/dist/lib/mcp/mcpClient.js +180 -0
- package/dist/lib/mcp/mcpClient.js.map +1 -0
- package/dist/lib/mcp/mockMcpClient.js +101 -0
- package/dist/lib/mcp/mockMcpClient.js.map +1 -0
- package/dist/lib/mcp/types.js +25 -0
- package/dist/lib/mcp/types.js.map +1 -0
- package/dist/lib/rag/defineRAG.js +0 -18
- package/dist/lib/rag/defineRAG.js.map +1 -1
- package/dist/lib/rag/indexDocuments.js +39 -4
- package/dist/lib/rag/indexDocuments.js.map +1 -1
- package/dist/memory/causal/loadSnapshot.js +1 -1
- package/dist/memory/conversationHelpers.js +39 -0
- package/dist/memory/conversationHelpers.js.map +1 -0
- package/dist/memory/define.js +0 -14
- package/dist/memory/define.js.map +1 -1
- package/dist/memory/define.types.js +0 -10
- package/dist/memory/define.types.js.map +1 -1
- package/dist/resilience/index.js +0 -44
- package/dist/resilience/index.js.map +1 -1
- package/dist/stream.js +0 -29
- package/dist/stream.js.map +1 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts +0 -31
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts +2 -28
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +1 -31
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +1 -11
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/MockProvider.d.ts +45 -0
- package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +3 -29
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/memory/agentcore.d.ts +157 -0
- package/dist/types/adapters/memory/agentcore.d.ts.map +1 -0
- package/dist/types/adapters/memory/redis.d.ts +126 -0
- package/dist/types/adapters/memory/redis.d.ts.map +1 -0
- package/dist/types/core/Agent.d.ts +7 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/instructions.d.ts +5 -0
- package/dist/types/instructions.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/index.d.ts +0 -54
- package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
- package/dist/types/lib/instructions/defineInstruction.d.ts +22 -0
- package/dist/types/lib/instructions/defineInstruction.d.ts.map +1 -0
- package/dist/types/lib/instructions/evaluator.d.ts +11 -0
- package/dist/types/lib/instructions/evaluator.d.ts.map +1 -0
- package/dist/types/lib/instructions/index.d.ts +44 -0
- package/dist/types/lib/instructions/index.d.ts.map +1 -0
- package/dist/types/lib/instructions/types.d.ts +100 -0
- package/dist/types/lib/instructions/types.d.ts.map +1 -0
- package/dist/types/lib/mcp/index.d.ts +10 -0
- package/dist/types/lib/mcp/index.d.ts.map +1 -0
- package/dist/types/lib/mcp/mcpClient.d.ts +47 -0
- package/dist/types/lib/mcp/mcpClient.d.ts.map +1 -0
- package/dist/types/lib/mcp/mockMcpClient.d.ts +66 -0
- package/dist/types/lib/mcp/mockMcpClient.d.ts.map +1 -0
- package/dist/types/lib/mcp/types.d.ts +134 -0
- package/dist/types/lib/mcp/types.d.ts.map +1 -0
- package/dist/types/lib/rag/defineRAG.d.ts +18 -21
- package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
- package/dist/types/lib/rag/indexDocuments.d.ts +30 -1
- package/dist/types/lib/rag/indexDocuments.d.ts.map +1 -1
- package/dist/types/memory/causal/loadSnapshot.d.ts +1 -1
- package/dist/types/memory/conversationHelpers.d.ts +19 -0
- package/dist/types/memory/conversationHelpers.d.ts.map +1 -0
- package/dist/types/memory/define.d.ts +0 -14
- package/dist/types/memory/define.d.ts.map +1 -1
- package/dist/types/memory/define.types.d.ts +2 -12
- package/dist/types/memory/define.types.d.ts.map +1 -1
- package/dist/types/resilience/index.d.ts +0 -44
- package/dist/types/resilience/index.d.ts.map +1 -1
- package/dist/types/stream.d.ts +0 -29
- package/dist/types/stream.d.ts.map +1 -1
- package/package.json +20 -1
|
@@ -32,16 +32,6 @@
|
|
|
32
32
|
* `agentfootprint.context.injected` event with `source: 'memory'`
|
|
33
33
|
* when its read subflow places content into the messages slot.
|
|
34
34
|
*
|
|
35
|
-
* 8-panel review (2026-04-28):
|
|
36
|
-
* - LLM Systems ✅ asRole knob added so memories can land as user/system/assistant
|
|
37
|
-
* - Architect ✅ per-id scope keys (`memoryInjection_${id}`) — multi-memory layering safe
|
|
38
|
-
* - API Designer ✅ ONE factory for all four types incl. Causal (no separate `snapshotMemory`)
|
|
39
|
-
* - Performance ✅ default `MEMORY_TIMING.TURN_START` (was per-iteration — perf trap)
|
|
40
|
-
* - Privacy ✅ `redact?` API hook reserved
|
|
41
|
-
* - ML / IR ✅ causal snapshots tagged with original query for retrieval embedding
|
|
42
|
-
* - SoftEng ✅ discriminated union with `kind` discriminator → full TS narrowing
|
|
43
|
-
* - TS Engineer ✅ generic over `MemoryEntry<T>` payload preserves type-safety
|
|
44
|
-
*
|
|
45
35
|
* @see ./define.ts for the `defineMemory()` factory itself
|
|
46
36
|
* @see ../../docs-site for guides + the 7 strategy examples
|
|
47
37
|
* @see MEMORY.md for the load-bearing design memory
|
|
@@ -193,8 +183,8 @@ export type Strategy = WindowStrategy | BudgetStrategy | SummarizeStrategy | Top
|
|
|
193
183
|
/**
|
|
194
184
|
* Reserved API surface for content redaction before memory writes.
|
|
195
185
|
* Impl is deferred; the field exists now so adding redaction later
|
|
196
|
-
* is non-breaking.
|
|
197
|
-
*
|
|
186
|
+
* is non-breaking. Snapshot/episodic writes may carry PII — this is
|
|
187
|
+
* the integration point.
|
|
198
188
|
*/
|
|
199
189
|
export interface MemoryRedactionPolicy {
|
|
200
190
|
/** Patterns to mask in stored content. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.types.d.ts","sourceRoot":"","sources":["../../../src/memory/define.types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"define.types.d.ts","sourceRoot":"","sources":["../../../src/memory/define.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAQpB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5F;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;;CAKvB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAIlG,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC;IAC/C,2EAA2E;IAC3E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,iBAAiB,CAAC,SAAS,CAAC;IAClD,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,iBAAiB,CAAC,OAAO,CAAC;IAChD,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC;IACtC,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,iDAAiD;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC;IAC9C,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;CACvE;AAED,yDAAyD;AACzD,MAAM,MAAM,QAAQ,GAChB,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,eAAe,GACf,aAAa,GACb,cAAc,CAAC;AAInB;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAE1C,yEAAyE;IACzE,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAE5C,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAE9B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAExC,oEAAoE;IACpE,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,CAAC,EAAE,IAAI;IACxC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;CAC7C,CAAC;AAIF;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,QAAQ,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,QAAQ,CAAC;CAC7C;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,QAAQ,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,QAAQ,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,QAAQ,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,QAAQ,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,MAAM,CAAC;IAC1C,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;CAC1C;AAED,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAC3B,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,mBAAmB,CAAC;AAIxB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,kBAAkB,CAE/E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,kBAAkB,CAE/E;AAID;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,oBAA8B,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzD"}
|
|
@@ -14,50 +14,6 @@
|
|
|
14
14
|
*
|
|
15
15
|
* Reads as: try anthropic; on failure fall back to openai; the whole
|
|
16
16
|
* chain is wrapped in retry with 5 attempts.
|
|
17
|
-
*
|
|
18
|
-
* ─── 7-panel design review (2026-04-28) ────────────────────────────
|
|
19
|
-
*
|
|
20
|
-
* LLM-AI system design ✓ Decorator pattern around the existing
|
|
21
|
-
* `LLMProvider` port — no new contract.
|
|
22
|
-
* Stacks naturally; observation hooks
|
|
23
|
-
* (`onRetry`, `onFallback`) keep the
|
|
24
|
-
* recorder ecosystem informed.
|
|
25
|
-
* Performance ✓ Zero overhead on success path (one
|
|
26
|
-
* `try/await` per call). Backoff delays
|
|
27
|
-
* use AbortSignal-aware sleep — no busy
|
|
28
|
-
* wait, no leaked timers.
|
|
29
|
-
* Scalability ✓ Per-call state only. Composition is
|
|
30
|
-
* constant-time per attempt; chain depth
|
|
31
|
-
* doesn't grow runtime cost.
|
|
32
|
-
* Research alignment ✓ Right-fold of `withFallback` matches
|
|
33
|
-
* the standard chain-of-responsibility
|
|
34
|
-
* shape. No exotic resumption — once a
|
|
35
|
-
* stream yields, it commits.
|
|
36
|
-
* Flexibility ✓ Predicates (`shouldRetry`,
|
|
37
|
-
* `shouldFallback`) and hooks
|
|
38
|
-
* (`onRetry`, `onFallback`) make every
|
|
39
|
-
* policy decision overridable. Default
|
|
40
|
-
* policies match common real-world signals
|
|
41
|
-
* (4xx skip, 429 retry, AbortError pass).
|
|
42
|
-
* Abstraction-modular ✓ Three primitives, one purpose each.
|
|
43
|
-
* `fallbackProvider` is sugar over chained
|
|
44
|
-
* `withFallback`. No surprises.
|
|
45
|
-
* Software engineering ✓ Pure decorators — no shared state.
|
|
46
|
-
* Every option has a documented default.
|
|
47
|
-
* Tests cover unit + scenario + integration
|
|
48
|
-
* + property + security + performance + ROI.
|
|
49
|
-
*
|
|
50
|
-
* ─── 7-pattern test coverage ───────────────────────────────────────
|
|
51
|
-
*
|
|
52
|
-
* Unit test/resilience/unit/withRetry.test.ts
|
|
53
|
-
* test/resilience/unit/withFallback.test.ts
|
|
54
|
-
* test/resilience/unit/fallbackProvider.test.ts
|
|
55
|
-
* Scenario resilience-patterns.test.ts → "production recipes"
|
|
56
|
-
* Integration resilience-patterns.test.ts → "Agent + resilient provider"
|
|
57
|
-
* Property resilience-patterns.test.ts → "invariants"
|
|
58
|
-
* Security resilience-patterns.test.ts → "hostile inputs"
|
|
59
|
-
* Performance resilience-patterns.test.ts → "performance"
|
|
60
|
-
* ROI resilience-patterns.test.ts → "realistic SLO budgets"
|
|
61
17
|
*/
|
|
62
18
|
export { withRetry, type WithRetryOptions } from './withRetry.js';
|
|
63
19
|
export { withFallback, type WithFallbackOptions } from './withFallback.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resilience/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resilience/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/types/stream.d.ts
CHANGED
|
@@ -7,35 +7,6 @@
|
|
|
7
7
|
* framework that accepts an async iterable response body
|
|
8
8
|
* (Fetch Response, Express res.write, Hono streaming, etc.).
|
|
9
9
|
* Emits: N/A — observes only.
|
|
10
|
-
*
|
|
11
|
-
* ─── 7-panel design review (2026-04-28) ─────────────────────────────
|
|
12
|
-
*
|
|
13
|
-
* LLM-AI system design ✓ One-line-per-event SSE format. Each
|
|
14
|
-
* event = one observation; each chunk
|
|
15
|
-
* includes the `runtimeStageId` for
|
|
16
|
-
* cross-view binding.
|
|
17
|
-
* Performance ✓ AsyncIterable<string> — no buffering;
|
|
18
|
-
* yields each event as it arrives. Stops
|
|
19
|
-
* naturally when the run completes.
|
|
20
|
-
* Scalability ✓ Per-run instance. No shared state;
|
|
21
|
-
* many concurrent SSE streams safe.
|
|
22
|
-
* Research alignment ✓ Standard SSE wire format
|
|
23
|
-
* (text/event-stream). Browsers'
|
|
24
|
-
* native EventSource API consumes directly.
|
|
25
|
-
* Flexibility ✓ `format` option for full event payload
|
|
26
|
-
* vs slim text-only mode (chat UIs that
|
|
27
|
-
* only want token deltas). `filter`
|
|
28
|
-
* predicate gates events.
|
|
29
|
-
* Abstraction-modular ✓ One function (`toSSE`) + one class
|
|
30
|
-
* (`SSEFormatter`); class is sugar for
|
|
31
|
-
* consumers who prefer .pipeTo() shape.
|
|
32
|
-
* Software engineering ✓ Pure observer. No global state. Tests
|
|
33
|
-
* cover unit + scenario + property +
|
|
34
|
-
* security + performance.
|
|
35
|
-
*
|
|
36
|
-
* ─── 7-pattern test coverage ────────────────────────────────────────
|
|
37
|
-
*
|
|
38
|
-
* See `test/stream/unit/SSEFormatter.test.ts`.
|
|
39
10
|
*/
|
|
40
11
|
import type { AgentfootprintEvent } from './events/registry.js';
|
|
41
12
|
import type { RunnerBase } from './core/RunnerBase.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC;IAC1D;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAuB,KAAK,CAAC,GAAG,EAAE,IAAI,EACpC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAC7B,OAAO,GAAE,YAAiB,GACzB,aAAa,CAAC,MAAM,CAAC,CA0EvB;AAED;;;GAGG;AACH,qBAAa,YAAY,CAAC,GAAG,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO;IAEnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAC7B,OAAO,GAAE,YAAiB;IAG7C,8DAA8D;IAC9D,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC;CAGhC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAMrE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentfootprint",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "The explainable agent framework — build AI agents you can explain, audit, and trust. Built on footprintjs.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Sanjay Krishna Anbalagan",
|
|
@@ -114,12 +114,31 @@
|
|
|
114
114
|
"types": "./dist/types/injection-engine.d.ts",
|
|
115
115
|
"import": "./dist/esm/injection-engine.js",
|
|
116
116
|
"require": "./dist/injection-engine.js"
|
|
117
|
+
},
|
|
118
|
+
"./memory-redis": {
|
|
119
|
+
"types": "./dist/types/adapters/memory/redis.d.ts",
|
|
120
|
+
"import": "./dist/esm/adapters/memory/redis.js",
|
|
121
|
+
"require": "./dist/adapters/memory/redis.js"
|
|
122
|
+
},
|
|
123
|
+
"./memory-agentcore": {
|
|
124
|
+
"types": "./dist/types/adapters/memory/agentcore.d.ts",
|
|
125
|
+
"import": "./dist/esm/adapters/memory/agentcore.js",
|
|
126
|
+
"require": "./dist/adapters/memory/agentcore.js"
|
|
117
127
|
}
|
|
118
128
|
},
|
|
119
129
|
"sideEffects": false,
|
|
120
130
|
"peerDependencies": {
|
|
121
131
|
"footprintjs": ">=4.14.0"
|
|
122
132
|
},
|
|
133
|
+
"peerDependenciesMeta": {
|
|
134
|
+
"@anthropic-ai/sdk": { "optional": true },
|
|
135
|
+
"openai": { "optional": true },
|
|
136
|
+
"@aws-sdk/client-bedrock-runtime": { "optional": true },
|
|
137
|
+
"@aws-sdk/client-bedrock-agent-runtime": { "optional": true },
|
|
138
|
+
"@modelcontextprotocol/sdk": { "optional": true },
|
|
139
|
+
"ioredis": { "optional": true },
|
|
140
|
+
"zod": { "optional": true }
|
|
141
|
+
},
|
|
123
142
|
"devDependencies": {
|
|
124
143
|
"@types/node": "^25.5.2",
|
|
125
144
|
"@typescript-eslint/eslint-plugin": "^5.61.0",
|