agentfootprint 8.19.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/README.md +2 -2
  2. package/bin/agentfootprint-index.mjs +28 -3
  3. package/dist/adapters/hosting/agentcore.js +1 -1
  4. package/dist/adapters/identity/agentcore.js +1 -1
  5. package/dist/adapters/llm/AnthropicProvider.js +1 -1
  6. package/dist/adapters/llm/BrowserOpenAIProvider.js +1 -1
  7. package/dist/adapters/llm/MockProvider.js +1 -1
  8. package/dist/adapters/llm/OpenAIProvider.js +2 -2
  9. package/dist/adapters/memory/agentcore.js +1 -1
  10. package/dist/adapters/memory/bedrockAgentMemory.js +1 -1
  11. package/dist/adapters/memory/redis.js +1 -1
  12. package/dist/adapters/observability/agentcore.js +2 -2
  13. package/dist/adapters/observability/audit.js +1 -1
  14. package/dist/adapters/observability/cloudwatch.js +2 -2
  15. package/dist/adapters/observability/otel.js +3 -3
  16. package/dist/adapters/observability/xray.js +2 -2
  17. package/dist/core/Agent.js +1 -1
  18. package/dist/core/agent/AgentBuilder.js +35 -23
  19. package/dist/core/agent/AgentBuilder.js.map +1 -1
  20. package/dist/core/agent/stages/window.js +11 -13
  21. package/dist/core/agent/stages/window.js.map +1 -1
  22. package/dist/core/agent/watch.js +1 -1
  23. package/dist/core/agent/window/index.js.map +1 -1
  24. package/dist/core/agent/window/strategies/summarizeOldest.js +0 -5
  25. package/dist/core/agent/window/strategies/summarizeOldest.js.map +1 -1
  26. package/dist/core/slots/helpers.js +4 -7
  27. package/dist/core/slots/helpers.js.map +1 -1
  28. package/dist/debug/finders.js +7 -10
  29. package/dist/debug/finders.js.map +1 -1
  30. package/dist/debug.js +4 -4
  31. package/dist/doors/context.js +3 -3
  32. package/dist/esm/adapters/hosting/agentcore.d.ts +1 -1
  33. package/dist/esm/adapters/hosting/agentcore.js +1 -1
  34. package/dist/esm/adapters/identity/agentcore.d.ts +1 -1
  35. package/dist/esm/adapters/identity/agentcore.js +1 -1
  36. package/dist/esm/adapters/llm/AnthropicProvider.d.ts +1 -1
  37. package/dist/esm/adapters/llm/AnthropicProvider.js +1 -1
  38. package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +1 -1
  39. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +1 -1
  40. package/dist/esm/adapters/llm/MockProvider.d.ts +1 -1
  41. package/dist/esm/adapters/llm/MockProvider.js +1 -1
  42. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +2 -2
  43. package/dist/esm/adapters/llm/OpenAIProvider.js +2 -2
  44. package/dist/esm/adapters/memory/agentcore.d.ts +1 -1
  45. package/dist/esm/adapters/memory/agentcore.js +1 -1
  46. package/dist/esm/adapters/memory/bedrockAgentMemory.d.ts +1 -1
  47. package/dist/esm/adapters/memory/bedrockAgentMemory.js +1 -1
  48. package/dist/esm/adapters/memory/redis.d.ts +1 -1
  49. package/dist/esm/adapters/memory/redis.js +1 -1
  50. package/dist/esm/adapters/observability/agentcore.d.ts +2 -2
  51. package/dist/esm/adapters/observability/agentcore.js +2 -2
  52. package/dist/esm/adapters/observability/audit.d.ts +1 -1
  53. package/dist/esm/adapters/observability/audit.js +1 -1
  54. package/dist/esm/adapters/observability/cloudwatch.d.ts +2 -2
  55. package/dist/esm/adapters/observability/cloudwatch.js +2 -2
  56. package/dist/esm/adapters/observability/otel.d.ts +4 -4
  57. package/dist/esm/adapters/observability/otel.js +3 -3
  58. package/dist/esm/adapters/observability/xray.d.ts +2 -2
  59. package/dist/esm/adapters/observability/xray.js +2 -2
  60. package/dist/esm/core/Agent.js +1 -1
  61. package/dist/esm/core/agent/AgentBuilder.d.ts +17 -14
  62. package/dist/esm/core/agent/AgentBuilder.js +35 -23
  63. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  64. package/dist/esm/core/agent/stages/window.js +11 -13
  65. package/dist/esm/core/agent/stages/window.js.map +1 -1
  66. package/dist/esm/core/agent/types.d.ts +2 -2
  67. package/dist/esm/core/agent/watch.d.ts +1 -1
  68. package/dist/esm/core/agent/watch.js +1 -1
  69. package/dist/esm/core/agent/window/index.d.ts +1 -1
  70. package/dist/esm/core/agent/window/index.js.map +1 -1
  71. package/dist/esm/core/agent/window/strategies/summarizeOldest.js +0 -5
  72. package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -1
  73. package/dist/esm/core/agent/window/types.d.ts +0 -30
  74. package/dist/esm/core/runner.d.ts +1 -1
  75. package/dist/esm/core/slots/helpers.d.ts +3 -4
  76. package/dist/esm/core/slots/helpers.js +4 -7
  77. package/dist/esm/core/slots/helpers.js.map +1 -1
  78. package/dist/esm/debug/finders.d.ts +7 -10
  79. package/dist/esm/debug/finders.js +7 -10
  80. package/dist/esm/debug/finders.js.map +1 -1
  81. package/dist/esm/debug.d.ts +4 -4
  82. package/dist/esm/debug.js +4 -4
  83. package/dist/esm/doors/context.d.ts +3 -3
  84. package/dist/esm/doors/context.js +3 -3
  85. package/dist/esm/embedders/index.d.ts +4 -4
  86. package/dist/esm/events/payloads.d.ts +10 -14
  87. package/dist/esm/hosting-providers.d.ts +16 -16
  88. package/dist/esm/hosting-providers.js +16 -16
  89. package/dist/esm/identity/types.d.ts +1 -1
  90. package/dist/esm/identity/types.js +1 -1
  91. package/dist/esm/identity/withCredentialRetry.d.ts +1 -1
  92. package/dist/esm/identity/withCredentialRetry.js +1 -1
  93. package/dist/esm/identity.d.ts +5 -5
  94. package/dist/esm/identity.js +5 -5
  95. package/dist/esm/index.d.ts +1 -1
  96. package/dist/esm/index.js +4 -4
  97. package/dist/esm/index.js.map +1 -1
  98. package/dist/esm/injection-engine.d.ts +4 -4
  99. package/dist/esm/injection-engine.js +4 -4
  100. package/dist/esm/lib/context-ledger/gates.d.ts +1 -1
  101. package/dist/esm/lib/context-ledger/gates.js +1 -1
  102. package/dist/esm/lib/injection-engine/SkillRegistry.d.ts +1 -1
  103. package/dist/esm/lib/injection-engine/SkillRegistry.js +1 -1
  104. package/dist/esm/lib/injection-engine/factories/defineSkill.d.ts +1 -16
  105. package/dist/esm/lib/injection-engine/factories/defineSkill.js +29 -1
  106. package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -1
  107. package/dist/esm/lib/injection-engine/skillsFromDir.d.ts +1 -11
  108. package/dist/esm/lib/injection-engine/skillsFromDir.js +22 -2
  109. package/dist/esm/lib/injection-engine/skillsFromDir.js.map +1 -1
  110. package/dist/esm/lib/injection-engine/types.d.ts +1 -1
  111. package/dist/esm/lib/mcp/gatewayTransport.d.ts +2 -2
  112. package/dist/esm/lib/mcp/gatewayTransport.js +2 -2
  113. package/dist/esm/lib/rag/defineRAG.d.ts +9 -6
  114. package/dist/esm/lib/rag/defineRAG.js.map +1 -1
  115. package/dist/esm/lib/recorded-chat/index.d.ts +1 -1
  116. package/dist/esm/lib/recorded-chat/index.js +1 -1
  117. package/dist/esm/llm-providers.d.ts +5 -19
  118. package/dist/esm/llm-providers.js +5 -19
  119. package/dist/esm/llm-providers.js.map +1 -1
  120. package/dist/esm/locales/index.d.ts +7 -7
  121. package/dist/esm/locales/index.js +7 -7
  122. package/dist/esm/memory/causal/evidenceRecorder.d.ts +1 -1
  123. package/dist/esm/memory/causal/evidenceRecorder.js +1 -1
  124. package/dist/esm/memory/define.types.d.ts +3 -2
  125. package/dist/esm/memory/define.types.js.map +1 -1
  126. package/dist/esm/memory/index.d.ts +0 -10
  127. package/dist/esm/memory/index.js +6 -0
  128. package/dist/esm/memory/index.js.map +1 -1
  129. package/dist/esm/memory/retrieval/topK.d.ts +12 -6
  130. package/dist/esm/memory/retrieval/topK.js.map +1 -1
  131. package/dist/esm/memory/store/index.d.ts +1 -0
  132. package/dist/esm/memory/store/index.js +1 -0
  133. package/dist/esm/memory/store/index.js.map +1 -1
  134. package/dist/esm/memory/store/staticVectorStore.d.ts +83 -0
  135. package/dist/esm/memory/store/staticVectorStore.js +224 -0
  136. package/dist/esm/memory/store/staticVectorStore.js.map +1 -0
  137. package/dist/esm/memory-providers.d.ts +8 -24
  138. package/dist/esm/memory-providers.js +8 -24
  139. package/dist/esm/memory-providers.js.map +1 -1
  140. package/dist/esm/observability/contextError/finders/index.d.ts +4 -4
  141. package/dist/esm/observability-providers.d.ts +5 -5
  142. package/dist/esm/observability-providers.js +5 -5
  143. package/dist/esm/observe.d.ts +1 -0
  144. package/dist/esm/observe.js +11 -6
  145. package/dist/esm/observe.js.map +1 -1
  146. package/dist/esm/providers.d.ts +2 -2
  147. package/dist/esm/providers.js +2 -2
  148. package/dist/esm/rag/exportCorpus.d.ts +64 -0
  149. package/dist/esm/rag/exportCorpus.js +172 -0
  150. package/dist/esm/rag/exportCorpus.js.map +1 -0
  151. package/dist/esm/rag/index.d.ts +3 -1
  152. package/dist/esm/rag/index.js +8 -1
  153. package/dist/esm/rag/index.js.map +1 -1
  154. package/dist/esm/rag/splitters/byHeading.d.ts +39 -0
  155. package/dist/esm/rag/splitters/byHeading.js +133 -15
  156. package/dist/esm/rag/splitters/byHeading.js.map +1 -1
  157. package/dist/esm/rag/splitters/byParagraph.d.ts +14 -0
  158. package/dist/esm/rag/splitters/byParagraph.js +4 -2
  159. package/dist/esm/rag/splitters/byParagraph.js.map +1 -1
  160. package/dist/esm/rag/splitters/constants.d.ts +24 -1
  161. package/dist/esm/rag/splitters/constants.js +24 -1
  162. package/dist/esm/rag/splitters/constants.js.map +1 -1
  163. package/dist/esm/rag/splitters/index.d.ts +15 -1
  164. package/dist/esm/rag/splitters/index.js +15 -1
  165. package/dist/esm/rag/splitters/index.js.map +1 -1
  166. package/dist/esm/rag/splitters/shared.d.ts +32 -0
  167. package/dist/esm/rag/splitters/shared.js +77 -1
  168. package/dist/esm/rag/splitters/shared.js.map +1 -1
  169. package/dist/esm/recorders/core/ContextRecorder.js +47 -11
  170. package/dist/esm/recorders/core/ContextRecorder.js.map +1 -1
  171. package/dist/esm/recorders/core/types.d.ts +16 -18
  172. package/dist/esm/recorders/core/types.js.map +1 -1
  173. package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +24 -0
  174. package/dist/esm/recorders/observability/BoundaryRecorder.js +19 -6
  175. package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
  176. package/dist/esm/recorders/observability/RouteRecorder.d.ts +1 -1
  177. package/dist/esm/recorders/observability/RouteRecorder.js +1 -1
  178. package/dist/esm/recorders/observability/ToolChoiceRecorder.d.ts +1 -1
  179. package/dist/esm/recorders/observability/ToolChoiceRecorder.js +1 -1
  180. package/dist/esm/recorders/observability/embeddingSummary.d.ts +56 -0
  181. package/dist/esm/recorders/observability/embeddingSummary.js +114 -0
  182. package/dist/esm/recorders/observability/embeddingSummary.js.map +1 -0
  183. package/dist/esm/recorders/observability/recordRun.d.ts +16 -0
  184. package/dist/esm/recorders/observability/recordRun.js +17 -3
  185. package/dist/esm/recorders/observability/recordRun.js.map +1 -1
  186. package/dist/esm/reliability/index.d.ts +15 -3
  187. package/dist/esm/reliability/index.js +15 -3
  188. package/dist/esm/reliability/index.js.map +1 -1
  189. package/dist/esm/resilience/fallbackProvider.d.ts +1 -1
  190. package/dist/esm/resilience/fallbackProvider.js +1 -1
  191. package/dist/esm/resilience/withCircuitBreaker.d.ts +1 -1
  192. package/dist/esm/resilience/withCircuitBreaker.js +1 -1
  193. package/dist/esm/resilience/withRetry.d.ts +1 -1
  194. package/dist/esm/resilience/withRetry.js +1 -1
  195. package/dist/esm/security/PermissionPolicy.d.ts +2 -2
  196. package/dist/esm/security/PermissionPolicy.js +2 -2
  197. package/dist/esm/security/index.d.ts +3 -3
  198. package/dist/esm/security/index.js +3 -3
  199. package/dist/esm/status.d.ts +14 -24
  200. package/dist/esm/status.js +15 -25
  201. package/dist/esm/status.js.map +1 -1
  202. package/dist/esm/strategies/index.d.ts +9 -16
  203. package/dist/esm/strategies/index.js +9 -16
  204. package/dist/esm/strategies/index.js.map +1 -1
  205. package/dist/esm/strategies/registry.d.ts +1 -1
  206. package/dist/esm/strategies/registry.js +1 -1
  207. package/dist/esm/stream.d.ts +4 -4
  208. package/dist/esm/stream.js +4 -4
  209. package/dist/esm/thinking/index.d.ts +5 -5
  210. package/dist/esm/thinking/index.js +5 -5
  211. package/dist/esm/tool-providers/index.d.ts +4 -4
  212. package/dist/esm/tool-providers/index.js +4 -4
  213. package/dist/hosting-providers.js +16 -16
  214. package/dist/identity/types.js +1 -1
  215. package/dist/identity/withCredentialRetry.js +1 -1
  216. package/dist/identity.js +5 -5
  217. package/dist/index.js +4 -4
  218. package/dist/index.js.map +1 -1
  219. package/dist/injection-engine.js +4 -4
  220. package/dist/lib/context-ledger/gates.js +1 -1
  221. package/dist/lib/injection-engine/SkillRegistry.js +1 -1
  222. package/dist/lib/injection-engine/factories/defineSkill.js +29 -1
  223. package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -1
  224. package/dist/lib/injection-engine/skillsFromDir.js +22 -2
  225. package/dist/lib/injection-engine/skillsFromDir.js.map +1 -1
  226. package/dist/lib/mcp/gatewayTransport.js +2 -2
  227. package/dist/lib/rag/defineRAG.js.map +1 -1
  228. package/dist/lib/recorded-chat/index.js +1 -1
  229. package/dist/llm-providers.js +5 -19
  230. package/dist/llm-providers.js.map +1 -1
  231. package/dist/locales/index.js +6 -6
  232. package/dist/memory/causal/evidenceRecorder.js +1 -1
  233. package/dist/memory/define.types.js.map +1 -1
  234. package/dist/memory/index.js +6 -0
  235. package/dist/memory/index.js.map +1 -1
  236. package/dist/memory/retrieval/topK.js.map +1 -1
  237. package/dist/memory/store/index.js +6 -1
  238. package/dist/memory/store/index.js.map +1 -1
  239. package/dist/memory/store/staticVectorStore.js +230 -0
  240. package/dist/memory/store/staticVectorStore.js.map +1 -0
  241. package/dist/memory-providers.js +8 -24
  242. package/dist/memory-providers.js.map +1 -1
  243. package/dist/observability-providers.js +5 -5
  244. package/dist/observe.js +14 -7
  245. package/dist/observe.js.map +1 -1
  246. package/dist/providers.js +2 -2
  247. package/dist/rag/exportCorpus.js +177 -0
  248. package/dist/rag/exportCorpus.js.map +1 -0
  249. package/dist/rag/index.js +13 -1
  250. package/dist/rag/index.js.map +1 -1
  251. package/dist/rag/splitters/byHeading.js +132 -14
  252. package/dist/rag/splitters/byHeading.js.map +1 -1
  253. package/dist/rag/splitters/byParagraph.js +3 -1
  254. package/dist/rag/splitters/byParagraph.js.map +1 -1
  255. package/dist/rag/splitters/constants.js +25 -2
  256. package/dist/rag/splitters/constants.js.map +1 -1
  257. package/dist/rag/splitters/index.js +16 -1
  258. package/dist/rag/splitters/index.js.map +1 -1
  259. package/dist/rag/splitters/shared.js +79 -1
  260. package/dist/rag/splitters/shared.js.map +1 -1
  261. package/dist/recorders/core/ContextRecorder.js +47 -11
  262. package/dist/recorders/core/ContextRecorder.js.map +1 -1
  263. package/dist/recorders/core/types.js.map +1 -1
  264. package/dist/recorders/observability/BoundaryRecorder.js +19 -6
  265. package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
  266. package/dist/recorders/observability/RouteRecorder.js +1 -1
  267. package/dist/recorders/observability/ToolChoiceRecorder.js +1 -1
  268. package/dist/recorders/observability/embeddingSummary.js +119 -0
  269. package/dist/recorders/observability/embeddingSummary.js.map +1 -0
  270. package/dist/recorders/observability/recordRun.js +17 -3
  271. package/dist/recorders/observability/recordRun.js.map +1 -1
  272. package/dist/reliability/index.js +15 -3
  273. package/dist/reliability/index.js.map +1 -1
  274. package/dist/resilience/fallbackProvider.js +1 -1
  275. package/dist/resilience/withCircuitBreaker.js +1 -1
  276. package/dist/resilience/withRetry.js +1 -1
  277. package/dist/security/PermissionPolicy.js +2 -2
  278. package/dist/security/index.js +3 -3
  279. package/dist/status.js +14 -24
  280. package/dist/status.js.map +1 -1
  281. package/dist/strategies/index.js +9 -16
  282. package/dist/strategies/index.js.map +1 -1
  283. package/dist/strategies/registry.js +1 -1
  284. package/dist/stream.js +4 -4
  285. package/dist/thinking/index.js +5 -5
  286. package/dist/tool-providers/index.js +4 -4
  287. package/dist/types/adapters/hosting/agentcore.d.ts +1 -1
  288. package/dist/types/adapters/identity/agentcore.d.ts +1 -1
  289. package/dist/types/adapters/llm/AnthropicProvider.d.ts +1 -1
  290. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +1 -1
  291. package/dist/types/adapters/llm/MockProvider.d.ts +1 -1
  292. package/dist/types/adapters/llm/OpenAIProvider.d.ts +2 -2
  293. package/dist/types/adapters/memory/agentcore.d.ts +1 -1
  294. package/dist/types/adapters/memory/bedrockAgentMemory.d.ts +1 -1
  295. package/dist/types/adapters/memory/redis.d.ts +1 -1
  296. package/dist/types/adapters/observability/agentcore.d.ts +2 -2
  297. package/dist/types/adapters/observability/audit.d.ts +1 -1
  298. package/dist/types/adapters/observability/cloudwatch.d.ts +2 -2
  299. package/dist/types/adapters/observability/otel.d.ts +4 -4
  300. package/dist/types/adapters/observability/xray.d.ts +2 -2
  301. package/dist/types/core/agent/AgentBuilder.d.ts +17 -14
  302. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  303. package/dist/types/core/agent/stages/window.d.ts.map +1 -1
  304. package/dist/types/core/agent/types.d.ts +2 -2
  305. package/dist/types/core/agent/watch.d.ts +1 -1
  306. package/dist/types/core/agent/window/index.d.ts +1 -1
  307. package/dist/types/core/agent/window/index.d.ts.map +1 -1
  308. package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -1
  309. package/dist/types/core/agent/window/types.d.ts +0 -30
  310. package/dist/types/core/agent/window/types.d.ts.map +1 -1
  311. package/dist/types/core/runner.d.ts +1 -1
  312. package/dist/types/core/slots/helpers.d.ts +3 -4
  313. package/dist/types/core/slots/helpers.d.ts.map +1 -1
  314. package/dist/types/debug/finders.d.ts +7 -10
  315. package/dist/types/debug/finders.d.ts.map +1 -1
  316. package/dist/types/debug.d.ts +4 -4
  317. package/dist/types/doors/context.d.ts +3 -3
  318. package/dist/types/embedders/index.d.ts +4 -4
  319. package/dist/types/events/payloads.d.ts +10 -14
  320. package/dist/types/events/payloads.d.ts.map +1 -1
  321. package/dist/types/hosting-providers.d.ts +16 -16
  322. package/dist/types/identity/types.d.ts +1 -1
  323. package/dist/types/identity/withCredentialRetry.d.ts +1 -1
  324. package/dist/types/identity.d.ts +5 -5
  325. package/dist/types/index.d.ts +1 -1
  326. package/dist/types/index.d.ts.map +1 -1
  327. package/dist/types/injection-engine.d.ts +4 -4
  328. package/dist/types/lib/context-ledger/gates.d.ts +1 -1
  329. package/dist/types/lib/injection-engine/SkillRegistry.d.ts +1 -1
  330. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +1 -16
  331. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts.map +1 -1
  332. package/dist/types/lib/injection-engine/skillsFromDir.d.ts +1 -11
  333. package/dist/types/lib/injection-engine/skillsFromDir.d.ts.map +1 -1
  334. package/dist/types/lib/injection-engine/types.d.ts +1 -1
  335. package/dist/types/lib/mcp/gatewayTransport.d.ts +2 -2
  336. package/dist/types/lib/rag/defineRAG.d.ts +9 -6
  337. package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
  338. package/dist/types/lib/recorded-chat/index.d.ts +1 -1
  339. package/dist/types/llm-providers.d.ts +5 -19
  340. package/dist/types/llm-providers.d.ts.map +1 -1
  341. package/dist/types/locales/index.d.ts +7 -7
  342. package/dist/types/memory/causal/evidenceRecorder.d.ts +1 -1
  343. package/dist/types/memory/define.types.d.ts +3 -2
  344. package/dist/types/memory/define.types.d.ts.map +1 -1
  345. package/dist/types/memory/index.d.ts +0 -10
  346. package/dist/types/memory/index.d.ts.map +1 -1
  347. package/dist/types/memory/retrieval/topK.d.ts +12 -6
  348. package/dist/types/memory/retrieval/topK.d.ts.map +1 -1
  349. package/dist/types/memory/store/index.d.ts +1 -0
  350. package/dist/types/memory/store/index.d.ts.map +1 -1
  351. package/dist/types/memory/store/staticVectorStore.d.ts +84 -0
  352. package/dist/types/memory/store/staticVectorStore.d.ts.map +1 -0
  353. package/dist/types/memory-providers.d.ts +8 -24
  354. package/dist/types/memory-providers.d.ts.map +1 -1
  355. package/dist/types/observability/contextError/finders/index.d.ts +4 -4
  356. package/dist/types/observability-providers.d.ts +5 -5
  357. package/dist/types/observe.d.ts +1 -0
  358. package/dist/types/observe.d.ts.map +1 -1
  359. package/dist/types/providers.d.ts +2 -2
  360. package/dist/types/rag/exportCorpus.d.ts +65 -0
  361. package/dist/types/rag/exportCorpus.d.ts.map +1 -0
  362. package/dist/types/rag/index.d.ts +3 -1
  363. package/dist/types/rag/index.d.ts.map +1 -1
  364. package/dist/types/rag/splitters/byHeading.d.ts +39 -0
  365. package/dist/types/rag/splitters/byHeading.d.ts.map +1 -1
  366. package/dist/types/rag/splitters/byParagraph.d.ts +14 -0
  367. package/dist/types/rag/splitters/byParagraph.d.ts.map +1 -1
  368. package/dist/types/rag/splitters/constants.d.ts +24 -1
  369. package/dist/types/rag/splitters/constants.d.ts.map +1 -1
  370. package/dist/types/rag/splitters/index.d.ts +15 -1
  371. package/dist/types/rag/splitters/index.d.ts.map +1 -1
  372. package/dist/types/rag/splitters/shared.d.ts +32 -0
  373. package/dist/types/rag/splitters/shared.d.ts.map +1 -1
  374. package/dist/types/recorders/core/ContextRecorder.d.ts.map +1 -1
  375. package/dist/types/recorders/core/types.d.ts +16 -18
  376. package/dist/types/recorders/core/types.d.ts.map +1 -1
  377. package/dist/types/recorders/observability/BoundaryRecorder.d.ts +24 -0
  378. package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
  379. package/dist/types/recorders/observability/RouteRecorder.d.ts +1 -1
  380. package/dist/types/recorders/observability/ToolChoiceRecorder.d.ts +1 -1
  381. package/dist/types/recorders/observability/embeddingSummary.d.ts +57 -0
  382. package/dist/types/recorders/observability/embeddingSummary.d.ts.map +1 -0
  383. package/dist/types/recorders/observability/recordRun.d.ts +16 -0
  384. package/dist/types/recorders/observability/recordRun.d.ts.map +1 -1
  385. package/dist/types/reliability/index.d.ts +15 -3
  386. package/dist/types/reliability/index.d.ts.map +1 -1
  387. package/dist/types/resilience/fallbackProvider.d.ts +1 -1
  388. package/dist/types/resilience/withCircuitBreaker.d.ts +1 -1
  389. package/dist/types/resilience/withRetry.d.ts +1 -1
  390. package/dist/types/security/PermissionPolicy.d.ts +2 -2
  391. package/dist/types/security/index.d.ts +3 -3
  392. package/dist/types/status.d.ts +14 -24
  393. package/dist/types/status.d.ts.map +1 -1
  394. package/dist/types/strategies/index.d.ts +9 -16
  395. package/dist/types/strategies/index.d.ts.map +1 -1
  396. package/dist/types/strategies/registry.d.ts +1 -1
  397. package/dist/types/stream.d.ts +4 -4
  398. package/dist/types/thinking/index.d.ts +5 -5
  399. package/dist/types/tool-providers/index.d.ts +4 -4
  400. package/package.json +1 -209
