@warlock.js/core 4.7.0 → 4.8.1

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 (812) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/esm/config/config-getter.mjs +5 -5
  3. package/esm/config/config-getter.mjs.map +1 -1
  4. package/esm/config/config-loader.mjs +2 -2
  5. package/esm/config/config-loader.mjs.map +1 -1
  6. package/esm/connectors/access-connector.mjs +2 -2
  7. package/esm/connectors/access-connector.mjs.map +1 -1
  8. package/esm/connectors/ai-connector.mjs +3 -3
  9. package/esm/connectors/ai-connector.mjs.map +1 -1
  10. package/esm/connectors/cache-connector.mjs +2 -2
  11. package/esm/connectors/cache-connector.mjs.map +1 -1
  12. package/esm/connectors/database-connector.mjs +2 -2
  13. package/esm/connectors/database-connector.mjs.map +1 -1
  14. package/esm/connectors/herald-connector.mjs +2 -2
  15. package/esm/connectors/herald-connector.mjs.map +1 -1
  16. package/esm/connectors/http-connector.mjs +7 -7
  17. package/esm/connectors/http-connector.mjs.map +1 -1
  18. package/esm/connectors/logger-connector.mjs +2 -2
  19. package/esm/connectors/logger-connector.mjs.map +1 -1
  20. package/esm/connectors/mail-connector.mjs +2 -2
  21. package/esm/connectors/mail-connector.mjs.map +1 -1
  22. package/esm/connectors/notifications-connector.mjs +2 -2
  23. package/esm/connectors/notifications-connector.mjs.map +1 -1
  24. package/esm/connectors/socket-connector.mjs +3 -3
  25. package/esm/connectors/socket-connector.mjs.map +1 -1
  26. package/esm/http/config.mjs +2 -2
  27. package/esm/http/config.mjs.map +1 -1
  28. package/esm/http/createHttpApplication.mjs +2 -2
  29. package/esm/http/createHttpApplication.mjs.map +1 -1
  30. package/esm/http/middleware/idempotency.middleware.mjs +5 -5
  31. package/esm/http/middleware/idempotency.middleware.mjs.map +1 -1
  32. package/esm/http/middleware/inject-request-context.mjs +2 -2
  33. package/esm/http/middleware/inject-request-context.mjs.map +1 -1
  34. package/esm/http/middleware/maintenance.middleware.mjs +4 -4
  35. package/esm/http/middleware/maintenance.middleware.mjs.map +1 -1
  36. package/esm/http/plugins.mjs +9 -9
  37. package/esm/http/plugins.mjs.map +1 -1
  38. package/esm/http/response.mjs +5 -5
  39. package/esm/http/response.mjs.map +1 -1
  40. package/esm/http/server.mjs +4 -4
  41. package/esm/http/server.mjs.map +1 -1
  42. package/esm/utils/paths.mjs +2 -2
  43. package/esm/utils/paths.mjs.map +1 -1
  44. package/esm/validation/validateAll.mjs +2 -2
  45. package/esm/validation/validateAll.mjs.map +1 -1
  46. package/package.json +12 -9
  47. package/esm/ai/src/agent/agent-input-builder.mjs +0 -133
  48. package/esm/ai/src/agent/agent-input-builder.mjs.map +0 -1
  49. package/esm/ai/src/agent/agent-log-event.mjs +0 -101
  50. package/esm/ai/src/agent/agent-log-event.mjs.map +0 -1
  51. package/esm/ai/src/agent/agent-stream.mjs +0 -82
  52. package/esm/ai/src/agent/agent-stream.mjs.map +0 -1
  53. package/esm/ai/src/agent/agent-to-stream-event.mjs +0 -86
  54. package/esm/ai/src/agent/agent-to-stream-event.mjs.map +0 -1
  55. package/esm/ai/src/agent/agent.mjs +0 -1276
  56. package/esm/ai/src/agent/agent.mjs.map +0 -1
  57. package/esm/ai/src/agent/index.mjs +0 -5
  58. package/esm/ai/src/agent/json-stream-guard.mjs +0 -400
  59. package/esm/ai/src/agent/json-stream-guard.mjs.map +0 -1
  60. package/esm/ai/src/agent/signature.mjs +0 -57
  61. package/esm/ai/src/agent/signature.mjs.map +0 -1
  62. package/esm/ai/src/agent/snapshot.mjs +0 -101
  63. package/esm/ai/src/agent/snapshot.mjs.map +0 -1
  64. package/esm/ai/src/agent/spawn-sub-agent.mjs +0 -68
  65. package/esm/ai/src/agent/spawn-sub-agent.mjs.map +0 -1
  66. package/esm/ai/src/ai.mjs +0 -191
  67. package/esm/ai/src/ai.mjs.map +0 -1
  68. package/esm/ai/src/batch/batch.mjs +0 -198
  69. package/esm/ai/src/batch/batch.mjs.map +0 -1
  70. package/esm/ai/src/batch/index.mjs +0 -3
  71. package/esm/ai/src/batch/run-batch-item.mjs +0 -100
  72. package/esm/ai/src/batch/run-batch-item.mjs.map +0 -1
  73. package/esm/ai/src/batch/run-with-concurrency.mjs +0 -39
  74. package/esm/ai/src/batch/run-with-concurrency.mjs.map +0 -1
  75. package/esm/ai/src/checkpoint/memory.mjs +0 -0
  76. package/esm/ai/src/checkpoint/memory.mjs.map +0 -1
  77. package/esm/ai/src/checkpoint/pg.mjs +0 -265
  78. package/esm/ai/src/checkpoint/pg.mjs.map +0 -1
  79. package/esm/ai/src/checkpoint/redis.mjs +0 -200
  80. package/esm/ai/src/checkpoint/redis.mjs.map +0 -1
  81. package/esm/ai/src/config.mjs +0 -59
  82. package/esm/ai/src/config.mjs.map +0 -1
  83. package/esm/ai/src/contracts/end.type.mjs +0 -47
  84. package/esm/ai/src/contracts/end.type.mjs.map +0 -1
  85. package/esm/ai/src/errors/agent-cancelled-error.mjs +0 -43
  86. package/esm/ai/src/errors/agent-cancelled-error.mjs.map +0 -1
  87. package/esm/ai/src/errors/agent-drift-error.mjs +0 -31
  88. package/esm/ai/src/errors/agent-drift-error.mjs.map +0 -1
  89. package/esm/ai/src/errors/agent-execution-error.mjs +0 -35
  90. package/esm/ai/src/errors/agent-execution-error.mjs.map +0 -1
  91. package/esm/ai/src/errors/agent-max-trips-error.mjs +0 -41
  92. package/esm/ai/src/errors/agent-max-trips-error.mjs.map +0 -1
  93. package/esm/ai/src/errors/ai-error.mjs +0 -68
  94. package/esm/ai/src/errors/ai-error.mjs.map +0 -1
  95. package/esm/ai/src/errors/budget-exceeded-error.mjs +0 -31
  96. package/esm/ai/src/errors/budget-exceeded-error.mjs.map +0 -1
  97. package/esm/ai/src/errors/content-filter-error.mjs +0 -28
  98. package/esm/ai/src/errors/content-filter-error.mjs.map +0 -1
  99. package/esm/ai/src/errors/context-length-exceeded-error.mjs +0 -31
  100. package/esm/ai/src/errors/context-length-exceeded-error.mjs.map +0 -1
  101. package/esm/ai/src/errors/guardrail-violation-error.mjs +0 -41
  102. package/esm/ai/src/errors/guardrail-violation-error.mjs.map +0 -1
  103. package/esm/ai/src/errors/index.mjs +0 -40
  104. package/esm/ai/src/errors/invalid-request-error.mjs +0 -31
  105. package/esm/ai/src/errors/invalid-request-error.mjs.map +0 -1
  106. package/esm/ai/src/errors/max-iterations-error.mjs +0 -32
  107. package/esm/ai/src/errors/max-iterations-error.mjs.map +0 -1
  108. package/esm/ai/src/errors/max-steps-exceeded-error.mjs +0 -21
  109. package/esm/ai/src/errors/max-steps-exceeded-error.mjs.map +0 -1
  110. package/esm/ai/src/errors/orchestrator-cancelled-error.mjs +0 -31
  111. package/esm/ai/src/errors/orchestrator-cancelled-error.mjs.map +0 -1
  112. package/esm/ai/src/errors/orchestrator-config-error.mjs +0 -30
  113. package/esm/ai/src/errors/orchestrator-config-error.mjs.map +0 -1
  114. package/esm/ai/src/errors/orchestrator-drift-error.mjs +0 -37
  115. package/esm/ai/src/errors/orchestrator-drift-error.mjs.map +0 -1
  116. package/esm/ai/src/errors/orchestrator-failed-error.mjs +0 -36
  117. package/esm/ai/src/errors/orchestrator-failed-error.mjs.map +0 -1
  118. package/esm/ai/src/errors/outbound-policy-error.mjs +0 -32
  119. package/esm/ai/src/errors/outbound-policy-error.mjs.map +0 -1
  120. package/esm/ai/src/errors/planner-cancelled-error.mjs +0 -29
  121. package/esm/ai/src/errors/planner-cancelled-error.mjs.map +0 -1
  122. package/esm/ai/src/errors/planner-drift-error.mjs +0 -33
  123. package/esm/ai/src/errors/planner-drift-error.mjs.map +0 -1
  124. package/esm/ai/src/errors/planner-failed-error.mjs +0 -37
  125. package/esm/ai/src/errors/planner-failed-error.mjs.map +0 -1
  126. package/esm/ai/src/errors/planner-plan-invalid-error.mjs +0 -25
  127. package/esm/ai/src/errors/planner-plan-invalid-error.mjs.map +0 -1
  128. package/esm/ai/src/errors/prompt-refinement-error.mjs +0 -27
  129. package/esm/ai/src/errors/prompt-refinement-error.mjs.map +0 -1
  130. package/esm/ai/src/errors/provider-auth-error.mjs +0 -26
  131. package/esm/ai/src/errors/provider-auth-error.mjs.map +0 -1
  132. package/esm/ai/src/errors/provider-error.mjs +0 -42
  133. package/esm/ai/src/errors/provider-error.mjs.map +0 -1
  134. package/esm/ai/src/errors/provider-rate-limit-error.mjs +0 -31
  135. package/esm/ai/src/errors/provider-rate-limit-error.mjs.map +0 -1
  136. package/esm/ai/src/errors/provider-timeout-error.mjs +0 -26
  137. package/esm/ai/src/errors/provider-timeout-error.mjs.map +0 -1
  138. package/esm/ai/src/errors/quota-exceeded-error.mjs +0 -40
  139. package/esm/ai/src/errors/quota-exceeded-error.mjs.map +0 -1
  140. package/esm/ai/src/errors/routing-error.mjs +0 -23
  141. package/esm/ai/src/errors/routing-error.mjs.map +0 -1
  142. package/esm/ai/src/errors/schema-validation-error.mjs +0 -37
  143. package/esm/ai/src/errors/schema-validation-error.mjs.map +0 -1
  144. package/esm/ai/src/errors/step-failed-error.mjs +0 -19
  145. package/esm/ai/src/errors/step-failed-error.mjs.map +0 -1
  146. package/esm/ai/src/errors/supervisor-cancelled-error.mjs +0 -29
  147. package/esm/ai/src/errors/supervisor-cancelled-error.mjs.map +0 -1
  148. package/esm/ai/src/errors/supervisor-drift-error.mjs +0 -30
  149. package/esm/ai/src/errors/supervisor-drift-error.mjs.map +0 -1
  150. package/esm/ai/src/errors/supervisor-failed-error.mjs +0 -43
  151. package/esm/ai/src/errors/supervisor-failed-error.mjs.map +0 -1
  152. package/esm/ai/src/errors/supervisor-routing-error.mjs +0 -39
  153. package/esm/ai/src/errors/supervisor-routing-error.mjs.map +0 -1
  154. package/esm/ai/src/errors/tool-execution-error.mjs +0 -32
  155. package/esm/ai/src/errors/tool-execution-error.mjs.map +0 -1
  156. package/esm/ai/src/errors/workflow-cancelled-error.mjs +0 -23
  157. package/esm/ai/src/errors/workflow-cancelled-error.mjs.map +0 -1
  158. package/esm/ai/src/errors/workflow-drift-error.mjs +0 -24
  159. package/esm/ai/src/errors/workflow-drift-error.mjs.map +0 -1
  160. package/esm/ai/src/errors/workflow-error.mjs +0 -18
  161. package/esm/ai/src/errors/workflow-error.mjs.map +0 -1
  162. package/esm/ai/src/eval/dataset.mjs +0 -112
  163. package/esm/ai/src/eval/dataset.mjs.map +0 -1
  164. package/esm/ai/src/eval/eval-runner.mjs +0 -135
  165. package/esm/ai/src/eval/eval-runner.mjs.map +0 -1
  166. package/esm/ai/src/eval/index.mjs +0 -48
  167. package/esm/ai/src/eval/index.mjs.map +0 -1
  168. package/esm/ai/src/eval/judge-scorer.mjs +0 -87
  169. package/esm/ai/src/eval/judge-scorer.mjs.map +0 -1
  170. package/esm/ai/src/eval/regression.mjs +0 -51
  171. package/esm/ai/src/eval/regression.mjs.map +0 -1
  172. package/esm/ai/src/eval/report-json.mjs +0 -33
  173. package/esm/ai/src/eval/report-json.mjs.map +0 -1
  174. package/esm/ai/src/eval/report-junit.mjs +0 -60
  175. package/esm/ai/src/eval/report-junit.mjs.map +0 -1
  176. package/esm/ai/src/eval/scorers.mjs +0 -101
  177. package/esm/ai/src/eval/scorers.mjs.map +0 -1
  178. package/esm/ai/src/guard/detectors/index.mjs +0 -6
  179. package/esm/ai/src/guard/detectors/injection.mjs +0 -254
  180. package/esm/ai/src/guard/detectors/injection.mjs.map +0 -1
  181. package/esm/ai/src/guard/detectors/moderation.mjs +0 -134
  182. package/esm/ai/src/guard/detectors/moderation.mjs.map +0 -1
  183. package/esm/ai/src/guard/detectors/pii.mjs +0 -199
  184. package/esm/ai/src/guard/detectors/pii.mjs.map +0 -1
  185. package/esm/ai/src/guard/detectors/topic.mjs +0 -99
  186. package/esm/ai/src/guard/detectors/topic.mjs.map +0 -1
  187. package/esm/ai/src/guard/errors.mjs +0 -18
  188. package/esm/ai/src/guard/errors.mjs.map +0 -1
  189. package/esm/ai/src/guard/guard.mjs +0 -209
  190. package/esm/ai/src/guard/guard.mjs.map +0 -1
  191. package/esm/ai/src/guard/guardrail.mjs +0 -22
  192. package/esm/ai/src/guard/guardrail.mjs.map +0 -1
  193. package/esm/ai/src/human/errors.mjs +0 -60
  194. package/esm/ai/src/human/errors.mjs.map +0 -1
  195. package/esm/ai/src/human/human-approval.mjs +0 -170
  196. package/esm/ai/src/human/human-approval.mjs.map +0 -1
  197. package/esm/ai/src/human/policy.mjs +0 -67
  198. package/esm/ai/src/human/policy.mjs.map +0 -1
  199. package/esm/ai/src/human/register.mjs +0 -37
  200. package/esm/ai/src/human/register.mjs.map +0 -1
  201. package/esm/ai/src/human/resume-seed.mjs +0 -53
  202. package/esm/ai/src/human/resume-seed.mjs.map +0 -1
  203. package/esm/ai/src/human/resume.mjs +0 -121
  204. package/esm/ai/src/human/resume.mjs.map +0 -1
  205. package/esm/ai/src/human/stores/index.mjs +0 -5
  206. package/esm/ai/src/human/stores/memory.mjs +0 -91
  207. package/esm/ai/src/human/stores/memory.mjs.map +0 -1
  208. package/esm/ai/src/human/stores/pg.mjs +0 -220
  209. package/esm/ai/src/human/stores/pg.mjs.map +0 -1
  210. package/esm/ai/src/human/stores/redis.mjs +0 -201
  211. package/esm/ai/src/human/stores/redis.mjs.map +0 -1
  212. package/esm/ai/src/image/image-cost.mjs +0 -55
  213. package/esm/ai/src/image/image-cost.mjs.map +0 -1
  214. package/esm/ai/src/image/image.mjs +0 -112
  215. package/esm/ai/src/image/image.mjs.map +0 -1
  216. package/esm/ai/src/image/index.mjs +0 -4
  217. package/esm/ai/src/index.mjs +0 -196
  218. package/esm/ai/src/memory/derive-id.mjs +0 -24
  219. package/esm/ai/src/memory/derive-id.mjs.map +0 -1
  220. package/esm/ai/src/memory/episodic-memory.mjs +0 -106
  221. package/esm/ai/src/memory/episodic-memory.mjs.map +0 -1
  222. package/esm/ai/src/memory/memory.mjs +0 -166
  223. package/esm/ai/src/memory/memory.mjs.map +0 -1
  224. package/esm/ai/src/memory/procedural-memory.mjs +0 -103
  225. package/esm/ai/src/memory/procedural-memory.mjs.map +0 -1
  226. package/esm/ai/src/memory/semantic-memory.mjs +0 -80
  227. package/esm/ai/src/memory/semantic-memory.mjs.map +0 -1
  228. package/esm/ai/src/memory/working-memory.mjs +0 -62
  229. package/esm/ai/src/memory/working-memory.mjs.map +0 -1
  230. package/esm/ai/src/middleware/builtins/budget.mjs +0 -219
  231. package/esm/ai/src/middleware/builtins/budget.mjs.map +0 -1
  232. package/esm/ai/src/middleware/builtins/guardrail.mjs +0 -76
  233. package/esm/ai/src/middleware/builtins/guardrail.mjs.map +0 -1
  234. package/esm/ai/src/middleware/builtins/semantic-cache.mjs +0 -149
  235. package/esm/ai/src/middleware/builtins/semantic-cache.mjs.map +0 -1
  236. package/esm/ai/src/middleware/helpers/compose.mjs +0 -52
  237. package/esm/ai/src/middleware/helpers/compose.mjs.map +0 -1
  238. package/esm/ai/src/middleware/helpers/for-tool.mjs +0 -80
  239. package/esm/ai/src/middleware/helpers/for-tool.mjs.map +0 -1
  240. package/esm/ai/src/middleware/index.mjs +0 -10
  241. package/esm/ai/src/middleware/pipeline.mjs +0 -100
  242. package/esm/ai/src/middleware/pipeline.mjs.map +0 -1
  243. package/esm/ai/src/middleware/utils/extract-user-text.mjs +0 -47
  244. package/esm/ai/src/middleware/utils/extract-user-text.mjs.map +0 -1
  245. package/esm/ai/src/middleware/utils/namespaced-state.mjs +0 -60
  246. package/esm/ai/src/middleware/utils/namespaced-state.mjs.map +0 -1
  247. package/esm/ai/src/mock/index.mjs +0 -4
  248. package/esm/ai/src/mock/mock-agent.mjs +0 -3
  249. package/esm/ai/src/mock/mock-router.mjs +0 -58
  250. package/esm/ai/src/mock/mock-router.mjs.map +0 -1
  251. package/esm/ai/src/model/fallback-model.mjs +0 -218
  252. package/esm/ai/src/model/fallback-model.mjs.map +0 -1
  253. package/esm/ai/src/model/index.mjs +0 -3
  254. package/esm/ai/src/object-stream/index.mjs +0 -4
  255. package/esm/ai/src/object-stream/parse-partial-json.mjs +0 -78
  256. package/esm/ai/src/object-stream/parse-partial-json.mjs.map +0 -1
  257. package/esm/ai/src/object-stream/stream-object.mjs +0 -97
  258. package/esm/ai/src/object-stream/stream-object.mjs.map +0 -1
  259. package/esm/ai/src/observe/index.mjs +0 -4
  260. package/esm/ai/src/observe/observer-registry.mjs +0 -35
  261. package/esm/ai/src/observe/observer-registry.mjs.map +0 -1
  262. package/esm/ai/src/observe/resolve-observers.mjs +0 -73
  263. package/esm/ai/src/observe/resolve-observers.mjs.map +0 -1
  264. package/esm/ai/src/orchestrator/as-tool.mjs +0 -98
  265. package/esm/ai/src/orchestrator/as-tool.mjs.map +0 -1
  266. package/esm/ai/src/orchestrator/checkpoint.mjs +0 -75
  267. package/esm/ai/src/orchestrator/checkpoint.mjs.map +0 -1
  268. package/esm/ai/src/orchestrator/commands.mjs +0 -34
  269. package/esm/ai/src/orchestrator/commands.mjs.map +0 -1
  270. package/esm/ai/src/orchestrator/compaction.mjs +0 -206
  271. package/esm/ai/src/orchestrator/compaction.mjs.map +0 -1
  272. package/esm/ai/src/orchestrator/dispatch.mjs +0 -171
  273. package/esm/ai/src/orchestrator/dispatch.mjs.map +0 -1
  274. package/esm/ai/src/orchestrator/emitter.mjs +0 -85
  275. package/esm/ai/src/orchestrator/emitter.mjs.map +0 -1
  276. package/esm/ai/src/orchestrator/execution.mjs +0 -395
  277. package/esm/ai/src/orchestrator/execution.mjs.map +0 -1
  278. package/esm/ai/src/orchestrator/index.mjs +0 -11
  279. package/esm/ai/src/orchestrator/load.mjs +0 -49
  280. package/esm/ai/src/orchestrator/load.mjs.map +0 -1
  281. package/esm/ai/src/orchestrator/lock.mjs +0 -75
  282. package/esm/ai/src/orchestrator/lock.mjs.map +0 -1
  283. package/esm/ai/src/orchestrator/memory.mjs +0 -141
  284. package/esm/ai/src/orchestrator/memory.mjs.map +0 -1
  285. package/esm/ai/src/orchestrator/orchestrator-stream.mjs +0 -98
  286. package/esm/ai/src/orchestrator/orchestrator-stream.mjs.map +0 -1
  287. package/esm/ai/src/orchestrator/orchestrator.mjs +0 -206
  288. package/esm/ai/src/orchestrator/orchestrator.mjs.map +0 -1
  289. package/esm/ai/src/orchestrator/resume.mjs +0 -74
  290. package/esm/ai/src/orchestrator/resume.mjs.map +0 -1
  291. package/esm/ai/src/orchestrator/session-lock.mjs +0 -83
  292. package/esm/ai/src/orchestrator/session-lock.mjs.map +0 -1
  293. package/esm/ai/src/orchestrator/signature.mjs +0 -120
  294. package/esm/ai/src/orchestrator/signature.mjs.map +0 -1
  295. package/esm/ai/src/orchestrator/window.mjs +0 -56
  296. package/esm/ai/src/orchestrator/window.mjs.map +0 -1
  297. package/esm/ai/src/planner/dag-scheduler.mjs +0 -97
  298. package/esm/ai/src/planner/dag-scheduler.mjs.map +0 -1
  299. package/esm/ai/src/planner/index.mjs +0 -6
  300. package/esm/ai/src/planner/plan-prompt.mjs +0 -31
  301. package/esm/ai/src/planner/plan-prompt.mjs.map +0 -1
  302. package/esm/ai/src/planner/plan-schema.mjs +0 -120
  303. package/esm/ai/src/planner/plan-schema.mjs.map +0 -1
  304. package/esm/ai/src/planner/planner-run.mjs +0 -769
  305. package/esm/ai/src/planner/planner-run.mjs.map +0 -1
  306. package/esm/ai/src/planner/planner.mjs +0 -144
  307. package/esm/ai/src/planner/planner.mjs.map +0 -1
  308. package/esm/ai/src/planner/signature.mjs +0 -27
  309. package/esm/ai/src/planner/signature.mjs.map +0 -1
  310. package/esm/ai/src/planner/snapshot.mjs +0 -95
  311. package/esm/ai/src/planner/snapshot.mjs.map +0 -1
  312. package/esm/ai/src/prompt/errors.mjs +0 -73
  313. package/esm/ai/src/prompt/errors.mjs.map +0 -1
  314. package/esm/ai/src/prompt/index.mjs +0 -4
  315. package/esm/ai/src/prompt/prompt-langfuse-sync.mjs +0 -104
  316. package/esm/ai/src/prompt/prompt-langfuse-sync.mjs.map +0 -1
  317. package/esm/ai/src/prompt/prompt-validate.mjs +0 -170
  318. package/esm/ai/src/prompt/prompt-validate.mjs.map +0 -1
  319. package/esm/ai/src/prompt/prompt.mjs +0 -218
  320. package/esm/ai/src/prompt/prompt.mjs.map +0 -1
  321. package/esm/ai/src/prompts/index.mjs +0 -3
  322. package/esm/ai/src/prompts/prompts-manager.mjs +0 -410
  323. package/esm/ai/src/prompts/prompts-manager.mjs.map +0 -1
  324. package/esm/ai/src/prompts/prompts-validate.mjs +0 -0
  325. package/esm/ai/src/prompts/prompts-validate.mjs.map +0 -1
  326. package/esm/ai/src/rag/as-tool.mjs +0 -48
  327. package/esm/ai/src/rag/as-tool.mjs.map +0 -1
  328. package/esm/ai/src/rag/chunk/chunk.mjs +0 -44
  329. package/esm/ai/src/rag/chunk/chunk.mjs.map +0 -1
  330. package/esm/ai/src/rag/chunk/fixed.mjs +0 -32
  331. package/esm/ai/src/rag/chunk/fixed.mjs.map +0 -1
  332. package/esm/ai/src/rag/chunk/markdown.mjs +0 -75
  333. package/esm/ai/src/rag/chunk/markdown.mjs.map +0 -1
  334. package/esm/ai/src/rag/chunk/recursive.mjs +0 -132
  335. package/esm/ai/src/rag/chunk/recursive.mjs.map +0 -1
  336. package/esm/ai/src/rag/chunk/sentence.mjs +0 -73
  337. package/esm/ai/src/rag/chunk/sentence.mjs.map +0 -1
  338. package/esm/ai/src/rag/hybrid/bm25.mjs +0 -51
  339. package/esm/ai/src/rag/hybrid/bm25.mjs.map +0 -1
  340. package/esm/ai/src/rag/hybrid/hybrid-rank.mjs +0 -29
  341. package/esm/ai/src/rag/hybrid/hybrid-rank.mjs.map +0 -1
  342. package/esm/ai/src/rag/hybrid/rrf.mjs +0 -30
  343. package/esm/ai/src/rag/hybrid/rrf.mjs.map +0 -1
  344. package/esm/ai/src/rag/index.mjs +0 -18
  345. package/esm/ai/src/rag/loaders/errors.mjs +0 -25
  346. package/esm/ai/src/rag/loaders/errors.mjs.map +0 -1
  347. package/esm/ai/src/rag/loaders/index.mjs +0 -7
  348. package/esm/ai/src/rag/loaders/load-html.mjs +0 -138
  349. package/esm/ai/src/rag/loaders/load-html.mjs.map +0 -1
  350. package/esm/ai/src/rag/loaders/load-pdf.mjs +0 -150
  351. package/esm/ai/src/rag/loaders/load-pdf.mjs.map +0 -1
  352. package/esm/ai/src/rag/loaders/load-text.mjs +0 -60
  353. package/esm/ai/src/rag/loaders/load-text.mjs.map +0 -1
  354. package/esm/ai/src/rag/loaders/load-web.mjs +0 -89
  355. package/esm/ai/src/rag/loaders/load-web.mjs.map +0 -1
  356. package/esm/ai/src/rag/rag.mjs +0 -126
  357. package/esm/ai/src/rag/rag.mjs.map +0 -1
  358. package/esm/ai/src/rag/rerank/keyword-reranker.mjs +0 -58
  359. package/esm/ai/src/rag/rerank/keyword-reranker.mjs.map +0 -1
  360. package/esm/ai/src/rag/rerank/llm-reranker.mjs +0 -85
  361. package/esm/ai/src/rag/rerank/llm-reranker.mjs.map +0 -1
  362. package/esm/ai/src/rag/retrieve.mjs +0 -68
  363. package/esm/ai/src/rag/retrieve.mjs.map +0 -1
  364. package/esm/ai/src/rag/store/cache-vector-store.mjs +0 -48
  365. package/esm/ai/src/rag/store/cache-vector-store.mjs.map +0 -1
  366. package/esm/ai/src/rag/store/pg-vector-store.mjs +0 -328
  367. package/esm/ai/src/rag/store/pg-vector-store.mjs.map +0 -1
  368. package/esm/ai/src/rag/transforms/multi-query.mjs +0 -41
  369. package/esm/ai/src/rag/transforms/multi-query.mjs.map +0 -1
  370. package/esm/ai/src/security/index.mjs +0 -5
  371. package/esm/ai/src/security/outbound-policy.mjs +0 -187
  372. package/esm/ai/src/security/outbound-policy.mjs.map +0 -1
  373. package/esm/ai/src/security/private-ip.mjs +0 -48
  374. package/esm/ai/src/security/private-ip.mjs.map +0 -1
  375. package/esm/ai/src/security/redact.mjs +0 -60
  376. package/esm/ai/src/security/redact.mjs.map +0 -1
  377. package/esm/ai/src/serve/serve.mjs +0 -90
  378. package/esm/ai/src/serve/serve.mjs.map +0 -1
  379. package/esm/ai/src/serve/sse.mjs +0 -25
  380. package/esm/ai/src/serve/sse.mjs.map +0 -1
  381. package/esm/ai/src/serve/stream-to-sse.mjs +0 -37
  382. package/esm/ai/src/serve/stream-to-sse.mjs.map +0 -1
  383. package/esm/ai/src/skills/catalog.mjs +0 -140
  384. package/esm/ai/src/skills/catalog.mjs.map +0 -1
  385. package/esm/ai/src/skills/index.mjs +0 -11
  386. package/esm/ai/src/skills/load-skill-tool.mjs +0 -65
  387. package/esm/ai/src/skills/load-skill-tool.mjs.map +0 -1
  388. package/esm/ai/src/skills/save-skill-tool.mjs +0 -65
  389. package/esm/ai/src/skills/save-skill-tool.mjs.map +0 -1
  390. package/esm/ai/src/skills/skills.mjs +0 -109
  391. package/esm/ai/src/skills/skills.mjs.map +0 -1
  392. package/esm/ai/src/skills/sources/directory-source.mjs +0 -108
  393. package/esm/ai/src/skills/sources/directory-source.mjs.map +0 -1
  394. package/esm/ai/src/skills/sources/index.mjs +0 -27
  395. package/esm/ai/src/skills/sources/index.mjs.map +0 -1
  396. package/esm/ai/src/skills/sources/parse-frontmatter.mjs +0 -46
  397. package/esm/ai/src/skills/sources/parse-frontmatter.mjs.map +0 -1
  398. package/esm/ai/src/skills/sources/store-source.mjs +0 -15
  399. package/esm/ai/src/skills/sources/store-source.mjs.map +0 -1
  400. package/esm/ai/src/skills/sources/url-source.mjs +0 -117
  401. package/esm/ai/src/skills/sources/url-source.mjs.map +0 -1
  402. package/esm/ai/src/snapshot/memory.mjs +0 -81
  403. package/esm/ai/src/snapshot/memory.mjs.map +0 -1
  404. package/esm/ai/src/snapshot/pg.mjs +0 -146
  405. package/esm/ai/src/snapshot/pg.mjs.map +0 -1
  406. package/esm/ai/src/snapshot/redis.mjs +0 -101
  407. package/esm/ai/src/snapshot/redis.mjs.map +0 -1
  408. package/esm/ai/src/speech/index.mjs +0 -3
  409. package/esm/ai/src/speech/speech.mjs +0 -122
  410. package/esm/ai/src/speech/speech.mjs.map +0 -1
  411. package/esm/ai/src/supervisor/as-tool.mjs +0 -74
  412. package/esm/ai/src/supervisor/as-tool.mjs.map +0 -1
  413. package/esm/ai/src/supervisor/cancellation.mjs +0 -22
  414. package/esm/ai/src/supervisor/cancellation.mjs.map +0 -1
  415. package/esm/ai/src/supervisor/decide.mjs +0 -272
  416. package/esm/ai/src/supervisor/decide.mjs.map +0 -1
  417. package/esm/ai/src/supervisor/emitter.mjs +0 -47
  418. package/esm/ai/src/supervisor/emitter.mjs.map +0 -1
  419. package/esm/ai/src/supervisor/entries.mjs +0 -206
  420. package/esm/ai/src/supervisor/entries.mjs.map +0 -1
  421. package/esm/ai/src/supervisor/execution.mjs +0 -1921
  422. package/esm/ai/src/supervisor/execution.mjs.map +0 -1
  423. package/esm/ai/src/supervisor/fan-out.mjs +0 -65
  424. package/esm/ai/src/supervisor/fan-out.mjs.map +0 -1
  425. package/esm/ai/src/supervisor/index.mjs +0 -14
  426. package/esm/ai/src/supervisor/router-factory.mjs +0 -141
  427. package/esm/ai/src/supervisor/router-factory.mjs.map +0 -1
  428. package/esm/ai/src/supervisor/router-prompt.mjs +0 -52
  429. package/esm/ai/src/supervisor/router-prompt.mjs.map +0 -1
  430. package/esm/ai/src/supervisor/signature.mjs +0 -89
  431. package/esm/ai/src/supervisor/signature.mjs.map +0 -1
  432. package/esm/ai/src/supervisor/snapshot.mjs +0 -69
  433. package/esm/ai/src/supervisor/snapshot.mjs.map +0 -1
  434. package/esm/ai/src/supervisor/supervisor-stream.mjs +0 -89
  435. package/esm/ai/src/supervisor/supervisor-stream.mjs.map +0 -1
  436. package/esm/ai/src/supervisor/supervisor.mjs +0 -144
  437. package/esm/ai/src/supervisor/supervisor.mjs.map +0 -1
  438. package/esm/ai/src/system-prompt/index.mjs +0 -7
  439. package/esm/ai/src/system-prompt/instruction.mjs +0 -57
  440. package/esm/ai/src/system-prompt/instruction.mjs.map +0 -1
  441. package/esm/ai/src/system-prompt/persona.mjs +0 -57
  442. package/esm/ai/src/system-prompt/persona.mjs.map +0 -1
  443. package/esm/ai/src/system-prompt/refined-system-prompt.mjs +0 -461
  444. package/esm/ai/src/system-prompt/refined-system-prompt.mjs.map +0 -1
  445. package/esm/ai/src/system-prompt/render-placeholders.mjs +0 -58
  446. package/esm/ai/src/system-prompt/render-placeholders.mjs.map +0 -1
  447. package/esm/ai/src/system-prompt/system-prompt.mjs +0 -286
  448. package/esm/ai/src/system-prompt/system-prompt.mjs.map +0 -1
  449. package/esm/ai/src/team/gates.mjs +0 -48
  450. package/esm/ai/src/team/gates.mjs.map +0 -1
  451. package/esm/ai/src/team/index.mjs +0 -3
  452. package/esm/ai/src/team/team.mjs +0 -94
  453. package/esm/ai/src/team/team.mjs.map +0 -1
  454. package/esm/ai/src/tool/executable-as-tool.mjs +0 -81
  455. package/esm/ai/src/tool/executable-as-tool.mjs.map +0 -1
  456. package/esm/ai/src/tool/index.mjs +0 -4
  457. package/esm/ai/src/tool/tool.mjs +0 -185
  458. package/esm/ai/src/tool/tool.mjs.map +0 -1
  459. package/esm/ai/src/transcribe/audio-input.mjs +0 -84
  460. package/esm/ai/src/transcribe/audio-input.mjs.map +0 -1
  461. package/esm/ai/src/transcribe/index.mjs +0 -4
  462. package/esm/ai/src/transcribe/transcribe.mjs +0 -127
  463. package/esm/ai/src/transcribe/transcribe.mjs.map +0 -1
  464. package/esm/ai/src/utils/compute-cost.mjs +0 -112
  465. package/esm/ai/src/utils/compute-cost.mjs.map +0 -1
  466. package/esm/ai/src/utils/extract-json-lenient.mjs +0 -97
  467. package/esm/ai/src/utils/extract-json-lenient.mjs.map +0 -1
  468. package/esm/ai/src/utils/extract-json-payload.mjs +0 -39
  469. package/esm/ai/src/utils/extract-json-payload.mjs.map +0 -1
  470. package/esm/ai/src/utils/generate-run-id.mjs +0 -23
  471. package/esm/ai/src/utils/generate-run-id.mjs.map +0 -1
  472. package/esm/ai/src/utils/index.mjs +0 -12
  473. package/esm/ai/src/utils/json-schema.mjs +0 -89
  474. package/esm/ai/src/utils/json-schema.mjs.map +0 -1
  475. package/esm/ai/src/utils/prepare-attachment-part.mjs +0 -232
  476. package/esm/ai/src/utils/prepare-attachment-part.mjs.map +0 -1
  477. package/esm/ai/src/utils/resolve-attachment.mjs +0 -74
  478. package/esm/ai/src/utils/resolve-attachment.mjs.map +0 -1
  479. package/esm/ai/src/utils/run-context.mjs +0 -89
  480. package/esm/ai/src/utils/run-context.mjs.map +0 -1
  481. package/esm/ai/src/utils/safe-json-parse.mjs +0 -22
  482. package/esm/ai/src/utils/safe-json-parse.mjs.map +0 -1
  483. package/esm/ai/src/utils/stamp-report-lineage.mjs +0 -45
  484. package/esm/ai/src/utils/stamp-report-lineage.mjs.map +0 -1
  485. package/esm/ai/src/vcr/cassette-io.mjs +0 -57
  486. package/esm/ai/src/vcr/cassette-io.mjs.map +0 -1
  487. package/esm/ai/src/vcr/errors.mjs +0 -37
  488. package/esm/ai/src/vcr/errors.mjs.map +0 -1
  489. package/esm/ai/src/vcr/hash-request.mjs +0 -118
  490. package/esm/ai/src/vcr/hash-request.mjs.map +0 -1
  491. package/esm/ai/src/vcr/index.mjs +0 -5
  492. package/esm/ai/src/vcr/vcr.mjs +0 -248
  493. package/esm/ai/src/vcr/vcr.mjs.map +0 -1
  494. package/esm/ai/src/workflow/as-tool.mjs +0 -49
  495. package/esm/ai/src/workflow/as-tool.mjs.map +0 -1
  496. package/esm/ai/src/workflow/cancellation.mjs +0 -44
  497. package/esm/ai/src/workflow/cancellation.mjs.map +0 -1
  498. package/esm/ai/src/workflow/emitter.mjs +0 -40
  499. package/esm/ai/src/workflow/emitter.mjs.map +0 -1
  500. package/esm/ai/src/workflow/engine.mjs +0 -363
  501. package/esm/ai/src/workflow/engine.mjs.map +0 -1
  502. package/esm/ai/src/workflow/index.mjs +0 -5
  503. package/esm/ai/src/workflow/retry.mjs +0 -32
  504. package/esm/ai/src/workflow/retry.mjs.map +0 -1
  505. package/esm/ai/src/workflow/router.mjs +0 -56
  506. package/esm/ai/src/workflow/router.mjs.map +0 -1
  507. package/esm/ai/src/workflow/run-scoped-emitter.mjs +0 -32
  508. package/esm/ai/src/workflow/run-scoped-emitter.mjs.map +0 -1
  509. package/esm/ai/src/workflow/signature.mjs +0 -34
  510. package/esm/ai/src/workflow/signature.mjs.map +0 -1
  511. package/esm/ai/src/workflow/snapshot.mjs +0 -77
  512. package/esm/ai/src/workflow/snapshot.mjs.map +0 -1
  513. package/esm/ai/src/workflow/state.mjs +0 -37
  514. package/esm/ai/src/workflow/state.mjs.map +0 -1
  515. package/esm/ai/src/workflow/step-runner.mjs +0 -370
  516. package/esm/ai/src/workflow/step-runner.mjs.map +0 -1
  517. package/esm/ai/src/workflow/step.mjs +0 -37
  518. package/esm/ai/src/workflow/step.mjs.map +0 -1
  519. package/esm/ai/src/workflow/workflow.mjs +0 -122
  520. package/esm/ai/src/workflow/workflow.mjs.map +0 -1
  521. package/esm/ai-openai/src/embedder.mjs +0 -4
  522. package/esm/ai-openai/src/image.mjs +0 -5
  523. package/esm/ai-openai/src/index.mjs +0 -7
  524. package/esm/ai-openai/src/model.mjs +0 -5
  525. package/esm/ai-openai/src/sdk.mjs +0 -9
  526. package/esm/ai-openai/src/speech.mjs +0 -5
  527. package/esm/ai-openai/src/transcription.mjs +0 -6
  528. package/esm/ai-openai/src/utils/index.mjs +0 -5
  529. package/esm/ai-openai/src/utils/to-openai-messages.mjs +0 -3
  530. package/esm/ai-openai/src/utils/to-openai-tools.mjs +0 -3
  531. package/esm/ai-openai/src/utils/wrap-openai-error.mjs +0 -4
  532. package/esm/node_modules/langfuse/lib/index.mjs +0 -1827
  533. package/esm/node_modules/langfuse/lib/index.mjs.map +0 -1
  534. package/esm/node_modules/langfuse-core/lib/index.mjs +0 -1770
  535. package/esm/node_modules/langfuse-core/lib/index.mjs.map +0 -1
  536. package/esm/node_modules/mustache/mustache.mjs +0 -587
  537. package/esm/node_modules/mustache/mustache.mjs.map +0 -1
  538. package/esm/node_modules/openai/_vendor/partial-json-parser/parser.mjs +0 -180
  539. package/esm/node_modules/openai/_vendor/partial-json-parser/parser.mjs.map +0 -1
  540. package/esm/node_modules/openai/auth/workload-identity-auth.mjs +0 -80
  541. package/esm/node_modules/openai/auth/workload-identity-auth.mjs.map +0 -1
  542. package/esm/node_modules/openai/azure.mjs +0 -82
  543. package/esm/node_modules/openai/azure.mjs.map +0 -1
  544. package/esm/node_modules/openai/client.mjs +0 -638
  545. package/esm/node_modules/openai/client.mjs.map +0 -1
  546. package/esm/node_modules/openai/core/api-promise.mjs +0 -75
  547. package/esm/node_modules/openai/core/api-promise.mjs.map +0 -1
  548. package/esm/node_modules/openai/core/error.mjs +0 -110
  549. package/esm/node_modules/openai/core/error.mjs.map +0 -1
  550. package/esm/node_modules/openai/core/pagination.mjs +0 -160
  551. package/esm/node_modules/openai/core/pagination.mjs.map +0 -1
  552. package/esm/node_modules/openai/core/resource.mjs +0 -10
  553. package/esm/node_modules/openai/core/resource.mjs.map +0 -1
  554. package/esm/node_modules/openai/core/streaming.mjs +0 -238
  555. package/esm/node_modules/openai/core/streaming.mjs.map +0 -1
  556. package/esm/node_modules/openai/index.mjs +0 -8
  557. package/esm/node_modules/openai/internal/decoders/line.mjs +0 -91
  558. package/esm/node_modules/openai/internal/decoders/line.mjs.map +0 -1
  559. package/esm/node_modules/openai/internal/detect-platform.mjs +0 -123
  560. package/esm/node_modules/openai/internal/detect-platform.mjs.map +0 -1
  561. package/esm/node_modules/openai/internal/errors.mjs +0 -26
  562. package/esm/node_modules/openai/internal/errors.mjs.map +0 -1
  563. package/esm/node_modules/openai/internal/headers.mjs +0 -65
  564. package/esm/node_modules/openai/internal/headers.mjs.map +0 -1
  565. package/esm/node_modules/openai/internal/parse.mjs +0 -41
  566. package/esm/node_modules/openai/internal/parse.mjs.map +0 -1
  567. package/esm/node_modules/openai/internal/qs/formats.mjs +0 -12
  568. package/esm/node_modules/openai/internal/qs/formats.mjs.map +0 -1
  569. package/esm/node_modules/openai/internal/qs/stringify.mjs +0 -179
  570. package/esm/node_modules/openai/internal/qs/stringify.mjs.map +0 -1
  571. package/esm/node_modules/openai/internal/qs/utils.mjs +0 -65
  572. package/esm/node_modules/openai/internal/qs/utils.mjs.map +0 -1
  573. package/esm/node_modules/openai/internal/request-options.mjs +0 -11
  574. package/esm/node_modules/openai/internal/request-options.mjs.map +0 -1
  575. package/esm/node_modules/openai/internal/shims.mjs +0 -77
  576. package/esm/node_modules/openai/internal/shims.mjs.map +0 -1
  577. package/esm/node_modules/openai/internal/to-file.mjs +0 -63
  578. package/esm/node_modules/openai/internal/to-file.mjs.map +0 -1
  579. package/esm/node_modules/openai/internal/tslib.mjs +0 -16
  580. package/esm/node_modules/openai/internal/tslib.mjs.map +0 -1
  581. package/esm/node_modules/openai/internal/uploads.mjs +0 -94
  582. package/esm/node_modules/openai/internal/uploads.mjs.map +0 -1
  583. package/esm/node_modules/openai/internal/utils/base64.mjs +0 -22
  584. package/esm/node_modules/openai/internal/utils/base64.mjs.map +0 -1
  585. package/esm/node_modules/openai/internal/utils/bytes.mjs +0 -26
  586. package/esm/node_modules/openai/internal/utils/bytes.mjs.map +0 -1
  587. package/esm/node_modules/openai/internal/utils/env.mjs +0 -16
  588. package/esm/node_modules/openai/internal/utils/env.mjs.map +0 -1
  589. package/esm/node_modules/openai/internal/utils/log.mjs +0 -58
  590. package/esm/node_modules/openai/internal/utils/log.mjs.map +0 -1
  591. package/esm/node_modules/openai/internal/utils/path.mjs +0 -62
  592. package/esm/node_modules/openai/internal/utils/path.mjs.map +0 -1
  593. package/esm/node_modules/openai/internal/utils/query.mjs +0 -10
  594. package/esm/node_modules/openai/internal/utils/query.mjs.map +0 -1
  595. package/esm/node_modules/openai/internal/utils/sleep.mjs +0 -6
  596. package/esm/node_modules/openai/internal/utils/sleep.mjs.map +0 -1
  597. package/esm/node_modules/openai/internal/utils/uuid.mjs +0 -18
  598. package/esm/node_modules/openai/internal/utils/uuid.mjs.map +0 -1
  599. package/esm/node_modules/openai/internal/utils/values.mjs +0 -41
  600. package/esm/node_modules/openai/internal/utils/values.mjs.map +0 -1
  601. package/esm/node_modules/openai/lib/AbstractChatCompletionRunner.mjs +0 -247
  602. package/esm/node_modules/openai/lib/AbstractChatCompletionRunner.mjs.map +0 -1
  603. package/esm/node_modules/openai/lib/AssistantStream.mjs +0 -472
  604. package/esm/node_modules/openai/lib/AssistantStream.mjs.map +0 -1
  605. package/esm/node_modules/openai/lib/ChatCompletionRunner.mjs +0 -26
  606. package/esm/node_modules/openai/lib/ChatCompletionRunner.mjs.map +0 -1
  607. package/esm/node_modules/openai/lib/ChatCompletionStream.mjs +0 -423
  608. package/esm/node_modules/openai/lib/ChatCompletionStream.mjs.map +0 -1
  609. package/esm/node_modules/openai/lib/ChatCompletionStreamingRunner.mjs +0 -26
  610. package/esm/node_modules/openai/lib/ChatCompletionStreamingRunner.mjs.map +0 -1
  611. package/esm/node_modules/openai/lib/EventStream.mjs +0 -163
  612. package/esm/node_modules/openai/lib/EventStream.mjs.map +0 -1
  613. package/esm/node_modules/openai/lib/ResponsesParser.mjs +0 -94
  614. package/esm/node_modules/openai/lib/ResponsesParser.mjs.map +0 -1
  615. package/esm/node_modules/openai/lib/RunnableFunction.mjs +0 -8
  616. package/esm/node_modules/openai/lib/RunnableFunction.mjs.map +0 -1
  617. package/esm/node_modules/openai/lib/Util.mjs +0 -19
  618. package/esm/node_modules/openai/lib/Util.mjs.map +0 -1
  619. package/esm/node_modules/openai/lib/chatCompletionUtils.mjs +0 -11
  620. package/esm/node_modules/openai/lib/chatCompletionUtils.mjs.map +0 -1
  621. package/esm/node_modules/openai/lib/parser.mjs +0 -88
  622. package/esm/node_modules/openai/lib/parser.mjs.map +0 -1
  623. package/esm/node_modules/openai/lib/responses/ResponseStream.mjs +0 -231
  624. package/esm/node_modules/openai/lib/responses/ResponseStream.mjs.map +0 -1
  625. package/esm/node_modules/openai/resources/admin/admin.mjs +0 -15
  626. package/esm/node_modules/openai/resources/admin/admin.mjs.map +0 -1
  627. package/esm/node_modules/openai/resources/admin/organization/admin-api-keys.mjs +0 -81
  628. package/esm/node_modules/openai/resources/admin/organization/admin-api-keys.mjs.map +0 -1
  629. package/esm/node_modules/openai/resources/admin/organization/audit-logs.mjs +0 -31
  630. package/esm/node_modules/openai/resources/admin/organization/audit-logs.mjs.map +0 -1
  631. package/esm/node_modules/openai/resources/admin/organization/certificates.mjs +0 -153
  632. package/esm/node_modules/openai/resources/admin/organization/certificates.mjs.map +0 -1
  633. package/esm/node_modules/openai/resources/admin/organization/data-retention.mjs +0 -42
  634. package/esm/node_modules/openai/resources/admin/organization/data-retention.mjs.map +0 -1
  635. package/esm/node_modules/openai/resources/admin/organization/groups/groups.mjs +0 -106
  636. package/esm/node_modules/openai/resources/admin/organization/groups/groups.mjs.map +0 -1
  637. package/esm/node_modules/openai/resources/admin/organization/groups/roles.mjs +0 -88
  638. package/esm/node_modules/openai/resources/admin/organization/groups/roles.mjs.map +0 -1
  639. package/esm/node_modules/openai/resources/admin/organization/groups/users.mjs +0 -88
  640. package/esm/node_modules/openai/resources/admin/organization/groups/users.mjs.map +0 -1
  641. package/esm/node_modules/openai/resources/admin/organization/invites.mjs +0 -83
  642. package/esm/node_modules/openai/resources/admin/organization/invites.mjs.map +0 -1
  643. package/esm/node_modules/openai/resources/admin/organization/organization.mjs +0 -45
  644. package/esm/node_modules/openai/resources/admin/organization/organization.mjs.map +0 -1
  645. package/esm/node_modules/openai/resources/admin/organization/projects/api-keys.mjs +0 -72
  646. package/esm/node_modules/openai/resources/admin/organization/projects/api-keys.mjs.map +0 -1
  647. package/esm/node_modules/openai/resources/admin/organization/projects/certificates.mjs +0 -78
  648. package/esm/node_modules/openai/resources/admin/organization/projects/certificates.mjs.map +0 -1
  649. package/esm/node_modules/openai/resources/admin/organization/projects/data-retention.mjs +0 -46
  650. package/esm/node_modules/openai/resources/admin/organization/projects/data-retention.mjs.map +0 -1
  651. package/esm/node_modules/openai/resources/admin/organization/projects/groups/groups.mjs +0 -95
  652. package/esm/node_modules/openai/resources/admin/organization/projects/groups/groups.mjs.map +0 -1
  653. package/esm/node_modules/openai/resources/admin/organization/projects/groups/roles.mjs +0 -91
  654. package/esm/node_modules/openai/resources/admin/organization/projects/groups/roles.mjs.map +0 -1
  655. package/esm/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.mjs +0 -45
  656. package/esm/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.mjs.map +0 -1
  657. package/esm/node_modules/openai/resources/admin/organization/projects/model-permissions.mjs +0 -63
  658. package/esm/node_modules/openai/resources/admin/organization/projects/model-permissions.mjs.map +0 -1
  659. package/esm/node_modules/openai/resources/admin/organization/projects/projects.mjs +0 -137
  660. package/esm/node_modules/openai/resources/admin/organization/projects/projects.mjs.map +0 -1
  661. package/esm/node_modules/openai/resources/admin/organization/projects/rate-limits.mjs +0 -51
  662. package/esm/node_modules/openai/resources/admin/organization/projects/rate-limits.mjs.map +0 -1
  663. package/esm/node_modules/openai/resources/admin/organization/projects/roles.mjs +0 -108
  664. package/esm/node_modules/openai/resources/admin/organization/projects/roles.mjs.map +0 -1
  665. package/esm/node_modules/openai/resources/admin/organization/projects/service-accounts.mjs +0 -112
  666. package/esm/node_modules/openai/resources/admin/organization/projects/service-accounts.mjs.map +0 -1
  667. package/esm/node_modules/openai/resources/admin/organization/projects/spend-alerts.mjs +0 -106
  668. package/esm/node_modules/openai/resources/admin/organization/projects/spend-alerts.mjs.map +0 -1
  669. package/esm/node_modules/openai/resources/admin/organization/projects/users/roles.mjs +0 -91
  670. package/esm/node_modules/openai/resources/admin/organization/projects/users/roles.mjs.map +0 -1
  671. package/esm/node_modules/openai/resources/admin/organization/projects/users/users.mjs +0 -118
  672. package/esm/node_modules/openai/resources/admin/organization/projects/users/users.mjs.map +0 -1
  673. package/esm/node_modules/openai/resources/admin/organization/roles.mjs +0 -96
  674. package/esm/node_modules/openai/resources/admin/organization/roles.mjs.map +0 -1
  675. package/esm/node_modules/openai/resources/admin/organization/spend-alerts.mjs +0 -97
  676. package/esm/node_modules/openai/resources/admin/organization/spend-alerts.mjs.map +0 -1
  677. package/esm/node_modules/openai/resources/admin/organization/usage.mjs +0 -207
  678. package/esm/node_modules/openai/resources/admin/organization/usage.mjs.map +0 -1
  679. package/esm/node_modules/openai/resources/admin/organization/users/roles.mjs +0 -88
  680. package/esm/node_modules/openai/resources/admin/organization/users/roles.mjs.map +0 -1
  681. package/esm/node_modules/openai/resources/admin/organization/users/users.mjs +0 -82
  682. package/esm/node_modules/openai/resources/admin/organization/users/users.mjs.map +0 -1
  683. package/esm/node_modules/openai/resources/audio/audio.mjs +0 -21
  684. package/esm/node_modules/openai/resources/audio/audio.mjs.map +0 -1
  685. package/esm/node_modules/openai/resources/audio/speech.mjs +0 -39
  686. package/esm/node_modules/openai/resources/audio/speech.mjs.map +0 -1
  687. package/esm/node_modules/openai/resources/audio/transcriptions.mjs +0 -22
  688. package/esm/node_modules/openai/resources/audio/transcriptions.mjs.map +0 -1
  689. package/esm/node_modules/openai/resources/audio/translations.mjs +0 -21
  690. package/esm/node_modules/openai/resources/audio/translations.mjs.map +0 -1
  691. package/esm/node_modules/openai/resources/batches.mjs +0 -54
  692. package/esm/node_modules/openai/resources/batches.mjs.map +0 -1
  693. package/esm/node_modules/openai/resources/beta/assistants.mjs +0 -78
  694. package/esm/node_modules/openai/resources/beta/assistants.mjs.map +0 -1
  695. package/esm/node_modules/openai/resources/beta/beta.mjs +0 -24
  696. package/esm/node_modules/openai/resources/beta/beta.mjs.map +0 -1
  697. package/esm/node_modules/openai/resources/beta/chatkit/chatkit.mjs +0 -18
  698. package/esm/node_modules/openai/resources/beta/chatkit/chatkit.mjs.map +0 -1
  699. package/esm/node_modules/openai/resources/beta/chatkit/sessions.mjs +0 -49
  700. package/esm/node_modules/openai/resources/beta/chatkit/sessions.mjs.map +0 -1
  701. package/esm/node_modules/openai/resources/beta/chatkit/threads.mjs +0 -85
  702. package/esm/node_modules/openai/resources/beta/chatkit/threads.mjs.map +0 -1
  703. package/esm/node_modules/openai/resources/beta/realtime/realtime.mjs +0 -21
  704. package/esm/node_modules/openai/resources/beta/realtime/realtime.mjs.map +0 -1
  705. package/esm/node_modules/openai/resources/beta/realtime/sessions.mjs +0 -33
  706. package/esm/node_modules/openai/resources/beta/realtime/sessions.mjs.map +0 -1
  707. package/esm/node_modules/openai/resources/beta/realtime/transcription-sessions.mjs +0 -33
  708. package/esm/node_modules/openai/resources/beta/realtime/transcription-sessions.mjs.map +0 -1
  709. package/esm/node_modules/openai/resources/beta/threads/messages.mjs +0 -83
  710. package/esm/node_modules/openai/resources/beta/threads/messages.mjs.map +0 -1
  711. package/esm/node_modules/openai/resources/beta/threads/runs/runs.mjs +0 -183
  712. package/esm/node_modules/openai/resources/beta/threads/runs/runs.mjs.map +0 -1
  713. package/esm/node_modules/openai/resources/beta/threads/runs/steps.mjs +0 -45
  714. package/esm/node_modules/openai/resources/beta/threads/runs/steps.mjs.map +0 -1
  715. package/esm/node_modules/openai/resources/beta/threads/threads.mjs +0 -101
  716. package/esm/node_modules/openai/resources/beta/threads/threads.mjs.map +0 -1
  717. package/esm/node_modules/openai/resources/chat/chat.mjs +0 -15
  718. package/esm/node_modules/openai/resources/chat/chat.mjs.map +0 -1
  719. package/esm/node_modules/openai/resources/chat/completions/completions.mjs +0 -123
  720. package/esm/node_modules/openai/resources/chat/completions/completions.mjs.map +0 -1
  721. package/esm/node_modules/openai/resources/chat/completions/index.mjs +0 -7
  722. package/esm/node_modules/openai/resources/chat/completions/messages.mjs +0 -35
  723. package/esm/node_modules/openai/resources/chat/completions/messages.mjs.map +0 -1
  724. package/esm/node_modules/openai/resources/chat/index.mjs +0 -5
  725. package/esm/node_modules/openai/resources/completions.mjs +0 -20
  726. package/esm/node_modules/openai/resources/completions.mjs.map +0 -1
  727. package/esm/node_modules/openai/resources/containers/containers.mjs +0 -57
  728. package/esm/node_modules/openai/resources/containers/containers.mjs.map +0 -1
  729. package/esm/node_modules/openai/resources/containers/files/content.mjs +0 -23
  730. package/esm/node_modules/openai/resources/containers/files/content.mjs.map +0 -1
  731. package/esm/node_modules/openai/resources/containers/files/files.mjs +0 -63
  732. package/esm/node_modules/openai/resources/containers/files/files.mjs.map +0 -1
  733. package/esm/node_modules/openai/resources/conversations/conversations.mjs +0 -57
  734. package/esm/node_modules/openai/resources/conversations/conversations.mjs.map +0 -1
  735. package/esm/node_modules/openai/resources/conversations/items.mjs +0 -57
  736. package/esm/node_modules/openai/resources/conversations/items.mjs.map +0 -1
  737. package/esm/node_modules/openai/resources/embeddings.mjs +0 -48
  738. package/esm/node_modules/openai/resources/embeddings.mjs.map +0 -1
  739. package/esm/node_modules/openai/resources/evals/evals.mjs +0 -73
  740. package/esm/node_modules/openai/resources/evals/evals.mjs.map +0 -1
  741. package/esm/node_modules/openai/resources/evals/runs/output-items.mjs +0 -35
  742. package/esm/node_modules/openai/resources/evals/runs/output-items.mjs.map +0 -1
  743. package/esm/node_modules/openai/resources/evals/runs/runs.mjs +0 -72
  744. package/esm/node_modules/openai/resources/evals/runs/runs.mjs.map +0 -1
  745. package/esm/node_modules/openai/resources/files.mjs +0 -111
  746. package/esm/node_modules/openai/resources/files.mjs.map +0 -1
  747. package/esm/node_modules/openai/resources/fine-tuning/alpha/alpha.mjs +0 -15
  748. package/esm/node_modules/openai/resources/fine-tuning/alpha/alpha.mjs.map +0 -1
  749. package/esm/node_modules/openai/resources/fine-tuning/alpha/graders.mjs +0 -60
  750. package/esm/node_modules/openai/resources/fine-tuning/alpha/graders.mjs.map +0 -1
  751. package/esm/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.mjs +0 -15
  752. package/esm/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.mjs.map +0 -1
  753. package/esm/node_modules/openai/resources/fine-tuning/checkpoints/permissions.mjs +0 -102
  754. package/esm/node_modules/openai/resources/fine-tuning/checkpoints/permissions.mjs.map +0 -1
  755. package/esm/node_modules/openai/resources/fine-tuning/fine-tuning.mjs +0 -24
  756. package/esm/node_modules/openai/resources/fine-tuning/fine-tuning.mjs.map +0 -1
  757. package/esm/node_modules/openai/resources/fine-tuning/jobs/checkpoints.mjs +0 -34
  758. package/esm/node_modules/openai/resources/fine-tuning/jobs/checkpoints.mjs.map +0 -1
  759. package/esm/node_modules/openai/resources/fine-tuning/jobs/jobs.mjs +0 -148
  760. package/esm/node_modules/openai/resources/fine-tuning/jobs/jobs.mjs.map +0 -1
  761. package/esm/node_modules/openai/resources/fine-tuning/methods.mjs +0 -8
  762. package/esm/node_modules/openai/resources/fine-tuning/methods.mjs.map +0 -1
  763. package/esm/node_modules/openai/resources/graders/grader-models.mjs +0 -8
  764. package/esm/node_modules/openai/resources/graders/grader-models.mjs.map +0 -1
  765. package/esm/node_modules/openai/resources/graders/graders.mjs +0 -15
  766. package/esm/node_modules/openai/resources/graders/graders.mjs.map +0 -1
  767. package/esm/node_modules/openai/resources/images.mjs +0 -46
  768. package/esm/node_modules/openai/resources/images.mjs.map +0 -1
  769. package/esm/node_modules/openai/resources/index.mjs +0 -27
  770. package/esm/node_modules/openai/resources/models.mjs +0 -44
  771. package/esm/node_modules/openai/resources/models.mjs.map +0 -1
  772. package/esm/node_modules/openai/resources/moderations.mjs +0 -23
  773. package/esm/node_modules/openai/resources/moderations.mjs.map +0 -1
  774. package/esm/node_modules/openai/resources/realtime/calls.mjs +0 -79
  775. package/esm/node_modules/openai/resources/realtime/calls.mjs.map +0 -1
  776. package/esm/node_modules/openai/resources/realtime/client-secrets.mjs +0 -39
  777. package/esm/node_modules/openai/resources/realtime/client-secrets.mjs.map +0 -1
  778. package/esm/node_modules/openai/resources/realtime/realtime.mjs +0 -18
  779. package/esm/node_modules/openai/resources/realtime/realtime.mjs.map +0 -1
  780. package/esm/node_modules/openai/resources/responses/input-items.mjs +0 -31
  781. package/esm/node_modules/openai/resources/responses/input-items.mjs.map +0 -1
  782. package/esm/node_modules/openai/resources/responses/input-tokens.mjs +0 -27
  783. package/esm/node_modules/openai/resources/responses/input-tokens.mjs.map +0 -1
  784. package/esm/node_modules/openai/resources/responses/responses.mjs +0 -110
  785. package/esm/node_modules/openai/resources/responses/responses.mjs.map +0 -1
  786. package/esm/node_modules/openai/resources/skills/content.mjs +0 -22
  787. package/esm/node_modules/openai/resources/skills/content.mjs.map +0 -1
  788. package/esm/node_modules/openai/resources/skills/skills.mjs +0 -69
  789. package/esm/node_modules/openai/resources/skills/skills.mjs.map +0 -1
  790. package/esm/node_modules/openai/resources/skills/versions/content.mjs +0 -23
  791. package/esm/node_modules/openai/resources/skills/versions/content.mjs.map +0 -1
  792. package/esm/node_modules/openai/resources/skills/versions/versions.mjs +0 -58
  793. package/esm/node_modules/openai/resources/skills/versions/versions.mjs.map +0 -1
  794. package/esm/node_modules/openai/resources/uploads/parts.mjs +0 -34
  795. package/esm/node_modules/openai/resources/uploads/parts.mjs.map +0 -1
  796. package/esm/node_modules/openai/resources/uploads/uploads.mjs +0 -84
  797. package/esm/node_modules/openai/resources/uploads/uploads.mjs.map +0 -1
  798. package/esm/node_modules/openai/resources/vector-stores/file-batches.mjs +0 -126
  799. package/esm/node_modules/openai/resources/vector-stores/file-batches.mjs.map +0 -1
  800. package/esm/node_modules/openai/resources/vector-stores/files.mjs +0 -147
  801. package/esm/node_modules/openai/resources/vector-stores/files.mjs.map +0 -1
  802. package/esm/node_modules/openai/resources/vector-stores/vector-stores.mjs +0 -87
  803. package/esm/node_modules/openai/resources/vector-stores/vector-stores.mjs.map +0 -1
  804. package/esm/node_modules/openai/resources/videos.mjs +0 -115
  805. package/esm/node_modules/openai/resources/videos.mjs.map +0 -1
  806. package/esm/node_modules/openai/resources/webhooks/index.mjs +0 -3
  807. package/esm/node_modules/openai/resources/webhooks/webhooks.mjs +0 -69
  808. package/esm/node_modules/openai/resources/webhooks/webhooks.mjs.map +0 -1
  809. package/esm/node_modules/openai/resources/webhooks.mjs +0 -4
  810. package/esm/node_modules/openai/streaming.mjs +0 -3
  811. package/esm/node_modules/openai/version.mjs +0 -6
  812. package/esm/node_modules/openai/version.mjs.map +0 -1
