@strands-agents/sdk 1.4.0 → 1.6.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 (435) hide show
  1. package/README.md +11 -11
  2. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  3. package/dist/src/__fixtures__/agent-helpers.js +9 -0
  4. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  5. package/dist/src/__fixtures__/register-node-defaults.d.ts +2 -0
  6. package/dist/src/__fixtures__/register-node-defaults.d.ts.map +1 -0
  7. package/dist/src/__fixtures__/register-node-defaults.js +6 -0
  8. package/dist/src/__fixtures__/register-node-defaults.js.map +1 -0
  9. package/dist/src/__fixtures__/test-sandbox.node.d.ts.map +1 -1
  10. package/dist/src/__fixtures__/test-sandbox.node.js +4 -3
  11. package/dist/src/__fixtures__/test-sandbox.node.js.map +1 -1
  12. package/dist/src/__tests__/default-slot.test.d.ts +2 -0
  13. package/dist/src/__tests__/default-slot.test.d.ts.map +1 -0
  14. package/dist/src/__tests__/default-slot.test.js +33 -0
  15. package/dist/src/__tests__/default-slot.test.js.map +1 -0
  16. package/dist/src/a2a/__tests__/async-lock.test.d.ts +2 -0
  17. package/dist/src/a2a/__tests__/async-lock.test.d.ts.map +1 -0
  18. package/dist/src/a2a/__tests__/async-lock.test.js +137 -0
  19. package/dist/src/a2a/__tests__/async-lock.test.js.map +1 -0
  20. package/dist/src/a2a/__tests__/executor.test.js +146 -8
  21. package/dist/src/a2a/__tests__/executor.test.js.map +1 -1
  22. package/dist/src/a2a/__tests__/server.test.js +20 -0
  23. package/dist/src/a2a/__tests__/server.test.js.map +1 -1
  24. package/dist/src/a2a/async-lock.d.ts +22 -0
  25. package/dist/src/a2a/async-lock.d.ts.map +1 -0
  26. package/dist/src/a2a/async-lock.js +38 -0
  27. package/dist/src/a2a/async-lock.js.map +1 -0
  28. package/dist/src/a2a/executor.d.ts +59 -24
  29. package/dist/src/a2a/executor.d.ts.map +1 -1
  30. package/dist/src/a2a/executor.js +209 -32
  31. package/dist/src/a2a/executor.js.map +1 -1
  32. package/dist/src/a2a/index.d.ts +1 -1
  33. package/dist/src/a2a/index.d.ts.map +1 -1
  34. package/dist/src/a2a/index.js +1 -1
  35. package/dist/src/a2a/index.js.map +1 -1
  36. package/dist/src/a2a/server.d.ts +18 -2
  37. package/dist/src/a2a/server.d.ts.map +1 -1
  38. package/dist/src/a2a/server.js +13 -2
  39. package/dist/src/a2a/server.js.map +1 -1
  40. package/dist/src/agent/__tests__/agent.context-manager.test.d.ts +2 -0
  41. package/dist/src/agent/__tests__/agent.context-manager.test.d.ts.map +1 -0
  42. package/dist/src/agent/__tests__/agent.context-manager.test.js +107 -0
  43. package/dist/src/agent/__tests__/agent.context-manager.test.js.map +1 -0
  44. package/dist/src/agent/__tests__/agent.stateful-model.test.js +2 -2
  45. package/dist/src/agent/__tests__/agent.stateful-model.test.js.map +1 -1
  46. package/dist/src/agent/__tests__/agent.tracer.test.node.js +14 -0
  47. package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -1
  48. package/dist/src/agent/agent.d.ts +135 -2
  49. package/dist/src/agent/agent.d.ts.map +1 -1
  50. package/dist/src/agent/agent.js +506 -189
  51. package/dist/src/agent/agent.js.map +1 -1
  52. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +19 -0
  53. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts.map +1 -0
  54. package/dist/src/context-manager/modes/agentic/agentic-context.js +245 -0
  55. package/dist/src/context-manager/modes/agentic/agentic-context.js.map +1 -0
  56. package/dist/src/conversation-manager/__tests__/agentic-context.test.d.ts +2 -0
  57. package/dist/src/conversation-manager/__tests__/agentic-context.test.d.ts.map +1 -0
  58. package/dist/src/conversation-manager/__tests__/agentic-context.test.js +332 -0
  59. package/dist/src/conversation-manager/__tests__/agentic-context.test.js.map +1 -0
  60. package/dist/src/conversation-manager/__tests__/context-compression.test.d.ts +2 -0
  61. package/dist/src/conversation-manager/__tests__/context-compression.test.d.ts.map +1 -0
  62. package/dist/src/conversation-manager/__tests__/context-compression.test.js +176 -0
  63. package/dist/src/conversation-manager/__tests__/context-compression.test.js.map +1 -0
  64. package/dist/src/conversation-manager/__tests__/pin.test.d.ts +2 -0
  65. package/dist/src/conversation-manager/__tests__/pin.test.d.ts.map +1 -0
  66. package/dist/src/conversation-manager/__tests__/pin.test.js +119 -0
  67. package/dist/src/conversation-manager/__tests__/pin.test.js.map +1 -0
  68. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +49 -0
  69. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  70. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +58 -0
  71. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
  72. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.d.ts +2 -0
  73. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.d.ts.map +1 -0
  74. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.js +138 -0
  75. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.js.map +1 -0
  76. package/dist/src/conversation-manager/compression/context-compression.d.ts +39 -0
  77. package/dist/src/conversation-manager/compression/context-compression.d.ts.map +1 -0
  78. package/dist/src/conversation-manager/compression/context-compression.js +150 -0
  79. package/dist/src/conversation-manager/compression/context-compression.js.map +1 -0
  80. package/dist/src/conversation-manager/compression/pin-message.d.ts +45 -0
  81. package/dist/src/conversation-manager/compression/pin-message.d.ts.map +1 -0
  82. package/dist/src/conversation-manager/compression/pin-message.js +106 -0
  83. package/dist/src/conversation-manager/compression/pin-message.js.map +1 -0
  84. package/dist/src/conversation-manager/conversation-manager.d.ts +2 -0
  85. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -1
  86. package/dist/src/conversation-manager/conversation-manager.js +2 -2
  87. package/dist/src/conversation-manager/conversation-manager.js.map +1 -1
  88. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +7 -0
  89. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  90. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +30 -38
  91. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  92. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +7 -19
  93. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
  94. package/dist/src/conversation-manager/summarizing-conversation-manager.js +20 -109
  95. package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
  96. package/dist/src/default-slot.d.ts +6 -0
  97. package/dist/src/default-slot.d.ts.map +1 -0
  98. package/dist/src/default-slot.js +18 -0
  99. package/dist/src/default-slot.js.map +1 -0
  100. package/dist/src/errors.d.ts +8 -0
  101. package/dist/src/errors.d.ts.map +1 -1
  102. package/dist/src/errors.js +11 -0
  103. package/dist/src/errors.js.map +1 -1
  104. package/dist/src/index.d.ts +8 -1
  105. package/dist/src/index.d.ts.map +1 -1
  106. package/dist/src/index.js +7 -1
  107. package/dist/src/index.js.map +1 -1
  108. package/dist/src/index.node.d.ts +2 -0
  109. package/dist/src/index.node.d.ts.map +1 -0
  110. package/dist/src/index.node.js +9 -0
  111. package/dist/src/index.node.js.map +1 -0
  112. package/dist/src/injection/__tests__/message-injection.test.d.ts +2 -0
  113. package/dist/src/injection/__tests__/message-injection.test.d.ts.map +1 -0
  114. package/dist/src/injection/__tests__/message-injection.test.js +200 -0
  115. package/dist/src/injection/__tests__/message-injection.test.js.map +1 -0
  116. package/dist/src/injection/index.d.ts +6 -0
  117. package/dist/src/injection/index.d.ts.map +1 -0
  118. package/dist/src/injection/index.js +2 -0
  119. package/dist/src/injection/index.js.map +1 -0
  120. package/dist/src/injection/message-injection.d.ts +65 -0
  121. package/dist/src/injection/message-injection.d.ts.map +1 -0
  122. package/dist/src/injection/message-injection.js +134 -0
  123. package/dist/src/injection/message-injection.js.map +1 -0
  124. package/dist/src/injection/types.d.ts +63 -0
  125. package/dist/src/injection/types.d.ts.map +1 -0
  126. package/dist/src/injection/types.js +2 -0
  127. package/dist/src/injection/types.js.map +1 -0
  128. package/dist/src/injection/xml.d.ts +27 -0
  129. package/dist/src/injection/xml.d.ts.map +1 -0
  130. package/dist/src/injection/xml.js +31 -0
  131. package/dist/src/injection/xml.js.map +1 -0
  132. package/dist/src/interrupt.d.ts +5 -1
  133. package/dist/src/interrupt.d.ts.map +1 -1
  134. package/dist/src/interrupt.js +6 -0
  135. package/dist/src/interrupt.js.map +1 -1
  136. package/dist/src/memory/__tests__/memory-manager.test.d.ts +2 -0
  137. package/dist/src/memory/__tests__/memory-manager.test.d.ts.map +1 -0
  138. package/dist/src/memory/__tests__/memory-manager.test.js +679 -0
  139. package/dist/src/memory/__tests__/memory-manager.test.js.map +1 -0
  140. package/dist/src/memory/extraction/__tests__/extraction.test.d.ts +2 -0
  141. package/dist/src/memory/extraction/__tests__/extraction.test.d.ts.map +1 -0
  142. package/dist/src/memory/extraction/__tests__/extraction.test.js +637 -0
  143. package/dist/src/memory/extraction/__tests__/extraction.test.js.map +1 -0
  144. package/dist/src/memory/extraction/__tests__/model-extractor.test.d.ts +2 -0
  145. package/dist/src/memory/extraction/__tests__/model-extractor.test.d.ts.map +1 -0
  146. package/dist/src/memory/extraction/__tests__/model-extractor.test.js +68 -0
  147. package/dist/src/memory/extraction/__tests__/model-extractor.test.js.map +1 -0
  148. package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.d.ts +2 -0
  149. package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.d.ts.map +1 -0
  150. package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.js +81 -0
  151. package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.js.map +1 -0
  152. package/dist/src/memory/extraction/coordinator.d.ts +128 -0
  153. package/dist/src/memory/extraction/coordinator.d.ts.map +1 -0
  154. package/dist/src/memory/extraction/coordinator.js +245 -0
  155. package/dist/src/memory/extraction/coordinator.js.map +1 -0
  156. package/dist/src/memory/extraction/model-extractor.d.ts +32 -0
  157. package/dist/src/memory/extraction/model-extractor.d.ts.map +1 -0
  158. package/dist/src/memory/extraction/model-extractor.js +118 -0
  159. package/dist/src/memory/extraction/model-extractor.js.map +1 -0
  160. package/dist/src/memory/extraction/resolve-extraction-config.d.ts +46 -0
  161. package/dist/src/memory/extraction/resolve-extraction-config.d.ts.map +1 -0
  162. package/dist/src/memory/extraction/resolve-extraction-config.js +59 -0
  163. package/dist/src/memory/extraction/resolve-extraction-config.js.map +1 -0
  164. package/dist/src/memory/extraction/triggers.d.ts +41 -0
  165. package/dist/src/memory/extraction/triggers.d.ts.map +1 -0
  166. package/dist/src/memory/extraction/triggers.js +59 -0
  167. package/dist/src/memory/extraction/triggers.js.map +1 -0
  168. package/dist/src/memory/extraction/types.d.ts +133 -0
  169. package/dist/src/memory/extraction/types.d.ts.map +1 -0
  170. package/dist/src/memory/extraction/types.js +19 -0
  171. package/dist/src/memory/extraction/types.js.map +1 -0
  172. package/dist/src/memory/index.d.ts +10 -0
  173. package/dist/src/memory/index.d.ts.map +1 -0
  174. package/dist/src/memory/index.js +5 -0
  175. package/dist/src/memory/index.js.map +1 -0
  176. package/dist/src/memory/memory-manager.d.ts +178 -0
  177. package/dist/src/memory/memory-manager.d.ts.map +1 -0
  178. package/dist/src/memory/memory-manager.js +526 -0
  179. package/dist/src/memory/memory-manager.js.map +1 -0
  180. package/dist/src/memory/types.d.ts +278 -0
  181. package/dist/src/memory/types.d.ts.map +1 -0
  182. package/dist/src/memory/types.js +2 -0
  183. package/dist/src/memory/types.js.map +1 -0
  184. package/dist/src/middleware/__tests__/agent-middleware.test.d.ts +2 -0
  185. package/dist/src/middleware/__tests__/agent-middleware.test.d.ts.map +1 -0
  186. package/dist/src/middleware/__tests__/agent-middleware.test.js +1206 -0
  187. package/dist/src/middleware/__tests__/agent-middleware.test.js.map +1 -0
  188. package/dist/src/middleware/__tests__/copy-on-input.test.d.ts +2 -0
  189. package/dist/src/middleware/__tests__/copy-on-input.test.d.ts.map +1 -0
  190. package/dist/src/middleware/__tests__/copy-on-input.test.js +379 -0
  191. package/dist/src/middleware/__tests__/copy-on-input.test.js.map +1 -0
  192. package/dist/src/middleware/__tests__/custom-stages.test.d.ts +2 -0
  193. package/dist/src/middleware/__tests__/custom-stages.test.d.ts.map +1 -0
  194. package/dist/src/middleware/__tests__/custom-stages.test.js +97 -0
  195. package/dist/src/middleware/__tests__/custom-stages.test.js.map +1 -0
  196. package/dist/src/middleware/__tests__/middleware-interrupts.test.d.ts +2 -0
  197. package/dist/src/middleware/__tests__/middleware-interrupts.test.d.ts.map +1 -0
  198. package/dist/src/middleware/__tests__/middleware-interrupts.test.js +267 -0
  199. package/dist/src/middleware/__tests__/middleware-interrupts.test.js.map +1 -0
  200. package/dist/src/middleware/__tests__/registry.test.d.ts +2 -0
  201. package/dist/src/middleware/__tests__/registry.test.d.ts.map +1 -0
  202. package/dist/src/middleware/__tests__/registry.test.js +525 -0
  203. package/dist/src/middleware/__tests__/registry.test.js.map +1 -0
  204. package/dist/src/middleware/index.d.ts +5 -0
  205. package/dist/src/middleware/index.d.ts.map +1 -0
  206. package/dist/src/middleware/index.js +3 -0
  207. package/dist/src/middleware/index.js.map +1 -0
  208. package/dist/src/middleware/registry.d.ts +58 -0
  209. package/dist/src/middleware/registry.d.ts.map +1 -0
  210. package/dist/src/middleware/registry.js +107 -0
  211. package/dist/src/middleware/registry.js.map +1 -0
  212. package/dist/src/middleware/stages.d.ts +145 -0
  213. package/dist/src/middleware/stages.d.ts.map +1 -0
  214. package/dist/src/middleware/stages.js +34 -0
  215. package/dist/src/middleware/stages.js.map +1 -0
  216. package/dist/src/middleware/types.d.ts +88 -0
  217. package/dist/src/middleware/types.d.ts.map +1 -0
  218. package/dist/src/middleware/types.js +2 -0
  219. package/dist/src/middleware/types.js.map +1 -0
  220. package/dist/src/models/__tests__/anthropic.test.js +16 -1
  221. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  222. package/dist/src/models/__tests__/bedrock.test.js +39 -0
  223. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  224. package/dist/src/models/__tests__/model.test.js +46 -3
  225. package/dist/src/models/__tests__/model.test.js.map +1 -1
  226. package/dist/src/models/anthropic.js +2 -2
  227. package/dist/src/models/anthropic.js.map +1 -1
  228. package/dist/src/models/bedrock.d.ts.map +1 -1
  229. package/dist/src/models/bedrock.js +12 -5
  230. package/dist/src/models/bedrock.js.map +1 -1
  231. package/dist/src/models/defaults.d.ts.map +1 -1
  232. package/dist/src/models/defaults.js +2 -0
  233. package/dist/src/models/defaults.js.map +1 -1
  234. package/dist/src/models/model.d.ts.map +1 -1
  235. package/dist/src/models/model.js +7 -3
  236. package/dist/src/models/model.js.map +1 -1
  237. package/dist/src/models/openai/__tests__/responses.test.js +8 -14
  238. package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
  239. package/dist/src/sandbox/__tests__/default.test.browser.d.ts +2 -0
  240. package/dist/src/sandbox/__tests__/default.test.browser.d.ts.map +1 -0
  241. package/dist/src/sandbox/__tests__/default.test.browser.js +11 -0
  242. package/dist/src/sandbox/__tests__/default.test.browser.js.map +1 -0
  243. package/dist/src/sandbox/__tests__/default.test.node.d.ts +2 -0
  244. package/dist/src/sandbox/__tests__/default.test.node.d.ts.map +1 -0
  245. package/dist/src/sandbox/__tests__/default.test.node.js +23 -0
  246. package/dist/src/sandbox/__tests__/default.test.node.js.map +1 -0
  247. package/dist/src/sandbox/__tests__/docker.test.node.d.ts +2 -0
  248. package/dist/src/sandbox/__tests__/docker.test.node.d.ts.map +1 -0
  249. package/dist/src/sandbox/__tests__/docker.test.node.js +89 -0
  250. package/dist/src/sandbox/__tests__/docker.test.node.js.map +1 -0
  251. package/dist/src/sandbox/__tests__/errors.test.node.d.ts +2 -0
  252. package/dist/src/sandbox/__tests__/errors.test.node.d.ts.map +1 -0
  253. package/dist/src/sandbox/__tests__/errors.test.node.js +33 -0
  254. package/dist/src/sandbox/__tests__/errors.test.node.js.map +1 -0
  255. package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.d.ts +2 -0
  256. package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.d.ts.map +1 -0
  257. package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.js +124 -0
  258. package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.js.map +1 -0
  259. package/dist/src/sandbox/__tests__/posix-shell.test.node.js +50 -4
  260. package/dist/src/sandbox/__tests__/posix-shell.test.node.js.map +1 -1
  261. package/dist/src/sandbox/__tests__/ssh.test.node.d.ts +2 -0
  262. package/dist/src/sandbox/__tests__/ssh.test.node.d.ts.map +1 -0
  263. package/dist/src/sandbox/__tests__/ssh.test.node.js +262 -0
  264. package/dist/src/sandbox/__tests__/ssh.test.node.js.map +1 -0
  265. package/dist/src/sandbox/base.d.ts +17 -4
  266. package/dist/src/sandbox/base.d.ts.map +1 -1
  267. package/dist/src/sandbox/base.js +10 -2
  268. package/dist/src/sandbox/base.js.map +1 -1
  269. package/dist/src/sandbox/constants.d.ts +18 -0
  270. package/dist/src/sandbox/constants.d.ts.map +1 -1
  271. package/dist/src/sandbox/constants.js +20 -0
  272. package/dist/src/sandbox/constants.js.map +1 -1
  273. package/dist/src/sandbox/default.d.ts +3 -0
  274. package/dist/src/sandbox/default.d.ts.map +1 -0
  275. package/dist/src/sandbox/default.js +3 -0
  276. package/dist/src/sandbox/default.js.map +1 -0
  277. package/dist/src/sandbox/docker.d.ts +38 -0
  278. package/dist/src/sandbox/docker.d.ts.map +1 -0
  279. package/dist/src/sandbox/docker.js +61 -0
  280. package/dist/src/sandbox/docker.js.map +1 -0
  281. package/dist/src/sandbox/errors.d.ts +26 -0
  282. package/dist/src/sandbox/errors.d.ts.map +1 -0
  283. package/dist/src/sandbox/errors.js +35 -0
  284. package/dist/src/sandbox/errors.js.map +1 -0
  285. package/dist/src/sandbox/index.d.ts +5 -0
  286. package/dist/src/sandbox/index.d.ts.map +1 -0
  287. package/dist/src/sandbox/index.js +4 -0
  288. package/dist/src/sandbox/index.js.map +1 -0
  289. package/dist/src/sandbox/not-a-sandbox-local-environment.d.ts +16 -0
  290. package/dist/src/sandbox/not-a-sandbox-local-environment.d.ts.map +1 -0
  291. package/dist/src/sandbox/not-a-sandbox-local-environment.js +83 -0
  292. package/dist/src/sandbox/not-a-sandbox-local-environment.js.map +1 -0
  293. package/dist/src/sandbox/posix-shell.d.ts +21 -0
  294. package/dist/src/sandbox/posix-shell.d.ts.map +1 -1
  295. package/dist/src/sandbox/posix-shell.js +41 -3
  296. package/dist/src/sandbox/posix-shell.js.map +1 -1
  297. package/dist/src/sandbox/ssh.d.ts +56 -0
  298. package/dist/src/sandbox/ssh.d.ts.map +1 -0
  299. package/dist/src/sandbox/ssh.js +121 -0
  300. package/dist/src/sandbox/ssh.js.map +1 -0
  301. package/dist/src/sandbox/stream-process.d.ts.map +1 -1
  302. package/dist/src/sandbox/stream-process.js +3 -2
  303. package/dist/src/sandbox/stream-process.js.map +1 -1
  304. package/dist/src/tsconfig.tsbuildinfo +1 -1
  305. package/dist/src/types/agent.d.ts +21 -0
  306. package/dist/src/types/agent.d.ts.map +1 -1
  307. package/dist/src/types/agent.js.map +1 -1
  308. package/dist/src/types/messages.d.ts +9 -1
  309. package/dist/src/types/messages.d.ts.map +1 -1
  310. package/dist/src/types/messages.js +13 -1
  311. package/dist/src/types/messages.js.map +1 -1
  312. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.d.ts +2 -0
  313. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.d.ts.map +1 -0
  314. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.js +675 -0
  315. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.js.map +1 -0
  316. package/dist/src/vended-interventions/cedar/cedar.d.ts +102 -0
  317. package/dist/src/vended-interventions/cedar/cedar.d.ts.map +1 -0
  318. package/dist/src/vended-interventions/cedar/cedar.js +228 -0
  319. package/dist/src/vended-interventions/cedar/cedar.js.map +1 -0
  320. package/dist/src/vended-interventions/cedar/index.d.ts +3 -0
  321. package/dist/src/vended-interventions/cedar/index.d.ts.map +1 -0
  322. package/dist/src/vended-interventions/cedar/index.js +2 -0
  323. package/dist/src/vended-interventions/cedar/index.js.map +1 -0
  324. package/dist/src/vended-interventions/cedar/schema-generator.d.ts +10 -0
  325. package/dist/src/vended-interventions/cedar/schema-generator.d.ts.map +1 -0
  326. package/dist/src/vended-interventions/cedar/schema-generator.js +33 -0
  327. package/dist/src/vended-interventions/cedar/schema-generator.js.map +1 -0
  328. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts +2 -0
  329. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts.map +1 -0
  330. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.js +611 -0
  331. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.js.map +1 -0
  332. package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts +2 -0
  333. package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts.map +1 -0
  334. package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.js +2 -0
  335. package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.js.map +1 -0
  336. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts +230 -0
  337. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts.map +1 -0
  338. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js +370 -0
  339. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js.map +1 -0
  340. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.d.ts +2 -0
  341. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.d.ts.map +1 -0
  342. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.js +96 -0
  343. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.js.map +1 -0
  344. package/dist/src/vended-plugins/context-injector/index.d.ts +25 -0
  345. package/dist/src/vended-plugins/context-injector/index.d.ts.map +1 -0
  346. package/dist/src/vended-plugins/context-injector/index.js +23 -0
  347. package/dist/src/vended-plugins/context-injector/index.js.map +1 -0
  348. package/dist/src/vended-plugins/context-injector/plugin.d.ts +55 -0
  349. package/dist/src/vended-plugins/context-injector/plugin.d.ts.map +1 -0
  350. package/dist/src/vended-plugins/context-injector/plugin.js +41 -0
  351. package/dist/src/vended-plugins/context-injector/plugin.js.map +1 -0
  352. package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.d.ts +2 -0
  353. package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.d.ts.map +1 -0
  354. package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.js +68 -0
  355. package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.js.map +1 -0
  356. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +43 -4
  357. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -1
  358. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.d.ts +2 -0
  359. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.d.ts.map +1 -0
  360. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js +93 -0
  361. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js.map +1 -0
  362. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js +68 -0
  363. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js.map +1 -1
  364. package/dist/src/vended-plugins/context-offloader/index.d.ts +1 -1
  365. package/dist/src/vended-plugins/context-offloader/index.d.ts.map +1 -1
  366. package/dist/src/vended-plugins/context-offloader/plugin.d.ts +4 -1
  367. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  368. package/dist/src/vended-plugins/context-offloader/plugin.js +40 -8
  369. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  370. package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -1
  371. package/dist/src/vended-plugins/context-offloader/search.js +3 -5
  372. package/dist/src/vended-plugins/context-offloader/search.js.map +1 -1
  373. package/dist/src/vended-plugins/context-offloader/storage.d.ts +58 -6
  374. package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -1
  375. package/dist/src/vended-plugins/context-offloader/storage.js +136 -14
  376. package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -1
  377. package/dist/src/vended-plugins/goal/__tests__/plugin.test.d.ts +2 -0
  378. package/dist/src/vended-plugins/goal/__tests__/plugin.test.d.ts.map +1 -0
  379. package/dist/src/vended-plugins/goal/__tests__/plugin.test.js +736 -0
  380. package/dist/src/vended-plugins/goal/__tests__/plugin.test.js.map +1 -0
  381. package/dist/src/vended-plugins/goal/index.d.ts +21 -0
  382. package/dist/src/vended-plugins/goal/index.d.ts.map +1 -0
  383. package/dist/src/vended-plugins/goal/index.js +20 -0
  384. package/dist/src/vended-plugins/goal/index.js.map +1 -0
  385. package/dist/src/vended-plugins/goal/judge.d.ts +41 -0
  386. package/dist/src/vended-plugins/goal/judge.d.ts.map +1 -0
  387. package/dist/src/vended-plugins/goal/judge.js +92 -0
  388. package/dist/src/vended-plugins/goal/judge.js.map +1 -0
  389. package/dist/src/vended-plugins/goal/plugin.d.ts +214 -0
  390. package/dist/src/vended-plugins/goal/plugin.d.ts.map +1 -0
  391. package/dist/src/vended-plugins/goal/plugin.js +287 -0
  392. package/dist/src/vended-plugins/goal/plugin.js.map +1 -0
  393. package/dist/src/vended-plugins/index.d.ts +3 -1
  394. package/dist/src/vended-plugins/index.d.ts.map +1 -1
  395. package/dist/src/vended-plugins/index.js +3 -1
  396. package/dist/src/vended-plugins/index.js.map +1 -1
  397. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +17 -7
  398. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +1 -1
  399. package/dist/src/vended-plugins/skills/agent-skills.d.ts +21 -7
  400. package/dist/src/vended-plugins/skills/agent-skills.d.ts.map +1 -1
  401. package/dist/src/vended-plugins/skills/agent-skills.js +144 -77
  402. package/dist/src/vended-plugins/skills/agent-skills.js.map +1 -1
  403. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +44 -4
  404. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  405. package/dist/src/vended-tools/bash/bash.d.ts +3 -24
  406. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  407. package/dist/src/vended-tools/bash/bash.js +9 -9
  408. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  409. package/dist/src/vended-tools/bash/index.d.ts +3 -1
  410. package/dist/src/vended-tools/bash/index.d.ts.map +1 -1
  411. package/dist/src/vended-tools/bash/index.js +2 -1
  412. package/dist/src/vended-tools/bash/index.js.map +1 -1
  413. package/dist/src/vended-tools/bash/make-bash.d.ts +22 -0
  414. package/dist/src/vended-tools/bash/make-bash.d.ts.map +1 -0
  415. package/dist/src/vended-tools/bash/make-bash.js +40 -0
  416. package/dist/src/vended-tools/bash/make-bash.js.map +1 -0
  417. package/dist/src/vended-tools/bash/types.d.ts +1 -0
  418. package/dist/src/vended-tools/bash/types.d.ts.map +1 -1
  419. package/dist/src/vended-tools/bash/types.js +2 -0
  420. package/dist/src/vended-tools/bash/types.js.map +1 -1
  421. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js +83 -1
  422. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -1
  423. package/dist/src/vended-tools/file-editor/file-editor.d.ts +19 -10
  424. package/dist/src/vended-tools/file-editor/file-editor.d.ts.map +1 -1
  425. package/dist/src/vended-tools/file-editor/file-editor.js +188 -218
  426. package/dist/src/vended-tools/file-editor/file-editor.js.map +1 -1
  427. package/dist/src/vended-tools/file-editor/index.d.ts +2 -1
  428. package/dist/src/vended-tools/file-editor/index.d.ts.map +1 -1
  429. package/dist/src/vended-tools/file-editor/index.js +1 -1
  430. package/dist/src/vended-tools/file-editor/index.js.map +1 -1
  431. package/package.json +59 -6
  432. package/dist/src/utils/shell-quote.d.ts +0 -12
  433. package/dist/src/utils/shell-quote.d.ts.map +0 -1
  434. package/dist/src/utils/shell-quote.js +0 -14
  435. package/dist/src/utils/shell-quote.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/extraction.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model-extractor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-extractor.test.d.ts","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/model-extractor.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { ModelExtractor } from '../model-extractor.js';
