agentfootprint 7.28.0 → 8.1.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 (241) hide show
  1. package/AGENTS.md +23 -18
  2. package/README.md +41 -12
  3. package/ai-instructions/claude-code/SKILL.md +3 -3
  4. package/ai-instructions/clinerules +2 -2
  5. package/ai-instructions/copilot-instructions.md +2 -2
  6. package/ai-instructions/cursor/agentfootprint.md +2 -2
  7. package/ai-instructions/kiro/agentfootprint.md +2 -2
  8. package/ai-instructions/windsurfrules +2 -2
  9. package/dist/adapters/llm/OllamaProvider.js +628 -0
  10. package/dist/adapters/llm/OllamaProvider.js.map +1 -0
  11. package/dist/adapters/llm/OpenAIProvider.js +12 -21
  12. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  13. package/dist/adapters/llm/createProvider.js +35 -6
  14. package/dist/adapters/llm/createProvider.js.map +1 -1
  15. package/dist/core/agent/AgentBuilder.js +45 -11
  16. package/dist/core/agent/AgentBuilder.js.map +1 -1
  17. package/dist/core/agent/watch.js +39 -0
  18. package/dist/core/agent/watch.js.map +1 -0
  19. package/dist/core/agent/window/errors.js +4 -3
  20. package/dist/core/agent/window/errors.js.map +1 -1
  21. package/dist/core/agent/window/strategies/slidingWindow.js +2 -2
  22. package/dist/debug/finders.js +4 -0
  23. package/dist/debug/finders.js.map +1 -1
  24. package/dist/debug.js +4 -0
  25. package/dist/debug.js.map +1 -1
  26. package/dist/doors/context.js +34 -0
  27. package/dist/doors/context.js.map +1 -0
  28. package/dist/doors/hosting.js +32 -0
  29. package/dist/doors/hosting.js.map +1 -0
  30. package/dist/doors/memory.js +36 -0
  31. package/dist/doors/memory.js.map +1 -0
  32. package/dist/doors/observe.js +52 -0
  33. package/dist/doors/observe.js.map +1 -0
  34. package/dist/doors/providers.js +43 -0
  35. package/dist/doors/providers.js.map +1 -0
  36. package/dist/doors/resilience.js +61 -0
  37. package/dist/doors/resilience.js.map +1 -0
  38. package/dist/doors/security.js +39 -0
  39. package/dist/doors/security.js.map +1 -0
  40. package/dist/embedders/index.js.map +1 -1
  41. package/dist/esm/adapters/llm/OllamaProvider.d.ts +182 -0
  42. package/dist/esm/adapters/llm/OllamaProvider.js +622 -0
  43. package/dist/esm/adapters/llm/OllamaProvider.js.map +1 -0
  44. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +0 -12
  45. package/dist/esm/adapters/llm/OpenAIProvider.js +11 -19
  46. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  47. package/dist/esm/adapters/llm/createProvider.d.ts +25 -8
  48. package/dist/esm/adapters/llm/createProvider.js +35 -6
  49. package/dist/esm/adapters/llm/createProvider.js.map +1 -1
  50. package/dist/esm/core/agent/AgentBuilder.d.ts +37 -7
  51. package/dist/esm/core/agent/AgentBuilder.js +45 -11
  52. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  53. package/dist/esm/core/agent/watch.d.ts +59 -0
  54. package/dist/esm/core/agent/watch.js +38 -0
  55. package/dist/esm/core/agent/watch.js.map +1 -0
  56. package/dist/esm/core/agent/window/errors.js +4 -3
  57. package/dist/esm/core/agent/window/errors.js.map +1 -1
  58. package/dist/esm/core/agent/window/strategies/slidingWindow.d.ts +2 -2
  59. package/dist/esm/core/agent/window/strategies/slidingWindow.js +2 -2
  60. package/dist/esm/debug/finders.d.ts +4 -0
  61. package/dist/esm/debug/finders.js +4 -0
  62. package/dist/esm/debug/finders.js.map +1 -1
  63. package/dist/esm/debug.d.ts +4 -0
  64. package/dist/esm/debug.js +4 -0
  65. package/dist/esm/debug.js.map +1 -1
  66. package/dist/esm/doors/context.d.ts +17 -0
  67. package/dist/esm/doors/context.js +18 -0
  68. package/dist/esm/doors/context.js.map +1 -0
  69. package/dist/esm/doors/hosting.d.ts +15 -0
  70. package/dist/esm/doors/hosting.js +16 -0
  71. package/dist/esm/doors/hosting.js.map +1 -0
  72. package/dist/esm/doors/memory.d.ts +19 -0
  73. package/dist/esm/doors/memory.js +20 -0
  74. package/dist/esm/doors/memory.js.map +1 -0
  75. package/dist/esm/doors/observe.d.ts +35 -0
  76. package/dist/esm/doors/observe.js +36 -0
  77. package/dist/esm/doors/observe.js.map +1 -0
  78. package/dist/esm/doors/providers.d.ts +26 -0
  79. package/dist/esm/doors/providers.js +27 -0
  80. package/dist/esm/doors/providers.js.map +1 -0
  81. package/dist/esm/doors/resilience.d.ts +37 -0
  82. package/dist/esm/doors/resilience.js +39 -0
  83. package/dist/esm/doors/resilience.js.map +1 -0
  84. package/dist/esm/doors/security.d.ts +22 -0
  85. package/dist/esm/doors/security.js +23 -0
  86. package/dist/esm/doors/security.js.map +1 -0
  87. package/dist/esm/embedders/index.d.ts +4 -0
  88. package/dist/esm/embedders/index.js.map +1 -1
  89. package/dist/esm/hosting-providers.d.ts +4 -0
  90. package/dist/esm/hosting-providers.js +4 -0
  91. package/dist/esm/hosting-providers.js.map +1 -1
  92. package/dist/esm/identity.d.ts +4 -0
  93. package/dist/esm/identity.js +4 -0
  94. package/dist/esm/identity.js.map +1 -1
  95. package/dist/esm/index.d.ts +1 -0
  96. package/dist/esm/index.js.map +1 -1
  97. package/dist/esm/injection-engine.d.ts +4 -0
  98. package/dist/esm/injection-engine.js +4 -0
  99. package/dist/esm/injection-engine.js.map +1 -1
  100. package/dist/esm/llm-providers.d.ts +4 -0
  101. package/dist/esm/llm-providers.js +4 -0
  102. package/dist/esm/llm-providers.js.map +1 -1
  103. package/dist/esm/locales/index.d.ts +4 -0
  104. package/dist/esm/locales/index.js +4 -0
  105. package/dist/esm/locales/index.js.map +1 -1
  106. package/dist/esm/memory-providers.d.ts +4 -0
  107. package/dist/esm/memory-providers.js +4 -0
  108. package/dist/esm/memory-providers.js.map +1 -1
  109. package/dist/esm/observability/contextError/finders/index.d.ts +4 -0
  110. package/dist/esm/observability/contextError/finders/index.js.map +1 -1
  111. package/dist/esm/observability-providers.d.ts +4 -0
  112. package/dist/esm/observability-providers.js +4 -0
  113. package/dist/esm/observability-providers.js.map +1 -1
  114. package/dist/esm/providers.d.ts +13 -5
  115. package/dist/esm/providers.js +13 -5
  116. package/dist/esm/providers.js.map +1 -1
  117. package/dist/esm/reliability/index.d.ts +8 -0
  118. package/dist/esm/reliability/index.js +8 -0
  119. package/dist/esm/reliability/index.js.map +1 -1
  120. package/dist/esm/status.d.ts +4 -0
  121. package/dist/esm/status.js +4 -0
  122. package/dist/esm/status.js.map +1 -1
  123. package/dist/esm/strategies/index.d.ts +4 -0
  124. package/dist/esm/strategies/index.js +4 -0
  125. package/dist/esm/strategies/index.js.map +1 -1
  126. package/dist/esm/stream.d.ts +4 -0
  127. package/dist/esm/stream.js +4 -0
  128. package/dist/esm/stream.js.map +1 -1
  129. package/dist/esm/thinking/OllamaThinkingHandler.d.ts +60 -0
  130. package/dist/esm/thinking/OllamaThinkingHandler.js +107 -0
  131. package/dist/esm/thinking/OllamaThinkingHandler.js.map +1 -0
  132. package/dist/esm/thinking/index.d.ts +5 -0
  133. package/dist/esm/thinking/index.js +5 -0
  134. package/dist/esm/thinking/index.js.map +1 -1
  135. package/dist/esm/thinking/registry.js +2 -0
  136. package/dist/esm/thinking/registry.js.map +1 -1
  137. package/dist/esm/tool-providers/index.d.ts +4 -0
  138. package/dist/esm/tool-providers/index.js +4 -0
  139. package/dist/esm/tool-providers/index.js.map +1 -1
  140. package/dist/hosting-providers.js +4 -0
  141. package/dist/hosting-providers.js.map +1 -1
  142. package/dist/identity.js +4 -0
  143. package/dist/identity.js.map +1 -1
  144. package/dist/index.js.map +1 -1
  145. package/dist/injection-engine.js +4 -0
  146. package/dist/injection-engine.js.map +1 -1
  147. package/dist/llm-providers.js +4 -0
  148. package/dist/llm-providers.js.map +1 -1
  149. package/dist/locales/index.js +4 -0
  150. package/dist/locales/index.js.map +1 -1
  151. package/dist/memory-providers.js +4 -0
  152. package/dist/memory-providers.js.map +1 -1
  153. package/dist/observability/contextError/finders/index.js.map +1 -1
  154. package/dist/observability-providers.js +4 -0
  155. package/dist/observability-providers.js.map +1 -1
  156. package/dist/providers.js +16 -6
  157. package/dist/providers.js.map +1 -1
  158. package/dist/reliability/index.js +8 -0
  159. package/dist/reliability/index.js.map +1 -1
  160. package/dist/status.js +4 -0
  161. package/dist/status.js.map +1 -1
  162. package/dist/strategies/index.js +4 -0
  163. package/dist/strategies/index.js.map +1 -1
  164. package/dist/stream.js +4 -0
  165. package/dist/stream.js.map +1 -1
  166. package/dist/thinking/OllamaThinkingHandler.js +111 -0
  167. package/dist/thinking/OllamaThinkingHandler.js.map +1 -0
  168. package/dist/thinking/index.js +8 -1
  169. package/dist/thinking/index.js.map +1 -1
  170. package/dist/thinking/registry.js +2 -0
  171. package/dist/thinking/registry.js.map +1 -1
  172. package/dist/tool-providers/index.js +4 -0
  173. package/dist/tool-providers/index.js.map +1 -1
  174. package/dist/types/adapters/llm/OllamaProvider.d.ts +183 -0
  175. package/dist/types/adapters/llm/OllamaProvider.d.ts.map +1 -0
  176. package/dist/types/adapters/llm/OpenAIProvider.d.ts +0 -12
  177. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  178. package/dist/types/adapters/llm/createProvider.d.ts +25 -8
  179. package/dist/types/adapters/llm/createProvider.d.ts.map +1 -1
  180. package/dist/types/core/agent/AgentBuilder.d.ts +37 -7
  181. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  182. package/dist/types/core/agent/watch.d.ts +60 -0
  183. package/dist/types/core/agent/watch.d.ts.map +1 -0
  184. package/dist/types/core/agent/window/errors.d.ts.map +1 -1
  185. package/dist/types/core/agent/window/strategies/slidingWindow.d.ts +2 -2
  186. package/dist/types/debug/finders.d.ts +4 -0
  187. package/dist/types/debug/finders.d.ts.map +1 -1
  188. package/dist/types/debug.d.ts +4 -0
  189. package/dist/types/debug.d.ts.map +1 -1
  190. package/dist/types/doors/context.d.ts +18 -0
  191. package/dist/types/doors/context.d.ts.map +1 -0
  192. package/dist/types/doors/hosting.d.ts +16 -0
  193. package/dist/types/doors/hosting.d.ts.map +1 -0
  194. package/dist/types/doors/memory.d.ts +20 -0
  195. package/dist/types/doors/memory.d.ts.map +1 -0
  196. package/dist/types/doors/observe.d.ts +36 -0
  197. package/dist/types/doors/observe.d.ts.map +1 -0
  198. package/dist/types/doors/providers.d.ts +27 -0
  199. package/dist/types/doors/providers.d.ts.map +1 -0
  200. package/dist/types/doors/resilience.d.ts +38 -0
  201. package/dist/types/doors/resilience.d.ts.map +1 -0
  202. package/dist/types/doors/security.d.ts +23 -0
  203. package/dist/types/doors/security.d.ts.map +1 -0
  204. package/dist/types/embedders/index.d.ts +4 -0
  205. package/dist/types/embedders/index.d.ts.map +1 -1
  206. package/dist/types/hosting-providers.d.ts +4 -0
  207. package/dist/types/hosting-providers.d.ts.map +1 -1
  208. package/dist/types/identity.d.ts +4 -0
  209. package/dist/types/identity.d.ts.map +1 -1
  210. package/dist/types/index.d.ts +1 -0
  211. package/dist/types/index.d.ts.map +1 -1
  212. package/dist/types/injection-engine.d.ts +4 -0
  213. package/dist/types/injection-engine.d.ts.map +1 -1
  214. package/dist/types/llm-providers.d.ts +4 -0
  215. package/dist/types/llm-providers.d.ts.map +1 -1
  216. package/dist/types/locales/index.d.ts +4 -0
  217. package/dist/types/locales/index.d.ts.map +1 -1
  218. package/dist/types/memory-providers.d.ts +4 -0
  219. package/dist/types/memory-providers.d.ts.map +1 -1
  220. package/dist/types/observability/contextError/finders/index.d.ts +4 -0
  221. package/dist/types/observability/contextError/finders/index.d.ts.map +1 -1
  222. package/dist/types/observability-providers.d.ts +4 -0
  223. package/dist/types/observability-providers.d.ts.map +1 -1
  224. package/dist/types/providers.d.ts +13 -5
  225. package/dist/types/providers.d.ts.map +1 -1
  226. package/dist/types/reliability/index.d.ts +8 -0
  227. package/dist/types/reliability/index.d.ts.map +1 -1
  228. package/dist/types/status.d.ts +4 -0
  229. package/dist/types/status.d.ts.map +1 -1
  230. package/dist/types/strategies/index.d.ts +4 -0
  231. package/dist/types/strategies/index.d.ts.map +1 -1
  232. package/dist/types/stream.d.ts +4 -0
  233. package/dist/types/stream.d.ts.map +1 -1
  234. package/dist/types/thinking/OllamaThinkingHandler.d.ts +61 -0
  235. package/dist/types/thinking/OllamaThinkingHandler.d.ts.map +1 -0
  236. package/dist/types/thinking/index.d.ts +5 -0
  237. package/dist/types/thinking/index.d.ts.map +1 -1
  238. package/dist/types/thinking/registry.d.ts.map +1 -1
  239. package/dist/types/tool-providers/index.d.ts +4 -0
  240. package/dist/types/tool-providers/index.d.ts.map +1 -1
  241. package/package.json +184 -155
