agentfootprint 2.2.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.
Files changed (154) hide show
  1. package/AGENTS.md +52 -0
  2. package/CLAUDE.md +52 -0
  3. package/README.md +49 -0
  4. package/README.proposed.md +258 -0
  5. package/ai-instructions/claude-code/SKILL.md +24 -5
  6. package/ai-instructions/clinerules +22 -5
  7. package/ai-instructions/copilot-instructions.md +22 -5
  8. package/ai-instructions/cursor/agentfootprint.md +22 -5
  9. package/ai-instructions/kiro/agentfootprint.md +22 -5
  10. package/ai-instructions/windsurfrules +22 -5
  11. package/dist/adapters/llm/AnthropicProvider.js +0 -31
  12. package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
  13. package/dist/adapters/llm/BedrockProvider.js +2 -28
  14. package/dist/adapters/llm/BedrockProvider.js.map +1 -1
  15. package/dist/adapters/llm/BrowserAnthropicProvider.js +1 -31
  16. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  17. package/dist/adapters/llm/BrowserOpenAIProvider.js +1 -11
  18. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  19. package/dist/adapters/llm/MockProvider.js +35 -1
  20. package/dist/adapters/llm/MockProvider.js.map +1 -1
  21. package/dist/adapters/llm/OpenAIProvider.js +3 -29
  22. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  23. package/dist/adapters/memory/agentcore.js +305 -0
  24. package/dist/adapters/memory/agentcore.js.map +1 -0
  25. package/dist/adapters/memory/redis.js +287 -0
  26. package/dist/adapters/memory/redis.js.map +1 -0
  27. package/dist/esm/adapters/llm/AnthropicProvider.js +0 -31
  28. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  29. package/dist/esm/adapters/llm/BedrockProvider.js +2 -28
  30. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  31. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +1 -31
  32. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  33. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +1 -11
  34. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  35. package/dist/esm/adapters/llm/MockProvider.js +35 -1
  36. package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
  37. package/dist/esm/adapters/llm/OpenAIProvider.js +3 -29
  38. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  39. package/dist/esm/adapters/memory/agentcore.js +301 -0
  40. package/dist/esm/adapters/memory/agentcore.js.map +1 -0
  41. package/dist/esm/adapters/memory/redis.js +283 -0
  42. package/dist/esm/adapters/memory/redis.js.map +1 -0
  43. package/dist/esm/index.js +2 -2
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/lib/injection-engine/index.js +0 -54
  46. package/dist/esm/lib/injection-engine/index.js.map +1 -1
  47. package/dist/esm/lib/mcp/index.js +1 -0
  48. package/dist/esm/lib/mcp/index.js.map +1 -1
  49. package/dist/esm/lib/mcp/mcpClient.js +29 -24
  50. package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
  51. package/dist/esm/lib/mcp/mockMcpClient.js +97 -0
  52. package/dist/esm/lib/mcp/mockMcpClient.js.map +1 -0
  53. package/dist/esm/lib/rag/defineRAG.js +0 -18
  54. package/dist/esm/lib/rag/defineRAG.js.map +1 -1
  55. package/dist/esm/lib/rag/indexDocuments.js +39 -4
  56. package/dist/esm/lib/rag/indexDocuments.js.map +1 -1
  57. package/dist/esm/memory/causal/loadSnapshot.js +1 -1
  58. package/dist/esm/memory/define.js +0 -14
  59. package/dist/esm/memory/define.js.map +1 -1
  60. package/dist/esm/memory/define.types.js +0 -10
  61. package/dist/esm/memory/define.types.js.map +1 -1
  62. package/dist/esm/resilience/index.js +0 -44
  63. package/dist/esm/resilience/index.js.map +1 -1
  64. package/dist/esm/stream.js +0 -29
  65. package/dist/esm/stream.js.map +1 -1
  66. package/dist/index.js +2 -1
  67. package/dist/index.js.map +1 -1
  68. package/dist/instructions.js +21 -0
  69. package/dist/instructions.js.map +1 -0
  70. package/dist/lib/injection-engine/index.js +0 -54
  71. package/dist/lib/injection-engine/index.js.map +1 -1
  72. package/dist/lib/instructions/defineInstruction.js +35 -0
  73. package/dist/lib/instructions/defineInstruction.js.map +1 -0
  74. package/dist/lib/instructions/evaluator.js +38 -0
  75. package/dist/lib/instructions/evaluator.js.map +1 -0
  76. package/dist/lib/instructions/index.js +48 -0
  77. package/dist/lib/instructions/index.js.map +1 -0
  78. package/dist/lib/instructions/types.js +22 -0
  79. package/dist/lib/instructions/types.js.map +1 -0
  80. package/dist/lib/mcp/index.js +3 -1
  81. package/dist/lib/mcp/index.js.map +1 -1
  82. package/dist/lib/mcp/mcpClient.js +29 -24
  83. package/dist/lib/mcp/mcpClient.js.map +1 -1
  84. package/dist/lib/mcp/mockMcpClient.js +101 -0
  85. package/dist/lib/mcp/mockMcpClient.js.map +1 -0
  86. package/dist/lib/rag/defineRAG.js +0 -18
  87. package/dist/lib/rag/defineRAG.js.map +1 -1
  88. package/dist/lib/rag/indexDocuments.js +39 -4
  89. package/dist/lib/rag/indexDocuments.js.map +1 -1
  90. package/dist/memory/causal/loadSnapshot.js +1 -1
  91. package/dist/memory/conversationHelpers.js +39 -0
  92. package/dist/memory/conversationHelpers.js.map +1 -0
  93. package/dist/memory/define.js +0 -14
  94. package/dist/memory/define.js.map +1 -1
  95. package/dist/memory/define.types.js +0 -10
  96. package/dist/memory/define.types.js.map +1 -1
  97. package/dist/resilience/index.js +0 -44
  98. package/dist/resilience/index.js.map +1 -1
  99. package/dist/stream.js +0 -29
  100. package/dist/stream.js.map +1 -1
  101. package/dist/types/adapters/llm/AnthropicProvider.d.ts +0 -31
  102. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  103. package/dist/types/adapters/llm/BedrockProvider.d.ts +2 -28
  104. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  105. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +1 -31
  106. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  107. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +1 -11
  108. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  109. package/dist/types/adapters/llm/MockProvider.d.ts +45 -0
  110. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
  111. package/dist/types/adapters/llm/OpenAIProvider.d.ts +3 -29
  112. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  113. package/dist/types/adapters/memory/agentcore.d.ts +157 -0
  114. package/dist/types/adapters/memory/agentcore.d.ts.map +1 -0
  115. package/dist/types/adapters/memory/redis.d.ts +126 -0
  116. package/dist/types/adapters/memory/redis.d.ts.map +1 -0
  117. package/dist/types/index.d.ts +2 -2
  118. package/dist/types/index.d.ts.map +1 -1
  119. package/dist/types/instructions.d.ts +5 -0
  120. package/dist/types/instructions.d.ts.map +1 -0
  121. package/dist/types/lib/injection-engine/index.d.ts +0 -54
  122. package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
  123. package/dist/types/lib/instructions/defineInstruction.d.ts +22 -0
  124. package/dist/types/lib/instructions/defineInstruction.d.ts.map +1 -0
  125. package/dist/types/lib/instructions/evaluator.d.ts +11 -0
  126. package/dist/types/lib/instructions/evaluator.d.ts.map +1 -0
  127. package/dist/types/lib/instructions/index.d.ts +44 -0
  128. package/dist/types/lib/instructions/index.d.ts.map +1 -0
  129. package/dist/types/lib/instructions/types.d.ts +100 -0
  130. package/dist/types/lib/instructions/types.d.ts.map +1 -0
  131. package/dist/types/lib/mcp/index.d.ts +1 -0
  132. package/dist/types/lib/mcp/index.d.ts.map +1 -1
  133. package/dist/types/lib/mcp/mcpClient.d.ts +0 -17
  134. package/dist/types/lib/mcp/mcpClient.d.ts.map +1 -1
  135. package/dist/types/lib/mcp/mockMcpClient.d.ts +66 -0
  136. package/dist/types/lib/mcp/mockMcpClient.d.ts.map +1 -0
  137. package/dist/types/lib/mcp/types.d.ts +2 -0
  138. package/dist/types/lib/mcp/types.d.ts.map +1 -1
  139. package/dist/types/lib/rag/defineRAG.d.ts +18 -21
  140. package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
  141. package/dist/types/lib/rag/indexDocuments.d.ts +30 -1
  142. package/dist/types/lib/rag/indexDocuments.d.ts.map +1 -1
  143. package/dist/types/memory/causal/loadSnapshot.d.ts +1 -1
  144. package/dist/types/memory/conversationHelpers.d.ts +19 -0
  145. package/dist/types/memory/conversationHelpers.d.ts.map +1 -0
  146. package/dist/types/memory/define.d.ts +0 -14
  147. package/dist/types/memory/define.d.ts.map +1 -1
  148. package/dist/types/memory/define.types.d.ts +2 -12
  149. package/dist/types/memory/define.types.d.ts.map +1 -1
  150. package/dist/types/resilience/index.d.ts +0 -44
  151. package/dist/types/resilience/index.d.ts.map +1 -1
  152. package/dist/types/stream.d.ts +0 -29
  153. package/dist/types/stream.d.ts.map +1 -1
  154. package/package.json +20 -1
