@heyamiko/amiko-cli 0.7.10 → 0.8.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/README.md +70 -9
- package/dist/index.js +1321 -104
- package/package.json +3 -2
- package/skills/SKILL.md +75 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# @heyamiko/amiko-cli (v0.
|
|
1
|
+
# @heyamiko/amiko-cli (v0.8.1)
|
|
2
2
|
|
|
3
|
-
Manage wallets, credits, swaps,
|
|
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
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -148,19 +148,20 @@ amiko swap send 0.5 USDC AMIKO --yes
|
|
|
148
148
|
amiko swap send 100 AMIKO SOL --slippage 100
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
-
Swaps execute via Jupiter on Solana. Supports SOL, USDC, USDT, AMIKO, PYUSD, BONK, JUP, RAY, JitoSOL, mSOL, or any mint address.
|
|
151
|
+
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`).
|
|
152
152
|
|
|
153
153
|
## Bridge
|
|
154
154
|
|
|
155
155
|
```bash
|
|
156
156
|
amiko bridge quote <amount> # cross-chain USDC quote via Across Protocol
|
|
157
|
-
amiko bridge send <amount> # execute bridge transfer
|
|
157
|
+
amiko bridge send <amount> # execute bridge transfer (gated — requires --yes in non-TTY)
|
|
158
|
+
amiko bridge send <amount> --raw # print transaction JSON without sending (no gate)
|
|
158
159
|
amiko bridge status <txHash> # check bridge status
|
|
159
160
|
amiko bridge routes # available bridge routes
|
|
160
161
|
amiko bridge limits # min/max limits per route
|
|
161
162
|
```
|
|
162
163
|
|
|
163
|
-
Default route: Solana → Tempo. Use `--from` and `--to` flags for other chains.
|
|
164
|
+
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.
|
|
164
165
|
|
|
165
166
|
## MPP Services
|
|
166
167
|
|
|
@@ -191,7 +192,7 @@ Audio and image endpoints upload to Supabase Storage and return permanent URLs.
|
|
|
191
192
|
|
|
192
193
|
## Confirmation Gate for Paid Commands
|
|
193
194
|
|
|
194
|
-
Every paid command (`image`, `search`, `amazon search`, `service tts`, `service stt`, `service chat`, `service call`, `credits topup`) requires explicit approval before spending:
|
|
195
|
+
Every paid / value-moving command (`image`, `search`, `amazon search`, `service tts`, `service stt`, `service chat`, `service call`, `credits topup`, `swap send`, `bridge send`) requires explicit approval before spending:
|
|
195
196
|
|
|
196
197
|
- **Human, interactive shell** — the command prints the cost and prompts `Proceed? [y/N]`. Answer `y` to run.
|
|
197
198
|
- **Agent / non-interactive shell** — the command *refuses* to run without `--yes`, with a message telling the agent what to do:
|
|
@@ -206,7 +207,7 @@ Every paid command (`image`, `search`, `amazon search`, `service tts`, `service
|
|
|
206
207
|
amiko image "a sunset over mountains" --yes
|
|
207
208
|
```
|
|
208
209
|
|
|
209
|
-
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.
|
|
210
|
+
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.
|
|
210
211
|
|
|
211
212
|
## Error Output
|
|
212
213
|
|
|
@@ -323,21 +324,81 @@ src/
|
|
|
323
324
|
│ ├── discovery.ts # MPP service info
|
|
324
325
|
│ ├── login.ts # Privy browser login
|
|
325
326
|
│ ├── config.ts # config management
|
|
326
|
-
│
|
|
327
|
+
│ ├── update.ts # self-update
|
|
328
|
+
│ ├── accounts.ts # accounts, info (twin identity readout)
|
|
329
|
+
│ ├── twin.ts # twin:update (name/description/public)
|
|
330
|
+
│ ├── docs.ts # RAG documents (list, upload, delete, presign)
|
|
331
|
+
│ ├── voice.ts # voice:design, voice:create, voice:clone, voice:reset
|
|
332
|
+
│ ├── avatar.ts # avatar:update
|
|
333
|
+
│ ├── friends.ts # friends list, add, accept, remove
|
|
334
|
+
│ ├── feed.ts # feed, post:comment
|
|
335
|
+
│ └── composio.ts # composio:connect, composio:disconnect
|
|
327
336
|
└── lib/
|
|
328
337
|
├── config.ts # ~/.amiko/config.json
|
|
329
338
|
├── agent-config.ts # .amiko.json reader + auth resolution
|
|
330
339
|
├── api.ts # HTTP client (MPP + billing)
|
|
331
|
-
├──
|
|
340
|
+
├── amiko-web.ts # HTTP client for amiko-web (twin + social REST)
|
|
341
|
+
├── twin-context.ts # resolveTwinId (--twin | .amiko.json | config.twinId)
|
|
342
|
+
├── file-input.ts # path | https URL | stdin → Buffer + mime
|
|
343
|
+
├── format.ts # terminal output helpers + renderOutput(--json)
|
|
344
|
+
├── confirm.ts # requireApproval + confirmDestructive
|
|
332
345
|
├── mpp-topup.ts # MPP SDK topup helper
|
|
333
346
|
├── across.ts # Across Protocol bridge
|
|
334
347
|
└── tempo.ts # Tempo chain helpers
|
|
335
348
|
```
|
|
336
349
|
|
|
350
|
+
## Twin & Social Commands (v0.8.0)
|
|
351
|
+
|
|
352
|
+
The CLI also manages the twin's identity, documents, voice, avatar, friends, feed, and Composio connections via the amiko-web platform API.
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
# Identity
|
|
356
|
+
amiko accounts # show resolved identity (mode, platform, user, twin, wallets)
|
|
357
|
+
amiko info # fetch twin info (name, description, voice, avatar, visibility)
|
|
358
|
+
amiko twin:update --name "New Name"
|
|
359
|
+
amiko twin:update --description "Bio"
|
|
360
|
+
amiko twin:update --public true --yes # change public visibility (destructive)
|
|
361
|
+
|
|
362
|
+
# Documents (RAG)
|
|
363
|
+
amiko docs # list
|
|
364
|
+
amiko docs:upload ./notes.pdf # path, URL, or `- --stdin`
|
|
365
|
+
amiko docs:delete <docId> --yes
|
|
366
|
+
amiko docs:presign ./file.pdf # presigned S3 URL only
|
|
367
|
+
|
|
368
|
+
# Voice
|
|
369
|
+
amiko voice:design --description "warm, low, male, confident, measured"
|
|
370
|
+
amiko voice:create --sample <generated_voice_id>
|
|
371
|
+
amiko voice:clone ./me.mp3
|
|
372
|
+
amiko voice:reset --yes
|
|
373
|
+
|
|
374
|
+
# Avatar
|
|
375
|
+
amiko avatar:update --file ./portrait.png --yes
|
|
376
|
+
|
|
377
|
+
# Friends
|
|
378
|
+
amiko friends # list
|
|
379
|
+
amiko friends:add --id <userId>
|
|
380
|
+
amiko friends:accept <friendshipId>
|
|
381
|
+
amiko friends:remove <friendshipId> --yes
|
|
382
|
+
|
|
383
|
+
# Feed & posts
|
|
384
|
+
amiko feed # friends feed (default)
|
|
385
|
+
amiko feed --type for_you --limit 20
|
|
386
|
+
amiko post:comment --id <postId> --comment "great post"
|
|
387
|
+
|
|
388
|
+
# Composio
|
|
389
|
+
amiko composio:connect --app gmail # prints OAuth URL
|
|
390
|
+
amiko composio:disconnect --app gmail --yes
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
Every new command accepts `--json` for structured output and `--twin <id>` where a target twin is needed.
|
|
394
|
+
|
|
395
|
+
**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.
|
|
396
|
+
|
|
337
397
|
## API Endpoints
|
|
338
398
|
|
|
339
399
|
| Client | Base URL | Purpose |
|
|
340
400
|
|--------|----------|---------|
|
|
401
|
+
| Amiko Web | `platform.heyamiko.com` | Twin identity, docs, voice, avatar, friends, feed, Composio |
|
|
341
402
|
| MPP API | `mpp.amikomarkets.com` | Marketplace services, search, image, audio |
|
|
342
403
|
| Billing API | `billing.heyamiko.com` | Credits, topup, wallet balances, keys |
|
|
343
404
|
|