@@ -1,4 +1,8 @@
1
1
  /**
2
2
  * agentfootprint/injection-engine — public re-export for the InjectionEngine subsystem.
3
+ *
4
+ * @deprecated Since 8.0.0 — import from `agentfootprint/context` instead.
5
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
6
+ * here is the same symbol on the new door, not a copy.
3
7
  */
4
8
  export * from './lib/injection-engine/index.js';
@@ -1,5 +1,9 @@
1
1
  /**
2
2
  * agentfootprint/injection-engine — public re-export for the InjectionEngine subsystem.
3
+ *
4
+ * @deprecated Since 8.0.0 — import from `agentfootprint/context` instead.
5
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
6
+ * here is the same symbol on the new door, not a copy.
3
7
  */
4
8
  export * from './lib/injection-engine/index.js';
5
9
  //# sourceMappingURL=injection-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"injection-engine.js","sourceRoot":"","sources":["../../src/injection-engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"injection-engine.js","sourceRoot":"","sources":["../../src/injection-engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,iCAAiC,CAAC"}
@@ -22,5 +22,9 @@
22
22
  *
23
23
  * @example
24
24
  * import { mock, AnthropicProvider } from 'agentfootprint/llm-providers';
25
+ *
26
+ * @deprecated Since 8.0.0 — import from `agentfootprint/providers` instead.
27
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
28
+ * here is the same symbol on the new door, not a copy.
25
29
  */
