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,42 @@
1
+ export declare const proof: {
2
+ dialectAndMediaType: () => void;
3
+ isHash: {
4
+ validHash: () => void;
5
+ httpsRejected: () => void;
6
+ arbitraryStringRejected: () => void;
7
+ };
8
+ validate: {
9
+ allFieldsPresent: () => void;
10
+ nonHashSubjectAccepted: () => void;
11
+ multiParentAccepted: () => void;
12
+ missingSnapshotRejected: () => void;
13
+ nonHashSnapshotRejected: () => void;
14
+ missingGenerationRejected: () => void;
15
+ nonIntegerGenerationRejected: () => void;
16
+ negativeGenerationRejected: () => void;
17
+ unsafeIntegerGenerationRejected: () => void;
18
+ positiveGenerationAccepted: () => void;
19
+ httpsRejectedInParents: () => void;
20
+ archivedAccepted: () => void;
21
+ lockAbsentAccepted: () => void;
22
+ emptyLockAccepted: () => void;
23
+ validLockAccepted: () => void;
24
+ malformedLockRejected: () => void;
25
+ invalidHashLockRejected: () => void;
26
+ aliasHashLockAccepted: () => void;
27
+ wrongDialectRejected: () => void;
28
+ missingSubjectRejected: () => void;
29
+ extraFieldsAccepted: () => void;
30
+ };
31
+ decodeText: {
32
+ validJson: () => void;
33
+ keyOrderIndependent: () => void;
34
+ malformedJsonRejected: () => void;
35
+ ordinaryJsonRejected: () => void;
36
+ };
37
+ encodeText: {
38
+ recursivelySortsObjectsLexicographically: () => void;
39
+ preservesArrayOrder: () => void;
40
+ parsedEquivalentSourcesConverge: () => void;
41
+ };
42
+ };
@@ -0,0 +1,228 @@
1
+ /** @import { Object as JsonObject } from '../json/types.ts' */
2
+ /** @import { LockMap } from './types.ts' */
3
+ import { assert, assertEq } from '../../asserts/module.f.mjs'
4
+ import { dialect, mediaType, isHash, validate, decodeText, encodeText } from './module.f.mjs'
5
+
6
+ // Valid cbase32 hashes (round-tripped in fjs/basen/cbase32/proof.f.mjs): single
7
+ // cbase32 symbols, cheap to write inline here.
8
+ const h1 = '8'
9
+ const h2 = 'r'
10
+ // `I` is accepted as an alias spelling of canonical cBase32 `1`.
11
+ const alias = /** @type {const} */ ('I')
12
+
13
+ /** @type {LockMap} */
14
+ const _lockMapAllowsMissingSubjects = {}
15
+
16
+ // A shape-valid revision: every required field present (`snapshot` and
17
+ // `generation` included), with `extra` overriding or adding fields per test.
18
+ /** @type {(extra: JsonObject) => JsonObject} */
19
+ const revisionOf = extra => ({
20
+ dialect,
21
+ subject: h1,
22
+ parents: [],
23
+ snapshot: h2,
24
+ generation: 0,
25
+ ...extra,
26
+ })
27
+
28
+ export const proof = {
29
+ dialectAndMediaType: () => {
30
+ assertEq(dialect, 'vnd.fjs.revision')
31
+ assertEq(mediaType, 'application/vnd.fjs.revision+json')
32
+ },
33
+
34
+ isHash: {
35
+ validHash: () => assert(isHash(h1)),
36
+ httpsRejected: () => assert(!isHash('https://example.com/blob/abc')),
37
+ arbitraryStringRejected: () => assert(!isHash('not-a-hash!')),
38
+ },
39
+
40
+ validate: {
41
+ // A fully explicit revision validates.
42
+ allFieldsPresent: () => {
43
+ const [t] = validate(revisionOf({}))
44
+ assertEq(t, 'ok')
45
+ },
46
+
47
+ // `subject` is a pure identity string, never a snapshot reference: a
48
+ // zero-parent revision whose `subject` is not a hash is now valid,
49
+ // because `snapshot` is always stated explicitly.
50
+ nonHashSubjectAccepted: () => {
51
+ const r = validate(revisionOf({ subject: 'my-config' }))
52
+ assert(r[0] === 'ok', ['expected ok', r])
53
+ assertEq(r[1].subject, 'my-config')
54
+ },
55
+
56
+ // A merge revision (more than one parent) is valid like any other —
57
+ // there is no "multiple parents without snapshot" case left, because
58
+ // `snapshot` is required.
59
+ multiParentAccepted: () => {
60
+ const r = validate(revisionOf({ subject: 'my-config', parents: [h1, h2], snapshot: h2 }))
61
+ assert(r[0] === 'ok', ['expected ok', r])
62
+ assertEq(r[1].snapshot, h2)
63
+ },
64
+
65
+ // `snapshot` is required: absent is a shape error.
66
+ missingSnapshotRejected: () => {
67
+ const [t] = validate({ dialect, subject: h1, parents: [], generation: 0 })
68
+ assertEq(t, 'error')
69
+ },
70
+
71
+ // `snapshot` must decode as a hash — `https://` bridge URLs rejected.
72
+ nonHashSnapshotRejected: () => {
73
+ const [t] = validate(revisionOf({ snapshot: 'https://example.com/x' }))
74
+ assertEq(t, 'error')
75
+ },
76
+
77
+ // `generation` is required: absent is a shape error.
78
+ missingGenerationRejected: () => {
79
+ const [t] = validate({ dialect, subject: h1, parents: [], snapshot: h2 })
80
+ assertEq(t, 'error')
81
+ },
82
+
83
+ // `generation` must be an integer: a fractional value is rejected.
84
+ nonIntegerGenerationRejected: () => {
85
+ const [t] = validate(revisionOf({ generation: 1.5 }))
86
+ assertEq(t, 'error')
87
+ },
88
+
89
+ // `generation` must be non-negative.
90
+ negativeGenerationRejected: () => {
91
+ const [t] = validate(revisionOf({ generation: -1 }))
92
+ assertEq(t, 'error')
93
+ },
94
+
95
+ // `generation` must be a *safe* integer: at `2 ** 53` and above the
96
+ // value is no longer uniquely representable, so `1 + max(...)` could
97
+ // fail to advance — such a blob is rejected (`Number.isInteger` would
98
+ // accept it; `Number.isSafeInteger` does not).
99
+ unsafeIntegerGenerationRejected: () => {
100
+ const [t] = validate(revisionOf({ generation: 2 ** 53 }))
101
+ assertEq(t, 'error')
102
+ },
103
+
104
+ // A positive integer generation is accepted.
105
+ positiveGenerationAccepted: () => {
106
+ const r = validate(revisionOf({ parents: [h1], generation: 3 }))
107
+ assert(r[0] === 'ok', ['expected ok', r])
108
+ assertEq(r[1].generation, 3)
109
+ },
110
+
111
+ // `https://` bridge URLs are rejected wherever a hash is required.
112
+ httpsRejectedInParents: () => {
113
+ const [t] = validate(revisionOf({ parents: ['https://example.com/x'] }))
114
+ assertEq(t, 'error')
115
+ },
116
+
117
+ // `archived` follows the presence-only `option(true)` idiom.
118
+ archivedAccepted: () => {
119
+ const [t] = validate(revisionOf({ archived: true }))
120
+ assertEq(t, 'ok')
121
+ },
122
+
123
+ lockAbsentAccepted: () => {
124
+ const r = validate(revisionOf({}))
125
+ assert(r[0] === 'ok', ['expected ok', r])
126
+ assertEq(r[1].lock, undefined)
127
+ },
128
+
129
+ emptyLockAccepted: () => {
130
+ const r = validate(revisionOf({ lock: {} }))
131
+ assert(r[0] === 'ok', ['expected ok', r])
132
+ assertEq(Object.keys(r[1].lock ?? {}).length, 0)
133
+ },
134
+
135
+ validLockAccepted: () => {
136
+ const [t] = validate(revisionOf({ lock: { dependency: h1 } }))
137
+ assertEq(t, 'ok')
138
+ },
139
+
140
+ malformedLockRejected: () => {
141
+ const [t] = validate(revisionOf({ lock: { dependency: 1 } }))
142
+ assertEq(t, 'error')
143
+ },
144
+
145
+ invalidHashLockRejected: () => {
146
+ const [t] = validate(revisionOf({ lock: { dependency: 'https://example.com/x' } }))
147
+ assertEq(t, 'error')
148
+ },
149
+
150
+ aliasHashLockAccepted: () => {
151
+ const [t] = validate(revisionOf({ lock: { dependency: alias } }))
152
+ assertEq(t, 'ok')
153
+ },
154
+
155
+ // Wrong dialect tag: structural validation rejects it outright.
156
+ wrongDialectRejected: () => {
157
+ const [t] = validate({ dialect: 'vnd.fjs.other', subject: h1, parents: [], snapshot: h2, generation: 0 })
158
+ assertEq(t, 'error')
159
+ },
160
+
161
+ // Missing required fields: rejected.
162
+ missingSubjectRejected: () => {
163
+ const [t] = validate({ dialect, parents: [], snapshot: h2, generation: 0 })
164
+ assertEq(t, 'error')
165
+ },
166
+
167
+ // rtti structs are open: extra fields don't break validation — the
168
+ // additive forward-compatibility path the versioning rule relies on.
169
+ extraFieldsAccepted: () => {
170
+ const [t] = validate(revisionOf({ future: 'field' }))
171
+ assertEq(t, 'ok')
172
+ },
173
+ },
174
+
175
+ decodeText: {
176
+ validJson: () => {
177
+ const r = decodeText(JSON.stringify(revisionOf({})))
178
+ assert(r[0] === 'ok', ['expected ok', r])
179
+ assertEq(r[1].subject, h1)
180
+ },
181
+
182
+ // Key order carries no meaning: detection parses the JSON and
183
+ // validates the parsed value, so `dialect` need not be first.
184
+ keyOrderIndependent: () => {
185
+ const text = `{"generation":0,"snapshot":"${h2}","parents":[],"subject":"${h1}","dialect":"${dialect}"}`
186
+ const [t] = decodeText(text)
187
+ assertEq(t, 'ok')
188
+ },
189
+
190
+ malformedJsonRejected: () => {
191
+ const [t] = decodeText('{not json')
192
+ assertEq(t, 'error')
193
+ },
194
+
195
+ // Ordinary JSON that isn't a revision at all falls through as an error
196
+ // here — `fjs/media`'s composed detector is what falls back to the
197
+ // ordinary detector; this module only reports validity.
198
+ ordinaryJsonRejected: () => {
199
+ const [t] = decodeText('{"hello":"world"}')
200
+ assertEq(t, 'error')
201
+ },
202
+ },
203
+ encodeText: {
204
+ recursivelySortsObjectsLexicographically: () => {
205
+ const revision = revisionOf({ lock: { '2': h2, '10': h1 } })
206
+ const decoded = validate(revision)
207
+ assert(decoded[0] === 'ok', ['expected ok', decoded])
208
+ assertEq(
209
+ encodeText(decoded[1]),
210
+ `{"dialect":"${dialect}","generation":0,"lock":{"10":"${h1}","2":"${h2}"},"parents":[],"snapshot":"${h2}","subject":"${h1}"}`,
211
+ )
212
+ },
213
+ preservesArrayOrder: () => {
214
+ const decoded = validate(revisionOf({ parents: [h2, h1] }))
215
+ assert(decoded[0] === 'ok', ['expected ok', decoded])
216
+ assert(encodeText(decoded[1]).includes(`"parents":["${h2}","${h1}"]`))
217
+ },
218
+ parsedEquivalentSourcesConverge: () => {
219
+ const a = decodeText(` { "subject":"${h1}", "snapshot":"${h2}", "parents":[], "generation":0, "dialect":"${dialect}" } `)
220
+ const b = decodeText(`{"dialect":"${dialect}","generation":0,"parents":[],"snapshot":"${h2}","subject":"${h1}"}`)
221
+ assert(a[0] === 'ok', ['expected ok', a])
222
+ assert(b[0] === 'ok', ['expected ok', b])
223
+ assertEq(encodeText(a[1]), encodeText(b[1]))
224
+ },
225
+ },
226
+ }
227
+
228
+ void _lockMapAllowsMissingSubjects
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Type-level API for `fjs/media/revision/module.f.mjs`: `LockMap`,
3
+ * `Revision`, and `RevisionError`, derived from the module's own rtti
4
+ * schemas.
5
+ *
6
+ * @module
7
+ */
8
+ import type { Ts } from '../../types/rtti/ts/types.ts';
9
+ import type { ValidationError } from '../../types/rtti/common/types.ts';
10
+ import type { _lock, revisionSchema } from './module.f.mjs';
11
+ /** A flat set of subject-to-snapshot bindings supplied to dependency resolvers. */
12
+ export type LockMap = Ts<typeof _lock>;
13
+ /** The TypeScript type derived from `revisionSchema` — the single source of truth. */
14
+ export type Revision = Ts<typeof revisionSchema>;
15
+ /** Either a structural validation error or a semantic (hash / generation) error message. */
16
+ export type RevisionError = ValidationError | string;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Type-level API for `fjs/media/revision/module.f.mjs`: `LockMap`,
3
+ * `Revision`, and `RevisionError`, derived from the module's own rtti
4
+ * schemas.
5
+ *
6
+ * @module
7
+ */
8
+ export {};
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Rust source literals.
3
+ *
4
+ * Printing a value as Rust source is not specific to any one generator: the
5
+ * MVP roadmap's `fjs compile <input>.rs` backend and `nanvm-lib`'s generated
6
+ * operator tests both need the same escaping and the same spelling of the
7
+ * numeric edge cases. This module owns that layer — the syntax of a literal —
8
+ * and nothing above it. Expressions, items, and whatever API a generator
9
+ * targets stay with the generator.
10
+ *
11
+ * The sibling of `fjs/media/nix`, which does the same for Nix expressions.
12
+ *
13
+ * @module
14
+ *
15
+ * @example
16
+ *
17
+ * ```js
18
+ * import { f64Literal, i64Literal, stringLiteral } from './module.f.mjs'
19
+ *
20
+ * stringLiteral('a"b') // '"a\\"b"'
21
+ * f64Literal(-0) // '-0f64'
22
+ * i64Literal(-456n) // '-456'
23
+ * ```
24
+ */
25
+ /**
26
+ * A double-quoted Rust string literal.
27
+ *
28
+ * Any other control character is rejected rather than escaped: no caller needs
29
+ * one, and a silently mangled literal is worse than a failed generation.
30
+ *
31
+ * @type {(v: string) => string}
32
+ */
33
+ export declare const stringLiteral: (v: string) => string;
34
+ /**
35
+ * An `f64` literal.
36
+ *
37
+ * `toString` already prints the shortest round-tripping decimal and Rust
38
+ * parses decimal float literals the same way JavaScript does, so the digits
39
+ * carry over unchanged. Only the three non-finite values and `-0` — which
40
+ * `toString` prints as `0` — need spelling out. The `f64` suffix keeps whole
41
+ * numbers from lexing as integers.
42
+ *
43
+ * @type {(v: number) => string}
44
+ */
45
+ export declare const f64Literal: (v: number) => string;
46
+ /**
47
+ * An `i64` literal. Throws for a value the type cannot hold, rather than
48
+ * silently truncating it.
49
+ *
50
+ * @type {(v: bigint) => string}
51
+ */
52
+ export declare const i64Literal: (v: bigint) => string;
53
+ /**
54
+ * A `snake_case` Rust identifier from a `camelCase` name.
55
+ *
56
+ * Only the casing is converted: a name that is not already a valid identifier
57
+ * stays invalid, so callers pass names they control.
58
+ *
59
+ * @type {(v: string) => string}
60
+ */
61
+ export declare const snakeCase: (v: string) => string;
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Rust source literals.
3
+ *
4
+ * Printing a value as Rust source is not specific to any one generator: the
5
+ * MVP roadmap's `fjs compile <input>.rs` backend and `nanvm-lib`'s generated
6
+ * operator tests both need the same escaping and the same spelling of the
7
+ * numeric edge cases. This module owns that layer — the syntax of a literal —
8
+ * and nothing above it. Expressions, items, and whatever API a generator
9
+ * targets stay with the generator.
10
+ *
11
+ * The sibling of `fjs/media/nix`, which does the same for Nix expressions.
12
+ *
13
+ * @module
14
+ *
15
+ * @example
16
+ *
17
+ * ```js
18
+ * import { f64Literal, i64Literal, stringLiteral } from './module.f.mjs'
19
+ *
20
+ * stringLiteral('a"b') // '"a\\"b"'
21
+ * f64Literal(-0) // '-0f64'
22
+ * i64Literal(-456n) // '-456'
23
+ * ```
24
+ */
25
+
26
+ /**
27
+ * A double-quoted Rust string literal.
28
+ *
29
+ * Any other control character is rejected rather than escaped: no caller needs
30
+ * one, and a silently mangled literal is worse than a failed generation.
31
+ *
32
+ * @type {(v: string) => string}
33
+ */
34
+ export const stringLiteral = v => `"${[...v].map(c => {
35
+ switch (c) {
36
+ case '\\': { return '\\\\' }
37
+ case '"': { return '\\"' }
38
+ case '\n': { return '\\n' }
39
+ case '\r': { return '\\r' }
40
+ case '\t': { return '\\t' }
41
+ default: {
42
+ if (c < ' ' || c === '\u007f') {
43
+ throw ['control character in a Rust string literal', v]
44
+ }
45
+ return c
46
+ }
47
+ }
48
+ }).join('')}"`
49
+
50
+ /**
51
+ * An `f64` literal.
52
+ *
53
+ * `toString` already prints the shortest round-tripping decimal and Rust
54
+ * parses decimal float literals the same way JavaScript does, so the digits
55
+ * carry over unchanged. Only the three non-finite values and `-0` — which
56
+ * `toString` prints as `0` — need spelling out. The `f64` suffix keeps whole
57
+ * numbers from lexing as integers.
58
+ *
59
+ * @type {(v: number) => string}
60
+ */
61
+ export const f64Literal = v => {
62
+ if (Number.isNaN(v)) { return 'f64::NAN' }
63
+ if (v === Infinity) { return 'f64::INFINITY' }
64
+ if (v === -Infinity) { return 'f64::NEG_INFINITY' }
65
+ return `${Object.is(v, -0) ? '-0' : v.toString()}f64`
66
+ }
67
+
68
+ const i64Min = -(2n ** 63n)
69
+ const i64Max = 2n ** 63n - 1n
70
+
71
+ /**
72
+ * An `i64` literal. Throws for a value the type cannot hold, rather than
73
+ * silently truncating it.
74
+ *
75
+ * @type {(v: bigint) => string}
76
+ */
77
+ export const i64Literal = v => {
78
+ if (v < i64Min || v > i64Max) { throw ['bigint out of i64 range', v] }
79
+ return v.toString()
80
+ }
81
+
82
+ /**
83
+ * A `snake_case` Rust identifier from a `camelCase` name.
84
+ *
85
+ * Only the casing is converted: a name that is not already a valid identifier
86
+ * stays invalid, so callers pass names they control.
87
+ *
88
+ * @type {(v: string) => string}
89
+ */
90
+ export const snakeCase = v => [...v].map(c => {
91
+ const lower = c.toLowerCase()
92
+ return c === lower ? c : `_${lower}`
93
+ }).join('')
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Proofs for Rust source literals.
3
+ *
4
+ * @module
5
+ */
6
+ export declare const proof: {
7
+ stringLiteral: () => void;
8
+ f64Literal: () => void;
9
+ i64Literal: () => void;
10
+ snakeCase: () => void;
11
+ throw: {
12
+ i64TooLarge: () => string;
13
+ i64TooSmall: () => string;
14
+ controlCharacter: () => string;
15
+ deleteCharacter: () => string;
16
+ };
17
+ };
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Proofs for Rust source literals.
3
+ *
4
+ * @module
5
+ */
6
+
7
+ import { assertEq } from '../../asserts/module.f.mjs'
8
+ import { f64Literal, i64Literal, snakeCase, stringLiteral } from './module.f.mjs'
9
+
10
+ export const proof = {
11
+ stringLiteral: () => {
12
+ assertEq(stringLiteral(''), '""')
13
+ assertEq(stringLiteral('abc'), '"abc"')
14
+ assertEq(stringLiteral('a\\b'), '"a\\\\b"')
15
+ assertEq(stringLiteral('a"b'), '"a\\"b"')
16
+ assertEq(stringLiteral('a\nb'), '"a\\nb"')
17
+ assertEq(stringLiteral('a\rb'), '"a\\rb"')
18
+ assertEq(stringLiteral('a\tb'), '"a\\tb"')
19
+ // Non-ASCII needs no escape: Rust source is UTF-8.
20
+ assertEq(stringLiteral('é'), '"é"')
21
+ },
22
+ f64Literal: () => {
23
+ assertEq(f64Literal(NaN), 'f64::NAN')
24
+ assertEq(f64Literal(Infinity), 'f64::INFINITY')
25
+ assertEq(f64Literal(-Infinity), 'f64::NEG_INFINITY')
26
+ assertEq(f64Literal(-0), '-0f64')
27
+ assertEq(f64Literal(0), '0f64')
28
+ assertEq(f64Literal(2.3), '2.3f64')
29
+ assertEq(f64Literal(-239), '-239f64')
30
+ // Rust's exponent accepts a `+`, which is how `toString` prints it.
31
+ assertEq(f64Literal(1e21), '1e+21f64')
32
+ },
33
+ i64Literal: () => {
34
+ assertEq(i64Literal(0n), '0')
35
+ assertEq(i64Literal(-456n), '-456')
36
+ assertEq(i64Literal(-(2n ** 63n)), '-9223372036854775808')
37
+ assertEq(i64Literal(2n ** 63n - 1n), '9223372036854775807')
38
+ },
39
+ snakeCase: () => {
40
+ assertEq(snakeCase('emptyArray'), 'empty_array')
41
+ assertEq(snakeCase('stringCoercion'), 'string_coercion')
42
+ assertEq(snakeCase('eq'), 'eq')
43
+ },
44
+ throw: {
45
+ i64TooLarge: () => i64Literal(2n ** 63n),
46
+ i64TooSmall: () => i64Literal(-(2n ** 63n) - 1n),
47
+ controlCharacter: () => stringLiteral('a\u0000b'),
48
+ deleteCharacter: () => stringLiteral('a\u007fb'),
49
+ },
50
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Magic-byte MIME type detection.
3
+ *
4
+ * `detect` is a pure table lookup over the leading bytes of a `Vec`: it returns a
5
+ * MIME type string for the container formats whose signatures it knows, or `null`
6
+ * for anything else — text, unknown binary, or a `Vec` too short to match.
7
+ *
8
+ * Beside it, `detectStream` is the **streaming counterpart**: a byte-accepting
9
+ * state machine (length × magic-byte eliminator × UTF-8 validity DFA) that derives
10
+ * `{ length, mime_type, type }` by folding a CAS read stream in O(1) space, without
11
+ * ever buffering the blob into a single `maxLength`-bounded `Vec`. See the README
12
+ * for the factored design.
13
+ *
14
+ * The CAS store is type-agnostic and keeps raw bytes only, so type is never
15
+ * stored; it is recovered on read by sniffing the content. Callers decide what
16
+ * `null` means: the CAS MCP adapter falls back to a plain text result.
17
+ *
18
+ * ## Recognised signatures
19
+ *
20
+ * | MIME type | Leading bytes |
21
+ * |-------------------|----------------------------------------|
22
+ * | `image/png` | `89 50 4E 47 0D 0A 1A 0A` |
23
+ * | `image/jpeg` | `FF D8 FF` |
24
+ * | `image/gif` | `47 49 46 38 37 61` / `…39 61` (`"GIF87a"` / `"GIF89a"`) |
25
+ * | `image/webp` | `52 49 46 46 .. .. .. .. 57 45 42 50` (`"RIFF"…"WEBP"`) |
26
+ * | `application/pdf` | `25 50 44 46 2D` (`"%PDF-"`) |
27
+ * | `application/zip` | `50 4B 03 04` / `05 06` / `07 08` (`"PK"` entry, empty, or spanned) |
28
+ *
29
+ * WebP is the one signature with a gap: the four-byte little-endian file size
30
+ * sits between the `RIFF` and `WEBP` markers, so it is matched as a prefix plus
31
+ * a second marker at byte offset 8 rather than a single contiguous run.
32
+ *
33
+ * See `./types.ts` for the type-level API.
34
+ *
35
+ * @module
36
+ */
37
+ import type { Vec } from '../../types/bit_vec/types.ts';
38
+ import type { Nullable } from '../../types/nullable/types.ts';
39
+ import type { Effect, Operation } from '../../effects/types.ts';
40
+ import type { List } from '../../effects/list/types.ts';
41
+ import type { IoResult } from '../../effects/node/types.ts';
42
+ import type { DetectMeta, DetectState } from './types.ts';
43
+ /**
44
+ * Detects the MIME type of `bytes` from its leading magic-byte signature.
45
+ *
46
+ * @returns the MIME type string for a recognized format, or `null` when the
47
+ * leading bytes match no known signature (including any `Vec` shorter than
48
+ * the signature it might otherwise match).
49
+ *
50
+ * @type {(bytes: Vec) => Nullable<string>}
51
+ */
52
+ export declare const detect: (bytes: Vec) => Nullable<string>;
53
+ /** The initial detector state `q₀`.
54
+ *
55
+ * @type {DetectState}
56
+ */
57
+ export declare const detectInit: DetectState;
58
+ /**
59
+ * Folds one `Vec` chunk into the detector state (`δ` over a whole chunk). Length
60
+ * always advances by the chunk's bit length; per-byte iteration stops as soon as
61
+ * the verdict is fixed (see {@link isSettled}), so large blobs — including large
62
+ * magic-matched ones — cost ≈ length counting.
63
+ *
64
+ * @type {(s: DetectState) => (chunk: Vec) => DetectState}
65
+ */
66
+ export declare const push: (s: DetectState) => (chunk: Vec) => DetectState;
67
+ /**
68
+ * Reads the answer off the final state (`λ`). Reproduces the three-way result of
69
+ * the pure path: magic hit → `base64` + detected mime; else whole-blob-valid UTF-8
70
+ * that is also all-text (byte-aligned, no invalidity, no control bytes) → `text` +
71
+ * `text/plain`; else → `base64` + `application/octet-stream`. A valid-but-control
72
+ * blob (NUL, other controls) is well-formed UTF-8 yet falls through to the binary
73
+ * branch.
74
+ *
75
+ * @type {(s: DetectState) => DetectMeta}
76
+ */
77
+ export declare const finish: (s: DetectState) => DetectMeta;
78
+ /**
79
+ * Classifies a whole `Vec` with the same state machine as {@link detectStream}.
80
+ * The single-buffer counterpart for callers that already hold the bytes (the
81
+ * `cas_get` `content: true` path materializes the blob anyway): both paths read
82
+ * the three-way `{ length, mime_type, type }` verdict from one machine instead of
83
+ * re-deriving it from `detect` + a separate UTF-8 check.
84
+ *
85
+ * @type {(bytes: Vec) => DetectMeta}
86
+ */
87
+ export declare const detectVec: (bytes: Vec) => DetectMeta;
88
+ /**
89
+ * Folds a CAS read stream through {@link push} and reads {@link finish} at EOF,
90
+ * deriving `cas_get` metadata without ever materializing the blob. A read `error`
91
+ * item short-circuits into the `IoResult` error.
92
+ *
93
+ * @template {Operation} O
94
+ * @param {List<O, IoResult<Vec>>} stream
95
+ * @returns {Effect<O, IoResult<DetectMeta>>}
96
+ */
97
+ export declare const detectStream: <O extends Operation>(stream: List<O, IoResult<Vec>>) => Effect<O, IoResult<DetectMeta>>;