functionalscript 0.43.0 → 0.44.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 (1096) hide show
  1. package/README.md +53 -21
  2. package/fjs/asn.1/module.f.d.mts +123 -0
  3. package/fjs/asn.1/module.f.mjs +459 -0
  4. package/fjs/asn.1/proof.f.mjs +309 -0
  5. package/fjs/asn.1/types.d.ts +37 -0
  6. package/fjs/asn.1/types.js +6 -0
  7. package/fjs/asserts/module.f.d.mts +37 -0
  8. package/fjs/asserts/module.f.mjs +49 -0
  9. package/fjs/asserts/proof.f.mjs +19 -0
  10. package/fjs/asserts/types.d.ts +11 -0
  11. package/fjs/asserts/types.js +6 -0
  12. package/fjs/basen/base128/module.f.d.mts +22 -0
  13. package/fjs/basen/base128/module.f.mjs +51 -0
  14. package/fjs/basen/base128/proof.f.d.mts +2 -0
  15. package/fjs/basen/base128/proof.f.mjs +30 -0
  16. package/fjs/basen/base64/module.f.d.mts +14 -0
  17. package/fjs/basen/base64/module.f.mjs +71 -0
  18. package/fjs/basen/base64/proof.f.d.mts +17 -0
  19. package/fjs/basen/base64/proof.f.mjs +147 -0
  20. package/fjs/basen/cbase32/module.f.d.mts +18 -0
  21. package/fjs/basen/cbase32/module.f.mjs +61 -0
  22. package/fjs/basen/cbase32/proof.f.d.mts +8 -0
  23. package/fjs/basen/cbase32/proof.f.mjs +77 -0
  24. package/fjs/basen/module.f.d.mts +30 -0
  25. package/fjs/basen/module.f.mjs +88 -0
  26. package/fjs/basen/proof.f.mjs +69 -0
  27. package/fjs/basen/types.d.ts +14 -0
  28. package/fjs/basen/types.js +6 -0
  29. package/fjs/bnf/data/module.f.d.mts +47 -0
  30. package/fjs/bnf/data/module.f.mjs +188 -0
  31. package/fjs/bnf/data/proof.f.d.mts +13 -0
  32. package/fjs/bnf/data/proof.f.mjs +160 -0
  33. package/fjs/bnf/data/types.d.ts +35 -0
  34. package/fjs/bnf/data/types.js +6 -0
  35. package/fjs/bnf/descent/module.f.d.mts +33 -0
  36. package/fjs/bnf/descent/module.f.mjs +212 -0
  37. package/fjs/bnf/descent/proof.f.d.mts +13 -0
  38. package/fjs/bnf/descent/proof.f.mjs +351 -0
  39. package/fjs/bnf/descent/types.d.ts +71 -0
  40. package/fjs/bnf/descent/types.js +6 -0
  41. package/fjs/bnf/ll1/module.f.d.mts +41 -0
  42. package/fjs/bnf/ll1/module.f.mjs +199 -0
  43. package/fjs/bnf/ll1/proof.f.d.mts +16 -0
  44. package/fjs/bnf/ll1/proof.f.mjs +352 -0
  45. package/fjs/bnf/ll1/types.d.ts +59 -0
  46. package/fjs/bnf/ll1/types.js +6 -0
  47. package/fjs/bnf/module.f.d.mts +164 -0
  48. package/fjs/bnf/module.f.mjs +298 -0
  49. package/fjs/bnf/proof.f.d.mts +17 -0
  50. package/fjs/bnf/proof.f.mjs +89 -0
  51. package/fjs/bnf/testlib.f.d.mts +10 -0
  52. package/fjs/bnf/testlib.f.mjs +196 -0
  53. package/fjs/bnf/token_symbol/module.f.d.mts +35 -0
  54. package/fjs/bnf/token_symbol/module.f.mjs +62 -0
  55. package/fjs/bnf/token_symbol/proof.f.mjs +43 -0
  56. package/fjs/bnf/token_symbol/types.d.ts +27 -0
  57. package/fjs/bnf/token_symbol/types.js +6 -0
  58. package/fjs/bnf/types.d.ts +67 -0
  59. package/fjs/bnf/types.js +6 -0
  60. package/fjs/cas/cli/module.f.d.mts +17 -0
  61. package/fjs/cas/cli/module.f.mjs +73 -0
  62. package/fjs/cas/cli/proof.f.d.mts +18 -0
  63. package/fjs/cas/cli/proof.f.mjs +118 -0
  64. package/fjs/cas/evo/module.f.d.mts +163 -0
  65. package/fjs/cas/evo/module.f.mjs +556 -0
  66. package/fjs/cas/evo/proof.f.d.mts +55 -0
  67. package/fjs/cas/evo/proof.f.mjs +749 -0
  68. package/fjs/cas/evo/types.d.ts +111 -0
  69. package/fjs/cas/evo/types.js +7 -0
  70. package/fjs/cas/module.f.d.mts +68 -0
  71. package/fjs/cas/module.f.mjs +363 -0
  72. package/fjs/cas/proof.f.d.mts +29 -0
  73. package/fjs/cas/proof.f.mjs +371 -0
  74. package/fjs/cas/types.d.ts +35 -0
  75. package/fjs/cas/types.js +6 -0
  76. package/fjs/ci/bun/module.f.d.mts +11 -0
  77. package/fjs/ci/bun/module.f.mjs +20 -0
  78. package/fjs/ci/common/module.f.d.mts +80 -0
  79. package/fjs/ci/common/module.f.mjs +87 -0
  80. package/fjs/ci/common/types.d.ts +27 -0
  81. package/fjs/ci/config/module.f.d.mts +45 -0
  82. package/fjs/ci/config/module.f.mjs +89 -0
  83. package/fjs/ci/deno/module.f.d.mts +16 -0
  84. package/fjs/ci/deno/module.f.mjs +29 -0
  85. package/fjs/ci/deno/proof.f.d.mts +4 -0
  86. package/fjs/ci/deno/proof.f.mjs +26 -0
  87. package/fjs/ci/module.f.d.mts +19 -0
  88. package/fjs/ci/module.f.mjs +89 -0
  89. package/fjs/ci/nix/module.f.d.mts +69 -0
  90. package/fjs/ci/nix/module.f.mjs +136 -0
  91. package/fjs/ci/nix/proof.f.d.mts +28 -0
  92. package/fjs/ci/nix/proof.f.mjs +146 -0
  93. package/fjs/ci/nix/types.d.ts +16 -0
  94. package/fjs/ci/nix/types.js +6 -0
  95. package/fjs/ci/node/module.f.d.mts +48 -0
  96. package/fjs/ci/node/module.f.mjs +139 -0
  97. package/fjs/ci/node/proof.f.mjs +18 -0
  98. package/fjs/ci/proof.f.d.mts +20 -0
  99. package/fjs/ci/proof.f.mjs +219 -0
  100. package/fjs/ci/rust/module.f.d.mts +15 -0
  101. package/fjs/ci/rust/module.f.mjs +108 -0
  102. package/fjs/ci/types.d.ts +9 -0
  103. package/fjs/ci/types.js +6 -0
  104. package/fjs/cli/module.f.d.mts +16 -0
  105. package/fjs/cli/module.f.mjs +51 -0
  106. package/fjs/cli/proof.f.d.mts +16 -0
  107. package/fjs/cli/proof.f.mjs +130 -0
  108. package/fjs/cli/types.d.ts +15 -0
  109. package/fjs/cli/types.js +6 -0
  110. package/fjs/common/monoid/module.f.d.mts +87 -0
  111. package/fjs/common/monoid/module.f.mjs +104 -0
  112. package/fjs/common/monoid/proof.f.d.mts +10 -0
  113. package/fjs/common/monoid/proof.f.mjs +58 -0
  114. package/fjs/common/monoid/types.d.ts +50 -0
  115. package/fjs/common/monoid/types.js +6 -0
  116. package/fjs/crypto/hmac/module.f.d.mts +32 -0
  117. package/fjs/crypto/hmac/module.f.mjs +65 -0
  118. package/fjs/crypto/hmac/proof.f.mjs +34 -0
  119. package/fjs/crypto/pow/module.f.d.mts +43 -0
  120. package/fjs/crypto/pow/module.f.mjs +93 -0
  121. package/fjs/crypto/pow/proof.f.mjs +121 -0
  122. package/fjs/crypto/pow/types.d.ts +19 -0
  123. package/fjs/crypto/pow/types.js +6 -0
  124. package/fjs/crypto/secp/module.f.d.mts +61 -0
  125. package/fjs/crypto/secp/module.f.mjs +204 -0
  126. package/fjs/crypto/secp/proof.f.d.mts +9 -0
  127. package/fjs/crypto/secp/proof.f.mjs +137 -0
  128. package/fjs/crypto/secp/types.d.ts +36 -0
  129. package/fjs/crypto/secp/types.js +6 -0
  130. package/fjs/crypto/sha2/module.f.d.mts +80 -0
  131. package/fjs/crypto/sha2/module.f.mjs +431 -0
  132. package/fjs/crypto/sha2/proof.f.d.mts +32 -0
  133. package/fjs/crypto/sha2/proof.f.mjs +144 -0
  134. package/fjs/crypto/sha2/types.d.ts +57 -0
  135. package/fjs/crypto/sha2/types.js +6 -0
  136. package/fjs/crypto/sign/module.f.d.mts +46 -0
  137. package/fjs/crypto/sign/module.f.mjs +189 -0
  138. package/fjs/crypto/sign/proof.f.d.mts +17 -0
  139. package/fjs/crypto/sign/proof.f.mjs +604 -0
  140. package/fjs/crypto/sign/types.d.ts +13 -0
  141. package/fjs/crypto/sign/types.js +6 -0
  142. package/fjs/crypto/vdf/module.f.d.mts +15 -0
  143. package/fjs/crypto/vdf/module.f.mjs +84 -0
  144. package/fjs/crypto/vdf/proof.f.mjs +106 -0
  145. package/fjs/crypto/vdf/types.d.ts +18 -0
  146. package/fjs/crypto/vdf/types.js +6 -0
  147. package/fjs/dev/module.f.d.mts +56 -0
  148. package/fjs/dev/module.f.mjs +170 -0
  149. package/fjs/dev/package_json/module.f.d.mts +32 -0
  150. package/fjs/dev/package_json/module.f.mjs +37 -0
  151. package/fjs/dev/package_json/proof.f.mjs +32 -0
  152. package/fjs/dev/proof.f.d.mts +13 -0
  153. package/fjs/dev/proof.f.mjs +78 -0
  154. package/fjs/dev/types.d.ts +14 -0
  155. package/fjs/dev/types.js +6 -0
  156. package/fjs/dev/update/module.f.d.mts +19 -0
  157. package/fjs/dev/update/module.f.mjs +36 -0
  158. package/fjs/dev/update/proof.f.d.mts +7 -0
  159. package/fjs/dev/update/proof.f.mjs +36 -0
  160. package/fjs/djs/ast/module.f.d.mts +35 -0
  161. package/fjs/djs/ast/module.f.mjs +82 -0
  162. package/fjs/djs/ast/proof.f.mjs +48 -0
  163. package/fjs/djs/ast/types.d.ts +54 -0
  164. package/fjs/djs/ast/types.js +8 -0
  165. package/fjs/djs/examples/input.f.mjs +4 -0
  166. package/fjs/djs/examples/m.f.mjs +1 -0
  167. package/fjs/djs/module.f.d.mts +17 -0
  168. package/fjs/djs/module.f.mjs +47 -0
  169. package/fjs/djs/parser/module.f.d.mts +75 -0
  170. package/fjs/djs/parser/module.f.mjs +547 -0
  171. package/fjs/djs/parser/proof.f.mjs +543 -0
  172. package/fjs/djs/parser/types.d.ts +11 -0
  173. package/fjs/djs/parser/types.js +7 -0
  174. package/fjs/djs/proof.f.mjs +52 -0
  175. package/fjs/djs/serializer/module.f.d.mts +30 -0
  176. package/fjs/djs/serializer/module.f.mjs +206 -0
  177. package/fjs/djs/serializer/proof.f.mjs +116 -0
  178. package/fjs/djs/tokenizer/module.f.d.mts +65 -0
  179. package/fjs/djs/tokenizer/module.f.mjs +624 -0
  180. package/fjs/djs/tokenizer/proof.f.mjs +980 -0
  181. package/fjs/djs/tokenizer/types.d.ts +20 -0
  182. package/fjs/djs/tokenizer/types.js +7 -0
  183. package/fjs/djs/transpiler/module.f.d.mts +44 -0
  184. package/fjs/djs/transpiler/module.f.mjs +141 -0
  185. package/fjs/djs/transpiler/proof.f.mjs +76 -0
  186. package/fjs/djs/types.d.ts +13 -0
  187. package/fjs/djs/types.js +7 -0
  188. package/fjs/effects/eff/module.f.d.mts +10 -0
  189. package/fjs/effects/eff/module.f.mjs +68 -0
  190. package/fjs/effects/eff/proof.f.d.mts +12 -0
  191. package/fjs/effects/eff/proof.f.mjs +66 -0
  192. package/fjs/effects/eff/types.d.ts +71 -0
  193. package/fjs/effects/eff/types.js +6 -0
  194. package/fjs/effects/list/module.f.d.mts +24 -0
  195. package/fjs/effects/list/module.f.mjs +34 -0
  196. package/fjs/effects/list/types.d.ts +26 -0
  197. package/fjs/effects/list/types.js +6 -0
  198. package/fjs/effects/memory/module.f.d.mts +32 -0
  199. package/fjs/effects/memory/module.f.mjs +44 -0
  200. package/fjs/effects/memory/proof.f.d.mts +12 -0
  201. package/fjs/effects/memory/proof.f.mjs +83 -0
  202. package/fjs/effects/memory/types.d.ts +18 -0
  203. package/fjs/effects/memory/types.js +6 -0
  204. package/fjs/effects/mock/module.f.d.mts +6 -0
  205. package/fjs/effects/mock/module.f.mjs +26 -0
  206. package/fjs/effects/mock/types.d.ts +15 -0
  207. package/fjs/effects/mock/types.js +6 -0
  208. package/fjs/effects/module.d.mts +7 -0
  209. package/fjs/effects/module.f.d.mts +350 -0
  210. package/fjs/effects/module.f.mjs +382 -0
  211. package/fjs/effects/module.mjs +18 -0
  212. package/fjs/effects/node/memory/module.d.mts +24 -0
  213. package/fjs/effects/node/memory/module.mjs +59 -0
  214. package/fjs/effects/node/memory/proof.mjs +43 -0
  215. package/fjs/effects/node/module.d.mts +54 -0
  216. package/fjs/effects/node/module.f.d.mts +172 -0
  217. package/fjs/effects/node/module.f.mjs +354 -0
  218. package/fjs/effects/node/module.mjs +393 -0
  219. package/fjs/effects/node/proof.f.d.mts +76 -0
  220. package/fjs/effects/node/proof.f.mjs +444 -0
  221. package/fjs/effects/node/types.d.ts +203 -0
  222. package/fjs/effects/node/types.js +6 -0
  223. package/fjs/effects/node/virtual/module.f.d.mts +31 -0
  224. package/fjs/effects/node/virtual/module.f.mjs +434 -0
  225. package/fjs/effects/node/virtual/proof.f.d.mts +35 -0
  226. package/fjs/effects/node/virtual/proof.f.mjs +226 -0
  227. package/fjs/effects/node/virtual/types.d.ts +39 -0
  228. package/fjs/effects/node/virtual/types.js +7 -0
  229. package/fjs/effects/proof.f.d.mts +62 -0
  230. package/fjs/effects/proof.f.mjs +231 -0
  231. package/fjs/effects/types.d.ts +115 -0
  232. package/fjs/effects/types.js +6 -0
  233. package/fjs/emergent_testing/all.test.js +2 -2
  234. package/fjs/emergent_testing/example.f.d.mts +16 -0
  235. package/fjs/emergent_testing/example.f.mjs +34 -0
  236. package/fjs/emergent_testing/module.f.d.mts +150 -0
  237. package/fjs/emergent_testing/module.f.mjs +414 -0
  238. package/fjs/emergent_testing/proof.f.d.mts +97 -0
  239. package/fjs/emergent_testing/proof.f.mjs +518 -0
  240. package/fjs/emergent_testing/types.d.ts +53 -0
  241. package/fjs/emergent_testing/types.js +6 -0
  242. package/fjs/fsc/bnf.f.d.mts +3 -0
  243. package/fjs/fsc/bnf.f.mjs +77 -0
  244. package/fjs/fsc/json.f.d.mts +13 -0
  245. package/fjs/fsc/json.f.mjs +124 -0
  246. package/fjs/fsc/module.f.d.mts +14 -0
  247. package/fjs/fsc/module.f.mjs +138 -0
  248. package/fjs/fsc/proof.f.mjs +119 -0
  249. package/fjs/fsm/module.f.d.mts +27 -0
  250. package/fjs/fsm/module.f.mjs +99 -0
  251. package/fjs/fsm/proof.f.mjs +146 -0
  252. package/fjs/js/tokenizer/module.f.d.mts +19 -0
  253. package/fjs/js/tokenizer/module.f.mjs +795 -0
  254. package/fjs/js/tokenizer/proof.f.d.mts +12 -0
  255. package/fjs/js/tokenizer/proof.f.mjs +681 -0
  256. package/fjs/js/tokenizer/types.d.ts +193 -0
  257. package/fjs/js/tokenizer/types.js +6 -0
  258. package/fjs/mcp/cas/module.f.d.mts +156 -0
  259. package/fjs/mcp/cas/module.f.mjs +302 -0
  260. package/fjs/mcp/evo/module.f.d.mts +88 -0
  261. package/fjs/mcp/evo/module.f.mjs +153 -0
  262. package/fjs/mcp/evo/proof.f.d.mts +17 -0
  263. package/fjs/mcp/evo/proof.f.mjs +166 -0
  264. package/fjs/mcp/module.f.d.mts +32 -0
  265. package/fjs/mcp/module.f.mjs +96 -0
  266. package/fjs/mcp/proof.f.d.mts +46 -0
  267. package/fjs/mcp/proof.f.mjs +725 -0
  268. package/fjs/media/html/module.f.d.mts +43 -0
  269. package/fjs/media/html/module.f.mjs +167 -0
  270. package/fjs/media/html/proof.f.mjs +77 -0
  271. package/fjs/media/html/types.d.ts +19 -0
  272. package/fjs/media/html/types.js +6 -0
  273. package/fjs/media/json/module.f.d.mts +48 -0
  274. package/fjs/media/json/module.f.mjs +104 -0
  275. package/fjs/media/json/parser/module.f.d.mts +30 -0
  276. package/fjs/media/json/parser/module.f.mjs +219 -0
  277. package/fjs/media/json/parser/proof.f.d.mts +8 -0
  278. package/fjs/media/json/parser/proof.f.mjs +314 -0
  279. package/fjs/media/json/parser/types.d.ts +34 -0
  280. package/fjs/media/json/parser/types.js +6 -0
  281. package/fjs/media/json/proof.f.mjs +79 -0
  282. package/fjs/media/json/rtti/module.f.d.mts +38 -0
  283. package/fjs/media/json/rtti/module.f.mjs +51 -0
  284. package/fjs/media/json/rtti/proof.f.d.mts +26 -0
  285. package/fjs/media/json/rtti/proof.f.mjs +86 -0
  286. package/fjs/media/json/schema/module.f.d.mts +79 -0
  287. package/fjs/media/json/schema/module.f.mjs +144 -0
  288. package/fjs/media/json/schema/proof.f.d.mts +40 -0
  289. package/fjs/media/json/schema/proof.f.mjs +93 -0
  290. package/fjs/media/json/serializer/module.f.d.mts +27 -0
  291. package/fjs/media/json/serializer/module.f.mjs +131 -0
  292. package/fjs/media/json/serializer/proof.f.mjs +92 -0
  293. package/fjs/media/json/tokenizer/module.f.d.mts +17 -0
  294. package/fjs/media/json/tokenizer/module.f.mjs +77 -0
  295. package/fjs/media/json/tokenizer/proof.f.d.mts +8 -0
  296. package/fjs/media/json/tokenizer/proof.f.mjs +291 -0
  297. package/fjs/media/json/tokenizer/types.d.ts +17 -0
  298. package/fjs/media/json/tokenizer/types.js +6 -0
  299. package/fjs/media/json/types.d.ts +25 -0
  300. package/fjs/media/json/types.js +13 -0
  301. package/fjs/media/module.f.d.mts +116 -0
  302. package/fjs/media/module.f.mjs +152 -0
  303. package/fjs/media/nix/module.f.d.mts +14 -0
  304. package/fjs/media/nix/module.f.mjs +261 -0
  305. package/fjs/media/nix/proof.f.mjs +181 -0
  306. package/fjs/media/nix/types.d.ts +22 -0
  307. package/fjs/media/nix/types.js +6 -0
  308. package/fjs/media/proof.f.d.mts +19 -0
  309. package/fjs/media/proof.f.mjs +159 -0
  310. package/fjs/media/revision/module.f.d.mts +119 -0
  311. package/fjs/media/revision/module.f.mjs +166 -0
  312. package/fjs/media/revision/proof.f.d.mts +42 -0
  313. package/fjs/media/revision/proof.f.mjs +228 -0
  314. package/fjs/media/revision/types.d.ts +16 -0
  315. package/fjs/media/revision/types.js +8 -0
  316. package/fjs/media/rust/module.f.d.mts +61 -0
  317. package/fjs/media/rust/module.f.mjs +93 -0
  318. package/fjs/media/rust/proof.f.d.mts +17 -0
  319. package/fjs/media/rust/proof.f.mjs +50 -0
  320. package/fjs/media/type/module.f.d.mts +97 -0
  321. package/fjs/media/type/module.f.mjs +281 -0
  322. package/fjs/media/type/proof.f.mjs +285 -0
  323. package/fjs/media/type/types.d.ts +67 -0
  324. package/fjs/media/type/types.js +6 -0
  325. package/fjs/media/types.d.ts +26 -0
  326. package/fjs/media/types.js +7 -0
  327. package/fjs/module.f.d.mts +3 -0
  328. package/fjs/module.f.mjs +60 -0
  329. package/fjs/module.mjs +6 -0
  330. package/fjs/nanvm/module.f.d.mts +54 -0
  331. package/fjs/nanvm/module.f.mjs +240 -0
  332. package/fjs/nanvm/proof.f.d.mts +41 -0
  333. package/fjs/nanvm/proof.f.mjs +173 -0
  334. package/fjs/nanvm/rust/module.f.d.mts +54 -0
  335. package/fjs/nanvm/rust/module.f.mjs +166 -0
  336. package/fjs/nanvm/rust/proof.f.d.mts +21 -0
  337. package/fjs/nanvm/rust/proof.f.mjs +119 -0
  338. package/fjs/nanvm/types.d.ts +105 -0
  339. package/fjs/nanvm/types.js +11 -0
  340. package/fjs/nanvm/update/module.f.d.mts +23 -0
  341. package/fjs/nanvm/update/module.f.mjs +33 -0
  342. package/fjs/nanvm/update/proof.f.d.mts +9 -0
  343. package/fjs/nanvm/update/proof.f.mjs +32 -0
  344. package/fjs/path/module.f.d.mts +55 -0
  345. package/fjs/path/module.f.mjs +96 -0
  346. package/fjs/path/proof.f.mjs +125 -0
  347. package/fjs/proof.f.mjs +48 -0
  348. package/fjs/protocol/json_rpc/module.f.d.mts +127 -0
  349. package/fjs/protocol/json_rpc/module.f.mjs +112 -0
  350. package/fjs/protocol/json_rpc/proof.f.mjs +84 -0
  351. package/fjs/protocol/json_rpc/types.d.ts +30 -0
  352. package/fjs/protocol/json_rpc/types.js +8 -0
  353. package/fjs/protocol/mcp/module.f.d.mts +227 -0
  354. package/fjs/protocol/mcp/module.f.mjs +369 -0
  355. package/fjs/protocol/mcp/proof.f.d.mts +53 -0
  356. package/fjs/protocol/mcp/proof.f.mjs +312 -0
  357. package/fjs/protocol/mcp/stdio/module.f.d.mts +52 -0
  358. package/fjs/protocol/mcp/stdio/module.f.mjs +132 -0
  359. package/fjs/protocol/mcp/stdio/proof.f.d.mts +20 -0
  360. package/fjs/protocol/mcp/stdio/proof.f.mjs +190 -0
  361. package/fjs/protocol/mcp/types.d.ts +59 -0
  362. package/fjs/protocol/mcp/types.js +8 -0
  363. package/fjs/sul/id/module.f.d.mts +37 -0
  364. package/fjs/sul/id/module.f.mjs +143 -0
  365. package/fjs/sul/id/proof.f.mjs +72 -0
  366. package/fjs/sul/id/types.d.ts +8 -0
  367. package/fjs/sul/id/types.js +6 -0
  368. package/fjs/sul/level/hash/module.f.d.mts +37 -0
  369. package/fjs/sul/level/hash/module.f.mjs +61 -0
  370. package/fjs/sul/level/hash/proof.f.d.mts +15 -0
  371. package/fjs/sul/level/hash/proof.f.mjs +131 -0
  372. package/fjs/sul/level/hash/types.d.ts +20 -0
  373. package/fjs/sul/level/hash/types.js +6 -0
  374. package/fjs/sul/level/literal/module.f.d.mts +54 -0
  375. package/fjs/sul/level/literal/module.f.mjs +120 -0
  376. package/fjs/sul/level/literal/proof.f.mjs +788 -0
  377. package/fjs/sul/level/literal/types.d.ts +31 -0
  378. package/fjs/sul/level/literal/types.js +6 -0
  379. package/fjs/sul/module.f.d.mts +25 -0
  380. package/fjs/sul/module.f.mjs +69 -0
  381. package/fjs/sul/proof.f.d.mts +11 -0
  382. package/fjs/sul/proof.f.mjs +62 -0
  383. package/fjs/sul/types.d.ts +19 -0
  384. package/fjs/sul/types.js +6 -0
  385. package/fjs/text/ascii/module.f.d.mts +136 -0
  386. package/fjs/text/ascii/module.f.mjs +224 -0
  387. package/fjs/text/ascii/proof.f.mjs +16 -0
  388. package/fjs/text/code_point/module.f.d.mts +74 -0
  389. package/fjs/text/code_point/module.f.mjs +139 -0
  390. package/fjs/text/code_point/proof.f.mjs +80 -0
  391. package/fjs/text/module.f.d.mts +39 -0
  392. package/fjs/text/module.f.mjs +61 -0
  393. package/fjs/text/proof.f.mjs +48 -0
  394. package/fjs/text/sgr/module.f.d.mts +58 -0
  395. package/fjs/text/sgr/module.f.mjs +99 -0
  396. package/fjs/text/sgr/proof.f.mjs +39 -0
  397. package/fjs/text/sgr/types.d.ts +12 -0
  398. package/fjs/text/sgr/types.js +6 -0
  399. package/fjs/text/types.d.ts +13 -0
  400. package/fjs/text/types.js +6 -0
  401. package/fjs/text/utf16/module.f.d.mts +147 -0
  402. package/fjs/text/utf16/module.f.mjs +350 -0
  403. package/fjs/text/utf16/proof.f.d.mts +11 -0
  404. package/fjs/text/utf16/proof.f.mjs +158 -0
  405. package/fjs/text/utf16/types.d.ts +19 -0
  406. package/fjs/text/utf16/types.js +6 -0
  407. package/fjs/text/utf8/module.f.d.mts +69 -0
  408. package/fjs/text/utf8/module.f.mjs +280 -0
  409. package/fjs/text/utf8/proof.f.mjs +217 -0
  410. package/fjs/text/utf8/types.d.ts +26 -0
  411. package/fjs/text/utf8/types.js +6 -0
  412. package/fjs/types/array/module.f.d.mts +68 -0
  413. package/fjs/types/array/module.f.mjs +101 -0
  414. package/fjs/types/array/proof.f.mjs +98 -0
  415. package/fjs/types/array/types.d.ts +13 -0
  416. package/fjs/types/array/types.js +6 -0
  417. package/fjs/types/bigfloat/module.f.d.mts +14 -0
  418. package/fjs/types/bigfloat/module.f.mjs +99 -0
  419. package/fjs/types/bigfloat/proof.f.mjs +218 -0
  420. package/fjs/types/bigfloat/types.d.ts +6 -0
  421. package/fjs/types/bigfloat/types.js +6 -0
  422. package/fjs/types/bigint/benchmark.d.mts +1 -0
  423. package/fjs/types/bigint/benchmark.mjs +205 -0
  424. package/fjs/types/bigint/module.f.d.mts +176 -0
  425. package/fjs/types/bigint/module.f.mjs +289 -0
  426. package/fjs/types/bigint/proof.f.d.mts +39 -0
  427. package/fjs/types/bigint/proof.f.mjs +443 -0
  428. package/fjs/types/bigint/types.d.ts +14 -0
  429. package/fjs/types/bigint/types.js +6 -0
  430. package/fjs/types/bit_vec/module.f.d.mts +199 -0
  431. package/fjs/types/bit_vec/module.f.mjs +485 -0
  432. package/fjs/types/bit_vec/proof.f.mjs +495 -0
  433. package/fjs/types/bit_vec/types.d.ts +51 -0
  434. package/fjs/types/bit_vec/types.js +6 -0
  435. package/fjs/types/btree/find/module.f.d.mts +15 -0
  436. package/fjs/types/btree/find/module.f.mjs +80 -0
  437. package/fjs/types/btree/find/proof.f.d.mts +4 -0
  438. package/fjs/types/btree/find/proof.f.mjs +121 -0
  439. package/fjs/types/btree/find/types.d.ts +22 -0
  440. package/fjs/types/btree/find/types.js +6 -0
  441. package/fjs/types/btree/module.f.d.mts +10 -0
  442. package/fjs/types/btree/module.f.mjs +39 -0
  443. package/fjs/types/btree/proof.f.d.mts +14 -0
  444. package/fjs/types/btree/proof.f.mjs +85 -0
  445. package/fjs/types/btree/remove/module.f.d.mts +21 -0
  446. package/fjs/types/btree/remove/module.f.mjs +187 -0
  447. package/fjs/types/btree/remove/proof.f.mjs +472 -0
  448. package/fjs/types/btree/set/module.f.d.mts +5 -0
  449. package/fjs/types/btree/set/module.f.mjs +117 -0
  450. package/fjs/types/btree/set/proof.f.mjs +427 -0
  451. package/fjs/types/btree/types/module.f.d.mts +19 -0
  452. package/fjs/types/btree/types/module.f.mjs +19 -0
  453. package/fjs/types/btree/types/types.d.ts +14 -0
  454. package/fjs/types/btree/types/types.js +6 -0
  455. package/fjs/types/byte_set/module.f.d.mts +26 -0
  456. package/fjs/types/byte_set/module.f.mjs +66 -0
  457. package/fjs/types/byte_set/proof.f.d.mts +12 -0
  458. package/fjs/types/byte_set/proof.f.mjs +84 -0
  459. package/fjs/types/byte_set/types.d.ts +6 -0
  460. package/fjs/types/byte_set/types.js +6 -0
  461. package/fjs/types/function/compare/module.f.d.mts +44 -0
  462. package/fjs/types/function/compare/module.f.mjs +71 -0
  463. package/fjs/types/function/compare/proof.f.mjs +50 -0
  464. package/fjs/types/function/compare/types.d.ts +22 -0
  465. package/fjs/types/function/compare/types.js +6 -0
  466. package/fjs/types/function/module.f.d.mts +26 -0
  467. package/fjs/types/function/module.f.mjs +32 -0
  468. package/fjs/types/function/operator/module.f.d.mts +37 -0
  469. package/fjs/types/function/operator/module.f.mjs +55 -0
  470. package/fjs/types/function/operator/proof.f.mjs +76 -0
  471. package/fjs/types/function/operator/types.d.ts +39 -0
  472. package/fjs/types/function/operator/types.js +6 -0
  473. package/fjs/types/function/proof.f.mjs +16 -0
  474. package/fjs/types/function/types.d.ts +16 -0
  475. package/fjs/types/function/types.js +6 -0
  476. package/fjs/types/list/module.f.d.mts +88 -0
  477. package/fjs/types/list/module.f.mjs +309 -0
  478. package/fjs/types/list/proof.f.d.mts +32 -0
  479. package/fjs/types/list/proof.f.mjs +363 -0
  480. package/fjs/types/list/types.d.ts +36 -0
  481. package/fjs/types/list/types.js +6 -0
  482. package/fjs/types/map/module.f.d.mts +13 -0
  483. package/fjs/types/map/module.f.mjs +42 -0
  484. package/fjs/types/map/proof.f.mjs +25 -0
  485. package/fjs/types/nibble_set/module.f.d.mts +30 -0
  486. package/fjs/types/nibble_set/module.f.mjs +43 -0
  487. package/fjs/types/nibble_set/proof.f.mjs +59 -0
  488. package/fjs/types/nibble_set/types.d.ts +9 -0
  489. package/fjs/types/nibble_set/types.js +6 -0
  490. package/fjs/types/nominal/module.f.d.mts +9 -0
  491. package/fjs/types/nominal/module.f.mjs +16 -0
  492. package/fjs/types/nominal/proof.f.d.mts +7 -0
  493. package/fjs/types/nominal/proof.f.mjs +79 -0
  494. package/fjs/types/nominal/types.d.ts +25 -0
  495. package/fjs/types/nominal/types.js +6 -0
  496. package/fjs/types/nullable/module.f.d.mts +38 -0
  497. package/fjs/types/nullable/module.f.mjs +53 -0
  498. package/fjs/types/nullable/proof.f.mjs +34 -0
  499. package/fjs/types/nullable/types.d.ts +6 -0
  500. package/fjs/types/nullable/types.js +6 -0
  501. package/fjs/types/number/module.f.d.mts +23 -0
  502. package/fjs/types/number/module.f.mjs +55 -0
  503. package/fjs/types/number/proof.f.mjs +204 -0
  504. package/fjs/types/object/module.f.d.mts +33 -0
  505. package/fjs/types/object/module.f.mjs +58 -0
  506. package/fjs/types/object/proof.f.d.mts +25 -0
  507. package/fjs/types/object/proof.f.mjs +26 -0
  508. package/fjs/types/object/types.d.ts +50 -0
  509. package/fjs/types/object/types.js +8 -0
  510. package/fjs/types/ordered_map/module.f.d.mts +21 -0
  511. package/fjs/types/ordered_map/module.f.mjs +54 -0
  512. package/fjs/types/ordered_map/proof.f.mjs +88 -0
  513. package/fjs/types/ordered_map/types.d.ts +8 -0
  514. package/fjs/types/ordered_map/types.js +6 -0
  515. package/fjs/types/patricia_trie/module.f.d.mts +19 -0
  516. package/fjs/types/patricia_trie/module.f.mjs +43 -0
  517. package/fjs/types/patricia_trie/proof.f.d.mts +14 -0
  518. package/fjs/types/patricia_trie/proof.f.mjs +148 -0
  519. package/fjs/types/patricia_trie/types.d.ts +34 -0
  520. package/fjs/types/patricia_trie/types.js +6 -0
  521. package/fjs/types/prime_field/module.f.d.mts +42 -0
  522. package/fjs/types/prime_field/module.f.mjs +136 -0
  523. package/fjs/types/prime_field/proof.f.mjs +131 -0
  524. package/fjs/types/prime_field/types.d.ts +38 -0
  525. package/fjs/types/prime_field/types.js +6 -0
  526. package/fjs/types/range/module.f.d.mts +11 -0
  527. package/fjs/types/range/module.f.mjs +13 -0
  528. package/fjs/types/range/proof.f.mjs +10 -0
  529. package/fjs/types/range/types.d.ts +6 -0
  530. package/fjs/types/range/types.js +6 -0
  531. package/fjs/types/range_map/module.f.d.mts +72 -0
  532. package/fjs/types/range_map/module.f.mjs +130 -0
  533. package/fjs/types/range_map/proof.f.d.mts +7 -0
  534. package/fjs/types/range_map/proof.f.mjs +186 -0
  535. package/fjs/types/range_map/types.d.ts +56 -0
  536. package/fjs/types/range_map/types.js +6 -0
  537. package/fjs/types/range_set/module.f.d.mts +5 -0
  538. package/fjs/types/range_set/module.f.mjs +19 -0
  539. package/fjs/types/range_set/proof.f.mjs +26 -0
  540. package/fjs/types/result/module.d.mts +5 -0
  541. package/fjs/types/result/module.f.d.mts +59 -0
  542. package/fjs/types/result/module.f.mjs +67 -0
  543. package/fjs/types/result/module.mjs +22 -0
  544. package/fjs/types/result/proof.f.mjs +41 -0
  545. package/fjs/types/result/types.d.ts +17 -0
  546. package/fjs/types/result/types.js +6 -0
  547. package/fjs/types/rtti/common/module.f.d.mts +86 -0
  548. package/fjs/types/rtti/common/module.f.mjs +183 -0
  549. package/fjs/types/rtti/common/proof.f.d.mts +9 -0
  550. package/fjs/types/rtti/common/proof.f.mjs +64 -0
  551. package/fjs/types/rtti/common/types.d.ts +43 -0
  552. package/fjs/types/rtti/common/types.js +1 -0
  553. package/fjs/types/rtti/module.f.d.mts +76 -0
  554. package/fjs/types/rtti/module.f.mjs +110 -0
  555. package/fjs/types/rtti/parse/module.f.d.mts +9 -0
  556. package/fjs/types/rtti/parse/module.f.mjs +196 -0
  557. package/fjs/types/rtti/parse/proof.f.d.mts +122 -0
  558. package/fjs/types/rtti/parse/proof.f.mjs +363 -0
  559. package/fjs/types/rtti/parse/types.d.ts +12 -0
  560. package/fjs/types/rtti/parse/types.js +1 -0
  561. package/fjs/types/rtti/proof.f.d.mts +8 -0
  562. package/fjs/types/rtti/proof.f.mjs +20 -0
  563. package/fjs/types/rtti/ts/module.f.d.mts +34 -0
  564. package/fjs/types/rtti/ts/module.f.mjs +64 -0
  565. package/fjs/types/rtti/ts/proof.f.mjs +88 -0
  566. package/fjs/types/rtti/ts/types.d.ts +88 -0
  567. package/fjs/types/rtti/ts/types.js +1 -0
  568. package/fjs/types/rtti/types.d.ts +43 -0
  569. package/fjs/types/rtti/types.js +1 -0
  570. package/fjs/types/rtti/validate/module.f.d.mts +6 -0
  571. package/fjs/types/rtti/validate/module.f.mjs +169 -0
  572. package/fjs/types/rtti/validate/proof.f.d.mts +125 -0
  573. package/fjs/types/rtti/validate/proof.f.mjs +437 -0
  574. package/fjs/types/rtti/validate/types.d.ts +6 -0
  575. package/fjs/types/rtti/validate/types.js +1 -0
  576. package/fjs/types/sorted_list/module.f.d.mts +43 -0
  577. package/fjs/types/sorted_list/module.f.mjs +110 -0
  578. package/fjs/types/sorted_list/proof.f.d.mts +5 -0
  579. package/fjs/types/sorted_list/proof.f.mjs +52 -0
  580. package/fjs/types/sorted_list/types.d.ts +15 -0
  581. package/fjs/types/sorted_list/types.js +6 -0
  582. package/fjs/types/sorted_set/module.f.d.mts +24 -0
  583. package/fjs/types/sorted_set/module.f.mjs +56 -0
  584. package/fjs/types/sorted_set/proof.f.d.mts +7 -0
  585. package/fjs/types/sorted_set/proof.f.mjs +77 -0
  586. package/fjs/types/sorted_set/types.d.ts +6 -0
  587. package/fjs/types/sorted_set/types.js +6 -0
  588. package/fjs/types/string/module.f.d.mts +36 -0
  589. package/fjs/types/string/module.f.mjs +58 -0
  590. package/fjs/types/string/proof.f.mjs +76 -0
  591. package/fjs/types/string_set/module.f.d.mts +37 -0
  592. package/fjs/types/string_set/module.f.mjs +53 -0
  593. package/fjs/types/string_set/proof.f.mjs +46 -0
  594. package/fjs/types/string_set/types.d.ts +7 -0
  595. package/fjs/types/string_set/types.js +6 -0
  596. package/fjs/types/ts/module.f.d.mts +20 -0
  597. package/fjs/types/ts/module.f.mjs +51 -0
  598. package/fjs/types/ts/proof.f.mjs +97 -0
  599. package/fjs/types/ts/types.d.ts +16 -0
  600. package/fjs/types/ts/types.js +8 -0
  601. package/fjs/types/uint8array/module.f.d.mts +31 -0
  602. package/fjs/types/uint8array/module.f.mjs +53 -0
  603. package/fjs/types/uint8array/proof.f.d.mts +17 -0
  604. package/fjs/types/uint8array/proof.f.mjs +73 -0
  605. package/fjs/website/module.f.d.mts +8 -0
  606. package/fjs/website/module.f.mjs +24 -0
  607. package/fjs/website/proof.f.mjs +14 -0
  608. package/package.json +12 -10
  609. package/todo/proof.f.d.mts +22 -0
  610. package/todo/proof.f.mjs +59 -0
  611. package/fjs/asn.1/module.f.d.ts +0 -62
  612. package/fjs/asn.1/module.f.js +0 -278
  613. package/fjs/asn.1/proof.f.js +0 -285
  614. package/fjs/asserts/module.f.d.ts +0 -36
  615. package/fjs/asserts/module.f.js +0 -39
  616. package/fjs/asserts/proof.f.js +0 -18
  617. package/fjs/base_n/module.f.d.ts +0 -45
  618. package/fjs/base_n/module.f.js +0 -72
  619. package/fjs/base_n/proof.f.js +0 -73
  620. package/fjs/basen/base128/module.f.d.ts +0 -20
  621. package/fjs/basen/base128/module.f.js +0 -43
  622. package/fjs/basen/base128/proof.f.js +0 -26
  623. package/fjs/basen/base64/module.f.d.ts +0 -9
  624. package/fjs/basen/base64/module.f.js +0 -71
  625. package/fjs/basen/base64/proof.f.d.ts +0 -16
  626. package/fjs/basen/base64/proof.f.js +0 -139
  627. package/fjs/basen/cbase32/module.f.d.ts +0 -11
  628. package/fjs/basen/cbase32/module.f.js +0 -55
  629. package/fjs/basen/cbase32/proof.f.d.ts +0 -7
  630. package/fjs/basen/cbase32/proof.f.js +0 -62
  631. package/fjs/bnf/data/module.f.d.ts +0 -52
  632. package/fjs/bnf/data/module.f.js +0 -143
  633. package/fjs/bnf/data/proof.f.d.ts +0 -8
  634. package/fjs/bnf/data/proof.f.js +0 -169
  635. package/fjs/bnf/descent/module.f.d.ts +0 -87
  636. package/fjs/bnf/descent/module.f.js +0 -149
  637. package/fjs/bnf/descent/proof.f.d.ts +0 -7
  638. package/fjs/bnf/descent/proof.f.js +0 -368
  639. package/fjs/bnf/ll1/module.f.d.ts +0 -72
  640. package/fjs/bnf/ll1/module.f.js +0 -155
  641. package/fjs/bnf/ll1/proof.f.d.ts +0 -10
  642. package/fjs/bnf/ll1/proof.f.js +0 -375
  643. package/fjs/bnf/module.f.d.ts +0 -165
  644. package/fjs/bnf/module.f.js +0 -174
  645. package/fjs/bnf/proof.f.d.ts +0 -12
  646. package/fjs/bnf/proof.f.js +0 -69
  647. package/fjs/bnf/testlib.f.d.ts +0 -3
  648. package/fjs/bnf/testlib.f.js +0 -138
  649. package/fjs/bnf/token_symbol/module.f.d.ts +0 -38
  650. package/fjs/bnf/token_symbol/module.f.js +0 -48
  651. package/fjs/bnf/token_symbol/proof.f.js +0 -37
  652. package/fjs/cas/cli/module.f.d.ts +0 -6
  653. package/fjs/cas/cli/module.f.js +0 -53
  654. package/fjs/cas/cli/proof.f.d.ts +0 -17
  655. package/fjs/cas/cli/proof.f.js +0 -112
  656. package/fjs/cas/evo/module.f.d.ts +0 -222
  657. package/fjs/cas/evo/module.f.js +0 -454
  658. package/fjs/cas/evo/proof.f.d.ts +0 -43
  659. package/fjs/cas/evo/proof.f.js +0 -653
  660. package/fjs/cas/module.f.d.ts +0 -64
  661. package/fjs/cas/module.f.js +0 -255
  662. package/fjs/cas/proof.f.d.ts +0 -18
  663. package/fjs/cas/proof.f.js +0 -305
  664. package/fjs/ci/bun/module.f.d.ts +0 -2
  665. package/fjs/ci/bun/module.f.js +0 -15
  666. package/fjs/ci/common/module.f.d.ts +0 -88
  667. package/fjs/ci/common/module.f.js +0 -63
  668. package/fjs/ci/config/module.f.d.ts +0 -45
  669. package/fjs/ci/config/module.f.js +0 -80
  670. package/fjs/ci/deno/module.f.d.ts +0 -10
  671. package/fjs/ci/deno/module.f.js +0 -28
  672. package/fjs/ci/deno/proof.f.d.ts +0 -5
  673. package/fjs/ci/deno/proof.f.js +0 -26
  674. package/fjs/ci/module.f.d.ts +0 -13
  675. package/fjs/ci/module.f.js +0 -58
  676. package/fjs/ci/nix/module.f.d.ts +0 -61
  677. package/fjs/ci/nix/module.f.js +0 -92
  678. package/fjs/ci/nix/proof.f.d.ts +0 -23
  679. package/fjs/ci/nix/proof.f.js +0 -109
  680. package/fjs/ci/node/module.f.d.ts +0 -28
  681. package/fjs/ci/node/module.f.js +0 -92
  682. package/fjs/ci/node/proof.f.js +0 -17
  683. package/fjs/ci/proof.f.d.ts +0 -18
  684. package/fjs/ci/proof.f.js +0 -182
  685. package/fjs/ci/rust/module.f.d.ts +0 -3
  686. package/fjs/ci/rust/module.f.js +0 -75
  687. package/fjs/cli/module.f.d.ts +0 -11
  688. package/fjs/cli/module.f.js +0 -34
  689. package/fjs/cli/proof.f.d.ts +0 -14
  690. package/fjs/cli/proof.f.js +0 -111
  691. package/fjs/common/monoid/module.f.d.ts +0 -126
  692. package/fjs/common/monoid/module.f.js +0 -88
  693. package/fjs/common/monoid/proof.f.d.ts +0 -9
  694. package/fjs/common/monoid/proof.f.js +0 -48
  695. package/fjs/crypto/hmac/module.f.d.ts +0 -29
  696. package/fjs/crypto/hmac/module.f.js +0 -56
  697. package/fjs/crypto/hmac/proof.f.js +0 -32
  698. package/fjs/crypto/pow/module.f.d.ts +0 -37
  699. package/fjs/crypto/pow/module.f.js +0 -72
  700. package/fjs/crypto/pow/proof.f.js +0 -111
  701. package/fjs/crypto/secp/module.f.d.ts +0 -85
  702. package/fjs/crypto/secp/module.f.js +0 -176
  703. package/fjs/crypto/secp/proof.f.d.ts +0 -8
  704. package/fjs/crypto/secp/proof.f.js +0 -124
  705. package/fjs/crypto/sha2/module.f.d.ts +0 -102
  706. package/fjs/crypto/sha2/module.f.js +0 -266
  707. package/fjs/crypto/sha2/proof.f.d.ts +0 -31
  708. package/fjs/crypto/sha2/proof.f.js +0 -139
  709. package/fjs/crypto/sign/module.f.d.ts +0 -33
  710. package/fjs/crypto/sign/module.f.js +0 -163
  711. package/fjs/crypto/sign/proof.f.d.ts +0 -11
  712. package/fjs/crypto/sign/proof.f.js +0 -562
  713. package/fjs/crypto/vdf/module.f.d.ts +0 -21
  714. package/fjs/crypto/vdf/module.f.js +0 -57
  715. package/fjs/crypto/vdf/proof.f.js +0 -94
  716. package/fjs/dev/module.f.d.ts +0 -57
  717. package/fjs/dev/module.f.js +0 -135
  718. package/fjs/dev/package_json/module.f.d.ts +0 -16
  719. package/fjs/dev/package_json/module.f.js +0 -24
  720. package/fjs/dev/package_json/proof.f.js +0 -28
  721. package/fjs/dev/proof.f.d.ts +0 -13
  722. package/fjs/dev/proof.f.js +0 -77
  723. package/fjs/dev/update/module.f.d.ts +0 -11
  724. package/fjs/dev/update/module.f.js +0 -20
  725. package/fjs/dev/update/proof.f.d.ts +0 -7
  726. package/fjs/dev/update/proof.f.js +0 -35
  727. package/fjs/djs/ast/module.f.d.ts +0 -62
  728. package/fjs/djs/ast/module.f.js +0 -61
  729. package/fjs/djs/ast/proof.f.js +0 -49
  730. package/fjs/djs/examples/input.f.js +0 -4
  731. package/fjs/djs/examples/m.f.js +0 -1
  732. package/fjs/djs/module.f.d.ts +0 -17
  733. package/fjs/djs/module.f.js +0 -22
  734. package/fjs/djs/parser/module.f.d.ts +0 -23
  735. package/fjs/djs/parser/module.f.js +0 -410
  736. package/fjs/djs/parser/proof.f.js +0 -556
  737. package/fjs/djs/proof.f.js +0 -50
  738. package/fjs/djs/serializer/module.f.d.ts +0 -17
  739. package/fjs/djs/serializer/module.f.js +0 -173
  740. package/fjs/djs/serializer/proof.f.js +0 -133
  741. package/fjs/djs/tokenizer/module.f.d.ts +0 -24
  742. package/fjs/djs/tokenizer/module.f.js +0 -472
  743. package/fjs/djs/tokenizer/proof.f.js +0 -1211
  744. package/fjs/djs/transpiler/module.f.d.ts +0 -41
  745. package/fjs/djs/transpiler/module.f.js +0 -88
  746. package/fjs/djs/transpiler/proof.f.js +0 -67
  747. package/fjs/effects/eff/module.f.d.ts +0 -72
  748. package/fjs/effects/eff/module.f.js +0 -46
  749. package/fjs/effects/eff/proof.f.d.ts +0 -11
  750. package/fjs/effects/eff/proof.f.js +0 -58
  751. package/fjs/effects/list/module.f.d.ts +0 -37
  752. package/fjs/effects/list/module.f.js +0 -17
  753. package/fjs/effects/memory/module.f.d.ts +0 -37
  754. package/fjs/effects/memory/module.f.js +0 -24
  755. package/fjs/effects/memory/proof.f.d.ts +0 -6
  756. package/fjs/effects/memory/proof.f.js +0 -50
  757. package/fjs/effects/mock/module.f.d.ts +0 -16
  758. package/fjs/effects/mock/module.f.js +0 -20
  759. package/fjs/effects/module.d.ts +0 -2
  760. package/fjs/effects/module.f.d.ts +0 -408
  761. package/fjs/effects/module.f.js +0 -312
  762. package/fjs/effects/module.js +0 -11
  763. package/fjs/effects/node/memory/module.d.ts +0 -20
  764. package/fjs/effects/node/memory/module.js +0 -44
  765. package/fjs/effects/node/memory/proof.js +0 -29
  766. package/fjs/effects/node/module.d.ts +0 -20
  767. package/fjs/effects/node/module.f.d.ts +0 -300
  768. package/fjs/effects/node/module.f.js +0 -171
  769. package/fjs/effects/node/module.js +0 -305
  770. package/fjs/effects/node/proof.f.d.ts +0 -69
  771. package/fjs/effects/node/proof.f.js +0 -409
  772. package/fjs/effects/node/virtual/module.f.d.ts +0 -49
  773. package/fjs/effects/node/virtual/module.f.js +0 -440
  774. package/fjs/effects/node/virtual/proof.f.d.ts +0 -33
  775. package/fjs/effects/node/virtual/proof.f.js +0 -186
  776. package/fjs/effects/proof.f.d.ts +0 -56
  777. package/fjs/effects/proof.f.js +0 -200
  778. package/fjs/emergent_testing/example.f.d.ts +0 -13
  779. package/fjs/emergent_testing/example.f.js +0 -31
  780. package/fjs/emergent_testing/module.f.d.ts +0 -140
  781. package/fjs/emergent_testing/module.f.js +0 -289
  782. package/fjs/emergent_testing/proof.f.d.ts +0 -67
  783. package/fjs/emergent_testing/proof.f.js +0 -416
  784. package/fjs/fsc/bnf.f.d.ts +0 -2
  785. package/fjs/fsc/bnf.f.js +0 -42
  786. package/fjs/fsc/json.f.d.ts +0 -7
  787. package/fjs/fsc/json.f.js +0 -64
  788. package/fjs/fsc/module.f.d.ts +0 -11
  789. package/fjs/fsc/module.f.js +0 -73
  790. package/fjs/fsc/proof.f.js +0 -104
  791. package/fjs/fsm/module.f.d.ts +0 -17
  792. package/fjs/fsm/module.f.js +0 -55
  793. package/fjs/fsm/proof.f.js +0 -126
  794. package/fjs/js/tokenizer/module.f.d.ts +0 -104
  795. package/fjs/js/tokenizer/module.f.js +0 -547
  796. package/fjs/js/tokenizer/proof.f.d.ts +0 -9
  797. package/fjs/js/tokenizer/proof.f.js +0 -986
  798. package/fjs/mcp/cas/module.f.d.ts +0 -27
  799. package/fjs/mcp/cas/module.f.js +0 -232
  800. package/fjs/mcp/evo/module.f.d.ts +0 -32
  801. package/fjs/mcp/evo/module.f.js +0 -99
  802. package/fjs/mcp/evo/proof.f.d.ts +0 -12
  803. package/fjs/mcp/evo/proof.f.js +0 -147
  804. package/fjs/mcp/module.f.d.ts +0 -56
  805. package/fjs/mcp/module.f.js +0 -69
  806. package/fjs/mcp/proof.f.d.ts +0 -45
  807. package/fjs/mcp/proof.f.js +0 -535
  808. package/fjs/media/html/module.f.d.ts +0 -52
  809. package/fjs/media/html/module.f.js +0 -117
  810. package/fjs/media/html/proof.f.js +0 -65
  811. package/fjs/media/json/module.f.d.ts +0 -64
  812. package/fjs/media/json/module.f.js +0 -109
  813. package/fjs/media/json/parser/module.f.d.ts +0 -21
  814. package/fjs/media/json/parser/module.f.js +0 -194
  815. package/fjs/media/json/parser/proof.f.d.ts +0 -5
  816. package/fjs/media/json/parser/proof.f.js +0 -314
  817. package/fjs/media/json/proof.f.js +0 -98
  818. package/fjs/media/json/schema/module.f.d.ts +0 -78
  819. package/fjs/media/json/schema/module.f.js +0 -96
  820. package/fjs/media/json/schema/proof.f.d.ts +0 -36
  821. package/fjs/media/json/schema/proof.f.js +0 -83
  822. package/fjs/media/json/serializer/module.f.d.ts +0 -28
  823. package/fjs/media/json/serializer/module.f.js +0 -73
  824. package/fjs/media/json/serializer/proof.f.js +0 -94
  825. package/fjs/media/json/tokenizer/module.f.d.ts +0 -15
  826. package/fjs/media/json/tokenizer/module.f.js +0 -63
  827. package/fjs/media/json/tokenizer/proof.f.d.ts +0 -5
  828. package/fjs/media/json/tokenizer/proof.f.js +0 -417
  829. package/fjs/media/module.f.d.ts +0 -119
  830. package/fjs/media/module.f.js +0 -88
  831. package/fjs/media/nix/module.f.d.ts +0 -30
  832. package/fjs/media/nix/module.f.js +0 -166
  833. package/fjs/media/nix/proof.f.js +0 -127
  834. package/fjs/media/proof.f.d.ts +0 -19
  835. package/fjs/media/proof.f.js +0 -127
  836. package/fjs/media/revision/module.f.d.ts +0 -86
  837. package/fjs/media/revision/module.f.js +0 -131
  838. package/fjs/media/revision/proof.f.d.ts +0 -31
  839. package/fjs/media/revision/proof.f.js +0 -140
  840. package/fjs/media/type/module.f.d.ts +0 -135
  841. package/fjs/media/type/module.f.js +0 -231
  842. package/fjs/media/type/proof.f.js +0 -213
  843. package/fjs/module.f.d.ts +0 -2
  844. package/fjs/module.f.js +0 -50
  845. package/fjs/module.js +0 -4
  846. package/fjs/path/module.f.d.ts +0 -46
  847. package/fjs/path/module.f.js +0 -71
  848. package/fjs/path/proof.f.js +0 -119
  849. package/fjs/proof.f.js +0 -38
  850. package/fjs/protocol/json_rpc/module.f.d.ts +0 -114
  851. package/fjs/protocol/json_rpc/module.f.js +0 -89
  852. package/fjs/protocol/json_rpc/proof.f.js +0 -68
  853. package/fjs/protocol/mcp/module.f.d.ts +0 -239
  854. package/fjs/protocol/mcp/module.f.js +0 -272
  855. package/fjs/protocol/mcp/proof.f.d.ts +0 -34
  856. package/fjs/protocol/mcp/proof.f.js +0 -208
  857. package/fjs/protocol/mcp/stdio/module.f.d.ts +0 -47
  858. package/fjs/protocol/mcp/stdio/module.f.js +0 -78
  859. package/fjs/protocol/mcp/stdio/proof.f.d.ts +0 -13
  860. package/fjs/protocol/mcp/stdio/proof.f.js +0 -143
  861. package/fjs/sul/id/module.f.d.ts +0 -33
  862. package/fjs/sul/id/module.f.js +0 -93
  863. package/fjs/sul/id/proof.f.js +0 -61
  864. package/fjs/sul/level/hash/module.f.d.ts +0 -38
  865. package/fjs/sul/level/hash/module.f.js +0 -43
  866. package/fjs/sul/level/hash/proof.f.d.ts +0 -13
  867. package/fjs/sul/level/hash/proof.f.js +0 -112
  868. package/fjs/sul/level/literal/module.f.d.ts +0 -64
  869. package/fjs/sul/level/literal/module.f.js +0 -88
  870. package/fjs/sul/level/literal/proof.f.js +0 -714
  871. package/fjs/sul/module.f.d.ts +0 -23
  872. package/fjs/sul/module.f.js +0 -46
  873. package/fjs/sul/proof.f.d.ts +0 -9
  874. package/fjs/sul/proof.f.js +0 -47
  875. package/fjs/text/ascii/module.f.d.ts +0 -136
  876. package/fjs/text/ascii/module.f.js +0 -154
  877. package/fjs/text/ascii/proof.f.js +0 -14
  878. package/fjs/text/code_point/module.f.d.ts +0 -65
  879. package/fjs/text/code_point/module.f.js +0 -103
  880. package/fjs/text/code_point/proof.f.js +0 -72
  881. package/fjs/text/module.f.d.ts +0 -40
  882. package/fjs/text/module.f.js +0 -43
  883. package/fjs/text/proof.f.js +0 -44
  884. package/fjs/text/sgr/module.f.d.ts +0 -53
  885. package/fjs/text/sgr/module.f.js +0 -63
  886. package/fjs/text/sgr/proof.f.js +0 -33
  887. package/fjs/text/utf16/module.f.d.ts +0 -161
  888. package/fjs/text/utf16/module.f.js +0 -311
  889. package/fjs/text/utf16/proof.f.d.ts +0 -10
  890. package/fjs/text/utf16/proof.f.js +0 -144
  891. package/fjs/text/utf8/module.f.d.ts +0 -83
  892. package/fjs/text/utf8/module.f.js +0 -247
  893. package/fjs/text/utf8/proof.f.js +0 -217
  894. package/fjs/types/array/module.f.d.ts +0 -49
  895. package/fjs/types/array/module.f.js +0 -42
  896. package/fjs/types/array/proof.f.js +0 -92
  897. package/fjs/types/bigfloat/module.f.d.ts +0 -6
  898. package/fjs/types/bigfloat/module.f.js +0 -69
  899. package/fjs/types/bigfloat/proof.f.js +0 -217
  900. package/fjs/types/bigint/module.f.d.ts +0 -172
  901. package/fjs/types/bigint/module.f.js +0 -251
  902. package/fjs/types/bigint/proof.f.d.ts +0 -37
  903. package/fjs/types/bigint/proof.f.js +0 -400
  904. package/fjs/types/bit_vec/module.f.d.ts +0 -302
  905. package/fjs/types/bit_vec/module.f.js +0 -375
  906. package/fjs/types/bit_vec/proof.f.js +0 -465
  907. package/fjs/types/btree/find/module.f.d.ts +0 -25
  908. package/fjs/types/btree/find/module.f.js +0 -80
  909. package/fjs/types/btree/find/proof.f.d.ts +0 -3
  910. package/fjs/types/btree/find/proof.f.js +0 -108
  911. package/fjs/types/btree/module.f.d.ts +0 -9
  912. package/fjs/types/btree/module.f.js +0 -33
  913. package/fjs/types/btree/proof.f.d.ts +0 -13
  914. package/fjs/types/btree/proof.f.js +0 -64
  915. package/fjs/types/btree/remove/module.f.d.ts +0 -14
  916. package/fjs/types/btree/remove/module.f.js +0 -186
  917. package/fjs/types/btree/remove/proof.f.js +0 -484
  918. package/fjs/types/btree/set/module.f.d.ts +0 -8
  919. package/fjs/types/btree/set/module.f.js +0 -128
  920. package/fjs/types/btree/set/proof.f.js +0 -368
  921. package/fjs/types/btree/types/module.f.d.ts +0 -23
  922. package/fjs/types/btree/types/module.f.js +0 -9
  923. package/fjs/types/byte_set/module.f.d.ts +0 -16
  924. package/fjs/types/byte_set/module.f.js +0 -30
  925. package/fjs/types/byte_set/proof.f.d.ts +0 -11
  926. package/fjs/types/byte_set/proof.f.js +0 -79
  927. package/fjs/types/function/compare/module.f.d.ts +0 -49
  928. package/fjs/types/function/compare/module.f.js +0 -51
  929. package/fjs/types/function/compare/proof.f.js +0 -47
  930. package/fjs/types/function/module.f.d.ts +0 -28
  931. package/fjs/types/function/module.f.js +0 -19
  932. package/fjs/types/function/operator/module.f.d.ts +0 -48
  933. package/fjs/types/function/operator/module.f.js +0 -16
  934. package/fjs/types/function/operator/proof.f.js +0 -53
  935. package/fjs/types/function/proof.f.js +0 -10
  936. package/fjs/types/list/module.f.d.ts +0 -75
  937. package/fjs/types/list/module.f.js +0 -190
  938. package/fjs/types/list/proof.f.d.ts +0 -31
  939. package/fjs/types/list/proof.f.js +0 -330
  940. package/fjs/types/map/module.f.d.ts +0 -2
  941. package/fjs/types/map/module.f.js +0 -22
  942. package/fjs/types/map/proof.f.js +0 -22
  943. package/fjs/types/nibble_set/module.f.d.ts +0 -27
  944. package/fjs/types/nibble_set/module.f.js +0 -25
  945. package/fjs/types/nibble_set/proof.f.js +0 -60
  946. package/fjs/types/nominal/module.f.d.ts +0 -22
  947. package/fjs/types/nominal/module.f.js +0 -13
  948. package/fjs/types/nominal/proof.f.d.ts +0 -4
  949. package/fjs/types/nominal/proof.f.js +0 -48
  950. package/fjs/types/nullable/module.f.d.ts +0 -21
  951. package/fjs/types/nullable/module.f.js +0 -29
  952. package/fjs/types/nullable/proof.f.js +0 -29
  953. package/fjs/types/number/module.f.d.ts +0 -16
  954. package/fjs/types/number/module.f.js +0 -30
  955. package/fjs/types/number/proof.f.js +0 -124
  956. package/fjs/types/object/module.f.d.ts +0 -54
  957. package/fjs/types/object/module.f.js +0 -25
  958. package/fjs/types/object/proof.f.d.ts +0 -4
  959. package/fjs/types/object/proof.f.js +0 -14
  960. package/fjs/types/ordered_map/module.f.d.ts +0 -17
  961. package/fjs/types/ordered_map/module.f.js +0 -22
  962. package/fjs/types/ordered_map/proof.f.js +0 -73
  963. package/fjs/types/patricia_trie/module.f.d.ts +0 -25
  964. package/fjs/types/patricia_trie/module.f.js +0 -35
  965. package/fjs/types/patricia_trie/proof.f.d.ts +0 -13
  966. package/fjs/types/patricia_trie/proof.f.js +0 -121
  967. package/fjs/types/prime_field/module.f.d.ts +0 -62
  968. package/fjs/types/prime_field/module.f.js +0 -112
  969. package/fjs/types/prime_field/proof.f.js +0 -128
  970. package/fjs/types/range/module.f.d.ts +0 -8
  971. package/fjs/types/range/module.f.js +0 -2
  972. package/fjs/types/range/proof.f.js +0 -9
  973. package/fjs/types/range_map/module.f.d.ts +0 -92
  974. package/fjs/types/range_map/module.f.js +0 -82
  975. package/fjs/types/range_map/proof.f.d.ts +0 -6
  976. package/fjs/types/range_map/proof.f.js +0 -151
  977. package/fjs/types/range_set/module.f.d.ts +0 -5
  978. package/fjs/types/range_set/module.f.js +0 -16
  979. package/fjs/types/range_set/proof.f.d.ts +0 -1
  980. package/fjs/types/range_set/proof.f.js +0 -19
  981. package/fjs/types/result/module.d.ts +0 -3
  982. package/fjs/types/result/module.f.d.ts +0 -61
  983. package/fjs/types/result/module.f.js +0 -54
  984. package/fjs/types/result/module.js +0 -19
  985. package/fjs/types/result/proof.f.js +0 -31
  986. package/fjs/types/rtti/common/module.f.d.ts +0 -121
  987. package/fjs/types/rtti/common/module.f.js +0 -94
  988. package/fjs/types/rtti/common/proof.f.d.ts +0 -8
  989. package/fjs/types/rtti/common/proof.f.js +0 -51
  990. package/fjs/types/rtti/module.f.d.ts +0 -75
  991. package/fjs/types/rtti/module.f.js +0 -34
  992. package/fjs/types/rtti/parse/module.f.d.ts +0 -36
  993. package/fjs/types/rtti/parse/module.f.js +0 -114
  994. package/fjs/types/rtti/parse/proof.f.d.ts +0 -115
  995. package/fjs/types/rtti/parse/proof.f.js +0 -334
  996. package/fjs/types/rtti/proof.f.d.ts +0 -5
  997. package/fjs/types/rtti/proof.f.js +0 -16
  998. package/fjs/types/rtti/ts/module.f.d.ts +0 -118
  999. package/fjs/types/rtti/ts/module.f.js +0 -59
  1000. package/fjs/types/rtti/ts/proof.f.js +0 -75
  1001. package/fjs/types/rtti/validate/module.f.d.ts +0 -4
  1002. package/fjs/types/rtti/validate/module.f.js +0 -74
  1003. package/fjs/types/rtti/validate/proof.f.d.ts +0 -118
  1004. package/fjs/types/rtti/validate/proof.f.js +0 -349
  1005. package/fjs/types/sorted_list/module.f.d.ts +0 -26
  1006. package/fjs/types/sorted_list/module.f.js +0 -51
  1007. package/fjs/types/sorted_list/proof.f.d.ts +0 -4
  1008. package/fjs/types/sorted_list/proof.f.js +0 -46
  1009. package/fjs/types/sorted_set/module.f.d.ts +0 -33
  1010. package/fjs/types/sorted_set/module.f.js +0 -5
  1011. package/fjs/types/sorted_set/proof.f.d.ts +0 -6
  1012. package/fjs/types/sorted_set/proof.f.js +0 -67
  1013. package/fjs/types/string/module.f.d.ts +0 -24
  1014. package/fjs/types/string/module.f.js +0 -35
  1015. package/fjs/types/string/proof.f.js +0 -77
  1016. package/fjs/types/string_set/module.f.d.ts +0 -30
  1017. package/fjs/types/string_set/module.f.js +0 -37
  1018. package/fjs/types/string_set/proof.f.js +0 -43
  1019. package/fjs/types/ts/module.f.d.ts +0 -23
  1020. package/fjs/types/ts/module.f.js +0 -27
  1021. package/fjs/types/ts/proof.f.js +0 -86
  1022. package/fjs/types/uint8array/module.f.d.ts +0 -13
  1023. package/fjs/types/uint8array/module.f.js +0 -34
  1024. package/fjs/types/uint8array/proof.f.d.ts +0 -17
  1025. package/fjs/types/uint8array/proof.f.js +0 -64
  1026. package/fjs/website/module.f.d.ts +0 -3
  1027. package/fjs/website/module.f.js +0 -14
  1028. package/fjs/website/proof.f.js +0 -13
  1029. package/nanvm-lib/tests/proof.f.d.ts +0 -122
  1030. package/nanvm-lib/tests/proof.f.js +0 -330
  1031. package/todo/031-json.f.js +0 -241
  1032. package/todo/proof.f.d.ts +0 -20
  1033. package/todo/proof.f.js +0 -62
  1034. /package/fjs/asn.1/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1035. /package/fjs/asserts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1036. /package/fjs/{base_n/proof.f.d.ts → basen/proof.f.d.mts} +0 -0
  1037. /package/fjs/bnf/token_symbol/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1038. /package/{todo/031-json.f.d.ts → fjs/ci/common/types.js} +0 -0
  1039. /package/fjs/ci/node/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1040. /package/fjs/crypto/hmac/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1041. /package/fjs/crypto/pow/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1042. /package/fjs/crypto/vdf/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1043. /package/fjs/dev/package_json/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1044. /package/fjs/djs/ast/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1045. /package/fjs/djs/examples/{input.f.d.ts → input.f.d.mts} +0 -0
  1046. /package/fjs/djs/examples/{m.f.d.ts → m.f.d.mts} +0 -0
  1047. /package/fjs/djs/parser/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1048. /package/fjs/djs/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1049. /package/fjs/djs/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1050. /package/fjs/djs/tokenizer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1051. /package/fjs/djs/transpiler/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1052. /package/fjs/effects/node/memory/{proof.d.ts → proof.d.mts} +0 -0
  1053. /package/fjs/fsc/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1054. /package/fjs/fsm/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1055. /package/fjs/media/html/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1056. /package/fjs/media/json/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1057. /package/fjs/media/json/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1058. /package/fjs/media/nix/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1059. /package/fjs/media/type/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1060. /package/fjs/{module.d.ts → module.d.mts} +0 -0
  1061. /package/fjs/path/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1062. /package/fjs/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1063. /package/fjs/protocol/json_rpc/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1064. /package/fjs/sul/id/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1065. /package/fjs/sul/level/literal/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1066. /package/fjs/text/ascii/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1067. /package/fjs/text/code_point/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1068. /package/fjs/text/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1069. /package/fjs/text/sgr/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1070. /package/fjs/text/utf8/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1071. /package/fjs/types/array/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1072. /package/fjs/types/bigfloat/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1073. /package/fjs/types/bit_vec/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1074. /package/fjs/types/btree/remove/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1075. /package/fjs/types/btree/set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1076. /package/fjs/{basen/base128/proof.f.d.ts → types/function/compare/proof.f.d.mts} +0 -0
  1077. /package/fjs/types/function/operator/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1078. /package/fjs/types/function/{compare/proof.f.d.ts → proof.f.d.mts} +0 -0
  1079. /package/fjs/types/map/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1080. /package/fjs/types/nibble_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1081. /package/fjs/types/nullable/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1082. /package/fjs/types/number/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1083. /package/fjs/types/option/{module.f.d.ts → types.d.ts} +0 -0
  1084. /package/fjs/types/option/{module.f.js → types.js} +0 -0
  1085. /package/fjs/types/ordered_map/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1086. /package/fjs/types/phantom/{module.f.d.ts → types.d.ts} +0 -0
  1087. /package/fjs/types/phantom/{module.f.js → types.js} +0 -0
  1088. /package/fjs/types/prime_field/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1089. /package/fjs/types/{function/proof.f.d.ts → range/proof.f.d.mts} +0 -0
  1090. /package/fjs/types/{range/proof.f.d.ts → range_set/proof.f.d.mts} +0 -0
  1091. /package/fjs/types/result/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1092. /package/fjs/types/rtti/ts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1093. /package/fjs/types/string/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1094. /package/fjs/types/string_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1095. /package/fjs/types/ts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1096. /package/fjs/website/{proof.f.d.ts → proof.f.d.mts} +0 -0
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Shared Unicode code-point contract for the UTF-8 and UTF-16 decoders: the
3
+ * error-tag mask used to flag invalid sequences, the streaming `decoder`
4
+ * factory that wraps a per-unit step and an end-of-input step into a single
5
+ * `List`-to-`List` conversion, and the code-point classification predicates
6
+ * (BMP / surrogate / supplementary-plane / overall validity) that both codecs
7
+ * share.
8
+ *
9
+ * @module
10
+ */
11
+
12
+ import { flat, stateScan } from '../../types/list/module.f.mjs'
13
+ /** @import { List } from '../../types/list/types.ts' */
14
+
15
+ /** @import { StateScan } from '../../types/function/operator/types.ts' */
16
+
17
+ import { contains } from '../../types/range/module.f.mjs'
18
+
19
+ //
20
+
21
+ /**
22
+ * Error mask used to tag invalid code points or encoding errors. A decoded
23
+ * value with this bit set represents a malformed unit rather than a valid
24
+ * code point.
25
+ */
26
+ export const errorMask = 0b1000_0000_0000_0000_0000_0000_0000_0000
27
+
28
+ /**
29
+ * Builds a streaming decoder from the two direction-specific steps.
30
+ *
31
+ * Decoding starts from the empty (`null`) state. The input is processed unit by
32
+ * unit through `byteOp`, then a trailing end-of-input marker drives `eofOp` to
33
+ * flush any leftover decoding state.
34
+ *
35
+ * @template Unit
36
+ * @template S
37
+ * @template Cp
38
+ * @param {StateScan<Unit, S | null, List<Cp>>} byteOp - The per-unit decoding step.
39
+ * @param {(state: S | null) => readonly [List<Cp>, S | null]} eofOp - The end-of-input step that flushes the remaining state.
40
+ * @returns {(input: List<Unit>) => List<Cp>} A function converting a list of code units into a list of code points.
41
+ */
42
+ export const decoder = (
43
+ byteOp,
44
+ eofOp,
45
+ ) => {
46
+ /** @type {StateScan<Unit | null, S | null, List<Cp>>} */
47
+ const op = (input, state) =>
48
+ input === null ? eofOp(state) : byteOp(input, state)
49
+ const run = stateScan(op)(null)
50
+ return input => flat(run(flat(/** @type {List<List<Unit|null>>} */([input, [null]]))))
51
+ }
52
+
53
+ /**
54
+ * Unicode code-point classification boundaries. The surrogate block
55
+ * (`0xD800`–`0xDFFF`) splits into a high half (`0xD800`–`0xDBFF`) and a low half
56
+ * (`0xDC00`–`0xDFFF`); the BMP ends at `0xFFFF` and `maxCodePoint` (`0x10FFFF`)
57
+ * is the largest assignable code point. Every predicate below is derived from
58
+ * these constants so the surrogate bounds and the maximum appear exactly once.
59
+ */
60
+ const surrogateMin = /** @type {const} */ 0xd800
61
+ const lowSurrogateMin = /** @type {const} */ 0xdc00
62
+ const surrogateMax = /** @type {const} */ 0xdfff
63
+ const bmpMax = /** @type {const} */ 0xffff
64
+ const maxCodePoint = /** @type {const} */ 0x10_ffff
65
+
66
+ /**
67
+ * Checks whether the 16-bit word (U16) is a high surrogate.
68
+ * Range: 0xD800 - 0xDBFF.
69
+ */
70
+ export const isHighSurrogate = contains(surrogateMin, lowSurrogateMin - 1)
71
+
72
+ /**
73
+ * Checks whether the 16-bit word (U16) is a low surrogate.
74
+ * Range: 0xDC00 - 0xDFFF.
75
+ */
76
+ export const isLowSurrogate = contains(lowSurrogateMin, surrogateMax)
77
+
78
+ /**
79
+ * Ranges of code points for the lower (Low) and higher (High) parts of the BMP
80
+ * (Basic Multilingual Plane), i.e. the BMP with the surrogate block removed.
81
+ */
82
+ const lowBmp = contains(0x0000, surrogateMin - 1)
83
+ const highBmp = contains(surrogateMax + 1, bmpMax)
84
+
85
+ /**
86
+ * Checks whether the code point is in the BMP range.
87
+ * BMP is the main Unicode plane that covers code points 0x0000 - 0xFFFF, except
88
+ * for the range of surrogates.
89
+ *
90
+ * @type {(codePoint: number) => boolean}
91
+ */
92
+ export const isBmpCodePoint = codePoint =>
93
+ lowBmp(codePoint) || highBmp(codePoint)
94
+
95
+ /**
96
+ * Checks whether the code point belongs to a supplementary (additional) Unicode
97
+ * plane. Supplementary planes cover code points from 0x010000 to 0x10FFFF.
98
+ */
99
+ export const isSupplementaryPlane = contains(bmpMax + 1, maxCodePoint)
100
+
101
+ /**
102
+ * The full assignable code-point range and the surrogate block, used to gate
103
+ * overall validity below.
104
+ */
105
+ const validRange = contains(0, maxCodePoint)
106
+ const isSurrogate = contains(surrogateMin, surrogateMax)
107
+
108
+ /**
109
+ * Checks whether the code point is a valid scalar value: within the assignable
110
+ * Unicode range (0x0000 - 0x10FFFF) and not a surrogate.
111
+ *
112
+ * @type {(c: number) => boolean}
113
+ */
114
+ export const isValidCodePoint = c =>
115
+ validRange(c) && !isSurrogate(c)
116
+
117
+ /**
118
+ * The control-character blocks and the whitespace exception used to separate
119
+ * *text* code points from binary control bytes. C0 controls span 0x0000 -
120
+ * 0x001F; 0x007F (DEL) and the C1 controls (0x0080 - 0x009F) form one
121
+ * contiguous run; the whitespace block 0x0009 - 0x000D (TAB, LF, VT, FF, CR) is
122
+ * the only control range legitimate in text.
123
+ */
124
+ const c0Control = contains(0x00, 0x1f)
125
+ const delAndC1Control = contains(0x7f, 0x9f)
126
+ const textWhitespace = contains(0x09, 0x0d)
127
+
128
+ /**
129
+ * Checks whether the code point is a *text* code point — distinct from
130
+ * {@link isValidCodePoint}, which gates well-formedness for decoding. A code
131
+ * point is text unless it is a control character: the controls are 0x0000 -
132
+ * 0x001F, 0x007F (DEL), and 0x0080 - 0x009F (C1), minus the whitespace block
133
+ * 0x0009 - 0x000D (TAB, LF, VT, FF, CR), which is legitimate in text. Every
134
+ * code point at or above 0x0020 that is not DEL or a C1 control is text.
135
+ *
136
+ * @type {(c: number) => boolean}
137
+ */
138
+ export const isTextCodePoint = c =>
139
+ textWhitespace(c) || !(c0Control(c) || delAndC1Control(c))
@@ -0,0 +1,80 @@
1
+ import {
2
+ isBmpCodePoint,
3
+ isHighSurrogate,
4
+ isLowSurrogate,
5
+ isSupplementaryPlane,
6
+ isTextCodePoint,
7
+ isValidCodePoint,
8
+ } from './module.f.mjs'
9
+
10
+ /** @type {(actual: boolean, expected: boolean) => void} */
11
+ const check = (actual, expected) => {
12
+ if (actual !== expected) { throw `${actual} !== ${expected}` }
13
+ }
14
+
15
+ export const proof = {
16
+ isHighSurrogate: [
17
+ () => check(isHighSurrogate(0xd800), true),
18
+ () => check(isHighSurrogate(0xdbff), true),
19
+ () => check(isHighSurrogate(0xd7ff), false),
20
+ () => check(isHighSurrogate(0xdc00), false),
21
+ ],
22
+ isLowSurrogate: [
23
+ () => check(isLowSurrogate(0xdc00), true),
24
+ () => check(isLowSurrogate(0xdfff), true),
25
+ () => check(isLowSurrogate(0xdbff), false),
26
+ () => check(isLowSurrogate(0xe000), false),
27
+ ],
28
+ isBmpCodePoint: [
29
+ // lowBmp branch true
30
+ () => check(isBmpCodePoint(0x0000), true),
31
+ () => check(isBmpCodePoint(0xd7ff), true),
32
+ // lowBmp false, highBmp true
33
+ () => check(isBmpCodePoint(0xe000), true),
34
+ () => check(isBmpCodePoint(0xffff), true),
35
+ // both false: surrogate and supplementary
36
+ () => check(isBmpCodePoint(0xd800), false),
37
+ () => check(isBmpCodePoint(0x10000), false),
38
+ ],
39
+ isSupplementaryPlane: [
40
+ () => check(isSupplementaryPlane(0x10000), true),
41
+ () => check(isSupplementaryPlane(0x10ffff), true),
42
+ () => check(isSupplementaryPlane(0xffff), false),
43
+ () => check(isSupplementaryPlane(0x110000), false),
44
+ ],
45
+ isValidCodePoint: [
46
+ // in range, not surrogate
47
+ () => check(isValidCodePoint(0x0000), true),
48
+ () => check(isValidCodePoint(0x10ffff), true),
49
+ // in range, surrogate -> invalid
50
+ () => check(isValidCodePoint(0xd800), false),
51
+ () => check(isValidCodePoint(0xdfff), false),
52
+ // out of range -> validRange short-circuits false
53
+ () => check(isValidCodePoint(-1), false),
54
+ () => check(isValidCodePoint(0x110000), false),
55
+ ],
56
+ isTextCodePoint: [
57
+ // C0 controls are binary...
58
+ () => check(isTextCodePoint(0x00), false), // NUL
59
+ () => check(isTextCodePoint(0x08), false), // BS
60
+ () => check(isTextCodePoint(0x1b), false), // ESC
61
+ () => check(isTextCodePoint(0x1f), false), // US
62
+ // ...except the whitespace block 0x09 - 0x0D
63
+ () => check(isTextCodePoint(0x09), true), // TAB
64
+ () => check(isTextCodePoint(0x0a), true), // LF
65
+ () => check(isTextCodePoint(0x0b), true), // VT
66
+ () => check(isTextCodePoint(0x0c), true), // FF
67
+ () => check(isTextCodePoint(0x0d), true), // CR
68
+ // printable ASCII is text
69
+ () => check(isTextCodePoint(0x20), true), // space
70
+ () => check(isTextCodePoint(0x41), true), // 'A'
71
+ () => check(isTextCodePoint(0x7e), true), // '~'
72
+ // DEL and the C1 controls are binary
73
+ () => check(isTextCodePoint(0x7f), false), // DEL
74
+ () => check(isTextCodePoint(0x80), false), // C1 start
75
+ () => check(isTextCodePoint(0x9f), false), // C1 end
76
+ // above C1 is text again
77
+ () => check(isTextCodePoint(0xa0), true), // NBSP
78
+ () => check(isTextCodePoint(0x10ffff), true),
79
+ ],
80
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Indented text `Block` rendering and UTF-8 helpers: `flat` flattens a nested
3
+ * block into prefixed lines, while `utf8`/`utf8ToString` convert between
4
+ * strings and MSB-first UTF-8 bit vectors.
5
+ *
6
+ * @module
7
+ */
8
+ import type { List } from '../types/list/types.ts';
9
+ import type { Nullable } from '../types/nullable/types.ts';
10
+ import type { Block, Utf8 } from './types.ts';
11
+ /** @import { Nullable } from '../types/nullable/types.ts' */
12
+ /** @import { Block, Item, Utf8 } from './types.ts' */
13
+ /** @type {(indent: string) => (text: Block) => List<string>} */
14
+ export declare const flat: (indent: string) => (text: Block) => List<string>;
15
+ /**
16
+ * Converts a string to an UTF-8, represented as an MSB first bit vector,
17
+ * returning `null` instead of throwing if the result would exceed
18
+ * `maxLength`.
19
+ *
20
+ * @param {string} s The input string to be converted.
21
+ * @returns {Nullable<Utf8>} The resulting UTF-8 bit vector, MSB first, or `null` on overflow.
22
+ */
23
+ export declare const tryUtf8: (s: string) => Nullable<Utf8>;
24
+ /**
25
+ * Converts a string to an UTF-8, represented as an MSB first bit vector.
26
+ *
27
+ * @param s The input string to be converted.
28
+ * @returns The resulting UTF-8 bit vector, MSB first.
29
+ *
30
+ * @type {(s: string) => Utf8}
31
+ */
32
+ export declare const utf8: (s: string) => Utf8;
33
+ /**
34
+ * Converts a UTF-8 bit vector with MSB first encoding to a string.
35
+ *
36
+ * @param {Utf8} msbV The UTF-8 bit vector with MSB first encoding.
37
+ * @returns {string} The resulting string.
38
+ */
39
+ export declare const utf8ToString: (msbV: Utf8) => string;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Indented text `Block` rendering and UTF-8 helpers: `flat` flattens a nested
3
+ * block into prefixed lines, while `utf8`/`utf8ToString` convert between
4
+ * strings and MSB-first UTF-8 bit vectors.
5
+ *
6
+ * @module
7
+ */
8
+
9
+ import { msb, tryU8ListToVec, u8List } from '../types/bit_vec/module.f.mjs'
10
+ import { flatMap } from '../types/list/module.f.mjs'
11
+ /** @import { List } from '../types/list/types.ts' */
12
+ import { fromCodePointList, toCodePointList } from './utf8/module.f.mjs'
13
+ import { stringToCodePointList, codePointListToString } from './utf16/module.f.mjs'
14
+ import { mapUnwrap } from '../types/nullable/module.f.mjs'
15
+ /** @import { Nullable } from '../types/nullable/types.ts' */
16
+ /** @import { Block, Item, Utf8 } from './types.ts' */
17
+
18
+ /** @type {(indent: string) => (text: Block) => List<string>} */
19
+ export const flat = indent => {
20
+ /** @param {string} prefix */
21
+ const f = prefix => {
22
+ /** @type {(item: Item) => List<string>} */
23
+ const g = item =>
24
+ typeof (item) === 'string' ? [`${prefix}${item}`] : f(`${prefix}${indent}`)(item)
25
+ return flatMap(g)
26
+ }
27
+ return f('')
28
+ }
29
+
30
+ const tryU8ListToVecMsb = tryU8ListToVec(msb)
31
+
32
+ /**
33
+ * Converts a string to an UTF-8, represented as an MSB first bit vector,
34
+ * returning `null` instead of throwing if the result would exceed
35
+ * `maxLength`.
36
+ *
37
+ * @param {string} s The input string to be converted.
38
+ * @returns {Nullable<Utf8>} The resulting UTF-8 bit vector, MSB first, or `null` on overflow.
39
+ */
40
+ export const tryUtf8 = s =>
41
+ tryU8ListToVecMsb(fromCodePointList(stringToCodePointList(s)))
42
+
43
+ /**
44
+ * Converts a string to an UTF-8, represented as an MSB first bit vector.
45
+ *
46
+ * @param s The input string to be converted.
47
+ * @returns The resulting UTF-8 bit vector, MSB first.
48
+ *
49
+ * @type {(s: string) => Utf8}
50
+ */
51
+ export const utf8 =
52
+ mapUnwrap(tryUtf8)
53
+
54
+ /**
55
+ * Converts a UTF-8 bit vector with MSB first encoding to a string.
56
+ *
57
+ * @param {Utf8} msbV The UTF-8 bit vector with MSB first encoding.
58
+ * @returns {string} The resulting string.
59
+ */
60
+ export const utf8ToString = msbV =>
61
+ codePointListToString(toCodePointList(u8List(msb)(msbV)))
@@ -0,0 +1,48 @@
1
+ import { assertEq, assertNotNullish } from '../asserts/module.f.mjs'
2
+ /** @import { Block } from './types.ts' */
3
+ import { flat, utf8, utf8ToString, tryUtf8 } from './module.f.mjs'
4
+ import { join } from '../types/string/module.f.mjs'
5
+ import { empty, maxLengthBytes } from '../types/bit_vec/module.f.mjs'
6
+
7
+ const overflowStr = 'a'.repeat(Number(maxLengthBytes) + 1)
8
+
9
+ export const proof = {
10
+ block: () => {
11
+ /** @type {Block} */
12
+ const text = [
13
+ 'a',
14
+ 'b',
15
+ () => [
16
+ 'c',
17
+ () => ['d'],
18
+ ],
19
+ 'e',
20
+ ]
21
+ const result = join('\n')(flat(':')(text))
22
+ assertEq(result, 'a\nb\n:c\n::d\ne')
23
+ },
24
+ encoding: () => {
25
+ const v = utf8('Hello world!')
26
+ const r = utf8ToString(v)
27
+ assertEq(r, 'Hello world!')
28
+ },
29
+ tryUtf8RoundTrip: () => {
30
+ const v = assertNotNullish(tryUtf8('Hello world!'))
31
+ assertEq(v, utf8('Hello world!'))
32
+ assertEq(utf8ToString(v), 'Hello world!')
33
+ },
34
+ tryUtf8Empty: () => {
35
+ assertEq(tryUtf8(''), empty)
36
+ },
37
+ tryUtf8Overflow: {
38
+ // One byte past `maxLengthBytes`; `tryUtf8` should report `null`
39
+ // instead of building an oversized `bigint`, and the throwing `utf8`
40
+ // wrapper should raise on the same input.
41
+ try: () => {
42
+ assertEq(tryUtf8(overflowStr), null)
43
+ },
44
+ throw: () => {
45
+ utf8(overflowStr)
46
+ },
47
+ },
48
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * ANSI Control Sequence Introducer (CSI) and Select Graphic Rendition (SGR)
3
+ * helpers for writing formatted terminal output and TTY-aware console streams.
4
+ *
5
+ * See `./types.ts` for the type-level API.
6
+ *
7
+ * @module
8
+ */
9
+ import type { Write, WriteConsoles, NodeProgramOptions } from '../../effects/node/types.ts';
10
+ import type { Effect } from '../../effects/types.ts';
11
+ import type { Stdout, WriteText } from './types.ts';
12
+ /** @import { Stdout, WriteText, CsiConsole } from './types.ts' */
13
+ /** @type {string} */
14
+ export declare const backspace: string;
15
+ export type _End = 'm';
16
+ export type _Csi = (code: number | string) => string;
17
+ /**
18
+ * Control Sequence Introducer (CSI) escape sequence.
19
+ * https://en.wikipedia.org/wiki/ANSI_escape_code#Control_Sequence_Introducer_commands
20
+ *
21
+ * @param end - The final character that indicates the type of sequence.
22
+ * @returns A function that takes a code (number or string) and returns the complete ANSI escape sequence.
23
+ *
24
+ * @type {(end: _End) => _Csi}
25
+ */
26
+ export declare const csi: (end: _End) => _Csi;
27
+ /**
28
+ * Specialization of CSI for Select Graphic Rendition (SGR) sequences.
29
+ * https://en.wikipedia.org/wiki/ANSI_escape_code#SGR
30
+ *
31
+ * @type {_Csi}
32
+ */
33
+ export declare const sgr: _Csi;
34
+ /** Resets all SGR styles to terminal defaults. */
35
+ export declare const reset: string;
36
+ /** Enables bold/intense text rendering when supported by the terminal. */
37
+ export declare const bold: string;
38
+ /** Applies red foreground color to subsequent text. */
39
+ export declare const fgRed: string;
40
+ /** Applies green foreground color to subsequent text. */
41
+ export declare const fgGreen: string;
42
+ /**
43
+ * Creates a stateful text writer that rewrites the previous value using backspaces.
44
+ *
45
+ * @param stdout - Destination output stream.
46
+ * @returns A recursive writer that replaces prior text on each call.
47
+ *
48
+ * @type {(stdout: Stdout) => WriteText}
49
+ */
50
+ export declare const createConsoleText: (stdout: Stdout) => WriteText;
51
+ /**
52
+ * Effect-based TTY-aware write. Strips ANSI SGR sequences when the target
53
+ * stream is not a TTY, then encodes to UTF-8 and emits a `Write` effect.
54
+ * Does NOT append `\n` — callers are responsible for line termination.
55
+ *
56
+ * @type {(options: NodeProgramOptions) => (stream: WriteConsoles) => (s: string) => Effect<Write, void>}
57
+ */
58
+ export declare const csiWrite: (options: NodeProgramOptions) => (stream: WriteConsoles) => (s: string) => Effect<Write, void>;
@@ -0,0 +1,99 @@
1
+ /**
2
+ * ANSI Control Sequence Introducer (CSI) and Select Graphic Rendition (SGR)
3
+ * helpers for writing formatted terminal output and TTY-aware console streams.
4
+ *
5
+ * See `./types.ts` for the type-level API.
6
+ *
7
+ * @module
8
+ */
9
+
10
+ // C0 control codes
11
+ // https://en.wikipedia.org/wiki/ANSI_escape_code#C0_control_codes
12
+
13
+ import { write } from '../../effects/node/module.f.mjs'
14
+ /** @import { Write, WriteConsoles, NodeProgramOptions } from '../../effects/node/types.ts' */
15
+ /** @import { Effect } from '../../effects/types.ts' */
16
+ import { utf8 } from "../module.f.mjs"
17
+ /** @import { Stdout, WriteText, CsiConsole } from './types.ts' */
18
+
19
+ /** @type {string} */
20
+ export const backspace = '\x08'
21
+
22
+ //
23
+
24
+ /** @typedef {'m'} _End */
25
+
26
+ /** @typedef {(code: number | string) => string} _Csi */
27
+
28
+ const begin = '\x1b['
29
+
30
+ /**
31
+ * Control Sequence Introducer (CSI) escape sequence.
32
+ * https://en.wikipedia.org/wiki/ANSI_escape_code#Control_Sequence_Introducer_commands
33
+ *
34
+ * @param end - The final character that indicates the type of sequence.
35
+ * @returns A function that takes a code (number or string) and returns the complete ANSI escape sequence.
36
+ *
37
+ * @type {(end: _End) => _Csi}
38
+ */
39
+ export const csi = end => code =>
40
+ `${begin}${code.toString()}${end}`
41
+
42
+ /**
43
+ * Specialization of CSI for Select Graphic Rendition (SGR) sequences.
44
+ * https://en.wikipedia.org/wiki/ANSI_escape_code#SGR
45
+ *
46
+ * @type {_Csi}
47
+ */
48
+ export const sgr = csi('m')
49
+
50
+ /** Resets all SGR styles to terminal defaults. */
51
+ export const reset = /** @type {string} */ (sgr(0))
52
+ /** Enables bold/intense text rendering when supported by the terminal. */
53
+ export const bold = /** @type {string} */ (sgr(1))
54
+ /** Applies red foreground color to subsequent text. */
55
+ export const fgRed = /** @type {string} */ (sgr(31))
56
+ /** Applies green foreground color to subsequent text. */
57
+ export const fgGreen = /** @type {string} */ (sgr(32))
58
+
59
+ const { max } = Math
60
+
61
+ /** @type {(old: string) => (text: string) => string} */
62
+ const replace = old => text => {
63
+ const len = old.length
64
+ const suffixLength = max(0, len - text.length)
65
+ return backspace.repeat(len) + text + " ".repeat(suffixLength) + backspace.repeat(suffixLength)
66
+ }
67
+
68
+ /**
69
+ * Creates a stateful text writer that rewrites the previous value using backspaces.
70
+ *
71
+ * @param stdout - Destination output stream.
72
+ * @returns A recursive writer that replaces prior text on each call.
73
+ *
74
+ * @type {(stdout: Stdout) => WriteText}
75
+ */
76
+ export const createConsoleText = stdout => {
77
+ /** @type {(old: string) => WriteText} */
78
+ const f = old => text => {
79
+ stdout.write(replace(old)(text))
80
+ return f(text)
81
+ }
82
+ return f('')
83
+ }
84
+
85
+ /** @type {(isTTY: boolean) => (s: string) => string} */
86
+ const str = isTTY => s =>
87
+ isTTY ? s : s.replace(/\x1b\[[0-9;]*m/g, '')
88
+
89
+ /**
90
+ * Effect-based TTY-aware write. Strips ANSI SGR sequences when the target
91
+ * stream is not a TTY, then encodes to UTF-8 and emits a `Write` effect.
92
+ * Does NOT append `\n` — callers are responsible for line termination.
93
+ *
94
+ * @type {(options: NodeProgramOptions) => (stream: WriteConsoles) => (s: string) => Effect<Write, void>}
95
+ */
96
+ export const csiWrite = ({ std }) => stream => {
97
+ const toStr = str(std[stream].isTTY)
98
+ return s => write(stream, utf8(toStr(s)))
99
+ }
@@ -0,0 +1,39 @@
1
+ import { fgRed, reset, createConsoleText, backspace, csiWrite } from './module.f.mjs'
2
+ import { virtual, emptyState, defaultNodeProgramOptions } from '../../effects/node/virtual/module.f.mjs'
3
+ /** @import { NodeProgramOptions } from '../../effects/node/types.ts' */
4
+ import { assert, assertEq } from '../../asserts/module.f.mjs'
5
+
6
+ /** @type {(isTTY: boolean) => NodeProgramOptions} */
7
+ const makeOptions = isTTY =>
8
+ ({ ...defaultNodeProgramOptions, std: { stdout: { isTTY }, stderr: { isTTY } } })
9
+
10
+ export const proof = [
11
+ () => {
12
+ assertEq(fgRed, '\x1b[31m', new Error('Test failed: sgr(0)'))
13
+ },
14
+ () => {
15
+ /** @type {string[]} */
16
+ const output = []
17
+ const stdout = { write: (/** @type {string} */ s) => { output.push(s) } }
18
+ const writer1 = createConsoleText(stdout)
19
+ const writer2 = writer1('hello')
20
+ assert(output[0] === 'hello')
21
+ // replacing 'hello' (len=5) with 'hi' (len=2): suffixLength=3
22
+ writer2('hi')
23
+ const expected = backspace.repeat(5) + 'hi' + ' '.repeat(3) + backspace.repeat(3)
24
+ assertEq(output[1], expected)
25
+ },
26
+ () => {
27
+ // csiWrite with isTTY=false strips ANSI SGR sequences
28
+ const writeFn = csiWrite(makeOptions(false))('stdout')
29
+ const [state] = virtual(emptyState)(writeFn(fgRed + 'hello' + reset))
30
+ assertEq(state.stdout, 'hello', ['expected ANSI stripped', state.stdout])
31
+ },
32
+ () => {
33
+ // csiWrite with isTTY=true preserves ANSI SGR sequences
34
+ const writeFn = csiWrite(makeOptions(true))('stdout')
35
+ const [state] = virtual(emptyState)(writeFn(fgRed + 'hello' + reset))
36
+ const expected = fgRed + 'hello' + reset
37
+ assertEq(state.stdout, expected, ['expected ANSI preserved', state.stdout])
38
+ },
39
+ ]
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Types for ANSI CSI/SGR terminal output helpers.
3
+ *
4
+ * @module
5
+ */
6
+ export type Stdout = {
7
+ /** Writes a string to the output stream. */
8
+ readonly write: (s: string) => void;
9
+ };
10
+ /** Stateful writer that updates previously printed text in-place. */
11
+ export type WriteText = (text: string) => WriteText;
12
+ export type CsiConsole = (s: string) => void;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Types for ANSI CSI/SGR terminal output helpers.
3
+ *
4
+ * @module
5
+ */
6
+ export {};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Types for indented text blocks and UTF-8 bit vectors.
3
+ *
4
+ * @module
5
+ */
6
+ import type { Vec } from '../types/bit_vec/types.ts';
7
+ import type { List } from '../types/list/types.ts';
8
+ type _ItemArray = readonly Item[];
9
+ type _ItemThunk = () => List<Item>;
10
+ export type Block = _ItemThunk | _ItemArray;
11
+ export type Item = string | _ItemArray | _ItemThunk;
12
+ export type Utf8 = Vec;
13
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Types for indented text blocks and UTF-8 bit vectors.
3
+ *
4
+ * @module
5
+ */
6
+ export {};