26
30
  export * from './providers.js';
@@ -22,6 +22,10 @@
22
22
  *
23
23
  * @example
24
24
  * import { mock, AnthropicProvider } from 'agentfootprint/llm-providers';
25
+ *
26
+ * @deprecated Since 8.0.0 — import from `agentfootprint/providers` instead.
27
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
28
+ * here is the same symbol on the new door, not a copy.
25
29
  */
26
30
  export * from './providers.js';
27
31
  //# sourceMappingURL=llm-providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-providers.js","sourceRoot":"","sources":["../../src/llm-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"llm-providers.js","sourceRoot":"","sources":["../../src/llm-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,cAAc,gBAAgB,CAAC"}
@@ -58,6 +58,10 @@
58
58
  * const myCatalog = composeMessages(defaultCommentaryMessages, customOverrides);
59
59
  * validateMessages(myCatalog, Object.keys(defaultCommentaryMessages));
60
60
  * // throws on first missing OR empty key — fail-fast at boot
61
+ *
62
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
63
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
64
+ * here is the same symbol on the new door, not a copy.
61
65
  */
62
66
  import { defaultStatusTemplates } from '../recorders/observability/status/statusTemplates.js';
63
67
  export type { CommentaryTemplates as MessageCatalog } from '../recorders/observability/commentary/commentaryTemplates.js';
