auramaxx 1.0.0-alpha.4

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 (363) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +112 -0
  3. package/bin/aurawallet.js +121 -0
  4. package/docs/ADAPTERS.md +467 -0
  5. package/docs/API.md +2679 -0
  6. package/docs/APPS.md +198 -0
  7. package/docs/ARCHITECTURE.md +350 -0
  8. package/docs/AUTH.md +698 -0
  9. package/docs/BEST-PRACTICES.md +121 -0
  10. package/docs/CLI.md +61 -0
  11. package/docs/DEVELOPING-APPS.md +452 -0
  12. package/docs/EXTENSION.md +97 -0
  13. package/docs/JOBS.md +33 -0
  14. package/docs/MCP.md +76 -0
  15. package/docs/PROTOCOL.md +142 -0
  16. package/docs/SETUP.md +219 -0
  17. package/docs/WORKSPACE.md +672 -0
  18. package/docs/agent-auth.md +63 -0
  19. package/docs/aura-file.md +48 -0
  20. package/docs/credentials.md +53 -0
  21. package/docs/external/getting-started.md +65 -0
  22. package/docs/external/overview.md +45 -0
  23. package/docs/external/use-cases.md +48 -0
  24. package/docs/external/why-aura.md +35 -0
  25. package/docs/jobs/connect-agent.md +77 -0
  26. package/docs/jobs/migrate-from-dotenv.md +79 -0
  27. package/docs/jobs/recover-from-lockout.md +72 -0
  28. package/docs/jobs/secure-ci.md +63 -0
  29. package/docs/oauth2.md +42 -0
  30. package/docs/passkeys.md +60 -0
  31. package/docs/security.md +540 -0
  32. package/docs/specs/aura-open-protocol.md +61 -0
  33. package/docs/specs/aura-provider-plugin.md +24 -0
  34. package/docs/specs/aura-registry-model.md +31 -0
  35. package/docs/specs/fixtures/invalid-bad-key.aura +1 -0
  36. package/docs/specs/fixtures/invalid-bad-unicode-escape.aura +1 -0
  37. package/docs/specs/fixtures/invalid-duplicate-key.aura +2 -0
  38. package/docs/specs/fixtures/valid-basic.aura +4 -0
  39. package/docs/specs/fixtures/valid-provider-ref.aura +1 -0
  40. package/docs/specs/fixtures/valid-quoted-escapes.aura +2 -0
  41. package/docs/templates/RELEASE_NOTES_TEMPLATE.md +22 -0
  42. package/docs/totp.md +40 -0
  43. package/docs/wallet/AI.md +508 -0
  44. package/docs/wallet/DEVELOPING-STRATEGIES.md +713 -0
  45. package/docs/wallet/README.md +47 -0
  46. package/docs/wallet/STRATEGY.md +89 -0
  47. package/next.config.ts +21 -0
  48. package/package.json +151 -0
  49. package/postcss.config.mjs +8 -0
  50. package/prisma/migrations/20260214170000_baseline/migration.sql +511 -0
  51. package/prisma/migrations/20260216214537_add_passkey_model/migration.sql +18 -0
  52. package/prisma/migrations/20260217150500_add_credential_access_audit/migration.sql +31 -0
  53. package/prisma/migrations/migration_lock.toml +3 -0
  54. package/prisma/schema.prisma +447 -0
  55. package/public/logo-chevron.svg +31 -0
  56. package/public/logo-concentric.svg +31 -0
  57. package/public/logo-crosshatch.svg +39 -0
  58. package/public/logo-dashed.svg +39 -0
  59. package/public/logo-horizontal.svg +31 -0
  60. package/public/logo-m56.svg +64 -0
  61. package/public/logo.webp +0 -0
  62. package/scripts/add-app.js +245 -0
  63. package/scripts/init.sh +57 -0
  64. package/scripts/migrate-apikeys-to-credentials.ts +35 -0
  65. package/scripts/sandbox-agent-flow.sh +235 -0
  66. package/scripts/sandbox.sh +175 -0
  67. package/scripts/validate-job-docs.mjs +125 -0
  68. package/server/abi/SwapHelper.json +438 -0
  69. package/server/cli/approval.ts +447 -0
  70. package/server/cli/commands/app.ts +204 -0
  71. package/server/cli/commands/cron.ts +24 -0
  72. package/server/cli/commands/doctor.ts +1007 -0
  73. package/server/cli/commands/env.ts +456 -0
  74. package/server/cli/commands/init.ts +752 -0
  75. package/server/cli/commands/mcp.ts +125 -0
  76. package/server/cli/commands/restore.ts +314 -0
  77. package/server/cli/commands/shell-hook.ts +468 -0
  78. package/server/cli/commands/start.ts +62 -0
  79. package/server/cli/commands/status.ts +59 -0
  80. package/server/cli/commands/stop.ts +14 -0
  81. package/server/cli/commands/token.ts +180 -0
  82. package/server/cli/commands/unlock.ts +49 -0
  83. package/server/cli/commands/vault.ts +417 -0
  84. package/server/cli/index.ts +328 -0
  85. package/server/cli/lib/aura-parser.ts +64 -0
  86. package/server/cli/lib/credential-create.ts +74 -0
  87. package/server/cli/lib/credential-resolve.ts +254 -0
  88. package/server/cli/lib/dotenv-migrate.ts +116 -0
  89. package/server/cli/lib/dotenv-parser.ts +146 -0
  90. package/server/cli/lib/http.ts +91 -0
  91. package/server/cli/lib/init-steps.ts +76 -0
  92. package/server/cli/lib/local-agent-trust.ts +45 -0
  93. package/server/cli/lib/process.ts +136 -0
  94. package/server/cli/lib/prompt.ts +85 -0
  95. package/server/cli/lib/theme.ts +240 -0
  96. package/server/cli/socket.ts +570 -0
  97. package/server/cli/transport-client.ts +50 -0
  98. package/server/cron/index.ts +137 -0
  99. package/server/cron/job.ts +31 -0
  100. package/server/cron/jobs/balance-sync.ts +436 -0
  101. package/server/cron/jobs/incoming-scan.ts +506 -0
  102. package/server/cron/jobs/native-price.ts +70 -0
  103. package/server/cron/jobs/orphan-cleanup.ts +40 -0
  104. package/server/cron/jobs/strategy-runner.ts +175 -0
  105. package/server/cron/scheduler.ts +125 -0
  106. package/server/index.ts +406 -0
  107. package/server/lib/adapters/factory.ts +110 -0
  108. package/server/lib/adapters/index.ts +19 -0
  109. package/server/lib/adapters/router.ts +297 -0
  110. package/server/lib/adapters/telegram.ts +645 -0
  111. package/server/lib/adapters/types.ts +89 -0
  112. package/server/lib/adapters/webhook.ts +95 -0
  113. package/server/lib/address.ts +49 -0
  114. package/server/lib/agent-auth/contracts.ts +1194 -0
  115. package/server/lib/agent-profiles.ts +328 -0
  116. package/server/lib/ai.ts +285 -0
  117. package/server/lib/api-registry/contracts.ts +86 -0
  118. package/server/lib/api-registry/validation.ts +172 -0
  119. package/server/lib/apikey-migration.ts +189 -0
  120. package/server/lib/app-installer.ts +505 -0
  121. package/server/lib/app-tokens.ts +247 -0
  122. package/server/lib/auth.ts +314 -0
  123. package/server/lib/batch.ts +242 -0
  124. package/server/lib/cold.ts +874 -0
  125. package/server/lib/config.ts +381 -0
  126. package/server/lib/credential-access-audit.ts +85 -0
  127. package/server/lib/credential-access-policy.ts +110 -0
  128. package/server/lib/credential-health.ts +343 -0
  129. package/server/lib/credential-import.ts +487 -0
  130. package/server/lib/credential-scope.ts +87 -0
  131. package/server/lib/credential-shares.ts +190 -0
  132. package/server/lib/credential-transport.ts +342 -0
  133. package/server/lib/credential-vault.ts +77 -0
  134. package/server/lib/credentials.ts +333 -0
  135. package/server/lib/crypto.ts +8 -0
  136. package/server/lib/db.ts +15 -0
  137. package/server/lib/defaults.ts +366 -0
  138. package/server/lib/dex/index.ts +80 -0
  139. package/server/lib/dex/relay.ts +235 -0
  140. package/server/lib/dex/types.ts +59 -0
  141. package/server/lib/dex/uniswap.ts +370 -0
  142. package/server/lib/e2e-agent/artifacts.ts +36 -0
  143. package/server/lib/e2e-agent/contracts.ts +112 -0
  144. package/server/lib/e2e-agent/validation.ts +135 -0
  145. package/server/lib/encrypt.ts +128 -0
  146. package/server/lib/error.ts +20 -0
  147. package/server/lib/events.ts +205 -0
  148. package/server/lib/hot.ts +357 -0
  149. package/server/lib/key-fingerprint.ts +28 -0
  150. package/server/lib/logger.ts +331 -0
  151. package/server/lib/network.ts +137 -0
  152. package/server/lib/notifications.ts +219 -0
  153. package/server/lib/oauth2-refresh.ts +241 -0
  154. package/server/lib/oursecret.ts +54 -0
  155. package/server/lib/passkey-credential.ts +360 -0
  156. package/server/lib/passkey.ts +68 -0
  157. package/server/lib/permissions.ts +248 -0
  158. package/server/lib/pino.ts +24 -0
  159. package/server/lib/policy-preview.ts +138 -0
  160. package/server/lib/price.ts +338 -0
  161. package/server/lib/prices.ts +34 -0
  162. package/server/lib/project-scope.ts +239 -0
  163. package/server/lib/resolve-action.ts +427 -0
  164. package/server/lib/resolve.ts +36 -0
  165. package/server/lib/sessions.ts +632 -0
  166. package/server/lib/solana/connection.ts +26 -0
  167. package/server/lib/solana/jupiter.ts +128 -0
  168. package/server/lib/solana/transfer.ts +108 -0
  169. package/server/lib/solana/wallet.ts +136 -0
  170. package/server/lib/strategy/emits.ts +21 -0
  171. package/server/lib/strategy/engine.ts +1305 -0
  172. package/server/lib/strategy/executor.ts +115 -0
  173. package/server/lib/strategy/hook-context.ts +158 -0
  174. package/server/lib/strategy/hooks.ts +990 -0
  175. package/server/lib/strategy/index.ts +28 -0
  176. package/server/lib/strategy/installer.ts +305 -0
  177. package/server/lib/strategy/loader.ts +256 -0
  178. package/server/lib/strategy/message.ts +235 -0
  179. package/server/lib/strategy/repository.ts +218 -0
  180. package/server/lib/strategy/session-logger.ts +693 -0
  181. package/server/lib/strategy/sources.ts +288 -0
  182. package/server/lib/strategy/state.ts +189 -0
  183. package/server/lib/strategy/templates.ts +403 -0
  184. package/server/lib/strategy/tick.ts +404 -0
  185. package/server/lib/strategy/types.ts +230 -0
  186. package/server/lib/swap.ts +3 -0
  187. package/server/lib/temp.ts +86 -0
  188. package/server/lib/token-metadata.ts +86 -0
  189. package/server/lib/token-safety.ts +200 -0
  190. package/server/lib/token-search.ts +444 -0
  191. package/server/lib/totp.ts +194 -0
  192. package/server/lib/transactions.ts +123 -0
  193. package/server/lib/transport.ts +75 -0
  194. package/server/lib/txhistory/decoder.ts +262 -0
  195. package/server/lib/txhistory/enricher.ts +652 -0
  196. package/server/lib/txhistory/index.ts +391 -0
  197. package/server/lib/txhistory/signatures.ts +59 -0
  198. package/server/lib/verified-summary.ts +421 -0
  199. package/server/mcp/profile-policy.ts +30 -0
  200. package/server/mcp/server.ts +619 -0
  201. package/server/mcp/tools.ts +523 -0
  202. package/server/middleware/auth.ts +119 -0
  203. package/server/middleware/requestLogger.ts +84 -0
  204. package/server/routes/actions.ts +459 -0
  205. package/server/routes/adapters.ts +703 -0
  206. package/server/routes/addressbook.ts +113 -0
  207. package/server/routes/ai.ts +34 -0
  208. package/server/routes/apikeys.ts +295 -0
  209. package/server/routes/apps.ts +601 -0
  210. package/server/routes/auth.ts +457 -0
  211. package/server/routes/backup.ts +340 -0
  212. package/server/routes/batch.ts +270 -0
  213. package/server/routes/bookmarks.ts +162 -0
  214. package/server/routes/credential-shares.ts +198 -0
  215. package/server/routes/credential-vaults.ts +154 -0
  216. package/server/routes/credentials.ts +1290 -0
  217. package/server/routes/dashboard.ts +71 -0
  218. package/server/routes/defaults.ts +124 -0
  219. package/server/routes/fund.ts +229 -0
  220. package/server/routes/import.ts +352 -0
  221. package/server/routes/launch.ts +665 -0
  222. package/server/routes/lock.ts +54 -0
  223. package/server/routes/logs.ts +68 -0
  224. package/server/routes/nuke.ts +111 -0
  225. package/server/routes/passkey-credentials.ts +99 -0
  226. package/server/routes/passkey.ts +346 -0
  227. package/server/routes/portfolio.ts +217 -0
  228. package/server/routes/price.ts +63 -0
  229. package/server/routes/resolve.ts +31 -0
  230. package/server/routes/security.ts +45 -0
  231. package/server/routes/send-evm.ts +241 -0
  232. package/server/routes/send-solana.ts +281 -0
  233. package/server/routes/send.ts +178 -0
  234. package/server/routes/setup.ts +210 -0
  235. package/server/routes/strategy.ts +894 -0
  236. package/server/routes/swap-evm.ts +353 -0
  237. package/server/routes/swap-solana.ts +177 -0
  238. package/server/routes/swap.ts +356 -0
  239. package/server/routes/token.ts +247 -0
  240. package/server/routes/unlock.ts +403 -0
  241. package/server/routes/wallet-assets.ts +361 -0
  242. package/server/routes/wallet-transactions.ts +515 -0
  243. package/server/routes/wallet.ts +710 -0
  244. package/server/types.ts +146 -0
  245. package/skills/aurawallet/SKILL.md +739 -0
  246. package/skills/aurawallet-setup/SKILL.md +74 -0
  247. package/skills/security-review/SKILL.md +148 -0
  248. package/src/app/api/agent-requests/route.ts +30 -0
  249. package/src/app/api/apps/install/route.ts +126 -0
  250. package/src/app/api/apps/manifests/route.ts +16 -0
  251. package/src/app/api/apps/static/[...path]/route.ts +57 -0
  252. package/src/app/api/events/route.ts +92 -0
  253. package/src/app/api/page.tsx +212 -0
  254. package/src/app/api/workspace/[id]/apps/[wid]/route.ts +119 -0
  255. package/src/app/api/workspace/[id]/apps/route.ts +81 -0
  256. package/src/app/api/workspace/[id]/export/route.ts +67 -0
  257. package/src/app/api/workspace/[id]/route.ts +168 -0
  258. package/src/app/api/workspace/auth.ts +34 -0
  259. package/src/app/api/workspace/config/route.ts +106 -0
  260. package/src/app/api/workspace/import/route.ts +127 -0
  261. package/src/app/api/workspace/route.ts +116 -0
  262. package/src/app/app/page.tsx +2122 -0
  263. package/src/app/apple-icon.png +0 -0
  264. package/src/app/docs/page.tsx +178 -0
  265. package/src/app/favicon.ico +0 -0
  266. package/src/app/globals.css +572 -0
  267. package/src/app/health/page.tsx +5 -0
  268. package/src/app/hello/page.tsx +15 -0
  269. package/src/app/icon.png +0 -0
  270. package/src/app/layout.tsx +34 -0
  271. package/src/app/page.tsx +986 -0
  272. package/src/app/providers.tsx +90 -0
  273. package/src/app/share/[token]/page.tsx +295 -0
  274. package/src/components/ChainSelector.tsx +144 -0
  275. package/src/components/HumanActionBar.tsx +695 -0
  276. package/src/components/NotificationDrawer.tsx +129 -0
  277. package/src/components/apps/AgentKeysApp.tsx +490 -0
  278. package/src/components/apps/App.tsx +153 -0
  279. package/src/components/apps/AppGrid.tsx +15 -0
  280. package/src/components/apps/DetailedAddressDrawer.tsx +325 -0
  281. package/src/components/apps/DraggableApp.tsx +562 -0
  282. package/src/components/apps/IFrameApp.tsx +73 -0
  283. package/src/components/apps/LogsApp.tsx +360 -0
  284. package/src/components/apps/SendApp.tsx +394 -0
  285. package/src/components/apps/SetupWizardApp.tsx +1004 -0
  286. package/src/components/apps/SystemDefaultsApp.tsx +845 -0
  287. package/src/components/apps/ThirdPartyApp.tsx +428 -0
  288. package/src/components/apps/TokenApp.tsx +319 -0
  289. package/src/components/apps/TransactionsApp.tsx +438 -0
  290. package/src/components/apps/WalletDetailApp.tsx +1505 -0
  291. package/src/components/apps/index.ts +13 -0
  292. package/src/components/design-system/Button.tsx +53 -0
  293. package/src/components/design-system/ChainIndicator.tsx +65 -0
  294. package/src/components/design-system/ChainSelector.tsx +137 -0
  295. package/src/components/design-system/ConfirmationModal.tsx +106 -0
  296. package/src/components/design-system/ConfirmationPopover.tsx +81 -0
  297. package/src/components/design-system/Drawer.tsx +123 -0
  298. package/src/components/design-system/FilterDropdown.tsx +72 -0
  299. package/src/components/design-system/Modal.tsx +206 -0
  300. package/src/components/design-system/Popover.tsx +142 -0
  301. package/src/components/design-system/TextInput.tsx +85 -0
  302. package/src/components/design-system/Toggle.tsx +58 -0
  303. package/src/components/design-system/index.ts +11 -0
  304. package/src/components/docs/DocsThemeToggle.tsx +49 -0
  305. package/src/components/health/CredentialHealthDashboard.tsx +214 -0
  306. package/src/components/icons/ChainIcons.tsx +72 -0
  307. package/src/components/layout/AppStoreDrawer.tsx +369 -0
  308. package/src/components/layout/ContentArea.tsx +21 -0
  309. package/src/components/layout/TabBar.tsx +278 -0
  310. package/src/components/layout/WalletSidebar.tsx +1033 -0
  311. package/src/components/layout/index.ts +4 -0
  312. package/src/components/marketing/AuraWalletSpecOverlay.tsx +635 -0
  313. package/src/components/marketing/DeviceMorphExperience.tsx +216 -0
  314. package/src/components/vault/ApiKeysConsole.tsx +1080 -0
  315. package/src/components/vault/AuditConsole.tsx +584 -0
  316. package/src/components/vault/CredentialDetail.tsx +455 -0
  317. package/src/components/vault/CredentialEmpty.tsx +55 -0
  318. package/src/components/vault/CredentialField.tsx +361 -0
  319. package/src/components/vault/CredentialForm.tsx +1212 -0
  320. package/src/components/vault/CredentialList.tsx +165 -0
  321. package/src/components/vault/CredentialRow.tsx +97 -0
  322. package/src/components/vault/CredentialShareModal.tsx +178 -0
  323. package/src/components/vault/CredentialVault.tsx +754 -0
  324. package/src/components/vault/CredentialWalletWidget.tsx +103 -0
  325. package/src/components/vault/ImportCredentialsModal.tsx +515 -0
  326. package/src/components/vault/LargeTypeModal.tsx +64 -0
  327. package/src/components/vault/PasswordGenerator.tsx +224 -0
  328. package/src/components/vault/TOTPDisplay.tsx +123 -0
  329. package/src/components/vault/VaultSidebar.tsx +413 -0
  330. package/src/components/vault/types.ts +54 -0
  331. package/src/context/AuthContext.tsx +337 -0
  332. package/src/context/PriceContext.tsx +113 -0
  333. package/src/context/ThemeContext.tsx +164 -0
  334. package/src/context/WebSocketContext.tsx +269 -0
  335. package/src/context/WorkspaceContext.tsx +668 -0
  336. package/src/hooks/index.ts +3 -0
  337. package/src/hooks/useAgentActions.ts +368 -0
  338. package/src/hooks/useBalance.ts +103 -0
  339. package/src/hooks/useBalances.ts +129 -0
  340. package/src/instrumentation.ts +12 -0
  341. package/src/lib/api.ts +449 -0
  342. package/src/lib/app-loader.ts +148 -0
  343. package/src/lib/app-registry.ts +178 -0
  344. package/src/lib/app-sdk.ts +157 -0
  345. package/src/lib/audit-console-adapter.ts +151 -0
  346. package/src/lib/auth-client.ts +75 -0
  347. package/src/lib/config.ts +74 -0
  348. package/src/lib/crypto.ts +112 -0
  349. package/src/lib/db.ts +21 -0
  350. package/src/lib/docs.ts +390 -0
  351. package/src/lib/events.ts +361 -0
  352. package/src/lib/pino.ts +24 -0
  353. package/src/lib/theme-handlers.ts +168 -0
  354. package/src/lib/theme.ts +351 -0
  355. package/src/lib/tokenData.ts +378 -0
  356. package/src/lib/vault-crypto.ts +129 -0
  357. package/src/lib/websocket-server.ts +302 -0
  358. package/src/lib/websocket-setup.ts +79 -0
  359. package/src/lib/wordlist.ts +2050 -0
  360. package/src/lib/workspace-handlers.ts +285 -0
  361. package/start.sh +80 -0
  362. package/tailwind.config.ts +99 -0
  363. package/tsconfig.json +42 -0
