@openclaw/slack 2026.7.1-beta.1 → 2026.7.1-beta.4

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 (605) hide show
  1. package/dist/{account-inspect-DOtQbKkB.js → account-inspect-Di7ditqZ.js} +1 -1
  2. package/dist/account-inspect-api.js +1 -1
  3. package/dist/{accounts-BPCiCe8y.js → accounts-BOJJiHSr.js} +14 -1
  4. package/dist/accounts.runtime-DWvaCb-X.js +2 -0
  5. package/dist/{action-runtime-BLu039dd.js → action-runtime-DoQGk_8D.js} +37 -40
  6. package/dist/action-runtime.runtime-BABj3aM-.js +2 -0
  7. package/dist/{actions-CqRHPciJ.js → actions-DMpDmKEA.js} +211 -57
  8. package/dist/actions.runtime-C103_BPW.js +2 -0
  9. package/dist/api.js +13 -13
  10. package/dist/{approval-handler.runtime-BqNO_HC_.js → approval-handler.runtime-CIUbOt5T.js} +2 -2
  11. package/dist/{channel-DjNY4ik7.js → channel-CG29WLVd.js} +198 -111
  12. package/dist/channel-plugin-api.js +1 -1
  13. package/dist/{channel.setup-CDOZ8V3p.js → channel.setup-Dq6syTNU.js} +3 -3
  14. package/dist/{client-DG9cyk55.js → client-DGxwSL7f.js} +0 -1
  15. package/dist/{directory-config-DDVHDmrN.js → directory-config-BZuS8141.js} +1 -1
  16. package/dist/directory-contract-api.js +1 -1
  17. package/dist/{directory-live-DC-YA5SQ.js → directory-live-BNsxCgqP.js} +2 -2
  18. package/dist/format-YCNoNkM2.js +107 -0
  19. package/dist/http-routes-api.js +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/{interactive-replies-D-22gTp3.js → interactive-replies-CXpT-vA_.js} +13 -2
  22. package/dist/interactive-replies-api.js +1 -1
  23. package/dist/{message-tool-api--zYyTqrR.js → message-tool-api-BgWKyu2r.js} +11 -4
  24. package/dist/message-tool-api.js +1 -1
  25. package/dist/{monitor-Cf50drfK.js → monitor-D6Km2CFH.js} +3 -3
  26. package/dist/outbound-adapter-DVoBfBW5.js +272 -0
  27. package/dist/{pipeline.runtime-BKICBY52.js → pipeline.runtime-0wEFX2CS.js} +185 -268
  28. package/dist/{plugin-routes-B9PvcDQJ.js → plugin-routes-CLp4obpN.js} +1 -1
  29. package/dist/{policy-DAE6BTN3.js → policy-Dj-puVPb.js} +10 -4
  30. package/dist/{probe-DFKt9Ute.js → probe-CuwRDE5j.js} +10 -4
  31. package/dist/{provider-DOZHzRWi.js → provider-Cot8h818.js} +199 -154
  32. package/dist/{relay-source-BpBIUaF8.js → relay-source-CU1LhyBj.js} +2 -2
  33. package/dist/{replies-CMZq3Lcb.js → replies-Bbx6pG_B.js} +4 -3
  34. package/dist/{reply-blocks-CfJqf7eq.js → reply-blocks-BGQ6zSqM.js} +184 -36
  35. package/dist/{resolve-channels-eniB45fy.js → resolve-channels-CstkChBE.js} +1 -1
  36. package/dist/{resolve-users-DDKzl37a.js → resolve-users-C3NP2c-Q.js} +1 -1
  37. package/dist/{runtime-api-DHJ8ntLr.js → runtime-api-CEmqYxR-.js} +1 -1
  38. package/dist/runtime-api.js +12 -12
  39. package/dist/{scopes-BdVdJxFf.js → scopes-DCWVD5-8.js} +2 -2
  40. package/dist/{send-Dg6U9K7_.js → send-DKDXoeoV.js} +392 -225
  41. package/dist/send.runtime-GPRa63l1.js +2 -0
  42. package/dist/{setup-core-BCGzyZhx.js → setup-core-fGd6Gquy.js} +4 -3
  43. package/dist/setup-entry.js +1 -1
  44. package/dist/setup-plugin-api.js +1 -1
  45. package/dist/{setup-surface-D7xdZLxB.js → setup-surface-Dv2fIJNB.js} +5 -5
  46. package/dist/{shared-iMaNxOIL.js → shared-CosfcFri.js} +5 -5
  47. package/dist/{slash-dispatch.runtime-C-1pDqWi.js → slash-dispatch.runtime-Ccm3quU1.js} +1 -1
  48. package/node_modules/@slack/web-api/dist/chat-stream.d.ts +6 -0
  49. package/node_modules/@slack/web-api/dist/chat-stream.d.ts.map +1 -1
  50. package/node_modules/@slack/web-api/dist/chat-stream.js +8 -0
  51. package/node_modules/@slack/web-api/dist/chat-stream.js.map +1 -1
  52. package/node_modules/@slack/web-api/dist/types/request/assistant.d.ts +1 -1
  53. package/node_modules/@slack/web-api/dist/types/request/assistant.d.ts.map +1 -1
  54. package/node_modules/@slack/web-api/package.json +1 -1
  55. package/node_modules/@types/node/README.md +1 -1
  56. package/node_modules/@types/node/assert/strict.d.ts +10 -1
  57. package/node_modules/@types/node/assert.d.ts +144 -17
  58. package/node_modules/@types/node/async_hooks.d.ts +9 -9
  59. package/node_modules/@types/node/buffer.d.ts +64 -30
  60. package/node_modules/@types/node/child_process.d.ts +17 -21
  61. package/node_modules/@types/node/cluster.d.ts +13 -13
  62. package/node_modules/@types/node/console.d.ts +1 -1
  63. package/node_modules/@types/node/crypto.d.ts +471 -575
  64. package/node_modules/@types/node/diagnostics_channel.d.ts +274 -32
  65. package/node_modules/@types/node/dns.d.ts +15 -15
  66. package/node_modules/@types/node/events.d.ts +3 -3
  67. package/node_modules/@types/node/ffi.d.ts +486 -0
  68. package/node_modules/@types/node/fs/promises.d.ts +7 -4
  69. package/node_modules/@types/node/fs.d.ts +24 -18
  70. package/node_modules/@types/node/globals.d.ts +4 -4
  71. package/node_modules/@types/node/http.d.ts +30 -5
  72. package/node_modules/@types/node/http2.d.ts +2 -1
  73. package/node_modules/@types/node/index.d.ts +1 -3
  74. package/node_modules/@types/node/inspector.d.ts +1 -1
  75. package/node_modules/@types/node/module.d.ts +16 -45
  76. package/node_modules/@types/node/net.d.ts +1 -1
  77. package/node_modules/@types/node/os.d.ts +2 -2
  78. package/node_modules/@types/node/package.json +4 -4
  79. package/node_modules/@types/node/perf_hooks.d.ts +1 -9
  80. package/node_modules/@types/node/process.d.ts +25 -12
  81. package/node_modules/@types/node/quic.d.ts +92 -11
  82. package/node_modules/@types/node/readline.d.ts +12 -11
  83. package/node_modules/@types/node/repl.d.ts +10 -10
  84. package/node_modules/@types/node/sqlite.d.ts +56 -1
  85. package/node_modules/@types/node/stream/iter.d.ts +150 -0
  86. package/node_modules/@types/node/stream/promises.d.ts +2 -2
  87. package/node_modules/@types/node/stream/web.d.ts +1 -1
  88. package/node_modules/@types/node/stream.d.ts +37 -5
  89. package/node_modules/@types/node/test/reporters.d.ts +1 -1
  90. package/node_modules/@types/node/test.d.ts +120 -10
  91. package/node_modules/@types/node/tls.d.ts +1 -1
  92. package/node_modules/@types/node/ts5.6/index.d.ts +2 -4
  93. package/node_modules/@types/node/ts5.7/index.d.ts +1 -3
  94. package/node_modules/@types/node/url.d.ts +3 -3
  95. package/node_modules/@types/node/util/types.d.ts +1 -1
  96. package/node_modules/@types/node/util.d.ts +22 -22
  97. package/node_modules/@types/node/v8.d.ts +85 -3
  98. package/node_modules/@types/node/vm.d.ts +9 -9
  99. package/node_modules/@types/node/web-globals/domexception.d.ts +15 -0
  100. package/node_modules/@types/node/worker_threads.d.ts +10 -12
  101. package/node_modules/@types/node/zlib.d.ts +3 -3
  102. package/node_modules/body-parser/README.md +16 -1
  103. package/node_modules/body-parser/index.js +4 -20
  104. package/node_modules/body-parser/lib/read.js +17 -17
  105. package/node_modules/body-parser/lib/types/json.js +60 -32
  106. package/node_modules/body-parser/lib/types/raw.js +3 -3
  107. package/node_modules/body-parser/lib/types/text.js +3 -3
  108. package/node_modules/body-parser/lib/types/urlencoded.js +16 -20
  109. package/node_modules/body-parser/lib/utils.js +18 -16
  110. package/node_modules/body-parser/node_modules/content-type/LICENSE +22 -0
  111. package/node_modules/body-parser/node_modules/content-type/README.md +69 -0
  112. package/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +26 -0
  113. package/node_modules/body-parser/node_modules/content-type/dist/index.js +170 -0
  114. package/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -0
  115. package/node_modules/body-parser/node_modules/content-type/package.json +52 -0
  116. package/node_modules/body-parser/package.json +23 -10
  117. package/node_modules/range-parser/README.md +13 -12
  118. package/node_modules/range-parser/index.js +27 -8
  119. package/node_modules/range-parser/package.json +12 -8
  120. package/node_modules/semver/classes/range.js +6 -2
  121. package/node_modules/semver/package.json +1 -1
  122. package/node_modules/side-channel/CHANGELOG.md +10 -0
  123. package/node_modules/side-channel/README.md +1 -1
  124. package/node_modules/side-channel/index.js +5 -2
  125. package/node_modules/side-channel/package.json +10 -10
  126. package/node_modules/side-channel/test/index.js +16 -0
  127. package/node_modules/typebox/build/compile/validator.d.mts +2 -7
  128. package/node_modules/typebox/build/compile/validator.mjs +6 -36
  129. package/node_modules/typebox/build/error/errors.d.mts +1 -7
  130. package/node_modules/typebox/build/format/_idna.mjs +36 -6
  131. package/node_modules/typebox/build/format/_puny.mjs +4 -1
  132. package/node_modules/typebox/build/format/uuid.d.mts +2 -2
  133. package/node_modules/typebox/build/format/uuid.mjs +3 -3
  134. package/node_modules/typebox/build/guard/emit.d.mts +0 -4
  135. package/node_modules/typebox/build/guard/emit.mjs +0 -8
  136. package/node_modules/typebox/build/guard/guard.d.mts +4 -8
  137. package/node_modules/typebox/build/guard/guard.mjs +5 -13
  138. package/node_modules/typebox/build/schema/engine/boolean.d.mts +3 -3
  139. package/node_modules/typebox/build/schema/engine/boolean.mjs +4 -4
  140. package/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
  141. package/node_modules/typebox/build/schema/engine/index.mjs +0 -1
  142. package/node_modules/typebox/build/schema/engine/schema.mjs +5 -10
  143. package/node_modules/typebox/build/schema/engine/type.mjs +14 -18
  144. package/node_modules/typebox/build/schema/types/dependencies.mjs +1 -1
  145. package/node_modules/typebox/build/schema/types/index.d.mts +0 -1
  146. package/node_modules/typebox/build/schema/types/index.mjs +0 -1
  147. package/node_modules/typebox/build/schema/types/schema.d.mts +1 -1
  148. package/node_modules/typebox/build/schema/types/schema.mjs +2 -2
  149. package/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
  150. package/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
  151. package/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
  152. package/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
  153. package/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
  154. package/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
  155. package/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
  156. package/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
  157. package/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
  158. package/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
  159. package/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
  160. package/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
  161. package/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
  162. package/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
  163. package/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
  164. package/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
  165. package/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
  166. package/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
  167. package/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
  168. package/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
  169. package/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
  170. package/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
  171. package/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
  172. package/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
  173. package/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
  174. package/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
  175. package/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
  176. package/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
  177. package/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
  178. package/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
  179. package/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
  180. package/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
  181. package/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
  182. package/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
  183. package/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
  184. package/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
  185. package/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
  186. package/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
  187. package/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
  188. package/node_modules/typebox/build/system/memory/clone.mjs +73 -26
  189. package/node_modules/typebox/build/system/settings/settings.d.mts +15 -0
  190. package/node_modules/typebox/build/system/settings/settings.mjs +3 -1
  191. package/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
  192. package/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
  193. package/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
  194. package/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
  195. package/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
  196. package/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
  197. package/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
  198. package/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
  199. package/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
  200. package/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
  201. package/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
  202. package/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
  203. package/node_modules/typebox/build/type/action/conditional.d.mts +2 -3
  204. package/node_modules/typebox/build/type/action/conditional.mjs +2 -1
  205. package/node_modules/typebox/build/type/action/index.d.mts +7 -4
  206. package/node_modules/typebox/build/type/action/index.mjs +7 -4
  207. package/node_modules/typebox/build/type/action/mapped.d.mts +2 -3
  208. package/node_modules/typebox/build/type/action/mapped.mjs +2 -1
  209. package/node_modules/typebox/build/type/action/module.d.mts +8 -7
  210. package/node_modules/typebox/build/type/action/module.mjs +7 -6
  211. package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
  212. package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
  213. package/node_modules/typebox/build/type/action/with.d.mts +11 -0
  214. package/node_modules/typebox/build/type/action/with.mjs +11 -0
  215. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +1 -1
  216. package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +1 -3
  217. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +3 -2
  218. package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +2 -2
  219. package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +3 -4
  220. package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +2 -1
  221. package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +2 -3
  222. package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +3 -6
  223. package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +6 -9
  224. package/node_modules/typebox/build/type/engine/cyclic/check.mjs +10 -16
  225. package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
  226. package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
  227. package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
  228. package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
  229. package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +2 -5
  230. package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +3 -2
  231. package/node_modules/typebox/build/type/engine/enum/index.d.mts +0 -1
  232. package/node_modules/typebox/build/type/engine/enum/index.mjs +0 -1
  233. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +1 -2
  234. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +2 -6
  235. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +10 -6
  236. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +10 -6
  237. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +2 -1
  238. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +3 -3
  239. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +17 -5
  240. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +34 -8
  241. package/node_modules/typebox/build/type/engine/exclude/operation.d.mts +5 -6
  242. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +11 -12
  243. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +5 -6
  244. package/node_modules/typebox/build/type/engine/extract/operation.mjs +11 -12
  245. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
  246. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
  247. package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
  248. package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
  249. package/node_modules/typebox/build/type/engine/index.d.mts +2 -2
  250. package/node_modules/typebox/build/type/engine/index.mjs +2 -2
  251. package/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
  252. package/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
  253. package/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +3 -3
  254. package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +4 -4
  255. package/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +2 -2
  256. package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +3 -3
  257. package/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +3 -1
  258. package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +9 -6
  259. package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +2 -1
  260. package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +5 -2
  261. package/node_modules/typebox/build/type/engine/instantiate.d.mts +44 -31
  262. package/node_modules/typebox/build/type/engine/instantiate.mjs +82 -83
  263. package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +3 -6
  264. package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +2 -2
  265. package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +3 -3
  266. package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +2 -1
  267. package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +5 -1
  268. package/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +4 -4
  269. package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +3 -3
  270. package/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +5 -4
  271. package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +10 -5
  272. package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +7 -9
  273. package/node_modules/typebox/build/type/engine/module/instantiate.mjs +17 -15
  274. package/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
  275. package/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
  276. package/node_modules/typebox/build/type/engine/object/from_type.d.mts +3 -1
  277. package/node_modules/typebox/build/type/engine/object/from_type.mjs +8 -5
  278. package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
  279. package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
  280. package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
  281. package/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
  282. package/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
  283. package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +3 -4
  284. package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +2 -1
  285. package/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
  286. package/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
  287. package/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +1 -1
  288. package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +3 -2
  289. package/node_modules/typebox/build/type/engine/partial/from_object.d.mts +2 -2
  290. package/node_modules/typebox/build/type/engine/partial/from_object.mjs +2 -2
  291. package/node_modules/typebox/build/type/engine/partial/from_type.d.mts +3 -1
  292. package/node_modules/typebox/build/type/engine/partial/from_type.mjs +7 -4
  293. package/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
  294. package/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
  295. package/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
  296. package/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
  297. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
  298. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
  299. package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
  300. package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
  301. package/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +2 -2
  302. package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +2 -2
  303. package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
  304. package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
  305. package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +1 -1
  306. package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +3 -2
  307. package/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +2 -2
  308. package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +2 -2
  309. package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +2 -2
  310. package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +2 -2
  311. package/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +3 -1
  312. package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +8 -5
  313. package/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +2 -2
  314. package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +2 -2
  315. package/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +2 -2
  316. package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +2 -2
  317. package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +3 -3
  318. package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +6 -6
  319. package/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
  320. package/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
  321. package/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +1 -1
  322. package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +3 -2
  323. package/node_modules/typebox/build/type/engine/required/from_object.d.mts +2 -2
  324. package/node_modules/typebox/build/type/engine/required/from_object.mjs +2 -2
  325. package/node_modules/typebox/build/type/engine/required/from_type.d.mts +3 -1
  326. package/node_modules/typebox/build/type/engine/required/from_type.mjs +7 -4
  327. package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +3 -3
  328. package/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +2 -2
  329. package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +6 -6
  330. package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +1 -1
  331. package/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +1 -0
  332. package/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
  333. package/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
  334. package/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
  335. package/node_modules/typebox/build/type/engine/{options → with}/instantiate.mjs +5 -5
  336. package/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
  337. package/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
  338. package/node_modules/typebox/build/type/extends/enum.d.mts +4 -4
  339. package/node_modules/typebox/build/type/extends/enum.mjs +3 -2
  340. package/node_modules/typebox/build/type/extends/extends_left.d.mts +5 -7
  341. package/node_modules/typebox/build/type/extends/extends_left.mjs +24 -27
  342. package/node_modules/typebox/build/type/extends/extends_right.d.mts +7 -5
  343. package/node_modules/typebox/build/type/extends/extends_right.mjs +20 -15
  344. package/node_modules/typebox/build/type/extends/inference.mjs +1 -1
  345. package/node_modules/typebox/build/type/extends/object.d.mts +8 -1
  346. package/node_modules/typebox/build/type/extends/object.mjs +25 -3
  347. package/node_modules/typebox/build/type/extends/parameters.mjs +2 -2
  348. package/node_modules/typebox/build/type/extends/record.d.mts +13 -0
  349. package/node_modules/typebox/build/type/extends/record.mjs +23 -0
  350. package/node_modules/typebox/build/type/extends/template_literal.d.mts +3 -3
  351. package/node_modules/typebox/build/type/extends/template_literal.mjs +3 -3
  352. package/node_modules/typebox/build/type/extends/tuple.d.mts +3 -6
  353. package/node_modules/typebox/build/type/extends/tuple.mjs +6 -5
  354. package/node_modules/typebox/build/type/extends/union.mjs +2 -2
  355. package/node_modules/typebox/build/type/script/mapping.d.mts +84 -99
  356. package/node_modules/typebox/build/type/script/mapping.mjs +81 -85
  357. package/node_modules/typebox/build/type/script/parser.d.mts +40 -40
  358. package/node_modules/typebox/build/type/script/parser.mjs +22 -22
  359. package/node_modules/typebox/build/type/script/script.d.mts +3 -4
  360. package/node_modules/typebox/build/type/script/script.mjs +3 -2
  361. package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -1
  362. package/node_modules/typebox/build/type/script/token/internal/guard.mjs +1 -1
  363. package/node_modules/typebox/build/type/script/token/internal/take.mjs +1 -1
  364. package/node_modules/typebox/build/type/script/token/until.mjs +2 -2
  365. package/node_modules/typebox/build/type/types/_codec.d.mts +12 -12
  366. package/node_modules/typebox/build/type/types/_codec.mjs +0 -1
  367. package/node_modules/typebox/build/type/types/_immutable.d.mts +2 -9
  368. package/node_modules/typebox/build/type/types/_immutable.mjs +2 -10
  369. package/node_modules/typebox/build/type/types/_optional.d.mts +2 -9
  370. package/node_modules/typebox/build/type/types/_optional.mjs +2 -11
  371. package/node_modules/typebox/build/type/types/_readonly.d.mts +2 -9
  372. package/node_modules/typebox/build/type/types/_readonly.mjs +2 -10
  373. package/node_modules/typebox/build/type/types/_refine.d.mts +8 -10
  374. package/node_modules/typebox/build/type/types/_refine.mjs +1 -2
  375. package/node_modules/typebox/build/type/types/call.d.mts +3 -3
  376. package/node_modules/typebox/build/type/types/call.mjs +3 -2
  377. package/node_modules/typebox/build/type/types/deferred.d.mts +1 -0
  378. package/node_modules/typebox/build/type/types/deferred.mjs +1 -1
  379. package/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
  380. package/node_modules/typebox/build/type/types/dependent.mjs +24 -0
  381. package/node_modules/typebox/build/type/types/enum.d.mts +3 -1
  382. package/node_modules/typebox/build/type/types/enum.mjs +5 -0
  383. package/node_modules/typebox/build/type/types/index.d.mts +1 -4
  384. package/node_modules/typebox/build/type/types/index.mjs +1 -4
  385. package/node_modules/typebox/build/type/types/number.d.mts +1 -1
  386. package/node_modules/typebox/build/type/types/number.mjs +1 -1
  387. package/node_modules/typebox/build/type/types/record.d.mts +13 -7
  388. package/node_modules/typebox/build/type/types/record.mjs +15 -9
  389. package/node_modules/typebox/build/type/types/static.d.mts +2 -5
  390. package/node_modules/typebox/build/typebox.d.mts +4 -8
  391. package/node_modules/typebox/build/typebox.mjs +4 -8
  392. package/node_modules/typebox/build/value/clean/clean.mjs +4 -2
  393. package/node_modules/typebox/build/value/clean/from_intersect.mjs +2 -2
  394. package/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
  395. package/node_modules/typebox/build/value/clean/from_union.d.mts +1 -1
  396. package/node_modules/typebox/build/value/clean/from_union.mjs +1 -2
  397. package/node_modules/typebox/build/value/clone/clone.mjs +2 -73
  398. package/node_modules/typebox/build/value/codec/decode.mjs +4 -2
  399. package/node_modules/typebox/build/value/codec/encode.mjs +4 -2
  400. package/node_modules/typebox/build/value/codec/from_array.mjs +1 -4
  401. package/node_modules/typebox/build/value/codec/from_object.mjs +1 -4
  402. package/node_modules/typebox/build/value/codec/from_record.mjs +2 -7
  403. package/node_modules/typebox/build/value/codec/from_tuple.mjs +1 -4
  404. package/node_modules/typebox/build/value/codec/from_union.mjs +2 -3
  405. package/node_modules/typebox/build/value/convert/from_enum.mjs +3 -4
  406. package/node_modules/typebox/build/value/convert/from_template_literal.d.mts +1 -1
  407. package/node_modules/typebox/build/value/convert/from_template_literal.mjs +2 -3
  408. package/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
  409. package/node_modules/typebox/build/value/create/from_enum.mjs +2 -2
  410. package/node_modules/typebox/build/value/create/from_type.mjs +23 -31
  411. package/node_modules/typebox/build/value/default/from_object.mjs +1 -1
  412. package/node_modules/typebox/build/value/default/from_type.mjs +8 -10
  413. package/node_modules/typebox/build/value/index.d.mts +0 -1
  414. package/node_modules/typebox/build/value/index.mjs +0 -1
  415. package/node_modules/typebox/build/value/repair/from_enum.mjs +2 -3
  416. package/node_modules/typebox/build/value/repair/from_type.mjs +24 -22
  417. package/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +6 -2
  418. package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +62 -26
  419. package/node_modules/typebox/build/value/value.d.mts +0 -1
  420. package/node_modules/typebox/build/value/value.mjs +0 -1
  421. package/node_modules/typebox/package.json +25 -25
  422. package/node_modules/typebox/readme.md +97 -80
  423. package/node_modules/undici-types/agent.d.ts +0 -2
  424. package/node_modules/undici-types/client.d.ts +25 -19
  425. package/node_modules/undici-types/dispatcher.d.ts +7 -33
  426. package/node_modules/undici-types/dispatcher1-wrapper.d.ts +7 -0
  427. package/node_modules/undici-types/fetch.d.ts +24 -4
  428. package/node_modules/undici-types/h2c-client.d.ts +6 -6
  429. package/node_modules/undici-types/handlers.d.ts +1 -2
  430. package/node_modules/undici-types/header.d.ts +5 -0
  431. package/node_modules/undici-types/index.d.ts +3 -1
  432. package/node_modules/undici-types/interceptors.d.ts +1 -1
  433. package/node_modules/undici-types/package.json +1 -1
  434. package/node_modules/undici-types/pool.d.ts +0 -2
  435. package/node_modules/undici-types/proxy-agent.d.ts +2 -2
  436. package/node_modules/undici-types/round-robin-pool.d.ts +0 -2
  437. package/node_modules/undici-types/snapshot-agent.d.ts +4 -0
  438. package/node_modules/undici-types/socks5-proxy-agent.d.ts +2 -2
  439. package/node_modules/undici-types/webidl.d.ts +0 -1
  440. package/npm-shrinkwrap.json +55 -47
  441. package/openclaw.plugin.json +46 -0
  442. package/package.json +6 -6
  443. package/dist/accounts.runtime-CgWgzjLX.js +0 -2
  444. package/dist/action-runtime.runtime-Pwl_ixsr.js +0 -2
  445. package/dist/actions.runtime-Dl6AfO_g.js +0 -2
  446. package/dist/errors-CZtmv-h0.js +0 -107
  447. package/dist/outbound-adapter-WHn1M1t4.js +0 -191
  448. package/dist/send.runtime-a-O4PP2B.js +0 -2
  449. package/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  450. package/node_modules/@types/ws/node_modules/@types/node/LICENSE +0 -21
  451. package/node_modules/@types/ws/node_modules/@types/node/README.md +0 -15
  452. package/node_modules/@types/ws/node_modules/@types/node/assert/strict.d.ts +0 -59
  453. package/node_modules/@types/ws/node_modules/@types/node/assert.d.ts +0 -950
  454. package/node_modules/@types/ws/node_modules/@types/node/async_hooks.d.ts +0 -711
  455. package/node_modules/@types/ws/node_modules/@types/node/buffer.buffer.d.ts +0 -466
  456. package/node_modules/@types/ws/node_modules/@types/node/buffer.d.ts +0 -1765
  457. package/node_modules/@types/ws/node_modules/@types/node/child_process.d.ts +0 -1366
  458. package/node_modules/@types/ws/node_modules/@types/node/cluster.d.ts +0 -432
  459. package/node_modules/@types/ws/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  460. package/node_modules/@types/ws/node_modules/@types/node/console.d.ts +0 -93
  461. package/node_modules/@types/ws/node_modules/@types/node/constants.d.ts +0 -14
  462. package/node_modules/@types/ws/node_modules/@types/node/crypto.d.ts +0 -4058
  463. package/node_modules/@types/ws/node_modules/@types/node/dgram.d.ts +0 -537
  464. package/node_modules/@types/ws/node_modules/@types/node/diagnostics_channel.d.ts +0 -552
  465. package/node_modules/@types/ws/node_modules/@types/node/dns/promises.d.ts +0 -497
  466. package/node_modules/@types/ws/node_modules/@types/node/dns.d.ts +0 -876
  467. package/node_modules/@types/ws/node_modules/@types/node/domain.d.ts +0 -150
  468. package/node_modules/@types/ws/node_modules/@types/node/events.d.ts +0 -1008
  469. package/node_modules/@types/ws/node_modules/@types/node/fs/promises.d.ts +0 -1468
  470. package/node_modules/@types/ws/node_modules/@types/node/fs.d.ts +0 -4780
  471. package/node_modules/@types/ws/node_modules/@types/node/globals.d.ts +0 -150
  472. package/node_modules/@types/ws/node_modules/@types/node/globals.typedarray.d.ts +0 -101
  473. package/node_modules/@types/ws/node_modules/@types/node/http.d.ts +0 -2147
  474. package/node_modules/@types/ws/node_modules/@types/node/http2.d.ts +0 -2485
  475. package/node_modules/@types/ws/node_modules/@types/node/https.d.ts +0 -400
  476. package/node_modules/@types/ws/node_modules/@types/node/index.d.ts +0 -117
  477. package/node_modules/@types/ws/node_modules/@types/node/inspector/promises.d.ts +0 -35
  478. package/node_modules/@types/ws/node_modules/@types/node/inspector.d.ts +0 -264
  479. package/node_modules/@types/ws/node_modules/@types/node/inspector.generated.d.ts +0 -4406
  480. package/node_modules/@types/ws/node_modules/@types/node/module.d.ts +0 -755
  481. package/node_modules/@types/ws/node_modules/@types/node/net.d.ts +0 -970
  482. package/node_modules/@types/ws/node_modules/@types/node/os.d.ts +0 -498
  483. package/node_modules/@types/ws/node_modules/@types/node/package.json +0 -155
  484. package/node_modules/@types/ws/node_modules/@types/node/path/posix.d.ts +0 -8
  485. package/node_modules/@types/ws/node_modules/@types/node/path/win32.d.ts +0 -8
  486. package/node_modules/@types/ws/node_modules/@types/node/path.d.ts +0 -178
  487. package/node_modules/@types/ws/node_modules/@types/node/perf_hooks.d.ts +0 -612
  488. package/node_modules/@types/ws/node_modules/@types/node/process.d.ts +0 -2204
  489. package/node_modules/@types/ws/node_modules/@types/node/punycode.d.ts +0 -89
  490. package/node_modules/@types/ws/node_modules/@types/node/querystring.d.ts +0 -139
  491. package/node_modules/@types/ws/node_modules/@types/node/quic.d.ts +0 -897
  492. package/node_modules/@types/ws/node_modules/@types/node/readline/promises.d.ts +0 -158
  493. package/node_modules/@types/ws/node_modules/@types/node/readline.d.ts +0 -507
  494. package/node_modules/@types/ws/node_modules/@types/node/repl.d.ts +0 -420
  495. package/node_modules/@types/ws/node_modules/@types/node/sea.d.ts +0 -47
  496. package/node_modules/@types/ws/node_modules/@types/node/sqlite.d.ts +0 -1068
  497. package/node_modules/@types/ws/node_modules/@types/node/stream/consumers.d.ts +0 -114
  498. package/node_modules/@types/ws/node_modules/@types/node/stream/iter.d.ts +0 -301
  499. package/node_modules/@types/ws/node_modules/@types/node/stream/promises.d.ts +0 -211
  500. package/node_modules/@types/ws/node_modules/@types/node/stream/web.d.ts +0 -300
  501. package/node_modules/@types/ws/node_modules/@types/node/stream.d.ts +0 -1774
  502. package/node_modules/@types/ws/node_modules/@types/node/string_decoder.d.ts +0 -27
  503. package/node_modules/@types/ws/node_modules/@types/node/test/reporters.d.ts +0 -59
  504. package/node_modules/@types/ws/node_modules/@types/node/test.d.ts +0 -2279
  505. package/node_modules/@types/ws/node_modules/@types/node/timers/promises.d.ts +0 -93
  506. package/node_modules/@types/ws/node_modules/@types/node/timers.d.ts +0 -149
  507. package/node_modules/@types/ws/node_modules/@types/node/tls.d.ts +0 -1193
  508. package/node_modules/@types/ws/node_modules/@types/node/trace_events.d.ts +0 -103
  509. package/node_modules/@types/ws/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
  510. package/node_modules/@types/ws/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
  511. package/node_modules/@types/ws/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
  512. package/node_modules/@types/ws/node_modules/@types/node/ts5.6/index.d.ts +0 -119
  513. package/node_modules/@types/ws/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
  514. package/node_modules/@types/ws/node_modules/@types/node/ts5.7/index.d.ts +0 -119
  515. package/node_modules/@types/ws/node_modules/@types/node/tty.d.ts +0 -225
  516. package/node_modules/@types/ws/node_modules/@types/node/url.d.ts +0 -556
  517. package/node_modules/@types/ws/node_modules/@types/node/util/types.d.ts +0 -558
  518. package/node_modules/@types/ws/node_modules/@types/node/util.d.ts +0 -1677
  519. package/node_modules/@types/ws/node_modules/@types/node/v8.d.ts +0 -980
  520. package/node_modules/@types/ws/node_modules/@types/node/vm.d.ts +0 -1136
  521. package/node_modules/@types/ws/node_modules/@types/node/wasi.d.ts +0 -131
  522. package/node_modules/@types/ws/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
  523. package/node_modules/@types/ws/node_modules/@types/node/web-globals/blob.d.ts +0 -23
  524. package/node_modules/@types/ws/node_modules/@types/node/web-globals/console.d.ts +0 -9
  525. package/node_modules/@types/ws/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
  526. package/node_modules/@types/ws/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  527. package/node_modules/@types/ws/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
  528. package/node_modules/@types/ws/node_modules/@types/node/web-globals/events.d.ts +0 -106
  529. package/node_modules/@types/ws/node_modules/@types/node/web-globals/fetch.d.ts +0 -69
  530. package/node_modules/@types/ws/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
  531. package/node_modules/@types/ws/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
  532. package/node_modules/@types/ws/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
  533. package/node_modules/@types/ws/node_modules/@types/node/web-globals/performance.d.ts +0 -45
  534. package/node_modules/@types/ws/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  535. package/node_modules/@types/ws/node_modules/@types/node/web-globals/streams.d.ts +0 -115
  536. package/node_modules/@types/ws/node_modules/@types/node/web-globals/timers.d.ts +0 -44
  537. package/node_modules/@types/ws/node_modules/@types/node/web-globals/url.d.ts +0 -24
  538. package/node_modules/@types/ws/node_modules/@types/node/worker_threads.d.ts +0 -671
  539. package/node_modules/@types/ws/node_modules/@types/node/zlib/iter.d.ts +0 -131
  540. package/node_modules/@types/ws/node_modules/@types/node/zlib.d.ts +0 -589
  541. package/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
  542. package/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
  543. package/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
  544. package/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
  545. package/node_modules/typebox/build/type/action/_optional.d.mts +0 -19
  546. package/node_modules/typebox/build/type/action/_optional.mjs +0 -40
  547. package/node_modules/typebox/build/type/action/_readonly.d.mts +0 -19
  548. package/node_modules/typebox/build/type/action/_readonly.mjs +0 -40
  549. package/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
  550. package/node_modules/typebox/build/type/action/awaited.mjs +0 -15
  551. package/node_modules/typebox/build/type/action/options.d.mts +0 -11
  552. package/node_modules/typebox/build/type/action/options.mjs +0 -11
  553. package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
  554. package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
  555. package/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +0 -14
  556. package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +0 -24
  557. package/node_modules/typebox/build/type/engine/options/index.d.mts +0 -1
  558. package/node_modules/typebox/build/type/engine/options/index.mjs +0 -1
  559. package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +0 -8
  560. package/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
  561. package/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
  562. package/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
  563. package/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
  564. package/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
  565. package/node_modules/typebox/build/type/extends/promise.mjs +0 -9
  566. package/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
  567. package/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
  568. package/node_modules/typebox/build/type/types/base.d.mts +0 -50
  569. package/node_modules/typebox/build/type/types/base.mjs +0 -84
  570. package/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
  571. package/node_modules/typebox/build/type/types/iterator.mjs +0 -28
  572. package/node_modules/typebox/build/type/types/promise.d.mts +0 -21
  573. package/node_modules/typebox/build/type/types/promise.mjs +0 -29
  574. package/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
  575. package/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
  576. package/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
  577. package/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
  578. package/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
  579. package/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
  580. package/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
  581. package/node_modules/typebox/build/value/create/from_base.mjs +0 -4
  582. package/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
  583. package/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
  584. package/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
  585. package/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
  586. package/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
  587. package/node_modules/typebox/build/value/default/from_base.mjs +0 -5
  588. package/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
  589. package/node_modules/typebox/build/value/mutate/error.mjs +0 -6
  590. package/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
  591. package/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
  592. package/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
  593. package/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
  594. package/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
  595. package/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
  596. package/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
  597. package/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
  598. package/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
  599. package/node_modules/typebox/build/value/mutate/index.mjs +0 -1
  600. package/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
  601. package/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
  602. package/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
  603. package/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
  604. /package/node_modules/typebox/build/type/engine/{awaited → with}/index.d.mts +0 -0
  605. /package/node_modules/typebox/build/type/engine/{awaited → with}/index.mjs +0 -0
