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
|
@@ -23,10 +23,39 @@
|
|
|
23
23
|
import type { LLMChunk, LLMProvider, LLMRequest, LLMResponse } from '../types.js';
|
|
24
24
|
/** Either a fixed value (in ms) or a random `[min, max]` range (inclusive). */
|
|
25
25
|
export type LatencyMs = number | readonly [number, number];
|
|
26
|
+
/**
|
|
27
|
+
* One scripted reply consumed in order from `MockProviderOptions.replies`.
|
|
28
|
+
* String → plain text content; Partial<LLMResponse> → can include
|
|
29
|
+
* `toolCalls`, `usage`, `stopReason` for tool-using ReAct loops.
|
|
30
|
+
*/
|
|
31
|
+
export type MockReply = string | Partial<LLMResponse>;
|
|
26
32
|
export interface MockProviderOptions {
|
|
27
33
|
readonly name?: string;
|
|
28
34
|
/** Fixed response content. Overrides `respond` when set. */
|
|
29
35
|
readonly reply?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Scripted replies for multi-turn / tool-using agents. Each entry
|
|
38
|
+
* is consumed in order — iteration 1 reads `replies[0]`, iteration
|
|
39
|
+
* 2 reads `replies[1]`, and so on. Use Partial<LLMResponse> to
|
|
40
|
+
* inject `toolCalls`:
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* mock({
|
|
44
|
+
* replies: [
|
|
45
|
+
* { toolCalls: [{ id: '1', name: 'lookup', args: { id: 42 } }] },
|
|
46
|
+
* { content: 'Found it: refunds take 3 business days.' },
|
|
47
|
+
* ],
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* **Exhaustion semantics:** if the agent calls the LLM more times
|
|
52
|
+
* than there are replies, `complete()` / `stream()` throw a clear
|
|
53
|
+
* error. This makes mock-script bugs loud, not silent. Tune the
|
|
54
|
+
* agent's `maxIterations` to bound the call count.
|
|
55
|
+
*
|
|
56
|
+
* Takes precedence over `reply` and `respond` when set.
|
|
57
|
+
*/
|
|
58
|
+
readonly replies?: readonly MockReply[];
|
|
30
59
|
/**
|
|
31
60
|
* Build the response from the request. Returns either a plain
|
|
32
61
|
* string (renders as content with no tool calls) or a partial
|
|
@@ -69,12 +98,21 @@ export interface MockProviderOptions {
|
|
|
69
98
|
export declare class MockProvider implements LLMProvider {
|
|
70
99
|
readonly name: string;
|
|
71
100
|
private readonly reply?;
|
|
101
|
+
private readonly replies?;
|
|
102
|
+
private repliesCursor;
|
|
72
103
|
private readonly respond;
|
|
73
104
|
private readonly thinkingMs;
|
|
74
105
|
private readonly chunkDelayMs;
|
|
75
106
|
private readonly stopReason;
|
|
76
107
|
private readonly usageOverride;
|
|
77
108
|
constructor(options?: MockProviderOptions);
|
|
109
|
+
/**
|
|
110
|
+
* Reset the scripted-replies cursor. Useful when reusing one
|
|
111
|
+
* `MockProvider` instance across multiple test scenarios — each
|
|
112
|
+
* scenario can `provider.resetReplies()` to start from `replies[0]`
|
|
113
|
+
* again. No-op when `replies` was not supplied.
|
|
114
|
+
*/
|
|
115
|
+
resetReplies(): void;
|
|
78
116
|
/**
|
|
79
117
|
* Convenience factory for the playground / Lens demo defaults: a
|
|
80
118
|
* real-feel mock with 3–8 s of "thinking" before the response and
|
|
@@ -92,6 +130,13 @@ export declare class MockProvider implements LLMProvider {
|
|
|
92
130
|
*/
|
|
93
131
|
stream(req: LLMRequest): AsyncIterable<LLMChunk>;
|
|
94
132
|
private buildResponse;
|
|
133
|
+
/**
|
|
134
|
+
* Resolve the next reply source for one `complete()` / `stream()` call.
|
|
135
|
+
* Priority: `replies` (scripted, throws on exhaustion) → `reply` (single
|
|
136
|
+
* fixed string) → `respond` (callback default). Replies are consumed
|
|
137
|
+
* in order; the cursor is per-instance, not per-request.
|
|
138
|
+
*/
|
|
139
|
+
private consumeNextReply;
|
|
95
140
|
}
|
|
96
141
|
/**
|
|
97
142
|
* Lowercase factory for `MockProvider` — matches the v1 `mock()` import
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockProvider.d.ts","sourceRoot":"","sources":["../../../../src/adapters/llm/MockProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElF,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtE;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqD;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;gBAEjD,OAAO,GAAE,mBAAwB;
|
|
1
|
+
{"version":3,"file":"MockProvider.d.ts","sourceRoot":"","sources":["../../../../src/adapters/llm/MockProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElF,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtE;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAuB;IAChD,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqD;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;gBAEjD,OAAO,GAAE,mBAAwB;IAiB7C;;;;;OAKG;IACH,YAAY,IAAI,IAAI;IAIpB;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY;IAQ3D,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAKrD;;;;;OAKG;IACI,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IAqBvD,OAAO,CAAC,aAAa;IAwBrB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;CAiBzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAEpE"}
|
|
@@ -7,32 +7,6 @@
|
|
|
7
7
|
* recorders, or compositions.
|
|
8
8
|
* Emits: N/A.
|
|
9
9
|
*
|
|
10
|
-
* ─── 7-panel design review (2026-04-28) ─────────────────────────────
|
|
11
|
-
*
|
|
12
|
-
* LLM-AI system design ✓ Native function-calling. messages map
|
|
13
|
-
* 1:1 to OpenAI shape (system/user/assistant/tool
|
|
14
|
-
* roles match) — minimal translation.
|
|
15
|
-
* Performance ✓ Single SDK call per `complete()`. Stream
|
|
16
|
-
* uses native SSE; deltas yielded as they
|
|
17
|
-
* arrive.
|
|
18
|
-
* Scalability ✓ Stateless; concurrent runs share one
|
|
19
|
-
* provider freely.
|
|
20
|
-
* Research alignment ✓ Mirrors v1 OpenAIAdapter conversion logic
|
|
21
|
-
* (origin/main `c6e11d0`); same usage
|
|
22
|
-
* normalization (prompt_tokens/completion_tokens
|
|
23
|
-
* → input/output).
|
|
24
|
-
* Flexibility ✓ `baseURL` enables OpenAI-compatible APIs
|
|
25
|
-
* (Ollama, Together, Groq, vLLM, LM Studio)
|
|
26
|
-
* without a separate adapter — see `ollama()`
|
|
27
|
-
* convenience factory below.
|
|
28
|
-
* Abstraction-modular ✓ Two converters (`toOpenAIMessages`,
|
|
29
|
-
* `fromOpenAIResponse`) isolate the
|
|
30
|
-
* shape-shifting; `complete()` and
|
|
31
|
-
* `stream()` reuse them.
|
|
32
|
-
* Software engineering ✓ Duck-typed SDK. Errors wrapped with
|
|
33
|
-
* provider tag. JSON-parsed tool args fall
|
|
34
|
-
* back to `{}` on malformed strings.
|
|
35
|
-
*
|
|
36
10
|
* ─── Limitations ────────────────────────────────────────────────────
|
|
37
11
|
*
|
|
38
12
|
* • Multi-modal NOT supported (`LLMMessage.content` is
|
|
@@ -40,9 +14,9 @@
|
|
|
40
14
|
* • `responseFormat` (JSON-mode) NOT exposed — pass schema
|
|
41
15
|
* instructions via `systemPrompt` for now.
|
|
42
16
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
17
|
+
* The `baseURL` option enables OpenAI-compatible APIs (Ollama, Together,
|
|
18
|
+
* Groq, vLLM, LM Studio) without a separate adapter — see the `ollama()`
|
|
19
|
+
* convenience factory below.
|
|
46
20
|
*/
|
|
47
21
|
import type { LLMChunk, LLMProvider, LLMRequest, LLMResponse } from '../types.js';
|
|
48
22
|
interface OpenAIClient {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIProvider.d.ts","sourceRoot":"","sources":["../../../../src/adapters/llm/OpenAIProvider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"OpenAIProvider.d.ts","sourceRoot":"","sources":["../../../../src/adapters/llm/OpenAIProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentCoreStore — AWS Bedrock AgentCore Memory adapter (peer-dep
|
|
3
|
+
* `@aws-sdk/client-bedrock-agent-runtime`).
|
|
4
|
+
*
|
|
5
|
+
* Subpath import: `agentfootprint/memory-agentcore`.
|
|
6
|
+
*
|
|
7
|
+
* import { AgentCoreStore } from 'agentfootprint/memory-agentcore';
|
|
8
|
+
* const store = new AgentCoreStore({
|
|
9
|
+
* memoryId: 'arn:aws:bedrock:us-east-1:...:memory/my-mem',
|
|
10
|
+
* region: 'us-east-1',
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* Pattern: Adapter (GoF) — translates the `MemoryStore` interface onto
|
|
14
|
+
* AgentCore Memory's session/event model:
|
|
15
|
+
* MemoryIdentity ↔ AgentCore session (sessionId derived
|
|
16
|
+
* from the identity tuple)
|
|
17
|
+
* MemoryEntry ↔ AgentCore event payload (JSON
|
|
18
|
+
* envelope keyed by entry id)
|
|
19
|
+
* putIfVersion ↔ unsupported by AgentCore natively;
|
|
20
|
+
* emulated via list+CAS at adapter level
|
|
21
|
+
* seen / signatures ↔ in-process LRU shadow (AgentCore has
|
|
22
|
+
* no built-in dedup primitive)
|
|
23
|
+
* feedback ↔ in-process accumulator (AgentCore
|
|
24
|
+
* doesn't expose a feedback metric API)
|
|
25
|
+
* search ↔ NOT exposed in v2.3 — AgentCore's
|
|
26
|
+
* retrieve API is opaque (server-side
|
|
27
|
+
* retrieval pipeline). Will land as
|
|
28
|
+
* `agentcoreRetrieve()` in a later release.
|
|
29
|
+
*
|
|
30
|
+
* Role: Outer ring. Lazy-requires the AWS SDK; no runtime cost when
|
|
31
|
+
* another adapter is in use.
|
|
32
|
+
* Emits: N/A (storage adapters don't emit; recorders observe the
|
|
33
|
+
* memory pipeline that calls them).
|
|
34
|
+
*
|
|
35
|
+
* **Caveats** — call out before adopting:
|
|
36
|
+
* 1. AgentCore is session/event-based with built-in summarization.
|
|
37
|
+
* Mixing `defineMemory({ strategy: SUMMARIZE })` on top will
|
|
38
|
+
* double-compress. Pick one summarizer.
|
|
39
|
+
* 2. Optimistic-concurrency `putIfVersion` is emulated; under high
|
|
40
|
+
* concurrent write rates the CAS window is wider than RedisStore.
|
|
41
|
+
* Single-writer scenarios (one server process per session) are
|
|
42
|
+
* fine.
|
|
43
|
+
* 3. seen/feedback are in-process — they don't survive process restart.
|
|
44
|
+
* For durable recognition, implement at a higher layer or use Redis.
|
|
45
|
+
* 4. AWS rate limits apply. Production deployments should wrap with
|
|
46
|
+
* `withRetry` and budget calls per session.
|
|
47
|
+
*/
|
|
48
|
+
import type { ListOptions, ListResult, MemoryStore, PutIfVersionResult } from '../../memory/store/types.js';
|
|
49
|
+
import type { MemoryEntry } from '../../memory/entry/index.js';
|
|
50
|
+
import type { MemoryIdentity } from '../../memory/identity/index.js';
|
|
51
|
+
/**
|
|
52
|
+
* Minimal surface over `@aws-sdk/client-bedrock-agent-runtime` that
|
|
53
|
+
* AgentCoreStore touches. Defined locally so we don't take a hard
|
|
54
|
+
* import on the AWS SDK and tests can inject a mock via `_client`.
|
|
55
|
+
*/
|
|
56
|
+
export interface AgentCoreLikeClient {
|
|
57
|
+
putEvent(input: {
|
|
58
|
+
memoryId: string;
|
|
59
|
+
sessionId: string;
|
|
60
|
+
eventId: string;
|
|
61
|
+
payload: string;
|
|
62
|
+
}): Promise<unknown>;
|
|
63
|
+
getEvent(input: {
|
|
64
|
+
memoryId: string;
|
|
65
|
+
sessionId: string;
|
|
66
|
+
eventId: string;
|
|
67
|
+
}): Promise<{
|
|
68
|
+
payload?: string;
|
|
69
|
+
} | null>;
|
|
70
|
+
listEvents(input: {
|
|
71
|
+
memoryId: string;
|
|
72
|
+
sessionId: string;
|
|
73
|
+
nextToken?: string;
|
|
74
|
+
maxResults?: number;
|
|
75
|
+
}): Promise<{
|
|
76
|
+
events: ReadonlyArray<{
|
|
77
|
+
eventId: string;
|
|
78
|
+
payload: string;
|
|
79
|
+
}>;
|
|
80
|
+
nextToken?: string;
|
|
81
|
+
}>;
|
|
82
|
+
deleteEvent(input: {
|
|
83
|
+
memoryId: string;
|
|
84
|
+
sessionId: string;
|
|
85
|
+
eventId: string;
|
|
86
|
+
}): Promise<unknown>;
|
|
87
|
+
deleteSession(input: {
|
|
88
|
+
memoryId: string;
|
|
89
|
+
sessionId: string;
|
|
90
|
+
}): Promise<unknown>;
|
|
91
|
+
}
|
|
92
|
+
export interface AgentCoreStoreOptions {
|
|
93
|
+
/** AgentCore Memory ARN or id. Required. */
|
|
94
|
+
readonly memoryId: string;
|
|
95
|
+
/** AWS region. Required when constructing the SDK client internally. */
|
|
96
|
+
readonly region?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Pre-built AgentCore client. Use this to share a single SDK
|
|
99
|
+
* configuration (credentials, retry policy) across the host app.
|
|
100
|
+
* Adapter does NOT call any close lifecycle on a borrowed client.
|
|
101
|
+
*/
|
|
102
|
+
readonly client?: AgentCoreLikeClient;
|
|
103
|
+
/** Page size for `listEvents` calls. Default 50. */
|
|
104
|
+
readonly pageSize?: number;
|
|
105
|
+
/**
|
|
106
|
+
* @internal Test injection point. Skips SDK require entirely.
|
|
107
|
+
*/
|
|
108
|
+
readonly _client?: AgentCoreLikeClient;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* AgentCore Memory-backed `MemoryStore`. Implements every method
|
|
112
|
+
* except `search()`. Vector retrieval via AgentCore's native API
|
|
113
|
+
* lands as a separate read-side helper in a later release.
|
|
114
|
+
*
|
|
115
|
+
* @throws when `@aws-sdk/client-bedrock-agent-runtime` is not
|
|
116
|
+
* installed and no `_client` is supplied.
|
|
117
|
+
*/
|
|
118
|
+
export declare class AgentCoreStore implements MemoryStore {
|
|
119
|
+
private readonly client;
|
|
120
|
+
private readonly memoryId;
|
|
121
|
+
private readonly pageSize;
|
|
122
|
+
private closed;
|
|
123
|
+
private readonly signatures;
|
|
124
|
+
private readonly feedbackBag;
|
|
125
|
+
constructor(options: AgentCoreStoreOptions);
|
|
126
|
+
private sessionId;
|
|
127
|
+
private shadowKey;
|
|
128
|
+
private feedbackKey;
|
|
129
|
+
get<T = unknown>(identity: MemoryIdentity, id: string): Promise<MemoryEntry<T> | null>;
|
|
130
|
+
put<T = unknown>(identity: MemoryIdentity, entry: MemoryEntry<T>): Promise<void>;
|
|
131
|
+
putMany<T = unknown>(identity: MemoryIdentity, entries: readonly MemoryEntry<T>[]): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Emulated optimistic concurrency. AgentCore's PutEvent overwrites
|
|
134
|
+
* unconditionally. We read-then-write inside a JS critical section
|
|
135
|
+
* — adequate for single-writer-per-session deployments. For multi-
|
|
136
|
+
* writer correctness on AgentCore, layer your own coordination.
|
|
137
|
+
*/
|
|
138
|
+
putIfVersion<T = unknown>(identity: MemoryIdentity, entry: MemoryEntry<T>, expectedVersion: number): Promise<PutIfVersionResult>;
|
|
139
|
+
list<T = unknown>(identity: MemoryIdentity, options?: ListOptions): Promise<ListResult<T>>;
|
|
140
|
+
delete(identity: MemoryIdentity, id: string): Promise<void>;
|
|
141
|
+
seen(identity: MemoryIdentity, signature: string): Promise<boolean>;
|
|
142
|
+
recordSignature(identity: MemoryIdentity, signature: string): Promise<void>;
|
|
143
|
+
feedback(identity: MemoryIdentity, id: string, usefulness: number): Promise<void>;
|
|
144
|
+
getFeedback(identity: MemoryIdentity, id: string): Promise<{
|
|
145
|
+
average: number;
|
|
146
|
+
count: number;
|
|
147
|
+
} | null>;
|
|
148
|
+
forget(identity: MemoryIdentity): Promise<void>;
|
|
149
|
+
/**
|
|
150
|
+
* Mark the store closed. Subsequent calls throw cleanly. Idempotent.
|
|
151
|
+
* AgentCore is stateless from the client perspective so there's no
|
|
152
|
+
* connection to tear down — the close gate is purely defensive.
|
|
153
|
+
*/
|
|
154
|
+
close(): Promise<void>;
|
|
155
|
+
private ensureOpen;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=agentcore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentcore.d.ts","sourceRoot":"","sources":["../../../../src/adapters/memory/agentcore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RedisStore — Redis-backed `MemoryStore` adapter (peer-dep `ioredis`).
|
|
3
|
+
*
|
|
4
|
+
* Subpath import: `agentfootprint/memory-redis`.
|
|
5
|
+
*
|
|
6
|
+
* import { RedisStore } from 'agentfootprint/memory-redis';
|
|
7
|
+
* const store = new RedisStore({ url: 'redis://localhost:6379' });
|
|
8
|
+
*
|
|
9
|
+
* Pattern: Adapter (GoF) — translates the `MemoryStore` interface onto
|
|
10
|
+
* Redis primitives (key/value for entries, set for signatures,
|
|
11
|
+
* hash for feedback aggregates).
|
|
12
|
+
* Role: Outer ring. Lazy-requires `ioredis`; no runtime cost when
|
|
13
|
+
* another adapter is in use.
|
|
14
|
+
* Emits: N/A (storage adapters don't emit; recorders observe the
|
|
15
|
+
* memory pipeline that calls them).
|
|
16
|
+
*
|
|
17
|
+
* Vector search (`search()`) is NOT implemented in this adapter — RedisSearch
|
|
18
|
+
* is a separate Redis module with its own API surface. A `RedisSearchStore`
|
|
19
|
+
* may ship in a future release. RAG users with v2.3 should use
|
|
20
|
+
* `InMemoryStore` until the search-capable adapter lands.
|
|
21
|
+
*
|
|
22
|
+
* Concurrency model:
|
|
23
|
+
* - `put` / `putMany` use simple SET / pipelined SET (last-write-wins).
|
|
24
|
+
* - `putIfVersion` uses a small Lua script for atomic version compare-and-swap.
|
|
25
|
+
* - Multi-writer correctness ⇒ prefer `putIfVersion` in stage code.
|
|
26
|
+
*/
|
|
27
|
+
import type { ListOptions, ListResult, MemoryStore, PutIfVersionResult } from '../../memory/store/types.js';
|
|
28
|
+
import type { MemoryEntry } from '../../memory/entry/index.js';
|
|
29
|
+
import type { MemoryIdentity } from '../../memory/identity/index.js';
|
|
30
|
+
/**
|
|
31
|
+
* Minimal `ioredis` client surface this adapter needs. Defined locally so
|
|
32
|
+
* we don't take a hard import on `ioredis` (lazy peer-dep) and tests can
|
|
33
|
+
* inject a mock implementation via `_client`.
|
|
34
|
+
*/
|
|
35
|
+
export interface RedisLikeClient {
|
|
36
|
+
get(key: string): Promise<string | null>;
|
|
37
|
+
set(key: string, value: string, ...args: ReadonlyArray<string | number>): Promise<unknown>;
|
|
38
|
+
del(...keys: ReadonlyArray<string>): Promise<number>;
|
|
39
|
+
sadd(key: string, ...members: ReadonlyArray<string>): Promise<number>;
|
|
40
|
+
srem(key: string, ...members: ReadonlyArray<string>): Promise<number>;
|
|
41
|
+
sismember(key: string, member: string): Promise<number>;
|
|
42
|
+
smembers(key: string): Promise<readonly string[]>;
|
|
43
|
+
hgetall(key: string): Promise<Record<string, string>>;
|
|
44
|
+
hset(key: string, ...args: ReadonlyArray<string | number>): Promise<number>;
|
|
45
|
+
scan(cursor: string, match: 'MATCH', pattern: string, count: 'COUNT', n: number): Promise<readonly [string, readonly string[]]>;
|
|
46
|
+
eval(script: string, numKeys: number, ...args: ReadonlyArray<string | number>): Promise<unknown>;
|
|
47
|
+
pipeline(): RedisLikePipeline;
|
|
48
|
+
quit(): Promise<unknown>;
|
|
49
|
+
}
|
|
50
|
+
export interface RedisLikePipeline {
|
|
51
|
+
set(key: string, value: string, ...args: ReadonlyArray<string | number>): RedisLikePipeline;
|
|
52
|
+
sadd(key: string, ...members: ReadonlyArray<string>): RedisLikePipeline;
|
|
53
|
+
exec(): Promise<unknown>;
|
|
54
|
+
}
|
|
55
|
+
export interface RedisStoreOptions {
|
|
56
|
+
/**
|
|
57
|
+
* Connection URL (e.g. `redis://default:password@host:6379/0`). Required
|
|
58
|
+
* unless `_client` is supplied.
|
|
59
|
+
*/
|
|
60
|
+
readonly url?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Pre-built `ioredis` client. Use this when the host app already manages
|
|
63
|
+
* a Redis connection pool. Adapter does NOT call `quit()` on a borrowed
|
|
64
|
+
* client — caller owns the lifecycle.
|
|
65
|
+
*/
|
|
66
|
+
readonly client?: RedisLikeClient;
|
|
67
|
+
/** Key prefix for namespace isolation across apps sharing one Redis. Default `'agentfootprint'`. */
|
|
68
|
+
readonly prefix?: string;
|
|
69
|
+
/**
|
|
70
|
+
* SCAN page size when iterating keys. Default 100. Larger = fewer
|
|
71
|
+
* round-trips but more memory per response. Adapter never uses `KEYS *`
|
|
72
|
+
* (which blocks Redis).
|
|
73
|
+
*/
|
|
74
|
+
readonly scanCount?: number;
|
|
75
|
+
/**
|
|
76
|
+
* @internal Test injection point. When provided, skips the SDK require.
|
|
77
|
+
*/
|
|
78
|
+
readonly _client?: RedisLikeClient;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Redis-backed `MemoryStore`. Implements every method except `search()`.
|
|
82
|
+
*
|
|
83
|
+
* @throws when `ioredis` is not installed and no `_client` is supplied.
|
|
84
|
+
*/
|
|
85
|
+
export declare class RedisStore implements MemoryStore {
|
|
86
|
+
private readonly client;
|
|
87
|
+
private readonly prefix;
|
|
88
|
+
private readonly scanCount;
|
|
89
|
+
private readonly ownsClient;
|
|
90
|
+
private closed;
|
|
91
|
+
constructor(options?: RedisStoreOptions);
|
|
92
|
+
private nsKey;
|
|
93
|
+
private entryKey;
|
|
94
|
+
private indexKey;
|
|
95
|
+
private sigKey;
|
|
96
|
+
private feedbackKey;
|
|
97
|
+
get<T = unknown>(identity: MemoryIdentity, id: string): Promise<MemoryEntry<T> | null>;
|
|
98
|
+
put<T = unknown>(identity: MemoryIdentity, entry: MemoryEntry<T>): Promise<void>;
|
|
99
|
+
putMany<T = unknown>(identity: MemoryIdentity, entries: readonly MemoryEntry<T>[]): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Optimistic concurrency via a small Lua script — atomic
|
|
102
|
+
* compare-and-swap on the JSON-encoded `version` field.
|
|
103
|
+
*/
|
|
104
|
+
putIfVersion<T = unknown>(identity: MemoryIdentity, entry: MemoryEntry<T>, expectedVersion: number): Promise<PutIfVersionResult>;
|
|
105
|
+
list<T = unknown>(identity: MemoryIdentity, options?: ListOptions): Promise<ListResult<T>>;
|
|
106
|
+
delete(identity: MemoryIdentity, id: string): Promise<void>;
|
|
107
|
+
seen(identity: MemoryIdentity, signature: string): Promise<boolean>;
|
|
108
|
+
recordSignature(identity: MemoryIdentity, signature: string): Promise<void>;
|
|
109
|
+
feedback(identity: MemoryIdentity, id: string, usefulness: number): Promise<void>;
|
|
110
|
+
getFeedback(identity: MemoryIdentity, id: string): Promise<{
|
|
111
|
+
average: number;
|
|
112
|
+
count: number;
|
|
113
|
+
} | null>;
|
|
114
|
+
/**
|
|
115
|
+
* GDPR — drop every key under this identity's namespace.
|
|
116
|
+
*/
|
|
117
|
+
forget(identity: MemoryIdentity): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Close the underlying Redis connection — only when this adapter
|
|
120
|
+
* owns it. Borrowed clients (passed via `client` option) are left to
|
|
121
|
+
* the caller. Idempotent.
|
|
122
|
+
*/
|
|
123
|
+
close(): Promise<void>;
|
|
124
|
+
private ensureOpen;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=redis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../../src/adapters/memory/redis.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,6 +134,13 @@ export declare class AgentBuilder {
|
|
|
134
134
|
constructor(opts: AgentOptions);
|
|
135
135
|
system(prompt: string): this;
|
|
136
136
|
tool<TArgs, TResult>(tool: Tool<TArgs, TResult>): this;
|
|
137
|
+
/**
|
|
138
|
+
* Register many tools at once. Convenience for tool sources that
|
|
139
|
+
* return a list (e.g., `await mcpClient(...).tools()`). Each tool
|
|
140
|
+
* is registered via `.tool()` so duplicate-name validation still
|
|
141
|
+
* fires per-entry.
|
|
142
|
+
*/
|
|
143
|
+
tools(tools: ReadonlyArray<Tool>): this;
|
|
137
144
|
/**
|
|
138
145
|
* Set the agent's display name — substituted as `{{appName}}` in
|
|
139
146
|
* commentary + thinking templates. Same place to brand a tenant
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,mBAAmB,EAExB,KAAK,UAAU,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,KAAK,EACV,WAAW,EAIX,iBAAiB,EACjB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQlE,OAAO,KAAK,EAAmB,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,UAAU,EAAa,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG1D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAChD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;CACpC;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AA+DjC,qBAAa,KAAM,SAAQ,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAoB;IAEvD;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7D,OAAO,CAAC,iBAAiB,CAIvB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;gBAGrD,IAAI,EAAE,YAAY,EAClB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,KAAK,EAAE;QACL,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KAC9D,EACD,UAAU,GAAE,SAAS,SAAS,EAAO,EACrC,QAAQ,GAAE,SAAS,gBAAgB,EAAO;IA8B5C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;IAI/C,WAAW,IAAI,SAAS;IAIlB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC;IAYvF,MAAM,CACV,UAAU,EAAE,mBAAmB,EAC/B,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC;IAW5C,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,UAAU;CAonBnB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IAMrD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,mBAAmB,CAAwC;IACnE,OAAO,CAAC,iBAAiB,CAAwC;gBAErD,IAAI,EAAE,YAAY;IAI9B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI;IAStD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;IAKtE;;;;;;OAMG;IACH,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;IAWpE;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAQrC;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIpC;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIvC;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAW1C;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAIvC,KAAK,IAAI,KAAK;CAkBf"}
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export { Sequence, SequenceBuilder, type SequenceInput, type SequenceOptions, ty
|
|
|
41
41
|
export { Parallel, ParallelBuilder, type BranchOutcome, type MergeFn, type MergeOutcomesFn, type MergeWithLLMOptions, type ParallelInput, type ParallelOptions, type ParallelOutput, } from './core-flow/Parallel.js';
|
|
42
42
|
export { Conditional, ConditionalBuilder, type ConditionalInput, type ConditionalOptions, type ConditionalOutput, type Predicate, } from './core-flow/Conditional.js';
|
|
43
43
|
export { Loop, LoopBuilder, type LoopInput, type LoopOptions, type LoopOutput, type UntilGuard, } from './core-flow/Loop.js';
|
|
44
|
-
export { MockProvider, mock, type MockProviderOptions } from './adapters/llm/MockProvider.js';
|
|
44
|
+
export { MockProvider, mock, type MockProviderOptions, type MockReply, } from './adapters/llm/MockProvider.js';
|
|
45
45
|
export { anthropic, AnthropicProvider, type AnthropicProviderOptions, } from './adapters/llm/AnthropicProvider.js';
|
|
46
46
|
export { openai, OpenAIProvider, ollama, type OpenAIProviderOptions, } from './adapters/llm/OpenAIProvider.js';
|
|
47
47
|
export { bedrock, BedrockProvider, type BedrockProviderOptions, } from './adapters/llm/BedrockProvider.js';
|
|
@@ -56,4 +56,5 @@ export { heuristicExtractor, llmExtractor, } from './memory/beats/index.js';
|
|
|
56
56
|
export { patternFactExtractor, llmFactExtractor, } from './memory/facts/index.js';
|
|
57
57
|
export { defineMemory, MEMORY_TYPES, MEMORY_STRATEGIES, MEMORY_TIMING, SNAPSHOT_PROJECTIONS, type MemoryType, type MemoryStrategyKind, type MemoryTiming, type SnapshotProjection, type Strategy, type MemoryDefinition, type DefineMemoryOptions, InMemoryStore, mockEmbedder, identityNamespace, type MemoryIdentity, type Embedder, } from './memory/index.js';
|
|
58
58
|
export { defineRAG, type DefineRAGOptions, indexDocuments, type IndexDocumentsOptions, type RagDocument, } from './lib/rag/index.js';
|
|
59
|
+
export { mcpClient, mockMcpClient, type McpClient, type McpClientOptions, type McpHttpTransport, type McpStdioTransport, type McpTransport, type McpSdkClient, type MockMcpClientOptions, type MockMcpTool, } from './lib/mcp/index.js';
|
|
59
60
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/instructions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,6BAA6B,CAAC"}
|
|
@@ -4,60 +4,6 @@
|
|
|
4
4
|
* The unifying primitive of agentfootprint context engineering.
|
|
5
5
|
* One `Injection` type. One `InjectionEngine` subflow. N typed sugar
|
|
6
6
|
* factories. See `README.md` in this folder for the full concept.
|
|
7
|
-
*
|
|
8
|
-
* ─── 7-panel design review (2026-04-28) ─────────────────────────────
|
|
9
|
-
*
|
|
10
|
-
* LLM-AI system design ✓ ONE primitive replaces N feature-specific
|
|
11
|
-
* subsystems. Skill, Steering, Instruction,
|
|
12
|
-
* Context (and RAG, Memory, Guardrail)
|
|
13
|
-
* are typed sugar producing the same shape.
|
|
14
|
-
* Engine is shared; observability is shared;
|
|
15
|
-
* Lens chips are shared.
|
|
16
|
-
*
|
|
17
|
-
* Performance ✓ Trigger evaluation O(N) per iteration.
|
|
18
|
-
* Subflow ceremony ~50µs per iteration.
|
|
19
|
-
* Negligible. Active set materialized once,
|
|
20
|
-
* consumed by 3 slot subflows.
|
|
21
|
-
*
|
|
22
|
-
* Scalability ✓ Adding a flavor = adding a sugar factory
|
|
23
|
-
* file. Zero engine change. Library scales
|
|
24
|
-
* to 50+ flavors without bloating the
|
|
25
|
-
* engine. The "narrow waist" pattern.
|
|
26
|
-
*
|
|
27
|
-
* Research alignment ✓ Maps to "Augmented LM" framing
|
|
28
|
-
* (Mialon et al. 2023): every external
|
|
29
|
-
* input is an augmentation; agentfootprint
|
|
30
|
-
* calls them Injections. Factory names
|
|
31
|
-
* preserve research vocabulary (Skill, RAG,
|
|
32
|
-
* Memory, Steering) at the API surface.
|
|
33
|
-
*
|
|
34
|
-
* Flexibility ✓ Discriminated `trigger` union handles
|
|
35
|
-
* always / rule / on-tool-return /
|
|
36
|
-
* llm-activated. New trigger kinds extend
|
|
37
|
-
* cleanly. Multi-slot per Injection covers
|
|
38
|
-
* Skills (system-prompt + tools).
|
|
39
|
-
*
|
|
40
|
-
* Abstraction-modular ✓ Engine = subflow (drill-able). Factories
|
|
41
|
-
* = small files (one per flavor). Slot
|
|
42
|
-
* subflows are unchanged consumers.
|
|
43
|
-
* Textbook narrow-waist architecture.
|
|
44
|
-
*
|
|
45
|
-
* Software engineering ✓ Predicate exceptions caught + reported
|
|
46
|
-
* via `skipped[]`, never propagate. Frozen
|
|
47
|
-
* Injections. Validation in factories.
|
|
48
|
-
* 7-pattern test coverage. Subpath export
|
|
49
|
-
* for tree-shake.
|
|
50
|
-
*
|
|
51
|
-
* Plus footprintjs integration check ✓ — uses existing slot subflow
|
|
52
|
-
* convention (writes activeInjections to scope; slots filter by
|
|
53
|
-
* targeted slot) + ContextRecorder picks up source field zero-change.
|
|
54
|
-
*
|
|
55
|
-
* Plus TypeScript engineer check ✓ — discriminated union, no `any`,
|
|
56
|
-
* frozen returns, exhaustiveness check on trigger kind.
|
|
57
|
-
*
|
|
58
|
-
* ─── 7-pattern test coverage ────────────────────────────────────────
|
|
59
|
-
*
|
|
60
|
-
* See `test/lib/injection-engine/*.test.ts`.
|
|
61
7
|
*/
|
|
62
8
|
export type { Injection, InjectionTrigger, InjectionContent, InjectionContext, InjectionEvaluation, } from './types.js';
|
|
63
9
|
export { evaluateInjections } from './evaluator.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/injection-engine/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/injection-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,2BAA2B,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEpG,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3F,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* defineInstruction — ergonomic builder for `Instruction`.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: Builder pattern (GoF) for the Strategy interface.
|
|
5
|
+
* Role: Public surface — used by consumers to declare instructions.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* import { defineInstruction } from 'agentfootprint';
|
|
9
|
+
* import type { InstructionContext } from 'agentfootprint';
|
|
10
|
+
*
|
|
11
|
+
* const refundEmpathy = defineInstruction({
|
|
12
|
+
* id: 'refund-empathy',
|
|
13
|
+
* description: 'Calm tone for refund denials.',
|
|
14
|
+
* activeWhen: (ctx) => ctx.lastToolResult?.toolName === 'check_refund'
|
|
15
|
+
* && ctx.lastToolResult.result.includes('denied'),
|
|
16
|
+
* prompt: 'Be empathetic. Do NOT promise refund reversal.',
|
|
17
|
+
* });
|
|
18
|
+
*/
|
|
19
|
+
import type { Instruction } from './types.js';
|
|
20
|
+
export type DefineInstructionOptions = Instruction;
|
|
21
|
+
export declare function defineInstruction(options: DefineInstructionOptions): Instruction;
|
|
22
|
+
//# sourceMappingURL=defineInstruction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineInstruction.d.ts","sourceRoot":"","sources":["../../../../src/lib/instructions/defineInstruction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC;AAEnD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW,CAehF"}
|