@heyamiko/amiko-cli 0.9.6 → 0.9.7

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)
1
+ # @heyamiko/amiko-cli (v0.9.7)
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
 
@@ -391,6 +391,10 @@ npm publish
391
391
 
392
392
  ## Changelog
393
393
 
394
+ ### 0.9.7
395
+
396
+ - `composio connect` is now idempotent by default. Previously the CLI sent `forceReconnect: true` whenever `--force` was omitted, which caused every status probe to tear down the active Composio connection. The new default is `forceReconnect: false`: if the toolkit is already connected, the call returns `{ alreadyConnected: true }` without touching the connection. Pass `--force` explicitly to opt into a destructive reconnect.
397
+
394
398
  ### 0.9.0-beta.10
395
399
 
396
400
  - **Rename**: top-level `market` command group is now `markets` (e.g. `amiko markets search`, `amiko markets image`).
package/dist/index.js CHANGED
@@ -5,25 +5,43 @@ var __getProtoOf = Object.getPrototypeOf;
5
5
  var __defProp = Object.defineProperty;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ function __accessProp(key) {
9
+ return this[key];
10
+ }
11
+ var __toESMCache_node;
12
+ var __toESMCache_esm;
8
13
  var __toESM = (mod, isNodeMode, target) => {
14
+ var canCache = mod != null && typeof mod === "object";
15
+ if (canCache) {
16
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
17
+ var cached = cache.get(mod);
18
+ if (cached)
19
+ return cached;
20
+ }
9
21
  target = mod != null ? __create(__getProtoOf(mod)) : {};
10
22
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
11
23
  for (let key of __getOwnPropNames(mod))
12
24
  if (!__hasOwnProp.call(to, key))
13
25
  __defProp(to, key, {
14
- get: () => mod[key],
26
+ get: __accessProp.bind(mod, key),
15
27
  enumerable: true
16
28
  });
29
+ if (canCache)
30
+ cache.set(mod, to);
17
31
  return to;
18
32
  };
19
33
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
34
+ var __returnValue = (v) => v;
35
+ function __exportSetter(name, newValue) {
36
+ this[name] = __returnValue.bind(null, newValue);
37
+ }
20
38
  var __export = (target, all) => {
21
39
  for (var name in all)
22
40
  __defProp(target, name, {
23
41
  get: all[name],
24
42
  enumerable: true,
25
43
  configurable: true,
26
- set: (newValue) => all[name] = () => newValue
44
+ set: __exportSetter.bind(all, name)
27
45
  });
28
46
  };
29
47
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
@@ -3515,11 +3533,36 @@ var require_emoji_regex = __commonJS((exports, module) => {
3515
3533
  };
3516
3534
  });
3517
3535
 
3518
- // node_modules/mppx/dist/BodyDigest.js
3519
- var init_BodyDigest = () => {};
3520
-
3521
- // node_modules/mppx/dist/PaymentRequest.js
3522
- var init_PaymentRequest = () => {};
3536
+ // node_modules/mppx/dist/Method.js
3537
+ var exports_Method = {};
3538
+ __export(exports_Method, {
3539
+ toServer: () => toServer,
3540
+ toClient: () => toClient,
3541
+ from: () => from
3542
+ });
3543
+ function from(method) {
3544
+ return method;
3545
+ }
3546
+ function toClient(method, options) {
3547
+ const { context, createCredential } = options;
3548
+ return {
3549
+ ...method,
3550
+ context,
3551
+ createCredential
3552
+ };
3553
+ }
3554
+ function toServer(method, options) {
3555
+ const { defaults, html, request, respond, transport, verify } = options;
3556
+ return {
3557
+ ...method,
3558
+ defaults,
3559
+ html,
3560
+ request,
3561
+ respond,
3562
+ transport,
3563
+ verify
3564
+ };
3565
+ }
3523
3566
 
3524
3567
  // node_modules/mppx/node_modules/zod/v4/core/core.js
