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,618 +0,0 @@
1
- # HyperBEAM Device Catalog
2
-
3
- Complete reference for all HyperBEAM devices, endpoints, and configuration.
4
-
5
- ## URL Patterns
6
-
7
- ### Device Access
8
-
9
- ```
10
- GET /~device@version/method?param=value
11
- POST /~device@version/method
12
- ```
13
-
14
- ### Process Operations
15
-
16
- ```
17
- POST /~process@1.0/schedule Spawn process
18
- POST /{pid}/schedule Schedule message
19
- GET /{pid}/compute?slot=N Compute up to slot
20
- GET /{pid}/now Get current state
21
- GET /{pid}/messages List scheduled messages
22
- ```
23
-
24
- ### Device Chaining (URL)
25
-
26
- ```
27
- /path/~device1@1.0/method1/~device2@1.0/method2
28
- ```
29
-
30
- Each method's output becomes the next method's input.
31
-
32
- ---
33
-
34
- ## Core Devices
35
-
36
- ### meta@1.0 — Node Gateway
37
-
38
- Entry point for all HyperBEAM requests. Manages node config and authorization.
39
-
40
- ```js
41
- // Get node info
42
- await hb.g("/~meta@1.0/info")
43
- // Returns: { initialized, address, port, ... }
44
-
45
- // Update config (operator only)
46
- await hb.p("/~meta@1.0/info", {
47
- route_owners: [addr1, addr2],
48
- cache_writers: [addr1],
49
- faff_allow_list: [addr1, addr2],
50
- simple_pay_price: 3,
51
- })
52
-
53
- // Get build info
54
- await hb.g("/~meta@1.0/build")
55
- ```
56
-
57
- **Node states:** `initialized: false` → `true` → `"permanent"` (locks config)
58
-
59
- **Operator:** First to claim unclaimed node becomes operator. Use `HyperBEAM.OPERATOR` to auto-set.
60
-
61
- ### message@1.0 — Message Operations
62
-
63
- Default device for direct message field access and manipulation.
64
-
65
- ```js
66
- // Get field
67
- await hb.g("/~message@1.0&hello=world/hello")
68
-
69
- // Set field
70
- await hb.p("/~message@1.0/set/hello", { hello: "world" })
71
- await hb.p("/~message@1.0/set", { hello: "world" })
72
-
73
- // Get keys
74
- await hb.g("/~message@1.0/keys")
75
-
76
- // Remove field
77
- await hb.p("/~message@1.0/remove", { key: "hello" })
78
-
79
- // Commit (sign)
80
- await hb.get({ path: "/~message@1.0/commit", hello: "world" })
81
-
82
- // Verify
83
- await hb.g("/~message@1.0/verify")
84
- ```
85
-
86
- ### process@1.0 — Process Execution Engine
87
-
88
- Core process device. Manages slot-based execution with device stacks.
89
-
90
- Config tags when spawning:
91
- - `device`: `"process@1.0"`
92
- - `execution-device`: Which runtime (`genesis-wasm@1.0`, `wasm-64@1.0`, `lua@5.3a`, `wao@1.0`)
93
- - `scheduler`: Scheduler address
94
- - `type`: `"Process"`
95
-
96
- ### scheduler@1.0 — Message Scheduling
97
-
98
- Manages message ordering and slot assignment for processes.
99
-
100
- ```js
101
- // Spawn process via scheduler
102
- const { process: pid } = await hb.p("/~scheduler@1.0/schedule", {
103
- body: {
104
- device: "process@1.0",
105
- type: "Process",
106
- scheduler: hb.addr,
107
- "execution-device": "wao@1.0",
108
- }
109
- })
110
-
111
- // Get slot
112
- const { slot } = await hb.p("/~scheduler@1.0/schedule", { body: { target: pid } })
113
-
114
- // Get status
115
- const { processes } = await hb.g("/~scheduler@1.0/status")
116
-
117
- // Register location
118
- await hb.p("/~scheduler@1.0/location", {
119
- address: hb.addr,
120
- nonce: 0,
121
- url: "https://scheduler.example.com",
122
- })
123
- ```
124
-
125
- ### stack@1.0 — Device Composition
126
-
127
- Compose multiple devices into a pipeline. Each device's compute output feeds the next.
128
-
129
- ```js
130
- // Spawn with device stack
131
- const { pid } = await hb.spawn({
132
- "execution-device": "stack@1.0",
133
- "device-stack": ["wao@1.0", "patch@1.0"],
134
- "patch-from": "/results",
135
- "patch-to": "/cache",
136
- })
137
-
138
- // Stack as object (keyed)
139
- const { pid } = await hb.spawn({
140
- "execution-device": "stack@1.0",
141
- "device-stack": { 1: "inc@1.0", 2: "double@1.0" },
142
- })
143
- ```
144
-
145
- **Prefix system:** Each device in stack gets a prefix to avoid key collisions.
146
-
147
- ### patch@1.0 — Message Reorganization
148
-
149
- Copies data between paths in the message. Used in stacks to move results to cache.
150
-
151
- Config:
152
- - `patch-from`: Source path (e.g., `"/results"`)
153
- - `patch-to`: Destination path (e.g., `"/cache"`)
154
-
155
- ```js
156
- const { pid } = await hb.spawn({
157
- "execution-device": "stack@1.0",
158
- "device-stack": ["wao@1.0", "patch@1.0"],
159
- "patch-from": "/results",
160
- "patch-to": "/cache",
161
- })
162
-
163
- // Access patched data
164
- const result = await hb.compute({ pid, slot, path: "/cache/key" })
165
- ```
166
-
167
- ### cache@1.0 — Local Cache Storage
168
-
169
- Read/write data with access control.
170
-
171
- ```js
172
- // Write binary — returns { path } directly
173
- const { path } = await hb.p("/~cache@1.0/write", {
174
- "ao-body-key": "body",
175
- body: Buffer.from("data"),
176
- })
177
-
178
- // Read
179
- const data = await hb.g("/~cache@1.0/read", { target: path })
180
-
181
- // Link (alias)
182
- await hb.p("/~cache@1.0/link", { source: path, destination: "alias" })
183
-
184
- // Read via link
185
- const same = await hb.g("/~cache@1.0/read", { target: "alias" })
186
- ```
187
-
188
- Config: `cache_writers` (list of authorized addresses for writes)
189
-
190
- ### cron@1.0 — Scheduled Execution
191
-
192
- Schedule one-time or recurring message execution.
193
-
194
- ```js
195
- // Recurring task
196
- const { body: taskId } = await hb.post({
197
- path: "/~cron@1.0/every",
198
- "cron-path": `/~wao@1.0/cron`,
199
- interval: "1000-milliseconds",
200
- target: pid,
201
- })
202
-
203
- // One-time task
204
- await hb.post({
205
- path: "/~cron@1.0/once",
206
- "cron-path": `/~wao@1.0/cron`,
207
- interval: "5000-milliseconds",
208
- target: pid,
209
- })
210
-
211
- // Stop task
212
- await hb.post({ path: "/~cron@1.0/stop", task: taskId })
213
- ```
214
-
215
- **Interval format:** `"N-unit"` where unit is: `milliseconds`, `seconds`, `minutes`, `hours`, `days`
216
-
217
- ### router@1.0 — HTTP Message Routing
218
-
219
- Route requests to different nodes based on URL patterns.
220
-
221
- ```js
222
- // List routes
223
- const routes = await hb.g("/~router@1.0/routes")
224
-
225
- // Add route
226
- await hb.p("/~router@1.0/routes", {
227
- template: "/api/v2/.*",
228
- node: "https://api-v2.example.com",
229
- priority: 1,
230
- })
231
-
232
- // Match route
233
- const match = await hb.g("/~router@1.0/route", { "route-path": "/api/v2/users" })
234
-
235
- // Preprocess (resolve route and relay)
236
- await hb.p("/~router@1.0/preprocess", {
237
- request: { path: "/api/v2/data", method: "GET" },
238
- body: "optional-body", // forwarded to matched node
239
- })
240
-
241
- // Get info
242
- const info = await hb.g("/~router@1.0/info")
243
- ```
244
-
245
- Config: `route_owners` (addresses allowed to manage routes), `router_preprocess_default` (`"local"` to handle unmatched routes locally)
246
-
247
- ### relay@1.0 — Message Relay
248
-
249
- Relay messages between nodes/HTTP endpoints.
250
-
251
- ```js
252
- // Synchronous relay (wait for response) — returns { body }
253
- const { body } = await hb.getJSON({
254
- path: "/~relay@1.0/call",
255
- "relay-path": "http://other-node:10001/~meta@1.0/info",
256
- })
257
-
258
- // Async relay (fire-and-forget) — returns "OK"
259
- await hb.get({
260
- path: "/~relay@1.0/cast",
261
- "relay-path": "http://other-node:10001/endpoint",
262
- })
263
- ```
264
-
265
- Options: `relay-path`, `relay-device`, `relay-method` (GET/POST), `relay-body`, `commit-request`
266
-
267
- ### local-name@1.0 — Local Name Registration
268
-
269
- Register and look up local names.
270
-
271
- ```js
272
- await hb.p("/~local-name@1.0/register", { value: "my-value", key: "my-key" })
273
- const result = await hb.g("/~local-name@1.0/lookup", { key: "my-key" })
274
- ```
275
-
276
- ### lookup@1.0 — Resource Lookup
277
-
278
- Fetch resources from cache by ID with format negotiation.
279
-
280
- ```js
281
- const data = await hb.g("/~lookup@1.0/read", { target: messageId })
282
- // With format conversion
283
- const json = await hb.g("/~lookup@1.0/read", {
284
- target: messageId,
285
- accept: "application/aos-2",
286
- })
287
- ```
288
-
289
- ### name@1.0 — Name Resolution
290
-
291
- Resolve human-readable names via resolver chain.
292
-
293
- ```
294
- GET /~name@1.0/{NAME}
295
- GET /~name@1.0/{NAME}?load=false (raw ID only)
296
- ```
297
-
298
- Config: `name_resolvers` (list of resolver modules)
299
-
300
- ### monitor@1.0 — Process Monitoring
301
-
302
- Non-intrusive observation of process execution.
303
-
304
- ```js
305
- // In JS via AO SDK
306
- await ao.monitor({ process: pid, signer })
307
- await ao.unmonitor({ process: pid, signer })
308
- ```
309
-
310
- ### hook@1.0 — Lifecycle Hooks
311
-
312
- Event-driven handlers for node lifecycle.
313
-
314
- Built-in hooks: `start`, `request`, `step`, `response`
315
-
316
- Config via `on` map in node config.
317
-
318
- ### node-process@1.0 — Singleton Processes
319
-
320
- Node-specific singleton processes with lazy initialization.
321
-
322
- ```
323
- GET /{name}~node-process@1.0/path
324
- POST /{name}~node-process@1.0/schedule
325
- ```
326
-
327
- Config: `node_processes` map of process definitions, `spawn: true/false`
328
-
329
- ---
330
-
331
- ## Execution Devices
332
-
333
- ### genesis-wasm@1.0 — Legacy AO
334
-
335
- Runs AOS processes via an external genesis-wasm Compute Unit server (port 6363).
336
-
337
- ```js
338
- const hbeam = await new HyperBEAM({
339
- genesis_wasm: true,
340
- cu_port: 6363,
341
- }).ready()
342
-
343
- const { pid } = await hb.spawnLegacy()
344
- const { slot } = await hb.scheduleLegacy({ pid, action: "Eval", data: luaCode })
345
- const result = await hb.computeLegacy({ pid, slot })
346
- ```
347
-
348
- **Limitations:**
349
- - External CU is single-pass — **`Send().receive()` does NOT work**
350
- - Auto-starts CU server at port 6363
351
- - Requires wasm-memory64 (Node 24+ default; Node 22 needs `--experimental-wasm-memory64`)
352
-
353
- Functions: `init/3`, `compute/3`, `snapshot/3`, `import/3`
354
-
355
- ### wasm-64@1.0 — WASM Memory-64
356
-
357
- WebAssembly runtime using WAMR (Memory-64 standard).
358
-
359
- Functions: `init/3`, `compute/3`, `snapshot/3`, `normalize/3`, `terminate/3`
360
-
361
- Config: `image` (WASM binary ID), `function`, `parameters`, `Mode` (AOT)
362
-
363
- ### lua@5.3a — Lua VM
364
-
365
- Lua 5.3 execution with AO-Core library integration.
366
-
367
- ```js
368
- const { pid } = await hb.spawnLua()
369
- ```
370
-
371
- Functions: `init/3`, `functions/3`, `snapshot/3`, `normalize/3`
372
-
373
- Config: `module` (Lua source ID), `sandbox` (true/false/map)
374
-
375
- ---
376
-
377
- ## Payment Devices
378
-
379
- ### simple-pay@1.0 — Flat-Rate Pricing
380
-
381
- Per-request pricing with balance ledger.
382
-
383
- ```js
384
- const hbeam = await new HyperBEAM({
385
- simple_pay: true,
386
- simple_pay_price: 2,
387
- }).ready()
388
-
389
- // Operator tops up user (only operator can topup)
390
- await operator.hb.p("/~simple-pay@1.0/topup", {
391
- amount: 15,
392
- recipient: user.addr,
393
- })
394
-
395
- // Check balance
396
- const bal = await user.hb.p("/~simple-pay@1.0/balance")
397
-
398
- // Each POST costs: simple_pay_price * 3
399
- await user.hb.p("/~message@1.0/set/hello", { hello: "world" })
400
- // Balance decreases by 6 (2 * 3)
401
-
402
- // Change price
403
- await operator.hb.p("/~meta@1.0/info", { simple_pay_price: 3 })
404
- ```
405
-
406
- ### p4@1.0 — Lua-Based Payment Ledger
407
-
408
- Programmable payment using Lua scripts for ledger and client logic.
409
-
410
- ```js
411
- const hbeam = await new HyperBEAM({
412
- p4_lua: {
413
- processor: { body: ledgerScript, name: "ledger.lua" },
414
- client: { body: clientScript, name: "client.lua" },
415
- admin: operatorAddr,
416
- balance: { [operatorAddr]: 1000 },
417
- },
418
- }).ready()
419
-
420
- // Transfer via ledger
421
- await hb.scheduleNP({
422
- pid: "ledger",
423
- tags: { action: "transfer", quantity: "100", recipient: addr },
424
- })
425
-
426
- // Check balance
427
- const bal = await hb.g(`/ledger~node-process@1.0/now/balance/${addr}`)
428
- ```
429
-
430
- ### faff@1.0 — Friends & Family Whitelist
431
-
432
- Simple access control via address whitelist.
433
-
434
- ```js
435
- const hbeam = await new HyperBEAM({
436
- faff: [HyperBEAM.OPERATOR, allowedAddr],
437
- }).ready()
438
-
439
- // Operator can always access
440
- await operator.hb.p(...) // OK
441
-
442
- // Allowed user can access
443
- await allowed.hb.p(...) // OK
444
-
445
- // Others rejected
446
- await assert.rejects(other.hb.p(...))
447
-
448
- // Update list
449
- await operator.hb.p("/~meta@1.0/info", {
450
- faff_allow_list: [operatorAddr, newAddr],
451
- })
452
- ```
453
-
454
- ---
455
-
456
- ## Security Devices
457
-
458
- ### green-zone@1.0 — Trusted Node Networks
459
-
460
- Secure trusted execution zones with encrypted communication.
461
-
462
- ```js
463
- // Initialize green zone
464
- await hb.p("/~green-zone@1.0/init")
465
-
466
- // Join existing zone
467
- await hb.p("/~green-zone@1.0/join", { peer: "http://trusted-node:10001" })
468
-
469
- // Clone identity
470
- await hb.p("/~green-zone@1.0/become", { peer: "http://source-node:10001" })
471
-
472
- // Check trust
473
- await hb.g("/~green-zone@1.0/is_trusted")
474
- ```
475
-
476
- Encryption: RSA-4096 (asymmetric) + AES-256 (symmetric)
477
-
478
- ### auth-hook@1.0 — Authentication Hooks
479
-
480
- Hook into authentication flow for custom auth logic.
481
-
482
- ---
483
-
484
- ## Encoding Devices
485
-
486
- ### httpsig@1.0 — HTTP Message Signatures
487
-
488
- RFC 9421 HTTP Message Signatures. Default encoding for HyperBEAM.
489
-
490
- - Flattens nested structures to multipart body
491
- - Signs specified headers with RSA-PSS-SHA512
492
- - Produces `signature` and `signature-input` headers
493
-
494
- ### structured@1.0 — Rich Typed Messages
495
-
496
- RFC 9651 Structured Fields. Preserves types (int, float, atom, list).
497
-
498
- ### json@1.0 — JSON Codec
499
-
500
- ```js
501
- // Serialize
502
- await hb.p("/~json@1.0/serialize", { key: "value" })
503
-
504
- // Deserialize
505
- await hb.post({
506
- path: "/~json@1.0/deserialize",
507
- "ao-body-key": "body",
508
- body: JSON.stringify(data),
509
- })
510
- ```
511
-
512
- ### flat@1.0 — Flat Path Format
513
-
514
- Represents nested structures as flat path-based keys.
515
-
516
- ### ans104@1.0 — ANS-104 Bundle Format
517
-
518
- ArBundle data format for Arweave-native encoding.
519
-
520
- ```js
521
- const hb = new HB({ url, format: "ans104" })
522
- const { pid } = await hb.spawn({
523
- "execution-device": "wao@1.0",
524
- "Data-Protocol": "ao",
525
- Variant: "ao.WDB.1",
526
- })
527
- ```
528
-
529
- ---
530
-
531
- ## Query & Indexing Devices
532
-
533
- ### dev_query — Data Query Interface
534
-
535
- General query interface for data retrieval.
536
-
537
- ### dev_query_arweave — Arweave GraphQL
538
-
539
- Query Arweave via GraphQL from within HyperBEAM.
540
-
541
- ---
542
-
543
- ## v0.9-FINAL Devices (new since beta3)
544
-
545
- ### location@1.0 — Scheduler-Location Registry
546
-
547
- Replaces the old `/~scheduler@1.0/location` endpoint. Stores per-address scheduler-location records (with DNS/IP resolution and a TTL) in a node-local cache, with fallback to the Arweave gateway.
548
-
549
- - `POST /~location@1.0/node` — operator generates and registers a record (signed)
550
- - `POST /~location@1.0/known` — cache a peer's record if newer than the local one
551
- - Read via `dev_whois` / `dev_location_cache`
552
-
553
- ### metering@1.0 — Dynamic P4 Pricing
554
-
555
- A P4 pricing device that records resource usage per request/response lifecycle.
556
-
557
- - `estimate/3` opens a process-local session
558
- - `consume/3` increments usage during the session
559
- - `price/3` closes the session and returns the integer charge
560
- - Operator sets `metering-rates` in node message (resource → AO units per resource unit)
561
-
562
- ### blacklist@1.0 — Content Moderation by Blacklist
563
-
564
- A request hook for filtering. Operator configures `blacklist-providers` (list) in node message; each provider returns a moderation set.
565
-
566
- ### bundler@1.0 — ANS-104 Bundler Integration
567
-
568
- Outbound bundler for posting ANS-104 transactions to upstream Arweave bundlers (e.g. `up.arweave.net`).
569
-
570
- ### gzip@1.0 — gzip Codec
571
-
572
- Compress/decompress message bodies via gzip during processing.
573
-
574
- ### rate-limit@1.0 — Per-Address Rate Limiting
575
-
576
- Operator-configurable per-address rate limits applied as a request hook.
577
-
578
- ### tx@1.0 — Arweave TX Helpers
579
-
580
- Helpers for fetching and validating Arweave transactions inline.
581
-
582
- ### b32-name@1.0 — Base-32 Name Encoding
583
-
584
- Helpers for base-32 name encoding/decoding used by other devices.
585
-
586
- ### arweave@2.9 — Arweave Block + GraphQL Integration
587
-
588
- Renamed in v0.9-FINAL (was `arweave@2.9-pre`). Provides Arweave block cache, offset helpers, and common Arweave protocol primitives.
589
-
590
- ---
591
-
592
- ## Multi-Instance Setup
593
-
594
- Running multiple HyperBEAM nodes requires unique ports and Erlang node names:
595
-
596
- ```js
597
- const hbeam1 = await new HyperBEAM({ port: 10001, reset: true }).ready()
598
- const hbeam2 = await new HyperBEAM({ port: 10002, reset: true }).ready()
599
- ```
600
-
601
- Each instance needs unique port and auto-gets unique Erlang node name (`hb_{port}`).
602
-
603
- ---
604
-
605
- ## Device Configuration Summary
606
-
607
- | Device | Key Config | Set Via |
608
- |--------|-----------|---------|
609
- | meta@1.0 | operator, initialized | POST /~meta@1.0/info |
610
- | cache@1.0 | cache_writers | POST /~meta@1.0/info |
611
- | router@1.0 | route_owners | POST /~meta@1.0/info |
612
- | simple-pay@1.0 | simple_pay_price | POST /~meta@1.0/info |
613
- | faff@1.0 | faff_allow_list | POST /~meta@1.0/info |
614
- | cron@1.0 | interval, cron-path | POST /~cron@1.0/every |
615
- | stack@1.0 | device-stack | Spawn tags |
616
- | patch@1.0 | patch-from, patch-to | Spawn tags |
617
- | genesis-wasm@1.0 | genesis_wasm_port | HyperBEAM constructor |
618
- | p4@1.0 | p4_lua | HyperBEAM constructor |