@thirdfy/agent-cli 0.2.40 → 0.2.42

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/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ All notable changes to `@thirdfy/agent-cli` are documented here. The format is b
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## 0.2.42
8
+
9
+ - Treat `check_*` actions as read-only (Near Intents `check_bridge_status` parity with API/MCP).
10
+ - Selection/routing updates for Near Intents bridge provider alias.
11
+
12
+
13
+ ## [0.2.41] - 2026-07-28
14
+
15
+ ### Fixed
16
+
17
+ - `--provider lifi` soft-matches catalog `providerId: bridge` for `get_bridge_quote` / `execute_bridge` (historical pack taxonomy) while still matching real trade provider `lifi` (Robinhood 4663). Preferred flag remains `--provider bridge`. MCP parity in `thirdfy-mcp` **0.0.84**.
18
+
7
19
  ## [0.2.40] - 2026-07-27
8
20
 
9
21
  ### Added
package/README.md CHANGED
@@ -40,10 +40,12 @@ Run without global install:
40
40
  npx @thirdfy/agent-cli --help
41
41
  ```
42
42
 
43
- ## What's new in v0.2.40
44
- - EarnClaw machines: Polymarket place orders require an `earnclaw:<runtimeId>…` idempotency key (blocks ad-hoc CLI/dashboard buys).
45
- - Pack execute-gate and operator exits already set this key; bare tool writes fail closed.
46
- - See [CHANGELOG.md](./CHANGELOG.md) for older versions.
43
+ ## What's new in v0.2.42
44
+
45
+ - Read-only classification for `check_*` actions (including bridge status).
46
+ - Near Intents bridge provider selection alias alignment with Thirdfy API.
47
+
48
+ See [CHANGELOG.md](./CHANGELOG.md) for older versions.
47
49
 
48
50
 
49
51
  ## Quick start
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thirdfy/agent-cli",
3
- "version": "0.2.40",
3
+ "version": "0.2.42",
4
4
  "description": "Thirdfy Agent CLI for onboarding, governance preflight, execute-intent, and status polling.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -7,7 +7,7 @@
7
7
  * execute rail and come back shaped as an execution envelope instead of provider data.
8
8
  */
9
9
 
10
- const READ_ONLY_PREFIXES = ['get_', 'list_', 'fetch_', 'search_', 'show_', 'dogeos_get_'];
10
+ const READ_ONLY_PREFIXES = ['get_', 'list_', 'fetch_', 'search_', 'show_', 'check_', 'dogeos_get_'];
11
11
 
12
12
  const READ_ONLY_EXACT = new Set([
13
13
  'dogeos_barkswap_get_quote',
@@ -239,6 +239,19 @@ function actionMatchesProvider(action, requestedProvider, allActions) {
239
239
  if (provider === 'hyperliquid' || provider === 'lighter') return false;
240
240
  return isProviderActionKey(action, 'bridge');
241
241
  }
242
+ // Soft-compat: packs historically used --provider lifi for Li.Fi bridge. Catalog providerId is bridge.
243
+ // Still match real trade providerId lifi (Robinhood 4663 spot). Do not remap normalizeProviderId globally.
244
+ if (requestedProvider === 'lifi') {
245
+ if (provider === 'lifi') return true;
246
+ if (provider === 'hyperliquid' || provider === 'lighter') return false;
247
+ if (provider === 'bridge' || isProviderActionKey(action, 'bridge')) return true;
248
+ return false;
249
+ }
250
+ if (requestedProvider === 'near-intents' || requestedProvider === 'near_intents') {
251
+ if (provider === 'hyperliquid' || provider === 'lighter') return false;
252
+ if (provider === 'bridge' || isProviderActionKey(action, 'bridge')) return true;
253
+ return false;
254
+ }
242
255
  if (requestedProvider.startsWith('dogeos')) return isProviderActionKey(action, requestedProvider);
243
256
  if (requestedProvider === 'earn') {
244
257
  return provider === 'earn' || provider === 'morpho' || provider === 'aegis' || provider === 'curve' || provider === 'capyfi' || provider === 'vaults-fyi' || provider === 'yield-xyz' || isEarnCatalogAction(action);