@heyamiko/amiko-cli 0.9.0-beta.0 → 0.9.0-beta.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.
Files changed (3) hide show
  1. package/README.md +24 -24
  2. package/dist/index.js +15 -14
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -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 market 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 market image "a sunset over mountains" --wallet <solana-address>
42
42
 
43
43
  # Swap tokens on Solana
44
44
  amiko swap quote 1.0 SOL USDC
45
45
  amiko 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 market service list
49
+ amiko market service call POST /v1/sfx '{"text":"thunder","duration_seconds":5}'
50
50
  ```
51
51
 
52
52
  ## Credits
@@ -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 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
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 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
112
112
  ```
113
113
 
114
114
  Costs 5 AMIKO per image. Returns a Supabase Storage URL.
@@ -118,8 +118,8 @@ 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 market amazon search "usb c cable" # product search (1 AMIKO)
122
+ amiko market amazon quote B01GGKYKQM # price quote (free)
123
123
  ```
124
124
 
125
125
  ## Swap
@@ -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 market service list # all services + prices
162
+ amiko market 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 market 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 market 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 market 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 market 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 market 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 discovery # MPP service info + pricing
218
+ amiko market 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 market search "trending topics"
256
256
  amiko credits topup 10000 --token AMIKO --yes
257
257
  ```
258
258
 
package/dist/index.js CHANGED
@@ -19696,7 +19696,7 @@ function registerSearchCommand(program2) {
19696
19696
  cost: `1 ${opts.token || "AMIKO"}`,
19697
19697
  summary: `X/Twitter search: ${query.slice(0, 80)}${query.length > 80 ? "…" : ""}`,
19698
19698
  yes: opts.yes,
19699
- commandExample: `amiko search ${JSON.stringify(query)}${opts.token && opts.token !== "AMIKO" ? ` --token ${opts.token}` : ""}`
19699
+ commandExample: `amiko market search ${JSON.stringify(query)}${opts.token && opts.token !== "AMIKO" ? ` --token ${opts.token}` : ""}`
19700
19700
  });
19701
19701
  const spinner = ora("X Search...").start();
19702
19702
  try {
@@ -19795,7 +19795,7 @@ function registerImageCommand(program2) {
19795
19795
  cost: "5 AMIKO",
19796
19796
  summary: `Generate image: ${prompt.slice(0, 80)}${prompt.length > 80 ? "…" : ""}`,
19797
19797
  yes: opts.yes,
19798
- commandExample: `amiko image ${JSON.stringify(prompt)}`
19798
+ commandExample: `amiko market image ${JSON.stringify(prompt)}`
19799
19799
  });
19800
19800
  const isTTY = process.stderr.isTTY;
19801
19801
  const spinner = isTTY ? ora("Generating image...").start() : null;
@@ -19899,7 +19899,7 @@ function registerImageCommand(program2) {
19899
19899
  console.log(label("URL", img.url));
19900
19900
  } else if (img.b64_json) {
19901
19901
  console.log(label("Format", "base64 (inline image data)"));
19902
- console.log(dim(` ${img.b64_json.length.toLocaleString()} chars — save with: amiko image "..." --raw | jq -r '.images[0].b64_json' | base64 -d > image.png`));
19902
+ console.log(dim(` ${img.b64_json.length.toLocaleString()} chars — save with: amiko market image "..." --raw | jq -r '.images[0].b64_json' | base64 -d > image.png`));
19903
19903
  }
19904
19904
  if (img.revised_prompt && img.revised_prompt !== prompt) {
19905
19905
  console.log(label("Revised", dim(img.revised_prompt)));
@@ -19934,7 +19934,7 @@ function registerAmazonCommand(program2) {
19934
19934
  cost: "1 AMIKO",
19935
19935
  summary: `Amazon product search: ${query.slice(0, 80)}${query.length > 80 ? "…" : ""}`,
19936
19936
  yes: opts.yes,
19937
- commandExample: `amiko amazon search ${JSON.stringify(query)}`
19937
+ commandExample: `amiko market amazon search ${JSON.stringify(query)}`
19938
19938
  });
19939
19939
  const spinner = ora("Searching Amazon...").start();
