effect 4.0.7 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (863) hide show
  1. package/README.md +31 -1
  2. package/THIRD_PARTY_NOTICES.md +62 -0
  3. package/dist/BigDecimal.d.ts +139 -7
  4. package/dist/BigDecimal.d.ts.map +1 -1
  5. package/dist/BigDecimal.js +86 -14
  6. package/dist/BigDecimal.js.map +1 -1
  7. package/dist/Channel.d.ts +12 -6
  8. package/dist/Channel.d.ts.map +1 -1
  9. package/dist/Channel.js +9 -3
  10. package/dist/Channel.js.map +1 -1
  11. package/dist/Config.d.ts +7 -1
  12. package/dist/Config.d.ts.map +1 -1
  13. package/dist/Config.js.map +1 -1
  14. package/dist/Context.d.ts +18 -1
  15. package/dist/Context.d.ts.map +1 -1
  16. package/dist/Context.js +27 -8
  17. package/dist/Context.js.map +1 -1
  18. package/dist/Cron.d.ts +81 -11
  19. package/dist/Cron.d.ts.map +1 -1
  20. package/dist/Cron.js +101 -26
  21. package/dist/Cron.js.map +1 -1
  22. package/dist/Duration.d.ts +78 -0
  23. package/dist/Duration.d.ts.map +1 -1
  24. package/dist/Duration.js +123 -0
  25. package/dist/Duration.js.map +1 -1
  26. package/dist/Effect.d.ts +164 -7
  27. package/dist/Effect.d.ts.map +1 -1
  28. package/dist/Effect.js +11 -1
  29. package/dist/Effect.js.map +1 -1
  30. package/dist/Equal.d.ts +2 -2
  31. package/dist/Equal.d.ts.map +1 -1
  32. package/dist/Equal.js +3 -3
  33. package/dist/Equal.js.map +1 -1
  34. package/dist/FileSystem.d.ts +59 -4
  35. package/dist/FileSystem.d.ts.map +1 -1
  36. package/dist/FileSystem.js +9 -2
  37. package/dist/FileSystem.js.map +1 -1
  38. package/dist/Glob.d.ts +165 -0
  39. package/dist/Glob.d.ts.map +1 -0
  40. package/dist/Glob.js +127 -0
  41. package/dist/Glob.js.map +1 -0
  42. package/dist/Hash.d.ts +3 -2
  43. package/dist/Hash.d.ts.map +1 -1
  44. package/dist/Hash.js +5 -4
  45. package/dist/Hash.js.map +1 -1
  46. package/dist/Iterable.d.ts.map +1 -1
  47. package/dist/Iterable.js +11 -8
  48. package/dist/Iterable.js.map +1 -1
  49. package/dist/Match.d.ts +86 -0
  50. package/dist/Match.d.ts.map +1 -1
  51. package/dist/Match.js +72 -0
  52. package/dist/Match.js.map +1 -1
  53. package/dist/Path.d.ts.map +1 -1
  54. package/dist/Path.js +5 -1
  55. package/dist/Path.js.map +1 -1
  56. package/dist/Pool.d.ts +51 -0
  57. package/dist/Pool.d.ts.map +1 -1
  58. package/dist/Pool.js +61 -10
  59. package/dist/Pool.js.map +1 -1
  60. package/dist/Random.d.ts.map +1 -1
  61. package/dist/Random.js +3 -3
  62. package/dist/Random.js.map +1 -1
  63. package/dist/RcMap.d.ts.map +1 -1
  64. package/dist/RcMap.js +8 -2
  65. package/dist/RcMap.js.map +1 -1
  66. package/dist/Schedule.d.ts +18 -1
  67. package/dist/Schedule.d.ts.map +1 -1
  68. package/dist/Schedule.js +7 -2
  69. package/dist/Schedule.js.map +1 -1
  70. package/dist/Schema.d.ts +668 -42
  71. package/dist/Schema.d.ts.map +1 -1
  72. package/dist/Schema.js +652 -1
  73. package/dist/Schema.js.map +1 -1
  74. package/dist/SchemaGetter.d.ts +6 -1
  75. package/dist/SchemaGetter.d.ts.map +1 -1
  76. package/dist/SchemaGetter.js +22 -11
  77. package/dist/SchemaGetter.js.map +1 -1
  78. package/dist/SchemaRepresentation.d.ts +18 -2
  79. package/dist/SchemaRepresentation.d.ts.map +1 -1
  80. package/dist/SchemaRepresentation.js +20 -2
  81. package/dist/SchemaRepresentation.js.map +1 -1
  82. package/dist/SchemaTransformation.d.ts +10 -5
  83. package/dist/SchemaTransformation.d.ts.map +1 -1
  84. package/dist/SchemaTransformation.js +8 -5
  85. package/dist/SchemaTransformation.js.map +1 -1
  86. package/dist/ScopedCache.d.ts.map +1 -1
  87. package/dist/ScopedCache.js +5 -7
  88. package/dist/ScopedCache.js.map +1 -1
  89. package/dist/Semaphore.d.ts +130 -0
  90. package/dist/Semaphore.d.ts.map +1 -1
  91. package/dist/Semaphore.js +40 -0
  92. package/dist/Semaphore.js.map +1 -1
  93. package/dist/Stream.d.ts +13 -4
  94. package/dist/Stream.d.ts.map +1 -1
  95. package/dist/Stream.js +9 -0
  96. package/dist/Stream.js.map +1 -1
  97. package/dist/Terminal.d.ts +18 -1
  98. package/dist/Terminal.d.ts.map +1 -1
  99. package/dist/Terminal.js +1 -1
  100. package/dist/Terminal.js.map +1 -1
  101. package/dist/ai/AiError.d.ts +43 -116
  102. package/dist/ai/AiError.d.ts.map +1 -1
  103. package/dist/ai/AiError.js +53 -72
  104. package/dist/ai/AiError.js.map +1 -1
  105. package/dist/ai/Decision.d.ts +196 -15
  106. package/dist/ai/Decision.d.ts.map +1 -1
  107. package/dist/ai/Decision.js +130 -0
  108. package/dist/ai/Decision.js.map +1 -1
  109. package/dist/ai/DecisionModel.d.ts +54 -13
  110. package/dist/ai/DecisionModel.d.ts.map +1 -1
  111. package/dist/ai/DecisionModel.js +123 -12
  112. package/dist/ai/DecisionModel.js.map +1 -1
  113. package/dist/ai/McpClient.d.ts +171 -19
  114. package/dist/ai/McpClient.d.ts.map +1 -1
  115. package/dist/ai/McpClient.js +277 -66
  116. package/dist/ai/McpClient.js.map +1 -1
  117. package/dist/ai/McpSchema.d.ts +108 -0
  118. package/dist/ai/McpSchema.d.ts.map +1 -1
  119. package/dist/ai/McpSchema.js +99 -0
  120. package/dist/ai/McpSchema.js.map +1 -1
  121. package/dist/ai/McpServer.d.ts +744 -29
  122. package/dist/ai/McpServer.d.ts.map +1 -1
  123. package/dist/ai/McpServer.js +763 -136
  124. package/dist/ai/McpServer.js.map +1 -1
  125. package/dist/ai/McpTest.d.ts +130 -0
  126. package/dist/ai/McpTest.d.ts.map +1 -0
  127. package/dist/ai/McpTest.js +237 -0
  128. package/dist/ai/McpTest.js.map +1 -0
  129. package/dist/ai/Prompt.d.ts.map +1 -1
  130. package/dist/ai/Prompt.js +20 -11
  131. package/dist/ai/Prompt.js.map +1 -1
  132. package/dist/ai/Response.d.ts +1 -25
  133. package/dist/ai/Response.d.ts.map +1 -1
  134. package/dist/ai/Response.js +1 -10
  135. package/dist/ai/Response.js.map +1 -1
  136. package/dist/ai/Tool.d.ts +19 -1
  137. package/dist/ai/Tool.d.ts.map +1 -1
  138. package/dist/ai/Tool.js +5 -7
  139. package/dist/ai/Tool.js.map +1 -1
  140. package/dist/ai/index.d.ts +5 -0
  141. package/dist/ai/index.d.ts.map +1 -1
  142. package/dist/ai/index.js +5 -0
  143. package/dist/ai/index.js.map +1 -1
  144. package/dist/ai/internal/mcpCore.js +89 -15
  145. package/dist/ai/internal/mcpCore.js.map +1 -1
  146. package/dist/ai/internal/mcpProtocol/v2024_11_05.js +7 -6
  147. package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  148. package/dist/ai/internal/mcpProtocol/v2025_03_26.js +7 -6
  149. package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  150. package/dist/ai/internal/mcpProtocol/v2025_06_18.js +7 -6
  151. package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  152. package/dist/ai/internal/mcpProtocol/v2025_11_25.js +7 -6
  153. package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
  154. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +60 -17
  155. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  156. package/dist/ai/internal/mcpProtocol.js +25 -0
  157. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  158. package/dist/ai/internal/mcpRuntime.js +8 -6
  159. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  160. package/dist/ai/internal/mcpSkills.d.ts +2 -0
  161. package/dist/ai/internal/mcpSkills.d.ts.map +1 -0
  162. package/dist/ai/internal/mcpSkills.js +428 -0
  163. package/dist/ai/internal/mcpSkills.js.map +1 -0
  164. package/dist/ai/internal/mcpStatefulRuntime.js +6 -1
  165. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  166. package/dist/cli/Argument.d.ts +6 -0
  167. package/dist/cli/Argument.d.ts.map +1 -1
  168. package/dist/cli/Argument.js +2 -0
  169. package/dist/cli/Argument.js.map +1 -1
  170. package/dist/cli/CliOutput.d.ts +65 -1
  171. package/dist/cli/CliOutput.d.ts.map +1 -1
  172. package/dist/cli/CliOutput.js +94 -37
  173. package/dist/cli/CliOutput.js.map +1 -1
  174. package/dist/cli/Command.d.ts +23 -0
  175. package/dist/cli/Command.d.ts.map +1 -1
  176. package/dist/cli/Command.js +8 -0
  177. package/dist/cli/Command.js.map +1 -1
  178. package/dist/cli/Flag.d.ts +107 -0
  179. package/dist/cli/Flag.d.ts.map +1 -1
  180. package/dist/cli/Flag.js +37 -0
  181. package/dist/cli/Flag.js.map +1 -1
  182. package/dist/cli/HelpDoc.d.ts +15 -1
  183. package/dist/cli/HelpDoc.d.ts.map +1 -1
  184. package/dist/cli/Param.d.ts +6 -0
  185. package/dist/cli/Param.d.ts.map +1 -1
  186. package/dist/cli/Param.js +2 -0
  187. package/dist/cli/Param.js.map +1 -1
  188. package/dist/cli/Primitive.d.ts +14 -0
  189. package/dist/cli/Primitive.d.ts.map +1 -1
  190. package/dist/cli/Primitive.js +15 -1
  191. package/dist/cli/Primitive.js.map +1 -1
  192. package/dist/cli/Prompt.d.ts +1 -0
  193. package/dist/cli/Prompt.d.ts.map +1 -1
  194. package/dist/cli/Prompt.js +1 -0
  195. package/dist/cli/Prompt.js.map +1 -1
  196. package/dist/cli/internal/help.d.ts.map +1 -1
  197. package/dist/cli/internal/help.js +17 -10
  198. package/dist/cli/internal/help.js.map +1 -1
  199. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  200. package/dist/cluster/ClusterWorkflowEngine.js +15 -5
  201. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  202. package/dist/cluster/Reply.d.ts +1 -1
  203. package/dist/cluster/Reply.d.ts.map +1 -1
  204. package/dist/cluster/Reply.js.map +1 -1
  205. package/dist/cluster/Sharding.d.ts.map +1 -1
  206. package/dist/cluster/Sharding.js +93 -28
  207. package/dist/cluster/Sharding.js.map +1 -1
  208. package/dist/cluster/ShardingConfig.d.ts +72 -6
  209. package/dist/cluster/ShardingConfig.d.ts.map +1 -1
  210. package/dist/cluster/ShardingConfig.js +4 -0
  211. package/dist/cluster/ShardingConfig.js.map +1 -1
  212. package/dist/cluster/SingleRunner.d.ts +3 -3
  213. package/dist/cluster/SingleRunner.d.ts.map +1 -1
  214. package/dist/cluster/SingleRunner.js +1 -1
  215. package/dist/cluster/SqlMessageStorage.d.ts +37 -6
  216. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  217. package/dist/cluster/SqlMessageStorage.js +34 -7
  218. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  219. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  220. package/dist/cluster/SqlRunnerStorage.js +23 -8
  221. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  222. package/dist/cluster/internal/entityManager.js +15 -7
  223. package/dist/cluster/internal/entityManager.js.map +1 -1
  224. package/dist/crypto/Aead.d.ts +323 -0
  225. package/dist/crypto/Aead.d.ts.map +1 -0
  226. package/dist/crypto/Aead.js +331 -0
  227. package/dist/crypto/Aead.js.map +1 -0
  228. package/dist/crypto/Cipher.d.ts +236 -0
  229. package/dist/crypto/Cipher.d.ts.map +1 -0
  230. package/dist/crypto/Cipher.js +233 -0
  231. package/dist/crypto/Cipher.js.map +1 -0
  232. package/dist/crypto/CryptoError.d.ts +212 -0
  233. package/dist/crypto/CryptoError.d.ts.map +1 -0
  234. package/dist/crypto/CryptoError.js +202 -0
  235. package/dist/crypto/CryptoError.js.map +1 -0
  236. package/dist/crypto/Digest.d.ts +143 -0
  237. package/dist/crypto/Digest.d.ts.map +1 -0
  238. package/dist/crypto/Digest.js +146 -0
  239. package/dist/crypto/Digest.js.map +1 -0
  240. package/dist/crypto/Kdf.d.ts +220 -0
  241. package/dist/crypto/Kdf.d.ts.map +1 -0
  242. package/dist/crypto/Kdf.js +212 -0
  243. package/dist/crypto/Kdf.js.map +1 -0
  244. package/dist/crypto/KeyAgreement.d.ts +324 -0
  245. package/dist/crypto/KeyAgreement.d.ts.map +1 -0
  246. package/dist/crypto/KeyAgreement.js +303 -0
  247. package/dist/crypto/KeyAgreement.js.map +1 -0
  248. package/dist/crypto/KeyFormat.d.ts +341 -0
  249. package/dist/crypto/KeyFormat.d.ts.map +1 -0
  250. package/dist/crypto/KeyFormat.js +556 -0
  251. package/dist/crypto/KeyFormat.js.map +1 -0
  252. package/dist/crypto/KeyWrap.d.ts +390 -0
  253. package/dist/crypto/KeyWrap.d.ts.map +1 -0
  254. package/dist/crypto/KeyWrap.js +381 -0
  255. package/dist/crypto/KeyWrap.js.map +1 -0
  256. package/dist/crypto/Mac.d.ts +278 -0
  257. package/dist/crypto/Mac.d.ts.map +1 -0
  258. package/dist/crypto/Mac.js +288 -0
  259. package/dist/crypto/Mac.js.map +1 -0
  260. package/dist/crypto/SecureRandom.d.ts +340 -0
  261. package/dist/crypto/SecureRandom.d.ts.map +1 -0
  262. package/dist/crypto/SecureRandom.js +257 -0
  263. package/dist/crypto/SecureRandom.js.map +1 -0
  264. package/dist/crypto/Signature.d.ts +449 -0
  265. package/dist/crypto/Signature.d.ts.map +1 -0
  266. package/dist/crypto/Signature.js +484 -0
  267. package/dist/crypto/Signature.js.map +1 -0
  268. package/dist/crypto/WebCrypto.d.ts +80 -0
  269. package/dist/crypto/WebCrypto.d.ts.map +1 -0
  270. package/dist/crypto/WebCrypto.js +63 -0
  271. package/dist/crypto/WebCrypto.js.map +1 -0
  272. package/dist/crypto/index.d.ts +65 -0
  273. package/dist/crypto/index.d.ts.map +1 -0
  274. package/dist/crypto/index.js +66 -0
  275. package/dist/crypto/index.js.map +1 -0
  276. package/dist/crypto/internal/asymmetric.d.ts +2 -0
  277. package/dist/crypto/internal/asymmetric.d.ts.map +1 -0
  278. package/dist/crypto/internal/asymmetric.js +210 -0
  279. package/dist/crypto/internal/asymmetric.js.map +1 -0
  280. package/dist/crypto/internal/chacha.d.ts +46 -0
  281. package/dist/crypto/internal/chacha.d.ts.map +1 -0
  282. package/dist/crypto/internal/chacha.js +885 -0
  283. package/dist/crypto/internal/chacha.js.map +1 -0
  284. package/dist/crypto/internal/der.d.ts +6 -0
  285. package/dist/crypto/internal/der.d.ts.map +1 -0
  286. package/dist/crypto/internal/der.js +86 -0
  287. package/dist/crypto/internal/der.js.map +1 -0
  288. package/dist/crypto/internal/digest.d.ts +2 -0
  289. package/dist/crypto/internal/digest.d.ts.map +1 -0
  290. package/dist/crypto/internal/digest.js +15 -0
  291. package/dist/crypto/internal/digest.js.map +1 -0
  292. package/dist/crypto/internal/key.d.ts +2 -0
  293. package/dist/crypto/internal/key.d.ts.map +1 -0
  294. package/dist/crypto/internal/key.js +171 -0
  295. package/dist/crypto/internal/key.js.map +1 -0
  296. package/dist/crypto/internal/md5.d.ts +39 -0
  297. package/dist/crypto/internal/md5.d.ts.map +1 -0
  298. package/dist/crypto/internal/md5.js +179 -0
  299. package/dist/crypto/internal/md5.js.map +1 -0
  300. package/dist/crypto/internal/webCrypto.d.ts +2 -0
  301. package/dist/crypto/internal/webCrypto.d.ts.map +1 -0
  302. package/dist/crypto/internal/webCrypto.js +111 -0
  303. package/dist/crypto/internal/webCrypto.js.map +1 -0
  304. package/dist/encoding/Base64Url.d.ts.map +1 -1
  305. package/dist/encoding/Base64Url.js +29 -5
  306. package/dist/encoding/Base64Url.js.map +1 -1
  307. package/dist/encoding/Csv.d.ts +608 -0
  308. package/dist/encoding/Csv.d.ts.map +1 -0
  309. package/dist/encoding/Csv.js +718 -0
  310. package/dist/encoding/Csv.js.map +1 -0
  311. package/dist/encoding/Hex.d.ts +3 -2
  312. package/dist/encoding/Hex.d.ts.map +1 -1
  313. package/dist/encoding/Hex.js +3 -2
  314. package/dist/encoding/Hex.js.map +1 -1
  315. package/dist/encoding/Ndjson.d.ts +5 -4
  316. package/dist/encoding/Ndjson.d.ts.map +1 -1
  317. package/dist/encoding/Ndjson.js +6 -5
  318. package/dist/encoding/Ndjson.js.map +1 -1
  319. package/dist/encoding/SchemaBinary.d.ts.map +1 -1
  320. package/dist/encoding/SchemaBinary.js +42 -4
  321. package/dist/encoding/SchemaBinary.js.map +1 -1
  322. package/dist/encoding/Sse.d.ts +3 -1
  323. package/dist/encoding/Sse.d.ts.map +1 -1
  324. package/dist/encoding/Sse.js +5 -3
  325. package/dist/encoding/Sse.js.map +1 -1
  326. package/dist/encoding/Toml.d.ts +17 -3
  327. package/dist/encoding/Toml.d.ts.map +1 -1
  328. package/dist/encoding/Toml.js +104 -16
  329. package/dist/encoding/Toml.js.map +1 -1
  330. package/dist/encoding/Yaml.d.ts +8 -1
  331. package/dist/encoding/Yaml.d.ts.map +1 -1
  332. package/dist/encoding/Yaml.js +54 -18
  333. package/dist/encoding/Yaml.js.map +1 -1
  334. package/dist/encoding/index.d.ts +5 -0
  335. package/dist/encoding/index.d.ts.map +1 -1
  336. package/dist/encoding/index.js +5 -0
  337. package/dist/encoding/index.js.map +1 -1
  338. package/dist/eventlog/EventJournal.d.ts.map +1 -1
  339. package/dist/eventlog/EventJournal.js +6 -3
  340. package/dist/eventlog/EventJournal.js.map +1 -1
  341. package/dist/eventlog/EventLog.d.ts +126 -4
  342. package/dist/eventlog/EventLog.d.ts.map +1 -1
  343. package/dist/eventlog/EventLog.js +207 -12
  344. package/dist/eventlog/EventLog.js.map +1 -1
  345. package/dist/eventlog/EventLogEncryption.d.ts +41 -4
  346. package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
  347. package/dist/eventlog/EventLogEncryption.js +83 -64
  348. package/dist/eventlog/EventLogEncryption.js.map +1 -1
  349. package/dist/eventlog/EventLogMessage.d.ts +279 -0
  350. package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
  351. package/dist/eventlog/EventLogMessage.js +217 -1
  352. package/dist/eventlog/EventLogMessage.js.map +1 -1
  353. package/dist/eventlog/EventLogRemote.d.ts +200 -28
  354. package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
  355. package/dist/eventlog/EventLogRemote.js +186 -16
  356. package/dist/eventlog/EventLogRemote.js.map +1 -1
  357. package/dist/eventlog/EventLogServer.d.ts +10 -1
  358. package/dist/eventlog/EventLogServer.d.ts.map +1 -1
  359. package/dist/eventlog/EventLogServer.js +45 -22
  360. package/dist/eventlog/EventLogServer.js.map +1 -1
  361. package/dist/eventlog/EventLogServerEncrypted.d.ts +336 -5
  362. package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  363. package/dist/eventlog/EventLogServerEncrypted.js +769 -14
  364. package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
  365. package/dist/eventlog/EventLogServerUnencrypted.d.ts +17 -0
  366. package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  367. package/dist/eventlog/EventLogServerUnencrypted.js +14 -2
  368. package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
  369. package/dist/eventlog/EventLogSessionAuth.d.ts +26 -3
  370. package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  371. package/dist/eventlog/EventLogSessionAuth.js +63 -64
  372. package/dist/eventlog/EventLogSessionAuth.js.map +1 -1
  373. package/dist/eventlog/EventRow.d.ts +4 -0
  374. package/dist/eventlog/EventRow.d.ts.map +1 -1
  375. package/dist/eventlog/EventRow.js +12 -2
  376. package/dist/eventlog/EventRow.js.map +1 -1
  377. package/dist/eventlog/SqlEventJournal.js +2 -2
  378. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  379. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +21 -5
  380. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  381. package/dist/eventlog/SqlEventLogServerEncrypted.js +1048 -113
  382. package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  383. package/dist/eventlog/SqlEventLogServerUnencrypted.js +2 -2
  384. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  385. package/dist/eventlog/internal/batches.d.ts +12 -0
  386. package/dist/eventlog/internal/batches.d.ts.map +1 -0
  387. package/dist/eventlog/internal/batches.js +26 -0
  388. package/dist/eventlog/internal/batches.js.map +1 -0
  389. package/dist/eventlog/internal/compaction.d.ts +38 -0
  390. package/dist/eventlog/internal/compaction.d.ts.map +1 -0
  391. package/dist/eventlog/internal/compaction.js +33 -0
  392. package/dist/eventlog/internal/compaction.js.map +1 -0
  393. package/dist/eventlog/internal/identityRootSecretDerivation.js +66 -67
  394. package/dist/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  395. package/dist/eventlog/internal/remoteCompaction.d.ts +31 -0
  396. package/dist/eventlog/internal/remoteCompaction.d.ts.map +1 -0
  397. package/dist/eventlog/internal/remoteCompaction.js +76 -0
  398. package/dist/eventlog/internal/remoteCompaction.js.map +1 -0
  399. package/dist/graphql/GraphQLClient.d.ts +3 -1
  400. package/dist/graphql/GraphQLClient.d.ts.map +1 -1
  401. package/dist/graphql/GraphQLClient.js.map +1 -1
  402. package/dist/graphql/GraphQLClientError.d.ts +14 -9
  403. package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
  404. package/dist/graphql/GraphQLClientError.js +14 -21
  405. package/dist/graphql/GraphQLClientError.js.map +1 -1
  406. package/dist/graphql/GraphQLProtocol.d.ts +12 -3
  407. package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
  408. package/dist/graphql/GraphQLProtocol.js +4 -1
  409. package/dist/graphql/GraphQLProtocol.js.map +1 -1
  410. package/dist/http/Cookies.d.ts +172 -0
  411. package/dist/http/Cookies.d.ts.map +1 -1
  412. package/dist/http/Cookies.js +143 -1
  413. package/dist/http/Cookies.js.map +1 -1
  414. package/dist/http/FetchHttpClient.d.ts +26 -2
  415. package/dist/http/FetchHttpClient.d.ts.map +1 -1
  416. package/dist/http/FetchHttpClient.js +78 -15
  417. package/dist/http/FetchHttpClient.js.map +1 -1
  418. package/dist/http/HttpClient.d.ts +268 -15
  419. package/dist/http/HttpClient.d.ts.map +1 -1
  420. package/dist/http/HttpClient.js +140 -7
  421. package/dist/http/HttpClient.js.map +1 -1
  422. package/dist/http/HttpClientRequest.d.ts +9 -5
  423. package/dist/http/HttpClientRequest.d.ts.map +1 -1
  424. package/dist/http/HttpClientRequest.js +2 -3
  425. package/dist/http/HttpClientRequest.js.map +1 -1
  426. package/dist/http/HttpClientResponse.d.ts.map +1 -1
  427. package/dist/http/HttpClientResponse.js +3 -2
  428. package/dist/http/HttpClientResponse.js.map +1 -1
  429. package/dist/http/HttpMethod.d.ts +7 -1
  430. package/dist/http/HttpMethod.d.ts.map +1 -1
  431. package/dist/http/HttpMethod.js +3 -8
  432. package/dist/http/HttpMethod.js.map +1 -1
  433. package/dist/http/HttpServerRequest.d.ts +5 -2
  434. package/dist/http/HttpServerRequest.d.ts.map +1 -1
  435. package/dist/http/HttpServerRequest.js +44 -39
  436. package/dist/http/HttpServerRequest.js.map +1 -1
  437. package/dist/http/HttpServerResponse.d.ts.map +1 -1
  438. package/dist/http/HttpServerResponse.js +3 -2
  439. package/dist/http/HttpServerResponse.js.map +1 -1
  440. package/dist/http/HttpTraceContext.d.ts +2 -1
  441. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  442. package/dist/http/HttpTraceContext.js +7 -5
  443. package/dist/http/HttpTraceContext.js.map +1 -1
  444. package/dist/http/ProblemDetails.d.ts +96 -0
  445. package/dist/http/ProblemDetails.d.ts.map +1 -0
  446. package/dist/http/ProblemDetails.js +98 -0
  447. package/dist/http/ProblemDetails.js.map +1 -0
  448. package/dist/http/index.d.ts +5 -0
  449. package/dist/http/index.d.ts.map +1 -1
  450. package/dist/http/index.js +5 -0
  451. package/dist/http/index.js.map +1 -1
  452. package/dist/http/internal/decompression.js +3 -2
  453. package/dist/http/internal/decompression.js.map +1 -1
  454. package/dist/http/internal/mimeTypes.d.ts +4 -1
  455. package/dist/http/internal/mimeTypes.d.ts.map +1 -1
  456. package/dist/http/internal/mimeTypes.js +4 -1
  457. package/dist/http/internal/mimeTypes.js.map +1 -1
  458. package/dist/http/internal/urlParams.js +8 -0
  459. package/dist/http/internal/urlParams.js.map +1 -1
  460. package/dist/http-api/HttpApiBuilder.js +19 -5
  461. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  462. package/dist/http-api/HttpApiClient.d.ts +63 -0
  463. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  464. package/dist/http-api/HttpApiClient.js +51 -0
  465. package/dist/http-api/HttpApiClient.js.map +1 -1
  466. package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
  467. package/dist/http-api/HttpApiEndpoint.js +14 -5
  468. package/dist/http-api/HttpApiEndpoint.js.map +1 -1
  469. package/dist/http-api/HttpApiError.d.ts +185 -13
  470. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  471. package/dist/http-api/HttpApiError.js +128 -0
  472. package/dist/http-api/HttpApiError.js.map +1 -1
  473. package/dist/http-api/HttpApiMiddleware.d.ts +64 -17
  474. package/dist/http-api/HttpApiMiddleware.d.ts.map +1 -1
  475. package/dist/http-api/HttpApiMiddleware.js +85 -1
  476. package/dist/http-api/HttpApiMiddleware.js.map +1 -1
  477. package/dist/http-api/HttpApiSchema.d.ts +76 -14
  478. package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
  479. package/dist/http-api/HttpApiSchema.js +54 -1
  480. package/dist/http-api/HttpApiSchema.js.map +1 -1
  481. package/dist/index.d.ts +5 -5
  482. package/dist/index.d.ts.map +1 -1
  483. package/dist/index.js +5 -5
  484. package/dist/index.js.map +1 -1
  485. package/dist/internal/dateTime.js +49 -24
  486. package/dist/internal/dateTime.js.map +1 -1
  487. package/dist/internal/effect.js +35 -14
  488. package/dist/internal/effect.js.map +1 -1
  489. package/dist/internal/glob.d.ts +2 -0
  490. package/dist/internal/glob.d.ts.map +1 -0
  491. package/dist/internal/glob.js +808 -0
  492. package/dist/internal/glob.js.map +1 -0
  493. package/dist/internal/graphql.js +21 -7
  494. package/dist/internal/graphql.js.map +1 -1
  495. package/dist/internal/graphqlHeaders.d.ts +7 -0
  496. package/dist/internal/graphqlHeaders.d.ts.map +1 -1
  497. package/dist/internal/graphqlHeaders.js +11 -0
  498. package/dist/internal/graphqlHeaders.js.map +1 -1
  499. package/dist/internal/matcher.js +10 -0
  500. package/dist/internal/matcher.js.map +1 -1
  501. package/dist/internal/persistence.js +9 -0
  502. package/dist/internal/persistence.js.map +1 -1
  503. package/dist/internal/rcRef.js +4 -1
  504. package/dist/internal/rcRef.js.map +1 -1
  505. package/dist/internal/request.js +29 -42
  506. package/dist/internal/request.js.map +1 -1
  507. package/dist/internal/schema/fromJsonSchemaDocument.js +7 -8
  508. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  509. package/dist/internal/schema/toCodeDocument.js +6 -3
  510. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  511. package/dist/internal/trie.js +42 -13
  512. package/dist/internal/trie.js.map +1 -1
  513. package/dist/internal/ulid.js +41 -0
  514. package/dist/internal/ulid.js.map +1 -1
  515. package/dist/internal/uuid.js +52 -8
  516. package/dist/internal/uuid.js.map +1 -1
  517. package/dist/internal/version.js +1 -1
  518. package/dist/jose/JoseError.d.ts +285 -0
  519. package/dist/jose/JoseError.d.ts.map +1 -0
  520. package/dist/jose/JoseError.js +269 -0
  521. package/dist/jose/JoseError.js.map +1 -0
  522. package/dist/jose/Jwe.d.ts +128 -0
  523. package/dist/jose/Jwe.d.ts.map +1 -0
  524. package/dist/jose/Jwe.js +134 -0
  525. package/dist/jose/Jwe.js.map +1 -0
  526. package/dist/jose/Jwk.d.ts +597 -0
  527. package/dist/jose/Jwk.d.ts.map +1 -0
  528. package/dist/jose/Jwk.js +503 -0
  529. package/dist/jose/Jwk.js.map +1 -0
  530. package/dist/jose/Jwks.d.ts +236 -0
  531. package/dist/jose/Jwks.d.ts.map +1 -0
  532. package/dist/jose/Jwks.js +306 -0
  533. package/dist/jose/Jwks.js.map +1 -0
  534. package/dist/jose/Jws.d.ts +177 -0
  535. package/dist/jose/Jws.d.ts.map +1 -0
  536. package/dist/jose/Jws.js +183 -0
  537. package/dist/jose/Jws.js.map +1 -0
  538. package/dist/jose/Jwt.d.ts +270 -0
  539. package/dist/jose/Jwt.d.ts.map +1 -0
  540. package/dist/jose/Jwt.js +293 -0
  541. package/dist/jose/Jwt.js.map +1 -0
  542. package/dist/jose/index.d.ts +51 -0
  543. package/dist/jose/index.d.ts.map +1 -0
  544. package/dist/jose/index.js +52 -0
  545. package/dist/jose/index.js.map +1 -0
  546. package/dist/jose/internal/compact.d.ts +2 -0
  547. package/dist/jose/internal/compact.d.ts.map +1 -0
  548. package/dist/jose/internal/compact.js +179 -0
  549. package/dist/jose/internal/compact.js.map +1 -0
  550. package/dist/net/Host.d.ts.map +1 -1
  551. package/dist/net/Host.js +5 -10
  552. package/dist/net/Host.js.map +1 -1
  553. package/dist/observability/Otlp.d.ts +15 -4
  554. package/dist/observability/Otlp.d.ts.map +1 -1
  555. package/dist/observability/Otlp.js +10 -0
  556. package/dist/observability/Otlp.js.map +1 -1
  557. package/dist/observability/OtlpResource.d.ts +7 -0
  558. package/dist/observability/OtlpResource.d.ts.map +1 -1
  559. package/dist/observability/OtlpResource.js +11 -1
  560. package/dist/observability/OtlpResource.js.map +1 -1
  561. package/dist/observability/OtlpSerialization.d.ts +1 -1
  562. package/dist/observability/OtlpSerialization.d.ts.map +1 -1
  563. package/dist/observability/OtlpSerialization.js +10 -4
  564. package/dist/observability/OtlpSerialization.js.map +1 -1
  565. package/dist/observability/internal/otlpProtobuf.js +3 -3
  566. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  567. package/dist/observability/internal/protobuf.js +6 -0
  568. package/dist/observability/internal/protobuf.js.map +1 -1
  569. package/dist/persistence/CircuitBreaker.d.ts +98 -38
  570. package/dist/persistence/CircuitBreaker.d.ts.map +1 -1
  571. package/dist/persistence/CircuitBreaker.js +67 -29
  572. package/dist/persistence/CircuitBreaker.js.map +1 -1
  573. package/dist/persistence/KeyValueStore.d.ts +47 -2
  574. package/dist/persistence/KeyValueStore.d.ts.map +1 -1
  575. package/dist/persistence/KeyValueStore.js +129 -18
  576. package/dist/persistence/KeyValueStore.js.map +1 -1
  577. package/dist/persistence/PersistedQueue.d.ts +9 -0
  578. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  579. package/dist/persistence/PersistedQueue.js +94 -52
  580. package/dist/persistence/PersistedQueue.js.map +1 -1
  581. package/dist/persistence/Persistence.d.ts +10 -4
  582. package/dist/persistence/Persistence.d.ts.map +1 -1
  583. package/dist/persistence/Persistence.js +18 -11
  584. package/dist/persistence/Persistence.js.map +1 -1
  585. package/dist/persistence/RateLimiter.d.ts +8 -0
  586. package/dist/persistence/RateLimiter.d.ts.map +1 -1
  587. package/dist/persistence/RateLimiter.js +63 -12
  588. package/dist/persistence/RateLimiter.js.map +1 -1
  589. package/dist/persistence/index.d.ts +1 -1
  590. package/dist/persistence/index.js +1 -1
  591. package/dist/process/ChildProcess.d.ts +207 -67
  592. package/dist/process/ChildProcess.d.ts.map +1 -1
  593. package/dist/process/ChildProcess.js +56 -158
  594. package/dist/process/ChildProcess.js.map +1 -1
  595. package/dist/process/ChildProcessSpawner.d.ts +5 -0
  596. package/dist/process/ChildProcessSpawner.d.ts.map +1 -1
  597. package/dist/process/ChildProcessSpawner.js.map +1 -1
  598. package/dist/process/CommandLine.d.ts +294 -0
  599. package/dist/process/CommandLine.d.ts.map +1 -0
  600. package/dist/process/CommandLine.js +481 -0
  601. package/dist/process/CommandLine.js.map +1 -0
  602. package/dist/process/index.d.ts +5 -0
  603. package/dist/process/index.d.ts.map +1 -1
  604. package/dist/process/index.js +5 -0
  605. package/dist/process/index.js.map +1 -1
  606. package/dist/reactivity/Atom.d.ts +2 -1
  607. package/dist/reactivity/Atom.d.ts.map +1 -1
  608. package/dist/reactivity/Atom.js +3 -4
  609. package/dist/reactivity/Atom.js.map +1 -1
  610. package/dist/reactivity/AtomRegistry.js +17 -7
  611. package/dist/reactivity/AtomRegistry.js.map +1 -1
  612. package/dist/rpc/Rpc.d.ts +1 -1
  613. package/dist/rpc/Rpc.d.ts.map +1 -1
  614. package/dist/rpc/Rpc.js.map +1 -1
  615. package/dist/rpc/RpcClient.d.ts +28 -1
  616. package/dist/rpc/RpcClient.d.ts.map +1 -1
  617. package/dist/rpc/RpcClient.js +78 -27
  618. package/dist/rpc/RpcClient.js.map +1 -1
  619. package/dist/rpc/RpcMessage.d.ts +13 -3
  620. package/dist/rpc/RpcMessage.d.ts.map +1 -1
  621. package/dist/rpc/RpcMessage.js +1 -0
  622. package/dist/rpc/RpcMessage.js.map +1 -1
  623. package/dist/rpc/RpcSerialization.d.ts.map +1 -1
  624. package/dist/rpc/RpcSerialization.js +6 -0
  625. package/dist/rpc/RpcSerialization.js.map +1 -1
  626. package/dist/rpc/RpcServer.d.ts +31 -0
  627. package/dist/rpc/RpcServer.d.ts.map +1 -1
  628. package/dist/rpc/RpcServer.js +139 -66
  629. package/dist/rpc/RpcServer.js.map +1 -1
  630. package/dist/schema/Model.d.ts +14 -0
  631. package/dist/schema/Model.d.ts.map +1 -1
  632. package/dist/schema/Model.js +18 -3
  633. package/dist/schema/Model.js.map +1 -1
  634. package/dist/sql/Migrator.d.ts +9 -20
  635. package/dist/sql/Migrator.d.ts.map +1 -1
  636. package/dist/sql/Migrator.js +20 -53
  637. package/dist/sql/Migrator.js.map +1 -1
  638. package/dist/sql/MigratorFileSystem.d.ts +21 -0
  639. package/dist/sql/MigratorFileSystem.d.ts.map +1 -0
  640. package/dist/sql/MigratorFileSystem.js +57 -0
  641. package/dist/sql/MigratorFileSystem.js.map +1 -0
  642. package/dist/sql/SqlClient.d.ts +38 -3
  643. package/dist/sql/SqlClient.d.ts.map +1 -1
  644. package/dist/sql/SqlClient.js +9 -12
  645. package/dist/sql/SqlClient.js.map +1 -1
  646. package/dist/sql/Statement.d.ts +61 -9
  647. package/dist/sql/Statement.d.ts.map +1 -1
  648. package/dist/sql/Statement.js +24 -33
  649. package/dist/sql/Statement.js.map +1 -1
  650. package/dist/sql/index.js +1 -1
  651. package/dist/testing/index.d.ts +0 -5
  652. package/dist/testing/index.d.ts.map +1 -1
  653. package/dist/testing/index.js +0 -5
  654. package/dist/testing/index.js.map +1 -1
  655. package/dist/workflow/Workflow.d.ts +4 -0
  656. package/dist/workflow/Workflow.d.ts.map +1 -1
  657. package/dist/workflow/Workflow.js.map +1 -1
  658. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  659. package/dist/workflow/WorkflowEngine.js +5 -0
  660. package/dist/workflow/WorkflowEngine.js.map +1 -1
  661. package/dist/workflow/internal/crypto.js +9 -8
  662. package/dist/workflow/internal/crypto.js.map +1 -1
  663. package/package.json +7 -1
  664. package/src/BigDecimal.ts +173 -16
  665. package/src/Channel.ts +17 -11
  666. package/src/Config.ts +7 -1
  667. package/src/Context.ts +34 -10
  668. package/src/Cron.ts +178 -29
  669. package/src/Duration.ts +140 -0
  670. package/src/Effect.ts +914 -85
  671. package/src/Equal.ts +3 -3
  672. package/src/FileSystem.ts +65 -4
  673. package/src/Glob.ts +205 -0
  674. package/src/Hash.ts +5 -4
  675. package/src/Iterable.ts +8 -5
  676. package/src/Match.ts +127 -0
  677. package/src/Path.ts +6 -1
  678. package/src/Pool.ts +75 -16
  679. package/src/Random.ts +3 -3
  680. package/src/RcMap.ts +5 -1
  681. package/src/Schedule.ts +26 -3
  682. package/src/Schema.ts +1191 -63
  683. package/src/SchemaGetter.ts +27 -11
  684. package/src/SchemaRepresentation.ts +23 -2
  685. package/src/SchemaTransformation.ts +10 -5
  686. package/src/ScopedCache.ts +5 -9
  687. package/src/Semaphore.ts +141 -0
  688. package/src/Stream.ts +15 -6
  689. package/src/Terminal.ts +19 -1
  690. package/src/ai/AiError.ts +56 -80
  691. package/src/ai/Decision.ts +257 -6
  692. package/src/ai/DecisionModel.ts +171 -28
  693. package/src/ai/McpClient.ts +488 -91
  694. package/src/ai/McpSchema.ts +119 -0
  695. package/src/ai/McpServer.ts +1525 -319
  696. package/src/ai/McpTest.ts +380 -0
  697. package/src/ai/Prompt.ts +16 -11
  698. package/src/ai/Response.ts +2 -22
  699. package/src/ai/Tool.ts +32 -18
  700. package/src/ai/index.ts +6 -0
  701. package/src/ai/internal/mcpCore.ts +243 -56
  702. package/src/ai/internal/mcpProtocol/v2024_11_05.ts +7 -8
  703. package/src/ai/internal/mcpProtocol/v2025_03_26.ts +7 -8
  704. package/src/ai/internal/mcpProtocol/v2025_06_18.ts +7 -8
  705. package/src/ai/internal/mcpProtocol/v2025_11_25.ts +7 -8
  706. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +56 -17
  707. package/src/ai/internal/mcpProtocol.ts +44 -0
  708. package/src/ai/internal/mcpRuntime.ts +15 -8
  709. package/src/ai/internal/mcpSkills.ts +480 -0
  710. package/src/ai/internal/mcpStatefulRuntime.ts +14 -2
  711. package/src/cli/Argument.ts +6 -0
  712. package/src/cli/CliOutput.ts +117 -49
  713. package/src/cli/Command.ts +23 -0
  714. package/src/cli/Flag.ts +107 -0
  715. package/src/cli/HelpDoc.ts +18 -1
  716. package/src/cli/Param.ts +6 -0
  717. package/src/cli/Primitive.ts +16 -1
  718. package/src/cli/Prompt.ts +1 -0
  719. package/src/cli/internal/help.ts +21 -9
  720. package/src/cluster/ClusterWorkflowEngine.ts +22 -8
  721. package/src/cluster/Reply.ts +1 -1
  722. package/src/cluster/Sharding.ts +96 -26
  723. package/src/cluster/ShardingConfig.ts +41 -3
  724. package/src/cluster/SingleRunner.ts +3 -3
  725. package/src/cluster/SqlMessageStorage.ts +49 -17
  726. package/src/cluster/SqlRunnerStorage.ts +37 -27
  727. package/src/cluster/internal/entityManager.ts +24 -10
  728. package/src/crypto/Aead.ts +517 -0
  729. package/src/crypto/Cipher.ts +326 -0
  730. package/src/crypto/CryptoError.ts +242 -0
  731. package/src/crypto/Digest.ts +167 -0
  732. package/src/crypto/Kdf.ts +315 -0
  733. package/src/crypto/KeyAgreement.ts +489 -0
  734. package/src/crypto/KeyFormat.ts +741 -0
  735. package/src/crypto/KeyWrap.ts +639 -0
  736. package/src/crypto/Mac.ts +386 -0
  737. package/src/crypto/SecureRandom.ts +459 -0
  738. package/src/crypto/Signature.ts +673 -0
  739. package/src/crypto/WebCrypto.ts +84 -0
  740. package/src/crypto/index.ts +78 -0
  741. package/src/crypto/internal/asymmetric.ts +330 -0
  742. package/src/crypto/internal/chacha.ts +1088 -0
  743. package/src/crypto/internal/der.ts +110 -0
  744. package/src/crypto/internal/digest.ts +16 -0
  745. package/src/crypto/internal/key.ts +242 -0
  746. package/src/crypto/internal/md5.ts +170 -0
  747. package/src/crypto/internal/webCrypto.ts +150 -0
  748. package/src/encoding/Base64Url.ts +32 -5
  749. package/src/encoding/Csv.ts +1298 -0
  750. package/src/encoding/Hex.ts +3 -2
  751. package/src/encoding/Ndjson.ts +6 -5
  752. package/src/encoding/SchemaBinary.ts +40 -4
  753. package/src/encoding/Sse.ts +5 -3
  754. package/src/encoding/Toml.ts +85 -20
  755. package/src/encoding/Yaml.ts +61 -18
  756. package/src/encoding/index.ts +6 -0
  757. package/src/eventlog/EventJournal.ts +4 -3
  758. package/src/eventlog/EventLog.ts +347 -15
  759. package/src/eventlog/EventLogEncryption.ts +118 -110
  760. package/src/eventlog/EventLogMessage.ts +273 -1
  761. package/src/eventlog/EventLogRemote.ts +367 -23
  762. package/src/eventlog/EventLogServer.ts +54 -20
  763. package/src/eventlog/EventLogServerEncrypted.ts +1135 -67
  764. package/src/eventlog/EventLogServerUnencrypted.ts +19 -2
  765. package/src/eventlog/EventLogSessionAuth.ts +82 -70
  766. package/src/eventlog/EventRow.ts +12 -3
  767. package/src/eventlog/SqlEventJournal.ts +2 -2
  768. package/src/eventlog/SqlEventLogServerEncrypted.ts +1244 -136
  769. package/src/eventlog/SqlEventLogServerUnencrypted.ts +2 -2
  770. package/src/eventlog/internal/batches.ts +30 -0
  771. package/src/eventlog/internal/compaction.ts +64 -0
  772. package/src/eventlog/internal/identityRootSecretDerivation.ts +93 -123
  773. package/src/eventlog/internal/remoteCompaction.ts +92 -0
  774. package/src/graphql/GraphQLClient.ts +3 -1
  775. package/src/graphql/GraphQLClientError.ts +15 -22
  776. package/src/graphql/GraphQLProtocol.ts +12 -3
  777. package/src/http/Cookies.ts +281 -1
  778. package/src/http/FetchHttpClient.ts +88 -16
  779. package/src/http/HttpClient.ts +299 -33
  780. package/src/http/HttpClientRequest.ts +12 -9
  781. package/src/http/HttpClientResponse.ts +3 -2
  782. package/src/http/HttpMethod.ts +10 -2
  783. package/src/http/HttpServerRequest.ts +76 -53
  784. package/src/http/HttpServerResponse.ts +3 -2
  785. package/src/http/HttpTraceContext.ts +7 -4
  786. package/src/http/ProblemDetails.ts +149 -0
  787. package/src/http/index.ts +6 -0
  788. package/src/http/internal/decompression.ts +4 -4
  789. package/src/http/internal/mimeTypes.ts +4 -1
  790. package/src/http/internal/urlParams.ts +8 -0
  791. package/src/http-api/HttpApiBuilder.ts +24 -12
  792. package/src/http-api/HttpApiClient.ts +67 -1
  793. package/src/http-api/HttpApiEndpoint.ts +14 -5
  794. package/src/http-api/HttpApiError.ts +250 -0
  795. package/src/http-api/HttpApiMiddleware.ts +95 -1
  796. package/src/http-api/HttpApiSchema.ts +106 -15
  797. package/src/index.ts +6 -6
  798. package/src/internal/dateTime.ts +54 -24
  799. package/src/internal/effect.ts +40 -18
  800. package/src/internal/glob.ts +952 -0
  801. package/src/internal/graphql.ts +27 -9
  802. package/src/internal/graphqlHeaders.ts +13 -0
  803. package/src/internal/matcher.ts +17 -0
  804. package/src/internal/persistence.ts +11 -0
  805. package/src/internal/rcRef.ts +4 -1
  806. package/src/internal/request.ts +51 -58
  807. package/src/internal/schema/fromJsonSchemaDocument.ts +11 -10
  808. package/src/internal/schema/toCodeDocument.ts +7 -3
  809. package/src/internal/trie.ts +43 -14
  810. package/src/internal/ulid.ts +44 -0
  811. package/src/internal/uuid.ts +57 -16
  812. package/src/internal/version.ts +1 -1
  813. package/src/jose/JoseError.ts +329 -0
  814. package/src/jose/Jwe.ts +196 -0
  815. package/src/jose/Jwk.ts +777 -0
  816. package/src/jose/Jwks.ts +418 -0
  817. package/src/jose/Jws.ts +312 -0
  818. package/src/jose/Jwt.ts +493 -0
  819. package/src/jose/index.ts +58 -0
  820. package/src/jose/internal/compact.ts +195 -0
  821. package/src/net/Host.ts +5 -10
  822. package/src/observability/Otlp.ts +21 -4
  823. package/src/observability/OtlpResource.ts +9 -1
  824. package/src/observability/OtlpSerialization.ts +13 -5
  825. package/src/observability/internal/otlpProtobuf.ts +6 -6
  826. package/src/observability/internal/protobuf.ts +10 -0
  827. package/src/persistence/CircuitBreaker.ts +113 -48
  828. package/src/persistence/KeyValueStore.ts +219 -22
  829. package/src/persistence/PersistedQueue.ts +128 -59
  830. package/src/persistence/Persistence.ts +20 -13
  831. package/src/persistence/RateLimiter.ts +84 -15
  832. package/src/persistence/index.ts +1 -1
  833. package/src/process/ChildProcess.ts +255 -260
  834. package/src/process/ChildProcessSpawner.ts +5 -0
  835. package/src/process/CommandLine.ts +630 -0
  836. package/src/process/index.ts +6 -0
  837. package/src/reactivity/Atom.ts +5 -5
  838. package/src/reactivity/AtomRegistry.ts +20 -9
  839. package/src/rpc/Rpc.ts +3 -1
  840. package/src/rpc/RpcClient.ts +94 -38
  841. package/src/rpc/RpcMessage.ts +13 -3
  842. package/src/rpc/RpcSerialization.ts +3 -0
  843. package/src/rpc/RpcServer.ts +176 -78
  844. package/src/schema/Model.ts +26 -3
  845. package/src/sql/Migrator.ts +38 -80
  846. package/src/sql/MigratorFileSystem.ts +71 -0
  847. package/src/sql/SqlClient.ts +45 -24
  848. package/src/sql/Statement.ts +60 -29
  849. package/src/sql/index.ts +1 -1
  850. package/src/testing/index.ts +0 -6
  851. package/src/workflow/Workflow.ts +4 -0
  852. package/src/workflow/WorkflowEngine.ts +5 -0
  853. package/src/workflow/internal/crypto.ts +15 -11
  854. package/dist/Crypto.d.ts +0 -244
  855. package/dist/Crypto.d.ts.map +0 -1
  856. package/dist/Crypto.js +0 -139
  857. package/dist/Crypto.js.map +0 -1
  858. package/dist/testing/TestCrypto.d.ts +0 -73
  859. package/dist/testing/TestCrypto.d.ts.map +0 -1
  860. package/dist/testing/TestCrypto.js +0 -87
  861. package/dist/testing/TestCrypto.js.map +0 -1
  862. package/src/Crypto.ts +0 -347
  863. package/src/testing/TestCrypto.ts +0 -94