@@ -30,6 +30,20 @@
30
30
  * whole in one of the two neighbours. It is the smallest overlap that reliably
31
31
  * does that for English prose; there is nothing deeper claimed for it.
32
32
  *
33
+ * **`minChars` (8.20.0): the floor, from a different measurement.** Short
34
+ * chunks retrieve too WELL, not too badly — similarity is a density measure,
35
+ * and a heading plus a preamble sentence concentrates a topic's vocabulary
36
+ * with none of its substance. Measured in a production corpus: a 180-char
37
+ * heading-and-preamble chunk outranked its own section's 1,032-char body, and
38
+ * the model fabricated a citation to fill the promise the empty chunk made.
39
+ * `byHeading` and `byParagraph` therefore merge sub-floor chunks FORWARD into
40
+ * the next chunk (default floor `min(250, maxChars / 4)`; nothing is ever
41
+ * dropped, and a heading with no body is never emitted alone regardless of
42
+ * the floor). `fixedWithOverlap` does not have the failure shape — its chunks
43
+ * are uniformly `chars` long BY REQUEST, and its only runt (the file tail) has
44
+ * always folded backward — and `wholeDocument` is one-chunk-per-document by
45
+ * definition, so neither takes the option.
46
+ *
33
47
  * ── Which one to use ────────────────────────────────────────────────────────