@@ -58,6 +58,10 @@
58
58
  * const myCatalog = composeMessages(defaultCommentaryMessages, customOverrides);
59
59
  * validateMessages(myCatalog, Object.keys(defaultCommentaryMessages));
60
60
  * // throws on first missing OR empty key — fail-fast at boot
61
+ *
62
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
63
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
64
+ * here is the same symbol on the new door, not a copy.
61
65
  */
62
66
  import { defaultCommentaryTemplates } from '../recorders/observability/commentary/commentaryTemplates.js';
63
67
  import { defaultStatusTemplates } from '../recorders/observability/status/statusTemplates.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/locales/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAI9F;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAE9D;;;;;GAKG;AACH,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAGlC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAW,EACX,YAA8C,EAAE;IAEhD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAyC,EACzC,YAA+B,EAC/B,OAAyC,EAAE;IAE3C,MAAM,QAAQ,GAA4B,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5F,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,iBAAiB,CAAC;IAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC;IAElD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/locales/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAI9F;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAE9D;;;;;GAKG;AACH,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAGlC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAW,EACX,YAA8C,EAAE;IAEhD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAyC,EACzC,YAA+B,EAC/B,OAAyC,EAAE;IAE3C,MAAM,QAAQ,GAA4B,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5F,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,iBAAiB,CAAC;IAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC;IAElD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC"}
@@ -31,6 +31,10 @@
31
31
  *
32
32
  * @example
33
33
  * import { RedisStore, AgentCoreStore } from 'agentfootprint/memory-providers';
34
+ *
35
+ * @deprecated Since 8.0.0 — import from `agentfootprint/memory` instead.
36
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
37
+ * here is the same symbol on the new door, not a copy.
34
38
  */
35
39
  export { RedisStore, type RedisStoreOptions, type RedisLikeClient, type RedisLikePipeline, } from './adapters/memory/redis.js';
36
40
  export { AgentCoreStore, UnreadableMemoryEntryError, type AgentCoreStoreOptions, type AgentCoreLikeClient, type AgentCoreEvent, type AgentCoreMemoryRecord, } from './adapters/memory/agentcore.js';
@@ -31,6 +31,10 @@
31
31
  *
32
32
  * @example
33
33
  * import { RedisStore, AgentCoreStore } from 'agentfootprint/memory-providers';
34
+ *
35
+ * @deprecated Since 8.0.0 — import from `agentfootprint/memory` instead.
36
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
37
+ * here is the same symbol on the new door, not a copy.
34
38
  */
35
39
  // Lazy-required peer-dep stores. Both adapters defer their vendor SDK
36
40
  // `require()` to constructor time; importing this barrel doesn't load
