effect 4.0.7 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) hide show
  1. package/README.md +1 -1
  2. package/dist/BigDecimal.d.ts.map +1 -1
  3. package/dist/BigDecimal.js +3 -0
  4. package/dist/BigDecimal.js.map +1 -1
  5. package/dist/Channel.d.ts +12 -6
  6. package/dist/Channel.d.ts.map +1 -1
  7. package/dist/Channel.js +9 -3
  8. package/dist/Channel.js.map +1 -1
  9. package/dist/Config.d.ts +7 -1
  10. package/dist/Config.d.ts.map +1 -1
  11. package/dist/Config.js.map +1 -1
  12. package/dist/Context.d.ts +18 -1
  13. package/dist/Context.d.ts.map +1 -1
  14. package/dist/Context.js +27 -8
  15. package/dist/Context.js.map +1 -1
  16. package/dist/Cron.d.ts +81 -11
  17. package/dist/Cron.d.ts.map +1 -1
  18. package/dist/Cron.js +101 -26
  19. package/dist/Cron.js.map +1 -1
  20. package/dist/Duration.d.ts +78 -0
  21. package/dist/Duration.d.ts.map +1 -1
  22. package/dist/Duration.js +123 -0
  23. package/dist/Duration.js.map +1 -1
  24. package/dist/Effect.d.ts +164 -7
  25. package/dist/Effect.d.ts.map +1 -1
  26. package/dist/Effect.js +11 -1
  27. package/dist/Effect.js.map +1 -1
  28. package/dist/FileSystem.d.ts +59 -4
  29. package/dist/FileSystem.d.ts.map +1 -1
  30. package/dist/FileSystem.js +9 -2
  31. package/dist/FileSystem.js.map +1 -1
  32. package/dist/Glob.d.ts +165 -0
  33. package/dist/Glob.d.ts.map +1 -0
  34. package/dist/Glob.js +127 -0
  35. package/dist/Glob.js.map +1 -0
  36. package/dist/Match.d.ts +86 -0
  37. package/dist/Match.d.ts.map +1 -1
  38. package/dist/Match.js +72 -0
  39. package/dist/Match.js.map +1 -1
  40. package/dist/Pool.d.ts +51 -0
  41. package/dist/Pool.d.ts.map +1 -1
  42. package/dist/Pool.js +59 -9
  43. package/dist/Pool.js.map +1 -1
  44. package/dist/Random.d.ts.map +1 -1
  45. package/dist/Random.js +3 -3
  46. package/dist/Random.js.map +1 -1
  47. package/dist/RcMap.d.ts.map +1 -1
  48. package/dist/RcMap.js +8 -2
  49. package/dist/RcMap.js.map +1 -1
  50. package/dist/Schedule.d.ts +18 -1
  51. package/dist/Schedule.d.ts.map +1 -1
  52. package/dist/Schedule.js +7 -2
  53. package/dist/Schedule.js.map +1 -1
  54. package/dist/Schema.d.ts +666 -41
  55. package/dist/Schema.d.ts.map +1 -1
  56. package/dist/Schema.js +650 -0
  57. package/dist/Schema.js.map +1 -1
  58. package/dist/SchemaGetter.d.ts +6 -1
  59. package/dist/SchemaGetter.d.ts.map +1 -1
  60. package/dist/SchemaGetter.js +22 -11
  61. package/dist/SchemaGetter.js.map +1 -1
  62. package/dist/SchemaRepresentation.d.ts +14 -0
  63. package/dist/SchemaRepresentation.d.ts.map +1 -1
  64. package/dist/SchemaRepresentation.js +16 -0
  65. package/dist/SchemaRepresentation.js.map +1 -1
  66. package/dist/SchemaTransformation.d.ts +8 -3
  67. package/dist/SchemaTransformation.d.ts.map +1 -1
  68. package/dist/SchemaTransformation.js +6 -3
  69. package/dist/SchemaTransformation.js.map +1 -1
  70. package/dist/ScopedCache.d.ts.map +1 -1
  71. package/dist/ScopedCache.js +5 -7
  72. package/dist/ScopedCache.js.map +1 -1
  73. package/dist/Semaphore.d.ts +130 -0
  74. package/dist/Semaphore.d.ts.map +1 -1
  75. package/dist/Semaphore.js +40 -0
  76. package/dist/Semaphore.js.map +1 -1
  77. package/dist/Stream.d.ts +13 -4
  78. package/dist/Stream.d.ts.map +1 -1
  79. package/dist/Stream.js +9 -0
  80. package/dist/Stream.js.map +1 -1
  81. package/dist/Terminal.d.ts +18 -1
  82. package/dist/Terminal.d.ts.map +1 -1
  83. package/dist/Terminal.js +1 -1
  84. package/dist/Terminal.js.map +1 -1
  85. package/dist/ai/AiError.d.ts +43 -116
  86. package/dist/ai/AiError.d.ts.map +1 -1
  87. package/dist/ai/AiError.js +53 -72
  88. package/dist/ai/AiError.js.map +1 -1
  89. package/dist/ai/Decision.d.ts +196 -15
  90. package/dist/ai/Decision.d.ts.map +1 -1
  91. package/dist/ai/Decision.js +130 -0
  92. package/dist/ai/Decision.js.map +1 -1
  93. package/dist/ai/DecisionModel.d.ts +54 -13
  94. package/dist/ai/DecisionModel.d.ts.map +1 -1
  95. package/dist/ai/DecisionModel.js +123 -12
  96. package/dist/ai/DecisionModel.js.map +1 -1
  97. package/dist/ai/McpServer.d.ts +630 -29
  98. package/dist/ai/McpServer.d.ts.map +1 -1
  99. package/dist/ai/McpServer.js +562 -116
  100. package/dist/ai/McpServer.js.map +1 -1
  101. package/dist/ai/McpTest.d.ts +130 -0
  102. package/dist/ai/McpTest.d.ts.map +1 -0
  103. package/dist/ai/McpTest.js +237 -0
  104. package/dist/ai/McpTest.js.map +1 -0
  105. package/dist/ai/Response.d.ts +1 -25
  106. package/dist/ai/Response.d.ts.map +1 -1
  107. package/dist/ai/Response.js +1 -10
  108. package/dist/ai/Response.js.map +1 -1
  109. package/dist/ai/Tool.d.ts +19 -1
  110. package/dist/ai/Tool.d.ts.map +1 -1
  111. package/dist/ai/Tool.js.map +1 -1
  112. package/dist/ai/index.d.ts +5 -0
  113. package/dist/ai/index.d.ts.map +1 -1
  114. package/dist/ai/index.js +5 -0
  115. package/dist/ai/index.js.map +1 -1
  116. package/dist/ai/internal/mcpCore.js +17 -12
  117. package/dist/ai/internal/mcpCore.js.map +1 -1
  118. package/dist/ai/internal/mcpProtocol/v2024_11_05.js +4 -5
  119. package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  120. package/dist/ai/internal/mcpProtocol/v2025_03_26.js +4 -5
  121. package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  122. package/dist/ai/internal/mcpProtocol/v2025_06_18.js +4 -5
  123. package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  124. package/dist/ai/internal/mcpProtocol/v2025_11_25.js +4 -5
  125. package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
  126. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +18 -10
  127. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  128. package/dist/ai/internal/mcpProtocol.js +13 -0
  129. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  130. package/dist/ai/internal/mcpRuntime.js +5 -3
  131. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  132. package/dist/ai/internal/mcpStatefulRuntime.js +6 -1
  133. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  134. package/dist/cli/Argument.d.ts +6 -0
  135. package/dist/cli/Argument.d.ts.map +1 -1
  136. package/dist/cli/Argument.js +2 -0
  137. package/dist/cli/Argument.js.map +1 -1
  138. package/dist/cli/CliOutput.d.ts +65 -1
  139. package/dist/cli/CliOutput.d.ts.map +1 -1
  140. package/dist/cli/CliOutput.js +94 -37
  141. package/dist/cli/CliOutput.js.map +1 -1
  142. package/dist/cli/Command.d.ts +23 -0
  143. package/dist/cli/Command.d.ts.map +1 -1
  144. package/dist/cli/Command.js +8 -0
  145. package/dist/cli/Command.js.map +1 -1
  146. package/dist/cli/Flag.d.ts +107 -0
  147. package/dist/cli/Flag.d.ts.map +1 -1
  148. package/dist/cli/Flag.js +37 -0
  149. package/dist/cli/Flag.js.map +1 -1
  150. package/dist/cli/HelpDoc.d.ts +15 -1
  151. package/dist/cli/HelpDoc.d.ts.map +1 -1
  152. package/dist/cli/Param.d.ts +6 -0
  153. package/dist/cli/Param.d.ts.map +1 -1
  154. package/dist/cli/Param.js +2 -0
  155. package/dist/cli/Param.js.map +1 -1
  156. package/dist/cli/Primitive.d.ts +14 -0
  157. package/dist/cli/Primitive.d.ts.map +1 -1
  158. package/dist/cli/Primitive.js +15 -1
  159. package/dist/cli/Primitive.js.map +1 -1
  160. package/dist/cli/Prompt.d.ts +1 -0
  161. package/dist/cli/Prompt.d.ts.map +1 -1
  162. package/dist/cli/Prompt.js +1 -0
  163. package/dist/cli/Prompt.js.map +1 -1
  164. package/dist/cli/internal/help.d.ts.map +1 -1
  165. package/dist/cli/internal/help.js +17 -10
  166. package/dist/cli/internal/help.js.map +1 -1
  167. package/dist/cluster/Sharding.d.ts.map +1 -1
  168. package/dist/cluster/Sharding.js +90 -28
  169. package/dist/cluster/Sharding.js.map +1 -1
  170. package/dist/cluster/ShardingConfig.d.ts +72 -6
  171. package/dist/cluster/ShardingConfig.d.ts.map +1 -1
  172. package/dist/cluster/ShardingConfig.js +4 -0
  173. package/dist/cluster/ShardingConfig.js.map +1 -1
  174. package/dist/cluster/SingleRunner.d.ts +3 -3
  175. package/dist/cluster/SingleRunner.d.ts.map +1 -1
  176. package/dist/cluster/SingleRunner.js +1 -1
  177. package/dist/cluster/SqlMessageStorage.d.ts +37 -6
  178. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  179. package/dist/cluster/SqlMessageStorage.js +34 -7
  180. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  181. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  182. package/dist/cluster/SqlRunnerStorage.js +23 -8
  183. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  184. package/dist/crypto/Aead.d.ts +322 -0
  185. package/dist/crypto/Aead.d.ts.map +1 -0
  186. package/dist/crypto/Aead.js +331 -0
  187. package/dist/crypto/Aead.js.map +1 -0
  188. package/dist/crypto/Cipher.d.ts +235 -0
  189. package/dist/crypto/Cipher.d.ts.map +1 -0
  190. package/dist/crypto/Cipher.js +233 -0
  191. package/dist/crypto/Cipher.js.map +1 -0
  192. package/dist/crypto/CryptoError.d.ts +212 -0
  193. package/dist/crypto/CryptoError.d.ts.map +1 -0
  194. package/dist/crypto/CryptoError.js +202 -0
  195. package/dist/crypto/CryptoError.js.map +1 -0
  196. package/dist/crypto/Digest.d.ts +143 -0
  197. package/dist/crypto/Digest.d.ts.map +1 -0
  198. package/dist/crypto/Digest.js +146 -0
  199. package/dist/crypto/Digest.js.map +1 -0
  200. package/dist/crypto/Kdf.d.ts +220 -0
  201. package/dist/crypto/Kdf.d.ts.map +1 -0
  202. package/dist/crypto/Kdf.js +212 -0
  203. package/dist/crypto/Kdf.js.map +1 -0
  204. package/dist/crypto/KeyAgreement.d.ts +323 -0
  205. package/dist/crypto/KeyAgreement.d.ts.map +1 -0
  206. package/dist/crypto/KeyAgreement.js +303 -0
  207. package/dist/crypto/KeyAgreement.js.map +1 -0
  208. package/dist/crypto/KeyFormat.d.ts +309 -0
  209. package/dist/crypto/KeyFormat.d.ts.map +1 -0
  210. package/dist/crypto/KeyFormat.js +556 -0
  211. package/dist/crypto/KeyFormat.js.map +1 -0
  212. package/dist/crypto/KeyWrap.d.ts +389 -0
  213. package/dist/crypto/KeyWrap.d.ts.map +1 -0
  214. package/dist/crypto/KeyWrap.js +381 -0
  215. package/dist/crypto/KeyWrap.js.map +1 -0
  216. package/dist/crypto/Mac.d.ts +277 -0
  217. package/dist/crypto/Mac.d.ts.map +1 -0
  218. package/dist/crypto/Mac.js +288 -0
  219. package/dist/crypto/Mac.js.map +1 -0
  220. package/dist/crypto/SecureRandom.d.ts +340 -0
  221. package/dist/crypto/SecureRandom.d.ts.map +1 -0
  222. package/dist/crypto/SecureRandom.js +257 -0
  223. package/dist/crypto/SecureRandom.js.map +1 -0
  224. package/dist/crypto/Signature.d.ts +448 -0
  225. package/dist/crypto/Signature.d.ts.map +1 -0
  226. package/dist/crypto/Signature.js +484 -0
  227. package/dist/crypto/Signature.js.map +1 -0
  228. package/dist/crypto/WebCrypto.d.ts +61 -0
  229. package/dist/crypto/WebCrypto.d.ts.map +1 -0
  230. package/dist/crypto/WebCrypto.js +63 -0
  231. package/dist/crypto/WebCrypto.js.map +1 -0
  232. package/dist/crypto/index.d.ts +65 -0
  233. package/dist/crypto/index.d.ts.map +1 -0
  234. package/dist/crypto/index.js +66 -0
  235. package/dist/crypto/index.js.map +1 -0
  236. package/dist/crypto/internal/asymmetric.d.ts +2 -0
  237. package/dist/crypto/internal/asymmetric.d.ts.map +1 -0
  238. package/dist/crypto/internal/asymmetric.js +210 -0
  239. package/dist/crypto/internal/asymmetric.js.map +1 -0
  240. package/dist/crypto/internal/chacha.d.ts +46 -0
  241. package/dist/crypto/internal/chacha.d.ts.map +1 -0
  242. package/dist/crypto/internal/chacha.js +885 -0
  243. package/dist/crypto/internal/chacha.js.map +1 -0
  244. package/dist/crypto/internal/der.d.ts +6 -0
  245. package/dist/crypto/internal/der.d.ts.map +1 -0
  246. package/dist/crypto/internal/der.js +86 -0
  247. package/dist/crypto/internal/der.js.map +1 -0
  248. package/dist/crypto/internal/digest.d.ts +2 -0
  249. package/dist/crypto/internal/digest.d.ts.map +1 -0
  250. package/dist/crypto/internal/digest.js +15 -0
  251. package/dist/crypto/internal/digest.js.map +1 -0
  252. package/dist/crypto/internal/key.d.ts +2 -0
  253. package/dist/crypto/internal/key.d.ts.map +1 -0
  254. package/dist/crypto/internal/key.js +170 -0
  255. package/dist/crypto/internal/key.js.map +1 -0
  256. package/dist/crypto/internal/md5.d.ts +39 -0
  257. package/dist/crypto/internal/md5.d.ts.map +1 -0
  258. package/dist/crypto/internal/md5.js +179 -0
  259. package/dist/crypto/internal/md5.js.map +1 -0
  260. package/dist/crypto/internal/webCrypto.d.ts +2 -0
  261. package/dist/crypto/internal/webCrypto.d.ts.map +1 -0
  262. package/dist/crypto/internal/webCrypto.js +111 -0
  263. package/dist/crypto/internal/webCrypto.js.map +1 -0
  264. package/dist/encoding/Base64Url.d.ts.map +1 -1
  265. package/dist/encoding/Base64Url.js +3 -2
  266. package/dist/encoding/Base64Url.js.map +1 -1
  267. package/dist/encoding/Csv.d.ts +608 -0
  268. package/dist/encoding/Csv.d.ts.map +1 -0
  269. package/dist/encoding/Csv.js +718 -0
  270. package/dist/encoding/Csv.js.map +1 -0
  271. package/dist/encoding/Hex.d.ts +3 -2
  272. package/dist/encoding/Hex.d.ts.map +1 -1
  273. package/dist/encoding/Hex.js +3 -2
  274. package/dist/encoding/Hex.js.map +1 -1
  275. package/dist/encoding/SchemaBinary.d.ts.map +1 -1
  276. package/dist/encoding/SchemaBinary.js +42 -4
  277. package/dist/encoding/SchemaBinary.js.map +1 -1
  278. package/dist/encoding/Toml.d.ts +17 -3
  279. package/dist/encoding/Toml.d.ts.map +1 -1
  280. package/dist/encoding/Toml.js +104 -16
  281. package/dist/encoding/Toml.js.map +1 -1
  282. package/dist/encoding/Yaml.d.ts +8 -1
  283. package/dist/encoding/Yaml.d.ts.map +1 -1
  284. package/dist/encoding/Yaml.js +54 -18
  285. package/dist/encoding/Yaml.js.map +1 -1
  286. package/dist/encoding/index.d.ts +5 -0
  287. package/dist/encoding/index.d.ts.map +1 -1
  288. package/dist/encoding/index.js +5 -0
  289. package/dist/encoding/index.js.map +1 -1
  290. package/dist/eventlog/EventJournal.d.ts.map +1 -1
  291. package/dist/eventlog/EventJournal.js +6 -3
  292. package/dist/eventlog/EventJournal.js.map +1 -1
  293. package/dist/eventlog/EventLog.d.ts +119 -4
  294. package/dist/eventlog/EventLog.d.ts.map +1 -1
  295. package/dist/eventlog/EventLog.js +200 -12
  296. package/dist/eventlog/EventLog.js.map +1 -1
  297. package/dist/eventlog/EventLogEncryption.d.ts +41 -4
  298. package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
  299. package/dist/eventlog/EventLogEncryption.js +83 -64
  300. package/dist/eventlog/EventLogEncryption.js.map +1 -1
  301. package/dist/eventlog/EventLogMessage.d.ts +279 -0
  302. package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
  303. package/dist/eventlog/EventLogMessage.js +217 -1
  304. package/dist/eventlog/EventLogMessage.js.map +1 -1
  305. package/dist/eventlog/EventLogRemote.d.ts +200 -28
  306. package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
  307. package/dist/eventlog/EventLogRemote.js +186 -16
  308. package/dist/eventlog/EventLogRemote.js.map +1 -1
  309. package/dist/eventlog/EventLogServer.d.ts +3 -0
  310. package/dist/eventlog/EventLogServer.d.ts.map +1 -1
  311. package/dist/eventlog/EventLogServer.js +18 -10
  312. package/dist/eventlog/EventLogServer.js.map +1 -1
  313. package/dist/eventlog/EventLogServerEncrypted.d.ts +326 -5
  314. package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  315. package/dist/eventlog/EventLogServerEncrypted.js +769 -14
  316. package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
  317. package/dist/eventlog/EventLogSessionAuth.d.ts +5 -3
  318. package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  319. package/dist/eventlog/EventLogSessionAuth.js +41 -64
  320. package/dist/eventlog/EventLogSessionAuth.js.map +1 -1
  321. package/dist/eventlog/EventRow.d.ts +4 -0
  322. package/dist/eventlog/EventRow.d.ts.map +1 -1
  323. package/dist/eventlog/EventRow.js +12 -2
  324. package/dist/eventlog/EventRow.js.map +1 -1
  325. package/dist/eventlog/SqlEventJournal.js +2 -2
  326. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  327. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +21 -5
  328. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  329. package/dist/eventlog/SqlEventLogServerEncrypted.js +1048 -113
  330. package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  331. package/dist/eventlog/SqlEventLogServerUnencrypted.js +2 -2
  332. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  333. package/dist/eventlog/internal/batches.d.ts +12 -0
  334. package/dist/eventlog/internal/batches.d.ts.map +1 -0
  335. package/dist/eventlog/internal/batches.js +26 -0
  336. package/dist/eventlog/internal/batches.js.map +1 -0
  337. package/dist/eventlog/internal/compaction.d.ts +38 -0
  338. package/dist/eventlog/internal/compaction.d.ts.map +1 -0
  339. package/dist/eventlog/internal/compaction.js +33 -0
  340. package/dist/eventlog/internal/compaction.js.map +1 -0
  341. package/dist/eventlog/internal/identityRootSecretDerivation.js +66 -67
  342. package/dist/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  343. package/dist/eventlog/internal/remoteCompaction.d.ts +31 -0
  344. package/dist/eventlog/internal/remoteCompaction.d.ts.map +1 -0
  345. package/dist/eventlog/internal/remoteCompaction.js +76 -0
  346. package/dist/eventlog/internal/remoteCompaction.js.map +1 -0
  347. package/dist/http/Cookies.d.ts +172 -0
  348. package/dist/http/Cookies.d.ts.map +1 -1
  349. package/dist/http/Cookies.js +143 -1
  350. package/dist/http/Cookies.js.map +1 -1
  351. package/dist/http/FetchHttpClient.d.ts +26 -2
  352. package/dist/http/FetchHttpClient.d.ts.map +1 -1
  353. package/dist/http/FetchHttpClient.js +78 -15
  354. package/dist/http/FetchHttpClient.js.map +1 -1
  355. package/dist/http/HttpClient.d.ts +79 -8
  356. package/dist/http/HttpClient.d.ts.map +1 -1
  357. package/dist/http/HttpClient.js +65 -5
  358. package/dist/http/HttpClient.js.map +1 -1
  359. package/dist/http/HttpClientRequest.d.ts +9 -5
  360. package/dist/http/HttpClientRequest.d.ts.map +1 -1
  361. package/dist/http/HttpClientRequest.js +2 -3
  362. package/dist/http/HttpClientRequest.js.map +1 -1
  363. package/dist/http/HttpClientResponse.d.ts.map +1 -1
  364. package/dist/http/HttpClientResponse.js +3 -2
  365. package/dist/http/HttpClientResponse.js.map +1 -1
  366. package/dist/http/HttpMethod.d.ts +7 -1
  367. package/dist/http/HttpMethod.d.ts.map +1 -1
  368. package/dist/http/HttpMethod.js +3 -8
  369. package/dist/http/HttpMethod.js.map +1 -1
  370. package/dist/http/HttpServerRequest.d.ts +5 -2
  371. package/dist/http/HttpServerRequest.d.ts.map +1 -1
  372. package/dist/http/HttpServerRequest.js +6 -17
  373. package/dist/http/HttpServerRequest.js.map +1 -1
  374. package/dist/http/HttpServerResponse.d.ts.map +1 -1
  375. package/dist/http/HttpServerResponse.js +3 -2
  376. package/dist/http/HttpServerResponse.js.map +1 -1
  377. package/dist/http/HttpTraceContext.d.ts +2 -1
  378. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  379. package/dist/http/HttpTraceContext.js +7 -5
  380. package/dist/http/HttpTraceContext.js.map +1 -1
  381. package/dist/http/ProblemDetails.d.ts +96 -0
  382. package/dist/http/ProblemDetails.d.ts.map +1 -0
  383. package/dist/http/ProblemDetails.js +98 -0
  384. package/dist/http/ProblemDetails.js.map +1 -0
  385. package/dist/http/index.d.ts +5 -0
  386. package/dist/http/index.d.ts.map +1 -1
  387. package/dist/http/index.js +5 -0
  388. package/dist/http/index.js.map +1 -1
  389. package/dist/http/internal/decompression.js +3 -2
  390. package/dist/http/internal/decompression.js.map +1 -1
  391. package/dist/http/internal/urlParams.js +8 -0
  392. package/dist/http/internal/urlParams.js.map +1 -1
  393. package/dist/http-api/HttpApiBuilder.js +19 -5
  394. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  395. package/dist/http-api/HttpApiClient.d.ts +63 -0
  396. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  397. package/dist/http-api/HttpApiClient.js +51 -0
  398. package/dist/http-api/HttpApiClient.js.map +1 -1
  399. package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
  400. package/dist/http-api/HttpApiEndpoint.js +14 -5
  401. package/dist/http-api/HttpApiEndpoint.js.map +1 -1
  402. package/dist/http-api/HttpApiError.d.ts +185 -13
  403. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  404. package/dist/http-api/HttpApiError.js +128 -0
  405. package/dist/http-api/HttpApiError.js.map +1 -1
  406. package/dist/http-api/HttpApiMiddleware.d.ts +64 -17
  407. package/dist/http-api/HttpApiMiddleware.d.ts.map +1 -1
  408. package/dist/http-api/HttpApiMiddleware.js +85 -1
  409. package/dist/http-api/HttpApiMiddleware.js.map +1 -1
  410. package/dist/http-api/HttpApiSchema.d.ts +76 -14
  411. package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
  412. package/dist/http-api/HttpApiSchema.js +53 -0
  413. package/dist/http-api/HttpApiSchema.js.map +1 -1
  414. package/dist/index.d.ts +5 -5
  415. package/dist/index.d.ts.map +1 -1
  416. package/dist/index.js +5 -5
  417. package/dist/index.js.map +1 -1
  418. package/dist/internal/effect.js +25 -14
  419. package/dist/internal/effect.js.map +1 -1
  420. package/dist/internal/glob.d.ts +2 -0
  421. package/dist/internal/glob.d.ts.map +1 -0
  422. package/dist/internal/glob.js +630 -0
  423. package/dist/internal/glob.js.map +1 -0
  424. package/dist/internal/matcher.js +10 -0
  425. package/dist/internal/matcher.js.map +1 -1
  426. package/dist/internal/persistence.js +9 -0
  427. package/dist/internal/persistence.js.map +1 -1
  428. package/dist/internal/rcRef.js +4 -1
  429. package/dist/internal/rcRef.js.map +1 -1
  430. package/dist/internal/schema/toCodeDocument.js +6 -3
  431. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  432. package/dist/internal/trie.js +42 -13
  433. package/dist/internal/trie.js.map +1 -1
  434. package/dist/internal/ulid.js +41 -0
  435. package/dist/internal/ulid.js.map +1 -1
  436. package/dist/internal/uuid.js +52 -8
  437. package/dist/internal/uuid.js.map +1 -1
  438. package/dist/internal/version.js +1 -1
  439. package/dist/observability/Otlp.d.ts +15 -4
  440. package/dist/observability/Otlp.d.ts.map +1 -1
  441. package/dist/observability/Otlp.js +10 -0
  442. package/dist/observability/Otlp.js.map +1 -1
  443. package/dist/observability/OtlpResource.d.ts +7 -0
  444. package/dist/observability/OtlpResource.d.ts.map +1 -1
  445. package/dist/observability/OtlpResource.js +11 -1
  446. package/dist/observability/OtlpResource.js.map +1 -1
  447. package/dist/persistence/KeyValueStore.d.ts +47 -2
  448. package/dist/persistence/KeyValueStore.d.ts.map +1 -1
  449. package/dist/persistence/KeyValueStore.js +129 -18
  450. package/dist/persistence/KeyValueStore.js.map +1 -1
  451. package/dist/persistence/PersistedQueue.d.ts +9 -0
  452. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  453. package/dist/persistence/PersistedQueue.js +94 -52
  454. package/dist/persistence/PersistedQueue.js.map +1 -1
  455. package/dist/persistence/Persistence.d.ts +10 -4
  456. package/dist/persistence/Persistence.d.ts.map +1 -1
  457. package/dist/persistence/Persistence.js +18 -11
  458. package/dist/persistence/Persistence.js.map +1 -1
  459. package/dist/process/ChildProcess.d.ts +207 -67
  460. package/dist/process/ChildProcess.d.ts.map +1 -1
  461. package/dist/process/ChildProcess.js +56 -158
  462. package/dist/process/ChildProcess.js.map +1 -1
  463. package/dist/process/ChildProcessSpawner.d.ts +5 -0
  464. package/dist/process/ChildProcessSpawner.d.ts.map +1 -1
  465. package/dist/process/ChildProcessSpawner.js.map +1 -1
  466. package/dist/process/CommandLine.d.ts +294 -0
  467. package/dist/process/CommandLine.d.ts.map +1 -0
  468. package/dist/process/CommandLine.js +481 -0
  469. package/dist/process/CommandLine.js.map +1 -0
  470. package/dist/process/index.d.ts +5 -0
  471. package/dist/process/index.d.ts.map +1 -1
  472. package/dist/process/index.js +5 -0
  473. package/dist/process/index.js.map +1 -1
  474. package/dist/reactivity/Atom.d.ts +2 -1
  475. package/dist/reactivity/Atom.d.ts.map +1 -1
  476. package/dist/reactivity/Atom.js +3 -4
  477. package/dist/reactivity/Atom.js.map +1 -1
  478. package/dist/reactivity/AtomRegistry.js.map +1 -1
  479. package/dist/rpc/RpcClient.d.ts +16 -1
  480. package/dist/rpc/RpcClient.d.ts.map +1 -1
  481. package/dist/rpc/RpcClient.js +50 -16
  482. package/dist/rpc/RpcClient.js.map +1 -1
  483. package/dist/rpc/RpcMessage.d.ts +10 -1
  484. package/dist/rpc/RpcMessage.d.ts.map +1 -1
  485. package/dist/rpc/RpcMessage.js +1 -0
  486. package/dist/rpc/RpcMessage.js.map +1 -1
  487. package/dist/rpc/RpcSerialization.d.ts.map +1 -1
  488. package/dist/rpc/RpcSerialization.js +6 -0
  489. package/dist/rpc/RpcSerialization.js.map +1 -1
  490. package/dist/rpc/RpcServer.d.ts +31 -0
  491. package/dist/rpc/RpcServer.d.ts.map +1 -1
  492. package/dist/rpc/RpcServer.js +139 -66
  493. package/dist/rpc/RpcServer.js.map +1 -1
  494. package/dist/schema/Model.d.ts +14 -0
  495. package/dist/schema/Model.d.ts.map +1 -1
  496. package/dist/schema/Model.js +18 -3
  497. package/dist/schema/Model.js.map +1 -1
  498. package/dist/sql/Migrator.d.ts +0 -19
  499. package/dist/sql/Migrator.d.ts.map +1 -1
  500. package/dist/sql/Migrator.js +3 -48
  501. package/dist/sql/Migrator.js.map +1 -1
  502. package/dist/sql/MigratorFileSystem.d.ts +21 -0
  503. package/dist/sql/MigratorFileSystem.d.ts.map +1 -0
  504. package/dist/sql/MigratorFileSystem.js +57 -0
  505. package/dist/sql/MigratorFileSystem.js.map +1 -0
  506. package/dist/sql/SqlClient.d.ts.map +1 -1
  507. package/dist/sql/SqlClient.js +5 -9
  508. package/dist/sql/SqlClient.js.map +1 -1
  509. package/dist/sql/Statement.d.ts +20 -6
  510. package/dist/sql/Statement.d.ts.map +1 -1
  511. package/dist/sql/Statement.js +0 -13
  512. package/dist/sql/Statement.js.map +1 -1
  513. package/dist/sql/index.js +1 -1
  514. package/dist/testing/index.d.ts +0 -5
  515. package/dist/testing/index.d.ts.map +1 -1
  516. package/dist/testing/index.js +0 -5
  517. package/dist/testing/index.js.map +1 -1
  518. package/dist/workflow/internal/crypto.js +9 -8
  519. package/dist/workflow/internal/crypto.js.map +1 -1
  520. package/package.json +3 -1
  521. package/src/BigDecimal.ts +3 -0
  522. package/src/Channel.ts +17 -11
  523. package/src/Config.ts +7 -1
  524. package/src/Context.ts +34 -10
  525. package/src/Cron.ts +178 -29
  526. package/src/Duration.ts +140 -0
  527. package/src/Effect.ts +914 -85
  528. package/src/FileSystem.ts +65 -4
  529. package/src/Glob.ts +205 -0
  530. package/src/Match.ts +127 -0
  531. package/src/Pool.ts +73 -15
  532. package/src/Random.ts +3 -3
  533. package/src/RcMap.ts +5 -1
  534. package/src/Schedule.ts +26 -3
  535. package/src/Schema.ts +1189 -62
  536. package/src/SchemaGetter.ts +27 -11
  537. package/src/SchemaRepresentation.ts +19 -0
  538. package/src/SchemaTransformation.ts +8 -3
  539. package/src/ScopedCache.ts +5 -9
  540. package/src/Semaphore.ts +141 -0
  541. package/src/Stream.ts +15 -6
  542. package/src/Terminal.ts +19 -1
  543. package/src/ai/AiError.ts +56 -80
  544. package/src/ai/Decision.ts +257 -6
  545. package/src/ai/DecisionModel.ts +171 -28
  546. package/src/ai/McpServer.ts +1269 -286
  547. package/src/ai/McpTest.ts +380 -0
  548. package/src/ai/Response.ts +2 -22
  549. package/src/ai/Tool.ts +27 -8
  550. package/src/ai/index.ts +6 -0
  551. package/src/ai/internal/mcpCore.ts +78 -44
  552. package/src/ai/internal/mcpProtocol/v2024_11_05.ts +4 -7
  553. package/src/ai/internal/mcpProtocol/v2025_03_26.ts +4 -7
  554. package/src/ai/internal/mcpProtocol/v2025_06_18.ts +4 -7
  555. package/src/ai/internal/mcpProtocol/v2025_11_25.ts +4 -7
  556. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +15 -10
  557. package/src/ai/internal/mcpProtocol.ts +29 -0
  558. package/src/ai/internal/mcpRuntime.ts +9 -5
  559. package/src/ai/internal/mcpStatefulRuntime.ts +14 -2
  560. package/src/cli/Argument.ts +6 -0
  561. package/src/cli/CliOutput.ts +117 -49
  562. package/src/cli/Command.ts +23 -0
  563. package/src/cli/Flag.ts +107 -0
  564. package/src/cli/HelpDoc.ts +18 -1
  565. package/src/cli/Param.ts +6 -0
  566. package/src/cli/Primitive.ts +16 -1
  567. package/src/cli/Prompt.ts +1 -0
  568. package/src/cli/internal/help.ts +21 -9
  569. package/src/cluster/Sharding.ts +93 -26
  570. package/src/cluster/ShardingConfig.ts +41 -3
  571. package/src/cluster/SingleRunner.ts +3 -3
  572. package/src/cluster/SqlMessageStorage.ts +49 -17
  573. package/src/cluster/SqlRunnerStorage.ts +37 -27
  574. package/src/crypto/Aead.ts +517 -0
  575. package/src/crypto/Cipher.ts +326 -0
  576. package/src/crypto/CryptoError.ts +242 -0
  577. package/src/crypto/Digest.ts +167 -0
  578. package/src/crypto/Kdf.ts +315 -0
  579. package/src/crypto/KeyAgreement.ts +489 -0
  580. package/src/crypto/KeyFormat.ts +712 -0
  581. package/src/crypto/KeyWrap.ts +639 -0
  582. package/src/crypto/Mac.ts +386 -0
  583. package/src/crypto/SecureRandom.ts +459 -0
  584. package/src/crypto/Signature.ts +673 -0
  585. package/src/crypto/WebCrypto.ts +64 -0
  586. package/src/crypto/index.ts +78 -0
  587. package/src/crypto/internal/asymmetric.ts +329 -0
  588. package/src/crypto/internal/chacha.ts +1088 -0
  589. package/src/crypto/internal/der.ts +110 -0
  590. package/src/crypto/internal/digest.ts +16 -0
  591. package/src/crypto/internal/key.ts +235 -0
  592. package/src/crypto/internal/md5.ts +170 -0
  593. package/src/crypto/internal/webCrypto.ts +150 -0
  594. package/src/encoding/Base64Url.ts +5 -2
  595. package/src/encoding/Csv.ts +1298 -0
  596. package/src/encoding/Hex.ts +3 -2
  597. package/src/encoding/SchemaBinary.ts +40 -4
  598. package/src/encoding/Toml.ts +85 -20
  599. package/src/encoding/Yaml.ts +61 -18
  600. package/src/encoding/index.ts +6 -0
  601. package/src/eventlog/EventJournal.ts +4 -3
  602. package/src/eventlog/EventLog.ts +340 -15
  603. package/src/eventlog/EventLogEncryption.ts +118 -110
  604. package/src/eventlog/EventLogMessage.ts +273 -1
  605. package/src/eventlog/EventLogRemote.ts +367 -23
  606. package/src/eventlog/EventLogServer.ts +23 -8
  607. package/src/eventlog/EventLogServerEncrypted.ts +1130 -67
  608. package/src/eventlog/EventLogSessionAuth.ts +56 -70
  609. package/src/eventlog/EventRow.ts +12 -3
  610. package/src/eventlog/SqlEventJournal.ts +2 -2
  611. package/src/eventlog/SqlEventLogServerEncrypted.ts +1244 -136
  612. package/src/eventlog/SqlEventLogServerUnencrypted.ts +2 -2
  613. package/src/eventlog/internal/batches.ts +30 -0
  614. package/src/eventlog/internal/compaction.ts +64 -0
  615. package/src/eventlog/internal/identityRootSecretDerivation.ts +93 -123
  616. package/src/eventlog/internal/remoteCompaction.ts +92 -0
  617. package/src/http/Cookies.ts +281 -1
  618. package/src/http/FetchHttpClient.ts +88 -16
  619. package/src/http/HttpClient.ts +89 -22
  620. package/src/http/HttpClientRequest.ts +12 -9
  621. package/src/http/HttpClientResponse.ts +3 -2
  622. package/src/http/HttpMethod.ts +10 -2
  623. package/src/http/HttpServerRequest.ts +15 -30
  624. package/src/http/HttpServerResponse.ts +3 -2
  625. package/src/http/HttpTraceContext.ts +7 -4
  626. package/src/http/ProblemDetails.ts +149 -0
  627. package/src/http/index.ts +6 -0
  628. package/src/http/internal/decompression.ts +4 -4
  629. package/src/http/internal/urlParams.ts +8 -0
  630. package/src/http-api/HttpApiBuilder.ts +24 -12
  631. package/src/http-api/HttpApiClient.ts +67 -1
  632. package/src/http-api/HttpApiEndpoint.ts +14 -5
  633. package/src/http-api/HttpApiError.ts +250 -0
  634. package/src/http-api/HttpApiMiddleware.ts +95 -1
  635. package/src/http-api/HttpApiSchema.ts +105 -14
  636. package/src/index.ts +6 -6
  637. package/src/internal/effect.ts +34 -18
  638. package/src/internal/glob.ts +736 -0
  639. package/src/internal/matcher.ts +17 -0
  640. package/src/internal/persistence.ts +11 -0
  641. package/src/internal/rcRef.ts +4 -1
  642. package/src/internal/schema/toCodeDocument.ts +7 -3
  643. package/src/internal/trie.ts +43 -14
  644. package/src/internal/ulid.ts +44 -0
  645. package/src/internal/uuid.ts +57 -16
  646. package/src/internal/version.ts +1 -1
  647. package/src/observability/Otlp.ts +21 -4
  648. package/src/observability/OtlpResource.ts +9 -1
  649. package/src/persistence/KeyValueStore.ts +219 -22
  650. package/src/persistence/PersistedQueue.ts +128 -59
  651. package/src/persistence/Persistence.ts +20 -13
  652. package/src/process/ChildProcess.ts +255 -260
  653. package/src/process/ChildProcessSpawner.ts +5 -0
  654. package/src/process/CommandLine.ts +630 -0
  655. package/src/process/index.ts +6 -0
  656. package/src/reactivity/Atom.ts +5 -5
  657. package/src/reactivity/AtomRegistry.ts +1 -1
  658. package/src/rpc/RpcClient.ts +62 -26
  659. package/src/rpc/RpcMessage.ts +10 -1
  660. package/src/rpc/RpcSerialization.ts +3 -0
  661. package/src/rpc/RpcServer.ts +176 -78
  662. package/src/schema/Model.ts +26 -3
  663. package/src/sql/Migrator.ts +4 -63
  664. package/src/sql/MigratorFileSystem.ts +71 -0
  665. package/src/sql/SqlClient.ts +2 -16
  666. package/src/sql/Statement.ts +8 -7
  667. package/src/sql/index.ts +1 -1
  668. package/src/testing/index.ts +0 -6
  669. package/src/workflow/internal/crypto.ts +15 -11
  670. package/dist/Crypto.d.ts +0 -244
  671. package/dist/Crypto.d.ts.map +0 -1
  672. package/dist/Crypto.js +0 -139
  673. package/dist/Crypto.js.map +0 -1
  674. package/dist/testing/TestCrypto.d.ts +0 -73
  675. package/dist/testing/TestCrypto.d.ts.map +0 -1
  676. package/dist/testing/TestCrypto.js +0 -87
  677. package/dist/testing/TestCrypto.js.map +0 -1
  678. package/src/Crypto.ts +0 -347
  679. package/src/testing/TestCrypto.ts +0 -94