34
48
  *
35
49
  * | splitter | cuts on | use when |
@@ -47,4 +61,4 @@ export { byParagraph, type ByParagraphOptions } from './byParagraph.js';
47
61
  export { byHeading, type ByHeadingOptions } from './byHeading.js';
48
62
  export { fixedWithOverlap, type FixedWithOverlapOptions } from './fixedWithOverlap.js';
49
63
  export { wholeDocument } from './wholeDocument.js';
50
- export { DEFAULT_MAX_CHARS, DEFAULT_OVERLAP_CHARS } from './constants.js';
64
+ export { DEFAULT_MAX_CHARS, DEFAULT_OVERLAP_CHARS, DEFAULT_MIN_CHARS } from './constants.js';
@@ -30,6 +30,20 @@
30
30
  * whole in one of the two neighbours. It is the smallest overlap that reliably
31
31
  * does that for English prose; there is nothing deeper claimed for it.
32
32
  *
33
+ * **`minChars` (8.20.0): the floor, from a different measurement.** Short
34
+ * chunks retrieve too WELL, not too badly — similarity is a density measure,
35
+ * and a heading plus a preamble sentence concentrates a topic's vocabulary
36
+ * with none of its substance. Measured in a production corpus: a 180-char
37
+ * heading-and-preamble chunk outranked its own section's 1,032-char body, and
38
+ * the model fabricated a citation to fill the promise the empty chunk made.
39
+ * `byHeading` and `byParagraph` therefore merge sub-floor chunks FORWARD into
40
+ * the next chunk (default floor `min(250, maxChars / 4)`; nothing is ever
41
+ * dropped, and a heading with no body is never emitted alone regardless of
42
+ * the floor). `fixedWithOverlap` does not have the failure shape — its chunks
43
+ * are uniformly `chars` long BY REQUEST, and its only runt (the file tail) has
44
+ * always folded backward — and `wholeDocument` is one-chunk-per-document by
45
+ * definition, so neither takes the option.
46
+ *
33
47
  * ── Which one to use ────────────────────────────────────────────────────────
