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
@@ -1,807 +0,0 @@
1
- # WAO SDK API Reference
2
-
3
- Complete API reference for building and testing WAO applications.
4
-
5
- ## AO Class
6
-
7
- Main SDK class for deploying and interacting with AOS processes.
8
-
9
- ### Constructor
10
-
11
- ```js
12
- new AO(opt = {})
13
- ```
14
-
15
- | Option | Type | Default | Description |
16
- |--------|------|---------|-------------|
17
- | `hb` | string/HB | — | HyperBEAM URL or HB instance. `"ans104"` or `"httpsig"` for format |
18
- | `port` | number | — | Arweave local testnet port (auto-configures aoconnect/ar) |
19
- | `module` | string | srcs.module_aos2 | WASM module ID |
20
- | `module_type` | string | `"aos2"` | `"aos2"`, `"sqlite"`, or `"mainnet"` |
21
- | `scheduler` | string | srcs.scheduler | Scheduler process ID |
22
- | `aoconnect` | object | — | aoconnect config object |
23
- | `ar` | object/AR | — | Arweave client config or AR instance |
24
- | `in_memory` | boolean | auto | Use in-memory AOS loader (auto when ar.port set) |
25
- | `wao` | boolean | false | Use WAO module/scheduler variants |
26
- | `variant` | string | — | ao variant tag (e.g., `"ao.TN.1"`) |
27
- | `mem` | object | — | Shared memory for multi-user testing |
28
-
29
- ### init(jwk)
30
-
31
- Initialize with Arweave JWK wallet.
32
-
33
- ```js
34
- const ao = await new AO().init(acc[0])
35
- ```
36
-
37
- Returns: `this`
38
-
39
- ### deploy(opts)
40
-
41
- Deploy a process with optional Lua source.
42
-
43
- ```js
44
- const { pid, p, err } = await ao.deploy({
45
- src_data, // Inline Lua source code
46
- boot: true, // Boot process after spawn
47
- loads: [code1, code2], // Additional Lua to load after boot
48
- fills: { TOKEN: "0x123" }, // Replace <TOKEN> in source
49
- module: "custom-module-id", // Custom WASM module
50
- scheduler: "custom-sched", // Custom scheduler
51
- tags: { Extension: "WeaveDrive" },
52
- data: "boot data",
53
- })
54
- ```
55
-
56
- Returns: `{ err, jwk, pid, p }`
57
- - `pid` — Process ID
58
- - `p` — Process handle (shorthand client)
59
-
60
- ### msg(opts)
61
-
62
- Send a message and wait for result.
63
-
64
- ```js
65
- const { mid, res, err, out } = await ao.msg({
66
- pid,
67
- act: "Transfer", // Action name (default: "Eval")
68
- tags: { Recipient: addr }, // Message tags
69
- data: "lua code", // Message data
70
- check: { Status: "ok" }, // Validate response
71
- get: { data: true, json: true }, // Extract output
72
- timeout: 5000, // Max wait ms
73
- mode: "aoconnect", // "aoconnect" or "gql" (result fetching mode)
74
- limit: 25, // Max results to fetch
75
- })
76
- ```
77
-
78
- ### dry(opts)
79
-
80
- Dry-run: execute message without state change. Same params as `msg()`, no timeout.
81
-
82
- ```js
83
- const { res, err, out } = await ao.dry({ pid, act: "Balance", tags: { Target: addr } })
84
- ```
85
-
86
- ### res(opts)
87
-
88
- Get result of a previously sent message.
89
-
90
- ```js
91
- const { mid, res, err, out } = await ao.res({
92
- pid, mid, check, get, timeout,
93
- mode: "aoconnect", // "aoconnect" or "gql"
94
- limit: 25, // Max results to fetch
95
- })
96
- ```
97
-
98
- ### ress(opts)
99
-
100
- Paginated results for a process.
101
-
102
- ```js
103
- const { err, out, res, next } = await ao.ress({ pid, limit: 10, asc: true, from: null })
104
- const page2 = next ? await next() : null
105
- ```
106
-
107
- ### asgn(opts)
108
-
109
- Assign message to process.
110
-
111
- ```js
112
- const { mid, res, err, out } = await ao.asgn({ pid, mid })
113
- ```
114
-
115
- ### load(opts)
116
-
117
- Load and execute Lua source on an existing process.
118
-
119
- ```js
120
- await ao.load({ pid, data: luaCode, fills: { VAR: "value" } })
121
- ```
122
-
123
- ### var(opts)
124
-
125
- Get a Lua variable value from process.
126
-
127
- ```js
128
- const val = await ao.var({ pid, data: "Table" })
129
- const nested = await ao.var({ pid, data: "Table.Array[2]" })
130
- ```
131
-
132
- ### wait(opts)
133
-
134
- Wait for process to initialize.
135
-
136
- ```js
137
- const { err, pid } = await ao.wait({ pid, attempts: 10 })
138
- ```
139
-
140
- ### attest(opts)
141
-
142
- Post attestation for data (used with WeaveDrive).
143
-
144
- ```js
145
- await ao.attest({ id: txId })
146
- ```
147
-
148
- ### avail(opts)
149
-
150
- Announce data availability.
151
-
152
- ```js
153
- await ao.avail({ ids: [txId1, txId2] })
154
- ```
155
-
156
- ### pipe(opts)
157
-
158
- Execute a pipeline of operations. Each step can forward results to the next.
159
-
160
- ```js
161
- const { out } = await ao.pipe({
162
- fns: [
163
- { fn: "deploy", args: { src_data }, then: { "args.pid": "pid" } },
164
- { fn: "msg", args: { act: "Inc" }, then: { "args.pid": "pid" } },
165
- { fn: "dry", args: { act: "Get" } },
166
- ]
167
- })
168
- ```
169
-
170
- - `then` maps result fields to next step's args
171
- - `err` function handles errors per step
172
-
173
- ### postModule(opts)
174
-
175
- Post a WASM module to Arweave.
176
-
177
- ```js
178
- const { id } = await ao.postModule({ data: wasmBinary })
179
- ```
180
-
181
- ### postScheduler(opts)
182
-
183
- Register scheduler location.
184
-
185
- ```js
186
- await ao.postScheduler({ url: "https://scheduler.example.com" })
187
- ```
188
-
189
- ### spwn(opts)
190
-
191
- Low-level spawn (use `deploy` for most cases).
192
-
193
- ```js
194
- const { pid, p } = await ao.spwn({ module, scheduler, tags })
195
- ```
196
-
197
- ### transform(opts)
198
-
199
- Apply template fills to Lua source.
200
-
201
- ```js
202
- const { out } = await ao.transform({
203
- data: luaCode,
204
- fills: { OWNER: addr, TOKEN: tokenPid }
205
- })
206
- // Replaces <OWNER> and <TOKEN> in luaCode
207
- ```
208
-
209
- ### eval(opts)
210
-
211
- Evaluate a Lua expression on an existing process (shorthand for msg with act "Eval").
212
-
213
- ```js
214
- const { mid, res, err, out } = await ao.eval({ pid, data: "return count" })
215
- ```
216
-
217
- ### p(pid)
218
-
219
- Create a Process handle for an existing process.
220
-
221
- ```js
222
- const proc = ao.p(existingPid)
223
- await proc.d("Get", false)
224
- ```
225
-
226
- ---
227
-
228
- ## Process Handle (p)
229
-
230
- Returned by `ao.deploy()` or `ao.p(pid)`. Provides shorthand for process operations.
231
-
232
- **Important:** The second argument to `p.msg()`/`p.m()` passes additional fields as **message tags** (accessible via `msg.Tags.FieldName` in Lua), NOT as `msg.Data`. To pass structured data, use tags.
233
-
234
- ### msg(act, tags, opts)
235
-
236
- Send message with shorthand syntax.
237
-
238
- ```js
239
- await p.msg("Inc") // basic action
240
- await p.msg("Inc", { Plus: "3" }) // with tags (Lua: msg.Tags.Plus)
241
- await p.msg("Inc", false) // returns Data string
242
- await p.msg("Inc", { Plus: "3" }, false) // tags + Data string
243
- ```
244
-
245
- ### dry(act, tags, opts)
246
-
247
- Dry-run (read-only) with same shorthand.
248
-
249
- ```js
250
- const result = await p.dry("Get")
251
- const data = await p.dry("Get", false) // Data string only
252
- ```
253
-
254
- ### m(...args) — shorthand msg
255
-
256
- Calls `msg()` and throws on error.
257
-
258
- ```js
259
- await p.m("Inc", false) // returns Data or throws
260
- ```
261
-
262
- ### d(...args) — shorthand dry
263
-
264
- Calls `dry()` and throws on error.
265
-
266
- ```js
267
- const count = await p.d("Get", false) // Data string or throws
268
- ```
269
-
270
- ### r(...args) — shorthand res
271
-
272
- ```js
273
- const result = await p.r({ mid })
274
- ```
275
-
276
- ### v(data, json, pretty) — get variable
277
-
278
- ```js
279
- const state = await p.v("State") // JSON parsed
280
- const count = await p.v("count") // number
281
- const item = await p.v("Table.items[1]") // nested access
282
- ```
283
-
284
- ### load(opt) — load Lua source
285
-
286
- Load and execute Lua source on an existing process via the process handle.
287
-
288
- ```js
289
- await p.load({ data: luaCode, fills: { VAR: "value" } })
290
- ```
291
-
292
- ### o(name, args) — call and throw
293
-
294
- Generic method caller that throws on error.
295
-
296
- ```js
297
- const out = await p.o("msg", ["Inc", false])
298
- ```
299
-
300
- ---
301
-
302
- ## get/check Patterns
303
-
304
- ### get — Extract output from responses
305
-
306
- | Value | Behavior |
307
- |-------|----------|
308
- | `false` | Return Data as string |
309
- | `true` | Return full result |
310
- | `"TagName"` | Return value of specific tag |
311
- | `{ data: true }` | Return Data field |
312
- | `{ json: true }` | Parse Data as JSON |
313
- | `{ data: true, json: true }` | Parse Data JSON |
314
- | `{ name: "Tag", json: true }` | Parse specific tag as JSON |
315
- | `{ from: "pid" }` | Filter by sender process |
316
- | `{ match: (v, i, r) => bool }` | Custom filter function |
317
-
318
- ```js
319
- // Get Data as string
320
- await p.d("Get", false)
321
-
322
- // Get Data as parsed JSON
323
- await p.d("Get", { get: { data: true, json: true } })
324
-
325
- // Get specific tag value
326
- await p.msg("Inc", { get: "Status" })
327
- ```
328
-
329
- ### check — Validate responses
330
-
331
- | Value | Behavior |
332
- |-------|----------|
333
- | `true` | Check no error |
334
- | `"value"` | Check Data equals value |
335
- | `"TagName"` | Check tag exists |
336
- | `{ Tag: "val" }` | Check tag equals value |
337
- | `RegExp` | Pattern match on Data |
338
- | `[array]` | Check multiple messages |
339
-
340
- ```js
341
- await p.msg("Inc", { check: { Status: "ok" } })
342
- await p.msg("Inc", { check: /Success/ })
343
- ```
344
-
345
- ---
346
-
347
- ## AR Class
348
-
349
- Arweave client for wallet management, data posting, and transactions.
350
-
351
- ### Constructor
352
-
353
- ```js
354
- new AR({ host, port, protocol } = {})
355
- ```
356
-
357
- ### Methods
358
-
359
- | Method | Params | Returns | Description |
360
- |--------|--------|---------|-------------|
361
- | `init(jwk)` | JWK | `this` | Initialize with wallet |
362
- | `checkWallet()` | — | `{ addr, jwk, pub }` | Validate wallet |
363
- | `balance(addr?)` | address | string | Get AR balance |
364
- | `mint(addr, amount?)` | address, AR string | balance | Mint on testnet |
365
- | `transfer(ar, target)` | amount, address | `{ id }` | Send AR |
366
- | `bundle(items)` | `[[data, tags]]` | `{ id, items, tx }` | Create bundle |
367
- | `post({ data, tags })` | object | `{ id }` | Post data to Arweave |
368
- | `data(txid, string?)` | txId, bool | data | Download tx data |
369
- | `tx(txid)` | txId | tx object | Get tx metadata |
370
- | `gen(amount?)` | AR amount | `{ jwk, addr }` | Generate new wallet |
371
- | `toAddr(jwk)` | JWK | address | Get address from JWK |
372
-
373
- ```js
374
- const ar = new AR()
375
- await ar.init(jwk)
376
- const { id } = await ar.post({ data: "Hello", tags: { Type: "test" } })
377
- const content = await ar.data(id, true)
378
- ```
379
-
380
- ---
381
-
382
- ## HB Class
383
-
384
- HTTP client for HyperBEAM nodes. Handles signing and process operations.
385
-
386
- ### Constructor
387
-
388
- ```js
389
- new HB({
390
- url: "http://localhost:10001",
391
- cu: "http://localhost:6363",
392
- format: "httpsig", // or "ans104"
393
- } = {})
394
- ```
395
-
396
- ### init(jwk)
397
-
398
- ```js
399
- const hb = await new HB({ url: hbeam.url }).init(jwk)
400
- // hb.addr, hb.url, hb.jwk available
401
- ```
402
-
403
- ### HTTP Methods
404
-
405
- ```js
406
- // GET — returns { out, headers, body, status }
407
- await hb.get({ path: "/~meta@1.0/info" })
408
- await hb.g("/~meta@1.0/info") // shorthand, returns out
409
- await hb.g("/~meta@1.0/info", { key: "value" }) // with params
410
-
411
- // POST — returns { out, headers, body, status }
412
- await hb.post({ path: "/~meta@1.0/info", key: "value" })
413
- await hb.p("/~meta@1.0/info", { key: "value" }) // shorthand, returns out
414
-
415
- // JSON variants
416
- await hb.getJSON({ path })
417
- await hb.postJSON({ path, ...fields })
418
- ```
419
-
420
- ### Process Lifecycle
421
-
422
- ```js
423
- // Spawn
424
- const { pid } = await hb.spawn({})
425
- const { pid } = await hb.spawn({ "execution-device": "wao@1.0" })
426
- const { pid } = await hb.spawnLua()
427
- const { pid } = await hb.spawnLegacy()
428
- const { pid } = await hb.spawnAOS()
429
-
430
- // Schedule message
431
- const { slot } = await hb.schedule({ pid, tags: { Action: "Inc" } })
432
- const { slot } = await hb.scheduleLegacy({ pid, action: "Inc" })
433
- const { slot } = await hb.scheduleAOS({ pid, action: "Eval", data: luaCode })
434
-
435
- // Compute result
436
- const result = await hb.compute({ pid, slot })
437
- const result = await hb.computeLegacy({ pid, slot })
438
- const result = await hb.computeAOS({ pid, slot })
439
-
440
- // All-in-one (schedule + compute)
441
- const result = await hb.message({ pid, tags: { Action: "Inc" } })
442
- const { outbox } = await hb.messageAOS({ pid, action: "Get" })
443
-
444
- // Current slot
445
- const slot = await hb.slot({ pid })
446
- const slot = await hb.slot({ pid, path: "/cache/key" })
447
-
448
- // Current state
449
- const state = await hb.now({ pid })
450
- const state = await hb.now({ pid, path: "/cache/key" })
451
-
452
- // Messages list (paginated)
453
- const { edges, next } = await hb.messages({ pid })
454
- const page2 = next ? await next() : null
455
- ```
456
-
457
- ### Device Stack Spawn
458
-
459
- ```js
460
- const { pid } = await hb.spawn({
461
- "execution-device": "stack@1.0",
462
- "device-stack": ["wao@1.0", "patch@1.0"],
463
- "patch-from": "/results",
464
- "patch-to": "/cache",
465
- })
466
- ```
467
-
468
- ### Caching
469
-
470
- ```js
471
- const moduleId = await hb.cacheBinary(wasmData, "application/wasm")
472
- const scriptId = await hb.cacheScript(luaCode, "application/lua")
473
- ```
474
-
475
- ### Binary Data
476
-
477
- ```js
478
- // Write binary — returns { path } directly
479
- const { path } = await hb.p("/~cache@1.0/write", {
480
- "ao-body-key": "body",
481
- body: Buffer.from("data"),
482
- })
483
-
484
- // Read binary
485
- const data = await hb.g("/~cache@1.0/read", { target: path })
486
- ```
487
-
488
- ### ANS-104 Format
489
-
490
- ```js
491
- const hb = new HB({ url, format: "ans104" })
492
- const { pid } = await hb.spawn({
493
- Name: "my-process",
494
- "execution-device": "wao@1.0",
495
- "Data-Protocol": "ao",
496
- Variant: "ao.WDB.1",
497
- })
498
- ```
499
-
500
- ---
501
-
502
- ## GQL Class
503
-
504
- GraphQL client for querying Arweave transactions and blocks.
505
-
506
- ### txs(opts)
507
-
508
- ```js
509
- const txs = await gql.txs({
510
- ids: ["txId1"], // by ID
511
- owner: "addr", // by owner
512
- recipient: "addr", // by recipient
513
- tags: { Type: "Message" }, // by tags
514
- block: [100, 200], // block range [min, max]
515
- first: 10, // limit
516
- after: "cursor", // pagination cursor
517
- asc: true, // ascending sort
518
- fields: ["id", "tags"], // select fields
519
- next: true, // include pagination fn
520
- })
521
- ```
522
-
523
- ### blocks(opts)
524
-
525
- ```js
526
- const blocks = await gql.blocks({ height: [100, 200], first: 10 })
527
- ```
528
-
529
- ---
530
-
531
- ## HyperBEAM Class
532
-
533
- Node lifecycle manager for testing. Starts/stops Erlang HyperBEAM server.
534
-
535
- ### Constructor
536
-
537
- ```js
538
- new HyperBEAM({
539
- port: 10001, // HTTP port
540
- cu_port: 6363, // genesis-wasm CU port
541
- wallet: ".wallet.json", // wallet path
542
- cwd: "./HyperBEAM", // HyperBEAM directory
543
- reset: true, // clear cache
544
- genesis_wasm: true, // enable genesis-wasm device
545
- operator: HyperBEAM.OPERATOR, // use self as operator
546
- logs: true, // print logs
547
- rebar3: true, // use rebar3 shell
548
- bundler_ans104: false, // ANS-104 bundler
549
- // Payment options
550
- faff: [addr1, addr2], // Friends & Family whitelist
551
- simple_pay: true, // enable simple-pay device
552
- simple_pay_price: 2, // cost per operation
553
- p4_lua: { // P4 payment config
554
- processor: { body: luaScript, name: "ledger.lua" },
555
- client: { body: clientScript, name: "client.lua" },
556
- admin: adminAddr,
557
- balance: { [addr]: 1000 },
558
- },
559
- } = {})
560
- ```
561
-
562
- ### Methods
563
-
564
- | Method | Returns | Description |
565
- |--------|---------|-------------|
566
- | `ready(timeout?)` | `this` or `false` | Wait for server ready (default 60s), returns `false` on timeout |
567
- | `ok()` | boolean | Check if responding |
568
- | `kill()` | — | Kill server and CU |
569
- | `startCU()` | boolean | Start genesis-wasm CU |
570
- | `eunit(module, test)` | Promise | Run Erlang eunit test |
571
- | `file(path)` | string | Read file from HyperBEAM dir |
572
-
573
- ### Properties
574
-
575
- | Property | Description |
576
- |----------|-------------|
577
- | `hb` | HB HTTP client instance |
578
- | `jwk` | Server wallet JWK |
579
- | `addr` | Server wallet address |
580
- | `url` | Server URL |
581
-
582
- ### Static
583
-
584
- - `HyperBEAM.OPERATOR` — Symbol: use self address as operator
585
-
586
- ---
587
-
588
- ## Test Exports (wao/test)
589
-
590
- ```js
591
- import {
592
- AO, // In-memory AOS client
593
- HyperBEAM, // Node lifecycle manager
594
- HB, // HTTP client
595
- acc, // Array of 3 test accounts: [{ jwk, addr, signer }]
596
- mu, su, cu, // Individual test accounts
597
- connect, // aoconnect factory
598
- Testnet, // Local testnet orchestrator
599
- Src, // Lua source file manager
600
- setup, // Full testnet setup with caching
601
- ok, // Assert no error: ok(result)
602
- fail, // Assert error: fail(result)
603
- blueprint, // Load Lua blueprint: await blueprint("apm")
604
- } from "wao/test"
605
- ```
606
-
607
- ### Test Accounts
608
-
609
- ```js
610
- // 3 pre-generated accounts with JWK, address, and signer
611
- acc[0].jwk // Arweave JWK
612
- acc[0].addr // Arweave address
613
- acc[0].signer // DataItem signer
614
- ```
615
-
616
- ### Src Class
617
-
618
- ```js
619
- const src = new Src({ dir: "./src" })
620
- const data = src.data("counter", "lua") // Read file contents
621
- const txId = await src.upload("counter") // Upload to Arweave
622
- ```
623
-
624
- ### blueprint(name)
625
-
626
- Load a Lua blueprint for AOS.
627
-
628
- ```js
629
- const code = await blueprint("apm")
630
- const { p } = await ao.deploy({ loads: [await blueprint("apm"), src_data] })
631
- ```
632
-
633
- ### Memory Sharing (Multi-User)
634
-
635
- ```js
636
- const ao1 = await new AO().init(acc[0])
637
- const { p } = await ao1.deploy({ src_data })
638
-
639
- const ao2 = await new AO({ mem: ao1.mem }).init(acc[1])
640
- const p2 = ao2.p(p.pid)
641
- // p2 sees same process state as p, but signs as acc[1]
642
- ```
643
-
644
- ---
645
-
646
- ## Template Fills
647
-
648
- Replace `<VAR>` placeholders in Lua source with actual values.
649
-
650
- ```js
651
- await ao.deploy({
652
- src_data: `
653
- TOKEN = "<TOKEN_PID>"
654
- OWNER = "<OWNER_ADDR>"
655
- `,
656
- fills: {
657
- TOKEN_PID: "abc123...",
658
- OWNER_ADDR: "xyz789...",
659
- }
660
- })
661
- ```
662
-
663
- ---
664
-
665
- ## Common Patterns
666
-
667
- ### Deploy and Test
668
-
669
- ```js
670
- const ao = await new AO().init(acc[0])
671
- const { p } = await ao.deploy({ src_data })
672
- const count = await p.d("Get", false)
673
- assert.equal(count, "0")
674
- await p.m("Inc", false)
675
- assert.equal(await p.d("Get", false), "1")
676
- ```
677
-
678
- ### Multi-User Token Transfer
679
-
680
- ```js
681
- const ao1 = await new AO().init(acc[0])
682
- const { p } = await ao1.deploy({ src_data })
683
- const ao2 = await new AO({ mem: ao1.mem }).init(acc[1])
684
- const p2 = ao2.p(p.pid)
685
-
686
- await p.m("Transfer", { Recipient: acc[1].addr, Quantity: "100" })
687
- const bal = await p2.d("Balance", { Target: acc[1].addr }, false)
688
- ```
689
-
690
- ### WeaveDrive Attestation
691
-
692
- ```js
693
- const { p } = await ao.deploy({
694
- tags: { Extension: "WeaveDrive", Attestor: ao.ar.addr },
695
- loads: [await blueprint("apm"), handler],
696
- src_data,
697
- })
698
- const { id } = await ao.ar.post({ data: "Hello" })
699
- await ao.attest({ id })
700
- const result = await p.d("Get", { id }, false)
701
- ```
702
-
703
- ### HyperBEAM Integration
704
-
705
- ```js
706
- const hbeam = await new HyperBEAM({ reset: true, genesis_wasm: true }).ready()
707
- const ao = await new AO({ hb: hbeam.url }).init(hbeam.jwk)
708
- const { p } = await ao.deploy({ src_data })
709
- await p.m("Inc")
710
- const count = await p.d("Get", false)
711
- hbeam.kill()
712
- ```
713
-
714
- ---
715
-
716
- ## Browser / wao/web
717
-
718
- For browser applications, use `wao/web` instead of `wao/test`. This provides the same AO and AR classes but configured for browser environments with ArConnect wallet integration.
719
-
720
- ### Import
721
-
722
- ```js
723
- import { AO, AR } from "wao/web"
724
- ```
725
-
726
- **Important**: Never use `wao/test` in browser code. `wao/test` is for Node.js testing only and includes dependencies that don't work in browsers.
727
-
728
- ### ArConnect Wallet Connection
729
-
730
- ```js
731
- // Check ArConnect is available
732
- if (!window.arweaveWallet) {
733
- throw new Error("ArConnect not found. Install from https://arconnect.io")
734
- }
735
-
736
- // Request permissions
737
- await window.arweaveWallet.connect([
738
- "ACCESS_ADDRESS",
739
- "SIGN_TRANSACTION",
740
- "ACCESS_PUBLIC_KEY",
741
- ])
742
-
743
- // Get user address
744
- const addr = await window.arweaveWallet.getActiveAddress()
745
- ```
746
-
747
- ### AO Browser Constructor
748
-
749
- ```js
750
- const ao = new AO()
751
- await ao.init(window.arweaveWallet)
752
- ```
753
-
754
- The browser AO constructor accepts the ArConnect wallet object directly (instead of a JWK). All signing happens through ArConnect.
755
-
756
- ### Interacting with Deployed Processes
757
-
758
- ```js
759
- // Connect to an existing process by ID
760
- const p = ao.p("YOUR_PROCESS_ID")
761
-
762
- // Send a message
763
- const { out } = await p.msg("Action", { Tag: "value" })
764
-
765
- // Read state (dry-run)
766
- const { out: balance } = await p.msg("Balance", { Target: addr })
767
- ```
768
-
769
- ### Browser-Specific AO Options
770
-
771
- ```js
772
- const ao = new AO({
773
- // Custom gateway
774
- ar: { host: "arweave.net", port: 443, protocol: "https" },
775
- })
776
- ```
777
-
778
- ### Example: Token Balance Checker
779
-
780
- ```js
781
- import { AO } from "wao/web"
782
-
783
- async function checkBalance(processId, address) {
784
- const ao = new AO()
785
- await ao.init(window.arweaveWallet)
786
- const p = ao.p(processId)
787
- const { out } = await p.msg("Balance", { Target: address })
788
- return out
789
- }
790
- ```
791
-
792
- ### Example: Send Transfer
793
-
794
- ```js
795
- import { AO } from "wao/web"
796
-
797
- async function transfer(processId, recipient, quantity) {
798
- const ao = new AO()
799
- await ao.init(window.arweaveWallet)
800
- const p = ao.p(processId)
801
- const { out } = await p.msg("Transfer", {
802
- Recipient: recipient,
803
- Quantity: quantity,
804
- })
805
- return out
806
- }
807
- ```