@@ -1 +1 @@
1
- {"version":3,"file":"memory-providers.js","sourceRoot":"","sources":["../../src/memory-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,sEAAsE;AACtE,sEAAsE;AACtE,wDAAwD;AACxD,OAAO,EACL,UAAU,GAIX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,cAAc,EACd,0BAA0B,GAK3B,MAAM,gCAAgC,CAAC;AAExC,8EAA8E;AAC9E,yEAAyE;AACzE,OAAO,EACL,kBAAkB,GAInB,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"memory-providers.js","sourceRoot":"","sources":["../../src/memory-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,sEAAsE;AACtE,sEAAsE;AACtE,wDAAwD;AACxD,OAAO,EACL,UAAU,GAIX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,cAAc,EACd,0BAA0B,GAK3B,MAAM,gCAAgC,CAAC;AAExC,8EAA8E;AAC9E,yEAAyE;AACzE,OAAO,EACL,kBAAkB,GAInB,MAAM,yCAAyC,CAAC"}
@@ -12,6 +12,10 @@
12
12
  * Tree-shakeable: one finder = one file = one named export. Importing one finder does
13
13
  * not pull the others (or the heavy ablation path behind removeAndRetry). This barrel
14
14
  * is re-export-only — no runtime code, no registry.
15
+ *
16
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
17
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
18
+ * here is the same symbol on the new door, not a copy.
15
19
  */
16
20
  export type { ContextPiece, Evidence, Finder, FinderMeta, FindInput, FindResult, Granularity, ScoredSuspect, StepInput, } from './types.js';
17
21
  export { rankSuspects } from './rankSuspects.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/index.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAmB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAmB,MAAM,qBAAqB,CAAC"}
@@ -37,6 +37,10 @@
37
37
  * and `otelObservability` covers the Datadog use case. We'll ship a
38
38
  * dedicated `dd-trace`-based adapter only if real-world feedback
39
39
  * demands the native Datadog APM client.
40
+ *
41
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
42
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
43
+ * here is the same symbol on the new door, not a copy.
40
44
  */
41
45
  export { agentcoreObservability, type AgentcoreObservabilityOptions, } from './adapters/observability/agentcore.js';
42
46
  export { cloudwatchObservability, type CloudwatchObservabilityOptions, } from './adapters/observability/cloudwatch.js';
@@ -37,6 +37,10 @@
37
37
  * and `otelObservability` covers the Datadog use case. We'll ship a
38
38
  * dedicated `dd-trace`-based adapter only if real-world feedback
39
39
  * demands the native Datadog APM client.
40
+ *
41
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
42
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
43
+ * here is the same symbol on the new door, not a copy.
40
44
  */
41
45
  export { agentcoreObservability, } from './adapters/observability/agentcore.js';
42
46
  export { cloudwatchObservability, } from './adapters/observability/cloudwatch.js';
@@ -1 +1 @@
1
- {"version":3,"file":"observability-providers.js","sourceRoot":"","sources":["../../src/observability-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EACL,sBAAsB,GAEvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,uBAAuB,GAExB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,iBAAiB,GAGlB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,iBAAiB,GAQlB,MAAM,kCAAkC,CAAC;AAC1C,sEAAsE;AACtE,sEAAsE;AACtE,8CAA8C;AAC9C,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,GAOhB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"observability-providers.js","sourceRoot":"","sources":["../../src/observability-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EACL,sBAAsB,GAEvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,uBAAuB,GAExB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,iBAAiB,GAGlB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,iBAAiB,GAQlB,MAAM,kCAAkC,CAAC;AAC1C,sEAAsE;AACtE,sEAAsE;AACtE,8CAA8C;AAC9C,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,GAOhB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -14,18 +14,26 @@
14
14
  *
15
15
  * What's here today:
16
16
  * • `mock` / `MockProvider` — deterministic + realistic-mode mock
17
+ * • `ollama` / `OllamaProvider` — local models, free, no API key
17
18
  * • `anthropic` / `AnthropicProvider` — real provider (Claude)
18
19
  * • `openai` / `OpenAIProvider` — real provider (GPT)
20
+ * • `bedrock`, `azureOpenai`, and the `browser*` variants
21
+ *
22
+ * The ladder these are FOR: `mock()` while you shape the logic →
23
+ * `ollama('<model>')` for a real model that costs nothing and needs no
24
+ * key → a paid API in production. The agent code above them does not
25
+ * change between the three; that is the whole point of the port.
19
26
  *
20
27
  * Bring your own (BYO):
21
- * For Bedrock / Ollama / Cohere / on-prem / fine-tuned models,
22
- * implement the `LLMProvider` interface (see `LLMProvider` exported
23
- * from the main barrel) — `complete()` is required, `stream()` is
24
- * optional. The `MockProvider` source is the canonical reference.
28
+ * For Cohere / on-prem / fine-tuned models, implement the
29
+ * `LLMProvider` interface (see `LLMProvider` exported from the main
30
+ * barrel) — `complete()` is required, `stream()` is optional. The
31
+ * `MockProvider` source is the canonical reference.
25
32
  */
26
33
  export { MockProvider, mock, type MockProviderOptions, type MockReply, type LatencyMs, } from './adapters/llm/MockProvider.js';
27
34
  export { anthropic, AnthropicProvider, type AnthropicProviderOptions, } from './adapters/llm/AnthropicProvider.js';
28
- export { openai, OpenAIProvider, ollama, azureOpenai, type OpenAIProviderOptions, type AzureOpenAIProviderOptions, } from './adapters/llm/OpenAIProvider.js';
35
+ export { openai, OpenAIProvider, azureOpenai, type OpenAIProviderOptions, type AzureOpenAIProviderOptions, } from './adapters/llm/OpenAIProvider.js';
36
+ export { ollama, OllamaProvider, OllamaUnavailableError, type OllamaProviderOptions, type ThinkLevel, } from './adapters/llm/OllamaProvider.js';
29
37
  export { bedrock, BedrockProvider, type BedrockProviderOptions, } from './adapters/llm/BedrockProvider.js';
30
38
  export { browserAnthropic, BrowserAnthropicProvider, type BrowserAnthropicProviderOptions, } from './adapters/llm/BrowserAnthropicProvider.js';
31
39
  export { browserOpenai, BrowserOpenAIProvider, type BrowserOpenAIProviderOptions, browserAzureOpenai, BrowserAzureOpenAIProvider, type BrowserAzureOpenAIProviderOptions, } from './adapters/llm/BrowserOpenAIProvider.js';
@@ -14,18 +14,26 @@
14
14
  *
15
15
  * What's here today:
16
16
  * • `mock` / `MockProvider` — deterministic + realistic-mode mock
17
+ * • `ollama` / `OllamaProvider` — local models, free, no API key
17
18
  * • `anthropic` / `AnthropicProvider` — real provider (Claude)
18
19
  * • `openai` / `OpenAIProvider` — real provider (GPT)
20
+ * • `bedrock`, `azureOpenai`, and the `browser*` variants
21
+ *
22
+ * The ladder these are FOR: `mock()` while you shape the logic →
23
+ * `ollama('<model>')` for a real model that costs nothing and needs no
24
+ * key → a paid API in production. The agent code above them does not
25
+ * change between the three; that is the whole point of the port.
19
26
  *
20
27
  * Bring your own (BYO):
21
- * For Bedrock / Ollama / Cohere / on-prem / fine-tuned models,
22
- * implement the `LLMProvider` interface (see `LLMProvider` exported
23
- * from the main barrel) — `complete()` is required, `stream()` is
24
- * optional. The `MockProvider` source is the canonical reference.
28
+ * For Cohere / on-prem / fine-tuned models, implement the
29
+ * `LLMProvider` interface (see `LLMProvider` exported from the main
30
+ * barrel) — `complete()` is required, `stream()` is optional. The
31
+ * `MockProvider` source is the canonical reference.
25
32
  */
26
33
  export { MockProvider, mock, } from './adapters/llm/MockProvider.js';
27
34
  export { anthropic, AnthropicProvider, } from './adapters/llm/AnthropicProvider.js';
28
- export { openai, OpenAIProvider, ollama, azureOpenai, } from './adapters/llm/OpenAIProvider.js';
35
+ export { openai, OpenAIProvider, azureOpenai, } from './adapters/llm/OpenAIProvider.js';
36
+ export { ollama, OllamaProvider, OllamaUnavailableError, } from './adapters/llm/OllamaProvider.js';
29
37
  export { bedrock, BedrockProvider, } from './adapters/llm/BedrockProvider.js';
30
38
  export { browserAnthropic, BrowserAnthropicProvider, } from './adapters/llm/BrowserAnthropicProvider.js';
31
39
  export { browserOpenai, BrowserOpenAIProvider, browserAzureOpenai, BrowserAzureOpenAIProvider, } from './adapters/llm/BrowserOpenAIProvider.js';
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EACL,YAAY,EACZ,IAAI,GAIL,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,SAAS,EACT,iBAAiB,GAElB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,MAAM,EACN,cAAc,EACd,MAAM,EACN,WAAW,GAGZ,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,OAAO,EACP,eAAe,GAEhB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GAEzB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,aAAa,EACb,qBAAqB,EAErB,kBAAkB,EAClB,0BAA0B,GAE3B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,cAAc,GAGf,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EACL,YAAY,EACZ,IAAI,GAIL,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,SAAS,EACT,iBAAiB,GAElB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,MAAM,EACN,cAAc,EACd,WAAW,GAGZ,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,MAAM,EACN,cAAc,EACd,sBAAsB,GAGvB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,OAAO,EACP,eAAe,GAEhB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GAEzB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,aAAa,EACb,qBAAqB,EAErB,kBAAkB,EAClB,0BAA0B,GAE3B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,cAAc,GAGf,MAAM,kCAAkC,CAAC"}
@@ -27,6 +27,14 @@
27
27
  * }
28
28
  * }
29
29
  * ```
30
+ *
31
+ * `CircuitOpenError` is the one name that does NOT move: the gate throws a
32
+ * different class than the provider decorator does, so this path stays the
33
+ * only home for it. Everything else here is also on the new door.
34
+ *
35
+ * @deprecated Since 8.0.0 — import from `agentfootprint/resilience` instead.
36
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
37
+ * here is the same symbol on the new door, not a copy.
30
38
  */
31
39
  export type { CircuitBreakerConfig, ReliabilityConfig, ReliabilityDecision, ReliabilityFallbackFn, ReliabilityProvider, ReliabilityRule, ReliabilityScope, } from './types.js';
32
40
  export { ReliabilityFailFastError } from './types.js';
@@ -27,6 +27,14 @@
27
27
  * }
28
28
  * }
29
29
  * ```
30
+ *
31
+ * `CircuitOpenError` is the one name that does NOT move: the gate throws a
32
+ * different class than the provider decorator does, so this path stays the
33
+ * only home for it. Everything else here is also on the new door.
34
+ *
35
+ * @deprecated Since 8.0.0 — import from `agentfootprint/resilience` instead.
36
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
37
+ * here is the same symbol on the new door, not a copy.
30
38
  */
31
39
  export { ReliabilityFailFastError } from './types.js';
32
40
  // CircuitBreaker pure-state-machine surface — exposed so consumers can
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reliability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAYH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,uEAAuE;AACvE,qEAAqE;AACrE,+DAA+D;AAC/D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GAGpB,MAAM,qBAAqB,CAAC;AAE7B,wEAAwE;AACxE,mEAAmE;AACnE,+DAA+D;AAC/D,sEAAsE;AACtE,mEAAmE;AACnE,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reliability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAYH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,uEAAuE;AACvE,qEAAqE;AACrE,+DAA+D;AAC/D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GAGpB,MAAM,qBAAqB,CAAC;AAE7B,wEAAwE;AACxE,mEAAmE;AACnE,+DAA+D;AAC/D,sEAAsE;AACtE,mEAAmE;AACnE,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,8CAA8C,CAAC"}
@@ -50,5 +50,9 @@
50
50
  * └──────────┘
51
51
  *
52
52
  * (null) run done / between calls → bubble hidden
53
+ *
54
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
55
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
56
+ * here is the same symbol on the new door, not a copy.
53
57
  */
54
58
  export { selectStatus, renderStatusLine, type StatusState, type StatusKind, type StatusTemplates, type StatusContext, } from './recorders/observability/status/statusTemplates.js';
@@ -50,6 +50,10 @@
50
50
  * └──────────┘
51
51
  *
52
52
  * (null) run done / between calls → bubble hidden
53
+ *
54
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
55
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
56
+ * here is the same symbol on the new door, not a copy.
53
57
  */
54
58
  // Logic only — the status state machine + renderer. The prose catalog
55
59
  // (`defaultStatusTemplates`) lives on `agentfootprint/locales`, the single
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,sEAAsE;AACtE,2EAA2E;AAC3E,iEAAiE;AACjE,OAAO,EACL,YAAY,EACZ,gBAAgB,GAKjB,MAAM,qDAAqD,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,sEAAsE;AACtE,2EAA2E;AAC3E,iEAAiE;AACjE,OAAO,EACL,YAAY,EACZ,gBAAgB,GAKjB,MAAM,qDAAqD,CAAC"}
@@ -29,6 +29,10 @@
29
29
  * so consumers who never call a particular factory don't have to
30
30
  * install that SDK. Peer-deps are declared in package.json with
31
31
  * `peerDependenciesMeta.{name}.optional = true`.
32
+ *
33
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
34
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
35
+ * here is the same symbol on the new door, not a copy.
32
36
  */
33
37
  export * from './types.js';
34
38
  export * from './defaults/index.js';
@@ -29,6 +29,10 @@
29
29
  * so consumers who never call a particular factory don't have to
30
30
  * install that SDK. Peer-deps are declared in package.json with
31
31
  * `peerDependenciesMeta.{name}.optional = true`.
32
+ *
33
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
34
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
35
+ * here is the same symbol on the new door, not a copy.
32
36
  */
33
37
  export * from './types.js';
34
38
  export * from './defaults/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/strategies/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,wBAAwB,GAIzB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/strategies/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,wBAAwB,GAIzB,MAAM,aAAa,CAAC"}
@@ -7,6 +7,10 @@
7
7
  * framework that accepts an async iterable response body
8
8
  * (Fetch Response, Express res.write, Hono streaming, etc.).
9
9
  * Emits: N/A — observes only.
10
+ *
11
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
12
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
13
+ * here is the same symbol on the new door, not a copy.
10
14
  */
11
15
  import type { AgentfootprintEvent } from './events/registry.js';
12
16
  import type { RunnerBase } from './core/RunnerBase.js';
@@ -7,6 +7,10 @@
7
7
  * framework that accepts an async iterable response body
8
8
  * (Fetch Response, Express res.write, Hono streaming, etc.).
9
9
  * Emits: N/A — observes only.
10
+ *
11
+ * @deprecated Since 8.0.0 — import from `agentfootprint/observe` instead.
12
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
13
+ * here is the same symbol on the new door, not a copy.
10
14
  */
11
15
  /**
12
16
  * Subscribe to a runner's `EventDispatcher` and yield SSE-formatted
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * OllamaThinkingHandler — normalizes a local reasoning model's thinking
3
+ * into the framework's `ThinkingBlock[]` contract.
4
+ *
5
+ * Local reasoning models (deepseek-r1, qwen3, gpt-oss, …) reason in the
6
+ * open, and where that reasoning LANDS depends on how they were asked:
7
+ *
8
+ * 1. ASKED (`ollama('qwen3', { think: true })`, or the agent's
9
+ * `.thinking({ budget })`) — Ollama lifts the reasoning out of the
10
+ * answer into `message.thinking`. The adapter forwards it as
11
+ * `{ kind: 'field', thinking }`. This is the good path.
12
+ *
13
+ * 2. NOT ASKED — the same model writes `<think>…</think>` straight into
14
+ * the answer text. The adapter recognizes the shape and forwards the
15
+ * whole answer as `{ kind: 'inline', content }`.
16
+ *
17
+ * **The library recognizes the inline shape; it never rewrites the
18
+ * answer.** Blocks produced from case 2 describe text that is STILL
19
+ * present, verbatim, in `LLMResponse.content` — because silently editing
20
+ * a model's answer is a meaning change, and that is the application's
21
+ * decision to make, not this library's. If you want the reasoning out of
22
+ * the answer, ask for it: turn `think` on, and the model stops putting it
23
+ * there.
24
+ *
25
+ * **No signature** — nothing on this wire is signed, so there is no
26
+ * round-trip integrity invariant (unlike Anthropic). `signature` stays
27
+ * undefined.
28
+ *
29
+ * **No `summary` flag** — this is raw reasoning, not a structured summary
30
+ * (unlike OpenAI's `reasoning_summary`).
31
+ *
32
+ * **`parseChunk`** — the adapter already emits `LLMChunk.thinkingDelta`
33
+ * directly while streaming (Ollama sends `message.thinking` deltas frame
34
+ * by frame), so the framework does not need this to see live reasoning.
35
+ * It is implemented anyway for consumers driving the handler themselves.
36
+ */
37
+ import type { ThinkingHandler } from './types.js';
38
+ /**
39
+ * What `OllamaProvider` puts on `LLMResponse.rawThinking`.
40
+ *
41
+ * Tagged rather than a bare string so the handler never has to GUESS which
42
+ * of the two situations it is looking at — and so a consumer reading the
43
+ * raw value can tell whether the reasoning is also sitting in the answer.
44
+ */
45
+ export type OllamaRawThinking = {
46
+ readonly kind: 'field';
47
+ readonly thinking: string;
48
+ } | {
49
+ readonly kind: 'inline';
50
+ readonly content: string;
51
+ };
52
+ /**
53
+ * Pull the reasoning out of text that carries `<think>` tags.
54
+ *
55
+ * All tag PARSING lives here, in the handler — the adapter only notices
56
+ * that a `<think` substring is present and tags the payload accordingly.
57
+ * Exported so a consumer driving normalization by hand can reuse it.
58
+ */
59
+ export declare function extractInlineThinking(text: string): readonly string[];
60
+ export declare const ollamaThinkingHandler: ThinkingHandler;
@@ -0,0 +1,107 @@
1
+ /**
2
+ * OllamaThinkingHandler — normalizes a local reasoning model's thinking
3
+ * into the framework's `ThinkingBlock[]` contract.
4
+ *
5
+ * Local reasoning models (deepseek-r1, qwen3, gpt-oss, …) reason in the
6
+ * open, and where that reasoning LANDS depends on how they were asked:
7
+ *
8
+ * 1. ASKED (`ollama('qwen3', { think: true })`, or the agent's
9
+ * `.thinking({ budget })`) — Ollama lifts the reasoning out of the
10
+ * answer into `message.thinking`. The adapter forwards it as
11
+ * `{ kind: 'field', thinking }`. This is the good path.
12
+ *
13
+ * 2. NOT ASKED — the same model writes `<think>…</think>` straight into
14
+ * the answer text. The adapter recognizes the shape and forwards the
15
+ * whole answer as `{ kind: 'inline', content }`.
16
+ *
17
+ * **The library recognizes the inline shape; it never rewrites the
18
+ * answer.** Blocks produced from case 2 describe text that is STILL
19
+ * present, verbatim, in `LLMResponse.content` — because silently editing
20
+ * a model's answer is a meaning change, and that is the application's
21
+ * decision to make, not this library's. If you want the reasoning out of
22
+ * the answer, ask for it: turn `think` on, and the model stops putting it
23
+ * there.
24
+ *
25
+ * **No signature** — nothing on this wire is signed, so there is no
26
+ * round-trip integrity invariant (unlike Anthropic). `signature` stays
27
+ * undefined.
28
+ *
29
+ * **No `summary` flag** — this is raw reasoning, not a structured summary
30
+ * (unlike OpenAI's `reasoning_summary`).
31
+ *
32
+ * **`parseChunk`** — the adapter already emits `LLMChunk.thinkingDelta`
33
+ * directly while streaming (Ollama sends `message.thinking` deltas frame
34
+ * by frame), so the framework does not need this to see live reasoning.
35
+ * It is implemented anyway for consumers driving the handler themselves.
36
+ */
37
+ /** `<think>…</think>`, including an unclosed one from a truncated answer. */
38
+ const THINK_TAG = /<think>([\s\S]*?)(?:<\/think>|$)/gi;
39
+ /**
40
+ * Pull the reasoning out of text that carries `<think>` tags.
41
+ *
42
+ * All tag PARSING lives here, in the handler — the adapter only notices
43
+ * that a `<think` substring is present and tags the payload accordingly.
44
+ * Exported so a consumer driving normalization by hand can reuse it.
45
+ */
46
+ export function extractInlineThinking(text) {
47
+ if (!text.includes('<think'))
48
+ return [];
49
+ const out = [];
50
+ // `matchAll` needs the /g flag and a fresh lastIndex per call.
51
+ THINK_TAG.lastIndex = 0;
52
+ for (const match of text.matchAll(THINK_TAG)) {
53
+ const inner = (match[1] ?? '').trim();
54
+ if (inner.length > 0)
55
+ out.push(inner);
56
+ }
57
+ return out;
58
+ }
59
+ function isRawThinking(raw) {
60
+ return typeof raw === 'object' && raw !== null && 'kind' in raw;
61
+ }
62
+ export const ollamaThinkingHandler = {
63
+ id: 'ollama',
64
+ providerNames: ['ollama'],
65
+ normalize(raw) {
66
+ if (raw === undefined || raw === null)
67
+ return [];
68
+ // Bare string — a hand-fed value, or a consumer-authored adapter that
69
+ // passes `message.thinking` straight through. Treat it as reasoning,
70
+ // but still honor tags if they are in there.
71
+ if (typeof raw === 'string')
72
+ return blocksFromText(raw);
73
+ if (isRawThinking(raw)) {
74
+ if (raw.kind === 'field') {
75
+ return typeof raw.thinking === 'string' ? blocksFromText(raw.thinking) : [];
76
+ }
77
+ if (raw.kind === 'inline') {
78
+ if (typeof raw.content !== 'string')
79
+ return [];
80
+ return extractInlineThinking(raw.content).map(toBlock);
81
+ }
82
+ }
83
+ // Unknown shape — empty rather than throw. The framework catches throws
84
+ // and emits parse_failed; graceful empty is the right answer for a
85
+ // wire that may grow fields we have not seen yet.
86
+ return [];
87
+ },
88
+ parseChunk(chunk) {
89
+ if (typeof chunk !== 'object' || chunk === null)
90
+ return {};
91
+ const message = chunk.message;
92
+ const thinking = message?.thinking;
93
+ return typeof thinking === 'string' && thinking.length > 0 ? { thinkingDelta: thinking } : {};
94
+ },
95
+ };
96
+ /** Text → blocks. Tagged text yields one block per tag; plain text one block. */
97
+ function blocksFromText(text) {
98
+ const tagged = extractInlineThinking(text);
99
+ if (tagged.length > 0)
100
+ return tagged.map(toBlock);
101
+ const trimmed = text.trim();
102
+ return trimmed.length > 0 ? [toBlock(trimmed)] : [];
103
+ }
104
+ function toBlock(content) {
105
+ return { type: 'thinking', content };
106
+ }
107
+ //# sourceMappingURL=OllamaThinkingHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OllamaThinkingHandler.js","sourceRoot":"","sources":["../../../src/thinking/OllamaThinkingHandler.ts"],"names":[],"mappings":"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"}
@@ -43,9 +43,14 @@
43
43
  * framework — emit `agentfootprint.agent.thinking_parse_failed`, drop
44
44
  * the blocks, continue. Same graceful pattern as v2.11.6
45
45
  * `tools.discovery_failed`.
46
+ *
47
+ * @deprecated Since 8.0.0 — import from `agentfootprint/providers` instead.
48
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
49
+ * here is the same symbol on the new door, not a copy.
46
50
  */
47
51
  export type { ThinkingBlock, ThinkingHandler } from './types.js';
48
52
  export { mockThinkingHandler, mockAnthropicRaw, mockOpenAIRaw } from './MockThinkingHandler.js';
49
53
  export { anthropicThinkingHandler } from './AnthropicThinkingHandler.js';
50
54
  export { openAIThinkingHandler } from './OpenAIThinkingHandler.js';
55
+ export { ollamaThinkingHandler, extractInlineThinking, type OllamaRawThinking, } from './OllamaThinkingHandler.js';
51
56
  export { SHIPPED_THINKING_HANDLERS, findThinkingHandler } from './registry.js';
@@ -43,9 +43,14 @@
43
43
  * framework — emit `agentfootprint.agent.thinking_parse_failed`, drop
44
44
  * the blocks, continue. Same graceful pattern as v2.11.6
45
45
  * `tools.discovery_failed`.
46
+ *
47
+ * @deprecated Since 8.0.0 — import from `agentfootprint/providers` instead.
48
+ * This path keeps working for all of 8.x and is removed in 9.0.0. Every name
49
+ * here is the same symbol on the new door, not a copy.
46
50
  */
47
51
  export { mockThinkingHandler, mockAnthropicRaw, mockOpenAIRaw } from './MockThinkingHandler.js';
48
52
  export { anthropicThinkingHandler } from './AnthropicThinkingHandler.js';
49
53
  export { openAIThinkingHandler } from './OpenAIThinkingHandler.js';
54
+ export { ollamaThinkingHandler, extractInlineThinking, } from './OllamaThinkingHandler.js';
50
55
  export { SHIPPED_THINKING_HANDLERS, findThinkingHandler } from './registry.js';
51
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/thinking/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAIH,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEhG,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/thinking/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAIH,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEhG,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
@@ -15,6 +15,7 @@
15
15
  */
16
16
  import { anthropicThinkingHandler } from './AnthropicThinkingHandler.js';
17
17
  import { mockThinkingHandler } from './MockThinkingHandler.js';
18
+ import { ollamaThinkingHandler } from './OllamaThinkingHandler.js';
18
19
  import { openAIThinkingHandler } from './OpenAIThinkingHandler.js';
19
20
  /**
20
21
  * All thinking handlers shipped with the library. Append in alphabetical
@@ -23,6 +24,7 @@ import { openAIThinkingHandler } from './OpenAIThinkingHandler.js';
23
24
  export const SHIPPED_THINKING_HANDLERS = [
24
25
  anthropicThinkingHandler,
25
26
  mockThinkingHandler,
27
+ ollamaThinkingHandler,
26
28
  openAIThinkingHandler,
27
29
  ];
28
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/thinking/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA+B;IACnE,wBAAwB;IACxB,mBAAmB;IACnB,qBAAqB;CACtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,KAAK,MAAM,OAAO,IAAI,yBAAyB,EAAE,CAAC;QAChD,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,OAAO,CAAC;IACnE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/thinking/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA+B;IACnE,wBAAwB;IACxB,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;CACtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,KAAK,MAAM,OAAO,IAAI,yBAAyB,EAAE,CAAC;QAChD,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,OAAO,CAAC;IACnE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}