functionalscript 0.43.1 → 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 (1095) 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.mjs +228 -0
  313. package/fjs/media/revision/types.d.ts +16 -0
  314. package/fjs/media/revision/types.js +8 -0
  315. package/fjs/media/rust/module.f.d.mts +61 -0
  316. package/fjs/media/rust/module.f.mjs +93 -0
  317. package/fjs/media/rust/proof.f.d.mts +17 -0
  318. package/fjs/media/rust/proof.f.mjs +50 -0
  319. package/fjs/media/type/module.f.d.mts +97 -0
  320. package/fjs/media/type/module.f.mjs +281 -0
  321. package/fjs/media/type/proof.f.mjs +285 -0
  322. package/fjs/media/type/types.d.ts +67 -0
  323. package/fjs/media/type/types.js +6 -0
  324. package/fjs/media/types.d.ts +26 -0
  325. package/fjs/media/types.js +7 -0
  326. package/fjs/module.f.d.mts +3 -0
  327. package/fjs/module.f.mjs +60 -0
  328. package/fjs/module.mjs +6 -0
  329. package/fjs/nanvm/module.f.d.mts +54 -0
  330. package/fjs/nanvm/module.f.mjs +240 -0
  331. package/fjs/nanvm/proof.f.d.mts +41 -0
  332. package/fjs/nanvm/proof.f.mjs +173 -0
  333. package/fjs/nanvm/rust/module.f.d.mts +54 -0
  334. package/fjs/nanvm/rust/module.f.mjs +166 -0
  335. package/fjs/nanvm/rust/proof.f.d.mts +21 -0
  336. package/fjs/nanvm/rust/proof.f.mjs +119 -0
  337. package/fjs/nanvm/types.d.ts +105 -0
  338. package/fjs/nanvm/types.js +11 -0
  339. package/fjs/nanvm/update/module.f.d.mts +23 -0
  340. package/fjs/nanvm/update/module.f.mjs +33 -0
  341. package/fjs/nanvm/update/proof.f.d.mts +9 -0
  342. package/fjs/nanvm/update/proof.f.mjs +32 -0
  343. package/fjs/path/module.f.d.mts +55 -0
  344. package/fjs/path/module.f.mjs +96 -0
  345. package/fjs/path/proof.f.mjs +125 -0
  346. package/fjs/proof.f.mjs +48 -0
  347. package/fjs/protocol/json_rpc/module.f.d.mts +127 -0
  348. package/fjs/protocol/json_rpc/module.f.mjs +112 -0
  349. package/fjs/protocol/json_rpc/proof.f.mjs +84 -0
  350. package/fjs/protocol/json_rpc/types.d.ts +30 -0
  351. package/fjs/protocol/json_rpc/types.js +8 -0
  352. package/fjs/protocol/mcp/module.f.d.mts +227 -0
  353. package/fjs/protocol/mcp/module.f.mjs +369 -0
  354. package/fjs/protocol/mcp/proof.f.d.mts +53 -0
  355. package/fjs/protocol/mcp/proof.f.mjs +312 -0
  356. package/fjs/protocol/mcp/stdio/module.f.d.mts +52 -0
  357. package/fjs/protocol/mcp/stdio/module.f.mjs +132 -0
  358. package/fjs/protocol/mcp/stdio/proof.f.d.mts +20 -0
  359. package/fjs/protocol/mcp/stdio/proof.f.mjs +190 -0
  360. package/fjs/protocol/mcp/types.d.ts +59 -0
  361. package/fjs/protocol/mcp/types.js +8 -0
  362. package/fjs/sul/id/module.f.d.mts +37 -0
  363. package/fjs/sul/id/module.f.mjs +143 -0
  364. package/fjs/sul/id/proof.f.mjs +72 -0
  365. package/fjs/sul/id/types.d.ts +8 -0
  366. package/fjs/sul/id/types.js +6 -0
  367. package/fjs/sul/level/hash/module.f.d.mts +37 -0
  368. package/fjs/sul/level/hash/module.f.mjs +61 -0
  369. package/fjs/sul/level/hash/proof.f.d.mts +15 -0
  370. package/fjs/sul/level/hash/proof.f.mjs +131 -0
  371. package/fjs/sul/level/hash/types.d.ts +20 -0
  372. package/fjs/sul/level/hash/types.js +6 -0
  373. package/fjs/sul/level/literal/module.f.d.mts +54 -0
  374. package/fjs/sul/level/literal/module.f.mjs +120 -0
  375. package/fjs/sul/level/literal/proof.f.mjs +788 -0
  376. package/fjs/sul/level/literal/types.d.ts +31 -0
  377. package/fjs/sul/level/literal/types.js +6 -0
  378. package/fjs/sul/module.f.d.mts +25 -0
  379. package/fjs/sul/module.f.mjs +69 -0
  380. package/fjs/sul/proof.f.d.mts +11 -0
  381. package/fjs/sul/proof.f.mjs +62 -0
  382. package/fjs/sul/types.d.ts +19 -0
  383. package/fjs/sul/types.js +6 -0
  384. package/fjs/text/ascii/module.f.d.mts +136 -0
  385. package/fjs/text/ascii/module.f.mjs +224 -0
  386. package/fjs/text/ascii/proof.f.mjs +16 -0
  387. package/fjs/text/code_point/module.f.d.mts +74 -0
  388. package/fjs/text/code_point/module.f.mjs +139 -0
  389. package/fjs/text/code_point/proof.f.mjs +80 -0
  390. package/fjs/text/module.f.d.mts +39 -0
  391. package/fjs/text/module.f.mjs +61 -0
  392. package/fjs/text/proof.f.mjs +48 -0
  393. package/fjs/text/sgr/module.f.d.mts +58 -0
  394. package/fjs/text/sgr/module.f.mjs +99 -0
  395. package/fjs/text/sgr/proof.f.mjs +39 -0
  396. package/fjs/text/sgr/types.d.ts +12 -0
  397. package/fjs/text/sgr/types.js +6 -0
  398. package/fjs/text/types.d.ts +13 -0
  399. package/fjs/text/types.js +6 -0
  400. package/fjs/text/utf16/module.f.d.mts +147 -0
  401. package/fjs/text/utf16/module.f.mjs +350 -0
  402. package/fjs/text/utf16/proof.f.d.mts +11 -0
  403. package/fjs/text/utf16/proof.f.mjs +158 -0
  404. package/fjs/text/utf16/types.d.ts +19 -0
  405. package/fjs/text/utf16/types.js +6 -0
  406. package/fjs/text/utf8/module.f.d.mts +69 -0
  407. package/fjs/text/utf8/module.f.mjs +280 -0
  408. package/fjs/text/utf8/proof.f.mjs +217 -0
  409. package/fjs/text/utf8/types.d.ts +26 -0
  410. package/fjs/text/utf8/types.js +6 -0
  411. package/fjs/types/array/module.f.d.mts +68 -0
  412. package/fjs/types/array/module.f.mjs +101 -0
  413. package/fjs/types/array/proof.f.mjs +98 -0
  414. package/fjs/types/array/types.d.ts +13 -0
  415. package/fjs/types/array/types.js +6 -0
  416. package/fjs/types/bigfloat/module.f.d.mts +14 -0
  417. package/fjs/types/bigfloat/module.f.mjs +99 -0
  418. package/fjs/types/bigfloat/proof.f.mjs +218 -0
  419. package/fjs/types/bigfloat/types.d.ts +6 -0
  420. package/fjs/types/bigfloat/types.js +6 -0
  421. package/fjs/types/bigint/benchmark.d.mts +1 -0
  422. package/fjs/types/bigint/benchmark.mjs +205 -0
  423. package/fjs/types/bigint/module.f.d.mts +176 -0
  424. package/fjs/types/bigint/module.f.mjs +289 -0
  425. package/fjs/types/bigint/proof.f.d.mts +39 -0
  426. package/fjs/types/bigint/proof.f.mjs +443 -0
  427. package/fjs/types/bigint/types.d.ts +14 -0
  428. package/fjs/types/bigint/types.js +6 -0
  429. package/fjs/types/bit_vec/module.f.d.mts +199 -0
  430. package/fjs/types/bit_vec/module.f.mjs +485 -0
  431. package/fjs/types/bit_vec/proof.f.mjs +495 -0
  432. package/fjs/types/bit_vec/types.d.ts +51 -0
  433. package/fjs/types/bit_vec/types.js +6 -0
  434. package/fjs/types/btree/find/module.f.d.mts +15 -0
  435. package/fjs/types/btree/find/module.f.mjs +80 -0
  436. package/fjs/types/btree/find/proof.f.d.mts +4 -0
  437. package/fjs/types/btree/find/proof.f.mjs +121 -0
  438. package/fjs/types/btree/find/types.d.ts +22 -0
  439. package/fjs/types/btree/find/types.js +6 -0
  440. package/fjs/types/btree/module.f.d.mts +10 -0
  441. package/fjs/types/btree/module.f.mjs +39 -0
  442. package/fjs/types/btree/proof.f.d.mts +14 -0
  443. package/fjs/types/btree/proof.f.mjs +85 -0
  444. package/fjs/types/btree/remove/module.f.d.mts +21 -0
  445. package/fjs/types/btree/remove/module.f.mjs +187 -0
  446. package/fjs/types/btree/remove/proof.f.mjs +472 -0
  447. package/fjs/types/btree/set/module.f.d.mts +5 -0
  448. package/fjs/types/btree/set/module.f.mjs +117 -0
  449. package/fjs/types/btree/set/proof.f.mjs +427 -0
  450. package/fjs/types/btree/types/module.f.d.mts +19 -0
  451. package/fjs/types/btree/types/module.f.mjs +19 -0
  452. package/fjs/types/btree/types/types.d.ts +14 -0
  453. package/fjs/types/btree/types/types.js +6 -0
  454. package/fjs/types/byte_set/module.f.d.mts +26 -0
  455. package/fjs/types/byte_set/module.f.mjs +66 -0
  456. package/fjs/types/byte_set/proof.f.d.mts +12 -0
  457. package/fjs/types/byte_set/proof.f.mjs +84 -0
  458. package/fjs/types/byte_set/types.d.ts +6 -0
  459. package/fjs/types/byte_set/types.js +6 -0
  460. package/fjs/types/function/compare/module.f.d.mts +44 -0
  461. package/fjs/types/function/compare/module.f.mjs +71 -0
  462. package/fjs/types/function/compare/proof.f.mjs +50 -0
  463. package/fjs/types/function/compare/types.d.ts +22 -0
  464. package/fjs/types/function/compare/types.js +6 -0
  465. package/fjs/types/function/module.f.d.mts +26 -0
  466. package/fjs/types/function/module.f.mjs +32 -0
  467. package/fjs/types/function/operator/module.f.d.mts +37 -0
  468. package/fjs/types/function/operator/module.f.mjs +55 -0
  469. package/fjs/types/function/operator/proof.f.mjs +76 -0
  470. package/fjs/types/function/operator/types.d.ts +39 -0
  471. package/fjs/types/function/operator/types.js +6 -0
  472. package/fjs/types/function/proof.f.mjs +16 -0
  473. package/fjs/types/function/types.d.ts +16 -0
  474. package/fjs/types/function/types.js +6 -0
  475. package/fjs/types/list/module.f.d.mts +88 -0
  476. package/fjs/types/list/module.f.mjs +309 -0
  477. package/fjs/types/list/proof.f.d.mts +32 -0
  478. package/fjs/types/list/proof.f.mjs +363 -0
  479. package/fjs/types/list/types.d.ts +36 -0
  480. package/fjs/types/list/types.js +6 -0
  481. package/fjs/types/map/module.f.d.mts +13 -0
  482. package/fjs/types/map/module.f.mjs +42 -0
  483. package/fjs/types/map/proof.f.mjs +25 -0
  484. package/fjs/types/nibble_set/module.f.d.mts +30 -0
  485. package/fjs/types/nibble_set/module.f.mjs +43 -0
  486. package/fjs/types/nibble_set/proof.f.mjs +59 -0
  487. package/fjs/types/nibble_set/types.d.ts +9 -0
  488. package/fjs/types/nibble_set/types.js +6 -0
  489. package/fjs/types/nominal/module.f.d.mts +9 -0
  490. package/fjs/types/nominal/module.f.mjs +16 -0
  491. package/fjs/types/nominal/proof.f.d.mts +7 -0
  492. package/fjs/types/nominal/proof.f.mjs +79 -0
  493. package/fjs/types/nominal/types.d.ts +25 -0
  494. package/fjs/types/nominal/types.js +6 -0
  495. package/fjs/types/nullable/module.f.d.mts +38 -0
  496. package/fjs/types/nullable/module.f.mjs +53 -0
  497. package/fjs/types/nullable/proof.f.mjs +34 -0
  498. package/fjs/types/nullable/types.d.ts +6 -0
  499. package/fjs/types/nullable/types.js +6 -0
  500. package/fjs/types/number/module.f.d.mts +23 -0
  501. package/fjs/types/number/module.f.mjs +55 -0
  502. package/fjs/types/number/proof.f.mjs +204 -0
  503. package/fjs/types/object/module.f.d.mts +33 -0
  504. package/fjs/types/object/module.f.mjs +58 -0
  505. package/fjs/types/object/proof.f.d.mts +25 -0
  506. package/fjs/types/object/proof.f.mjs +26 -0
  507. package/fjs/types/object/types.d.ts +50 -0
  508. package/fjs/types/object/types.js +8 -0
  509. package/fjs/types/ordered_map/module.f.d.mts +21 -0
  510. package/fjs/types/ordered_map/module.f.mjs +54 -0
  511. package/fjs/types/ordered_map/proof.f.mjs +88 -0
  512. package/fjs/types/ordered_map/types.d.ts +8 -0
  513. package/fjs/types/ordered_map/types.js +6 -0
  514. package/fjs/types/patricia_trie/module.f.d.mts +19 -0
  515. package/fjs/types/patricia_trie/module.f.mjs +43 -0
  516. package/fjs/types/patricia_trie/proof.f.d.mts +14 -0
  517. package/fjs/types/patricia_trie/proof.f.mjs +148 -0
  518. package/fjs/types/patricia_trie/types.d.ts +34 -0
  519. package/fjs/types/patricia_trie/types.js +6 -0
  520. package/fjs/types/prime_field/module.f.d.mts +42 -0
  521. package/fjs/types/prime_field/module.f.mjs +136 -0
  522. package/fjs/types/prime_field/proof.f.mjs +131 -0
  523. package/fjs/types/prime_field/types.d.ts +38 -0
  524. package/fjs/types/prime_field/types.js +6 -0
  525. package/fjs/types/range/module.f.d.mts +11 -0
  526. package/fjs/types/range/module.f.mjs +13 -0
  527. package/fjs/types/range/proof.f.mjs +10 -0
  528. package/fjs/types/range/types.d.ts +6 -0
  529. package/fjs/types/range/types.js +6 -0
  530. package/fjs/types/range_map/module.f.d.mts +72 -0
  531. package/fjs/types/range_map/module.f.mjs +130 -0
  532. package/fjs/types/range_map/proof.f.d.mts +7 -0
  533. package/fjs/types/range_map/proof.f.mjs +186 -0
  534. package/fjs/types/range_map/types.d.ts +56 -0
  535. package/fjs/types/range_map/types.js +6 -0
  536. package/fjs/types/range_set/module.f.d.mts +5 -0
  537. package/fjs/types/range_set/module.f.mjs +19 -0
  538. package/fjs/types/range_set/proof.f.mjs +26 -0
  539. package/fjs/types/result/module.d.mts +5 -0
  540. package/fjs/types/result/module.f.d.mts +59 -0
  541. package/fjs/types/result/module.f.mjs +67 -0
  542. package/fjs/types/result/module.mjs +22 -0
  543. package/fjs/types/result/proof.f.mjs +41 -0
  544. package/fjs/types/result/types.d.ts +17 -0
  545. package/fjs/types/result/types.js +6 -0
  546. package/fjs/types/rtti/common/module.f.d.mts +86 -0
  547. package/fjs/types/rtti/common/module.f.mjs +183 -0
  548. package/fjs/types/rtti/common/proof.f.d.mts +9 -0
  549. package/fjs/types/rtti/common/proof.f.mjs +64 -0
  550. package/fjs/types/rtti/common/types.d.ts +43 -0
  551. package/fjs/types/rtti/common/types.js +1 -0
  552. package/fjs/types/rtti/module.f.d.mts +76 -0
  553. package/fjs/types/rtti/module.f.mjs +110 -0
  554. package/fjs/types/rtti/parse/module.f.d.mts +9 -0
  555. package/fjs/types/rtti/parse/module.f.mjs +196 -0
  556. package/fjs/types/rtti/parse/proof.f.d.mts +122 -0
  557. package/fjs/types/rtti/parse/proof.f.mjs +363 -0
  558. package/fjs/types/rtti/parse/types.d.ts +12 -0
  559. package/fjs/types/rtti/parse/types.js +1 -0
  560. package/fjs/types/rtti/proof.f.d.mts +8 -0
  561. package/fjs/types/rtti/proof.f.mjs +20 -0
  562. package/fjs/types/rtti/ts/module.f.d.mts +34 -0
  563. package/fjs/types/rtti/ts/module.f.mjs +64 -0
  564. package/fjs/types/rtti/ts/proof.f.mjs +88 -0
  565. package/fjs/types/rtti/ts/types.d.ts +88 -0
  566. package/fjs/types/rtti/ts/types.js +1 -0
  567. package/fjs/types/rtti/types.d.ts +43 -0
  568. package/fjs/types/rtti/types.js +1 -0
  569. package/fjs/types/rtti/validate/module.f.d.mts +6 -0
  570. package/fjs/types/rtti/validate/module.f.mjs +169 -0
  571. package/fjs/types/rtti/validate/proof.f.d.mts +125 -0
  572. package/fjs/types/rtti/validate/proof.f.mjs +437 -0
  573. package/fjs/types/rtti/validate/types.d.ts +6 -0
  574. package/fjs/types/rtti/validate/types.js +1 -0
  575. package/fjs/types/sorted_list/module.f.d.mts +43 -0
  576. package/fjs/types/sorted_list/module.f.mjs +110 -0
  577. package/fjs/types/sorted_list/proof.f.d.mts +5 -0
  578. package/fjs/types/sorted_list/proof.f.mjs +52 -0
  579. package/fjs/types/sorted_list/types.d.ts +15 -0
  580. package/fjs/types/sorted_list/types.js +6 -0
  581. package/fjs/types/sorted_set/module.f.d.mts +24 -0
  582. package/fjs/types/sorted_set/module.f.mjs +56 -0
  583. package/fjs/types/sorted_set/proof.f.d.mts +7 -0
  584. package/fjs/types/sorted_set/proof.f.mjs +77 -0
  585. package/fjs/types/sorted_set/types.d.ts +6 -0
  586. package/fjs/types/sorted_set/types.js +6 -0
  587. package/fjs/types/string/module.f.d.mts +36 -0
  588. package/fjs/types/string/module.f.mjs +58 -0
  589. package/fjs/types/string/proof.f.mjs +76 -0
  590. package/fjs/types/string_set/module.f.d.mts +37 -0
  591. package/fjs/types/string_set/module.f.mjs +53 -0
  592. package/fjs/types/string_set/proof.f.mjs +46 -0
  593. package/fjs/types/string_set/types.d.ts +7 -0
  594. package/fjs/types/string_set/types.js +6 -0
  595. package/fjs/types/ts/module.f.d.mts +20 -0
  596. package/fjs/types/ts/module.f.mjs +51 -0
  597. package/fjs/types/ts/proof.f.mjs +97 -0
  598. package/fjs/types/ts/types.d.ts +16 -0
  599. package/fjs/types/ts/types.js +8 -0
  600. package/fjs/types/uint8array/module.f.d.mts +31 -0
  601. package/fjs/types/uint8array/module.f.mjs +53 -0
  602. package/fjs/types/uint8array/proof.f.d.mts +17 -0
  603. package/fjs/types/uint8array/proof.f.mjs +73 -0
  604. package/fjs/website/module.f.d.mts +8 -0
  605. package/fjs/website/module.f.mjs +24 -0
  606. package/fjs/website/proof.f.mjs +14 -0
  607. package/package.json +12 -10
  608. package/todo/proof.f.d.mts +22 -0
  609. package/todo/proof.f.mjs +59 -0
  610. package/fjs/asn.1/module.f.d.ts +0 -62
  611. package/fjs/asn.1/module.f.js +0 -278
  612. package/fjs/asn.1/proof.f.js +0 -285
  613. package/fjs/asserts/module.f.d.ts +0 -36
  614. package/fjs/asserts/module.f.js +0 -39
  615. package/fjs/asserts/proof.f.js +0 -18
  616. package/fjs/base_n/module.f.d.ts +0 -45
  617. package/fjs/base_n/module.f.js +0 -72
  618. package/fjs/base_n/proof.f.js +0 -73
  619. package/fjs/basen/base128/module.f.d.ts +0 -20
  620. package/fjs/basen/base128/module.f.js +0 -43
  621. package/fjs/basen/base128/proof.f.js +0 -26
  622. package/fjs/basen/base64/module.f.d.ts +0 -9
  623. package/fjs/basen/base64/module.f.js +0 -71
  624. package/fjs/basen/base64/proof.f.d.ts +0 -16
  625. package/fjs/basen/base64/proof.f.js +0 -139
  626. package/fjs/basen/cbase32/module.f.d.ts +0 -11
  627. package/fjs/basen/cbase32/module.f.js +0 -55
  628. package/fjs/basen/cbase32/proof.f.d.ts +0 -7
  629. package/fjs/basen/cbase32/proof.f.js +0 -62
  630. package/fjs/bnf/data/module.f.d.ts +0 -52
  631. package/fjs/bnf/data/module.f.js +0 -143
  632. package/fjs/bnf/data/proof.f.d.ts +0 -8
  633. package/fjs/bnf/data/proof.f.js +0 -169
  634. package/fjs/bnf/descent/module.f.d.ts +0 -87
  635. package/fjs/bnf/descent/module.f.js +0 -149
  636. package/fjs/bnf/descent/proof.f.d.ts +0 -7
  637. package/fjs/bnf/descent/proof.f.js +0 -368
  638. package/fjs/bnf/ll1/module.f.d.ts +0 -72
  639. package/fjs/bnf/ll1/module.f.js +0 -155
  640. package/fjs/bnf/ll1/proof.f.d.ts +0 -10
  641. package/fjs/bnf/ll1/proof.f.js +0 -375
  642. package/fjs/bnf/module.f.d.ts +0 -165
  643. package/fjs/bnf/module.f.js +0 -174
  644. package/fjs/bnf/proof.f.d.ts +0 -12
  645. package/fjs/bnf/proof.f.js +0 -69
  646. package/fjs/bnf/testlib.f.d.ts +0 -3
  647. package/fjs/bnf/testlib.f.js +0 -138
  648. package/fjs/bnf/token_symbol/module.f.d.ts +0 -38
  649. package/fjs/bnf/token_symbol/module.f.js +0 -48
  650. package/fjs/bnf/token_symbol/proof.f.js +0 -37
  651. package/fjs/cas/cli/module.f.d.ts +0 -6
  652. package/fjs/cas/cli/module.f.js +0 -53
  653. package/fjs/cas/cli/proof.f.d.ts +0 -17
  654. package/fjs/cas/cli/proof.f.js +0 -112
  655. package/fjs/cas/evo/module.f.d.ts +0 -223
  656. package/fjs/cas/evo/module.f.js +0 -455
  657. package/fjs/cas/evo/proof.f.d.ts +0 -47
  658. package/fjs/cas/evo/proof.f.js +0 -707
  659. package/fjs/cas/module.f.d.ts +0 -64
  660. package/fjs/cas/module.f.js +0 -255
  661. package/fjs/cas/proof.f.d.ts +0 -18
  662. package/fjs/cas/proof.f.js +0 -305
  663. package/fjs/ci/bun/module.f.d.ts +0 -2
  664. package/fjs/ci/bun/module.f.js +0 -15
  665. package/fjs/ci/common/module.f.d.ts +0 -88
  666. package/fjs/ci/common/module.f.js +0 -63
  667. package/fjs/ci/config/module.f.d.ts +0 -45
  668. package/fjs/ci/config/module.f.js +0 -80
  669. package/fjs/ci/deno/module.f.d.ts +0 -10
  670. package/fjs/ci/deno/module.f.js +0 -28
  671. package/fjs/ci/deno/proof.f.d.ts +0 -5
  672. package/fjs/ci/deno/proof.f.js +0 -26
  673. package/fjs/ci/module.f.d.ts +0 -13
  674. package/fjs/ci/module.f.js +0 -58
  675. package/fjs/ci/nix/module.f.d.ts +0 -61
  676. package/fjs/ci/nix/module.f.js +0 -92
  677. package/fjs/ci/nix/proof.f.d.ts +0 -23
  678. package/fjs/ci/nix/proof.f.js +0 -109
  679. package/fjs/ci/node/module.f.d.ts +0 -28
  680. package/fjs/ci/node/module.f.js +0 -92
  681. package/fjs/ci/node/proof.f.js +0 -17
  682. package/fjs/ci/proof.f.d.ts +0 -18
  683. package/fjs/ci/proof.f.js +0 -182
  684. package/fjs/ci/rust/module.f.d.ts +0 -3
  685. package/fjs/ci/rust/module.f.js +0 -75
  686. package/fjs/cli/module.f.d.ts +0 -11
  687. package/fjs/cli/module.f.js +0 -34
  688. package/fjs/cli/proof.f.d.ts +0 -14
  689. package/fjs/cli/proof.f.js +0 -111
  690. package/fjs/common/monoid/module.f.d.ts +0 -126
  691. package/fjs/common/monoid/module.f.js +0 -88
  692. package/fjs/common/monoid/proof.f.d.ts +0 -9
  693. package/fjs/common/monoid/proof.f.js +0 -48
  694. package/fjs/crypto/hmac/module.f.d.ts +0 -29
  695. package/fjs/crypto/hmac/module.f.js +0 -56
  696. package/fjs/crypto/hmac/proof.f.js +0 -32
  697. package/fjs/crypto/pow/module.f.d.ts +0 -37
  698. package/fjs/crypto/pow/module.f.js +0 -72
  699. package/fjs/crypto/pow/proof.f.js +0 -111
  700. package/fjs/crypto/secp/module.f.d.ts +0 -85
  701. package/fjs/crypto/secp/module.f.js +0 -176
  702. package/fjs/crypto/secp/proof.f.d.ts +0 -8
  703. package/fjs/crypto/secp/proof.f.js +0 -124
  704. package/fjs/crypto/sha2/module.f.d.ts +0 -102
  705. package/fjs/crypto/sha2/module.f.js +0 -266
  706. package/fjs/crypto/sha2/proof.f.d.ts +0 -31
  707. package/fjs/crypto/sha2/proof.f.js +0 -139
  708. package/fjs/crypto/sign/module.f.d.ts +0 -33
  709. package/fjs/crypto/sign/module.f.js +0 -163
  710. package/fjs/crypto/sign/proof.f.d.ts +0 -11
  711. package/fjs/crypto/sign/proof.f.js +0 -562
  712. package/fjs/crypto/vdf/module.f.d.ts +0 -21
  713. package/fjs/crypto/vdf/module.f.js +0 -57
  714. package/fjs/crypto/vdf/proof.f.js +0 -94
  715. package/fjs/dev/module.f.d.ts +0 -57
  716. package/fjs/dev/module.f.js +0 -135
  717. package/fjs/dev/package_json/module.f.d.ts +0 -16
  718. package/fjs/dev/package_json/module.f.js +0 -24
  719. package/fjs/dev/package_json/proof.f.js +0 -28
  720. package/fjs/dev/proof.f.d.ts +0 -13
  721. package/fjs/dev/proof.f.js +0 -77
  722. package/fjs/dev/update/module.f.d.ts +0 -11
  723. package/fjs/dev/update/module.f.js +0 -20
  724. package/fjs/dev/update/proof.f.d.ts +0 -7
  725. package/fjs/dev/update/proof.f.js +0 -35
  726. package/fjs/djs/ast/module.f.d.ts +0 -62
  727. package/fjs/djs/ast/module.f.js +0 -61
  728. package/fjs/djs/ast/proof.f.js +0 -49
  729. package/fjs/djs/examples/input.f.js +0 -4
  730. package/fjs/djs/examples/m.f.js +0 -1
  731. package/fjs/djs/module.f.d.ts +0 -17
  732. package/fjs/djs/module.f.js +0 -22
  733. package/fjs/djs/parser/module.f.d.ts +0 -23
  734. package/fjs/djs/parser/module.f.js +0 -410
  735. package/fjs/djs/parser/proof.f.js +0 -556
  736. package/fjs/djs/proof.f.js +0 -50
  737. package/fjs/djs/serializer/module.f.d.ts +0 -17
  738. package/fjs/djs/serializer/module.f.js +0 -173
  739. package/fjs/djs/serializer/proof.f.js +0 -133
  740. package/fjs/djs/tokenizer/module.f.d.ts +0 -24
  741. package/fjs/djs/tokenizer/module.f.js +0 -472
  742. package/fjs/djs/tokenizer/proof.f.js +0 -1211
  743. package/fjs/djs/transpiler/module.f.d.ts +0 -41
  744. package/fjs/djs/transpiler/module.f.js +0 -88
  745. package/fjs/djs/transpiler/proof.f.js +0 -67
  746. package/fjs/effects/eff/module.f.d.ts +0 -72
  747. package/fjs/effects/eff/module.f.js +0 -46
  748. package/fjs/effects/eff/proof.f.d.ts +0 -11
  749. package/fjs/effects/eff/proof.f.js +0 -58
  750. package/fjs/effects/list/module.f.d.ts +0 -37
  751. package/fjs/effects/list/module.f.js +0 -17
  752. package/fjs/effects/memory/module.f.d.ts +0 -37
  753. package/fjs/effects/memory/module.f.js +0 -24
  754. package/fjs/effects/memory/proof.f.d.ts +0 -6
  755. package/fjs/effects/memory/proof.f.js +0 -50
  756. package/fjs/effects/mock/module.f.d.ts +0 -16
  757. package/fjs/effects/mock/module.f.js +0 -20
  758. package/fjs/effects/module.d.ts +0 -2
  759. package/fjs/effects/module.f.d.ts +0 -408
  760. package/fjs/effects/module.f.js +0 -312
  761. package/fjs/effects/module.js +0 -11
  762. package/fjs/effects/node/memory/module.d.ts +0 -20
  763. package/fjs/effects/node/memory/module.js +0 -44
  764. package/fjs/effects/node/memory/proof.js +0 -29
  765. package/fjs/effects/node/module.d.ts +0 -20
  766. package/fjs/effects/node/module.f.d.ts +0 -300
  767. package/fjs/effects/node/module.f.js +0 -171
  768. package/fjs/effects/node/module.js +0 -305
  769. package/fjs/effects/node/proof.f.d.ts +0 -69
  770. package/fjs/effects/node/proof.f.js +0 -409
  771. package/fjs/effects/node/virtual/module.f.d.ts +0 -49
  772. package/fjs/effects/node/virtual/module.f.js +0 -440
  773. package/fjs/effects/node/virtual/proof.f.d.ts +0 -33
  774. package/fjs/effects/node/virtual/proof.f.js +0 -186
  775. package/fjs/effects/proof.f.d.ts +0 -56
  776. package/fjs/effects/proof.f.js +0 -200
  777. package/fjs/emergent_testing/example.f.d.ts +0 -13
  778. package/fjs/emergent_testing/example.f.js +0 -31
  779. package/fjs/emergent_testing/module.f.d.ts +0 -140
  780. package/fjs/emergent_testing/module.f.js +0 -289
  781. package/fjs/emergent_testing/proof.f.d.ts +0 -67
  782. package/fjs/emergent_testing/proof.f.js +0 -416
  783. package/fjs/fsc/bnf.f.d.ts +0 -2
  784. package/fjs/fsc/bnf.f.js +0 -42
  785. package/fjs/fsc/json.f.d.ts +0 -7
  786. package/fjs/fsc/json.f.js +0 -64
  787. package/fjs/fsc/module.f.d.ts +0 -11
  788. package/fjs/fsc/module.f.js +0 -73
  789. package/fjs/fsc/proof.f.js +0 -104
  790. package/fjs/fsm/module.f.d.ts +0 -17
  791. package/fjs/fsm/module.f.js +0 -55
  792. package/fjs/fsm/proof.f.js +0 -126
  793. package/fjs/js/tokenizer/module.f.d.ts +0 -104
  794. package/fjs/js/tokenizer/module.f.js +0 -547
  795. package/fjs/js/tokenizer/proof.f.d.ts +0 -9
  796. package/fjs/js/tokenizer/proof.f.js +0 -986
  797. package/fjs/mcp/cas/module.f.d.ts +0 -27
  798. package/fjs/mcp/cas/module.f.js +0 -232
  799. package/fjs/mcp/evo/module.f.d.ts +0 -32
  800. package/fjs/mcp/evo/module.f.js +0 -99
  801. package/fjs/mcp/evo/proof.f.d.ts +0 -12
  802. package/fjs/mcp/evo/proof.f.js +0 -147
  803. package/fjs/mcp/module.f.d.ts +0 -56
  804. package/fjs/mcp/module.f.js +0 -69
  805. package/fjs/mcp/proof.f.d.ts +0 -45
  806. package/fjs/mcp/proof.f.js +0 -535
  807. package/fjs/media/html/module.f.d.ts +0 -52
  808. package/fjs/media/html/module.f.js +0 -117
  809. package/fjs/media/html/proof.f.js +0 -65
  810. package/fjs/media/json/module.f.d.ts +0 -64
  811. package/fjs/media/json/module.f.js +0 -109
  812. package/fjs/media/json/parser/module.f.d.ts +0 -21
  813. package/fjs/media/json/parser/module.f.js +0 -194
  814. package/fjs/media/json/parser/proof.f.d.ts +0 -5
  815. package/fjs/media/json/parser/proof.f.js +0 -314
  816. package/fjs/media/json/proof.f.js +0 -98
  817. package/fjs/media/json/schema/module.f.d.ts +0 -78
  818. package/fjs/media/json/schema/module.f.js +0 -96
  819. package/fjs/media/json/schema/proof.f.d.ts +0 -36
  820. package/fjs/media/json/schema/proof.f.js +0 -83
  821. package/fjs/media/json/serializer/module.f.d.ts +0 -28
  822. package/fjs/media/json/serializer/module.f.js +0 -73
  823. package/fjs/media/json/serializer/proof.f.js +0 -94
  824. package/fjs/media/json/tokenizer/module.f.d.ts +0 -15
  825. package/fjs/media/json/tokenizer/module.f.js +0 -63
  826. package/fjs/media/json/tokenizer/proof.f.d.ts +0 -5
  827. package/fjs/media/json/tokenizer/proof.f.js +0 -417
  828. package/fjs/media/module.f.d.ts +0 -119
  829. package/fjs/media/module.f.js +0 -88
  830. package/fjs/media/nix/module.f.d.ts +0 -30
  831. package/fjs/media/nix/module.f.js +0 -166
  832. package/fjs/media/nix/proof.f.js +0 -127
  833. package/fjs/media/proof.f.d.ts +0 -19
  834. package/fjs/media/proof.f.js +0 -127
  835. package/fjs/media/revision/module.f.d.ts +0 -94
  836. package/fjs/media/revision/module.f.js +0 -143
  837. package/fjs/media/revision/proof.f.js +0 -190
  838. package/fjs/media/type/module.f.d.ts +0 -135
  839. package/fjs/media/type/module.f.js +0 -231
  840. package/fjs/media/type/proof.f.js +0 -213
  841. package/fjs/module.f.d.ts +0 -2
  842. package/fjs/module.f.js +0 -50
  843. package/fjs/module.js +0 -4
  844. package/fjs/path/module.f.d.ts +0 -46
  845. package/fjs/path/module.f.js +0 -71
  846. package/fjs/path/proof.f.js +0 -119
  847. package/fjs/proof.f.js +0 -38
  848. package/fjs/protocol/json_rpc/module.f.d.ts +0 -114
  849. package/fjs/protocol/json_rpc/module.f.js +0 -89
  850. package/fjs/protocol/json_rpc/proof.f.js +0 -68
  851. package/fjs/protocol/mcp/module.f.d.ts +0 -239
  852. package/fjs/protocol/mcp/module.f.js +0 -272
  853. package/fjs/protocol/mcp/proof.f.d.ts +0 -34
  854. package/fjs/protocol/mcp/proof.f.js +0 -208
  855. package/fjs/protocol/mcp/stdio/module.f.d.ts +0 -47
  856. package/fjs/protocol/mcp/stdio/module.f.js +0 -78
  857. package/fjs/protocol/mcp/stdio/proof.f.d.ts +0 -13
  858. package/fjs/protocol/mcp/stdio/proof.f.js +0 -143
  859. package/fjs/sul/id/module.f.d.ts +0 -33
  860. package/fjs/sul/id/module.f.js +0 -93
  861. package/fjs/sul/id/proof.f.js +0 -61
  862. package/fjs/sul/level/hash/module.f.d.ts +0 -38
  863. package/fjs/sul/level/hash/module.f.js +0 -43
  864. package/fjs/sul/level/hash/proof.f.d.ts +0 -13
  865. package/fjs/sul/level/hash/proof.f.js +0 -112
  866. package/fjs/sul/level/literal/module.f.d.ts +0 -64
  867. package/fjs/sul/level/literal/module.f.js +0 -88
  868. package/fjs/sul/level/literal/proof.f.js +0 -714
  869. package/fjs/sul/module.f.d.ts +0 -23
  870. package/fjs/sul/module.f.js +0 -46
  871. package/fjs/sul/proof.f.d.ts +0 -9
  872. package/fjs/sul/proof.f.js +0 -47
  873. package/fjs/text/ascii/module.f.d.ts +0 -136
  874. package/fjs/text/ascii/module.f.js +0 -154
  875. package/fjs/text/ascii/proof.f.js +0 -14
  876. package/fjs/text/code_point/module.f.d.ts +0 -65
  877. package/fjs/text/code_point/module.f.js +0 -103
  878. package/fjs/text/code_point/proof.f.js +0 -72
  879. package/fjs/text/module.f.d.ts +0 -40
  880. package/fjs/text/module.f.js +0 -43
  881. package/fjs/text/proof.f.js +0 -44
  882. package/fjs/text/sgr/module.f.d.ts +0 -53
  883. package/fjs/text/sgr/module.f.js +0 -63
  884. package/fjs/text/sgr/proof.f.js +0 -33
  885. package/fjs/text/utf16/module.f.d.ts +0 -161
  886. package/fjs/text/utf16/module.f.js +0 -311
  887. package/fjs/text/utf16/proof.f.d.ts +0 -10
  888. package/fjs/text/utf16/proof.f.js +0 -144
  889. package/fjs/text/utf8/module.f.d.ts +0 -83
  890. package/fjs/text/utf8/module.f.js +0 -247
  891. package/fjs/text/utf8/proof.f.js +0 -217
  892. package/fjs/types/array/module.f.d.ts +0 -49
  893. package/fjs/types/array/module.f.js +0 -42
  894. package/fjs/types/array/proof.f.js +0 -92
  895. package/fjs/types/bigfloat/module.f.d.ts +0 -6
  896. package/fjs/types/bigfloat/module.f.js +0 -69
  897. package/fjs/types/bigfloat/proof.f.js +0 -217
  898. package/fjs/types/bigint/module.f.d.ts +0 -172
  899. package/fjs/types/bigint/module.f.js +0 -251
  900. package/fjs/types/bigint/proof.f.d.ts +0 -37
  901. package/fjs/types/bigint/proof.f.js +0 -400
  902. package/fjs/types/bit_vec/module.f.d.ts +0 -302
  903. package/fjs/types/bit_vec/module.f.js +0 -375
  904. package/fjs/types/bit_vec/proof.f.js +0 -465
  905. package/fjs/types/btree/find/module.f.d.ts +0 -25
  906. package/fjs/types/btree/find/module.f.js +0 -80
  907. package/fjs/types/btree/find/proof.f.d.ts +0 -3
  908. package/fjs/types/btree/find/proof.f.js +0 -108
  909. package/fjs/types/btree/module.f.d.ts +0 -9
  910. package/fjs/types/btree/module.f.js +0 -33
  911. package/fjs/types/btree/proof.f.d.ts +0 -13
  912. package/fjs/types/btree/proof.f.js +0 -64
  913. package/fjs/types/btree/remove/module.f.d.ts +0 -14
  914. package/fjs/types/btree/remove/module.f.js +0 -186
  915. package/fjs/types/btree/remove/proof.f.js +0 -484
  916. package/fjs/types/btree/set/module.f.d.ts +0 -8
  917. package/fjs/types/btree/set/module.f.js +0 -128
  918. package/fjs/types/btree/set/proof.f.js +0 -368
  919. package/fjs/types/btree/types/module.f.d.ts +0 -23
  920. package/fjs/types/btree/types/module.f.js +0 -9
  921. package/fjs/types/byte_set/module.f.d.ts +0 -16
  922. package/fjs/types/byte_set/module.f.js +0 -30
  923. package/fjs/types/byte_set/proof.f.d.ts +0 -11
  924. package/fjs/types/byte_set/proof.f.js +0 -79
  925. package/fjs/types/function/compare/module.f.d.ts +0 -49
  926. package/fjs/types/function/compare/module.f.js +0 -51
  927. package/fjs/types/function/compare/proof.f.js +0 -47
  928. package/fjs/types/function/module.f.d.ts +0 -28
  929. package/fjs/types/function/module.f.js +0 -19
  930. package/fjs/types/function/operator/module.f.d.ts +0 -48
  931. package/fjs/types/function/operator/module.f.js +0 -16
  932. package/fjs/types/function/operator/proof.f.js +0 -53
  933. package/fjs/types/function/proof.f.js +0 -10
  934. package/fjs/types/list/module.f.d.ts +0 -75
  935. package/fjs/types/list/module.f.js +0 -190
  936. package/fjs/types/list/proof.f.d.ts +0 -31
  937. package/fjs/types/list/proof.f.js +0 -330
  938. package/fjs/types/map/module.f.d.ts +0 -2
  939. package/fjs/types/map/module.f.js +0 -22
  940. package/fjs/types/map/proof.f.js +0 -22
  941. package/fjs/types/nibble_set/module.f.d.ts +0 -27
  942. package/fjs/types/nibble_set/module.f.js +0 -25
  943. package/fjs/types/nibble_set/proof.f.js +0 -60
  944. package/fjs/types/nominal/module.f.d.ts +0 -22
  945. package/fjs/types/nominal/module.f.js +0 -13
  946. package/fjs/types/nominal/proof.f.d.ts +0 -4
  947. package/fjs/types/nominal/proof.f.js +0 -48
  948. package/fjs/types/nullable/module.f.d.ts +0 -21
  949. package/fjs/types/nullable/module.f.js +0 -29
  950. package/fjs/types/nullable/proof.f.js +0 -29
  951. package/fjs/types/number/module.f.d.ts +0 -16
  952. package/fjs/types/number/module.f.js +0 -30
  953. package/fjs/types/number/proof.f.js +0 -124
  954. package/fjs/types/object/module.f.d.ts +0 -54
  955. package/fjs/types/object/module.f.js +0 -25
  956. package/fjs/types/object/proof.f.d.ts +0 -4
  957. package/fjs/types/object/proof.f.js +0 -14
  958. package/fjs/types/ordered_map/module.f.d.ts +0 -17
  959. package/fjs/types/ordered_map/module.f.js +0 -22
  960. package/fjs/types/ordered_map/proof.f.js +0 -73
  961. package/fjs/types/patricia_trie/module.f.d.ts +0 -25
  962. package/fjs/types/patricia_trie/module.f.js +0 -35
  963. package/fjs/types/patricia_trie/proof.f.d.ts +0 -13
  964. package/fjs/types/patricia_trie/proof.f.js +0 -121
  965. package/fjs/types/prime_field/module.f.d.ts +0 -62
  966. package/fjs/types/prime_field/module.f.js +0 -112
  967. package/fjs/types/prime_field/proof.f.js +0 -128
  968. package/fjs/types/range/module.f.d.ts +0 -8
  969. package/fjs/types/range/module.f.js +0 -2
  970. package/fjs/types/range/proof.f.js +0 -9
  971. package/fjs/types/range_map/module.f.d.ts +0 -92
  972. package/fjs/types/range_map/module.f.js +0 -82
  973. package/fjs/types/range_map/proof.f.d.ts +0 -6
  974. package/fjs/types/range_map/proof.f.js +0 -151
  975. package/fjs/types/range_set/module.f.d.ts +0 -5
  976. package/fjs/types/range_set/module.f.js +0 -16
  977. package/fjs/types/range_set/proof.f.d.ts +0 -1
  978. package/fjs/types/range_set/proof.f.js +0 -19
  979. package/fjs/types/result/module.d.ts +0 -3
  980. package/fjs/types/result/module.f.d.ts +0 -61
  981. package/fjs/types/result/module.f.js +0 -54
  982. package/fjs/types/result/module.js +0 -19
  983. package/fjs/types/result/proof.f.js +0 -31
  984. package/fjs/types/rtti/common/module.f.d.ts +0 -121
  985. package/fjs/types/rtti/common/module.f.js +0 -94
  986. package/fjs/types/rtti/common/proof.f.d.ts +0 -8
  987. package/fjs/types/rtti/common/proof.f.js +0 -51
  988. package/fjs/types/rtti/module.f.d.ts +0 -75
  989. package/fjs/types/rtti/module.f.js +0 -34
  990. package/fjs/types/rtti/parse/module.f.d.ts +0 -36
  991. package/fjs/types/rtti/parse/module.f.js +0 -114
  992. package/fjs/types/rtti/parse/proof.f.d.ts +0 -115
  993. package/fjs/types/rtti/parse/proof.f.js +0 -334
  994. package/fjs/types/rtti/proof.f.d.ts +0 -5
  995. package/fjs/types/rtti/proof.f.js +0 -16
  996. package/fjs/types/rtti/ts/module.f.d.ts +0 -118
  997. package/fjs/types/rtti/ts/module.f.js +0 -59
  998. package/fjs/types/rtti/ts/proof.f.js +0 -75
  999. package/fjs/types/rtti/validate/module.f.d.ts +0 -4
  1000. package/fjs/types/rtti/validate/module.f.js +0 -74
  1001. package/fjs/types/rtti/validate/proof.f.d.ts +0 -118
  1002. package/fjs/types/rtti/validate/proof.f.js +0 -349
  1003. package/fjs/types/sorted_list/module.f.d.ts +0 -26
  1004. package/fjs/types/sorted_list/module.f.js +0 -51
  1005. package/fjs/types/sorted_list/proof.f.d.ts +0 -4
  1006. package/fjs/types/sorted_list/proof.f.js +0 -46
  1007. package/fjs/types/sorted_set/module.f.d.ts +0 -33
  1008. package/fjs/types/sorted_set/module.f.js +0 -5
  1009. package/fjs/types/sorted_set/proof.f.d.ts +0 -6
  1010. package/fjs/types/sorted_set/proof.f.js +0 -67
  1011. package/fjs/types/string/module.f.d.ts +0 -24
  1012. package/fjs/types/string/module.f.js +0 -35
  1013. package/fjs/types/string/proof.f.js +0 -77
  1014. package/fjs/types/string_set/module.f.d.ts +0 -30
  1015. package/fjs/types/string_set/module.f.js +0 -37
  1016. package/fjs/types/string_set/proof.f.js +0 -43
  1017. package/fjs/types/ts/module.f.d.ts +0 -23
  1018. package/fjs/types/ts/module.f.js +0 -27
  1019. package/fjs/types/ts/proof.f.js +0 -86
  1020. package/fjs/types/uint8array/module.f.d.ts +0 -13
  1021. package/fjs/types/uint8array/module.f.js +0 -34
  1022. package/fjs/types/uint8array/proof.f.d.ts +0 -17
  1023. package/fjs/types/uint8array/proof.f.js +0 -64
  1024. package/fjs/website/module.f.d.ts +0 -3
  1025. package/fjs/website/module.f.js +0 -14
  1026. package/fjs/website/proof.f.js +0 -13
  1027. package/nanvm-lib/tests/proof.f.d.ts +0 -122
  1028. package/nanvm-lib/tests/proof.f.js +0 -330
  1029. package/todo/031-json.f.js +0 -241
  1030. package/todo/proof.f.d.ts +0 -20
  1031. package/todo/proof.f.js +0 -62
  1032. /package/fjs/asn.1/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1033. /package/fjs/asserts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1034. /package/fjs/{base_n/proof.f.d.ts → basen/proof.f.d.mts} +0 -0
  1035. /package/fjs/bnf/token_symbol/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1036. /package/{todo/031-json.f.d.ts → fjs/ci/common/types.js} +0 -0
  1037. /package/fjs/ci/node/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1038. /package/fjs/crypto/hmac/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1039. /package/fjs/crypto/pow/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1040. /package/fjs/crypto/vdf/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1041. /package/fjs/dev/package_json/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1042. /package/fjs/djs/ast/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1043. /package/fjs/djs/examples/{input.f.d.ts → input.f.d.mts} +0 -0
  1044. /package/fjs/djs/examples/{m.f.d.ts → m.f.d.mts} +0 -0
  1045. /package/fjs/djs/parser/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1046. /package/fjs/djs/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1047. /package/fjs/djs/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1048. /package/fjs/djs/tokenizer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1049. /package/fjs/djs/transpiler/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1050. /package/fjs/effects/node/memory/{proof.d.ts → proof.d.mts} +0 -0
  1051. /package/fjs/fsc/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1052. /package/fjs/fsm/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1053. /package/fjs/media/html/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1054. /package/fjs/media/json/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1055. /package/fjs/media/json/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1056. /package/fjs/media/nix/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1057. /package/fjs/media/revision/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1058. /package/fjs/media/type/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1059. /package/fjs/{module.d.ts → module.d.mts} +0 -0
  1060. /package/fjs/path/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1061. /package/fjs/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1062. /package/fjs/protocol/json_rpc/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1063. /package/fjs/sul/id/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1064. /package/fjs/sul/level/literal/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1065. /package/fjs/text/ascii/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1066. /package/fjs/text/code_point/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1067. /package/fjs/text/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1068. /package/fjs/text/sgr/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1069. /package/fjs/text/utf8/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1070. /package/fjs/types/array/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1071. /package/fjs/types/bigfloat/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1072. /package/fjs/types/bit_vec/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1073. /package/fjs/types/btree/remove/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1074. /package/fjs/types/btree/set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1075. /package/fjs/{basen/base128/proof.f.d.ts → types/function/compare/proof.f.d.mts} +0 -0
  1076. /package/fjs/types/function/operator/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1077. /package/fjs/types/function/{compare/proof.f.d.ts → proof.f.d.mts} +0 -0
  1078. /package/fjs/types/map/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1079. /package/fjs/types/nibble_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1080. /package/fjs/types/nullable/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1081. /package/fjs/types/number/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1082. /package/fjs/types/option/{module.f.d.ts → types.d.ts} +0 -0
  1083. /package/fjs/types/option/{module.f.js → types.js} +0 -0
  1084. /package/fjs/types/ordered_map/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1085. /package/fjs/types/phantom/{module.f.d.ts → types.d.ts} +0 -0
  1086. /package/fjs/types/phantom/{module.f.js → types.js} +0 -0
  1087. /package/fjs/types/prime_field/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1088. /package/fjs/types/{function/proof.f.d.ts → range/proof.f.d.mts} +0 -0
  1089. /package/fjs/types/{range/proof.f.d.ts → range_set/proof.f.d.mts} +0 -0
  1090. /package/fjs/types/result/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1091. /package/fjs/types/rtti/ts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1092. /package/fjs/types/string/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1093. /package/fjs/types/string_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1094. /package/fjs/types/ts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1095. /package/fjs/website/{proof.f.d.ts → proof.f.d.mts} +0 -0