34
48
  *
35
49
  * | splitter | cuts on | use when |
@@ -47,5 +61,5 @@ export { byParagraph } from './byParagraph.js';
47
61
  export { byHeading } from './byHeading.js';
48
62
  export { fixedWithOverlap } from './fixedWithOverlap.js';
49
63
  export { wholeDocument } from './wholeDocument.js';
50
- export { DEFAULT_MAX_CHARS, DEFAULT_OVERLAP_CHARS } from './constants.js';
64
+ export { DEFAULT_MAX_CHARS, DEFAULT_OVERLAP_CHARS, DEFAULT_MIN_CHARS } from './constants.js';
51
65
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rag/splitters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rag/splitters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -79,6 +79,38 @@ export declare function applyOverlap(spans: readonly Span[], overlapChars: numbe
79
79
  * Two spans merge only when they are already the same section.
80
80
  */
81
81
  export declare function foldRunts(spans: readonly Span[], minChars?: number): Span[];
82
+ /**
83
+ * Resolve the effective `minChars` floor for a splitter (8.20.0).
84
+ *
85
+ * Unset → `min(DEFAULT_MIN_CHARS, maxChars / 4)`: 250 at the default target,
86
+ * shrinking proportionally when the caller asked for small chunks, so a
87
+ * defaulted floor can never swallow the chunk size the caller chose.
88
+ *
89
+ * An EXPLICIT floor is validated instead of clamped: a floor at or above the
90
+ * target would merge every chunk into its neighbour, which is a configuration
91
+ * contradiction, not a preference — refused by name rather than rounded away.
92
+ */
93
+ export declare function resolveMinChars(minChars: number | undefined, maxChars: number): number;
94
+ /**
95
+ * Merge sub-floor spans FORWARD into their next neighbour (8.20.0).
96
+ *
97
+ * For heading-less span families (paragraphs, and `byHeading`'s no-headings
98
+ * fallback). A span under the floor is never dropped and never shipped alone:
99
+ *
100
+ * - adjacent short spans accumulate; the moment the accumulation reaches the
101
+ * floor it is emitted as its own span (two 150-char paragraphs make a fine
102
+ * 300-char chunk — better than pushing both into a full-sized neighbour);
103
+ * - an accumulation still under the floor joins the NEXT full span, so the
104
+ * short text leads the merged chunk;
105
+ * - at the end of the document there is no next, so a trailing accumulation
106
+ * merges BACKWARD into the last emitted span;
107
+ * - a document that is nothing but short spans stays one merged span —
108
+ * there is no neighbour, and "never dropped" wins.
109
+ *
110
+ * Merged spans slice the SOURCE (start of the first constituent to end of the
111
+ * last), so the offset invariant holds by construction, as everywhere else.
112
+ */
113
+ export declare function mergeShortSpansForward(spans: readonly Span[], minChars: number): Span[];
82
114
  /** Turn spans into pieces, slicing the text so the invariant holds by construction. */
83
115
  export declare function toPieces(doc: LoadedDocument, spans: readonly Span[]): SplitPiece[];
84
116
  /** Hard-cut a span that no packing could fit, at `maxChars` with overlap. */
@@ -1,4 +1,4 @@
1
- import { MIN_CHUNK_CHARS } from './constants.js';
1
+ import { DEFAULT_MIN_CHARS, MIN_CHUNK_CHARS } from './constants.js';
2
2
  /**
3
3
  * Which page an offset falls on, 1-based, or `undefined` when the document is
4
4
  * not paginated.
@@ -139,6 +139,82 @@ export function foldRunts(spans, minChars = MIN_CHUNK_CHARS) {
139
139
  }
140
140
  return out;
141
141
  }
142
+ /**
143
+ * Resolve the effective `minChars` floor for a splitter (8.20.0).
144
+ *
145
+ * Unset → `min(DEFAULT_MIN_CHARS, maxChars / 4)`: 250 at the default target,
146
+ * shrinking proportionally when the caller asked for small chunks, so a
147
+ * defaulted floor can never swallow the chunk size the caller chose.
148
+ *
149
+ * An EXPLICIT floor is validated instead of clamped: a floor at or above the
150
+ * target would merge every chunk into its neighbour, which is a configuration
151
+ * contradiction, not a preference — refused by name rather than rounded away.
152
+ */
153
+ export function resolveMinChars(minChars, maxChars) {
154
+ if (minChars === undefined) {
155
+ return Math.min(DEFAULT_MIN_CHARS, Math.floor(maxChars / 4));
156
+ }
157
+ if (!Number.isFinite(minChars) || minChars < 0) {
158
+ throw new Error(`minChars must be a non-negative number of characters — received ${String(minChars)}. ` +
159
+ `Pass 0 to disable the floor (heading-only chunks are still never emitted).`);
160
+ }
161
+ if (minChars >= maxChars) {
162
+ throw new Error(`minChars (${minChars}) must be smaller than maxChars (${maxChars}) — a floor at or ` +
163
+ `above the target chunk size would merge every chunk into its neighbour. Lower ` +
164
+ `minChars, or raise maxChars.`);
165
+ }
166
+ return minChars;
167
+ }
168
+ /**
169
+ * Merge sub-floor spans FORWARD into their next neighbour (8.20.0).
170
+ *
171
+ * For heading-less span families (paragraphs, and `byHeading`'s no-headings
172
+ * fallback). A span under the floor is never dropped and never shipped alone:
173
+ *
174
+ * - adjacent short spans accumulate; the moment the accumulation reaches the
175
+ * floor it is emitted as its own span (two 150-char paragraphs make a fine
176
+ * 300-char chunk — better than pushing both into a full-sized neighbour);
177
+ * - an accumulation still under the floor joins the NEXT full span, so the
178
+ * short text leads the merged chunk;
179
+ * - at the end of the document there is no next, so a trailing accumulation
180
+ * merges BACKWARD into the last emitted span;
181
+ * - a document that is nothing but short spans stays one merged span —
182
+ * there is no neighbour, and "never dropped" wins.
183
+ *
184
+ * Merged spans slice the SOURCE (start of the first constituent to end of the
185
+ * last), so the offset invariant holds by construction, as everywhere else.
186
+ */
187
+ export function mergeShortSpansForward(spans, minChars) {
188
+ if (minChars <= 0 || spans.length <= 1)
189
+ return [...spans];
190
+ const out = [];
191
+ let pendingStart;
192
+ let lastEnd = 0;
193
+ for (const span of spans) {
194
+ lastEnd = span.end;
195
+ if (span.end - span.start < minChars && pendingStart === undefined) {
196
+ pendingStart = span.start;
197
+ continue;
198
+ }
199
+ if (pendingStart !== undefined) {
200
+ // Accumulating: emit as soon as the accumulation clears the floor,
201
+ // whether the closer was itself short or full-sized.
202
+ if (span.end - pendingStart >= minChars) {
203
+ out.push({ start: pendingStart, end: span.end });
204
+ pendingStart = undefined;
205
+ }
206
+ continue;
207
+ }
208
+ out.push(span);
209
+ }
210
+ if (pendingStart !== undefined) {
211
+ const previous = out.pop();
212
+ out.push(previous === undefined
213
+ ? { start: pendingStart, end: lastEnd }
214
+ : { start: previous.start, end: lastEnd });
215
+ }
216
+ return out;
217
+ }
142
218
  /** Turn spans into pieces, slicing the text so the invariant holds by construction. */
143
219
  export function toPieces(doc, spans) {
144
220
  const pageAt = pageLocator(doc);
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/rag/splitters/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/rag/splitters/shared.ts"],"names":[],"mappings":"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"}
@@ -121,18 +121,21 @@ export class ContextRecorder {
121
121
  if (!records)
122
122
  return;
123
123
  for (const rec of records) {
124
- // The payload REQUIRES `unit` / `cap` / `projected` (8.14.0); the record
125
- // does not, because slot builders — including any a consumer wrote —
126
- // still typecheck without them. Filling `'chars'` here is not a guess:
127
- // this handler only ever sees writes to `COMPOSITION_KEYS.BUDGET_PRESSURE`,
128
- // which come off a slot composition, and a slot composition counts
129
- // `String.length`. A window strategy never travels this path — it emits
130
- // the event directly, with `unit: 'tokens'`.
124
+ // The payload REQUIRES `unit`; the record does not, because slot
125
+ // builders — including any a consumer wrote — still typecheck without
126
+ // it. Filling `'chars'` here is not a guess: this handler only ever
127
+ // sees writes to `COMPOSITION_KEYS.BUDGET_PRESSURE`, which come off a
128
+ // slot composition, and a slot composition counts `String.length`. A
129
+ // window strategy never travels this path — it emits the event
130
+ // directly, with `unit: 'tokens'`.
131
+ const { cap, projected } = readPressureNumbers(rec);
131
132
  this.dispatch('agentfootprint.context.budget_pressure', {
132
- ...rec,
133
+ slot: rec.slot,
134
+ overflowBy: rec.overflowBy,
135
+ planAction: rec.planAction,
133
136
  unit: rec.unit ?? 'chars',
134
- cap: rec.cap ?? rec.capTokens,
135
- projected: rec.projected ?? rec.projectedTokens,
137
+ cap,
138
+ projected,
136
139
  }, event);
137
140
  }
138
141
  }
@@ -219,10 +222,43 @@ export class ContextRecorder {
219
222
  const rec = r;
220
223
  if (typeof rec.slot !== 'string')
221
224
  return undefined;
222
- if (typeof rec.capTokens !== 'number')
225
+ if (typeof rec.cap !== 'number' && typeof rec.capTokens !== 'number')
223
226
  return undefined;
224
227
  }
225
228
  return value;
226
229
  }
227
230
  }
