agentfootprint 9.142.0 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (593) hide show
  1. package/AGENTS.md +4 -6
  2. package/CAPABILITIES.md +6 -3
  3. package/ai-instructions/claude-code/SKILL.md +4 -6
  4. package/dist/adapters/forcedToolChoice.js +79 -0
  5. package/dist/adapters/forcedToolChoice.js.map +1 -0
  6. package/dist/adapters/llm/AnthropicProvider.js +25 -63
  7. package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
  8. package/dist/adapters/llm/BedrockProvider.js +37 -8
  9. package/dist/adapters/llm/BedrockProvider.js.map +1 -1
  10. package/dist/adapters/llm/BrowserAnthropicProvider.js +29 -7
  11. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  12. package/dist/adapters/llm/BrowserOpenAIProvider.js +3 -0
  13. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  14. package/dist/adapters/llm/FoundryProvider.js +3 -0
  15. package/dist/adapters/llm/FoundryProvider.js.map +1 -1
  16. package/dist/adapters/llm/InvokeModelGatewayProvider.js +28 -9
  17. package/dist/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  18. package/dist/adapters/llm/OpenAIProvider.js +3 -0
  19. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  20. package/dist/adapters/llm/anthropicMessageProjection.js +113 -0
  21. package/dist/adapters/llm/anthropicMessageProjection.js.map +1 -0
  22. package/dist/adapters/llm/anthropicMessagesWire.js +189 -213
  23. package/dist/adapters/llm/anthropicMessagesWire.js.map +1 -1
  24. package/dist/adapters/llm/anthropicModels.js +187 -0
  25. package/dist/adapters/llm/anthropicModels.js.map +1 -0
  26. package/dist/adapters/llm/anthropicReplayLayout.js +241 -0
  27. package/dist/adapters/llm/anthropicReplayLayout.js.map +1 -0
  28. package/dist/adapters/llm/anthropicThinkingReplay.js +188 -0
  29. package/dist/adapters/llm/anthropicThinkingReplay.js.map +1 -0
  30. package/dist/adapters/llm/anthropicThinkingWire.js +16 -105
  31. package/dist/adapters/llm/anthropicThinkingWire.js.map +1 -1
  32. package/dist/adapters/observability/audit.js +0 -1
  33. package/dist/adapters/observability/audit.js.map +1 -1
  34. package/dist/adapters/requestRefusal.js +15 -0
  35. package/dist/adapters/requestRefusal.js.map +1 -0
  36. package/dist/adapters/types.js +2 -3
  37. package/dist/adapters/types.js.map +1 -1
  38. package/dist/bridge/eventMeta.js +3 -3
  39. package/dist/bridge/eventMeta.js.map +1 -1
  40. package/dist/cache/cacheRecorder.js +2 -2
  41. package/dist/cache/cacheRecorder.js.map +1 -1
  42. package/dist/conventions.js +4 -4
  43. package/dist/conventions.js.map +1 -1
  44. package/dist/core/Agent.js +60 -30
  45. package/dist/core/Agent.js.map +1 -1
  46. package/dist/core/LLMCall.js +1 -1
  47. package/dist/core/LLMCall.js.map +1 -1
  48. package/dist/core/agent/AgentBuilder.js +8 -36
  49. package/dist/core/agent/AgentBuilder.js.map +1 -1
  50. package/dist/core/agent/assistantReplay.js +27 -0
  51. package/dist/core/agent/assistantReplay.js.map +1 -0
  52. package/dist/core/agent/buildAgentMessageApiChart.js +1 -1
  53. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
  54. package/dist/core/agent/buildDynamicAgentChart.js +8 -0
  55. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  56. package/dist/core/agent/buildMessageApiChart.js +1 -1
  57. package/dist/core/agent/buildMessageApiChart.js.map +1 -1
  58. package/dist/core/agent/coverage/items.js +1 -1
  59. package/dist/core/agent/coverage/refusal.js +3 -4
  60. package/dist/core/agent/coverage/refusal.js.map +1 -1
  61. package/dist/core/agent/providerTargets.js +14 -0
  62. package/dist/core/agent/providerTargets.js.map +1 -0
  63. package/dist/core/agent/stages/callLLM.js +48 -15
  64. package/dist/core/agent/stages/callLLM.js.map +1 -1
  65. package/dist/core/agent/stages/deliver.js +15 -13
  66. package/dist/core/agent/stages/deliver.js.map +1 -1
  67. package/dist/core/agent/stages/outputRetry.js +2 -1
  68. package/dist/core/agent/stages/outputRetry.js.map +1 -1
  69. package/dist/core/agent/stages/prepareFinal.js +2 -0
  70. package/dist/core/agent/stages/prepareFinal.js.map +1 -1
  71. package/dist/core/agent/stages/reliabilityExecution.js +29 -17
  72. package/dist/core/agent/stages/reliabilityExecution.js.map +1 -1
  73. package/dist/core/agent/stages/stepNudge.js +2 -1
  74. package/dist/core/agent/stages/stepNudge.js.map +1 -1
  75. package/dist/core/agent/stages/toolCalls.js +2 -0
  76. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  77. package/dist/core/agent/thinkingSupport.js +8 -6
  78. package/dist/core/agent/thinkingSupport.js.map +1 -1
  79. package/dist/core/outputSchema.js.map +1 -1
  80. package/dist/core/runCheckpoint.js +16 -2
  81. package/dist/core/runCheckpoint.js.map +1 -1
  82. package/dist/core/slots/buildToolsSlot.js +2 -3
  83. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  84. package/dist/doors/resilience.js +10 -8
  85. package/dist/doors/resilience.js.map +1 -1
  86. package/dist/doors/security.js +1 -3
  87. package/dist/doors/security.js.map +1 -1
  88. package/dist/esm/adapters/forcedToolChoice.d.ts +66 -0
  89. package/dist/esm/adapters/forcedToolChoice.js +74 -0
  90. package/dist/esm/adapters/forcedToolChoice.js.map +1 -0
  91. package/dist/esm/adapters/llm/AnthropicProvider.d.ts +3 -14
  92. package/dist/esm/adapters/llm/AnthropicProvider.js +27 -65
  93. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  94. package/dist/esm/adapters/llm/BedrockProvider.d.ts +5 -0
  95. package/dist/esm/adapters/llm/BedrockProvider.js +37 -8
  96. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  97. package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +2 -0
  98. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +29 -7
  99. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  100. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +3 -0
  101. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  102. package/dist/esm/adapters/llm/FoundryProvider.js +3 -0
  103. package/dist/esm/adapters/llm/FoundryProvider.js.map +1 -1
  104. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.d.ts +2 -0
  105. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js +28 -9
  106. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  107. package/dist/esm/adapters/llm/OpenAIProvider.js +3 -0
  108. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  109. package/dist/esm/adapters/llm/anthropicMessageProjection.d.ts +19 -0
  110. package/dist/esm/adapters/llm/anthropicMessageProjection.js +108 -0
  111. package/dist/esm/adapters/llm/anthropicMessageProjection.js.map +1 -0
  112. package/dist/esm/adapters/llm/anthropicMessagesWire.d.ts +8 -18
  113. package/dist/esm/adapters/llm/anthropicMessagesWire.js +184 -208
  114. package/dist/esm/adapters/llm/anthropicMessagesWire.js.map +1 -1
  115. package/dist/esm/adapters/llm/anthropicModels.d.ts +96 -0
  116. package/dist/esm/adapters/llm/anthropicModels.js +180 -0
  117. package/dist/esm/adapters/llm/anthropicModels.js.map +1 -0
  118. package/dist/esm/adapters/llm/anthropicReplayLayout.d.ts +23 -0
  119. package/dist/esm/adapters/llm/anthropicReplayLayout.js +232 -0
  120. package/dist/esm/adapters/llm/anthropicReplayLayout.js.map +1 -0
  121. package/dist/esm/adapters/llm/anthropicThinkingReplay.d.ts +21 -0
  122. package/dist/esm/adapters/llm/anthropicThinkingReplay.js +183 -0
  123. package/dist/esm/adapters/llm/anthropicThinkingReplay.js.map +1 -0
  124. package/dist/esm/adapters/llm/anthropicThinkingWire.d.ts +12 -36
  125. package/dist/esm/adapters/llm/anthropicThinkingWire.js +13 -101
  126. package/dist/esm/adapters/llm/anthropicThinkingWire.js.map +1 -1
  127. package/dist/esm/adapters/observability/audit.js +0 -1
  128. package/dist/esm/adapters/observability/audit.js.map +1 -1
  129. package/dist/esm/adapters/requestRefusal.d.ts +2 -0
  130. package/dist/esm/adapters/requestRefusal.js +11 -0
  131. package/dist/esm/adapters/requestRefusal.js.map +1 -0
  132. package/dist/esm/adapters/types.d.ts +34 -95
  133. package/dist/esm/adapters/types.js +2 -3
  134. package/dist/esm/adapters/types.js.map +1 -1
  135. package/dist/esm/bridge/eventMeta.d.ts +1 -1
  136. package/dist/esm/bridge/eventMeta.js +2 -2
  137. package/dist/esm/bridge/eventMeta.js.map +1 -1
  138. package/dist/esm/cache/cacheRecorder.js +1 -1
  139. package/dist/esm/cache/cacheRecorder.js.map +1 -1
  140. package/dist/esm/conventions.js +1 -1
  141. package/dist/esm/conventions.js.map +1 -1
  142. package/dist/esm/core/Agent.d.ts +11 -1
  143. package/dist/esm/core/Agent.js +63 -33
  144. package/dist/esm/core/Agent.js.map +1 -1
  145. package/dist/esm/core/LLMCall.js +1 -1
  146. package/dist/esm/core/LLMCall.js.map +1 -1
  147. package/dist/esm/core/agent/AgentBuilder.d.ts +4 -20
  148. package/dist/esm/core/agent/AgentBuilder.js +8 -36
  149. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  150. package/dist/esm/core/agent/assistantReplay.d.ts +11 -0
  151. package/dist/esm/core/agent/assistantReplay.js +23 -0
  152. package/dist/esm/core/agent/assistantReplay.js.map +1 -0
  153. package/dist/esm/core/agent/buildAgentMessageApiChart.js +1 -1
  154. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  155. package/dist/esm/core/agent/buildDynamicAgentChart.js +8 -0
  156. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  157. package/dist/esm/core/agent/buildMessageApiChart.js +1 -1
  158. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
  159. package/dist/esm/core/agent/coverage/emptiness.d.ts +1 -1
  160. package/dist/esm/core/agent/coverage/items.d.ts +1 -1
  161. package/dist/esm/core/agent/coverage/items.js +1 -1
  162. package/dist/esm/core/agent/coverage/refusal.d.ts +3 -4
  163. package/dist/esm/core/agent/coverage/refusal.js +3 -4
  164. package/dist/esm/core/agent/coverage/refusal.js.map +1 -1
  165. package/dist/esm/core/agent/providerTargets.d.ts +11 -0
  166. package/dist/esm/core/agent/providerTargets.js +10 -0
  167. package/dist/esm/core/agent/providerTargets.js.map +1 -0
  168. package/dist/esm/core/agent/stages/callLLM.d.ts +3 -1
  169. package/dist/esm/core/agent/stages/callLLM.js +48 -15
  170. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  171. package/dist/esm/core/agent/stages/deliver.d.ts +5 -0
  172. package/dist/esm/core/agent/stages/deliver.js +13 -12
  173. package/dist/esm/core/agent/stages/deliver.js.map +1 -1
  174. package/dist/esm/core/agent/stages/outputRetry.js +2 -1
  175. package/dist/esm/core/agent/stages/outputRetry.js.map +1 -1
  176. package/dist/esm/core/agent/stages/prepareFinal.js +2 -0
  177. package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
  178. package/dist/esm/core/agent/stages/reliabilityExecution.d.ts +8 -1
  179. package/dist/esm/core/agent/stages/reliabilityExecution.js +29 -17
  180. package/dist/esm/core/agent/stages/reliabilityExecution.js.map +1 -1
  181. package/dist/esm/core/agent/stages/stepNudge.js +2 -1
  182. package/dist/esm/core/agent/stages/stepNudge.js.map +1 -1
  183. package/dist/esm/core/agent/stages/toolCalls.js +2 -0
  184. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  185. package/dist/esm/core/agent/thinkingSupport.d.ts +5 -2
  186. package/dist/esm/core/agent/thinkingSupport.js +8 -6
  187. package/dist/esm/core/agent/thinkingSupport.js.map +1 -1
  188. package/dist/esm/core/agent/types.d.ts +7 -2
  189. package/dist/esm/core/outputSchema.d.ts +2 -1
  190. package/dist/esm/core/outputSchema.js.map +1 -1
  191. package/dist/esm/core/runCheckpoint.d.ts +8 -0
  192. package/dist/esm/core/runCheckpoint.js +13 -1
  193. package/dist/esm/core/runCheckpoint.js.map +1 -1
  194. package/dist/esm/core/slots/buildToolsSlot.js +2 -3
  195. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  196. package/dist/esm/doors/resilience.d.ts +5 -3
  197. package/dist/esm/doors/resilience.js +4 -2
  198. package/dist/esm/doors/resilience.js.map +1 -1
  199. package/dist/esm/doors/security.d.ts +1 -3
  200. package/dist/esm/doors/security.js +1 -3
  201. package/dist/esm/doors/security.js.map +1 -1
  202. package/dist/esm/events/dispatcher.d.ts +1 -1
  203. package/dist/esm/events/dispatcher.js.map +1 -1
  204. package/dist/esm/events/payloads.d.ts +11 -13
  205. package/dist/esm/events/registry.d.ts +3 -25
  206. package/dist/esm/events/registry.js +2 -14
  207. package/dist/esm/events/registry.js.map +1 -1
  208. package/dist/esm/index.d.ts +1 -1
  209. package/dist/esm/index.js +3 -3
  210. package/dist/esm/index.js.map +1 -1
  211. package/dist/esm/lib/answer-account/templates.js +1 -1
  212. package/dist/esm/lib/answer-account/templates.js.map +1 -1
  213. package/dist/esm/lib/context-bisect/llmEdgeWeigher.d.ts +1 -1
  214. package/dist/esm/lib/context-bisect/llmEdgeWeigher.js +0 -0
  215. package/dist/esm/lib/context-bisect/llmEdgeWeigher.js.map +1 -1
  216. package/dist/esm/lib/context-bisect/localize.d.ts +2 -2
  217. package/dist/esm/lib/context-bisect/localize.js +1 -1
  218. package/dist/esm/lib/context-bisect/localize.js.map +1 -1
  219. package/dist/esm/lib/context-bisect/sliceToBacktrackTrace.d.ts +2 -2
  220. package/dist/esm/lib/context-bisect/sliceToBacktrackTrace.js +2 -2
  221. package/dist/esm/lib/context-bisect/sliceToBacktrackTrace.js.map +1 -1
  222. package/dist/esm/lib/context-bisect/trajectory.d.ts +2 -2
  223. package/dist/esm/lib/context-bisect/trajectory.js +1 -1
  224. package/dist/esm/lib/context-bisect/trajectory.js.map +1 -1
  225. package/dist/esm/lib/context-bisect/types.d.ts +2 -2
  226. package/dist/esm/lib/context-bisect/variable-recall.d.ts +2 -2
  227. package/dist/esm/lib/context-bisect/variable-recall.js +0 -0
  228. package/dist/esm/lib/context-bisect/variable-recall.js.map +1 -1
  229. package/dist/esm/lib/context-ledger/contextLedger.js +1 -1
  230. package/dist/esm/lib/context-ledger/contextLedger.js.map +1 -1
  231. package/dist/esm/lib/context-ledger/types.d.ts +2 -2
  232. package/dist/esm/lib/injection-engine/constrainedEnumPick.d.ts +1 -1
  233. package/dist/esm/lib/injection-engine/constrainedEnumPick.js +5 -2
  234. package/dist/esm/lib/injection-engine/constrainedEnumPick.js.map +1 -1
  235. package/dist/esm/lib/injection-engine/factories/defineInjection.js +5 -4
  236. package/dist/esm/lib/injection-engine/factories/defineInjection.js.map +1 -1
  237. package/dist/esm/lib/injection-engine/factories/defineSkill.d.ts +8 -43
  238. package/dist/esm/lib/injection-engine/factories/defineSkill.js +33 -54
  239. package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -1
  240. package/dist/esm/lib/injection-engine/index.d.ts +1 -1
  241. package/dist/esm/lib/injection-engine/index.js.map +1 -1
  242. package/dist/esm/lib/injection-engine/llmClassifier.d.ts +2 -2
  243. package/dist/esm/lib/injection-engine/llmClassifier.js +2 -2
  244. package/dist/esm/lib/injection-engine/optionKeys.d.ts +10 -0
  245. package/dist/esm/lib/injection-engine/optionKeys.js +29 -0
  246. package/dist/esm/lib/injection-engine/optionKeys.js.map +1 -0
  247. package/dist/esm/lib/injection-engine/skillGraph.d.ts +2 -2
  248. package/dist/esm/lib/injection-engine/skillGraph.js +1 -1
  249. package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
  250. package/dist/esm/lib/injection-engine/skillsFromDir.d.ts +1 -1
  251. package/dist/esm/lib/injection-engine/skillsFromDir.js +7 -22
  252. package/dist/esm/lib/injection-engine/skillsFromDir.js.map +1 -1
  253. package/dist/esm/lib/injection-engine/types.d.ts +0 -4
  254. package/dist/esm/lib/injection-engine/types.js.map +1 -1
  255. package/dist/esm/lib/semantics/described.d.ts +5 -6
  256. package/dist/esm/lib/semantics/described.js +7 -11
  257. package/dist/esm/lib/semantics/described.js.map +1 -1
  258. package/dist/esm/lib/semantics/envelope.d.ts +15 -72
  259. package/dist/esm/lib/semantics/envelope.js +15 -119
  260. package/dist/esm/lib/semantics/envelope.js.map +1 -1
  261. package/dist/esm/lib/semantics/index.d.ts +3 -4
  262. package/dist/esm/lib/semantics/index.js +2 -3
  263. package/dist/esm/lib/semantics/index.js.map +1 -1
  264. package/dist/esm/lib/semantics/types.d.ts +3 -27
  265. package/dist/esm/lib/semantics/types.js.map +1 -1
  266. package/dist/esm/lib/time-travel/epochs.d.ts +1 -1
  267. package/dist/esm/lib/time-travel/epochs.js +1 -1
  268. package/dist/esm/lib/time-travel/epochs.js.map +1 -1
  269. package/dist/esm/lib/time-travel/keyedFold.d.ts +1 -1
  270. package/dist/esm/lib/time-travel/keyedFold.js +1 -1
  271. package/dist/esm/lib/time-travel/keyedFold.js.map +1 -1
  272. package/dist/esm/lib/time-travel/milestoneStops.d.ts +2 -2
  273. package/dist/esm/lib/time-travel/milestoneStops.js +2 -2
  274. package/dist/esm/lib/time-travel/milestoneStops.js.map +1 -1
  275. package/dist/esm/lib/time-travel/receipt.d.ts +10 -0
  276. package/dist/esm/lib/time-travel/receipt.js +2 -2
  277. package/dist/esm/lib/time-travel/receipt.js.map +1 -1
  278. package/dist/esm/lib/time-travel/servedView.d.ts +1 -1
  279. package/dist/esm/lib/time-travel/servedView.js +11 -0
  280. package/dist/esm/lib/time-travel/servedView.js.map +1 -1
  281. package/dist/esm/lib/trace-toolpack/innerRunRecords.d.ts +1 -1
  282. package/dist/esm/lib/trace-toolpack/traceToolpack.js +3 -3
  283. package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -1
  284. package/dist/esm/lib/trace-toolpack/types.d.ts +1 -1
  285. package/dist/esm/maps/engagement/lease.d.ts +1 -1
  286. package/dist/esm/maps/engagement/parkCard.d.ts +1 -1
  287. package/dist/esm/maps/engagement/parkCard.js +1 -1
  288. package/dist/esm/observe.d.ts +1 -1
  289. package/dist/esm/observe.js +1 -1
  290. package/dist/esm/observe.js.map +1 -1
  291. package/dist/esm/providers.d.ts +3 -0
  292. package/dist/esm/providers.js +2 -0
  293. package/dist/esm/providers.js.map +1 -1
  294. package/dist/esm/recorders/core/ContextRecorder.js +2 -35
  295. package/dist/esm/recorders/core/ContextRecorder.js.map +1 -1
  296. package/dist/esm/recorders/core/replayHooks.d.ts +10 -0
  297. package/dist/esm/recorders/core/replayHooks.js +65 -0
  298. package/dist/esm/recorders/core/replayHooks.js.map +1 -0
  299. package/dist/esm/recorders/core/resilienceHooks.d.ts +2 -1
  300. package/dist/esm/recorders/core/resilienceHooks.js +3 -1
  301. package/dist/esm/recorders/core/resilienceHooks.js.map +1 -1
  302. package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +1 -1
  303. package/dist/esm/recorders/observability/BoundaryRecorder.js +2 -1
  304. package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
  305. package/dist/esm/recorders/observability/RunStepRecorder.d.ts +26 -31
  306. package/dist/esm/recorders/observability/RunStepRecorder.js +68 -71
  307. package/dist/esm/recorders/observability/RunStepRecorder.js.map +1 -1
  308. package/dist/esm/redaction/knownStrings.js +21 -13
  309. package/dist/esm/redaction/knownStrings.js.map +1 -1
  310. package/dist/esm/reliability/index.d.ts +4 -53
  311. package/dist/esm/reliability/index.js +4 -59
  312. package/dist/esm/reliability/index.js.map +1 -1
  313. package/dist/esm/resilience/replayAttempt.d.ts +21 -0
  314. package/dist/esm/resilience/replayAttempt.js +96 -0
  315. package/dist/esm/resilience/replayAttempt.js.map +1 -0
  316. package/dist/esm/resilience/withCircuitBreaker.d.ts +2 -1
  317. package/dist/esm/resilience/withCircuitBreaker.js +5 -2
  318. package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
  319. package/dist/esm/resilience/withFallback.d.ts +3 -1
  320. package/dist/esm/resilience/withFallback.js +33 -32
  321. package/dist/esm/resilience/withFallback.js.map +1 -1
  322. package/dist/esm/resilience/withRetry.js +9 -3
  323. package/dist/esm/resilience/withRetry.js.map +1 -1
  324. package/dist/esm/security/index.d.ts +2 -5
  325. package/dist/esm/security/index.js +2 -10
  326. package/dist/esm/security/index.js.map +1 -1
  327. package/dist/esm/thinking/dispatch.d.ts +9 -0
  328. package/dist/esm/thinking/dispatch.js +44 -0
  329. package/dist/esm/thinking/dispatch.js.map +1 -0
  330. package/dist/esm/thinking/errors.d.ts +3 -3
  331. package/dist/esm/thinking/errors.js +3 -3
  332. package/dist/esm/thinking/replay.d.ts +67 -0
  333. package/dist/esm/thinking/replay.js +20 -0
  334. package/dist/esm/thinking/replay.js.map +1 -0
  335. package/dist/esm/thinking/replayHistory.d.ts +18 -0
  336. package/dist/esm/thinking/replayHistory.js +56 -0
  337. package/dist/esm/thinking/replayHistory.js.map +1 -0
  338. package/dist/events/dispatcher.js.map +1 -1
  339. package/dist/events/registry.js +2 -14
  340. package/dist/events/registry.js.map +1 -1
  341. package/dist/index.js +4 -5
  342. package/dist/index.js.map +1 -1
  343. package/dist/lib/answer-account/templates.js +1 -1
  344. package/dist/lib/answer-account/templates.js.map +1 -1
  345. package/dist/lib/context-bisect/llmEdgeWeigher.js +0 -0
  346. package/dist/lib/context-bisect/llmEdgeWeigher.js.map +1 -1
  347. package/dist/lib/context-bisect/localize.js +4 -4
  348. package/dist/lib/context-bisect/localize.js.map +1 -1
  349. package/dist/lib/context-bisect/sliceToBacktrackTrace.js +3 -3
  350. package/dist/lib/context-bisect/sliceToBacktrackTrace.js.map +1 -1
  351. package/dist/lib/context-bisect/trajectory.js +5 -5
  352. package/dist/lib/context-bisect/trajectory.js.map +1 -1
  353. package/dist/lib/context-bisect/variable-recall.js +0 -0
  354. package/dist/lib/context-bisect/variable-recall.js.map +1 -1
  355. package/dist/lib/context-ledger/contextLedger.js +7 -7
  356. package/dist/lib/context-ledger/contextLedger.js.map +1 -1
  357. package/dist/lib/injection-engine/constrainedEnumPick.js +5 -2
  358. package/dist/lib/injection-engine/constrainedEnumPick.js.map +1 -1
  359. package/dist/lib/injection-engine/factories/defineInjection.js +4 -3
  360. package/dist/lib/injection-engine/factories/defineInjection.js.map +1 -1
  361. package/dist/lib/injection-engine/factories/defineSkill.js +36 -56
  362. package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -1
  363. package/dist/lib/injection-engine/index.js.map +1 -1
  364. package/dist/lib/injection-engine/llmClassifier.js +2 -2
  365. package/dist/lib/injection-engine/optionKeys.js +33 -0
  366. package/dist/lib/injection-engine/optionKeys.js.map +1 -0
  367. package/dist/lib/injection-engine/skillGraph.js +1 -1
  368. package/dist/lib/injection-engine/skillGraph.js.map +1 -1
  369. package/dist/lib/injection-engine/skillsFromDir.js +7 -22
  370. package/dist/lib/injection-engine/skillsFromDir.js.map +1 -1
  371. package/dist/lib/injection-engine/types.js.map +1 -1
  372. package/dist/lib/semantics/described.js +7 -11
  373. package/dist/lib/semantics/described.js.map +1 -1
  374. package/dist/lib/semantics/envelope.js +15 -120
  375. package/dist/lib/semantics/envelope.js.map +1 -1
  376. package/dist/lib/semantics/index.js +2 -4
  377. package/dist/lib/semantics/index.js.map +1 -1
  378. package/dist/lib/semantics/types.js.map +1 -1
  379. package/dist/lib/time-travel/epochs.js +5 -5
  380. package/dist/lib/time-travel/epochs.js.map +1 -1
  381. package/dist/lib/time-travel/keyedFold.js +3 -3
  382. package/dist/lib/time-travel/keyedFold.js.map +1 -1
  383. package/dist/lib/time-travel/milestoneStops.js +3 -3
  384. package/dist/lib/time-travel/milestoneStops.js.map +1 -1
  385. package/dist/lib/time-travel/receipt.js +2 -2
  386. package/dist/lib/time-travel/receipt.js.map +1 -1
  387. package/dist/lib/time-travel/servedView.js +11 -0
  388. package/dist/lib/time-travel/servedView.js.map +1 -1
  389. package/dist/lib/trace-toolpack/traceToolpack.js +22 -22
  390. package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -1
  391. package/dist/maps/engagement/parkCard.js +1 -1
  392. package/dist/observe.js +2 -3
  393. package/dist/observe.js.map +1 -1
  394. package/dist/providers.js +6 -1
  395. package/dist/providers.js.map +1 -1
  396. package/dist/recorders/core/ContextRecorder.js +2 -35
  397. package/dist/recorders/core/ContextRecorder.js.map +1 -1
  398. package/dist/recorders/core/replayHooks.js +69 -0
  399. package/dist/recorders/core/replayHooks.js.map +1 -0
  400. package/dist/recorders/core/resilienceHooks.js +3 -1
  401. package/dist/recorders/core/resilienceHooks.js.map +1 -1
  402. package/dist/recorders/observability/BoundaryRecorder.js +2 -1
  403. package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
  404. package/dist/recorders/observability/RunStepRecorder.js +69 -73
  405. package/dist/recorders/observability/RunStepRecorder.js.map +1 -1
  406. package/dist/redaction/knownStrings.js +21 -13
  407. package/dist/redaction/knownStrings.js.map +1 -1
  408. package/dist/reliability/index.js +5 -65
  409. package/dist/reliability/index.js.map +1 -1
  410. package/dist/resilience/replayAttempt.js +100 -0
  411. package/dist/resilience/replayAttempt.js.map +1 -0
  412. package/dist/resilience/withCircuitBreaker.js +5 -2
  413. package/dist/resilience/withCircuitBreaker.js.map +1 -1
  414. package/dist/resilience/withFallback.js +33 -32
  415. package/dist/resilience/withFallback.js.map +1 -1
  416. package/dist/resilience/withRetry.js +9 -3
  417. package/dist/resilience/withRetry.js.map +1 -1
  418. package/dist/security/index.js +3 -13
  419. package/dist/security/index.js.map +1 -1
  420. package/dist/thinking/dispatch.js +50 -0
  421. package/dist/thinking/dispatch.js.map +1 -0
  422. package/dist/thinking/errors.js +3 -3
  423. package/dist/thinking/replay.js +24 -0
  424. package/dist/thinking/replay.js.map +1 -0
  425. package/dist/thinking/replayHistory.js +63 -0
  426. package/dist/thinking/replayHistory.js.map +1 -0
  427. package/dist/types/adapters/forcedToolChoice.d.ts +67 -0
  428. package/dist/types/adapters/forcedToolChoice.d.ts.map +1 -0
  429. package/dist/types/adapters/llm/AnthropicProvider.d.ts +3 -14
  430. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  431. package/dist/types/adapters/llm/BedrockProvider.d.ts +5 -0
  432. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  433. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +2 -0
  434. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  435. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  436. package/dist/types/adapters/llm/FoundryProvider.d.ts.map +1 -1
  437. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts +2 -0
  438. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -1
  439. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  440. package/dist/types/adapters/llm/anthropicMessageProjection.d.ts +20 -0
  441. package/dist/types/adapters/llm/anthropicMessageProjection.d.ts.map +1 -0
  442. package/dist/types/adapters/llm/anthropicMessagesWire.d.ts +8 -18
  443. package/dist/types/adapters/llm/anthropicMessagesWire.d.ts.map +1 -1
  444. package/dist/types/adapters/llm/anthropicModels.d.ts +97 -0
  445. package/dist/types/adapters/llm/anthropicModels.d.ts.map +1 -0
  446. package/dist/types/adapters/llm/anthropicReplayLayout.d.ts +24 -0
  447. package/dist/types/adapters/llm/anthropicReplayLayout.d.ts.map +1 -0
  448. package/dist/types/adapters/llm/anthropicThinkingReplay.d.ts +22 -0
  449. package/dist/types/adapters/llm/anthropicThinkingReplay.d.ts.map +1 -0
  450. package/dist/types/adapters/llm/anthropicThinkingWire.d.ts +12 -36
  451. package/dist/types/adapters/llm/anthropicThinkingWire.d.ts.map +1 -1
  452. package/dist/types/adapters/observability/audit.d.ts.map +1 -1
  453. package/dist/types/adapters/requestRefusal.d.ts +3 -0
  454. package/dist/types/adapters/requestRefusal.d.ts.map +1 -0
  455. package/dist/types/adapters/types.d.ts +34 -95
  456. package/dist/types/adapters/types.d.ts.map +1 -1
  457. package/dist/types/bridge/eventMeta.d.ts +1 -1
  458. package/dist/types/core/Agent.d.ts +11 -1
  459. package/dist/types/core/Agent.d.ts.map +1 -1
  460. package/dist/types/core/agent/AgentBuilder.d.ts +4 -20
  461. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  462. package/dist/types/core/agent/assistantReplay.d.ts +12 -0
  463. package/dist/types/core/agent/assistantReplay.d.ts.map +1 -0
  464. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  465. package/dist/types/core/agent/coverage/emptiness.d.ts +1 -1
  466. package/dist/types/core/agent/coverage/items.d.ts +1 -1
  467. package/dist/types/core/agent/coverage/refusal.d.ts +3 -4
  468. package/dist/types/core/agent/coverage/refusal.d.ts.map +1 -1
  469. package/dist/types/core/agent/providerTargets.d.ts +12 -0
  470. package/dist/types/core/agent/providerTargets.d.ts.map +1 -0
  471. package/dist/types/core/agent/stages/callLLM.d.ts +3 -1
  472. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  473. package/dist/types/core/agent/stages/deliver.d.ts +5 -0
  474. package/dist/types/core/agent/stages/deliver.d.ts.map +1 -1
  475. package/dist/types/core/agent/stages/outputRetry.d.ts.map +1 -1
  476. package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
  477. package/dist/types/core/agent/stages/reliabilityExecution.d.ts +8 -1
  478. package/dist/types/core/agent/stages/reliabilityExecution.d.ts.map +1 -1
  479. package/dist/types/core/agent/stages/stepNudge.d.ts.map +1 -1
  480. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  481. package/dist/types/core/agent/thinkingSupport.d.ts +5 -2
  482. package/dist/types/core/agent/thinkingSupport.d.ts.map +1 -1
  483. package/dist/types/core/agent/types.d.ts +7 -2
  484. package/dist/types/core/agent/types.d.ts.map +1 -1
  485. package/dist/types/core/outputSchema.d.ts +2 -1
  486. package/dist/types/core/outputSchema.d.ts.map +1 -1
  487. package/dist/types/core/runCheckpoint.d.ts +8 -0
  488. package/dist/types/core/runCheckpoint.d.ts.map +1 -1
  489. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  490. package/dist/types/doors/resilience.d.ts +5 -3
  491. package/dist/types/doors/resilience.d.ts.map +1 -1
  492. package/dist/types/doors/security.d.ts +1 -3
  493. package/dist/types/doors/security.d.ts.map +1 -1
  494. package/dist/types/events/dispatcher.d.ts +1 -1
  495. package/dist/types/events/dispatcher.d.ts.map +1 -1
  496. package/dist/types/events/payloads.d.ts +11 -13
  497. package/dist/types/events/payloads.d.ts.map +1 -1
  498. package/dist/types/events/registry.d.ts +3 -25
  499. package/dist/types/events/registry.d.ts.map +1 -1
  500. package/dist/types/index.d.ts +1 -1
  501. package/dist/types/index.d.ts.map +1 -1
  502. package/dist/types/lib/context-bisect/llmEdgeWeigher.d.ts +1 -1
  503. package/dist/types/lib/context-bisect/llmEdgeWeigher.d.ts.map +1 -1
  504. package/dist/types/lib/context-bisect/localize.d.ts +2 -2
  505. package/dist/types/lib/context-bisect/localize.d.ts.map +1 -1
  506. package/dist/types/lib/context-bisect/sliceToBacktrackTrace.d.ts +2 -2
  507. package/dist/types/lib/context-bisect/sliceToBacktrackTrace.d.ts.map +1 -1
  508. package/dist/types/lib/context-bisect/trajectory.d.ts +2 -2
  509. package/dist/types/lib/context-bisect/trajectory.d.ts.map +1 -1
  510. package/dist/types/lib/context-bisect/types.d.ts +2 -2
  511. package/dist/types/lib/context-bisect/types.d.ts.map +1 -1
  512. package/dist/types/lib/context-bisect/variable-recall.d.ts +2 -2
  513. package/dist/types/lib/context-bisect/variable-recall.d.ts.map +1 -1
  514. package/dist/types/lib/context-ledger/types.d.ts +2 -2
  515. package/dist/types/lib/context-ledger/types.d.ts.map +1 -1
  516. package/dist/types/lib/injection-engine/constrainedEnumPick.d.ts +1 -1
  517. package/dist/types/lib/injection-engine/constrainedEnumPick.d.ts.map +1 -1
  518. package/dist/types/lib/injection-engine/factories/defineInjection.d.ts.map +1 -1
  519. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +8 -43
  520. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts.map +1 -1
  521. package/dist/types/lib/injection-engine/index.d.ts +1 -1
  522. package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
  523. package/dist/types/lib/injection-engine/llmClassifier.d.ts +2 -2
  524. package/dist/types/lib/injection-engine/optionKeys.d.ts +11 -0
  525. package/dist/types/lib/injection-engine/optionKeys.d.ts.map +1 -0
  526. package/dist/types/lib/injection-engine/skillGraph.d.ts +2 -2
  527. package/dist/types/lib/injection-engine/skillsFromDir.d.ts +1 -1
  528. package/dist/types/lib/injection-engine/skillsFromDir.d.ts.map +1 -1
  529. package/dist/types/lib/injection-engine/types.d.ts +0 -4
  530. package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
  531. package/dist/types/lib/semantics/described.d.ts +5 -6
  532. package/dist/types/lib/semantics/described.d.ts.map +1 -1
  533. package/dist/types/lib/semantics/envelope.d.ts +15 -72
  534. package/dist/types/lib/semantics/envelope.d.ts.map +1 -1
  535. package/dist/types/lib/semantics/index.d.ts +3 -4
  536. package/dist/types/lib/semantics/index.d.ts.map +1 -1
  537. package/dist/types/lib/semantics/types.d.ts +3 -27
  538. package/dist/types/lib/semantics/types.d.ts.map +1 -1
  539. package/dist/types/lib/time-travel/epochs.d.ts +1 -1
  540. package/dist/types/lib/time-travel/epochs.d.ts.map +1 -1
  541. package/dist/types/lib/time-travel/keyedFold.d.ts +1 -1
  542. package/dist/types/lib/time-travel/keyedFold.d.ts.map +1 -1
  543. package/dist/types/lib/time-travel/milestoneStops.d.ts +2 -2
  544. package/dist/types/lib/time-travel/milestoneStops.d.ts.map +1 -1
  545. package/dist/types/lib/time-travel/receipt.d.ts +10 -0
  546. package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
  547. package/dist/types/lib/time-travel/servedView.d.ts +1 -1
  548. package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
  549. package/dist/types/lib/trace-toolpack/innerRunRecords.d.ts +1 -1
  550. package/dist/types/lib/trace-toolpack/innerRunRecords.d.ts.map +1 -1
  551. package/dist/types/lib/trace-toolpack/types.d.ts +1 -1
  552. package/dist/types/lib/trace-toolpack/types.d.ts.map +1 -1
  553. package/dist/types/maps/engagement/lease.d.ts +1 -1
  554. package/dist/types/maps/engagement/parkCard.d.ts +1 -1
  555. package/dist/types/observe.d.ts +1 -1
  556. package/dist/types/observe.d.ts.map +1 -1
  557. package/dist/types/providers.d.ts +3 -0
  558. package/dist/types/providers.d.ts.map +1 -1
  559. package/dist/types/recorders/core/replayHooks.d.ts +11 -0
  560. package/dist/types/recorders/core/replayHooks.d.ts.map +1 -0
  561. package/dist/types/recorders/core/resilienceHooks.d.ts +2 -1
  562. package/dist/types/recorders/core/resilienceHooks.d.ts.map +1 -1
  563. package/dist/types/recorders/observability/BoundaryRecorder.d.ts +1 -1
  564. package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
  565. package/dist/types/recorders/observability/RunStepRecorder.d.ts +26 -31
  566. package/dist/types/recorders/observability/RunStepRecorder.d.ts.map +1 -1
  567. package/dist/types/redaction/knownStrings.d.ts.map +1 -1
  568. package/dist/types/reliability/index.d.ts +4 -53
  569. package/dist/types/reliability/index.d.ts.map +1 -1
  570. package/dist/types/resilience/replayAttempt.d.ts +22 -0
  571. package/dist/types/resilience/replayAttempt.d.ts.map +1 -0
  572. package/dist/types/resilience/withCircuitBreaker.d.ts +2 -1
  573. package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
  574. package/dist/types/resilience/withFallback.d.ts +3 -1
  575. package/dist/types/resilience/withFallback.d.ts.map +1 -1
  576. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  577. package/dist/types/security/index.d.ts +2 -5
  578. package/dist/types/security/index.d.ts.map +1 -1
  579. package/dist/types/thinking/dispatch.d.ts +10 -0
  580. package/dist/types/thinking/dispatch.d.ts.map +1 -0
  581. package/dist/types/thinking/errors.d.ts +3 -3
  582. package/dist/types/thinking/replay.d.ts +68 -0
  583. package/dist/types/thinking/replay.d.ts.map +1 -0
  584. package/dist/types/thinking/replayHistory.d.ts +19 -0
  585. package/dist/types/thinking/replayHistory.d.ts.map +1 -0
  586. package/package.json +6 -5
  587. package/dist/adapters/security/agentcore.js +0 -95
  588. package/dist/adapters/security/agentcore.js.map +0 -1
  589. package/dist/esm/adapters/security/agentcore.d.ts +0 -131
  590. package/dist/esm/adapters/security/agentcore.js +0 -90
  591. package/dist/esm/adapters/security/agentcore.js.map +0 -1
  592. package/dist/types/adapters/security/agentcore.d.ts +0 -132
  593. package/dist/types/adapters/security/agentcore.d.ts.map +0 -1
