@warlock.js/ai 4.4.0 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (648) hide show
  1. package/CHANGELOG.md +63 -52
  2. package/cjs/index.cjs +240 -14147
  3. package/cjs/src-Bmajk4Qg.cjs +30 -0
  4. package/cjs/src-OZyDYHxm.cjs +25089 -0
  5. package/cjs/src-OZyDYHxm.cjs.map +1 -0
  6. package/esm/agent/agent-config.type.d.mts +119 -1
  7. package/esm/agent/agent-config.type.d.mts.map +1 -1
  8. package/esm/agent/agent-input-builder.mjs +27 -6
  9. package/esm/agent/agent-input-builder.mjs.map +1 -1
  10. package/esm/agent/agent.d.mts +40 -1
  11. package/esm/agent/agent.d.mts.map +1 -1
  12. package/esm/agent/agent.mjs +328 -36
  13. package/esm/agent/agent.mjs.map +1 -1
  14. package/esm/agent/index.d.mts +2 -1
  15. package/esm/agent/index.mjs +1 -0
  16. package/esm/agent/judge-config.type.d.mts +33 -0
  17. package/esm/agent/judge-config.type.d.mts.map +1 -0
  18. package/esm/agent/judge-config.type.mjs +13 -0
  19. package/esm/agent/judge-config.type.mjs.map +1 -0
  20. package/esm/agent/signature.mjs +57 -0
  21. package/esm/agent/signature.mjs.map +1 -0
  22. package/esm/agent/snapshot.mjs +101 -0
  23. package/esm/agent/snapshot.mjs.map +1 -0
  24. package/esm/ai-openai/src/embedder.mjs +4 -0
  25. package/esm/ai-openai/src/image.mjs +5 -0
  26. package/esm/ai-openai/src/index.mjs +7 -0
  27. package/esm/ai-openai/src/model.mjs +5 -0
  28. package/esm/ai-openai/src/sdk.mjs +9 -0
  29. package/esm/ai-openai/src/speech.mjs +5 -0
  30. package/esm/ai-openai/src/transcription.mjs +6 -0
  31. package/esm/ai-openai/src/utils/index.mjs +5 -0
  32. package/esm/ai-openai/src/utils/to-openai-messages.mjs +3 -0
  33. package/esm/ai-openai/src/utils/to-openai-tools.mjs +3 -0
  34. package/esm/ai-openai/src/utils/wrap-openai-error.mjs +4 -0
  35. package/esm/ai.d.mts +164 -53
  36. package/esm/ai.d.mts.map +1 -1
  37. package/esm/ai.mjs +79 -8
  38. package/esm/ai.mjs.map +1 -1
  39. package/esm/batch/batch.d.mts.map +1 -1
  40. package/esm/batch/batch.mjs +21 -1
  41. package/esm/batch/batch.mjs.map +1 -1
  42. package/esm/batch/batch.type.d.mts +11 -4
  43. package/esm/batch/batch.type.d.mts.map +1 -1
  44. package/esm/config.d.mts +39 -3
  45. package/esm/config.d.mts.map +1 -1
  46. package/esm/config.mjs +26 -2
  47. package/esm/config.mjs.map +1 -1
  48. package/esm/contracts/agent/agent-options.type.d.mts +33 -5
  49. package/esm/contracts/agent/agent-options.type.d.mts.map +1 -1
  50. package/esm/contracts/agent/agent-snapshot.type.d.mts +90 -0
  51. package/esm/contracts/agent/agent-snapshot.type.d.mts.map +1 -0
  52. package/esm/contracts/agent/agent.contract.d.mts +29 -1
  53. package/esm/contracts/agent/agent.contract.d.mts.map +1 -1
  54. package/esm/contracts/agent/eval.type.d.mts +43 -2
  55. package/esm/contracts/agent/eval.type.d.mts.map +1 -1
  56. package/esm/contracts/agent/index.d.mts +2 -1
  57. package/esm/contracts/attachment-policy.type.d.mts +51 -0
  58. package/esm/contracts/attachment-policy.type.d.mts.map +1 -0
  59. package/esm/contracts/attachment.type.d.mts +16 -7
  60. package/esm/contracts/attachment.type.d.mts.map +1 -1
  61. package/esm/contracts/content-part.type.d.mts +14 -5
  62. package/esm/contracts/content-part.type.d.mts.map +1 -1
  63. package/esm/contracts/events/supervisor-events.type.d.mts.map +1 -1
  64. package/esm/contracts/image-model.contract.d.mts +156 -0
  65. package/esm/contracts/image-model.contract.d.mts.map +1 -0
  66. package/esm/contracts/index.d.mts +13 -6
  67. package/esm/contracts/model.contract.d.mts +11 -8
  68. package/esm/contracts/model.contract.d.mts.map +1 -1
  69. package/esm/contracts/orchestrator/index.d.mts +1 -0
  70. package/esm/contracts/orchestrator/orchestrator-config.type.d.mts +31 -2
  71. package/esm/contracts/orchestrator/orchestrator-config.type.d.mts.map +1 -1
  72. package/esm/contracts/orchestrator/session-lock.contract.d.mts +47 -0
  73. package/esm/contracts/orchestrator/session-lock.contract.d.mts.map +1 -0
  74. package/esm/contracts/planner/index.d.mts +3 -2
  75. package/esm/contracts/planner/planner-config.type.d.mts +61 -0
  76. package/esm/contracts/planner/planner-config.type.d.mts.map +1 -1
  77. package/esm/contracts/planner/planner-execute-options.type.d.mts +60 -1
  78. package/esm/contracts/planner/planner-execute-options.type.d.mts.map +1 -1
  79. package/esm/contracts/planner/planner-result.type.d.mts +8 -0
  80. package/esm/contracts/planner/planner-result.type.d.mts.map +1 -1
  81. package/esm/contracts/planner/planner-snapshot.type.d.mts +77 -0
  82. package/esm/contracts/planner/planner-snapshot.type.d.mts.map +1 -0
  83. package/esm/contracts/planner/planner.contract.d.mts +21 -1
  84. package/esm/contracts/planner/planner.contract.d.mts.map +1 -1
  85. package/esm/contracts/result/agent-result.type.d.mts +6 -4
  86. package/esm/contracts/result/agent-result.type.d.mts.map +1 -1
  87. package/esm/contracts/result/base-report.type.d.mts +21 -3
  88. package/esm/contracts/result/base-report.type.d.mts.map +1 -1
  89. package/esm/contracts/result/base-report.type.mjs.map +1 -1
  90. package/esm/contracts/result/execution-report.type.d.mts +53 -1
  91. package/esm/contracts/result/execution-report.type.d.mts.map +1 -1
  92. package/esm/contracts/result/supervisor-result.type.d.mts +14 -2
  93. package/esm/contracts/result/supervisor-result.type.d.mts.map +1 -1
  94. package/esm/contracts/result/workflow-result.type.d.mts +2 -1
  95. package/esm/contracts/result/workflow-result.type.d.mts.map +1 -1
  96. package/esm/contracts/sdk-adapter.contract.d.mts +37 -0
  97. package/esm/contracts/sdk-adapter.contract.d.mts.map +1 -1
  98. package/esm/contracts/speech-model.contract.d.mts +97 -0
  99. package/esm/contracts/speech-model.contract.d.mts.map +1 -0
  100. package/esm/contracts/supervisor/supervisor-config.type.d.mts +29 -0
  101. package/esm/contracts/supervisor/supervisor-config.type.d.mts.map +1 -1
  102. package/esm/contracts/system-prompt.contract.d.mts +103 -1
  103. package/esm/contracts/system-prompt.contract.d.mts.map +1 -1
  104. package/esm/contracts/team/index.d.mts +1 -0
  105. package/esm/contracts/team/team-config.type.d.mts +127 -0
  106. package/esm/contracts/team/team-config.type.d.mts.map +1 -0
  107. package/esm/contracts/tool.contract.d.mts +4 -2
  108. package/esm/contracts/tool.contract.d.mts.map +1 -1
  109. package/esm/contracts/transcription-model.contract.d.mts +101 -0
  110. package/esm/contracts/transcription-model.contract.d.mts.map +1 -0
  111. package/esm/contracts/workflow/step.contract.d.mts +30 -5
  112. package/esm/contracts/workflow/step.contract.d.mts.map +1 -1
  113. package/esm/contracts/workflow/workflow.contract.d.mts +16 -0
  114. package/esm/contracts/workflow/workflow.contract.d.mts.map +1 -1
  115. package/esm/errors/agent-drift-error.d.mts +32 -0
  116. package/esm/errors/agent-drift-error.d.mts.map +1 -0
  117. package/esm/errors/agent-drift-error.mjs +31 -0
  118. package/esm/errors/agent-drift-error.mjs.map +1 -0
  119. package/esm/errors/error-code.type.d.mts +1 -1
  120. package/esm/errors/index.d.mts +3 -0
  121. package/esm/errors/index.mjs +3 -0
  122. package/esm/errors/outbound-policy-error.d.mts +27 -0
  123. package/esm/errors/outbound-policy-error.d.mts.map +1 -0
  124. package/esm/errors/outbound-policy-error.mjs +32 -0
  125. package/esm/errors/outbound-policy-error.mjs.map +1 -0
  126. package/esm/errors/planner-drift-error.d.mts +34 -0
  127. package/esm/errors/planner-drift-error.d.mts.map +1 -0
  128. package/esm/errors/planner-drift-error.mjs +33 -0
  129. package/esm/errors/planner-drift-error.mjs.map +1 -0
  130. package/esm/eval/dataset.d.mts +28 -0
  131. package/esm/eval/dataset.d.mts.map +1 -0
  132. package/esm/eval/dataset.mjs +112 -0
  133. package/esm/eval/dataset.mjs.map +1 -0
  134. package/esm/eval/dataset.type.d.mts +53 -0
  135. package/esm/eval/dataset.type.d.mts.map +1 -0
  136. package/esm/eval/eval-runner.d.mts.map +1 -1
  137. package/esm/eval/eval-runner.mjs +16 -2
  138. package/esm/eval/eval-runner.mjs.map +1 -1
  139. package/esm/eval/index.d.mts +20 -1
  140. package/esm/eval/index.d.mts.map +1 -1
  141. package/esm/eval/index.mjs +20 -2
  142. package/esm/eval/index.mjs.map +1 -1
  143. package/esm/eval/regression.d.mts +30 -0
  144. package/esm/eval/regression.d.mts.map +1 -0
  145. package/esm/eval/regression.mjs +51 -0
  146. package/esm/eval/regression.mjs.map +1 -0
  147. package/esm/eval/report-json.d.mts +30 -0
  148. package/esm/eval/report-json.d.mts.map +1 -0
  149. package/esm/eval/report-json.mjs +33 -0
  150. package/esm/eval/report-json.mjs.map +1 -0
  151. package/esm/eval/report-junit.d.mts +22 -0
  152. package/esm/eval/report-junit.d.mts.map +1 -0
  153. package/esm/eval/report-junit.mjs +60 -0
  154. package/esm/eval/report-junit.mjs.map +1 -0
  155. package/esm/guard/contracts/guard-options.type.d.mts +165 -0
  156. package/esm/guard/contracts/guard-options.type.d.mts.map +1 -0
  157. package/esm/guard/contracts/guardrail.contract.d.mts +78 -0
  158. package/esm/guard/contracts/guardrail.contract.d.mts.map +1 -0
  159. package/esm/guard/contracts/index.d.mts +4 -0
  160. package/esm/guard/contracts/openai-client.contract.d.mts +51 -0
  161. package/esm/guard/contracts/openai-client.contract.d.mts.map +1 -0
  162. package/esm/guard/contracts/verdict.type.d.mts +76 -0
  163. package/esm/guard/contracts/verdict.type.d.mts.map +1 -0
  164. package/esm/guard/detectors/index.d.mts +4 -0
  165. package/esm/guard/detectors/index.mjs +6 -0
  166. package/esm/guard/detectors/injection.d.mts +34 -0
  167. package/esm/guard/detectors/injection.d.mts.map +1 -0
  168. package/esm/guard/detectors/injection.mjs +254 -0
  169. package/esm/guard/detectors/injection.mjs.map +1 -0
  170. package/esm/guard/detectors/moderation.d.mts +32 -0
  171. package/esm/guard/detectors/moderation.d.mts.map +1 -0
  172. package/esm/guard/detectors/moderation.mjs +134 -0
  173. package/esm/guard/detectors/moderation.mjs.map +1 -0
  174. package/esm/guard/detectors/pii.d.mts +41 -0
  175. package/esm/guard/detectors/pii.d.mts.map +1 -0
  176. package/esm/guard/detectors/pii.mjs +199 -0
  177. package/esm/guard/detectors/pii.mjs.map +1 -0
  178. package/esm/guard/detectors/topic.d.mts +29 -0
  179. package/esm/guard/detectors/topic.d.mts.map +1 -0
  180. package/esm/guard/detectors/topic.mjs +99 -0
  181. package/esm/guard/detectors/topic.mjs.map +1 -0
  182. package/esm/guard/errors.d.mts +12 -0
  183. package/esm/guard/errors.d.mts.map +1 -0
  184. package/esm/guard/errors.mjs +18 -0
  185. package/esm/guard/errors.mjs.map +1 -0
  186. package/esm/guard/guard.d.mts +67 -0
  187. package/esm/guard/guard.d.mts.map +1 -0
  188. package/esm/guard/guard.mjs +209 -0
  189. package/esm/guard/guard.mjs.map +1 -0
  190. package/esm/guard/guardrail.d.mts +39 -0
  191. package/esm/guard/guardrail.d.mts.map +1 -0
  192. package/esm/guard/guardrail.mjs +22 -0
  193. package/esm/guard/guardrail.mjs.map +1 -0
  194. package/esm/human/contracts/approval.type.d.mts +154 -0
  195. package/esm/human/contracts/approval.type.d.mts.map +1 -0
  196. package/esm/human/contracts/human-approval.type.d.mts +38 -0
  197. package/esm/human/contracts/human-approval.type.d.mts.map +1 -0
  198. package/esm/human/contracts/index.d.mts +4 -0
  199. package/esm/human/contracts/interrupt-store.contract.d.mts +112 -0
  200. package/esm/human/contracts/interrupt-store.contract.d.mts.map +1 -0
  201. package/esm/human/contracts/resume.type.d.mts +77 -0
  202. package/esm/human/contracts/resume.type.d.mts.map +1 -0
  203. package/esm/human/errors.d.mts +84 -0
  204. package/esm/human/errors.d.mts.map +1 -0
  205. package/esm/human/errors.mjs +60 -0
  206. package/esm/human/errors.mjs.map +1 -0
  207. package/esm/human/human-approval.d.mts +57 -0
  208. package/esm/human/human-approval.d.mts.map +1 -0
  209. package/esm/human/human-approval.mjs +170 -0
  210. package/esm/human/human-approval.mjs.map +1 -0
  211. package/esm/human/policy.d.mts +55 -0
  212. package/esm/human/policy.d.mts.map +1 -0
  213. package/esm/human/policy.mjs +67 -0
  214. package/esm/human/policy.mjs.map +1 -0
  215. package/esm/human/register.mjs +37 -0
  216. package/esm/human/register.mjs.map +1 -0
  217. package/esm/human/resume-seed.mjs +53 -0
  218. package/esm/human/resume-seed.mjs.map +1 -0
  219. package/esm/human/resume.d.mts +54 -0
  220. package/esm/human/resume.d.mts.map +1 -0
  221. package/esm/human/resume.mjs +121 -0
  222. package/esm/human/resume.mjs.map +1 -0
  223. package/esm/human/stores/index.mjs +5 -0
  224. package/esm/human/stores/memory.d.mts +30 -0
  225. package/esm/human/stores/memory.d.mts.map +1 -0
  226. package/esm/human/stores/memory.mjs +91 -0
  227. package/esm/human/stores/memory.mjs.map +1 -0
  228. package/esm/human/stores/pg.d.mts +59 -0
  229. package/esm/human/stores/pg.d.mts.map +1 -0
  230. package/esm/human/stores/pg.mjs +220 -0
  231. package/esm/human/stores/pg.mjs.map +1 -0
  232. package/esm/human/stores/redis.d.mts +56 -0
  233. package/esm/human/stores/redis.d.mts.map +1 -0
  234. package/esm/human/stores/redis.mjs +201 -0
  235. package/esm/human/stores/redis.mjs.map +1 -0
  236. package/esm/image/image-cost.d.mts +32 -0
  237. package/esm/image/image-cost.d.mts.map +1 -0
  238. package/esm/image/image-cost.mjs +55 -0
  239. package/esm/image/image-cost.mjs.map +1 -0
  240. package/esm/image/image.d.mts +92 -0
  241. package/esm/image/image.d.mts.map +1 -0
  242. package/esm/image/image.mjs +113 -0
  243. package/esm/image/image.mjs.map +1 -0
  244. package/esm/image/index.mjs +4 -0
  245. package/esm/index.d.mts +137 -24
  246. package/esm/index.mjs +101 -11
  247. package/esm/middleware/builtins/budget.mjs +6 -2
  248. package/esm/middleware/builtins/budget.mjs.map +1 -1
  249. package/esm/middleware/utils/extract-user-text.d.mts +8 -1
  250. package/esm/middleware/utils/extract-user-text.d.mts.map +1 -1
  251. package/esm/middleware/utils/extract-user-text.mjs +8 -1
  252. package/esm/middleware/utils/extract-user-text.mjs.map +1 -1
  253. package/esm/mock/index.d.mts +3 -0
  254. package/esm/mock/index.mjs +3 -0
  255. package/esm/mock/mock-config.type.d.mts +22 -0
  256. package/esm/mock/mock-config.type.d.mts.map +1 -1
  257. package/esm/mock/mock-image-model.d.mts +41 -0
  258. package/esm/mock/mock-image-model.d.mts.map +1 -0
  259. package/esm/mock/mock-image-model.mjs +52 -0
  260. package/esm/mock/mock-image-model.mjs.map +1 -0
  261. package/esm/mock/mock-sdk.d.mts +7 -1
  262. package/esm/mock/mock-sdk.d.mts.map +1 -1
  263. package/esm/mock/mock-sdk.mjs +27 -0
  264. package/esm/mock/mock-sdk.mjs.map +1 -1
  265. package/esm/mock/mock-speech-model.d.mts +31 -0
  266. package/esm/mock/mock-speech-model.d.mts.map +1 -0
  267. package/esm/mock/mock-speech-model.mjs +39 -0
  268. package/esm/mock/mock-speech-model.mjs.map +1 -0
  269. package/esm/mock/mock-transcription-model.d.mts +32 -0
  270. package/esm/mock/mock-transcription-model.d.mts.map +1 -0
  271. package/esm/mock/mock-transcription-model.mjs +36 -0
  272. package/esm/mock/mock-transcription-model.mjs.map +1 -0
  273. package/esm/object-stream/index.d.mts +2 -0
  274. package/esm/object-stream/index.mjs +4 -0
  275. package/esm/object-stream/parse-partial-json.d.mts +22 -0
  276. package/esm/object-stream/parse-partial-json.d.mts.map +1 -0
  277. package/esm/object-stream/parse-partial-json.mjs +78 -0
  278. package/esm/object-stream/parse-partial-json.mjs.map +1 -0
  279. package/esm/object-stream/stream-object.d.mts +68 -0
  280. package/esm/object-stream/stream-object.d.mts.map +1 -0
  281. package/esm/object-stream/stream-object.mjs +104 -0
  282. package/esm/object-stream/stream-object.mjs.map +1 -0
  283. package/esm/observe/index.mjs +4 -0
  284. package/esm/observe/observer-registry.d.mts +30 -0
  285. package/esm/observe/observer-registry.d.mts.map +1 -0
  286. package/esm/observe/observer-registry.mjs +51 -0
  287. package/esm/observe/observer-registry.mjs.map +1 -0
  288. package/esm/observe/observer.contract.d.mts +40 -0
  289. package/esm/observe/observer.contract.d.mts.map +1 -0
  290. package/esm/observe/resolve-observers.d.mts +40 -0
  291. package/esm/observe/resolve-observers.d.mts.map +1 -0
  292. package/esm/observe/resolve-observers.mjs +73 -0
  293. package/esm/observe/resolve-observers.mjs.map +1 -0
  294. package/esm/orchestrator/execution.d.mts.map +1 -1
  295. package/esm/orchestrator/execution.mjs +5 -2
  296. package/esm/orchestrator/execution.mjs.map +1 -1
  297. package/esm/orchestrator/index.d.mts +1 -0
  298. package/esm/orchestrator/index.mjs +1 -0
  299. package/esm/orchestrator/orchestrator.d.mts.map +1 -1
  300. package/esm/orchestrator/orchestrator.mjs +39 -6
  301. package/esm/orchestrator/orchestrator.mjs.map +1 -1
  302. package/esm/orchestrator/session-lock.d.mts +25 -0
  303. package/esm/orchestrator/session-lock.d.mts.map +1 -0
  304. package/esm/orchestrator/session-lock.mjs +83 -0
  305. package/esm/orchestrator/session-lock.mjs.map +1 -0
  306. package/esm/planner/dag-scheduler.mjs +97 -0
  307. package/esm/planner/dag-scheduler.mjs.map +1 -0
  308. package/esm/planner/plan-prompt.d.mts +1 -1
  309. package/esm/planner/plan-prompt.d.mts.map +1 -1
  310. package/esm/planner/plan-prompt.mjs +2 -1
  311. package/esm/planner/plan-prompt.mjs.map +1 -1
  312. package/esm/planner/planner-run.d.mts +8 -0
  313. package/esm/planner/planner-run.d.mts.map +1 -1
  314. package/esm/planner/planner-run.mjs +457 -31
  315. package/esm/planner/planner-run.mjs.map +1 -1
  316. package/esm/planner/planner.d.mts.map +1 -1
  317. package/esm/planner/planner.mjs +26 -2
  318. package/esm/planner/planner.mjs.map +1 -1
  319. package/esm/planner/snapshot.mjs +95 -0
  320. package/esm/planner/snapshot.mjs.map +1 -0
  321. package/esm/prompt/errors.d.mts +57 -0
  322. package/esm/prompt/errors.d.mts.map +1 -0
  323. package/esm/prompt/errors.mjs +73 -0
  324. package/esm/prompt/errors.mjs.map +1 -0
  325. package/esm/prompt/index.d.mts +3 -0
  326. package/esm/prompt/index.mjs +4 -0
  327. package/esm/prompt/prompt-langfuse-sync.mjs +104 -0
  328. package/esm/prompt/prompt-langfuse-sync.mjs.map +1 -0
  329. package/esm/prompt/prompt-langfuse-sync.type.d.mts +32 -0
  330. package/esm/prompt/prompt-langfuse-sync.type.d.mts.map +1 -0
  331. package/esm/prompt/prompt-validate.mjs +170 -0
  332. package/esm/prompt/prompt-validate.mjs.map +1 -0
  333. package/esm/prompt/prompt.d.mts +54 -0
  334. package/esm/prompt/prompt.d.mts.map +1 -0
  335. package/esm/prompt/prompt.mjs +218 -0
  336. package/esm/prompt/prompt.mjs.map +1 -0
  337. package/esm/prompt/prompt.type.d.mts +174 -0
  338. package/esm/prompt/prompt.type.d.mts.map +1 -0
  339. package/esm/prompts/index.d.mts +3 -0
  340. package/esm/prompts/index.mjs +3 -0
  341. package/esm/prompts/prompts-manager.contract.d.mts +154 -0
  342. package/esm/prompts/prompts-manager.contract.d.mts.map +1 -0
  343. package/esm/prompts/prompts-manager.d.mts +38 -0
  344. package/esm/prompts/prompts-manager.d.mts.map +1 -0
  345. package/esm/prompts/prompts-manager.mjs +410 -0
  346. package/esm/prompts/prompts-manager.mjs.map +1 -0
  347. package/esm/prompts/prompts-manager.type.d.mts +172 -0
  348. package/esm/prompts/prompts-manager.type.d.mts.map +1 -0
  349. package/esm/prompts/prompts-validate.mjs +200 -0
  350. package/esm/prompts/prompts-validate.mjs.map +1 -0
  351. package/esm/rag/as-tool.mjs +48 -0
  352. package/esm/rag/as-tool.mjs.map +1 -0
  353. package/esm/rag/chunk/chunk.d.mts +24 -0
  354. package/esm/rag/chunk/chunk.d.mts.map +1 -0
  355. package/esm/rag/chunk/chunk.mjs +44 -0
  356. package/esm/rag/chunk/chunk.mjs.map +1 -0
  357. package/esm/rag/chunk/fixed.mjs +32 -0
  358. package/esm/rag/chunk/fixed.mjs.map +1 -0
  359. package/esm/rag/chunk/markdown.mjs +75 -0
  360. package/esm/rag/chunk/markdown.mjs.map +1 -0
  361. package/esm/rag/chunk/recursive.mjs +132 -0
  362. package/esm/rag/chunk/recursive.mjs.map +1 -0
  363. package/esm/rag/chunk/sentence.mjs +73 -0
  364. package/esm/rag/chunk/sentence.mjs.map +1 -0
  365. package/esm/rag/contracts/chunk-options.type.d.mts +35 -0
  366. package/esm/rag/contracts/chunk-options.type.d.mts.map +1 -0
  367. package/esm/rag/contracts/citation.type.d.mts +35 -0
  368. package/esm/rag/contracts/citation.type.d.mts.map +1 -0
  369. package/esm/rag/contracts/index.d.mts +4 -0
  370. package/esm/rag/contracts/rag-config.type.d.mts +68 -0
  371. package/esm/rag/contracts/rag-config.type.d.mts.map +1 -0
  372. package/esm/rag/contracts/rag-document.type.d.mts +21 -0
  373. package/esm/rag/contracts/rag-document.type.d.mts.map +1 -0
  374. package/esm/rag/hybrid/bm25.d.mts +23 -0
  375. package/esm/rag/hybrid/bm25.d.mts.map +1 -0
  376. package/esm/rag/hybrid/bm25.mjs +51 -0
  377. package/esm/rag/hybrid/bm25.mjs.map +1 -0
  378. package/esm/rag/hybrid/hybrid-rank.d.mts +33 -0
  379. package/esm/rag/hybrid/hybrid-rank.d.mts.map +1 -0
  380. package/esm/rag/hybrid/hybrid-rank.mjs +29 -0
  381. package/esm/rag/hybrid/hybrid-rank.mjs.map +1 -0
  382. package/esm/rag/hybrid/rrf.d.mts +25 -0
  383. package/esm/rag/hybrid/rrf.d.mts.map +1 -0
  384. package/esm/rag/hybrid/rrf.mjs +30 -0
  385. package/esm/rag/hybrid/rrf.mjs.map +1 -0
  386. package/esm/rag/index.d.mts +22 -0
  387. package/esm/rag/index.mjs +18 -0
  388. package/esm/rag/loaders/errors.d.mts +19 -0
  389. package/esm/rag/loaders/errors.d.mts.map +1 -0
  390. package/esm/rag/loaders/errors.mjs +25 -0
  391. package/esm/rag/loaders/errors.mjs.map +1 -0
  392. package/esm/rag/loaders/index.mjs +7 -0
  393. package/esm/rag/loaders/load-html.d.mts +26 -0
  394. package/esm/rag/loaders/load-html.d.mts.map +1 -0
  395. package/esm/rag/loaders/load-html.mjs +138 -0
  396. package/esm/rag/loaders/load-html.mjs.map +1 -0
  397. package/esm/rag/loaders/load-pdf.d.mts +38 -0
  398. package/esm/rag/loaders/load-pdf.d.mts.map +1 -0
  399. package/esm/rag/loaders/load-pdf.mjs +150 -0
  400. package/esm/rag/loaders/load-pdf.mjs.map +1 -0
  401. package/esm/rag/loaders/load-text.d.mts +47 -0
  402. package/esm/rag/loaders/load-text.d.mts.map +1 -0
  403. package/esm/rag/loaders/load-text.mjs +60 -0
  404. package/esm/rag/loaders/load-text.mjs.map +1 -0
  405. package/esm/rag/loaders/load-web.d.mts +42 -0
  406. package/esm/rag/loaders/load-web.d.mts.map +1 -0
  407. package/esm/rag/loaders/load-web.mjs +89 -0
  408. package/esm/rag/loaders/load-web.mjs.map +1 -0
  409. package/esm/rag/loaders/loader.type.d.mts +89 -0
  410. package/esm/rag/loaders/loader.type.d.mts.map +1 -0
  411. package/esm/rag/rag.d.mts +38 -0
  412. package/esm/rag/rag.d.mts.map +1 -0
  413. package/esm/rag/rag.mjs +126 -0
  414. package/esm/rag/rag.mjs.map +1 -0
  415. package/esm/rag/rerank/keyword-reranker.d.mts +32 -0
  416. package/esm/rag/rerank/keyword-reranker.d.mts.map +1 -0
  417. package/esm/rag/rerank/keyword-reranker.mjs +58 -0
  418. package/esm/rag/rerank/keyword-reranker.mjs.map +1 -0
  419. package/esm/rag/rerank/llm-reranker.d.mts +36 -0
  420. package/esm/rag/rerank/llm-reranker.d.mts.map +1 -0
  421. package/esm/rag/rerank/llm-reranker.mjs +85 -0
  422. package/esm/rag/rerank/llm-reranker.mjs.map +1 -0
  423. package/esm/rag/rerank/reranker.contract.d.mts +28 -0
  424. package/esm/rag/rerank/reranker.contract.d.mts.map +1 -0
  425. package/esm/rag/retrieve.mjs +68 -0
  426. package/esm/rag/retrieve.mjs.map +1 -0
  427. package/esm/rag/store/cache-vector-store.d.mts +27 -0
  428. package/esm/rag/store/cache-vector-store.d.mts.map +1 -0
  429. package/esm/rag/store/cache-vector-store.mjs +48 -0
  430. package/esm/rag/store/cache-vector-store.mjs.map +1 -0
  431. package/esm/rag/store/pg-vector-store.d.mts +139 -0
  432. package/esm/rag/store/pg-vector-store.d.mts.map +1 -0
  433. package/esm/rag/store/pg-vector-store.mjs +328 -0
  434. package/esm/rag/store/pg-vector-store.mjs.map +1 -0
  435. package/esm/rag/store/vector-store.contract.d.mts +38 -0
  436. package/esm/rag/store/vector-store.contract.d.mts.map +1 -0
  437. package/esm/rag/transforms/multi-query.d.mts +27 -0
  438. package/esm/rag/transforms/multi-query.d.mts.map +1 -0
  439. package/esm/rag/transforms/multi-query.mjs +41 -0
  440. package/esm/rag/transforms/multi-query.mjs.map +1 -0
  441. package/esm/security/index.mjs +5 -0
  442. package/esm/security/outbound-policy.d.mts +46 -0
  443. package/esm/security/outbound-policy.d.mts.map +1 -0
  444. package/esm/security/outbound-policy.mjs +187 -0
  445. package/esm/security/outbound-policy.mjs.map +1 -0
  446. package/esm/security/outbound-policy.type.d.mts +74 -0
  447. package/esm/security/outbound-policy.type.d.mts.map +1 -0
  448. package/esm/security/private-ip.d.mts +15 -0
  449. package/esm/security/private-ip.d.mts.map +1 -0
  450. package/esm/security/private-ip.mjs +48 -0
  451. package/esm/security/private-ip.mjs.map +1 -0
  452. package/esm/security/redact.d.mts +59 -0
  453. package/esm/security/redact.d.mts.map +1 -0
  454. package/esm/security/redact.mjs +122 -0
  455. package/esm/security/redact.mjs.map +1 -0
  456. package/esm/serve/serve.d.mts +50 -0
  457. package/esm/serve/serve.d.mts.map +1 -0
  458. package/esm/serve/serve.mjs +90 -0
  459. package/esm/serve/serve.mjs.map +1 -0
  460. package/esm/serve/sse.d.mts +20 -0
  461. package/esm/serve/sse.d.mts.map +1 -0
  462. package/esm/serve/sse.mjs +25 -0
  463. package/esm/serve/sse.mjs.map +1 -0
  464. package/esm/serve/stream-to-sse.d.mts +29 -0
  465. package/esm/serve/stream-to-sse.d.mts.map +1 -0
  466. package/esm/serve/stream-to-sse.mjs +37 -0
  467. package/esm/serve/stream-to-sse.mjs.map +1 -0
  468. package/esm/skills/catalog.d.mts +49 -0
  469. package/esm/skills/catalog.d.mts.map +1 -0
  470. package/esm/skills/catalog.mjs +140 -0
  471. package/esm/skills/catalog.mjs.map +1 -0
  472. package/esm/skills/contracts/skill-record.type.d.mts +37 -0
  473. package/esm/skills/contracts/skill-record.type.d.mts.map +1 -0
  474. package/esm/skills/contracts/skills-config.type.d.mts +108 -0
  475. package/esm/skills/contracts/skills-config.type.d.mts.map +1 -0
  476. package/esm/skills/contracts/skills-store.contract.d.mts +28 -0
  477. package/esm/skills/contracts/skills-store.contract.d.mts.map +1 -0
  478. package/esm/skills/contracts/skills.contract.d.mts +43 -0
  479. package/esm/skills/contracts/skills.contract.d.mts.map +1 -0
  480. package/esm/skills/index.d.mts +16 -0
  481. package/esm/skills/index.mjs +14 -0
  482. package/esm/skills/load-skill-tool.d.mts +38 -0
  483. package/esm/skills/load-skill-tool.d.mts.map +1 -0
  484. package/esm/skills/load-skill-tool.mjs +65 -0
  485. package/esm/skills/load-skill-tool.mjs.map +1 -0
  486. package/esm/skills/review-gate.d.mts +33 -0
  487. package/esm/skills/review-gate.d.mts.map +1 -0
  488. package/esm/skills/review-gate.mjs +60 -0
  489. package/esm/skills/review-gate.mjs.map +1 -0
  490. package/esm/skills/save-skill-tool.d.mts +39 -0
  491. package/esm/skills/save-skill-tool.d.mts.map +1 -0
  492. package/esm/skills/save-skill-tool.mjs +65 -0
  493. package/esm/skills/save-skill-tool.mjs.map +1 -0
  494. package/esm/skills/skills.d.mts +33 -0
  495. package/esm/skills/skills.d.mts.map +1 -0
  496. package/esm/skills/skills.mjs +109 -0
  497. package/esm/skills/skills.mjs.map +1 -0
  498. package/esm/skills/sources/directory-source.d.mts +19 -0
  499. package/esm/skills/sources/directory-source.d.mts.map +1 -0
  500. package/esm/skills/sources/directory-source.mjs +108 -0
  501. package/esm/skills/sources/directory-source.mjs.map +1 -0
  502. package/esm/skills/sources/index.d.mts +18 -0
  503. package/esm/skills/sources/index.d.mts.map +1 -0
  504. package/esm/skills/sources/index.mjs +27 -0
  505. package/esm/skills/sources/index.mjs.map +1 -0
  506. package/esm/skills/sources/parse-frontmatter.d.mts +27 -0
  507. package/esm/skills/sources/parse-frontmatter.d.mts.map +1 -0
  508. package/esm/skills/sources/parse-frontmatter.mjs +46 -0
  509. package/esm/skills/sources/parse-frontmatter.mjs.map +1 -0
  510. package/esm/skills/sources/store-source.d.mts +14 -0
  511. package/esm/skills/sources/store-source.d.mts.map +1 -0
  512. package/esm/skills/sources/store-source.mjs +15 -0
  513. package/esm/skills/sources/store-source.mjs.map +1 -0
  514. package/esm/skills/sources/url-source.d.mts +29 -0
  515. package/esm/skills/sources/url-source.d.mts.map +1 -0
  516. package/esm/skills/sources/url-source.mjs +117 -0
  517. package/esm/skills/sources/url-source.mjs.map +1 -0
  518. package/esm/skills/store/mock-skills-store.d.mts +57 -0
  519. package/esm/skills/store/mock-skills-store.d.mts.map +1 -0
  520. package/esm/skills/store/mock-skills-store.mjs +100 -0
  521. package/esm/skills/store/mock-skills-store.mjs.map +1 -0
  522. package/esm/skills/store/procedural-skill-store.d.mts +30 -0
  523. package/esm/skills/store/procedural-skill-store.d.mts.map +1 -0
  524. package/esm/skills/store/procedural-skill-store.mjs +125 -0
  525. package/esm/skills/store/procedural-skill-store.mjs.map +1 -0
  526. package/esm/speech/index.mjs +3 -0
  527. package/esm/speech/speech.d.mts +65 -0
  528. package/esm/speech/speech.d.mts.map +1 -0
  529. package/esm/speech/speech.mjs +123 -0
  530. package/esm/speech/speech.mjs.map +1 -0
  531. package/esm/supervisor/as-tool.mjs +2 -2
  532. package/esm/supervisor/as-tool.mjs.map +1 -1
  533. package/esm/supervisor/entries.mjs +2 -2
  534. package/esm/supervisor/entries.mjs.map +1 -1
  535. package/esm/supervisor/execution.d.mts.map +1 -1
  536. package/esm/supervisor/execution.mjs +31 -28
  537. package/esm/supervisor/execution.mjs.map +1 -1
  538. package/esm/supervisor/supervisor.d.mts.map +1 -1
  539. package/esm/supervisor/supervisor.mjs +8 -3
  540. package/esm/supervisor/supervisor.mjs.map +1 -1
  541. package/esm/system-prompt/index.d.mts +4 -0
  542. package/esm/system-prompt/system-prompt.d.mts +68 -4
  543. package/esm/system-prompt/system-prompt.d.mts.map +1 -1
  544. package/esm/system-prompt/system-prompt.mjs +89 -5
  545. package/esm/system-prompt/system-prompt.mjs.map +1 -1
  546. package/esm/team/gates.mjs +48 -0
  547. package/esm/team/gates.mjs.map +1 -0
  548. package/esm/team/index.d.mts +1 -0
  549. package/esm/team/index.mjs +3 -0
  550. package/esm/team/team.d.mts +42 -0
  551. package/esm/team/team.d.mts.map +1 -0
  552. package/esm/team/team.mjs +94 -0
  553. package/esm/team/team.mjs.map +1 -0
  554. package/esm/tool/executable-as-tool.d.mts.map +1 -1
  555. package/esm/tool/executable-as-tool.mjs +2 -2
  556. package/esm/tool/executable-as-tool.mjs.map +1 -1
  557. package/esm/tool/tool.d.mts.map +1 -1
  558. package/esm/tool/tool.mjs +2 -2
  559. package/esm/tool/tool.mjs.map +1 -1
  560. package/esm/transcribe/audio-input.d.mts +47 -0
  561. package/esm/transcribe/audio-input.d.mts.map +1 -0
  562. package/esm/transcribe/audio-input.mjs +84 -0
  563. package/esm/transcribe/audio-input.mjs.map +1 -0
  564. package/esm/transcribe/index.mjs +4 -0
  565. package/esm/transcribe/transcribe.d.mts +64 -0
  566. package/esm/transcribe/transcribe.d.mts.map +1 -0
  567. package/esm/transcribe/transcribe.mjs +128 -0
  568. package/esm/transcribe/transcribe.mjs.map +1 -0
  569. package/esm/utils/compute-cost.d.mts +17 -1
  570. package/esm/utils/compute-cost.d.mts.map +1 -1
  571. package/esm/utils/compute-cost.mjs +26 -1
  572. package/esm/utils/compute-cost.mjs.map +1 -1
  573. package/esm/utils/extract-json-lenient.d.mts +42 -0
  574. package/esm/utils/extract-json-lenient.d.mts.map +1 -0
  575. package/esm/utils/extract-json-lenient.mjs +97 -0
  576. package/esm/utils/extract-json-lenient.mjs.map +1 -0
  577. package/esm/utils/index.d.mts +4 -2
  578. package/esm/utils/index.mjs +3 -1
  579. package/esm/utils/json-schema.d.mts +1 -1
  580. package/esm/utils/prepare-attachment-part.d.mts +10 -1
  581. package/esm/utils/prepare-attachment-part.d.mts.map +1 -1
  582. package/esm/utils/prepare-attachment-part.mjs +103 -11
  583. package/esm/utils/prepare-attachment-part.mjs.map +1 -1
  584. package/esm/utils/resolve-attachment.d.mts +4 -3
  585. package/esm/utils/resolve-attachment.d.mts.map +1 -1
  586. package/esm/utils/resolve-attachment.mjs +4 -3
  587. package/esm/utils/resolve-attachment.mjs.map +1 -1
  588. package/esm/utils/run-context.d.mts +94 -0
  589. package/esm/utils/run-context.d.mts.map +1 -0
  590. package/esm/utils/run-context.mjs +98 -0
  591. package/esm/utils/run-context.mjs.map +1 -0
  592. package/esm/vcr/cassette-io.mjs +57 -0
  593. package/esm/vcr/cassette-io.mjs.map +1 -0
  594. package/esm/vcr/errors.d.mts +42 -0
  595. package/esm/vcr/errors.d.mts.map +1 -0
  596. package/esm/vcr/errors.mjs +37 -0
  597. package/esm/vcr/errors.mjs.map +1 -0
  598. package/esm/vcr/hash-request.d.mts +28 -0
  599. package/esm/vcr/hash-request.d.mts.map +1 -0
  600. package/esm/vcr/hash-request.mjs +118 -0
  601. package/esm/vcr/hash-request.mjs.map +1 -0
  602. package/esm/vcr/index.d.mts +4 -0
  603. package/esm/vcr/index.mjs +5 -0
  604. package/esm/vcr/vcr.d.mts +32 -0
  605. package/esm/vcr/vcr.d.mts.map +1 -0
  606. package/esm/vcr/vcr.mjs +248 -0
  607. package/esm/vcr/vcr.mjs.map +1 -0
  608. package/esm/vcr/vcr.type.d.mts +118 -0
  609. package/esm/vcr/vcr.type.d.mts.map +1 -0
  610. package/esm/workflow/as-tool.mjs +2 -2
  611. package/esm/workflow/as-tool.mjs.map +1 -1
  612. package/esm/workflow/engine.mjs +1 -0
  613. package/esm/workflow/engine.mjs.map +1 -1
  614. package/esm/workflow/step-runner.mjs +19 -20
  615. package/esm/workflow/step-runner.mjs.map +1 -1
  616. package/esm/workflow/workflow.d.mts.map +1 -1
  617. package/esm/workflow/workflow.mjs +8 -3
  618. package/esm/workflow/workflow.mjs.map +1 -1
  619. package/llms-full.txt +2572 -204
  620. package/llms.txt +21 -4
  621. package/package.json +7 -3
  622. package/skills/README.md +44 -4
  623. package/skills/ai-dx-helpers/SKILL.md +2 -2
  624. package/skills/approve-tool-calls/SKILL.md +134 -0
  625. package/skills/attach-ai-middleware/SKILL.md +1 -1
  626. package/skills/detect-and-redact-pii/SKILL.md +104 -0
  627. package/skills/durable-agent-runs/SKILL.md +135 -0
  628. package/skills/durable-resume/SKILL.md +128 -0
  629. package/skills/escalate-block-to-human/SKILL.md +85 -0
  630. package/skills/eval-datasets-and-ci/SKILL.md +117 -0
  631. package/skills/generate-images/SKILL.md +138 -0
  632. package/skills/generate-speech/SKILL.md +139 -0
  633. package/skills/guard-input-output/SKILL.md +117 -0
  634. package/skills/manage-prompts/SKILL.md +186 -0
  635. package/skills/observe-ai-flows/SKILL.md +94 -0
  636. package/skills/rag-loaders-and-stores/SKILL.md +164 -0
  637. package/skills/record-replay-llm/SKILL.md +92 -0
  638. package/skills/run-ai-agent/SKILL.md +26 -1
  639. package/skills/run-ai-rag/SKILL.md +139 -0
  640. package/skills/run-ai-team/SKILL.md +107 -0
  641. package/skills/run-orchestrator/SKILL.md +2 -0
  642. package/skills/run-planner/SKILL.md +73 -8
  643. package/skills/run-supervisor/SKILL.md +20 -1
  644. package/skills/transcribe-audio/SKILL.md +157 -0
  645. package/skills/use-runtime-skills/SKILL.md +106 -0
  646. package/skills/write-system-prompt/SKILL.md +30 -1
  647. package/cjs/index.cjs.map +0 -1
  648. package/esm/contracts/result/index.d.mts +0 -15