@@ -1,13 +1,10 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Guard } from '../../../guard/index.mjs';
3
3
  import { IsArray } from '../../types/array.mjs';
4
- import { IsAsyncIterator } from '../../types/async_iterator.mjs';
5
4
  import { IsConstructor } from '../../types/constructor.mjs';
6
5
  import { IsFunction } from '../../types/function.mjs';
7
6
  import { IsIntersect } from '../../types/intersect.mjs';
8
- import { IsIterator } from '../../types/iterator.mjs';
9
7
  import { IsObject } from '../../types/object.mjs';
10
- import { IsPromise } from '../../types/promise.mjs';
11
8
  import { PropertyValues } from '../../types/properties.mjs';
12
9
  import { IsRecord, RecordValue } from '../../types/record.mjs';
13
10
  import { IsTuple } from '../../types/tuple.mjs';
@@ -24,25 +21,22 @@ function FromProperties(stack, context, properties) {
24
21
  return FromTypes(stack, context, types);
25
22
  }
26
23
  function FromTypes(stack, context, types) {
27
- return Guard.TakeLeft(types, (left, right) => FromType(stack, context, left)
24
+ return Guard.ShiftLeft(types, (left, right) => FromType(stack, context, left)
28
25
  ? true
29
26
  : FromTypes(stack, context, right), () => false);
30
27
  }
31
28
  function FromType(stack, context, type) {
32
29
  return (IsRef(type) ? FromRef(stack, context, type.$ref) :
33
30
  IsArray(type) ? FromType(stack, context, type.items) :
34
- IsAsyncIterator(type) ? FromType(stack, context, type.iteratorItems) :
35
- IsConstructor(type) ? FromTypes(stack, context, [...type.parameters, type.instanceType]) :
36
- IsFunction(type) ? FromTypes(stack, context, [...type.parameters, type.returnType]) :
37
- IsInterfaceDeferred(type) ? FromProperties(stack, context, type.parameters[1]) :
38
- IsIntersect(type) ? FromTypes(stack, context, type.allOf) :
39
- IsIterator(type) ? FromType(stack, context, type.iteratorItems) :
40
- IsObject(type) ? FromProperties(stack, context, type.properties) :
41
- IsPromise(type) ? FromType(stack, context, type.item) :
42
- IsUnion(type) ? FromTypes(stack, context, type.anyOf) :
43
- IsTuple(type) ? FromTypes(stack, context, type.items) :
44
- IsRecord(type) ? FromType(stack, context, RecordValue(type)) :
45
- false);
31
+ IsConstructor(type) ? FromTypes(stack, context, [...type.parameters, type.instanceType]) :
32
+ IsFunction(type) ? FromTypes(stack, context, [...type.parameters, type.returnType]) :
33
+ IsInterfaceDeferred(type) ? FromProperties(stack, context, type.parameters[1]) :
34
+ IsIntersect(type) ? FromTypes(stack, context, type.allOf) :
35
+ IsObject(type) ? FromProperties(stack, context, type.properties) :
36
+ IsUnion(type) ? FromTypes(stack, context, type.anyOf) :
37
+ IsTuple(type) ? FromTypes(stack, context, type.items) :
38
+ IsRecord(type) ? FromType(stack, context, RecordValue(type)) :
39
+ false);
46
40
  }
