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.
- package/LICENSE +26 -0
- package/README.md +77 -0
- package/apps/desktop-electron/main.js +428 -0
- package/bin/auramaxx.js +1063 -0
- package/docs/ADAPTERS.md +466 -0
- package/docs/AGENT_SETUP.md +159 -0
- package/docs/API.md +127 -0
- package/docs/APPS.md +199 -0
- package/docs/ARCHITECTURE.md +235 -0
- package/docs/AUTH.md +318 -0
- package/docs/BEST-PRACTICES.md +82 -0
- package/docs/CLI.md +141 -0
- package/docs/DESKTOP_ELECTRON.md +26 -0
- package/docs/DEVELOPING-APPS.md +453 -0
- package/docs/MCP.md +122 -0
- package/docs/PACKAGING_POLICY.md +19 -0
- package/docs/PERMISSION.md +137 -0
- package/docs/PROTOCOL.md +142 -0
- package/docs/README.md +50 -0
- package/docs/SKILLS.md +132 -0
- package/docs/TROUBLESHOOTING.md +376 -0
- package/docs/WORKSPACE.md +673 -0
- package/docs/agent-auth.md +14 -0
- package/docs/api/authentication.md +79 -0
- package/docs/api/secrets/api-keys.md +28 -0
- package/docs/api/secrets/credentials.md +80 -0
- package/docs/api/secrets/sharing.md +48 -0
- package/docs/api/system.md +41 -0
- package/docs/api/wallets/apps-strategies.md +66 -0
- package/docs/api/wallets/core.md +46 -0
- package/docs/api/wallets/data-portfolio.md +42 -0
- package/docs/aura-file.md +48 -0
- package/docs/core-concepts/FEATURES.md +114 -0
- package/docs/credentials.md +120 -0
- package/docs/external/HOW_TO_AURAMAXX/GETTING_SECRETS.md +33 -0
- package/docs/external/HOW_TO_AURAMAXX/README.md +45 -0
- package/docs/external/getting-started.md +10 -0
- package/docs/external/overview.md +19 -0
- package/docs/external/persona-paths.md +7 -0
- package/docs/external/share-secret.md +76 -0
- package/docs/external/why-aura.md +7 -0
- package/docs/security.md +227 -0
- package/docs/templates/RELEASE_NOTES_TEMPLATE.md +22 -0
- package/docs/wallet/AI.md +508 -0
- package/docs/wallet/DEVELOPING-STRATEGIES.md +713 -0
- package/docs/wallet/README.md +47 -0
- package/docs/wallet/STRATEGY.md +89 -0
- package/next.config.ts +28 -0
- package/package.json +167 -0
- package/postcss.config.mjs +8 -0
- package/prisma/migrations/20260214170000_baseline/migration.sql +511 -0
- package/prisma/migrations/20260216214537_add_passkey_model/migration.sql +18 -0
- package/prisma/migrations/20260217150500_add_credential_access_audit/migration.sql +31 -0
- package/prisma/migrations/20260222090000_update_admin_ttl_default/migration.sql +10 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +447 -0
- package/public/logo.webp +0 -0
- package/scripts/add-app.js +245 -0
- package/server/abi/SwapHelper.json +438 -0
- package/server/cli/approval.ts +447 -0
- package/server/cli/commands/actions.ts +474 -0
- package/server/cli/commands/api.ts +220 -0
- package/server/cli/commands/apikey.ts +277 -0
- package/server/cli/commands/app.ts +204 -0
- package/server/cli/commands/auth.ts +464 -0
- package/server/cli/commands/cron.ts +24 -0
- package/server/cli/commands/diary.ts +274 -0
- package/server/cli/commands/doctor.ts +1247 -0
- package/server/cli/commands/env.ts +476 -0
- package/server/cli/commands/experimental.ts +69 -0
- package/server/cli/commands/init.ts +798 -0
- package/server/cli/commands/lock.ts +157 -0
- package/server/cli/commands/mcp.ts +285 -0
- package/server/cli/commands/quickhack.ts +86 -0
- package/server/cli/commands/release-check.ts +231 -0
- package/server/cli/commands/restore.ts +314 -0
- package/server/cli/commands/service.ts +320 -0
- package/server/cli/commands/shell-hook.ts +512 -0
- package/server/cli/commands/skill.ts +216 -0
- package/server/cli/commands/start.ts +139 -0
- package/server/cli/commands/status.ts +59 -0
- package/server/cli/commands/stop.ts +36 -0
- package/server/cli/commands/token.ts +180 -0
- package/server/cli/commands/unlock.ts +50 -0
- package/server/cli/commands/vault.ts +1323 -0
- package/server/cli/commands/wallet.ts +209 -0
- package/server/cli/index.ts +280 -0
- package/server/cli/lib/approval-poll.ts +94 -0
- package/server/cli/lib/aura-parser.ts +64 -0
- package/server/cli/lib/credential-create.ts +74 -0
- package/server/cli/lib/credential-resolve.ts +280 -0
- package/server/cli/lib/dotenv-migrate.ts +116 -0
- package/server/cli/lib/dotenv-parser.ts +146 -0
- package/server/cli/lib/escalation.ts +57 -0
- package/server/cli/lib/http.ts +91 -0
- package/server/cli/lib/init-steps.ts +76 -0
- package/server/cli/lib/local-agent-trust.ts +45 -0
- package/server/cli/lib/lock-unlock-helper.ts +71 -0
- package/server/cli/lib/process.ts +162 -0
- package/server/cli/lib/prompt.ts +294 -0
- package/server/cli/lib/theme.ts +240 -0
- package/server/cli/socket.ts +579 -0
- package/server/cli/transport-client.ts +50 -0
- package/server/cron/index.ts +137 -0
- package/server/cron/job.ts +31 -0
- package/server/cron/jobs/balance-sync.ts +436 -0
- package/server/cron/jobs/incoming-scan.ts +506 -0
- package/server/cron/jobs/native-price.ts +70 -0
- package/server/cron/jobs/orphan-cleanup.ts +40 -0
- package/server/cron/jobs/strategy-runner.ts +175 -0
- package/server/cron/scheduler.ts +125 -0
- package/server/index.ts +420 -0
- package/server/lib/adapters/factory.ts +119 -0
- package/server/lib/adapters/index.ts +19 -0
- package/server/lib/adapters/router.ts +297 -0
- package/server/lib/adapters/telegram.ts +645 -0
- package/server/lib/adapters/types.ts +89 -0
- package/server/lib/adapters/webhook.ts +95 -0
- package/server/lib/address.ts +49 -0
- package/server/lib/agent-auth/contracts.ts +1194 -0
- package/server/lib/agent-profiles.ts +419 -0
- package/server/lib/ai.ts +285 -0
- package/server/lib/api-registry/contracts.ts +86 -0
- package/server/lib/api-registry/validation.ts +172 -0
- package/server/lib/apikey-migration.ts +258 -0
- package/server/lib/app-installer.ts +505 -0
- package/server/lib/app-tokens.ts +247 -0
- package/server/lib/approval-link.ts +27 -0
- package/server/lib/auth.ts +314 -0
- package/server/lib/auto-execute.ts +160 -0
- package/server/lib/batch.ts +242 -0
- package/server/lib/cold.ts +1048 -0
- package/server/lib/config.ts +408 -0
- package/server/lib/credential-access-audit.ts +85 -0
- package/server/lib/credential-access-policy.ts +111 -0
- package/server/lib/credential-health.ts +343 -0
- package/server/lib/credential-import.ts +608 -0
- package/server/lib/credential-scope.ts +102 -0
- package/server/lib/credential-shares.ts +190 -0
- package/server/lib/credential-transport.ts +533 -0
- package/server/lib/credential-vault.ts +77 -0
- package/server/lib/credentials.ts +422 -0
- package/server/lib/crypto.ts +8 -0
- package/server/lib/db.ts +58 -0
- package/server/lib/defaults.ts +386 -0
- package/server/lib/dex/index.ts +80 -0
- package/server/lib/dex/relay.ts +235 -0
- package/server/lib/dex/types.ts +59 -0
- package/server/lib/dex/uniswap.ts +370 -0
- package/server/lib/diary.ts +34 -0
- package/server/lib/dont-ask-again-policy.ts +41 -0
- package/server/lib/e2e-agent/artifacts.ts +36 -0
- package/server/lib/e2e-agent/contracts.ts +112 -0
- package/server/lib/e2e-agent/validation.ts +135 -0
- package/server/lib/encrypt.ts +114 -0
- package/server/lib/error.ts +20 -0
- package/server/lib/events.ts +217 -0
- package/server/lib/feature-flags.ts +93 -0
- package/server/lib/hot.ts +357 -0
- package/server/lib/human-action-summary.ts +80 -0
- package/server/lib/key-fingerprint.ts +28 -0
- package/server/lib/logger.ts +340 -0
- package/server/lib/network.ts +137 -0
- package/server/lib/notifications.ts +230 -0
- package/server/lib/oauth2-refresh.ts +241 -0
- package/server/lib/oursecret.ts +71 -0
- package/server/lib/passkey-credential.ts +360 -0
- package/server/lib/passkey.ts +68 -0
- package/server/lib/permissions.ts +299 -0
- package/server/lib/pino.ts +24 -0
- package/server/lib/policy-preview.ts +138 -0
- package/server/lib/price.ts +338 -0
- package/server/lib/prices.ts +34 -0
- package/server/lib/project-scope.ts +297 -0
- package/server/lib/resolve-action.ts +328 -0
- package/server/lib/resolve.ts +36 -0
- package/server/lib/secret-gist-share.ts +296 -0
- package/server/lib/sessions.ts +634 -0
- package/server/lib/socket-path.ts +56 -0
- package/server/lib/solana/connection.ts +26 -0
- package/server/lib/solana/jupiter.ts +128 -0
- package/server/lib/solana/transfer.ts +108 -0
- package/server/lib/solana/wallet.ts +136 -0
- package/server/lib/strategy/emits.ts +21 -0
- package/server/lib/strategy/engine.ts +1305 -0
- package/server/lib/strategy/executor.ts +115 -0
- package/server/lib/strategy/hook-context.ts +159 -0
- package/server/lib/strategy/hooks.ts +990 -0
- package/server/lib/strategy/index.ts +28 -0
- package/server/lib/strategy/installer.ts +305 -0
- package/server/lib/strategy/loader.ts +256 -0
- package/server/lib/strategy/message.ts +237 -0
- package/server/lib/strategy/repository.ts +218 -0
- package/server/lib/strategy/session-logger.ts +693 -0
- package/server/lib/strategy/sources.ts +288 -0
- package/server/lib/strategy/state.ts +189 -0
- package/server/lib/strategy/templates.ts +403 -0
- package/server/lib/strategy/tick.ts +404 -0
- package/server/lib/strategy/types.ts +230 -0
- package/server/lib/swap.ts +3 -0
- package/server/lib/temp.ts +86 -0
- package/server/lib/token-metadata.ts +86 -0
- package/server/lib/token-safety.ts +200 -0
- package/server/lib/token-search.ts +444 -0
- package/server/lib/totp.ts +194 -0
- package/server/lib/transactions.ts +123 -0
- package/server/lib/transport.ts +84 -0
- package/server/lib/txhistory/decoder.ts +262 -0
- package/server/lib/txhistory/enricher.ts +652 -0
- package/server/lib/txhistory/index.ts +391 -0
- package/server/lib/txhistory/signatures.ts +59 -0
- package/server/lib/update-check.ts +35 -0
- package/server/lib/verified-summary.ts +414 -0
- package/server/lib/view-registry.ts +80 -0
- package/server/mcp/profile-policy.ts +30 -0
- package/server/mcp/server.ts +1589 -0
- package/server/mcp/tools.ts +276 -0
- package/server/middleware/auth.ts +119 -0
- package/server/middleware/requestLogger.ts +84 -0
- package/server/routes/actions.ts +539 -0
- package/server/routes/adapters.ts +711 -0
- package/server/routes/addressbook.ts +113 -0
- package/server/routes/ai.ts +34 -0
- package/server/routes/apikeys.ts +343 -0
- package/server/routes/apps.ts +601 -0
- package/server/routes/auth.ts +406 -0
- package/server/routes/backup.ts +404 -0
- package/server/routes/batch.ts +270 -0
- package/server/routes/bookmarks.ts +162 -0
- package/server/routes/credential-shares.ts +380 -0
- package/server/routes/credential-vaults.ts +159 -0
- package/server/routes/credentials.ts +1782 -0
- package/server/routes/dashboard.ts +97 -0
- package/server/routes/defaults.ts +124 -0
- package/server/routes/flags.ts +11 -0
- package/server/routes/fund.ts +225 -0
- package/server/routes/heartbeat.ts +375 -0
- package/server/routes/import.ts +364 -0
- package/server/routes/launch.ts +665 -0
- package/server/routes/lock.ts +54 -0
- package/server/routes/logs.ts +68 -0
- package/server/routes/nuke.ts +111 -0
- package/server/routes/passkey-credentials.ts +99 -0
- package/server/routes/passkey.ts +366 -0
- package/server/routes/portfolio.ts +217 -0
- package/server/routes/price.ts +63 -0
- package/server/routes/resolve.ts +31 -0
- package/server/routes/security.ts +45 -0
- package/server/routes/send-evm.ts +241 -0
- package/server/routes/send-solana.ts +281 -0
- package/server/routes/send.ts +178 -0
- package/server/routes/setup.ts +210 -0
- package/server/routes/strategy.ts +894 -0
- package/server/routes/swap-evm.ts +352 -0
- package/server/routes/swap-solana.ts +176 -0
- package/server/routes/swap.ts +356 -0
- package/server/routes/token.ts +247 -0
- package/server/routes/unlock.ts +467 -0
- package/server/routes/views.ts +41 -0
- package/server/routes/wallet-assets.ts +361 -0
- package/server/routes/wallet-transactions.ts +515 -0
- package/server/routes/wallet.ts +709 -0
- package/server/types.ts +146 -0
- package/shared/credential-field-schema.ts +248 -0
- package/skills/auramaxx/HEARTBEAT.md +78 -0
- package/skills/auramaxx/SKILL.md +745 -0
- package/skills/auramaxx/docs/AGENT_SETUP.md +155 -0
- package/skills/auramaxx/docs/API.md +127 -0
- package/skills/auramaxx/docs/AUTH.md +318 -0
- package/skills/auramaxx/docs/CLI.md +130 -0
- package/skills/auramaxx/docs/MCP.md +122 -0
- package/skills/auramaxx/docs/TROUBLESHOOTING.md +357 -0
- package/skills/auramaxx/docs/WORKSPACE.md +673 -0
- package/skills/auramaxx/docs/security.md +227 -0
- package/skills/task-lifecycle/SKILL.md +378 -0
- package/src/app/api/[...doc]/page.tsx +36 -0
- package/src/app/api/agent-requests/route.ts +30 -0
- package/src/app/api/apps/install/route.ts +132 -0
- package/src/app/api/apps/manifests/route.ts +16 -0
- package/src/app/api/apps/static/[...path]/route.ts +57 -0
- package/src/app/api/docs/plain/route.ts +74 -0
- package/src/app/api/events/route.ts +92 -0
- package/src/app/api/page.tsx +290 -0
- package/src/app/api/workspace/[id]/apps/[wid]/route.ts +119 -0
- package/src/app/api/workspace/[id]/apps/route.ts +81 -0
- package/src/app/api/workspace/[id]/export/route.ts +67 -0
- package/src/app/api/workspace/[id]/route.ts +168 -0
- package/src/app/api/workspace/auth.ts +40 -0
- package/src/app/api/workspace/config/route.ts +121 -0
- package/src/app/api/workspace/import/route.ts +127 -0
- package/src/app/api/workspace/route.ts +116 -0
- package/src/app/app-legacy-do-not-use/page.tsx +2245 -0
- package/src/app/apple-icon.png +0 -0
- package/src/app/approve/[actionId]/page.tsx +409 -0
- package/src/app/docs/DocsPageContent.tsx +269 -0
- package/src/app/docs/[...doc]/page.tsx +41 -0
- package/src/app/docs/page.tsx +38 -0
- package/src/app/favicon.ico +0 -0
- package/src/app/globals.css +819 -0
- package/src/app/health/page.tsx +5 -0
- package/src/app/hello/page.tsx +102 -0
- package/src/app/icon.png +0 -0
- package/src/app/layout.tsx +39 -0
- package/src/app/page.tsx +1964 -0
- package/src/app/privacy/page.tsx +63 -0
- package/src/app/providers.tsx +87 -0
- package/src/app/share/[token]/page.tsx +295 -0
- package/src/app/terms/page.tsx +80 -0
- package/src/components/ChainSelector.tsx +44 -0
- package/src/components/HumanActionBar.tsx +697 -0
- package/src/components/NotificationDrawer.tsx +387 -0
- package/src/components/PasskeyEnrollmentPrompt.tsx +235 -0
- package/src/components/apps/AgentKeysApp.tsx +490 -0
- package/src/components/apps/App.tsx +153 -0
- package/src/components/apps/AppGrid.tsx +15 -0
- package/src/components/apps/DetailedAddressDrawer.tsx +325 -0
- package/src/components/apps/DraggableApp.tsx +562 -0
- package/src/components/apps/IFrameApp.tsx +73 -0
- package/src/components/apps/LogsApp.tsx +360 -0
- package/src/components/apps/SendApp.tsx +394 -0
- package/src/components/apps/SetupWizardApp.tsx +1004 -0
- package/src/components/apps/SystemDefaultsApp.tsx +845 -0
- package/src/components/apps/ThirdPartyApp.tsx +428 -0
- package/src/components/apps/TokenApp.tsx +319 -0
- package/src/components/apps/TransactionsApp.tsx +438 -0
- package/src/components/apps/WalletDetailApp.tsx +1505 -0
- package/src/components/apps/index.ts +13 -0
- package/src/components/design-system/Button.tsx +88 -0
- package/src/components/design-system/ChainIndicator.tsx +65 -0
- package/src/components/design-system/ChainSelector.tsx +147 -0
- package/src/components/design-system/ConfirmationModal.tsx +107 -0
- package/src/components/design-system/ConfirmationPopover.tsx +81 -0
- package/src/components/design-system/DownloadButton.tsx +149 -0
- package/src/components/design-system/Drawer.tsx +133 -0
- package/src/components/design-system/FilterDropdown.tsx +183 -0
- package/src/components/design-system/ItemPicker.tsx +157 -0
- package/src/components/design-system/Modal.tsx +296 -0
- package/src/components/design-system/Popover.tsx +142 -0
- package/src/components/design-system/TextInput.tsx +85 -0
- package/src/components/design-system/Toggle.tsx +65 -0
- package/src/components/design-system/TyvekCollapsibleSection.tsx +55 -0
- package/src/components/design-system/index.ts +14 -0
- package/src/components/docs/ClientSideMarkdown.tsx +51 -0
- package/src/components/docs/DocsSearchBar.tsx +118 -0
- package/src/components/docs/DocsThemeToggle.tsx +38 -0
- package/src/components/docs/PersistentDocGroup.tsx +91 -0
- package/src/components/docs/ShareUrlButton.tsx +33 -0
- package/src/components/docs/SidebarScrollMemory.tsx +56 -0
- package/src/components/health/CredentialHealthDashboard.tsx +214 -0
- package/src/components/icons/ChainIcons.tsx +72 -0
- package/src/components/layout/AppStoreDrawer.tsx +369 -0
- package/src/components/layout/ContentArea.tsx +21 -0
- package/src/components/layout/CreateViewModal.tsx +88 -0
- package/src/components/layout/LeftRail.tsx +114 -0
- package/src/components/layout/TabBar.tsx +284 -0
- package/src/components/layout/WalletSidebar.tsx +1030 -0
- package/src/components/layout/index.ts +6 -0
- package/src/components/marketing/AuraMaxxSpecOverlay.tsx +653 -0
- package/src/components/marketing/DeviceMorphExperience.tsx +216 -0
- package/src/components/vault/ApiKeysConsole.tsx +1272 -0
- package/src/components/vault/AuditConsole.tsx +600 -0
- package/src/components/vault/CredentialDetail.tsx +625 -0
- package/src/components/vault/CredentialEmpty.tsx +55 -0
- package/src/components/vault/CredentialField.tsx +583 -0
- package/src/components/vault/CredentialForm.tsx +1484 -0
- package/src/components/vault/CredentialList.tsx +265 -0
- package/src/components/vault/CredentialRow.tsx +130 -0
- package/src/components/vault/CredentialShareModal.tsx +273 -0
- package/src/components/vault/CredentialVault.tsx +1662 -0
- package/src/components/vault/CredentialWalletWidget.tsx +103 -0
- package/src/components/vault/DocsConsole.tsx +113 -0
- package/src/components/vault/ImportCredentialsModal.tsx +578 -0
- package/src/components/vault/LargeTypeModal.tsx +88 -0
- package/src/components/vault/PasswordGenerator.tsx +232 -0
- package/src/components/vault/TOTPDisplay.tsx +108 -0
- package/src/components/vault/TotpSetupPanel.tsx +198 -0
- package/src/components/vault/VaultSidebar.tsx +881 -0
- package/src/components/vault/credentialFormName.ts +91 -0
- package/src/components/vault/hooks/useVaultKeyboardShortcuts.ts +69 -0
- package/src/components/vault/types.ts +56 -0
- package/src/context/AuthContext.tsx +365 -0
- package/src/context/PriceContext.tsx +113 -0
- package/src/context/ThemeContext.tsx +164 -0
- package/src/context/WebSocketContext.tsx +269 -0
- package/src/context/WorkspaceContext.tsx +668 -0
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useAgentActions.ts +552 -0
- package/src/hooks/useBalance.ts +103 -0
- package/src/hooks/useBalances.ts +129 -0
- package/src/hooks/useTheme.ts +156 -0
- package/src/instrumentation.ts +12 -0
- package/src/lib/api-docs.ts +154 -0
- package/src/lib/api.ts +474 -0
- package/src/lib/app-loader.ts +148 -0
- package/src/lib/app-registry.ts +178 -0
- package/src/lib/app-sdk.ts +157 -0
- package/src/lib/audit-console-adapter.ts +151 -0
- package/src/lib/auth-client.ts +75 -0
- package/src/lib/config.ts +74 -0
- package/src/lib/credential-field-schema.ts +11 -0
- package/src/lib/crypto.ts +112 -0
- package/src/lib/db.ts +21 -0
- package/src/lib/docs.ts +544 -0
- package/src/lib/events.ts +363 -0
- package/src/lib/pino.ts +24 -0
- package/src/lib/theme-handlers.ts +168 -0
- package/src/lib/theme.ts +351 -0
- package/src/lib/tokenData.ts +378 -0
- package/src/lib/totp-import.ts +57 -0
- package/src/lib/vault-crypto.ts +129 -0
- package/src/lib/view-registry.ts +57 -0
- package/src/lib/websocket-server.ts +302 -0
- package/src/lib/websocket-setup.ts +79 -0
- package/src/lib/wordlist.ts +2050 -0
- package/src/lib/workspace-handlers.ts +285 -0
- package/start.sh +170 -0
- package/tailwind.config.ts +99 -0
- 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)
|