@@ -1,769 +0,0 @@
1
- import { AIError } from "../errors/ai-error.mjs";
2
- import { PlannerFailedError } from "../errors/planner-failed-error.mjs";
3
- import { PlannerCancelledError } from "../errors/planner-cancelled-error.mjs";
4
- import { PlannerPlanInvalidError } from "../errors/planner-plan-invalid-error.mjs";
5
- import { SchemaValidationError } from "../errors/schema-validation-error.mjs";
6
- import { accumulateCost } from "../utils/compute-cost.mjs";
7
- import { generateRunId } from "../utils/generate-run-id.mjs";
8
- import { captureChildReport, withoutRunFrame } from "../utils/run-context.mjs";
9
- import { stampReportLineage } from "../utils/stamp-report-lineage.mjs";
10
- import { notifyObservers } from "../observe/resolve-observers.mjs";
11
- import { buildDag, readyNodes, sinkNodes } from "./dag-scheduler.mjs";
12
- import { planSchema } from "./plan-schema.mjs";
13
- import { deletePlannerSnapshot, persistPlannerSnapshot } from "./snapshot.mjs";
14
- import { log } from "@warlock.js/logger";
15
-
16
- //#region ../@warlock.js/ai/src/planner/planner-run.ts
17
- /**
18
- * Per-call orchestration state for one `planner.execute()` invocation.
19
- *
20
- * **Role.** Owns the full bounded-v1 planning lifecycle across four
21
- * phases that share mutable accumulators: (1) ask the LLM to GENERATE a
22
- * plan, (2) execute each plan step through its capability's `execute()`,
23
- * (3) optionally validate the final output, (4) assemble the unified
24
- * {@link PlannerResult}. Instantiated fresh per call inside the factory
25
- * so the accumulators (`usage`, `children`, `executedSteps`) are never
26
- * shared across runs. Unexported — callers only ever see the plain
27
- * {@link PlannerResult}.
28
- *
29
- * **Composition, not a fork.** Plan generation runs through a normal
30
- * `agent.execute()`; each step runs through the capability's own
31
- * `executable.execute()`. The planner adds the plan-generation brain and
32
- * the ordered-dispatch loop on top of the existing executable machinery —
33
- * it does not reimplement agent or step internals.
34
- */
35
- var PlannerRun = class {
36
- constructor(args) {
37
- this.args = args;
38
- this.startedAt = (/* @__PURE__ */ new Date()).toISOString();
39
- this.startPerf = performance.now();
40
- this.usage = {
41
- input: 0,
42
- output: 0,
43
- total: 0
44
- };
45
- this.children = [];
46
- this.executedSteps = [];
47
- this.awaitingApproval = false;
48
- this.replanCount = 0;
49
- this.dagResumeConsumed = false;
50
- this.runId = args.resumeFrom?.runId ?? args.options?.runId ?? generateRunId("planner");
51
- if (args.resumeFrom) {
52
- this.plan = args.resumeFrom.plan;
53
- this.executedSteps.push(...args.resumeFrom.executedSteps);
54
- this.children.push(...args.resumeFrom.children);
55
- this.mergeUsage(this.usage, args.resumeFrom.usage);
56
- this.replanCount = args.resumeFrom.replanCount;
57
- this.startedAt = args.resumeFrom.startedAt;
58
- }
59
- }
60
- /**
61
- * Run the planner end-to-end. Never throws on runtime failure —
62
- * generation errors, plan-validity errors, step failures, and
63
- * cancellation all surface on `result.error` with a narrowing
64
- * `report.status`.
65
- */
66
- async run() {
67
- const result = await this.runPlan();
68
- await notifyObservers(this.args.config.observe, result.report);
69
- captureChildReport(result.report);
70
- return result;
71
- }
72
- /**
73
- * Drive the planner lifecycle and return the built result WITHOUT
74
- * routing it — `run()` owns observer routing + auto-nesting so the
75
- * unified tree is emitted exactly once.
76
- */
77
- async runPlan() {
78
- if (this.args.resumeFrom && this.args.resumeFrom.status === "completed") {
79
- this.rebuildResumedTerminal("completed");
80
- return this.buildResult();
81
- }
82
- try {
83
- if (this.isAborted()) {
84
- this.markCancelled();
85
- await this.checkpoint(this.resolveSnapshotStatus());
86
- return this.buildResult();
87
- }
88
- const plan = this.args.resumeFrom ? this.plan : this.args.options?.approvedPlan ?? await this.generatePlan();
89
- if (this.error || !plan) {
90
- await this.checkpoint(this.resolveSnapshotStatus());
91
- return this.buildResult();
92
- }
93
- if (!this.args.resumeFrom) {
94
- this.assertPlanValid(plan);
95
- if (this.error) {
96
- await this.checkpoint(this.resolveSnapshotStatus());
97
- return this.buildResult();
98
- }
99
- }
100
- this.plan = plan;
101
- if (!this.args.resumeFrom && this.args.options?.mode === "plan-only" && !this.args.options?.approvedPlan) {
102
- this.awaitingApproval = true;
103
- return this.buildResult();
104
- }
105
- await this.executePlan(plan);
106
- await this.finalizeOutput();
107
- } catch (caught) {
108
- this.error = this.toAIError(caught);
109
- }
110
- await this.checkpoint(this.resolveSnapshotStatus());
111
- if (!this.error && this.args.config.durable?.deleteOnComplete) {
112
- const outcome = await deletePlannerSnapshot({
113
- durable: this.args.config.durable,
114
- runId: this.runId
115
- });
116
- if (!outcome.ok) this.logDurableFailure("snapshot.delete.failed", outcome.error);
117
- }
118
- return this.buildResult();
119
- }
120
- /**
121
- * Phase 1 — ask the planning agent for a structured plan. The plan
122
- * schema (built from the live capability names) is supplied as the
123
- * agent's per-call `output`, so the model is steered to reference only
124
- * real capabilities. The planning trip's usage + report roll into the
125
- * planner's totals regardless of outcome.
126
- *
127
- * `feedback` is set only on a RE-plan: the regenerated request is
128
- * seeded with the executed-step digest plus the caller's feedback so
129
- * the planner revises the remaining work rather than starting cold.
130
- */
131
- async generatePlan(feedback) {
132
- const schema = planSchema([...this.args.capabilities.keys()], this.args.maxSteps);
133
- const result = await withoutRunFrame(() => this.args.planningAgent.execute(this.buildPlanPrompt(feedback), {
134
- output: schema,
135
- placeholders: this.args.options?.placeholders,
136
- signal: this.args.options?.signal,
137
- sessionId: this.args.options?.sessionId
138
- }));
139
- this.absorb(result.usage, result.report);
140
- if (result.error) {
141
- this.error = result.error instanceof SchemaValidationError ? new PlannerPlanInvalidError(`ai.planner("${this.args.config.name}"): the planner produced no usable plan`, {
142
- cause: result.error,
143
- context: { runId: this.runId }
144
- }) : result.error;
145
- return;
146
- }
147
- const plan = result.data;
148
- if (!plan || !Array.isArray(plan.steps) || plan.steps.length === 0) {
149
- this.error = new PlannerPlanInvalidError(`ai.planner("${this.args.config.name}"): the planner produced no usable plan`, { context: { runId: this.runId } });
150
- return;
151
- }
152
- this.assertPlanValid(plan);
153
- if (this.error) return;
154
- return plan;
155
- }
156
- /**
157
- * Shared plan-validity guard — used both for a freshly generated plan
158
- * and for a caller-supplied `approvedPlan`. Sets `this.error` to a
159
- * typed {@link PlannerPlanInvalidError} when the plan is empty or names
160
- * an unknown capability; a stale `approvedPlan` thus fails the same way
161
- * a hallucinated capability does, never silently mis-dispatching.
162
- */
163
- assertPlanValid(plan) {
164
- if (!Array.isArray(plan.steps) || plan.steps.length === 0) {
165
- this.error = new PlannerPlanInvalidError(`ai.planner("${this.args.config.name}"): the planner produced no usable plan`, { context: { runId: this.runId } });
166
- return;
167
- }
168
- const unknownStep = plan.steps.find((step) => !this.args.capabilities.has(step.capability));
169
- if (unknownStep) this.error = new PlannerPlanInvalidError(`ai.planner("${this.args.config.name}"): plan references unknown capability "${unknownStep.capability}"`, { context: {
170
- runId: this.runId,
171
- capability: unknownStep.capability
172
- } });
173
- }
174
- /**
175
- * Phase 2 — execute the plan. Branches on `config.dag`: the default is
176
- * the strict array-order sequential loop (byte-for-byte today's
177
- * behavior when neither `onStep` nor `replan` is configured); `dag:
178
- * true` schedules independent `dependsOn` branches in parallel.
179
- */
180
- async executePlan(plan) {
181
- if (this.args.config.dag) return this.executeDag(plan);
182
- return this.executeSequential(plan);
183
- }
184
- /**
185
- * Sequential executor — the original strict array-order loop, threading
186
- * each completed step's output into the next step's input context.
187
- * Stops at the first step failure or when the abort signal fires
188
- * between steps; steps beyond `maxSteps` are recorded `skipped`.
189
- *
190
- * **Additive hooks (inert by default).** After each step settles it
191
- * fires the `onStep` directive hook; an `abort` directive stops the run
192
- * like a failure, and a `replan` directive (or, when `config.replan` is
193
- * set, an unhandled failure) regenerates the REMAINING plan instead of
194
- * aborting. With no `onStep` and no `replan`, the behavior is identical
195
- * to before.
196
- */
197
- async executeSequential(plan) {
198
- const previousOutputs = [];
199
- let steps = plan.steps;
200
- let index = 0;
201
- if (this.args.resumeFrom) index = this.rehydrateSequentialState(steps, previousOutputs);
202
- while (index < steps.length) {
203
- const step = steps[index];
204
- if (index >= this.args.maxSteps) {
205
- this.recordSkipped(index, step);
206
- index++;
207
- continue;
208
- }
209
- if (this.isAborted()) {
210
- this.markCancelled();
211
- this.recordSkipped(index, step);
212
- index++;
213
- continue;
214
- }
215
- const completed = await this.executeStep(index, step, previousOutputs);
216
- const snapshot = this.snapshotFor(index);
217
- const directive = snapshot ? await this.resolveDirective(snapshot, plan, completed) : void 0;
218
- if (directive?.type === "replan") {
219
- const remaining = await this.regeneratePlan(directive.feedback);
220
- if (this.error || !remaining) {
221
- this.skipRest(steps, index + 1);
222
- return;
223
- }
224
- steps = remaining.steps;
225
- index = 0;
226
- previousOutputs.length = 0;
227
- previousOutputs.push(...this.executedDigest());
228
- continue;
229
- }
230
- if (directive?.type === "abort") {
231
- this.skipRest(steps, index + 1);
232
- return;
233
- }
234
- index++;
235
- }
236
- }
237
- /**
238
- * DAG executor — schedule independent `dependsOn` branches in parallel.
239
- *
240
- * Builds the DAG (cycle / unknown-id → `PlannerPlanInvalidError`),
241
- * then repeatedly computes the ready set (steps whose deps all
242
- * completed), dispatches up to `maxConcurrency` of them with
243
- * `Promise.all`, and feeds each step ONLY its dependencies' outputs. A
244
- * failed step blocks just its descendants (recorded `skipped`);
245
- * independent branches still settle. With an `output` schema set, the
246
- * final `data` is the topological SINK's output (multiple sinks → a
247
- * convergence error).
248
- */
249
- async executeDag(plan) {
250
- const dag = buildDag(plan.steps, this.args.config.name);
251
- const maxConcurrency = Math.max(1, this.args.config.maxConcurrency ?? 4);
252
- const completed = /* @__PURE__ */ new Set();
253
- const done = /* @__PURE__ */ new Set();
254
- const outputs = /* @__PURE__ */ new Map();
255
- const rawOutputs = /* @__PURE__ */ new Map();
256
- let executedCount = 0;
257
- if (this.args.resumeFrom && !this.dagResumeConsumed) {
258
- this.dagResumeConsumed = true;
259
- executedCount = this.rehydrateDagState(dag, completed, done, outputs, rawOutputs);
260
- }
261
- while (done.size < dag.nodes.length) {
262
- if (this.isAborted()) {
263
- this.markCancelled();
264
- this.skipDagRest(dag, done);
265
- return;
266
- }
267
- const ready = readyNodes(dag, completed, done);
268
- if (ready.length === 0) {
269
- this.skipDagRest(dag, done);
270
- return;
271
- }
272
- const batch = ready.slice(0, maxConcurrency);
273
- const settled = await Promise.all(batch.map(async (node) => {
274
- if (executedCount >= this.args.maxSteps) {
275
- this.recordSkipped(node.index, node.step);
276
- return {
277
- node,
278
- ran: false,
279
- completed: false
280
- };
281
- }
282
- executedCount++;
283
- const previousOutputs = node.dependencies.map((dependency) => outputs.get(dependency));
284
- const stepCompleted = await this.executeStep(node.index, node.step, previousOutputs);
285
- if (stepCompleted) {
286
- const rawOutput = this.snapshotFor(node.index)?.output;
287
- rawOutputs.set(node.id, rawOutput);
288
- outputs.set(node.id, this.stringifyOutput(node.step.capability, rawOutput));
289
- }
290
- return {
291
- node,
292
- ran: true,
293
- completed: stepCompleted
294
- };
295
- }));
296
- for (const entry of settled) {
297
- done.add(entry.node.id);
298
- if (entry.completed) completed.add(entry.node.id);
299
- }
300
- let replanFeedback;
301
- let shouldAbort = false;
302
- for (const entry of settled) {
303
- if (!entry.ran) continue;
304
- const snapshot = this.snapshotFor(entry.node.index);
305
- const directive = snapshot ? await this.resolveDirective(snapshot, plan, entry.completed) : void 0;
306
- if (directive?.type === "replan") replanFeedback = directive.feedback;
307
- else if (directive?.type === "abort") shouldAbort = true;
308
- }
309
- if (shouldAbort) {
310
- this.skipDagRest(dag, done);
311
- return;
312
- }
313
- if (replanFeedback !== void 0) {
314
- const remaining = await this.regeneratePlan(replanFeedback);
315
- if (this.error || !remaining) {
316
- this.skipDagRest(dag, done);
317
- return;
318
- }
319
- return this.executeDag(remaining);
320
- }
321
- }
322
- this.finalizeDagOutput(dag, completed, rawOutputs);
323
- }
324
- /**
325
- * Dispatch one plan step through its capability's `executable.execute()`
326
- * and fold the outcome into the accumulators. Returns `true` when the
327
- * step completed, `false` when it failed (setting the run error).
328
- */
329
- async executeStep(index, step, previousOutputs) {
330
- const capability = this.args.capabilities.get(step.capability);
331
- const stepStart = performance.now();
332
- const startedAt = (/* @__PURE__ */ new Date()).toISOString();
333
- const input = this.composeStepInput(step, previousOutputs);
334
- const result = await withoutRunFrame(() => capability.executable.execute(input, {
335
- signal: this.args.options?.signal,
336
- sessionId: this.args.options?.sessionId
337
- }));
338
- const childReport = "report" in result ? result.report : void 0;
339
- this.absorb(result.usage, childReport);
340
- const output = this.extractOutput(result);
341
- const failed = result.error !== void 0;
342
- this.executedSteps.push({
343
- index,
344
- step,
345
- status: failed ? "failed" : "completed",
346
- output: failed ? void 0 : output,
347
- error: result.error,
348
- startedAt,
349
- endedAt: (/* @__PURE__ */ new Date()).toISOString(),
350
- duration: performance.now() - stepStart,
351
- usage: result.usage,
352
- childReport
353
- });
354
- await this.checkpoint("running");
355
- if (failed) {
356
- this.error = result.error;
357
- return false;
358
- }
359
- previousOutputs.push(this.stringifyOutput(step.capability, output));
360
- this.data = output;
361
- return true;
362
- }
363
- /**
364
- * Resolve the steering directive for a just-settled step, shared by the
365
- * sequential and DAG executors. Fires the user's `onStep` hook, then
366
- * normalizes the result against the `replan` budget:
367
- *
368
- * - explicit `replan` directive — honored only when `config.replan` is
369
- * set and the budget remains; otherwise downgraded to `continue`.
370
- * - explicit `abort` — honored.
371
- * - failed step with no overriding directive — auto-`replan` when
372
- * `config.replan` is set and the budget remains (feedback = the step
373
- * error message), else `abort` (today's abort-on-first-failure).
374
- *
375
- * Returns `undefined` when the run should simply continue. A returned
376
- * `replan` directive has ALREADY consumed one unit of the replan budget.
377
- */
378
- async resolveDirective(snapshot, plan, completed) {
379
- const hook = this.args.options?.onStep;
380
- const userDirective = hook ? await hook(snapshot, plan) : void 0;
381
- if (userDirective?.type === "replan") {
382
- if (this.canReplan()) {
383
- this.replanCount++;
384
- return userDirective;
385
- }
386
- } else if (userDirective?.type === "abort") return { type: "abort" };
387
- else if (userDirective?.type === "continue") return;
388
- if (!completed) {
389
- if (this.canReplan()) {
390
- this.replanCount++;
391
- return {
392
- type: "replan",
393
- feedback: snapshot.error?.message ?? "step failed"
394
- };
395
- }
396
- return { type: "abort" };
397
- }
398
- }
399
- /** Whether a re-plan is configured and the budget has room. */
400
- canReplan() {
401
- const replan = this.args.config.replan;
402
- return replan !== void 0 && this.replanCount < replan.maxReplans;
403
- }
404
- /**
405
- * Re-ask the planning agent for a plan over the REMAINING work — a
406
- * second `generatePlan()` seeded with the executed-step digest plus the
407
- * caller's feedback. Reuses the exact `generatePlan` plumbing (same
408
- * schema, same `PlannerPlanInvalidError` handling), so a regenerated
409
- * plan that is empty or names an unknown capability fails identically.
410
- * The failed step's error is cleared so the regenerated plan runs
411
- * cleanly; a fresh failure (or exhausted budget) re-sets it.
412
- */
413
- async regeneratePlan(feedback) {
414
- this.error = void 0;
415
- return this.generatePlan(feedback);
416
- }
417
- /**
418
- * The executed-so-far digest — one context line per completed step, in
419
- * execution order. Seeds the regenerated plan's first step so it builds
420
- * on what already ran.
421
- */
422
- executedDigest() {
423
- return this.executedSteps.filter((snapshot) => snapshot.status === "completed").map((snapshot) => this.stringifyOutput(snapshot.step.capability, snapshot.output));
424
- }
425
- /** The last-pushed snapshot for a given step index, if any. */
426
- snapshotFor(index) {
427
- for (let position = this.executedSteps.length - 1; position >= 0; position--) {
428
- const snapshot = this.executedSteps[position];
429
- if (snapshot.index === index) return snapshot;
430
- }
431
- }
432
- /** Record every step from `from` onward (in a flat array plan) as skipped. */
433
- skipRest(steps, from) {
434
- for (let rest = from; rest < steps.length; rest++) this.recordSkipped(rest, steps[rest]);
435
- }
436
- /** Record every not-yet-`done` DAG node as skipped, in plan order. */
437
- skipDagRest(dag, done) {
438
- for (const node of dag.nodes) if (!done.has(node.id)) this.recordSkipped(node.index, node.step);
439
- }
440
- /**
441
- * Set `this.data` from the DAG's topological sink for a configured
442
- * `output` schema. "Last completed step" is meaningless under
443
- * parallelism, so the sink (the step nothing depends on) is the
444
- * unambiguous final output. Multiple sinks while an `output` schema is
445
- * set is a convergence error — a typed `PlannerPlanInvalidError`.
446
- */
447
- finalizeDagOutput(dag, completed, rawOutputs) {
448
- if (!(this.args.options?.output ?? this.args.config.output) || this.error) return;
449
- const sinks = sinkNodes(dag).filter((node) => completed.has(node.id));
450
- if (sinks.length > 1) {
451
- this.error = new PlannerPlanInvalidError(`ai.planner("${this.args.config.name}"): DAG has multiple sinks but an \`output\` schema is set — the plan must converge to a single final step`, { context: {
452
- runId: this.runId,
453
- sinks: sinks.map((node) => node.id)
454
- } });
455
- this.data = void 0;
456
- return;
457
- }
458
- const sink = sinks[0];
459
- this.data = sink ? rawOutputs.get(sink.id) : void 0;
460
- }
461
- /**
462
- * Phase 3 — when an `output` schema is configured (factory or per-call
463
- * override), validate the final completed step's output into typed
464
- * `result.data`. A validation failure replaces the run error and flips
465
- * the status to failed.
466
- */
467
- async finalizeOutput() {
468
- const schema = this.args.options?.output ?? this.args.config.output;
469
- if (!schema || this.error) return;
470
- if (this.data === void 0) {
471
- this.error = new PlannerPlanInvalidError(`ai.planner("${this.args.config.name}"): plan completed without producing output for the configured \`output\` schema`, { context: { runId: this.runId } });
472
- return;
473
- }
474
- const validation = await schema["~standard"].validate(this.data);
475
- if (validation.issues) {
476
- this.error = new PlannerPlanInvalidError(`ai.planner("${this.args.config.name}"): final output failed validation`, { context: {
477
- runId: this.runId,
478
- issues: validation.issues.map((issue) => issue.message)
479
- } });
480
- this.data = void 0;
481
- return;
482
- }
483
- this.data = validation.value;
484
- }
485
- /**
486
- * Phase 4 — fold the accumulators into the planner's own
487
- * {@link PlannerReport} node and the final {@link PlannerResult}, then
488
- * stamp lineage across the whole subtree so every child shares this
489
- * run's root id.
490
- */
491
- buildResult() {
492
- const status = this.resolveStatus();
493
- const report = {
494
- runId: this.runId,
495
- rootRunId: this.runId,
496
- name: this.args.config.name,
497
- version: this.args.config.version,
498
- type: "planner",
499
- status,
500
- ...this.error ? { error: this.error } : {},
501
- startedAt: this.startedAt,
502
- endedAt: (/* @__PURE__ */ new Date()).toISOString(),
503
- duration: performance.now() - this.startPerf,
504
- usage: this.usage,
505
- children: this.children,
506
- signature: this.args.signature,
507
- plan: this.plan,
508
- executedSteps: this.executedSteps,
509
- cancelledAt: this.cancelledAt,
510
- reportSchemaVersion: 1
511
- };
512
- stampReportLineage(report, {
513
- rootRunId: this.runId,
514
- sessionId: this.args.options?.sessionId
515
- });
516
- const result = {
517
- type: "planner",
518
- data: this.error ? void 0 : this.data,
519
- error: this.error,
520
- usage: this.usage,
521
- report
522
- };
523
- if (this.awaitingApproval) result.plan = this.plan;
524
- return result;
525
- }
526
- /**
527
- * Resolve the terminal status from the accumulated outcome.
528
- * `awaiting-approval` (plan-only short-circuit) wins over everything —
529
- * nothing executed, so neither cancellation nor error applies.
530
- * Otherwise cancelled wins over failed (an abort that also produced a
531
- * step error still reads as cancelled); failed wins over completed.
532
- */
533
- resolveStatus() {
534
- if (this.awaitingApproval) return "awaiting-approval";
535
- if (this.cancelledAt !== void 0) return "cancelled";
536
- if (this.error) return "failed";
537
- return "completed";
538
- }
539
- /**
540
- * Build the prompt handed to the planning agent. On the first pass this
541
- * is just the user's goal (byte-for-byte unchanged). On a RE-plan it
542
- * prepends the executed-step digest and the steering feedback so the
543
- * planner revises the remaining work.
544
- */
545
- buildPlanPrompt(feedback) {
546
- if (feedback === void 0) return this.args.goal;
547
- const digest = this.executedDigest();
548
- const sections = [`Goal: ${this.args.goal}`, ""];
549
- if (digest.length > 0) sections.push("Steps already completed:", ...digest, "");
550
- sections.push(`Feedback requiring a revised plan: ${feedback}`, "", "Produce a plan for the REMAINING work only.");
551
- return sections.join("\n");
552
- }
553
- /**
554
- * Compose a step's effective input: the step's own `input`, prefixed
555
- * with a compact digest of every prior step's output so a downstream
556
- * capability can build on what ran before it. No prior output → the
557
- * step's raw input.
558
- */
559
- composeStepInput(step, previousOutputs) {
560
- if (previousOutputs.length === 0) return step.input;
561
- return [
562
- "Context from earlier steps:",
563
- ...previousOutputs,
564
- "",
565
- `Task: ${step.input}`
566
- ].join("\n");
567
- }
568
- /**
569
- * Pull the usable output off a capability's result. Prefers structured
570
- * `data` (agents/workflows with an `output` schema, tools), and falls
571
- * back to an agent's raw `text` when no structured data was produced —
572
- * the common case for a plain text-producing capability agent.
573
- */
574
- extractOutput(result) {
575
- const shaped = result;
576
- if (shaped.data !== void 0) return shaped.data;
577
- if (typeof shaped.text === "string") return shaped.text;
578
- }
579
- /** Serialize a capability output into a single context line for the next step. */
580
- stringifyOutput(capability, output) {
581
- if (output === void 0) return `- ${capability}: (no output)`;
582
- if (typeof output === "string") return `- ${capability}: ${output}`;
583
- return `- ${capability}: ${JSON.stringify(output)}`;
584
- }
585
- /** Push a `skipped` snapshot for a step the planner never dispatched. */
586
- recordSkipped(index, step) {
587
- const now = (/* @__PURE__ */ new Date()).toISOString();
588
- this.executedSteps.push({
589
- index,
590
- step,
591
- status: "skipped",
592
- startedAt: now,
593
- endedAt: now,
594
- duration: 0,
595
- usage: {
596
- input: 0,
597
- output: 0,
598
- total: 0
599
- }
600
- });
601
- }
602
- /** Fold a child's usage + report node into the planner's accumulators. */
603
- absorb(usage, report) {
604
- this.mergeUsage(this.usage, usage);
605
- if (report) this.children.push(report);
606
- }
607
- /**
608
- * Add a child's usage into the running total. Mirrors the batch
609
- * primitive's rollup: scalar token channels sum directly, optional
610
- * sub-channels accumulate only when reported, and the cost breakdown
611
- * merges via {@link accumulateCost} so one unpriced child can't erase
612
- * priced siblings.
613
- */
614
- mergeUsage(target, child) {
615
- target.input += child.input;
616
- target.output += child.output;
617
- target.total += child.total;
618
- if (child.cachedTokens !== void 0) target.cachedTokens = (target.cachedTokens ?? 0) + child.cachedTokens;
619
- if (child.reasoningTokens !== void 0) target.reasoningTokens = (target.reasoningTokens ?? 0) + child.reasoningTokens;
620
- if (child.cacheWriteTokens !== void 0) target.cacheWriteTokens = (target.cacheWriteTokens ?? 0) + child.cacheWriteTokens;
621
- const mergedCost = accumulateCost(target.cost, child.cost);
622
- if (mergedCost !== void 0) target.cost = mergedCost;
623
- }
624
- /**
625
- * Re-derive the sequential cursor + prior-output context from the
626
- * persisted ledger on resume. Threads every already-`completed` node's
627
- * output into `previousOutputs`, returns the first index NOT completed
628
- * as the resume cursor, and prunes stale non-completed ledger entries
629
- * (the failed node + any skipped tail) at-or-after that cursor so the
630
- * re-run repopulates them without duplicating.
631
- */
632
- rehydrateSequentialState(steps, previousOutputs) {
633
- let cursor = 0;
634
- for (let index = 0; index < steps.length; index++) {
635
- const snapshot = this.snapshotFor(index);
636
- if (snapshot?.status === "completed") {
637
- const step = steps[index];
638
- previousOutputs.push(this.stringifyOutput(step.capability, snapshot.output));
639
- cursor = index + 1;
640
- continue;
641
- }
642
- break;
643
- }
644
- this.pruneLedgerFrom(cursor);
645
- return cursor;
646
- }
647
- /**
648
- * Re-derive the DAG scheduler's working sets from the persisted ledger
649
- * on resume. Completed nodes go into `completed` + `done` with their
650
- * string + raw outputs restored (so dependents read the right context);
651
- * stale non-completed entries are pruned so the re-run repopulates them.
652
- * Returns the count of nodes already dispatched (for the `maxSteps`
653
- * truncation budget).
654
- */
655
- rehydrateDagState(dag, completed, done, outputs, rawOutputs) {
656
- const completedIndices = /* @__PURE__ */ new Set();
657
- for (const node of dag.nodes) {
658
- const snapshot = this.snapshotFor(node.index);
659
- if (snapshot?.status !== "completed") continue;
660
- completed.add(node.id);
661
- done.add(node.id);
662
- completedIndices.add(node.index);
663
- rawOutputs.set(node.id, snapshot.output);
664
- outputs.set(node.id, this.stringifyOutput(node.step.capability, snapshot.output));
665
- }
666
- const retained = this.executedSteps.filter((snapshot) => completedIndices.has(snapshot.index));
667
- this.executedSteps.length = 0;
668
- this.executedSteps.push(...retained);
669
- return completedIndices.size;
670
- }
671
- /**
672
- * Drop every ledger entry whose index is at or after `from`. Used by
673
- * the sequential resume re-seed to clear the crashed run's failed /
674
- * skipped frontier before the re-run repopulates it.
675
- */
676
- pruneLedgerFrom(from) {
677
- const retained = this.executedSteps.filter((snapshot) => snapshot.index < from);
678
- this.executedSteps.length = 0;
679
- this.executedSteps.push(...retained);
680
- }
681
- /**
682
- * Map the run's terminal outcome to the persisted snapshot status.
683
- * `awaiting-approval` (plan-only) never persists a durable snapshot
684
- * (resume is always an execution), so it folds to `running` here —
685
- * but the durable + plan-only combination is disallowed at the call
686
- * site, so this path is effectively unreachable.
687
- */
688
- resolveSnapshotStatus() {
689
- if (this.cancelledAt !== void 0) return "cancelled";
690
- if (this.error) return "failed";
691
- if (this.awaitingApproval) return "running";
692
- return "completed";
693
- }
694
- /**
695
- * Build and persist a {@link PlannerSnapshot} from the current
696
- * accumulators. The per-node and terminal checkpoints both route
697
- * through here. No-op when `durable` is absent. A failed persist is
698
- * logged and swallowed (never aborts the run), matching the supervisor
699
- * / workflow checkpoint policy.
700
- */
701
- async checkpoint(status) {
702
- if (!this.args.config.durable || !this.plan) return;
703
- const outcome = await persistPlannerSnapshot({
704
- durable: this.args.config.durable,
705
- runId: this.runId,
706
- plannerName: this.args.config.name,
707
- signature: this.args.signature,
708
- version: this.args.config.version,
709
- goal: this.args.goal,
710
- plan: this.plan,
711
- executedSteps: this.executedSteps,
712
- usage: this.usage,
713
- children: this.children,
714
- replanCount: this.replanCount,
715
- status,
716
- startedAt: this.startedAt
717
- });
718
- if (!outcome.ok) this.logDurableFailure("snapshot.persist.failed", outcome.error);
719
- }
720
- /**
721
- * Re-derive the terminal state when a resume short-circuits a snapshot
722
- * whose run already COMPLETED. The persisted ledger is the
723
- * authoritative outcome — `this.data` is restored from the last
724
- * completed node so the rebuilt result carries the final output.
725
- *
726
- * Only reached for a `completed` snapshot — `failed` / `cancelled`
727
- * snapshots re-enter execution to retry the unfinished frontier instead.
728
- */
729
- rebuildResumedTerminal(_status) {
730
- const lastCompleted = [...this.executedSteps].reverse().find((snapshot) => snapshot.status === "completed");
731
- if (lastCompleted) this.data = lastCompleted.output;
732
- }
733
- /** Structured-log a durable persist/delete failure. */
734
- logDurableFailure(action, error) {
735
- log.warn("ai.planner", action, "durable snapshot operation failed", {
736
- runId: this.runId,
737
- planner: this.args.config.name,
738
- error: error instanceof Error ? error.message : String(error)
739
- });
740
- }
741
- /** Whether the caller's abort signal has fired. */
742
- isAborted() {
743
- return this.args.options?.signal?.aborted === true;
744
- }
745
- /** Record a cancellation observation, setting the run error once. */
746
- markCancelled() {
747
- if (this.cancelledAt !== void 0) return;
748
- this.cancelledAt = (/* @__PURE__ */ new Date()).toISOString();
749
- const reason = this.args.options?.signal?.reason;
750
- this.error = new PlannerCancelledError(`ai.planner("${this.args.config.name}"): run cancelled`, {
751
- cancelledAt: this.cancelledAt,
752
- reason: typeof reason === "string" ? reason : void 0,
753
- context: { runId: this.runId }
754
- });
755
- }
756
- /** Normalize any thrown value into a typed {@link AIError}. */
757
- toAIError(caught) {
758
- if (caught instanceof AIError) return caught;
759
- const message = caught instanceof Error ? caught.message : String(caught);
760
- return new PlannerFailedError(`ai.planner("${this.args.config.name}"): ${message}`, {
761
- cause: caught,
762
- context: { runId: this.runId }
763
- });
764
- }
765
- };
766
-
767
- //#endregion
768
- export { PlannerRun };
769
- //# sourceMappingURL=planner-run.mjs.map