package/AGENTS.md CHANGED
@@ -32,12 +32,11 @@ most likely to get wrong here.
32
32
 
33
33
  Two more absences: there is **no runtime force-stop governor** (`routeRecorder().getTrips()`
34
34
  only *labels* a spinning run; `maxIterations` is the hard stop), and there is **no
35
- automatic re-delivery of an ageing skill body** (`refreshPolicy` is stored and never
36
- read on any version — use `surfaceMode: 'both'`).
35
+ automatic re-delivery of an ageing skill body** (the inert `refreshPolicy` was removed in 10.0.0 — use `surfaceMode: 'both'`).
37
36
 
38
37
  ## Subpath map — 18 doors
39
38
 
40
- `agentfootprint` (main barrel: `Agent`, `LLMCall`, `defineTool`, control flow, patterns, `defineRAG`, pause/resume) · `/providers` (`mock`, `anthropic`, `openai`, `bedrock`, `ollama`, `mcpClient`, embedders — every provider, so bundlers never walk the vendor SDKs from the main barrel) · `/context` (`defineSkill`, `defineFact`, `defineSteering`, `defineInstruction`, `skillGraph`, `skillsFromDir`, the scorers) · `/memory` (`defineMemory`, `InMemoryStore`, `mockEmbedder`, the stores) · `/rag` (stores + loaders; `defineRAG` itself is on the main barrel) · `/observe` (recorders, tracing, `RunStep`) · `/resilience` (provider decorators) · `/reliability` (the rules-based fail-fast gate) · `/cache` (prefix-cache strategies, chosen from the provider's declared `promptCaching` by `cacheStrategyFor`) · `/security` · `/hosting` · `/events` · `/skill-graph` (the routing layer with no framework attached, for a host that is not this agent) · `/recipes` (`defineAgentRecipe` — one named, versioned agent setup, applied with `.recipe()`) · `/maps` (`Claim<T>` and the map-engagement vocabulary behind `.maps()`) · `/classify` (the calibrated-classifier port: `Classifier`, `mockClassifier`) · `/ontology` (`defineOntology` — a declared map of the domain, mounted with `.ontology()`) · `/time` (`convertForTool` + `sugarForms` + `granularityMsOf` — the time layer's own answer to whether and how a tool reads a window, for an app outside a run; the steps `convertExact`, `convertWidened`, `periodFactProblem` too). `package.json` `exports` is the complete list; a path not on it does not resolve.
39
+ `agentfootprint` (main barrel: `Agent`, `LLMCall`, `defineTool`, control flow, patterns, `defineRAG`, pause/resume) · `/providers` (`mock`, `anthropic`, `openai`, `bedrock`, `ollama`, `mcpClient`, embedders — every provider, so bundlers never walk the vendor SDKs from the main barrel) · `/context` (`defineSkill`, `defineFact`, `defineSteering`, `defineInstruction`, `skillGraph`, `skillsFromDir`, the scorers) · `/memory` (`defineMemory`, `InMemoryStore`, `mockEmbedder`, the stores) · `/rag` (stores + loaders; `defineRAG` itself is on the main barrel) · `/observe` (recorders, tracing, `RunStep`) · `/resilience` (provider decorators) · `/reliability` (only the reliability gate's distinct `CircuitOpenError`; rules live on `/resilience`) · `/cache` (prefix-cache strategies, chosen from the provider's declared `promptCaching` by `cacheStrategyFor`) · `/security` · `/hosting` · `/events` · `/skill-graph` (the routing layer with no framework attached, for a host that is not this agent) · `/recipes` (`defineAgentRecipe` — one named, versioned agent setup, applied with `.recipe()`) · `/maps` (`Claim<T>` and the map-engagement vocabulary behind `.maps()`) · `/classify` (the calibrated-classifier port: `Classifier`, `mockClassifier`) · `/ontology` (`defineOntology` — a declared map of the domain, mounted with `.ontology()`) · `/time` (`convertForTool` + `sugarForms` + `granularityMsOf` — the time layer's own answer to whether and how a tool reads a window, for an app outside a run; the steps `convertExact`, `convertWidened`, `periodFactProblem` too). `package.json` `exports` is the complete list; a path not on it does not resolve.
41
40
 
42
41
  ## Core Concepts
43
42
 
@@ -260,8 +259,7 @@ tools that declare a period only on their results.
260
259
  `filterNote`); the envelope the model reads stays snake_case. Series need `grain`