@@ -0,0 +1,97 @@
1
+ import { Usage } from "./result/usage.type.mjs";
2
+
3
+ //#region ../@warlock.js/ai/src/contracts/speech-model.contract.d.ts
4
+ /**
5
+ * USD pricing for a text-to-speech model. TTS providers meter one of
6
+ * two ways, and this single shape covers both so the cost folds into
7
+ * the same `Usage.cost` rollup the text + image paths use:
8
+ *
9
+ * - **Per-character** (OpenAI `tts-1` / `tts-1-hd`): billed per input
10
+ * character. Set `perMillionCharacters` (USD per 1,000,000 chars).
11
+ * - **Token-metered** (OpenAI `gpt-4o-mini-tts`): billed per input/output
12
+ * token like a chat model. Set `input` / `output` (USD per 1M tokens).
13
+ *
14
+ * Per-character wins when both are set. Nothing set → `Usage.cost`
15
+ * stays `undefined` (honest "cost unknown", not a false zero).
16
+ *
17
+ * @example
18
+ * const pricing: SpeechModelPricing = { perMillionCharacters: 15 }; // tts-1
19
+ */
20
+ type SpeechModelPricing = {
21
+ /** USD per 1M input characters — per-character-metered TTS. */perMillionCharacters?: number; /** USD per 1M input tokens — token-metered TTS. */
22
+ input?: number; /** USD per 1M output (audio) tokens — token-metered TTS. */
23
+ output?: number;
24
+ };
25
+ /**
26
+ * Generated audio, normalized to a discriminated shape (mirrors
27
+ * {@link GeneratedImage}). TTS providers return raw audio bytes, so the
28
+ * `base64` variant is the only one today; the union leaves room for a
29
+ * future hosted-`url` variant without a breaking change.
30
+ */
31
+ type GeneratedAudio = {
32
+ type: "base64"; /** Base64-encoded audio bytes. */
33
+ base64: string; /** IANA media type (e.g. `"audio/mpeg"`, `"audio/wav"`). */
34
+ mediaType: string;
35
+ };
36
+ /**
37
+ * Options for a single {@link SpeechModelContract.generate} request.
38
+ * Provider-neutral; each adapter maps the ones its API supports.
39
+ */
40
+ type SpeechOptions = {
41
+ /** Voice id/name (e.g. OpenAI `"alloy"`, `"verse"`). Defaults per model config. */voice?: string; /** Output container (`"mp3"` / `"opus"` / `"aac"` / `"flac"` / `"wav"` / `"pcm"`). */
42
+ format?: string; /** Playback speed multiplier (provider range, e.g. OpenAI `0.25`–`4.0`). */
43
+ speed?: number; /** Extra steering of tone/delivery (OpenAI `gpt-4o-mini-tts` `instructions`). */
44
+ instructions?: string; /** Cancellation handle wired into the provider request where supported. */
45
+ signal?: AbortSignal; /** Provider-specific escape hatch — forwarded verbatim. */
46
+ [key: string]: unknown;
47
+ };
48
+ /**
49
+ * Raw result of a {@link SpeechModelContract.generate} call — low-level
50
+ * (like `EmbedderContract.embed`): returns the audio + usage and THROWS
51
+ * a typed `AIError` on failure. The never-throws `{ data, error, usage,
52
+ * report }` envelope is added by the `ai.speech()` facade verb.
53
+ */
54
+ type SpeechGenerationResponse = {
55
+ audio: GeneratedAudio;
56
+ /**
57
+ * Token usage when the provider meters per token (gpt-4o-mini-tts);
58
+ * `{ input: 0, output: 0, total: 0 }` for per-character-metered models,
59
+ * whose spend is priced from {@link characters}.
60
+ */
61
+ usage: Usage; /** Number of input characters synthesized — drives per-character cost. */
62
+ characters: number;
63
+ };
64
+ /**
65
+ * Provider-neutral contract for a text-to-speech model — the audio
66
+ * sibling of {@link ImageModelContract}. Produced by an adapter's
67
+ * optional `speech?(config)` factory and consumed by `ai.speech()`.
68
+ *
69
+ * @example
70
+ * const tts = openai.speech({ name: "tts-1", voice: "alloy" });
71
+ * const { audio } = await tts.generate("Welcome aboard.");
72
+ */
73
+ interface SpeechModelContract {
74
+ /** Model identifier (e.g. `"tts-1"`, `"gpt-4o-mini-tts"`). */
75
+ readonly name: string;
76
+ /** Provider this model belongs to (e.g. `"openai"`). */
77
+ readonly provider: string;
78
+ /** Per-character or per-token USD pricing; folded into `Usage.cost` by `ai.speech()`. */
79
+ readonly pricing?: SpeechModelPricing;
80
+ /** Synthesize speech from text. Throws a typed `AIError` on failure. */
81
+ generate(text: string, options?: SpeechOptions): Promise<SpeechGenerationResponse>;
82
+ }
83
+ /**
84
+ * Configuration passed to an adapter's `speech()` factory. Mirrors
85
+ * {@link ImageModelConfig}: `name` + an optional per-model `pricing`
86
+ * override + a default `voice`, with provider-specific keys on the
87
+ * index signature.
88
+ */
89
+ type SpeechModelConfig = {
90
+ name: string; /** Per-model USD pricing override; wins over the SDK-level registry. */
91
+ pricing?: SpeechModelPricing; /** Default voice when a call omits `options.voice`. */
92
+ voice?: string;
93
+ [key: string]: unknown;
94
+ };
95
+ //#endregion
96
+ export { GeneratedAudio, SpeechGenerationResponse, SpeechModelConfig, SpeechModelContract, SpeechModelPricing, SpeechOptions };
97
+ //# sourceMappingURL=speech-model.contract.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speech-model.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/ai/src/contracts/speech-model.contract.ts"],"mappings":";;;;;AAkBA;;;;;;;;AAMQ;AASR;;;;;KAfY,kBAAA;EAoBV,+DAlBA,oBAAA,WAkBS;EAhBT,KAAA,WAuBuB;EArBvB,MAAA;AAAA;;;;;;;KASU,cAAA;EACV,IAAA,YAuBY;EArBZ,MAAA,UA8BkC;EA5BlC,SAAA;AAAA;;;;;KAOU,aAAA;EA8BA,mFA5BV,KAAA,WAwCe;EAtCf,MAAA;EAEA,KAAA,WA6CiC;EA3CjC,YAAA,WA2CiD;EAzCjD,MAAA,GAAS,WAAW,EAyCoC;EAAA,CAvCvD,GAAA;AAAA;;;;;;;KASS,wBAAA;EACV,KAAA,EAAO,cAAA;EA6B0E;AAAA;AASnF;;;EAhCE,KAAA,EAAO,KAAK,EAiCZ;EA/BA,UAAA;AAAA;;;;AAoCY;;;;;;UAxBG,mBAAA;;WAEN,IAAA;;WAEA,QAAA;;WAEA,OAAA,GAAU,kBAAA;;EAGnB,QAAA,CAAS,IAAA,UAAc,OAAA,GAAU,aAAA,GAAgB,OAAA,CAAQ,wBAAA;AAAA;;;;;;;KAS/C,iBAAA;EACV,IAAA;EAEA,OAAA,GAAU,kBAAkB;EAE5B,KAAA;EAAA,CACC,GAAA;AAAA"}
@@ -1,5 +1,6 @@
1
1
  import { Message } from "../conversation-message.type.mjs";
