agentfootprint 2.4.0 → 2.5.1

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 (187) hide show
  1. package/README.md +107 -3
  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 +98 -0
  49. package/dist/esm/lib/injection-engine/SkillRegistry.js.map +1 -1
  50. package/dist/esm/lib/injection-engine/factories/defineSkill.js +1 -0
  51. package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -1
  52. package/dist/esm/lib/injection-engine/index.js +7 -0
  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 +55 -12
  89. package/dist/index.js.map +1 -1
  90. package/dist/lib/injection-engine/SkillRegistry.js +98 -0
  91. package/dist/lib/injection-engine/SkillRegistry.js.map +1 -1
  92. package/dist/lib/injection-engine/factories/defineSkill.js +1 -0
  93. package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -1
  94. package/dist/lib/injection-engine/index.js +11 -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 +202 -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 +98 -0
  150. package/dist/types/lib/injection-engine/SkillRegistry.d.ts.map +1 -1
  151. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +33 -6
  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 -3
  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 +18 -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 +36 -2
@@ -0,0 +1,46 @@
1
+ /**
2
+ * skillScopedTools — ToolProvider that exposes a tool subset only when
3
+ * a specific Skill is active in the current iteration's context.
4
+ *
5
+ * The Block A5 piece. Pairs with `defineSkill({ autoActivate: 'currentSkill' })`
6
+ * to give the LLM a sharper choice space: when `billing` activates, the
7
+ * tool list flips from "all 25 agent tools" to "the 7 billing tools" +
8
+ * any baseline (always-on) tools the consumer composes alongside.
9
+ *
10
+ * Pattern: gated ToolProvider keyed by `ctx.activeSkillId`. Pure compute;
11
+ * no Agent-runtime dependency. Composes freely with `staticTools`
12
+ * for the always-on baseline.
13
+ *
14
+ * @example One skill's tools, scoped by activation
15
+ * const billingTools = skillScopedTools('billing', [refundTool, chargeTool]);
16
+ * billingTools.list({ iteration: 1, activeSkillId: 'billing', identity: ... });
17
+ * // → [refundTool, chargeTool]
18
+ * billingTools.list({ iteration: 1, activeSkillId: 'refund', identity: ... });
19
+ * // → [] (different skill active)
20
+ * billingTools.list({ iteration: 1, identity: ... });
21
+ * // → [] (no skill active)
22
+ *
23
+ * @example Compose with baseline + multiple skills
24
+ * const baseline = staticTools([lookupOrderTool, listSkills, readSkill]);
25
+ * const billingTbx = skillScopedTools('billing', [refundTool, chargeTool]);
26
+ * const refundTbx = skillScopedTools('refund', [reverseTool]);
27
+ *
28
+ * // Wrap each scope-provider in a gatedTools for downstream composition,
29
+ * // OR build a small wrapper that concatenates list(ctx) outputs:
30
+ * const provider: ToolProvider = {
31
+ * id: 'composite',
32
+ * list: (ctx) => [
33
+ * ...baseline.list(ctx),
34
+ * ...billingTbx.list(ctx),
35
+ * ...refundTbx.list(ctx),
36
+ * ],
37
+ * };
38
+ *
39
+ * Note: the runtime that POPULATES `ctx.activeSkillId` from
40
+ * `scope.activatedInjectionIds` lands in Block C / v2.5+. Today,
41
+ * consumers can drive it manually for tests + design-time inspection.
42
+ */
43
+ import type { Tool } from '../core/tools.js';
44
+ import type { ToolProvider } from './types.js';
45
+ export declare function skillScopedTools(skillId: string, tools: readonly Tool[]): ToolProvider;
46
+ //# sourceMappingURL=skillScopedTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillScopedTools.d.ts","sourceRoot":"","sources":["../../../src/tool-providers/skillScopedTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAGpE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,YAAY,CAgBtF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * staticTools — the simplest ToolProvider. Wraps a fixed Tool[] list.
3
+ *
4
+ * 90% case. What `agent.tools(arr)` does today, made composable.
5
+ * Equivalent to passing `arr` directly EXCEPT that `staticTools(arr)`
6
+ * is now a `ToolProvider` you can wrap with `gatedTools(...)` for
7
+ * permission filtering or per-skill gating.
8
+ *
9
+ * Pattern: identity ToolProvider — no filtering, just exposes the
10
+ * underlying list verbatim.
11
+ *
12
+ * @example
13
+ * const provider = staticTools([weatherTool, lookupTool]);
14
+ * // Materialize the visible list and register via .tools(...).
15
+ * // Direct .toolProvider(...) wiring on the builder lands in Block A5 / v2.5+.
16
+ * const visible = provider.list({ iteration: 0, identity: { conversationId: '_' } });
17
+ * const agent = Agent.create({ provider: llm, model }).tools(visible).build();
18
+ */
19
+ import type { Tool } from '../core/tools.js';
20
+ import type { ToolProvider } from './types.js';
21
+ export declare function staticTools(tools: readonly Tool[]): ToolProvider;
22
+ //# sourceMappingURL=staticTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staticTools.d.ts","sourceRoot":"","sources":["../../../src/tool-providers/staticTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAGpE,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,YAAY,CAWhE"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * ToolProvider — abstraction over tool dispatch.
3
+ *
4
+ * v2.4 shipped tools as a flat array on the agent (registered via
5
+ * `agent.tool(t)` / `agent.tools(arr)`). That model breaks down once
6
+ * production agents need:
7
+ * 1. Permission gating per-tool, per-caller (read-only roles, etc.)
8
+ * 2. Per-skill tool gating (only show the active skill's tools to
9
+ * the LLM each turn)
10
+ * 3. Composable filters (a `withReadonly` decorator over a `withSkill`
11
+ * decorator over the base tool list)
12
+ *
13
+ * `ToolProvider` is the answer: a chainable abstraction over "what
14
+ * tools does the LLM see right now?". The agent asks the provider
15
+ * each iteration; the provider returns the visible tool set computed
16
+ * from whatever predicates / role gates / skill filters the consumer
17
+ * composed.
18
+ *
19
+ * Pattern: Strategy (GoF) — each ToolProvider is a strategy for
20
+ * "compute the visible tool list given current context".
21
+ * Decorator (GoF) — `gatedTools(inner, predicate)` wraps any
22
+ * provider with an additional filter, mirroring how `withRetry`
23
+ * / `withFallback` decorate `LLMProvider`.
24
+ * Role: Layer-3 tool-dispatch primitive. Agent calls `provider.list(ctx)`
25
+ * each iteration to compute the visible tool set.
26
+ * Emits: N/A (pure compute; permission denials emit elsewhere via the
27
+ * permission subsystem).
28
+ *
29
+ * @example Static tool list (90% case — what `.tools(arr)` does today)
30
+ * const provider = staticTools([weather, lookupOrder]);
31
+ *
32
+ * @example Read-only enforcement (role-based gate)
33
+ * const readOnlyProvider = gatedTools(
34
+ * staticTools([weather, lookupOrder, processRefund]),
35
+ * (toolName) => policy.isAllowed(toolName),
36
+ * );
37
+ *
38
+ * @example Skill-gated dispatch (only active skill's tools visible)
39
+ * const skillGated = gatedTools(
40
+ * staticTools(allTools),
41
+ * (toolName, ctx) => ctx.activeSkillId
42
+ * ? skillsToolMap[ctx.activeSkillId].includes(toolName)
43
+ * : alwaysVisible.includes(toolName),
44
+ * );
45
+ *
46
+ * @example Stack: read-only over skill-gated
47
+ * const provider = gatedTools(
48
+ * gatedTools(staticTools(allTools), readOnlyPredicate),
49
+ * skillGatePredicate,
50
+ * );
51
+ */
52
+ import type { Tool } from '../core/tools.js';
53
+ /**
54
+ * Read-only context the provider receives each iteration. Pure data
55
+ * — providers MUST NOT mutate. Used by gating predicates to inspect
56
+ * the current activation state.
57
+ */
58
+ export interface ToolDispatchContext {
59
+ /** Current ReAct iteration (1-based). */
60
+ readonly iteration: number;
61
+ /**
62
+ * The id of the currently-activated Skill, if any.
63
+ * Set by `read_skill(id)` activation; cleared between turns.
64
+ * Used by `autoActivate`-driven per-skill tool gating.
65
+ */
66
+ readonly activeSkillId?: string;
67
+ /**
68
+ * Caller identity tuple — passed through from `agent.run({ identity })`.
69
+ * Permission predicates can role-check based on `identity.principal`
70
+ * or `identity.tenant`.
71
+ */
72
+ readonly identity?: {
73
+ readonly tenant?: string;
74
+ readonly principal?: string;
75
+ readonly conversationId: string;
76
+ };
77
+ }
78
+ /**
79
+ * The provider interface. A `ToolProvider` answers ONE question per
80
+ * iteration: "what tools should the LLM see right now?"
81
+ *
82
+ * Implementations are PURE — given the same context, return the same
83
+ * tool list. No async (the answer is needed synchronously each
84
+ * iteration; if you need async filtering, precompute upstream).
85
+ */
86
+ export interface ToolProvider {
87
+ /**
88
+ * Return the tool list visible to the LLM for the current iteration.
89
+ * The returned array MUST be a NEW reference each call (the agent
90
+ * compares for change detection). Order is preserved — the LLM may
91
+ * use position as a hint when tool descriptions are ambiguous.
92
+ */
93
+ list(ctx: ToolDispatchContext): readonly Tool[];
94
+ /**
95
+ * Optional: stable id for observability / debugging. Defaults to
96
+ * `'static'` for `staticTools`, `'gated'` for `gatedTools`. Custom
97
+ * implementations should set their own id.
98
+ */
99
+ readonly id?: string;
100
+ }
101
+ /** Predicate for `gatedTools` — runs per tool, per iteration. */
102
+ export type ToolGatePredicate = (toolName: string, ctx: ToolDispatchContext) => boolean;
103
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tool-providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,CAAC;CACH;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,mBAAmB,GAAG,SAAS,IAAI,EAAE,CAAC;IAEhD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentfootprint",
3
- "version": "2.4.0",
3
+ "version": "2.5.1",
4
4
  "description": "The explainable agent framework — build AI agents you can explain, audit, and trust. Built on footprintjs.",
5
5
  "license": "MIT",
6
6
  "author": "Sanjay Krishna Anbalagan",
@@ -55,6 +55,8 @@
55
55
  "test:coverage": "vitest run --coverage",
56
56
  "test:examples": "tsc -p examples/tsconfig.json && bash scripts/run-all-examples.sh",
57
57
  "test:examples:typecheck": "tsc -p examples/tsconfig.json",
58
+ "examples:readme": "node scripts/generate-examples-readme.mjs",
59
+ "examples:readme:check": "node scripts/generate-examples-readme.mjs --check",
58
60
  "example": "TSX_TSCONFIG_PATH=examples/runtime.tsconfig.json npx --yes tsx",
59
61
  "test:watch": "vitest --watch",
60
62
  "docs:api": "typedoc",
@@ -97,6 +99,16 @@
97
99
  "import": "./dist/esm/providers.js",
98
100
  "require": "./dist/providers.js"
99
101
  },
