agentfootprint 6.44.0 → 7.0.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 (442) hide show
  1. package/AGENTS.md +4 -0
  2. package/CLAUDE.md +4 -0
  3. package/README.md +141 -167
  4. package/ai-instructions/claude-code/SKILL.md +11 -0
  5. package/ai-instructions/setup.sh +0 -0
  6. package/dist/adapters/llm/BrowserOpenAIProvider.js +1 -1
  7. package/dist/adapters/llm/MockProvider.js +2 -1
  8. package/dist/adapters/llm/MockProvider.js.map +1 -1
  9. package/dist/core/agent/buildAgentChart.js +2 -1
  10. package/dist/core/agent/buildAgentChart.js.map +1 -1
  11. package/dist/core/agent/buildDynamicAgentChart.js +3 -1
  12. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  13. package/dist/core/agent/stages/pickEntry.js +3 -1
  14. package/dist/core/agent/stages/pickEntry.js.map +1 -1
  15. package/dist/debug/finders.js +29 -0
  16. package/dist/debug/finders.js.map +1 -0
  17. package/dist/debug.js +134 -0
  18. package/dist/debug.js.map +1 -0
  19. package/dist/esm/adapters/identity/agentcore.d.ts +100 -0
  20. package/dist/esm/adapters/llm/AnthropicProvider.d.ts +130 -0
  21. package/dist/esm/adapters/llm/BedrockProvider.d.ts +100 -0
  22. package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +41 -0
  23. package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +95 -0
  24. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +1 -1
  25. package/dist/esm/adapters/llm/MockProvider.d.ts +154 -0
  26. package/dist/esm/adapters/llm/MockProvider.js +2 -1
  27. package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
  28. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +220 -0
  29. package/dist/esm/adapters/llm/createProvider.d.ts +85 -0
  30. package/dist/esm/adapters/memory/agentcore.d.ts +146 -0
  31. package/dist/esm/adapters/memory/bedrockAgentMemory.d.ts +95 -0
  32. package/dist/esm/adapters/memory/redis.d.ts +127 -0
  33. package/dist/esm/adapters/observability/agentcore.d.ts +67 -0
  34. package/dist/esm/adapters/observability/audit.d.ts +254 -0
  35. package/dist/esm/adapters/observability/cloudwatch.d.ts +96 -0
  36. package/dist/esm/adapters/observability/otel.d.ts +237 -0
  37. package/dist/esm/adapters/observability/xray.d.ts +88 -0
  38. package/dist/esm/adapters/types.d.ts +378 -0
  39. package/dist/esm/bridge/eventMeta.d.ts +59 -0
  40. package/dist/esm/cache/CacheDecisionSubflow.d.ts +85 -0
  41. package/dist/esm/cache/CacheGateDecider.d.ts +127 -0
  42. package/dist/esm/cache/applyCachePolicy.d.ts +37 -0
  43. package/dist/esm/cache/cacheRecorder.d.ts +85 -0
  44. package/dist/esm/cache/index.d.ts +33 -0
  45. package/dist/esm/cache/strategies/AnthropicCacheStrategy.d.ts +38 -0
  46. package/dist/esm/cache/strategies/BedrockCacheStrategy.d.ts +33 -0
  47. package/dist/esm/cache/strategies/NoOpCacheStrategy.d.ts +29 -0
  48. package/dist/esm/cache/strategies/OpenAICacheStrategy.d.ts +36 -0
  49. package/dist/esm/cache/strategyRegistry.d.ts +45 -0
  50. package/dist/esm/cache/types.d.ts +243 -0
  51. package/dist/esm/conventions.d.ts +203 -0
  52. package/dist/esm/core/Agent.d.ts +355 -0
  53. package/dist/esm/core/LLMCall.d.ts +139 -0
  54. package/dist/esm/core/RunnerBase.d.ts +267 -0
  55. package/dist/esm/core/agent/AgentBuilder.d.ts +565 -0
  56. package/dist/esm/core/agent/buildAgentChart.d.ts +109 -0
  57. package/dist/esm/core/agent/buildAgentChart.js +2 -1
  58. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  59. package/dist/esm/core/agent/buildAgentMessageApiChart.d.ts +40 -0
  60. package/dist/esm/core/agent/buildCacheSubflow.d.ts +35 -0
  61. package/dist/esm/core/agent/buildDynamicAgentChart.d.ts +56 -0
  62. package/dist/esm/core/agent/buildDynamicAgentChart.js +3 -1
  63. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  64. package/dist/esm/core/agent/buildMessageApiChart.d.ts +47 -0
  65. package/dist/esm/core/agent/buildToolRegistry.d.ts +61 -0
  66. package/dist/esm/core/agent/memoryRecallInjections.d.ts +8 -0
  67. package/dist/esm/core/agent/stages/breakFinal.d.ts +22 -0
  68. package/dist/esm/core/agent/stages/callLLM.d.ts +74 -0
  69. package/dist/esm/core/agent/stages/pickEntry.d.ts +19 -0
  70. package/dist/esm/core/agent/stages/pickEntry.js +3 -1
  71. package/dist/esm/core/agent/stages/pickEntry.js.map +1 -1
  72. package/dist/esm/core/agent/stages/prepareFinal.d.ts +19 -0
  73. package/dist/esm/core/agent/stages/reliabilityExecution.d.ts +135 -0
  74. package/dist/esm/core/agent/stages/route.d.ts +18 -0
  75. package/dist/esm/core/agent/stages/seed.d.ts +53 -0
  76. package/dist/esm/core/agent/stages/toolCalls.d.ts +76 -0
  77. package/dist/esm/core/agent/toolArgsValidation.d.ts +62 -0
  78. package/dist/esm/core/agent/types.d.ts +382 -0
  79. package/dist/esm/core/agent/validators.d.ts +52 -0
  80. package/dist/esm/core/cost.d.ts +38 -0
  81. package/dist/esm/core/flowchartAsTool.d.ts +200 -0
  82. package/dist/esm/core/humanizeLLMError.d.ts +23 -0
  83. package/dist/esm/core/outputFallback.d.ts +139 -0
  84. package/dist/esm/core/outputSchema.d.ts +127 -0
  85. package/dist/esm/core/pause.d.ts +74 -0
  86. package/dist/esm/core/runCheckpoint.d.ts +179 -0
  87. package/dist/esm/core/runner.d.ts +203 -0
  88. package/dist/esm/core/slots/buildMessagesSlot.d.ts +40 -0
  89. package/dist/esm/core/slots/buildSystemPromptSlot.d.ts +41 -0
  90. package/dist/esm/core/slots/buildThinkingSubflow.d.ts +40 -0
  91. package/dist/esm/core/slots/buildToolsSlot.d.ts +60 -0
  92. package/dist/esm/core/slots/helpers.d.ts +27 -0
  93. package/dist/esm/core/toolContract.d.ts +43 -0
  94. package/dist/esm/core/tools.d.ts +90 -0
  95. package/dist/esm/core/translator.d.ts +94 -0
  96. package/dist/esm/core-flow/Conditional.d.ts +119 -0
  97. package/dist/esm/core-flow/Loop.d.ts +160 -0
  98. package/dist/esm/core-flow/Parallel.d.ts +360 -0
  99. package/dist/esm/core-flow/Sequence.d.ts +133 -0
  100. package/dist/esm/debug/finders.d.ts +12 -0
  101. package/dist/esm/debug/finders.js +13 -0
  102. package/dist/esm/debug/finders.js.map +1 -0
  103. package/dist/esm/debug.d.ts +25 -0
  104. package/dist/esm/debug.js +54 -0
  105. package/dist/esm/debug.js.map +1 -0
  106. package/dist/esm/events/dispatcher.d.ts +134 -0
  107. package/dist/esm/events/payloads.d.ts +761 -0
  108. package/dist/esm/events/registry.d.ts +198 -0
  109. package/dist/esm/events/types.d.ts +70 -0
  110. package/dist/esm/events.d.ts +18 -0
  111. package/dist/esm/events.js +22 -0
  112. package/dist/esm/events.js.map +1 -0
  113. package/dist/esm/identity/kinds.d.ts +36 -0
  114. package/dist/esm/identity/staticTokens.d.ts +28 -0
  115. package/dist/esm/identity/types.d.ts +113 -0
  116. package/dist/esm/identity/withCredentialRetry.d.ts +64 -0
  117. package/dist/esm/identity.d.ts +31 -0
  118. package/dist/esm/index.d.ts +44 -0
  119. package/dist/esm/index.js +7 -52
  120. package/dist/esm/index.js.map +1 -1
  121. package/dist/esm/injection-engine.d.ts +4 -0
  122. package/dist/esm/lib/canonicalJson.d.ts +56 -0
  123. package/dist/esm/lib/context-bisect/ablation.d.ts +109 -0
  124. package/dist/esm/lib/context-bisect/bisect.d.ts +75 -0
  125. package/dist/esm/lib/context-bisect/cost.d.ts +37 -0
  126. package/dist/esm/lib/context-bisect/index.d.ts +31 -0
  127. package/dist/esm/lib/context-bisect/index.js +3 -0
  128. package/dist/esm/lib/context-bisect/index.js.map +1 -1
  129. package/dist/esm/lib/context-bisect/llmEdgeWeigher.d.ts +124 -0
  130. package/dist/esm/lib/context-bisect/localize.d.ts +152 -0
  131. package/dist/esm/lib/context-bisect/localize.js +2 -0
  132. package/dist/esm/lib/context-bisect/localize.js.map +1 -1
  133. package/dist/esm/lib/context-bisect/loop-recall.d.ts +97 -0
  134. package/dist/esm/lib/context-bisect/missingContext.d.ts +71 -0
  135. package/dist/esm/lib/context-bisect/restoration.d.ts +39 -0
  136. package/dist/esm/lib/context-bisect/toBacktrackTrace.d.ts +138 -0
  137. package/dist/esm/lib/context-bisect/trajectory.d.ts +168 -0
  138. package/dist/esm/lib/context-bisect/types.d.ts +448 -0
  139. package/dist/esm/lib/context-bisect/walk-to-root.d.ts +103 -0
  140. package/dist/esm/lib/influence-core/attributability.d.ts +72 -0
  141. package/dist/esm/lib/influence-core/cache.d.ts +94 -0
  142. package/dist/esm/lib/influence-core/contrastive.d.ts +26 -0
  143. package/dist/esm/lib/influence-core/index.d.ts +34 -0
  144. package/dist/esm/lib/influence-core/margin.d.ts +33 -0
  145. package/dist/esm/lib/influence-core/signals.d.ts +128 -0
  146. package/dist/esm/lib/influence-core/similarity.d.ts +25 -0
  147. package/dist/esm/lib/influence-core/types.d.ts +252 -0
  148. package/dist/esm/lib/injection-engine/SkillRegistry.d.ts +147 -0
  149. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.d.ts +110 -0
  150. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js +1 -0
  151. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  152. package/dist/esm/lib/injection-engine/entryScorer.d.ts +93 -0
  153. package/dist/esm/lib/injection-engine/entryScorer.js +172 -0
  154. package/dist/esm/lib/injection-engine/entryScorer.js.map +1 -0
  155. package/dist/esm/lib/injection-engine/evaluator.d.ts +24 -0
  156. package/dist/esm/lib/injection-engine/factories/defineFact.d.ts +60 -0
  157. package/dist/esm/lib/injection-engine/factories/defineInjection.d.ts +41 -0
  158. package/dist/esm/lib/injection-engine/factories/defineInstruction.d.ts +78 -0
  159. package/dist/esm/lib/injection-engine/factories/defineRelevanceHint.d.ts +26 -0
  160. package/dist/esm/lib/injection-engine/factories/defineSkill.d.ts +160 -0
  161. package/dist/esm/lib/injection-engine/factories/defineSteering.d.ts +39 -0
  162. package/dist/esm/lib/injection-engine/index.d.ts +22 -0
  163. package/dist/esm/lib/injection-engine/index.js +2 -1
  164. package/dist/esm/lib/injection-engine/index.js.map +1 -1
  165. package/dist/esm/lib/injection-engine/skillContract.d.ts +29 -0
  166. package/dist/esm/lib/injection-engine/skillGraph.d.ts +290 -0
  167. package/dist/esm/lib/injection-engine/skillGraph.js +38 -43
  168. package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
  169. package/dist/esm/lib/injection-engine/skillGraphCheckup.d.ts +49 -0
  170. package/dist/esm/lib/injection-engine/skillTools.d.ts +72 -0
  171. package/dist/esm/lib/injection-engine/softmax.d.ts +11 -0
  172. package/dist/esm/lib/injection-engine/types.d.ts +229 -0
  173. package/dist/esm/lib/injection-engine/types.js.map +1 -1
  174. package/dist/esm/lib/lazyRequire.d.ts +29 -0
  175. package/dist/esm/lib/mcp/index.d.ts +9 -0
  176. package/dist/esm/lib/mcp/mcpClient.d.ts +46 -0
  177. package/dist/esm/lib/mcp/mockMcpClient.d.ts +65 -0
  178. package/dist/esm/lib/mcp/types.d.ts +133 -0
  179. package/dist/esm/lib/rag/defineRAG.d.ts +139 -0
  180. package/dist/esm/lib/rag/defineRAG.js +3 -3
  181. package/dist/esm/lib/rag/index.d.ts +7 -0
  182. package/dist/esm/lib/rag/indexDocuments.d.ts +106 -0
  183. package/dist/esm/lib/rag/indexDocuments.js +2 -1
  184. package/dist/esm/lib/rag/indexDocuments.js.map +1 -1
  185. package/dist/esm/lib/tool-lint/analyze.d.ts +83 -0
  186. package/dist/esm/lib/tool-lint/cli.d.ts +43 -0
  187. package/dist/esm/lib/tool-lint/format.d.ts +18 -0
  188. package/dist/esm/lib/tool-lint/index.d.ts +23 -0
  189. package/dist/esm/lib/tool-lint/rules.d.ts +85 -0
  190. package/dist/esm/lib/tool-lint/types.d.ts +155 -0
  191. package/dist/esm/lib/trace-toolpack/bounded.d.ts +47 -0
  192. package/dist/esm/lib/trace-toolpack/debugPrompt.d.ts +19 -0
  193. package/dist/esm/lib/trace-toolpack/index.d.ts +20 -0
  194. package/dist/esm/lib/trace-toolpack/lazyToolpack.d.ts +35 -0
  195. package/dist/esm/lib/trace-toolpack/selfExplain.d.ts +100 -0
  196. package/dist/esm/lib/trace-toolpack/traceDebugAgent.d.ts +42 -0
  197. package/dist/esm/lib/trace-toolpack/traceToolpack.d.ts +69 -0
  198. package/dist/esm/lib/trace-toolpack/types.d.ts +59 -0
  199. package/dist/esm/llm-providers.d.ts +26 -0
  200. package/dist/esm/locales/index.d.ts +141 -0
  201. package/dist/esm/locales/index.js +7 -0
  202. package/dist/esm/locales/index.js.map +1 -1
  203. package/dist/esm/memory/beats/extractBeats.d.ts +61 -0
  204. package/dist/esm/memory/beats/extractor.d.ts +47 -0
  205. package/dist/esm/memory/beats/formatAsNarrative.d.ts +62 -0
  206. package/dist/esm/memory/beats/heuristicExtractor.d.ts +37 -0
  207. package/dist/esm/memory/beats/index.d.ts +12 -0
  208. package/dist/esm/memory/beats/llmExtractor.d.ts +56 -0
  209. package/dist/esm/memory/beats/types.d.ts +60 -0
  210. package/dist/esm/memory/beats/writeBeats.d.ts +22 -0
  211. package/dist/esm/memory/causal/evidenceRecorder.d.ts +66 -0
  212. package/dist/esm/memory/causal/index.d.ts +6 -0
  213. package/dist/esm/memory/causal/loadSnapshot.d.ts +51 -0
  214. package/dist/esm/memory/causal/snapshotPipeline.d.ts +35 -0
  215. package/dist/esm/memory/causal/types.d.ts +134 -0
  216. package/dist/esm/memory/causal/types.js.map +1 -1
  217. package/dist/esm/memory/causal/writeSnapshot.d.ts +73 -0
  218. package/dist/esm/memory/define.d.ts +63 -0
  219. package/dist/esm/memory/define.types.d.ts +278 -0
  220. package/dist/esm/memory/define.types.js +6 -4
  221. package/dist/esm/memory/define.types.js.map +1 -1
  222. package/dist/esm/memory/embedding/cosine.d.ts +18 -0
  223. package/dist/esm/memory/embedding/embedMessages.d.ts +58 -0
  224. package/dist/esm/memory/embedding/index.d.ts +8 -0
  225. package/dist/esm/memory/embedding/loadRelevant.d.ts +51 -0
  226. package/dist/esm/memory/embedding/mockEmbedder.d.ts +22 -0
  227. package/dist/esm/memory/embedding/types.d.ts +46 -0
  228. package/dist/esm/memory/entry/decay.d.ts +36 -0
  229. package/dist/esm/memory/entry/index.d.ts +2 -0
  230. package/dist/esm/memory/entry/types.d.ts +140 -0
  231. package/dist/esm/memory/facts/extractFacts.d.ts +50 -0
  232. package/dist/esm/memory/facts/extractor.d.ts +33 -0
  233. package/dist/esm/memory/facts/formatFacts.d.ts +60 -0
  234. package/dist/esm/memory/facts/index.d.ts +14 -0
  235. package/dist/esm/memory/facts/llmFactExtractor.d.ts +64 -0
  236. package/dist/esm/memory/facts/loadFacts.d.ts +43 -0
  237. package/dist/esm/memory/facts/patternFactExtractor.d.ts +2 -0
  238. package/dist/esm/memory/facts/types.d.ts +68 -0
  239. package/dist/esm/memory/facts/writeFacts.d.ts +19 -0
  240. package/dist/esm/memory/identity/index.d.ts +2 -0
  241. package/dist/esm/memory/identity/types.d.ts +49 -0
  242. package/dist/esm/memory/index.d.ts +19 -0
  243. package/dist/esm/memory/pipeline/auto.d.ts +59 -0
  244. package/dist/esm/memory/pipeline/default.d.ts +49 -0
  245. package/dist/esm/memory/pipeline/ephemeral.d.ts +28 -0
  246. package/dist/esm/memory/pipeline/fact.d.ts +26 -0
  247. package/dist/esm/memory/pipeline/index.d.ts +13 -0
  248. package/dist/esm/memory/pipeline/narrative.d.ts +35 -0
  249. package/dist/esm/memory/pipeline/semantic.d.ts +37 -0
  250. package/dist/esm/memory/pipeline/types.d.ts +31 -0
  251. package/dist/esm/memory/stages/formatDefault.d.ts +64 -0
  252. package/dist/esm/memory/stages/index.d.ts +13 -0
  253. package/dist/esm/memory/stages/loadRecent.d.ts +49 -0
  254. package/dist/esm/memory/stages/pickByBudget.d.ts +63 -0
  255. package/dist/esm/memory/stages/summarize.d.ts +87 -0
  256. package/dist/esm/memory/stages/tokenize.d.ts +43 -0
  257. package/dist/esm/memory/stages/types.d.ts +75 -0
  258. package/dist/esm/memory/stages/writeMessages.d.ts +71 -0
  259. package/dist/esm/memory/store/InMemoryStore.d.ts +62 -0
  260. package/dist/esm/memory/store/index.d.ts +2 -0
  261. package/dist/esm/memory/store/types.d.ts +223 -0
  262. package/dist/esm/memory/wire/index.d.ts +2 -0
  263. package/dist/esm/memory/wire/mountMemoryPipeline.d.ts +108 -0
  264. package/dist/esm/memory-providers.d.ts +37 -0
  265. package/dist/esm/observability/contextError/finders/compareFinders.d.ts +19 -0
  266. package/dist/esm/observability/contextError/finders/index.d.ts +22 -0
  267. package/dist/esm/observability/contextError/finders/rankSuspects.d.ts +2 -0
  268. package/dist/esm/observability/contextError/finders/removeAndRetry.d.ts +11 -0
  269. package/dist/esm/observability/contextError/finders/shrinkToCause.d.ts +11 -0
  270. package/dist/esm/observability/contextError/finders/testManyCombos.d.ts +11 -0
  271. package/dist/esm/observability/contextError/finders/traceSteps.d.ts +2 -0
  272. package/dist/esm/observability/contextError/finders/types.d.ts +88 -0
  273. package/dist/esm/observability-providers.d.ts +46 -0
  274. package/dist/esm/observe.d.ts +57 -0
  275. package/dist/esm/observe.js +7 -36
  276. package/dist/esm/observe.js.map +1 -1
  277. package/dist/esm/patterns/Debate.d.ts +39 -0
  278. package/dist/esm/patterns/MapReduce.d.ts +66 -0
  279. package/dist/esm/patterns/Reflection.d.ts +51 -0
  280. package/dist/esm/patterns/SelfConsistency.d.ts +43 -0
  281. package/dist/esm/patterns/Swarm.d.ts +60 -0
  282. package/dist/esm/patterns/ToT.d.ts +53 -0
  283. package/dist/esm/patterns/index.d.ts +22 -0
  284. package/dist/esm/providers.d.ts +33 -0
  285. package/dist/esm/providers.js +1 -1
  286. package/dist/esm/providers.js.map +1 -1
  287. package/dist/esm/recorders/core/AgentRecorder.d.ts +15 -0
  288. package/dist/esm/recorders/core/CompositionRecorder.d.ts +17 -0
  289. package/dist/esm/recorders/core/ContextEvaluatedRecorder.d.ts +23 -0
  290. package/dist/esm/recorders/core/ContextRecorder.d.ts +47 -0
  291. package/dist/esm/recorders/core/CostRecorder.d.ts +14 -0
  292. package/dist/esm/recorders/core/EmitBridge.d.ts +30 -0
  293. package/dist/esm/recorders/core/ErrorBridge.d.ts +38 -0
  294. package/dist/esm/recorders/core/EvalRecorder.d.ts +16 -0
  295. package/dist/esm/recorders/core/MemoryRecorder.d.ts +17 -0
  296. package/dist/esm/recorders/core/PermissionRecorder.d.ts +16 -0
  297. package/dist/esm/recorders/core/ReliabilityRecorder.d.ts +24 -0
  298. package/dist/esm/recorders/core/SkillRecorder.d.ts +14 -0
  299. package/dist/esm/recorders/core/StreamRecorder.d.ts +15 -0
  300. package/dist/esm/recorders/core/ToolsRecorder.d.ts +18 -0
  301. package/dist/esm/recorders/core/ValidationRecorder.d.ts +16 -0
  302. package/dist/esm/recorders/core/contextEngineering.d.ts +136 -0
  303. package/dist/esm/recorders/core/typedEmit.d.ts +34 -0
  304. package/dist/esm/recorders/core/types.d.ts +97 -0
  305. package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.d.ts +117 -0
  306. package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +546 -0
  307. package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +220 -0
  308. package/dist/esm/recorders/observability/LiveStateRecorder.d.ts +250 -0
  309. package/dist/esm/recorders/observability/LoggingRecorder.d.ts +91 -0
  310. package/dist/esm/recorders/observability/RouteRecorder.d.ts +83 -0
  311. package/dist/esm/recorders/observability/RunStepRecorder.d.ts +231 -0
  312. package/dist/esm/recorders/observability/StatusRecorder.d.ts +36 -0
  313. package/dist/esm/recorders/observability/ToolChoiceRecorder.d.ts +164 -0
  314. package/dist/esm/recorders/observability/ToolLineageRecorder.d.ts +71 -0
  315. package/dist/esm/recorders/observability/commentary/commentaryTemplates.d.ts +105 -0
  316. package/dist/esm/recorders/observability/internal/ActorArrowClassifier.d.ts +25 -0
  317. package/dist/esm/recorders/observability/internal/CandidateAnswerBuffer.d.ts +28 -0
  318. package/dist/esm/recorders/observability/internal/ForkTracker.d.ts +60 -0
  319. package/dist/esm/recorders/observability/internal/RootInferrer.d.ts +51 -0
  320. package/dist/esm/recorders/observability/internal/SequenceSiblingTracker.d.ts +24 -0
  321. package/dist/esm/recorders/observability/localObservability.d.ts +48 -0
  322. package/dist/esm/recorders/observability/observeRunId.d.ts +36 -0
  323. package/dist/esm/recorders/observability/status/statusTemplates.d.ts +106 -0
  324. package/dist/esm/recorders/observability/trace.d.ts +119 -0
  325. package/dist/esm/reliability/CircuitBreaker.d.ts +75 -0
  326. package/dist/esm/reliability/buildReliabilityGateChart.d.ts +53 -0
  327. package/dist/esm/reliability/classifyError.d.ts +28 -0
  328. package/dist/esm/reliability/index.d.ts +35 -0
  329. package/dist/esm/reliability/types.d.ts +327 -0
  330. package/dist/esm/resilience/fallbackProvider.d.ts +33 -0
  331. package/dist/esm/resilience/index.d.ts +21 -0
  332. package/dist/esm/resilience/withCircuitBreaker.d.ts +129 -0
  333. package/dist/esm/resilience/withFallback.d.ts +45 -0
  334. package/dist/esm/resilience/withRetry.d.ts +71 -0
  335. package/dist/esm/security/PermissionPolicy.d.ts +124 -0
  336. package/dist/esm/security/PolicyHaltError.d.ts +72 -0
  337. package/dist/esm/security/extractSequence.d.ts +46 -0
  338. package/dist/esm/security/index.d.ts +44 -0
  339. package/dist/esm/security/thinkingRedaction.d.ts +50 -0
  340. package/dist/esm/status.d.ts +54 -0
  341. package/dist/esm/status.js +13 -4
  342. package/dist/esm/status.js.map +1 -1
  343. package/dist/esm/strategies/attach.d.ts +47 -0
  344. package/dist/esm/strategies/compose.d.ts +48 -0
  345. package/dist/esm/strategies/defaults/chatBubbleLiveStatus.d.ts +36 -0
  346. package/dist/esm/strategies/defaults/consoleObservability.d.ts +42 -0
  347. package/dist/esm/strategies/defaults/inMemorySinkCost.d.ts +50 -0
  348. package/dist/esm/strategies/defaults/index.d.ts +30 -0
  349. package/dist/esm/strategies/defaults/noopLens.d.ts +28 -0
  350. package/dist/esm/strategies/index.d.ts +36 -0
  351. package/dist/esm/strategies/registry.d.ts +70 -0
  352. package/dist/esm/strategies/types.d.ts +303 -0
  353. package/dist/esm/stream.d.ts +82 -0
  354. package/dist/esm/thinking/AnthropicThinkingHandler.d.ts +42 -0
  355. package/dist/esm/thinking/MockThinkingHandler.d.ts +50 -0
  356. package/dist/esm/thinking/OpenAIThinkingHandler.d.ts +37 -0
  357. package/dist/esm/thinking/index.d.ts +51 -0
  358. package/dist/esm/thinking/registry.d.ts +33 -0
  359. package/dist/esm/thinking/types.d.ts +162 -0
  360. package/dist/esm/tool-providers/gatedTools.d.ts +36 -0
  361. package/dist/esm/tool-providers/index.d.ts +41 -0
  362. package/dist/esm/tool-providers/skillScopedTools.d.ts +45 -0
  363. package/dist/esm/tool-providers/staticTools.d.ts +21 -0
  364. package/dist/esm/tool-providers/types.d.ts +138 -0
  365. package/dist/events.js +42 -0
  366. package/dist/events.js.map +1 -0
  367. package/dist/index.js +7 -117
  368. package/dist/index.js.map +1 -1
  369. package/dist/lib/context-bisect/index.js +3 -0
  370. package/dist/lib/context-bisect/index.js.map +1 -1
  371. package/dist/lib/context-bisect/localize.js +2 -0
  372. package/dist/lib/context-bisect/localize.js.map +1 -1
  373. package/dist/lib/injection-engine/buildInjectionEngineSubflow.js +1 -0
  374. package/dist/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  375. package/dist/lib/injection-engine/entryScorer.js +178 -0
  376. package/dist/lib/injection-engine/entryScorer.js.map +1 -0
  377. package/dist/lib/injection-engine/index.js +6 -2
  378. package/dist/lib/injection-engine/index.js.map +1 -1
  379. package/dist/lib/injection-engine/skillGraph.js +40 -45
  380. package/dist/lib/injection-engine/skillGraph.js.map +1 -1
  381. package/dist/lib/injection-engine/types.js.map +1 -1
  382. package/dist/lib/rag/defineRAG.js +3 -3
  383. package/dist/lib/rag/indexDocuments.js +2 -1
  384. package/dist/lib/rag/indexDocuments.js.map +1 -1
  385. package/dist/locales/index.js +2 -1
  386. package/dist/locales/index.js.map +1 -1
  387. package/dist/memory/causal/types.js.map +1 -1
  388. package/dist/memory/define.types.js +6 -4
  389. package/dist/memory/define.types.js.map +1 -1
  390. package/dist/observe.js +22 -115
  391. package/dist/observe.js.map +1 -1
  392. package/dist/providers.js +3 -1
  393. package/dist/providers.js.map +1 -1
  394. package/dist/status.js +13 -5
  395. package/dist/status.js.map +1 -1
  396. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +1 -1
  397. package/dist/types/adapters/llm/MockProvider.d.ts +2 -1
  398. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
  399. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  400. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  401. package/dist/types/core/agent/stages/pickEntry.d.ts.map +1 -1
  402. package/dist/types/core/agent/types.d.ts +8 -4
  403. package/dist/types/core/agent/types.d.ts.map +1 -1
  404. package/dist/types/debug/finders.d.ts +13 -0
  405. package/dist/types/debug/finders.d.ts.map +1 -0
  406. package/dist/types/debug.d.ts +26 -0
  407. package/dist/types/debug.d.ts.map +1 -0
  408. package/dist/types/events.d.ts +19 -0
  409. package/dist/types/events.d.ts.map +1 -0
  410. package/dist/types/index.d.ts +4 -24
  411. package/dist/types/index.d.ts.map +1 -1
  412. package/dist/types/lib/context-bisect/index.d.ts +3 -0
  413. package/dist/types/lib/context-bisect/index.d.ts.map +1 -1
  414. package/dist/types/lib/context-bisect/localize.d.ts +2 -0
  415. package/dist/types/lib/context-bisect/localize.d.ts.map +1 -1
  416. package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
  417. package/dist/types/lib/injection-engine/entryScorer.d.ts +94 -0
  418. package/dist/types/lib/injection-engine/entryScorer.d.ts.map +1 -0
  419. package/dist/types/lib/injection-engine/index.d.ts +2 -1
  420. package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
  421. package/dist/types/lib/injection-engine/skillGraph.d.ts +24 -26
  422. package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
  423. package/dist/types/lib/injection-engine/types.d.ts +9 -4
  424. package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
  425. package/dist/types/lib/rag/defineRAG.d.ts +3 -3
  426. package/dist/types/lib/rag/indexDocuments.d.ts +2 -1
  427. package/dist/types/lib/rag/indexDocuments.d.ts.map +1 -1
  428. package/dist/types/locales/index.d.ts +9 -0
  429. package/dist/types/locales/index.d.ts.map +1 -1
  430. package/dist/types/memory/causal/types.d.ts +13 -9
  431. package/dist/types/memory/causal/types.d.ts.map +1 -1
  432. package/dist/types/memory/define.types.d.ts +6 -4
  433. package/dist/types/memory/define.types.d.ts.map +1 -1
  434. package/dist/types/observe.d.ts +1 -6
  435. package/dist/types/observe.d.ts.map +1 -1
  436. package/dist/types/providers.d.ts +2 -2
  437. package/dist/types/providers.d.ts.map +1 -1
  438. package/dist/types/status.d.ts +10 -4
  439. package/dist/types/status.d.ts.map +1 -1
  440. package/dist/types/tool-providers/index.d.ts +1 -1
  441. package/dist/types/tool-providers/index.d.ts.map +1 -1
  442. package/package.json +261 -57