@@ -1,16 +1,6 @@
1
- /**
2
- * Defines decisions that a `DecisionModel` answers over a single input.
3
- * Pair an input schema with named classification, rating, or probability
4
- * decisions using `make`, then answer them with `DecisionModel.decide`, or
5
- * with `DecisionModel.decideSettled` to keep valid answers when others fail.
6
- *
7
- * @see {@link make} for building a definition from an input schema and decisions
8
- *
9
- * @stability unstable
10
- * @since 4.0.0
11
- */
12
1
  import type * as Result from "../Result.ts";
13
- import type * as Schema from "../Schema.ts";
2
+ import * as Schema from "../Schema.ts";
3
+ import type * as DecisionModel from "./DecisionModel.ts";
14
4
  /**
15
5
  * Brand type for decision definitions.
16
6
  *
@@ -98,6 +88,119 @@ export interface Probability {
98
88
  readonly true: Description;
99
89
  } | undefined;
100
90
  }
91
+ /**
92
+ * Decision that finds one target in an image field of the input.
93
+ * `image` is the field's path in the encoded input, such as `"photo"` or
94
+ * `"frames[2].frame"`. The answer is a bounding box around the target.
95
+ *
96
+ * @see {@link locate} for the constructor
97
+ * @see {@link LocateAnswer} for the answer produced by this decision
98
+ *
99
+ * @stability unstable
100
+ * @category models
101
+ * @since 4.1.0
102
+ */
103
+ export interface Locate<Field extends string = string> {
104
+ readonly _tag: "Locate";
105
+ readonly image: Field;
106
+ readonly instructions: string;
107
+ }
108
+ /**
109
+ * Key that marks an encoded {@link Image}.
110
+ *
111
+ * @stability unstable
112
+ * @category models
113
+ * @since 4.1.0
114
+ */
115
+ export declare const ImageKey = "~effect/ai/Decision/Image";
116
+ /**
117
+ * JSON encoding of an {@link Image}: base64 data or a URL with its media type,
118
+ * under {@link ImageKey}.
119
+ *
120
+ * @stability unstable
121
+ * @category models
122
+ * @since 4.1.0
123
+ */
124
+ export interface ImageEncoded {
125
+ readonly [ImageKey]: {
126
+ readonly mediaType: string;
127
+ readonly base64: string;
128
+ } | {
129
+ readonly mediaType: string;
130
+ readonly url: string;
131
+ };
132
+ }
133
+ /**
134
+ * Type-level representation of the {@link Image} schema.
135
+ *
136
+ * @stability unstable
137
+ * @category models
138
+ * @since 4.1.0
139
+ */
140
+ export interface Image extends Schema.decodeTo<Schema.declare<DecisionModel.Image>, Schema.Struct<{
141
+ readonly [ImageKey]: Schema.Union<readonly [
142
+ Schema.Struct<{
143
+ readonly mediaType: Schema.String;
144
+ readonly base64: Schema.String;
145
+ }>,
146
+ Schema.Struct<{
147
+ readonly mediaType: Schema.String;
148
+ readonly url: Schema.URLFromString;
149
+ }>
150
+ ]>;
151
+ }>> {
152
+ readonly "Rebuild": Image;
153
+ }
154
+ /**
155
+ * Schema for an image input field. Its type is `DecisionModel.Image`: a
156
+ * media type with base64 data, bytes, or a URL. Decisions refer to the image
157
+ * by the field's path, like any other field.
158
+ *
159
+ * **Details**
160
+ *
161
+ * The field encodes to an {@link ImageEncoded} object. `DecisionModel.decide`
162
+ * replaces each one in the encoded input with a reference string and sends the
163
+ * images to the provider separately; an image used in several fields is sent
164
+ * once. The encoded shape also appears in JSON Schema generated from the input.
165
+ *
166
+ * **Example** (Declaring an image field)
167
+ *
168
+ * ```ts
169
+ * import { Schema } from "effect"
170
+ * import { Decision } from "effect/ai"
171
+ *
172
+ * const Listing = Schema.Struct({
173
+ * title: Schema.String,
174
+ * photo: Decision.Image
175
+ * })
176
+ * ```
177
+ *
178
+ * @stability unstable
179
+ * @category schemas
180
+ * @since 4.1.0
181
+ */
182
+ export declare const Image: Image;
183
+ type PrevDepth = [never, 0, 1, 2, 3, 4];
184
+ type ImagePathSuffixes<A, Depth extends number> = [Depth] extends [never] ? never : A extends ImageEncoded ? "" : A extends ReadonlyArray<unknown> ? number extends A["length"] ? `[${number}]${ImagePathSuffixes<A[number], PrevDepth[Depth]>}` : {
185
+ [K in keyof A & `${number}`]: `[${K}]${ImagePathSuffixes<A[K], PrevDepth[Depth]>}`;
186
+ }[keyof A & `${number}`] : A extends object ? {
187
+ [K in keyof A & string]-?: K extends `${string}.${string}` | `${string}[${string}` ? never : {} extends Pick<A, K> ? never : `.${K}${ImagePathSuffixes<A[K], PrevDepth[Depth]>}`;
188
+ }[keyof A & string] : never;
189
+ /**
190
+ * Paths to the required {@link Image} fields of an encoded input type, as
191
+ * accepted by {@link locate}. Object keys are joined with `.`, and array
192
+ * elements use `[index]`: exact indices for tuples, any number for arrays.
193
+ *
194
+ * **Details**
195
+ *
196
+ * Paths reach four levels deep. Optional fields and keys containing `.` or
197
+ * `[` are excluded.
198
+ *
199
+ * @stability unstable
200
+ * @category utility types
201
+ * @since 4.1.0
202
+ */
203
+ export type ImagePaths<A> = ImagePathSuffixes<A, 4> extends infer Path extends string ? Path extends "" ? never : Path extends `.${infer Rest}` ? Rest : Path : never;
101
204
  /**
102
205
  * Union of every decision kind.
103
206
  *
@@ -105,7 +208,7 @@ export interface Probability {
105
208
  * @category models
106
209
  * @since 4.0.0
107
210
  */