3
+ import { MockMessageModel } from '../../../__fixtures__/mock-message-model.js';
4
+ function userTurn(text) {
5
+ return { role: 'user', content: [{ text }] };
6
+ }
7
+ describe('ModelExtractor', () => {
8
+ it('parses a JSON array of entries from the model response', async () => {
9
+ const model = new MockMessageModel();
10
+ model.addTurn({
11
+ type: 'textBlock',
12
+ text: '[{"content": "User prefers dark mode"}, {"content": "Lives in Berlin"}]',
13
+ });
14
+ const extractor = new ModelExtractor({ model: model });
15
+ const entries = await extractor.extract([userTurn('I like dark mode and live in Berlin')]);
16
+ expect(entries).toEqual([{ content: 'User prefers dark mode' }, { content: 'Lives in Berlin' }]);
17
+ });
18
+ it('extracts a JSON array even when wrapped in prose or a code fence', async () => {
19
+ const model = new MockMessageModel();
20
+ model.addTurn({
21
+ type: 'textBlock',
22
+ text: 'Here are the facts:\n```json\n[{"content": "fact"}]\n```\nHope that helps.',
23
+ });
24
+ const extractor = new ModelExtractor({ model: model });
25
+ const entries = await extractor.extract([userTurn('something')]);
26
+ expect(entries).toEqual([{ content: 'fact' }]);
27
+ });
28
+ it('preserves entry metadata', async () => {
29
+ const model = new MockMessageModel();
30
+ model.addTurn({ type: 'textBlock', text: '[{"content": "fact", "metadata": {"topic": "pref"}}]' });
31
+ const extractor = new ModelExtractor({ model: model });
32
+ const entries = await extractor.extract([userTurn('x')]);
33
+ expect(entries).toEqual([{ content: 'fact', metadata: { topic: 'pref' } }]);
34
+ });
35
+ it('returns no entries on malformed JSON without throwing', async () => {
36
+ const model = new MockMessageModel();
37
+ model.addTurn({ type: 'textBlock', text: 'not json at all' });
38
+ const extractor = new ModelExtractor({ model: model });
39
+ const entries = await extractor.extract([userTurn('x')]);
40
+ expect(entries).toEqual([]);
41
+ });
42
+ it('drops entries without a string content and empty strings', async () => {
43
+ const model = new MockMessageModel();
44
+ model.addTurn({ type: 'textBlock', text: '[{"content": "keep"}, {"content": ""}, {"foo": "bar"}, "loose"]' });
45
+ const extractor = new ModelExtractor({ model: model });
46
+ const entries = await extractor.extract([userTurn('x')]);
47
+ expect(entries).toEqual([{ content: 'keep' }]);
48
+ });
49
+ it('returns [] for an empty message batch without calling the model', async () => {
50
+ const model = new MockMessageModel();
51
+ const extractor = new ModelExtractor({ model: model });
52
+ const entries = await extractor.extract([]);
53
+ expect(entries).toEqual([]);
54
+ expect(model.callCount).toBe(0);
55
+ });
56
+ it('falls back to the default model from context when none configured', async () => {
57
+ const model = new MockMessageModel();
58
+ model.addTurn({ type: 'textBlock', text: '[{"content": "fact"}]' });
59
+ const extractor = new ModelExtractor();
60
+ const entries = await extractor.extract([userTurn('x')], { defaultModel: model });
61
+ expect(entries).toEqual([{ content: 'fact' }]);
62
+ });
63
+ it('throws when no model is configured and no default is provided', async () => {
64
+ const extractor = new ModelExtractor();
65
+ await expect(extractor.extract([userTurn('x')])).rejects.toThrow('no model configured');
66
+ });
67
+ });
68
+ //# sourceMappingURL=model-extractor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-extractor.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/model-extractor.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolve-extraction-config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-extraction-config.test.d.ts","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/resolve-extraction-config.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ import { describe, it, expect, vi } from 'vitest';
2
+ import { resolveExtractionConfig, DEFAULT_EXTRACTION_TRIGGER_TURNS } from '../resolve-extraction-config.js';
3
+ import { IntervalTrigger, InvocationTrigger } from '../triggers.js';
4
+ import { ModelExtractor } from '../model-extractor.js';
5
+ import { DEFAULT_MEMORY_MESSAGE_FILTER } from '../types.js';
6
+ /** A minimal store stub exposing only the write sinks the resolver inspects. */
7
+ function sinks(have) {
8
+ return {
9
+ ...((have === 'add' || have === 'both') && { add: vi.fn() }),
10
+ ...((have === 'addMessages' || have === 'both') && { addMessages: vi.fn() }),
11
+ };
12
+ }
13
+ describe('resolveExtractionConfig', () => {
14
+ describe('enablement shorthand', () => {
15
+ it('returns undefined when extraction is false', () => {
16
+ expect(resolveExtractionConfig(false, sinks('add'))).toBeUndefined();
17
+ });
18
+ it('returns undefined when extraction is undefined', () => {
19
+ expect(resolveExtractionConfig(undefined, sinks('add'))).toBeUndefined();
20
+ });
21
+ it('resolves true to a fully-defaulted config', () => {
22
+ const resolved = resolveExtractionConfig(true, sinks('add'));
23
+ expect(resolved).toBeDefined();
24
+ expect(resolved.triggers).toHaveLength(1);
25
+ expect(resolved.triggers[0]).toBeInstanceOf(IntervalTrigger);
26
+ expect(resolved.filter).toBe(DEFAULT_MEMORY_MESSAGE_FILTER);
27
+ });
28
+ });
29
+ describe('trigger defaulting and normalization', () => {
30
+ it('defaults an omitted trigger to an IntervalTrigger of DEFAULT_EXTRACTION_TRIGGER_TURNS', () => {
31
+ const resolved = resolveExtractionConfig({}, sinks('addMessages'));
32
+ // Structural equality compares the constructed IntervalTrigger (including its turns) without
33
+ // reaching into private fields, so it stays valid if IntervalTrigger's internals change.
34
+ expect(resolved.triggers).toEqual([new IntervalTrigger({ turns: DEFAULT_EXTRACTION_TRIGGER_TURNS })]);
35
+ expect(DEFAULT_EXTRACTION_TRIGGER_TURNS).toBe(5);
36
+ });
37
+ it('wraps a single trigger into an array', () => {
38
+ const trigger = new InvocationTrigger();
39
+ const resolved = resolveExtractionConfig({ trigger }, sinks('addMessages'));
40
+ expect(resolved.triggers).toEqual([trigger]);
41
+ });
42
+ it('passes an explicit trigger array through unchanged', () => {
43
+ const triggers = [new InvocationTrigger(), new IntervalTrigger({ turns: 2 })];
44
+ const resolved = resolveExtractionConfig({ trigger: triggers }, sinks('addMessages'));
45
+ expect(resolved.triggers).toEqual(triggers);
46
+ });
47
+ it('leaves an explicit empty trigger array empty (so the manager can reject it)', () => {
48
+ const resolved = resolveExtractionConfig({ trigger: [] }, sinks('addMessages'));
49
+ expect(resolved.triggers).toEqual([]);
50
+ });
51
+ });
52
+ describe('capability-based extractor default', () => {
53
+ it('defaults an add-only store to a ModelExtractor', () => {
54
+ const resolved = resolveExtractionConfig(true, sinks('add'));
55
+ expect(resolved.extractor).toBeInstanceOf(ModelExtractor);
56
+ });
57
+ it('defaults an addMessages-only store to the passthrough (no extractor)', () => {
58
+ const resolved = resolveExtractionConfig(true, sinks('addMessages'));
59
+ expect(resolved.extractor).toBeUndefined();
60
+ });
61
+ it('defaults a both-sinks store to the passthrough (no extractor)', () => {
62
+ const resolved = resolveExtractionConfig(true, sinks('both'));
63
+ expect(resolved.extractor).toBeUndefined();
64
+ });
65
+ it('keeps an explicit extractor even on an addMessages store', () => {
66
+ const extractor = { extract: vi.fn() };
67
+ const resolved = resolveExtractionConfig({ extractor }, sinks('both'));
68
+ expect(resolved.extractor).toBe(extractor);
69
+ });
70
+ });
71
+ describe('filter defaulting', () => {
72
+ it('defaults to DEFAULT_MEMORY_MESSAGE_FILTER', () => {
73
+ expect(resolveExtractionConfig(true, sinks('add')).filter).toBe(DEFAULT_MEMORY_MESSAGE_FILTER);
74
+ });
75
+ it('passes an explicit filter through', () => {
76
+ const filter = { exclude: [] };
77
+ expect(resolveExtractionConfig({ filter }, sinks('add')).filter).toBe(filter);
78
+ });
79
+ });
80
+ });
81
+ //# sourceMappingURL=resolve-extraction-config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-extraction-config.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/resolve-extraction-config.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAA;AAC3G,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,6BAA6B,EAAkB,MAAM,aAAa,CAAA;AAG3E,gFAAgF;AAChF,SAAS,KAAK,CAAC,IAAoC;IACjD,OAAO;QACL,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5D,GAAG,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;KAC7E,CAAA;AACH,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QACtE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAC1E,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YAC5D,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;YAC9B,MAAM,CAAC,QAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAC1C,MAAM,CAAC,QAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YAC7D,MAAM,CAAC,QAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;QACpD,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;YAC/F,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAE,CAAA;YACnE,6FAA6F;YAC7F,yFAAyF;YACzF,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC,CAAA;YACrG,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAA;YACvC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAE,CAAA;YAC5E,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,QAAQ,GAAG,CAAC,IAAI,iBAAiB,EAAE,EAAE,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7E,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAE,CAAA;YACtF,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;YACrF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAE,CAAA;YAChF,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAE,CAAA;YAC7D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAE,CAAA;YACrE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACvE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAE,CAAA;YAC9D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,SAAS,GAAc,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;YACjD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAE,CAAA;YACvE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QACjG,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,EAAa,EAAE,CAAA;YACzC,MAAM,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,128 @@
1
+ import type { MemoryStore } from '../types.js';
2
+ import type { MessageData } from '../../types/messages.js';
3
+ import type { Model } from '../../models/model.js';
4
+ import type { ResolvedExtractionConfig } from './resolve-extraction-config.js';
5
+ /**
6
+ * A store paired with its fully-resolved extraction config.
7
+ * @internal
8
+ */
9
+ export interface ExtractionBinding {
10
+ /** The memory store to extract into. */
11
+ store: MemoryStore;
12
+ /** The store's fully-resolved extraction config (triggers, extractor, filter). */
13
+ config: ResolvedExtractionConfig;
14
+ }
15
+ /**
16
+ * Number of consecutive save failures after which a store backs off (stops trying every turn).
17
+ * @internal
18
+ */
19
+ export declare const SAVE_FAILURES_BEFORE_BACKOFF = 10;
20
+ /**
21
+ * While backed off, a store retries only once every this many save attempts (a probe).
22
+ * @internal
23
+ */
24
+ export declare const BACKOFF_PROBE_INTERVAL = 3;
25
+ /**
26
+ * Saves conversation messages to memory stores, in the background, without slowing the agent down.
27
+ *
28
+ * How it works, in three pieces:
29
+ *
30
+ * 1. **The buffer.** Every message the agent produces is copied into one shared list (`_pending`).
31
+ * Each gets a number (`seq`) that only ever counts up, so we can tell which messages are newer.
32
+ * We keep our own copy here (rather than reading the agent's live message list) because the agent
33
+ * can delete old messages to stay within its context window; our copy means we never lose one
34
+ * before it's saved.
35
+ *
36
+ * 2. **Per-store progress.** Each store can save at its own pace, so we remember, per store, the
37
+ * `seq` of the last message it has already saved (`_marks`). When a store saves, it only looks at
38
+ * messages newer than that number, so the same message is never saved twice to the same store.
39
+ *
40
+ * 3. **One save at a time per store.** A store might be asked to save again while a previous save is
41
+ * still running. We chain each store's saves one after another (`_chains`) so they can't overlap
42
+ * or run out of order.
43
+ *
44
+ * If a store fails to save {@link SAVE_FAILURES_BEFORE_BACKOFF} times in a row, it backs off: instead
45
+ * of trying every turn, it retries only once every {@link BACKOFF_PROBE_INTERVAL} attempts (a probe).
46
+ * A successful probe clears the failure streak and resumes normal saving - so a transient outage
47
+ * recovers on its own and the messages buffered during it are saved once the store comes back. A
48
+ * permanently broken store keeps probing and logs an error each time, surfacing the misconfiguration.
49
+ *
50
+ * Saving itself either runs the store's extractor to pull out facts, or hands the raw messages to the
51
+ * store - see {@link _write}.
52
+ * @internal
53
+ */
54
+ export declare class ExtractionCoordinator {
55
+ private readonly _stores;
56
+ /** Per store: its resolved extraction config (triggers, extractor, filter). */
57
+ private readonly _storeToExtractionConfig;
58
+ private readonly _defaultModel;
59
+ /** The shared list of messages waiting to be saved, oldest first. Each is tagged with its `seq`. */
60
+ private _pending;
61
+ /** The number to give the next message added to the buffer. Only ever increases. */
62
+ private _nextSeq;
63
+ /** Per store: the `seq` of the last message that store has already saved. Starts at -1 (saved none). */
64
+ private readonly _marks;
65
+ /** Per store: a promise for that store's currently-running save, so the next save waits its turn. */
66
+ private readonly _chains;
67
+ /** Per store: how many saves have failed in a row. Reset to 0 on a successful save. */
68
+ private readonly _consecutiveFailures;
69
+ /** Per store: while backed off, counts save requests so we can let every Nth through as a probe. */
70
+ private readonly _backoffCounters;
71
+ /**
72
+ * @param stores - The extraction-configured stores this coordinator manages, each with its resolved config
73
+ * @param defaultModel - The agent's model, passed to extractors that don't configure their own
74
+ */
75
+ constructor(stores: ExtractionBinding[], defaultModel: Model);
76
+ /** Adds a message to the buffer. */
77
+ record(message: MessageData): void;
78
+ /**
79
+ * Saves this store's unsaved messages, in the background. Queued behind the store's previous save so
80
+ * two never run at once. Failures are logged and swallowed - saving must never break the agent loop.
81
+ * The returned promise is for {@link flush}; callers (triggers) ignore it so they don't block.
82
+ */
83
+ process(store: MemoryStore): Promise<void>;
84
+ /** Queues a save for the store behind its previous one, so saves never overlap or reorder. */
85
+ private _enqueue;
86
+ /**
87
+ * Whether to attempt a save now. A healthy store always attempts. A backed-off store (too many
88
+ * failures in a row) attempts only once every {@link BACKOFF_PROBE_INTERVAL} requests - a probe to
89
+ * see if it has recovered - and skips the rest.
90
+ */
91
+ private _shouldAttempt;
92
+ /**
93
+ * Saves every store's remaining messages and waits for all saves to finish. Call this once at a
94
+ * boundary you control - typically app shutdown - to make sure nothing in the buffer is lost.
95
+ *
96
+ * It first tells every store to save (even one whose trigger hasn't fired this turn, or one that is
97
+ * backed off - flush bypasses backoff so a recovered store still writes its backlog); stores with
98
+ * nothing to save do nothing. Then it waits, re-checking until no new save has started, so saves
99
+ * that begin while we're waiting are also covered.
100
+ */
101
+ flush(): Promise<void>;
102
+ private _extract;
103
+ /**
104
+ * Handles a failed save. Puts the mark back so the messages retry next time. Once a store has failed
105
+ * {@link SAVE_FAILURES_BEFORE_BACKOFF} times in a row it logs an error and enters backoff (it then
106
+ * retries only on probes - see {@link _shouldAttempt}); before that it logs a warning. The messages
107
+ * stay buffered either way, so a store that recovers saves them.
108
+ */
109
+ private _onSaveFailed;
110
+ /**
111
+ * Saves the messages to the store, one of two ways:
112
+ * - store has an extractor: run it to pull out facts, then write each fact via `add`.
113
+ * - no extractor: hand the raw messages to `addMessages` so the store keeps their roles.
114
+ *
115
+ * Fact writes run in parallel. If any fails we throw, which makes the caller retry the whole batch
116
+ * next time - so a fact that already saved may be written again (stores should expect duplicates).
117
+ */
118
+ private _write;
119
+ /**
120
+ * Removes messages from the buffer once every store has saved them (so none still needs them).
121
+ *
122
+ * A store that hasn't saved a message yet - because its trigger hasn't fired, or it's failing and
123
+ * waiting to recover - keeps that message buffered. So a store stuck failing for good slowly grows
124
+ * the buffer; that surfaces as repeated error logs and is bounded by the (non-persisted) session.
125
+ */
126
+ private _trim;
127
+ }
128
+ //# sourceMappingURL=coordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../../src/memory/extraction/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAIlD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAE9E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,KAAK,EAAE,WAAW,CAAA;IAClB,kFAAkF;IAClF,MAAM,EAAE,wBAAwB,CAAA;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAsCvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAmD;IAC5F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;IACrC,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAwB;IACxC,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAI;IACpB,wGAAwG;IACxG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,qGAAqG;IACrG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;IACtE,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiC;IAElE;;;OAGG;gBACS,MAAM,EAAE,iBAAiB,EAAE,EAAE,YAAY,EAAE,KAAK;IAS5D,oCAAoC;IACpC,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAIlC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1C,8FAA8F;IAC9F,OAAO,CAAC,QAAQ;IAOhB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAStB;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAcd,QAAQ;IA+BtB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAerB;;;;;;;OAOG;YACW,MAAM;IAqBpB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;CAUd"}