47
41
  /** Performs a cyclic check on the given type. Initial key stack can be empty, but faster if specified */
48
42
  export function CyclicCheck(stack, context, type) {
@@ -1,13 +1,10 @@
1
1
  import { type TUnreachable } from '../../../system/unreachable/index.mjs';
2
2
  import { type TSchema } from '../../types/schema.mjs';
3
3
  import { type TArray } from '../../types/array.mjs';
4
- import { type TAsyncIterator } from '../../types/async_iterator.mjs';
5
4
  import { type TConstructor } from '../../types/constructor.mjs';
6
5
  import { type TFunction } from '../../types/function.mjs';
7
6
  import { type TIntersect } from '../../types/intersect.mjs';
8
- import { type TIterator } from '../../types/iterator.mjs';
9
7
  import { type TObject } from '../../types/object.mjs';
10
- import { type TPromise } from '../../types/promise.mjs';
11
8
  import { type TProperties, type TPropertyValues } from '../../types/properties.mjs';
12
9
  import { type TRecord } from '../../types/record.mjs';
13
10
  import { type TTuple } from '../../types/tuple.mjs';
@@ -17,7 +14,7 @@ import { type TInterfaceDeferred } from '../../action/interface.mjs';
17
14
  type TFromRef<Context extends TProperties, Ref extends string, Dependencies extends string[]> = Ref extends Dependencies[number] ? Dependencies : Ref extends keyof Context ? TFromType<Context, Context[Ref], [...Dependencies, Ref]> : TUnreachable;
18
15
  type TFromProperties<Context extends TProperties, Properties extends TProperties, Dependencies extends string[], Types extends TSchema[] = TPropertyValues<Properties>> = TFromTypes<Context, Types, Dependencies>;
19
16
  type TFromTypes<Context extends TProperties, Types extends TSchema[], Dependencies extends string[]> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromTypes<Context, Right, TFromType<Context, Left, Dependencies>> : Dependencies;
20
- type TFromType<Context extends TProperties, Type extends TSchema, Result extends string[]> = (Type extends TRef<infer Ref extends string> ? TFromRef<Context, Ref, Result> : Type extends TArray<infer Type extends TSchema> ? TFromType<Context, Type, Result> : Type extends TAsyncIterator<infer Type extends TSchema> ? TFromType<Context, Type, Result> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TFromTypes<Context, [...Parameters, InstanceType], Result> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFromTypes<Context, [...Parameters, ReturnType], Result> : Type extends TInterfaceDeferred<TSchema[], infer Properties extends TProperties> ? TFromProperties<Context, Properties, Result> : Type extends TIntersect<infer Types extends TSchema[]> ? TFromTypes<Context, Types, Result> : Type extends TIterator<infer Type extends TSchema> ? TFromType<Context, Type, Result> : Type extends TObject<infer Properties extends TProperties> ? TFromProperties<Context, Properties, Result> : Type extends TPromise<infer Type extends TSchema> ? TFromType<Context, Type, Result> : Type extends TUnion<infer Types extends TSchema[]> ? TFromTypes<Context, Types, Result> : Type extends TTuple<infer Types extends TSchema[]> ? TFromTypes<Context, Types, Result> : Type extends TRecord<string, infer Type extends TSchema> ? TFromType<Context, Type, Result> : Result);
17
+ type TFromType<Context extends TProperties, Type extends TSchema, Result extends string[]> = (Type extends TRef<infer Ref extends string> ? TFromRef<Context, Ref, Result> : Type extends TArray<infer Type extends TSchema> ? TFromType<Context, Type, Result> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TFromTypes<Context, [...Parameters, InstanceType], Result> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFromTypes<Context, [...Parameters, ReturnType], Result> : Type extends TInterfaceDeferred<TSchema[], infer Properties extends TProperties> ? TFromProperties<Context, Properties, Result> : Type extends TIntersect<infer Types extends TSchema[]> ? TFromTypes<Context, Types, Result> : Type extends TObject<infer Properties extends TProperties> ? TFromProperties<Context, Properties, Result> : Type extends TUnion<infer Types extends TSchema[]> ? TFromTypes<Context, Types, Result> : Type extends TTuple<infer Types extends TSchema[]> ? TFromTypes<Context, Types, Result> : Type extends TRecord<string, infer Type extends TSchema> ? TFromType<Context, Type, Result> : Result);
21
18
  /** Returns dependent cyclic keys for the given type. This function is used to dead-type-eliminate (DTE) for initializing TCyclic types. */
22
19
  export type TCyclicDependencies<Context extends TProperties, Key extends string, Type extends TSchema, Result extends string[] = TFromType<Context, Type, [Key]>> = Result;
23
20
  /** Returns dependent cyclic keys for the given type. This function is used to dead-type-eliminate (DTE) for initializing TCyclic types. */
@@ -1,13 +1,10 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Unreachable } from '../../../system/unreachable/index.mjs';
3
3
  import { IsArray } from '../../types/array.mjs';
