@heyamiko/amiko-cli 0.9.0-beta.1 → 0.9.0-beta.11

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 CHANGED
@@ -1,4 +1,4 @@
1
- # @heyamiko/amiko-cli (v0.9.0-beta.0)
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 market 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 market 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 market service list
49
- amiko market 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 market search "AI agents" # search X/Twitter (1 AMIKO)
97
- amiko market search "bitcoin" --token USDC # pay with USDC instead
98
- amiko market 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 market image "a sunset over mountains" # gpt-image-1 (default)
107
- amiko market image "logo" --background transparent # transparent background
108
- amiko market image "cat" --model dall-e-3 # DALL-E 3
109
- amiko market image "portrait" --size 1024x1792 --quality high # portrait, high quality
110
- amiko market image "icon" --format webp # webp output
111
- amiko market 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 market amazon search "usb c cable" # product search (1 AMIKO)
122
- amiko market 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 market service list # all services + prices
162
- amiko market 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 market 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 market 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 market service tts 21m00Tcm4TlvDq8ikWAM "Hello world"
175
+ amiko markets service tts 21m00Tcm4TlvDq8ikWAM "Hello world"
176
176
 
177
177
  # Composition plan ($0.02)
178
- amiko market 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 market 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 market discover # MPP service info + pricing
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 market 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,14 @@ 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:update (name/description/public)
297
+ │ ├── twin.ts # twin update (name/description/public)
300
298
  │ ├── docs.ts # RAG documents (list, upload, delete, presign)
301
- │ ├── voice.ts # voice:design, voice:create, voice:clone, voice:reset
302
- │ ├── avatar.ts # avatar:update
303
- │ ├── friends.ts # friends list, add, accept, remove
304
- │ ├── feed.ts # feed, post:create, post:comment
305
- │ └── composio.ts # composio:connect, composio:disconnect
299
+ │ ├── voice.ts # voice design, voice create, voice clone, voice reset
300
+ │ ├── avatar.ts # avatar update
301
+ │ ├── friends.ts # friends list, requests, add, accept, remove, matches, reports
302
+ │ ├── users.ts # users search, profile
303
+ │ ├── feed.ts # feed, post create, post comment
304
+ │ └── composio.ts # composio connect, composio disconnect
306
305
  └── lib/
307
306
  ├── config.ts # defaults + resolved auth wrapper
308
307
  ├── agent-config.ts # .amiko.json reader + auth resolution
@@ -325,56 +324,63 @@ The CLI also manages the twin's identity, documents, voice, avatar, friends, fee
325
324
  # Identity
326
325
  amiko accounts # show resolved identity (mode, platform, user, twin, wallets)
327
326
  amiko info # fetch twin info (name, description, voice, avatar, visibility)
328
- amiko twin:update --name "New Name"
329
- amiko twin:update --description "Bio"
330
- amiko twin:update --public true --yes # change public visibility (destructive)
327
+ amiko twin update --name "New Name"
328
+ amiko twin update --description "Bio"
329
+ amiko twin update --public true --yes # change public visibility (destructive)
331
330
 
332
331
  # Documents (RAG)
333
- amiko docs # list
334
- amiko docs:upload ./notes.pdf # path, URL, or `- --stdin`
335
- amiko docs:delete <docId> --yes
336
- amiko docs:presign ./file.pdf # presigned S3 URL only
332
+ amiko docs list # list
333
+ amiko docs upload ./notes.pdf # path, URL, or `- --stdin`
334
+ amiko docs delete <docId> --yes
335
+ amiko docs presign ./file.pdf # presigned S3 URL only
337
336
 
338
337
  # Voice
339
- amiko voice:design --description "warm, low, male, confident, measured"
340
- amiko voice:create --sample <generated_voice_id>
341
- amiko voice:clone ./me.mp3
342
- amiko voice:reset --yes
338
+ amiko voice design --description "warm, low, male, confident, measured"
339
+ amiko voice create --sample <generated_voice_id>
340
+ amiko voice clone ./me.mp3
341
+ amiko voice reset --yes
343
342
 
344
343
  # Avatar
345
- amiko avatar:update --file ./portrait.png --yes
344
+ amiko avatar update --file ./portrait.png --yes
346
345
 