@@ -9,10 +9,13 @@
9
9
  */
10
10
  import * as Context from "../Context.js";
11
11
  import * as Effect from "../Effect.js";
12
+ import * as Uuid from "../internal/uuid.js";
12
13
  import * as Predicate from "../Predicate.js";
14
+ import * as Random from "../Random.js";
13
15
  import * as Result from "../Result.js";
14
16
  import * as Schema from "../Schema.js";
15
17
  import * as AiError from "./AiError.js";
18
+ import * as Decision from "./Decision.js";
16
19
  /**
17
20
  * Service key for answering decisions about an input. Create implementations
18
21
  * with `make`.
@@ -54,6 +57,74 @@ const aiError = (method, reason) => AiError.make({
54
57
  method,
55
58
  reason
56
59
  });
60
+ const invalidUserInput = (method, description) => aiError(method, new AiError.InvalidUserInputError({
61
+ description
62
+ }));
63
+ const toProviderImage = value => {
64
+ if (!Predicate.isObject(value) || Object.keys(value).length !== 1) return undefined;
65
+ const image = value[Decision.ImageKey];
66
+ if (!Predicate.isObject(image) || Object.keys(image).length !== 2 || !Predicate.isString(image.mediaType)) {
67
+ return undefined;
68
+ }
69
+ if (Predicate.isString(image.base64)) return {
70
+ mediaType: image.mediaType,
71
+ data: image.base64
72
+ };
73
+ if (Predicate.isString(image.url) && URL.canParse(image.url)) {
74
+ return {
75
+ mediaType: image.mediaType,
76
+ data: new URL(image.url)
77
+ };
78
+ }
79
+ return undefined;
80
+ };
81
+ const formatPath = path => path.map((segment, index) => typeof segment === "number" ? `[${segment}]` : index === 0 ? segment : `.${segment}`).join("");
82
+ const randomUuid = random => {
83
+ const bytes = new Uint8Array(16);
84
+ for (let index = 0; index < bytes.length; index++) {
85
+ bytes[index] = Math.floor(random.nextDoubleUnsafe() * 256);
86
+ }
87
+ return Uuid.v4String(bytes);
88
+ };
89
+ /**
90
+ * Replaces each encoded `Decision.Image` in `state` with a reference. Equal
91
+ * images share one reference. `paths` holds every path where an image was found.
92
+ */
93
+ const extractImages = (state, random) => {
94
+ const images = [];
95
+ const references = new Map();
96
+ const paths = new Set();
97
+ const walk = (value, path) => {
98
+ const image = toProviderImage(value);
99
+ if (image !== undefined) {
100
+ paths.add(formatPath(path));
101
+ const key = `${image.mediaType}\n${typeof image.data === "string" ? `base64:${image.data}` : `url:${image.data.href}`}`;
102
+ let reference = references.get(key);
103
+ if (reference === undefined) {
104
+ reference = randomUuid(random);
105
+ references.set(key, reference);
106
+ images.push({
107
+ reference,
108
+ path,
109
+ image
110
+ });
111
+ }
112
+ return reference;
113
+ }
114
+ if (Array.isArray(value)) {
115
+ return value.map((item, index) => walk(item, [...path, index]));
116
+ }
117
+ if (Predicate.isObject(value)) {
118
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, walk(item, [...path, key])]));
119
+ }
120
+ return value;
121
+ };
122
+ return {
123
+ state: walk(state, []),
124
+ images,
125
+ paths
126
+ };
127
+ };
57
128
  const isFiniteNumber = value => Predicate.isNumber(value) && Number.isFinite(value);