4
- import { IsAsyncIterator } from '../../types/async_iterator.mjs';
5
4
  import { IsConstructor } from '../../types/constructor.mjs';
6
5
  import { IsFunction } from '../../types/function.mjs';
7
6
  import { IsIntersect } from '../../types/intersect.mjs';
8
- import { IsIterator } from '../../types/iterator.mjs';
9
7
  import { IsObject } from '../../types/object.mjs';
10
- import { IsPromise } from '../../types/promise.mjs';
11
8
  import { PropertyValues } from '../../types/properties.mjs';
12
9
  import { IsRecord, RecordValue } from '../../types/record.mjs';
13
10
  import { IsTuple } from '../../types/tuple.mjs';
@@ -33,18 +30,15 @@ function FromTypes(context, types, result) {
33
30
  function FromType(context, type, result) {
34
31
  return (IsRef(type) ? FromRef(context, type.$ref, result) :
35
32
  IsArray(type) ? FromType(context, type.items, result) :
36
- IsAsyncIterator(type) ? FromType(context, type.iteratorItems, result) :
37
- IsConstructor(type) ? FromTypes(context, [...type.parameters, type.instanceType], result) :
38
- IsFunction(type) ? FromTypes(context, [...type.parameters, type.returnType], result) :
39
- IsInterfaceDeferred(type) ? FromProperties(context, type.parameters[1], result) :
40
- IsIntersect(type) ? FromTypes(context, type.allOf, result) :
41
- IsIterator(type) ? FromType(context, type.iteratorItems, result) :
42
- IsObject(type) ? FromProperties(context, type.properties, result) :
43
- IsPromise(type) ? FromType(context, type.item, result) :
44
- IsUnion(type) ? FromTypes(context, type.anyOf, result) :
45
- IsTuple(type) ? FromTypes(context, type.items, result) :
46
- IsRecord(type) ? FromType(context, RecordValue(type), result) :
47
- result);
33
+ IsConstructor(type) ? FromTypes(context, [...type.parameters, type.instanceType], result) :
34
+ IsFunction(type) ? FromTypes(context, [...type.parameters, type.returnType], result) :
35
+ IsInterfaceDeferred(type) ? FromProperties(context, type.parameters[1], result) :
36
+ IsIntersect(type) ? FromTypes(context, type.allOf, result) :
37
+ IsObject(type) ? FromProperties(context, type.properties, result) :
38
+ IsUnion(type) ? FromTypes(context, type.anyOf, result) :
39
+ IsTuple(type) ? FromTypes(context, type.items, result) :
40
+ IsRecord(type) ? FromType(context, RecordValue(type), result) :
41
+ result);
48
42
  }
