auramaxx 0.0.1

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 (418) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +77 -0
  3. package/apps/desktop-electron/main.js +428 -0
  4. package/bin/auramaxx.js +1063 -0
  5. package/docs/ADAPTERS.md +466 -0
  6. package/docs/AGENT_SETUP.md +159 -0
  7. package/docs/API.md +127 -0
  8. package/docs/APPS.md +199 -0
  9. package/docs/ARCHITECTURE.md +235 -0
  10. package/docs/AUTH.md +318 -0
  11. package/docs/BEST-PRACTICES.md +82 -0
  12. package/docs/CLI.md +141 -0
  13. package/docs/DESKTOP_ELECTRON.md +26 -0
  14. package/docs/DEVELOPING-APPS.md +453 -0
  15. package/docs/MCP.md +122 -0
  16. package/docs/PACKAGING_POLICY.md +19 -0
  17. package/docs/PERMISSION.md +137 -0
  18. package/docs/PROTOCOL.md +142 -0
  19. package/docs/README.md +50 -0
  20. package/docs/SKILLS.md +132 -0
  21. package/docs/TROUBLESHOOTING.md +376 -0
  22. package/docs/WORKSPACE.md +673 -0
  23. package/docs/agent-auth.md +14 -0
  24. package/docs/api/authentication.md +79 -0
  25. package/docs/api/secrets/api-keys.md +28 -0
  26. package/docs/api/secrets/credentials.md +80 -0
  27. package/docs/api/secrets/sharing.md +48 -0
  28. package/docs/api/system.md +41 -0
  29. package/docs/api/wallets/apps-strategies.md +66 -0
  30. package/docs/api/wallets/core.md +46 -0
  31. package/docs/api/wallets/data-portfolio.md +42 -0
  32. package/docs/aura-file.md +48 -0
  33. package/docs/core-concepts/FEATURES.md +114 -0
  34. package/docs/credentials.md +120 -0
  35. package/docs/external/HOW_TO_AURAMAXX/GETTING_SECRETS.md +33 -0
  36. package/docs/external/HOW_TO_AURAMAXX/README.md +45 -0
  37. package/docs/external/getting-started.md +10 -0
  38. package/docs/external/overview.md +19 -0
  39. package/docs/external/persona-paths.md +7 -0
  40. package/docs/external/share-secret.md +76 -0
  41. package/docs/external/why-aura.md +7 -0
  42. package/docs/security.md +227 -0
  43. package/docs/templates/RELEASE_NOTES_TEMPLATE.md +22 -0
  44. package/docs/wallet/AI.md +508 -0
  45. package/docs/wallet/DEVELOPING-STRATEGIES.md +713 -0
  46. package/docs/wallet/README.md +47 -0
  47. package/docs/wallet/STRATEGY.md +89 -0
  48. package/next.config.ts +28 -0
  49. package/package.json +167 -0
  50. package/postcss.config.mjs +8 -0
  51. package/prisma/migrations/20260214170000_baseline/migration.sql +511 -0
  52. package/prisma/migrations/20260216214537_add_passkey_model/migration.sql +18 -0
  53. package/prisma/migrations/20260217150500_add_credential_access_audit/migration.sql +31 -0
  54. package/prisma/migrations/20260222090000_update_admin_ttl_default/migration.sql +10 -0
  55. package/prisma/migrations/migration_lock.toml +3 -0
  56. package/prisma/schema.prisma +447 -0
  57. package/public/logo.webp +0 -0
  58. package/scripts/add-app.js +245 -0
  59. package/server/abi/SwapHelper.json +438 -0
  60. package/server/cli/approval.ts +447 -0
  61. package/server/cli/commands/actions.ts +474 -0
  62. package/server/cli/commands/api.ts +220 -0
  63. package/server/cli/commands/apikey.ts +277 -0
  64. package/server/cli/commands/app.ts +204 -0
  65. package/server/cli/commands/auth.ts +464 -0
  66. package/server/cli/commands/cron.ts +24 -0
  67. package/server/cli/commands/diary.ts +274 -0
  68. package/server/cli/commands/doctor.ts +1247 -0
  69. package/server/cli/commands/env.ts +476 -0
  70. package/server/cli/commands/experimental.ts +69 -0
  71. package/server/cli/commands/init.ts +798 -0
  72. package/server/cli/commands/lock.ts +157 -0
  73. package/server/cli/commands/mcp.ts +285 -0
  74. package/server/cli/commands/quickhack.ts +86 -0
  75. package/server/cli/commands/release-check.ts +231 -0
  76. package/server/cli/commands/restore.ts +314 -0
  77. package/server/cli/commands/service.ts +320 -0
  78. package/server/cli/commands/shell-hook.ts +512 -0
  79. package/server/cli/commands/skill.ts +216 -0
  80. package/server/cli/commands/start.ts +139 -0
  81. package/server/cli/commands/status.ts +59 -0
  82. package/server/cli/commands/stop.ts +36 -0
  83. package/server/cli/commands/token.ts +180 -0
  84. package/server/cli/commands/unlock.ts +50 -0
  85. package/server/cli/commands/vault.ts +1323 -0
  86. package/server/cli/commands/wallet.ts +209 -0
  87. package/server/cli/index.ts +280 -0
  88. package/server/cli/lib/approval-poll.ts +94 -0
  89. package/server/cli/lib/aura-parser.ts +64 -0
  90. package/server/cli/lib/credential-create.ts +74 -0
  91. package/server/cli/lib/credential-resolve.ts +280 -0
  92. package/server/cli/lib/dotenv-migrate.ts +116 -0
  93. package/server/cli/lib/dotenv-parser.ts +146 -0
  94. package/server/cli/lib/escalation.ts +57 -0
  95. package/server/cli/lib/http.ts +91 -0
  96. package/server/cli/lib/init-steps.ts +76 -0
  97. package/server/cli/lib/local-agent-trust.ts +45 -0
  98. package/server/cli/lib/lock-unlock-helper.ts +71 -0
  99. package/server/cli/lib/process.ts +162 -0
  100. package/server/cli/lib/prompt.ts +294 -0
  101. package/server/cli/lib/theme.ts +240 -0
  102. package/server/cli/socket.ts +579 -0
  103. package/server/cli/transport-client.ts +50 -0
  104. package/server/cron/index.ts +137 -0
  105. package/server/cron/job.ts +31 -0
  106. package/server/cron/jobs/balance-sync.ts +436 -0
  107. package/server/cron/jobs/incoming-scan.ts +506 -0
  108. package/server/cron/jobs/native-price.ts +70 -0
  109. package/server/cron/jobs/orphan-cleanup.ts +40 -0
  110. package/server/cron/jobs/strategy-runner.ts +175 -0
  111. package/server/cron/scheduler.ts +125 -0
  112. package/server/index.ts +420 -0
  113. package/server/lib/adapters/factory.ts +119 -0
  114. package/server/lib/adapters/index.ts +19 -0
  115. package/server/lib/adapters/router.ts +297 -0
  116. package/server/lib/adapters/telegram.ts +645 -0
  117. package/server/lib/adapters/types.ts +89 -0
  118. package/server/lib/adapters/webhook.ts +95 -0
  119. package/server/lib/address.ts +49 -0
  120. package/server/lib/agent-auth/contracts.ts +1194 -0
  121. package/server/lib/agent-profiles.ts +419 -0
  122. package/server/lib/ai.ts +285 -0
  123. package/server/lib/api-registry/contracts.ts +86 -0
  124. package/server/lib/api-registry/validation.ts +172 -0
  125. package/server/lib/apikey-migration.ts +258 -0
  126. package/server/lib/app-installer.ts +505 -0
  127. package/server/lib/app-tokens.ts +247 -0
  128. package/server/lib/approval-link.ts +27 -0
  129. package/server/lib/auth.ts +314 -0
  130. package/server/lib/auto-execute.ts +160 -0
  131. package/server/lib/batch.ts +242 -0
  132. package/server/lib/cold.ts +1048 -0
  133. package/server/lib/config.ts +408 -0
  134. package/server/lib/credential-access-audit.ts +85 -0
  135. package/server/lib/credential-access-policy.ts +111 -0
  136. package/server/lib/credential-health.ts +343 -0
  137. package/server/lib/credential-import.ts +608 -0
  138. package/server/lib/credential-scope.ts +102 -0
  139. package/server/lib/credential-shares.ts +190 -0
  140. package/server/lib/credential-transport.ts +533 -0
  141. package/server/lib/credential-vault.ts +77 -0
  142. package/server/lib/credentials.ts +422 -0
  143. package/server/lib/crypto.ts +8 -0
  144. package/server/lib/db.ts +58 -0
  145. package/server/lib/defaults.ts +386 -0
  146. package/server/lib/dex/index.ts +80 -0
  147. package/server/lib/dex/relay.ts +235 -0
  148. package/server/lib/dex/types.ts +59 -0
  149. package/server/lib/dex/uniswap.ts +370 -0
  150. package/server/lib/diary.ts +34 -0
  151. package/server/lib/dont-ask-again-policy.ts +41 -0
  152. package/server/lib/e2e-agent/artifacts.ts +36 -0
  153. package/server/lib/e2e-agent/contracts.ts +112 -0
  154. package/server/lib/e2e-agent/validation.ts +135 -0
  155. package/server/lib/encrypt.ts +114 -0
  156. package/server/lib/error.ts +20 -0
  157. package/server/lib/events.ts +217 -0
  158. package/server/lib/feature-flags.ts +93 -0
  159. package/server/lib/hot.ts +357 -0
  160. package/server/lib/human-action-summary.ts +80 -0
  161. package/server/lib/key-fingerprint.ts +28 -0
  162. package/server/lib/logger.ts +340 -0
  163. package/server/lib/network.ts +137 -0
  164. package/server/lib/notifications.ts +230 -0
  165. package/server/lib/oauth2-refresh.ts +241 -0
  166. package/server/lib/oursecret.ts +71 -0
  167. package/server/lib/passkey-credential.ts +360 -0
  168. package/server/lib/passkey.ts +68 -0
  169. package/server/lib/permissions.ts +299 -0
  170. package/server/lib/pino.ts +24 -0
  171. package/server/lib/policy-preview.ts +138 -0
  172. package/server/lib/price.ts +338 -0
  173. package/server/lib/prices.ts +34 -0
  174. package/server/lib/project-scope.ts +297 -0
  175. package/server/lib/resolve-action.ts +328 -0
  176. package/server/lib/resolve.ts +36 -0
  177. package/server/lib/secret-gist-share.ts +296 -0
  178. package/server/lib/sessions.ts +634 -0
  179. package/server/lib/socket-path.ts +56 -0
  180. package/server/lib/solana/connection.ts +26 -0
  181. package/server/lib/solana/jupiter.ts +128 -0
  182. package/server/lib/solana/transfer.ts +108 -0
  183. package/server/lib/solana/wallet.ts +136 -0
  184. package/server/lib/strategy/emits.ts +21 -0
  185. package/server/lib/strategy/engine.ts +1305 -0
  186. package/server/lib/strategy/executor.ts +115 -0
  187. package/server/lib/strategy/hook-context.ts +159 -0
  188. package/server/lib/strategy/hooks.ts +990 -0
  189. package/server/lib/strategy/index.ts +28 -0
  190. package/server/lib/strategy/installer.ts +305 -0
  191. package/server/lib/strategy/loader.ts +256 -0
  192. package/server/lib/strategy/message.ts +237 -0
  193. package/server/lib/strategy/repository.ts +218 -0
  194. package/server/lib/strategy/session-logger.ts +693 -0
  195. package/server/lib/strategy/sources.ts +288 -0
  196. package/server/lib/strategy/state.ts +189 -0
  197. package/server/lib/strategy/templates.ts +403 -0
  198. package/server/lib/strategy/tick.ts +404 -0
  199. package/server/lib/strategy/types.ts +230 -0
  200. package/server/lib/swap.ts +3 -0
  201. package/server/lib/temp.ts +86 -0
  202. package/server/lib/token-metadata.ts +86 -0
  203. package/server/lib/token-safety.ts +200 -0
  204. package/server/lib/token-search.ts +444 -0
  205. package/server/lib/totp.ts +194 -0
  206. package/server/lib/transactions.ts +123 -0
  207. package/server/lib/transport.ts +84 -0
  208. package/server/lib/txhistory/decoder.ts +262 -0
  209. package/server/lib/txhistory/enricher.ts +652 -0
  210. package/server/lib/txhistory/index.ts +391 -0
  211. package/server/lib/txhistory/signatures.ts +59 -0
  212. package/server/lib/update-check.ts +35 -0
  213. package/server/lib/verified-summary.ts +414 -0
  214. package/server/lib/view-registry.ts +80 -0
  215. package/server/mcp/profile-policy.ts +30 -0
  216. package/server/mcp/server.ts +1589 -0
  217. package/server/mcp/tools.ts +276 -0
  218. package/server/middleware/auth.ts +119 -0
  219. package/server/middleware/requestLogger.ts +84 -0
  220. package/server/routes/actions.ts +539 -0
  221. package/server/routes/adapters.ts +711 -0
  222. package/server/routes/addressbook.ts +113 -0
  223. package/server/routes/ai.ts +34 -0
  224. package/server/routes/apikeys.ts +343 -0
  225. package/server/routes/apps.ts +601 -0
  226. package/server/routes/auth.ts +406 -0
  227. package/server/routes/backup.ts +404 -0
  228. package/server/routes/batch.ts +270 -0
  229. package/server/routes/bookmarks.ts +162 -0
  230. package/server/routes/credential-shares.ts +380 -0
  231. package/server/routes/credential-vaults.ts +159 -0
  232. package/server/routes/credentials.ts +1782 -0
  233. package/server/routes/dashboard.ts +97 -0
  234. package/server/routes/defaults.ts +124 -0
  235. package/server/routes/flags.ts +11 -0
  236. package/server/routes/fund.ts +225 -0
  237. package/server/routes/heartbeat.ts +375 -0
  238. package/server/routes/import.ts +364 -0
  239. package/server/routes/launch.ts +665 -0
  240. package/server/routes/lock.ts +54 -0
  241. package/server/routes/logs.ts +68 -0
  242. package/server/routes/nuke.ts +111 -0
  243. package/server/routes/passkey-credentials.ts +99 -0
  244. package/server/routes/passkey.ts +366 -0
  245. package/server/routes/portfolio.ts +217 -0
  246. package/server/routes/price.ts +63 -0
  247. package/server/routes/resolve.ts +31 -0
  248. package/server/routes/security.ts +45 -0
  249. package/server/routes/send-evm.ts +241 -0
  250. package/server/routes/send-solana.ts +281 -0
  251. package/server/routes/send.ts +178 -0
  252. package/server/routes/setup.ts +210 -0
  253. package/server/routes/strategy.ts +894 -0
  254. package/server/routes/swap-evm.ts +352 -0
  255. package/server/routes/swap-solana.ts +176 -0
  256. package/server/routes/swap.ts +356 -0
  257. package/server/routes/token.ts +247 -0
  258. package/server/routes/unlock.ts +467 -0
  259. package/server/routes/views.ts +41 -0
  260. package/server/routes/wallet-assets.ts +361 -0
  261. package/server/routes/wallet-transactions.ts +515 -0
  262. package/server/routes/wallet.ts +709 -0
  263. package/server/types.ts +146 -0
  264. package/shared/credential-field-schema.ts +248 -0
  265. package/skills/auramaxx/HEARTBEAT.md +78 -0
  266. package/skills/auramaxx/SKILL.md +745 -0
  267. package/skills/auramaxx/docs/AGENT_SETUP.md +155 -0
  268. package/skills/auramaxx/docs/API.md +127 -0
  269. package/skills/auramaxx/docs/AUTH.md +318 -0
  270. package/skills/auramaxx/docs/CLI.md +130 -0
  271. package/skills/auramaxx/docs/MCP.md +122 -0
  272. package/skills/auramaxx/docs/TROUBLESHOOTING.md +357 -0
  273. package/skills/auramaxx/docs/WORKSPACE.md +673 -0
  274. package/skills/auramaxx/docs/security.md +227 -0
  275. package/skills/task-lifecycle/SKILL.md +378 -0
  276. package/src/app/api/[...doc]/page.tsx +36 -0
  277. package/src/app/api/agent-requests/route.ts +30 -0
  278. package/src/app/api/apps/install/route.ts +132 -0
  279. package/src/app/api/apps/manifests/route.ts +16 -0
  280. package/src/app/api/apps/static/[...path]/route.ts +57 -0
  281. package/src/app/api/docs/plain/route.ts +74 -0
  282. package/src/app/api/events/route.ts +92 -0
  283. package/src/app/api/page.tsx +290 -0
  284. package/src/app/api/workspace/[id]/apps/[wid]/route.ts +119 -0
  285. package/src/app/api/workspace/[id]/apps/route.ts +81 -0
  286. package/src/app/api/workspace/[id]/export/route.ts +67 -0
  287. package/src/app/api/workspace/[id]/route.ts +168 -0
  288. package/src/app/api/workspace/auth.ts +40 -0
  289. package/src/app/api/workspace/config/route.ts +121 -0
  290. package/src/app/api/workspace/import/route.ts +127 -0
  291. package/src/app/api/workspace/route.ts +116 -0
  292. package/src/app/app-legacy-do-not-use/page.tsx +2245 -0
  293. package/src/app/apple-icon.png +0 -0
  294. package/src/app/approve/[actionId]/page.tsx +409 -0
  295. package/src/app/docs/DocsPageContent.tsx +269 -0
  296. package/src/app/docs/[...doc]/page.tsx +41 -0
  297. package/src/app/docs/page.tsx +38 -0
  298. package/src/app/favicon.ico +0 -0
  299. package/src/app/globals.css +819 -0
  300. package/src/app/health/page.tsx +5 -0
  301. package/src/app/hello/page.tsx +102 -0
  302. package/src/app/icon.png +0 -0
  303. package/src/app/layout.tsx +39 -0
  304. package/src/app/page.tsx +1964 -0
  305. package/src/app/privacy/page.tsx +63 -0
  306. package/src/app/providers.tsx +87 -0
  307. package/src/app/share/[token]/page.tsx +295 -0
  308. package/src/app/terms/page.tsx +80 -0
  309. package/src/components/ChainSelector.tsx +44 -0
  310. package/src/components/HumanActionBar.tsx +697 -0
  311. package/src/components/NotificationDrawer.tsx +387 -0
  312. package/src/components/PasskeyEnrollmentPrompt.tsx +235 -0
  313. package/src/components/apps/AgentKeysApp.tsx +490 -0
  314. package/src/components/apps/App.tsx +153 -0
  315. package/src/components/apps/AppGrid.tsx +15 -0
  316. package/src/components/apps/DetailedAddressDrawer.tsx +325 -0
  317. package/src/components/apps/DraggableApp.tsx +562 -0
  318. package/src/components/apps/IFrameApp.tsx +73 -0
  319. package/src/components/apps/LogsApp.tsx +360 -0
  320. package/src/components/apps/SendApp.tsx +394 -0
  321. package/src/components/apps/SetupWizardApp.tsx +1004 -0
  322. package/src/components/apps/SystemDefaultsApp.tsx +845 -0
  323. package/src/components/apps/ThirdPartyApp.tsx +428 -0
  324. package/src/components/apps/TokenApp.tsx +319 -0
  325. package/src/components/apps/TransactionsApp.tsx +438 -0
  326. package/src/components/apps/WalletDetailApp.tsx +1505 -0
  327. package/src/components/apps/index.ts +13 -0
  328. package/src/components/design-system/Button.tsx +88 -0
  329. package/src/components/design-system/ChainIndicator.tsx +65 -0
  330. package/src/components/design-system/ChainSelector.tsx +147 -0
  331. package/src/components/design-system/ConfirmationModal.tsx +107 -0
  332. package/src/components/design-system/ConfirmationPopover.tsx +81 -0
  333. package/src/components/design-system/DownloadButton.tsx +149 -0
  334. package/src/components/design-system/Drawer.tsx +133 -0
  335. package/src/components/design-system/FilterDropdown.tsx +183 -0
  336. package/src/components/design-system/ItemPicker.tsx +157 -0
  337. package/src/components/design-system/Modal.tsx +296 -0
  338. package/src/components/design-system/Popover.tsx +142 -0
  339. package/src/components/design-system/TextInput.tsx +85 -0
  340. package/src/components/design-system/Toggle.tsx +65 -0
  341. package/src/components/design-system/TyvekCollapsibleSection.tsx +55 -0
  342. package/src/components/design-system/index.ts +14 -0
  343. package/src/components/docs/ClientSideMarkdown.tsx +51 -0
  344. package/src/components/docs/DocsSearchBar.tsx +118 -0
  345. package/src/components/docs/DocsThemeToggle.tsx +38 -0
  346. package/src/components/docs/PersistentDocGroup.tsx +91 -0
  347. package/src/components/docs/ShareUrlButton.tsx +33 -0
  348. package/src/components/docs/SidebarScrollMemory.tsx +56 -0
  349. package/src/components/health/CredentialHealthDashboard.tsx +214 -0
  350. package/src/components/icons/ChainIcons.tsx +72 -0
  351. package/src/components/layout/AppStoreDrawer.tsx +369 -0
  352. package/src/components/layout/ContentArea.tsx +21 -0
  353. package/src/components/layout/CreateViewModal.tsx +88 -0
  354. package/src/components/layout/LeftRail.tsx +114 -0
  355. package/src/components/layout/TabBar.tsx +284 -0
  356. package/src/components/layout/WalletSidebar.tsx +1030 -0
  357. package/src/components/layout/index.ts +6 -0
  358. package/src/components/marketing/AuraMaxxSpecOverlay.tsx +653 -0
  359. package/src/components/marketing/DeviceMorphExperience.tsx +216 -0
  360. package/src/components/vault/ApiKeysConsole.tsx +1272 -0
  361. package/src/components/vault/AuditConsole.tsx +600 -0
  362. package/src/components/vault/CredentialDetail.tsx +625 -0
  363. package/src/components/vault/CredentialEmpty.tsx +55 -0
  364. package/src/components/vault/CredentialField.tsx +583 -0
  365. package/src/components/vault/CredentialForm.tsx +1484 -0
  366. package/src/components/vault/CredentialList.tsx +265 -0
  367. package/src/components/vault/CredentialRow.tsx +130 -0
  368. package/src/components/vault/CredentialShareModal.tsx +273 -0
  369. package/src/components/vault/CredentialVault.tsx +1662 -0
  370. package/src/components/vault/CredentialWalletWidget.tsx +103 -0
  371. package/src/components/vault/DocsConsole.tsx +113 -0
  372. package/src/components/vault/ImportCredentialsModal.tsx +578 -0
  373. package/src/components/vault/LargeTypeModal.tsx +88 -0
  374. package/src/components/vault/PasswordGenerator.tsx +232 -0
  375. package/src/components/vault/TOTPDisplay.tsx +108 -0
  376. package/src/components/vault/TotpSetupPanel.tsx +198 -0
  377. package/src/components/vault/VaultSidebar.tsx +881 -0
  378. package/src/components/vault/credentialFormName.ts +91 -0
  379. package/src/components/vault/hooks/useVaultKeyboardShortcuts.ts +69 -0
  380. package/src/components/vault/types.ts +56 -0
  381. package/src/context/AuthContext.tsx +365 -0
  382. package/src/context/PriceContext.tsx +113 -0
  383. package/src/context/ThemeContext.tsx +164 -0
  384. package/src/context/WebSocketContext.tsx +269 -0
  385. package/src/context/WorkspaceContext.tsx +668 -0
  386. package/src/hooks/index.ts +4 -0
  387. package/src/hooks/useAgentActions.ts +552 -0
  388. package/src/hooks/useBalance.ts +103 -0
  389. package/src/hooks/useBalances.ts +129 -0
  390. package/src/hooks/useTheme.ts +156 -0
  391. package/src/instrumentation.ts +12 -0
  392. package/src/lib/api-docs.ts +154 -0
  393. package/src/lib/api.ts +474 -0
  394. package/src/lib/app-loader.ts +148 -0
  395. package/src/lib/app-registry.ts +178 -0
  396. package/src/lib/app-sdk.ts +157 -0
  397. package/src/lib/audit-console-adapter.ts +151 -0
  398. package/src/lib/auth-client.ts +75 -0
  399. package/src/lib/config.ts +74 -0
  400. package/src/lib/credential-field-schema.ts +11 -0
  401. package/src/lib/crypto.ts +112 -0
  402. package/src/lib/db.ts +21 -0
  403. package/src/lib/docs.ts +544 -0
  404. package/src/lib/events.ts +363 -0
  405. package/src/lib/pino.ts +24 -0
  406. package/src/lib/theme-handlers.ts +168 -0
  407. package/src/lib/theme.ts +351 -0
  408. package/src/lib/tokenData.ts +378 -0
  409. package/src/lib/totp-import.ts +57 -0
  410. package/src/lib/vault-crypto.ts +129 -0
  411. package/src/lib/view-registry.ts +57 -0
  412. package/src/lib/websocket-server.ts +302 -0
  413. package/src/lib/websocket-setup.ts +79 -0
  414. package/src/lib/wordlist.ts +2050 -0
  415. package/src/lib/workspace-handlers.ts +285 -0
  416. package/start.sh +170 -0
  417. package/tailwind.config.ts +99 -0
  418. package/tsconfig.json +42 -0