2
2
  import { AgentContract } from "../agent/agent.contract.mjs";
3
+ import { FlowObserveOption } from "../../observe/resolve-observers.mjs";
3
4
  import { SupervisorInput } from "./supervisor-input.type.mjs";
4
5
  import { SnapshotStore } from "../orchestrator/snapshot-store.contract.mjs";
5
6
  import { AgentMiddleware } from "../middleware/middleware.contract.mjs";
@@ -70,6 +71,15 @@ type SupervisorConfig<TOutput = unknown, TState = TOutput, TIntents extends Reco
70
71
  * independent.
71
72
  */
72
73
  version?: string;
74
+ /**
75
+ * INTERNAL — the report-type discriminator stamped on this run's root
76
+ * report + result envelope. Defaults to `"supervisor"`. `ai.team` sets
77
+ * `"team"` so its runs are distinguishable on the wire (group/filter as
78
+ * their own type) while reusing the supervisor engine wholesale. Not
79
+ * part of the public supervisor surface — plain `ai.supervisor` callers
80
+ * leave it unset.
81
+ */
82
+ reportType?: "supervisor" | "team";
73
83
  /**
74
84
  * Opt-in Standard Schema describing this supervisor's input. Purely
75
85
  * additive — when set, the supervisor can be dropped straight into an
@@ -392,6 +402,25 @@ type SupervisorConfig<TOutput = unknown, TState = TOutput, TIntents extends Reco
392
402
  * }),
393
403
  */
