@yaag/cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/assets/types/runtime/agent-names.d.ts +8 -0
  2. package/assets/types/runtime/agent-usage.d.ts +16 -0
  3. package/assets/types/runtime/agent.d.ts +36 -0
  4. package/assets/types/runtime/args-validation.d.ts +3 -0
  5. package/assets/types/runtime/ask-activity.d.ts +9 -0
  6. package/assets/types/runtime/ask-contract-identity.d.ts +25 -0
  7. package/assets/types/runtime/ask-exchange-events.d.ts +13 -0
  8. package/assets/types/runtime/ask-exchange-options.d.ts +30 -0
  9. package/assets/types/runtime/ask-exchange.d.ts +4 -0
  10. package/assets/types/runtime/ask-hash.d.ts +32 -0
  11. package/assets/types/runtime/ask-limit.d.ts +46 -0
  12. package/assets/types/runtime/ask-output-steering.d.ts +28 -0
  13. package/assets/types/runtime/ask-output-tail.d.ts +28 -0
  14. package/assets/types/runtime/ask-output.d.ts +29 -0
  15. package/assets/types/runtime/ask-settlement.d.ts +11 -0
  16. package/assets/types/runtime/ask-turn.d.ts +25 -0
  17. package/assets/types/runtime/cassette-loader.d.ts +11 -0
  18. package/assets/types/runtime/cassette-publish.d.ts +11 -0
  19. package/assets/types/runtime/cassette-replay.d.ts +24 -0
  20. package/assets/types/runtime/cassette-schema.d.ts +111 -0
  21. package/assets/types/runtime/cassette.d.ts +118 -0
  22. package/assets/types/runtime/checkpoint-dir.d.ts +30 -0
  23. package/assets/types/runtime/connection.d.ts +29 -0
  24. package/assets/types/runtime/define-agent.d.ts +48 -0
  25. package/assets/types/runtime/define-run.d.ts +40 -0
  26. package/assets/types/runtime/errors.d.ts +50 -0
  27. package/assets/types/runtime/events.d.ts +138 -0
  28. package/assets/types/runtime/extension-package.d.ts +17 -0
  29. package/assets/types/runtime/extension-paths.d.ts +16 -0
  30. package/assets/types/runtime/extension-source.d.ts +28 -0
  31. package/assets/types/runtime/fake-transport.d.ts +78 -0
  32. package/assets/types/runtime/frame-gap.d.ts +23 -0
  33. package/assets/types/runtime/frame-queue.d.ts +15 -0
  34. package/assets/types/runtime/git-facts.d.ts +7 -0
  35. package/assets/types/runtime/idle-watch.d.ts +44 -0
  36. package/assets/types/runtime/index.d.ts +33 -0
  37. package/assets/types/runtime/jsonl.d.ts +13 -0
  38. package/assets/types/runtime/live-transport.d.ts +3 -0
  39. package/assets/types/runtime/node-decoder-subagent.d.ts +7 -0
  40. package/assets/types/runtime/node-decoder-workflow.d.ts +12 -0
  41. package/assets/types/runtime/node-decoder.d.ts +21 -0
  42. package/assets/types/runtime/node-decoders.d.ts +3 -0
  43. package/assets/types/runtime/node-details.d.ts +22 -0
  44. package/assets/types/runtime/node-path.d.ts +19 -0
  45. package/assets/types/runtime/node-tracker.d.ts +30 -0
  46. package/assets/types/runtime/pi-state.d.ts +16 -0
  47. package/assets/types/runtime/prompt-gist.d.ts +8 -0
  48. package/assets/types/runtime/prompt.d.ts +9 -0
  49. package/assets/types/runtime/reap.d.ts +22 -0
  50. package/assets/types/runtime/recording-transport.d.ts +9 -0
  51. package/assets/types/runtime/replay-divergence.d.ts +19 -0
  52. package/assets/types/runtime/replay-transport.d.ts +9 -0
  53. package/assets/types/runtime/resume-preconditions.d.ts +8 -0
  54. package/assets/types/runtime/resume-transport.d.ts +9 -0
  55. package/assets/types/runtime/run-checkpoint.d.ts +28 -0
  56. package/assets/types/runtime/run-context.d.ts +18 -0
  57. package/assets/types/runtime/run.d.ts +60 -0
  58. package/assets/types/runtime/skill-probe.d.ts +71 -0
  59. package/assets/types/runtime/skill-restriction-transport.d.ts +8 -0
  60. package/assets/types/runtime/spawn.d.ts +24 -0
  61. package/assets/types/runtime/summary-agent.d.ts +123 -0
  62. package/assets/types/runtime/summary-nodes.d.ts +28 -0
  63. package/assets/types/runtime/summary.d.ts +55 -0
  64. package/assets/types/runtime/tool-probe-extension.d.ts +12 -0
  65. package/assets/types/runtime/tool-probe.d.ts +30 -0
  66. package/assets/types/runtime/transport.d.ts +143 -0
  67. package/assets/types/runtime/types.d.ts +120 -0
  68. package/assets/types/runtime/validation-errors.d.ts +3 -0
  69. package/assets/types/runtime/wire-constants.d.ts +18 -0
  70. package/assets/types/runtime/worktree-transport.d.ts +9 -0
  71. package/assets/types/typebox/build/compile/code.d.mts +12 -0
  72. package/assets/types/typebox/build/compile/compile.d.mts +6 -0
  73. package/assets/types/typebox/build/compile/index.d.mts +8 -0
  74. package/assets/types/typebox/build/compile/validator.d.mts +35 -0
  75. package/assets/types/typebox/build/error/errors.d.mts +208 -0
  76. package/assets/types/typebox/build/error/index.d.mts +1 -0
  77. package/assets/types/typebox/build/format/_idna.d.mts +2 -0
  78. package/assets/types/typebox/build/format/_puny.d.mts +1 -0
  79. package/assets/types/typebox/build/format/_registry.d.mts +15 -0
  80. package/assets/types/typebox/build/format/date.d.mts +6 -0
  81. package/assets/types/typebox/build/format/date_time.d.mts +6 -0
  82. package/assets/types/typebox/build/format/duration.d.mts +5 -0
  83. package/assets/types/typebox/build/format/email.d.mts +5 -0
  84. package/assets/types/typebox/build/format/format.d.mts +22 -0
  85. package/assets/types/typebox/build/format/hostname.d.mts +7 -0
  86. package/assets/types/typebox/build/format/idn_email.d.mts +5 -0
  87. package/assets/types/typebox/build/format/idn_hostname.d.mts +7 -0
  88. package/assets/types/typebox/build/format/index.d.mts +4 -0
  89. package/assets/types/typebox/build/format/ipv4.d.mts +6 -0
  90. package/assets/types/typebox/build/format/ipv6.d.mts +5 -0
  91. package/assets/types/typebox/build/format/iri.d.mts +5 -0
  92. package/assets/types/typebox/build/format/iri_reference.d.mts +5 -0
  93. package/assets/types/typebox/build/format/json_pointer.d.mts +6 -0
  94. package/assets/types/typebox/build/format/json_pointer_uri_fragment.d.mts +6 -0
  95. package/assets/types/typebox/build/format/regex.d.mts +6 -0
  96. package/assets/types/typebox/build/format/relative_json_pointer.d.mts +6 -0
  97. package/assets/types/typebox/build/format/time.d.mts +5 -0
  98. package/assets/types/typebox/build/format/uri.d.mts +5 -0
  99. package/assets/types/typebox/build/format/uri_reference.d.mts +5 -0
  100. package/assets/types/typebox/build/format/uri_template.d.mts +6 -0
  101. package/assets/types/typebox/build/format/url.d.mts +6 -0
  102. package/assets/types/typebox/build/format/uuid.d.mts +6 -0
  103. package/assets/types/typebox/build/guard/emit.d.mts +54 -0
  104. package/assets/types/typebox/build/guard/globals.d.mts +35 -0
  105. package/assets/types/typebox/build/guard/guard.d.mts +65 -0
  106. package/assets/types/typebox/build/guard/index.d.mts +6 -0
  107. package/assets/types/typebox/build/guard/native.d.mts +20 -0
  108. package/assets/types/typebox/build/guard/string.d.mts +6 -0
  109. package/assets/types/typebox/build/index.d.mts +8 -0
  110. package/assets/types/typebox/build/schema/build.d.mts +39 -0
  111. package/assets/types/typebox/build/schema/check.d.mts +6 -0
  112. package/assets/types/typebox/build/schema/compile.d.mts +22 -0
  113. package/assets/types/typebox/build/schema/engine/_context.d.mts +35 -0
  114. package/assets/types/typebox/build/schema/engine/_exact_optional.d.mts +3 -0
  115. package/assets/types/typebox/build/schema/engine/_externals.d.mts +7 -0
  116. package/assets/types/typebox/build/schema/engine/_functions.d.mts +6 -0
  117. package/assets/types/typebox/build/schema/engine/_reducer.d.mts +4 -0
  118. package/assets/types/typebox/build/schema/engine/_refine.d.mts +6 -0
  119. package/assets/types/typebox/build/schema/engine/_stack.d.mts +18 -0
  120. package/assets/types/typebox/build/schema/engine/_unique.d.mts +2 -0
  121. package/assets/types/typebox/build/schema/engine/additionalItems.d.mts +6 -0
  122. package/assets/types/typebox/build/schema/engine/additionalProperties.d.mts +9 -0
  123. package/assets/types/typebox/build/schema/engine/allOf.d.mts +6 -0
  124. package/assets/types/typebox/build/schema/engine/anyOf.d.mts +6 -0
  125. package/assets/types/typebox/build/schema/engine/boolean.d.mts +5 -0
  126. package/assets/types/typebox/build/schema/engine/const.d.mts +6 -0
  127. package/assets/types/typebox/build/schema/engine/contains.d.mts +6 -0
  128. package/assets/types/typebox/build/schema/engine/dependencies.d.mts +6 -0
  129. package/assets/types/typebox/build/schema/engine/dependentRequired.d.mts +6 -0
  130. package/assets/types/typebox/build/schema/engine/dependentSchemas.d.mts +6 -0
  131. package/assets/types/typebox/build/schema/engine/dynamicRef.d.mts +6 -0
  132. package/assets/types/typebox/build/schema/engine/enum.d.mts +6 -0
  133. package/assets/types/typebox/build/schema/engine/exclusiveMaximum.d.mts +6 -0
  134. package/assets/types/typebox/build/schema/engine/exclusiveMinimum.d.mts +6 -0
  135. package/assets/types/typebox/build/schema/engine/format.d.mts +6 -0
  136. package/assets/types/typebox/build/schema/engine/if.d.mts +6 -0
  137. package/assets/types/typebox/build/schema/engine/index.d.mts +48 -0
  138. package/assets/types/typebox/build/schema/engine/items.d.mts +6 -0
  139. package/assets/types/typebox/build/schema/engine/maxContains.d.mts +6 -0
  140. package/assets/types/typebox/build/schema/engine/maxItems.d.mts +6 -0
  141. package/assets/types/typebox/build/schema/engine/maxLength.d.mts +6 -0
  142. package/assets/types/typebox/build/schema/engine/maxProperties.d.mts +6 -0
  143. package/assets/types/typebox/build/schema/engine/maximum.d.mts +6 -0
  144. package/assets/types/typebox/build/schema/engine/minContains.d.mts +6 -0
  145. package/assets/types/typebox/build/schema/engine/minItems.d.mts +6 -0
  146. package/assets/types/typebox/build/schema/engine/minLength.d.mts +6 -0
  147. package/assets/types/typebox/build/schema/engine/minProperties.d.mts +6 -0
  148. package/assets/types/typebox/build/schema/engine/minimum.d.mts +6 -0
  149. package/assets/types/typebox/build/schema/engine/multipleOf.d.mts +6 -0
  150. package/assets/types/typebox/build/schema/engine/not.d.mts +6 -0
  151. package/assets/types/typebox/build/schema/engine/oneOf.d.mts +6 -0
  152. package/assets/types/typebox/build/schema/engine/pattern.d.mts +6 -0
  153. package/assets/types/typebox/build/schema/engine/patternProperties.d.mts +6 -0
  154. package/assets/types/typebox/build/schema/engine/prefixItems.d.mts +6 -0
  155. package/assets/types/typebox/build/schema/engine/properties.d.mts +6 -0
  156. package/assets/types/typebox/build/schema/engine/propertyNames.d.mts +6 -0
  157. package/assets/types/typebox/build/schema/engine/recursiveRef.d.mts +6 -0
  158. package/assets/types/typebox/build/schema/engine/ref.d.mts +6 -0
  159. package/assets/types/typebox/build/schema/engine/required.d.mts +6 -0
  160. package/assets/types/typebox/build/schema/engine/schema.d.mts +9 -0
  161. package/assets/types/typebox/build/schema/engine/type.d.mts +6 -0
  162. package/assets/types/typebox/build/schema/engine/unevaluatedItems.d.mts +6 -0
  163. package/assets/types/typebox/build/schema/engine/unevaluatedProperties.d.mts +6 -0
  164. package/assets/types/typebox/build/schema/engine/uniqueItems.d.mts +6 -0
  165. package/assets/types/typebox/build/schema/errors.d.mts +6 -0
  166. package/assets/types/typebox/build/schema/index.d.mts +3 -0
  167. package/assets/types/typebox/build/schema/parse.d.mts +13 -0
  168. package/assets/types/typebox/build/schema/pointer/index.d.mts +2 -0
  169. package/assets/types/typebox/build/schema/pointer/pointer.d.mts +10 -0
  170. package/assets/types/typebox/build/schema/pointer/pointer_get.d.mts +9 -0
  171. package/assets/types/typebox/build/schema/resolve/index.d.mts +1 -0
  172. package/assets/types/typebox/build/schema/resolve/ref.d.mts +3 -0
  173. package/assets/types/typebox/build/schema/resolve/resolve.d.mts +1 -0
  174. package/assets/types/typebox/build/schema/schema.d.mts +10 -0
  175. package/assets/types/typebox/build/schema/static/_canonical.d.mts +7 -0
  176. package/assets/types/typebox/build/schema/static/_comparer.d.mts +6 -0
  177. package/assets/types/typebox/build/schema/static/_elements.d.mts +18 -0
  178. package/assets/types/typebox/build/schema/static/additionalProperties.d.mts +7 -0
  179. package/assets/types/typebox/build/schema/static/allOf.d.mts +3 -0
  180. package/assets/types/typebox/build/schema/static/anyOf.d.mts +3 -0
  181. package/assets/types/typebox/build/schema/static/const.d.mts +1 -0
  182. package/assets/types/typebox/build/schema/static/enum.d.mts +1 -0
  183. package/assets/types/typebox/build/schema/static/if.d.mts +15 -0
  184. package/assets/types/typebox/build/schema/static/index.d.mts +1 -0
  185. package/assets/types/typebox/build/schema/static/items.d.mts +7 -0
  186. package/assets/types/typebox/build/schema/static/oneOf.d.mts +3 -0
  187. package/assets/types/typebox/build/schema/static/patternProperties.d.mts +7 -0
  188. package/assets/types/typebox/build/schema/static/prefixItems.d.mts +3 -0
  189. package/assets/types/typebox/build/schema/static/properties.d.mts +32 -0
  190. package/assets/types/typebox/build/schema/static/ref.d.mts +8 -0
  191. package/assets/types/typebox/build/schema/static/required.d.mts +3 -0
  192. package/assets/types/typebox/build/schema/static/schema.d.mts +56 -0
  193. package/assets/types/typebox/build/schema/static/static.d.mts +4 -0
  194. package/assets/types/typebox/build/schema/static/type.d.mts +4 -0
  195. package/assets/types/typebox/build/schema/static/unevaluatedProperties.d.mts +7 -0
  196. package/assets/types/typebox/build/schema/types/_refine.d.mts +13 -0
  197. package/assets/types/typebox/build/schema/types/additionalItems.d.mts +9 -0
  198. package/assets/types/typebox/build/schema/types/additionalProperties.d.mts +9 -0
  199. package/assets/types/typebox/build/schema/types/allOf.d.mts +9 -0
  200. package/assets/types/typebox/build/schema/types/anchor.d.mts +8 -0
  201. package/assets/types/typebox/build/schema/types/anyOf.d.mts +9 -0
  202. package/assets/types/typebox/build/schema/types/const.d.mts +9 -0
  203. package/assets/types/typebox/build/schema/types/contains.d.mts +9 -0
  204. package/assets/types/typebox/build/schema/types/contentEncoding.d.mts +9 -0
  205. package/assets/types/typebox/build/schema/types/contentMediaType.d.mts +9 -0
  206. package/assets/types/typebox/build/schema/types/default.d.mts +9 -0
  207. package/assets/types/typebox/build/schema/types/defs.d.mts +6 -0
  208. package/assets/types/typebox/build/schema/types/dependencies.d.mts +11 -0
  209. package/assets/types/typebox/build/schema/types/dependentRequired.d.mts +9 -0
  210. package/assets/types/typebox/build/schema/types/dependentSchemas.d.mts +9 -0
  211. package/assets/types/typebox/build/schema/types/dynamicAnchor.d.mts +8 -0
  212. package/assets/types/typebox/build/schema/types/dynamicRef.d.mts +8 -0
  213. package/assets/types/typebox/build/schema/types/else.d.mts +9 -0
  214. package/assets/types/typebox/build/schema/types/enum.d.mts +9 -0
  215. package/assets/types/typebox/build/schema/types/exclusiveMaximum.d.mts +9 -0
  216. package/assets/types/typebox/build/schema/types/exclusiveMinimum.d.mts +9 -0
  217. package/assets/types/typebox/build/schema/types/format.d.mts +9 -0
  218. package/assets/types/typebox/build/schema/types/id.d.mts +9 -0
  219. package/assets/types/typebox/build/schema/types/if.d.mts +9 -0
  220. package/assets/types/typebox/build/schema/types/index.d.mts +53 -0
  221. package/assets/types/typebox/build/schema/types/items.d.mts +19 -0
  222. package/assets/types/typebox/build/schema/types/maxContains.d.mts +9 -0
  223. package/assets/types/typebox/build/schema/types/maxItems.d.mts +9 -0
  224. package/assets/types/typebox/build/schema/types/maxLength.d.mts +9 -0
  225. package/assets/types/typebox/build/schema/types/maxProperties.d.mts +9 -0
  226. package/assets/types/typebox/build/schema/types/maximum.d.mts +9 -0
  227. package/assets/types/typebox/build/schema/types/minContains.d.mts +9 -0
  228. package/assets/types/typebox/build/schema/types/minItems.d.mts +9 -0
  229. package/assets/types/typebox/build/schema/types/minLength.d.mts +9 -0
  230. package/assets/types/typebox/build/schema/types/minProperties.d.mts +9 -0
  231. package/assets/types/typebox/build/schema/types/minimum.d.mts +9 -0
  232. package/assets/types/typebox/build/schema/types/multipleOf.d.mts +9 -0
  233. package/assets/types/typebox/build/schema/types/not.d.mts +9 -0
  234. package/assets/types/typebox/build/schema/types/oneOf.d.mts +9 -0
  235. package/assets/types/typebox/build/schema/types/pattern.d.mts +9 -0
  236. package/assets/types/typebox/build/schema/types/patternProperties.d.mts +9 -0
  237. package/assets/types/typebox/build/schema/types/prefixItems.d.mts +8 -0
  238. package/assets/types/typebox/build/schema/types/properties.d.mts +9 -0
  239. package/assets/types/typebox/build/schema/types/propertyNames.d.mts +9 -0
  240. package/assets/types/typebox/build/schema/types/recursiveAnchor.d.mts +12 -0
  241. package/assets/types/typebox/build/schema/types/recursiveRef.d.mts +8 -0
  242. package/assets/types/typebox/build/schema/types/ref.d.mts +9 -0
  243. package/assets/types/typebox/build/schema/types/required.d.mts +9 -0
  244. package/assets/types/typebox/build/schema/types/schema.d.mts +9 -0
  245. package/assets/types/typebox/build/schema/types/then.d.mts +9 -0
  246. package/assets/types/typebox/build/schema/types/type.d.mts +9 -0
  247. package/assets/types/typebox/build/schema/types/unevaluatedItems.d.mts +9 -0
  248. package/assets/types/typebox/build/schema/types/unevaluatedProperties.d.mts +9 -0
  249. package/assets/types/typebox/build/schema/types/uniqueItems.d.mts +9 -0
  250. package/assets/types/typebox/build/system/arguments/arguments.d.mts +5 -0
  251. package/assets/types/typebox/build/system/arguments/index.d.mts +1 -0
  252. package/assets/types/typebox/build/system/environment/environment.d.mts +1 -0
  253. package/assets/types/typebox/build/system/environment/evaluate.d.mts +9 -0
  254. package/assets/types/typebox/build/system/environment/index.d.mts +1 -0
  255. package/assets/types/typebox/build/system/hashing/hash.d.mts +4 -0
  256. package/assets/types/typebox/build/system/hashing/index.d.mts +1 -0
  257. package/assets/types/typebox/build/system/index.d.mts +4 -0
  258. package/assets/types/typebox/build/system/locale/_config.d.mts +7 -0
  259. package/assets/types/typebox/build/system/locale/_locale.d.mts +40 -0
  260. package/assets/types/typebox/build/system/locale/ar_001.d.mts +3 -0
  261. package/assets/types/typebox/build/system/locale/bn_BD.d.mts +3 -0
  262. package/assets/types/typebox/build/system/locale/cs_CZ.d.mts +3 -0
  263. package/assets/types/typebox/build/system/locale/de_DE.d.mts +3 -0
  264. package/assets/types/typebox/build/system/locale/el_GR.d.mts +3 -0
  265. package/assets/types/typebox/build/system/locale/en_US.d.mts +3 -0
  266. package/assets/types/typebox/build/system/locale/es_419.d.mts +3 -0
  267. package/assets/types/typebox/build/system/locale/es_AR.d.mts +3 -0
  268. package/assets/types/typebox/build/system/locale/es_ES.d.mts +3 -0
  269. package/assets/types/typebox/build/system/locale/es_MX.d.mts +3 -0
  270. package/assets/types/typebox/build/system/locale/fa_IR.d.mts +3 -0
  271. package/assets/types/typebox/build/system/locale/fil_PH.d.mts +3 -0
  272. package/assets/types/typebox/build/system/locale/fr_CA.d.mts +3 -0
  273. package/assets/types/typebox/build/system/locale/fr_FR.d.mts +3 -0
  274. package/assets/types/typebox/build/system/locale/ha_NG.d.mts +3 -0
  275. package/assets/types/typebox/build/system/locale/hi_IN.d.mts +3 -0
  276. package/assets/types/typebox/build/system/locale/hu_HU.d.mts +3 -0
  277. package/assets/types/typebox/build/system/locale/id_ID.d.mts +3 -0
  278. package/assets/types/typebox/build/system/locale/index.d.mts +1 -0
  279. package/assets/types/typebox/build/system/locale/it_IT.d.mts +3 -0
  280. package/assets/types/typebox/build/system/locale/ja_JP.d.mts +3 -0
  281. package/assets/types/typebox/build/system/locale/ko_KR.d.mts +3 -0
  282. package/assets/types/typebox/build/system/locale/ms_MY.d.mts +3 -0
  283. package/assets/types/typebox/build/system/locale/nl_NL.d.mts +3 -0
  284. package/assets/types/typebox/build/system/locale/pl_PL.d.mts +3 -0
  285. package/assets/types/typebox/build/system/locale/pt_BR.d.mts +3 -0
  286. package/assets/types/typebox/build/system/locale/pt_PT.d.mts +3 -0
  287. package/assets/types/typebox/build/system/locale/ro_RO.d.mts +3 -0
  288. package/assets/types/typebox/build/system/locale/ru_RU.d.mts +3 -0
  289. package/assets/types/typebox/build/system/locale/sv_SE.d.mts +3 -0
  290. package/assets/types/typebox/build/system/locale/sw_TZ.d.mts +3 -0
  291. package/assets/types/typebox/build/system/locale/th_TH.d.mts +3 -0
  292. package/assets/types/typebox/build/system/locale/tr_TR.d.mts +3 -0
  293. package/assets/types/typebox/build/system/locale/uk_UA.d.mts +3 -0
  294. package/assets/types/typebox/build/system/locale/ur_PK.d.mts +3 -0
  295. package/assets/types/typebox/build/system/locale/vi_VN.d.mts +3 -0
  296. package/assets/types/typebox/build/system/locale/yo_NG.d.mts +3 -0
  297. package/assets/types/typebox/build/system/locale/zh_Hans.d.mts +3 -0
  298. package/assets/types/typebox/build/system/locale/zh_Hant.d.mts +3 -0
  299. package/assets/types/typebox/build/system/memory/assign.d.mts +14 -0
  300. package/assets/types/typebox/build/system/memory/clone.d.mts +5 -0
  301. package/assets/types/typebox/build/system/memory/create.d.mts +8 -0
  302. package/assets/types/typebox/build/system/memory/discard.d.mts +4 -0
  303. package/assets/types/typebox/build/system/memory/index.d.mts +1 -0
  304. package/assets/types/typebox/build/system/memory/memory.d.mts +6 -0
  305. package/assets/types/typebox/build/system/memory/metrics.d.mts +14 -0
  306. package/assets/types/typebox/build/system/memory/update.d.mts +7 -0
  307. package/assets/types/typebox/build/system/settings/index.d.mts +1 -0
  308. package/assets/types/typebox/build/system/settings/settings.d.mts +71 -0
  309. package/assets/types/typebox/build/system/system.d.mts +6 -0
  310. package/assets/types/typebox/build/system/unreachable/index.d.mts +1 -0
  311. package/assets/types/typebox/build/system/unreachable/unreachable.d.mts +3 -0
  312. package/assets/types/typebox/build/type/action/_add_immutable.d.mts +11 -0
  313. package/assets/types/typebox/build/type/action/_add_optional.d.mts +11 -0
  314. package/assets/types/typebox/build/type/action/_add_readonly.d.mts +11 -0
  315. package/assets/types/typebox/build/type/action/_remove_immutable.d.mts +11 -0
  316. package/assets/types/typebox/build/type/action/_remove_optional.d.mts +11 -0
  317. package/assets/types/typebox/build/type/action/_remove_readonly.d.mts +11 -0
  318. package/assets/types/typebox/build/type/action/capitalize.d.mts +11 -0
  319. package/assets/types/typebox/build/type/action/conditional.d.mts +12 -0
  320. package/assets/types/typebox/build/type/action/constructor_parameters.d.mts +11 -0
  321. package/assets/types/typebox/build/type/action/evaluate.d.mts +11 -0
  322. package/assets/types/typebox/build/type/action/exclude.d.mts +11 -0
  323. package/assets/types/typebox/build/type/action/extract.d.mts +11 -0
  324. package/assets/types/typebox/build/type/action/index.d.mts +30 -0
  325. package/assets/types/typebox/build/type/action/indexed.d.mts +14 -0
  326. package/assets/types/typebox/build/type/action/instance_type.d.mts +11 -0
  327. package/assets/types/typebox/build/type/action/interface.d.mts +14 -0
  328. package/assets/types/typebox/build/type/action/keyof.d.mts +11 -0
  329. package/assets/types/typebox/build/type/action/lowercase.d.mts +11 -0
  330. package/assets/types/typebox/build/type/action/mapped.d.mts +13 -0
  331. package/assets/types/typebox/build/type/action/module.d.mts +13 -0
  332. package/assets/types/typebox/build/type/action/non_nullable.d.mts +11 -0
  333. package/assets/types/typebox/build/type/action/omit.d.mts +14 -0
  334. package/assets/types/typebox/build/type/action/parameters.d.mts +11 -0
  335. package/assets/types/typebox/build/type/action/partial.d.mts +11 -0
  336. package/assets/types/typebox/build/type/action/pick.d.mts +14 -0
  337. package/assets/types/typebox/build/type/action/readonly_object.d.mts +16 -0
  338. package/assets/types/typebox/build/type/action/required.d.mts +11 -0
  339. package/assets/types/typebox/build/type/action/return_type.d.mts +11 -0
  340. package/assets/types/typebox/build/type/action/uncapitalize.d.mts +11 -0
  341. package/assets/types/typebox/build/type/action/uppercase.d.mts +11 -0
  342. package/assets/types/typebox/build/type/action/with.d.mts +11 -0
  343. package/assets/types/typebox/build/type/engine/call/distribute_arguments.d.mts +15 -0
  344. package/assets/types/typebox/build/type/engine/call/instantiate.d.mts +21 -0
  345. package/assets/types/typebox/build/type/engine/call/resolve_arguments.d.mts +13 -0
  346. package/assets/types/typebox/build/type/engine/call/resolve_target.d.mts +25 -0
  347. package/assets/types/typebox/build/type/engine/conditional/index.d.mts +1 -0
  348. package/assets/types/typebox/build/type/engine/conditional/instantiate.d.mts +12 -0
  349. package/assets/types/typebox/build/type/engine/constructor_parameters/index.d.mts +1 -0
  350. package/assets/types/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +14 -0
  351. package/assets/types/typebox/build/type/engine/cyclic/candidates.d.mts +8 -0
  352. package/assets/types/typebox/build/type/engine/cyclic/check.d.mts +21 -0
  353. package/assets/types/typebox/build/type/engine/cyclic/dependencies.d.mts +22 -0
  354. package/assets/types/typebox/build/type/engine/cyclic/extends.d.mts +28 -0
  355. package/assets/types/typebox/build/type/engine/cyclic/index.d.mts +6 -0
  356. package/assets/types/typebox/build/type/engine/cyclic/instantiate.d.mts +17 -0
  357. package/assets/types/typebox/build/type/engine/cyclic/target.d.mts +10 -0
  358. package/assets/types/typebox/build/type/engine/enum/index.d.mts +1 -0
  359. package/assets/types/typebox/build/type/engine/enum/typescript_enum_to_enum_values.d.mts +8 -0
  360. package/assets/types/typebox/build/type/engine/evaluate/broaden.d.mts +15 -0
  361. package/assets/types/typebox/build/type/engine/evaluate/compare.d.mts +15 -0
  362. package/assets/types/typebox/build/type/engine/evaluate/composite.d.mts +34 -0
  363. package/assets/types/typebox/build/type/engine/evaluate/distribute.d.mts +28 -0
  364. package/assets/types/typebox/build/type/engine/evaluate/evaluate.d.mts +26 -0
  365. package/assets/types/typebox/build/type/engine/evaluate/flatten.d.mts +6 -0
  366. package/assets/types/typebox/build/type/engine/evaluate/index.d.mts +8 -0
  367. package/assets/types/typebox/build/type/engine/evaluate/instantiate.d.mts +8 -0
  368. package/assets/types/typebox/build/type/engine/evaluate/narrow.d.mts +5 -0
  369. package/assets/types/typebox/build/type/engine/exclude/index.d.mts +1 -0
  370. package/assets/types/typebox/build/type/engine/exclude/instantiate.d.mts +9 -0
  371. package/assets/types/typebox/build/type/engine/exclude/operation.d.mts +10 -0
  372. package/assets/types/typebox/build/type/engine/extract/index.d.mts +1 -0
  373. package/assets/types/typebox/build/type/engine/extract/instantiate.d.mts +9 -0
  374. package/assets/types/typebox/build/type/engine/extract/operation.d.mts +10 -0
  375. package/assets/types/typebox/build/type/engine/helpers/index.d.mts +3 -0
  376. package/assets/types/typebox/build/type/engine/helpers/keys.d.mts +3 -0
  377. package/assets/types/typebox/build/type/engine/helpers/keys_to_indexer.d.mts +7 -0
  378. package/assets/types/typebox/build/type/engine/helpers/union.d.mts +7 -0
  379. package/assets/types/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
  380. package/assets/types/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
  381. package/assets/types/typebox/build/type/engine/index.d.mts +31 -0
  382. package/assets/types/typebox/build/type/engine/indexable/from_cyclic.d.mts +6 -0
  383. package/assets/types/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
  384. package/assets/types/typebox/build/type/engine/indexable/from_enum.d.mts +6 -0
  385. package/assets/types/typebox/build/type/engine/indexable/from_intersect.d.mts +5 -0
  386. package/assets/types/typebox/build/type/engine/indexable/from_literal.d.mts +3 -0
  387. package/assets/types/typebox/build/type/engine/indexable/from_template_literal.d.mts +5 -0
  388. package/assets/types/typebox/build/type/engine/indexable/from_type.d.mts +19 -0
  389. package/assets/types/typebox/build/type/engine/indexable/from_union.d.mts +4 -0
  390. package/assets/types/typebox/build/type/engine/indexable/to_indexable.d.mts +9 -0
  391. package/assets/types/typebox/build/type/engine/indexable/to_indexable_keys.d.mts +10 -0
  392. package/assets/types/typebox/build/type/engine/indexed/array_indexer.d.mts +12 -0
  393. package/assets/types/typebox/build/type/engine/indexed/from_array.d.mts +15 -0
  394. package/assets/types/typebox/build/type/engine/indexed/from_object.d.mts +16 -0
  395. package/assets/types/typebox/build/type/engine/indexed/from_tuple.d.mts +13 -0
  396. package/assets/types/typebox/build/type/engine/indexed/from_type.d.mts +11 -0
  397. package/assets/types/typebox/build/type/engine/indexed/index.d.mts +1 -0
  398. package/assets/types/typebox/build/type/engine/indexed/instantiate.d.mts +16 -0
  399. package/assets/types/typebox/build/type/engine/instance_type/index.d.mts +1 -0
  400. package/assets/types/typebox/build/type/engine/instance_type/instantiate.d.mts +12 -0
  401. package/assets/types/typebox/build/type/engine/instantiate.d.mts +178 -0
  402. package/assets/types/typebox/build/type/engine/interface/index.d.mts +1 -0
  403. package/assets/types/typebox/build/type/engine/interface/instantiate.d.mts +15 -0
  404. package/assets/types/typebox/build/type/engine/intrinsics/from_literal.d.mts +5 -0
  405. package/assets/types/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +6 -0
  406. package/assets/types/typebox/build/type/engine/intrinsics/from_type.d.mts +10 -0
  407. package/assets/types/typebox/build/type/engine/intrinsics/from_union.d.mts +6 -0
  408. package/assets/types/typebox/build/type/engine/intrinsics/index.d.mts +1 -0
  409. package/assets/types/typebox/build/type/engine/intrinsics/instantiate.d.mts +38 -0
  410. package/assets/types/typebox/build/type/engine/intrinsics/mapping.d.mts +9 -0
  411. package/assets/types/typebox/build/type/engine/keyof/from_any.d.mts +6 -0
  412. package/assets/types/typebox/build/type/engine/keyof/from_array.d.mts +4 -0
  413. package/assets/types/typebox/build/type/engine/keyof/from_object.d.mts +10 -0
  414. package/assets/types/typebox/build/type/engine/keyof/from_record.d.mts +4 -0
  415. package/assets/types/typebox/build/type/engine/keyof/from_tuple.d.mts +5 -0
  416. package/assets/types/typebox/build/type/engine/keyof/from_type.d.mts +15 -0
  417. package/assets/types/typebox/build/type/engine/keyof/index.d.mts +1 -0
  418. package/assets/types/typebox/build/type/engine/keyof/instantiate.d.mts +16 -0
  419. package/assets/types/typebox/build/type/engine/mapped/index.d.mts +1 -0
  420. package/assets/types/typebox/build/type/engine/mapped/instantiate.d.mts +10 -0
  421. package/assets/types/typebox/build/type/engine/mapped/mapped_operation.d.mts +22 -0
  422. package/assets/types/typebox/build/type/engine/mapped/mapped_variants.d.mts +17 -0
  423. package/assets/types/typebox/build/type/engine/module/index.d.mts +1 -0
  424. package/assets/types/typebox/build/type/engine/module/instantiate.d.mts +19 -0
  425. package/assets/types/typebox/build/type/engine/non_nullable/index.d.mts +1 -0
  426. package/assets/types/typebox/build/type/engine/non_nullable/instantiate.d.mts +14 -0
  427. package/assets/types/typebox/build/type/engine/object/collapse.d.mts +12 -0
  428. package/assets/types/typebox/build/type/engine/object/from_cyclic.d.mts +6 -0
  429. package/assets/types/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
  430. package/assets/types/typebox/build/type/engine/object/from_intersect.d.mts +17 -0
  431. package/assets/types/typebox/build/type/engine/object/from_object.d.mts +3 -0
  432. package/assets/types/typebox/build/type/engine/object/from_tuple.d.mts +6 -0
  433. package/assets/types/typebox/build/type/engine/object/from_type.d.mts +16 -0
  434. package/assets/types/typebox/build/type/engine/object/from_union.d.mts +12 -0
  435. package/assets/types/typebox/build/type/engine/object/index.d.mts +1 -0
  436. package/assets/types/typebox/build/type/engine/omit/from_type.d.mts +12 -0
  437. package/assets/types/typebox/build/type/engine/omit/index.d.mts +1 -0
  438. package/assets/types/typebox/build/type/engine/omit/instantiate.d.mts +9 -0
  439. package/assets/types/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
  440. package/assets/types/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
  441. package/assets/types/typebox/build/type/engine/parameters/index.d.mts +1 -0
  442. package/assets/types/typebox/build/type/engine/parameters/instantiate.d.mts +14 -0
  443. package/assets/types/typebox/build/type/engine/partial/from_cyclic.d.mts +10 -0
  444. package/assets/types/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
  445. package/assets/types/typebox/build/type/engine/partial/from_intersect.d.mts +5 -0
  446. package/assets/types/typebox/build/type/engine/partial/from_object.d.mts +8 -0
  447. package/assets/types/typebox/build/type/engine/partial/from_type.d.mts +14 -0
  448. package/assets/types/typebox/build/type/engine/partial/from_union.d.mts +5 -0
  449. package/assets/types/typebox/build/type/engine/partial/index.d.mts +1 -0
  450. package/assets/types/typebox/build/type/engine/partial/instantiate.d.mts +9 -0
  451. package/assets/types/typebox/build/type/engine/patterns/index.d.mts +2 -0
  452. package/assets/types/typebox/build/type/engine/patterns/pattern.d.mts +6 -0
  453. package/assets/types/typebox/build/type/engine/patterns/template.d.mts +7 -0
  454. package/assets/types/typebox/build/type/engine/pick/from_type.d.mts +13 -0
  455. package/assets/types/typebox/build/type/engine/pick/index.d.mts +1 -0
  456. package/assets/types/typebox/build/type/engine/pick/instantiate.d.mts +9 -0
  457. package/assets/types/typebox/build/type/engine/priority/index.d.mts +1 -0
  458. package/assets/types/typebox/build/type/engine/priority/priority.d.mts +20 -0
  459. package/assets/types/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
  460. package/assets/types/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
  461. package/assets/types/typebox/build/type/engine/readonly_object/from_array.d.mts +5 -0
  462. package/assets/types/typebox/build/type/engine/readonly_object/from_cyclic.d.mts +10 -0
  463. package/assets/types/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
  464. package/assets/types/typebox/build/type/engine/readonly_object/from_intersect.d.mts +5 -0
  465. package/assets/types/typebox/build/type/engine/readonly_object/from_object.d.mts +8 -0
  466. package/assets/types/typebox/build/type/engine/readonly_object/from_tuple.d.mts +5 -0
  467. package/assets/types/typebox/build/type/engine/readonly_object/from_type.d.mts +18 -0
  468. package/assets/types/typebox/build/type/engine/readonly_object/from_union.d.mts +5 -0
  469. package/assets/types/typebox/build/type/engine/readonly_object/index.d.mts +1 -0
  470. package/assets/types/typebox/build/type/engine/readonly_object/instantiate.d.mts +9 -0
  471. package/assets/types/typebox/build/type/engine/record/from_key.d.mts +24 -0
  472. package/assets/types/typebox/build/type/engine/record/from_key_any.d.mts +4 -0
  473. package/assets/types/typebox/build/type/engine/record/from_key_boolean.d.mts +7 -0
  474. package/assets/types/typebox/build/type/engine/record/from_key_enum.d.mts +6 -0
  475. package/assets/types/typebox/build/type/engine/record/from_key_integer.d.mts +5 -0
  476. package/assets/types/typebox/build/type/engine/record/from_key_intersect.d.mts +5 -0
  477. package/assets/types/typebox/build/type/engine/record/from_key_literal.d.mts +11 -0
  478. package/assets/types/typebox/build/type/engine/record/from_key_number.d.mts +5 -0
  479. package/assets/types/typebox/build/type/engine/record/from_key_string.d.mts +5 -0
  480. package/assets/types/typebox/build/type/engine/record/from_key_template_literal.d.mts +8 -0
  481. package/assets/types/typebox/build/type/engine/record/from_key_union.d.mts +20 -0
  482. package/assets/types/typebox/build/type/engine/record/index.d.mts +1 -0
  483. package/assets/types/typebox/build/type/engine/record/instantiate.d.mts +9 -0
  484. package/assets/types/typebox/build/type/engine/record/record_create.d.mts +3 -0
  485. package/assets/types/typebox/build/type/engine/ref/index.d.mts +1 -0
  486. package/assets/types/typebox/build/type/engine/ref/instantiate.d.mts +6 -0
  487. package/assets/types/typebox/build/type/engine/required/from_cyclic.d.mts +10 -0
  488. package/assets/types/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
  489. package/assets/types/typebox/build/type/engine/required/from_intersect.d.mts +5 -0
  490. package/assets/types/typebox/build/type/engine/required/from_object.d.mts +8 -0
  491. package/assets/types/typebox/build/type/engine/required/from_type.d.mts +14 -0
  492. package/assets/types/typebox/build/type/engine/required/from_union.d.mts +5 -0
  493. package/assets/types/typebox/build/type/engine/required/index.d.mts +1 -0
  494. package/assets/types/typebox/build/type/engine/required/instantiate.d.mts +9 -0
  495. package/assets/types/typebox/build/type/engine/rest/index.d.mts +1 -0
  496. package/assets/types/typebox/build/type/engine/rest/spread.d.mts +12 -0
  497. package/assets/types/typebox/build/type/engine/return_type/index.d.mts +1 -0
  498. package/assets/types/typebox/build/type/engine/return_type/instantiate.d.mts +12 -0
  499. package/assets/types/typebox/build/type/engine/template_literal/create.d.mts +1 -0
  500. package/assets/types/typebox/build/type/engine/template_literal/decode.d.mts +30 -0
  501. package/assets/types/typebox/build/type/engine/template_literal/encode.d.mts +33 -0
  502. package/assets/types/typebox/build/type/engine/template_literal/index.d.mts +6 -0
  503. package/assets/types/typebox/build/type/engine/template_literal/instantiate.d.mts +9 -0
  504. package/assets/types/typebox/build/type/engine/template_literal/is_finite.d.mts +12 -0
  505. package/assets/types/typebox/build/type/engine/template_literal/is_pattern.d.mts +6 -0
  506. package/assets/types/typebox/build/type/engine/template_literal/static.d.mts +18 -0
  507. package/assets/types/typebox/build/type/engine/this/expand_this.d.mts +16 -0
  508. package/assets/types/typebox/build/type/engine/tuple/to_object.d.mts +12 -0
  509. package/assets/types/typebox/build/type/engine/with/index.d.mts +1 -0
  510. package/assets/types/typebox/build/type/engine/with/instantiate.d.mts +8 -0
  511. package/assets/types/typebox/build/type/extends/any.d.mts +9 -0
  512. package/assets/types/typebox/build/type/extends/array.d.mts +20 -0
  513. package/assets/types/typebox/build/type/extends/bigint.d.mts +7 -0
  514. package/assets/types/typebox/build/type/extends/boolean.d.mts +7 -0
  515. package/assets/types/typebox/build/type/extends/constructor.d.mts +10 -0
  516. package/assets/types/typebox/build/type/extends/dependent.d.mts +6 -0
  517. package/assets/types/typebox/build/type/extends/enum.d.mts +7 -0
  518. package/assets/types/typebox/build/type/extends/extends.d.mts +13 -0
  519. package/assets/types/typebox/build/type/extends/extends_left.d.mts +53 -0
  520. package/assets/types/typebox/build/type/extends/extends_right.d.mts +27 -0
  521. package/assets/types/typebox/build/type/extends/function.d.mts +10 -0
  522. package/assets/types/typebox/build/type/extends/index.d.mts +2 -0
  523. package/assets/types/typebox/build/type/extends/inference.d.mts +34 -0
  524. package/assets/types/typebox/build/type/extends/integer.d.mts +8 -0
  525. package/assets/types/typebox/build/type/extends/intersect.d.mts +6 -0
  526. package/assets/types/typebox/build/type/extends/literal.d.mts +18 -0
  527. package/assets/types/typebox/build/type/extends/never.d.mts +8 -0
  528. package/assets/types/typebox/build/type/extends/null.d.mts +7 -0
  529. package/assets/types/typebox/build/type/extends/number.d.mts +7 -0
  530. package/assets/types/typebox/build/type/extends/object.d.mts +32 -0
  531. package/assets/types/typebox/build/type/extends/parameters.d.mts +15 -0
  532. package/assets/types/typebox/build/type/extends/record.d.mts +13 -0
  533. package/assets/types/typebox/build/type/extends/result.d.mts +24 -0
  534. package/assets/types/typebox/build/type/extends/return_type.d.mts +7 -0
  535. package/assets/types/typebox/build/type/extends/string.d.mts +7 -0
  536. package/assets/types/typebox/build/type/extends/symbol.d.mts +7 -0
  537. package/assets/types/typebox/build/type/extends/template_literal.d.mts +6 -0
  538. package/assets/types/typebox/build/type/extends/tuple.d.mts +22 -0
  539. package/assets/types/typebox/build/type/extends/undefined.d.mts +8 -0
  540. package/assets/types/typebox/build/type/extends/union.d.mts +11 -0
  541. package/assets/types/typebox/build/type/extends/unknown.d.mts +9 -0
  542. package/assets/types/typebox/build/type/extends/void.d.mts +7 -0
  543. package/assets/types/typebox/build/type/index.d.mts +5 -0
  544. package/assets/types/typebox/build/type/script/index.d.mts +1 -0
  545. package/assets/types/typebox/build/type/script/mapping.d.mts +353 -0
  546. package/assets/types/typebox/build/type/script/parser.d.mts +262 -0
  547. package/assets/types/typebox/build/type/script/script.d.mts +16 -0
  548. package/assets/types/typebox/build/type/script/token/bigint.d.mts +8 -0
  549. package/assets/types/typebox/build/type/script/token/const.d.mts +11 -0
  550. package/assets/types/typebox/build/type/script/token/ident.d.mts +16 -0
  551. package/assets/types/typebox/build/type/script/token/index.d.mts +12 -0
  552. package/assets/types/typebox/build/type/script/token/integer.d.mts +11 -0
  553. package/assets/types/typebox/build/type/script/token/internal/char.d.mts +75 -0
  554. package/assets/types/typebox/build/type/script/token/internal/guard.d.mts +1 -0
  555. package/assets/types/typebox/build/type/script/token/internal/many.d.mts +7 -0
  556. package/assets/types/typebox/build/type/script/token/internal/match.d.mts +6 -0
  557. package/assets/types/typebox/build/type/script/token/internal/optional.d.mts +5 -0
  558. package/assets/types/typebox/build/type/script/token/internal/take.d.mts +6 -0
  559. package/assets/types/typebox/build/type/script/token/internal/trim.d.mts +19 -0
  560. package/assets/types/typebox/build/type/script/token/number.d.mts +11 -0
  561. package/assets/types/typebox/build/type/script/token/rest.d.mts +4 -0
  562. package/assets/types/typebox/build/type/script/token/span.d.mts +11 -0
  563. package/assets/types/typebox/build/type/script/token/string.d.mts +11 -0
  564. package/assets/types/typebox/build/type/script/token/unsigned_integer.d.mts +16 -0
  565. package/assets/types/typebox/build/type/script/token/unsigned_number.d.mts +17 -0
  566. package/assets/types/typebox/build/type/script/token/until.d.mts +7 -0
  567. package/assets/types/typebox/build/type/script/token/until_1.d.mts +5 -0
  568. package/assets/types/typebox/build/type/types/_codec.d.mts +30 -0
  569. package/assets/types/typebox/build/type/types/_immutable.d.mts +9 -0
  570. package/assets/types/typebox/build/type/types/_optional.d.mts +9 -0
  571. package/assets/types/typebox/build/type/types/_readonly.d.mts +9 -0
  572. package/assets/types/typebox/build/type/types/_refine.d.mts +24 -0
  573. package/assets/types/typebox/build/type/types/any.d.mts +10 -0
  574. package/assets/types/typebox/build/type/types/array.d.mts +18 -0
  575. package/assets/types/typebox/build/type/types/bigint.d.mts +12 -0
  576. package/assets/types/typebox/build/type/types/boolean.d.mts +11 -0
  577. package/assets/types/typebox/build/type/types/call.d.mts +16 -0
  578. package/assets/types/typebox/build/type/types/constructor.d.mts +18 -0
  579. package/assets/types/typebox/build/type/types/cyclic.d.mts +16 -0
  580. package/assets/types/typebox/build/type/types/deferred.d.mts +13 -0
  581. package/assets/types/typebox/build/type/types/dependent.d.mts +17 -0
  582. package/assets/types/typebox/build/type/types/enum.d.mts +18 -0
  583. package/assets/types/typebox/build/type/types/function.d.mts +21 -0
  584. package/assets/types/typebox/build/type/types/generic.d.mts +13 -0
  585. package/assets/types/typebox/build/type/types/identifier.d.mts +11 -0
  586. package/assets/types/typebox/build/type/types/index.d.mts +45 -0
  587. package/assets/types/typebox/build/type/types/infer.d.mts +15 -0
  588. package/assets/types/typebox/build/type/types/integer.d.mts +12 -0
  589. package/assets/types/typebox/build/type/types/intersect.d.mts +15 -0
  590. package/assets/types/typebox/build/type/types/literal.d.mts +31 -0
  591. package/assets/types/typebox/build/type/types/never.d.mts +12 -0
  592. package/assets/types/typebox/build/type/types/null.d.mts +11 -0
  593. package/assets/types/typebox/build/type/types/number.d.mts +12 -0
  594. package/assets/types/typebox/build/type/types/object.d.mts +18 -0
  595. package/assets/types/typebox/build/type/types/parameter.d.mts +17 -0
  596. package/assets/types/typebox/build/type/types/properties.d.mts +43 -0
  597. package/assets/types/typebox/build/type/types/record.d.mts +52 -0
  598. package/assets/types/typebox/build/type/types/ref.d.mts +19 -0
  599. package/assets/types/typebox/build/type/types/rest.d.mts +11 -0
  600. package/assets/types/typebox/build/type/types/schema.d.mts +176 -0
  601. package/assets/types/typebox/build/type/types/static.d.mts +45 -0
  602. package/assets/types/typebox/build/type/types/string.d.mts +12 -0
  603. package/assets/types/typebox/build/type/types/symbol.d.mts +11 -0
  604. package/assets/types/typebox/build/type/types/template_literal.d.mts +28 -0
  605. package/assets/types/typebox/build/type/types/this.d.mts +14 -0
  606. package/assets/types/typebox/build/type/types/tuple.d.mts +38 -0
  607. package/assets/types/typebox/build/type/types/undefined.d.mts +11 -0
  608. package/assets/types/typebox/build/type/types/union.d.mts +15 -0
  609. package/assets/types/typebox/build/type/types/unknown.d.mts +10 -0
  610. package/assets/types/typebox/build/type/types/unsafe.d.mts +10 -0
  611. package/assets/types/typebox/build/type/types/void.d.mts +11 -0
  612. package/assets/types/typebox/build/typebox.d.mts +69 -0
  613. package/assets/types/typebox/build/value/assert/assert.d.mts +14 -0
  614. package/assets/types/typebox/build/value/assert/index.d.mts +1 -0
  615. package/assets/types/typebox/build/value/check/check.d.mts +5 -0
  616. package/assets/types/typebox/build/value/check/index.d.mts +1 -0
  617. package/assets/types/typebox/build/value/clean/additional.d.mts +2 -0
  618. package/assets/types/typebox/build/value/clean/clean.d.mts +15 -0
  619. package/assets/types/typebox/build/value/clean/from_array.d.mts +2 -0
  620. package/assets/types/typebox/build/value/clean/from_cyclic.d.mts +2 -0
  621. package/assets/types/typebox/build/value/clean/from_intersect.d.mts +2 -0
  622. package/assets/types/typebox/build/value/clean/from_object.d.mts +2 -0
  623. package/assets/types/typebox/build/value/clean/from_record.d.mts +2 -0
  624. package/assets/types/typebox/build/value/clean/from_ref.d.mts +2 -0
  625. package/assets/types/typebox/build/value/clean/from_tuple.d.mts +2 -0
  626. package/assets/types/typebox/build/value/clean/from_type.d.mts +2 -0
  627. package/assets/types/typebox/build/value/clean/from_union.d.mts +2 -0
  628. package/assets/types/typebox/build/value/clean/index.d.mts +1 -0
  629. package/assets/types/typebox/build/value/clone/clone.d.mts +5 -0
  630. package/assets/types/typebox/build/value/clone/index.d.mts +1 -0
  631. package/assets/types/typebox/build/value/codec/callback.d.mts +2 -0
  632. package/assets/types/typebox/build/value/codec/decode.d.mts +12 -0
  633. package/assets/types/typebox/build/value/codec/encode.d.mts +12 -0
  634. package/assets/types/typebox/build/value/codec/from_array.d.mts +2 -0
  635. package/assets/types/typebox/build/value/codec/from_cyclic.d.mts +2 -0
  636. package/assets/types/typebox/build/value/codec/from_intersect.d.mts +2 -0
  637. package/assets/types/typebox/build/value/codec/from_object.d.mts +2 -0
  638. package/assets/types/typebox/build/value/codec/from_record.d.mts +2 -0
  639. package/assets/types/typebox/build/value/codec/from_ref.d.mts +2 -0
  640. package/assets/types/typebox/build/value/codec/from_tuple.d.mts +2 -0
  641. package/assets/types/typebox/build/value/codec/from_type.d.mts +2 -0
  642. package/assets/types/typebox/build/value/codec/from_union.d.mts +2 -0
  643. package/assets/types/typebox/build/value/codec/has.d.mts +5 -0
  644. package/assets/types/typebox/build/value/codec/index.d.mts +3 -0
  645. package/assets/types/typebox/build/value/convert/convert.d.mts +13 -0
  646. package/assets/types/typebox/build/value/convert/from_additional.d.mts +6 -0
  647. package/assets/types/typebox/build/value/convert/from_array.d.mts +2 -0
  648. package/assets/types/typebox/build/value/convert/from_bigint.d.mts +2 -0
  649. package/assets/types/typebox/build/value/convert/from_boolean.d.mts +2 -0
  650. package/assets/types/typebox/build/value/convert/from_cyclic.d.mts +2 -0
  651. package/assets/types/typebox/build/value/convert/from_enum.d.mts +2 -0
  652. package/assets/types/typebox/build/value/convert/from_integer.d.mts +2 -0
  653. package/assets/types/typebox/build/value/convert/from_intersect.d.mts +2 -0
  654. package/assets/types/typebox/build/value/convert/from_literal.d.mts +2 -0
  655. package/assets/types/typebox/build/value/convert/from_null.d.mts +2 -0
  656. package/assets/types/typebox/build/value/convert/from_number.d.mts +2 -0
  657. package/assets/types/typebox/build/value/convert/from_object.d.mts +2 -0
  658. package/assets/types/typebox/build/value/convert/from_record.d.mts +2 -0
  659. package/assets/types/typebox/build/value/convert/from_ref.d.mts +2 -0
  660. package/assets/types/typebox/build/value/convert/from_string.d.mts +2 -0
  661. package/assets/types/typebox/build/value/convert/from_template_literal.d.mts +2 -0
  662. package/assets/types/typebox/build/value/convert/from_tuple.d.mts +2 -0
  663. package/assets/types/typebox/build/value/convert/from_type.d.mts +2 -0
  664. package/assets/types/typebox/build/value/convert/from_undefined.d.mts +2 -0
  665. package/assets/types/typebox/build/value/convert/from_union.d.mts +2 -0
  666. package/assets/types/typebox/build/value/convert/from_void.d.mts +2 -0
  667. package/assets/types/typebox/build/value/convert/index.d.mts +1 -0
  668. package/assets/types/typebox/build/value/convert/try/index.d.mts +1 -0
  669. package/assets/types/typebox/build/value/convert/try/try.d.mts +8 -0
  670. package/assets/types/typebox/build/value/convert/try/try_array.d.mts +2 -0
  671. package/assets/types/typebox/build/value/convert/try/try_bigint.d.mts +2 -0
  672. package/assets/types/typebox/build/value/convert/try/try_boolean.d.mts +2 -0
  673. package/assets/types/typebox/build/value/convert/try/try_null.d.mts +2 -0
  674. package/assets/types/typebox/build/value/convert/try/try_number.d.mts +2 -0
  675. package/assets/types/typebox/build/value/convert/try/try_result.d.mts +8 -0
  676. package/assets/types/typebox/build/value/convert/try/try_string.d.mts +2 -0
  677. package/assets/types/typebox/build/value/convert/try/try_undefined.d.mts +2 -0
  678. package/assets/types/typebox/build/value/create/create.d.mts +5 -0
  679. package/assets/types/typebox/build/value/create/error.d.mts +5 -0
  680. package/assets/types/typebox/build/value/create/from_array.d.mts +2 -0
  681. package/assets/types/typebox/build/value/create/from_bigint.d.mts +2 -0
  682. package/assets/types/typebox/build/value/create/from_boolean.d.mts +2 -0
  683. package/assets/types/typebox/build/value/create/from_constructor.d.mts +2 -0
  684. package/assets/types/typebox/build/value/create/from_cyclic.d.mts +2 -0
  685. package/assets/types/typebox/build/value/create/from_default.d.mts +3 -0
  686. package/assets/types/typebox/build/value/create/from_enum.d.mts +2 -0
  687. package/assets/types/typebox/build/value/create/from_function.d.mts +2 -0
  688. package/assets/types/typebox/build/value/create/from_integer.d.mts +2 -0
  689. package/assets/types/typebox/build/value/create/from_intersect.d.mts +2 -0
  690. package/assets/types/typebox/build/value/create/from_literal.d.mts +2 -0
  691. package/assets/types/typebox/build/value/create/from_never.d.mts +2 -0
  692. package/assets/types/typebox/build/value/create/from_null.d.mts +2 -0
  693. package/assets/types/typebox/build/value/create/from_number.d.mts +2 -0
  694. package/assets/types/typebox/build/value/create/from_object.d.mts +2 -0
  695. package/assets/types/typebox/build/value/create/from_record.d.mts +2 -0
  696. package/assets/types/typebox/build/value/create/from_ref.d.mts +2 -0
  697. package/assets/types/typebox/build/value/create/from_string.d.mts +2 -0
  698. package/assets/types/typebox/build/value/create/from_symbol.d.mts +2 -0
  699. package/assets/types/typebox/build/value/create/from_template_literal.d.mts +2 -0
  700. package/assets/types/typebox/build/value/create/from_tuple.d.mts +2 -0
  701. package/assets/types/typebox/build/value/create/from_type.d.mts +2 -0
  702. package/assets/types/typebox/build/value/create/from_undefined.d.mts +2 -0
  703. package/assets/types/typebox/build/value/create/from_union.d.mts +2 -0
  704. package/assets/types/typebox/build/value/create/from_void.d.mts +2 -0
  705. package/assets/types/typebox/build/value/create/index.d.mts +2 -0
  706. package/assets/types/typebox/build/value/default/default.d.mts +13 -0
  707. package/assets/types/typebox/build/value/default/from_array.d.mts +2 -0
  708. package/assets/types/typebox/build/value/default/from_cyclic.d.mts +2 -0
  709. package/assets/types/typebox/build/value/default/from_default.d.mts +3 -0
  710. package/assets/types/typebox/build/value/default/from_intersect.d.mts +2 -0
  711. package/assets/types/typebox/build/value/default/from_object.d.mts +2 -0
  712. package/assets/types/typebox/build/value/default/from_record.d.mts +2 -0
  713. package/assets/types/typebox/build/value/default/from_ref.d.mts +2 -0
  714. package/assets/types/typebox/build/value/default/from_tuple.d.mts +2 -0
  715. package/assets/types/typebox/build/value/default/from_type.d.mts +2 -0
  716. package/assets/types/typebox/build/value/default/from_union.d.mts +2 -0
  717. package/assets/types/typebox/build/value/default/index.d.mts +1 -0
  718. package/assets/types/typebox/build/value/delta/diff.d.mts +10 -0
  719. package/assets/types/typebox/build/value/delta/edit.d.mts +24 -0
  720. package/assets/types/typebox/build/value/delta/index.d.mts +3 -0
  721. package/assets/types/typebox/build/value/delta/patch.d.mts +8 -0
  722. package/assets/types/typebox/build/value/equal/equal.d.mts +2 -0
  723. package/assets/types/typebox/build/value/equal/index.d.mts +1 -0
  724. package/assets/types/typebox/build/value/errors/errors.d.mts +16 -0
  725. package/assets/types/typebox/build/value/errors/index.d.mts +1 -0
  726. package/assets/types/typebox/build/value/hash/hash.d.mts +6 -0
  727. package/assets/types/typebox/build/value/hash/index.d.mts +1 -0
  728. package/assets/types/typebox/build/value/index.d.mts +20 -0
  729. package/assets/types/typebox/build/value/parse/index.d.mts +1 -0
  730. package/assets/types/typebox/build/value/parse/parse.d.mts +11 -0
  731. package/assets/types/typebox/build/value/pipeline/index.d.mts +1 -0
  732. package/assets/types/typebox/build/value/pipeline/pipeline.d.mts +10 -0
  733. package/assets/types/typebox/build/value/pointer/index.d.mts +1 -0
  734. package/assets/types/typebox/build/value/repair/error.d.mts +7 -0
  735. package/assets/types/typebox/build/value/repair/from_array.d.mts +2 -0
  736. package/assets/types/typebox/build/value/repair/from_enum.d.mts +2 -0
  737. package/assets/types/typebox/build/value/repair/from_intersect.d.mts +2 -0
  738. package/assets/types/typebox/build/value/repair/from_object.d.mts +2 -0
  739. package/assets/types/typebox/build/value/repair/from_record.d.mts +2 -0
  740. package/assets/types/typebox/build/value/repair/from_ref.d.mts +2 -0
  741. package/assets/types/typebox/build/value/repair/from_template_literal.d.mts +2 -0
  742. package/assets/types/typebox/build/value/repair/from_tuple.d.mts +2 -0
  743. package/assets/types/typebox/build/value/repair/from_type.d.mts +2 -0
  744. package/assets/types/typebox/build/value/repair/from_union.d.mts +2 -0
  745. package/assets/types/typebox/build/value/repair/from_unknown.d.mts +2 -0
  746. package/assets/types/typebox/build/value/repair/index.d.mts +1 -0
  747. package/assets/types/typebox/build/value/repair/repair.d.mts +17 -0
  748. package/assets/types/typebox/build/value/shared/index.d.mts +3 -0
  749. package/assets/types/typebox/build/value/shared/optional_undefined.d.mts +2 -0
  750. package/assets/types/typebox/build/value/shared/union_priority_sort.d.mts +7 -0
  751. package/assets/types/typebox/build/value/shared/union_score_select.d.mts +3 -0
  752. package/assets/types/typebox/build/value/value.d.mts +15 -0
  753. package/assets/types/typebox/package.json +87 -0
  754. package/package.json +28 -0
  755. package/src/alt-screen.ts +46 -0
  756. package/src/argv.ts +147 -0
  757. package/src/cli-tree-host.ts +81 -0
  758. package/src/cli.ts +155 -0
  759. package/src/fatal-signal.ts +45 -0
  760. package/src/final-frame.ts +71 -0
  761. package/src/interactive-run.ts +231 -0
  762. package/src/presenter.ts +31 -0
  763. package/src/render.ts +96 -0
  764. package/src/run-invocation.ts +48 -0
  765. package/src/runtime-alias.ts +64 -0
  766. package/src/setup-workspace.ts +91 -0
  767. package/src/tree-app.ts +178 -0
  768. package/src/tui-test-support.ts +96 -0