231
+ let warnedLegacyPressureNames = false;
232
+ /**
233
+ * Read a pressure record's two numbers, accepting the 8.x spelling once more.
234
+ *
235
+ * 9.0.0 grace, not support: `cap` / `projected` win whenever they are present,
236
+ * and a record carrying only the old names is read AND reported — once per
237
+ * process, because a slot builder that writes them writes them on every
238
+ * composition and a warning per event is a warning nobody reads.
239
+ *
240
+ * A refusal would have been the wrong shape here. This is a recorder: a throw
241
+ * is isolated by footprintjs and swallowed, so refusing would delete the
242
+ * consumer's budget signal and say nothing about why. Reading the value and
243
+ * naming the new fields is the version of "teach" that survives the channel.
244
+ *
245
+ * The fallback is deleted in 10.0.0; then a legacy-only record fails
246
+ * `asPressureArray` and no event is emitted at all.
247
+ */
248
+ function readPressureNumbers(rec) {
249
+ const legacy = rec;
250
+ const cap = legacy.cap ?? legacy.capTokens ?? 0;
251
+ const projected = legacy.projected ?? legacy.projectedTokens ?? 0;
252
+ if (legacy.cap === undefined && legacy.capTokens !== undefined && !warnedLegacyPressureNames) {
253
+ warnedLegacyPressureNames = true;
254
+ // eslint-disable-next-line no-console
255
+ console.warn(`[agentfootprint] a budget-pressure record for slot '${rec.slot}' carries the 8.x field ` +
256
+ `names \`capTokens\` / \`projectedTokens\`, which were removed in 9.0.0. They are read ` +
257
+ `this once so your budget signal still fires, and the fallback is deleted in 10.0.0. ` +
258
+ `Write \`cap\` / \`projected\` with \`unit\` instead — the old names asserted TOKENS on ` +
259
+ `a channel that counts CHARACTERS. Whichever slot builder produced this record needs ` +
260
+ `the three-field shape.`);
261
+ }
262
+ return { cap, projected };
263
+ }
228
264
  //# sourceMappingURL=ContextRecorder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextRecorder.js","sourceRoot":"","sources":["../../../../src/recorders/core/ContextRecorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAO5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAa9C,MAAM,OAAO,eAAe;IACjB,EAAE,CAAS;IACH,UAAU,CAAkB;IAC5B,aAAa,CAAmB;IAEjD,+DAA+D;IAC/D,oEAAoE;IACpE,mEAAmE;IACnE,qEAAqE;IACrE,+DAA+D;IAC/D,4BAA4B;IAC5B,wEAAwE;IACxE,sEAAsE;IACtE,sEAAsE;IACrD,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEjE,YAAY,OAA+B;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,iCAAiC,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED,kEAAkE;IAElE,cAAc,CAAC,KAAuB;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,wEAAwE;QACxE,6DAA6D;QAC7D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,KAAuB;QACnC,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO;QAC7B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,oEAAoE;IAEpE,OAAO,CAAC,KAAiB;QACvB,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAEtB,2EAA2E;QAC3E,IAAI,GAAG,KAAK,cAAc,CAAC,aAAa,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YAC3E,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,IAAI,GAAG,KAAK,cAAc,CAAC,QAAQ,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YACjE,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,IAAI,GAAG,KAAK,cAAc,CAAC,KAAK,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3D,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,IAAI,GAAG,KAAK,gBAAgB,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,wDAAwD;QACxD,IAAI,GAAG,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,qDAAqD;QACrD,IAAI,GAAG,KAAK,gBAAgB,CAAC,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;IACH,CAAC;IAED,kEAAkE;IAE1D,qBAAqB,CAAC,IAAiB,EAAE,KAAiB;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAChE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,SAAS;YACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,uBAAuB,CAAC,KAAiB;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAEO,oBAAoB,CAAC,KAAiB;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,KAAiB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,yEAAyE;YACzE,qEAAqE;YACrE,uEAAuE;YACvE,4EAA4E;YAC5E,mEAAmE;YACnE,wEAAwE;YACxE,6CAA6C;YAC7C,IAAI,CAAC,QAAQ,CACX,wCAAwC,EACxC;gBACE,GAAG,GAAG;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO;gBACzB,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS;gBAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,eAAe;aAChD,EACD,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,GAAoB,EAAE,KAAiB;QAC1D,yEAAyE;QACzE,qEAAqE;QACrE,yBAAyB;QACzB,EAAE;QACF,uEAAuE;QACvE,kEAAkE;QAClE,sEAAsE;QACtE,gEAAgE;QAChE,kCAAkC;QAClC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAEO,QAAQ,CACd,IAAO,EACP,OAA6C,EAC7C,MAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO;QACnD,iEAAiE;QACjE,oEAAoE;QACpE,wDAAwD;QACxD,MAAM,MAAM,GACV,kBAAkB,IAAI,MAAM,IAAI,MAAM,CAAC,gBAAgB;YACrD,CAAC,CAAC,MAAM,CAAC,gBAAgB;YACzB,CAAC,CAAE,MAAsC,CAAC;QAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAA+B,CAAC,CAAC;IACjF,CAAC;IAED,kEAAkE;IAE1D,gBAAgB,CAAC,KAAc;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,kEAAkE;QAClE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAClD,MAAM,GAAG,GAAG,CAA6B,CAAC;YAC1C,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;QACvD,CAAC;QACD,OAAO,KAAmC,CAAC;IAC7C,CAAC;IAEO,iBAAiB,CAAC,KAAc;QACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC1D,MAAM,GAAG,GAAG,KAAiC,CAAC;QAC9C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACnD,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACtF,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3D,OAAO,KAAwB,CAAC;IAClC,CAAC;IAEO,eAAe,CAAC,KAAc;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAClD,MAAM,GAAG,GAAG,CAA4B,CAAC;YACzC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;QAC5D,CAAC;QACD,OAAO,KAAkC,CAAC;IAC5C,CAAC;IAEO,eAAe,CAAC,KAAc;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAClD,MAAM,GAAG,GAAG,CAAkC,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACnD,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;QAC1D,CAAC;QACD,OAAO,KAAwC,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"ContextRecorder.js","sourceRoot":"","sources":["../../../../src/recorders/core/ContextRecorder.ts"],"names":[],"mappings":"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"}