347
346
  # Friends
348
- amiko friends # list
349
- amiko friends:add --id <userId>
350
- amiko friends:accept <friendshipId>
351
- amiko friends:remove <friendshipId> --yes
347
+ amiko friends list # list
348
+ amiko friends requests # pending requests (incoming + outgoing)
349
+ amiko friends add --id <userId>
350
+ amiko friends accept <friendshipId>
351
+ amiko friends remove <friendshipId> --yes
352
+ amiko friends matches # personality match candidates
353
+ amiko friends reports list # friend matching reports
354
+ amiko friends reports view <reportId>
355
+
356
+ # Users
357
+ amiko users search <query> # find users by name/handle
358
+ amiko users profile <handle> # public profile
352
359
 
353
360
  # Feed & posts
354
361
  amiko feed # friends feed (default)
355
362
  amiko feed --type for_you --limit 20
356
- amiko post:create --content "hello from the CLI" # public post
357
- amiko post:create --content "private note" --visibility private
358
- amiko post:create --content "look" --media https://...jpg
359
- amiko post:comment --id <postId> --comment "great post"
360
- amiko post:comment --id <postId> --comment "nice!" --media https://...jpg
363
+ amiko post create --content "hello from the CLI" # public post
364
+ amiko post create --content "private note" --visibility private
365
+ amiko post create --content "look" --media https://...jpg
366
+ amiko post comment --id <postId> --comment "great post"
367
+ amiko post comment --id <postId> --comment "nice!" --media https://...jpg
361
368
 
362
369
  # Composio
363
- amiko composio:connect --app gmail # prints OAuth URL
364
- amiko composio:disconnect --app gmail --yes
370
+ amiko composio connect --app gmail # prints OAuth URL
371
+ amiko composio disconnect --app gmail --yes
365
372
  ```
366
373
 
367
374
  Every new command accepts `--json` for structured output and `--twin <id>` where a target twin is needed.
368
375
 
369
- **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.
376
+ **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
377
 
371
378
  ## API Endpoints
372
379
 
373
380
  | Client | Base URL | Purpose |
374
381
  |--------|----------|---------|
375
- | Amiko Web | `platform.heyamiko.com` | Twin identity, wallet balances, docs, voice, avatar, friends, feed, Composio |
376
- | MPP API | `mpp.amikomarkets.com` | Marketplace services, search, image, audio |
377
- | Billing API | `billing.heyamiko.com` | Credits, topup, wallet transfers/swaps, keys |
382
+ | Platform | `platform.heyamiko.com` | Twin identity, wallets, credits, transfers/swaps, docs, voice, avatar, friends, feed, Composio |
383
+ | MPP API | `mpp.amikomarkets.com` | Marketplace services: search, image, amazon, audio |
378
384
 
379
385
  ## Build
380
386
 
@@ -385,6 +391,23 @@ npm publish
385
391
 
386
392
  ## Changelog
387
393
 
394
+ ### 0.9.0-beta.10
395
+
396
+ - **Rename**: top-level `market` command group is now `markets` (e.g. `amiko markets search`, `amiko markets image`).
397
+ - `wallets create --chain` now accepts only `solana | base` (devnet/sepolia variants removed from the CLI surface).
398
+ - `SKILL.md` rewritten with a top-level command overview, `--wallet` default explainer, and a "run from your workspace folder" note.
399
+
400
+ ### 0.9.0-beta.9
401
+
402
+ - `amiko wallets create --chain solana|base` — create a new wallet for the twin (Crossmint custodian by default).
403
+ - `--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.
404
+ - `wallets bridge quote/send` — `--depositor` now defaults to your wallet on the origin chain (Solana for `--from solana`, Base for `--from base`).
405
+ - Help text and `SKILL.md` updated to document the new default.
406
+
407
+ ### 0.9.0-beta.7
408
+
409
+ - **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`).
410
+
388
411
  ### 0.9.0-beta.0
389
412
 
390
413
  - **Breaking**: auth simplified to `.amiko.json` + `amikoTwinToken` only. Removed `apiKey`, `privyToken`, `platformKey`, `connectedKeyId`, `agentWallets`, and `~/.amiko/config.json`.