@@ -0,0 +1,10 @@
1
+ import { Memory } from '../../../system/memory/index.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TCyclic } from '../../types/cyclic.mjs';
4
+ import { type TProperties } from '../../types/properties.mjs';
5
+ import { type TFromType } from './from_type.mjs';
6
+ import { type TCyclicTarget } from '../cyclic/target.mjs';
7
+ export type TFromCyclic<Defs extends TProperties, Ref extends string, Target extends TSchema = TCyclicTarget<Defs, Ref>, Partial extends TSchema = TFromType<Target>, Result extends TSchema = TCyclic<Memory.TAssign<Defs, {
8
+ [_ in Ref]: Partial;
9
+ }>, Ref>> = Result;
10
+ export declare function FromCyclic<Defs extends TProperties, Ref extends string>(defs: Defs, ref: Ref): TFromCyclic<Defs, Ref>;
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TFromType } from './from_type.mjs';
3
+ import { type TEvaluateDependent } from '../evaluate/evaluate.mjs';
4
+ export type TFromDependent<If extends TSchema, Then extends TSchema, Else extends TSchema, Evaluated extends TSchema = TEvaluateDependent<If, Then, Else>, Result extends TSchema = TFromType<Evaluated>> = Result;
5
+ export declare function FromDependent<If extends TSchema, Then extends TSchema, Else extends TSchema>(if_: If, then_: Then, else_: Else): TFromDependent<If, Then, Else>;
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TFromType } from './from_type.mjs';
3
+ import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
4
+ export type TFromIntersect<Types extends TSchema[], Evaluated extends TSchema = TEvaluateIntersect<Types>, Result extends TSchema = TFromType<Evaluated>> = Result;
5
+ export declare function FromIntersect<Types extends TSchema[]>(types: [...Types]): TFromIntersect<Types>;
@@ -0,0 +1,8 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TObject } from '../../types/object.mjs';
3
+ import { type TRemoveOptional } from '../../action/_remove_optional.mjs';
4
+ import { type TProperties } from '../../types/properties.mjs';
5
+ export type TFromObject<Properties extends TProperties, Mapped extends TProperties = {
6
+ [Key in keyof Properties]: TRemoveOptional<Properties[Key]>;
7
+ }, Result extends TSchema = TObject<Mapped>> = Result;
8
+ export declare function FromObject<Properties extends TProperties>(properties: Properties): TFromObject<Properties>;
@@ -0,0 +1,14 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TCyclic } from '../../types/cyclic.mjs';
3
+ import { type TDependent } from '../../types/dependent.mjs';
4
+ import { type TIntersect } from '../../types/intersect.mjs';
5
+ import { type TObject } from '../../types/object.mjs';
6
+ import { type TProperties } from '../../types/properties.mjs';
7
+ import { type TUnion } from '../../types/union.mjs';
8
+ import { type TFromCyclic } from './from_cyclic.mjs';
9
+ import { type TFromDependent } from './from_dependent.mjs';
10
+ import { type TFromIntersect } from './from_intersect.mjs';
11
+ import { type TFromUnion } from './from_union.mjs';
12
+ import { type TFromObject } from './from_object.mjs';
13
+ export type TFromType<Type extends TSchema> = (Type extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Type extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TFromDependent<If, Then, Else> : Type extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : Type extends TObject<infer Properties extends TProperties> ? TFromObject<Properties> : TObject<{}>);
14
+ export declare function FromType<Type extends TSchema>(type: Type): TFromType<Type>;
@@ -0,0 +1,5 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TUnion } from '../../types/union.mjs';
3
+ import { type TFromType } from './from_type.mjs';
4
+ export type TFromUnion<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromUnion<Right, [...Result, TFromType<Left>]> : TUnion<Result>);
5
+ export declare function FromUnion<Types extends TSchema[]>(types: [...Types]): TFromUnion<Types>;
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,9 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TFromType } from './from_type.mjs';
4
+ import { type TRequiredDeferred } from '../../action/required.mjs';
5
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
6
+ export type TRequiredAction<Type extends TSchema, Result extends TSchema = TCanInstantiate<[Type]> extends true ? TFromType<Type> : TRequiredDeferred<Type>> = Result;
7
+ export declare function RequiredAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TRequiredAction<Type>;
8
+ export type TRequiredInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TRequiredAction<InstantiatedType>;
9
+ export declare function RequiredInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TRequiredInstantiate<Context, State, Type>;
@@ -0,0 +1 @@
1
+ export * from './spread.mjs';
@@ -0,0 +1,12 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TInfer } from '../../types/infer.mjs';
3
+ import { type TNever } from '../../types/never.mjs';
4
+ import { type TRest } from '../../types/rest.mjs';
5
+ import { type TRef } from '../../types/ref.mjs';
6
+ import { type TTuple } from '../../types/tuple.mjs';
7
+ type TSpreadElement<Type extends TSchema, Result extends TSchema[] = (Type extends TRest<infer Rest extends TSchema> ? (Rest extends TTuple<infer Elements extends TSchema[]> ? TRestSpread<Elements> : Rest extends TInfer<string, TSchema> ? [Type] : Rest extends TRef<string> ? [Type] : [
8
+ TNever
9
+ ]) : [Type])> = Result;
10
+ export type TRestSpread<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TRestSpread<Right, [...Result, ...TSpreadElement<Left>]> : Result);
11
+ export declare function RestSpread<Types extends TSchema[]>(types: [...Types]): TRestSpread<Types>;
12
+ export {};
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,12 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TFunction } from '../../types/function.mjs';
4
+ import { type TNever } from '../../types/never.mjs';
5
+ import { type TReturnTypeDeferred } from '../../action/return_type.mjs';
6
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
7
+ type TReturnTypeOperation<Type extends TSchema> = (Type extends TFunction ? Type['returnType'] : TNever);
8
+ export type TReturnTypeAction<Type extends TSchema, Result extends TSchema = TCanInstantiate<[Type]> extends true ? TReturnTypeOperation<Type> : TReturnTypeDeferred<Type>> = Result;
9
+ export declare function ReturnTypeAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TReturnTypeAction<Type>;
10
+ export type TReturnTypeInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TReturnTypeAction<InstantiatedType>;
11
+ export declare function ReturnTypeInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options?: TSchemaOptions): TReturnTypeInstantiate<Context, State, Type>;
12
+ export {};
@@ -0,0 +1 @@
1
+ export declare function TemplateLiteralCreate<Pattern extends string>(pattern: Pattern): never;
@@ -0,0 +1,30 @@
1
+ import { type TUnreachable } from '../../../system/unreachable/index.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
4
+ import { type TString } from '../../types/string.mjs';
5
+ import { type TTemplateLiteral } from '../../types/template_literal.mjs';
6
+ import { type TUnion } from '../../types/union.mjs';
7
+ import { type TParsePatternIntoTypes } from '../patterns/pattern.mjs';
8
+ import { type TIsTemplateLiteralFinite } from './is_finite.mjs';
9
+ type TFromLiteralPush<Variants extends string[], Value extends TLiteralValue, Result extends string[] = []> = Variants extends [infer Left extends string, ...infer Right extends string[]] ? TFromLiteralPush<Right, Value, [...Result, `${Left}${Value}`]> : Result;
10
+ type TFromLiteral<Variants extends string[], Value extends TLiteralValue> = Variants extends [] ? [`${Value}`] : TFromLiteralPush<Variants, Value>;
11
+ type TFromUnion<Variants extends string[], Types extends TSchema[], Result extends string[] = []> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromUnion<Variants, Right, [...Result, ...TFromType<Variants, Left>]> : Result;
12
+ type TFromType<Variants extends string[], Type extends TSchema, Result extends string[] = (Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Variants, Types> : Type extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Variants, Value> : TUnreachable)> = Result;
13
+ type TDecodeFromSpan<Variants extends string[], Types extends TSchema[]> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TDecodeFromSpan<TFromType<Variants, Left>, Right> : Variants;
14
+ type TVariantsToLiterals<Variants extends string[], Result extends TSchema[] = []> = Variants extends [infer Left extends string, ...infer Right extends string[]] ? TVariantsToLiterals<Right, [...Result, TLiteral<Left>]> : Result;
15
+ type TDecodeTypesAsUnion<Types extends TSchema[], Variants extends string[] = TDecodeFromSpan<[], Types>, Literals extends TSchema[] = TVariantsToLiterals<Variants>, Result extends TSchema = TUnion<Literals>> = Result;
16
+ type TDecodeTypes<Types extends TSchema[], Result extends TSchema = (Types extends [] ? TUnreachable : Types extends [infer Type extends TLiteral] ? Type : TDecodeTypesAsUnion<Types>)> = Result;
17
+ /** Decodes a TemplateLiteral into a Type. */
18
+ export type TTemplateLiteralDecodeUnsafe<Pattern extends string, Types extends TSchema[] = TParsePatternIntoTypes<Pattern>, Result extends TSchema = (Types extends [] ? TString : TIsTemplateLiteralFinite<Types> extends true ? TDecodeTypes<Types> : TTemplateLiteral<Pattern>)> = Result;
19
+ /**
20
+ * (Internal) Decodes a TemplateLiteral pattern into a Type. This function is unsafe. Decoding a non-finite
21
+ * TemplateLiteral pattern may produce another TemplateLiteral pattern. During enumeration, this
22
+ * TemplateLiteral -> TemplateLiteral behavior can cause a StackOverflow. A better in-flight template-literal
23
+ * decoding algorithm is needed. (for review)
24
+ */
25
+ export declare function TemplateLiteralDecodeUnsafe<Pattern extends string>(pattern: Pattern): TTemplateLiteralDecodeUnsafe<Pattern>;
26
+ /** Decodes a TemplateLiteral pattern but returns TString if the pattern in non-finite. */
27
+ export type TTemplateLiteralDecode<Pattern extends string, Decoded extends TSchema = TTemplateLiteralDecodeUnsafe<Pattern>, Result extends TSchema = Decoded extends TTemplateLiteral ? TString : Decoded> = Result;
28
+ /** Decodes a TemplateLiteral pattern but returns TString if the pattern in non-finite. */
29
+ export declare function TemplateLiteralDecode<Pattern extends string>(pattern: Pattern): TTemplateLiteralDecode<Pattern>;
30
+ export {};
@@ -0,0 +1,33 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
3
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
4
+ import { type TUnion } from '../../types/union.mjs';
5
+ import { type TTemplateLiteral, type TTemplateLiteralDeferred } from '../../types/template_literal.mjs';
6
+ import { type TBigInt, BigIntPattern } from '../../types/bigint.mjs';
7
+ import { type TString, StringPattern } from '../../types/string.mjs';
8
+ import { type TNumber, NumberPattern } from '../../types/number.mjs';
9
+ import { type TInteger, IntegerPattern } from '../../types/integer.mjs';
10
+ import { type TBoolean } from '../../types/boolean.mjs';
11
+ import { NeverPattern } from '../../types/never.mjs';
12
+ import { type TEvaluateEnum } from '../evaluate/evaluate.mjs';
13
+ import { type TTemplateLiteralAction } from './instantiate.mjs';
14
+ type TJoinString<Input extends string[], Result extends string = ''> = (Input extends [infer Left extends string, ...infer Right extends string[]] ? Result extends '' ? TJoinString<Right, Left> : TJoinString<Right, `${Result}|${Left}`> : Result);
15
+ type TUnwrapTemplateLiteralPattern<Pattern extends string> = (Pattern extends `^${infer Pattern extends string}$` ? Pattern : never);
16
+ type TEncodeLiteral<Value extends TLiteralValue, Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${Value}`>);
17
+ type TEncodeBigInt<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof BigIntPattern}`>);
18
+ type TEncodeInteger<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof IntegerPattern}`>);
19
+ type TEncodeNumber<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof NumberPattern}`>);
20
+ type TEncodeBoolean<Right extends TSchema[], Pattern extends string> = (TEncodeType<TUnion<[TLiteral<'false'>, TLiteral<'true'>]>, Right, Pattern>);
21
+ type TEncodeString<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof StringPattern}`>);
22
+ type TEncodeTemplateLiteral<TemplatePattern extends string, Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${TUnwrapTemplateLiteralPattern<TemplatePattern>}`>);
23
+ type TEncodeTemplateLiteralDeferred<Types extends TSchema[], Right extends TSchema[], Pattern extends string, TemplateLiteral extends TSchema = TTemplateLiteralAction<Types>, Result extends TSchema = TEncodeType<TemplateLiteral, Right, Pattern>> = Result;
24
+ type TEncodeEnum<Values extends TEnumValue[], Right extends TSchema[], Pattern extends string, Evaluated extends TSchema = TEvaluateEnum<Values>> = TEncodeType<Evaluated, Right, Pattern>;
25
+ type TEncodeUnion<Types extends TSchema[], Right extends TSchema[], Pattern extends string, Result extends string[] = []> = Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TEncodeUnion<Tail, Right, Pattern, [...Result, TEncodeType<Head, [], ''>]> : TEncodeTypes<Right, `${Pattern}(${TJoinString<Result>})`>;
26
+ type TEncodeType<Type extends TSchema, Right extends TSchema[], Pattern extends string> = (Type extends TEnum<infer Values extends TEnumValue[]> ? TEncodeEnum<Values, Right, Pattern> : Type extends TInteger ? TEncodeInteger<Right, Pattern> : Type extends TLiteral<infer Value extends TLiteralValue> ? TEncodeLiteral<Value, Right, Pattern> : Type extends TBigInt ? TEncodeBigInt<Right, Pattern> : Type extends TBoolean ? TEncodeBoolean<Right, Pattern> : Type extends TNumber ? TEncodeNumber<Right, Pattern> : Type extends TString ? TEncodeString<Right, Pattern> : Type extends TTemplateLiteral<infer TemplatePattern extends string> ? TEncodeTemplateLiteral<TemplatePattern, Right, Pattern> : Type extends TTemplateLiteralDeferred<infer Types extends TSchema[]> ? TEncodeTemplateLiteralDeferred<Types, Right, Pattern> : Type extends TUnion<infer Types extends TSchema[]> ? TEncodeUnion<Types, Right, Pattern> : typeof NeverPattern);
27
+ type TEncodeTypes<Types extends TSchema[], Pattern extends string> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TEncodeType<Left, Right, Pattern> : Pattern);
28
+ type TEncodePattern<Types extends TSchema[], Encoded extends string = TEncodeTypes<Types, ''>, Result extends string = `^${Encoded}$`> = Result;
29
+ /** Encodes a TemplateLiteral type sequence into a TemplateLiteral */
30
+ export type TTemplateLiteralEncode<Types extends TSchema[], Pattern extends string = TEncodePattern<Types>, Result extends TSchema = TTemplateLiteral<Pattern>> = Result;
31
+ /** Encodes a TemplateLiteral type sequence into a TemplateLiteral */
32
+ export declare function TemplateLiteralEncode<Types extends TSchema[]>(types: [...Types]): TTemplateLiteralEncode<Types>;
33
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './create.mjs';
2
+ export * from './decode.mjs';
3
+ export * from './encode.mjs';
4
+ export * from './static.mjs';
5
+ export * from './is_finite.mjs';
6
+ export * from './is_pattern.mjs';
@@ -0,0 +1,9 @@
1
+ import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
2
+ import { type TProperties } from '../../types/properties.mjs';
3
+ import { type TTemplateLiteralDeferred } from '../../types/template_literal.mjs';
4
+ import { type TTemplateLiteralEncode } from './encode.mjs';
5
+ import { type TState, type TInstantiateTypes, type TCanInstantiate } from '../instantiate.mjs';
6
+ export type TTemplateLiteralAction<Types extends TSchema[], Result extends TSchema = TCanInstantiate<Types> extends true ? TTemplateLiteralEncode<Types> : TTemplateLiteralDeferred<Types>> = Result;
7
+ export declare function TemplateLiteralAction<Types extends TSchema[]>(types: [...Types], options: TSchemaOptions): TTemplateLiteralAction<Types>;
8
+ export type TTemplateLiteralInstantiate<Context extends TProperties, State extends TState, Types extends TSchema[], InstantiatedTypes extends TSchema[] = TInstantiateTypes<Context, State, Types>> = TTemplateLiteralAction<InstantiatedTypes>;
9
+ export declare function TemplateLiteralInstantiate<Context extends TProperties, State extends TState, Types extends TSchema[]>(context: Context, state: State, types: [...Types], options: TSchemaOptions): TTemplateLiteralInstantiate<Context, State, Types>;
@@ -0,0 +1,12 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
3
+ import { type TUnion } from '../../types/union.mjs';
4
+ type TFromLiteral<_Value extends TLiteralValue> = true;
5
+ type TFromTypesReduce<Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromType<Left> extends true ? TFromTypesReduce<Right> : false : true);
6
+ type TFromTypes<Types extends TSchema[], Result extends boolean = Types extends [] ? false : TFromTypesReduce<Types>> = Result;
7
+ type TFromType<Type extends TSchema> = Type extends TUnion<infer Types extends TSchema[]> ? TFromTypes<Types> : Type extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Value> : false;
8
+ /** Returns true if the given TemplateLiteral types yields a finite variant set */
9
+ export type TIsTemplateLiteralFinite<Types extends TSchema[], Result extends boolean = TFromTypes<Types>> = Result;
10
+ /** Returns true if the given TemplateLiteral types yields a finite variant set */
11
+ export declare function IsTemplateLiteralFinite<Types extends TSchema[]>(types: [...Types]): TIsTemplateLiteralFinite<Types>;
12
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TParsePatternIntoTypes } from '../patterns/pattern.mjs';
3
+ /** Returns true if this pattern is a valid Template Literal regular expression */
4
+ export type TIsTemplateLiteralPattern<Pattern extends string, Types extends TSchema[] = TParsePatternIntoTypes<Pattern>, Result extends boolean = Types extends [] ? false : true> = Result;
5
+ /** Returns true if this pattern is a valid Template Literal regular expression */
6
+ export declare function IsTemplateLiteralPattern<Pattern extends string>(pattern: Pattern): TIsTemplateLiteralPattern<Pattern>;
@@ -0,0 +1,18 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TUnion } from '../../types/union.mjs';
3
+ import { type TBigInt } from '../../types/bigint.mjs';
4
+ import { type TString } from '../../types/string.mjs';
5
+ import { type TNumber } from '../../types/number.mjs';
6
+ import { type TInteger } from '../../types/integer.mjs';
7
+ import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
8
+ import { type TParsePatternIntoTypes } from '../patterns/pattern.mjs';
9
+ type TFromLiteral<Template extends string, Value extends TLiteralValue> = `${Template}${Value}`;
10
+ type TFromBigInt<Template extends string> = `${Template}${bigint}`;
11
+ type TFromString<Template extends string> = `${Template}${string}`;
12
+ type TFromNumber<Template extends string> = `${Template}${number}`;
13
+ type TFromInteger<Template extends string> = `${Template}${number}`;
14
+ type TFromUnion<Template extends string, Types extends TSchema[], Result extends string = never> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromUnion<Template, Right, Result | TFromType<'', Left>> : `${Template}${Result}`);
15
+ type TFromType<Template extends string, Type extends TSchema, Result extends string = (Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Template, Types> : Type extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Template, Value> : Type extends TBigInt ? TFromBigInt<Template> : Type extends TString ? TFromString<Template> : Type extends TNumber ? TFromNumber<Template> : Type extends TInteger ? TFromInteger<Template> : never)> = Result;
16
+ type TFromSpan<Template extends string, Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromSpan<TFromType<Template, Left>, Right> : Template);
17
+ export type TTemplateLiteralStatic<Pattern extends string, Types extends TSchema[] = TParsePatternIntoTypes<Pattern>> = TFromSpan<'', Types>;
18
+ export {};
@@ -0,0 +1,16 @@
1
+ import { type TArray } from '../../types/array.mjs';
2
+ import { type TConstructor } from '../../types/constructor.mjs';
3
+ import { type TFunction } from '../../types/function.mjs';
4
+ import { type TIntersect } from '../../types/intersect.mjs';
5
+ import { type TObject } from '../../types/object.mjs';
6
+ import { type TProperties } from '../../types/properties.mjs';
7
+ import { type TSchema } from '../../types/schema.mjs';
8
+ import { type TTuple } from '../../types/tuple.mjs';
9
+ import { type TThis } from '../../types/this.mjs';
10
+ import { type TUnion } from '../../types/union.mjs';
11
+ type TFromTypes<Properties extends TProperties, Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromTypes<Properties, Right, [...Result, TFromType<Properties, Left>]> : Result);
12
+ export type TFromType<Properties extends TProperties, Type extends TSchema> = (Type extends TArray<infer Type extends TSchema> ? TArray<TFromType<Properties, Type>> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TConstructor<TFromTypes<Properties, Parameters>, TFromType<Properties, InstanceType>> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFunction<TFromTypes<Properties, Parameters>, TFromType<Properties, ReturnType>> : Type extends TTuple<infer Types extends TSchema[]> ? TTuple<TFromTypes<Properties, Types>> : Type extends TUnion<infer Types extends TSchema[]> ? TUnion<TFromTypes<Properties, Types>> : Type extends TIntersect<infer Types extends TSchema[]> ? TIntersect<TFromTypes<Properties, Types>> : Type extends TThis ? TObject<Properties> : Type);
13
+ export declare function FromType<Properties extends TProperties, Type extends TSchema>(properties: Properties, type: Type): TFromType<Properties, Type>;
14
+ export type TExpandThis<Properties extends TProperties, Type extends TSchema, Result extends TSchema = TFromType<Properties, Type>> = Result;
15
+ export declare function ExpandThis<Properties extends TProperties, Type extends TSchema>(properties: TProperties, type: Type): TExpandThis<Properties, Type>;
16
+ export {};
@@ -0,0 +1,12 @@
1
+ import { type TSchema } from '../../types/schema.mjs';
2
+ import { type TObject } from '../../types/object.mjs';
3
+ import { type TProperties } from '../../types/properties.mjs';
4
+ import { type TTuple } from '../../types/tuple.mjs';
5
+ export type TTupleElementsToProperties<Types extends TSchema[], Result extends TProperties = {}> = (Types extends [...infer Left extends TSchema[], infer Right extends TSchema] ? TTupleElementsToProperties<Left, {
6
+ [_ in Left['length']]: Right;
7
+ } & Result> : {
8
+ [Key in keyof Result]: Result[Key];
9
+ });
10
+ export declare function TupleElementsToProperties<Types extends TSchema[]>(types: [...Types]): TTupleElementsToProperties<Types>;
11
+ export type TTupleToObject<Type extends TTuple, Properties extends TProperties = TTupleElementsToProperties<Type['items']>, Result extends TSchema = TObject<Properties>> = Result;
12
+ export declare function TupleToObject<Type extends TTuple>(type: Type): TTupleToObject<Type>;
@@ -0,0 +1 @@
1
+ export * from './instantiate.mjs';
@@ -0,0 +1,8 @@
1
+ import { type TProperties } from '../../types/properties.mjs';
2
+ import { type TSchema } from '../../types/schema.mjs';
3
+ import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
4
+ import { type TWithDeferred, type TWith } from '../../action/with.mjs';
5
+ export type TWithAction<Type extends TSchema, Options extends TSchema, Result extends TSchema = TCanInstantiate<[Type]> extends true ? TWith<Type, Options> : TWithDeferred<Type, Options>> = Result;
6
+ export declare function WithAction<Type extends TSchema, Options extends TSchema>(type: Type, options: Options): TWithAction<Type, Options>;
7
+ export type TWithInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Options extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TWithAction<InstantiatedType, Options>;
8
+ export declare function WithInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Options extends TSchema>(context: Context, state: State, type: Type, options: Options): TWithInstantiate<Context, State, Type, Options>;
@@ -0,0 +1,9 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TInfer } from '../types/infer.mjs';
4
+ import { type TAny } from '../types/any.mjs';
5
+ import { type TUnknown } from '../types/unknown.mjs';
6
+ import { type TExtendsRight } from './extends_right.mjs';
7
+ import * as Result from './result.mjs';
8
+ export type TExtendsAny<Inferred extends TProperties, Left extends TAny, Right extends TSchema> = (Right extends TInfer ? TExtendsRight<Inferred, Left, Right> : Right extends TAny ? Result.TExtendsTrue<Inferred> : Right extends TUnknown ? Result.TExtendsTrue<Inferred> : Result.TExtendsUnion<Inferred>);
9
+ export declare function ExtendsAny<Inferred extends TProperties, Left extends TAny, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsAny<Inferred, Left, Right>;
@@ -0,0 +1,20 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TArray } from '../types/array.mjs';
4
+ import { type TImmutable } from '../types/_immutable.mjs';
5
+ import { type TExtendsRight } from './extends_right.mjs';
6
+ import { type TExtendsLeft } from './extends_left.mjs';
7
+ import * as Result from './result.mjs';
8
+ type TExtendsImmutable<Left extends TSchema, Right extends TSchema, IsImmutableLeft extends boolean = Left extends TImmutable ? true : false, IsImmutableRight extends boolean = Right extends TImmutable ? true : false, Result extends boolean = [
9
+ IsImmutableLeft,
10
+ IsImmutableRight
11
+ ] extends [true, true] ? true : [
12
+ IsImmutableLeft,
13
+ IsImmutableRight
14
+ ] extends [false, true] ? true : [
15
+ IsImmutableLeft,
16
+ IsImmutableRight
17
+ ] extends [true, false] ? false : true> = Result;
18
+ export type TExtendsArray<Inferred extends TProperties, ArrayLeft extends TSchema, Left extends TSchema, Right extends TSchema> = (Right extends TArray<infer Type extends TSchema> ? TExtendsImmutable<ArrayLeft, Right> extends true ? TExtendsLeft<Inferred, Left, Type> : Result.TExtendsFalse : TExtendsRight<Inferred, ArrayLeft, Right>);
19
+ export declare function ExtendsArray<Inferred extends TProperties, ArrayLeft extends TSchema, Left extends TSchema, Right extends TSchema>(inferred: Inferred, arrayLeft: ArrayLeft, left: Left, right: Right): TExtendsArray<Inferred, ArrayLeft, Left, Right>;
20
+ export {};
@@ -0,0 +1,7 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TBigInt } from '../types/bigint.mjs';
4
+ import { type TExtendsRight } from './extends_right.mjs';
5
+ import * as Result from './result.mjs';
6
+ export type TExtendsBigInt<Inferred extends TProperties, Left extends TBigInt, Right extends TSchema> = (Right extends TBigInt ? Result.TExtendsTrue<Inferred> : TExtendsRight<Inferred, Left, Right>);
7
+ export declare function ExtendsBigInt<Inferred extends TProperties, Left extends TBigInt, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsBigInt<Inferred, Left, Right>;
@@ -0,0 +1,7 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TBoolean } from '../types/boolean.mjs';
4
+ import { type TExtendsRight } from './extends_right.mjs';
5
+ import * as Result from './result.mjs';
6
+ export type TExtendsBoolean<Inferred extends TProperties, Left extends TBoolean, Right extends TSchema> = (Right extends TBoolean ? Result.TExtendsTrue<Inferred> : TExtendsRight<Inferred, Left, Right>);
7
+ export declare function ExtendsBoolean<Inferred extends TProperties, Left extends TBoolean, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsBoolean<Inferred, Left, Right>;
@@ -0,0 +1,10 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TAny } from '../types/any.mjs';
4
+ import { type TConstructor } from '../types/constructor.mjs';
5
+ import { type TUnknown } from '../types/unknown.mjs';
6
+ import * as Result from './result.mjs';
7
+ import { type TExtendsParameters } from './parameters.mjs';
8
+ import { type TExtendsReturnType } from './return_type.mjs';
9
+ export type TExtendsConstructor<Inferred extends TProperties, Parameters extends TSchema[], InstanceType extends TSchema, Right extends TSchema> = (Right extends TAny ? Result.TExtendsTrue<Inferred> : Right extends TUnknown ? Result.TExtendsTrue<Inferred> : Right extends TConstructor ? TExtendsParameters<Inferred, Parameters, Right['parameters']> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? TExtendsReturnType<Inferred, InstanceType, Right['instanceType']> : Result.TExtendsFalse : Result.TExtendsFalse);
10
+ export declare function ExtendsConstructor<Inferred extends TProperties, Parameters extends TSchema[], InstanceType extends TSchema, Right extends TSchema>(inferred: Inferred, parameters: [...Parameters], returnType: InstanceType, right: Right): TExtendsConstructor<Inferred, Parameters, InstanceType, Right>;
@@ -0,0 +1,6 @@
1
+ import { type TProperties } from '../types/properties.mjs';
2
+ import { type TSchema } from '../types/schema.mjs';
3
+ import { type TExtendsLeft } from './extends_left.mjs';
4
+ import * as Result from './result.mjs';
5
+ export type TExtendsDependent<Inferred extends TProperties, If extends TSchema, Then extends TSchema, Else extends TSchema, Right extends TSchema> = (TExtendsLeft<Inferred, If, Right> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? TExtendsLeft<Inferred, Then, Right> : TExtendsLeft<Inferred, Else, Right>);
6
+ export declare function ExtendsDependent<Inferred extends TProperties, If extends TSchema, Then extends TSchema, Else extends TSchema, Right extends TSchema>(inferred: Inferred, if_: If, then_: Then, else_: Else, right: Right): TExtendsDependent<Inferred, If, Then, Else, Right>;
@@ -0,0 +1,7 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TEnumValue } from '../types/enum.mjs';
4
+ import { type TExtendsLeft } from './extends_left.mjs';
5
+ import { type TEvaluateEnum } from '../engine/evaluate/evaluate.mjs';
6
+ export type TExtendsEnum<Inferred extends TProperties, Left extends TEnumValue[], Right extends TSchema, Evaluated extends TSchema = TEvaluateEnum<Left>> = TExtendsLeft<Inferred, Evaluated, Right>;
7
+ export declare function ExtendsEnum<Inferred extends TProperties, Left extends TEnumValue[], Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsEnum<Inferred, Left, Right>;
@@ -0,0 +1,13 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TCyclic } from '../types/cyclic.mjs';
4
+ import { type TUnknown } from '../types/unknown.mjs';
5
+ import { type TUnsafe } from '../types/unsafe.mjs';
6
+ import { type TExtendsLeft } from './extends_left.mjs';
7
+ import { type TCyclicExtends } from '../engine/cyclic/index.mjs';
8
+ type TCanonical<Type extends TSchema> = (Type extends TCyclic ? TCyclicExtends<Type> : Type extends TUnsafe ? TUnknown : Type);
9
+ /** Performs a structural extends check on left and right types and yields inferred types on right if specified. */
10
+ export type TExtends<Inferred extends TProperties, Left extends TSchema, Right extends TSchema, CanonicalLeft extends TSchema = TCanonical<Left>, CanonicalRight extends TSchema = TCanonical<Right>> = TExtendsLeft<Inferred, CanonicalLeft, CanonicalRight>;
11
+ /** Performs a structural extends check on left and right types and yields inferred types on right if specified. */
12
+ export declare function Extends<Inferred extends TProperties, Left extends TSchema, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtends<Inferred, Left, Right>;
13
+ export {};
@@ -0,0 +1,53 @@
1
+ import { type TExtendsAny } from './any.mjs';
2
+ import { type TExtendsArray } from './array.mjs';
3
+ import { type TExtendsBigInt } from './bigint.mjs';
4
+ import { type TExtendsBoolean } from './boolean.mjs';
5
+ import { type TExtendsConstructor } from './constructor.mjs';
6
+ import { type TExtendsDependent } from './dependent.mjs';
7
+ import { type TExtendsEnum } from './enum.mjs';
8
+ import { type TExtendsFunction } from './function.mjs';
9
+ import { type TExtendsInteger } from './integer.mjs';
10
+ import { type TExtendsIntersect } from './intersect.mjs';
11
+ import { type TExtendsLiteral } from './literal.mjs';
12
+ import { type TExtendsNever } from './never.mjs';
13
+ import { type TExtendsNull } from './null.mjs';
14
+ import { type TExtendsNumber } from './number.mjs';
15
+ import { type TExtendsObject } from './object.mjs';
16
+ import { type TExtendsRecord } from './record.mjs';
17
+ import { type TExtendsString } from './string.mjs';
18
+ import { type TExtendsSymbol } from './symbol.mjs';
19
+ import { type TExtendsTemplateLiteral } from './template_literal.mjs';
20
+ import { type TExtendsTuple } from './tuple.mjs';
21
+ import { type TExtendsUndefined } from './undefined.mjs';
22
+ import { type TExtendsUnion } from './union.mjs';
23
+ import { type TExtendsUnknown } from './unknown.mjs';
24
+ import { type TExtendsVoid } from './void.mjs';
25
+ import { type TAny } from '../types/any.mjs';
26
+ import { type TArray } from '../types/array.mjs';
27
+ import { type TBigInt } from '../types/bigint.mjs';
28
+ import { type TBoolean } from '../types/boolean.mjs';
29
+ import { type TConstructor } from '../types/constructor.mjs';
30
+ import { type TDependent } from '../types/dependent.mjs';
31
+ import { type TEnum, type TEnumValue } from '../types/enum.mjs';
32
+ import { type TFunction } from '../types/function.mjs';
33
+ import { type TInteger } from '../types/integer.mjs';
34
+ import { type TIntersect } from '../types/intersect.mjs';
35
+ import { type TLiteral } from '../types/literal.mjs';
36
+ import { type TNever } from '../types/never.mjs';
37
+ import { type TNull } from '../types/null.mjs';
38
+ import { type TNumber } from '../types/number.mjs';
39
+ import { type TObject } from '../types/object.mjs';
40
+ import { type TRecord } from '../types/record.mjs';
41
+ import { type TSchema } from '../types/schema.mjs';
42
+ import { type TString } from '../types/string.mjs';
43
+ import { type TSymbol } from '../types/symbol.mjs';
44
+ import { type TTemplateLiteral } from '../types/template_literal.mjs';
45
+ import { type TTuple } from '../types/tuple.mjs';
46
+ import { type TUndefined } from '../types/undefined.mjs';
47
+ import { type TUnknown } from '../types/unknown.mjs';
48
+ import { type TProperties } from '../types/properties.mjs';
49
+ import { type TUnion } from '../types/union.mjs';
50
+ import { type TVoid } from '../types/void.mjs';
51
+ import * as Result from './result.mjs';
52
+ export type TExtendsLeft<Inferred extends TProperties, Left extends TSchema, Right extends TSchema> = (Left extends TAny ? TExtendsAny<Inferred, Left, Right> : Left extends TArray<infer Items extends TSchema> ? TExtendsArray<Inferred, Left, Items, Right> : Left extends TBigInt ? TExtendsBigInt<Inferred, Left, Right> : Left extends TBoolean ? TExtendsBoolean<Inferred, Left, Right> : Left extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TExtendsConstructor<Inferred, Parameters, InstanceType, Right> : Left extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TExtendsDependent<Inferred, If, Then, Else, Right> : Left extends TEnum<infer Values extends TEnumValue[]> ? TExtendsEnum<Inferred, Values, Right> : Left extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TExtendsFunction<Inferred, Parameters, ReturnType, Right> : Left extends TInteger ? TExtendsInteger<Inferred, Left, Right> : Left extends TIntersect<infer Types extends TSchema[]> ? TExtendsIntersect<Inferred, Types, Right> : Left extends TLiteral ? TExtendsLiteral<Inferred, Left, Right> : Left extends TNever ? TExtendsNever<Inferred, Left, Right> : Left extends TNull ? TExtendsNull<Inferred, Left, Right> : Left extends TNumber ? TExtendsNumber<Inferred, Left, Right> : Left extends TObject<infer Properties extends TProperties> ? TExtendsObject<Inferred, Properties, Right> : Left extends TRecord<infer Pattern extends string, infer Value extends TSchema> ? TExtendsRecord<Inferred, Pattern, Value, Right> : Left extends TString ? TExtendsString<Inferred, Left, Right> : Left extends TSymbol ? TExtendsSymbol<Inferred, Left, Right> : Left extends TTemplateLiteral<infer Pattern extends string> ? TExtendsTemplateLiteral<Inferred, Pattern, Right> : Left extends TTuple<infer Types extends TSchema[]> ? TExtendsTuple<Inferred, Types, Right> : Left extends TUndefined ? TExtendsUndefined<Inferred, Left, Right> : Left extends TUnion<infer Types extends TSchema[]> ? TExtendsUnion<Inferred, Types, Right> : Left extends TUnknown ? TExtendsUnknown<Inferred, Left, Right> : Left extends TVoid ? TExtendsVoid<Inferred, Left, Right> : Result.TExtendsFalse);
53
+ export declare function ExtendsLeft<Inferred extends TProperties, Left extends TSchema, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsLeft<Inferred, Left, Right>;
@@ -0,0 +1,27 @@
1
+ import { Memory } from '../../system/memory/index.mjs';
2
+ import { type TSchema } from '../types/schema.mjs';
3
+ import { type TProperties } from '../types/properties.mjs';
4
+ import { type TAny } from '../types/any.mjs';
5
+ import { type TDependent } from '../types/dependent.mjs';
6
+ import { type TEnum, type TEnumValue } from '../types/enum.mjs';
7
+ import { type TInfer } from '../types/infer.mjs';
8
+ import { type TIntersect } from '../types/intersect.mjs';
9
+ import { type TTemplateLiteral } from '../types/template_literal.mjs';
10
+ import { type TUnion } from '../types/union.mjs';
11
+ import { type TUnknown } from '../types/unknown.mjs';
12
+ import { type TExtendsLeft } from './extends_left.mjs';
13
+ import * as Result from './result.mjs';
14
+ import { type TEvaluateEnum } from '../engine/evaluate/evaluate.mjs';
15
+ import { type TEvaluateTemplateLiteral } from '../engine/evaluate/evaluate.mjs';
16
+ type TExtendsRightInfer<Inferred extends TProperties, Name extends string, Left extends TSchema, Right extends TSchema, Result extends Result.TResult = (TExtendsLeft<Inferred, Left, Right> extends Result.TExtendsTrueLike<infer CheckInferred extends TProperties> ? Result.TExtendsTrue<Memory.TAssign<Memory.TAssign<Inferred, CheckInferred>, {
17
+ [_ in Name]: Left;
18
+ }>> : Result.TExtendsFalse)> = Result;
19
+ type TExtendsRightAny<Inferred extends TProperties, _Left extends TSchema, Result extends Result.TResult = Result.TExtendsTrue<Inferred>> = Result;
20
+ type TExtendsRightDependent<Inferred extends TProperties, Left extends TSchema, If extends TSchema, Then extends TSchema, Else extends TSchema, Result extends Result.TResult = TExtendsLeft<Inferred, Left, If> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? (TExtendsLeft<Inferred, Left, Then> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? Result.TExtendsTrue<Inferred> : Result.TExtendsFalse) : (TExtendsLeft<Inferred, Left, Else> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? Result.TExtendsTrue<Inferred> : Result.TExtendsFalse)> = Result;
21
+ type TExtendsRightEnum<Inferred extends TProperties, Left extends TSchema, Right extends TEnumValue[], Evaluated extends TSchema = TEvaluateEnum<Right>> = TExtendsLeft<Inferred, Left, Evaluated>;
22
+ type TExtendsRightIntersect<Inferred extends TProperties, Left extends TSchema, Right extends TSchema[]> = (Right extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExtendsLeft<Inferred, Left, Head> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? TExtendsRightIntersect<Inferred, Left, Tail> : Result.TExtendsFalse : Result.TExtendsTrue<Inferred>);
23
+ type TExtendsRightTemplateLiteral<Inferred extends TProperties, Left extends TSchema, Right extends string, Evaluated extends TSchema = TEvaluateTemplateLiteral<Right>> = TExtendsLeft<Inferred, Left, Evaluated>;
24
+ type TExtendsRightUnion<Inferred extends TProperties, Left extends TSchema, Right extends TSchema[]> = (Right extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExtendsLeft<Inferred, Left, Head> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? Result.TExtendsTrue<Inferred> : TExtendsRightUnion<Inferred, Left, Tail> : Result.TExtendsFalse);
25
+ export type TExtendsRight<Inferred extends TProperties, Left extends TSchema, Right extends TSchema> = (Right extends TAny ? TExtendsRightAny<Inferred, Left> : Right extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TExtendsRightDependent<Inferred, Left, If, Then, Else> : Right extends TEnum<infer Values extends TEnumValue[]> ? TExtendsRightEnum<Inferred, Left, Values> : Right extends TInfer<infer Name extends string, infer Type extends TSchema> ? TExtendsRightInfer<Inferred, Name, Left, Type> : Right extends TTemplateLiteral<infer Pattern extends string> ? TExtendsRightTemplateLiteral<Inferred, Left, Pattern> : Right extends TIntersect<infer Types extends TSchema[]> ? TExtendsRightIntersect<Inferred, Left, Types> : Right extends TUnion<infer Types extends TSchema[]> ? TExtendsRightUnion<Inferred, Left, Types> : Right extends TUnknown ? Result.TExtendsTrue<Inferred> : Result.TExtendsFalse);
26
+ export declare function ExtendsRight<Inferred extends TProperties, Left extends TSchema, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsRight<Inferred, Left, Right>;
27
+ export {};
@@ -0,0 +1,10 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TAny } from '../types/any.mjs';
4
+ import { type TFunction } from '../types/function.mjs';
5
+ import { type TUnknown } from '../types/unknown.mjs';
6
+ import * as Result from './result.mjs';
7
+ import { type TExtendsParameters } from './parameters.mjs';
8
+ import { type TExtendsReturnType } from './return_type.mjs';
9
+ export type TExtendsFunction<Inferred extends TProperties, Parameters extends TSchema[], ReturnType extends TSchema, Right extends TSchema> = (Right extends TAny ? Result.TExtendsTrue<Inferred> : Right extends TUnknown ? Result.TExtendsTrue<Inferred> : Right extends TFunction ? TExtendsParameters<Inferred, Parameters, Right['parameters']> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? TExtendsReturnType<Inferred, ReturnType, Right['returnType']> : Result.TExtendsFalse : Result.TExtendsFalse);
10
+ export declare function ExtendsFunction<Inferred extends TProperties, Parameters extends TSchema[], ReturnType extends TSchema, Right extends TSchema>(inferred: Inferred, parameters: [...Parameters], returnType: ReturnType, right: Right): TExtendsFunction<Inferred, Parameters, ReturnType, Right>;
@@ -0,0 +1,2 @@
1
+ export { Extends, type TExtends } from './extends.mjs';
2
+ export * as ExtendsResult from './result.mjs';
@@ -0,0 +1,34 @@
1
+ import { type TUnreachable } from '../../system/unreachable/index.mjs';
2
+ import { Memory } from '../../system/memory/index.mjs';
3
+ import { type TSchema } from '../types/schema.mjs';
4
+ import { type TArray } from '../types/array.mjs';
5
+ import { type TUnknown } from '../types/unknown.mjs';
6
+ import { type TProperties } from '../types/properties.mjs';
7
+ import { type TTuple } from '../types/tuple.mjs';
8
+ import { type TExtendsLeft } from './extends_left.mjs';
9
+ import { type TUnion } from '../types/union.mjs';
10
+ import { type TInfer } from '../types/infer.mjs';
11
+ import { type TRest } from '../types/rest.mjs';
12
+ import * as Result from './result.mjs';
13
+ export interface TInferable<Name extends string = string, Type extends TSchema = TSchema> {
14
+ '~kind': 'Inferrable';
15
+ name: Name;
16
+ type: Type;
17
+ }
18
+ export declare function Inferrable<Name extends string, Type extends TSchema = TSchema>(name: Name, type: Type): never;
19
+ export declare function IsInferable(value: unknown): value is TInferable;
20
+ export type TTryRestInferable<Type extends TSchema, Result extends TInferable | undefined = (Type extends TRest<infer RestType extends TSchema> ? RestType extends TInfer<infer Name extends string, infer Type extends TSchema> ? Type extends TArray<infer Type extends TSchema> ? TInferable<Name, Type> : Type extends TUnknown ? TInferable<Name, Type> : undefined : TUnreachable : undefined)> = Result;
21
+ export declare function TryRestInferable<Type extends TSchema>(type: Type): TTryRestInferable<Type>;
22
+ export type TTryInferable<Type extends TSchema, Result extends TInferable | undefined = (Type extends TInfer<infer Name extends string, infer Type extends TSchema> ? TInferable<Name, Type> : undefined)> = Result;
23
+ export declare function TryInferable<Type extends TSchema>(type: Type): TTryInferable<Type>;
24
+ type TryInferResults<Rest extends TSchema[], Right extends TSchema, Result extends TSchema[] = []> = (Rest extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExtendsLeft<{}, Head, Right> extends Result.TExtendsTrueLike ? TryInferResults<Tail, Right, [...Result, Head]> : undefined : Result);
25
+ declare function TryInferResults<Rest extends TSchema[], Right extends TSchema>(rest: [...Rest], right: Right, result?: TSchema[]): TryInferResults<Rest, Right>;
26
+ export type TInferTupleResult<Inferred extends TProperties, Name extends string, Left extends TSchema[], Right extends TSchema, Results extends TSchema[] | undefined = TryInferResults<Left, Right>> = (Results extends [...infer Results extends TSchema[]] ? Result.TExtendsTrue<Memory.TAssign<Inferred, {
27
+ [_ in Name]: TTuple<Results>;
28
+ }>> : Result.TExtendsFalse);
29
+ export declare function InferTupleResult<Inferred extends TProperties, Name extends string, Left extends TSchema[], Right extends TSchema>(inferred: Inferred, name: Name, left: Left, right: Right): TInferTupleResult<Inferred, Name, Left, Right>;
30
+ export type TInferUnionResult<Inferred extends TProperties, Name extends string, Left extends TSchema[], Right extends TSchema, Results extends TSchema[] | undefined = TryInferResults<Left, Right>> = (Results extends [...infer Results extends TSchema[]] ? Result.TExtendsTrue<Memory.TAssign<Inferred, {
31
+ [_ in Name]: TUnion<Results>;
32
+ }>> : Result.TExtendsFalse);
33
+ export declare function InferUnionResult<Inferred extends TProperties, Name extends string, Left extends TSchema[], Right extends TSchema>(inferred: Inferred, name: Name, left: Left, right: Right): TInferUnionResult<Inferred, Name, Left, Right>;
34
+ export {};
@@ -0,0 +1,8 @@
1
+ import { type TSchema } from '../types/schema.mjs';
2
+ import { type TProperties } from '../types/properties.mjs';
3
+ import { type TInteger } from '../types/integer.mjs';
4
+ import { type TNumber } from '../types/number.mjs';
5
+ import { type TExtendsRight } from './extends_right.mjs';
6
+ import * as Result from './result.mjs';
7
+ export type TExtendsInteger<Inferred extends TProperties, Left extends TInteger, Right extends TSchema> = (Right extends TInteger ? Result.TExtendsTrue<Inferred> : Right extends TNumber ? Result.TExtendsTrue<Inferred> : TExtendsRight<Inferred, Left, Right>);
8
+ export declare function ExtendsInteger<Inferred extends TProperties, Left extends TInteger, Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsInteger<Inferred, Left, Right>;
@@ -0,0 +1,6 @@
1
+ import { type TProperties } from '../types/properties.mjs';
2
+ import { type TSchema } from '../types/schema.mjs';
3
+ import { type TExtendsLeft } from './extends_left.mjs';
4
+ import { type TEvaluateIntersect } from '../engine/evaluate/index.mjs';
5
+ export type TExtendsIntersect<Inferred extends TProperties, Left extends TSchema[], Right extends TSchema, Evaluated extends TSchema = TEvaluateIntersect<Left>> = TExtendsLeft<Inferred, Evaluated, Right>;
6
+ export declare function ExtendsIntersect<Inferred extends TProperties, Left extends TSchema[], Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsIntersect<Inferred, Left, Right>;
@@ -0,0 +1,18 @@
1
+ import { type TUnreachable } from '../../system/unreachable/unreachable.mjs';
2
+ import { type TSchema } from '../types/schema.mjs';
3
+ import { type TProperties } from '../types/properties.mjs';
4
+ import { type TLiteral, type TLiteralValue } from '../types/literal.mjs';
5
+ import { type TBigInt } from '../types/bigint.mjs';
6
+ import { type TBoolean } from '../types/boolean.mjs';
7
+ import { type TNumber } from '../types/number.mjs';
8
+ import { type TString } from '../types/string.mjs';
9
+ import { type TExtendsRight } from './extends_right.mjs';
10
+ import * as Result from './result.mjs';
11
+ type TExtendsLiteralValue<Inferred extends TProperties, Left extends TLiteralValue, Right extends TLiteralValue> = (Left extends Right ? Result.TExtendsTrue<Inferred> : Result.TExtendsFalse);
12
+ type TExtendsLiteralBigInt<Inferred extends TProperties, Left extends bigint, Right extends TSchema> = (Right extends TLiteral<infer Value extends bigint> ? TExtendsLiteralValue<Inferred, Left, Value> : Right extends TBigInt ? Result.TExtendsTrue<Inferred> : TExtendsRight<Inferred, TLiteral<Left>, Right>);
13
+ type TExtendsLiteralBoolean<Inferred extends TProperties, Left extends boolean, Right extends TSchema> = (Right extends TLiteral<infer Value extends boolean> ? TExtendsLiteralValue<Inferred, Left, Value> : Right extends TBoolean ? Result.TExtendsTrue<Inferred> : TExtendsRight<Inferred, TLiteral<Left>, Right>);
14
+ type TExtendsLiteralNumber<Inferred extends TProperties, Left extends number, Right extends TSchema> = (Right extends TLiteral<infer Value extends number> ? TExtendsLiteralValue<Inferred, Left, Value> : Right extends TNumber ? Result.TExtendsTrue<Inferred> : TExtendsRight<Inferred, TLiteral<Left>, Right>);
15
+ type TExtendsLiteralString<Inferred extends TProperties, Left extends string, Right extends TSchema> = (Right extends TLiteral<infer Value extends string> ? TExtendsLiteralValue<Inferred, Left, Value> : Right extends TString ? Result.TExtendsTrue<Inferred> : TExtendsRight<Inferred, TLiteral<Left>, Right>);
16
+ export type TExtendsLiteral<Inferred extends TProperties, Left extends TLiteral, Right extends TSchema> = (Left extends TLiteral<infer Value extends bigint> ? TExtendsLiteralBigInt<Inferred, Value, Right> : Left extends TLiteral<infer Value extends boolean> ? TExtendsLiteralBoolean<Inferred, Value, Right> : Left extends TLiteral<infer Value extends number> ? TExtendsLiteralNumber<Inferred, Value, Right> : Left extends TLiteral<infer Value extends string> ? TExtendsLiteralString<Inferred, Value, Right> : TUnreachable);
17
+ export declare function ExtendsLiteral<Inferred extends TProperties, Left extends TLiteral, Right extends TSchema>(inferred: TProperties, left: Left, right: Right): TExtendsLiteral<Inferred, Left, Right>;
18
+ export {};