@@ -82,15 +82,17 @@ export interface EvictionRecord {
82
82
  /**
83
83
  * Budget-pressure warning — emitted before evictions fire.
84
84
  *
85
- * `capTokens` / `projectedTokens` are historical names: on THIS channel the
86
- * numbers are CHARS (`composeSlot` measures `String.length`). Renaming them
87
- * would be breaking, so they stay and {@link unit} / {@link cap} /
88
- * {@link projected} were added beside them in 8.14.0.
85
+ * `cap` and `projected` are counted in {@link unit}. They were added in 8.14.0
86
+ * beside `capTokens` / `projectedTokens`, which asserted a unit this channel
87
+ * does not use: on THIS channel the numbers are CHARS (`composeSlot` measures
88
+ * `String.length`), while a window strategy fills the same event with tokens.
89
+ * 9.0.0 removed the two misnamed fields, and `cap` / `projected` are required
90
+ * in their place — a record that carried neither pair would be a record with
91
+ * no numbers on it.
89
92
  *
90
- * The three new fields are OPTIONAL here, unlike on the event payload, because
91
- * this record is written by slot builders — including any a consumer wrote —
92
- * and a record from one of those still typechecks. `ContextRecorder` fills a
93
- * missing `unit` with `'chars'`, which is not a guess: every write to
93
+ * {@link unit} stays OPTIONAL, unlike on the event payload, because this
94
+ * record is written by slot builders — including any a consumer wrote. A
95
+ * missing `unit` reads as `'chars'`, which is not a guess: every write to
94
96
  * `COMPOSITION_KEYS.BUDGET_PRESSURE` comes off a slot composition, and a slot
95
97
  * composition is counted in characters by construction.
96
98
  *
@@ -100,19 +102,15 @@ export interface EvictionRecord {
100
102
  */
101
103
  export interface BudgetPressureRecord {
102
104
  readonly slot: ContextSlot;
103
- /** @deprecated Read {@link cap} with {@link unit}. Still written. */
104
- readonly capTokens: number;
105
- /** @deprecated Read {@link projected} with {@link unit}. Still written. */
106
- readonly projectedTokens: number;
107
105
  readonly overflowBy: number;
108
106
  readonly planAction: 'evict' | 'summarize' | 'abort' | 'none';
109
- /** What the numbers count. Absent on a record written before 8.14.0 (or by
110
- * a third-party slot builder) — the slot channel is `'chars'`. */
107
+ /** What the numbers count. Absent on a record written by a third-party slot
108
+ * builder — the slot channel is `'chars'`. */
111
109
  readonly unit?: 'chars' | 'tokens';
112
- /** Same value as {@link capTokens}, under a name that asserts no unit. */
113
- readonly cap?: number;
114
- /** Same value as {@link projectedTokens}, under a name that asserts no unit. */
115
- readonly projected?: number;
110
+ /** The budget, in {@link unit}. */
111
+ readonly cap: number;
112
+ /** What was measured against it, in {@link unit}. */
113
+ readonly projected: number;
116
114
  }
117
115
  export declare const COMPOSITION_KEYS: {
118
116
  readonly SLOT_COMPOSED: "slotCompositions";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/recorders/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsHH,uEAAuE;AACvE,0EAA0E;AAC1E,4BAA4B;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE,kBAAkB;IACjC,OAAO,EAAE,eAAe;IACxB,eAAe,EAAE,qBAAqB;CAC9B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/recorders/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoHH,uEAAuE;AACvE,0EAA0E;AAC1E,4BAA4B;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE,kBAAkB;IACjC,OAAO,EAAE,eAAe;IACxB,eAAe,EAAE,qBAAqB;CAC9B,CAAC"}
@@ -454,6 +454,22 @@ export interface BoundaryRecorderOptions {
454
454
  * that silently — a lean default would quietly empty their replays.
455
455
  */
456
456
  readonly snapshot?: 'full' | 'lean';
457
+ /**
458
+ * Keep raw embedding vectors in captured payloads (8.20.0). Default
459
+ * `false`: every `embedding` / `embeddings` field in a boundary payload is
460
+ * replaced with its `{ dims, norm }` summary at capture time.
461
+ *
462
+ * The default exists because of a field measurement: the memory-read
463
+ * subflow's boundary output carries each retrieved entry's full vector,
464
+ * and one retrieval turn's recording weighed 2.76 MB — ~1.1 MB of it
465
+ * embedding floats no consumer of a recording reads. The retrieval
466
+ * evidence a debugger needs (score, passage, document, rejected
467
+ * candidates) does not live in those floats and is untouched.
468
+ *
469
+ * Set `true` only when a consumer genuinely replays vectors (say, to
470
+ * re-rank offline) — the recording grows by the full vector bytes again.
471
+ */
472
+ readonly recordEmbeddings?: boolean;
457
473
  }
458
474
  /**
459
475
  * Stripped projection used as the LABEL for the commit-range index.
@@ -522,6 +538,10 @@ export declare class BoundaryRecorder implements CombinedRecorder {
522
538
  * `toSnapshot()` reads it; the live event stream from `getEvents()`
523
539
  * is always full, so in-process consumers are never affected. */
524
540
  private readonly snapshotMode;
541
+ /** See `BoundaryRecorderOptions.recordEmbeddings`. Applied at CAPTURE
542
+ * time, so the summary is what every projection (live stream, snapshot,
543
+ * lean) sees — one truth, not per-reader rewrites. */
544
+ private readonly keepEmbeddings;
525
545
  /**
526
546
  * Tracks whether the most recent `llm.end` had toolCalls. Used to
527
547
  * classify the NEXT `llm.start` as `'tool→llm'` (vs `'user→llm'` if
@@ -554,6 +574,10 @@ export declare class BoundaryRecorder implements CombinedRecorder {
554
574
  */
555
575
  private readonly runIdGuard;
556
576
  constructor(options?: BoundaryRecorderOptions);
577
+ /** Boundary payloads keep a vector's shape, not its bytes — see
578
+ * `recordEmbeddings`. Copy-on-write: payloads without embeddings pass
579
+ * through by reference. */
580
+ private capturePayload;
557
581
  /**
558
582
  * Reset all transient state.
559
583
  *
@@ -103,6 +103,7 @@
103
103
  import { ROOT_RUNTIME_STAGE_ID, ROOT_SUBFLOW_ID, SequenceStore, CommitRangeIndex, } from 'footprintjs/trace';
104
104
  import { SUBFLOW_IDS, STAGE_IDS, slotFromSubflowId } from '../../conventions.js';
105
105
  import { createRunIdObserver } from './observeRunId.js';
106
+ import { summarizeEmbeddings } from './embeddingSummary.js';
106
107
  // ─── Lean projection ─────────────────────────────────────────────────
107
108
  /**
108
109
  * The `DomainEvent` fields that carry captured run CONTENT — what the
@@ -277,6 +278,10 @@ export class BoundaryRecorder {
277
278
  * `toSnapshot()` reads it; the live event stream from `getEvents()`
278
279
  * is always full, so in-process consumers are never affected. */
279
280
  snapshotMode;
281
+ /** See `BoundaryRecorderOptions.recordEmbeddings`. Applied at CAPTURE
282
+ * time, so the summary is what every projection (live stream, snapshot,
283
+ * lean) sees — one truth, not per-reader rewrites. */
284
+ keepEmbeddings;
280
285
  /**
281
286
  * Tracks whether the most recent `llm.end` had toolCalls. Used to
282
287
  * classify the NEXT `llm.start` as `'tool→llm'` (vs `'user→llm'` if
@@ -321,10 +326,17 @@ export class BoundaryRecorder {
321
326
  constructor(options = {}) {
322
327
  this.id = options.id ?? `boundary-${++_counter}`;
323
328
  this.snapshotMode = options.snapshot ?? 'full';
329
+ this.keepEmbeddings = options.recordEmbeddings ?? false;
324
330
  this.hasCommitTracking = options.getCommitCount !== undefined;
325
331
  const raw = options.getCommitCount;
326
332
  this.getCommitCount = raw === undefined ? () => 0 : () => sanitizeCommitCount(raw());
327
333
  }
334
+ /** Boundary payloads keep a vector's shape, not its bytes — see
335
+ * `recordEmbeddings`. Copy-on-write: payloads without embeddings pass
336
+ * through by reference. */
337
+ capturePayload(payload) {
338
+ return this.keepEmbeddings ? payload : summarizeEmbeddings(payload);
339
+ }
328
340
  /**
329
341
  * Reset all transient state.
330
342
  *
@@ -369,7 +381,7 @@ export class BoundaryRecorder {
369
381
  onRunStart(event) {
370
382
  this.observeRunId(event.traversalContext?.runId);
371
383
  const commitIdxBefore = this.getCommitCount();
372
- const e = buildRunEvent('run.entry', event.payload, commitIdxBefore);
384
+ const e = buildRunEvent('run.entry', this.capturePayload(event.payload), commitIdxBefore);
373
385
  // Open range BEFORE the store push so a failed push doesn't leak
374
386
  // an unclosed range (DS+logic panel review). The label is the
375
387
  // stripped projection (no payload) — security-panel YELLOW #1.
@@ -382,7 +394,7 @@ export class BoundaryRecorder {
382
394
  onRunEnd(event) {
383
395
  this.observeRunId(event.traversalContext?.runId);
384
396
  const commitIdxBefore = this.getCommitCount();
385
- const e = buildRunEvent('run.exit', event.payload, commitIdxBefore);
397
+ const e = buildRunEvent('run.exit', this.capturePayload(event.payload), commitIdxBefore);
386
398
  // Close the range BEFORE store.push so a failed push doesn't
387
399
  // leak a permanently-open range. The range is the canonical
388
400
  // truth; the store entry is downstream telemetry.
@@ -415,7 +427,7 @@ export class BoundaryRecorder {
415
427
  onSubflowEntry(event) {
416
428
  this.observeRunId(event.traversalContext?.runId);
417
429
  const commitIdxBefore = this.getCommitCount();
418
- const e = buildSubflowEvent(event, 'subflow.entry', commitIdxBefore);
430
+ const e = buildSubflowEvent(event, 'subflow.entry', commitIdxBefore, (p) => this.capturePayload(p));
419
431
  if (!e)
420
432
  return;
421
433
  if (this.hasCommitTracking) {
@@ -427,7 +439,7 @@ export class BoundaryRecorder {
427
439
  onSubflowExit(event) {
428
440
  this.observeRunId(event.traversalContext?.runId);
429
441
  const commitIdxBefore = this.getCommitCount();
430
- const e = buildSubflowEvent(event, 'subflow.exit', commitIdxBefore);
442
+ const e = buildSubflowEvent(event, 'subflow.exit', commitIdxBefore, (p) => this.capturePayload(p));
431
443
  if (!e)
432
444
  return;
433
445
  if (this.hasCommitTracking) {
@@ -936,7 +948,7 @@ function buildRunEvent(type, payload, commitIdxBefore) {
936
948
  isRoot: true,
937
949
  };
938
950
  }
939
- function buildSubflowEvent(event, type, commitIdxBefore) {
951
+ function buildSubflowEvent(event, type, commitIdxBefore, transformPayload) {
940
952
  const subflowId = event.subflowId;
941
953
  if (!subflowId)
942
954
  return undefined;
@@ -950,7 +962,8 @@ function buildSubflowEvent(event, type, commitIdxBefore) {
950
962
  const primitiveKind = description ? parsePrimitiveKindFromDescription(description) : undefined;
951
963
  const slotKind = slotFromSubflowId(subflowId);
952
964
  const isAgentInternal = isAgentInternalId(localSubflowId);
953
- const payload = type === 'subflow.entry' ? event.mappedInput : event.outputState;
965
+ const rawPayload = type === 'subflow.entry' ? event.mappedInput : event.outputState;
966
+ const payload = rawPayload === undefined ? undefined : transformPayload(rawPayload);
954
967
  return {
955
968
  type,
956
969
  runtimeStageId,