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,330 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.commit = void 0;
7
+ var _id = require("./id.js");
8
+ var _utils = require("./utils.js");
9
+ var _signerUtils = require("./signer-utils.js");
10
+ var _crypto = _interopRequireDefault(require("crypto"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
13
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
14
+ 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; }
15
+ 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; }
16
+ 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; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
+ 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); }
19
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
20
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
21
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
22
+ 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); }
23
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
24
+ 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."); }
25
+ 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; } }
26
+ 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; }
27
+ 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; } }
28
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
29
+ // Helper to compute SHA-256 content-digest in RFC 9530 format
30
+ var computeContentDigest = function computeContentDigest(body) {
31
+ var bodyBuffer;
32
+ if (Buffer.isBuffer(body)) {
33
+ bodyBuffer = body;
34
+ } else if (body instanceof Blob) {
35
+ return null; // Can't compute synchronously for Blob
36
+ } else if (typeof body === "string") {
37
+ bodyBuffer = Buffer.from(body, "binary");
38
+ } else {
39
+ bodyBuffer = Buffer.from(String(body), "binary");
40
+ }
41
+ var hash = _crypto["default"].createHash("sha256").update(bodyBuffer).digest("base64");
42
+ return "sha-256=:".concat(hash, ":");
43
+ };
44
+
45
+ // Helper to build ao-types string from an object
46
+ var buildAoTypes = function buildAoTypes(obj) {
47
+ var types = [];
48
+ for (var _i = 0, _Object$entries = Object.entries(obj); _i < _Object$entries.length; _i++) {
49
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
50
+ key = _Object$entries$_i[0],
51
+ value = _Object$entries$_i[1];
52
+ if (typeof value === "number") {
53
+ types.push("".concat(key, "=\"").concat(Number.isInteger(value) ? "integer" : "float", "\""));
54
+ } else if (typeof value === "boolean") {
55
+ types.push("".concat(key, "=\"atom\""));
56
+ } else if (value === null) {
57
+ types.push("".concat(key, "=\"atom\""));
58
+ } else if (_typeof(value) === "symbol") {
59
+ // Symbols are Erlang atoms
60
+ types.push("".concat(key, "=\"atom\""));
61
+ }
62
+ }
63
+ return types.length > 0 ? types.join(", ") : null;
64
+ };
65
+
66
+ // todo: handle @
67
+ var commit = exports.commit = /*#__PURE__*/function () {
68
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(obj, opts) {
69
+ var msg, _yield$verify, components, body, inlineBodyKey, NATIVE_BODY_KEYS, isNativeBodyKey, headerLookup, _i2, _Object$entries2, _Object$entries2$_i, k, v, objLookup, _i3, _Object$entries3, _Object$entries3$_i, _k, _v, _iterator, _step, _v2, _key, originalValue, headerValue, bodyContent, arrayBuffer, committedSetLower, bodyKeysLower, _i4, _Object$entries4, _Object$entries4$_i, key, value, aoTypes, rsaId, pub, pubKeyBase64, committer, extractKeyidFromSigInput, keyid, committedFields, bodyFieldName, extractSignature, rawSignature, meta, sigs, committed, _t;
70
+ return _regenerator().w(function (_context) {
71
+ while (1) switch (_context.p = _context.n) {
72
+ case 0:
73
+ _context.n = 1;
74
+ return opts.signer(obj, opts);
75
+ case 1:
76
+ msg = _context.v;
77
+ _context.n = 2;
78
+ return (0, _signerUtils.verify)(msg);
79
+ case 2:
80
+ _yield$verify = _context.v;
81
+ components = _yield$verify.decodedSignatureInput.components;
82
+ body = {}; // Check for inline-body-key (indicates a field was moved to HTTP body during encoding)
83
+ inlineBodyKey = msg.headers["inline-body-key"] || msg.headers["ao-body-key"]; // Body field names that HyperBEAM's inline_key() recognizes natively.
84
+ // For these, normalize_for_encoding() re-derives ao-body-key automatically.
85
+ // For custom names (e.g., "json"), we must keep ao-body-key in committed list
86
+ // so HyperBEAM knows which field to inline during verification.
87
+ NATIVE_BODY_KEYS = new Set(["body", "data"]);
88
+ isNativeBodyKey = !inlineBodyKey || NATIVE_BODY_KEYS.has(inlineBodyKey); // Build body from committed components.
89
+ // IMPORTANT: Use original typed values from obj (preserves integers, booleans, etc.)
90
+ // instead of string values from headers. This is critical because:
91
+ // 1. HTTP headers are always strings (e.g., quantity: 100 → "100")
92
+ // 2. We include ao-types to tell HyperBEAM the original types
93
+ // 3. HyperBEAM applies ao-types BEFORE signature verification
94
+ // 4. If we send strings, HyperBEAM converts to integers, breaking signature
95
+ // 5. If we send original integers, HyperBEAM re-encodes them as strings for verification
96
+ //
97
+ // Always skip content-digest and inline-body-key (transport artifacts re-derived by HyperBEAM).
98
+ // Skip ao-body-key only for native body keys (HyperBEAM re-derives it).
99
+ // Keep ao-body-key for custom body keys (HyperBEAM needs it to find the body field).
100
+ // Create case-insensitive lookup maps
101
+ headerLookup = new Map();
102
+ for (_i2 = 0, _Object$entries2 = Object.entries(msg.headers); _i2 < _Object$entries2.length; _i2++) {
103
+ _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2), k = _Object$entries2$_i[0], v = _Object$entries2$_i[1];
104
+ headerLookup.set(k.toLowerCase(), v);
105
+ }
106
+ // Case-insensitive lookup for original object values (preserves types)
107
+ objLookup = new Map();
108
+ for (_i3 = 0, _Object$entries3 = Object.entries(obj); _i3 < _Object$entries3.length; _i3++) {
109
+ _Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2), _k = _Object$entries3$_i[0], _v = _Object$entries3$_i[1];
110
+ objLookup.set(_k.toLowerCase(), _v);
111
+ }
112
+ _iterator = _createForOfIteratorHelper(components);
113
+ _context.p = 3;
114
+ _iterator.s();
115
+ case 4:
116
+ if ((_step = _iterator.n()).done) {
117
+ _context.n = 10;
118
+ break;
119
+ }
120
+ _v2 = _step.value;
121
+ _key = _v2 === "@path" ? "path" : _v2;
122
+ if (!(_key === "content-length")) {
123
+ _context.n = 5;
124
+ break;
125
+ }
126
+ return _context.a(3, 9);
127
+ case 5:
128
+ if (!(_key === "content-digest")) {
129
+ _context.n = 6;
130
+ break;
131
+ }
132
+ return _context.a(3, 9);
133
+ case 6:
134
+ if (!(_key === "inline-body-key")) {
135
+ _context.n = 7;
136
+ break;
137
+ }
138
+ return _context.a(3, 9);
139
+ case 7:
140
+ if (!(isNativeBodyKey && _key === "ao-body-key")) {
141
+ _context.n = 8;
142
+ break;
143
+ }
144
+ return _context.a(3, 9);
145
+ case 8:
146
+ // Prefer original value from input object (preserves integer/boolean/etc. types)
147
+ // Fall back to header string value if not found in original object
148
+ originalValue = objLookup.get(_key.toLowerCase());
149
+ if (originalValue !== undefined) {
150
+ body[_key] = originalValue;
151
+ } else {
152
+ headerValue = headerLookup.get(_key);
153
+ if (headerValue !== undefined) {
154
+ body[_key] = headerValue;
155
+ }
156
+ }
157
+ case 9:
158
+ _context.n = 4;
159
+ break;
160
+ case 10:
161
+ _context.n = 12;
162
+ break;
163
+ case 11:
164
+ _context.p = 11;
165
+ _t = _context.v;
166
+ _iterator.e(_t);
167
+ case 12:
168
+ _context.p = 12;
169
+ _iterator.f();
170
+ return _context.f(12);
171
+ case 13:
172
+ // Handle body resolution - restore the inlined field to its AO-Core name
173
+ bodyContent = null;
174
+ if (!msg.body) {
175
+ _context.n = 17;
176
+ break;
177
+ }
178
+ if (!(msg.body instanceof Blob)) {
179
+ _context.n = 15;
180
+ break;
181
+ }
182
+ _context.n = 14;
183
+ return msg.body.arrayBuffer();
184
+ case 14:
185
+ arrayBuffer = _context.v;
186
+ bodyContent = Buffer.from(arrayBuffer);
187
+ _context.n = 16;
188
+ break;
189
+ case 15:
190
+ bodyContent = msg.body;
191
+ case 16:
192
+ // Put body content under the original field name (e.g., "data", "json")
193
+ if (inlineBodyKey) {
194
+ body[inlineBodyKey] = bodyContent;
195
+ } else {
196
+ body.body = bodyContent;
197
+ }
198
+ case 17:
199
+ // Include non-committed fields from the original object as JSON values.
200
+ // This covers: (1) body-key fields (arrays/objects encoded as multipart,
201
+ // which can't be included as raw multipart in JSON), and (2) any other
202
+ // fields excluded from signing. These fields are unsigned but present
203
+ // so HyperBEAM can parse them directly as JSON types.
204
+ // Use case-insensitive matching: signing normalizes keys to lowercase,
205
+ // but the original object may use mixed case (e.g., "To" vs "to").
206
+ committedSetLower = new Set(components.map(function (v) {
207
+ return (v === "@path" ? "path" : v).toLowerCase();
208
+ })); // Also track lowercase keys already in body to prevent duplicates
209
+ bodyKeysLower = new Set(Object.keys(body).map(function (k) {
210
+ return k.toLowerCase();
211
+ }));
212
+ _i4 = 0, _Object$entries4 = Object.entries(obj);
213
+ case 18:
214
+ if (!(_i4 < _Object$entries4.length)) {
215
+ _context.n = 24;
216
+ break;
217
+ }
218
+ _Object$entries4$_i = _slicedToArray(_Object$entries4[_i4], 2), key = _Object$entries4$_i[0], value = _Object$entries4$_i[1];
219
+ if (!(key === "method")) {
220
+ _context.n = 19;
221
+ break;
222
+ }
223
+ return _context.a(3, 23);
224
+ case 19:
225
+ if (!committedSetLower.has(key.toLowerCase())) {
226
+ _context.n = 20;
227
+ break;
228
+ }
229
+ return _context.a(3, 23);
230
+ case 20:
231
+ if (!bodyKeysLower.has(key.toLowerCase())) {
232
+ _context.n = 21;
233
+ break;
234
+ }
235
+ return _context.a(3, 23);
236
+ case 21:
237
+ if (!(value === undefined)) {
238
+ _context.n = 22;
239
+ break;
240
+ }
241
+ return _context.a(3, 23);
242
+ case 22:
243
+ body[key] = value;
244
+ bodyKeysLower.add(key.toLowerCase());
245
+ case 23:
246
+ _i4++;
247
+ _context.n = 18;
248
+ break;
249
+ case 24:
250
+ // Include ao-types so HyperBEAM knows how to convert string values to proper types.
251
+ // First check if it was set by the signer, otherwise compute it from the original object
252
+ aoTypes = msg.headers["ao-types"];
253
+ if (!aoTypes) {
254
+ // Compute ao-types from the original typed values in obj
255
+ aoTypes = buildAoTypes(obj);
256
+ }
257
+ if (aoTypes) {
258
+ body["ao-types"] = aoTypes;
259
+ }
260
+ rsaId = (0, _id.rsaid)(msg.headers);
261
+ pub = (0, _signerUtils.extractPubKey)(msg.headers);
262
+ pubKeyBase64 = pub.toString("base64");
263
+ committer = (0, _utils.toAddr)(pubKeyBase64); // Extract keyid from signature-input to ensure it matches what was signed
264
+ // Format: sig-xxx=("field1"...);alg="...";keyid="..."
265
+ // The keyid may already have a scheme prefix (e.g., "publickey:base64data")
266
+ extractKeyidFromSigInput = function extractKeyidFromSigInput(sigInput) {
267
+ if (!sigInput) return null;
268
+ var match = sigInput.match(/keyid="([^"]+)"/);
269
+ if (!match) return null;
270
+ // Return as-is - the keyid already includes the prefix from signing
271
+ return match[1];
272
+ };
273
+ keyid = extractKeyidFromSigInput(msg.headers["signature-input"]) || "publickey:".concat(pubKeyBase64); // Build the list of committed fields.
274
+ // Always transform HTTPSig transport keys to AO-Core keys:
275
+ // - Replace content-digest with the body field name (HyperBEAM re-derives content-digest)
276
+ // - For native body keys ("body", "data"): also remove ao-body-key (HyperBEAM re-derives it)
277
+ // - For custom body keys (e.g., "json"): keep ao-body-key (HyperBEAM needs it to find the field)
278
+ committedFields = components.map(function (v) {
279
+ return v === "@path" ? "path" : v;
280
+ });
281
+ if (committedFields.includes("content-digest") && (inlineBodyKey || msg.body)) {
282
+ bodyFieldName = inlineBodyKey || "body";
283
+ committedFields = committedFields.filter(function (k) {
284
+ return k !== "content-digest";
285
+ });
286
+ if (!committedFields.includes(bodyFieldName)) {
287
+ committedFields.push(bodyFieldName);
288
+ }
289
+ }
290
+ if (isNativeBodyKey) {
291
+ // For native body keys, ao-body-key is a transport artifact - remove it
292
+ committedFields = committedFields.filter(function (k) {
293
+ return k !== "ao-body-key";
294
+ });
295
+ }
296
+
297
+ // Extract just the base64 signature data from the header format "sig-xxx=:base64data:"
298
+ // HyperBEAM expects raw base64 without colons (uses b64fast:encode/decode)
299
+ extractSignature = function extractSignature(sigHeader) {
300
+ if (!sigHeader) return sigHeader;
301
+ // Match the base64 data between colons after the label
302
+ var match = sigHeader.match(/=:([^:]+):/);
303
+ return match ? match[1] : sigHeader;
304
+ };
305
+ rawSignature = extractSignature(msg.headers.signature);
306
+ meta = {
307
+ type: "rsa-pss-sha512",
308
+ alg: "rsa-pss-sha512",
309
+ "commitment-device": "httpsig@1.0",
310
+ keyid: keyid,
311
+ committed: committedFields
312
+ };
313
+ sigs = {
314
+ signature: rawSignature,
315
+ "signature-input": msg.headers["signature-input"]
316
+ }; // Only include the RSA commitment - HMAC commitments are created by HyperBEAM
317
+ // when needed and require the server's HMAC key which we don't have
318
+ committed = _objectSpread({
319
+ commitments: _defineProperty({}, rsaId, _objectSpread(_objectSpread({}, meta), {}, {
320
+ committer: committer
321
+ }, sigs))
322
+ }, body);
323
+ return _context.a(2, committed);
324
+ }
325
+ }, _callee, null, [[3, 11, 12, 13]]);
326
+ }));
327
+ return function commit(_x, _x2) {
328
+ return _ref.apply(this, arguments);
329
+ };
330
+ }();
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = encodeArrayItem;
7
+ var _encodeUtils = require("./encode-utils.js");
8
+ 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); }
9
+ // Helper to generate the correct number of backslashes for a given nesting level
10
+ function getBackslashes(level) {
11
+ return "\\".repeat(Math.pow(2, level) - 1);
12
+ }
13
+
14
+ // Helper to encode primitive values at a specific nesting level
15
+ function encodePrimitiveAtLevel(value, level) {
16
+ var bs = getBackslashes(level);
17
+ if (typeof value === "number") {
18
+ if (Number.isInteger(value)) {
19
+ return "".concat(bs, "\"(ao-type-integer) ").concat(value).concat(bs, "\"");
20
+ } else {
21
+ return "".concat(bs, "\"(ao-type-float) ").concat((0, _encodeUtils.formatFloat)(value)).concat(bs, "\"");
22
+ }
23
+ } else if (typeof value === "string") {
24
+ return "".concat(bs, "\"").concat(value).concat(bs, "\"");
25
+ } else if (value === null) {
26
+ var innerBs = getBackslashes(level + 1);
27
+ return "".concat(bs, "\"(ao-type-atom) ").concat(innerBs, "\"null").concat(innerBs, "\"").concat(bs, "\"");
28
+ } else if (value === undefined) {
29
+ var _innerBs = getBackslashes(level + 1);
30
+ return "".concat(bs, "\"(ao-type-atom) ").concat(_innerBs, "\"undefined").concat(_innerBs, "\"").concat(bs, "\"");
31
+ } else if (_typeof(value) === "symbol") {
32
+ var desc = value.description || "Symbol.for()";
33
+ var _innerBs2 = getBackslashes(level + 1);
34
+ return "".concat(bs, "\"(ao-type-atom) ").concat(_innerBs2, "\"").concat(desc).concat(_innerBs2, "\"").concat(bs, "\"");
35
+ } else if (typeof value === "boolean") {
36
+ var _innerBs3 = getBackslashes(level + 1);
37
+ return "".concat(bs, "\"(ao-type-atom) ").concat(_innerBs3, "\"").concat(value).concat(_innerBs3, "\"").concat(bs, "\"");
38
+ } else {
39
+ return "".concat(bs, "\"").concat(String(value)).concat(bs, "\"");
40
+ }
41
+ }
42
+
43
+ // Recursive function to handle arrays at any nesting level
44
+ function encodeArrayAtLevel(items, level) {
45
+ // The original code only goes 3 levels deep for arrays
46
+ if (level >= 3) {
47
+ var bs = getBackslashes(level);
48
+ var stringItems = items.map(function (item) {
49
+ if (typeof item === "number") {
50
+ if (Number.isInteger(item)) {
51
+ return "".concat(bs, "\"(ao-type-integer) ").concat(item).concat(bs, "\"");
52
+ } else {
53
+ return "".concat(bs, "\"(ao-type-float) ").concat((0, _encodeUtils.formatFloat)(item)).concat(bs, "\"");
54
+ }
55
+ } else if (typeof item === "string") {
56
+ return "".concat(bs, "\"").concat(item).concat(bs, "\"");
57
+ } else {
58
+ return "".concat(bs, "\"").concat(String(item)).concat(bs, "\"");
59
+ }
60
+ }).join(", ");
61
+ return "".concat(getBackslashes(level - 1), "\"(ao-type-list) ").concat(stringItems).concat(getBackslashes(level - 1), "\"");
62
+ }
63
+ var encodedItems = items.map(function (item) {
64
+ if (Array.isArray(item)) {
65
+ return encodeArrayAtLevel(item, level + 1);
66
+ } else {
67
+ return encodePrimitiveAtLevel(item, level);
68
+ }
69
+ }).join(", ");
70
+ if (level === 0) {
71
+ return "\"(ao-type-list) ".concat(encodedItems, "\"");
72
+ } else {
73
+ var _bs = getBackslashes(level - 1);
74
+ return "".concat(_bs, "\"(ao-type-list) ").concat(encodedItems).concat(_bs, "\"");
75
+ }
76
+ }
77
+ function encodeArrayItem(item) {
78
+ if (typeof item === "number") {
79
+ if (Number.isInteger(item)) {
80
+ return "\"(ao-type-integer) ".concat(item, "\"");
81
+ } else {
82
+ return "\"(ao-type-float) ".concat((0, _encodeUtils.formatFloat)(item), "\"");
83
+ }
84
+ } else if (typeof item === "string") {
85
+ return "\"".concat(item, "\"");
86
+ } else if (item === null) {
87
+ return "\"(ao-type-atom) \\\"null\\\"\"";
88
+ } else if (item === undefined) {
89
+ return "\"(ao-type-atom) \\\"undefined\\\"\"";
90
+ } else if (_typeof(item) === "symbol") {
91
+ var desc = item.description || "Symbol.for()";
92
+ return "\"(ao-type-atom) \\\"".concat(desc, "\\\"\"");
93
+ } else if (typeof item === "boolean") {
94
+ return "\"(ao-type-atom) \\\"".concat(item, "\\\"\"");
95
+ } else if (Array.isArray(item)) {
96
+ return encodeArrayAtLevel(item, 1);
97
+ } else if ((0, _encodeUtils.isBytes)(item)) {
98
+ var buffer = (0, _encodeUtils.toBuffer)(item);
99
+ if (buffer.length === 0 || buffer.byteLength === 0) {
100
+ return "\"\"";
101
+ }
102
+ return "\"(ao-type-binary)\"";
103
+ } else if ((0, _encodeUtils.isPojo)(item)) {
104
+ var json = JSON.stringify(item);
105
+ var escaped = json.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
106
+ return "\"(ao-type-map) ".concat(escaped, "\"");
107
+ } else {
108
+ return "\"".concat(String(item), "\"");
109
+ }
110
+ }