@@ -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
  // Engine
63
9
  export { evaluateInjections } from './evaluator.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/injection-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAWH,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,2BAA2B,GAE5B,MAAM,kCAAkC,CAAC;AAE1C,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAiC,MAAM,kCAAkC,CAAC;AAEpG,OAAO,EAAE,WAAW,EAA2B,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAAE,cAAc,EAA8B,MAAM,+BAA+B,CAAC;AAE3F,OAAO,EAAE,UAAU,EAA0B,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/injection-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,2BAA2B,GAE5B,MAAM,kCAAkC,CAAC;AAE1C,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAiC,MAAM,kCAAkC,CAAC;AAEpG,OAAO,EAAE,WAAW,EAA2B,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAAE,cAAc,EAA8B,MAAM,+BAA+B,CAAC;AAE3F,OAAO,EAAE,UAAU,EAA0B,MAAM,2BAA2B,CAAC"}
@@ -5,4 +5,5 @@
5
5
  * use case, not yet shipped).
6
6
  */
7
7
  export { mcpClient } from './mcpClient.js';
8
+ export { mockMcpClient } from './mockMcpClient.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAA+C,MAAM,oBAAoB,CAAC"}
@@ -29,30 +29,16 @@
29
29
  * `McpClientOptions` so observability surfaces can group