108
- export type Any = Classify<string> | Rate<string> | Probability;
211
+ export type Any = Classify<string> | Rate<string> | Probability | Locate;
109
212
  /**
110
213
  * Answer to a {@link Classify} decision.
111
214
  * `label` is chosen by the provider and need not have the highest probability.
@@ -152,6 +255,36 @@ export interface RateAnswer<Level extends string> {
152
255
  export interface ProbabilityAnswer {
153
256
  readonly probability: number;
154
257
  }
258
+ /**
259
+ * Smallest rectangle that contains a located target. Each edge is a fraction
260
+ * of the image's size measured from the top-left corner: `left` and `right`
261
+ * of its width, `top` and `bottom` of its height. Edges are in `[0, 1]`, with
262
+ * `left <= right` and `top <= bottom`.
263
+ *
264
+ * @stability unstable
265
+ * @category models
266
+ * @since 4.1.0
267
+ */
268
+ export interface BoundingBox {
269
+ readonly left: number;
270
+ readonly top: number;
271
+ readonly right: number;
272
+ readonly bottom: number;
273
+ }
274
+ /**
275
+ * Answer to a {@link Locate} decision.
276
+ * There is no "not found" answer: a target absent from the image still gets a
277
+ * box. Pair the decision with a {@link Probability} that the target is present.
278
+ * `confidence` is an optional, provider-defined measure in `[0, 1]`.
279
+ *
280
+ * @stability unstable
281
+ * @category models
282
+ * @since 4.1.0
283
+ */
284
+ export interface LocateAnswer {
285
+ readonly box: BoundingBox;
286
+ readonly confidence?: number | undefined;
287
+ }
155
288
  /**
156
289
  * Answer type for a single decision.
157
290
  *
@@ -159,7 +292,7 @@ export interface ProbabilityAnswer {
159
292
  * @category utility types
160
293
  * @since 4.0.0
161
294
  */
