wao 0.41.3 → 0.41.5

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 (719) hide show
  1. package/.babelrc-cjs +5 -0
  2. package/.babelrc-esm +5 -0
  3. package/.gitmodules +4 -0
  4. package/.prettierrc +6 -0
  5. package/README.md +90 -0
  6. package/app/.eslintrc.json +3 -0
  7. package/app/.mocharc.cjs +6 -0
  8. package/app/arweave.mjs +87 -0
  9. package/app/components/Footer.js +76 -0
  10. package/app/components/Global.js +1128 -0
  11. package/app/components/Header.js +306 -0
  12. package/app/components/Left.js +28 -0
  13. package/app/components/Logo.js +34 -0
  14. package/app/components/Middle.js +37 -0
  15. package/app/components/Sidebar.js +93 -0
  16. package/app/components/Tags.js +42 -0
  17. package/app/components/editor/Editor.js +322 -0
  18. package/app/components/editor/FilePath.js +42 -0
  19. package/app/components/editor/MonacoEditor.js +44 -0
  20. package/app/components/left/LeftMessages.js +85 -0
  21. package/app/components/left/LeftModules.js +86 -0
  22. package/app/components/left/LeftNetworks.js +438 -0
  23. package/app/components/left/LeftProcesses.js +98 -0
  24. package/app/components/left/LeftProjects.js +397 -0
  25. package/app/components/left/LeftTests.js +189 -0
  26. package/app/components/middle/MiddleBlocks.js +79 -0
  27. package/app/components/middle/MiddleEntity.js +16 -0
  28. package/app/components/middle/MiddleEntityAccount.js +264 -0
  29. package/app/components/middle/MiddleEntityAssignment.js +104 -0
  30. package/app/components/middle/MiddleEntityBlock.js +148 -0
  31. package/app/components/middle/MiddleEntityMessage.js +430 -0
  32. package/app/components/middle/MiddleEntityModule.js +183 -0
  33. package/app/components/middle/MiddleEntityProcess.js +323 -0
  34. package/app/components/middle/MiddleEntityTx.js +211 -0
  35. package/app/components/middle/MiddleMessages.js +87 -0
  36. package/app/components/middle/MiddleModules.js +89 -0
  37. package/app/components/middle/MiddleNetworks.js +516 -0
  38. package/app/components/middle/MiddleProcesses.js +87 -0
  39. package/app/components/middle/MiddleTests.js +134 -0
  40. package/app/components/modals/CreateFileModal.js +115 -0
  41. package/app/components/modals/CreateFolderModal.js +83 -0
  42. package/app/components/modals/CreateProjectModal.js +63 -0
  43. package/app/components/modals/FSModal.js +141 -0
  44. package/app/components/modals/ImportModal.js +105 -0
  45. package/app/components/modals/LaunchNetworkModal.js +95 -0
  46. package/app/components/modals/Modal.js +38 -0
  47. package/app/components/modals/ProxyModal.js +122 -0
  48. package/app/components/modals/RenameFileModal.js +95 -0
  49. package/app/components/styles/EditorScrollbarStyle.js +29 -0
  50. package/app/components/styles/EntityScrollbarStyle.js +29 -0
  51. package/app/components/styles/GlobalStyle.js +102 -0
  52. package/app/components/styles/XtermStyle.js +37 -0
  53. package/app/components/terminal/Terminal.js +132 -0
  54. package/app/components/terminal/Xterm.js +160 -0
  55. package/app/components/ui/avatar.jsx +49 -0
  56. package/app/components/ui/checkbox.jsx +17 -0
  57. package/app/components/ui/close-button.jsx +20 -0
  58. package/app/components/ui/color-mode.jsx +61 -0
  59. package/app/components/ui/dialog.jsx +54 -0
  60. package/app/components/ui/drawer.jsx +44 -0
  61. package/app/components/ui/field.jsx +22 -0
  62. package/app/components/ui/input-group.jsx +39 -0
  63. package/app/components/ui/popover.jsx +49 -0
  64. package/app/components/ui/provider.jsx +12 -0
  65. package/app/components/ui/radio.jsx +17 -0
  66. package/app/components/ui/slider.jsx +107 -0
  67. package/app/components/ui/toaster.jsx +69 -0
  68. package/app/components/ui/tooltip.jsx +35 -0
  69. package/app/index.js +10 -0
  70. package/app/jsconfig.json +7 -0
  71. package/app/lib/GithubCSS.js +1218 -0
  72. package/app/lib/addon-fit.js +72 -0
  73. package/app/lib/data.js +31 -0
  74. package/app/lib/github-markdown.css +1169 -0
  75. package/app/lib/global.js +1 -0
  76. package/app/lib/guide.js +82 -0
  77. package/app/lib/hub.js +109 -0
  78. package/app/lib/scripts.js +47 -0
  79. package/app/lib/store.js +34 -0
  80. package/app/lib/use.js +64 -0
  81. package/app/lib/utils.js +387 -0
  82. package/app/lib/webrtc.js +217 -0
  83. package/app/next.config.js +25 -0
  84. package/app/package.json +62 -0
  85. package/app/pages/404.js +9 -0
  86. package/app/pages/_app.js +10 -0
  87. package/app/pages/_document.js +14 -0
  88. package/app/pages/index.js +121 -0
  89. package/app/playwright.config.mjs +41 -0
  90. package/app/proxy.mjs +21 -0
  91. package/app/public/assets/cover.png +0 -0
  92. package/app/public/blueprints/apm.lua +91 -0
  93. package/app/public/blueprints/arena.lua +345 -0
  94. package/app/public/blueprints/arns.lua +318 -0
  95. package/app/public/blueprints/chat.lua +210 -0
  96. package/app/public/blueprints/chatroom.lua +56 -0
  97. package/app/public/blueprints/patch-legacy-reply.lua +13 -0
  98. package/app/public/blueprints/staking.lua +93 -0
  99. package/app/public/blueprints/token.lua +298 -0
  100. package/app/public/blueprints/voting.lua +45 -0
  101. package/app/public/favicon.ico +0 -0
  102. package/app/public/logo.png +0 -0
  103. package/cli-esm.js +55 -0
  104. package/cli.js +54 -0
  105. package/devnet/app/api.js +129 -0
  106. package/devnet/app/components/layout.js +89 -0
  107. package/devnet/app/components/pagination.js +144 -0
  108. package/devnet/app/components/search.js +159 -0
  109. package/devnet/app/components/table.js +124 -0
  110. package/devnet/app/components/tags.js +89 -0
  111. package/devnet/app/index.html +14 -0
  112. package/devnet/app/main.js +215 -0
  113. package/devnet/app/router.js +59 -0
  114. package/devnet/app/state.js +19 -0
  115. package/devnet/app/style.css +1606 -0
  116. package/devnet/app/utils.js +77 -0
  117. package/devnet/app/views/blocks.js +75 -0
  118. package/devnet/app/views/dashboard.js +127 -0
  119. package/devnet/app/views/entity.js +1473 -0
  120. package/devnet/app/views/messages.js +90 -0
  121. package/devnet/app/views/modules.js +165 -0
  122. package/devnet/app/views/processes.js +90 -0
  123. package/devnet/app/views/schedulers.js +90 -0
  124. package/devnet/app/views/transactions.js +88 -0
  125. package/devnet/migrations/0001_initial.sql +51 -0
  126. package/devnet/package.json +26 -0
  127. package/devnet/playwright.config.js +7 -0
  128. package/devnet/src/cu-worker.js +166 -0
  129. package/devnet/src/index.js +309 -0
  130. package/devnet/vite.config.js +17 -0
  131. package/devnet/vitest.config.js +10 -0
  132. package/devnet/wrangler-cu.toml +32 -0
  133. package/devnet/wrangler.toml +38 -0
  134. package/dhfs-tutorial-app/package.json +15 -0
  135. package/dist/esm/workspace/dashboard/public/favicon.png +0 -0
  136. package/dist/esm/workspace/src/counter.lua +14 -0
  137. package/dist/package.json +82 -0
  138. package/hb.sh +18 -0
  139. package/hbsig/.babelrc-cjs +5 -0
  140. package/hbsig/.babelrc-esm +5 -0
  141. package/hbsig/README.md +1 -0
  142. package/hbsig/dist/cjs/bin_to_str.js +44 -0
  143. package/hbsig/dist/cjs/collect-body-keys.js +470 -0
  144. package/hbsig/dist/cjs/commit.js +330 -0
  145. package/hbsig/dist/cjs/encode-array-item.js +110 -0
  146. package/hbsig/dist/cjs/encode-utils.js +242 -0
  147. package/hbsig/dist/cjs/encode.js +1365 -0
  148. package/hbsig/dist/cjs/erl_json.js +326 -0
  149. package/hbsig/dist/cjs/erl_str.js +1042 -0
  150. package/hbsig/dist/cjs/flat.js +279 -0
  151. package/hbsig/dist/cjs/http-message-signatures/httpbis.js +489 -0
  152. package/hbsig/dist/cjs/http-message-signatures/index.js +25 -0
  153. package/hbsig/dist/cjs/http-message-signatures/structured-header.js +129 -0
  154. package/hbsig/dist/cjs/httpsig.js +861 -0
  155. package/hbsig/dist/cjs/id.js +470 -0
  156. package/hbsig/dist/cjs/index.js +174 -0
  157. package/hbsig/dist/cjs/nocrypto.js +51 -0
  158. package/hbsig/dist/cjs/parser.js +201 -0
  159. package/hbsig/dist/cjs/send-utils.js +1231 -0
  160. package/hbsig/dist/cjs/send.js +211 -0
  161. package/hbsig/dist/cjs/signer-utils.js +494 -0
  162. package/hbsig/dist/cjs/signer.js +436 -0
  163. package/hbsig/dist/cjs/structured.js +515 -0
  164. package/hbsig/dist/cjs/test.js +12 -0
  165. package/hbsig/dist/cjs/utils.js +44 -0
  166. package/hbsig/dist/esm/bin_to_str.js +46 -0
  167. package/hbsig/dist/esm/collect-body-keys.js +436 -0
  168. package/hbsig/dist/esm/commit.js +219 -0
  169. package/hbsig/dist/esm/encode-array-item.js +112 -0
  170. package/hbsig/dist/esm/encode-utils.js +191 -0
  171. package/hbsig/dist/esm/encode.js +1256 -0
  172. package/hbsig/dist/esm/erl_json.js +292 -0
  173. package/hbsig/dist/esm/erl_str.js +1144 -0
  174. package/hbsig/dist/esm/flat.js +250 -0
  175. package/hbsig/dist/esm/http-message-signatures/httpbis.js +438 -0
  176. package/hbsig/dist/esm/http-message-signatures/index.js +4 -0
  177. package/hbsig/dist/esm/http-message-signatures/structured-header.js +105 -0
  178. package/hbsig/dist/esm/httpsig.js +866 -0
  179. package/hbsig/dist/esm/id.js +459 -0
  180. package/hbsig/dist/esm/index.js +13 -0
  181. package/hbsig/dist/esm/nocrypto.js +4 -0
  182. package/hbsig/dist/esm/package.json +3 -0
  183. package/hbsig/dist/esm/parser.js +171 -0
  184. package/hbsig/dist/esm/send-utils.js +1132 -0
  185. package/hbsig/dist/esm/send.js +142 -0
  186. package/hbsig/dist/esm/signer-utils.js +375 -0
  187. package/hbsig/dist/esm/signer.js +312 -0
  188. package/hbsig/dist/esm/structured.js +496 -0
  189. package/hbsig/dist/esm/test.js +2 -0
  190. package/hbsig/dist/esm/utils.js +29 -0
  191. package/hbsig/dist/package.json +39 -0
  192. package/hbsig/make.js +36 -0
  193. package/hbsig/package.json +39 -0
  194. package/hbsig/src/bin_to_str.js +46 -0
  195. package/hbsig/src/collect-body-keys.js +436 -0
  196. package/hbsig/src/commit.js +219 -0
  197. package/hbsig/src/encode-array-item.js +112 -0
  198. package/hbsig/src/encode-utils.js +191 -0
  199. package/hbsig/src/encode.js +1256 -0
  200. package/hbsig/src/erl_json.js +292 -0
  201. package/hbsig/src/erl_str.js +1144 -0
  202. package/hbsig/src/flat.js +250 -0
  203. package/hbsig/src/http-message-signatures/httpbis.js +438 -0
  204. package/hbsig/src/http-message-signatures/index.js +4 -0
  205. package/hbsig/src/http-message-signatures/structured-header.js +105 -0
  206. package/hbsig/src/httpsig.js +866 -0
  207. package/hbsig/src/id.js +459 -0
  208. package/hbsig/src/index.js +13 -0
  209. package/hbsig/src/nocrypto.js +4 -0
  210. package/hbsig/src/parser.js +171 -0
  211. package/hbsig/src/send-utils.js +1132 -0
  212. package/hbsig/src/send.js +142 -0
  213. package/hbsig/src/signer-utils.js +375 -0
  214. package/hbsig/src/signer.js +312 -0
  215. package/hbsig/src/structured.js +496 -0
  216. package/hbsig/src/test.js +2 -0
  217. package/hbsig/src/utils.js +29 -0
  218. package/lp/index.html +25 -0
  219. package/lp/package.json +19 -0
  220. package/lp/public/cover.png +0 -0
  221. package/lp/public/favicon.ico +0 -0
  222. package/lp/public/favicon.png +0 -0
  223. package/lp/public/images/book.jpg +0 -0
  224. package/lp/public/images/dashboard.png +0 -0
  225. package/lp/public/images/devnet.png +0 -0
  226. package/lp/public/images/hero-bg.png +0 -0
  227. package/lp/public/images/hyperadd.png +0 -0
  228. package/lp/public/images/message-flow.png +0 -0
  229. package/lp/public/images/mobile.png +0 -0
  230. package/lp/public/images/og-cover.png +0 -0
  231. package/lp/public/images/scan.png +0 -0
  232. package/lp/public/images/wao-hub.png +0 -0
  233. package/lp/public/images/wao-web.png +0 -0
  234. package/lp/public/logo.png +0 -0
  235. package/lp/src/App.jsx +29 -0
  236. package/lp/src/components/CodeBlock.jsx +37 -0
  237. package/lp/src/components/CodeBlock.module.css +89 -0
  238. package/lp/src/components/Footer.jsx +22 -0
  239. package/lp/src/components/Footer.module.css +60 -0
  240. package/lp/src/components/Nav.jsx +80 -0
  241. package/lp/src/components/Nav.module.css +177 -0
  242. package/lp/src/components/SectionWrapper.jsx +15 -0
  243. package/lp/src/hooks/useReveal.js +25 -0
  244. package/lp/src/hooks/useScrolled.js +14 -0
  245. package/lp/src/main.jsx +10 -0
  246. package/lp/src/sections/Book.jsx +60 -0
  247. package/lp/src/sections/Book.module.css +204 -0
  248. package/lp/src/sections/Browser.jsx +46 -0
  249. package/lp/src/sections/Browser.module.css +67 -0
  250. package/lp/src/sections/Devnet.jsx +55 -0
  251. package/lp/src/sections/Devnet.module.css +136 -0
  252. package/lp/src/sections/GetStarted.jsx +51 -0
  253. package/lp/src/sections/GetStarted.module.css +128 -0
  254. package/lp/src/sections/Hero.jsx +67 -0
  255. package/lp/src/sections/Hero.module.css +202 -0
  256. package/lp/src/sections/HyperADD.jsx +46 -0
  257. package/lp/src/sections/HyperADD.module.css +113 -0
  258. package/lp/src/sections/SDK.jsx +90 -0
  259. package/lp/src/sections/SDK.module.css +122 -0
  260. package/lp/src/sections/Testing.jsx +47 -0
  261. package/lp/src/sections/Testing.module.css +124 -0
  262. package/lp/src/sections/Vision.jsx +93 -0
  263. package/lp/src/sections/Vision.module.css +147 -0
  264. package/lp/src/styles/globals.css +285 -0
  265. package/lp/src/utils/scrollTo.js +4 -0
  266. package/lp/vite.config.js +7 -0
  267. package/make.js +39 -0
  268. package/package.json +17 -12
  269. package/patches/@permaweb+ao-loader+0.0.44.patch +64 -0
  270. package/plan.md +435 -0
  271. package/rebar.lock +1 -0
  272. package/src/accounts-web.js +128 -0
  273. package/src/accounts.js +124 -0
  274. package/src/adaptor-base.js +622 -0
  275. package/src/adaptor-cf.js +11 -0
  276. package/src/adaptor-web.js +11 -0
  277. package/src/adaptor.js +10 -0
  278. package/src/ao-loader.js +30660 -0
  279. package/src/ao.js +1173 -0
  280. package/src/aoconnect-base.js +1098 -0
  281. package/src/aoconnect-cf.js +9 -0
  282. package/src/aoconnect-web.js +8 -0
  283. package/src/aoconnect.js +8 -0
  284. package/src/aos_wamr.js +1 -0
  285. package/src/ar-remote.js +87 -0
  286. package/src/ar.js +276 -0
  287. package/src/armem-base.js +529 -0
  288. package/src/armem-cf.js +67 -0
  289. package/src/armem-web.js +19 -0
  290. package/src/armem.js +26 -0
  291. package/src/bao.js +141 -0
  292. package/src/bar.js +366 -0
  293. package/src/build.js +7 -0
  294. package/src/bundler.js +119 -0
  295. package/src/car.js +10 -0
  296. package/src/cf-env.js +29 -0
  297. package/src/cf.js +11 -0
  298. package/src/cli.js +561 -0
  299. package/src/compress.js +112 -0
  300. package/src/create.js +415 -0
  301. package/src/devs.js +86 -0
  302. package/src/dirname.js +1 -0
  303. package/src/dodb.js +26 -0
  304. package/src/erl_json.js +289 -0
  305. package/src/erl_str.js +1139 -0
  306. package/src/gql.js +229 -0
  307. package/src/hb.js +967 -0
  308. package/src/helpers.js +203 -0
  309. package/src/http.js +619 -0
  310. package/src/hub/bundler.js +123 -0
  311. package/src/hub/cu.js +74 -0
  312. package/src/hub/fs.js +157 -0
  313. package/src/hub/index.js +85 -0
  314. package/src/hub/utils.js +64 -0
  315. package/src/hub/ws-proxy.js +67 -0
  316. package/src/hyper-aos.js +1 -0
  317. package/src/hyperbeam-server.js +21 -0
  318. package/src/hyperbeam.js +585 -0
  319. package/src/index.js +5 -0
  320. package/src/keygen.js +47 -0
  321. package/src/lfdb.js +67 -0
  322. package/src/lua/aos.wasm +0 -0
  323. package/src/lua/aos2_0_1.js +1 -0
  324. package/src/lua/aos2_0_1.wasm +0 -0
  325. package/src/lua/aos2_0_3.js +1 -0
  326. package/src/lua/aos2_0_3.wasm +0 -0
  327. package/src/lua/aos2_0_4_32.js +1 -0
  328. package/src/lua/aos2_0_4_32.wasm +0 -0
  329. package/src/lua/aos2_0_6.wasm +0 -0
  330. package/src/lua/apm.lua +61 -0
  331. package/src/lua/llama.wasm +0 -0
  332. package/src/lua/process.wasm +0 -0
  333. package/src/lua/sqlite.js +1 -0
  334. package/src/lua/sqlite.wasm +0 -0
  335. package/src/lua/weavedb_mock.lua +44 -0
  336. package/src/lua/weavedrive.lua +53 -0
  337. package/src/run.js +25 -0
  338. package/src/server.js +173 -0
  339. package/src/storage-multi.js +183 -0
  340. package/src/tao.js +12 -0
  341. package/src/tar.js +10 -0
  342. package/src/test.js +42 -0
  343. package/src/tgql-d1.js +407 -0
  344. package/src/tgql.js +310 -0
  345. package/src/toerl.js +162 -0
  346. package/src/utils.js +777 -0
  347. package/src/wao.js +29 -0
  348. package/src/waosm/README.md +81 -0
  349. package/src/waosm/waosm.d.ts +40 -0
  350. package/src/waosm/waosm.js +240 -0
  351. package/src/waosm/waosm_bg.wasm +0 -0
  352. package/src/waosm/waosm_bg.wasm.d.ts +8 -0
  353. package/src/waosm-node/README.md +81 -0
  354. package/src/waosm-node/waosm.d.ts +8 -0
  355. package/src/waosm-node/waosm.js +4 -0
  356. package/src/waosm-node/waosm_bg.js +147 -0
  357. package/src/waosm-node/waosm_bg.wasm +0 -0
  358. package/src/waosm-node/waosm_bg.wasm.d.ts +8 -0
  359. package/src/waosm-node/waosm_bg.wasm.js +14 -0
  360. package/src/waosm-node.js +9 -0
  361. package/src/war.js +10 -0
  362. package/src/weavedrive.js +376 -0
  363. package/src/web.js +11 -0
  364. package/src/workspace/.mcp.json +8 -0
  365. package/src/workspace/CLAUDE.md +258 -0
  366. package/src/workspace/README.md +85 -0
  367. package/src/workspace/dashboard/index.html +163 -0
  368. package/src/workspace/dashboard/package.json +18 -0
  369. package/src/workspace/dashboard/public/favicon.ico +0 -0
  370. package/src/workspace/dashboard/public/favicon.png +0 -0
  371. package/src/workspace/dashboard/server.js +224 -0
  372. package/src/workspace/dashboard/src/App.jsx +2350 -0
  373. package/{cjs/workspace/frontend → src/workspace/dashboard}/vite.config.js +6 -0
  374. package/src/workspace/package.json +18 -0
  375. package/src/workspace/src/counter.lua +14 -0
  376. package/tsconfig.json +18 -0
  377. package/types/index.d.ts +329 -0
  378. package/waollama/.eslintrc.json +3 -0
  379. package/waollama/README.md +19 -0
  380. package/waollama/arweave.mjs +87 -0
  381. package/waollama/components/ui/avatar.jsx +49 -0
  382. package/waollama/components/ui/checkbox.jsx +17 -0
  383. package/waollama/components/ui/close-button.jsx +20 -0
  384. package/waollama/components/ui/color-mode.jsx +61 -0
  385. package/waollama/components/ui/dialog.jsx +54 -0
  386. package/waollama/components/ui/drawer.jsx +44 -0
  387. package/waollama/components/ui/field.jsx +22 -0
  388. package/waollama/components/ui/input-group.jsx +39 -0
  389. package/waollama/components/ui/popover.jsx +49 -0
  390. package/waollama/components/ui/provider.jsx +12 -0
  391. package/waollama/components/ui/radio.jsx +17 -0
  392. package/waollama/components/ui/slider.jsx +107 -0
  393. package/waollama/components/ui/tooltip.jsx +35 -0
  394. package/waollama/index.js +10 -0
  395. package/waollama/jsconfig.json +7 -0
  396. package/waollama/lib/ao-loader.js +30654 -0
  397. package/waollama/lib/client.js +1 -0
  398. package/waollama/lib/wasm.js +1 -0
  399. package/waollama/next.config.js +25 -0
  400. package/waollama/package.json +43 -0
  401. package/waollama/pages/404.js +9 -0
  402. package/waollama/pages/_app.js +9 -0
  403. package/waollama/pages/_document.js +14 -0
  404. package/waollama/pages/index.js +212 -0
  405. package/waollama/playwright.config.js +31 -0
  406. package/waollama/proxy.mjs +21 -0
  407. package/waollama/public/favicon.ico +0 -0
  408. package/waollama/public/human.png +0 -0
  409. package/waollama/public/llama.png +0 -0
  410. package/waosm/Cargo.toml +11 -0
  411. package/waosm/README.md +81 -0
  412. package/waosm/compress.js +112 -0
  413. package/waosm/make.js +33 -0
  414. package/waosm/package.json +10 -0
  415. package/waosm/src/lib.rs +180 -0
  416. package/waosm/test.js +16 -0
  417. package/cjs/workspace/.claude/agents/builder.md +0 -99
  418. package/cjs/workspace/.claude/agents/device-builder.md +0 -86
  419. package/cjs/workspace/.claude/agents/tester.md +0 -90
  420. package/cjs/workspace/.claude/mcp/dashboard/server.js +0 -128
  421. package/cjs/workspace/.claude/rules/deploy.md +0 -45
  422. package/cjs/workspace/.claude/rules/frontend.md +0 -69
  423. package/cjs/workspace/.claude/rules/hyperbeam.md +0 -104
  424. package/cjs/workspace/.claude/rules/lua.md +0 -108
  425. package/cjs/workspace/.claude/rules/testing.md +0 -257
  426. package/cjs/workspace/.claude/settings.json +0 -109
  427. package/cjs/workspace/.claude/skills/build/SKILL.md +0 -214
  428. package/cjs/workspace/.claude/skills/build-aos/SKILL.md +0 -129
  429. package/cjs/workspace/.claude/skills/build-device/SKILL.md +0 -192
  430. package/cjs/workspace/.claude/skills/build-frontend/SKILL.md +0 -134
  431. package/cjs/workspace/.claude/skills/build-module/SKILL.md +0 -281
  432. package/cjs/workspace/.claude/skills/create-aos/SKILL.md +0 -63
  433. package/cjs/workspace/.claude/skills/create-device/SKILL.md +0 -87
  434. package/cjs/workspace/.claude/skills/create-module/SKILL.md +0 -162
  435. package/cjs/workspace/.claude/skills/debug/SKILL.md +0 -57
  436. package/cjs/workspace/.claude/skills/deploy/SKILL.md +0 -85
  437. package/cjs/workspace/.claude/skills/dev/SKILL.md +0 -32
  438. package/cjs/workspace/.claude/skills/plan/SKILL.md +0 -176
  439. package/cjs/workspace/.claude/skills/readme/SKILL.md +0 -186
  440. package/cjs/workspace/.claude/skills/report/SKILL.md +0 -49
  441. package/cjs/workspace/.claude/skills/team/SKILL.md +0 -101
  442. package/cjs/workspace/.claude/skills/test/SKILL.md +0 -56
  443. package/cjs/workspace/.claude/skills/test-device/SKILL.md +0 -114
  444. package/cjs/workspace/.claude/skills/test-e2e/SKILL.md +0 -103
  445. package/cjs/workspace/.claude/skills/test-hb/SKILL.md +0 -76
  446. package/cjs/workspace/.claude/skills/validate/SKILL.md +0 -96
  447. package/cjs/workspace/.claude/skills/validate/scripts/check-lua.sh +0 -41
  448. package/cjs/workspace/docs/aos-lua.md +0 -428
  449. package/cjs/workspace/docs/debug.md +0 -230
  450. package/cjs/workspace/docs/hyperbeam-dev.md +0 -606
  451. package/cjs/workspace/docs/hyperbeam-devices.md +0 -618
  452. package/cjs/workspace/docs/wao-sdk.md +0 -807
  453. package/cjs/workspace/frontend/e2e/.gitkeep +0 -0
  454. package/cjs/workspace/frontend/index.html +0 -12
  455. package/cjs/workspace/frontend/package.json +0 -24
  456. package/cjs/workspace/frontend/playwright.config.js +0 -10
  457. package/cjs/workspace/frontend/src/App.jsx +0 -24
  458. package/cjs/workspace/frontend/test/.gitkeep +0 -0
  459. package/cjs/workspace/frontend/vitest.config.js +0 -10
  460. package/cjs/workspace/scripts/deploy.js +0 -140
  461. package/cjs/workspace/scripts/keygen.js +0 -52
  462. package/cjs/workspace/test/aos.test.js +0 -98
  463. package/cjs/workspace/test/hyperbeam.test.js +0 -80
  464. package/esm/compiler/native +0 -0
  465. package/esm/workspace/.claude/agents/builder.md +0 -99
  466. package/esm/workspace/.claude/agents/device-builder.md +0 -86
  467. package/esm/workspace/.claude/agents/tester.md +0 -90
  468. package/esm/workspace/.claude/mcp/dashboard/server.js +0 -128
  469. package/esm/workspace/.claude/rules/deploy.md +0 -45
  470. package/esm/workspace/.claude/rules/frontend.md +0 -69
  471. package/esm/workspace/.claude/rules/hyperbeam.md +0 -104
  472. package/esm/workspace/.claude/rules/lua.md +0 -108
  473. package/esm/workspace/.claude/rules/testing.md +0 -257
  474. package/esm/workspace/.claude/settings.json +0 -109
  475. package/esm/workspace/.claude/skills/build/SKILL.md +0 -214
  476. package/esm/workspace/.claude/skills/build-aos/SKILL.md +0 -129
  477. package/esm/workspace/.claude/skills/build-device/SKILL.md +0 -192
  478. package/esm/workspace/.claude/skills/build-frontend/SKILL.md +0 -134
  479. package/esm/workspace/.claude/skills/build-module/SKILL.md +0 -281
  480. package/esm/workspace/.claude/skills/create-aos/SKILL.md +0 -63
  481. package/esm/workspace/.claude/skills/create-device/SKILL.md +0 -87
  482. package/esm/workspace/.claude/skills/create-module/SKILL.md +0 -162
  483. package/esm/workspace/.claude/skills/debug/SKILL.md +0 -57
  484. package/esm/workspace/.claude/skills/deploy/SKILL.md +0 -85
  485. package/esm/workspace/.claude/skills/dev/SKILL.md +0 -32
  486. package/esm/workspace/.claude/skills/plan/SKILL.md +0 -176
  487. package/esm/workspace/.claude/skills/readme/SKILL.md +0 -186
  488. package/esm/workspace/.claude/skills/report/SKILL.md +0 -49
  489. package/esm/workspace/.claude/skills/team/SKILL.md +0 -101
  490. package/esm/workspace/.claude/skills/test/SKILL.md +0 -56
  491. package/esm/workspace/.claude/skills/test-device/SKILL.md +0 -114
  492. package/esm/workspace/.claude/skills/test-e2e/SKILL.md +0 -103
  493. package/esm/workspace/.claude/skills/test-hb/SKILL.md +0 -76
  494. package/esm/workspace/.claude/skills/validate/SKILL.md +0 -96
  495. package/esm/workspace/.claude/skills/validate/scripts/check-lua.sh +0 -41
  496. package/esm/workspace/docs/aos-lua.md +0 -428
  497. package/esm/workspace/docs/debug.md +0 -230
  498. package/esm/workspace/docs/hyperbeam-dev.md +0 -606
  499. package/esm/workspace/docs/hyperbeam-devices.md +0 -618
  500. package/esm/workspace/docs/wao-sdk.md +0 -807
  501. package/esm/workspace/frontend/e2e/.gitkeep +0 -0
  502. package/esm/workspace/frontend/index.html +0 -12
  503. package/esm/workspace/frontend/package.json +0 -24
  504. package/esm/workspace/frontend/playwright.config.js +0 -10
  505. package/esm/workspace/frontend/src/App.jsx +0 -24
  506. package/esm/workspace/frontend/src/main.jsx +0 -9
  507. package/esm/workspace/frontend/test/.gitkeep +0 -0
  508. package/esm/workspace/frontend/vite.config.js +0 -6
  509. package/esm/workspace/frontend/vitest.config.js +0 -10
  510. package/esm/workspace/scripts/deploy.js +0 -140
  511. package/esm/workspace/scripts/keygen.js +0 -52
  512. package/esm/workspace/test/aos.test.js +0 -98
  513. package/esm/workspace/test/hyperbeam.test.js +0 -80
  514. /package/{cjs/workspace/dashboard/public → devnet/app}/favicon.ico +0 -0
  515. /package/{cjs/workspace → dhfs-tutorial-app}/src/counter.lua +0 -0
  516. /package/{cjs → dist/cjs}/accounts-web.js +0 -0
  517. /package/{cjs → dist/cjs}/accounts.js +0 -0
  518. /package/{cjs → dist/cjs}/adaptor-base.js +0 -0
  519. /package/{cjs → dist/cjs}/adaptor-cf.js +0 -0
  520. /package/{cjs → dist/cjs}/adaptor-web.js +0 -0
  521. /package/{cjs → dist/cjs}/adaptor.js +0 -0
  522. /package/{cjs → dist/cjs}/ao-loader.js +0 -0
  523. /package/{cjs → dist/cjs}/ao.js +0 -0
  524. /package/{cjs → dist/cjs}/aoconnect-base.js +0 -0
  525. /package/{cjs → dist/cjs}/aoconnect-cf.js +0 -0
  526. /package/{cjs → dist/cjs}/aoconnect-web.js +0 -0
  527. /package/{cjs → dist/cjs}/aoconnect.js +0 -0
  528. /package/{cjs → dist/cjs}/aos_wamr.js +0 -0
  529. /package/{cjs → dist/cjs}/ar-remote.js +0 -0
  530. /package/{cjs → dist/cjs}/ar.js +0 -0
  531. /package/{cjs → dist/cjs}/armem-base.js +0 -0
  532. /package/{cjs → dist/cjs}/armem-cf.js +0 -0
  533. /package/{cjs → dist/cjs}/armem-web.js +0 -0
  534. /package/{cjs → dist/cjs}/armem.js +0 -0
  535. /package/{cjs → dist/cjs}/bao.js +0 -0
  536. /package/{cjs → dist/cjs}/bar.js +0 -0
  537. /package/{cjs → dist/cjs}/build.js +0 -0
  538. /package/{cjs → dist/cjs}/bundler.js +0 -0
  539. /package/{cjs → dist/cjs}/car.js +0 -0
  540. /package/{cjs → dist/cjs}/cf-env.js +0 -0
  541. /package/{cjs → dist/cjs}/cf.js +0 -0
  542. /package/{cjs → dist/cjs}/cli.js +0 -0
  543. /package/{cjs → dist/cjs}/compress.js +0 -0
  544. /package/{cjs → dist/cjs}/create.js +0 -0
  545. /package/{cjs → dist/cjs}/devs.js +0 -0
  546. /package/{cjs → dist/cjs}/dirname.js +0 -0
  547. /package/{cjs → dist/cjs}/dodb.js +0 -0
  548. /package/{cjs → dist/cjs}/erl_json.js +0 -0
  549. /package/{cjs → dist/cjs}/erl_str.js +0 -0
  550. /package/{cjs → dist/cjs}/gql.js +0 -0
  551. /package/{cjs → dist/cjs}/hb.js +0 -0
  552. /package/{cjs → dist/cjs}/helpers.js +0 -0
  553. /package/{cjs → dist/cjs}/http.js +0 -0
  554. /package/{cjs → dist/cjs}/hub/bundler.js +0 -0
  555. /package/{cjs → dist/cjs}/hub/cu.js +0 -0
  556. /package/{cjs → dist/cjs}/hub/fs.js +0 -0
  557. /package/{cjs → dist/cjs}/hub/index.js +0 -0
  558. /package/{cjs → dist/cjs}/hub/utils.js +0 -0
  559. /package/{cjs → dist/cjs}/hub/ws-proxy.js +0 -0
  560. /package/{cjs → dist/cjs}/hyper-aos.js +0 -0
  561. /package/{cjs → dist/cjs}/hyperbeam-server.js +0 -0
  562. /package/{cjs → dist/cjs}/hyperbeam.js +0 -0
  563. /package/{cjs → dist/cjs}/index.js +0 -0
  564. /package/{cjs → dist/cjs}/keygen.js +0 -0
  565. /package/{cjs → dist/cjs}/lfdb.js +0 -0
  566. /package/{cjs → dist/cjs}/lua/aos.wasm +0 -0
  567. /package/{cjs → dist/cjs}/lua/aos2_0_1.js +0 -0
  568. /package/{cjs → dist/cjs}/lua/aos2_0_1.wasm +0 -0
  569. /package/{cjs → dist/cjs}/lua/aos2_0_3.js +0 -0
  570. /package/{cjs → dist/cjs}/lua/aos2_0_3.wasm +0 -0
  571. /package/{cjs → dist/cjs}/lua/aos2_0_4_32.js +0 -0
  572. /package/{cjs → dist/cjs}/lua/aos2_0_4_32.wasm +0 -0
  573. /package/{cjs → dist/cjs}/lua/aos2_0_6.wasm +0 -0
  574. /package/{cjs → dist/cjs}/lua/apm.lua +0 -0
  575. /package/{cjs → dist/cjs}/lua/llama.wasm +0 -0
  576. /package/{cjs → dist/cjs}/lua/process.wasm +0 -0
  577. /package/{cjs → dist/cjs}/lua/sqlite.js +0 -0
  578. /package/{cjs → dist/cjs}/lua/sqlite.wasm +0 -0
  579. /package/{cjs → dist/cjs}/lua/weavedb_mock.lua +0 -0
  580. /package/{cjs → dist/cjs}/lua/weavedrive.lua +0 -0
  581. /package/{cjs → dist/cjs}/run.js +0 -0
  582. /package/{cjs → dist/cjs}/server.js +0 -0
  583. /package/{cjs → dist/cjs}/storage-multi.js +0 -0
  584. /package/{cjs → dist/cjs}/tao.js +0 -0
  585. /package/{cjs → dist/cjs}/tar.js +0 -0
  586. /package/{cjs → dist/cjs}/test.js +0 -0
  587. /package/{cjs → dist/cjs}/tgql-d1.js +0 -0
  588. /package/{cjs → dist/cjs}/tgql.js +0 -0
  589. /package/{cjs → dist/cjs}/toerl.js +0 -0
  590. /package/{cjs → dist/cjs}/utils.js +0 -0
  591. /package/{cjs → dist/cjs}/wao.js +0 -0
  592. /package/{cjs → dist/cjs}/waosm/waosm.js +0 -0
  593. /package/{cjs → dist/cjs}/waosm-node/waosm.js +0 -0
  594. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.js +0 -0
  595. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.wasm +0 -0
  596. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.wasm.js +0 -0
  597. /package/{cjs → dist/cjs}/waosm-node.js +0 -0
  598. /package/{cjs → dist/cjs}/war.js +0 -0
  599. /package/{cjs → dist/cjs}/weavedrive.js +0 -0
  600. /package/{cjs → dist/cjs}/web.js +0 -0
  601. /package/{cjs → dist/cjs}/workspace/.mcp.json +0 -0
  602. /package/{cjs → dist/cjs}/workspace/CLAUDE.md +0 -0
  603. /package/{cjs → dist/cjs}/workspace/README.md +0 -0
  604. /package/{cjs → dist/cjs}/workspace/dashboard/index.html +0 -0
  605. /package/{cjs → dist/cjs}/workspace/dashboard/package.json +0 -0
  606. /package/{esm → dist/cjs}/workspace/dashboard/public/favicon.ico +0 -0
  607. /package/{cjs → dist/cjs}/workspace/dashboard/public/favicon.png +0 -0
  608. /package/{cjs → dist/cjs}/workspace/dashboard/server.js +0 -0
  609. /package/{cjs → dist/cjs}/workspace/dashboard/src/App.jsx +0 -0
  610. /package/{cjs → dist/cjs}/workspace/dashboard/src/main.jsx +0 -0
  611. /package/{cjs → dist/cjs}/workspace/dashboard/vite.config.js +0 -0
  612. /package/{cjs → dist/cjs}/workspace/package.json +0 -0
  613. /package/{esm → dist/cjs}/workspace/src/counter.lua +0 -0
  614. /package/{esm → dist/esm}/accounts-web.js +0 -0
  615. /package/{esm → dist/esm}/accounts.js +0 -0
  616. /package/{esm → dist/esm}/adaptor-base.js +0 -0
  617. /package/{esm → dist/esm}/adaptor-cf.js +0 -0
  618. /package/{esm → dist/esm}/adaptor-web.js +0 -0
  619. /package/{esm → dist/esm}/adaptor.js +0 -0
  620. /package/{esm → dist/esm}/ao-loader.js +0 -0
  621. /package/{esm → dist/esm}/ao.js +0 -0
  622. /package/{esm → dist/esm}/aoconnect-base.js +0 -0
  623. /package/{esm → dist/esm}/aoconnect-cf.js +0 -0
  624. /package/{esm → dist/esm}/aoconnect-web.js +0 -0
  625. /package/{esm → dist/esm}/aoconnect.js +0 -0
  626. /package/{esm → dist/esm}/aos_wamr.js +0 -0
  627. /package/{esm → dist/esm}/ar-remote.js +0 -0
  628. /package/{esm → dist/esm}/ar.js +0 -0
  629. /package/{esm → dist/esm}/armem-base.js +0 -0
  630. /package/{esm → dist/esm}/armem-cf.js +0 -0
  631. /package/{esm → dist/esm}/armem-web.js +0 -0
  632. /package/{esm → dist/esm}/armem.js +0 -0
  633. /package/{esm → dist/esm}/bao.js +0 -0
  634. /package/{esm → dist/esm}/bar.js +0 -0
  635. /package/{esm → dist/esm}/build.js +0 -0
  636. /package/{esm → dist/esm}/bundler.js +0 -0
  637. /package/{esm → dist/esm}/car.js +0 -0
  638. /package/{esm → dist/esm}/cf-env.js +0 -0
  639. /package/{esm → dist/esm}/cf.js +0 -0
  640. /package/{esm → dist/esm}/cli.js +0 -0
  641. /package/{esm → dist/esm}/compress.js +0 -0
  642. /package/{esm → dist/esm}/create.js +0 -0
  643. /package/{esm → dist/esm}/devs.js +0 -0
  644. /package/{esm → dist/esm}/dirname.js +0 -0
  645. /package/{esm → dist/esm}/dodb.js +0 -0
  646. /package/{esm → dist/esm}/erl_json.js +0 -0
  647. /package/{esm → dist/esm}/erl_str.js +0 -0
  648. /package/{esm → dist/esm}/gql.js +0 -0
  649. /package/{esm → dist/esm}/hb.js +0 -0
  650. /package/{esm → dist/esm}/helpers.js +0 -0
  651. /package/{esm → dist/esm}/http.js +0 -0
  652. /package/{esm → dist/esm}/hub/bundler.js +0 -0
  653. /package/{esm → dist/esm}/hub/cu.js +0 -0
  654. /package/{esm → dist/esm}/hub/fs.js +0 -0
  655. /package/{esm → dist/esm}/hub/index.js +0 -0
  656. /package/{esm → dist/esm}/hub/utils.js +0 -0
  657. /package/{esm → dist/esm}/hub/ws-proxy.js +0 -0
  658. /package/{esm → dist/esm}/hyper-aos.js +0 -0
  659. /package/{esm → dist/esm}/hyperbeam-server.js +0 -0
  660. /package/{esm → dist/esm}/hyperbeam.js +0 -0
  661. /package/{esm → dist/esm}/index.js +0 -0
  662. /package/{esm → dist/esm}/keygen.js +0 -0
  663. /package/{esm → dist/esm}/lfdb.js +0 -0
  664. /package/{esm → dist/esm}/lua/aos.wasm +0 -0
  665. /package/{esm → dist/esm}/lua/aos2_0_1.js +0 -0
  666. /package/{esm → dist/esm}/lua/aos2_0_1.wasm +0 -0
  667. /package/{esm → dist/esm}/lua/aos2_0_3.js +0 -0
  668. /package/{esm → dist/esm}/lua/aos2_0_3.wasm +0 -0
  669. /package/{esm → dist/esm}/lua/aos2_0_4_32.js +0 -0
  670. /package/{esm → dist/esm}/lua/aos2_0_4_32.wasm +0 -0
  671. /package/{esm → dist/esm}/lua/aos2_0_6.wasm +0 -0
  672. /package/{esm → dist/esm}/lua/apm.lua +0 -0
  673. /package/{esm → dist/esm}/lua/llama.wasm +0 -0
  674. /package/{esm → dist/esm}/lua/process.wasm +0 -0
  675. /package/{esm → dist/esm}/lua/sqlite.js +0 -0
  676. /package/{esm → dist/esm}/lua/sqlite.wasm +0 -0
  677. /package/{esm → dist/esm}/lua/weavedb_mock.lua +0 -0
  678. /package/{esm → dist/esm}/lua/weavedrive.lua +0 -0
  679. /package/{esm → dist/esm}/package.json +0 -0
  680. /package/{esm → dist/esm}/run.js +0 -0
  681. /package/{esm → dist/esm}/server.js +0 -0
  682. /package/{esm → dist/esm}/storage-multi.js +0 -0
  683. /package/{esm → dist/esm}/tao.js +0 -0
  684. /package/{esm → dist/esm}/tar.js +0 -0
  685. /package/{esm → dist/esm}/test.js +0 -0
  686. /package/{esm → dist/esm}/tgql-d1.js +0 -0
  687. /package/{esm → dist/esm}/tgql.js +0 -0
  688. /package/{esm → dist/esm}/toerl.js +0 -0
  689. /package/{esm → dist/esm}/utils.js +0 -0
  690. /package/{esm → dist/esm}/wao.js +0 -0
  691. /package/{esm → dist/esm}/waosm/README.md +0 -0
  692. /package/{esm → dist/esm}/waosm/waosm.d.ts +0 -0
  693. /package/{esm → dist/esm}/waosm/waosm.js +0 -0
  694. /package/{esm → dist/esm}/waosm/waosm_bg.wasm +0 -0
  695. /package/{esm → dist/esm}/waosm/waosm_bg.wasm.d.ts +0 -0
  696. /package/{esm → dist/esm}/waosm-node/README.md +0 -0
  697. /package/{esm → dist/esm}/waosm-node/waosm.d.ts +0 -0
  698. /package/{esm → dist/esm}/waosm-node/waosm.js +0 -0
  699. /package/{esm → dist/esm}/waosm-node/waosm_bg.js +0 -0
  700. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm +0 -0
  701. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm.d.ts +0 -0
  702. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm.js +0 -0
  703. /package/{esm → dist/esm}/waosm-node.js +0 -0
  704. /package/{esm → dist/esm}/war.js +0 -0
  705. /package/{esm → dist/esm}/weavedrive.js +0 -0
  706. /package/{esm → dist/esm}/web.js +0 -0
  707. /package/{esm → dist/esm}/workspace/.mcp.json +0 -0
  708. /package/{esm → dist/esm}/workspace/CLAUDE.md +0 -0
  709. /package/{esm → dist/esm}/workspace/README.md +0 -0
  710. /package/{esm → dist/esm}/workspace/dashboard/index.html +0 -0
  711. /package/{esm → dist/esm}/workspace/dashboard/package.json +0 -0
  712. /package/{esm/workspace/dashboard/public/favicon.png → dist/esm/workspace/dashboard/public/favicon.ico} +0 -0
  713. /package/{esm → dist/esm}/workspace/dashboard/server.js +0 -0
  714. /package/{esm → dist/esm}/workspace/dashboard/src/App.jsx +0 -0
  715. /package/{cjs/workspace/frontend → dist/esm/workspace/dashboard}/src/main.jsx +0 -0
  716. /package/{esm → dist/esm}/workspace/dashboard/vite.config.js +0 -0
  717. /package/{esm → dist/esm}/workspace/package.json +0 -0
  718. /package/{postinstall.cjs → dist/postinstall.cjs} +0 -0
  719. /package/{esm → src}/workspace/dashboard/src/main.jsx +0 -0