30
30
  * tool calls by server.
31
31
  *
32
- * 7-panel review (2026-04-29):
33
- * - LLM Systems ✅ inputSchema preserved verbatim — the LLM sees
34
- * the same tool schema MCP advertised
35
- * - Architect ✅ pure adapter; no engine code. New tool sources
36
- * slot in via the same `Tool` interface
37
- * - API Designer ✅ three methods (.tools / .refresh / .close)
38
- * mirror the MCP SDK lifecycle
39
- * - Performance ✅ tool list cached after first fetch; .refresh
40
- * is opt-in. callTool round-trip is one network
41
- * hop per tool call (same as direct LLM-tool flow)
42
- * - Privacy ✅ no implicit logging; consumer controls auth
43
- * via transport headers
44
- * - SoftEng ✅ lazy-required SDK + friendly install error;
45
- * mock injection point for tests
46
- * - TS Engineer ✅ structural McpSdkClient shim — works against
47
- * any future SDK version with the same shape
48
- *
49
32
  * Lazy-require pattern: the `@modelcontextprotocol/sdk` peer-dep
50
33
  * loads only when a consumer actually constructs a client. Tests
51
34
  * inject `_client` and skip the import path entirely.
52
35
  */
36
+ // Version-less identity. The MCP `clientInfo` field is informational
37
+ // (server logs it); a hardcoded number drifts every release. Consumers
38
+ // who care about wire-level identity pass `clientInfo` explicitly.
53
39
  const DEFAULT_CLIENT_INFO = {
54
40
  name: 'agentfootprint',
55
- version: '2.1.0', // bumped per release
41
+ version: '0.0.0',
56
42
  };
