{"_id":"@aomi-labs/eliza-plugin-aomi","name":"@aomi-labs/eliza-plugin-aomi","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aomi-labs/eliza-plugin-aomi","version":"0.1.0","description":"Aomi on-chain agent integration for elizaOS with wallet-backed confirmation and execution","type":"module","main":"dist/index.js","types":"dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/aomi-labs/eliza-plugin-aomi.git"},"homepage":"https://github.com/aomi-labs/eliza-plugin-aomi#readme","bugs":{"url":"https://github.com/aomi-labs/eliza-plugin-aomi/issues"},"exports":{"./package.json":"./package.json",".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"}},"scripts":{"build":"tsup src/index.ts --format esm --clean && tsc --declaration --emitDeclarationOnly --noEmit false","test":"vitest run --config vitest.config.ts","test:live":"ELIZA_E2E_AOMI=1 vitest run --config vitest.config.ts src/aomi-client.real.test.ts","test:wallet-live":"ELIZA_E2E_AOMI_WALLET=1 vitest run --config vitest.config.ts src/wallet.real.test.ts","test:wallet-solana-live":"ELIZA_E2E_AOMI_SOLANA_WALLET=1 vitest run --config vitest.config.ts src/wallet-solana.real.test.ts","typecheck":"tsc --noEmit","clean":"rimraf dist .turbo","lint":"bunx @biomejs/biome check --write --unsafe src test package.json registry-entry.json tsconfig.json vitest.config.ts","lint:check":"bunx @biomejs/biome check src test package.json registry-entry.json tsconfig.json vitest.config.ts","format":"bunx @biomejs/biome format --write src test package.json registry-entry.json tsconfig.json vitest.config.ts","format:check":"bunx @biomejs/biome format src test package.json registry-entry.json tsconfig.json vitest.config.ts","prepack":"bun run clean && bun run build"},"dependencies":{"@aomi-labs/client":"^0.3.9","@solana/web3.js":"1.98.4","viem":"^2.48.8"},"peerDependencies":{"@elizaos/core":"^2.0.3-beta.7","@elizaos/plugin-wallet":"^2.0.3-beta.7"},"peerDependenciesMeta":{"@elizaos/plugin-wallet":{"optional":true}},"devDependencies":{"@biomejs/biome":"2.5.5","@elizaos/core":"2.0.3-beta.7","@types/node":"^25.0.3","rimraf":"^6.1.3","tsup":"^8.5.1","typescript":"^5.9.3","vitest":"^4.1.10"},"publishConfig":{"access":"public"},"agentConfig":{"pluginType":"elizaos:plugin:1.0.0","pluginParameters":{"AOMI_API_URL":{"type":"string","description":"Aomi backend base URL.","required":false,"default":"https://api.aomi.dev","sensitive":false},"AOMI_API_KEY":{"type":"string","description":"Optional Aomi API key for a private app namespace.","required":false,"sensitive":true},"AOMI_APP":{"type":"string","description":"Aomi app key used for delegated requests.","required":false,"default":"default","sensitive":false},"AOMI_APPLICATION_ID":{"type":"string","description":"Optional concrete Aomi application id.","required":false,"sensitive":false},"AOMI_CHAIN_ID":{"type":"number","description":"Default EVM chain id sent to Aomi when a wallet is connected.","required":false,"default":1,"sensitive":false},"AOMI_EVM_RPC_URL":{"type":"string","description":"Optional RPC URL override for Aomi-built EVM transactions.","required":false,"sensitive":true}}},"eliza":{"platforms":["node"],"runtime":"node","platformDetails":{"node":"Node.js build with Aomi HTTP sessions and wallet execution"}},"keywords":["elizaos","elizaos-plugin","elizaos-plugins","aomi","onchain","wallet","evm","solana"],"license":"MIT","engines":{"node":">=24"},"packageManager":"bun@1.3.5","gitHead":"1557b68ac76c2704123c3bcf7279b22729e7afe9","_id":"@aomi-labs/eliza-plugin-aomi@0.1.0","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-lXRzQa+d249tLjhaOBiM/c9IElskop+E9VYrNh1H0KBphEV9TS9OhpW5wVTU/tcXFY+kzM5z9ZSE1mmNSOZf8A==","shasum":"2c0716a5fc87a6ab96c9557878194d4082dd6aca","tarball":"https://registry.npmjs.org/@aomi-labs/eliza-plugin-aomi/-/eliza-plugin-aomi-0.1.0.tgz","fileCount":29,"unpackedSize":260560,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCdu0trJekYLPqbJ9byvwGhUQX6VGblZuN5TJ25h06e1wIhAOfJd3Kfk4sNi9KUKAYqDu6AZaYNd/PDzxUNaNJwLTAh"}]},"_npmUser":{"name":"ceciliaz030","email":"cecilia@foameo.ai"},"directories":{},"maintainers":[{"name":"ceciliaz030","email":"cecilia@foameo.ai"},{"name":"hanzn","email":"windzhaohan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eliza-plugin-aomi_0.1.0_1785382509484_0.18378906418435315"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T03:35:09.381Z","0.1.0":"2026-07-30T03:35:09.660Z","modified":"2026-07-30T03:35:09.930Z"},"maintainers":[{"name":"ceciliaz030","email":"cecilia@foameo.ai"},{"name":"hanzn","email":"windzhaohan@gmail.com"}],"description":"Aomi on-chain agent integration for elizaOS with wallet-backed confirmation and execution","homepage":"https://github.com/aomi-labs/eliza-plugin-aomi#readme","keywords":["elizaos","elizaos-plugin","elizaos-plugins","aomi","onchain","wallet","evm","solana"],"repository":{"type":"git","url":"git+https://github.com/aomi-labs/eliza-plugin-aomi.git"},"bugs":{"url":"https://github.com/aomi-labs/eliza-plugin-aomi/issues"},"license":"MIT","readme":"# @aomi-labs/eliza-plugin-aomi\n\nDelegates natural-language on-chain workflows from an Eliza agent to Aomi\nwithout moving wallet custody or transaction approval outside elizaOS.\n\n## Capabilities\n\n- Sends open-ended research, simulation, DeFi, and transaction requests to\n  Aomi.\n- Keeps one Aomi thread per Eliza room so follow-up requests retain context.\n- Connects the configured `@elizaos/plugin-wallet` EVM and Solana addresses to\n  Aomi.\n- Stops every wallet request at an exact transaction or signature preview.\n- Requires a separate confirmation turn from the same user who initiated the\n  operation.\n- Single-flights concurrent confirmations so one wallet request can execute at\n  most once.\n- Supports single-call EVM transactions, EIP-712 and message signatures, and\n  decoded native SOL transfers.\n- Blocks opaque Solana transactions, address lookup tables, token/unknown\n  programs, non-wallet transfer sources, and non-displayable signed messages.\n\n## Install\n\n```bash\nbun add @aomi-labs/eliza-plugin-aomi @elizaos/plugin-wallet\n```\n\nAdd both plugins to the character:\n\n```ts\nplugins: [\"@elizaos/plugin-wallet\", \"@aomi-labs/eliza-plugin-aomi\"];\n```\n\nConfigure at least one wallet signing path supported by\n`@elizaos/plugin-wallet`. No Aomi credential is required for the public\n`default` app.\n\n## Configuration\n\n| Variable | Default | Purpose |\n| --- | --- | --- |\n| `AOMI_API_URL` | `https://api.aomi.dev` | Aomi backend base URL |\n| `AOMI_API_KEY` | unset | Private Aomi app API key |\n| `AOMI_APP` | `default` | Aomi app key |\n| `AOMI_APPLICATION_ID` | unset | Concrete Aomi application id |\n| `AOMI_CHAIN_ID` | `1` | Default EVM chain id |\n| `AOMI_EVM_RPC_URL` | chain default | RPC override for Aomi-built EVM transactions |\n\nWallet variables such as `EVM_PRIVATE_KEY`, `SOLANA_PRIVATE_KEY`, and\n`SOLANA_RPC_URL` are owned by `@elizaos/plugin-wallet`.\n\n## Confirmation flow\n\n1. The user asks the agent to use Aomi for an on-chain task.\n2. Read-only tasks return immediately.\n3. When Aomi requests a wallet operation, the plugin displays the exact target,\n   chain, value, call count, signature payload, or decoded native SOL recipient\n   and amount.\n4. The initiating user replies `yes` to execute or anything else to reject.\n5. The plugin signs through `WalletBackendService`, submits when required, and\n   resumes the same Aomi thread with the result.\n\nThe initiating prompt never authorizes a write. LLM-supplied confirmation flags\nare ignored; confirmation state is held by the elizaOS runtime and bound to the\ninitiating `entityId`. Concurrent confirmation delivery shares one in-flight\nwallet execution and one Aomi settlement.\n\n## Solana safety policy\n\nThe initial release intentionally supports only fully decoded native SOL\n`SystemProgram.transfer` instructions. The confirmation preview names every\nsource, recipient, amount in lamports and SOL, fee payer, instruction count,\nprogram, byte length, and payload hash.\n\nThe plugin rejects the request before confirmation if it contains an address\nlookup table, SPL token instruction, unknown program, non-transfer System\ninstruction, missing payload, non-wallet fee payer/source, or opaque signed\nmessage. Expanding this allowlist requires a decoder and tests that surface the\nexact token, recipient, amount, and writable accounts.\n\n## Development\n\n```bash\nbun install\nbun run typecheck\nbun run lint:check\nbun run test\nbun run build\n```\n\nSet `ELIZA_E2E_AOMI=1` to run the live Aomi contract test.\n\nFor the opt-in wallet E2E, point `AOMI_EVM_RPC_URL` and `AOMI_CHAIN_ID` at a\nsupported testnet or chain `31337` fork, provide a funded `EVM_PRIVATE_KEY`, and\nrun `bun run test:wallet-live`. The test refuses production chain ids, records\nthe transaction hash and balance change, and verifies a real insufficient-funds\nfailure with a fresh empty signer.\n\n`bun run test:wallet-solana-live` creates an ephemeral in-memory Solana signer,\nfunds it from the public devnet faucet, submits one decoded one-lamport transfer,\nand records the explorer link, preview, balance delta, and a real\ninsufficient-funds failure. No signing key is written to disk.\n\n## Registry\n\n`registry-entry.json` contains the tiny third-party entry for the elizaOS\nregistry. The plugin source and release lifecycle live entirely in this\nrepository.\n","readmeFilename":"README.md","_rev":"1-9a6b439b6345bb9596158a00fa3e4066"}