162
- export type Answer<D extends Any> = D extends Classify<infer Label> ? ClassifyAnswer<Label> : D extends Rate<infer Level> ? RateAnswer<Level> : D extends Probability ? ProbabilityAnswer : never;
295
+ export type Answer<D extends Any> = D extends Classify<infer Label> ? ClassifyAnswer<Label> : D extends Rate<infer Level> ? RateAnswer<Level> : D extends Probability ? ProbabilityAnswer : D extends Locate ? LocateAnswer : never;
163
296
  /**
164
297
  * Answers keyed by decision name.
165
298
  *
@@ -356,6 +489,53 @@ export declare const probability: (options: {
356
489
  readonly true: Description;
357
490
  } | undefined;
358
491
  }) => Probability;
492
+ /**
493
+ * Creates a decision that finds one target in an image field of the input.
494
+ * `image` is the field's path in the encoded input: keys joined with `.` and
495
+ * array indices in brackets, such as `"frames[2].frame"`. The model must be
496
+ * created with `supportsLocate: true`.
497
+ *
498
+ * **Details**
499
+ *
500
+ * Paths use encoded key names, so a key renamed with `Schema.encodeKeys` is
501
+ * targeted by its encoded name. `make` accepts only paths to required
502
+ * {@link Image} fields, and `DecisionModel.decide` fails with
503
+ * `AiError.InvalidUserInputError` when the path holds no image, such as an
504
+ * index past the end of an array.
505
+ *
506
+ * The answer is always one box, even when the target is absent. Pair the
507
+ * decision with a {@link probability} decision that the target is present.
508
+ *
509
+ * **Gotchas**
510
+ *
511
+ * - For a generic input schema, the compiler error for an invalid path names
512
+ * the whole decision type rather than the path.
513
+ *
514
+ * **Example** (Finding a mug in a photo)
515
+ *
516
+ * ```ts
517
+ * import { Schema } from "effect"
518
+ * import { Decision } from "effect/ai"
519
+ *
520
+ * const FindMug = Decision.make({
521
+ * input: Schema.Struct({ photo: Decision.Image }),
522
+ * decisions: {
523
+ * present: Decision.probability({ instructions: "`photo` shows a coffee mug" }),
524
+ * mug: Decision.locate({ image: "photo", instructions: "the coffee mug" })
525
+ * }
526
+ * })
527
+ * ```
528
+ *
529
+ * @see {@link LocateAnswer} for the answer
530
+ *
531
+ * @stability unstable
532
+ * @category constructors
533
+ * @since 4.1.0
534
+ */
535
+ export declare const locate: <const Field extends string>(options: {
536
+ readonly image: Field;
537
+ readonly instructions: string;
538
+ }) => Locate<Field>;
359
539
  /**
360
540
  * Creates a decision definition from an input schema and named decisions.
361
541
  * `DecisionModel.decide` encodes the input with `Schema.toCodecJson` before
@@ -394,8 +574,9 @@ export declare const probability: (options: {
394
574
  * @category constructors
395
575
  * @since 4.0.0
396
576
  */