3525
3568
  function $constructor(name, initializer, params) {
@@ -16604,89 +16647,8 @@ var init_zod = __esm(() => {
16604
16647
  init_mini();
16605
16648
  });
16606
16649
 
16607
- // node_modules/mppx/dist/Challenge.js
16608
- var Schema;
16609
- var init_Challenge = __esm(() => {
16610
- init_zod();
16611
- Schema = object({
16612
- description: optional(string2()),
16613
- digest: optional(string2().check(_regex(/^sha-256=/, "Invalid digest format"))),
16614
- expires: optional(datetime3()),
16615
- id: string2(),
16616
- intent: string2(),
16617
- method: string2(),
16618
- opaque: optional(record(string2(), string2())),
16619
- realm: string2(),
16620
- request: record(string2(), unknown())
16621
- });
16622
- });
16623
-
16624
- // node_modules/mppx/dist/Credential.js
16625
- var init_Credential = () => {};
16626
-
16627
- // node_modules/mppx/dist/Errors.js
16628
- var init_Errors = () => {};
16629
-
16630
- // node_modules/mppx/dist/Expires.js
16631
- var init_Expires = () => {};
16632
-
16633
- // node_modules/mppx/dist/Method.js
16634
- var exports_Method = {};
16635
- __export(exports_Method, {
16636
- toServer: () => toServer,
16637
- toClient: () => toClient,
16638
- from: () => from
16639
- });
16640
- function from(method) {
16641
- return method;
16642
- }
16643
- function toClient(method, options) {
16644
- const { context, createCredential } = options;
16645
- return {
16646
- ...method,
16647
- context,
16648
- createCredential
16649
- };
16650
- }
16651
- function toServer(method, options) {
16652
- const { defaults, html, request, respond, transport, verify } = options;
16653
- return {
16654
- ...method,
16655
- defaults,
16656
- html,
16657
- request,
16658
- respond,
16659
- transport,
16660
- verify
16661
- };
16662
- }
16663
-
16664
- // node_modules/mppx/dist/Receipt.js
16665
- var Schema2;
16666
- var init_Receipt = __esm(() => {
16667
- init_zod();
16668
- Schema2 = object({
16669
- method: string2(),
16670
- reference: string2(),
16671
- externalId: optional(string2()),
16672
- status: literal("success"),
16673
- timestamp: datetime3()
16674
- });
16675
- });
16676
-
16677
- // node_modules/mppx/dist/Store.js
16678
- var init_Store = () => {};
16679
-
16680
16650
  // node_modules/mppx/dist/index.js
16681
16651
  var init_dist = __esm(() => {
16682
- init_BodyDigest();
16683
- init_Challenge();
16684
- init_Credential();
16685
- init_Errors();
16686
- init_Expires();
16687
- init_PaymentRequest();
16688
- init_Receipt();
16689
- init_Store();
16690
16652
  init_zod();
16691
16653
  });
16692
16654
 
@@ -21707,7 +21669,7 @@ function registerComposioCommand(program2) {
21707
21669
  body: {
21708
21670
  appName: opts.app,
21709
21671
  redirectUrl: opts.redirect,
21710
- forceReconnect: opts.force ?? true
21672
+ forceReconnect: opts.force ?? false
21711
21673
  }
21712
21674
  });
21713
21675
  spinner?.stop();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heyamiko/amiko-cli",
3
- "version": "0.9.6",
3
+ "version": "0.9.7",
4
4
  "description": "Amiko CLI — swap tokens, manage credits, bridge cross-chain, and call marketplace agents",
5
5
  "type": "module",
6
6
  "bin": {
package/skills/SKILL.md CHANGED
@@ -297,10 +297,13 @@ Platform notifications cover friend requests, mentions, system alerts, and other
297
297
  ## Composio
298
298
 
299
299
  ```bash
300
- amiko composio connect --app gmail # prints OAuth URL
300
+ amiko composio connect --app gmail # idempotent — prints OAuth URL if not yet connected, or returns alreadyConnected:true
301
+ amiko composio connect --app gmail --force # destructive — disconnects any existing link and starts a fresh OAuth
301
302
  amiko composio disconnect --app gmail --yes # destructive
302
303
  ```
303
304
 
305
+ `composio connect` is safe to call as a status check: it never destroys an existing connection unless you pass `--force`.
306
+
304
307
  ## Other
305
308
 
306
309
  ```bash