261
260
  (`{ interval, aggregation, isCounter }` — state `isCounter` for `sum`/`count`-like
262
261
  aggregations); series or facts without `provenance` are a compile error and a run-time
263
- refusal. `semantic()` is the deprecated name for the same envelope with a snake_case
264
- declaration — do not use it in new code.
262
+ refusal. The deprecated `semantic()` declaration was removed in 10.0.0; saved envelopes still use the same wire format.
265
263
 
266
264
  A helper that cannot honor its declaration throws inside `execute`: the model reads text
267
265
  starting `refused: ` in place of the data, and the run continues. A data list is never
@@ -288,7 +286,7 @@ const agent = Agent.create({ provider, model })
288
286
  agent.on('agentfootprint.context.evaluated', (e) => console.log(e.payload.activeIds));
289
287
  ```
290
288
 
291
- **124 typed events across 28 domains.** Two subscription shapes and no third:
289
+ **124 typed events across 27 domains.** Two subscription shapes and no third:
292
290
  `'*'` (every event) and `'agentfootprint.<domain>.*'` (one domain). **`'agentfootprint.*'`
293
291
  is not a pattern** — TypeScript rejects it, and at runtime it would match nothing.
294
292
 
package/CAPABILITIES.md CHANGED
@@ -20,9 +20,11 @@ not in this table, search `src/index.ts` for the nearest noun before writing cod
20
20
 
21
21
  | If you are about to build… | It is | Where | Since |
22
22
  |---|---|---|---|
23
+ | checking forced tool choice per model without changing the existing boolean wire declaration; explicit requests refuse before transport, classifiers keep their strict parse alternative, wrappers preserve and fallback pairs intersect | `LLMProvider.supportsForcedToolChoice` + `forcedToolChoiceFor` + `UnsupportedToolChoiceError` (`agentfootprint/providers`) | `src/adapters/forcedToolChoice.ts` | 10.1.0 |
24
+ | replaying Anthropic thinking in its original content order; refusing known unsafe active-tool replay, observing each permitted completed-turn omission before sending, and retaining that decision across checkpoints | `LLMMessage.replay` + `UnsafeThinkingReplayError` + `LLMCallHooks.onReplayPrepared` + `agentfootprint.agent.thinking_omitted` | `src/adapters/llm/anthropicThinkingReplay.ts` | 10.1.0 |
23
25
  | keeping personal data out of an agent's saved records — snapshot, narrative, every event, recordings, bug reports, answer accounts, the exporters — while the model, the tools and the caller keep the real values; the library's own list of the names the conversation travels under (proven per feature), joined with the fields your tools name; it reaches compositions (members' policies adopted) and runs a tool starts (`ctx.redact`), and readers of the record say "kept out", never "not recorded" or "no tool ran" | `Agent.create({ redact })` (a footprintjs `RedactionPolicy`) + `conversationRedaction` + `ToolExecutionContext.redact` | `src/redaction/` | 9.140.0 |
24
26
  | prompt caching that keeps hitting behind `withRetry`, `withFallback` or your own provider wrapper — the cache strategy chosen from what the adapter DECLARES (explicit breakpoints / automatic / none), never from its name, plus a moving breakpoint on the conversation tail so each call reads back what the last one sent | `LLMProvider.promptCaching` (`PromptCaching`) + `cacheStrategyFor` + `BreakpointCacheStrategy` / `AutomaticCacheStrategy` / `NoOpCacheStrategy` | `src/cache/cacheStrategyFor.ts` | 9.138.0 |
25
- | asking a model to think in the shape THAT model takes — budget tokens on Claude 4.6 and earlier, adaptive on 4.7 and later (and on any id the table does not know), a build-time refusal for a model that cannot think; one table per wire, an adapter option for an id the table cannot read, forwarded by every wrapper, answered per side by `withFallback` | `.thinking({ budget })` + `LLMProvider.thinkingMode` + the adapters' `thinkingMode` option + `ThinkingMode` + `UnsupportedThinkingError` | `src/adapters/llm/anthropicThinkingWire.ts` | 9.141.0 |
27
+ | asking a model to think in the shape THAT model takes — budget tokens on Claude 4.6 and earlier, adaptive on 4.7 and later (and on any id the table does not know), a build-time refusal for a model that cannot think; one table per wire, an adapter option for an id the table cannot read, forwarded by every wrapper, answered per side by `withFallback` | `.thinking({ budget })` + `LLMProvider.thinkingMode` + the adapters' `thinkingMode` option + `ThinkingMode` + `UnsupportedThinkingError` | `src/adapters/llm/anthropicModels.ts` | 9.141.0 |
26
28
  | a thinking handler that survives `withRetry`, `withFallback` or an app's renaming wrapper — DECLARED by the adapter, never matched by provider name, so the signed thinking blocks still round-trip | `LLMProvider.thinkingHandler` + `thinkingHandlerFor` | `src/thinking/thinkingHandlerFor.ts` | 9.138.0 |
27
29
  | observing selected middleware, permission and credential facts at runtime with bounded content-minimized metadata, explicit loss counters and optional source positions; never inferring approval, redaction or complete coverage from silence | `trustBoundaryRecorder` + `TrustBoundaryRecorder` | `src/lib/trust-boundaries/` | 9.137.0 |
28
30
  | keeping a queued event's emission time and supplied engine log coordinates, without guessing a root index or confusing agent and engine run identities; absent when the engine supplies no usable position | `EventSourcePosition` + `projectEventSourcePosition` | `src/bridge/eventSourcePosition.ts` | 9.137.0 |
@@ -32,8 +34,8 @@ not in this table, search `src/index.ts` for the nearest noun before writing cod
32
34
  | turning a written operational procedure (a runbook, a triage playbook) into ONE agent tool whose every answer is EVIDENCE — coverage folded up from the inner tools it calls, rule name+version, verdict rows with GENERATED meanings, and the recorded walk as an artifact ticket, never bytes | `runbookAsTool` — dials: `procedure` (factory, invoked per call with `ctx.tools`) + `resultKind` (`'verdict/*'` arms the rowset projection; anything else ships spine + the chart's `report`) + `rules {name, version}` (default absent ⇒ `rule_version: 'undeclared'`) + `verdicts {decider, maxRows}` (default 50; `verdict_meanings` = statically declared branches + this run's rule labels + the DEFAULT branch's label, which reaches evidence only when the chart calls `decide(s, rules, {branch, label})` — fp ≥9.16.1, the default is chosen by NO rule so nothing else can name it, and inside a generated fan-out branch the static walk is blind too; an undeclared or blank label stays ABSENT from the map, never invented from a branch id, and there is deliberately NO caller-supplied meanings map) + `presentation` (`'prose'` default = ship `table` + `VERDICT_RENDER_NOTE` "output it VERBATIM"; `'panel'` = the HOST renders the rowset, so NO `table` key at all + `PANEL_RENDER_NOTE` "the rows are already on the reader's screen — do not reproduce them"; the rowset half is byte-identical across modes, `table` stays RESERVED in both, an unknown value THROWS at definition) + `walk {cap, recording}` (cap default 500; over-cap ⇒ control-flow projection, declared · `recording: true` or `{label, maxBytes}`, default OFF — ALSO files the inner chart's own `{snapshot, events, structure}` under `recording/run` and puts its ref on the spine as `walk.recording_ref`, because the ROW projection cannot be drawn; snapshot read from the REDACTED mirror so one `redact` means the same for both; over `maxBytes` (`DEFAULT_RECORDING_MAX_BYTES` = 5,000,000) it is REFUSED not truncated; every absence — no store / over size / unserializable / store threw — is STATED in `walk.recording_note`, and the four `recording_*` fields are absent entirely when the dial is off) + `composedOf` (drift-checked at agent BUILD) + kept `recorders`/`keepRecord`/`keepRecordLimit`/`redact`; reserved state keys `verdicts`/`coverage`/`report` (the `report` bag lands BESIDE the spine, never over it — a report field spelling `af_coverage`/`af_provenance`/`rule_version`/`walk`/`report_note` or a live projection key is discarded and NAMED in `result.report_note`; precedence is explicit in `report.ts`, never spread order); inner `absent()` passes through VERBATIM unless the call said `allowAbsent`; walk kind `recording/chart-walk` + `walk_segment` discriminant | `src/core/runbook/` | 9.76.0, recording 9.79.0 |
33
35
  | speaking MCP from a BROWSER — the SDK is browser-clean (its client + streamableHttp bundle at `platform:'browser'` with zero `node:` edges and never pull in `client/stdio.js`); the one barrier was that `lazyRequire` gets CALLED there, so the fix is to let the caller supply what the loader would have found | `mcpClient({ sdk })` (`McpSdk` = the two SDK modules you imported statically; the library STILL builds the transport, so headers/fetch/gateway vending/`retryOnThrottle`/`_meta` all keep working) · `mcpClient({ connection })` (`McpConnection` = listTools/callTool/close, deliberately NO `connect` — you already did; the only arm that reaches the SDK's `jsonSchemaValidator`, i.e. CSP) + `McpConnectionOptions`; `refuseConflictingOptions` REFUSES at construction every option a transport would have consumed, naming where it moved (a knob naming a behaviour that no longer happens is the defect class); `transportUrl` resolves a relative `url` against `globalThis.location.href` (absolute takes the identical branch, Node refuses by name); `sdkLoadFailure` classifies the seven load sites so a browser is never told to install a package it has (resolution failure ⇒ byte-identical historical message); `retryingFetch` + `ThrottleFetch` promoted out of `@internal` so the connection arm keeps its 429 handling. stdio keeps `lazyRequire` FOREVER — it spawns a subprocess. ZERO packaging change: no subpath, no `browser` condition (TypeScript is blind to it), peer stays optional (no literal dynamic `import()`). Fenced by `test/lib/mcp/browserGraph.test.ts` | `src/lib/mcp/` | 9.81.0 |
34
36
  | calling ANOTHER registered tool from inside a tool's `execute` — composition over the agent's own dispatch map instead of importing the module and building a second query stack | `agentToolDispatch` + `ctx.tools` (ToolDispatch has/call) — sees static and skill-carried tools, NEVER ToolProvider-delivered ones (no build-time list, the 9.72.0 caveat); inner calls get the outer facts with hasArtifacts false and a derived toolCallId, `needs` resolved fail-closed non-interactively, `checkIn` and `wants` tools refused by name, no nested dispatch; declare ingredients via `composedOf` (and `gates` for a pausing procedure) — both travel MCP `_meta` | `src/core/agent/toolDispatch.ts` | 9.76.0 |
35
- | a tool returning numbers WITH the caveats that make them honest — interval/aggregation grain, is-it-a-counter, when the world was measured, which ground was NOT covered — as typed data the model reads compactly and the record keeps whole | `semantic()` + `tools.semantics_declared` (model sees `semanticsForModel` projection; `coverage` field absorbed by the coverage()/absent() channel; `semantic()` is the deprecated name — use `describedResult()`, next row) | `src/lib/semantics/` | 9.53.0 |
36
- | the same typed tool result declared in ONE spelling — camelCase `measuredAt`/`isCounter`/`filterNote`, respelled to the unchanged snake_case wire — with a missing source a COMPILE error; which result helper to return (rows → describedResult, a value with limits → coverage, nothing → absent); an EMPTY data list refused with the branch to write ("if nothing matched, return absent({ what, checked }) instead"), both doors and the gate | `describedResult()` + `DescribedResultDeclaration` (`provenance` required whenever `series`/`facts` is present; the snake_case spelling refused, naming the camelCase one) | `src/lib/semantics/described.ts` | 9.119.0, empty-list refusal 9.125.0 |
37
+ | a tool returning numbers WITH the caveats that make them honest — interval/aggregation grain, is-it-a-counter, when the world was measured, which ground was NOT covered — as typed data the model reads compactly and the record keeps whole | `describedResult()` + `tools.semantics_declared` (model sees `semanticsForModel` projection; `coverage` field absorbed by the coverage()/absent() channel; the old `semantic()` declaration door was removed in 10.0.0) | `src/lib/semantics/` | 9.53.0 |
38
+ | the same typed tool result declared in ONE spelling — camelCase `measuredAt`/`isCounter`/`filterNote`, respelled to the unchanged snake_case wire — with a missing source a COMPILE error; which result helper to return (rows → describedResult, a value with limits → coverage, nothing → absent); an EMPTY data list refused with the branch to write ("if nothing matched, return absent({ what, checked }) instead"), the declaration door and the gate | `describedResult()` + `DescribedResultDeclaration` (`provenance` required whenever `series`/`facts` is present; the snake_case spelling refused, naming the camelCase one) | `src/lib/semantics/described.ts` | 9.119.0, empty-list refusal 9.125.0 |
37
39
  | a build gate that refuses a triage/inventory tool that forgot its caveats, by tool name and field name | `checkSemantics` + `defineTool({ resultClass })` (`'triage'`/`'inventory'`, the closed set) + bin `agentfootprint-check-semantics` | `src/lib/semantics/check.ts` | 9.53.0 |
38
40
  | an agent that runs out of `maxIterations` mid-task handing back a HALF-SENTENCE as its answer — and nothing saying the budget ran out | `wrapUpAtMaxIterations` (default ON) + `WRAP_UP_INSTRUCTION` + `agent.budget_exhausted` + `stoppedEarly.wrappedUp` | `src/core/agent/stages/wrapUp.ts` | 9.56.0 |
39
41
  | the conversation outgrowing the context window — dropping, summarizing or token-budgeting old turns, every removal on the record (the three refusal rows below all guard this window) | `.window()` + `slidingWindow` / `summarizeOldest` (= `.compaction()`) / `tokenBudget` + `keepRecentTurns` (default 6) + `thresholdTokens` (required, deliberately no default) + `retain: 'conversation'` (default) / `'discard'` | `src/core/agent/window/` | 7.17.0 |
@@ -129,6 +131,7 @@ not in this table, search `src/index.ts` for the nearest noun before writing cod
129
131
  | reaching Anthropic models through your organisation's gateway that forwards the Bedrock InvokeModel operation over plain HTTPS with an API-key header (not SigV4, not Converse — so neither `bedrock()` nor `providerFromEnv()` reaches it): `complete()` + `stream()` (SSE the gateway already decoded; tool arguments reassembled), a key per model id (map or function, re-read per request), typed errors that name the model (a 403 says the key is scoped away from it), NO retry loop of its own — compose `withRetry`, whose default predicate now skips an error declaring `retryable: false` (a refusal before any request, a 2xx it could not read) | `invokeModelGateway` + `InvokeModelGatewayError` (`reason`, `status`, `retryable`, `modelId`, `retryAfterSeconds`) + `createProvider({ kind: 'invoke-model-gateway' })` | `src/adapters/llm/InvokeModelGatewayProvider.ts` | 9.126.0 |
130
132
  | retrying AFTER the wait a failure stated — a `Retry-After` header, or a gateway's "Try again in 4 seconds" — instead of spending short backoffs inside it: the wait is max(the schedule, the stated wait), capped by `maxDelayMs` (a hostile header cannot stall a run), `req.signal` still ends it, and `error.retried` carries `statedWaitMs` beside `backoffMs` (absent when nothing was stated — byte-identical). The resilience layer never parses prose: an error DECLARES `retryAfterMs` (`retryAfterSeconds` read as fallback) through ONE reader; `anthropic()` / `openai()` / `bedrock()` declare it from `retry-after-ms` / `Retry-After`, `invokeModelGateway()` also from its gateway's body wording | `statedRetryAfterMs` + `withRetry` (`retryAfterMs` on the error, `statedWaitMs` on the event) | `src/resilience/statedWait.ts` | 9.130.0 |
131
133
  | a per-request deadline on your gateway provider, so a gateway that never answers (or a stream that goes silent) fails typed instead of hanging the run: bounds the response headers, a `complete()` body and EACH stream read (first chunk, then every gap — a stream that keeps talking is never cut off); a miss aborts the request and raises `reason: 'timeout'`, `retryable: true` (withRetry re-opens it while no chunk reached the caller); the caller's `req.signal` still wins; omitted = the fetch gets exactly `req.signal` as before | `timeoutMs` + `invokeModelGateway` + `InvokeModelGatewayError` (`reason: 'timeout'`) | `src/adapters/llm/InvokeModelGatewayProvider.ts` | 9.130.0 |
134
+ | Replay a saved complete domain-event batch with the same fork grouping and nested drill projection as live run steps | `ingestDomainEvents` + `getSteps` + `clear` | `src/recorders/observability/RunStepRecorder.ts` | 10.0.0 |
132
135
 
133
136
  **Maintaining this table:** a new public capability adds a row, in the same
134
137
  change that adds the capability. `test/docs/capability-index.test.ts` fails if a
@@ -32,12 +32,11 @@ most likely to get wrong here.
32
32
 
33
33
  Two more absences: there is **no runtime force-stop governor** (`routeRecorder().getTrips()`
34
34
  only *labels* a spinning run; `maxIterations` is the hard stop), and there is **no
35
- automatic re-delivery of an ageing skill body** (`refreshPolicy` is stored and never
36
- read on any version — use `surfaceMode: 'both'`).
35
+ automatic re-delivery of an ageing skill body** (the inert `refreshPolicy` was removed in 10.0.0 — use `surfaceMode: 'both'`).
37
36
 
38
37
  ## Subpath map — 18 doors
39
38
 
40
- `agentfootprint` (main barrel: `Agent`, `LLMCall`, `defineTool`, control flow, patterns, `defineRAG`, pause/resume) · `/providers` (`mock`, `anthropic`, `openai`, `bedrock`, `ollama`, `mcpClient`, embedders — every provider, so bundlers never walk the vendor SDKs from the main barrel) · `/context` (`defineSkill`, `defineFact`, `defineSteering`, `defineInstruction`, `skillGraph`, `skillsFromDir`, the scorers) · `/memory` (`defineMemory`, `InMemoryStore`, `mockEmbedder`, the stores) · `/rag` (stores + loaders; `defineRAG` itself is on the main barrel) · `/observe` (recorders, tracing, `RunStep`) · `/resilience` (provider decorators) · `/reliability` (the rules-based fail-fast gate) · `/cache` (prefix-cache strategies, chosen from the provider's declared `promptCaching` by `cacheStrategyFor`) · `/security` · `/hosting` · `/events` · `/skill-graph` (the routing layer with no framework attached, for a host that is not this agent) · `/recipes` (`defineAgentRecipe` — one named, versioned agent setup, applied with `.recipe()`) · `/maps` (`Claim<T>` and the map-engagement vocabulary behind `.maps()`) · `/classify` (the calibrated-classifier port: `Classifier`, `mockClassifier`) · `/ontology` (`defineOntology` — a declared map of the domain, mounted with `.ontology()`) · `/time` (`convertForTool` + `sugarForms` + `granularityMsOf` — the time layer's own answer to whether and how a tool reads a window, for an app outside a run; the steps `convertExact`, `convertWidened`, `periodFactProblem` too). `package.json` `exports` is the complete list; a path not on it does not resolve.
39
+ `agentfootprint` (main barrel: `Agent`, `LLMCall`, `defineTool`, control flow, patterns, `defineRAG`, pause/resume) · `/providers` (`mock`, `anthropic`, `openai`, `bedrock`, `ollama`, `mcpClient`, embedders — every provider, so bundlers never walk the vendor SDKs from the main barrel) · `/context` (`defineSkill`, `defineFact`, `defineSteering`, `defineInstruction`, `skillGraph`, `skillsFromDir`, the scorers) · `/memory` (`defineMemory`, `InMemoryStore`, `mockEmbedder`, the stores) · `/rag` (stores + loaders; `defineRAG` itself is on the main barrel) · `/observe` (recorders, tracing, `RunStep`) · `/resilience` (provider decorators) · `/reliability` (only the reliability gate's distinct `CircuitOpenError`; rules live on `/resilience`) · `/cache` (prefix-cache strategies, chosen from the provider's declared `promptCaching` by `cacheStrategyFor`) · `/security` · `/hosting` · `/events` · `/skill-graph` (the routing layer with no framework attached, for a host that is not this agent) · `/recipes` (`defineAgentRecipe` — one named, versioned agent setup, applied with `.recipe()`) · `/maps` (`Claim<T>` and the map-engagement vocabulary behind `.maps()`) · `/classify` (the calibrated-classifier port: `Classifier`, `mockClassifier`) · `/ontology` (`defineOntology` — a declared map of the domain, mounted with `.ontology()`) · `/time` (`convertForTool` + `sugarForms` + `granularityMsOf` — the time layer's own answer to whether and how a tool reads a window, for an app outside a run; the steps `convertExact`, `convertWidened`, `periodFactProblem` too). `package.json` `exports` is the complete list; a path not on it does not resolve.
41
40
 
42
41
  ## Core Concepts
43
42
 
@@ -260,8 +259,7 @@ tools that declare a period only on their results.
260
259
  `filterNote`); the envelope the model reads stays snake_case. Series need `grain`
261
260
  (`{ interval, aggregation, isCounter }` — state `isCounter` for `sum`/`count`-like
262
261
  aggregations); series or facts without `provenance` are a compile error and a run-time
263
- refusal. `semantic()` is the deprecated name for the same envelope with a snake_case
264
- declaration — do not use it in new code.
262
+ refusal. The deprecated `semantic()` declaration was removed in 10.0.0; saved envelopes still use the same wire format.
265
263
 
266
264
  A helper that cannot honor its declaration throws inside `execute`: the model reads text
267
265
  starting `refused: ` in place of the data, and the run continues. A data list is never
@@ -288,7 +286,7 @@ const agent = Agent.create({ provider, model })
288
286
  agent.on('agentfootprint.context.evaluated', (e) => console.log(e.payload.activeIds));
289
287
  ```