58
129
  const isUnitInterval = value => isFiniteNumber(value) && value >= 0 && value <= 1;
59
130
  const sumTolerance = 1e-6;
@@ -157,6 +228,28 @@ const validateAnswer = (key, decision, answer, roundingError) => {
157
228
  probability: answer.probability
158
229
  });
159
230
  }
231
+ case "Locate":
232
+ {
233
+ const box = answer.box;
234
+ if (!Predicate.isObject(box) || !isUnitInterval(box.left) || !isUnitInterval(box.top) || !isUnitInterval(box.right) || !isUnitInterval(box.bottom)) {
235
+ return invalid(`Provider returned a box with edges outside [0, 1] for decision "${key}"`);
236
+ }
237
+ if (box.left > box.right || box.top > box.bottom) {
238
+ return invalid(`Provider returned a box with crossed edges for decision "${key}"`);
239
+ }
240
+ const bounds = {
241
+ left: box.left,
242
+ top: box.top,
243
+ right: box.right,
244
+ bottom: box.bottom
245
+ };
246
+ return Result.map(validateConfidence(key, answer), confidence => ({
247
+ box: bounds,
248
+ ...(confidence === undefined ? undefined : {
249
+ confidence
250
+ })
251
+ }));
252
+ }
160
253
  }
161
254
  };