394
404
  finalizeArtifacts?: (state: TState, artifacts: TArtifacts) => TState;
405
+ /**
406
+ * Observability for this supervisor. Additive and gated — when
407
+ * omitted, the supervisor follows the global observe-all flag (off
408
+ * unless an observability tool turned it on), so behavior is unchanged
409
+ * by default.
410
+ *
411
+ * - `true` → route this run's completed report to the globally
412
+ * registered observers, even when observe-all is off.
413
+ * - `false` → opt this supervisor out entirely, even when observe-all is on.
414
+ * - an `Observer` object → a flow-local collector receiving only this
415
+ * supervisor's report. Typed as the structural `Observer` so core
416
+ * stays panoptic-agnostic; a panoptic flow-local collector can be
417
+ * passed directly. Observer errors are swallowed — they never break
418
+ * the run.
419
+ *
420
+ * `ai.team(...)` forwards its `observe` here verbatim so a team
421
+ * inherits supervisor observability with no extra wiring.
422
+ */
423
+ observe?: FlowObserveOption;
395
424
  };
396
425
  //#endregion
397
426
  export { SupervisorConfig, SupervisorEventHandler, SupervisorEventHandlers };
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor-config.type.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/ai/src/contracts/supervisor/supervisor-config.type.ts"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA;;KAAY,sBAAA,iBAAuC,kBAAA,KACjD,OAAA,EAAS,kBAAA,CAAmB,CAAA;AAAA,KAGlB,uBAAA,GAA0B,OAAA,eACxB,kBAAA,GAAqB,sBAAA,CAAuB,CAAA;;;;;;;;;AAJ1B;AAGhC;;;;;;;;;;;;;;;AAC2D;AAyC3D;;;;;;;;;;;;;KAAY,gBAAA,6BAED,OAAA,mBACQ,MAAA,SAAe,qBAAA,IAAyB,MAAA,SAAe,qBAAA,gBAC3D,MAAA;EAuGJ,sEApGT,IAAA;EAoGkC;;;;;;;;EA1FlC,OAAA;EAuH6C;;;;;;;;;;;EA1G7C,WAAA,GAAc,gBAAA,CAAiB,eAAA;EAoRI;;;;;EA7QnC,YAAA,GAAe,oBAAA;EAiUqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA1RpE,IAAA,YAAgB,oBAAA;EA4DiB;;;;;;;;;;;;;;;;;;;EAvCjC,OAAA,GAAU,OAAA;EA+JG;;;;;;;;EArJb,MAAA,GAAS,aAAA,YAAyB,WAAA,CAAY,MAAA;EAmO9C;;;;EA7NA,KAAA,IAAS,GAAA,EAAK,YAAA,CAAa,MAAA,MAAY,IAAA,GAAO,OAAA,CAAQ,IAAA;EAqPP;;;;AAAqB;;;;;;EAzOpE,OAAA,EAAS,QAAA;;;;;;;;;;EAWT,QAAA,IAAY,GAAA,EAAK,eAAA,CAAgB,MAAA,MAAY,cAAA,GAAiB,OAAA,CAAQ,cAAA;;;;;;;;;;;;;;;;EAiBtE,KAAA,GAAQ,MAAA;;;;;EAMR,aAAA;;;;;EAMA,YAAA;;;;;;;;;;;EAYA,MAAA,GAAS,gBAAA,CAAiB,OAAA;;;;;;;;;;;;;EAc1B,aAAA,GAAgB,aAAA;;;;;;EAOhB,EAAA,GAAK,uBAAA;;;;;;;;;;;;;;;;;EAkBL,GAAA,GAAM,SAAA,CAAU,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwChB,UAAA,GAAa,gBAAA,CAAiB,MAAA;;;;;;;;;;;;;;;;;;;;;;EAsB9B,aAAA;IACE,MAAA;IACA,MAAA;IACA,GAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;EAyBF,eAAA,GAAkB,gBAAA,CAAiB,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BnC,UAAA,GAAa,eAAA;;;;;;;;;;;;;;;;;;;;;;;EAwBb,iBAAA,IAAqB,KAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,UAAA,KAAe,MAAA;AAAA"}
1
+ {"version":3,"file":"supervisor-config.type.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/ai/src/contracts/supervisor/supervisor-config.type.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqBA;;KAAY,sBAAA,iBAAuC,kBAAA,KACjD,OAAA,EAAS,kBAAA,CAAmB,CAAA;AAAA,KAGlB,uBAAA,GAA0B,OAAA,eACxB,kBAAA,GAAqB,sBAAA,CAAuB,CAAA;;;;;;;;;AAJ1B;AAGhC;;;;;;;;;;;;;;;AAC2D;AAyC3D;;;;;;;;;;;;;KAAY,gBAAA,6BAED,OAAA,mBACQ,MAAA,SAAe,qBAAA,IAAyB,MAAA,SAAe,qBAAA,gBAC3D,MAAA;EAiHJ,sEA9GT,IAAA;EA8GkC;;;;;;;;EApGlC,OAAA;EAiI6C;;;;;;;;EAvH7C,UAAA;EAuMM;;;;;;;;;;;EA1LN,WAAA,GAAc,gBAAA,CAAiB,eAAA;EAvC/B;;;;;EA8CA,YAAA,GAAe,oBAAA;EA5C0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmFzD,IAAA,YAAgB,oBAAA;EAmFhB;;;;;;;;;;;;;;;;;;;EA9DA,OAAA,GAAU,OAAA;EAiNQ;;;;;;;;EAvMlB,MAAA,GAAS,aAAA,YAAyB,WAAA,CAAY,MAAA;EA2PgB;;;;EArP9D,KAAA,IAAS,GAAA,EAAK,YAAA,CAAa,MAAA,MAAY,IAAA,GAAO,OAAA,CAAQ,IAAA;;;;;;;;;;;EAYtD,OAAA,EAAS,QAAA;;;;;;;;;;EAWT,QAAA,IAAY,GAAA,EAAK,eAAA,CAAgB,MAAA,MAAY,cAAA,GAAiB,OAAA,CAAQ,cAAA;;;;;;;;;;;;;;;;EAiBtE,KAAA,GAAQ,MAAA;;;;;EAMR,aAAA;;;;;EAMA,YAAA;;;;;;;;;;;EAYA,MAAA,GAAS,gBAAA,CAAiB,OAAA;;;;;;;;;;;;;EAc1B,aAAA,GAAgB,aAAA;;;;;;EAOhB,EAAA,GAAK,uBAAA;;;;;;;;;;;;;;;;;EAkBL,GAAA,GAAM,SAAA,CAAU,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwChB,UAAA,GAAa,gBAAA,CAAiB,MAAA;;;;;;;;;;;;;;;;;;;;;;EAsB9B,aAAA;IACE,MAAA;IACA,MAAA;IACA,GAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;EAyBF,eAAA,GAAkB,gBAAA,CAAiB,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BnC,UAAA,GAAa,eAAA;;;;;;;;;;;;;;;;;;;;;;;EAwBb,iBAAA,IAAqB,KAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,UAAA,KAAe,MAAA;;;;;;;;;;;;;;;;;;;EAoB9D,OAAA,GAAU,iBAAA;AAAA"}
@@ -1,4 +1,5 @@
1
1
  import { Placeholders } from "./placeholders.type.mjs";
