wao 0.41.3 → 0.41.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (719) hide show
  1. package/.babelrc-cjs +5 -0
  2. package/.babelrc-esm +5 -0
  3. package/.gitmodules +4 -0
  4. package/.prettierrc +6 -0
  5. package/README.md +90 -0
  6. package/app/.eslintrc.json +3 -0
  7. package/app/.mocharc.cjs +6 -0
  8. package/app/arweave.mjs +87 -0
  9. package/app/components/Footer.js +76 -0
  10. package/app/components/Global.js +1128 -0
  11. package/app/components/Header.js +306 -0
  12. package/app/components/Left.js +28 -0
  13. package/app/components/Logo.js +34 -0
  14. package/app/components/Middle.js +37 -0
  15. package/app/components/Sidebar.js +93 -0
  16. package/app/components/Tags.js +42 -0
  17. package/app/components/editor/Editor.js +322 -0
  18. package/app/components/editor/FilePath.js +42 -0
  19. package/app/components/editor/MonacoEditor.js +44 -0
  20. package/app/components/left/LeftMessages.js +85 -0
  21. package/app/components/left/LeftModules.js +86 -0
  22. package/app/components/left/LeftNetworks.js +438 -0
  23. package/app/components/left/LeftProcesses.js +98 -0
  24. package/app/components/left/LeftProjects.js +397 -0
  25. package/app/components/left/LeftTests.js +189 -0
  26. package/app/components/middle/MiddleBlocks.js +79 -0
  27. package/app/components/middle/MiddleEntity.js +16 -0
  28. package/app/components/middle/MiddleEntityAccount.js +264 -0
  29. package/app/components/middle/MiddleEntityAssignment.js +104 -0
  30. package/app/components/middle/MiddleEntityBlock.js +148 -0
  31. package/app/components/middle/MiddleEntityMessage.js +430 -0
  32. package/app/components/middle/MiddleEntityModule.js +183 -0
  33. package/app/components/middle/MiddleEntityProcess.js +323 -0
  34. package/app/components/middle/MiddleEntityTx.js +211 -0
  35. package/app/components/middle/MiddleMessages.js +87 -0
  36. package/app/components/middle/MiddleModules.js +89 -0
  37. package/app/components/middle/MiddleNetworks.js +516 -0
  38. package/app/components/middle/MiddleProcesses.js +87 -0
  39. package/app/components/middle/MiddleTests.js +134 -0
  40. package/app/components/modals/CreateFileModal.js +115 -0
  41. package/app/components/modals/CreateFolderModal.js +83 -0
  42. package/app/components/modals/CreateProjectModal.js +63 -0
  43. package/app/components/modals/FSModal.js +141 -0
  44. package/app/components/modals/ImportModal.js +105 -0
  45. package/app/components/modals/LaunchNetworkModal.js +95 -0
  46. package/app/components/modals/Modal.js +38 -0
  47. package/app/components/modals/ProxyModal.js +122 -0
  48. package/app/components/modals/RenameFileModal.js +95 -0
  49. package/app/components/styles/EditorScrollbarStyle.js +29 -0
  50. package/app/components/styles/EntityScrollbarStyle.js +29 -0
  51. package/app/components/styles/GlobalStyle.js +102 -0
  52. package/app/components/styles/XtermStyle.js +37 -0
  53. package/app/components/terminal/Terminal.js +132 -0
  54. package/app/components/terminal/Xterm.js +160 -0
  55. package/app/components/ui/avatar.jsx +49 -0
  56. package/app/components/ui/checkbox.jsx +17 -0
  57. package/app/components/ui/close-button.jsx +20 -0
  58. package/app/components/ui/color-mode.jsx +61 -0
  59. package/app/components/ui/dialog.jsx +54 -0
  60. package/app/components/ui/drawer.jsx +44 -0
  61. package/app/components/ui/field.jsx +22 -0
  62. package/app/components/ui/input-group.jsx +39 -0
  63. package/app/components/ui/popover.jsx +49 -0
  64. package/app/components/ui/provider.jsx +12 -0
  65. package/app/components/ui/radio.jsx +17 -0
  66. package/app/components/ui/slider.jsx +107 -0
  67. package/app/components/ui/toaster.jsx +69 -0
  68. package/app/components/ui/tooltip.jsx +35 -0
  69. package/app/index.js +10 -0
  70. package/app/jsconfig.json +7 -0
  71. package/app/lib/GithubCSS.js +1218 -0
  72. package/app/lib/addon-fit.js +72 -0
  73. package/app/lib/data.js +31 -0
  74. package/app/lib/github-markdown.css +1169 -0
  75. package/app/lib/global.js +1 -0
  76. package/app/lib/guide.js +82 -0
  77. package/app/lib/hub.js +109 -0
  78. package/app/lib/scripts.js +47 -0
  79. package/app/lib/store.js +34 -0
  80. package/app/lib/use.js +64 -0
  81. package/app/lib/utils.js +387 -0
  82. package/app/lib/webrtc.js +217 -0
  83. package/app/next.config.js +25 -0
  84. package/app/package.json +62 -0
  85. package/app/pages/404.js +9 -0
  86. package/app/pages/_app.js +10 -0
  87. package/app/pages/_document.js +14 -0
  88. package/app/pages/index.js +121 -0
  89. package/app/playwright.config.mjs +41 -0
  90. package/app/proxy.mjs +21 -0
  91. package/app/public/assets/cover.png +0 -0
  92. package/app/public/blueprints/apm.lua +91 -0
  93. package/app/public/blueprints/arena.lua +345 -0
  94. package/app/public/blueprints/arns.lua +318 -0
  95. package/app/public/blueprints/chat.lua +210 -0
  96. package/app/public/blueprints/chatroom.lua +56 -0
  97. package/app/public/blueprints/patch-legacy-reply.lua +13 -0
  98. package/app/public/blueprints/staking.lua +93 -0
  99. package/app/public/blueprints/token.lua +298 -0
  100. package/app/public/blueprints/voting.lua +45 -0
  101. package/app/public/favicon.ico +0 -0
  102. package/app/public/logo.png +0 -0
  103. package/cli-esm.js +55 -0
  104. package/cli.js +54 -0
  105. package/devnet/app/api.js +129 -0
  106. package/devnet/app/components/layout.js +89 -0
  107. package/devnet/app/components/pagination.js +144 -0
  108. package/devnet/app/components/search.js +159 -0
  109. package/devnet/app/components/table.js +124 -0
  110. package/devnet/app/components/tags.js +89 -0
  111. package/devnet/app/index.html +14 -0
  112. package/devnet/app/main.js +215 -0
  113. package/devnet/app/router.js +59 -0
  114. package/devnet/app/state.js +19 -0
  115. package/devnet/app/style.css +1606 -0
  116. package/devnet/app/utils.js +77 -0
  117. package/devnet/app/views/blocks.js +75 -0
  118. package/devnet/app/views/dashboard.js +127 -0
  119. package/devnet/app/views/entity.js +1473 -0
  120. package/devnet/app/views/messages.js +90 -0
  121. package/devnet/app/views/modules.js +165 -0
  122. package/devnet/app/views/processes.js +90 -0
  123. package/devnet/app/views/schedulers.js +90 -0
  124. package/devnet/app/views/transactions.js +88 -0
  125. package/devnet/migrations/0001_initial.sql +51 -0
  126. package/devnet/package.json +26 -0
  127. package/devnet/playwright.config.js +7 -0
  128. package/devnet/src/cu-worker.js +166 -0
  129. package/devnet/src/index.js +309 -0
  130. package/devnet/vite.config.js +17 -0
  131. package/devnet/vitest.config.js +10 -0
  132. package/devnet/wrangler-cu.toml +32 -0
  133. package/devnet/wrangler.toml +38 -0
  134. package/dhfs-tutorial-app/package.json +15 -0
  135. package/dist/esm/workspace/dashboard/public/favicon.png +0 -0
  136. package/dist/esm/workspace/src/counter.lua +14 -0
  137. package/dist/package.json +82 -0
  138. package/hb.sh +18 -0
  139. package/hbsig/.babelrc-cjs +5 -0
  140. package/hbsig/.babelrc-esm +5 -0
  141. package/hbsig/README.md +1 -0
  142. package/hbsig/dist/cjs/bin_to_str.js +44 -0
  143. package/hbsig/dist/cjs/collect-body-keys.js +470 -0
  144. package/hbsig/dist/cjs/commit.js +330 -0
  145. package/hbsig/dist/cjs/encode-array-item.js +110 -0
  146. package/hbsig/dist/cjs/encode-utils.js +242 -0
  147. package/hbsig/dist/cjs/encode.js +1365 -0
  148. package/hbsig/dist/cjs/erl_json.js +326 -0
  149. package/hbsig/dist/cjs/erl_str.js +1042 -0
  150. package/hbsig/dist/cjs/flat.js +279 -0
  151. package/hbsig/dist/cjs/http-message-signatures/httpbis.js +489 -0
  152. package/hbsig/dist/cjs/http-message-signatures/index.js +25 -0
  153. package/hbsig/dist/cjs/http-message-signatures/structured-header.js +129 -0
  154. package/hbsig/dist/cjs/httpsig.js +861 -0
  155. package/hbsig/dist/cjs/id.js +470 -0
  156. package/hbsig/dist/cjs/index.js +174 -0
  157. package/hbsig/dist/cjs/nocrypto.js +51 -0
  158. package/hbsig/dist/cjs/parser.js +201 -0
  159. package/hbsig/dist/cjs/send-utils.js +1231 -0
  160. package/hbsig/dist/cjs/send.js +211 -0
  161. package/hbsig/dist/cjs/signer-utils.js +494 -0
  162. package/hbsig/dist/cjs/signer.js +436 -0
  163. package/hbsig/dist/cjs/structured.js +515 -0
  164. package/hbsig/dist/cjs/test.js +12 -0
  165. package/hbsig/dist/cjs/utils.js +44 -0
  166. package/hbsig/dist/esm/bin_to_str.js +46 -0
  167. package/hbsig/dist/esm/collect-body-keys.js +436 -0
  168. package/hbsig/dist/esm/commit.js +219 -0
  169. package/hbsig/dist/esm/encode-array-item.js +112 -0
  170. package/hbsig/dist/esm/encode-utils.js +191 -0
  171. package/hbsig/dist/esm/encode.js +1256 -0
  172. package/hbsig/dist/esm/erl_json.js +292 -0
  173. package/hbsig/dist/esm/erl_str.js +1144 -0
  174. package/hbsig/dist/esm/flat.js +250 -0
  175. package/hbsig/dist/esm/http-message-signatures/httpbis.js +438 -0
  176. package/hbsig/dist/esm/http-message-signatures/index.js +4 -0
  177. package/hbsig/dist/esm/http-message-signatures/structured-header.js +105 -0
  178. package/hbsig/dist/esm/httpsig.js +866 -0
  179. package/hbsig/dist/esm/id.js +459 -0
  180. package/hbsig/dist/esm/index.js +13 -0
  181. package/hbsig/dist/esm/nocrypto.js +4 -0
  182. package/hbsig/dist/esm/package.json +3 -0
  183. package/hbsig/dist/esm/parser.js +171 -0
  184. package/hbsig/dist/esm/send-utils.js +1132 -0
  185. package/hbsig/dist/esm/send.js +142 -0
  186. package/hbsig/dist/esm/signer-utils.js +375 -0
  187. package/hbsig/dist/esm/signer.js +312 -0
  188. package/hbsig/dist/esm/structured.js +496 -0
  189. package/hbsig/dist/esm/test.js +2 -0
  190. package/hbsig/dist/esm/utils.js +29 -0
  191. package/hbsig/dist/package.json +39 -0
  192. package/hbsig/make.js +36 -0
  193. package/hbsig/package.json +39 -0
  194. package/hbsig/src/bin_to_str.js +46 -0
  195. package/hbsig/src/collect-body-keys.js +436 -0
  196. package/hbsig/src/commit.js +219 -0
  197. package/hbsig/src/encode-array-item.js +112 -0
  198. package/hbsig/src/encode-utils.js +191 -0
  199. package/hbsig/src/encode.js +1256 -0
  200. package/hbsig/src/erl_json.js +292 -0
  201. package/hbsig/src/erl_str.js +1144 -0
  202. package/hbsig/src/flat.js +250 -0
  203. package/hbsig/src/http-message-signatures/httpbis.js +438 -0
  204. package/hbsig/src/http-message-signatures/index.js +4 -0
  205. package/hbsig/src/http-message-signatures/structured-header.js +105 -0
  206. package/hbsig/src/httpsig.js +866 -0
  207. package/hbsig/src/id.js +459 -0
  208. package/hbsig/src/index.js +13 -0
  209. package/hbsig/src/nocrypto.js +4 -0
  210. package/hbsig/src/parser.js +171 -0
  211. package/hbsig/src/send-utils.js +1132 -0
  212. package/hbsig/src/send.js +142 -0
  213. package/hbsig/src/signer-utils.js +375 -0
  214. package/hbsig/src/signer.js +312 -0
  215. package/hbsig/src/structured.js +496 -0
  216. package/hbsig/src/test.js +2 -0
  217. package/hbsig/src/utils.js +29 -0
  218. package/lp/index.html +25 -0
  219. package/lp/package.json +19 -0
  220. package/lp/public/cover.png +0 -0
  221. package/lp/public/favicon.ico +0 -0
  222. package/lp/public/favicon.png +0 -0
  223. package/lp/public/images/book.jpg +0 -0
  224. package/lp/public/images/dashboard.png +0 -0
  225. package/lp/public/images/devnet.png +0 -0
  226. package/lp/public/images/hero-bg.png +0 -0
  227. package/lp/public/images/hyperadd.png +0 -0
  228. package/lp/public/images/message-flow.png +0 -0
  229. package/lp/public/images/mobile.png +0 -0
  230. package/lp/public/images/og-cover.png +0 -0
  231. package/lp/public/images/scan.png +0 -0
  232. package/lp/public/images/wao-hub.png +0 -0
  233. package/lp/public/images/wao-web.png +0 -0
  234. package/lp/public/logo.png +0 -0
  235. package/lp/src/App.jsx +29 -0
  236. package/lp/src/components/CodeBlock.jsx +37 -0
  237. package/lp/src/components/CodeBlock.module.css +89 -0
  238. package/lp/src/components/Footer.jsx +22 -0
  239. package/lp/src/components/Footer.module.css +60 -0
  240. package/lp/src/components/Nav.jsx +80 -0
  241. package/lp/src/components/Nav.module.css +177 -0
  242. package/lp/src/components/SectionWrapper.jsx +15 -0
  243. package/lp/src/hooks/useReveal.js +25 -0
  244. package/lp/src/hooks/useScrolled.js +14 -0
  245. package/lp/src/main.jsx +10 -0
  246. package/lp/src/sections/Book.jsx +60 -0
  247. package/lp/src/sections/Book.module.css +204 -0
  248. package/lp/src/sections/Browser.jsx +46 -0
  249. package/lp/src/sections/Browser.module.css +67 -0
  250. package/lp/src/sections/Devnet.jsx +55 -0
  251. package/lp/src/sections/Devnet.module.css +136 -0
  252. package/lp/src/sections/GetStarted.jsx +51 -0
  253. package/lp/src/sections/GetStarted.module.css +128 -0
  254. package/lp/src/sections/Hero.jsx +67 -0
  255. package/lp/src/sections/Hero.module.css +202 -0
  256. package/lp/src/sections/HyperADD.jsx +46 -0
  257. package/lp/src/sections/HyperADD.module.css +113 -0
  258. package/lp/src/sections/SDK.jsx +90 -0
  259. package/lp/src/sections/SDK.module.css +122 -0
  260. package/lp/src/sections/Testing.jsx +47 -0
  261. package/lp/src/sections/Testing.module.css +124 -0
  262. package/lp/src/sections/Vision.jsx +93 -0
  263. package/lp/src/sections/Vision.module.css +147 -0
  264. package/lp/src/styles/globals.css +285 -0
  265. package/lp/src/utils/scrollTo.js +4 -0
  266. package/lp/vite.config.js +7 -0
  267. package/make.js +39 -0
  268. package/package.json +17 -12
  269. package/patches/@permaweb+ao-loader+0.0.44.patch +64 -0
  270. package/plan.md +435 -0
  271. package/rebar.lock +1 -0
  272. package/src/accounts-web.js +128 -0
  273. package/src/accounts.js +124 -0
  274. package/src/adaptor-base.js +622 -0
  275. package/src/adaptor-cf.js +11 -0
  276. package/src/adaptor-web.js +11 -0
  277. package/src/adaptor.js +10 -0
  278. package/src/ao-loader.js +30660 -0
  279. package/src/ao.js +1173 -0
  280. package/src/aoconnect-base.js +1098 -0
  281. package/src/aoconnect-cf.js +9 -0
  282. package/src/aoconnect-web.js +8 -0
  283. package/src/aoconnect.js +8 -0
  284. package/src/aos_wamr.js +1 -0
  285. package/src/ar-remote.js +87 -0
  286. package/src/ar.js +276 -0
  287. package/src/armem-base.js +529 -0
  288. package/src/armem-cf.js +67 -0
  289. package/src/armem-web.js +19 -0
  290. package/src/armem.js +26 -0
  291. package/src/bao.js +141 -0
  292. package/src/bar.js +366 -0
  293. package/src/build.js +7 -0
  294. package/src/bundler.js +119 -0
  295. package/src/car.js +10 -0
  296. package/src/cf-env.js +29 -0
  297. package/src/cf.js +11 -0
  298. package/src/cli.js +561 -0
  299. package/src/compress.js +112 -0
  300. package/src/create.js +415 -0
  301. package/src/devs.js +86 -0
  302. package/src/dirname.js +1 -0
  303. package/src/dodb.js +26 -0
  304. package/src/erl_json.js +289 -0
  305. package/src/erl_str.js +1139 -0
  306. package/src/gql.js +229 -0
  307. package/src/hb.js +967 -0
  308. package/src/helpers.js +203 -0
  309. package/src/http.js +619 -0
  310. package/src/hub/bundler.js +123 -0
  311. package/src/hub/cu.js +74 -0
  312. package/src/hub/fs.js +157 -0
  313. package/src/hub/index.js +85 -0
  314. package/src/hub/utils.js +64 -0
  315. package/src/hub/ws-proxy.js +67 -0
  316. package/src/hyper-aos.js +1 -0
  317. package/src/hyperbeam-server.js +21 -0
  318. package/src/hyperbeam.js +585 -0
  319. package/src/index.js +5 -0
  320. package/src/keygen.js +47 -0
  321. package/src/lfdb.js +67 -0
  322. package/src/lua/aos.wasm +0 -0
  323. package/src/lua/aos2_0_1.js +1 -0
  324. package/src/lua/aos2_0_1.wasm +0 -0
  325. package/src/lua/aos2_0_3.js +1 -0
  326. package/src/lua/aos2_0_3.wasm +0 -0
  327. package/src/lua/aos2_0_4_32.js +1 -0
  328. package/src/lua/aos2_0_4_32.wasm +0 -0
  329. package/src/lua/aos2_0_6.wasm +0 -0
  330. package/src/lua/apm.lua +61 -0
  331. package/src/lua/llama.wasm +0 -0
  332. package/src/lua/process.wasm +0 -0
  333. package/src/lua/sqlite.js +1 -0
  334. package/src/lua/sqlite.wasm +0 -0
  335. package/src/lua/weavedb_mock.lua +44 -0
  336. package/src/lua/weavedrive.lua +53 -0
  337. package/src/run.js +25 -0
  338. package/src/server.js +173 -0
  339. package/src/storage-multi.js +183 -0
  340. package/src/tao.js +12 -0
  341. package/src/tar.js +10 -0
  342. package/src/test.js +42 -0
  343. package/src/tgql-d1.js +407 -0
  344. package/src/tgql.js +310 -0
  345. package/src/toerl.js +162 -0
  346. package/src/utils.js +777 -0
  347. package/src/wao.js +29 -0
  348. package/src/waosm/README.md +81 -0
  349. package/src/waosm/waosm.d.ts +40 -0
  350. package/src/waosm/waosm.js +240 -0
  351. package/src/waosm/waosm_bg.wasm +0 -0
  352. package/src/waosm/waosm_bg.wasm.d.ts +8 -0
  353. package/src/waosm-node/README.md +81 -0
  354. package/src/waosm-node/waosm.d.ts +8 -0
  355. package/src/waosm-node/waosm.js +4 -0
  356. package/src/waosm-node/waosm_bg.js +147 -0
  357. package/src/waosm-node/waosm_bg.wasm +0 -0
  358. package/src/waosm-node/waosm_bg.wasm.d.ts +8 -0
  359. package/src/waosm-node/waosm_bg.wasm.js +14 -0
  360. package/src/waosm-node.js +9 -0
  361. package/src/war.js +10 -0
  362. package/src/weavedrive.js +376 -0
  363. package/src/web.js +11 -0
  364. package/src/workspace/.mcp.json +8 -0
  365. package/src/workspace/CLAUDE.md +258 -0
  366. package/src/workspace/README.md +85 -0
  367. package/src/workspace/dashboard/index.html +163 -0
  368. package/src/workspace/dashboard/package.json +18 -0
  369. package/src/workspace/dashboard/public/favicon.ico +0 -0
  370. package/src/workspace/dashboard/public/favicon.png +0 -0
  371. package/src/workspace/dashboard/server.js +224 -0
  372. package/src/workspace/dashboard/src/App.jsx +2350 -0
  373. package/{cjs/workspace/frontend → src/workspace/dashboard}/vite.config.js +6 -0
  374. package/src/workspace/package.json +18 -0
  375. package/src/workspace/src/counter.lua +14 -0
  376. package/tsconfig.json +18 -0
  377. package/types/index.d.ts +329 -0
  378. package/waollama/.eslintrc.json +3 -0
  379. package/waollama/README.md +19 -0
  380. package/waollama/arweave.mjs +87 -0
  381. package/waollama/components/ui/avatar.jsx +49 -0
  382. package/waollama/components/ui/checkbox.jsx +17 -0
  383. package/waollama/components/ui/close-button.jsx +20 -0
  384. package/waollama/components/ui/color-mode.jsx +61 -0
  385. package/waollama/components/ui/dialog.jsx +54 -0
  386. package/waollama/components/ui/drawer.jsx +44 -0
  387. package/waollama/components/ui/field.jsx +22 -0
  388. package/waollama/components/ui/input-group.jsx +39 -0
  389. package/waollama/components/ui/popover.jsx +49 -0
  390. package/waollama/components/ui/provider.jsx +12 -0
  391. package/waollama/components/ui/radio.jsx +17 -0
  392. package/waollama/components/ui/slider.jsx +107 -0
  393. package/waollama/components/ui/tooltip.jsx +35 -0
  394. package/waollama/index.js +10 -0
  395. package/waollama/jsconfig.json +7 -0
  396. package/waollama/lib/ao-loader.js +30654 -0
  397. package/waollama/lib/client.js +1 -0
  398. package/waollama/lib/wasm.js +1 -0
  399. package/waollama/next.config.js +25 -0
  400. package/waollama/package.json +43 -0
  401. package/waollama/pages/404.js +9 -0
  402. package/waollama/pages/_app.js +9 -0
  403. package/waollama/pages/_document.js +14 -0
  404. package/waollama/pages/index.js +212 -0
  405. package/waollama/playwright.config.js +31 -0
  406. package/waollama/proxy.mjs +21 -0
  407. package/waollama/public/favicon.ico +0 -0
  408. package/waollama/public/human.png +0 -0
  409. package/waollama/public/llama.png +0 -0
  410. package/waosm/Cargo.toml +11 -0
  411. package/waosm/README.md +81 -0
  412. package/waosm/compress.js +112 -0
  413. package/waosm/make.js +33 -0
  414. package/waosm/package.json +10 -0
  415. package/waosm/src/lib.rs +180 -0
  416. package/waosm/test.js +16 -0
  417. package/cjs/workspace/.claude/agents/builder.md +0 -99
  418. package/cjs/workspace/.claude/agents/device-builder.md +0 -86
  419. package/cjs/workspace/.claude/agents/tester.md +0 -90
  420. package/cjs/workspace/.claude/mcp/dashboard/server.js +0 -128
  421. package/cjs/workspace/.claude/rules/deploy.md +0 -45
  422. package/cjs/workspace/.claude/rules/frontend.md +0 -69
  423. package/cjs/workspace/.claude/rules/hyperbeam.md +0 -104
  424. package/cjs/workspace/.claude/rules/lua.md +0 -108
  425. package/cjs/workspace/.claude/rules/testing.md +0 -257
  426. package/cjs/workspace/.claude/settings.json +0 -109
  427. package/cjs/workspace/.claude/skills/build/SKILL.md +0 -214
  428. package/cjs/workspace/.claude/skills/build-aos/SKILL.md +0 -129
  429. package/cjs/workspace/.claude/skills/build-device/SKILL.md +0 -192
  430. package/cjs/workspace/.claude/skills/build-frontend/SKILL.md +0 -134
  431. package/cjs/workspace/.claude/skills/build-module/SKILL.md +0 -281
  432. package/cjs/workspace/.claude/skills/create-aos/SKILL.md +0 -63
  433. package/cjs/workspace/.claude/skills/create-device/SKILL.md +0 -87
  434. package/cjs/workspace/.claude/skills/create-module/SKILL.md +0 -162
  435. package/cjs/workspace/.claude/skills/debug/SKILL.md +0 -57
  436. package/cjs/workspace/.claude/skills/deploy/SKILL.md +0 -85
  437. package/cjs/workspace/.claude/skills/dev/SKILL.md +0 -32
  438. package/cjs/workspace/.claude/skills/plan/SKILL.md +0 -176
  439. package/cjs/workspace/.claude/skills/readme/SKILL.md +0 -186
  440. package/cjs/workspace/.claude/skills/report/SKILL.md +0 -49
  441. package/cjs/workspace/.claude/skills/team/SKILL.md +0 -101
  442. package/cjs/workspace/.claude/skills/test/SKILL.md +0 -56
  443. package/cjs/workspace/.claude/skills/test-device/SKILL.md +0 -114
  444. package/cjs/workspace/.claude/skills/test-e2e/SKILL.md +0 -103
  445. package/cjs/workspace/.claude/skills/test-hb/SKILL.md +0 -76
  446. package/cjs/workspace/.claude/skills/validate/SKILL.md +0 -96
  447. package/cjs/workspace/.claude/skills/validate/scripts/check-lua.sh +0 -41
  448. package/cjs/workspace/docs/aos-lua.md +0 -428
  449. package/cjs/workspace/docs/debug.md +0 -230
  450. package/cjs/workspace/docs/hyperbeam-dev.md +0 -606
  451. package/cjs/workspace/docs/hyperbeam-devices.md +0 -618
  452. package/cjs/workspace/docs/wao-sdk.md +0 -807
  453. package/cjs/workspace/frontend/e2e/.gitkeep +0 -0
  454. package/cjs/workspace/frontend/index.html +0 -12
  455. package/cjs/workspace/frontend/package.json +0 -24
  456. package/cjs/workspace/frontend/playwright.config.js +0 -10
  457. package/cjs/workspace/frontend/src/App.jsx +0 -24
  458. package/cjs/workspace/frontend/test/.gitkeep +0 -0
  459. package/cjs/workspace/frontend/vitest.config.js +0 -10
  460. package/cjs/workspace/scripts/deploy.js +0 -140
  461. package/cjs/workspace/scripts/keygen.js +0 -52
  462. package/cjs/workspace/test/aos.test.js +0 -98
  463. package/cjs/workspace/test/hyperbeam.test.js +0 -80
  464. package/esm/compiler/native +0 -0
  465. package/esm/workspace/.claude/agents/builder.md +0 -99
  466. package/esm/workspace/.claude/agents/device-builder.md +0 -86
  467. package/esm/workspace/.claude/agents/tester.md +0 -90
  468. package/esm/workspace/.claude/mcp/dashboard/server.js +0 -128
  469. package/esm/workspace/.claude/rules/deploy.md +0 -45
  470. package/esm/workspace/.claude/rules/frontend.md +0 -69
  471. package/esm/workspace/.claude/rules/hyperbeam.md +0 -104
  472. package/esm/workspace/.claude/rules/lua.md +0 -108
  473. package/esm/workspace/.claude/rules/testing.md +0 -257
  474. package/esm/workspace/.claude/settings.json +0 -109
  475. package/esm/workspace/.claude/skills/build/SKILL.md +0 -214
  476. package/esm/workspace/.claude/skills/build-aos/SKILL.md +0 -129
  477. package/esm/workspace/.claude/skills/build-device/SKILL.md +0 -192
  478. package/esm/workspace/.claude/skills/build-frontend/SKILL.md +0 -134
  479. package/esm/workspace/.claude/skills/build-module/SKILL.md +0 -281
  480. package/esm/workspace/.claude/skills/create-aos/SKILL.md +0 -63
  481. package/esm/workspace/.claude/skills/create-device/SKILL.md +0 -87
  482. package/esm/workspace/.claude/skills/create-module/SKILL.md +0 -162
  483. package/esm/workspace/.claude/skills/debug/SKILL.md +0 -57
  484. package/esm/workspace/.claude/skills/deploy/SKILL.md +0 -85
  485. package/esm/workspace/.claude/skills/dev/SKILL.md +0 -32
  486. package/esm/workspace/.claude/skills/plan/SKILL.md +0 -176
  487. package/esm/workspace/.claude/skills/readme/SKILL.md +0 -186
  488. package/esm/workspace/.claude/skills/report/SKILL.md +0 -49
  489. package/esm/workspace/.claude/skills/team/SKILL.md +0 -101
  490. package/esm/workspace/.claude/skills/test/SKILL.md +0 -56
  491. package/esm/workspace/.claude/skills/test-device/SKILL.md +0 -114
  492. package/esm/workspace/.claude/skills/test-e2e/SKILL.md +0 -103
  493. package/esm/workspace/.claude/skills/test-hb/SKILL.md +0 -76
  494. package/esm/workspace/.claude/skills/validate/SKILL.md +0 -96
  495. package/esm/workspace/.claude/skills/validate/scripts/check-lua.sh +0 -41
  496. package/esm/workspace/docs/aos-lua.md +0 -428
  497. package/esm/workspace/docs/debug.md +0 -230
  498. package/esm/workspace/docs/hyperbeam-dev.md +0 -606
  499. package/esm/workspace/docs/hyperbeam-devices.md +0 -618
  500. package/esm/workspace/docs/wao-sdk.md +0 -807
  501. package/esm/workspace/frontend/e2e/.gitkeep +0 -0
  502. package/esm/workspace/frontend/index.html +0 -12
  503. package/esm/workspace/frontend/package.json +0 -24
  504. package/esm/workspace/frontend/playwright.config.js +0 -10
  505. package/esm/workspace/frontend/src/App.jsx +0 -24
  506. package/esm/workspace/frontend/src/main.jsx +0 -9
  507. package/esm/workspace/frontend/test/.gitkeep +0 -0
  508. package/esm/workspace/frontend/vite.config.js +0 -6
  509. package/esm/workspace/frontend/vitest.config.js +0 -10
  510. package/esm/workspace/scripts/deploy.js +0 -140
  511. package/esm/workspace/scripts/keygen.js +0 -52
  512. package/esm/workspace/test/aos.test.js +0 -98
  513. package/esm/workspace/test/hyperbeam.test.js +0 -80
  514. /package/{cjs/workspace/dashboard/public → devnet/app}/favicon.ico +0 -0
  515. /package/{cjs/workspace → dhfs-tutorial-app}/src/counter.lua +0 -0
  516. /package/{cjs → dist/cjs}/accounts-web.js +0 -0
  517. /package/{cjs → dist/cjs}/accounts.js +0 -0
  518. /package/{cjs → dist/cjs}/adaptor-base.js +0 -0
  519. /package/{cjs → dist/cjs}/adaptor-cf.js +0 -0
  520. /package/{cjs → dist/cjs}/adaptor-web.js +0 -0
  521. /package/{cjs → dist/cjs}/adaptor.js +0 -0
  522. /package/{cjs → dist/cjs}/ao-loader.js +0 -0
  523. /package/{cjs → dist/cjs}/ao.js +0 -0
  524. /package/{cjs → dist/cjs}/aoconnect-base.js +0 -0
  525. /package/{cjs → dist/cjs}/aoconnect-cf.js +0 -0
  526. /package/{cjs → dist/cjs}/aoconnect-web.js +0 -0
  527. /package/{cjs → dist/cjs}/aoconnect.js +0 -0
  528. /package/{cjs → dist/cjs}/aos_wamr.js +0 -0
  529. /package/{cjs → dist/cjs}/ar-remote.js +0 -0
  530. /package/{cjs → dist/cjs}/ar.js +0 -0
  531. /package/{cjs → dist/cjs}/armem-base.js +0 -0
  532. /package/{cjs → dist/cjs}/armem-cf.js +0 -0
  533. /package/{cjs → dist/cjs}/armem-web.js +0 -0
  534. /package/{cjs → dist/cjs}/armem.js +0 -0
  535. /package/{cjs → dist/cjs}/bao.js +0 -0
  536. /package/{cjs → dist/cjs}/bar.js +0 -0
  537. /package/{cjs → dist/cjs}/build.js +0 -0
  538. /package/{cjs → dist/cjs}/bundler.js +0 -0
  539. /package/{cjs → dist/cjs}/car.js +0 -0
  540. /package/{cjs → dist/cjs}/cf-env.js +0 -0
  541. /package/{cjs → dist/cjs}/cf.js +0 -0
  542. /package/{cjs → dist/cjs}/cli.js +0 -0
  543. /package/{cjs → dist/cjs}/compress.js +0 -0
  544. /package/{cjs → dist/cjs}/create.js +0 -0
  545. /package/{cjs → dist/cjs}/devs.js +0 -0
  546. /package/{cjs → dist/cjs}/dirname.js +0 -0
  547. /package/{cjs → dist/cjs}/dodb.js +0 -0
  548. /package/{cjs → dist/cjs}/erl_json.js +0 -0
  549. /package/{cjs → dist/cjs}/erl_str.js +0 -0
  550. /package/{cjs → dist/cjs}/gql.js +0 -0
  551. /package/{cjs → dist/cjs}/hb.js +0 -0
  552. /package/{cjs → dist/cjs}/helpers.js +0 -0
  553. /package/{cjs → dist/cjs}/http.js +0 -0
  554. /package/{cjs → dist/cjs}/hub/bundler.js +0 -0
  555. /package/{cjs → dist/cjs}/hub/cu.js +0 -0
  556. /package/{cjs → dist/cjs}/hub/fs.js +0 -0
  557. /package/{cjs → dist/cjs}/hub/index.js +0 -0
  558. /package/{cjs → dist/cjs}/hub/utils.js +0 -0
  559. /package/{cjs → dist/cjs}/hub/ws-proxy.js +0 -0
  560. /package/{cjs → dist/cjs}/hyper-aos.js +0 -0
  561. /package/{cjs → dist/cjs}/hyperbeam-server.js +0 -0
  562. /package/{cjs → dist/cjs}/hyperbeam.js +0 -0
  563. /package/{cjs → dist/cjs}/index.js +0 -0
  564. /package/{cjs → dist/cjs}/keygen.js +0 -0
  565. /package/{cjs → dist/cjs}/lfdb.js +0 -0
  566. /package/{cjs → dist/cjs}/lua/aos.wasm +0 -0
  567. /package/{cjs → dist/cjs}/lua/aos2_0_1.js +0 -0
  568. /package/{cjs → dist/cjs}/lua/aos2_0_1.wasm +0 -0
  569. /package/{cjs → dist/cjs}/lua/aos2_0_3.js +0 -0
  570. /package/{cjs → dist/cjs}/lua/aos2_0_3.wasm +0 -0
  571. /package/{cjs → dist/cjs}/lua/aos2_0_4_32.js +0 -0
  572. /package/{cjs → dist/cjs}/lua/aos2_0_4_32.wasm +0 -0
  573. /package/{cjs → dist/cjs}/lua/aos2_0_6.wasm +0 -0
  574. /package/{cjs → dist/cjs}/lua/apm.lua +0 -0
  575. /package/{cjs → dist/cjs}/lua/llama.wasm +0 -0
  576. /package/{cjs → dist/cjs}/lua/process.wasm +0 -0
  577. /package/{cjs → dist/cjs}/lua/sqlite.js +0 -0
  578. /package/{cjs → dist/cjs}/lua/sqlite.wasm +0 -0
  579. /package/{cjs → dist/cjs}/lua/weavedb_mock.lua +0 -0
  580. /package/{cjs → dist/cjs}/lua/weavedrive.lua +0 -0
  581. /package/{cjs → dist/cjs}/run.js +0 -0
  582. /package/{cjs → dist/cjs}/server.js +0 -0
  583. /package/{cjs → dist/cjs}/storage-multi.js +0 -0
  584. /package/{cjs → dist/cjs}/tao.js +0 -0
  585. /package/{cjs → dist/cjs}/tar.js +0 -0
  586. /package/{cjs → dist/cjs}/test.js +0 -0
  587. /package/{cjs → dist/cjs}/tgql-d1.js +0 -0
  588. /package/{cjs → dist/cjs}/tgql.js +0 -0
  589. /package/{cjs → dist/cjs}/toerl.js +0 -0
  590. /package/{cjs → dist/cjs}/utils.js +0 -0
  591. /package/{cjs → dist/cjs}/wao.js +0 -0
  592. /package/{cjs → dist/cjs}/waosm/waosm.js +0 -0
  593. /package/{cjs → dist/cjs}/waosm-node/waosm.js +0 -0
  594. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.js +0 -0
  595. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.wasm +0 -0
  596. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.wasm.js +0 -0
  597. /package/{cjs → dist/cjs}/waosm-node.js +0 -0
  598. /package/{cjs → dist/cjs}/war.js +0 -0
  599. /package/{cjs → dist/cjs}/weavedrive.js +0 -0
  600. /package/{cjs → dist/cjs}/web.js +0 -0
  601. /package/{cjs → dist/cjs}/workspace/.mcp.json +0 -0
  602. /package/{cjs → dist/cjs}/workspace/CLAUDE.md +0 -0
  603. /package/{cjs → dist/cjs}/workspace/README.md +0 -0
  604. /package/{cjs → dist/cjs}/workspace/dashboard/index.html +0 -0
  605. /package/{cjs → dist/cjs}/workspace/dashboard/package.json +0 -0
  606. /package/{esm → dist/cjs}/workspace/dashboard/public/favicon.ico +0 -0
  607. /package/{cjs → dist/cjs}/workspace/dashboard/public/favicon.png +0 -0
  608. /package/{cjs → dist/cjs}/workspace/dashboard/server.js +0 -0
  609. /package/{cjs → dist/cjs}/workspace/dashboard/src/App.jsx +0 -0
  610. /package/{cjs → dist/cjs}/workspace/dashboard/src/main.jsx +0 -0
  611. /package/{cjs → dist/cjs}/workspace/dashboard/vite.config.js +0 -0
  612. /package/{cjs → dist/cjs}/workspace/package.json +0 -0
  613. /package/{esm → dist/cjs}/workspace/src/counter.lua +0 -0
  614. /package/{esm → dist/esm}/accounts-web.js +0 -0
  615. /package/{esm → dist/esm}/accounts.js +0 -0
  616. /package/{esm → dist/esm}/adaptor-base.js +0 -0
  617. /package/{esm → dist/esm}/adaptor-cf.js +0 -0
  618. /package/{esm → dist/esm}/adaptor-web.js +0 -0
  619. /package/{esm → dist/esm}/adaptor.js +0 -0
  620. /package/{esm → dist/esm}/ao-loader.js +0 -0
  621. /package/{esm → dist/esm}/ao.js +0 -0
  622. /package/{esm → dist/esm}/aoconnect-base.js +0 -0
  623. /package/{esm → dist/esm}/aoconnect-cf.js +0 -0
  624. /package/{esm → dist/esm}/aoconnect-web.js +0 -0
  625. /package/{esm → dist/esm}/aoconnect.js +0 -0
  626. /package/{esm → dist/esm}/aos_wamr.js +0 -0
  627. /package/{esm → dist/esm}/ar-remote.js +0 -0
  628. /package/{esm → dist/esm}/ar.js +0 -0
  629. /package/{esm → dist/esm}/armem-base.js +0 -0
  630. /package/{esm → dist/esm}/armem-cf.js +0 -0
  631. /package/{esm → dist/esm}/armem-web.js +0 -0
  632. /package/{esm → dist/esm}/armem.js +0 -0
  633. /package/{esm → dist/esm}/bao.js +0 -0
  634. /package/{esm → dist/esm}/bar.js +0 -0
  635. /package/{esm → dist/esm}/build.js +0 -0
  636. /package/{esm → dist/esm}/bundler.js +0 -0
  637. /package/{esm → dist/esm}/car.js +0 -0
  638. /package/{esm → dist/esm}/cf-env.js +0 -0
  639. /package/{esm → dist/esm}/cf.js +0 -0
  640. /package/{esm → dist/esm}/cli.js +0 -0
  641. /package/{esm → dist/esm}/compress.js +0 -0
  642. /package/{esm → dist/esm}/create.js +0 -0
  643. /package/{esm → dist/esm}/devs.js +0 -0
  644. /package/{esm → dist/esm}/dirname.js +0 -0
  645. /package/{esm → dist/esm}/dodb.js +0 -0
  646. /package/{esm → dist/esm}/erl_json.js +0 -0
  647. /package/{esm → dist/esm}/erl_str.js +0 -0
  648. /package/{esm → dist/esm}/gql.js +0 -0
  649. /package/{esm → dist/esm}/hb.js +0 -0
  650. /package/{esm → dist/esm}/helpers.js +0 -0
  651. /package/{esm → dist/esm}/http.js +0 -0
  652. /package/{esm → dist/esm}/hub/bundler.js +0 -0
  653. /package/{esm → dist/esm}/hub/cu.js +0 -0
  654. /package/{esm → dist/esm}/hub/fs.js +0 -0
  655. /package/{esm → dist/esm}/hub/index.js +0 -0
  656. /package/{esm → dist/esm}/hub/utils.js +0 -0
  657. /package/{esm → dist/esm}/hub/ws-proxy.js +0 -0
  658. /package/{esm → dist/esm}/hyper-aos.js +0 -0
  659. /package/{esm → dist/esm}/hyperbeam-server.js +0 -0
  660. /package/{esm → dist/esm}/hyperbeam.js +0 -0
  661. /package/{esm → dist/esm}/index.js +0 -0
  662. /package/{esm → dist/esm}/keygen.js +0 -0
  663. /package/{esm → dist/esm}/lfdb.js +0 -0
  664. /package/{esm → dist/esm}/lua/aos.wasm +0 -0
  665. /package/{esm → dist/esm}/lua/aos2_0_1.js +0 -0
  666. /package/{esm → dist/esm}/lua/aos2_0_1.wasm +0 -0
  667. /package/{esm → dist/esm}/lua/aos2_0_3.js +0 -0
  668. /package/{esm → dist/esm}/lua/aos2_0_3.wasm +0 -0
  669. /package/{esm → dist/esm}/lua/aos2_0_4_32.js +0 -0
  670. /package/{esm → dist/esm}/lua/aos2_0_4_32.wasm +0 -0
  671. /package/{esm → dist/esm}/lua/aos2_0_6.wasm +0 -0
  672. /package/{esm → dist/esm}/lua/apm.lua +0 -0
  673. /package/{esm → dist/esm}/lua/llama.wasm +0 -0
  674. /package/{esm → dist/esm}/lua/process.wasm +0 -0
  675. /package/{esm → dist/esm}/lua/sqlite.js +0 -0
  676. /package/{esm → dist/esm}/lua/sqlite.wasm +0 -0
  677. /package/{esm → dist/esm}/lua/weavedb_mock.lua +0 -0
  678. /package/{esm → dist/esm}/lua/weavedrive.lua +0 -0
  679. /package/{esm → dist/esm}/package.json +0 -0
  680. /package/{esm → dist/esm}/run.js +0 -0
  681. /package/{esm → dist/esm}/server.js +0 -0
  682. /package/{esm → dist/esm}/storage-multi.js +0 -0
  683. /package/{esm → dist/esm}/tao.js +0 -0
  684. /package/{esm → dist/esm}/tar.js +0 -0
  685. /package/{esm → dist/esm}/test.js +0 -0
  686. /package/{esm → dist/esm}/tgql-d1.js +0 -0
  687. /package/{esm → dist/esm}/tgql.js +0 -0
  688. /package/{esm → dist/esm}/toerl.js +0 -0
  689. /package/{esm → dist/esm}/utils.js +0 -0
  690. /package/{esm → dist/esm}/wao.js +0 -0
  691. /package/{esm → dist/esm}/waosm/README.md +0 -0
  692. /package/{esm → dist/esm}/waosm/waosm.d.ts +0 -0
  693. /package/{esm → dist/esm}/waosm/waosm.js +0 -0
  694. /package/{esm → dist/esm}/waosm/waosm_bg.wasm +0 -0
  695. /package/{esm → dist/esm}/waosm/waosm_bg.wasm.d.ts +0 -0
  696. /package/{esm → dist/esm}/waosm-node/README.md +0 -0
  697. /package/{esm → dist/esm}/waosm-node/waosm.d.ts +0 -0
  698. /package/{esm → dist/esm}/waosm-node/waosm.js +0 -0
  699. /package/{esm → dist/esm}/waosm-node/waosm_bg.js +0 -0
  700. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm +0 -0
  701. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm.d.ts +0 -0
  702. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm.js +0 -0
  703. /package/{esm → dist/esm}/waosm-node.js +0 -0
  704. /package/{esm → dist/esm}/war.js +0 -0
  705. /package/{esm → dist/esm}/weavedrive.js +0 -0
  706. /package/{esm → dist/esm}/web.js +0 -0
  707. /package/{esm → dist/esm}/workspace/.mcp.json +0 -0
  708. /package/{esm → dist/esm}/workspace/CLAUDE.md +0 -0
  709. /package/{esm → dist/esm}/workspace/README.md +0 -0
  710. /package/{esm → dist/esm}/workspace/dashboard/index.html +0 -0
  711. /package/{esm → dist/esm}/workspace/dashboard/package.json +0 -0
  712. /package/{esm/workspace/dashboard/public/favicon.png → dist/esm/workspace/dashboard/public/favicon.ico} +0 -0
  713. /package/{esm → dist/esm}/workspace/dashboard/server.js +0 -0
  714. /package/{esm → dist/esm}/workspace/dashboard/src/App.jsx +0 -0
  715. /package/{cjs/workspace/frontend → dist/esm/workspace/dashboard}/src/main.jsx +0 -0
  716. /package/{esm → dist/esm}/workspace/dashboard/vite.config.js +0 -0
  717. /package/{esm → dist/esm}/workspace/package.json +0 -0
  718. /package/{postinstall.cjs → dist/postinstall.cjs} +0 -0
  719. /package/{esm → src}/workspace/dashboard/src/main.jsx +0 -0
