@heyamiko/amiko-cli 0.9.0-beta.0 → 0.9.0-beta.10
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/README.md +88 -74
- package/dist/index.js +454 -203
- package/package.json +1 -1
- package/skills/SKILL.md +154 -165
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @heyamiko/amiko-cli (v0.9.0-beta.
|
|
1
|
+
# @heyamiko/amiko-cli (v0.9.0-beta.10)
|
|
2
2
|
|
|
3
3
|
Manage wallets, credits, swaps, MPP marketplace services, and your Amiko twin (identity, documents, voice, avatar, friends, feed, Composio apps) from the terminal. Works for both human users and AI agents running on OpenClaw.
|
|
4
4
|
|
|
@@ -35,18 +35,18 @@ amiko credits balance
|
|
|
35
35
|
amiko credits topup 10000 --token AMIKO --yes
|
|
36
36
|
|
|
37
37
|
# Search X/Twitter (1 AMIKO, pass --wallet)
|
|
38
|
-
amiko search "AI agents" --wallet <solana-address>
|
|
38
|
+
amiko markets search "AI agents" --wallet <solana-address>
|
|
39
39
|
|
|
40
40
|
# Generate an image (5 AMIKO)
|
|
41
|
-
amiko image "a sunset over mountains" --wallet <solana-address>
|
|
41
|
+
amiko markets image "a sunset over mountains" --wallet <solana-address>
|
|
42
42
|
|
|
43
43
|
# Swap tokens on Solana
|
|
44
|
-
amiko swap quote 1.0 SOL USDC
|
|
45
|
-
amiko swap send 1.0 SOL USDC --yes
|
|
44
|
+
amiko wallets swap quote 1.0 SOL USDC
|
|
45
|
+
amiko wallets swap send 1.0 SOL USDC --yes
|
|
46
46
|
|
|
47
47
|
# Call any MPP service
|
|
48
|
-
amiko service list
|
|
49
|
-
amiko service call POST /v1/sfx '{"text":"thunder","duration_seconds":5}'
|
|
48
|
+
amiko markets service list
|
|
49
|
+
amiko markets service call POST /v1/sfx '{"text":"thunder","duration_seconds":5}'
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
## Credits
|
|
@@ -82,7 +82,7 @@ amiko credits topup 10000 --token AMIKO # 10,000 credits in AMIKO
|
|
|
82
82
|
```bash
|
|
83
83
|
amiko credits topup 10000 --token USDC --chain base # USDC on Base
|
|
84
84
|
amiko credits topup 5000 --method mpp # MPP 402 payment
|
|
85
|
-
amiko credits topup 10000 --wallet Gu2b...QVya # specific wallet
|
|
85
|
+
amiko credits topup 10000 --wallet Gu2b...QVya # specific wallet (else defaults to your Solana wallet)
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
**Supported tokens:** AMIKO, SOL, USDC, USDT
|
|
@@ -93,9 +93,9 @@ amiko credits topup 10000 --wallet Gu2b...QVya # specific wallet
|
|
|
93
93
|
## Search
|
|
94
94
|
|
|
95
95
|
```bash
|
|
96
|
-
amiko search "AI agents" # search X/Twitter (1 AMIKO)
|
|
97
|
-
amiko search "bitcoin" --token USDC # pay with USDC instead
|
|
98
|
-
amiko search "news" --raw # raw JSON output
|
|
96
|
+
amiko markets search "AI agents" # search X/Twitter (1 AMIKO)
|
|
97
|
+
amiko markets search "bitcoin" --token USDC # pay with USDC instead
|
|
98
|
+
amiko markets search "news" --raw # raw JSON output
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
Pays 1 AMIKO per search via Crossmint wallet transfer. Tries Solana wallet first, falls back to EVM.
|
|
@@ -103,12 +103,12 @@ Pays 1 AMIKO per search via Crossmint wallet transfer. Tries Solana wallet first
|
|
|
103
103
|
## Image Generation
|
|
104
104
|
|
|
105
105
|
```bash
|
|
106
|
-
amiko image "a sunset over mountains" # gpt-image-1 (default)
|
|
107
|
-
amiko image "logo" --background transparent # transparent background
|
|
108
|
-
amiko image "cat" --model dall-e-3 # DALL-E 3
|
|
109
|
-
amiko image "portrait" --size 1024x1792 --quality high # portrait, high quality
|
|
110
|
-
amiko image "icon" --format webp # webp output
|
|
111
|
-
amiko image "banner" --raw # raw JSON
|
|
106
|
+
amiko markets image "a sunset over mountains" # gpt-image-1 (default)
|
|
107
|
+
amiko markets image "logo" --background transparent # transparent background
|
|
108
|
+
amiko markets image "cat" --model dall-e-3 # DALL-E 3
|
|
109
|
+
amiko markets image "portrait" --size 1024x1792 --quality high # portrait, high quality
|
|
110
|
+
amiko markets image "icon" --format webp # webp output
|
|
111
|
+
amiko markets image "banner" --raw # raw JSON
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
Costs 5 AMIKO per image. Returns a Supabase Storage URL.
|
|
@@ -118,24 +118,24 @@ Image generation typically takes 20–60s. In non-TTY environments (agents, pipe
|
|
|
118
118
|
## Amazon
|
|
119
119
|
|
|
120
120
|
```bash
|
|
121
|
-
amiko amazon search "usb c cable" # product search (1 AMIKO)
|
|
122
|
-
amiko amazon quote B01GGKYKQM # price quote (free)
|
|
121
|
+
amiko markets amazon search "usb c cable" # product search (1 AMIKO)
|
|
122
|
+
amiko markets amazon quote B01GGKYKQM # price quote (free)
|
|
123
123
|
```
|
|
124
124
|
|
|
125
125
|
## Swap
|
|
126
126
|
|
|
127
127
|
```bash
|
|
128
|
-
amiko swap quote <amount> <from> <to> # get Jupiter quote
|
|
129
|
-
amiko swap send <amount> <from> <to> # execute swap via Crossmint
|
|
130
|
-
amiko swap tokens # list supported tokens
|
|
128
|
+
amiko wallets swap quote <amount> <from> <to> # get Jupiter quote
|
|
129
|
+
amiko wallets swap send <amount> <from> <to> # execute swap via Crossmint
|
|
130
|
+
amiko wallets swap tokens # list supported tokens
|
|
131
131
|
```
|
|
132
132
|
|
|
133
133
|
**Examples:**
|
|
134
134
|
|
|
135
135
|
```bash
|
|
136
|
-
amiko swap quote 1.0 SOL USDC
|
|
137
|
-
amiko swap send 0.5 USDC AMIKO --yes
|
|
138
|
-
amiko swap send 100 AMIKO SOL --slippage 100
|
|
136
|
+
amiko wallets swap quote 1.0 SOL USDC
|
|
137
|
+
amiko wallets swap send 0.5 USDC AMIKO --yes
|
|
138
|
+
amiko wallets swap send 100 AMIKO SOL --slippage 100
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
Swaps execute via Jupiter on Solana. Supports SOL, USDC, USDT, AMIKO, PYUSD, BONK, JUP, RAY, JitoSOL, mSOL, or any mint address. `swap send` is hard-gated: in a non-interactive shell you must pass `--yes` after quoting the cost to the user (`Solana gas + 10bps platform fee`).
|
|
@@ -143,12 +143,12 @@ Swaps execute via Jupiter on Solana. Supports SOL, USDC, USDT, AMIKO, PYUSD, BON
|
|
|
143
143
|
## Bridge
|
|
144
144
|
|
|
145
145
|
```bash
|
|
146
|
-
amiko bridge quote <amount> # cross-chain USDC quote via Across Protocol
|
|
147
|
-
amiko bridge send <amount> # execute bridge transfer (gated — requires --yes in non-TTY)
|
|
148
|
-
amiko bridge send <amount> --raw # print transaction JSON without sending (no gate)
|
|
149
|
-
amiko bridge status <txHash> # check bridge status
|
|
150
|
-
amiko bridge routes # available bridge routes
|
|
151
|
-
amiko bridge limits # min/max limits per route
|
|
146
|
+
amiko wallets bridge quote <amount> # cross-chain USDC quote via Across Protocol
|
|
147
|
+
amiko wallets bridge send <amount> # execute bridge transfer (gated — requires --yes in non-TTY)
|
|
148
|
+
amiko wallets bridge send <amount> --raw # print transaction JSON without sending (no gate)
|
|
149
|
+
amiko wallets bridge status <txHash> # check bridge status
|
|
150
|
+
amiko wallets bridge routes # available bridge routes
|
|
151
|
+
amiko wallets bridge limits # min/max limits per route
|
|
152
152
|
```
|
|
153
153
|
|
|
154
154
|
Default route: Solana → Tempo. Use `--from` and `--to` flags for other chains. Like `swap send`, `bridge send` refuses to run in a non-interactive shell without `--yes` so agents must quote the Across fee + gas to the user before executing.
|
|
@@ -158,24 +158,24 @@ Default route: Solana → Tempo. Use `--from` and `--to` flags for other chains.
|
|
|
158
158
|
Call any endpoint on the Amiko marketplace with automatic AMIKO payment:
|
|
159
159
|
|
|
160
160
|
```bash
|
|
161
|
-
amiko service list # all services + prices
|
|
162
|
-
amiko service call <METHOD> <path> [body]
|
|
161
|
+
amiko markets service list # all services + prices
|
|
162
|
+
amiko markets service call <METHOD> <path> [body]
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
**Examples:**
|
|
166
166
|
|
|
167
167
|
```bash
|
|
168
168
|
# Sound effects ($0.05) — returns { url, format, service }
|
|
169
|
-
amiko service call POST /v1/sfx '{"text":"Thunder with heavy rain","duration_seconds":5}'
|
|
169
|
+
amiko markets service call POST /v1/sfx '{"text":"Thunder with heavy rain","duration_seconds":5}'
|
|
170
170
|
|
|
171
171
|
# Music generation ($0.10) — returns { url, format, service }
|
|
172
|
-
amiko service call POST /v1/music '{"prompt":"Lo-fi chill beat","music_length_ms":30000}'
|
|
172
|
+
amiko markets service call POST /v1/music '{"prompt":"Lo-fi chill beat","music_length_ms":30000}'
|
|
173
173
|
|
|
174
174
|
# Text-to-speech (1 AMIKO) — returns { url, format, service }
|
|
175
|
-
amiko service tts 21m00Tcm4TlvDq8ikWAM "Hello world"
|
|
175
|
+
amiko markets service tts 21m00Tcm4TlvDq8ikWAM "Hello world"
|
|
176
176
|
|
|
177
177
|
# Composition plan ($0.02)
|
|
178
|
-
amiko service call POST /v1/music/plan '{"prompt":"Epic orchestral piece"}'
|
|
178
|
+
amiko markets service call POST /v1/music/plan '{"prompt":"Epic orchestral piece"}'
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
Audio and image endpoints upload to Supabase Storage and return permanent URLs.
|
|
@@ -194,7 +194,7 @@ Every paid / value-moving command (`image`, `search`, `amazon search`, `service
|
|
|
194
194
|
Action: Generate image: a sunset over mountains
|
|
195
195
|
|
|
196
196
|
Quote the cost to the user, get their explicit approval, then re-run with --yes:
|
|
197
|
-
amiko image "a sunset over mountains" --yes
|
|
197
|
+
amiko markets image "a sunset over mountains" --yes
|
|
198
198
|
```
|
|
199
199
|
|
|
200
200
|
This makes cost confirmation effectively mandatory regardless of which model drives the agent — weak models can no longer silently burn tokens by ignoring the skill docs. The same refusal fires for `swap send` (Solana gas + 10 bps platform fee) and `bridge send` (Across fee + gas), so an agent cannot move tokens without a round-trip through user approval.
|
|
@@ -215,7 +215,7 @@ JSON `error` / `message` / `detail` fields are extracted when present; raw body
|
|
|
215
215
|
## Other Commands
|
|
216
216
|
|
|
217
217
|
```bash
|
|
218
|
-
amiko
|
|
218
|
+
amiko markets discover # MPP service info + pricing
|
|
219
219
|
amiko config show # view config
|
|
220
220
|
amiko config set <key> <value> # set config value
|
|
221
221
|
amiko update # update CLI to latest (full twin refresh — no restart needed)
|
|
@@ -252,7 +252,7 @@ Agents auto-authenticate via `.amiko.json` — no manual connect needed. The pla
|
|
|
252
252
|
```bash
|
|
253
253
|
# Agent environment — just works
|
|
254
254
|
amiko credits balance
|
|
255
|
-
amiko search "trending topics"
|
|
255
|
+
amiko markets search "trending topics"
|
|
256
256
|
amiko credits topup 10000 --token AMIKO --yes
|
|
257
257
|
```
|
|
258
258
|
|
|
@@ -265,7 +265,6 @@ Supported keys (both camelCase and SCREAMING_SNAKE_CASE):
|
|
|
265
265
|
- `amikoTwinId` / `AMIKO_TWIN_ID` — twin identifier (needed for paid ops)
|
|
266
266
|
- `amikoUserId` / `AMIKO_USER_ID` — user identifier (optional, for MPP topup)
|
|
267
267
|
- `amikoPlatformUrl` / `AMIKO_PLATFORM_URL` — platform base URL override
|
|
268
|
-
- `billingBase` — billing API URL override
|
|
269
268
|
- `apiBase` — MPP service URL override
|
|
270
269
|
|
|
271
270
|
## Configuration
|
|
@@ -274,7 +273,6 @@ Defaults (no config file needed — override in `.amiko.json` if needed):
|
|
|
274
273
|
|
|
275
274
|
| Key | Default |
|
|
276
275
|
|-----|---------|
|
|
277
|
-
| `billingBase` | `https://billing.heyamiko.com` |
|
|
278
276
|
| `apiBase` | `https://mpp.amikomarkets.com` |
|
|
279
277
|
| `platformUrl` | `https://platform.heyamiko.com` |
|
|
280
278
|
|
|
@@ -296,13 +294,13 @@ src/
|
|
|
296
294
|
│ ├── config.ts # config management
|
|
297
295
|
│ ├── update.ts # self-update
|
|
298
296
|
│ ├── accounts.ts # accounts, info (twin identity readout)
|
|
299
|
-
│ ├── twin.ts # twin
|
|
297
|
+
│ ├── twin.ts # twin update (name/description/public)
|
|
300
298
|
│ ├── docs.ts # RAG documents (list, upload, delete, presign)
|
|
301
|
-
│ ├── voice.ts # voice
|
|
302
|
-
│ ├── avatar.ts # avatar
|
|
299
|
+
│ ├── voice.ts # voice design, voice create, voice clone, voice reset
|
|
300
|
+
│ ├── avatar.ts # avatar update
|
|
303
301
|
│ ├── friends.ts # friends list, add, accept, remove
|
|
304
|
-
│ ├── feed.ts # feed, post
|
|
305
|
-
│ └── composio.ts # composio
|
|
302
|
+
│ ├── feed.ts # feed, post create, post comment
|
|
303
|
+
│ └── composio.ts # composio connect, composio disconnect
|
|
306
304
|
└── lib/
|
|
307
305
|
├── config.ts # defaults + resolved auth wrapper
|
|
308
306
|
├── agent-config.ts # .amiko.json reader + auth resolution
|
|
@@ -325,56 +323,55 @@ The CLI also manages the twin's identity, documents, voice, avatar, friends, fee
|
|
|
325
323
|
# Identity
|
|
326
324
|
amiko accounts # show resolved identity (mode, platform, user, twin, wallets)
|
|
327
325
|
amiko info # fetch twin info (name, description, voice, avatar, visibility)
|
|
328
|
-
amiko twin
|
|
329
|
-
amiko twin
|
|
330
|
-
amiko twin
|
|
326
|
+
amiko twin update --name "New Name"
|
|
327
|
+
amiko twin update --description "Bio"
|
|
328
|
+
amiko twin update --public true --yes # change public visibility (destructive)
|
|
331
329
|
|
|
332
330
|
# Documents (RAG)
|
|
333
|
-
amiko docs
|
|
334
|
-
amiko docs
|
|
335
|
-
amiko docs
|
|
336
|
-
amiko docs
|
|
331
|
+
amiko docs list # list
|
|
332
|
+
amiko docs upload ./notes.pdf # path, URL, or `- --stdin`
|
|
333
|
+
amiko docs delete <docId> --yes
|
|
334
|
+
amiko docs presign ./file.pdf # presigned S3 URL only
|
|
337
335
|
|
|
338
336
|
# Voice
|
|
339
|
-
amiko voice
|
|
340
|
-
amiko voice
|
|
341
|
-
amiko voice
|
|
342
|
-
amiko voice
|
|
337
|
+
amiko voice design --description "warm, low, male, confident, measured"
|
|
338
|
+
amiko voice create --sample <generated_voice_id>
|
|
339
|
+
amiko voice clone ./me.mp3
|
|
340
|
+
amiko voice reset --yes
|
|
343
341
|
|
|
344
342
|
# Avatar
|
|
345
|
-
amiko avatar
|
|
343
|
+
amiko avatar update --file ./portrait.png --yes
|
|
346
344
|
|
|
347
345
|
# Friends
|
|
348
|
-
amiko friends
|
|
349
|
-
amiko friends
|
|
350
|
-
amiko friends
|
|
351
|
-
amiko friends
|
|
346
|
+
amiko friends list # list
|
|
347
|
+
amiko friends add --id <userId>
|
|
348
|
+
amiko friends accept <friendshipId>
|
|
349
|
+
amiko friends remove <friendshipId> --yes
|
|
352
350
|
|
|
353
351
|
# Feed & posts
|
|
354
352
|
amiko feed # friends feed (default)
|
|
355
353
|
amiko feed --type for_you --limit 20
|
|
356
|
-
amiko post
|
|
357
|
-
amiko post
|
|
358
|
-
amiko post
|
|
359
|
-
amiko post
|
|
360
|
-
amiko post
|
|
354
|
+
amiko post create --content "hello from the CLI" # public post
|
|
355
|
+
amiko post create --content "private note" --visibility private
|
|
356
|
+
amiko post create --content "look" --media https://...jpg
|
|
357
|
+
amiko post comment --id <postId> --comment "great post"
|
|
358
|
+
amiko post comment --id <postId> --comment "nice!" --media https://...jpg
|
|
361
359
|
|
|
362
360
|
# Composio
|
|
363
|
-
amiko composio
|
|
364
|
-
amiko composio
|
|
361
|
+
amiko composio connect --app gmail # prints OAuth URL
|
|
362
|
+
amiko composio disconnect --app gmail --yes
|
|
365
363
|
```
|
|
366
364
|
|
|
367
365
|
Every new command accepts `--json` for structured output and `--twin <id>` where a target twin is needed.
|
|
368
366
|
|
|
369
|
-
**Destructive or identity-changing commands** (`docs
|
|
367
|
+
**Destructive or identity-changing commands** (`docs delete`, `friends remove`, `composio disconnect`, `voice reset`, `avatar update`, `twin update --public`) prompt for confirmation in a TTY and require `--yes` in non-interactive shells.
|
|
370
368
|
|
|
371
369
|
## API Endpoints
|
|
372
370
|
|
|
373
371
|
| Client | Base URL | Purpose |
|
|
374
372
|
|--------|----------|---------|
|
|
375
|
-
|
|
|
376
|
-
| MPP API | `mpp.amikomarkets.com` | Marketplace services
|
|
377
|
-
| Billing API | `billing.heyamiko.com` | Credits, topup, wallet transfers/swaps, keys |
|
|
373
|
+
| Platform | `platform.heyamiko.com` | Twin identity, wallets, credits, transfers/swaps, docs, voice, avatar, friends, feed, Composio |
|
|
374
|
+
| MPP API | `mpp.amikomarkets.com` | Marketplace services: search, image, amazon, audio |
|
|
378
375
|
|
|
379
376
|
## Build
|
|
380
377
|
|
|
@@ -385,6 +382,23 @@ npm publish
|
|
|
385
382
|
|
|
386
383
|
## Changelog
|
|
387
384
|
|
|
385
|
+
### 0.9.0-beta.10
|
|
386
|
+
|
|
387
|
+
- **Rename**: top-level `market` command group is now `markets` (e.g. `amiko markets search`, `amiko markets image`).
|
|
388
|
+
- `wallets create --chain` now accepts only `solana | base` (devnet/sepolia variants removed from the CLI surface).
|
|
389
|
+
- `SKILL.md` rewritten with a top-level command overview, `--wallet` default explainer, and a "run from your workspace folder" note.
|
|
390
|
+
|
|
391
|
+
### 0.9.0-beta.9
|
|
392
|
+
|
|
393
|
+
- `amiko wallets create --chain solana|base` — create a new wallet for the twin (Crossmint custodian by default).
|
|
394
|
+
- `--wallet` is now optional on all paid commands (`markets search`, `markets image`, `markets amazon search`, `markets service *`, `wallets swap send`). If omitted, the CLI auto-uses the twin's active Solana wallet. Pass `--wallet <address>` to override.
|
|
395
|
+
- `wallets bridge quote/send` — `--depositor` now defaults to your wallet on the origin chain (Solana for `--from solana`, Base for `--from base`).
|
|
396
|
+
- Help text and `SKILL.md` updated to document the new default.
|
|
397
|
+
|
|
398
|
+
### 0.9.0-beta.7
|
|
399
|
+
|
|
400
|
+
- **Breaking**: colon-style commands are now subcommand groups. `twin:update` → `twin update`, `docs:upload` → `docs upload`, `voice:design` → `voice design`, `avatar:update` → `avatar update`, `friends:add` → `friends add`, `post:create` → `post create`, `composio:connect` → `composio connect`, etc. No aliases — scripts and skills that used the old names must be updated. Bare `docs` and `friends` now require `list` (e.g. `amiko docs list`).
|
|
401
|
+
|
|
388
402
|
### 0.9.0-beta.0
|
|
389
403
|
|
|
390
404
|
- **Breaking**: auth simplified to `.amiko.json` + `amikoTwinToken` only. Removed `apiKey`, `privyToken`, `platformKey`, `connectedKeyId`, `agentWallets`, and `~/.amiko/config.json`.
|