2
+ import { PromptValidationResult, PromptsValidateOptions } from "../prompts/prompts-manager.type.mjs";
2
3
 
3
4
  //#region ../@warlock.js/ai/src/contracts/system-prompt.contract.d.ts
4
5
  /**
@@ -53,6 +54,53 @@ interface PersonaContract extends SystemPromptBlockContract {
53
54
  interface InstructionContract extends SystemPromptBlockContract {
54
55
  readonly type: "instruction";
55
56
  }
57
+ /**
58
+ * Identity + provenance metadata attached to a `SystemPromptContract`.
59
+ *
60
+ * A prompt that carries a `name` becomes addressable in the `ai.prompts`
61
+ * registry (keyed by `name@version`); anonymous prompts (no `name`) are never
62
+ * registered and exist only for inline composition / display.
63
+ *
64
+ * `composedFrom` records the deterministic source labels a prompt was merged
65
+ * from (e.g. `["base@2", "global-instructions@1"]`) — provenance with no
66
+ * random suffixes, so the same merge always yields the same labels.
67
+ *
68
+ * @example
69
+ * const base = ai.systemPrompt("You are support.", {
70
+ * name: "support",
71
+ * version: "1",
72
+ * description: "Tier-1 support persona.",
73
+ * });
74
+ */
75
+ interface SystemPromptMeta {
76
+ /** Registry name. When present the prompt auto-registers in `ai.prompts`. */
77
+ readonly name?: string;
78
+ /** Registry version label. Defaults to the next integer when omitted. */
79
+ readonly version?: string;
80
+ /** Human-readable description of the prompt's purpose. */
81
+ readonly description?: string;
82
+ /** Deterministic source labels this prompt was composed from (e.g. `["base@2"]`). */
83
+ readonly composedFrom?: readonly string[];
84
+ /** Placeholder keys callers must supply when resolving this prompt. */
85
+ readonly required?: readonly string[];
86
+ }
87
+ /**
88
+ * Options for the registry-aware overload of {@link SystemPromptContract.merge}
89
+ * that folds in a named prompt resolved from `ai.prompts`.
90
+ */
91
+ interface SystemPromptMergeOptions {
92
+ /**
93
+ * Which registered version to fold in when merging by name. Defaults to the
94
+ * latest registered version. Ignored when merging a contract instance.
95
+ */
96
+ readonly fromVersion?: string;
97
+ }
98
+ /**
99
+ * A source that {@link SystemPromptContract.merge} can fold in: a pre-built
100
+ * block, another prompt contract (its blocks are folded — persona replaces,
101
+ * instructions append), or a registered prompt name resolved from `ai.prompts`.
102
+ */
103
+ type SystemPromptMergeSource = SystemPromptBlockContract | SystemPromptContract | string;
56
104
  /**
57
105
  * Immutable builder for composing a layered system prompt out of persona and
58
106
  * instruction blocks. Every mutating method returns a fresh builder — the
@@ -92,6 +140,29 @@ interface InstructionContract extends SystemPromptBlockContract {
92
140
  interface SystemPromptContract {
93
141
  /** All blocks in render order. Read-only snapshot — use `persona()` / `instruction()` to derive a new builder. */