19940
19940
  try {
@@ -20126,7 +20126,7 @@ function registerServicesCommand(program2) {
20126
20126
  cost: "1 AMIKO",
20127
20127
  summary: `Text-to-speech (voice ${voiceId}): "${text.slice(0, 60)}${text.length > 60 ? "…" : ""}"`,
20128
20128
  yes: opts.yes,
20129
- commandExample: `amiko service tts ${voiceId} ${JSON.stringify(text)}`
20129
+ commandExample: `amiko market service tts ${voiceId} ${JSON.stringify(text)}`
20130
20130
  });
20131
20131
  await callService({
20132
20132
  name: "Text-to-Speech",
@@ -20142,7 +20142,7 @@ function registerServicesCommand(program2) {
20142
20142
  cost: "1 AMIKO",
20143
20143
  summary: `Speech-to-text on ${audioUrl}`,
20144
20144
  yes: opts.yes,
20145
- commandExample: `amiko service stt ${JSON.stringify(audioUrl)}`
20145
+ commandExample: `amiko market service stt ${JSON.stringify(audioUrl)}`
20146
20146
  });
20147
20147
  await callService({
20148
20148
  name: "Speech-to-Text",
@@ -20176,7 +20176,7 @@ function registerServicesCommand(program2) {
20176
20176
  cost: "1 AMIKO",
20177
20177
  summary: `AI chat${opts.model ? ` (model ${opts.model})` : ""}: "${message.slice(0, 60)}${message.length > 60 ? "…" : ""}"`,
20178
20178
  yes: opts.yes,
20179
- commandExample: `amiko service chat ${JSON.stringify(message)}${opts.model ? ` --model ${opts.model}` : ""}`
20179
+ commandExample: `amiko market service chat ${JSON.stringify(message)}${opts.model ? ` --model ${opts.model}` : ""}`
20180
20180
  });
20181
20181
  const body = { message };
20182
20182
  if (opts.model)
@@ -20196,7 +20196,7 @@ function registerServicesCommand(program2) {
20196
20196
  cost: costLabel,
20197
20197
  summary: `${method.toUpperCase()} ${path2}`,
20198
20198
  yes: opts.yes,
20199
- commandExample: `amiko service call ${method.toUpperCase()} ${path2}${bodyStr ? ` ${JSON.stringify(bodyStr)}` : ""}${opts.amiko ? ` --amiko ${opts.amiko}` : ""}${opts.usdc ? ` --usdc ${opts.usdc}` : ""}`
20199
+ commandExample: `amiko market service call ${method.toUpperCase()} ${path2}${bodyStr ? ` ${JSON.stringify(bodyStr)}` : ""}${opts.amiko ? ` --amiko ${opts.amiko}` : ""}${opts.usdc ? ` --usdc ${opts.usdc}` : ""}`
20200
20200
  });
20201
20201
  let body;
20202
20202
  if (bodyStr) {
@@ -21152,16 +21152,17 @@ var didOnboard = await runOnboarding(process.argv);
21152
21152
  if (didOnboard)
21153
21153
  process.exit(0);
21154
21154
  var program2 = new Command;
21155
- program2.name("amiko").description("Amiko CLI — swap tokens, manage credits, bridge cross-chain, and call MPP services").version(PKG_VERSION);
21155
+ program2.name("amiko").description("Amiko CLI — swap tokens, manage credits, bridge cross-chain, and call marketplace services").version(PKG_VERSION);
21156
+ var market = program2.command("market").description("MPP marketplace — discover and call paid AMIKO services");
21156
21157
  registerCreditsCommand(program2);
21157
- registerSearchCommand(program2);
21158
- registerImageCommand(program2);
21159
- registerAmazonCommand(program2);
21158
+ registerSearchCommand(market);
21159
+ registerImageCommand(market);
21160
+ registerAmazonCommand(market);
21160
21161
  registerSwapCommand(program2);
21161
21162
  registerBridgeCommand(program2);
21162
21163
  registerConfigCommand(program2);
21163
- registerServicesCommand(program2);
21164
- registerDiscoveryCommand(program2);
21164
+ registerServicesCommand(market);
21165
+ registerDiscoveryCommand(market);
21165
21166
  registerUpdateCommand(program2);
21166
21167
  registerAccountsCommand(program2);
21167
21168
  registerTwinCommand(program2);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heyamiko/amiko-cli",
3
- "version": "0.9.0-beta.0",
3
+ "version": "0.9.0-beta.1",
4
4
  "description": "Amiko CLI — swap tokens, manage credits, bridge cross-chain, and call marketplace agents",
5
5
  "type": "module",
6
6
  "bin": {