@@ -0,0 +1,14 @@
1
+ import { Html, Main, NextScript } from "next/document"
2
+ import { Head } from "arnext"
3
+
4
+ export default function Document() {
5
+ return (
6
+ <Html lang="en" suppressHydrationWarning>
7
+ <Head />
8
+ <body>
9
+ <Main />
10
+ <NextScript />
11
+ </body>
12
+ </Html>
13
+ )
14
+ }
@@ -0,0 +1,121 @@
1
+ // react
2
+ import { PanelGroup, Panel, PanelResizeHandle } from "react-resizable-panels"
3
+ import use from "/lib/use"
4
+
5
+ // chakra-ui
6
+ import { Box, Flex, Icon } from "@chakra-ui/react"
7
+ import { Toaster } from "@/components/ui/toaster"
8
+
9
+ // utils
10
+ import { includes } from "ramda"
11
+
12
+ // components
13
+ import GlobalStyle from "/components/styles/GlobalStyle"
14
+ import Global from "/components/Global"
15
+ import Header from "/components/Header"
16
+ import Left from "/components/Left"
17
+ import Middle from "/components/Middle"
18
+ import Sidebar from "/components/Sidebar"
19
+ import Logo from "/components/Logo"
20
+ import Footer from "/components/Footer"
21
+ import Editor from "/components/editor/Editor"
22
+ import Terminal from "/components/terminal/Terminal"
23
+ import CreateFileModal from "/components/modals/CreateFileModal"
24
+ import CreateFolderModal from "/components/modals/CreateFolderModal"
25
+ import LaunchNetworkModal from "/components/modals/LaunchNetworkModal"
26
+ import CreateProjectModal from "/components/modals/CreateProjectModal"
27
+ import ProxyModal from "/components/modals/ProxyModal"
28
+ import FSModal from "/components/modals/FSModal"
29
+ import ImportModal from "/components/modals/ImportModal"
30
+ import RenameFileModal from "/components/modals/RenameFileModal"
31
+
32
+ export default function Home({}) {
33
+ const [tab, setTab] = use("tab")
34
+ const [init, setInit] = use("init")
35
+ return (
36
+ <>
37
+ <GlobalStyle />
38
+ <Global />
39
+ {!init ? <Logo /> : null}
40
+ <Flex direction="column" h="100vh" w="100vw">
41
+ <Flex h="30px">
42
+ <Header />
43
+ </Flex>
44
+ <Flex h="calc(100vh - 60px)" w="100vw" css={{ overflow: "hidden" }}>
45
+ <Flex w="60px" h="calc(100vh - 60px)">
46
+ <Sidebar />
47
+ </Flex>
48
+ {includes(tab, [
49
+ "Modules",
50
+ "Processes",
51
+ "Messages",
52
+ "Entity",
53
+ "Blocks",
54
+ ]) ? null : (
55
+ <Flex w="315px" h="calc(100vh - 60px)">
56
+ <Left />
57
+ </Flex>
58
+ )}
59
+ <Box
60
+ flex={1}
61
+ h="calc(100vh - 60px)"
62
+ w="100%"
63
+ css={{ overflow: "hidden" }}
64
+ >
65
+ <PanelGroup direction="horizontal">
66
+ {!includes(tab, [
67
+ "Projects",
68
+ "Modules",
69
+ "Processes",
70
+ "Messages",
71
+ "Entity",
72
+ "Blocks",
73
+ ]) ? (
74
+ <>
75
+ <Panel defaultSize={35} minSize={20} order={1}>
76
+ <Box h="calc(100vh - 60px)">
77
+ <Middle />
78
+ </Box>
79
+ </Panel>
80
+ <PanelResizeHandle />
81
+ </>
82
+ ) : tab !== "Projects" ? (
83
+ <>
84
+ <Panel defaultSize={50} minSize={20} order={1}>
85
+ <Box h="calc(100vh - 60px)">
86
+ <Middle />
87
+ </Box>
88
+ </Panel>
89
+ <PanelResizeHandle />
90
+ </>
91
+ ) : null}
92
+ <Panel minSize={30} defaultSize={35} order={2}>
93
+ <PanelGroup
94
+ direction={tab !== "Projects" ? "vertical" : "horizontal"}
95
+ >
96
+ <Panel maxSize={65}>
97
+ <Editor />
98
+ </Panel>
99
+ <PanelResizeHandle />
100
+ <Panel maxSize={65}>
101
+ <Terminal />
102
+ </Panel>
103
+ </PanelGroup>
104
+ </Panel>
105
+ </PanelGroup>
106
+ </Box>
107
+ </Flex>
108
+ <Footer />
109
+ </Flex>
110
+ <CreateFileModal />
111
+ <LaunchNetworkModal />
112
+ <CreateProjectModal />
113
+ <CreateFolderModal />
114
+ <RenameFileModal />
115
+ <ImportModal />
116
+ <ProxyModal />
117
+ <FSModal />
118
+ <Toaster />
119
+ </>
120
+ )
121
+ }
@@ -0,0 +1,41 @@
1
+ // @ts-check
2
+ import { defineConfig, devices } from "@playwright/test"
3
+ import { resolve, dirname } from "node:path"
4
+ import { fileURLToPath } from "node:url"
5
+
6
+ const __dirname = dirname(fileURLToPath(import.meta.url))
7
+ const APP_ROOT = __dirname
8
+
9
+ export default defineConfig({
10
+ testDir: resolve(APP_ROOT, "test/e2e"),
11
+ testIgnore: ["**/global-setup.mjs", "**/global-teardown.mjs", "**/run-from-root.mjs"],
12
+ fullyParallel: false,
13
+ forbidOnly: !!process.env.CI,
14
+ retries: process.env.CI ? 2 : 0,
15
+ workers: 1,
16
+ reporter: process.env.CI ? "github" : "list",
17
+ globalSetup: resolve(APP_ROOT, "test/e2e/global-setup.mjs"),
18
+ globalTeardown: resolve(APP_ROOT, "test/e2e/global-teardown.mjs"),
19
+ timeout: 90000,
20
+ use: {
21
+ baseURL: "http://localhost:3000",
22
+ trace: "on-first-retry",
23
+ actionTimeout: 15000,
24
+ navigationTimeout: 30000,
25
+ },
26
+ projects: [
27
+ {
28
+ name: "chromium",
29
+ use: { ...devices["Desktop Chrome"] },
30
+ },
31
+ ],
32
+ webServer: {
33
+ command: "npm run dev",
34
+ url: "http://localhost:3000",
35
+ reuseExistingServer: !process.env.CI,
36
+ timeout: 120000,
37
+ cwd: APP_ROOT,
38
+ stdout: "ignore",
39
+ stderr: "pipe",
40
+ },
41
+ })
package/app/proxy.mjs ADDED
@@ -0,0 +1,21 @@
1
+ import express from "express"
2
+ import { createProxyMiddleware } from "http-proxy-middleware"
3
+
4
+ const app = express()
5
+
6
+ const port = (process.argv[2] ?? "4000") * 1
7
+ const target = process.argv[3] ?? "http://localhost:3000"
8
+ const sub = process.argv[4] ?? "7J-cq6dcJAz0zkzcrRNb-2FTZRuQXIij1P1FiaQxdaE"
9
+
10
+ app.use(
11
+ `/${sub}`,
12
+ createProxyMiddleware({
13
+ target,
14
+ changeOrigin: true,
15
+ pathRewrite: { "^/arweave": "" },
16
+ }),
17
+ )
18
+
19
+ app.listen(port, () => {
20
+ console.log(`Proxy server running at http://localhost:${port}/${sub}`)
21
+ })
Binary file
@@ -0,0 +1,91 @@
1
+ -- AO Package Manager for easy installation of packages in ao processes
2
+ -- This blueprint fetches the latest APM client from the APM registry and installs it
3
+ -------------------------------------------------------------------------
4
+ -- ___ .______ .___ ___. __ __ __ ___
5
+ -- / \ | _ \ | \/ | | | | | | | / \
6
+ -- / ^ \ | |_) | | \ / | | | | | | | / ^ \
7
+ -- / /_\ \ | ___/ | |\/| | | | | | | | / /_\ \
8
+ -- / _____ \ | | | | | | __| `----.| `--' | / _____ \
9
+ -- /__/ \__\ | _| |__| |__| (__)_______| \______/ /__/ \__\
10
+ --
11
+ ---------------------------------------------------------------------------
12
+ -- APM Registry source code: https://github.com/betteridea-dev/ao-package-manager
13
+ -- CLI tool for managing packages: https://www.npmjs.com/package/apm-tool
14
+ -- Web UI for browsing & publishing packages: https://apm.betteridea.dev
15
+ -- Built with ❤️ by BetterIDEa
16
+
17
+
18
+ local apm_id = "DKF8oXtPvh3q8s0fJFIeHFyHNM6oKrwMCUrPxEMroak"
19
+
20
+ function Hexencode(str)
21
+ return (str:gsub(".", function(char) return string.format("%02x", char:byte()) end))
22
+ end
23
+
24
+ function Hexdecode(hex)
25
+ return (hex:gsub("%x%x", function(digits) return string.char(tonumber(digits, 16)) end))
26
+ end
27
+
28
+ -- common error handler
29
+ function HandleRun(func, msg)
30
+ local ok, err = pcall(func, msg)
31
+ if not ok then
32
+ local clean_err = err:match(":%d+: (.+)") or err
33
+ print(msg.Action .. " - " .. err)
34
+ -- if not msg.Target == ao.id then
35
+ ao.send({
36
+ Target = msg.From,
37
+ Data = clean_err,
38
+ Result = "error"
39
+ })
40
+ -- end
41
+ end
42
+ end
43
+
44
+ local function InstallResponseHandler(msg)
45
+ local from = msg.From
46
+ if not from == apm_id then
47
+ print("Attempt to update from illegal source")
48
+ return
49
+ end
50
+
51
+ if not msg.Result == "success" then
52
+ print("Update failed: " .. msg.Data)
53
+ return
54
+ end
55
+
56
+ local source = msg.Data
57
+ local version = msg.Version
58
+
59
+ if source then
60
+ source = Hexdecode(source)
61
+ end
62
+
63
+ local func, err = load(string.format([[
64
+ local function _load()
65
+ %s
66
+ end
67
+ -- apm = _load()
68
+ _load()
69
+ ]], source))
70
+ if not func then
71
+ error("Error compiling load function: " .. err)
72
+ end
73
+ func()
74
+
75
+ apm._version = version
76
+ -- print("✅ Installed APM v:" .. version)
77
+ end
78
+
79
+ Handlers.once(
80
+ "APM.UpdateResponse",
81
+ Handlers.utils.hasMatchingTag("Action", "APM.UpdateResponse"),
82
+ function(msg)
83
+ HandleRun(InstallResponseHandler, msg)
84
+ end
85
+ )
86
+
87
+ Send({
88
+ Target = apm_id,
89
+ Action = "APM.Update"
90
+ })
91
+ print("📦 Loading APM...")
@@ -0,0 +1,345 @@
1
+ -- ARENA GAME BLUEPRINT.
2
+
3
+ -- REQUIREMENTS: cron must be added and activated for game operation.
4
+
5
+ -- This blueprint provides the framework to operate an 'arena' style game
6
+ -- inside an ao process. Games are played in rounds, where players aim to
7
+ -- eliminate one another until only one remains, or until the game time
8
+ -- has elapsed. The game process will play rounds indefinitely as players join
9
+ -- and leave.
10
+
11
+ -- When a player eliminates another, they receive the eliminated player's deposit token
12
+ -- as a reward. Additionally, the builder can provide a bonus of these tokens
13
+ -- to be distributed per round as an additional incentive. If the intended
14
+ -- player type in the game is a bot, providing an additional 'bonus'
15
+ -- creates an opportunity for coders to 'mine' the process's
16
+ -- tokens by competing to produce the best agent.
17
+
18
+ -- The builder can also provide other handlers that allow players to perform
19
+ -- actions in the game, calling 'eliminatePlayer()' at the appropriate moment
20
+ -- in their game logic to control the framework.
21
+
22
+ -- Processes can also register in a 'Listen' mode, where they will receive
23
+ -- all announcements from the game, but are not considered for entry into the
24
+ -- rounds themselves. They are also not unregistered unless they explicitly ask
25
+ -- to be.
26
+
27
+ -- GLOBAL VARIABLES.
28
+
29
+ -- Game progression modes in a loop:
30
+ -- [Not-Started] -> Waiting -> Playing -> [Someone wins or timeout] -> Waiting...
31
+ -- The loop is broken if there are not enough players to start a game after the waiting state.
32
+ GameMode = GameMode or "Not-Started"
33
+ StateChangeTime = StateChangeTime or undefined
34
+
35
+ -- State durations (in milliseconds)
36
+ WaitTime = WaitTime or 2 * 60 * 1000 -- 2 minutes
37
+ GameTime = GameTime or 20 * 60 * 1000 -- 20 minutes
38
+ Now = Now or undefined -- Current time, updated on every message.
39
+
40
+ -- Token information for player stakes.
41
+ UNIT = 1000
42
+ PaymentToken = PaymentToken or "ADDR" -- Token address
43
+ PaymentQty = PaymentQty or tostring(math.floor(UNIT)) -- Quantity of tokens for registration
44
+ BonusQty = BonusQty or tostring(math.floor(UNIT)) -- Bonus token quantity for winners
45
+
46
+ -- Players waiting to join the next game and their payment status.
47
+ Waiting = Waiting or {}
48
+ -- Active players and their game states.
49
+ Players = Players or {}
50
+ -- Number of winners in the current game.
51
+ Winners = 0
52
+ -- Processes subscribed to game announcements.
53
+ Listeners = Listeners or {}
54
+ -- Minimum number of players required to start a game.
55
+ MinimumPlayers = MinimumPlayers or 2
56
+
57
+ -- Default player state initialization.
58
+ PlayerInitState = PlayerInitState or function () return {} end
59
+
60
+ -- Sends a state change announcement to all registered listeners.
61
+ -- @param event: The event type or name.
62
+ -- @param description: Description of the event.
63
+ function announce(event, description)
64
+ for ix, address in pairs(Listeners) do
65
+ ao.send({
66
+ Target = address,
67
+ Action = "Announcement",
68
+ Event = event,
69
+ Data = description
70
+ })
71
+ end
72
+ return print(Colors.gray .. "Announcement: " .. Colors.red .. event .. " " .. Colors.blue .. description .. Colors.reset)
73
+ end
74
+
75
+ -- Sends a reward to a player.
76
+ -- @param recipient: The player receiving the reward.
77
+ -- @param qty: The quantity of the reward.
78
+ -- @param reason: The reason for the reward.
79
+ function sendReward(recipient, qty, reason)
80
+ if type(qty) ~= number then
81
+ qty = tonumber(qty)
82
+ end
83
+ ao.send({
84
+ Target = PaymentToken,
85
+ Action = "Transfer",
86
+ Quantity = tostring(qty),
87
+ Recipient = recipient,
88
+ Reason = reason
89
+ })
90
+ return print(Colors.gray .. "Sent Reward: " ..
91
+ Colors.blue .. tostring(qty) ..
92
+ Colors.gray .. ' tokens to ' ..
93
+ Colors.green .. recipient .. " " ..
94
+ Colors.blue .. reason .. Colors.reset
95
+ )
96
+ end
97
+
98
+ -- Starts the waiting period for players to become ready to play.
99
+ function startWaitingPeriod()
100
+ GameMode = "Waiting"
101
+ StateChangeTime = Now + WaitTime
102
+ announce("Started-Waiting-Period", "The game is about to begin! Send your token to take part.")
103
+ print('Starting Waiting Period')
104
+ end
105
+
106
+ -- Starts the game if there are enough players.
107
+ function startGamePeriod()
108
+ local paidPlayers = 0
109
+ for player, hasPaid in pairs(Waiting) do
110
+ if hasPaid then
111
+ paidPlayers = paidPlayers + 1
112
+ end
113
+ end
114
+
115
+ if paidPlayers < MinimumPlayers then
116
+ announce("Not-Enough-Players", "Not enough players registered! Restarting...")
117
+ for player, hasPaid in pairs(Waiting) do
118
+ if hasPaid then
119
+ Waiting[player] = false
120
+ sendReward(player, PaymentQty, "Refund")
121
+ end
122
+ end
123
+ startWaitingPeriod()
124
+ return
125
+ end
126
+
127
+ LastTick = undefined
128
+ GameMode = "Playing"
129
+ StateChangeTime = Now + GameTime
130
+ for player, hasPaid in pairs(Waiting) do
131
+ if hasPaid then
132
+ Players[player] = PlayerInitState()
133
+ else
134
+ ao.send({
135
+ Target = player,
136
+ Action = "Ejected",
137
+ Reason = "Did-Not-Pay"
138
+ })
139
+ removeListener(player) -- Removing player from listener if they didn't pay
140
+ end
141
+ end
142
+ announce("Started-Game", "The game has started. Good luck!")
143
+ print("Game Started....")
144
+ end
145
+
146
+ -- Handles the elimination of a player from the game.
147
+ -- @param eliminated: The player to be eliminated.
148
+ -- @param eliminator: The player causing the elimination.
149
+ function eliminatePlayer(eliminated, eliminator)
150
+ sendReward(eliminator, PaymentQty, "Eliminated-Player")
151
+ Waiting[eliminated] = false
152
+ Players[eliminated] = nil
153
+
154
+ ao.send({
155
+ Target = eliminated,
156
+ Action = "Eliminated",
157
+ Eliminator = eliminator
158
+ })
159
+
160
+ announce("Player-Eliminated", eliminated .. " was eliminated by " .. eliminator .. "!")
161
+
162
+ local playerCount = 0
163
+ for player, _ in pairs(Players) do
164
+ playerCount = playerCount + 1
165
+ end
166
+ print("Eliminating player: " .. eliminated .. " by: " .. eliminator) -- Useful for tracking eliminations
167
+
168
+ if playerCount < MinimumPlayers then
169
+ endGame()
170
+ end
171
+
172
+ end
173
+
174
+ -- Ends the current game and starts a new one.
175
+ function endGame()
176
+ print("Game Over")
177
+
178
+ Winners = 0
179
+
180
+ for player, _ in pairs(Players) do
181
+ Winners = Winners + 1
182
+ end
183
+
184
+ Winnings = tonumber(BonusQty) / Winners
185
+
186
+ for player, _ in pairs(Players) do
187
+ -- addLog("EndGame", "Sending reward of:".. Winnings + PaymentQty .. "to player: " .. player) -- Useful for tracking rewards
188
+ sendReward(player, Winnings + tonumber(PaymentQty), "Win")
189
+ Waiting[player] = false
190
+ end
191
+
192
+ Players = {}
193
+ announce("Game-Ended", "Congratulations! The game has ended. Remaining players at conclusion: " .. Winners .. ".")
194
+ startWaitingPeriod()
195
+ end
196
+
197
+ -- Removes a listener from the listeners' list.
198
+ -- @param listener: The listener to be removed.
199
+ function removeListener(listener)
200
+ local idx = 0
201
+ for i, v in ipairs(Listeners) do
202
+ if v == listener then
203
+ idx = i
204
+ break
205
+ end
206
+ end
207
+ if idx > 0 then
208
+ table.remove(Listeners, idx)
209
+ end
210
+ end
211
+
212
+ -- HANDLERS: Game state management
213
+
214
+ -- Handler for cron messages, manages game state transitions.
215
+ Handlers.add(
216
+ "Game-State-Timers",
217
+ function(Msg)
218
+ return "continue"
219
+ end,
220
+ function(Msg)
221
+ Now = Msg.Timestamp
222
+ if GameMode == "Not-Started" then
223
+ startWaitingPeriod()
224
+ elseif GameMode == "Waiting" then
225
+ if Now > StateChangeTime then
226
+ startGamePeriod()
227
+ end
228
+ elseif GameMode == "Playing" then
229
+ if onTick and type(onTick) == "function" then
230
+ onTick()
231
+ end
232
+ if Now > StateChangeTime then
233
+ endGame()
234
+ end
235
+ end
236
+ end
237
+ )
238
+
239
+ -- Handler for player deposits to participate in the next game.
240
+ Handlers.add(
241
+ "Transfer",
242
+ function(Msg)
243
+ return
244
+ Msg.Action == "Credit-Notice" and
245
+ Msg.From == PaymentToken and
246
+ tonumber(Msg.Quantity) >= tonumber(PaymentQty) and "continue"
247
+ end,
248
+ function(Msg)
249
+ Waiting[Msg.Sender] = true
250
+ ao.send({
251
+ Target = Msg.Sender,
252
+ Action = "Payment-Received"
253
+ })
254
+ announce("Player-Ready", Msg.Sender .. " is ready to play!")
255
+ end
256
+ )
257
+
258
+ -- Registers new players for the next game and subscribes them for event info.
259
+ Handlers.add(
260
+ "Register",
261
+ Handlers.utils.hasMatchingTag("Action", "Register"),
262
+ function(Msg)
263
+ if Msg.Mode ~= "Listen" and Waiting[Msg.From] == undefined then
264
+ Waiting[Msg.From] = false
265
+ end
266
+ removeListener(Msg.From)
267
+ table.insert(Listeners, Msg.From)
268
+ ao.send({
269
+ Target = Msg.From,
270
+ Action = "Registered"
271
+ })
272
+ announce("New Player Registered", Msg.From .. " has joined in waiting.")
273
+ end
274
+ )
275
+
276
+ -- Unregisters players and stops sending them event info.
277
+ Handlers.add(
278
+ "Unregister",
279
+ Handlers.utils.hasMatchingTag("Action", "Unregister"),
280
+ function(Msg)
281
+ removeListener(Msg.From)
282
+ ao.send({
283
+ Target = Msg.From,
284
+ Action = "Unregistered"
285
+ })
286
+ end
287
+ )
288
+
289
+ -- Adds bet amount to BonusQty
290
+ Handlers.add(
291
+ "AddBet",
292
+ Handlers.utils.hasMatchingTag("Reason", "AddBet"),
293
+ function(Msg)
294
+ BonusQty = tonumber(BonusQty) + tonumber(Msg.Tags.Quantity)
295
+ announce("Bet-Added", Msg.From .. "has placed a bet. " .. "BonusQty amount increased by " .. Msg.Tags.Quantity .. "!")
296
+ end
297
+ )
298
+
299
+ -- Retrieves the current game state.
300
+ Handlers.add(
301
+ "GetGameState",
302
+ Handlers.utils.hasMatchingTag("Action", "GetGameState"),
303
+ function (Msg)
304
+ local json = require("json")
305
+ local TimeRemaining = StateChangeTime - Now
306
+ local GameState = json.encode({
307
+ GameMode = GameMode,
308
+ TimeRemaining = TimeRemaining,
309
+ Players = Players,
310
+ })
311
+ ao.send({
312
+ Target = Msg.From,
313
+ Action = "GameState",
314
+ Data = GameState})
315
+ end
316
+ )
317
+
318
+ -- Alerts users regarding the time remaining in each game state.
319
+ Handlers.add(
320
+ "AnnounceTick",
321
+ Handlers.utils.hasMatchingTag("Action", "Tick"),
322
+ function (Msg)
323
+ local TimeRemaining = StateChangeTime - Now
324
+ if GameMode == "Waiting" then
325
+ announce("Tick", "The game will start in " .. (TimeRemaining/1000) .. " seconds.")
326
+ elseif GameMode == "Playing" then
327
+ announce("Tick", "The game will end in " .. (TimeRemaining/1000) .. " seconds.")
328
+ end
329
+ end
330
+ )
331
+
332
+ -- Sends tokens to players with no balance upon request
333
+ Handlers.add(
334
+ "RequestTokens",
335
+ Handlers.utils.hasMatchingTag("Action", "RequestTokens"),
336
+ function (Msg)
337
+ print("Transfering Tokens: " .. tostring(math.floor(10000 * UNIT)))
338
+ ao.send({
339
+ Target = ao.id,
340
+ Action = "Transfer",
341
+ Quantity = tostring(math.floor(10000 * UNIT)),
342
+ Recipient = Msg.From,
343
+ })
344
+ end
345
+ )