94
142
  readonly blocks: readonly SystemPromptBlockContract[];
143
+ /**
144
+ * Identity + provenance metadata. Read it via the no-argument
145
+ * {@link SystemPromptContract.meta} accessor (`prompt.meta()`); it is
146
+ * present when the prompt was given a name (via `systemPrompt(input, meta)`
147
+ * or `.meta({ name })`) or acquired `composedFrom` provenance through a
148
+ * `merge`, and `undefined` for a bare anonymous prompt.
149
+ *
150
+ * Exposed as a method (not a bare field) because the same `meta` identifier
151
+ * also serves as the immutable updater — see the call signatures below.
152
+ */
153
+ /**
154
+ * No-argument form: read the current metadata snapshot (or `undefined` when
155
+ * the prompt is anonymous and carries no provenance).
156
+ */
157
+ meta(): SystemPromptMeta | undefined;
158
+ /**
159
+ * Updater form: return a new builder with `meta` merged onto the current
160
+ * metadata (shallow). Immutable — the original is untouched. Giving the
161
+ * result a `name` registers it in `ai.prompts` under `name@version`
162
+ * (version defaults to the next integer); renaming a forked prompt creates
163
+ * a new registry key while the original entry stays put.
164
+ */
165
+ meta(meta: SystemPromptMeta): SystemPromptContract;
95
166
  /**
96
167
  * Set (or replace) the persona block. Returns a new builder. If a persona
97
168
  * already exists it's replaced in place (preserving its position);
@@ -103,6 +174,30 @@ interface SystemPromptContract {
103
174
  * accumulate — instructions render in the order they were added.
104
175
  */
105
176
  instruction(instruction: InstructionContract | string): SystemPromptContract;
177
+ /**
178
+ * Merge N predefined blocks into the prompt in one call. Each block is
179
+ * folded in order through the same per-type rules as `persona()` /
180
+ * `instruction()`: a `persona` block sets/replaces the single, leading
181
+ * persona; every other block is appended in order. Accepts pre-built
182
+ * `ai.persona()` / `ai.instruction()` blocks (or any `SystemPromptBlockContract`)
183
+ * for reuse across prompts. Returns a new builder; the original is untouched.
184
+ */
185
+ merge(...blocks: readonly SystemPromptBlockContract[]): SystemPromptContract;
186
+ /**
187
+ * Fold in another prompt's blocks. A persona block replaces this prompt's
188
+ * persona; instruction (and any other) blocks append in order. The result's
189
+ * `meta.composedFrom` records the deterministic source labels of both this
190
+ * prompt and the folded one (e.g. `["base@2", "global-instructions@1"]`).
191
+ * Returns a new builder; the original is untouched.
192
+ */
193
+ merge(source: SystemPromptContract): SystemPromptContract;
194
+ /**
195
+ * Fold in a prompt resolved from the `ai.prompts` registry by name. Uses the
196
+ * latest registered version unless `options.fromVersion` selects another.
197
+ * Throws `InvalidRequestError` when the name (or requested version) is not
198
+ * registered. Provenance is recorded in `meta.composedFrom`.
199
+ */
200
+ merge(name: string, options?: SystemPromptMergeOptions): SystemPromptContract;
106
201
  /**
107
202
  * Resolve all placeholders across every block, producing the final system
108
203
  * prompt string. Blocks render in insertion order, separated by a blank line.
@@ -112,7 +207,14 @@ interface SystemPromptContract {
112
207
  * @param placeholders - Values to inject into `{{mustache}}` slots.
113
208
  */
114
209
  resolve(placeholders?: Placeholders): string;
210
+ /**
211
+ * Sugar over `ai.prompts.validate(this, options)`. Runs the deterministic
212
+ * placeholder check (missing required `{{keys}}`) and, when `options.judge`
213
+ * is a model, the Nova-safe LLM-as-judge quality pass. The result's `ok`
214
+ * reflects the deterministic verdict alone; a flaky judge never flips it.
215
+ */
216
+ validate(options?: PromptsValidateOptions): Promise<PromptValidationResult>;
115
217
  }
116
218
  //#endregion
117
- export { InstructionContract, PersonaContract, SystemPromptBlockContract, SystemPromptContract };
219
+ export { InstructionContract, PersonaContract, SystemPromptBlockContract, SystemPromptContract, SystemPromptMergeOptions, SystemPromptMergeSource, SystemPromptMeta };
118
220
  //# sourceMappingURL=system-prompt.contract.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/ai/src/contracts/system-prompt.contract.ts"],"mappings":";;;;;AAiBA;;;;;;;;;;AAQqC;AAarC;;UArBiB,yBAAA;EAqBwB;EAAA,SAnB9B,IAAA;EAoCM;EAAA,SAjCN,IAAA;;EAGT,OAAA,CAAQ,YAAA,GAAe,YAAY;AAAA;AAsErC;;;;;;;;;;AAAA,UAzDiB,eAAA,SAAwB,yBAAyB;EAAA,SACvD,IAAI;AAAA;;;;;;;;;;;;;AAiFsB;UAjEpB,mBAAA,SAA4B,yBAAyB;EAAA,SAC3D,IAAI;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuCE,oBAAA;;WAEN,MAAA,WAAiB,yBAAA;;;;;;EAO1B,OAAA,CAAQ,OAAA,EAAS,eAAA,YAA2B,oBAAA;;;;;EAM5C,WAAA,CAAY,WAAA,EAAa,mBAAA,YAA+B,oBAAA;;;;;;;;;EAUxD,OAAA,CAAQ,YAAA,GAAe,YAAA;AAAA"}
