agentfootprint 2.3.0 → 2.5.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 (212) hide show
  1. package/README.md +293 -247
  2. package/dist/adapters/llm/AnthropicProvider.js +2 -2
  3. package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
  4. package/dist/adapters/llm/BedrockProvider.js +2 -2
  5. package/dist/adapters/llm/BedrockProvider.js.map +1 -1
  6. package/dist/adapters/llm/BrowserAnthropicProvider.js +96 -28
  7. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  8. package/dist/adapters/llm/OpenAIProvider.js +2 -2
  9. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  10. package/dist/adapters/memory/agentcore.js +9 -3
  11. package/dist/adapters/memory/agentcore.js.map +1 -1
  12. package/dist/adapters/memory/redis.js +9 -3
  13. package/dist/adapters/memory/redis.js.map +1 -1
  14. package/dist/core/Agent.js +493 -79
  15. package/dist/core/Agent.js.map +1 -1
  16. package/dist/core/flowchartAsTool.js +188 -0
  17. package/dist/core/flowchartAsTool.js.map +1 -0
  18. package/dist/core/outputSchema.js +119 -0
  19. package/dist/core/outputSchema.js.map +1 -0
  20. package/dist/core/slots/buildSystemPromptSlot.js +8 -0
  21. package/dist/core/slots/buildSystemPromptSlot.js.map +1 -1
  22. package/dist/core/slots/buildToolsSlot.js +56 -5
  23. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  24. package/dist/esm/adapters/llm/AnthropicProvider.js +2 -2
  25. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  26. package/dist/esm/adapters/llm/BedrockProvider.js +2 -2
  27. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  28. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +96 -28
  29. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  30. package/dist/esm/adapters/llm/OpenAIProvider.js +2 -2
  31. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  32. package/dist/esm/adapters/memory/agentcore.js +9 -3
  33. package/dist/esm/adapters/memory/agentcore.js.map +1 -1
  34. package/dist/esm/adapters/memory/redis.js +9 -3
  35. package/dist/esm/adapters/memory/redis.js.map +1 -1
  36. package/dist/esm/core/Agent.js +492 -78
  37. package/dist/esm/core/Agent.js.map +1 -1
  38. package/dist/esm/core/flowchartAsTool.js +184 -0
  39. package/dist/esm/core/flowchartAsTool.js.map +1 -0
  40. package/dist/esm/core/outputSchema.js +113 -0
  41. package/dist/esm/core/outputSchema.js.map +1 -0
  42. package/dist/esm/core/slots/buildSystemPromptSlot.js +8 -0
  43. package/dist/esm/core/slots/buildSystemPromptSlot.js.map +1 -1
  44. package/dist/esm/core/slots/buildToolsSlot.js +56 -5
  45. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  46. package/dist/esm/index.js +34 -5
  47. package/dist/esm/index.js.map +1 -1
  48. package/dist/esm/lib/injection-engine/SkillRegistry.js +181 -0
  49. package/dist/esm/lib/injection-engine/SkillRegistry.js.map +1 -0
  50. package/dist/esm/lib/injection-engine/factories/defineSkill.js +35 -0
  51. package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -1
  52. package/dist/esm/lib/injection-engine/index.js +9 -1
  53. package/dist/esm/lib/injection-engine/index.js.map +1 -1
  54. package/dist/esm/lib/injection-engine/skillTools.js +125 -0
  55. package/dist/esm/lib/injection-engine/skillTools.js.map +1 -0
  56. package/dist/esm/lib/injection-engine/types.js +8 -0
  57. package/dist/esm/lib/injection-engine/types.js.map +1 -1
  58. package/dist/esm/lib/lazyRequire.js +33 -0
  59. package/dist/esm/lib/lazyRequire.js.map +1 -0
  60. package/dist/esm/lib/mcp/mcpClient.js +4 -6
  61. package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
  62. package/dist/esm/llm-providers.js +31 -0
  63. package/dist/esm/llm-providers.js.map +1 -0
  64. package/dist/esm/locales/index.js +144 -0
  65. package/dist/esm/locales/index.js.map +1 -0
  66. package/dist/esm/memory-providers.js +44 -0
  67. package/dist/esm/memory-providers.js.map +1 -0
  68. package/dist/esm/providers.js +11 -0
  69. package/dist/esm/providers.js.map +1 -1
  70. package/dist/esm/recorders/core/contextEngineering.js +155 -0
  71. package/dist/esm/recorders/core/contextEngineering.js.map +1 -0
  72. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +6 -1
  73. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
  74. package/dist/esm/security/PermissionPolicy.js +135 -0
  75. package/dist/esm/security/PermissionPolicy.js.map +1 -0
  76. package/dist/esm/security/index.js +38 -0
  77. package/dist/esm/security/index.js.map +1 -0
  78. package/dist/esm/tool-providers/gatedTools.js +52 -0
  79. package/dist/esm/tool-providers/gatedTools.js.map +1 -0
  80. package/dist/esm/tool-providers/index.js +43 -0
  81. package/dist/esm/tool-providers/index.js.map +1 -0
  82. package/dist/esm/tool-providers/skillScopedTools.js +63 -0
  83. package/dist/esm/tool-providers/skillScopedTools.js.map +1 -0
  84. package/dist/esm/tool-providers/staticTools.js +33 -0
  85. package/dist/esm/tool-providers/staticTools.js.map +1 -0
  86. package/dist/esm/tool-providers/types.js +53 -0
  87. package/dist/esm/tool-providers/types.js.map +1 -0
  88. package/dist/index.js +57 -12
  89. package/dist/index.js.map +1 -1
  90. package/dist/lib/injection-engine/SkillRegistry.js +185 -0
  91. package/dist/lib/injection-engine/SkillRegistry.js.map +1 -0
  92. package/dist/lib/injection-engine/factories/defineSkill.js +37 -1
  93. package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -1
  94. package/dist/lib/injection-engine/index.js +14 -1
  95. package/dist/lib/injection-engine/index.js.map +1 -1
  96. package/dist/lib/injection-engine/skillTools.js +130 -0
  97. package/dist/lib/injection-engine/skillTools.js.map +1 -0
  98. package/dist/lib/injection-engine/types.js +8 -0
  99. package/dist/lib/injection-engine/types.js.map +1 -1
  100. package/dist/lib/lazyRequire.js +37 -0
  101. package/dist/lib/lazyRequire.js.map +1 -0
  102. package/dist/lib/mcp/mcpClient.js +4 -6
  103. package/dist/lib/mcp/mcpClient.js.map +1 -1
  104. package/dist/llm-providers.js +47 -0
  105. package/dist/llm-providers.js.map +1 -0
  106. package/dist/locales/index.js +149 -0
  107. package/dist/locales/index.js.map +1 -0
  108. package/dist/memory-providers.js +49 -0
  109. package/dist/memory-providers.js.map +1 -0
  110. package/dist/providers.js +11 -0
  111. package/dist/providers.js.map +1 -1
  112. package/dist/recorders/core/contextEngineering.js +161 -0
  113. package/dist/recorders/core/contextEngineering.js.map +1 -0
  114. package/dist/recorders/observability/commentary/commentaryTemplates.js +6 -1
  115. package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
  116. package/dist/security/PermissionPolicy.js +139 -0
  117. package/dist/security/PermissionPolicy.js.map +1 -0
  118. package/dist/security/index.js +42 -0
  119. package/dist/security/index.js.map +1 -0
  120. package/dist/tool-providers/gatedTools.js +56 -0
  121. package/dist/tool-providers/gatedTools.js.map +1 -0
  122. package/dist/tool-providers/index.js +51 -0
  123. package/dist/tool-providers/index.js.map +1 -0
  124. package/dist/tool-providers/skillScopedTools.js +67 -0
  125. package/dist/tool-providers/skillScopedTools.js.map +1 -0
  126. package/dist/tool-providers/staticTools.js +37 -0
  127. package/dist/tool-providers/staticTools.js.map +1 -0
  128. package/dist/tool-providers/types.js +54 -0
  129. package/dist/tool-providers/types.js.map +1 -0
  130. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  131. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  132. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  133. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  134. package/dist/types/adapters/memory/agentcore.d.ts +7 -1
  135. package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
  136. package/dist/types/adapters/memory/redis.d.ts +7 -1
  137. package/dist/types/adapters/memory/redis.d.ts.map +1 -1
  138. package/dist/types/core/Agent.d.ts +216 -2
  139. package/dist/types/core/Agent.d.ts.map +1 -1
  140. package/dist/types/core/flowchartAsTool.d.ts +161 -0
  141. package/dist/types/core/flowchartAsTool.d.ts.map +1 -0
  142. package/dist/types/core/outputSchema.d.ts +128 -0
  143. package/dist/types/core/outputSchema.d.ts.map +1 -0
  144. package/dist/types/core/slots/buildSystemPromptSlot.d.ts.map +1 -1
  145. package/dist/types/core/slots/buildToolsSlot.d.ts +10 -0
  146. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  147. package/dist/types/index.d.ts +8 -4
  148. package/dist/types/index.d.ts.map +1 -1
  149. package/dist/types/lib/injection-engine/SkillRegistry.d.ts +148 -0
  150. package/dist/types/lib/injection-engine/SkillRegistry.d.ts.map +1 -0
  151. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +99 -0
  152. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts.map +1 -1
  153. package/dist/types/lib/injection-engine/index.d.ts +5 -2
  154. package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
  155. package/dist/types/lib/injection-engine/skillTools.d.ts +73 -0
  156. package/dist/types/lib/injection-engine/skillTools.d.ts.map +1 -0
  157. package/dist/types/lib/injection-engine/types.d.ts +28 -0
  158. package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
  159. package/dist/types/lib/lazyRequire.d.ts +30 -0
  160. package/dist/types/lib/lazyRequire.d.ts.map +1 -0
  161. package/dist/types/lib/mcp/mcpClient.d.ts.map +1 -1
  162. package/dist/types/llm-providers.d.ts +31 -0
  163. package/dist/types/llm-providers.d.ts.map +1 -0
  164. package/dist/types/locales/index.d.ts +133 -0
  165. package/dist/types/locales/index.d.ts.map +1 -0
  166. package/dist/types/memory-providers.d.ts +41 -0
  167. package/dist/types/memory-providers.d.ts.map +1 -0
  168. package/dist/types/providers.d.ts +11 -0
  169. package/dist/types/providers.d.ts.map +1 -1
  170. package/dist/types/recorders/core/contextEngineering.d.ts +137 -0
  171. package/dist/types/recorders/core/contextEngineering.d.ts.map +1 -0
  172. package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -1
  173. package/dist/types/security/PermissionPolicy.d.ts +125 -0
  174. package/dist/types/security/PermissionPolicy.d.ts.map +1 -0
  175. package/dist/types/security/index.d.ts +40 -0
  176. package/dist/types/security/index.d.ts.map +1 -0
  177. package/dist/types/tool-providers/gatedTools.d.ts +37 -0
  178. package/dist/types/tool-providers/gatedTools.d.ts.map +1 -0
  179. package/dist/types/tool-providers/index.d.ts +42 -0
  180. package/dist/types/tool-providers/index.d.ts.map +1 -0
  181. package/dist/types/tool-providers/skillScopedTools.d.ts +46 -0
  182. package/dist/types/tool-providers/skillScopedTools.d.ts.map +1 -0
  183. package/dist/types/tool-providers/staticTools.d.ts +22 -0
  184. package/dist/types/tool-providers/staticTools.d.ts.map +1 -0
  185. package/dist/types/tool-providers/types.d.ts +103 -0
  186. package/dist/types/tool-providers/types.d.ts.map +1 -0
  187. package/package.json +62 -9
  188. package/README.proposed.md +0 -258
  189. package/dist/instructions.js +0 -21
  190. package/dist/instructions.js.map +0 -1
  191. package/dist/lib/instructions/defineInstruction.js +0 -35
  192. package/dist/lib/instructions/defineInstruction.js.map +0 -1
  193. package/dist/lib/instructions/evaluator.js +0 -38
  194. package/dist/lib/instructions/evaluator.js.map +0 -1
  195. package/dist/lib/instructions/index.js +0 -48
  196. package/dist/lib/instructions/index.js.map +0 -1
  197. package/dist/lib/instructions/types.js +0 -22
  198. package/dist/lib/instructions/types.js.map +0 -1
  199. package/dist/memory/conversationHelpers.js +0 -39
  200. package/dist/memory/conversationHelpers.js.map +0 -1
  201. package/dist/types/instructions.d.ts +0 -5
  202. package/dist/types/instructions.d.ts.map +0 -1
  203. package/dist/types/lib/instructions/defineInstruction.d.ts +0 -22
  204. package/dist/types/lib/instructions/defineInstruction.d.ts.map +0 -1
  205. package/dist/types/lib/instructions/evaluator.d.ts +0 -11
  206. package/dist/types/lib/instructions/evaluator.d.ts.map +0 -1
  207. package/dist/types/lib/instructions/index.d.ts +0 -44
  208. package/dist/types/lib/instructions/index.d.ts.map +0 -1
  209. package/dist/types/lib/instructions/types.d.ts +0 -100
  210. package/dist/types/lib/instructions/types.d.ts.map +0 -1
  211. package/dist/types/memory/conversationHelpers.d.ts +0 -19
  212. package/dist/types/memory/conversationHelpers.d.ts.map +0 -1