@@ -0,0 +1,47 @@
1
+ # Wallet & Trading Features
2
+
3
+ AuraWallet also includes the original wallet and agent-trading stack.
4
+
5
+ Use this doc if you are focused on onchain workflows. For credential-vault-first setup, start at the root [README](../../README.md).
6
+
7
+ ## What wallet mode provides
8
+
9
+ - Trade on EVM + Solana chains
10
+ - Create and manage hot wallets from a cold vault
11
+ - Execute send/fund/swap/launch flows
12
+ - Human approval flows for sensitive actions
13
+ - Agent tokens with permission and spend limits
14
+
15
+ ## Typical wallet prompts
16
+
17
+ - "Buy me $50 of PEPE"
18
+ - "Bridge my ETH from Base to Arbitrum"
19
+ - "Sell all PEPE if price drops 20%"
20
+ - "Launch a token with name AURA"
21
+
22
+ ## Quick wallet setup
23
+
24
+ ```bash
25
+ npx aurawallet init
26
+ npx aurawallet start
27
+ ```
28
+
29
+ Open: `http://localhost:4747/app`
30
+
31
+ ## Access paths
32
+
33
+ - Dashboard UI
34
+ - CLI (`npx aurawallet ...`)
35
+ - MCP (`npx aurawallet mcp`)
36
+ - Approval listener (`npm run cli`)
37
+
38
+ ## Wallet docs
39
+
40
+ - [API reference](../API.md)
41
+ - [Auth + permissions](../AUTH.md)
42
+ - [MCP reference](../MCP.md)
43
+ - [AI / strategy docs](./AI.md)
44
+ - [Strategy overview](./STRATEGY.md)
45
+ - [Strategy developer reference](./DEVELOPING-STRATEGIES.md)
46
+ - [Apps](../APPS.md)
47
+ - [Adapters](../ADAPTERS.md)
@@ -0,0 +1,89 @@
1
+ # Strategies
2
+
3
+ High-level overview of AuraWallet's strategy system — apps that run on a schedule or respond to messages.
4
+
5
+ For the full developer reference (manifest fields, hooks, sources, examples), see [DEVELOPING-STRATEGIES.md](./DEVELOPING-STRATEGIES.md). For AI engine internals, see [AI.md](./AI.md).
6
+
7
+ ## What Are Strategies?
8
+
9
+ Strategies extend apps with AI-powered automation. A strategy is a regular app whose `app.md` manifest includes additional fields — hooks, a ticker, sources — that activate the AI engine. The engine then orchestrates the AI ↔ API ↔ human-approval loop automatically.
10
+
11
+ Every strategy starts as a regular app — see [APPS.md](../APPS.md). Strategies live in `apps/<id>/` alongside regular UI apps. Adding a `ticker`, `jobs`, or `hooks.message` field to the manifest is what activates the AI engine.
12
+
13
+ ## Two Modes
14
+
15
+ | Mode | Trigger | Behavior |
16
+ |------|---------|----------|
17
+ | **Tick mode** | `ticker` or `jobs` field | Engine fetches sources on a schedule, calls `tick` hook, processes intents through `execute` and `result` hooks. The full strategy lifecycle. |
18
+ | **Message mode** | `hooks.message` field | No scheduled ticks. AI responds to user messages via tool-call flow. Chat-style apps. |
19
+
20
+ Both can coexist — a strategy that ticks on a schedule and also handles chat messages.
21
+
22
+ ## Tick Tiers
23
+
24
+ Tick-mode strategies run at one of five intervals:
25
+
26
+ | Tier | Interval | Use Case |
27
+ |------|----------|----------|
28
+ | `sniper` | 10 seconds | Time-critical sniping, MEV |
29
+ | `active` | 30 seconds | Active trading, price triggers |
30
+ | `standard` | 1 minute | General monitoring |
31
+ | `slow` | 5 minutes | Portfolio tracking, reporting |
32
+ | `maintenance` | 1 hour | Daily buys, maintenance tasks |
33
+
34
+ For strategies that need multiple intervals, use `jobs` instead of `ticker` (see [DEVELOPING-STRATEGIES.md](./DEVELOPING-STRATEGIES.md#jobs)).
35
+
36
+ ## Hooks at a Glance
37
+
38
+ Six lifecycle hooks, each a natural-language string instructing the AI what to do:
39
+
40
+ | Hook | When Called | Mode |
41
+ |------|-----------|------|
42
+ | `init` | Strategy enabled | Tick |
43
+ | `tick` | Every scheduled interval | Tick |
44
+ | `execute` | Per approved intent (if no pre-computed action) | Tick |
45
+ | `result` | After action execution | Tick |
46
+ | `shutdown` | Strategy disabled | Tick |
47
+ | `message` | Human sends a message | Message |
48
+
49
+ The engine auto-injects API docs, response format specs, and wallet context — keep hook instructions focused on your app's specific behavior.
50
+
51
+ ## Minimal Example
52
+
53
+ A SOL DCA bot that buys ETH on a schedule:
54
+
55
+ ```markdown
56
+ ---
57
+ name: Daily ETH Buy
58
+ icon: Repeat
59
+ category: strategy
60
+ ticker: maintenance
61
+
62
+ permissions:
63
+ - swap
64
+ - wallet:list
65
+ limits:
66
+ swap: 0.01
67
+
68
+ hooks:
69
+ tick: |
70
+ Buy 0.01 ETH worth of the configured token using the hot wallet.
71
+ If no hot wallet exists, return empty intents.
72
+
73
+ config:
74
+ token: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
75
+ mode: live
76
+ approve: true
77
+ ---
78
+
79
+ Buys a small amount of a token every hour. Simple recurring buy strategy.
80
+ ```
81
+
82
+ This is a complete, valid strategy. The engine handles source fetching, AI dispatch, human approval, and action execution.
83
+
84
+ ## Next Steps
85
+
86
+ - [DEVELOPING-STRATEGIES.md](./DEVELOPING-STRATEGIES.md) — Full developer reference: manifest fields, hook contexts, sources, intents, examples
87
+ - [APPS.md](../APPS.md) — App overview: what apps are, installing, the app store
88
+ - [DEVELOPING-APPS.md](../DEVELOPING-APPS.md) — Building UI apps: SDK API, theming, security, storage
89
+ - [AI.md](./AI.md) — AI engine internals: provider selection, tool-use, testing
package/next.config.ts ADDED
@@ -0,0 +1,21 @@
1
+ import type { NextConfig } from "next";
2
+
3
+ const nextConfig: NextConfig = {
4
+ // Skip ESLint during production builds — lint is run separately via `npm run lint`
5
+ eslint: { ignoreDuringBuilds: true },
6
+
7
+ // Use webpack for native module support
8
+ serverExternalPackages: ['keytar'],
9
+
10
+
11
+ webpack: (config) => {
12
+ // Handle native modules
13
+ config.externals = config.externals || [];
14
+ if (Array.isArray(config.externals)) {
15
+ config.externals.push('keytar');
16
+ }
17
+ return config;
18
+ },
19
+ };
20
+
21
+ export default nextConfig;
package/package.json ADDED
@@ -0,0 +1,151 @@
1
+ {
2
+ "name": "auramaxx",
3
+ "version": "1.0.0-alpha.4",
4
+ "description": "Secure local crypto wallets for AI agents. Create wallets, send ETH/tokens, swap on Uniswap/Jupiter. Supports Base, Ethereum, Solana.",
5
+ "keywords": [
6
+ "crypto",
7
+ "wallet",
8
+ "ai",
9
+ "agent",
10
+ "ethereum",
11
+ "solana",
12
+ "base",
13
+ "uniswap",
14
+ "jupiter"
15
+ ],
16
+ "license": "MIT",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/Aura-Industry/aurawallet.git"
20
+ },
21
+ "bin": {
22
+ "auramaxx": "./bin/aurawallet.js",
23
+ "aurawallet": "./bin/aurawallet.js",
24
+ "aura": "./bin/aurawallet.js"
25
+ },
26
+ "files": [
27
+ "bin/",
28
+ "server/",
29
+ "!server/tests/",
30
+ "!server/test-data/",
31
+ "!server/vitest.config.ts",
32
+ "!server/node_modules/",
33
+ "src/",
34
+ "!src/__tests__/",
35
+ "!src/node_modules/",
36
+ "public/",
37
+ "skills/",
38
+ "prisma/",
39
+ "!prisma/dev.db",
40
+ "!prisma/dev.db-journal",
41
+ "!prisma/**/*.db",
42
+ "!prisma/**/*.db-journal",
43
+ "scripts/",
44
+ "!scripts/squash-and-push.sh",
45
+ "docs/",
46
+ "!docs/internal/",
47
+ "!docs/internal/**",
48
+ "start.sh",
49
+ "tsconfig.json",
50
+ "next.config.ts",
51
+ "tailwind.config.ts",
52
+ "postcss.config.mjs"
53
+ ],
54
+ "scripts": {
55
+ "dev": "next dev -p 4747",
56
+ "build": "next build",
57
+ "start": "next start -p 4747",
58
+ "start:local": "NEXT_PUBLIC_SHOW_INTERNAL_DOCS=true next start -p 4747",
59
+ "lint": "next lint",
60
+ "server": "npx tsx server/index.ts",
61
+ "server:dev": "BYPASS_RATE_LIMIT=true npx tsx watch server/index.ts",
62
+ "cli": "npx tsx server/cli/index.ts",
63
+ "start:all": "./start.sh",
64
+ "start:prod": "./start.sh prod",
65
+ "test": "vitest run --config server/vitest.config.ts",
66
+ "test:ai": "vitest run --config server/tests/ai-integration/vitest.config.ts",
67
+ "test:setup": "vitest run --config server/tests/setup-integration/vitest.config.ts",
68
+ "test:ai:live": "vitest run --config server/tests/ai-integration/vitest.live.config.ts",
69
+ "test:watch": "vitest --config server/vitest.config.ts",
70
+ "test:coverage": "vitest run --config server/vitest.config.ts --coverage",
71
+ "test:cli": "vitest run --config server/vitest.config.ts tests/cli/",
72
+ "test:e2e": "vitest run --config server/vitest.config.ts tests/e2e.test.ts",
73
+ "test:ui": "vitest run --config src/__tests__/vitest.config.ts",
74
+ "test:ui:watch": "vitest --config src/__tests__/vitest.config.ts",
75
+ "test:e2e-agent:smoke": "vitest run --config server/vitest.config.ts tests/e2e-agent/**/*.test.ts",
76
+ "test:e2e-agent:nightly": "vitest run --config server/vitest.config.ts tests/e2e-agent/**/*.test.ts",
77
+ "test:sandbox:agent-flow": "./scripts/sandbox-agent-flow.sh",
78
+ "test:sandbox:agent-prepublish": "npm run test:sandbox:agent-flow",
79
+ "docs:validate": "node scripts/validate-job-docs.mjs",
80
+ "sandbox": "./scripts/sandbox.sh terminal",
81
+ "sandbox:dashboard": "./scripts/sandbox.sh dashboard",
82
+ "sandbox:mcp": "./scripts/sandbox.sh mcp",
83
+ "sandbox:agent": "./scripts/sandbox.sh agent",
84
+ "prepare": "husky || true"
85
+ },
86
+ "dependencies": {
87
+ "@anthropic-ai/sdk": "^0.73.0",
88
+ "@eslint/eslintrc": "^3.3.3",
89
+ "@modelcontextprotocol/sdk": "^1.26.0",
90
+ "@prisma/client": "^5.22.0",
91
+ "@simplewebauthn/server": "^11.0.0",
92
+ "@solana/spl-token": "^0.4.14",
93
+ "@solana/web3.js": "^1.95.4",
94
+ "@types/multer": "^2.0.0",
95
+ "@whetstone-research/doppler-sdk": "^0.0.17",
96
+ "autoprefixer": "^10.4.24",
97
+ "better-sqlite3": "^12.6.2",
98
+ "bip39": "^3.1.0",
99
+ "cbor-x": "^1.6.0",
100
+ "cors": "^2.8.5",
101
+ "crypto-js": "^4.2.0",
102
+ "csv-parse": "^6.1.0",
103
+ "dotenv": "^17.2.3",
104
+ "ed25519-hd-key": "^1.3.0",
105
+ "ethers": "^6.13.4",
106
+ "express": "^4.21.2",
107
+ "express-rate-limit": "^8.2.1",
108
+ "lucide-react": "^0.468.0",
109
+ "marked": "^17.0.2",
110
+ "multer": "^2.0.2",
111
+ "next": "^15.5.11",
112
+ "openai": "^6.21.0",
113
+ "otpauth": "^9.5.0",
114
+ "pino": "^10.3.1",
115
+ "pino-pretty": "^13.1.3",
116
+ "postcss": "^8.4.49",
117
+ "prisma": "^5.22.0",
118
+ "react": "^19.0.0",
119
+ "react-dom": "^19.0.0",
120
+ "tailwindcss": "^3.4.17",
121
+ "tsx": "^4.21.0",
122
+ "typescript": "^5.7.2",
123
+ "uuid": "^11.0.4",
124
+ "viem": "^2.45.1",
125
+ "ws": "^8.19.0",
126
+ "yaml": "^2.8.2",
127
+ "zod": "^3.24.1"
128
+ },
129
+ "devDependencies": {
130
+ "@testing-library/dom": "^10.4.1",
131
+ "@testing-library/react": "^16.3.2",
132
+ "@types/better-sqlite3": "^7.6.13",
133
+ "@types/cors": "^2.8.17",
134
+ "@types/crypto-js": "^4.2.2",
135
+ "@types/express": "^5.0.0",
136
+ "@types/node": "^22.10.5",
137
+ "@types/react": "^19.0.2",
138
+ "@types/react-dom": "^19.0.2",
139
+ "@types/supertest": "^6.0.3",
140
+ "@types/uuid": "^10.0.0",
141
+ "@types/ws": "^8.18.1",
142
+ "@vitejs/plugin-react": "^5.1.3",
143
+ "eslint": "^9.17.0",
144
+ "eslint-config-next": "15.1.4",
145
+ "husky": "^9.1.7",
146
+ "jsdom": "^28.0.0",
147
+ "supertest": "^7.2.2",
148
+ "vite": "^6.4.1",
149
+ "vitest": "^4.0.18"
150
+ }
151
+ }
@@ -0,0 +1,8 @@
1
+ const config = {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ };
7
+
8
+ export default config;