290
288
 
291
- **124 typed events across 28 domains.** Two subscription shapes and no third:
289
+ **124 typed events across 27 domains.** Two subscription shapes and no third:
292
290
  `'*'` (every event) and `'agentfootprint.<domain>.*'` (one domain). **`'agentfootprint.*'`
293
291
  is not a pattern** — TypeScript rejects it, and at runtime it would match nothing.
294
292
 
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * forcedToolChoice — whether a provider puts a forced tool choice on its wire
4
+ * FOR A MODEL, and the one error for a model that does not take one.
5
+ *
6
+ * Pattern: capability declaration + its one reader (the `thinkingModeFor`
7
+ * twin). The adapter declares `LLMProvider.carriesForcedToolChoice`
8
+ * plus `supportsForcedToolChoice(model)` where models disagree, and everything that
9
+ * sends `LLMRequest.toolChoice` asks HERE, with the model it will
10
+ * call: the agent's `'tool-forced'` output strategy at run start, the
11
+ * constrained pick (`constrainedEnumPick`), and `withFallback`.
12
+ * Role: Port-level, beside `types.ts`.
13
+ *
14
+ * Why per model: Claude Opus 5.5, Sonnet 5.5, Fable 5.1 and Mythos 5.1 reject
15
+ * `tool_choice: { type: 'tool' | 'any' }` with HTTP 400 on every request, while
16
+ * the other Claude models on the same wire take it
17
+ * (https://platform.claude.com/docs/en/build-with-claude/thinking — "Response
18
+ * prefill and forced tool use"). A per-adapter `true` sent it to all of them.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * import { anthropic, forcedToolChoiceFor } from 'agentfootprint/providers';
23
+ *
24
+ * forcedToolChoiceFor(anthropic(), 'claude-opus-5-5'); // false
25
+ * forcedToolChoiceFor(anthropic(), 'claude-opus-5'); // true
26
+ * ```
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.UnsupportedToolChoiceError = exports.forcedToolChoiceFor = void 0;
30
+ /**
31
+ * Whether `provider` puts a forced tool choice on its wire for `model`.
32
+ * Absence — or anything but `true` — means NO, as it always has: a choice that
33
+ * quietly vanishes costs the guarantee it was asked for.
34
+ */
35
+ function forcedToolChoiceFor(provider, model) {
36
+ return (provider.carriesForcedToolChoice === true &&
37
+ (provider.supportsForcedToolChoice === undefined ||
38
+ provider.supportsForcedToolChoice(model) === true));
39
+ }
40
+ exports.forcedToolChoiceFor = forcedToolChoiceFor;
41
+ /**
42
+ * UnsupportedToolChoiceError — a forced tool choice for a model that rejects
43
+ * one, refused by name BEFORE anything is sent.
44
+ *
45
+ * The vendor's answer is an HTTP 400 on every request, so asking again sends
46
+ * the same request: `retryable: false`, which `withRetry`'s default policy
47
+ * honours; `withFallback` does not move the call to its other side and
48
+ * `withCircuitBreaker` does not count it, by default — the request is wrong,
49
+ * not the vendor.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * import { UnsupportedToolChoiceError } from 'agentfootprint/providers';
54
+ *
55
+ * try {
56
+ * await provider.complete({ model: 'claude-opus-5-5', messages, tools, toolChoice });
57
+ * } catch (err) {
58
+ * if (err instanceof UnsupportedToolChoiceError) console.error(err.model); // ask in words instead
59
+ * }
60
+ * ```
61
+ */
62
+ class UnsupportedToolChoiceError extends Error {
63
+ /** The provider that answered for the model — `'anthropic'`, `'bedrock'`, … */
64
+ provider;
65
+ /** The model the request named. */
66
+ model;
67
+ /** Asking again cannot mend it — read by `withRetry`'s default predicate. */
68
+ retryable = false;
69
+ constructor(args) {
70
+ super(`[${args.provider}] '${args.model}' does not support forced tool choice on this adapter. ` +
71
+ `.outputSchema(…, { strategy: 'tool-forced' }) requires it; use ` +
72
+ `{ strategy: 'instruct' } on this model, or a model that takes a forced choice.`);
73
+ this.name = 'UnsupportedToolChoiceError';
74
+ this.provider = args.provider;
75
+ this.model = args.model;
76
+ }
77
+ }
78
+ exports.UnsupportedToolChoiceError = UnsupportedToolChoiceError;
79
+ //# sourceMappingURL=forcedToolChoice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forcedToolChoice.js","sourceRoot":"","sources":["../../src/adapters/forcedToolChoice.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AAIH;;;;GAIG;AACH,SAAgB,mBAAmB,CACjC,QAAmF,EACnF,KAAa;IAEb,OAAO,CACL,QAAQ,CAAC,uBAAuB,KAAK,IAAI;QACzC,CAAC,QAAQ,CAAC,wBAAwB,KAAK,SAAS;YAC9C,QAAQ,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CACrD,CAAC;AACJ,CAAC;AATD,kDASC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,0BAA2B,SAAQ,KAAK;IACnD,+EAA+E;IACtE,QAAQ,CAAS;IAC1B,mCAAmC;IAC1B,KAAK,CAAS;IACvB,6EAA6E;IACpE,SAAS,GAAG,KAAK,CAAC;IAE3B,YAAY,IAA2D;QACrE,KAAK,CACH,IAAI,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,KAAK,yDAAyD;YACxF,iEAAiE;YACjE,gFAAgF,CACnF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;CACF;AAlBD,gEAkBC"}
@@ -24,6 +24,8 @@ const contextWindow_js_1 = require("./contextWindow.js");
24
24
  const retryAfter_js_1 = require("./retryAfter.js");
25
25
  const anthropicCacheWire_js_1 = require("./anthropicCacheWire.js");
26
26
  const anthropicThinkingWire_js_1 = require("./anthropicThinkingWire.js");
27
+ const anthropicModels_js_1 = require("./anthropicModels.js");
28
+ const anthropicThinkingReplay_js_1 = require("./anthropicThinkingReplay.js");
27
29
  const wireManifest_js_1 = require("./wireManifest.js");
28
30
  const AnthropicThinkingHandler_js_1 = require("../../thinking/AnthropicThinkingHandler.js");
29
31
  // The request body has ONE owner, shared with browserAnthropic() and
@@ -80,6 +82,7 @@ function anthropic(options = {}) {
80
82
  name: 'anthropic',
81
83
  carriesInMessages: CARRIES_IN_MESSAGES,
82
84
  carriesForcedToolChoice: true,
85
+ supportsForcedToolChoice: (model) => (0, anthropicModels_js_1.anthropicTakesForcedToolChoice)(modelOf(model)),
83
86
  // Explicit `cache_control` breakpoints, four per request, usage reported —
84
87
  // the agent's cache strategy is chosen from this, never from `name`.
85
88
  promptCaching: anthropicCacheWire_js_1.ANTHROPIC_PROMPT_CACHING,
@@ -89,21 +92,33 @@ function anthropic(options = {}) {
89
92
  // (anthropicThinkingWire.ts); `buildMessagesBody` sends that shape, from
90
93
  // the same function.
91
94
  thinkingMode: (model) => modeOf(modelOf(model)),
92
- async complete(req) {
93
- const params = buildParams(req);
95
+ async complete(req, hooks) {
96
+ const preparation = (0, anthropicThinkingReplay_js_1.prepareAnthropicReplay)(req, modelOf(req.model), 'anthropic');
97
+ const params = buildParams(preparation.request);
98
+ const bindingFactory = (0, anthropicThinkingReplay_js_1.thinkingReplayBinding)(params, params.model);
99
+ if (preparation.omissions.length > 0)
100
+ hooks?.onReplayPrepared?.(preparation);
94
101
  try {
95
102
  const message = await client.messages.create(params);
96
103
  // Manifest read from the FINAL params — after tool mapping and cache
97
104
  // markers — because the whole point is catching what the body says,
98
105
  // not what the request intended (wireManifest.ts).
99
- return { ...fromAnthropicResponse(message), wireManifest: (0, wireManifest_js_1.toolManifestOf)(params.tools) };
106
+ return {
107
+ ...(0, anthropicMessagesWire_js_1.fromAnthropicResponse)(message, message.id ? bindingFactory(message.id) : undefined),
108
+ wireManifest: (0, wireManifest_js_1.toolManifestOf)(params.tools),
109
+ ...(preparation.omissions.length > 0 && { replayOmissions: preparation.omissions }),
110
+ };
100
111
  }
101
112
  catch (err) {
102
113
  throw wrapError(err);
103
114
  }
104
115
  },
105
- async *stream(req) {
106
- const params = buildParams(req);
116
+ async *stream(req, hooks) {
117
+ const preparation = (0, anthropicThinkingReplay_js_1.prepareAnthropicReplay)(req, modelOf(req.model), 'anthropic');
118
+ const params = buildParams(preparation.request);
119
+ const bindingFactory = (0, anthropicThinkingReplay_js_1.thinkingReplayBinding)(params, params.model);
120
+ if (preparation.omissions.length > 0)
121
+ hooks?.onReplayPrepared?.(preparation);
107
122
  let stream;
108
123
  try {
109
124
  stream = client.messages.stream(params);
@@ -123,8 +138,9 @@ function anthropic(options = {}) {
123
138
  }
124
139
  const final = await stream.finalMessage();
125
140
  const response = {
126
- ...fromAnthropicResponse(final),
141
+ ...(0, anthropicMessagesWire_js_1.fromAnthropicResponse)(final, final.id ? bindingFactory(final.id) : undefined),
127
142
  wireManifest: (0, wireManifest_js_1.toolManifestOf)(params.tools),
143
+ ...(preparation.omissions.length > 0 && { replayOmissions: preparation.omissions }),
128
144
  };
129
145
  yield { tokenIndex, content: '', done: true, response };
130
146
  }
@@ -144,6 +160,8 @@ class AnthropicProvider {
144
160
  name = 'anthropic';
145
161
  carriesInMessages = CARRIES_IN_MESSAGES;
146
162
  carriesForcedToolChoice = true;
163
+ /** The inner declaration resolves this adapter's shorthand before looking up the model. */
164
+ supportsForcedToolChoice;
147
165
  promptCaching = anthropicCacheWire_js_1.ANTHROPIC_PROMPT_CACHING;
148
166
  thinkingHandler = AnthropicThinkingHandler_js_1.anthropicThinkingHandler;
149
167
  /** The inner provider's own function — a closure, safe to forward unbound. */
@@ -152,6 +170,7 @@ class AnthropicProvider {
152
170
  constructor(options = {}) {
153
171
  this.inner = anthropic(options);
154
172
  this.thinkingMode = this.inner.thinkingMode;
173
+ this.supportsForcedToolChoice = this.inner.supportsForcedToolChoice;
155
174
  }
156
175
  // `hooks` is FORWARDED, not dropped — see LLMCallHooks in adapters/types.ts.
157
176
  complete(req, hooks) {
@@ -186,63 +205,6 @@ function resolveClient(options) {
186
205
  ...(options.maxRetries !== undefined ? { maxRetries: options.maxRetries } : {}),
187
206
  });
188
207
  }
189
- function fromAnthropicResponse(message) {
190
- const textParts = [];
191
- const toolCalls = [];
192
- // v2.14 — detect whether the response contains any thinking blocks.
193
- // When present, surface the FULL `message.content` array as
194
- // `rawThinking` so AnthropicThinkingHandler can normalize it.
195
- // (Handler filters for thinking + redacted_thinking blocks; passes
196
- // through other types without modification — but the handler
197
- // expects the full array as input shape per Phase 4a contract.)
198
- let hasThinking = false;
199
- for (const block of message.content) {
200
- if (block.type === 'text')
201
- textParts.push(block.text);
202
- else if (block.type === 'tool_use') {
203
- toolCalls.push({ id: block.id, name: block.name, args: block.input });
204
- }
205
- else if (block.type === 'thinking' || block.type === 'redacted_thinking') {
206
- hasThinking = true;
207
- }
208
- }
209
- return {
210
- content: textParts.join(''),
211
- toolCalls,
212
- usage: {
213
- input: message.usage.input_tokens,
214
- output: message.usage.output_tokens,
215
- // Cache traffic, when Anthropic reported it. Absent stays absent —
216
- // see anthropicCacheWire.readCacheUsage.
217
- ...(0, anthropicCacheWire_js_1.readCacheUsage)(message.usage),
218
- // v2.14 — Anthropic doesn't expose thinking tokens as a separate
219
- // field today (bundled in output_tokens). When the API surfaces
220
- // a dedicated field in the future, populate here. Per Phase 2
221
- // contract: undefined means "provider doesn't expose / no thinking".
222
- },
223
- stopReason: normalizeStopReason(message.stop_reason),
224
- providerRef: message.id,
225
- // v2.14 — when thinking blocks present, hand the full content array
226
- // to the framework's NormalizeThinking sub-subflow (which routes to
227
- // AnthropicThinkingHandler). Undefined when no thinking — the
228
- // subflow's early-return path skips work.
229
- ...(hasThinking && { rawThinking: message.content }),
230
- };
231
- }
232
- function normalizeStopReason(raw) {
233
- // Map Anthropic's vocabulary onto agentfootprint's vocabulary.
234
- // Keep unknown values as-is so providers can surface novel reasons.
235
- switch (raw) {
236
- case 'end_turn':
237
- return 'stop';
238
- case 'tool_use':
239
- return 'tool_use';
240
- case 'max_tokens':
241
- return 'max_tokens';
242
- default:
243
- return raw;
244
- }
245
- }
246
208
  function wrapError(err) {
247
209
  // See OpenAIProvider.wrapError — one shared detector, one typed error, so
248
210
  // "prompt is too long" reads the same whichever vendor said it.
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/AnthropicProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/AnthropicProvider.ts"],"names":[],"mappings":"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"}
@@ -26,12 +26,18 @@
26
26
  * • Multi-modal NOT supported (text content only).
27
27
  * • Guardrail integration NOT exposed yet — pass via the SDK client
28
28
  * directly if needed.
29
+ * • Thinking is NOT implemented: Converse reasoning blocks and their signed
30
+ * replay are not carried by this adapter. A request to think is refused
31
+ * before sending, never silently dropped.
29
32
  */
30
33
  Object.defineProperty(exports, "__esModule", { value: true });
31
34
  exports.BedrockProvider = exports.bedrock = void 0;
32
35
  const lazyRequire_js_1 = require("../../lib/lazyRequire.js");
33
36
  const contextWindow_js_1 = require("./contextWindow.js");
34
37
  const retryAfter_js_1 = require("./retryAfter.js");
38
+ const anthropicModels_js_1 = require("./anthropicModels.js");
39
+ const forcedToolChoice_js_1 = require("../forcedToolChoice.js");
40
+ const errors_js_1 = require("../../thinking/errors.js");
35
41
  /**
36
42
  * Which roles this wire carries inside `messages`.
37
43
  *
@@ -46,16 +52,17 @@ function bedrock(options = {}) {
46
52
  const { client, Commands } = resolveClient(options);
47
53
  const defaultModel = options.defaultModel ?? 'anthropic.claude-sonnet-4-5-20250929-v1:0';
48
54
  const defaultMaxTokens = options.defaultMaxTokens ?? 4096;
55
+ const modelOf = (model) => (model === 'bedrock' ? defaultModel : model);
49
56
  const provider = {
50
57
  name: 'bedrock',
51
58
  carriesInMessages: CARRIES_IN_MESSAGES,
52
- // Converse carries `toolConfig.toolChoice`. Whether the MODEL behind it
53
- // honours a forced choice is the model's business — the same caveat that
54
- // applies to every Converse feature — but the adapter does put it on the
55
- // wire, which is what this capability claims.
59
+ // The existing boolean describes the wire. The optional model predicate
60
+ // narrows it where the shared Claude table knows a model rejects it.
56
61
  carriesForcedToolChoice: true,
62
+ supportsForcedToolChoice: (model) => (0, anthropicModels_js_1.anthropicTakesForcedToolChoice)(modelOf(model)),
63
+ thinkingMode: () => 'none',
57
64
  async complete(req) {
58
- const input = buildInput(req, defaultModel, defaultMaxTokens);
65
+ const input = buildInput(req, modelOf(req.model), defaultMaxTokens);
59
66
  try {
60
67
  const cmd = new Commands.Converse(input);
61
68
  const response = (await client.send(cmd));
@@ -66,7 +73,7 @@ function bedrock(options = {}) {
66
73
  }
67
74
  },
68
75
  async *stream(req) {
69
- const input = buildInput(req, defaultModel, defaultMaxTokens);
76
+ const input = buildInput(req, modelOf(req.model), defaultMaxTokens);
70
77
  let response;
71
78
  try {
72
79
  const cmd = new Commands.ConverseStream(input);
@@ -170,9 +177,12 @@ class BedrockProvider {
170
177
  name = 'bedrock';
171
178
  carriesInMessages = CARRIES_IN_MESSAGES;
172
179
  carriesForcedToolChoice = true;
180
+ thinkingMode = () => 'none';
181
+ supportsForcedToolChoice;
173
182
  inner;
174
183
  constructor(options = {}) {
175
184
  this.inner = bedrock(options);
185
+ this.supportsForcedToolChoice = (model) => (0, forcedToolChoice_js_1.forcedToolChoiceFor)(this.inner, model);
176
186
  }
177
187
  // `hooks` is FORWARDED, not dropped — see LLMCallHooks in adapters/types.ts.
178
188
  complete(req, hooks) {
@@ -229,9 +239,28 @@ function resolveClient(options) {
229
239
  /* eslint-enable @typescript-eslint/no-non-null-assertion */
230
240
  };
231
241
  }
232
- function buildInput(req, defaultModel, defaultMaxTokens) {
242
+ function buildInput(req, model, defaultMaxTokens) {
243
+ // Converse accepts provider-specific thinking parameters, but enabling one
244
+ // without carrying its signed reasoning through response/tool-result replay
245
+ // would still break the conversation. Refuse this adapter's unsupported
246
+ // intent before constructing a command on either transport path.
247
+ if (req.thinking) {
248
+ throw new errors_js_1.UnsupportedThinkingError({
249
+ provider: 'bedrock',
250
+ model,
251
+ reason: 'no-thinking',
252
+ detail: 'this Converse adapter does not implement thinking response and signed replay, so ' +
253
+ '.thinking() cannot be honoured. Drop .thinking(), or use invokeModelGateway for ' +
254
+ 'a supported Claude Messages route through your gateway.',
255
+ });
256
+ }
257
+ if (req.toolChoice !== undefined &&
258
+ (req.tools?.length ?? 0) > 0 &&
259
+ !(0, anthropicModels_js_1.anthropicTakesForcedToolChoice)(model)) {
260
+ throw new forcedToolChoice_js_1.UnsupportedToolChoiceError({ provider: 'bedrock', model });
261
+ }
233
262
  const input = {
234
- modelId: req.model === 'bedrock' ? defaultModel : req.model,
263
+ modelId: model,
235
264
  messages: toBedrockMessages(req.messages),
236
265
  };
237
266
  if (req.systemPrompt)
@@ -1 +1 @@
1
- {"version":3,"file":"BedrockProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/BedrockProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BedrockProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/BedrockProvider.ts"],"names":[],"mappings":"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"}