@@ -0,0 +1,155 @@
1
+ # Agent Setup
2
+
3
+ Make sure AuraMaxx is running first:
4
+
5
+ ```bash
6
+ auramaxx
7
+ auramaxx status
8
+ ```
9
+
10
+ ---
11
+
12
+ ## What are you using?
13
+
14
+ | Client | Setup |
15
+ |--------|-------|
16
+ | 🦞 OpenClaw | [Skills](#skills) |
17
+ | 🤖 Claude Code | [Skills](#skills) |
18
+ | 📟 Codex CLI | [Skills](#skills) |
19
+ | 🖥️ Claude Desktop | [MCP](#mcp) |
20
+ | 🖱️ Cursor IDE | [MCP](#mcp) |
21
+ | 🏄 Windsurf | [MCP](#mcp) |
22
+ | 🚀 Antigravity | [MCP](#mcp) |
23
+ | 🔌 VS Code + Continue | [MCP](#mcp) |
24
+ | 🧩 Any MCP client | [MCP](#mcp) |
25
+
26
+ ---
27
+
28
+ ## Skills
29
+
30
+ Skills give your agent built-in knowledge of AuraMaxx commands and workflows.
31
+
32
+ Install all at once:
33
+
34
+ ```bash
35
+ auramaxx skill
36
+ ```
37
+
38
+ Or install per client:
39
+
40
+ ### 🤖 Claude Code
41
+
42
+ ```bash
43
+ auramaxx skill --claude
44
+
45
+ # Or manually, from your project:
46
+ mkdir -p .claude/skills
47
+ cd .claude/skills
48
+ npx -y skills add Aura-Industry/auramaxx
49
+ ```
50
+
51
+ Installs to `~/.claude/skills/auramaxx`.
52
+
53
+ ### 📟 Codex CLI
54
+
55
+ ```bash
56
+ auramaxx skill --codex
57
+
58
+ # Or manually, from anywhere:
59
+ mkdir -p ~/.codex/skills
60
+ cd ~/.codex/skills
61
+ npx -y skills add Aura-Industry/auramaxx
62
+ ```
63
+
64
+ Installs to `~/.codex/skills/auramaxx`.
65
+
66
+ ### 🦞 OpenClaw
67
+
68
+ ```bash
69
+ auramaxx skill --openclaw
70
+
71
+ # Or manually, from your workspace:
72
+ mkdir -p skills
73
+ cd skills
74
+ npx -y skills add Aura-Industry/auramaxx
75
+ ```
76
+
77
+ Installs to `~/.openclaw/skills/auramaxx`.
78
+
79
+ ### Other clients
80
+
81
+ ```bash
82
+ cd <your-codebase>
83
+ npx -y skills add Aura-Industry/auramaxx
84
+ ```
85
+
86
+ ### Verify
87
+
88
+ ```bash
89
+ auramaxx skill --doctor
90
+ ```
91
+
92
+ ---
93
+
94
+ ## MCP
95
+
96
+ MCP gives your agent direct tool access to the vault (read secrets, write secrets, manage wallets). If your client supports [Skills](#skills), use those instead — they're simpler and don't require a running server connection.
97
+
98
+ Auto-configure all detected clients at once:
99
+
100
+ ```bash
101
+ auramaxx mcp --install
102
+ ```
103
+
104
+ Or paste this config block into your client's MCP config:
105
+
106
+ ```json
107
+ {
108
+ "mcpServers": {
109
+ "auramaxx": {
110
+ "command": "npx",
111
+ "args": ["auramaxx", "mcp"]
112
+ }
113
+ }
114
+ }
115
+ ```
116
+
117
+ ### 🤖 Claude Code
118
+
119
+ ```bash
120
+ claude mcp add auramaxx -- npx auramaxx mcp
121
+ ```
122
+
123
+ ### 📟 Codex CLI
124
+
125
+ ```bash
126
+ codex mcp add auramaxx -- npx auramaxx mcp
127
+ ```
128
+
129
+ ### Where to paste the config block
130
+
131
+ - 🖥️ **Claude Desktop** — `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows)
132
+ - 🖱️ **Cursor IDE** — MCP settings JSON editor
133
+ - 🏄 **Windsurf** — `~/.windsurf/mcp.json`
134
+ - 🔌 **VS Code + Continue** — `.vscode/mcp.json` in your project
135
+ - 🦞 **OpenClaw** — add stdio server `npx auramaxx mcp` in MCP settings
136
+
137
+ Restart your client after saving.
138
+
139
+ ---
140
+
141
+ ## Verify
142
+
143
+ ```bash
144
+ auramaxx get OURSECRET
145
+ ```
146
+
147
+ Then ask your agent:
148
+
149
+ `Use auramaxx to get the secret OURSECRET.`
150
+
151
+ ---
152
+
153
+ ## Troubleshooting
154
+
155
+ See [TROUBLESHOOTING.md](TROUBLESHOOTING.md).
@@ -0,0 +1,127 @@
1
+ # AuraMaxx API
2
+
3
+ This file is the **API entrypoint** for agents.
4
+
5
+ Use this page for the common path, then jump to the deep reference docs listed below.
6
+
7
+ Server base URL:
8
+
9
+ ```text
10
+ http://localhost:4242
11
+ ```
12
+
13
+ ## Common Path (Agent First)
14
+
15
+ ### 1) Request an agent token
16
+
17
+ ```http
18
+ POST /auth
19
+ Content-Type: application/json
20
+
21
+ {
22
+ "agentId": "my-agent",
23
+ "profile": "strict",
24
+ "profileVersion": "v1",
25
+ "pubkey": "<RSA public key PEM or base64>",
26
+ "action": { // optional: auto-execute on approval
27
+ "endpoint": "/send",
28
+ "method": "POST",
29
+ "body": { "to": "0x...", "amount": "0.01" }
30
+ }
31
+ }
32
+ ```
33
+
34
+ When `action` is provided, the pre-computed action auto-executes with the newly-minted token after human approval.
35
+
36
+ Human approves in dashboard, then poll:
37
+
38
+ ```http
39
+ GET /auth/:requestId?secret=:secret
40
+ ```
41
+
42
+ ### 2) Read a secret (`get_secret`)
43
+
44
+ `get_secret` maps to credential APIs under the hood:
45
+
46
+ - find credential metadata: `GET /credentials`
47
+ - read encrypted fields: `POST /credentials/:id/read`
48
+
49
+ ### 3) Set/update a secret (`put_secret`)
50
+
51
+ Most common write path:
52
+
53
+ ```http
54
+ POST /credentials
55
+ ```
56
+
57
+ Update existing credential:
58
+
59
+ ```http
60
+ PUT /credentials/:id
61
+ ```
62
+
63
+ ### 4) Write diary (`write_diary`)
64
+
65
+ ```http
66
+ POST /what_is_happening/diary
67
+ ```
68
+
69
+ ### 5) Call broader APIs (`wallet_api`)
70
+
71
+ Common starts:
72
+
73
+ ```http
74
+ GET /wallets
75
+ GET /token/search?q=PEPE&chain=base
76
+ POST /wallet/create
77
+ POST /send
78
+ POST /swap
79
+ POST /fund
80
+ ```
81
+
82
+ If you get `403`, request human approval via `POST /auth` (include an `action` field for auto-execute on approval).
83
+
84
+ ## Quick Common Endpoints
85
+
86
+ | Endpoint | Method | Typical Use |
87
+ |---|---|---|
88
+ | `/auth` | POST | Request token (approval flow) |
89
+ | `/auth/:requestId?secret=...` | GET | Poll token request status |
90
+ | `/credentials` | GET | List credential metadata |
91
+ | `/credentials` | POST | Create credential |
92
+ | `/credentials/:id/read` | POST | Read credential (encrypted response) |
93
+ | `/credentials/:id` | PUT | Update credential |
94
+ | `/credential-shares` | POST | Create share link |
95
+ | `/credential-shares/gist` | POST | Create GitHub secret gist share |
96
+ | `/what_is_happening/diary` | POST | Append diary note |
97
+ | `/wallets` | GET | List wallets |
98
+
99
+ ## Read More In Depth (Complete API Docs Map)
100
+
101
+ All API docs files are listed here. Keep this section updated when adding/moving API docs.
102
+
103
+ ### Getting Started
104
+
105
+ - `docs/API.md` (this file)
106
+ - [`docs/api/authentication.md`](/api?doc=api/authentication.md)
107
+
108
+ ### Secrets
109
+
110
+ - [`docs/api/secrets/credentials.md`](/api?doc=api/secrets/credentials.md)
111
+ - [`docs/api/secrets/sharing.md`](/api?doc=api/secrets/sharing.md)
112
+ - [`docs/api/secrets/api-keys.md`](/api?doc=api/secrets/api-keys.md)
113
+
114
+ ### Wallets
115
+
116
+ - [`docs/api/wallets/core.md`](/api?doc=api/wallets/core.md)
117
+ - [`docs/api/wallets/data-portfolio.md`](/api?doc=api/wallets/data-portfolio.md)
118
+ - [`docs/api/wallets/apps-strategies.md`](/api?doc=api/wallets/apps-strategies.md)
119
+
120
+ ### System
121
+
122
+ - [`docs/api/system.md`](/api?doc=api/system.md)
123
+
124
+ ## Related Docs
125
+
126
+ - [AUTH.md](AUTH.md) — full auth/permission model
127
+ - [MCP.md](MCP.md) — MCP tools and usage
@@ -0,0 +1,318 @@
1
+ # Authentication & Permissions
2
+
3
+ This document is the practical entry point for onboarding and using AuraMaxx auth safely.
4
+
5
+ ## Quick Start (read this first)
6
+
7
+ ### Who is this for?
8
+
9
+ - 🤖 **Agents/CI tooling**: prefer `POST /auth` and token polling flows.
10
+ - 🧑 **Humans**: open the approval link (`/approve/<requestId>`) to review and approve/deny requests.
11
+ - 🛠️ **Developers running local MCP/CLI**: use MCP/socket defaults only when local trust is intentionally configured.
12
+
13
+ ### Fastest path (recommended)
14
+
15
+ #### 1) Agent onboarding (least privilege, human approval)
16
+
17
+ ```bash
18
+ # Request an agent token under a named profile.
19
+ auramaxx auth request --agent-id my-agent --profile strict
20
+
21
+ # Wait for approval in dashboard, then poll locally (or use --no-wait and poll manually)
22
+ auramaxx auth poll <requestId> --secret <secret> --private-key-file /tmp/aura-agent-private.pem
23
+ ```
24
+
25
+ #### 2) Human unlock (admin session)
26
+
27
+ ```bash
28
+ auramaxx unlock
29
+ # (or: curl POST /unlock for script-driven unlock with encrypted password)
30
+ ```
31
+
32
+ #### 3) Validate and troubleshoot
33
+
34
+ ```bash
35
+ curl -sS http://localhost:4242/auth/validate \
36
+ -H "Authorization: Bearer <token>"
37
+ ```
38
+
39
+ - `200` = token is currently valid for permission checks.
40
+ - non-200 = expired/revoked/syntax mismatch, re-run onboarding.
41
+
42
+ ---
43
+
44
+ ## Decision Matrix (pick the right path)
45
+
46
+ | Use case | Best flow | Why | Typical command/endpoint |
47
+ |---|---|---|---|
48
+ | Standard agent needs ongoing access | **Profile onboarding** | Bound by profile defaults + tighten-only overrides | `POST /auth` (via `auramaxx auth request`) |
49
+ | One-off escalation for one action | **Auth + action** | Token + auto-execute in one approval | `POST /auth` with `action` field |
50
+ | Trusted admin automation / headless tool | **Direct issue (admin only)** | Explicit admin-controlled issuance | `POST /actions/token` |
51
+ | Local MCP/CLI bootstrap on same host | **Socket bootstrap** | Fast path for trusted local callers | Unix socket + trust defaults |
52
+ | Validate active token before use | **Token check** | Detect expiration/revocation before a failing call | `POST /auth/validate` |
53
+ | Revoke compromised token | **Revoke token** | Immediate disable for one token | `POST /actions/tokens/revoke` |
54
+
55
+ If uncertain, default to **profile onboarding** and keep it strict.
56
+
57
+ ---
58
+
59
+ ## Auth Flow Summary
60
+
61
+ - `POST /auth` is **profile-based** and requires human approval. Supports an optional `action` field for auto-execute on approval.
62
+ - `POST /actions` is **internal** (used by the strategy engine). Agents should use `POST /auth` with `action` instead.
63
+ - `POST /actions/token` is **admin-only** and supports profile-mode or permissions-mode (never both).
64
+ - `POST /auth/validate` checks token validity at runtime.
65
+ - `POST /actions/tokens/revoke` invalidates issued tokens.
66
+
67
+ ---
68
+
69
+ ## For Agents
70
+
71
+ > **IMPORTANT**: Agents should request tokens via `POST /auth` and use the approval flow. Human approval is still the security boundary, even when local trust is enabled.
72
+
73
+ ## CLI (recommended)
74
+
75
+ ```bash
76
+ # Create auth request (profile flow)
77
+ auramaxx auth request --agent-id my-agent --profile strict
78
+
79
+ # Poll with CLI helper (agent private key decrypts response)
80
+ auramaxx auth poll <requestId> --secret <secret> --private-key-file /tmp/aura-agent-private.pem
81
+ ```
82
+
83
+ Advanced option (no interactive poll):
84
+
85
+ ```bash
86
+ auramaxx auth request --agent-id my-agent --profile strict --no-wait
87
+ auramaxx auth poll <requestId> --secret <secret> --private-key-file /tmp/aura-agent-private.pem --once
88
+ ```
89
+
90
+ ## MCP / socket bootstrap
91
+
92
+ ```bash
93
+ # Start runtime
94
+ auramaxx
95
+
96
+ # Optional one-time IDE setup
97
+ auramaxx mcp --install
98
+ ```
99
+
100
+ MCP bootstrap path:
101
+ 1. Unix socket auto-approve (if local trust permits)
102
+ 2. `AURA_TOKEN` env fallback
103
+
104
+ If socket bootstrap is blocked, fall back to normal token flow:
105
+
106
+ ```bash
107
+ AURA_TOKEN=<token> auramaxx mcp
108
+ ```
109
+
110
+ ## Raw HTTP / cURL examples
111
+
112
+ ### `POST /auth` (profile flow)
113
+
114
+ `POST /auth` is profile-based. Raw permission payloads and raw TTL are rejected.
115
+
116
+ ```bash
117
+ # 1) Generate ephemeral RSA keypair for token transport
118
+ openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out /tmp/aura-agent-private.pem
119
+ openssl rsa -in /tmp/aura-agent-private.pem -pubout -out /tmp/aura-agent-public.pem
120
+ PUBKEY_B64="$(base64 < /tmp/aura-agent-public.pem | tr -d '\n')"
121
+
122
+ # 2) Request token issuance
123
+ curl -sS -X POST http://localhost:4242/auth \
124
+ -H "Content-Type: application/json" \
125
+ -d "{\"agentId\":\"my-agent\",\"profile\":\"strict\",\"profileVersion\":\"v1\",\"pubkey\":\"$PUBKEY_B64\"}"
126
+
127
+ # 3) Poll request status
128
+ curl -sS "http://localhost:4242/auth/<requestId>?secret=<secret>"
129
+ ```
130
+
131
+ ### `POST /auth/validate`
132
+
133
+ ```bash
134
+ curl -sS -X POST http://localhost:4242/auth/validate \
135
+ -H "Authorization: Bearer <token>"
136
+ ```
137
+
138
+ ### `POST /actions/token`
139
+
140
+ `/actions/token` supports **exactly one** issue mode:
141
+
142
+ - `profile` mode: `profile`, `profileVersion`, optional tighten-only overrides
143
+ - `permissions` mode: explicit permission grant
144
+
145
+ ```bash
146
+ curl -sS -X POST http://localhost:4242/actions/token \
147
+ -H "Authorization: Bearer <admin_token>" \
148
+ -H "Content-Type: application/json" \
149
+ -d '{"profile":"strict","profileVersion":"v1","pubkey":"'$PUBKEY_B64'"}'
150
+ ```
151
+
152
+ ### Revoke a token
153
+
154
+ ```bash
155
+ curl -sS -X POST http://localhost:4242/actions/tokens/revoke \
156
+ -H "Authorization: Bearer <admin_token>" \
157
+ -H "Content-Type: application/json" \
158
+ -d '{"jti":"<token_id>","reason":"Compromised agent key"}'
159
+ ```
160
+
161
+ ## Auth Flow Comparison
162
+
163
+ | Flow | Endpoint | Human gate? | Intended for |
164
+ |---|---|---|---|
165
+ | Agent Request | `POST /auth` + claim | Yes | Standard agent onboarding |
166
+ | Auth + Action | `POST /auth` with `action` field | Yes | One-off action-scoped escalation (auto-executes on approval) |
167
+ | Direct Admin Issue | `POST /actions/token` | Yes (admin required) | Headless/admin orchestration |
168
+ | Local Socket | Unix socket bootstrap | Trust-dependent | Fast local MCP bootstrap |
169
+ | Unlock/session | `POST /unlock` | Yes | Local machine setup/bootstrap |
170
+
171
+ ## Profile-Based Issuance
172
+
173
+ ### `/auth` is profile-only
174
+
175
+ `POST /auth` requires:
176
+ - `agentId`
177
+ - `profile`
178
+ - `pubkey`
179
+
180
+ Optional:
181
+ - `profileVersion` (defaults to `v1`)
182
+ - `profileOverrides` (tighten-only)
183
+ - `limit` / `limits.fund`
184
+ - `action` — pre-computed action to auto-execute on approval: `{ endpoint, method, body? }`
185
+
186
+ Rejected:
187
+ - raw `permissions`
188
+ - raw `ttl`
189
+ - raw `credentialAccess`
190
+
191
+ ### `/actions/token` strict mode
192
+
193
+ `POST /actions/token` accepts **exactly one** issuance strategy:
194
+
195
+ - profile mode (`profile`, `profileVersion`, `profileOverrides`)
196
+ - permissions mode (`permissions`)
197
+
198
+ ### Built-in Profiles (v1)
199
+
200
+ | Profile | Permissions | Read Scopes | Write Scopes | Excluded Fields | TTL | Max Reads |
201
+ |---------|------------|-------------|-------------|-----------------|-----|-----------|
202
+ | `strict` | `secret:read` | `vault:agent` | none | `password, cvv, privateKey, seedPhrase, refresh_token` | 15 min | 50 |
203
+ | `dev` | `wallet:list, secret:read, secret:write, action:create, action:read, action:resolve` | `vault:*` | `vault:*` | `cvv, seedPhrase, privateKey, refresh_token` | 1 hour | 500 |
204
+ | `admin` | `admin:*` | `*` | `*` | none | 1 hour | unlimited |
205
+
206
+ ### Credential Scope Selectors
207
+
208
+ Use selectors to bound what an agent can see or edit:
209
+
210
+ - `vault:agent` — agent vault only
211
+ - `vault:primary` — primary vault only
212
+ - `vault:*` — all vaults
213
+ - `*` — all credentials
214
+ - `tag:<label>` — credentials with a specific tag
215
+ - `cred-xxxxx` — a specific credential by ID
216
+
217
+ ### Profile Overrides (`profileOverrides`)
218
+
219
+ Overrides are **tighten-only** — they can only reduce privilege, never broaden it.
220
+
221
+ | Override Key | Type | Tighten-only Rule |
222
+ |---|---|---|
223
+ | `ttlSeconds` | number | Must be shorter than profile default |
224
+ | `maxReads` | number | Must be ≤ profile default |
225
+ | `scope` | string[] | Must be subset of profile permissions |
226
+ | `readScopes` | string[] | Must be subset of profile read scopes |
227
+ | `writeScopes` | string[] | Must be subset of profile write scopes |
228
+ | `excludeFields` | string[] | Can only add exclusions, never remove profile-required ones |
229
+
230
+ Example — request a `dev` profile but restrict to agent vault and shorten TTL:
231
+
232
+ ```bash
233
+ curl -sS -X POST http://localhost:4242/auth \
234
+ -H "Content-Type: application/json" \
235
+ -d '{
236
+ "agentId": "my-agent",
237
+ "profile": "dev",
238
+ "pubkey": "'$PUBKEY_B64'",
239
+ "profileOverrides": {
240
+ "ttlSeconds": 600,
241
+ "readScopes": ["vault:agent"],
242
+ "writeScopes": ["vault:agent"],
243
+ "excludeFields": ["cvv", "seedPhrase", "privateKey", "refresh_token", "password"]
244
+ }
245
+ }'
246
+ ```
247
+
248
+ Use `POST /actions/token/preview` to inspect the effective policy before issuing:
249
+
250
+ ```bash
251
+ curl -sS -X POST http://localhost:4242/actions/token/preview \
252
+ -H "Authorization: Bearer <admin_token>" \
253
+ -H "Content-Type: application/json" \
254
+ -d '{"profile": "dev", "profileOverrides": {"ttlSeconds": 600}}'
255
+ ```
256
+
257
+ ## Socket defaults and trust
258
+
259
+ Defaults:
260
+
261
+ - API server: `http://localhost:4242`
262
+ - Socket path: `/tmp/aura-cli-<uid>.sock`
263
+ - Local socket perms: `0600`
264
+ - Default trust profile: `dev`
265
+ - `trust.localAutoApprove = false`
266
+
267
+ Use admin auth for trust tuning:
268
+
269
+ ```bash
270
+ curl -sS -X PATCH http://localhost:4242/defaults/trust.localAutoApprove \
271
+ -H "Authorization: Bearer <admin_token>" \
272
+ -H "Content-Type: application/json" \
273
+ -d '{"value": true}'
274
+ ```
275
+
276
+ ## Approving Requests (for humans)
277
+
278
+ When an agent requests access, a human must approve it. Every request gets a dedicated approval page:
279
+
280
+ ```
281
+ http://localhost:4747/approve/<requestId>
282
+ ```
283
+
284
+ The page shows the action summary, requested permissions, risk level, and spending limits. Review the details, then click **Approve** or **Deny**.
285
+
286
+ **Where to find the link:**
287
+ - The `POST /auth` response includes an `approveUrl` field — agents should surface this to the human
288
+ - MCP `auth` tool returns `approveUrl` — give this link to the human
289
+ - CLI `auramaxx auth request` prints the approval URL
290
+ - The dashboard at `http://localhost:4747` also shows pending requests
291
+
292
+ **For agents:** Always give the human the approval URL. Do not just say "approve in the dashboard" — provide the direct link so they can review and approve with one click.
293
+
294
+ ## Token lifecycle and claim behavior
295
+
296
+ 1) Agent requests token → returns `requestId` + `secret` + `approveUrl`.
297
+ 2) Human opens approval URL, reviews permissions, and approves.
298
+ 3) Agent polls `GET /auth/:requestId?secret=...` → one-time claim semantics.
299
+ 4) On approval returns `encryptedToken` + metadata.
300
+ 5) On restart: in-memory state rotates, tokens may be invalidated.
301
+ 6) On revoke: `POST /actions/tokens/revoke` removes active token from trust boundary immediately.
302
+
303
+ ## Encrypted password transport
304
+
305
+ Passwords for `/unlock` and `/setup` are RSA-OAEP encrypted before transmission.
306
+
307
+ - RSA keypair generated on server startup
308
+ - Frontend fetches `/auth/connect` pubkey and encrypts password
309
+ - Password decrypts server-side; token returns only to validated clients
310
+ - Private key stays in process memory
311
+
312
+ ## Related references
313
+
314
+ - [MCP](MCP.md)
315
+ - [CLI](CLI.md)
316
+ - [Security](security.md)
317
+ - [Authentication API](./api/authentication.md)
318
+ - [Troubleshooting](TROUBLESHOOTING.md)