102
+ "./llm-providers": {
103
+ "types": "./dist/types/llm-providers.d.ts",
104
+ "import": "./dist/esm/llm-providers.js",
105
+ "require": "./dist/llm-providers.js"
106
+ },
107
+ "./memory-providers": {
108
+ "types": "./dist/types/memory-providers.d.ts",
109
+ "import": "./dist/esm/memory-providers.js",
110
+ "require": "./dist/memory-providers.js"
111
+ },
100
112
  "./observe": {
101
113
  "types": "./dist/types/observe.d.ts",
102
114
  "import": "./dist/esm/observe.js",
@@ -126,11 +138,33 @@
126
138
  "types": "./dist/types/adapters/memory/agentcore.d.ts",
127
139
  "import": "./dist/esm/adapters/memory/agentcore.js",
128
140
  "require": "./dist/adapters/memory/agentcore.js"
141
+ },
142
+ "./tool-providers": {
143
+ "types": "./dist/types/tool-providers/index.d.ts",
144
+ "import": "./dist/esm/tool-providers/index.js",
145
+ "require": "./dist/tool-providers/index.js"
146
+ },
147
+ "./security": {
148
+ "types": "./dist/types/security/index.d.ts",
149
+ "import": "./dist/esm/security/index.js",
150
+ "require": "./dist/security/index.js"
151
+ },
152
+ "./locales": {
153
+ "types": "./dist/types/locales/index.d.ts",
154
+ "import": "./dist/esm/locales/index.js",
155
+ "require": "./dist/locales/index.js"
129
156
  }
130
157
  },
131
158
  "sideEffects": false,
132
159
  "peerDependencies": {
133
- "footprintjs": ">=4.14.0"
160
+ "footprintjs": ">=4.14.0",
161
+ "@anthropic-ai/sdk": "*",
162
+ "openai": "*",
163
+ "@aws-sdk/client-bedrock-runtime": "*",
164
+ "@aws-sdk/client-bedrock-agent-runtime": "*",
165
+ "@modelcontextprotocol/sdk": "*",
166
+ "ioredis": "*",
167
+ "zod": "*"
134
168
  },
135
169
  "peerDependenciesMeta": {
136
170
  "@anthropic-ai/sdk": {