49
43
  /** Returns dependent cyclic keys for the given type. This function is used to dead-type-eliminate (DTE) for initializing TCyclic types. */
50
44
  export function CyclicDependencies(context, key, type) {
@@ -1,14 +1,11 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TAny } from '../../types/any.mjs';
3
3
  import { type TArray } from '../../types/array.mjs';
4
- import { type TAsyncIterator } from '../../types/async_iterator.mjs';
5
4
  import { type TConstructor } from '../../types/constructor.mjs';
6
5
  import { type TCyclic } from '../../types/cyclic.mjs';
7
6
  import { type TFunction } from '../../types/function.mjs';
8
7
  import { type TIntersect } from '../../types/intersect.mjs';
9
- import { type TIterator } from '../../types/iterator.mjs';
10
8
  import { type TObject } from '../../types/object.mjs';
11
- import { type TPromise } from '../../types/promise.mjs';
12
9
  import { type TProperties } from '../../types/properties.mjs';
13
10
  import { type TRecord } from '../../types/record.mjs';
14
11
  import { type TRef } from '../../types/ref.mjs';
@@ -22,7 +19,7 @@ type TFromProperties<Properties extends TProperties, Result extends TProperties
22
19
  [Key in keyof Result]: Result[Key];
23
20
  };
24
21
  type TFromTypes<Types extends TSchema[], Result extends TSchema[] = []> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromTypes<Right, [...Result, TFromType<Left>]> : Result;
25
- type TFromType<Type extends TSchema> = (Type extends TRef<infer Ref extends string> ? TFromRef<Ref> : Type extends TArray<infer Type extends TSchema> ? TArray<TFromType<Type>> : Type extends TAsyncIterator<infer Type extends TSchema> ? TAsyncIterator<TFromType<Type>> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TFunction<TFromTypes<Parameters>, TFromType<InstanceType>> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFunction<TFromTypes<Parameters>, TFromType<ReturnType>> : Type extends TIntersect<infer Types extends TSchema[]> ? TIntersect<TFromTypes<Types>> : Type extends TIterator<infer Type extends TSchema> ? TIterator<TFromType<Type>> : Type extends TObject<infer Properties extends TProperties> ? TObject<TFromProperties<Properties>> : Type extends TPromise<infer Type extends TSchema> ? TPromise<TFromType<Type>> : Type extends TRecord<infer Pattern extends string, infer Value extends TSchema> ? TRecord<Pattern, TFromType<Value>> : Type extends TUnion<infer Types extends TSchema[]> ? TUnion<TFromTypes<Types>> : Type extends TTuple<infer Types extends TSchema[]> ? TTuple<TFromTypes<Types>> : Type);
22
+ type TFromType<Type extends TSchema> = (Type extends TRef<infer Ref extends string> ? TFromRef<Ref> : Type extends TArray<infer Type extends TSchema> ? TArray<TFromType<Type>> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TFunction<TFromTypes<Parameters>, TFromType<InstanceType>> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFunction<TFromTypes<Parameters>, TFromType<ReturnType>> : Type extends TIntersect<infer Types extends TSchema[]> ? TIntersect<TFromTypes<Types>> : Type extends TObject<infer Properties extends TProperties> ? TObject<TFromProperties<Properties>> : Type extends TRecord<infer Pattern extends string, infer Value extends TSchema> ? TRecord<Pattern, TFromType<Value>> : Type extends TUnion<infer Types extends TSchema[]> ? TUnion<TFromTypes<Types>> : Type extends TTuple<infer Types extends TSchema[]> ? TTuple<TFromTypes<Types>> : Type);
26
23
  type TCyclicAnyFromParameters<Defs extends TProperties, Ref extends string> = (Ref extends keyof Defs ? TFromType<Defs[Ref]> : TUnknown);
27
24
  /** Transforms TCyclic TRef's into TAny's. This function is used prior to TExtends checks to enable cyclics to be structurally checked and terminated (with TAny) at first point of recursion, what would otherwise be a recursive TRef.*/
28
25
  export type TCyclicExtends<Type extends TCyclic, Result extends TSchema = TCyclicAnyFromParameters<Type['$defs'], Type['$ref']>> = Result;
@@ -2,13 +2,10 @@
2
2
  import { Guard } from '../../../guard/index.mjs';
3
3
  import { Any } from '../../types/any.mjs';
4
4
  import { Array as _Array_, IsArray, ArrayOptions } from '../../types/array.mjs';
5
- import { AsyncIterator, IsAsyncIterator } from '../../types/async_iterator.mjs';
6
5
  import { Constructor, IsConstructor } from '../../types/constructor.mjs';
7
6
  import { Function as _Function_, IsFunction } from '../../types/function.mjs';
8
7
  import { Intersect, IsIntersect } from '../../types/intersect.mjs';
9
- import { Iterator, IsIterator } from '../../types/iterator.mjs';
10
8
  import { Object, IsObject } from '../../types/object.mjs';
11
- import { Promise, IsPromise } from '../../types/promise.mjs';
12
9
  import { IsRecord, Record, RecordKey, RecordValue } from '../../types/record.mjs';
13
10
  import { IsRef } from '../../types/ref.mjs';
14
11
  import { Tuple, IsTuple } from '../../types/tuple.mjs';
@@ -30,17 +27,14 @@ function FromTypes(types) {
30
27
  function FromType(type) {
31
28
  return (IsRef(type) ? FromRef(type.$ref) :
32
29
  IsArray(type) ? _Array_(FromType(type.items), ArrayOptions(type)) :
33
- IsAsyncIterator(type) ? AsyncIterator(FromType(type.iteratorItems)) :
34
- IsConstructor(type) ? Constructor(FromTypes(type.parameters), FromType(type.instanceType)) :
35
- IsFunction(type) ? _Function_(FromTypes(type.parameters), FromType(type.returnType)) :
36
- IsIntersect(type) ? Intersect(FromTypes(type.allOf)) :
37
- IsIterator(type) ? Iterator(FromType(type.iteratorItems)) :
38
- IsObject(type) ? Object(FromProperties(type.properties)) :
39
- IsPromise(type) ? Promise(FromType(type.item)) :
40
- IsRecord(type) ? Record(RecordKey(type), FromType(RecordValue(type))) :
41
- IsUnion(type) ? Union(FromTypes(type.anyOf)) :
42
- IsTuple(type) ? Tuple(FromTypes(type.items)) :
43
- type);
30
+ IsConstructor(type) ? Constructor(FromTypes(type.parameters), FromType(type.instanceType)) :
31
+ IsFunction(type) ? _Function_(FromTypes(type.parameters), FromType(type.returnType)) :
32
+ IsIntersect(type) ? Intersect(FromTypes(type.allOf)) :
33
+ IsObject(type) ? Object(FromProperties(type.properties)) :
34
+ IsRecord(type) ? Record(RecordKey(type), FromType(RecordValue(type))) :
35
+ IsUnion(type) ? Union(FromTypes(type.anyOf)) :
36
+ IsTuple(type) ? Tuple(FromTypes(type.items)) :
37
+ type);
44
38
  }