1
+ {"version":3,"file":"system-prompt.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/ai/src/contracts/system-prompt.contract.ts"],"mappings":";;;;;;AAqBA;;;;;;;;;;AAQqC;AAarC;;UArBiB,yBAAA;EAqBwB;EAAA,SAnB9B,IAAA;EAoCM;EAAA,SAjCN,IAAA;;EAGT,OAAA,CAAQ,YAAA,GAAe,YAAY;AAAA;AAoDrC;;;;;;;;;;AAAA,UAvCiB,eAAA,SAAwB,yBAAyB;EAAA,SACvD,IAAI;AAAA;;;AAgEO;AAQtB;;;;AAEwB;AAuCxB;;;;;UAjGiB,mBAAA,SAA4B,yBAAyB;EAAA,SAC3D,IAAI;AAAA;;;;;;;;;;;;;;;;;;;UAqBE,gBAAA;EAuGf;EAAA,SArGS,IAAA;EAqGJ;EAAA,SAlGI,OAAA;EAyGT;EAAA,SAtGS,WAAA;EAsGD;EAAA,SAnGC,YAAA;EAyGT;EAAA,SAtGS,QAAA;AAAA;;;;;UAOM,wBAAA;EAkHf;;;;EAAA,SA7GS,WAAW;AAAA;;;;;;KAQV,uBAAA,GACR,yBAAA,GACA,oBAAoB;;;;;;;AAgIoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAzF3D,oBAAA;;WAEN,MAAA,WAAiB,yBAAA;;;;;;;;;;;;;;;EAiB1B,IAAA,IAAQ,gBAAA;;;;;;;;EASR,IAAA,CAAK,IAAA,EAAM,gBAAA,GAAmB,oBAAA;;;;;;EAO9B,OAAA,CAAQ,OAAA,EAAS,eAAA,YAA2B,oBAAA;;;;;EAM5C,WAAA,CAAY,WAAA,EAAa,mBAAA,YAA+B,oBAAA;;;;;;;;;EAUxD,KAAA,IAAS,MAAA,WAAiB,yBAAA,KAA8B,oBAAA;;;;;;;;EASxD,KAAA,CAAM,MAAA,EAAQ,oBAAA,GAAuB,oBAAA;;;;;;;EAQrC,KAAA,CACE,IAAA,UACA,OAAA,GAAU,wBAAA,GACT,oBAAA;;;;;;;;;EAUH,OAAA,CAAQ,YAAA,GAAe,YAAA;;;;;;;EAQvB,QAAA,CAAS,OAAA,GAAU,sBAAA,GAAyB,OAAA,CAAQ,sBAAA;AAAA"}
@@ -0,0 +1 @@
1
+ import { TeamConfig, TeamGate, TeamGateFn, TeamMemberValue } from "./team-config.type.mjs";
@@ -0,0 +1,127 @@
1
+ import { AgentContract } from "../agent/agent.contract.mjs";
2
+ import { FlowObserveOption } from "../../observe/resolve-observers.mjs";
3
+ import { SnapshotStore } from "../orchestrator/snapshot-store.contract.mjs";
4
+ import { WorkflowInstance } from "../workflow/workflow.contract.mjs";
5
+ import { SystemPromptContract } from "../system-prompt.contract.mjs";
6
+ import { RouterEntry } from "../supervisor/router-entry.type.mjs";
7
+ import { SupervisorConfig, SupervisorEventHandlers } from "../supervisor/supervisor-config.type.mjs";
8
+ import { EvaluateContext, EvaluateResult } from "../supervisor/evaluate-context.type.mjs";
9
+ import { StandardSchemaV1 } from "@standard-schema/spec";
10
+
11
+ //#region ../@warlock.js/ai/src/contracts/team/team-config.type.d.ts
12
+ /**
13
+ * A role member — an agent or a workflow. The same shorthand the
14
+ * supervisor accepts on each `intents` value, narrowed to the two
15
+ * dispatchable unit shapes `team()` forwards verbatim. (Callback /
16
+ * full-entry intent shapes still work when forwarded — this alias is
17
+ * the documented, autocomplete-friendly subset for the common case.)
18
+ */
19
+ type TeamMemberValue = AgentContract<unknown> | WorkflowInstance<unknown, unknown>;
20
+ /**
21
+ * The built-in quality-gate strategies. Each desugars to a concrete
22
+ * {@link SupervisorConfig.evaluate} callback — no new loop or
23
+ * termination code; both lean entirely on the already-shipped
24
+ * {@link EvaluateResult} semantics (`satisfied` terminates,
25
+ * `reassignTo` re-dispatches the fixer, `feedback` threads forward).
26
+ *
27
+ * - `"quality"` — review-then-fix loop. After members settle, read the
28
+ * reviewer's verdict slice (`state.approved` by default); if not
29
+ * approved, `reassignTo` the fixer with the reviewer feedback
30
+ * (`state.notes`) threaded forward. Terminates on approval.
31
+ * - `"verify"` — test-then-fix loop. Same shape but keyed on the
32
+ * tester's pass/fail slice (`state.passed` by default) instead of a
33
+ * subjective reviewer score.
34
+ */
35
+ type TeamGate = "quality" | "verify";
36
+ /**
37
+ * Fully-custom gate — an escape hatch identical to
38
+ * {@link SupervisorConfig.evaluate}. Supplying a function instead of a
39
+ * {@link TeamGate} string opts out of the sugar entirely while keeping
40
+ * the rest of `team()`'s wiring. Forwarded straight through as
41
+ * `evaluate` with zero wrapping.
42
+ */
43
+ type TeamGateFn<TState> = (ctx: EvaluateContext<TState>) => EvaluateResult | Promise<EvaluateResult>;
44
+ /**
45
+ * Config for `ai.team(config)` — thin, transparent sugar over
46
+ * {@link SupervisorConfig}. `team()` builds a `SupervisorConfig` from
47
+ * these fields and calls `supervisor(...)`, returning the **unchanged**
48
+ * `SupervisorContract<TOutput>`. It owns no loop: the manager becomes
49
+ * `route`/`router`, the members become `intents`, and the gate becomes
50
+ * `evaluate`. Everything else passes through 1:1.
51
+ *
52
+ * @example
53
+ * const codeTeam = ai.team({
54
+ * name: "code-team",
55
+ * goal: "Ship a tested module that passes review.",
56
+ * manager: techLeadRouter,
57
+ * members: { builder, reviewer, fixer },
58
+ * gate: "quality",
59
+ * output: v.object({ code: v.string() }),
60
+ * maxIterations: 6,
61
+ * });
62
+ */
63
+ type TeamConfig<TOutput = unknown, TState = TOutput, TMembers extends Record<string, TeamMemberValue> = Record<string, TeamMemberValue>> = {
64
+ /** Stable identifier — forwarded verbatim to `SupervisorConfig.name`. */name: string; /** Optional dev-curated version string — forwarded to `SupervisorConfig.version`. */
65
+ version?: string;
66
+ /**
67
+ * The manager. Drives dispatch each iteration. Two forms:
68
+ * - an `AgentContract` / `RouterEntry` → becomes `SupervisorConfig.router`
69
+ * (LLM-driven manager).
70
+ * - `{ route }` → becomes `SupervisorConfig.route` (deterministic manager).
71
+ * Exactly one is forwarded; mutually exclusive (mirrors the
72
+ * supervisor's own `router` XOR `route` rule).
73
+ */
74
+ manager: AgentContract<unknown> | RouterEntry<TState> | {
75
+ route: NonNullable<SupervisorConfig<TOutput, TState>["route"]>;
76
+ };
77
+ /**
78
+ * Role members keyed by role name (e.g. `builder`, `reviewer`,
79
+ * `tester`, `fixer`). Forwarded verbatim as `SupervisorConfig.intents`.
80
+ * The keys are the role names the manager routes to AND the keys
81
+ * `ctx.intents.<role>` exposes (escape hatch preserved).
82
+ */
83
+ members: TMembers;
84
+ /**
85
+ * The quality gate. A {@link TeamGate} string selects a pre-built
86
+ * `evaluate` strategy; a function is forwarded straight to
87
+ * `SupervisorConfig.evaluate` (full escape hatch). Required — a team
88
+ * without a gate is just a supervisor.
89
+ */
90
+ gate: TeamGate | TeamGateFn<TState>;
91
+ /**
92
+ * Role-name mapping for the built-in string gates. Only consulted
93
+ * when `gate` is a {@link TeamGate} string. Defaults:
94
+ * `{ reviewer: "reviewer", fixer: "fixer", tester: "tester" }`.
95
+ * Override when your `members` keys differ from the canonical role
96
+ * names.
97
+ */
98
+ roles?: {
99
+ reviewer?: keyof TMembers & string;
100
+ fixer?: keyof TMembers & string;
101
+ tester?: keyof TMembers & string;
102
+ };
103
+ /**
104
+ * State key the gate reads to decide satisfaction. Defaults to
105
+ * `"approved"` for `gate: "quality"` and `"passed"` for
106
+ * `gate: "verify"`. The named member's `output` schema must write a
107
+ * boolean into this key.
108
+ */
109
+ gateKey?: string; /** Natural-language objective — forwarded verbatim to `SupervisorConfig.goal`. */
110
+ goal?: string | SystemPromptContract; /** Final-state schema — forwarded verbatim to `SupervisorConfig.output`. */
111
+ output?: StandardSchemaV1<TOutput>; /** Initial state seed — forwarded verbatim to `SupervisorConfig.state`. */
112
+ state?: TState; /** Hard iteration cap — forwarded verbatim; defaults to the supervisor's `10`. */
113
+ maxIterations?: number; /** Durable snapshot store — forwarded verbatim to `SupervisorConfig.snapshotStore`. */
114
+ snapshotStore?: SnapshotStore; /** Definition-level event handlers — forwarded verbatim to `SupervisorConfig.on`. */
115
+ on?: SupervisorEventHandlers;
116
+ /**
117
+ * Observability for this team — forwarded verbatim to
118
+ * `SupervisorConfig.observe`, so the underlying supervisor routes its
119
+ * completed report through the same generic `Observer` seam every
120
+ * other flow uses. Additive and gated; see `SupervisorConfig.observe`
121
+ * for the value semantics (`true` / `false` / a flow-local `Observer`).
122
+ */
123
+ observe?: FlowObserveOption;
124
+ };
125
+ //#endregion
126
+ export { TeamConfig, TeamGate, TeamGateFn, TeamMemberValue };
127
+ //# sourceMappingURL=team-config.type.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-config.type.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/ai/src/contracts/team/team-config.type.ts"],"mappings":";;;;;;;;;;;;;AAiBA;;;;AAEoB;KAFR,eAAA,GACR,aAAA,YACA,gBAAgB;;;;AAiBA;AASpB;;;;;;;;;;;KATY,QAAA;;;;;;;AAWgC;KAFhC,UAAA,YACV,GAAA,EAAK,eAAA,CAAgB,MAAA,MAClB,cAAA,GAAiB,OAAA,CAAQ,cAAA;;;;;;;;;;;;;;;;;;;;KAqBlB,UAAA,6BAED,OAAA,mBACQ,MAAA,SAAe,eAAA,IAAmB,MAAA,SAAe,eAAA;EA+CjD,yEA5CjB,IAAA,UA6D0B;EA1D1B,OAAA;EA6DQ;;;;;;;;EAnDR,OAAA,EACI,aAAA,YACA,WAAA,CAAY,MAAA;IACV,KAAA,EAAO,WAAA,CAAY,gBAAA,CAAiB,OAAA,EAAS,MAAA;EAAA;EAnBnB;;;;;;EA2BhC,OAAA,EAAS,QAAA;EATL;;;;;;EAiBJ,IAAA,EAAM,QAAA,GAAW,UAAA,CAAW,MAAA;EAR5B;;;;;;;EAiBA,KAAA;IACE,QAAA,SAAiB,QAAA;IACjB,KAAA,SAAc,QAAA;IACd,MAAA,SAAe,QAAA;EAAA;EAAA;;;;;;EASjB,OAAA,WAWA;EANA,IAAA,YAAgB,oBAAA,EAShB;EANA,MAAA,GAAS,gBAAA,CAAiB,OAAA,GASV;EANhB,KAAA,GAAQ,MAAA,EASH;EANL,aAAA,WAeU;EAZV,aAAA,GAAgB,aAAA,EAYW;EAT3B,EAAA,GAAK,uBAAA;;;;;;;;EASL,OAAA,GAAU,iBAAA;AAAA"}
@@ -121,8 +121,10 @@ interface ToolConfig<TInput = unknown, TOutput = unknown> {
121
121
  *
122
122
  * Two forms:
123
123
  * - **string** — static, used as-is.
124
- * - **function** — receives the validated input and returns a
125
- * string, so callers can include input data
124
+ * - **function** — receives the model's **raw, pre-validation**
125
+ * input (resolved at the dispatch boundary, before `execute`'s
126
+ * schema validation runs) and returns a string, so callers can
127
+ * include input data
126
128
  * (`(input) => \`Searching for "${input.query}"\``).
127
129
  *
128
130
  * Resolved at the framework boundary; consumers receive a
@@ -1 +1 @@
1
- {"version":3,"file":"tool.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/ai/src/contracts/tool.contract.ts"],"mappings":";;;;;AAQA;;;;KAAY,QAAA,GAAW,MAAM;AAoC7B;;;;AAAoB;AAmCpB;;;;;;;;;;;;;;;AASsB;AAiBtB;;;;;;;;;;;;;AA7DA,KAAY,QAAA;;;;;;;;;;;;;;;;;;;;;;;;AAmHgD;;;;;;;;;;KAhFhD,WAAA,cAAyB,MAAA;;;;;;;EAOnC,SAAA,EAAW,UAAA;EAEX,MAAA,GAAS,WAAA;AAAA;;;;;;;;;;;;;;;UAiBM,UAAA;;EAEf,IAAA;;EAEA,WAAA;;;;;;;;EAQA,OAAA;;;;;;;;;;;;;;;;EAgBA,MAAA,cAAoB,KAAA,EAAO,MAAA;;EAE3B,IAAA,GAAO,QAAA;;;;;;;EAOP,IAAA,GAAO,QAAA;;;;;;EAMP,KAAA,GAAQ,gBAAA,CAAiB,MAAA;;;;;;;;;;;EAWzB,OAAA,CAAQ,KAAA,EAAO,MAAA,EAAQ,GAAA,GAAM,WAAA,GAAc,OAAA,CAAQ,OAAA;AAAA"}
1
+ {"version":3,"file":"tool.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/ai/src/contracts/tool.contract.ts"],"mappings":";;;;;AAQA;;;;KAAY,QAAA,GAAW,MAAM;AAoC7B;;;;AAAoB;AAmCpB;;;;;;;;;;;;;;;AASsB;AAiBtB;;;;;;;;;;;;;AA7DA,KAAY,QAAA;;;;;;;;;;;;;;;;;;;;;;;;AAqHgD;;;;;;;;;;KAlFhD,WAAA,cAAyB,MAAA;;;;;;;EAOnC,SAAA,EAAW,UAAA;EAEX,MAAA,GAAS,WAAA;AAAA;;;;;;;;;;;;;;;UAiBM,UAAA;;EAEf,IAAA;;EAEA,WAAA;;;;;;;;EAQA,OAAA;;;;;;;;;;;;;;;;;;EAkBA,MAAA,cAAoB,KAAA,EAAO,MAAA;;EAE3B,IAAA,GAAO,QAAA;;;;;;;EAOP,IAAA,GAAO,QAAA;;;;;;EAMP,KAAA,GAAQ,gBAAA,CAAiB,MAAA;;;;;;;;;;;EAWzB,OAAA,CAAQ,KAAA,EAAO,MAAA,EAAQ,GAAA,GAAM,WAAA,GAAc,OAAA,CAAQ,OAAA;AAAA"}
@@ -0,0 +1,101 @@
1
+ import { Usage } from "./result/usage.type.mjs";
2
+
3
+ //#region ../@warlock.js/ai/src/contracts/transcription-model.contract.d.ts
4
+ /**
5
+ * USD pricing for a speech-to-text (transcription) model. STT providers
6
+ * meter one of two ways; this single shape covers both so the cost
7
+ * folds into the same `Usage.cost` rollup as text / image / speech:
8
+ *
9
+ * - **Per-minute** (OpenAI `whisper-1`): billed per minute of input
10
+ * audio. Set `perMinute` (USD per audio-minute).
11
+ * - **Token-metered** (OpenAI `gpt-4o-transcribe`): billed per
12
+ * input/output token. Set `input` / `output` (USD per 1M tokens).
13
+ *
14
+ * Per-minute wins when both are set. Nothing set → `Usage.cost` stays
15
+ * `undefined`.
16
+ *
17
+ * @example
18
+ * const pricing: TranscriptionModelPricing = { perMinute: 0.006 }; // whisper-1
19
+ */
20
+ type TranscriptionModelPricing = {
21
+ /** USD per minute of input audio — per-minute-metered STT. */perMinute?: number; /** USD per 1M input (audio) tokens — token-metered STT. */
22
+ input?: number; /** USD per 1M output (text) tokens — token-metered STT. */
23
+ output?: number;
24
+ };
25
+ /** One timestamped segment of a transcription (when the provider returns segments). */
26
+ type TranscriptionSegment = {
27
+ text: string; /** Segment start time in seconds. */
28
+ start?: number; /** Segment end time in seconds. */
29
+ end?: number;
30
+ };
31
+ /**
32
+ * The audio to transcribe — inlined base64 bytes with an explicit IANA
33
+ * media type, plus an optional filename (some providers infer the codec
34
+ * from the extension). Read a file to base64 before calling, or pass
35
+ * in-memory bytes; this keeps the verb provider-neutral and
36
+ * serializable (no `fs` coupling in core).
37
+ *
38
+ * @example
39
+ * const audio: AudioInput = { base64: buf.toString("base64"), mediaType: "audio/mpeg", filename: "note.mp3" };
40
+ */
41
+ type AudioInput = {
42
+ base64: string;
43
+ mediaType: string;
44
+ filename?: string;
45
+ };
46
+ /** Options for a single {@link TranscriptionModelContract.transcribe} request. */
47
+ type TranscribeOptions = {
48
+ /** BCP-47 language hint (e.g. `"en"`) — improves accuracy + latency. */language?: string; /** Optional priming prompt (spelling/style hints). */
49
+ prompt?: string; /** Provider response format override (e.g. `"verbose_json"` for segments + duration). */
50
+ format?: string; /** Cancellation handle wired into the provider request where supported. */
51
+ signal?: AbortSignal; /** Provider-specific escape hatch — forwarded verbatim. */
52
+ [key: string]: unknown;
53
+ };
54
+ /**
55
+ * Raw result of a {@link TranscriptionModelContract.transcribe} call —
56
+ * low-level (throws a typed `AIError` on failure). The never-throws
57
+ * envelope is added by the `ai.transcribe()` facade verb.
58
+ */
59
+ type TranscriptionResponse = {
60
+ /** The full transcript text. */text: string; /** Timestamped segments when the provider returns them (verbose mode). */
61
+ segments?: TranscriptionSegment[]; /** Input audio duration in seconds — drives per-minute cost when present. */
62
+ durationSeconds?: number;
63
+ /**
64
+ * Token usage when the provider meters per token (gpt-4o-transcribe);
65
+ * `{ input: 0, output: 0, total: 0 }` for per-minute-metered models,
66
+ * whose spend is priced from {@link durationSeconds}.
67
+ */
68
+ usage: Usage;
69
+ };
70
+ /**
71
+ * Provider-neutral contract for a speech-to-text model — the inverse of
72
+ * {@link SpeechModelContract}. Produced by an adapter's optional
73
+ * `transcribe?(config)` factory and consumed by `ai.transcribe()`.
74
+ *
75
+ * @example
76
+ * const stt = openai.transcribe({ name: "whisper-1" });
77
+ * const { text } = await stt.transcribe({ base64, mediaType: "audio/mpeg" });
78
+ */
79
+ interface TranscriptionModelContract {
80
+ /** Model identifier (e.g. `"whisper-1"`, `"gpt-4o-transcribe"`). */
81
+ readonly name: string;
82
+ /** Provider this model belongs to (e.g. `"openai"`). */
83
+ readonly provider: string;
84
+ /** Per-minute or per-token USD pricing; folded into `Usage.cost` by `ai.transcribe()`. */
85
+ readonly pricing?: TranscriptionModelPricing;
86
+ /** Transcribe audio to text. Throws a typed `AIError` on failure. */
87
+ transcribe(audio: AudioInput, options?: TranscribeOptions): Promise<TranscriptionResponse>;
88
+ }
89
+ /**
90
+ * Configuration passed to an adapter's `transcribe()` factory. Mirrors
91
+ * {@link SpeechModelConfig}: `name` + an optional per-model `pricing`
92
+ * override, with provider-specific keys on the index signature.
93
+ */
94
+ type TranscriptionModelConfig = {
95
+ name: string; /** Per-model USD pricing override; wins over the SDK-level registry. */
96
+ pricing?: TranscriptionModelPricing;
97
+ [key: string]: unknown;
98
+ };
99
+ //#endregion
100
+ export { AudioInput, TranscribeOptions, TranscriptionModelConfig, TranscriptionModelContract, TranscriptionModelPricing, TranscriptionResponse, TranscriptionSegment };
101
+ //# sourceMappingURL=transcription-model.contract.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcription-model.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/ai/src/contracts/transcription-model.contract.ts"],"mappings":";;;;;AAkBA;;;;;;;;AAMQ;AAIR;;;;;KAVY,yBAAA;EAeV,8DAbA,SAAA,WAaG;EAXH,KAAA,WAwBoB;EAtBpB,MAAA;AAAA;;KAIU,oBAAA;EACV,IAAA,UAoBQ;EAlBR,KAAA,WAsBU;EApBV,GAAA;AAAA;;;;;;;;;AA8BY;AAQd;KAzBY,UAAA;EACV,MAAA;EACA,SAAA;EACA,QAAA;AAAA;;KAIU,iBAAA;EA8BV,wEA5BA,QAAA,WA4BY;EA1BZ,MAAA,WAsCe;EApCf,MAAA;EAEA,MAAA,GAAS,WAAW,EA2CF;EAAA,CAzCjB,GAAA;AAAA;;;;;;KAQS,qBAAA;EA8BS,gCA5BnB,IAAA,UA+BkB;EA7BlB,QAAA,GAAW,oBAAA,IA6B6B;EA3BxC,eAAA;EA2B4D;;;AAA6B;AAQ3F;EA7BE,KAAA,EAAO,KAAK;AAAA;;;;;;;AAiCA;;;UArBG,0BAAA;;WAEN,IAAA;;WAEA,QAAA;;WAEA,OAAA,GAAU,yBAAA;;EAGnB,UAAA,CAAW,KAAA,EAAO,UAAA,EAAY,OAAA,GAAU,iBAAA,GAAoB,OAAA,CAAQ,qBAAA;AAAA;;;;;;KAQ1D,wBAAA;EACV,IAAA;EAEA,OAAA,GAAU,yBAAyB;EAAA,CAClC,GAAA;AAAA"}
@@ -169,13 +169,38 @@ type StepDefinition<TInput = unknown, TState = Record<string, unknown>, TContext
169
169
  */