57
43
  /**
58
44
  * Connect to an MCP server. Returns an `McpClient` that exposes the
@@ -69,22 +55,33 @@ export async function mcpClient(opts) {
69
55
  // Tool cache so consumers calling `.tools()` more than once don't
70
56
  // hammer the server. `.refresh()` invalidates it.
71
57
  let cache = null;
58
+ let closed = false;
59
+ const ensureOpen = (op) => {
60
+ if (closed) {
61
+ throw new Error(`mcpClient[${name}].${op}() called after close(). Construct a new client to reconnect.`);
62
+ }
63
+ };
72
64
  const buildTools = async () => {
73
65
  const listed = await sdk.listTools();
74
- return listed.tools.map((t) => wrapMcpTool(sdk, t));
66
+ return listed.tools.map((t) => wrapMcpTool(name, sdk, t, opts.signal));
75
67
  };
76
68
  return {
77
69
  name,
78
70
  async tools() {
71
+ ensureOpen('tools');
79
72
  if (!cache)
80
73
  cache = await buildTools();
81
74
  return cache;
82
75
  },
83
76
  async refresh() {
77
+ ensureOpen('refresh');
84
78
  cache = await buildTools();
85
79
  return cache;
86
80
  },
87
81
  async close() {
82
+ if (closed)
83
+ return;
84
+ closed = true;
88
85
  cache = null;
89
86
  await sdk.close();
90
87
  },
@@ -142,30 +139,38 @@ async function buildTransport(t) {
142
139
  });
143
140
  }
144
141
  // ─── Tool wrapping ─────────────────────────────────────────────────
145
- function wrapMcpTool(sdk, mcp) {
146
- return {
142
+ function wrapMcpTool(serverName, sdk, mcp, signal) {
143
+ const tool = {
147
144
  schema: {
148
145
  name: mcp.name,
149
146
  description: mcp.description ?? `MCP tool: ${mcp.name}`,
150
147
  inputSchema: mcp.inputSchema,
151
148
  },
152
149
  execute: async (args) => {
150
+ // The agent passes args as `unknown` per Tool contract. MCP
151
+ // expects a JSON object — non-object inputs become `{}` rather
152
+ // than failing the SDK call.
153
+ const argsObj = args !== null && typeof args === 'object' && !Array.isArray(args)
154
+ ? args
155
+ : {};
153
156
  const result = await sdk.callTool({
154
157
  name: mcp.name,
155
- arguments: args ?? {},
158
+ arguments: argsObj,
159
+ ...(signal && { signal }),
156
160
  });
157
161
  // MCP returns content blocks. We concatenate text blocks into
158
162
  // a single string for the agent's tool-result event payload.
159
163
  // Non-text blocks (images, resources) are summarized with their
160
- // type — full multi-modal mapping is a v2.x follow-up.
164
+ // type — full multi-modal mapping is a future-release follow-up.
161
165
  const text = result.content
162
166
  .map((c) => (c.type === 'text' && c.text ? c.text : `[${c.type}]`))
163
167
  .join('\n');
164
168
  if (result.isError) {
165
- throw new Error(`MCP tool '${mcp.name}' returned an error: ${text}`);
169
+ throw new Error(`MCP tool '${mcp.name}' (server '${serverName}') returned an error: ${text}`);
166
170
  }
167
171
  return text;
168
172
  },
169
173
  };
174
+ return tool;
170
175
  }
171
176
  //# sourceMappingURL=mcpClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mcpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mcpClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * mockMcpClient — in-memory MCP client for development and tests.
3
+ *
4
+ * const slack = mockMcpClient({
5
+ * tools: [
6
+ * {
7
+ * name: 'send_message',
8
+ * description: 'Post a message to a channel',
9
+ * inputSchema: { type: 'object' },
10
+ * handler: async ({ text }) => `Posted: ${text}`,
11
+ * },
12
+ * ],
13
+ * });
14
+ *
15
+ * const agent = Agent.create({ provider: mock({ reply: 'ok' }) })
16
+ * .tools(await slack.tools())
17
+ * .build();
18
+ *
19
+ * Pattern: Adapter (GoF) — produces an `McpClient` with the same shape
20
+ * as `mcpClient(opts)` but driven by an in-memory tool table
21
+ * instead of the MCP SDK + transport. Drop-in for development:
22
+ * start with `mockMcpClient`, swap to `mcpClient` once the
23
+ * real server is ready.
24
+ *
25
+ * Why public: `mcpClient`'s `_client` injection is `@internal` because
26
+ * the SDK shape isn't a stable public surface. `mockMcpClient` exposes
27
+ * a curated tool-handler shape that's tied to OUR Tool contract instead
28
+ * — stable, documented, and the right level of abstraction for
29
+ * mock-first development.
30
+ */
31
+ /**
32
+ * Build an in-memory `McpClient`. Useful when you want to develop
33
+ * against MCP semantics without spawning subprocesses, hitting the
34
+ * network, or installing `@modelcontextprotocol/sdk`. Same `McpClient`
35
+ * shape as `mcpClient(opts)` — code that consumes one accepts the other.
36
+ */
37
+ export function mockMcpClient(options) {
38
+ const name = options.name ?? 'mock-mcp';
39
+ const toolMap = new Map(options.tools.map((t) => [t.name, t]));
40
+ let cache = null;
41
+ let closed = false;
42
+ const ensureOpen = (op) => {
43
+ if (closed) {
44
+ throw new Error(`mockMcpClient[${name}].${op}() called after close(). Construct a new client to reuse.`);
45
+ }
46
+ };
47
+ const buildTools = () => options.tools.map((mcp) => wrapMockTool(name, toolMap, mcp));
48
+ return {
49
+ name,
50
+ async tools() {
51
+ ensureOpen('tools');
52
+ if (!cache)
53
+ cache = buildTools();
54
+ return cache;
55
+ },
56
+ async refresh() {
57
+ ensureOpen('refresh');
58
+ cache = buildTools();
59
+ return cache;
60
+ },
61
+ async close() {
62
+ if (closed)
63
+ return;
64
+ closed = true;
65
+ cache = null;
66
+ },
67
+ };
68
+ }
69
+ function wrapMockTool(serverName, toolMap, mcp) {
70
+ const tool = {
71
+ schema: {
72
+ name: mcp.name,
73
+ description: mcp.description ?? `Mock MCP tool: ${mcp.name}`,
74
+ inputSchema: mcp.inputSchema,
75
+ },
76
+ execute: async (args) => {
77
+ const argsObj = args !== null && typeof args === 'object' && !Array.isArray(args)
78
+ ? args
79
+ : {};
80
+ // Look up by name at call time so mid-test handler swaps via a
81
+ // mutable Map could be supported later. For now `toolMap` is
82
+ // built once at factory time.
83
+ const handler = toolMap.get(mcp.name)?.handler;
84
+ if (!handler)
85
+ return '[mock result]';
86
+ try {
87
+ return await handler(argsObj);
88
+ }
89
+ catch (err) {
90
+ const msg = err instanceof Error ? err.message : String(err);
91
+ throw new Error(`Mock MCP tool '${mcp.name}' (server '${serverName}') threw: ${msg}`);
92
+ }
93
+ },
94
+ };
95
+ return tool;
96
+ }
97
+ //# sourceMappingURL=mockMcpClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockMcpClient.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mockMcpClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAkCH;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAsB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpF,IAAI,KAAK,GAA2B,IAAI,CAAC;IACzC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,UAAU,GAAG,CAAC,EAAU,EAAQ,EAAE;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,KAAK,EAAE,2DAA2D,CACxF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAoB,EAAE,CACvC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAE/D,OAAO;QACL,IAAI;QACJ,KAAK,CAAC,KAAK;YACT,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,UAAU,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,OAAO;YACX,UAAU,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,GAAG,UAAU,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,UAAkB,EAClB,OAAyC,EACzC,GAAgB;IAEhB,MAAM,IAAI,GAAS;QACjB,MAAM,EAAE;YACN,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,kBAAkB,GAAG,CAAC,IAAI,EAAE;YAC5D,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,OAAO,GACX,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/D,CAAC,CAAE,IAAgC;gBACnC,CAAC,CAAC,EAAE,CAAC;YACT,+DAA+D;YAC/D,6DAA6D;YAC7D,8BAA8B;YAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YAC/C,IAAI,CAAC,OAAO;gBAAE,OAAO,eAAe,CAAC;YACrC,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,cAAc,UAAU,aAAa,GAAG,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;KACF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -29,24 +29,6 @@
29
29
  * `agentfootprint.context.injected` when retrieved chunks