@@ -0,0 +1,371 @@
1
+ /**
2
+ * @import { Vec } from '../types/bit_vec/types.ts'
3
+ * @import { FileCasOperation } from './types.ts'
4
+ * @import { Effect } from '../effects/types.ts'
5
+ * @import { ReadFile, WriteFile, Rm, Mkdir, IoResult } from '../effects/node/types.ts'
6
+ * @import { Ok } from '../types/result/types.ts'
7
+ * @import { List } from '../effects/list/types.ts'
8
+ */
9
+
10
+ import { length, maxLength, msb, vec, vec8 } from '../types/bit_vec/module.f.mjs'
11
+ import { cBase32ToVec, vecToCBase32 } from '../basen/cbase32/module.f.mjs'
12
+ import { computeSync, sha256 } from '../crypto/sha2/module.f.mjs'
13
+ import { fileCas, casAddFile, collectRead, casUpload } from './module.f.mjs'
14
+ import { match, pure, runPure, step } from '../effects/module.f.mjs'
15
+ import { mkdir, writeFile, rm, readFile, access } from '../effects/node/module.f.mjs'
16
+ import { error, ok } from '../types/result/module.f.mjs'
17
+ import { emptyState, virtual } from '../effects/node/virtual/module.f.mjs'
18
+ import { join } from '../path/module.f.mjs'
19
+ import { nonEmpty, empty } from '../effects/list/module.f.mjs'
20
+ import { assert, assertEq, assertNotNullish } from '../asserts/module.f.mjs'
21
+
22
+ const testDir = './test-cas-cli'
23
+
24
+ /** @typedef {FileCasOperation | WriteFile | ReadFile | Rm | Mkdir} _TestOp */
25
+
26
+ // Names the command a `FileCasOperation` effect stops at, so a proof can assert
27
+ // on it and resume the continuation without reading the `Do` layout. The map
28
+ // has to list every operation the CAS can perform — that is what makes it total,
29
+ // and what makes a new operation a compile error here rather than a silent gap.
30
+ const casCommand = match({
31
+ access: () => 'access',
32
+ createExclusive: () => 'createExclusive',
33
+ mkdir: () => 'mkdir',
34
+ now: () => 'now',
35
+ randomInt: () => 'randomInt',
36
+ readBytes: () => 'readBytes',
37
+ readdir: () => 'readdir',
38
+ rename: () => 'rename',
39
+ rm: () => 'rm',
40
+ stat: () => 'stat',
41
+ writeBytes: () => 'writeBytes',
42
+ })
43
+
44
+ // Create a 128 KiB big file content (at the max Vec size limit)
45
+ // This tests the boundary where files are at the chunk size limit
46
+ /** @type {() => Vec} */
47
+ const createBigFileContent = () => {
48
+ const byteCount = 128n * 1024n // 128 KiB
49
+ // Create a repeating pattern: 0x42 repeated across the file
50
+ return vec(byteCount * 8n)(0x42424242n)
51
+ }
52
+
53
+ // Test adding a big file and verifying the hash
54
+ /** @type {() => Effect<_TestOp, void>} */
55
+ const testAddBigFile = () => {
56
+ const bigFilePath = `${testDir}/big-file.bin`
57
+ const cas = fileCas(sha256)(testDir)
58
+ const x0 = step(
59
+ mkdir(testDir, { recursive: true }),
60
+ () => writeFile(bigFilePath, createBigFileContent())
61
+ )
62
+ const x1 = step(
63
+ x0,
64
+ writeRes => {
65
+ assert(writeRes[0] === 'ok', ['failed to write test file', writeRes])
66
+ return casAddFile(cas)(bigFilePath)
67
+ }
68
+ )
69
+ const x2 = step(
70
+ x1,
71
+ addRes => {
72
+ assert(addRes[0] === 'ok', ['failed to add file to CAS', addRes])
73
+ const hash = addRes[1]
74
+ // Verify hash is 256 bits (SHA-256)
75
+ assertEq(length(hash), 256n, ['expected 256-bit hash', length(hash)])
76
+ // Verify hash can be encoded/decoded
77
+ assertNotNullish(cBase32ToVec(vecToCBase32(hash)), 'failed to decode hash from cBase32')
78
+ return rm(testDir)
79
+ })
80
+ return step(
81
+ x2,
82
+ () => pure(undefined)
83
+ )
84
+ }
85
+
86
+ // Test adding and retrieving a big file
87
+ /** @type {() => Effect<_TestOp, void>} */
88
+ const testAddAndGetBigFile = () => {
89
+ const bigContent = createBigFileContent()
90
+ const bigFilePath = `${testDir}/big-file.bin`
91
+ const cas = fileCas(sha256)(testDir)
92
+ const x0 = step(
93
+ mkdir(testDir, { recursive: true }),
94
+ () => writeFile(bigFilePath, bigContent)
95
+ )
96
+ const x1 = step(
97
+ x0,
98
+ writeRes => {
99
+ assert(writeRes[0] === 'ok', ['failed to write test file', writeRes])
100
+ return casAddFile(cas)(bigFilePath)
101
+ }
102
+ )
103
+ // Verify the file is stored at the expected location
104
+ const x2 = step(
105
+ x1,
106
+ addRes => {
107
+ assert(addRes[0] === 'ok', ['failed to add file to CAS', addRes])
108
+ return readFile(cas.url(addRes[1]))
109
+ }
110
+ )
111
+ const x3 = step(
112
+ x2,
113
+ readRes => {
114
+ assert(readRes[0] === 'ok', ['failed to read stored file', readRes])
115
+ // Verify content is the same size as original
116
+ assertEq(length(readRes[1]), length(bigContent), 'stored content size mismatch')
117
+ return rm(testDir)
118
+ })
119
+ return step(
120
+ x3,
121
+ () => pure(undefined)
122
+ )
123
+ }
124
+
125
+ export const proof = {
126
+ // Both effects must be interpreted, not merely built: an `Effect` is inert
127
+ // data, so returning one from a proof runs none of its continuations and
128
+ // asserts nothing.
129
+ addBigFile: () => { virtual(emptyState)(testAddBigFile()) },
130
+ addAndGetBigFile: () => { virtual(emptyState)(testAddAndGetBigFile()) },
131
+ //
132
+ casWriteRead: () => {
133
+ // Round-trip a single-chunk payload through the real streaming CAS: `write` returns
134
+ // the content hash, and `read` streams the same bytes back as `ok` chunk items.
135
+ const content = vec8(0x2An)
136
+ const c = fileCas(sha256)('.')
137
+ /** @type {List<FileCasOperation, IoResult<Vec>>} */
138
+ const payload = nonEmpty(ok(content), empty())
139
+ const [state1, writeResult] = virtual(emptyState)(c.write(payload))
140
+ assert(writeResult[0] === 'ok', ['expected write ok', writeResult])
141
+ const hash = writeResult[1]
142
+ assertEq(length(hash), 256n, ['expected 256-bit hash', length(hash)])
143
+ assertEq(msb.cmp(hash)(computeSync(sha256)([content])), 0, 'write hash mismatch')
144
+ /** @type {(acc: readonly Vec[]) => (stream: List<FileCasOperation, IoResult<Vec>>) => Effect<FileCasOperation, IoResult<readonly Vec[]>>} */
145
+ const drain = acc =>
146
+ stream =>
147
+ step(
148
+ stream,
149
+ (node) => {
150
+ if (node === undefined) { return pure(ok(acc)) }
151
+ const { first, tail } = node
152
+ if (first[0] === 'error') { return pure(first) }
153
+ return drain([...acc, first[1]])(tail)
154
+ },
155
+ )
156
+ const [, readResult] = virtual(state1)(drain([])(c.read(hash)))
157
+ assert(readResult[0] === 'ok', ['expected read ok', readResult])
158
+ assertEq(msb.cmp(msb.listToVec(readResult[1]))(content), 0, 'read content mismatch')
159
+ },
160
+ casReadMissingShard: () => {
161
+ // A missing shard surfaces as an explicit error *item*, never as end-of-stream.
162
+ const c = fileCas(sha256)('.')
163
+ const hash = computeSync(sha256)([vec8(0x2An)])
164
+ const node = virtual(emptyState)(c.read(hash))[1]
165
+ assert(node !== undefined, 'missing shard must not be EOF')
166
+ assert(node.first[0] === 'error', ['expected error item', node.tail])
167
+ },
168
+ casWriteMultiChunk: () => {
169
+ // A multi-chunk payload streams through `writeBytes` chunk-by-chunk (the lease is
170
+ // renewed between chunks); the hash equals the SHA-256 of the concatenated bytes,
171
+ // and read streams the same content back.
172
+ const chunks = /** @type {const} */ ([vec8(0x11n), vec8(0x22n), vec8(0x33n)])
173
+ const c = fileCas(sha256)('.')
174
+ /** @type {List<FileCasOperation, IoResult<Vec>>} */
175
+ const payload = chunks.reduceRight(
176
+ (tail, chunk) => nonEmpty(ok(chunk), tail),
177
+ /** @type {List<FileCasOperation, IoResult<Vec>>} */ (empty()))
178
+ const [state1, writeResult] = virtual(emptyState)(c.write(payload))
179
+ assert(writeResult[0] === 'ok', ['expected write ok', writeResult])
180
+ const hash = writeResult[1]
181
+ assertEq(msb.cmp(hash)(computeSync(sha256)(chunks)), 0, 'multi-chunk write hash mismatch')
182
+ /** @type {(acc: readonly Vec[]) => (stream: List<FileCasOperation, IoResult<Vec>>) => Effect<FileCasOperation, IoResult<readonly Vec[]>>} */
183
+ const drain = acc =>
184
+ stream =>
185
+ step(
186
+ stream,
187
+ (node) => {
188
+ if (node === undefined) { return pure(ok(acc)) }
189
+ const { first, tail } = node
190
+ if (first[0] === 'error') { return pure(first) }
191
+ return drain([...acc, first[1]])(tail)
192
+ },
193
+ )
194
+ const [, readResult] = virtual(state1)(drain([])(c.read(hash)))
195
+ assert(readResult[0] === 'ok', ['expected read ok', readResult])
196
+ const expected = msb.concat(msb.concat(chunks[0])(chunks[1]))(chunks[2])
197
+ assertEq(msb.cmp(msb.listToVec(readResult[1]))(expected), 0, 'multi-chunk read content mismatch')
198
+ },
199
+ casWriteDedup: () => {
200
+ // Same content ⇒ same hash; the second upload's replace-`rename` publishes over the
201
+ // first, leaving exactly one shard in the store.
202
+ const content = vec8(0x2An)
203
+ const c = fileCas(sha256)('.')
204
+ /** @type {() => List<FileCasOperation, IoResult<Vec>>} */
205
+ const payload = () => nonEmpty(ok(content), empty())
206
+ const [state1, w1] = virtual(emptyState)(c.write(payload()))
207
+ const [state2, w2] = virtual(state1)(c.write(payload()))
208
+ assert(!(w1[0] !== 'ok' || w2[0] !== 'ok'), ['expected both writes ok', w1, w2])
209
+ assertEq(msb.cmp(w1[1])(w2[1]), 0, 'dedup hash mismatch')
210
+ const [, hashes] = virtual(state2)(c.list())
211
+ assertEq(hashes.length, 1, ['expected one shard after dedup', hashes.length])
212
+ },
213
+ casWriteErrorItemAborts: () => {
214
+ // An error item mid-stream deletes the partial staging file and fails; nothing is
215
+ // published, so the store stays empty.
216
+ const c = fileCas(sha256)('.')
217
+ /** @type {IoResult<Vec>} */
218
+ const okItem = ok(vec8(0x11n))
219
+ /** @type {IoResult<Vec>} */
220
+ const errItem = error({ code: 'BOOM' })
221
+ /** @type {List<FileCasOperation, IoResult<Vec>>} */
222
+ const payload = nonEmpty(okItem, nonEmpty(errItem, /** @type {List<FileCasOperation, IoResult<Vec>>} */ (empty())))
223
+ const [state1, result] = virtual(emptyState)(c.write(payload))
224
+ assert(result[0] === 'error', ['expected write error', result])
225
+ const [, hashes] = virtual(state1)(c.list())
226
+ assertEq(hashes.length, 0, ['expected nothing published on abort', hashes])
227
+ },
228
+ casWriteReadExceedsMaxLength: () => {
229
+ // The point of streaming: a payload larger than a single `Vec`'s `maxLength`
230
+ // (128 KiB) must round-trip. `write` lands the chunks on disk without ever
231
+ // holding them as one `Vec`, and `read` streams them back the same way — so the
232
+ // round-trip is verified by hashing the read stream incrementally rather than
233
+ // concatenating it (which would itself overflow `maxLength`).
234
+ const big = vec(maxLength)(0xABn) // one full-size chunk: exactly maxLength bits
235
+ const tail = vec8(0x2An) // one more byte ⇒ total > maxLength
236
+ const chunks = /** @type {const} */ ([big, tail])
237
+ const c = fileCas(sha256)('.')
238
+ /** @type {List<FileCasOperation, IoResult<Vec>>} */
239
+ const payload = chunks.reduceRight(
240
+ (tl, chunk) => nonEmpty(ok(chunk), tl),
241
+ /** @type {List<FileCasOperation, IoResult<Vec>>} */ (empty()))
242
+ const [state1, w] = virtual(emptyState)(c.write(payload))
243
+ assert(w[0] === 'ok', ['expected write ok', w])
244
+ const hash = w[1]
245
+ assertEq(msb.cmp(hash)(computeSync(sha256)(chunks)), 0, 'oversized write hash mismatch')
246
+ // Fold the read stream straight into a fresh SHA-2 state — never one `Vec`.
247
+ /** @type {(state: typeof sha256.init) => (stream: List<FileCasOperation, IoResult<Vec>>) => Effect<FileCasOperation, IoResult<Vec>>} */
248
+ const rehash = state =>
249
+ stream =>
250
+ step(
251
+ stream,
252
+ (node) => {
253
+ if (node === undefined) { return pure(ok(sha256.end(state))) }
254
+ const { first, tail } = node
255
+ if (first[0] === 'error') { return pure(first) }
256
+ return rehash(sha256.append(first[1])(state))(tail)
257
+ }
258
+ )
259
+ const [, readBack] = virtual(state1)(rehash(sha256.init)(c.read(hash)))
260
+ assert(readBack[0] === 'ok', ['expected read ok', readBack])
261
+ assertEq(msb.cmp(readBack[1])(hash), 0, 'oversized read-back hash mismatch')
262
+ },
263
+ casWriteGcReclaimsExpired: () => {
264
+ // A staging file whose deadline is in the past is reclaimed by the GC that `write`
265
+ // runs before staging its own file.
266
+ const stalePath = join('.', '.cas', '_stage', '0000000000000000000-stale')
267
+ const state0 = {
268
+ ...emptyState,
269
+ epochNs: 1_000_000,
270
+ root: { '.cas': { '_stage': { '0000000000000000000-stale': [vec8(0x99n)] } } },
271
+ }
272
+ const content = vec8(0x2An)
273
+ const c = fileCas(sha256)('.')
274
+ const x = c.write(nonEmpty(ok(content), /** @type {List<never, Ok<Vec>>} */ (empty())))
275
+ const [state1, w] = virtual(state0)(x)
276
+ assert(w[0] === 'ok', ['expected write ok', w])
277
+ const [, present] = virtual(state1)(access(stalePath))
278
+ assert(present[0] === 'error', 'expected GC to reclaim the expired staging file')
279
+ },
280
+ casWriteGcSkipsLiveLease: () => {
281
+ // A staging file whose deadline is still in the future is left alone by the GC
282
+ // that `write` runs before staging its own file.
283
+ const livePath = join('.', '.cas', '_stage', '0000000000002000000-live')
284
+ const state0 = {
285
+ ...emptyState,
286
+ epochNs: 1_000_000,
287
+ root: { '.cas': { '_stage': { '0000000000002000000-live': [vec8(0x99n)] } } },
288
+ }
289
+ const content = vec8(0x2An)
290
+ const c = fileCas(sha256)('.')
291
+ const x = c.write(nonEmpty(ok(content), /** @type {List<never, Ok<Vec>>} */ (empty())))
292
+ const [state1, w] = virtual(state0)(x)
293
+ assert(w[0] === 'ok', ['expected write ok', w])
294
+ const [, present] = virtual(state1)(access(livePath))
295
+ assert(present[0] === 'ok', 'expected GC to leave the live staging file alone')
296
+ },
297
+ casUploadSuccess: () => {
298
+ // A successful upload returns the hash and deletes the source file from cas_upload/.
299
+ const content = vec8(0x2An)
300
+ const state0 = { ...emptyState, root: { 'cas_upload': { 'myfile': [content] } } }
301
+ const [state1, result] = virtual(state0)(casUpload('.')('myfile'))
302
+ assert(result[0] === 'ok', ['expected casUpload ok', result])
303
+ assertEq(length(result[1]), 256n, ['expected 256-bit hash', length(result[1])])
304
+ // Source must be deleted after successful publish.
305
+ const srcPath = join('.', 'cas_upload', 'myfile')
306
+ const [, srcAccess] = virtual(state1)(access(srcPath))
307
+ assert(srcAccess[0] === 'error', 'expected source to be deleted after successful upload')
308
+ },
309
+ casUploadFailureKeepsSource: () => {
310
+ // A missing source file causes write to fail; casUpload returns error and the
311
+ // source is left in place (trivially: it was never there, but the upload is not published).
312
+ const state0 = { ...emptyState, root: {} }
313
+ const [state1, result] = virtual(state0)(casUpload('.')('nonexistent'))
314
+ assert(result[0] === 'error', ['expected casUpload to fail on missing source', result])
315
+ // Nothing published to the store.
316
+ const c = fileCas(sha256)('.')
317
+ const [, hashes] = virtual(state1)(c.list())
318
+ assertEq(hashes.length, 0, ['expected nothing published on failed upload', hashes])
319
+ },
320
+ collectReadDrainsChunks: () => {
321
+ // The common path: every chunk is `ok`, so collectRead concatenates them all
322
+ // and returns the whole blob as one `Vec`.
323
+ /** @type {List<never, IoResult<Vec>>} */
324
+ const stream = nonEmpty(ok(vec8(0x11n)), nonEmpty(ok(vec8(0x22n)), empty()))
325
+ const o = runPure(collectRead(stream))
326
+ assert(o.length === 1, 'expected collectRead to finish without issuing a command')
327
+ assertEq(o[0][0], 'ok')
328
+ },
329
+ collectReadPropagatesErrorItem: () => {
330
+ // An error item mid-stream short-circuits collectRead with that same error.
331
+ /** @type {IoResult<Vec>} */
332
+ const boom = error('boom')
333
+ /** @type {List<never, IoResult<Vec>>} */
334
+ const stream = nonEmpty(ok(vec8(0x11n)), nonEmpty(boom, /** @type {List<never, IoResult<Vec>>} */ (empty())))
335
+ const o = runPure(collectRead(stream))
336
+ assert(o.length === 1, 'expected collectRead to finish without issuing a command')
337
+ const [r] = o
338
+ assertEq(r[0], 'error')
339
+ assertEq(r[1], 'boom')
340
+ },
341
+ // A single `Vec` cannot exceed `maxLength` bits — feed a pure stream whose second
342
+ // chunk pushes the running total just over the limit so the overflow guard fires
343
+ // without any real I/O.
344
+ collectReadOverflow: () => {
345
+ const half = maxLength / 2n
346
+ const v1 = vec(half)(0n)
347
+ const v2 = vec(half + 1n)(0n)
348
+ /** @type {List<never, IoResult<Vec>>} */
349
+ const stream = nonEmpty(ok(v1), nonEmpty(ok(v2), empty()))
350
+ const o = runPure(collectRead(stream))
351
+ assert(o.length === 1, 'expected collectRead to finish without issuing a command')
352
+ assertEq(o[0][0], 'error')
353
+ },
354
+ casListPropagatesNonNotFoundAccessError: () => {
355
+ // A non-ENOENT `access` failure (permissions, corruption) is a genuine storage
356
+ // error and must propagate out of `list`, not be swallowed as an empty store.
357
+ const c = fileCas(sha256)('.')
358
+ const boom = { code: 'EACCES' }
359
+ const r = casCommand(c.list())
360
+ assert(r[0] === 'cont', 'expected list() to issue an access command first')
361
+ assertEq(r[1], 'access')
362
+ /** @type {unknown} */
363
+ let threw
364
+ try {
365
+ r[2](error(boom))
366
+ } catch (e) {
367
+ threw = e
368
+ }
369
+ assertEq(threw, boom)
370
+ },
371
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Types for content-addressable storage utilities.
3
+ *
4
+ * @module
5
+ */
6
+ import type { Vec } from '../types/bit_vec/types.ts';
7
+ import type { Effect, Operation } from '../effects/types.ts';
8
+ import type { List } from '../effects/list/types.ts';
9
+ import type { IoResult, Mkdir, Now, RandomInt, ReadBytes, Readdir, Rename, Rm, CreateExclusive, WriteBytes, Access, Stat } from '../effects/node/types.ts';
10
+ /**
11
+ * The filesystem effects the streaming CAS performs: `read` pulls shards
12
+ * (`ReadBytes`); `list` walks the store (`Access`/`Readdir`); `write` runs the
13
+ * lock-free staging upload (`Mkdir`/`CreateExclusive`/`WriteBytes`/`Rename`/`Rm`/
14
+ * `Stat`, lease deadlines from `Now`, staging names from `RandomInt`) and GC's
15
+ * expired staging files (`Readdir`/`Rm`).
16
+ */
17
+ export type FileCasOperation = ReadBytes | Mkdir | Readdir | Access | Rename | Rm | RandomInt | Now | CreateExclusive | WriteBytes | Stat | Now | Readdir | Rm;
18
+ export type Cas<O extends Operation> = {
19
+ /**
20
+ * Streams the content for `hash` out in `<=128 KiB` chunks. Every pull yields an
21
+ * explicit `ok(chunk)` or `error` item, so a missing shard or I/O error is a distinct
22
+ * error *item* in the stream, never collapsed into end-of-stream (`undefined`).
23
+ */
24
+ readonly read: (hash: Vec) => List<O, IoResult<Vec>>;
25
+ /**
26
+ * Consumes a chunk stream — each item `ok(chunk)` or `error` — hashing incrementally,
27
+ * and returns the content address. An error item aborts the upload.
28
+ */
29
+ readonly write: <O1 extends Operation>(payload: List<O1, IoResult<Vec>>) => Effect<O | O1, IoResult<Vec>>;
30
+ /** Lists all stored content hashes. */
31
+ readonly list: () => Effect<O, readonly Vec[]>;
32
+ };
33
+ export type FileCas = Cas<FileCasOperation> & {
34
+ url: (v: Vec) => string;
35
+ };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Types for content-addressable storage utilities.
3
+ *
4
+ * @module
5
+ */
6
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * CI step builder for Bun: installs the pinned Bun version and runs the
3
+ * FunctionalScript package smoke test plus Bun coverage in one canonical job.
4
+ *
5
+ * @module
6
+ *
7
+ * @import { MetaStep } from '../common/types.ts'
8
+ */
9
+ import type { MetaStep } from '../common/types.ts';
10
+ /** @type {(version: string) => readonly MetaStep[]} */
11
+ export declare const bunSteps: (version: string) => readonly MetaStep[];
@@ -0,0 +1,20 @@
1
+ /**
2
+ * CI step builder for Bun: installs the pinned Bun version and runs the
3
+ * FunctionalScript package smoke test plus Bun coverage in one canonical job.
4
+ *
5
+ * @module
6
+ *
7
+ * @import { MetaStep } from '../common/types.ts'
8
+ */
9
+
10
+ import { bun } from '../config/module.f.mjs'
11
+ import { install, test, uses } from '../common/module.f.mjs'
12
+
13
+ /** @type {(version: string) => readonly MetaStep[]} */
14
+ export const bunSteps = version => [
15
+ install(uses('oven-sh/setup-bun', { 'bun-version': bun })),
16
+ install({ run: `bun install -g functionalscript@${version}` }),
17
+ test({ run: 'bun install --frozen-lockfile' }),
18
+ test({ run: `bunx functionalscript@${version} test` }),
19
+ test({ run: 'bun test --coverage' }),
20
+ ]
@@ -0,0 +1,80 @@
1
+ import type { Step, Job, MetaStep } from './types.ts';
2
+ /**
3
+ * Shared CI types and helpers: GitHub Actions step/job RTTI schemas, the
4
+ * `MetaStep` representation used by tool-specific modules, and assemblers like
5
+ * `install`, `test`, `ubuntu`, and `toSteps`. See `./types.ts` for the
6
+ * `Os`/`Architecture`/`Image`/`Step`/`Job`/`Jobs`/`GitHubAction`/`StepType`/
7
+ * `MetaStep` type-level API.
8
+ *
9
+ * @module
10
+ *
11
+ * @import { Step, Job, MetaStep, StepType } from './types.ts'
12
+ */
13
+ import { actions } from '../config/module.f.mjs';
14
+ export declare const os: readonly ['ubuntu', 'macos', 'windows'];
15
+ export declare const architecture: readonly ['intel', 'arm'];
16
+ export declare const stepSchema: {
17
+ readonly run: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
18
+ readonly uses: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
19
+ readonly with: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts").Type1<"record", import("../../types/rtti/types.ts")._Type0<"string">>, undefined]>;
20
+ };
21
+ export declare const jobSchema: {
22
+ readonly 'runs-on': import("../../types/rtti/types.ts")._Type0<"string">;
23
+ readonly steps: import("../../types/rtti/types.ts").Type1<"array", {
24
+ readonly run: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
25
+ readonly uses: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
26
+ readonly with: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts").Type1<"record", import("../../types/rtti/types.ts")._Type0<"string">>, undefined]>;
27
+ }>;
28
+ };
29
+ export declare const jobsSchema: import("../../types/rtti/types.ts").Type1<"record", {
30
+ readonly 'runs-on': import("../../types/rtti/types.ts")._Type0<"string">;
31
+ readonly steps: import("../../types/rtti/types.ts").Type1<"array", {
32
+ readonly run: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
33
+ readonly uses: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
34
+ readonly with: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts").Type1<"record", import("../../types/rtti/types.ts")._Type0<"string">>, undefined]>;
35
+ }>;
36
+ }>;
37
+ export declare const gitHubActionSchema: {
38
+ readonly name: import("../../types/rtti/types.ts")._Type0<"string">;
39
+ readonly on: {
40
+ readonly pull_request: import("../../types/rtti/types.ts").Or<readonly [{}, undefined]>;
41
+ readonly merge_group: import("../../types/rtti/types.ts").Or<readonly [{}, undefined]>;
42
+ };
43
+ readonly permissions: import("../../types/rtti/types.ts").Type1<"record", import("../../types/rtti/types.ts")._Type0<"string">>;
44
+ readonly jobs: import("../../types/rtti/types.ts").Type1<"record", {
45
+ readonly 'runs-on': import("../../types/rtti/types.ts")._Type0<"string">;
46
+ readonly steps: import("../../types/rtti/types.ts").Type1<"array", {
47
+ readonly run: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
48
+ readonly uses: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
49
+ readonly with: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts").Type1<"record", import("../../types/rtti/types.ts")._Type0<"string">>, undefined]>;
50
+ }>;
51
+ }>;
52
+ };
53
+ export declare const parseGitHubAction: import("../../types/rtti/parse/types.ts").Parse<{
54
+ readonly name: import("../../types/rtti/types.ts")._Type0<"string">;
55
+ readonly on: {
56
+ readonly pull_request: import("../../types/rtti/types.ts").Or<readonly [{}, undefined]>;
57
+ readonly merge_group: import("../../types/rtti/types.ts").Or<readonly [{}, undefined]>;
58
+ };
59
+ readonly permissions: import("../../types/rtti/types.ts").Type1<"record", import("../../types/rtti/types.ts")._Type0<"string">>;
60
+ readonly jobs: import("../../types/rtti/types.ts").Type1<"record", {
61
+ readonly 'runs-on': import("../../types/rtti/types.ts")._Type0<"string">;
62
+ readonly steps: import("../../types/rtti/types.ts").Type1<"array", {
63
+ readonly run: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
64
+ readonly uses: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts")._Type0<"string">, undefined]>;
65
+ readonly with: import("../../types/rtti/types.ts").Or<readonly [import("../../types/rtti/types.ts").Type1<"record", import("../../types/rtti/types.ts")._Type0<"string">>, undefined]>;
66
+ }>;
67
+ }>;
68
+ }>;
69
+ /** @type {(name: keyof typeof actions, w?: Record<string, string>) => Step} */
70
+ export declare const uses: (name: keyof typeof actions, w?: Record<string, string>) => Step;
71
+ /** @type {(step: Step) => MetaStep} */
72
+ export declare const install: (step: Step) => MetaStep;
73
+ /** @type {(step: Step) => MetaStep} */
74
+ export declare const test: (step: Step) => MetaStep;
75
+ /** @type {(m: readonly MetaStep[]) => readonly Step[]} */
76
+ export declare const toSteps: (m: readonly MetaStep[]) => readonly Step[];
77
+ /** @type {(ms: readonly MetaStep[]) => Job} */
78
+ export declare const ubuntu: (ms: readonly MetaStep[]) => Job;
79
+ /** @type {(ms: readonly MetaStep[]) => Job} */
80
+ export declare const ubuntuArm: (ms: readonly MetaStep[]) => Job;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Shared CI types and helpers: GitHub Actions step/job RTTI schemas, the
3
+ * `MetaStep` representation used by tool-specific modules, and assemblers like
4
+ * `install`, `test`, `ubuntu`, and `toSteps`. See `./types.ts` for the
5
+ * `Os`/`Architecture`/`Image`/`Step`/`Job`/`Jobs`/`GitHubAction`/`StepType`/
6
+ * `MetaStep` type-level API.
7
+ *
8
+ * @module
9
+ *
10
+ * @import { Step, Job, MetaStep, StepType } from './types.ts'
11
+ */
12
+ import { actions, images } from '../config/module.f.mjs'
13
+ import { option, array, record, string } from '../../types/rtti/module.f.mjs'
14
+ import { parse as rttiParse } from '../../types/rtti/parse/module.f.mjs'
15
+
16
+ export const os = /** @type {const} */ (['ubuntu', 'macos', 'windows'])
17
+
18
+ export const architecture = /** @type {const} */ (['intel', 'arm'])
19
+
20
+ export const stepSchema = /** @type {const} */ ({
21
+ run: option(string),
22
+ uses: option(string),
23
+ with: option(record(string))
24
+ })
25
+
26
+ export const jobSchema = /** @type {const} */ ({
27
+ 'runs-on': string,
28
+ steps: array(stepSchema)
29
+ })
30
+
31
+ export const jobsSchema = record(jobSchema)
32
+
33
+ export const gitHubActionSchema = /** @type {const} */ ({
34
+ name: string,
35
+ on: {
36
+ pull_request: option({}),
37
+ merge_group: option({})
38
+ },
39
+ permissions: record(string),
40
+ jobs: jobsSchema
41
+ })
42
+
43
+ export const parseGitHubAction = rttiParse(gitHubActionSchema)
44
+
45
+ /** @type {(name: keyof typeof actions, w?: Record<string, string>) => Step} */
46
+ export const uses = (name, w) => ({
47
+ uses: `${name}@${actions[name]}`,
48
+ ...(w === undefined ? {} : { with: w })
49
+ })
50
+
51
+ /** @type {(step: Step) => MetaStep} */
52
+ export const install = step => ({ type: 'install', step })
53
+
54
+ /** @type {(step: Step) => MetaStep} */
55
+ export const test = step => ({ type: 'test', step })
56
+
57
+ /** @type {(m: readonly MetaStep[]) => readonly Step[]} */
58
+ export const toSteps = m => {
59
+ /** @type {(st: StepType) => Step[]} */
60
+ const filter = st => m.flatMap(mt => mt.type === st ? [mt.step] : [])
61
+ const aptGet = m.flatMap(v => v.type === 'apt-get' ? [v.package] : []).join(' ')
62
+
63
+ const needRust = m.find(v => v.type === 'rust') !== undefined
64
+ const targets = m.flatMap(v => v.type === 'rust' && v.target !== undefined ? [v.target] : []).join(',')
65
+ return [
66
+ ...(aptGet !== '' ? [{ run: `sudo apt-get update && sudo apt-get install -y ${aptGet}` }] : []),
67
+ ...(needRust ? [uses('dtolnay/rust-toolchain', {
68
+ components: 'rustfmt,clippy',
69
+ ...(targets === '' ? {} : { targets }),
70
+ })] : []),
71
+ ...filter('install'),
72
+ uses('actions/checkout'),
73
+ ...filter('test'),
74
+ ]
75
+ }
76
+
77
+ /** @type {(ms: readonly MetaStep[]) => Job} */
78
+ export const ubuntu = ms => ({
79
+ 'runs-on': images.ubuntu.intel,
80
+ steps: toSteps(ms)
81
+ })
82
+
83
+ /** @type {(ms: readonly MetaStep[]) => Job} */
84
+ export const ubuntuArm = ms => ({
85
+ 'runs-on': images.ubuntu.arm,
86
+ steps: toSteps(ms)
87
+ })
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Type-level API for shared CI types: GitHub Actions step/job RTTI schemas,
3
+ * the `MetaStep` representation used by tool-specific modules.
4
+ *
5
+ * @module
6
+ */
7
+ import type { Ts } from '../../types/rtti/ts/types.ts';
8
+ import type { images } from '../config/module.f.mjs';
9
+ import type { os, architecture, stepSchema, jobSchema, jobsSchema, gitHubActionSchema } from './module.f.mjs';
10
+ export type Os = typeof os[number];
11
+ export type Architecture = typeof architecture[number];
12
+ export type Image = typeof images[Os][Architecture];
13
+ export type Step = Ts<typeof stepSchema>;
14
+ export type Job = Ts<typeof jobSchema>;
15
+ export type Jobs = Ts<typeof jobsSchema>;
16
+ export type GitHubAction = Ts<typeof gitHubActionSchema>;
17
+ export type StepType = 'install' | 'test';
18
+ export type MetaStep = {
19
+ readonly type: StepType;
20
+ readonly step: Step;
21
+ } | {
22
+ readonly type: 'rust';
23
+ readonly target?: string;
24
+ } | {
25
+ readonly type: 'apt-get';
26
+ readonly package: string;
27
+ };