170
170
  retry?: RetryConfig | false;
171
171
  /**
172
- * Parallel children — run concurrently, share `ctx.state`
173
- * (last-write-wins). Mutually exclusive with `run` and `agent`.
174
- * The parent's snapshot is atomic: written only after every child
175
- * settles. Children are addressable at both `ctx.steps.<child>` and
176
- * `ctx.steps.<parent>.steps.<child>`.
172
+ * Parallel children — run concurrently, each starting from a snapshot
173
+ * of the parent `ctx.state`. After every child settles, their
174
+ * resulting states are merged back into the parent in **declaration
175
+ * order** (the order children appear in this array), so a key written
176
+ * by more than one child deterministically resolves to the
177
+ * **last-declared** child's value — regardless of which child finished
178
+ * first. Supply {@link mergeState} to customize conflict resolution
179
+ * (e.g. sum counters, concat arrays). Mutually exclusive with `run`
180
+ * and `agent`. The parent's snapshot is atomic: written only after
181
+ * every child settles. Children are addressable at both
182
+ * `ctx.steps.<child>` and `ctx.steps.<parent>.steps.<child>`.
177
183
  */
178
184
  parallel?: StepDefinition<TInput, TState, TContext>[];
185
+ /**
186
+ * Conflict resolver for {@link parallel} children that write the same
187
+ * `ctx.state` keys. Called once per child, in **declaration order**,
188
+ * with the accumulator (the parent state being built up), that child's
189
+ * resolved state, and the child's name. Mutate `acc` in place.
190
+ *
191
+ * Omit it to keep the deterministic default (last-declared child wins
192
+ * per key — a plain `Object.assign` in declaration order). Supply it
193
+ * for advanced merges:
194
+ *
195
+ * ```ts
196
+ * mergeState: (acc, childState) => {
197
+ * acc.total = (acc.total ?? 0) + (childState.total ?? 0); // sum
198
+ * }
199
+ * ```
200
+ *
201
+ * Only consulted for parallel steps; ignored otherwise.
202
+ */
203
+ mergeState?: (acc: TState, childState: TState, childName: string) => void;
179
204
  /**
180
205
  * Per-step event handlers — fires alongside the workflow-level
181
206
  * `workflow.step.*` events. Scope is step-local (no `workflow.`
@@ -1 +1 @@
1
- {"version":3,"file":"step.contract.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/ai/src/contracts/workflow/step.contract.ts"],"mappings":";;;;;;;;;;;;AAaA;;KAAY,eAAA;EAAe,yEAEzB,QAAA;IAAY,IAAA;EAAA,GAGV;EADF,QAAA;IACE,IAAA;IACA,OAAA;IACA,aAAA;IACA,SAAA;EAAA,GAGsC;EAAxC,MAAA;IAAU,IAAA;IAAc,KAAA;IAAgB,QAAA;EAAA,GAEY;EAApD,SAAA;IAAa,IAAA;IAAc,MAAA;IAAiB,QAAA;EAAA;AAAA;;;;;;KAQlC,cAAA,GAAiB,mBAAmB;EAqBvC,8DAnBP,MAAM;AAAA;;;;;;;;;;KAYI,cAAA,+CAGD,MAAA;EAGT,OAAA,GACE,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,MAClC,OAAA,GAAU,OAAA,CAAQ,OAAA;EACvB,MAAA,GAAS,gBAAA,CAAiB,OAAA;AAAA;;;;;;;;;;;AAAO;AAoBnC;;;;;;KAAY,cAAA,4BAED,MAAA;EAkBI;;;;;;EATb,IAAA;EAwB4B;;;;;;;EAf5B,IAAA,IAAQ,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,gBAAwB,OAAA;EAgCvD;;;;;;EAxBd,MAAA,IAAU,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,aAAqB,OAAA;EA+B3D;;;;;EAxBT,GAAA,IAAO,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA;EA4CX;;;;;;;EAnCjC,KAAA,GAAQ,aAAA;EAoDuB;;;;;;EA5C/B,KAAA,IAAS,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,MAAc,cAAA,GAAiB,OAAA,CAAQ,cAAA;EAsDpD;;;;;EA/CjC,MAAA,GAAS,cAAA,UAAwB,MAAA,EAAQ,MAAA,EAAQ,QAAA;EAgEvB;;;;;;EAxD1B,KAAA,IAAS,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,aAAqB,OAAA;EAgE9D;;;;;;;;;;EApDL,QAAA,IAAY,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,MAAc,cAAA,GAAiB,OAAA,CAAQ,cAAA;EA3DnD;;;;;;;;;;;;;;EA2ErC,SAAA,IACE,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,GACrC,KAAA,EAAO,OAAA,KACJ,cAAA,GAAiB,OAAA,CAAQ,cAAA;EA/Dc;;;;;;EAuE5C,QAAA,IAAY,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,aAAqB,OAAA;EAtDhC;;;;;;EA8DtC,KAAA,GAAQ,WAAA;EAvDC;;;;;;;EAgET,QAAA,GAAW,cAAA,CAAe,MAAA,EAAQ,MAAA,EAAQ,QAAA;EAxDI;;;;;;EAgE9C,EAAA,GAAK,OAAA,eACS,eAAA,IAAmB,OAAA,EAAS,eAAA,CAAgB,CAAA;AAAA"}
1
+ {"version":3,"file":"step.contract.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/ai/src/contracts/workflow/step.contract.ts"],"mappings":";;;;;;;;;;;;AAaA;;KAAY,eAAA;EAAe,yEAEzB,QAAA;IAAY,IAAA;EAAA,GAGV;EADF,QAAA;IACE,IAAA;IACA,OAAA;IACA,aAAA;IACA,SAAA;EAAA,GAGsC;EAAxC,MAAA;IAAU,IAAA;IAAc,KAAA;IAAgB,QAAA;EAAA,GAEY;EAApD,SAAA;IAAa,IAAA;IAAc,MAAA;IAAiB,QAAA;EAAA;AAAA;;;;;;KAQlC,cAAA,GAAiB,mBAAmB;EAqBvC,8DAnBP,MAAM;AAAA;;;;;;;;;;KAYI,cAAA,+CAGD,MAAA;EAGT,OAAA,GACE,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,MAClC,OAAA,GAAU,OAAA,CAAQ,OAAA;EACvB,MAAA,GAAS,gBAAA,CAAiB,OAAA;AAAA;;;;;;;;;;;AAAO;AAoBnC;;;;;;KAAY,cAAA,4BAED,MAAA;EAkBI;;;;;;EATb,IAAA;EAwB4B;;;;;;;EAf5B,IAAA,IAAQ,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,gBAAwB,OAAA;EAgCvD;;;;;;EAxBd,MAAA,IAAU,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,aAAqB,OAAA;EA+B3D;;;;;EAxBT,GAAA,IAAO,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA;EA4CX;;;;;;;EAnCjC,KAAA,GAAQ,aAAA;EAoDuB;;;;;;EA5C/B,KAAA,IAAS,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,MAAc,cAAA,GAAiB,OAAA,CAAQ,cAAA;EAsDpD;;;;;EA/CjC,MAAA,GAAS,cAAA,UAAwB,MAAA,EAAQ,MAAA,EAAQ,QAAA;EAsEvB;;;;;;EA9D1B,KAAA,IAAS,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,aAAqB,OAAA;EA2FzB;;;;;;;;;;EA/E1C,QAAA,IAAY,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,MAAc,cAAA,GAAiB,OAAA,CAAQ,cAAA;EA3D3E;;;;;;;;;;;;;;EA2Eb,SAAA,IACE,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,GACrC,KAAA,EAAO,OAAA,KACJ,cAAA,GAAiB,OAAA,CAAQ,cAAA;EA/DF;;;;;;EAuE5B,QAAA,IAAY,GAAA,EAAK,eAAA,CAAgB,MAAA,EAAQ,MAAA,EAAQ,QAAA,aAAqB,OAAA;EAtDxD;;;;;;EA8Dd,KAAA,GAAQ,WAAA;EA9D6E;;;;;;;;;;;;;EA6ErF,QAAA,GAAW,cAAA,CAAe,MAAA,EAAQ,MAAA,EAAQ,QAAA;EAlDzB;;;;;;;;;;;;;;;;;;EAsEjB,UAAA,IAAc,GAAA,EAAK,MAAA,EAAQ,UAAA,EAAY,MAAA,EAAQ,SAAA;EA3C/C;;;;;;EAmDA,EAAA,GAAK,OAAA,eACS,eAAA,IAAmB,OAAA,EAAS,eAAA,CAAgB,CAAA;AAAA"}