@@ -0,0 +1,1042 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.erl_str_from = erl_str_from;
7
+ exports.erl_str_to = erl_str_to;
8
+ exports.parse_body = parse_body;
9
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
10
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
14
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
15
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
16
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
17
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
20
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
21
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
25
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
26
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
27
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
28
+ /**
29
+ * Erlang term string parser and formatter
30
+ * Converts between Erlang term strings and JavaScript values
31
+ */
32
+
33
+ /**
34
+ * Parse an Erlang term string into JavaScript values
35
+ * @param {string} str - Erlang term string
36
+ * @param {boolean} binaryMode - If true, keep binaries as Buffers; if false, convert to strings
37
+ * @returns {*} JavaScript value
38
+ */
39
+ function erl_str_from(str) {
40
+ var binaryMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
41
+ // Handle null/undefined input
42
+ if (str === null || str === undefined) {
43
+ return null;
44
+ }
45
+
46
+ // Handle the new response format
47
+ if (str.startsWith("#erl_response{")) {
48
+ var rawMatch = str.match(/#erl_response\{raw=([^]*?),formatted=([^]*?)\}$/);
49
+ if (rawMatch && rawMatch[1] && rawMatch[2]) {
50
+ var rawStr = rawMatch[1];
51
+ var formattedStr = rawMatch[2];
52
+ if (binaryMode) {
53
+ // In binary mode, just parse formatted
54
+ var _parser = new ErlangParser(formattedStr, true);
55
+ return _parser.parse();
56
+ } else {
57
+ // Build a type map from raw, then parse formatted with type info
58
+ var typeMap = buildTypeMap(rawStr);
59
+ var _parser2 = new TypeAwareParser(formattedStr, typeMap);
60
+ return _parser2.parse();
61
+ }
62
+ }
63
+ }
64
+
65
+ // Fallback for non-response format
66
+ var parser = new ErlangParser(str, binaryMode);
67
+ return parser.parse();
68
+ }
69
+
70
+ /**
71
+ * Parse body field specially - convert to string only for multipart bodies
72
+ * @param {*} parsed - Parsed Erlang term object
73
+ * @returns {*} Object with body field potentially converted to string
74
+ */
75
+ function parse_body(parsed) {
76
+ if (!parsed || _typeof(parsed) !== "object") {
77
+ return parsed;
78
+ }
79
+
80
+ // If there's a body field
81
+ if ("body" in parsed) {
82
+ if (Buffer.isBuffer(parsed.body)) {
83
+ // Check if this looks like a multipart body
84
+ // Multipart bodies start with "--" boundary
85
+ var bodyStart = parsed.body.toString("binary", 0, Math.min(100, parsed.body.length));
86
+ if (bodyStart.startsWith("--") && parsed["content-type"] && parsed["content-type"].includes("multipart")) {
87
+ // It's a multipart body, convert to string
88
+ return _objectSpread(_objectSpread({}, parsed), {}, {
89
+ body: parsed.body.toString("binary")
90
+ });
91
+ }
92
+ // Not multipart, keep as Buffer
93
+ return parsed;
94
+ }
95
+ // Already a string, return as-is
96
+ return parsed;
97
+ }
98
+ return parsed;
99
+ }
100
+
101
+ // Build a map of paths to types by analyzing the raw string
102
+ function buildTypeMap(rawStr) {
103
+ var typeMap = new Map();
104
+ function detectBinaryType(str, startPos) {
105
+ // Check what follows <<
106
+ var pos = startPos + 2;
107
+ while (pos < str.length && /\s/.test(str[pos])) pos++;
108
+ if (pos < str.length && str[pos] === '"') {
109
+ // It looks like a string, but check if it has escape sequences
110
+ // If it has \NNN octal escapes, it's actually a binary that Erlang formatted as string
111
+ var scanPos = pos + 1;
112
+ var hasOctalEscapes = false;
113
+ while (scanPos < str.length && !(str[scanPos] === '"' && str[scanPos + 1] === ">" && str[scanPos + 2] === ">")) {
114
+ if (str[scanPos] === "\\" && scanPos + 1 < str.length) {
115
+ var nextChar = str[scanPos + 1];
116
+ // Check for octal escape \NNN
117
+ if (/[0-7]/.test(nextChar)) {
118
+ hasOctalEscapes = true;
119
+ break;
120
+ }
121
+ scanPos += 2;
122
+ } else {
123
+ scanPos++;
124
+ }
125
+ }
126
+
127
+ // If it has octal escapes, treat as binary
128
+ if (hasOctalEscapes) {
129
+ return "binary";
130
+ }
131
+ return "string";
132
+ }
133
+ return "binary";
134
+ }
135
+ function scanValue(str, pos, path) {
136
+ while (pos < str.length && /\s/.test(str[pos])) pos++;
137
+ if (pos >= str.length) return pos;
138
+ if (str[pos] === "#" && str[pos + 1] === "{") {
139
+ // Map
140
+ pos += 2;
141
+ var mapIndex = 0;
142
+ while (pos < str.length) {
143
+ while (pos < str.length && /\s/.test(str[pos])) pos++;
144
+ if (str[pos] === "}") return pos + 1;
145
+
146
+ // Parse key
147
+ var keyStart = pos;
148
+ if (str[pos] === "<" && str[pos + 1] === "<") {
149
+ // Binary key
150
+ var keyType = detectBinaryType(str, pos);
151
+ var keyEnd = pos + 2;
152
+ if (keyType === "string") {
153
+ keyEnd++; // skip "
154
+ while (keyEnd < str.length && !(str[keyEnd] === '"' && str[keyEnd + 1] === ">" && str[keyEnd + 2] === ">")) {
155
+ if (str[keyEnd] === "\\") keyEnd++;
156
+ keyEnd++;
157
+ }
158
+ keyEnd += 3;
159
+ } else {
160
+ var depth = 1;
161
+ while (depth > 0 && keyEnd < str.length) {
162
+ if (str[keyEnd] === "<" && str[keyEnd + 1] === "<") {
163
+ depth++;
164
+ keyEnd += 2;
165
+ } else if (str[keyEnd] === ">" && str[keyEnd + 1] === ">") {
166
+ depth--;
167
+ keyEnd += 2;
168
+ } else {
169
+ keyEnd++;
170
+ }
171
+ }
172
+ }
173
+ pos = keyEnd;
174
+ } else {
175
+ // Regular key
176
+ while (pos < str.length && !/[\s=,}]/.test(str[pos])) pos++;
177
+ }
178
+
179
+ // Skip =>
180
+ while (pos < str.length && /\s/.test(str[pos])) pos++;
181
+ if (str[pos] === "=" && str[pos + 1] === ">") pos += 2;
182
+ while (pos < str.length && /\s/.test(str[pos])) pos++;
183
+
184
+ // Parse value and record type if binary
185
+ if (str[pos] === "<" && str[pos + 1] === "<") {
186
+ var type = detectBinaryType(str, pos);
187
+ var pathKey = [].concat(_toConsumableArray(path), [mapIndex]).join(".");
188
+ typeMap.set(pathKey, type);
189
+ }
190
+ pos = scanValue(str, pos, [].concat(_toConsumableArray(path), [mapIndex]));
191
+ mapIndex++;
192
+
193
+ // Skip comma
194
+ while (pos < str.length && /\s/.test(str[pos])) pos++;
195
+ if (str[pos] === ",") pos++;
196
+ }
197
+ } else if (str[pos] === "<" && str[pos + 1] === "<") {
198
+ // Binary
199
+ var _type = detectBinaryType(str, pos);
200
+ var _pathKey = path.join(".");
201
+ typeMap.set(_pathKey, _type);
202
+ pos += 2;
203
+ if (_type === "string" || str[pos] === '"') {
204
+ // Skip past string literal
205
+ if (str[pos] === '"') pos++; // skip opening quote
206
+ while (pos < str.length && !(str[pos] === '"' && str[pos + 1] === ">" && str[pos + 2] === ">")) {
207
+ if (str[pos] === "\\") pos++;
208
+ pos++;
209
+ }
210
+ return pos + 3;
211
+ } else {
212
+ var _depth = 1;
213
+ while (_depth > 0 && pos < str.length) {
214
+ if (str[pos] === "<" && str[pos + 1] === "<") {
215
+ _depth++;
216
+ pos += 2;
217
+ } else if (str[pos] === ">" && str[pos + 1] === ">") {
218
+ _depth--;
219
+ pos += 2;
220
+ } else {
221
+ pos++;
222
+ }
223
+ }
224
+ return pos;
225
+ }
226
+ } else if (str[pos] === "[") {
227
+ // List
228
+ pos++;
229
+ var listIndex = 0;
230
+ while (pos < str.length) {
231
+ while (pos < str.length && /\s/.test(str[pos])) pos++;
232
+ if (str[pos] === "]") return pos + 1;
233
+ pos = scanValue(str, pos, [].concat(_toConsumableArray(path), [listIndex]));
234
+ listIndex++;
235
+ while (pos < str.length && /\s/.test(str[pos])) pos++;
236
+ if (str[pos] === ",") pos++;
237
+ }
238
+ } else {
239
+ // Skip other values
240
+ while (pos < str.length && !/[\s,\]}=>]/.test(str[pos])) {
241
+ pos++;
242
+ }
243
+ return pos;
244
+ }
245
+ return pos;
246
+ }
247
+ scanValue(rawStr, 0, []);
248
+ return typeMap;
249
+ }
250
+
251
+ // Parser that uses type information
252
+ var TypeAwareParser = /*#__PURE__*/function () {
253
+ function TypeAwareParser(str, typeMap) {
254
+ _classCallCheck(this, TypeAwareParser);
255
+ this.str = str;
256
+ this.typeMap = typeMap;
257
+ this.pos = 0;
258
+ this.path = [];
259
+ }
260
+ return _createClass(TypeAwareParser, [{
261
+ key: "parse",
262
+ value: function parse() {
263
+ var result = this.parseValue();
264
+ this.skipWhitespace();
265
+ if (this.pos < this.str.length) {
266
+ throw new Error("Unexpected content at position ".concat(this.pos));
267
+ }
268
+ return result;
269
+ }
270
+ }, {
271
+ key: "peek",
272
+ value: function peek() {
273
+ var offset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
274
+ return this.str[this.pos + offset] || "";
275
+ }
276
+ }, {
277
+ key: "advance",
278
+ value: function advance() {
279
+ var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
280
+ this.pos += count;
281
+ }
282
+ }, {
283
+ key: "skipWhitespace",
284
+ value: function skipWhitespace() {
285
+ while (this.pos < this.str.length && /\s/.test(this.peek())) {
286
+ this.advance();
287
+ }
288
+ }
289
+ }, {
290
+ key: "parseValue",
291
+ value: function parseValue() {
292
+ this.skipWhitespace();
293
+ var ch = this.peek();
294
+ var ch2 = this.peek(1);
295
+ if (ch === "#" && ch2 === "{") {
296
+ return this.parseMap();
297
+ }
298
+ if (ch === "<" && ch2 === "<") {
299
+ return this.parseBinary();
300
+ }
301
+ if (ch === "[") {
302
+ return this.parseList();
303
+ }
304
+ if (ch === "'") {
305
+ return this.parseQuotedAtom();
306
+ }
307
+ if (ch === '"') {
308
+ return this.parseQuotedString();
309
+ }
310
+ return this.parseAtomOrNumber();
311
+ }
312
+ }, {
313
+ key: "parseMap",
314
+ value: function parseMap() {
315
+ this.advance(2); // skip #{
316
+ var map = {};
317
+ var mapIndex = 0;
318
+ while (true) {
319
+ this.skipWhitespace();
320
+ if (this.peek() === "}") {
321
+ this.advance();
322
+ break;
323
+ }
324
+ this.path.push(mapIndex);
325
+ var key = this.parseValue();
326
+ this.path.pop();
327
+ this.skipWhitespace();
328
+ if (this.peek() !== "=" || this.peek(1) !== ">") {
329
+ throw new Error("Expected =>");
330
+ }
331
+ this.advance(2);
332
+ this.skipWhitespace();
333
+ this.path.push(mapIndex);
334
+ var value = this.parseValue();
335
+ this.path.pop();
336
+ var jsKey = key instanceof Buffer ? key.toString("utf8") : _typeof(key) === "symbol" ? Symbol.keyFor(key) || String(key) : String(key);
337
+ map[jsKey] = value;
338
+ mapIndex++;
339
+ this.skipWhitespace();
340
+ if (this.peek() === ",") {
341
+ this.advance();
342
+ }
343
+ }
344
+ return map;
345
+ }
346
+ }, {
347
+ key: "parseBinary",
348
+ value: function parseBinary() {
349
+ var currentPath = this.path.join(".");
350
+ var type = this.typeMap.get(currentPath) || "binary";
351
+
352
+ // Parse the formatted version (always byte format)
353
+ this.advance(2); // skip <<
354
+
355
+ if (this.peek() === ">" && this.peek(1) === ">") {
356
+ this.advance(2);
357
+ return Buffer.alloc(0);
358
+ }
359
+ var bytes = [];
360
+ while (!(this.peek() === ">" && this.peek(1) === ">")) {
361
+ this.skipWhitespace();
362
+ var num = "";
363
+ while (/\d/.test(this.peek())) {
364
+ num += this.peek();
365
+ this.advance();
366
+ }
367
+ if (num) bytes.push(parseInt(num, 10));
368
+ this.skipWhitespace();
369
+ if (this.peek() === ",") this.advance();
370
+ }
371
+ this.advance(2); // skip >>
372
+
373
+ var buffer = Buffer.from(bytes);
374
+
375
+ // If it was a string literal in raw, convert to string
376
+ if (type === "string") {
377
+ return buffer.toString("utf8");
378
+ }
379
+
380
+ // For binaries that are not explicitly marked as strings, check if they're valid UTF-8
381
+ // that contains reasonable string content (no control characters except \t, \n, \r)
382
+ try {
383
+ var str = buffer.toString("utf8");
384
+ // Check if the string round-trips correctly
385
+ if (Buffer.from(str, "utf8").equals(buffer)) {
386
+ // It's valid UTF-8, but also check if it contains reasonable characters
387
+ var hasReasonableChars = true;
388
+ for (var i = 0; i < str.length; i++) {
389
+ var code = str.charCodeAt(i);
390
+ // Allow printable chars, space, tab, newline, carriage return, and Unicode
391
+ if (code < 0x20 && code !== 0x09 && code !== 0x0a && code !== 0x0d) {
392
+ hasReasonableChars = false;
393
+ break;
394
+ }
395
+ }
396
+ if (hasReasonableChars) {
397
+ return str;
398
+ }
399
+ }
400
+ } catch (e) {
401
+ // Not valid UTF-8, keep as buffer
402
+ }
403
+ return buffer;
404
+ }
405
+ }, {
406
+ key: "parseQuotedString",
407
+ value: function parseQuotedString() {
408
+ this.advance(); // skip opening "
409
+ var str = "";
410
+ while (this.peek() !== '"') {
411
+ if (this.peek() === "\\") {
412
+ this.advance();
413
+ var escaped = this.peek();
414
+ switch (escaped) {
415
+ case '"':
416
+ str += '"';
417
+ break;
418
+ case "\\":
419
+ str += "\\";
420
+ break;
421
+ case "n":
422
+ str += "\n";
423
+ break;
424
+ case "r":
425
+ str += "\r";
426
+ break;
427
+ case "t":
428
+ str += "\t";
429
+ break;
430
+ default:
431
+ str += escaped;
432
+ }
433
+ this.advance();
434
+ } else {
435
+ str += this.peek();
436
+ this.advance();
437
+ }
438
+ }
439
+ this.advance(); // skip closing "
440
+ return str;
441
+ }
442
+ }, {
443
+ key: "parseList",
444
+ value: function parseList() {
445
+ this.advance(); // skip [
446
+ var list = [];
447
+ var listIndex = 0;
448
+ while (true) {
449
+ this.skipWhitespace();
450
+ if (this.peek() === "]") {
451
+ this.advance();
452
+ break;
453
+ }
454
+ this.path.push(listIndex);
455
+ list.push(this.parseValue());
456
+ this.path.pop();
457
+ listIndex++;
458
+ this.skipWhitespace();
459
+ if (this.peek() === ",") {
460
+ this.advance();
461
+ }
462
+ }
463
+ return list;
464
+ }
465
+ }, {
466
+ key: "parseQuotedAtom",
467
+ value: function parseQuotedAtom() {
468
+ this.advance(); // skip '
469
+
470
+ var atom = "";
471
+ while (this.peek() !== "'") {
472
+ if (this.peek() === "\\") {
473
+ this.advance();
474
+ var escaped = this.peek();
475
+ switch (escaped) {
476
+ case "'":
477
+ atom += "'";
478
+ break;
479
+ case "\\":
480
+ atom += "\\";
481
+ break;
482
+ case "n":
483
+ atom += "\n";
484
+ break;
485
+ case "r":
486
+ atom += "\r";
487
+ break;
488
+ case "t":
489
+ atom += "\t";
490
+ break;
491
+ default:
492
+ atom += escaped;
493
+ }
494
+ this.advance();
495
+ } else {
496
+ atom += this.peek();
497
+ this.advance();
498
+ }
499
+ }
500
+ this.advance(); // skip closing '
501
+
502
+ if (atom === "null") return null;
503
+ if (atom === "true") return true;
504
+ if (atom === "false") return false;
505
+ return Symbol["for"](atom);
506
+ }
507
+ }, {
508
+ key: "parseAtomOrNumber",
509
+ value: function parseAtomOrNumber() {
510
+ var token = "";
511
+
512
+ // Parse unquoted atom/number
513
+ while (this.pos < this.str.length) {
514
+ var ch = this.peek();
515
+ if (ch === "," || ch === "]" || ch === "}" || ch === ")" || ch === "=" && this.peek(1) === ">") {
516
+ break;
517
+ }
518
+ if (/\s/.test(ch)) {
519
+ var i = this.pos;
520
+ while (i < this.str.length && /\s/.test(this.str[i])) i++;
521
+ if (i >= this.str.length) break;
522
+ var nextCh = this.str[i];
523
+ if (nextCh === "," || nextCh === "]" || nextCh === "}" || nextCh === ")" || nextCh === "=" && i + 1 < this.str.length && this.str[i + 1] === ">") {
524
+ break;
525
+ }
526
+ }
527
+ token += ch;
528
+ this.advance();
529
+ }
530
+ token = token.trim();
531
+ if (token === "null") return null;
532
+ if (token === "true") return true;
533
+ if (token === "false") return false;
534
+ if (/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/.test(token)) {
535
+ return parseFloat(token);
536
+ }
537
+ return Symbol["for"](token);
538
+ }
539
+ }]);
540
+ }(); // Parser implementation
541
+ var ErlangParser = /*#__PURE__*/function () {
542
+ function ErlangParser(str) {
543
+ var binaryMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
544
+ _classCallCheck(this, ErlangParser);
545
+ this.str = str;
546
+ this.pos = 0;
547
+ this.binaryMode = binaryMode;
548
+ }
549
+ return _createClass(ErlangParser, [{
550
+ key: "parse",
551
+ value: function parse() {
552
+ var result = this.parseValue();
553
+ this.skipWhitespace();
554
+ if (this.pos < this.str.length) {
555
+ throw new Error("Unexpected content at position ".concat(this.pos, ": ").concat(this.str.slice(this.pos, this.pos + 50)));
556
+ }
557
+ return result;
558
+ }
559
+ }, {
560
+ key: "peek",
561
+ value: function peek() {
562
+ var offset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
563
+ return this.str[this.pos + offset] || "";
564
+ }
565
+ }, {
566
+ key: "advance",
567
+ value: function advance() {
568
+ var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
569
+ this.pos += count;
570
+ }
571
+ }, {
572
+ key: "skipWhitespace",
573
+ value: function skipWhitespace() {
574
+ while (this.pos < this.str.length && /\s/.test(this.peek())) {
575
+ this.advance();
576
+ }
577
+ }
578
+ }, {
579
+ key: "parseValue",
580
+ value: function parseValue() {
581
+ this.skipWhitespace();
582
+ var ch = this.peek();
583
+ var ch2 = this.peek(1);
584
+
585
+ // Map: #{...}
586
+ if (ch === "#" && ch2 === "{") {
587
+ return this.parseMap();
588
+ }
589
+
590
+ // Binary: <<...>>
591
+ if (ch === "<" && ch2 === "<") {
592
+ return this.parseBinary();
593
+ }
594
+
595
+ // List: [...]
596
+ if (ch === "[") {
597
+ return this.parseList();
598
+ }
599
+
600
+ // Quoted atom: 'atom'
601
+ if (ch === "'") {
602
+ return this.parseQuotedAtom();
603
+ }
604
+
605
+ // Quoted string: "..."
606
+ if (ch === '"') {
607
+ return this.parseQuotedString();
608
+ }
609
+
610
+ // Number or unquoted atom
611
+ return this.parseAtomOrNumber();
612
+ }
613
+ }, {
614
+ key: "parseMap",
615
+ value: function parseMap() {
616
+ this.advance(2); // skip #{
617
+ var map = {};
618
+ while (true) {
619
+ this.skipWhitespace();
620
+ if (this.peek() === "}") {
621
+ this.advance();
622
+ break;
623
+ }
624
+
625
+ // Parse key
626
+ var key = this.parseValue();
627
+ this.skipWhitespace();
628
+
629
+ // Expect =>
630
+ if (this.peek() !== "=" || this.peek(1) !== ">") {
631
+ throw new Error("Expected => at position ".concat(this.pos));
632
+ }
633
+ this.advance(2);
634
+ this.skipWhitespace();
635
+
636
+ // Parse value
637
+ var value = this.parseValue();
638
+
639
+ // Convert key to string
640
+ var jsKey = void 0;
641
+ if (key instanceof Buffer) {
642
+ jsKey = key.toString("utf8");
643
+ } else if (_typeof(key) === "symbol") {
644
+ jsKey = Symbol.keyFor(key) || key.description || String(key);
645
+ } else {
646
+ jsKey = String(key);
647
+ }
648
+ map[jsKey] = value;
649
+ this.skipWhitespace();
650
+ if (this.peek() === ",") {
651
+ this.advance();
652
+ }
653
+ }
654
+ return map;
655
+ }
656
+ }, {
657
+ key: "parseBinary",
658
+ value: function parseBinary() {
659
+ this.advance(2); // skip <<
660
+
661
+ // String binary: <<"...">>
662
+ if (this.peek() === '"') {
663
+ this.advance(); // skip "
664
+ var content = "";
665
+ while (!(this.peek() === '"' && this.peek(1) === ">" && this.peek(2) === ">")) {
666
+ if (this.pos >= this.str.length) {
667
+ throw new Error("Unterminated string binary");
668
+ }
669
+ if (this.peek() === "\\") {
670
+ this.advance();
671
+ var escaped = this.peek();
672
+
673
+ // Check for octal escape sequences \NNN
674
+ if (/[0-7]/.test(escaped)) {
675
+ var octal = escaped;
676
+ this.advance();
677
+
678
+ // Get up to 2 more octal digits
679
+ if (/[0-7]/.test(this.peek())) {
680
+ octal += this.peek();
681
+ this.advance();
682
+ if (/[0-7]/.test(this.peek())) {
683
+ octal += this.peek();
684
+ this.advance();
685
+ }
686
+ }
687
+
688
+ // Convert octal to character
689
+ var charCode = parseInt(octal, 8);
690
+ content += String.fromCharCode(charCode);
691
+ } else {
692
+ // Regular escape sequences
693
+ switch (escaped) {
694
+ case '"':
695
+ content += '"';
696
+ break;
697
+ case "\\":
698
+ content += "\\";
699
+ break;
700
+ case "n":
701
+ content += "\n";
702
+ break;
703
+ case "r":
704
+ content += "\r";
705
+ break;
706
+ case "t":
707
+ content += "\t";
708
+ break;
709
+ default:
710
+ content += escaped;
711
+ }
712
+ this.advance();
713
+ }
714
+ } else {
715
+ content += this.peek();
716
+ this.advance();
717
+ }
718
+ }
719
+ this.advance(3); // skip ">>
720
+
721
+ // Check for structured field format
722
+ if (content.startsWith(":") && content.endsWith(":") && content.length >= 2) {
723
+ if (content === "::") {
724
+ return Buffer.alloc(0);
725
+ }
726
+ try {
727
+ var base64 = content.slice(1, -1);
728
+ return Buffer.from(base64, "base64");
729
+ } catch (e) {
730
+ // Not valid base64, treat as regular string
731
+ }
732
+ }
733
+
734
+ // In binary mode, return as Buffer; otherwise check if it's printable
735
+ if (this.binaryMode) {
736
+ return Buffer.from(content, "utf8");
737
+ } else {
738
+ // Check if the content is printable
739
+ var _bytes = Buffer.from(content, "utf8");
740
+ var isPrintable = Array.from(_bytes).every(function (b) {
741
+ return b >= 32 && b <= 126;
742
+ });
743
+
744
+ // If it contains non-printable characters, return as Buffer
745
+ if (!isPrintable) {
746
+ return _bytes;
747
+ }
748
+
749
+ // Otherwise return as string
750
+ return content;
751
+ }
752
+ }
753
+
754
+ // Empty binary: <<>>
755
+ if (this.peek() === ">" && this.peek(1) === ">") {
756
+ this.advance(2);
757
+ return Buffer.alloc(0);
758
+ }
759
+
760
+ // Byte binary: <<1,2,3>>
761
+ var bytes = [];
762
+ while (!(this.peek() === ">" && this.peek(1) === ">")) {
763
+ if (this.pos >= this.str.length) {
764
+ throw new Error("Unterminated byte binary");
765
+ }
766
+ this.skipWhitespace();
767
+ var num = "";
768
+ while (/\d/.test(this.peek())) {
769
+ num += this.peek();
770
+ this.advance();
771
+ }
772
+ if (num) {
773
+ bytes.push(parseInt(num, 10));
774
+ }
775
+ this.skipWhitespace();
776
+ if (this.peek() === ",") {
777
+ this.advance();
778
+ }
779
+ }
780
+ this.advance(2); // skip >>
781
+ return Buffer.from(bytes);
782
+ }
783
+ }, {
784
+ key: "parseQuotedString",
785
+ value: function parseQuotedString() {
786
+ this.advance(); // skip "
787
+ var str = "";
788
+ while (this.peek() !== '"') {
789
+ if (this.peek() === "\\") {
790
+ this.advance();
791
+ var escaped = this.peek();
792
+ switch (escaped) {
793
+ case '"':
794
+ str += '"';
795
+ break;
796
+ case "\\":
797
+ str += "\\";
798
+ break;
799
+ case "n":
800
+ str += "\n";
801
+ break;
802
+ case "r":
803
+ str += "\r";
804
+ break;
805
+ case "t":
806
+ str += "\t";
807
+ break;
808
+ default:
809
+ str += escaped;
810
+ }
811
+ this.advance();
812
+ } else {
813
+ str += this.peek();
814
+ this.advance();
815
+ }
816
+ }
817
+ this.advance(); // skip closing "
818
+ return str;
819
+ }
820
+ }, {
821
+ key: "parseList",
822
+ value: function parseList() {
823
+ this.advance(); // skip [
824
+ var list = [];
825
+ while (true) {
826
+ this.skipWhitespace();
827
+ if (this.peek() === "]") {
828
+ this.advance();
829
+ break;
830
+ }
831
+ list.push(this.parseValue());
832
+ this.skipWhitespace();
833
+ if (this.peek() === ",") {
834
+ this.advance();
835
+ }
836
+ }
837
+ return list;
838
+ }
839
+ }, {
840
+ key: "parseQuotedAtom",
841
+ value: function parseQuotedAtom() {
842
+ this.advance(); // skip '
843
+ var atom = "";
844
+ while (this.peek() !== "'") {
845
+ if (this.pos >= this.str.length) {
846
+ throw new Error("Unterminated quoted atom");
847
+ }
848
+ if (this.peek() === "\\") {
849
+ this.advance();
850
+ var escaped = this.peek();
851
+ switch (escaped) {
852
+ case "'":
853
+ atom += "'";
854
+ break;
855
+ case "\\":
856
+ atom += "\\";
857
+ break;
858
+ case "n":
859
+ atom += "\n";
860
+ break;
861
+ // Literal newline
862
+ case "r":
863
+ atom += "\r";
864
+ break;
865
+ case "t":
866
+ atom += "\t";
867
+ break;
868
+ default:
869
+ atom += escaped;
870
+ }
871
+ this.advance();
872
+ } else {
873
+ atom += this.peek();
874
+ this.advance();
875
+ }
876
+ }
877
+ this.advance(); // skip closing '
878
+
879
+ // Special atoms that become JS primitives
880
+ if (atom === "null") return null;
881
+ if (atom === "true") return true;
882
+ if (atom === "false") return false;
883
+ return Symbol["for"](atom);
884
+ }
885
+ }, {
886
+ key: "parseAtomOrNumber",
887
+ value: function parseAtomOrNumber() {
888
+ var startPos = this.pos;
889
+ var token = "";
890
+
891
+ // Simple approach: collect until we hit a known delimiter
892
+ while (this.pos < this.str.length) {
893
+ var ch = this.peek();
894
+ var ch2 = this.peek(1);
895
+
896
+ // Stop at these delimiters
897
+ if (ch === ",") break;
898
+ if (ch === "]") break;
899
+ if (ch === "}") break;
900
+ if (ch === ")") break;
901
+ if (ch === "=" && ch2 === ">") break;
902
+
903
+ // Handle backslash specially
904
+ if (ch === "\\") {
905
+ // In unquoted atoms, backslash is just a regular character
906
+ token += ch;
907
+ this.advance();
908
+
909
+ // Don't try to interpret the next character as an escape
910
+ if (this.pos < this.str.length) {
911
+ token += this.peek();
912
+ this.advance();
913
+ }
914
+ continue;
915
+ }
916
+
917
+ // For whitespace, check if it's trailing
918
+ if (/\s/.test(ch)) {
919
+ // Scan ahead to find next non-whitespace
920
+ var i = this.pos;
921
+ while (i < this.str.length && /\s/.test(this.str[i])) {
922
+ i++;
923
+ }
924
+
925
+ // Check what comes after whitespace
926
+ if (i >= this.str.length) {
927
+ // Hit end of string
928
+ break;
929
+ }
930
+ var nextCh = this.str[i];
931
+ if (nextCh === "," || nextCh === "]" || nextCh === "}" || nextCh === ")") {
932
+ // This whitespace is trailing, not part of atom
933
+ break;
934
+ }
935
+ if (nextCh === "=" && i + 1 < this.str.length && this.str[i + 1] === ">") {
936
+ // Whitespace before =>
937
+ break;
938
+ }
939
+ }
940
+
941
+ // Include this character in the atom
942
+ token += ch;
943
+ this.advance();
944
+
945
+ // Safety check to prevent infinite loops
946
+ if (this.pos - startPos > 1000) {
947
+ throw new Error("Atom too long at position ".concat(startPos));
948
+ }
949
+ }
950
+
951
+ // Trim only trailing whitespace
952
+ token = token.trimEnd();
953
+ if (!token) {
954
+ throw new Error("Empty atom at position ".concat(this.pos));
955
+ }
956
+
957
+ // Handle special atoms
958
+ if (token === "null") return null;
959
+ if (token === "true") return true;
960
+ if (token === "false") return false;
961
+
962
+ // Try to parse as number
963
+ if (/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/.test(token)) {
964
+ return parseFloat(token);
965
+ }
966
+
967
+ // Return as atom
968
+ return Symbol["for"](token);
969
+ }
970
+ }]);
971
+ }();
972
+ /**
973
+ * Format JavaScript values as Erlang term strings
974
+ * @param {*} value - JavaScript value
975
+ * @returns {string} Erlang term string
976
+ */
977
+ function erl_str_to(value) {
978
+ return formatValue(value);
979
+ }
980
+
981
+ // Formatter implementation
982
+ function formatValue(value) {
983
+ if (value === null) return "null";
984
+ if (value === undefined) return "undefined";
985
+ if (typeof value === "boolean") return value.toString();
986
+ if (typeof value === "number") {
987
+ return value.toString();
988
+ }
989
+ if (typeof value === "string") {
990
+ // Format as string binary
991
+ return "<<\"".concat(escapeString(value), "\">>");
992
+ }
993
+ if (_typeof(value) === "symbol") {
994
+ var key = Symbol.keyFor(value);
995
+ var name = key || value.description || "";
996
+
997
+ // Special symbols
998
+ if (name === "null") return "null";
999
+ if (name === "true") return "true";
1000
+ if (name === "false") return "false";
1001
+ if (name === "undefined") return "undefined";
1002
+
1003
+ // Check if needs quoting
1004
+ if (/^[a-z][a-zA-Z0-9_]*$/.test(name)) {
1005
+ return name;
1006
+ } else {
1007
+ return "'".concat(escapeString(name), "'");
1008
+ }
1009
+ }
1010
+ if (value instanceof Buffer || value instanceof Uint8Array) {
1011
+ var bytes = Array.from(value);
1012
+
1013
+ // Check if it's printable
1014
+ var isPrintable = bytes.every(function (b) {
1015
+ return b >= 32 && b <= 126;
1016
+ });
1017
+ if (isPrintable) {
1018
+ var str = Buffer.from(value).toString();
1019
+ return "<<\"".concat(escapeString(str), "\">>");
1020
+ } else {
1021
+ return "<<".concat(bytes.join(","), ">>");
1022
+ }
1023
+ }
1024
+ if (Array.isArray(value)) {
1025
+ var items = value.map(formatValue);
1026
+ return "[".concat(items.join(","), "]");
1027
+ }
1028
+ if (_typeof(value) === "object" && value !== null) {
1029
+ var entries = Object.entries(value).map(function (_ref) {
1030
+ var _ref2 = _slicedToArray(_ref, 2),
1031
+ k = _ref2[0],
1032
+ v = _ref2[1];
1033
+ var key = "<<\"".concat(escapeString(k), "\">>");
1034
+ return "".concat(key, " => ").concat(formatValue(v));
1035
+ });
1036
+ return "#{".concat(entries.join(","), "}");
1037
+ }
1038
+ return String(value);
1039
+ }
1040
+ function escapeString(str) {
1041
+ return str.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t");
1042
+ }