@@ -1,11 +0,0 @@
1
- /**
2
- * Instruction evaluator — runs the `activeWhen` predicates and
3
- * returns the active set + any skipped predicates.
4
- *
5
- * Pattern: Pure function. Stateless.
6
- * Role: Internal helper used by Agent during pre-LLM stage.
7
- * Emits: N/A — caller handles emit + observability.
8
- */
9
- import type { Instruction, InstructionContext, InstructionEvaluation } from './types.js';
10
- export declare function evaluateInstructions(instructions: readonly Instruction[], ctx: InstructionContext): InstructionEvaluation;
11
- //# sourceMappingURL=evaluator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../src/lib/instructions/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,GAAG,EAAE,kBAAkB,GACtB,qBAAqB,CAwBvB"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Instructions — declarative rule-based system-prompt injection.
3
- *
4
- * Public API for the v2 Instructions subsystem. See `types.ts` for the
5
- * full interface + the unified context-engineering model placement.
6
- *
7
- * ─── 7-panel design review (2026-04-28) ─────────────────────────────
8
- *
9
- * LLM-AI system design ✓ Maps cleanly to the unified context-
10
- * engineering model: slot=system-prompt
11
- * (+optional tools), role=system, timing=
12
- * per-iteration, decision=rule.
13
- * Performance ✓ Predicates run once per iteration (not
14
- * per token / per event). O(N) in number
15
- * of instructions; typical N ≤ 20.
16
- * Scalability ✓ Stateless evaluator; many concurrent
17
- * agents share the same instruction list
18
- * via Object.freeze.
19
- * Research alignment ✓ Mirrors v1 AgentInstruction's `activeWhen`
20
- * shape (origin/main `c6e11d0`) but drops
21
- * `onToolResult`, `safety`, decision-scope
22
- * wrapping for v2 simplicity. Equivalent
23
- * tool-result-driven behavior is expressed
24
- * via `activeWhen: (ctx) =>
25
- * ctx.lastToolResult?.toolName === 'X'`.
26
- * Flexibility ✓ Same Instruction can be active across
27
- * multiple iterations; can inject tools
28
- * in addition to prompt; predicates can
29
- * inspect history + last tool result.
30
- * Abstraction-modular ✓ Three small files: types, builder,
31
- * evaluator. Agent integration is one
32
- * call into `evaluateInstructions()`.
33
- * Software engineering ✓ Predicate errors are caught + surfaced
34
- * (no crash). Frozen instructions prevent
35
- * mutation. 7-pattern test coverage.
36
- *
37
- * ─── 7-pattern test coverage ────────────────────────────────────────
38
- *
39
- * See `test/lib/instructions/*.test.ts`.
40
- */
41
- export { defineInstruction, type DefineInstructionOptions, } from './defineInstruction.js';
42
- export { evaluateInstructions, } from './evaluator.js';
43
- export type { Instruction, InstructionContext, InstructionEvaluation, } from './types.js';
44
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/instructions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
@@ -1,100 +0,0 @@
1
- /**
2
- * Instructions — types.
3
- *
4
- * An Instruction is a declarative rule for conditional system-prompt
5
- * injection. The agent evaluates each Instruction's `activeWhen`
6
- * predicate at the start of every iteration; matching instructions'
7
- * `prompt` text is prepended to the system prompt for that iteration.
8
- *
9
- * This is the rule-based flavor of the unified context-engineering
10
- * model: slot=system-prompt, role=system, timing=per-iteration,
11
- * decision=rule. (Compare with Skills: timing=on-activation,
12
- * decision=LLM-guided.)
13
- *
14
- * Pattern: Strategy (GoF) — each Instruction is a strategy for
15
- * "should I add this prompt to the next iteration?"
16
- * Role: Consumer-facing shape. Agent.create(...).instruction(...).
17
- * Emits: `agentfootprint.context.injected` with source='instruction'
18
- * when an instruction activates.
19
- */
20
- import type { Tool } from '../../core/tools.js';
21
- /**
22
- * Read-only snapshot of the agent's state that an Instruction can
23
- * inspect to decide activation. Includes only the fields a predicate
24
- * can safely depend on — internal mutable state is hidden.
25
- */
26
- export interface InstructionContext {
27
- /** Current ReAct iteration (1-based). */
28
- readonly iteration: number;
29
- /** The current user message that started this turn. */
30
- readonly userMessage: string;
31
- /**
32
- * Conversation history up to (but not including) the current
33
- * iteration's LLM call. Includes system / user / assistant / tool
34
- * messages from prior iterations of the same turn.
35
- */
36
- readonly history: ReadonlyArray<{
37
- readonly role: 'system' | 'user' | 'assistant' | 'tool';
38
- readonly content: string;
39
- readonly toolName?: string;
40
- }>;
41
- /**
42
- * The most recent tool result, if the previous iteration ended in a
43
- * tool call. Undefined on the first iteration of a turn.
44
- */
45
- readonly lastToolResult?: {
46
- readonly toolName: string;
47
- readonly result: string;
48
- };
49
- /** Custom decision-scope state the consumer placed via Agent options. */
50
- readonly decision?: Readonly<Record<string, unknown>>;
51
- }
52
- /**
53
- * A single declarative instruction.
54
- *
55
- * @example
56
- * const calmTone = defineInstruction({
57
- * id: 'calm-tone',
58
- * description: 'Use a calm, empathetic tone after the user expresses frustration.',
59
- * activeWhen: (ctx) => ctx.userMessage.includes('frustrated')
60
- * || ctx.userMessage.includes('angry'),
61
- * prompt: 'The user is upset. Respond calmly. Acknowledge feelings before facts.',
62
- * });
63
- *
64
- * const agent = Agent.create({ provider }).instruction(calmTone).build();
65
- */
66
- export interface Instruction {
67
- /** Unique id — used for observability + de-duplication. */
68
- readonly id: string;
69
- /** Human-readable description (Lens / docs / debug). */
70
- readonly description?: string;
71
- /**
72
- * Predicate to decide activation. Synchronous; side-effect free.
73
- * If omitted, the instruction is always active. Predicates that
74
- * throw are skipped (fail-open) and the error is surfaced via the
75
- * emit channel for observability — they don't crash the run.
76
- */
77
- readonly activeWhen?: (ctx: InstructionContext) => boolean;
78
- /** Text appended to the next iteration's system prompt when active. */
79
- readonly prompt?: string;
80
- /**
81
- * Tools to add to the agent's tool registry when the instruction is
82
- * active. Merged with the agent's base tools (later instructions win
83
- * on duplicate ids). Empty by default.
84
- */
85
- readonly tools?: readonly Tool[];
86
- }
87
- /**
88
- * @internal
89
- * Branded result returned by `evaluateInstructions()`. Lets the
90
- * agent's pre-LLM stage consume the projection without re-running
91
- * the predicates.
92
- */
93
- export interface InstructionEvaluation {
94
- readonly active: readonly Instruction[];
95
- readonly skipped: ReadonlyArray<{
96
- readonly id: string;
97
- readonly error: string;
98
- }>;
99
- }
100
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/instructions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;QACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;IACH;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC;IAC3D,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClF"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Pure functions for conversation message management.
3
- * No state — just transformations on message arrays.
4
- */
5
- import type { Message, AssistantMessage, ToolResultMessage } from '../types';
6
- /** Append a message to the conversation. Returns new array. */
7
- export declare function appendMessage(messages: Message[], message: Message): Message[];
8
- /** Get the last message in the conversation. */
9
- export declare function lastMessage(messages: Message[]): Message | undefined;
10
- /** Get the last assistant message. */
11
- export declare function lastAssistantMessage(messages: Message[]): AssistantMessage | undefined;
12
- /** Check if the last assistant message has tool calls. */
13
- export declare function lastMessageHasToolCalls(messages: Message[]): boolean;
14
- /** Create tool result messages from a map of tool call ID → result. */
15
- export declare function createToolResults(results: Array<{
16
- toolCallId: string;
17
- content: string;
18
- }>): ToolResultMessage[];
19
- //# sourceMappingURL=conversationHelpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversationHelpers.d.ts","sourceRoot":"","sources":["../../../src/memory/conversationHelpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7E,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAE9E;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,CAEpE;AAED,sCAAsC;AACtC,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,gBAAgB,GAAG,SAAS,CAKtF;AAED,0DAA0D;AAC1D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAGpE;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GACtD,iBAAiB,EAAE,CAErB"}