30
30
  * land in the messages slot.
31
31
  *
32
- * 7-panel review (2026-04-29):
33
- * - LLM Systems ✅ injects as 'user' role by default — RAG chunks
34
- * land where the LLM treats them as authoritative
35
- * retrieved context, not behavior rules
36
- * - Architect ✅ composition over defineMemory; zero new engine
37
- * code; multi-RAG layering works via per-id keys
38
- * - API Designer ✅ one factory, mirrors defineMemory shape; consumer
39
- * ergonomics: `agent.rag(defineRAG({...}))`
40
- * - Performance ✅ embedding cost is one call per turn (TURN_START
41
- * timing, default); strict threshold prevents
42
- * injecting low-confidence noise
43
- * - Privacy ✅ multi-tenant via MemoryIdentity tuple; doc
44
- * content never crosses tenant boundaries
45
- * - ML / IR ✅ embedder version pinned via `embedderId`; cosine
46
- * score semantics inherited from MemoryStore
47
- * - SoftEng ✅ thin file (this one); existing memory tests
48
- * cover the underlying pipeline
49
- *
50
32
  * @see ./indexDocuments.ts for the seeding helper
51
33
  * @see ../../memory/define.ts for the underlying factory
52
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"defineRAG.js","sourceRoot":"","sources":["../../../../src/lib/rag/defineRAG.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AAMH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA0DtD;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,IAAsB;IAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,CAAC,EAAE,oCAAoC;YACtD,yEAAyE,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;QAClB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACxE,IAAI,EAAE,YAAY,CAAC,QAAQ;QAC3B,QAAQ,EAAE;YACR,IAAI,EAAE,iBAAiB,CAAC,KAAK;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;QACD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;KAC9B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"defineRAG.js","sourceRoot":"","sources":["../../../../src/lib/rag/defineRAG.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAMH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAyEtD;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,IAAsB;IAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,CAAC,EAAE,oCAAoC;YACtD,yEAAyE,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;QAClB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACxE,IAAI,EAAE,YAAY,CAAC,QAAQ;QAC3B,QAAQ,EAAE;YACR,IAAI,EAAE,iBAAiB,CAAC,KAAK;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;QACD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;KAC9B,CAAC,CAAC;AACL,CAAC"}
@@ -33,6 +33,14 @@ const DEFAULT_IDENTITY = { conversationId: '_global' };
33
33
  * Embed + persist documents. Returns the count actually indexed
34
34
  * (skips duplicates if the store rejects them). Throws on embedder
35
35
  * failure or store error — fail loud at startup is desirable.
36
+ *
37
+ * **Re-indexing semantics:** entries are written with `version: 1` and
38
+ * `putMany` (most adapters: last-write-wins). Re-running this helper
39
+ * after the store has been mutated by other writers may stomp their
40
+ * versions. For idempotent corpus refresh, either delete-then-index
41
+ * or use a custom upsert via `store.putIfVersion()` per document. A
42
+ * first-class `mode: 'upsert' | 'replace'` API is planned for a
43
+ * future release.
36
44
  */
37
45
  export async function indexDocuments(store, embedder, documents, options = {}) {
38
46
  if (!store)
@@ -45,11 +53,21 @@ export async function indexDocuments(store, embedder, documents, options = {}) {
45
53
  const embedderId = options.embedderId ?? 'default-embedder';
46
54
  const now = Date.now();
47
55
  const ttl = options.ttlMs ? now + options.ttlMs : undefined;
48
- // Embed in batch when supported, else fall back to parallel single calls.
56
+ // Embed in batch when supported, else fall back to capped-concurrency
57
+ // single calls. Unlimited concurrency on a large corpus would
58
+ // saturate embedder rate limits; cap defaults to 8.
49
59
  const texts = documents.map((d) => d.content);
50
- const vectors = embedder.embedBatch
51
- ? await embedder.embedBatch({ texts, ...(options.signal && { signal: options.signal }) })
52
- : await Promise.all(texts.map((text) => embedder.embed({ text, ...(options.signal && { signal: options.signal }) })));
60
+ let vectors;
61
+ if (embedder.embedBatch) {
62
+ vectors = await embedder.embedBatch({
63
+ texts,
64
+ ...(options.signal && { signal: options.signal }),
65
+ });
66
+ }
67
+ else {
68
+ const limit = Math.max(1, options.maxConcurrency ?? 8);
69
+ vectors = await embedWithConcurrency(embedder, texts, limit, options.signal);
70
+ }
53
71
  const entries = documents.map((doc, i) => {
54
72
  const vec = vectors[i];
55
73
  return {
@@ -70,4 +88,21 @@ export async function indexDocuments(store, embedder, documents, options = {}) {
70
88
  await store.putMany(identity, entries);
71
89
  return entries.length;
72
90
  }
91
+ async function embedWithConcurrency(embedder, texts, limit, signal) {
92
+ const results = new Array(texts.length);
93
+ let next = 0;
94
+ const workers = Array.from({ length: Math.min(limit, texts.length) }, async () => {
95
+ for (;;) {
96
+ const i = next++;
97
+ if (i >= texts.length)
98
+ return;
99
+ results[i] = await embedder.embed({
100
+ text: texts[i],
101
+ ...(signal && { signal }),
102
+ });
103
+ }
104
+ });
105
+ await Promise.all(workers);
106
+ return results;
107
+ }
73
108
  //# sourceMappingURL=indexDocuments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexDocuments.js","sourceRoot":"","sources":["../../../../src/lib/rag/indexDocuments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAkDH,MAAM,gBAAgB,GAAmB,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAEvE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAkB,EAClB,QAAkB,EAClB,SAAiC,EACjC,UAAiC,EAAE;IAEnC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,kBAAkB,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5D,0EAA0E;IAC1E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAmC,QAAQ,CAAC,UAAU;QACjE,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAC5E,CACF,CAAC;IAEN,MAAM,OAAO,GAA+B,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACnE,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,GAAG;YACnB,WAAW,EAAE,CAAC;YACd,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACrD,cAAc,EAAE,UAAU;YAC1B,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE;SAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"indexDocuments.js","sourceRoot":"","sources":["../../../../src/lib/rag/indexDocuments.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  * Strict-threshold semantics:
13
13
  * When `minScore` is set and no past snapshot meets it, returns an
14
14
  * empty `formatted`. NO fallback — garbage past context is worse than
15
- * no context. Aligns with the LLM-systems panel verdict in the design.
15
+ * no context.
16
16
  *
17
17
  * Empty-query handling:
18
18
  * No user message → no embedding → no search → empty result.
@@ -23,22 +23,8 @@
23
23
  * `agentfootprint.context.injected` with `source: 'memory'`
24
24
  * when their formatter writes to the messages slot.
25
25
  *
26
- * 8-panel review (2026-04-28):
27
- * - LLM Systems ✅ asRole knob honored when present, defaults to 'system'
28
- * - Architect ✅ per-id scope keys (`memoryInjectionKey(id)`)
29
- * - API Designer ✅ one factory; CAUSAL stays here, no separate snapshotMemory
30
- * - Performance ✅ default `MEMORY_TIMING.TURN_START`; pipelines compiled once
31
- * - Privacy ✅ redact field passes through
32
- * - ML / IR ✅ threshold maps to semantic.minScore strictly; no fallback
33
- * - SoftEng ✅ unsupported combos throw with clear remediation hint
34
- * - TS Engineer ✅ discriminated union narrowing preserved across switches
35
- *
36
- * Book reference: AI Agents — The Definitive Guide, Ch 10 (Memory,
37
- * Autonomy, Long-Horizon Use — chapter still unavailable in pre-pub).
38
- *
39
26
  * @see ./define.types.ts for the const-objects + types
40
27
  * @see ./pipeline/*.ts for the existing pipeline factories this dispatches to
41
- * @see MEMORY.md load-bearing design memory
42
28
  */
43
29
  import { defaultPipeline } from './pipeline/default.js';
44
30
  import { ephemeralPipeline } from './pipeline/ephemeral.js';
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/memory/define.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/memory/define.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../../src/memory/define.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAOH,uEAAuE;AAEvE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AA4MX,uEAAuE;AAEvE,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,aAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,2BAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../../src/memory/define.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAOH,uEAAuE;AAEvE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AA4MX,uEAAuE;AAEvE,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,aAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,2BAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;AACrD,CAAC"}
@@ -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 } from './withRetry.js';
63
19
  export { withFallback } from './withFallback.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resilience/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resilience/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC"}
@@ -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
  /**
41
12
  * Subscribe to a runner's `EventDispatcher` and yield SSE-formatted