45
39
  function CyclicAnyFromParameters(defs, ref) {
46
40
  return (ref in defs
@@ -6,12 +6,9 @@ import { type TCyclicDependencies } from '../cyclic/dependencies.mjs';
6
6
  import { type TInterfaceDeferred } from '../../action/index.mjs';
7
7
  import { type TInstantiateProperties } from '../instantiate.mjs';
8
8
  import { type TInstantiateTypes } from '../instantiate.mjs';
9
+ import { type TState } from '../instantiate.mjs';
9
10
  import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
10
- type TCyclicInterface<Context extends TProperties, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context, {
11
- callstack: [];
12
- }, Heritage>, instantiatedProperties extends TProperties = TInstantiateProperties<{}, {
13
- callstack: [];
14
- }, Properties>, EvaluatedInterface extends TSchema = TEvaluateIntersect<[...InstantiatedHeritage, TObject<instantiatedProperties>]>> = EvaluatedInterface;
11
+ type TCyclicInterface<Context extends TProperties, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context, TState<[], []>, Heritage>, instantiatedProperties extends TProperties = TInstantiateProperties<{}, TState<[], []>, Properties>, EvaluatedInterface extends TSchema = TEvaluateIntersect<[...InstantiatedHeritage, TObject<instantiatedProperties>]>> = EvaluatedInterface;
15
12
  type TCyclicDefinitions<Context extends TProperties, Dependencies extends string[], Result extends TProperties = {
16
13
  [Key in Extract<keyof Context, Dependencies[number]>]: Context[Key] extends TInterfaceDeferred<infer Heritage extends TSchema[], infer Properties extends TProperties> ? TCyclicInterface<Context, Heritage, Properties> : Context[Key];
17
14
  }> = Result;
@@ -7,10 +7,11 @@ import { CyclicDependencies } from '../cyclic/dependencies.mjs';
7
7
  import { IsInterfaceDeferred } from '../../action/index.mjs';
8
8
  import { InstantiateProperties } from '../instantiate.mjs';
9
9
  import { InstantiateTypes } from '../instantiate.mjs';
10
+ import { State } from '../instantiate.mjs';
10
11
  import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
11
12
  function CyclicInterface(context, heritage, properties) {
12
- const instantiatedHeritage = InstantiateTypes(context, { callstack: [] }, heritage);
13
- const instantiatedProperties = InstantiateProperties({}, { callstack: [] }, properties);
13
+ const instantiatedHeritage = InstantiateTypes(context, State([], []), heritage);
14
+ const instantiatedProperties = InstantiateProperties({}, State([], []), properties);
14
15
  const evaluatedInterface = EvaluateIntersect([...instantiatedHeritage, Object(instantiatedProperties)]);
15
16
  return evaluatedInterface;
16
17
  }
@@ -1,2 +1 @@
1
- export * from './enum_to_union.mjs';
2
1
  export * from './typescript_enum_to_enum_values.mjs';
@@ -1,2 +1 @@
1
- export * from './enum_to_union.mjs';
2
1
  export * from './typescript_enum_to_enum_values.mjs';
@@ -2,7 +2,6 @@ import { type TSchema } from '../../types/schema.mjs';
2
2
  import { type TAny } from '../../types/any.mjs';
3
3
  import { type TNever } from '../../types/never.mjs';
4
4
  import { type TObject } from '../../types/object.mjs';
5
- import { type TUnion } from '../../types/union.mjs';
6
5
  import { type TCompare, ResultRightInside, ResultLeftInside, ResultEqual } from './compare.mjs';
7
6
  import { type TFlatten } from './flatten.mjs';
8
7
  import { type TEvaluateType } from './evaluate.mjs';
@@ -10,7 +9,7 @@ type TBroadFilter<Type extends TSchema, Types extends TSchema[], Result extends
10
9
  type TIsBroadestType<Type extends TSchema, Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TCompare<Type, Left> extends typeof ResultLeftInside | typeof ResultEqual ? false : TIsBroadestType<Type, Right> : true);
11
10
  type TBroadenType<Type extends TSchema, Types extends TSchema[], Evaluated extends TSchema = TEvaluateType<Type>, Result extends TSchema[] = (Evaluated extends TAny ? [Evaluated] : TIsBroadestType<Evaluated, Types> extends true ? [...TBroadFilter<Evaluated, Types>, Evaluated] : Types)> = Result;
12
11
  type TBroadenTypes<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? (Left extends TObject ? TBroadenTypes<Right, [...Result, Left]> : Left extends TNever ? TBroadenTypes<Right, Result> : TBroadenTypes<Right, TBroadenType<Left, Result>>) : Result);
13
- export type TBroaden<Types extends TSchema[], Broadened extends TSchema[] = TBroadenTypes<Types>, Flattened extends TSchema[] = TFlatten<Broadened>, Result extends TSchema = (Flattened extends [] ? TNever : Flattened extends [infer Type extends TSchema] ? Type : TUnion<Flattened>)> = Result;
12
+ export type TBroaden<Types extends TSchema[], Broadened extends TSchema[] = TBroadenTypes<Types>, Flattened extends TSchema[] = TFlatten<Broadened>> = Flattened;
14
13
  /** Broadens a set of types and returns either the most broad type, or union or disjoint types. */
15
14
  export declare function Broaden<Types extends TSchema[]>(types: [...Types]): TBroaden<Types>;
16
15
  export {};
@@ -1,9 +1,8 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Guard } from '../../../guard/index.mjs';
3
3
  import { IsAny } from '../../types/any.mjs';
4
- import { Never, IsNever } from '../../types/never.mjs';
4
+ import { IsNever } from '../../types/never.mjs';
5
5
  import { IsObject } from '../../types/object.mjs';
6
- import { Union } from '../../types/union.mjs';
7
6
  import { Compare, ResultRightInside, ResultLeftInside, ResultEqual } from './compare.mjs';
8
7
  import { Flatten } from './flatten.mjs';
9
8
  import { EvaluateType } from './evaluate.mjs';