@@ -1 +1 @@
1
- {"version":3,"file":"pickEntry.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/pickEntry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,6CAAwC;AAMxC,SAAgB,kBAAkB,CAChC,YAAoF;IAEpF,OAAO,KAAK,EAAE,KAA6B,EAAiB,EAAE;QAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAqB;YAC5B,SAAS,EAAG,KAAK,CAAC,SAAgC,IAAI,CAAC;YACvD,WAAW,EAAG,KAAK,CAAC,WAAkC,IAAI,EAAE;YAC5D,OAAO,EAAG,KAAK,CAAC,OAAmD,IAAI,EAAE;YACzE,qBAAqB,EAAG,KAAK,CAAC,qBAAuD,IAAI,EAAE;SAC5F,CAAC;QAEF,IAAI,OAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,oCAAoC;YACpC,IAAI,IAAA,uBAAS,GAAE,EAAE,CAAC;gBAChB,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CACV,0FAA0F;oBACxF,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;QACxC,CAAC;QACD,yEAAyE;QACzE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAlCD,gDAkCC"}
1
+ {"version":3,"file":"pickEntry.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/pickEntry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,6CAAwC;AAMxC,SAAgB,kBAAkB,CAChC,YAAoF;IAEpF,OAAO,KAAK,EAAE,KAA6B,EAAiB,EAAE;QAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAqB;YAC5B,SAAS,EAAG,KAAK,CAAC,SAAgC,IAAI,CAAC;YACvD,WAAW,EAAG,KAAK,CAAC,WAAkC,IAAI,EAAE;YAC5D,OAAO,EAAG,KAAK,CAAC,OAAmD,IAAI,EAAE;YACzE,qBAAqB,EAAG,KAAK,CAAC,qBAAuD,IAAI,EAAE;SAC5F,CAAC;QAEF,IAAI,OAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,oCAAoC;YACpC,IAAI,IAAA,uBAAS,GAAE,EAAE,CAAC;gBAChB,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CACV,0FAA0F;oBACxF,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;QACxC,CAAC;QACD,kFAAkF;QAClF,6EAA6E;QAC7E,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;QACnC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AApCD,gDAoCC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * agentfootprint/debug/finders — context-error finder strategies.
19
+ *
20
+ * Collapsed home for what was the 3-level-deep
21
+ * `agentfootprint/observability/contextError/finders` path. Same
22
+ * tree-shakeable, re-export-only barrel — one finder = one file = one
23
+ * named export — now under the Debug category where it belongs.
24
+ *
25
+ * The old `agentfootprint/observability/contextError/finders` path is kept
26
+ * (deprecated) for one transition version.
27
+ */
28
+ __exportStar(require("../observability/contextError/finders/index.js"), exports);
29
+ //# sourceMappingURL=finders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finders.js","sourceRoot":"","sources":["../../src/debug/finders.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;GAUG;AACH,iFAA+D"}
package/dist/debug.js ADDED
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ /**
3
+ * agentfootprint/debug — diagnosis tools for a BROKEN run.
4
+ *
5
+ * Where `agentfootprint/observe` watches a HEALTHY run (recorders), this
6
+ * subpath is the autopsy kit for a wrong answer. Split out of `observe` in
7
+ * the surface cleanup — same code, dedicated home, so the import path now
8
+ * matches the Debug docs category. The honesty discipline is unchanged:
9
+ * scores/weights are embedding-geometry PROXIES; ablation verdicts are the
10
+ * ONLY causal claims; slice completeness is bounded by tracking — and says so.
11
+ *
12
+ * Four libraries:
13
+ * • influence-core — embedding-based scoring (proxy, never causal)
14
+ * • trace-toolpack — traceToolpack + traceDebugAgent + `.selfExplain()`
15
+ * • context-bisect — localizeContextBug + ablation/restoration probes
16
+ * • tool-lint — build-time tool-catalog confusability lint
17
+ *
18
+ * For backward compatibility these are ALSO re-exported (deprecated) from
19
+ * `agentfootprint/observe` for one transition version.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.findDroppedContext = exports.defaultSuspectClassifier = exports.defaultOutcomeComparator = exports.CONTEXT_BISECT_DEFAULTS = exports.findLoopHeads = exports.classifySuspect = exports.DEFAULT_RECENCY_DECAY = exports.buildWriterFrameIndex = exports.walkTrajectory = exports.walkToRoot = exports.shortlistEarlyCulprits = exports.bucketByAnchors = exports.bisectCulprits = exports.assignCostVerdicts = exports.assembleTrajectory = exports.applyAblations = exports.ablationForSuspect = exports.traceDebugAgent = exports.SelfExplainBinding = exports.buildSelfExplainToolProvider = exports.buildSelfExplainSkill = exports.traceToolpack = exports.TOOLPACK_HARD_CAPS = exports.NO_COMPLETED_RUN_MESSAGE = exports.lazyTraceToolpack = exports.callTraceTool = exports.structuralProximity = exports.scoreMargin = exports.scoreInfluence = exports.scoreContrastiveInfluence = exports.ratioStrategy = exports.rankingConfidence = exports.persistence = exports.pairwiseSimilarity = exports.marginStrategy = exports.finalAnswerSimilarity = exports.embeddingCache = exports.EmbeddingCache = exports.DEFAULT_SHORTLIST_BAND = exports.DEFAULT_PERSISTENCE_THRESHOLD = exports.DEFAULT_MARGIN_THRESHOLD = exports.DEFAULT_INFLUENCE_WEIGHTS = exports.DEFAULT_CLEAR_WINNER_RATIO = exports.DEFAULT_CLEAR_WINNER_MARGIN = exports.contentHash = exports.compositeScore = exports.averageRelevancy = exports.adaptWeights = void 0;
23
+ exports.saysWhatNotWhenRule = exports.runToolLintCli = exports.optionalParamRule = exports.MOCK_EMBEDDER_CALIBRATION = exports.formatToolCatalogReport = exports.enumInProseRule = exports.differentiationHint = exports.descriptionRule = exports.defaultStructuralRules = exports.DEFAULT_WHEN_CUES = exports.DEFAULT_WATCH_BAND = exports.DEFAULT_OMISSION_CUES = exports.DEFAULT_CONFUSABILITY_THRESHOLD = exports.confusabilityText = exports.coerceCatalog = exports.catalogFromTools = exports.analyzeToolCatalog = exports.toBacktrackTrace = exports.verdictFor = exports.suspectLabel = exports.stepOutputText = exports.runRestorationProbe = exports.runAblationProbe = exports.probeFlipped = exports.localizeContextBug = exports.llmEdgeWeigher = void 0;
24
+ // influence-core — the ONE embedding-based scoring engine (RFC-002/003
25
+ // block D6). Not a recorder: pure, embedder-injected scoring functions
26
+ // + the shared bounded embedding cache. Honest claim: every score is an
27
+ // embedding-geometry PROXY — semantic alignment, never model internals,
28
+ // never causal attribution.
29
+ var index_js_1 = require("./lib/influence-core/index.js");
30
+ Object.defineProperty(exports, "adaptWeights", { enumerable: true, get: function () { return index_js_1.adaptWeights; } });
31
+ Object.defineProperty(exports, "averageRelevancy", { enumerable: true, get: function () { return index_js_1.averageRelevancy; } });
32
+ Object.defineProperty(exports, "compositeScore", { enumerable: true, get: function () { return index_js_1.compositeScore; } });
33
+ Object.defineProperty(exports, "contentHash", { enumerable: true, get: function () { return index_js_1.contentHash; } });
34
+ Object.defineProperty(exports, "DEFAULT_CLEAR_WINNER_MARGIN", { enumerable: true, get: function () { return index_js_1.DEFAULT_CLEAR_WINNER_MARGIN; } });
35
+ Object.defineProperty(exports, "DEFAULT_CLEAR_WINNER_RATIO", { enumerable: true, get: function () { return index_js_1.DEFAULT_CLEAR_WINNER_RATIO; } });
36
+ Object.defineProperty(exports, "DEFAULT_INFLUENCE_WEIGHTS", { enumerable: true, get: function () { return index_js_1.DEFAULT_INFLUENCE_WEIGHTS; } });
37
+ Object.defineProperty(exports, "DEFAULT_MARGIN_THRESHOLD", { enumerable: true, get: function () { return index_js_1.DEFAULT_MARGIN_THRESHOLD; } });
38
+ Object.defineProperty(exports, "DEFAULT_PERSISTENCE_THRESHOLD", { enumerable: true, get: function () { return index_js_1.DEFAULT_PERSISTENCE_THRESHOLD; } });
39
+ Object.defineProperty(exports, "DEFAULT_SHORTLIST_BAND", { enumerable: true, get: function () { return index_js_1.DEFAULT_SHORTLIST_BAND; } });
40
+ Object.defineProperty(exports, "EmbeddingCache", { enumerable: true, get: function () { return index_js_1.EmbeddingCache; } });
41
+ Object.defineProperty(exports, "embeddingCache", { enumerable: true, get: function () { return index_js_1.embeddingCache; } });
42
+ Object.defineProperty(exports, "finalAnswerSimilarity", { enumerable: true, get: function () { return index_js_1.finalAnswerSimilarity; } });
43
+ Object.defineProperty(exports, "marginStrategy", { enumerable: true, get: function () { return index_js_1.marginStrategy; } });
44
+ Object.defineProperty(exports, "pairwiseSimilarity", { enumerable: true, get: function () { return index_js_1.pairwiseSimilarity; } });
45
+ Object.defineProperty(exports, "persistence", { enumerable: true, get: function () { return index_js_1.persistence; } });
46
+ Object.defineProperty(exports, "rankingConfidence", { enumerable: true, get: function () { return index_js_1.rankingConfidence; } });
47
+ Object.defineProperty(exports, "ratioStrategy", { enumerable: true, get: function () { return index_js_1.ratioStrategy; } });
48
+ Object.defineProperty(exports, "scoreContrastiveInfluence", { enumerable: true, get: function () { return index_js_1.scoreContrastiveInfluence; } });
49
+ Object.defineProperty(exports, "scoreInfluence", { enumerable: true, get: function () { return index_js_1.scoreInfluence; } });
50
+ Object.defineProperty(exports, "scoreMargin", { enumerable: true, get: function () { return index_js_1.scoreMargin; } });
51
+ Object.defineProperty(exports, "structuralProximity", { enumerable: true, get: function () { return index_js_1.structuralProximity; } });
52
+ // Introspection toolpack (RFC-003 Part C) — footprintjs trace evidence
53
+ // exposed as TOOLS a debugging LLM calls over a COMPLETED run's artifacts.
54
+ // Bounded, honest (⚠ markers), redaction-respecting, id-navigable.
55
+ var index_js_2 = require("./lib/trace-toolpack/index.js");
56
+ Object.defineProperty(exports, "callTraceTool", { enumerable: true, get: function () { return index_js_2.callTraceTool; } });
57
+ Object.defineProperty(exports, "lazyTraceToolpack", { enumerable: true, get: function () { return index_js_2.lazyTraceToolpack; } });
58
+ Object.defineProperty(exports, "NO_COMPLETED_RUN_MESSAGE", { enumerable: true, get: function () { return index_js_2.NO_COMPLETED_RUN_MESSAGE; } });
59
+ Object.defineProperty(exports, "TOOLPACK_HARD_CAPS", { enumerable: true, get: function () { return index_js_2.TOOLPACK_HARD_CAPS; } });
60
+ Object.defineProperty(exports, "traceToolpack", { enumerable: true, get: function () { return index_js_2.traceToolpack; } });
61
+ // The two conversational doors over the toolpack: a DEDICATED debugger
62
+ // agent (separate session, any provider — cheap models welcome), and the
63
+ // in-conversation `.selfExplain()` builder option's types. Same evidence,
64
+ // same honesty discipline as the UI doors (BacktrackView / Lens).
65
+ var index_js_3 = require("./lib/trace-toolpack/index.js");
66
+ Object.defineProperty(exports, "buildSelfExplainSkill", { enumerable: true, get: function () { return index_js_3.buildSelfExplainSkill; } });
67
+ Object.defineProperty(exports, "buildSelfExplainToolProvider", { enumerable: true, get: function () { return index_js_3.buildSelfExplainToolProvider; } });
68
+ Object.defineProperty(exports, "SelfExplainBinding", { enumerable: true, get: function () { return index_js_3.SelfExplainBinding; } });
69
+ Object.defineProperty(exports, "traceDebugAgent", { enumerable: true, get: function () { return index_js_3.traceDebugAgent; } });
70
+ // Contextual-bug localizer (RFC-003 Part B, D7–D9) — "git bisect for
71
+ // context". Assembly: footprintjs causal DAG (control edges + honesty
72
+ // markers + EdgeWeigher) × influence-core scoring (D6) × consumer-run
73
+ // counterfactual ablation. §B2 claim tiers: scores/weights are
74
+ // embedding-geometry PROXIES; ablation verdicts are the ONLY causal
75
+ // claims; slice completeness is bounded by tracking — and says so.
76
+ var index_js_4 = require("./lib/context-bisect/index.js");
77
+ Object.defineProperty(exports, "ablationForSuspect", { enumerable: true, get: function () { return index_js_4.ablationForSuspect; } });
78
+ Object.defineProperty(exports, "applyAblations", { enumerable: true, get: function () { return index_js_4.applyAblations; } });
79
+ Object.defineProperty(exports, "assembleTrajectory", { enumerable: true, get: function () { return index_js_4.assembleTrajectory; } });
80
+ Object.defineProperty(exports, "assignCostVerdicts", { enumerable: true, get: function () { return index_js_4.assignCostVerdicts; } });
81
+ Object.defineProperty(exports, "bisectCulprits", { enumerable: true, get: function () { return index_js_4.bisectCulprits; } });
82
+ Object.defineProperty(exports, "bucketByAnchors", { enumerable: true, get: function () { return index_js_4.bucketByAnchors; } });
83
+ Object.defineProperty(exports, "shortlistEarlyCulprits", { enumerable: true, get: function () { return index_js_4.shortlistEarlyCulprits; } });
84
+ Object.defineProperty(exports, "walkToRoot", { enumerable: true, get: function () { return index_js_4.walkToRoot; } });
85
+ Object.defineProperty(exports, "walkTrajectory", { enumerable: true, get: function () { return index_js_4.walkTrajectory; } });
86
+ Object.defineProperty(exports, "buildWriterFrameIndex", { enumerable: true, get: function () { return index_js_4.buildWriterFrameIndex; } });
87
+ Object.defineProperty(exports, "DEFAULT_RECENCY_DECAY", { enumerable: true, get: function () { return index_js_4.DEFAULT_RECENCY_DECAY; } });
88
+ Object.defineProperty(exports, "classifySuspect", { enumerable: true, get: function () { return index_js_4.classifySuspect; } });
89
+ Object.defineProperty(exports, "findLoopHeads", { enumerable: true, get: function () { return index_js_4.findLoopHeads; } });
90
+ Object.defineProperty(exports, "CONTEXT_BISECT_DEFAULTS", { enumerable: true, get: function () { return index_js_4.CONTEXT_BISECT_DEFAULTS; } });
91
+ Object.defineProperty(exports, "defaultOutcomeComparator", { enumerable: true, get: function () { return index_js_4.defaultOutcomeComparator; } });
92
+ Object.defineProperty(exports, "defaultSuspectClassifier", { enumerable: true, get: function () { return index_js_4.defaultSuspectClassifier; } });
93
+ Object.defineProperty(exports, "findDroppedContext", { enumerable: true, get: function () { return index_js_4.findDroppedContext; } });
94
+ Object.defineProperty(exports, "formatContextBugReport", { enumerable: true, get: function () { return index_js_4.formatContextBugReport; } });
95
+ Object.defineProperty(exports, "llmCallIdsFromEvents", { enumerable: true, get: function () { return index_js_4.llmCallIdsFromEvents; } });
96
+ Object.defineProperty(exports, "llmEdgeWeigher", { enumerable: true, get: function () { return index_js_4.llmEdgeWeigher; } });
97
+ Object.defineProperty(exports, "localizeContextBug", { enumerable: true, get: function () { return index_js_4.localizeContextBug; } });
98
+ Object.defineProperty(exports, "probeFlipped", { enumerable: true, get: function () { return index_js_4.probeFlipped; } });
99
+ Object.defineProperty(exports, "runAblationProbe", { enumerable: true, get: function () { return index_js_4.runAblationProbe; } });
100
+ Object.defineProperty(exports, "runRestorationProbe", { enumerable: true, get: function () { return index_js_4.runRestorationProbe; } });
101
+ Object.defineProperty(exports, "stepOutputText", { enumerable: true, get: function () { return index_js_4.stepOutputText; } });
102
+ Object.defineProperty(exports, "suspectLabel", { enumerable: true, get: function () { return index_js_4.suspectLabel; } });
103
+ Object.defineProperty(exports, "verdictFor", { enumerable: true, get: function () { return index_js_4.verdictFor; } });
104
+ // BacktrackTrace serializer — feeds agentThinkingUI's <BacktrackView>
105
+ // (the "why?" board) straight off a localizer report. Pure mapping, no
106
+ // UI dependency; the interfaces mirror agentthinkingui's contract.
107
+ var index_js_5 = require("./lib/context-bisect/index.js");
108
+ Object.defineProperty(exports, "toBacktrackTrace", { enumerable: true, get: function () { return index_js_5.toBacktrackTrace; } });
109
+ // Tool-catalog confusability lint (RFC-002 tier 1, C1–C3) — build-time,
110
+ // CI-gateable, framework-agnostic: plain { name, description?, inputSchema? }
111
+ // tools in (OpenAI/Anthropic/MCP lists coerce via coerceCatalog; the
112
+ // library's Tool[] via catalogFromTools), a report with a gateable `ok`
113
+ // out. Pluggable structural rule pack; thresholds + embedder consumer-
114
+ // injected with our defaults. Bin: `agentfootprint-lint-tools`.
115
+ // Front door: docs/guides/tool-catalog-lint.md.
116
+ var index_js_6 = require("./lib/tool-lint/index.js");
117
+ Object.defineProperty(exports, "analyzeToolCatalog", { enumerable: true, get: function () { return index_js_6.analyzeToolCatalog; } });
118
+ Object.defineProperty(exports, "catalogFromTools", { enumerable: true, get: function () { return index_js_6.catalogFromTools; } });
119
+ Object.defineProperty(exports, "coerceCatalog", { enumerable: true, get: function () { return index_js_6.coerceCatalog; } });
120
+ Object.defineProperty(exports, "confusabilityText", { enumerable: true, get: function () { return index_js_6.confusabilityText; } });
121
+ Object.defineProperty(exports, "DEFAULT_CONFUSABILITY_THRESHOLD", { enumerable: true, get: function () { return index_js_6.DEFAULT_CONFUSABILITY_THRESHOLD; } });
122
+ Object.defineProperty(exports, "DEFAULT_OMISSION_CUES", { enumerable: true, get: function () { return index_js_6.DEFAULT_OMISSION_CUES; } });
123
+ Object.defineProperty(exports, "DEFAULT_WATCH_BAND", { enumerable: true, get: function () { return index_js_6.DEFAULT_WATCH_BAND; } });
124
+ Object.defineProperty(exports, "DEFAULT_WHEN_CUES", { enumerable: true, get: function () { return index_js_6.DEFAULT_WHEN_CUES; } });
125
+ Object.defineProperty(exports, "defaultStructuralRules", { enumerable: true, get: function () { return index_js_6.defaultStructuralRules; } });
126
+ Object.defineProperty(exports, "descriptionRule", { enumerable: true, get: function () { return index_js_6.descriptionRule; } });
127
+ Object.defineProperty(exports, "differentiationHint", { enumerable: true, get: function () { return index_js_6.differentiationHint; } });
128
+ Object.defineProperty(exports, "enumInProseRule", { enumerable: true, get: function () { return index_js_6.enumInProseRule; } });
129
+ Object.defineProperty(exports, "formatToolCatalogReport", { enumerable: true, get: function () { return index_js_6.formatToolCatalogReport; } });
130
+ Object.defineProperty(exports, "MOCK_EMBEDDER_CALIBRATION", { enumerable: true, get: function () { return index_js_6.MOCK_EMBEDDER_CALIBRATION; } });
131
+ Object.defineProperty(exports, "optionalParamRule", { enumerable: true, get: function () { return index_js_6.optionalParamRule; } });
132
+ Object.defineProperty(exports, "runToolLintCli", { enumerable: true, get: function () { return index_js_6.runToolLintCli; } });
133
+ Object.defineProperty(exports, "saysWhatNotWhenRule", { enumerable: true, get: function () { return index_js_6.saysWhatNotWhenRule; } });
134
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;;AAEH,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,wEAAwE;AACxE,4BAA4B;AAC5B,0DA4CuC;AA3CrC,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,uHAAA,2BAA2B,OAAA;AAC3B,sHAAA,0BAA0B,OAAA;AAC1B,qHAAA,yBAAyB,OAAA;AACzB,oHAAA,wBAAwB,OAAA;AACxB,yHAAA,6BAA6B,OAAA;AAC7B,kHAAA,sBAAsB,OAAA;AACtB,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,qHAAA,yBAAyB,OAAA;AACzB,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,+GAAA,mBAAmB,OAAA;AAuBrB,uEAAuE;AACvE,2EAA2E;AAC3E,mEAAmE;AACnE,0DAQuC;AAPrC,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AACjB,oHAAA,wBAAwB,OAAA;AACxB,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AAIf,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,kEAAkE;AAClE,0DAOuC;AANrC,iHAAA,qBAAqB,OAAA;AACrB,wHAAA,4BAA4B,OAAA;AAC5B,8GAAA,kBAAkB,OAAA;AAClB,2GAAA,eAAe,OAAA;AAIjB,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,+DAA+D;AAC/D,oEAAoE;AACpE,mEAAmE;AACnE,0DAmFuC;AAlFrC,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,kHAAA,sBAAsB,OAAA;AACtB,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,mHAAA,uBAAuB,OAAA;AACvB,oHAAA,wBAAwB,OAAA;AACxB,oHAAA,wBAAwB,OAAA;AACxB,8GAAA,kBAAkB,OAAA;AAClB,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,wGAAA,YAAY,OAAA;AACZ,sGAAA,UAAU,OAAA;AAyDZ,sEAAsE;AACtE,uEAAuE;AACvE,mEAAmE;AACnE,0DAQuC;AAPrC,4GAAA,gBAAgB,OAAA;AAQlB,wEAAwE;AACxE,8EAA8E;AAC9E,qEAAqE;AACrE,wEAAwE;AACxE,uEAAuE;AACvE,gEAAgE;AAChE,gDAAgD;AAChD,qDAgCkC;AA/BhC,8GAAA,kBAAkB,OAAA;AAClB,4GAAA,gBAAgB,OAAA;AAChB,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AACjB,2HAAA,+BAA+B,OAAA;AAC/B,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,6GAAA,iBAAiB,OAAA;AACjB,kHAAA,sBAAsB,OAAA;AACtB,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,6GAAA,iBAAiB,OAAA;AACjB,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * agentCoreIdentity — AWS Bedrock AgentCore Identity adapter (peer-dep
3
+ * `@aws-sdk/client-bedrock-agentcore`).
4
+ *
5
+ * import { agentCoreIdentity } from 'agentfootprint/identity';
6
+ * const credentials = agentCoreIdentity({ region: 'us-east-1' });
7
+ *
8
+ * Maps the {@link CredentialProvider} port onto AgentCore Identity's
9
+ * `GetResourceOauth2Token` (the SDK's `@requires_access_token` underneath):
10
+ * - request.mode 'machine' → `M2M`; 'user' → `USER_FEDERATION`
11
+ * - request.service → the configured OAuth2 credential-provider name
12
+ * - request.identity → (per-request workload identity scoping; see below)
13
+ * - a returned access token → `{ status: 'issued', credential: bearer(token) }`
14
+ * - a returned auth URL → `{ status: 'authorization-required' }` (3LO consent)
15
+ *
16
+ * The token vault + refresh-token handling live in AgentCore, so repeat calls
17
+ * usually return a token directly (no consent round-trip).
18
+ *
19
+ * **Per-request identity forwarding (workload identity scoping).**
20
+ * `GetResourceOauth2Token` carries NO user/tenant field — in AgentCore the
21
+ * user identity is bound EARLIER, at workload-token acquisition:
22
+ * `GetWorkloadAccessTokenForUserId(workloadName, userId)` returns a workload
23
+ * access token scoped to that user, and AgentCore keys its token vault + 3LO
24
+ * grants per (workload, user). So this adapter forwards `req.identity` (the
25
+ * `runIdentity` that the agent threads through `getCredential`) by resolving a
26
+ * per-user workload token first, then vending with it. Engages only when ALL of:
27
+ * - `req.mode === 'user'` (USER_FEDERATION — M2M is the workload's own identity),
28
+ * - a userId derives from `req.identity` (default `identity.principal`;
29
+ * override via `userIdFor`), and
30
+ * - `options.workloadName` is configured (the opt-in).
31
+ * Otherwise the static `options.workloadIdentityToken` flows exactly as before.
32
+ * `tenant` has no native AgentCore field and is NOT forwarded by default —
33
+ * tenant isolation derives from the workload identity itself (per-tenant
34
+ * workloads), or encode it via `userIdFor` (e.g. `${tenant}:${principal}`).
35
+ *
36
+ * Pattern: Adapter (GoF) + lazy peer-dep load — the AWS SDK is required only when
37
+ * `getCredential` first runs (or never, if you inject `_client`). NOTE: confirm
38
+ * the SDK command/field names against your installed
39
+ * `@aws-sdk/client-bedrock-agentcore` version — this adapter targets the
40
+ * `GetResourceOauth2Token` shape and is structured so the request→result mapping
41
+ * is unit-tested via the `_client` seam independent of the SDK.
42
+ */
43
+ import type { CredentialProvider } from '../../identity/types.js';
44
+ /** Raw result shape we consume from the AgentCore identity client. */
45
+ export interface AgentCoreOauthResponse {
46
+ readonly accessToken?: string;
47
+ readonly authorizationUrl?: string;
48
+ readonly sessionId?: string;
49
+ /** Unix seconds. */
50
+ readonly expiresAt?: number;
51
+ }
52
+ /** The minimal client surface the adapter calls — wraps `GetResourceOauth2Token`
53
+ * and (for per-user workload scoping) `GetWorkloadAccessTokenForUserId`.
54
+ * The real AWS SDK client is adapted to this; tests inject a fake via `_client`. */
55
+ export interface AgentCoreIdentityClientLike {
56
+ getResourceOauth2Token(input: {
57
+ readonly resourceCredentialProviderName: string;
58
+ readonly scopes: readonly string[];
59
+ readonly oauth2Flow: 'M2M' | 'USER_FEDERATION';
60
+ readonly forceAuthentication: boolean;
61
+ readonly workloadIdentityToken?: string;
62
+ }): Promise<AgentCoreOauthResponse>;
63
+ /** Optional — required only when `workloadName` is configured. Exchanges
64
+ * (workloadName, userId) for a USER-SCOPED workload access token; AgentCore
65
+ * keys its token vault + 3LO grants per (workload, user). */
66
+ getWorkloadAccessTokenForUserId?(input: {
67
+ readonly workloadName: string;
68
+ readonly userId: string;
69
+ }): Promise<{
70
+ readonly workloadAccessToken?: string;
71
+ }>;
72
+ }
73
+ export interface AgentCoreIdentityOptions {
74
+ readonly region?: string;
75
+ /** The agent's workload access token (AgentCore Runtime injects one in-container;
76
+ * supply it explicitly when running elsewhere). Used as-is unless a per-user
77
+ * workload token is resolved (see `workloadName`). */
78
+ readonly workloadIdentityToken?: string;
79
+ /** The AgentCore workload identity name — the OPT-IN for per-request identity
80
+ * scoping. When set, `mode: 'user'` requests carrying `req.identity` resolve a
81
+ * per-user workload access token via `GetWorkloadAccessTokenForUserId(workloadName,
82
+ * userId)` before vending, so AgentCore's token vault + 3LO grants are keyed per
83
+ * (workload, user) instead of per workload. Omit → today's static-token behavior. */
84
+ readonly workloadName?: string;
85
+ /** Map `req.identity` → the AgentCore `userId`. Default: `identity.principal`.
86
+ * `tenant` has no native AgentCore field — encode it here if you need
87
+ * tenant-scoped vault entries (e.g. ``({ tenant, principal }) =>
88
+ * tenant && principal ? `${tenant}:${principal}` : principal``). Return
89
+ * `undefined` to skip per-user scoping for that request. */
90
+ readonly userIdFor?: (identity: {
91
+ readonly principal?: string;
92
+ readonly tenant?: string;
93
+ }) => string | undefined;
94
+ /** Stable provider id (default 'agentcore-identity'). */
95
+ readonly id?: string;
96
+ /** Test seam — inject a client implementing {@link AgentCoreIdentityClientLike}. */
97
+ readonly _client?: AgentCoreIdentityClientLike;
98
+ }
99
+ /** Build a {@link CredentialProvider} backed by AWS Bedrock AgentCore Identity. */
100
+ export declare function agentCoreIdentity(options?: AgentCoreIdentityOptions): CredentialProvider;
@@ -0,0 +1,130 @@
1
+ /**
2
+ * AnthropicProvider — wraps `@anthropic-ai/sdk` as an `LLMProvider`.
3
+ *
4
+ * Pattern: Adapter (GoF) + Ports-and-Adapters (Cockburn 2005).
5
+ * Role: Outer ring — translates `LLMRequest`/`LLMResponse` to/from
6
+ * Anthropic's Messages API. Knows nothing about agents,
7
+ * recorders, or compositions.
8
+ * Emits: N/A — providers don't emit; recorders observe via Agent.
9
+ *
10
+ * ─── Limitations ────────────────────────────────────────────────────
11
+ *
12
+ * • Multi-modal content (images, video) NOT supported — the framework's
13
+ * `LLMMessage.content` is `string`. The adapter accepts text-only.
14
+ * May extend in a future release the message shape; this provider will be updated
15
+ * in lockstep.
16
+ * • `responseFormat` (JSON-Schema-coerced output) NOT exposed
17
+ * — consumers can pass schema instructions via `systemPrompt`.
18
+ */
19
+ import type { LLMChunk, LLMProvider, LLMRequest, LLMResponse } from '../types.js';
20
+ interface AnthropicClient {
21
+ messages: {
22
+ create(params: AnthropicCreateParams): Promise<AnthropicMessage>;
23
+ stream(params: AnthropicCreateParams): AnthropicStream;
24
+ };
25
+ }
26
+ interface AnthropicCreateParams {
27
+ model: string;
28
+ max_tokens: number;
29
+ messages: AnthropicMessageParam[];
30
+ system?: string;
31
+ tools?: AnthropicTool[];
32
+ temperature?: number;
33
+ stop_sequences?: string[];
34
+ thinking?: {
35
+ type: 'enabled';
36
+ budget_tokens: number;
37
+ };
38
+ }
39
+ interface AnthropicMessageParam {
40
+ role: 'user' | 'assistant';
41
+ content: string | AnthropicContentBlock[];
42
+ }
43
+ type AnthropicContentBlock = {
44
+ type: 'text';
45
+ text: string;
46
+ } | {
47
+ type: 'tool_use';
48
+ id: string;
49
+ name: string;
50
+ input: Record<string, unknown>;
51
+ } | {
52
+ type: 'tool_result';
53
+ tool_use_id: string;
54
+ content: string;
55
+ is_error?: boolean;
56
+ } | {
57
+ type: 'thinking';
58
+ thinking: string;
59
+ signature?: string;
60
+ } | {
61
+ type: 'redacted_thinking';
62
+ signature?: string;
63
+ };
64
+ interface AnthropicTool {
65
+ name: string;
66
+ description: string;
67
+ input_schema: Record<string, unknown>;
68
+ }
69
+ interface AnthropicMessage {
70
+ id: string;
71
+ model: string;
72
+ role: 'assistant';
73
+ content: AnthropicContentBlock[];
74
+ stop_reason: 'end_turn' | 'tool_use' | 'max_tokens' | string;
75
+ usage: {
76
+ input_tokens: number;
77
+ output_tokens: number;
78
+ };
79
+ }
80
+ interface AnthropicStream {
81
+ finalMessage(): Promise<AnthropicMessage>;
82
+ [Symbol.asyncIterator](): AsyncIterator<AnthropicStreamEvent>;
83
+ }
84
+ interface AnthropicStreamEvent {
85
+ type: string;
86
+ delta?: {
87
+ type: string;
88
+ text?: string;
89
+ };
90
+ }
91
+ export interface AnthropicProviderOptions {
92
+ /** API key. Defaults to `ANTHROPIC_API_KEY` env var. */
93
+ readonly apiKey?: string;
94
+ /**
95
+ * Default model used when `LLMRequest.model` is `'anthropic'` (the
96
+ * shorthand). When the request specifies a full model id, that wins.
97
+ */
98
+ readonly defaultModel?: string;
99
+ /** Default max tokens when the request doesn't set it. Default 4096. */
100
+ readonly defaultMaxTokens?: number;
101
+ /** @internal Pre-built client for testing. Skips SDK import. */
102
+ readonly _client?: AnthropicClient;
103
+ }
104
+ /**
105
+ * Build an `LLMProvider` backed by Anthropic's Messages API.
106
+ *
107
+ * @example
108
+ * import { Agent } from 'agentfootprint';
109
+ * import { anthropic } from 'agentfootprint/llm-providers';
110
+ *
111
+ * const agent = Agent.create({
112
+ * provider: anthropic({ defaultModel: 'claude-sonnet-4-5-20250929' }),
113
+ * model: 'anthropic',
114
+ * })
115
+ * .tool(weatherTool)
116
+ * .build();
117
+ */
118
+ export declare function anthropic(options?: AnthropicProviderOptions): LLMProvider;
119
+ /**
120
+ * Class form for consumers who prefer `new AnthropicProvider(...)` over
121
+ * the `anthropic(...)` factory. Identical behavior; trivial wrapper.
122
+ */
123
+ export declare class AnthropicProvider implements LLMProvider {
124
+ readonly name = "anthropic";
125
+ private readonly inner;
126
+ constructor(options?: AnthropicProviderOptions);
127
+ complete(req: LLMRequest): Promise<LLMResponse>;
128
+ stream(req: LLMRequest): AsyncIterable<LLMChunk>;
129
+ }
130
+ export {};
@@ -0,0 +1,100 @@
1
+ /**
2
+ * BedrockProvider — wraps AWS Bedrock's Converse API as an `LLMProvider`.
3
+ *
4
+ * Pattern: Adapter (GoF) + Ports-and-Adapters (Cockburn 2005).
5
+ * Role: Outer ring — translates `LLMRequest`/`LLMResponse` to/from
6
+ * AWS Bedrock's model-agnostic Converse / ConverseStream APIs.
7
+ * Works with ANY Bedrock-hosted model (Claude, Llama, Mistral,
8
+ * Titan, Mixtral, ...) without format-specific code.
9
+ * Emits: N/A.
10
+ *
11
+ * Requires: `npm install @aws-sdk/client-bedrock-runtime`
12
+ *
13
+ * The Converse API is model-agnostic — one adapter covers every
14
+ * Bedrock-hosted model (Claude, Llama, Mistral, Titan, Mixtral, ...).
15
+ *
16
+ * ─── Limitations ────────────────────────────────────────────────────
17
+ *
18
+ * • Multi-modal NOT supported (text content only).
19
+ * • Guardrail integration NOT exposed yet — pass via the SDK client
20
+ * directly if needed.
21
+ */
22
+ import type { LLMChunk, LLMProvider, LLMRequest, LLMResponse } from '../types.js';
23
+ interface BedrockClient {
24
+ send(command: unknown): Promise<unknown>;
25
+ }
26
+ interface BedrockConverseCommand {
27
+ modelId: string;
28
+ messages: BedrockMessage[];
29
+ system?: Array<{
30
+ text: string;
31
+ }>;
32
+ toolConfig?: {
33
+ tools: BedrockTool[];
34
+ };
35
+ inferenceConfig?: {
36
+ maxTokens?: number;
37
+ temperature?: number;
38
+ stopSequences?: string[];
39
+ };
40
+ }
41
+ interface BedrockMessage {
42
+ role: 'user' | 'assistant';
43
+ content: BedrockContentBlock[];
44
+ }
45
+ type BedrockContentBlock = {
46
+ text: string;
47
+ } | {
48
+ toolUse: {
49
+ toolUseId: string;
50
+ name: string;
51
+ input: Record<string, unknown>;
52
+ };
53
+ } | {
54
+ toolResult: {
55
+ toolUseId: string;
56
+ content: Array<{
57
+ text: string;
58
+ }>;
59
+ status?: 'success' | 'error';
60
+ };
61
+ };
62
+ interface BedrockTool {
63
+ toolSpec: {
64
+ name: string;
65
+ description: string;
66
+ inputSchema: {
67
+ json: Record<string, unknown>;
68
+ };
69
+ };
70
+ }
71
+ export interface BedrockProviderOptions {
72
+ /** AWS region (e.g., 'us-east-1'). Defaults to AWS SDK auto-detect. */
73
+ readonly region?: string;
74
+ /**
75
+ * Default model id (e.g., `anthropic.claude-sonnet-4-5-20250929-v1:0`).
76
+ * Used when `LLMRequest.model` is the shorthand `'bedrock'`.
77
+ */
78
+ readonly defaultModel?: string;
79
+ /** Default max tokens when not in the request. Default 4096. */
80
+ readonly defaultMaxTokens?: number;
81
+ /** @internal Pre-built client for testing. */
82
+ readonly _client?: BedrockClient;
83
+ /**
84
+ * @internal Test override for the SDK's command constructors. Real
85
+ * use goes through the dynamic `require('@aws-sdk/client-bedrock-runtime')`.
86
+ */
87
+ readonly _commands?: {
88
+ readonly Converse: new (input: BedrockConverseCommand) => unknown;
89
+ readonly ConverseStream: new (input: BedrockConverseCommand) => unknown;
90
+ };
91
+ }
92
+ export declare function bedrock(options?: BedrockProviderOptions): LLMProvider;
93
+ export declare class BedrockProvider implements LLMProvider {
94
+ readonly name = "bedrock";
95
+ private readonly inner;
96
+ constructor(options?: BedrockProviderOptions);
97
+ complete(req: LLMRequest): Promise<LLMResponse>;
98
+ stream(req: LLMRequest): AsyncIterable<LLMChunk>;
99
+ }
100
+ export {};
@@ -0,0 +1,41 @@
1
+ /**
2
+ * BrowserAnthropicProvider — fetch-based Anthropic adapter for browsers.
3
+ *
4
+ * Pattern: Adapter (GoF). Zero peer dependencies — uses global `fetch`.
5
+ * Role: Outer ring. Same `LLMProvider` contract as `AnthropicProvider`,
6
+ * but skips `@anthropic-ai/sdk` (which doesn't bundle cleanly
7
+ * for browser). Aimed at playgrounds / prototypes where the
8
+ * user supplies their own key.
9
+ * Emits: N/A.
10
+ *
11
+ * Anthropic requires the `anthropic-dangerous-direct-browser-access: true`
12
+ * header for direct browser-to-API calls. This is intentional — production
13
+ * apps should proxy through a backend.
14
+ *
15
+ * ─── Limitations ────────────────────────────────────────────────────
16
+ *
17
+ * • Multi-modal NOT supported.
18
+ * • Browser CORS — works because Anthropic explicitly allows the
19
+ * dangerous-direct header. Future API changes could require a proxy.
20
+ */
21
+ import type { LLMChunk, LLMProvider, LLMRequest, LLMResponse } from '../types.js';
22
+ export interface BrowserAnthropicProviderOptions {
23
+ /** API key. REQUIRED — browser providers don't read env vars. */
24
+ readonly apiKey: string;
25
+ /** Default model when `LLMRequest.model` is `'anthropic'`. */
26
+ readonly defaultModel?: string;
27
+ /** Default max tokens. Default 4096. */
28
+ readonly defaultMaxTokens?: number;
29
+ /** Override the API URL (proxies, edge deployments, mocks). */
30
+ readonly apiUrl?: string;
31
+ /** @internal Custom fetch implementation for tests / workers. */
32
+ readonly _fetch?: typeof fetch;
33
+ }
34
+ export declare function browserAnthropic(options: BrowserAnthropicProviderOptions): LLMProvider;
35
+ export declare class BrowserAnthropicProvider implements LLMProvider {
36
+ readonly name = "browser-anthropic";
37
+ private readonly inner;
38
+ constructor(options: BrowserAnthropicProviderOptions);
39
+ complete(req: LLMRequest): Promise<LLMResponse>;
40
+ stream(req: LLMRequest): AsyncIterable<LLMChunk>;
41
+ }