162
255
  const settleAnswers = (decisions, answers, roundingError) => {
@@ -195,16 +288,24 @@ const requireAnswers = outcomes => {
195
288
  * Creates a `DecisionModel` that encodes inputs as JSON and validates provider answers.
196
289
  * Answers must cover every decision and use its labels. Distributions must
197
290
  * sum to 1 within `1e-6`, optional confidence must be in `[0, 1]`, and ratings must be
198
- * in `[0, criteria.length - 1]`. With `decide`, refused decisions fail with
291
+ * in `[0, criteria.length - 1]`, and boxes must have edges in `[0, 1]` that do
292
+ * not cross. With `decide`, refused decisions fail with
199
293
  * `AiError.ContentPolicyError` and other unanswered decisions fail with
200
294
  * `AiError.InvalidOutputError`; `decideSettled` reports them per decision
201
295
  * instead. Encoding failures use `AiError.InvalidUserInputError`.
202
296
  *
203
297
  * **Details**
204
298
  *
205
- * Set `supportsImages: true` to accept images. Otherwise, nonempty image input
299
+ * After encoding, each `Decision.Image` in the input is replaced with a
300
+ * reference string, and the provider receives the images in `images`. Set
301
+ * `supportsImages: true` to accept images. Otherwise, an input with images
206
302
  * fails with `AiError.InvalidUserInputError`.
207
303
  *
304
+ * Set `supportsLocate: true` to accept locate decisions; only then does
305
+ * `decide` receive them. Otherwise, a definition with a locate decision fails
306
+ * with `AiError.InvalidUserInputError`, as does a locate decision whose path
307
+ * holds no image.
308
+ *
208
309
  * Providers that round each probability to `probabilityPrecision` decimal
209
310
  * places may return distributions whose sum drifts from 1 by up to half a unit
210
311
  * of the last place per label. Setting `probabilityPrecision` accepts that
@@ -220,19 +321,29 @@ const requireAnswers = outcomes => {
220
321
  */
221
322
  export const make = params => Effect.sync(() => {
222
323
  const roundingError = params.probabilityPrecision === undefined ? 0 : 0.5 * 10 ** -params.probabilityPrecision;
223
- const settle = (method, definition, options) => Schema.encodeEffect(Schema.toCodecJson(definition.input))(options.input).pipe(Effect.mapError(error => aiError(method, new AiError.InvalidUserInputError({
224
- description: error.message
225
- }))), Effect.flatMap(state => {
226
- const images = options.images?.length ? options.images : undefined;
227
- if (images !== undefined && params.supportsImages !== true) {
228
- return Effect.fail(aiError(method, new AiError.InvalidUserInputError({
229
- description: "This decision model does not accept images"
230
- })));
324
+ const settle = (method, definition, options) => Schema.encodeEffect(Schema.toCodecJson(definition.input))(options.input).pipe(Effect.mapError(error => invalidUserInput(method, error.message)), Effect.flatMap(encoded => Effect.withFiber(fiber => Effect.succeed(extractImages(encoded, fiber.getRef(Random.Random))))), Effect.flatMap(({
325
+ state,
326
+ images,
327
+ paths
328
+ }) => {
329
+ if (images.length > 0 && params.supportsImages !== true) {
330
+ return Effect.fail(invalidUserInput(method, "This decision model does not accept images"));
331
+ }
332
+ for (const [key, decision] of Object.entries(definition.decisions)) {
333
+ if (decision._tag !== "Locate") continue;
334
+ if (params.supportsLocate !== true) {
335
+ return Effect.fail(invalidUserInput(method, "This decision model does not support locate decisions"));
336
+ }
337
+ if (!paths.has(decision.image)) {
338
+ return Effect.fail(invalidUserInput(method, `Locate decision "${key}" targets "${decision.image}", which holds no image`));
339
+ }
231
340
  }
232
- return params.decide({
341
+ // Locate decisions were rejected above unless `supportsLocate` is true.
342
+ const decide = params.decide;
343
+ return decide({
233
344
  state,
234
345
  decisions: definition.decisions,
235
- ...(images === undefined ? undefined : {
346
+ ...(images.length === 0 ? undefined : {
236
347
  images
237
348
  })
238
349
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionModel.js","names":[],"sources":["../../src/ai/DecisionModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DecisionModel.js","names":[],"sources":["../../src/ai/DecisionModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}