@@ -40,8 +39,5 @@ function BroadenTypes(types) {
40
39
  export function Broaden(types) {
41
40
  const broadened = BroadenTypes(types);
42
41
  const flattened = Flatten(broadened);
43
- const result = (flattened.length === 0 ? Never() :
44
- flattened.length === 1 ? flattened[0] :
45
- Union(flattened));
46
- return result;
42
+ return flattened;
47
43
  }
@@ -1,25 +1,29 @@
1
1
  import { type TUnreachable } from '../../../system/unreachable/index.mjs';
2
- import { type TReadonly, type TReadonlyAdd, type TReadonlyRemove } from '../../types/_readonly.mjs';
3
- import { type TOptional, type TOptionalAdd, type TOptionalRemove } from '../../types/_optional.mjs';
2
+ import { type TReadonly } from '../../types/_readonly.mjs';
3
+ import { type TOptional } from '../../types/_optional.mjs';
4
4
  import { type TSchema } from '../../types/schema.mjs';
5
5
  import { type TProperties } from '../../types/properties.mjs';
6
6
  import { type TObject } from '../../types/object.mjs';
7
7
  import { type TNever } from '../../types/never.mjs';
8
8
  import { type TTuple } from '../../types/tuple.mjs';
9
+ import { type TAddReadonly } from '../../action/_add_readonly.mjs';
10
+ import { type TAddOptional } from '../../action/_add_optional.mjs';
11
+ import { type TRemoveReadonly } from '../../action/_remove_readonly.mjs';
12
+ import { type TRemoveOptional } from '../../action/_remove_optional.mjs';
9
13
  import { type TTupleElementsToProperties } from '../tuple/to_object.mjs';
10
14
  import { type TEvaluateIntersect } from './evaluate.mjs';
11
15
  type TIsReadonlyProperty<Left extends TSchema, Right extends TSchema> = (Left extends TReadonly<Left> ? Right extends TReadonly<Right> ? true : false : false);
12
16
  type TIsOptionalProperty<Left extends TSchema, Right extends TSchema> = (Left extends TOptional<Left> ? Right extends TOptional<Right> ? true : false : false);
13
- type TCompositeProperty<Left extends TSchema, Right extends TSchema, IsReadonly extends boolean = TIsReadonlyProperty<Left, Right>, IsOptional extends boolean = TIsOptionalProperty<Left, Right>, Evaluated extends TSchema = TEvaluateIntersect<[Left, Right]>, Property extends TSchema = TReadonlyRemove<TOptionalRemove<Evaluated>>> = ([
17
+ type TCompositeProperty<Left extends TSchema, Right extends TSchema, IsReadonly extends boolean = TIsReadonlyProperty<Left, Right>, IsOptional extends boolean = TIsOptionalProperty<Left, Right>, Evaluated extends TSchema = TEvaluateIntersect<[Left, Right]>, Property extends TSchema = TRemoveReadonly<TRemoveOptional<Evaluated>>> = ([
14
18
  IsReadonly,
15
19
  IsOptional
16
- ] extends [true, true] ? TReadonlyAdd<TOptionalAdd<Property>> : [
20
+ ] extends [true, true] ? TAddReadonly<TAddOptional<Property>> : [
17
21
  IsReadonly,
18
22
  IsOptional
19
- ] extends [true, false] ? TReadonlyAdd<Property> : [
23
+ ] extends [true, false] ? TAddReadonly<Property> : [
20
24
  IsReadonly,
21
25
  IsOptional
22
- ] extends [false, true] ? TOptionalAdd<Property> : Property);
26
+ ] extends [false, true] ? TAddOptional<Property> : Property);
23
27
  type TCompositePropertyKey<Left extends TProperties, Right extends TProperties, Key extends PropertyKey, Result extends TSchema = (Key extends keyof Left ? Key extends keyof Right ? TCompositeProperty<Left[Key], Right[Key]> : Left[Key] : Key extends keyof Right ? Right[Key] : TNever)> = Result;
24
28
  type TCompositeProperties<Left extends TProperties, Right extends TProperties, Result extends TProperties = {
25
29
  [Key in keyof (Right & Left)]: TCompositePropertyKey<Left, Right, Key>;
@@ -2,11 +2,15 @@
2
2
  // deno-lint-ignore-file
3
3
  import { Unreachable } from '../../../system/unreachable/index.mjs';
4
4
  import { Guard } from '../../../guard/index.mjs';
5
- import { ReadonlyAdd, ReadonlyRemove, IsReadonly } from '../../types/_readonly.mjs';
6
- import { OptionalAdd, OptionalRemove, IsOptional } from '../../types/_optional.mjs';
5
+ import { IsReadonly } from '../../types/_readonly.mjs';
6
+ import { IsOptional } from '../../types/_optional.mjs';
7
7
  import { Object, IsObject } from '../../types/object.mjs';
8
8
  import { Never } from '../../types/never.mjs';
9
9
  import { IsTuple } from '../../types/tuple.mjs';
10
+ import { AddReadonly } from '../../action/_add_readonly.mjs';
11
+ import { AddOptional } from '../../action/_add_optional.mjs';
12
+ import { RemoveReadonly } from '../../action/_remove_readonly.mjs';
13
+ import { RemoveOptional } from '../../action/_remove_optional.mjs';
10
14
  import { TupleElementsToProperties } from '../tuple/to_object.mjs';
11
15
  import { EvaluateIntersect } from './evaluate.mjs';
12
16
  function IsReadonlyProperty(left, right) {
@@ -20,10 +24,10 @@ function CompositeProperty(left, right) {
20
24
  const isOptional = IsOptionalProperty(left, right);
21
25
  const evaluated = EvaluateIntersect([left, right]);
22
26
  // Modifiers need to be discarded and re-applied
23
- const property = ReadonlyRemove(OptionalRemove(evaluated));
24
- return (isReadonly && isOptional ? ReadonlyAdd(OptionalAdd(property)) :
25
- isReadonly && !isOptional ? ReadonlyAdd(property) :
26
- !isReadonly && isOptional ? OptionalAdd(property) :
27
+ const property = RemoveReadonly(RemoveOptional(evaluated));
28
+ return (isReadonly && isOptional ? AddReadonly(AddOptional(property)) :
29
+ isReadonly && !isOptional ? AddReadonly(property) :
30
+ !isReadonly && isOptional ? AddOptional(property) :
27
31
  property);
28
32
  }
29
33
  function CompositePropertyKey(left, right, key) {
@@ -1,4 +1,5 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
2
3
  import { type TUnion } from '../../types/union.mjs';
3
4
  import { type TObject } from '../../types/object.mjs';
4
5
  import { type TTuple } from '../../types/tuple.mjs';
@@ -6,7 +7,7 @@ import { type TComposite } from './composite.mjs';
6
7
  import { type TNarrow } from './narrow.mjs';
7
8
  import { type TEvaluateType } from './evaluate.mjs';
8
9
  import { type TEvaluateIntersect } from './evaluate.mjs';
9
- type TIsObjectLike<Type extends TSchema> = Type extends TObject | TTuple ? true : false;
10
+ type TIsObjectLike<Type extends TSchema> = (Type extends TObject<infer _ extends TProperties> ? true : Type extends TTuple<infer _ extends TSchema[]> ? true : false);
10
11
  type TIsUnionOperand<Left extends TSchema, Right extends TSchema, IsUnionLeft extends boolean = Left extends TUnion ? true : false, IsUnionRight extends boolean = Right extends TUnion ? true : false, Result extends boolean = IsUnionLeft extends true ? true : IsUnionRight extends true ? true : false> = Result;
11
12
  type TDistributeOperation<Left extends TSchema, Right extends TSchema, EvaluatedLeft extends TSchema = TEvaluateType<Left>, EvaluatedRight extends TSchema = TEvaluateType<Right>, IsUnionOperand extends boolean = TIsUnionOperand<EvaluatedLeft, EvaluatedRight>, IsObjectLeft extends boolean = TIsObjectLike<EvaluatedLeft>, IsObjectRight extends boolean = TIsObjectLike<EvaluatedRight>, Result extends TSchema = ([
12
13
  IsUnionOperand
@@ -31,15 +31,15 @@ function DistributeOperation(left, right) {
31
31
  return result;
32
32
  }
33
33
  function DistributeType(type, types, result = []) {
34
- return Guard.TakeLeft(types, (left, right) => DistributeType(type, right, [...result, DistributeOperation(type, left)]), () => Guard.IsEqual(result.length, 0)
34
+ return Guard.ShiftLeft(types, (left, right) => DistributeType(type, right, [...result, DistributeOperation(type, left)]), () => Guard.IsEqual(result.length, 0)
35
35
  ? [type]
36
36
  : result);
37
37
  }
38
38
  function DistributeUnion(types, distribution, result = []) {
39
- return Guard.TakeLeft(types, (left, right) => DistributeUnion(right, distribution, [...result, ...Distribute([left], distribution)]), () => result);
39
+ return Guard.ShiftLeft(types, (left, right) => DistributeUnion(right, distribution, [...result, ...Distribute([left], distribution)]), () => result);
40
40
  }
41
41
  export function Distribute(types, result = []) {
42
- return Guard.TakeLeft(types, (left, right) => IsUnion(left)
42
+ return Guard.ShiftLeft(types, (left, right) => IsUnion(left)
43
43
  ? Distribute(right, DistributeUnion(left.anyOf, result))
44
44
  : Distribute(right, DistributeType(left, result)), () => result);
45
45
  }
@@ -1,14 +1,26 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TDependent } from '../../types/dependent.mjs';
3
+ import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
4
+ import { type TLiteral } from '../../types/literal.mjs';
2
5
  import { type TIntersect } from '../../types/intersect.mjs';
6
+ import { type TNever } from '../../types/never.mjs';
7
+ import { type TTemplateLiteral } from '../../types/template_literal.mjs';
8
+ import { type TUnion } from '../../types/union.mjs';
3
9
  import { type TDistribute } from './distribute.mjs';
4
10
  import { type TBroaden } from './broaden.mjs';
5
- import { type TUnion } from '../../types/union.mjs';
6
- import { type TNever } from '../../types/never.mjs';
7
- export type TEvaluateIntersect<Types extends TSchema[], Distribution extends TSchema[] = TDistribute<Types>, Result extends TSchema = TBroaden<Distribution>> = Result;
11
+ import { type TExcludeOperation } from '../exclude/operation.mjs';
12
+ import { type TTemplateLiteralDecode } from '../template_literal/decode.mjs';
13
+ export type TEvaluateDependent<If extends TSchema, Then extends TSchema, Else extends TSchema, Intersect extends TSchema = TIntersect<[If, Then]>, Excluded extends TSchema = TExcludeOperation<Else, If>, Result extends TSchema = TEvaluateUnion<[Intersect, Excluded]>> = Result;
14
+ export declare function EvaluateDependent<If extends TSchema, Then extends TSchema, Else extends TSchema>(if_: If, then_: Then, else_: Else): TEvaluateDependent<If, Then, Else>;
15
+ export type TEvaluateEnum<Values extends TEnumValue[], Result extends TSchema[] = []> = (Values extends [infer Left extends TEnumValue, ...infer Right extends TEnumValue[]] ? TEvaluateEnum<Right, [...Result, TLiteral<Left>]> : TEvaluateUnion<Result>);
16
+ export declare function EvaluateEnum<Values extends TEnumValue[]>(values: [...Values]): TEvaluateEnum<Values>;
17
+ export type TEvaluateIntersect<Types extends TSchema[], Distribution extends TSchema[] = TDistribute<Types>, Broadend extends TSchema[] = TBroaden<Distribution>, Result extends TSchema = TEvaluateUnionFast<Broadend>> = Result;
8
18
  export declare function EvaluateIntersect<Types extends TSchema[]>(types: [...Types]): TEvaluateIntersect<Types>;
9
- export type TEvaluateUnion<Types extends TSchema[], Result extends TSchema = TBroaden<Types>> = Result;
19
+ export type TEvaluateTemplateLiteral<Pattern extends string, Evaluated extends TSchema = TTemplateLiteralDecode<Pattern>, Result extends TSchema = TEvaluateType<Evaluated>> = Result;
20
+ export declare function EvaluateTemplateLiteral<Pattern extends string>(pattern: Pattern): TEvaluateTemplateLiteral<Pattern>;
21
+ export type TEvaluateUnion<Types extends TSchema[], Broadend extends TSchema[] = TBroaden<Types>, Result extends TSchema = TEvaluateUnionFast<Broadend>> = Result;
10
22
  export declare function EvaluateUnion<Types extends TSchema[]>(types: [...Types]): TEvaluateUnion<Types>;
11
- export type TEvaluateType<Type extends TSchema, Result extends TSchema = (Type extends TIntersect<infer Types extends TSchema[]> ? TEvaluateIntersect<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TEvaluateUnion<Types> : Type)> = Result;
23
+ export type TEvaluateType<Type extends TSchema, Result extends TSchema = (Type extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TEvaluateDependent<If, Then, Else> : Type extends TEnum<infer Values extends TEnumValue[]> ? TEvaluateEnum<Values> : Type extends TIntersect<infer Types extends TSchema[]> ? TEvaluateIntersect<Types> : Type extends TTemplateLiteral<infer Pattern extends string> ? TEvaluateTemplateLiteral<Pattern> : Type extends TUnion<infer Types extends TSchema[]> ? TEvaluateUnion<Types> : Type)> = Result;
12
24
  export declare function EvaluateType<Type extends TSchema>(type: Type): TEvaluateType<Type>;
13
25
  export type TEvaluateUnionFast<Types extends TSchema[], Result extends TSchema = (Types extends [infer Type extends TSchema] ? Type : Types extends [] ? TNever : TUnion<Types>)> = Result;
14
26
  export declare function EvaluateUnionFast<Types extends TSchema[]>(types: [...Types]): TEvaluateUnionFast<Types>;
@@ -1,23 +1,49 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { Guard } from '../../../guard/index.mjs';
3
- import { IsIntersect } from '../../types/intersect.mjs';
3
+ import { IsDependent } from '../../types/dependent.mjs';
4
+ import { IsEnum } from '../../types/enum.mjs';
5
+ import { Literal } from '../../types/literal.mjs';
6
+ import { IsIntersect, Intersect } from '../../types/intersect.mjs';
7
+ import { Never } from '../../types/never.mjs';
8
+ import { IsTemplateLiteral } from '../../types/template_literal.mjs';
9
+ import { Union, IsUnion } from '../../types/union.mjs';
4
10
  import { Distribute } from './distribute.mjs';
5
11
  import { Broaden } from './broaden.mjs';
6
- import { Union, IsUnion } from '../../types/union.mjs';
7
- import { Never } from '../../types/never.mjs';
12
+ import { ExcludeOperation } from '../exclude/operation.mjs';
13
+ import { TemplateLiteralDecode } from '../template_literal/decode.mjs';
14
+ export function EvaluateDependent(if_, then_, else_) {
15
+ const intersect = Intersect([if_, then_]);
16
+ const excluded = ExcludeOperation(else_, if_);
17
+ const result = EvaluateUnion([intersect, excluded]);
18
+ return result;
19
+ }
20
+ export function EvaluateEnum(values) {
21
+ const result = values.map(value => Literal(value));
22
+ return EvaluateUnion(result);
23
+ }
8
24
  export function EvaluateIntersect(types) {
9
25
  const distribution = Distribute(types);
10
- const result = Broaden(distribution);
26
+ const broadend = Broaden(distribution);
27
+ const result = EvaluateUnionFast(broadend);
28
+ return result;
29
+ }
30
+ export function EvaluateTemplateLiteral(pattern) {
31
+ const evaluated = TemplateLiteralDecode(pattern);
32
+ const result = EvaluateType(evaluated);
11
33
  return result;
12
34
  }
13
35
  export function EvaluateUnion(types) {
14
- const result = Broaden(types);
36
+ const broadend = Broaden(types);
37
+ const result = EvaluateUnionFast(broadend);
15
38
  return result;
16
39
  }
17
40
  export function EvaluateType(type) {
18
- return (IsIntersect(type) ? EvaluateIntersect(type.allOf) :
19
- IsUnion(type) ? EvaluateUnion(type.anyOf) :
20
- type);
41
+ return (IsDependent(type) ? EvaluateDependent(type.if, type.then, type.else) :
42
+ IsEnum(type) ? EvaluateEnum(type.enum) :
43
+ IsIntersect(type) ? EvaluateIntersect(type.allOf) :
44
+ IsTemplateLiteral(type) ? EvaluateTemplateLiteral(type.pattern) :
45
+ IsUnion(type) ? EvaluateUnion(type.anyOf) :
46
+ type);
21
47
  }
22
48
  export function EvaluateUnionFast(types) {
23
49
  const result = (Guard.IsEqual(types.length, 1) ? types[0] :
@@ -1,11 +1,10 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
- import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
3
2
  import { type TUnion } from '../../types/union.mjs';
4
3
  import { type TExtends, ExtendsResult } from '../../extends/index.mjs';
5
- import { type TEnumValuesToVariants } from '../enum/index.mjs';
6
- import { type TEvaluateUnion, type TFlatten } from '../evaluate/index.mjs';
7
- type TExcludeUnionLeft<Types extends TSchema[], Right extends TSchema, Result extends TSchema[] = []> = (Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExcludeUnionLeft<Tail, Right, [...Result, ...TExcludeTypeLeft<Head, Right>]> : Result);
8
- type TExcludeTypeLeft<Left extends TSchema, Right extends TSchema, Check extends ExtendsResult.TResult = TExtends<{}, Left, Right>, Result extends TSchema[] = Check extends ExtendsResult.TExtendsTrueLike<infer _> ? [] : [Left]> = Result;
9
- export type TExcludeOperation<Left extends TSchema, Right extends TSchema, Remaining extends TSchema[] = (Left extends TEnum<infer Values extends TEnumValue[]> ? TExcludeUnionLeft<TEnumValuesToVariants<Values>, Right> : Left extends TUnion<infer Types extends TSchema[]> ? TExcludeUnionLeft<TFlatten<Types>, Right> : TExcludeTypeLeft<Left, Right>), Result extends TSchema = TEvaluateUnion<Remaining>> = Result;
4
+ import { type TEvaluateType } from '../evaluate/evaluate.mjs';
5
+ import { type TEvaluateUnion } from '../evaluate/evaluate.mjs';
6
+ type TExcludeType<Left extends TSchema, Right extends TSchema, Check extends ExtendsResult.TResult = TExtends<{}, Left, Right>, Result extends TSchema[] = Check extends ExtendsResult.TExtendsTrueLike ? [] : [Left]> = Result;
7
+ type TExcludeUnion<Left extends TSchema[], Right extends TSchema, Result extends TSchema[] = []> = (Left extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExcludeUnion<Tail, Right, [...Result, ...TExcludeType<Head, Right>]> : Result);
8
+ export type TExcludeOperation<Left extends TSchema, Right extends TSchema, Evaluated extends TSchema = TEvaluateType<Left>, Canonical extends TSchema[] = Evaluated extends TUnion<infer Types extends TSchema[]> ? Types : [Evaluated], Remaining extends TSchema[] = TExcludeUnion<Canonical, Right>, Result extends TSchema = TEvaluateUnion<Remaining>> = Result;
10
9
  export declare function ExcludeOperation<Left extends TSchema, Right extends TSchema>(left: Left, right: Right): TExcludeOperation<Left, Right>;
11
10
  export {};
@@ -1,24 +1,23 @@
1
1
  // deno-lint-ignore-file ban-types
2
2
  // deno-fmt-ignore-file
3
- import { IsEnum } from '../../types/enum.mjs';
4
3
  import { IsUnion } from '../../types/union.mjs';
5
4
  import { Extends, ExtendsResult } from '../../extends/index.mjs';
6
- import { EnumValuesToVariants } from '../enum/index.mjs';
7
- import { EvaluateUnion, Flatten } from '../evaluate/index.mjs';
8
- function ExcludeUnionLeft(types, right) {
9
- return types.reduce((result, head) => {
10
- return [...result, ...ExcludeTypeLeft(head, right)];
11
- }, []);
12
- }
13
- function ExcludeTypeLeft(left, right) {
5
+ import { EvaluateType } from '../evaluate/evaluate.mjs';
6
+ import { EvaluateUnion } from '../evaluate/evaluate.mjs';
7
+ function ExcludeType(left, right) {
14
8
  const check = Extends({}, left, right);
15
9
  const result = ExtendsResult.IsExtendsTrueLike(check) ? [] : [left];
16
10
  return result;
17
11
  }
12
+ function ExcludeUnion(types, right) {
13
+ return types.reduce((result, head) => {
14
+ return [...result, ...ExcludeType(head, right)];
15
+ }, []);
16
+ }
18
17
  export function ExcludeOperation(left, right) {
19
- const remaining = (IsEnum(left) ? ExcludeUnionLeft(EnumValuesToVariants(left.enum), right) :
20
- IsUnion(left) ? ExcludeUnionLeft(Flatten(left.anyOf), right) :
21
- ExcludeTypeLeft(left, right));
18
+ const evaluated = EvaluateType(left);
19
+ const canonical = IsUnion(evaluated) ? evaluated.anyOf : [evaluated];
20
+ const remaining = ExcludeUnion(canonical, right);
22
21
  const result = EvaluateUnion(remaining);
23
22
  return result;
24
23
  }
@@ -1,11 +1,10 @@
1
1
  import { type TSchema } from '../../types/schema.mjs';
2
- import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
3
2
  import { type TUnion } from '../../types/union.mjs';
4
3
  import { type TExtends, ExtendsResult } from '../../extends/index.mjs';
5
- import { type TEnumValuesToVariants } from '../enum/index.mjs';
6
- import { type TEvaluateUnion, type TFlatten } from '../evaluate/index.mjs';
7
- type TExtractUnionLeft<Types extends TSchema[], Right extends TSchema, Result extends TSchema[] = []> = (Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExtractUnionLeft<Tail, Right, [...Result, ...TExtractTypeLeft<Head, Right>]> : Result);
8
- type TExtractTypeLeft<Left extends TSchema, Right extends TSchema, Check extends ExtendsResult.TResult = TExtends<{}, Left, Right>, Result extends TSchema[] = Check extends ExtendsResult.TExtendsTrueLike<infer _> ? [Left] : []> = Result;
9
- export type TExtractOperation<Left extends TSchema, Right extends TSchema, Remaining extends TSchema[] = (Left extends TEnum<infer Values extends TEnumValue[]> ? TExtractUnionLeft<TEnumValuesToVariants<Values>, Right> : Left extends TUnion<infer Types extends TSchema[]> ? TExtractUnionLeft<TFlatten<Types>, Right> : TExtractTypeLeft<Left, Right>), Result extends TSchema = TEvaluateUnion<Remaining>> = Result;
4
+ import { type TEvaluateType } from '../evaluate/evaluate.mjs';
5
+ import { type TEvaluateUnion } from '../evaluate/evaluate.mjs';
6
+ type TExtractType<Left extends TSchema, Right extends TSchema, Check extends ExtendsResult.TResult = TExtends<{}, Left, Right>, Result extends TSchema[] = Check extends ExtendsResult.TExtendsTrueLike ? [Left] : []> = Result;
7
+ type TExtractUnion<Types extends TSchema[], Right extends TSchema, Result extends TSchema[] = []> = (Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExtractUnion<Tail, Right, [...Result, ...TExtractType<Head, Right>]> : Result);
8
+ export type TExtractOperation<Left extends TSchema, Right extends TSchema, Evaluated extends TSchema = TEvaluateType<Left>, Canonical extends TSchema[] = Evaluated extends TUnion<infer Types extends TSchema[]> ? Types : [Evaluated], Remaining extends TSchema[] = TExtractUnion<Canonical, Right>, Result extends TSchema = TEvaluateUnion<Remaining>> = Result;
10
9
  export declare function ExtractOperation<Left extends TSchema, Right extends TSchema>(left: Left, right: Right): TExtractOperation<Left, Right>;
11
10
  export {};
@@ -1,24 +1,23 @@
1
1
  // deno-lint-ignore-file ban-types
2
2
  // deno-fmt-ignore-file
3
- import { IsEnum } from '../../types/enum.mjs';
4
3
  import { IsUnion } from '../../types/union.mjs';
5
4
  import { Extends, ExtendsResult } from '../../extends/index.mjs';
6
- import { EnumValuesToVariants } from '../enum/index.mjs';
7
- import { EvaluateUnion, Flatten } from '../evaluate/index.mjs';
8
- function ExtractUnionLeft(types, right) {
9
- return types.reduce((result, head) => {
10
- return [...result, ...ExtractTypeLeft(head, right)];
11
- }, []);
12
- }
13
- function ExtractTypeLeft(left, right) {
5
+ import { EvaluateType } from '../evaluate/evaluate.mjs';
6
+ import { EvaluateUnion } from '../evaluate/evaluate.mjs';
7
+ function ExtractType(left, right) {
14
8
  const check = Extends({}, left, right);
15
9
  const result = ExtendsResult.IsExtendsTrueLike(check) ? [left] : [];
16
10
  return result;
17
11
  }
12
+ function ExtractUnion(types, right) {
13
+ return types.reduce((result, head) => {
14
+ return [...result, ...ExtractType(head, right)];
15
+ }, []);
16
+ }
18
17
  export function ExtractOperation(left, right) {
19
- const remaining = (IsEnum(left) ? ExtractUnionLeft(EnumValuesToVariants(left.enum), right) :
20
- IsUnion(left) ? ExtractUnionLeft(Flatten(left.anyOf), right) :
21
- ExtractTypeLeft(left, right));
18
+ const evaluated = EvaluateType(left);
19
+ const canonical = IsUnion(evaluated) ? evaluated.anyOf : [evaluated];
20
+ const remaining = ExtractUnion(canonical, right);
22
21
  const result = EvaluateUnion(remaining);
23
22
  return result;
24
23
  }