397
- export declare const make: <Input extends Schema.Constraint, Decisions extends Record<string, Any>>(options: {
577
+ export declare const make: <Input extends Schema.Constraint, Decisions extends Record<string, Classify<string> | Rate<string> | Probability | Locate<ImagePaths<Input["Encoded"]>>>>(options: {
398
578
  readonly input: Input;
399
579
  readonly decisions: Decisions;
400
580
  }) => Definition<Input, Decisions>;
581
+ export {};
401
582
  //# sourceMappingURL=Decision.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Decision.d.ts","sourceRoot":"","sources":["../../src/ai/Decision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Decision.d.ts","sourceRoot":"","sources":["../../src/ai/Decision.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,18 @@
1
+ /**
2
+ * Defines decisions that a `DecisionModel` answers over a single input.
3
+ * Pair an input schema with named classification, rating, probability, or
4
+ * locate decisions using `make`, then answer them with `DecisionModel.decide`,
5
+ * or with `DecisionModel.decideSettled` to keep valid answers when others fail.
6
+ *
7
+ * @see {@link make} for building a definition from an input schema and decisions
8
+ *
9
+ * @stability unstable
10
+ * @since 4.0.0
11
+ */
12
+ import * as Base64 from "../encoding/Base64.js";
13
+ import * as Predicate from "../Predicate.js";
14
+ import * as Schema from "../Schema.js";
15
+ import * as SchemaTransformation from "../SchemaTransformation.js";
1
16
  /**
2
17
  * Brand for decision definitions.
3
18
  *
@@ -6,6 +21,73 @@
6
21
  * @since 4.0.0
7
22
  */
8
23
  export const TypeId = "~effect/ai/Decision";
24
+ /**
25
+ * Key that marks an encoded {@link Image}.
26
+ *
27
+ * @stability unstable
28
+ * @category models
29
+ * @since 4.1.0
30
+ */
31
+ export const ImageKey = "~effect/ai/Decision/Image";
32
+ const isImage = u => Predicate.isObject(u) && Predicate.isString(u.mediaType) && (Predicate.isString(u.data) || u.data instanceof globalThis.Uint8Array || u.data instanceof globalThis.URL);
33
+ /**
34
+ * Schema for an image input field. Its type is `DecisionModel.Image`: a
35
+ * media type with base64 data, bytes, or a URL. Decisions refer to the image
36
+ * by the field's path, like any other field.
37
+ *
38
+ * **Details**
39
+ *
40
+ * The field encodes to an {@link ImageEncoded} object. `DecisionModel.decide`
41
+ * replaces each one in the encoded input with a reference string and sends the
42
+ * images to the provider separately; an image used in several fields is sent
43
+ * once. The encoded shape also appears in JSON Schema generated from the input.
44
+ *
45
+ * **Example** (Declaring an image field)
46
+ *
47
+ * ```ts
48
+ * import { Schema } from "effect"
49
+ * import { Decision } from "effect/ai"
50
+ *
51
+ * const Listing = Schema.Struct({
52
+ * title: Schema.String,
53
+ * photo: Decision.Image
54
+ * })
55
+ * ```
56
+ *
57
+ * @stability unstable
58
+ * @category schemas
59
+ * @since 4.1.0
60
+ */
61
+ export const Image = /*#__PURE__*/Schema.Struct({
62
+ [ImageKey]: Schema.Union([Schema.Struct({
63
+ mediaType: Schema.String,
64
+ base64: Schema.String
65
+ }), Schema.Struct({
66
+ mediaType: Schema.String,
67
+ url: Schema.URLFromString
68
+ })])
69
+ }).pipe(/*#__PURE__*/Schema.decodeTo(/*#__PURE__*/Schema.declare(isImage, {
70
+ expected: "DecisionModel.Image"
71
+ }), /*#__PURE__*/SchemaTransformation.transform({
72
+ decode: ({
73
+ [ImageKey]: image
74
+ }) => ({
75
+ mediaType: image.mediaType,
76
+ data: "base64" in image ? image.base64 : image.url
77
+ }),
78
+ encode: ({
79
+ mediaType,
80
+ data
81
+ }) => ({
82
+ [ImageKey]: data instanceof globalThis.URL ? {
83
+ mediaType,
84
+ url: data
85
+ } : {
86
+ mediaType,
87
+ base64: typeof data === "string" ? data : Base64.encode(data)
88
+ }
89
+ })
90
+ })));
9
91
  /**
10
92
  * Creates a classification decision from labelled criteria.
11
93
  * Descriptions can be `null` when the label needs no explanation.
@@ -149,6 +231,54 @@ export const probability = options => ({
149
231
  instructions: options.instructions,
150
232
  criteria: options.criteria
151
233
  });
234
+ /**
235
+ * Creates a decision that finds one target in an image field of the input.
236
+ * `image` is the field's path in the encoded input: keys joined with `.` and
237
+ * array indices in brackets, such as `"frames[2].frame"`. The model must be
238
+ * created with `supportsLocate: true`.
239
+ *
240
+ * **Details**
241
+ *
242
+ * Paths use encoded key names, so a key renamed with `Schema.encodeKeys` is
243
+ * targeted by its encoded name. `make` accepts only paths to required
244
+ * {@link Image} fields, and `DecisionModel.decide` fails with
245
+ * `AiError.InvalidUserInputError` when the path holds no image, such as an
246
+ * index past the end of an array.
247
+ *
248
+ * The answer is always one box, even when the target is absent. Pair the
249
+ * decision with a {@link probability} decision that the target is present.
250
+ *
251
+ * **Gotchas**
252
+ *
253
+ * - For a generic input schema, the compiler error for an invalid path names
254
+ * the whole decision type rather than the path.
255
+ *
256
+ * **Example** (Finding a mug in a photo)
257
+ *
258
+ * ```ts
259
+ * import { Schema } from "effect"
260
+ * import { Decision } from "effect/ai"
261
+ *
262
+ * const FindMug = Decision.make({
263
+ * input: Schema.Struct({ photo: Decision.Image }),
264
+ * decisions: {
265
+ * present: Decision.probability({ instructions: "`photo` shows a coffee mug" }),
266
+ * mug: Decision.locate({ image: "photo", instructions: "the coffee mug" })
267
+ * }
268
+ * })
269
+ * ```
270
+ *
271
+ * @see {@link LocateAnswer} for the answer
272
+ *
273
+ * @stability unstable
274
+ * @category constructors
275
+ * @since 4.1.0
276
+ */
277
+ export const locate = options => ({
278
+ _tag: "Locate",
279
+ image: options.image,
280
+ instructions: options.instructions
281
+ });
152
282
  /**
153
283
  * Creates a decision definition from an input schema and named decisions.
154
284
  * `DecisionModel.decide` encodes the input with `Schema.toCodecJson` before
@@ -1 +1 @@
1
- {"version":3,"file":"Decision.js","names":[],"sources":["../../src/ai/Decision.ts"],"sourcesContent":[null],"mappings":"AAuBA;;;;;;;AAOA,OAAO,MAAM,MAAM,GAAW,qBAAqB;AAkNnD;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,OAAO,MAAM,QAAQ,GAA0B,OAG9C,IAAqB;EACpB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;IAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;EACjF;EACA,OAAO;IACL,IAAI,EAAE,UAAU;IAChB,YAAY,EAAE,OAAO,CAAC,YAAY;IAClC,QAAQ,EAAE,OAAO,CAAC;GACnB;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,OAAO,MAAM,IAAI,GAAgC,OAGhD,IAAiB;EAChB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;IAC/B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC;EAC7E;EACA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAE,KAAK,IAC1C,OAAO,KAAK,KAAK,QAAQ,GAAG;IAAE,KAAK,EAAE,KAAK;IAAE,WAAW,EAAE;EAAK,CAAE,GAAG,KAAK,CACzE;EACD,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAE,KAAK,IAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE;IAC1E,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;EACzE;EACA,OAAO;IACL,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,OAAO,CAAC,YAAY;IAClC;GACD;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,OAAO,MAAM,WAAW,GAAI,OAM3B,KAAmB;EAClB,IAAI,EAAE,aAAa;EACnB,YAAY,EAAE,OAAO,CAAC,YAAY;EAClC,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,OAAO,MAAM,IAAI,GAA4E,OAG5F,IAAkC;EACjC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;IAC/C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC;EAC/D;EACA,OAAO;IACL,CAAC,MAAM,GAAG,MAAM;IAChB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,SAAS,EAAE,OAAO,CAAC;GACpB;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Decision.js","names":[],"sources":["../../src/ai/Decision.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,7 @@ import * as Context from "../Context.ts";
11
11
  import * as Effect from "../Effect.ts";
12
12
  import * as Schema from "../Schema.ts";
13
13
  import * as AiError from "./AiError.ts";
14
- import type * as Decision from "./Decision.ts";
14
+ import * as Decision from "./Decision.ts";
15
15
  import type * as Response from "./Response.ts";
16
16
  /**
17
17
  * Service key for answering decisions about an input. Create implementations
@@ -62,13 +62,9 @@ export declare class DecisionUsage extends DecisionUsage_base {
62
62
  */
63
63
  export interface DecideOptions<Input extends Schema.Constraint> {
64
64
  readonly input: Input["Type"];
65
- /**
66
- * Images to include with the input.
67
- */
68
- readonly images?: ReadonlyArray<Image> | undefined;
69
65
  }
70
66
  /**
71
- * An image sent to the provider with the encoded input.
67
+ * An image in the input, declared with a `Decision.Image` field.
72
68
  * `data` is a base64 string, a byte array, or a URL.
73
69
  *
74
70
  * @stability unstable
@@ -79,6 +75,23 @@ export interface Image {
79
75
  readonly mediaType: string;
80
76
  readonly data: string | Uint8Array | URL;
81
77
  }
78
+ /**
79
+ * An image extracted from the encoded input. `state` holds `reference` where
80
+ * the image was, and `path` is where it was first found. `data` is a base64
81
+ * string or a URL.
82
+ *
83
+ * @stability unstable
84
+ * @category models
85
+ * @since 4.1.0
86
+ */
87
+ export interface ProviderImage {
88
+ readonly reference: string;
89
+ readonly path: ReadonlyArray<string | number>;
90
+ readonly image: {
91
+ readonly mediaType: string;
92
+ readonly data: string | URL;
93
+ };
94
+ }
82
95
  /**
83
96
  * Provider-specific response metadata keyed by provider name. Provider
84
97
  * packages augment this interface.
@@ -142,16 +155,18 @@ export interface DecideSettledResponse<Decisions extends Record<string, Decision
142
155
  * Provider input options for a decision request.
143
156
  * `state` is encoded with `Schema.toCodecJson`, not stringified.
144
157
  * All `decisions` must be answered in one call.
145
- * `images` is omitted when no images are supplied.
158
+ * `images` holds the `Decision.Image` values found in the input and is omitted
159
+ * when there are none.
160
+ * `Decisions` is the union of decision kinds the provider receives.
146
161
  *
147
162
  * @stability unstable
148
163
  * @category options
149
164
  * @since 4.0.0
150
165
  */
151
- export interface ProviderOptions {
166
+ export interface ProviderOptions<Decisions extends Decision.Any = Decision.Any> {
152
167
  readonly state: Schema.Json;
153
- readonly decisions: Record<string, Decision.Any>;
154
- readonly images?: ReadonlyArray<Image> | undefined;
168
+ readonly decisions: Record<string, Decisions>;
169
+ readonly images?: ReadonlyArray<ProviderImage> | undefined;
155
170
  }
156
171
  /**
157
172
  * Provider classify answer. Omit `probabilities` when no distribution is available.
@@ -201,6 +216,18 @@ export interface ProviderProbabilityAnswer {
201
216
  export interface ProviderRefusalAnswer {
202
217
  readonly _tag: "Refusal";
203
218
  }
219
+ /**
220
+ * Provider answer for a locate decision.
221
+ *
222
+ * @stability unstable
223
+ * @category models
224
+ * @since 4.1.0
225
+ */
226
+ export interface ProviderLocateAnswer {
227
+ readonly _tag: "Locate";
228
+ readonly box: Decision.BoundingBox;
229
+ readonly confidence?: number | undefined;
230
+ }
204
231
  /**
205
232
  * Provider answer for any decision kind.
206
233
  *
@@ -208,7 +235,7 @@ export interface ProviderRefusalAnswer {
208
235
  * @category models
209
236
  * @since 4.0.0
210
237
  */
211
- export type ProviderAnswer = ProviderClassifyAnswer | ProviderRateAnswer | ProviderProbabilityAnswer | ProviderRefusalAnswer;
238
+ export type ProviderAnswer = ProviderClassifyAnswer | ProviderRateAnswer | ProviderProbabilityAnswer | ProviderRefusalAnswer | ProviderLocateAnswer;
212
239
  /**
213
240
  * Provider response for a decision request.
214
241
  * `answers` is keyed like the requested decisions. Each answer is validated
@@ -246,16 +273,24 @@ export interface DecisionModel {
246
273
  * Creates a `DecisionModel` that encodes inputs as JSON and validates provider answers.
247
274
  * Answers must cover every decision and use its labels. Distributions must
248
275
  * sum to 1 within `1e-6`, optional confidence must be in `[0, 1]`, and ratings must be
249
- * in `[0, criteria.length - 1]`. With `decide`, refused decisions fail with
276
+ * in `[0, criteria.length - 1]`, and boxes must have edges in `[0, 1]` that do
277
+ * not cross. With `decide`, refused decisions fail with
250
278
  * `AiError.ContentPolicyError` and other unanswered decisions fail with
251
279
  * `AiError.InvalidOutputError`; `decideSettled` reports them per decision
252
280
  * instead. Encoding failures use `AiError.InvalidUserInputError`.
253
281
  *
254
282
  * **Details**
255
283
  *
256
- * Set `supportsImages: true` to accept images. Otherwise, nonempty image input
284
+ * After encoding, each `Decision.Image` in the input is replaced with a
285
+ * reference string, and the provider receives the images in `images`. Set
286
+ * `supportsImages: true` to accept images. Otherwise, an input with images
257
287
  * fails with `AiError.InvalidUserInputError`.
258
288
  *
289
+ * Set `supportsLocate: true` to accept locate decisions; only then does
290
+ * `decide` receive them. Otherwise, a definition with a locate decision fails
291
+ * with `AiError.InvalidUserInputError`, as does a locate decision whose path
292
+ * holds no image.
293
+ *
259
294
  * Providers that round each probability to `probabilityPrecision` decimal
260
295
  * places may return distributions whose sum drifts from 1 by up to half a unit
261
296
  * of the last place per label. Setting `probabilityPrecision` accepts that
@@ -270,9 +305,15 @@ export interface DecisionModel {
270
305
  * @since 4.0.0
271
306
  */
272
307
  export declare const make: (params: {
308
+ readonly decide: (options: ProviderOptions<Exclude<Decision.Any, Decision.Locate>>) => Effect.Effect<ProviderResponse, AiError.AiError>;
309
+ readonly probabilityPrecision?: number | undefined;
310
+ readonly supportsImages?: boolean | undefined;
311
+ readonly supportsLocate?: false | undefined;
312
+ } | {
273
313
  readonly decide: (options: ProviderOptions) => Effect.Effect<ProviderResponse, AiError.AiError>;
274
314
  readonly probabilityPrecision?: number | undefined;
275
315
  readonly supportsImages?: boolean | undefined;
316
+ readonly supportsLocate: true;
276
317
  }) => Effect.Effect<DecisionModel>;
277
318
  /**
278
319
  * Answers a decision definition using the current `DecisionModel` service.
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionModel.d.ts","sourceRoot":"","sources":["../../src/ai/DecisionModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecisionModel.d.ts","sourceRoot":"","sources":["../../src/ai/DecisionModel.ts"],"names":[],"mappings":"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"}