@thirdfy/agent-cli 0.2.84 → 0.2.85

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,12 @@ All notable changes to `@thirdfy/agent-cli` are documented here. The format is b
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## [0.2.85] - 2026-10-10
8
+
9
+ ### Fixed
10
+
11
+ - **`run --action bermuda_stealth_swap` was refused before reaching the API.** The swap amount check applied to every action whose resolved name ends in `-swap`, so `bermuda-stealth-swap` (which takes `amount`) stopped with `AMOUNT_UNIT_MISSING`. Found by testing 0.2.84 against Thirdfy api-test. It now keeps its own `amount`; `swap` (private or not) still takes the `amountIn` contract. Pin: `test/mcp-api-parity.test.cjs`.
12
+
7
13
  ## [0.2.84] - 2026-10-10
8
14
 
9
15
  ### Added
package/README.md CHANGED
@@ -40,10 +40,10 @@ Run without global install:
40
40
  npx @thirdfy/agent-cli --help
41
41
  ```
42
42
 
43
- ## What's new in v0.2.84
43
+ ## What's new in v0.2.85
44
44
 
45
- - **Private actions (Bermuda, Base Sepolia).** Hints cover `bermuda_stealth_exit`, `bermuda_stealth_swap` and `bermuda_sweep_burners`, plus `private: true` on `swap`, `deposit_earn_position` and `withdraw_earn_position` (Thirdfy API: the action runs from the shielded balance on a fresh burner where a Bermuda pool exists, or is refused; it never falls back to a public action). See [docs/providers/bermuda.md](./docs/providers/bermuda.md).
46
- - **`run` no longer blocks private writes on the public balance check.** `private: true` and Bermuda writes (except `bermuda_deposit`) spend the shielded balance, so the execution wallet's `tokenIn` balance is not checked.
45
+ - **`bermuda_stealth_swap` runs from `run`.** 0.2.84 refused it with `AMOUNT_UNIT_MISSING` (the swap amount check matched its name); it now passes its own `amount` to the API.
46
+ - Private actions (0.2.84): `private: true` on `swap`, `deposit_earn_position` and `withdraw_earn_position`, and the Bermuda private writes (`bermuda_stealth_swap`, `bermuda_stealth_exit`, `bermuda_sweep_burners`); private writes skip the public balance check. See [docs/providers/bermuda.md](./docs/providers/bermuda.md).
47
47
  - See [CHANGELOG.md](./CHANGELOG.md) and GitHub Releases for older versions.
48
48
 
49
49
  ## Quick start
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thirdfy/agent-cli",
3
- "version": "0.2.84",
3
+ "version": "0.2.85",
4
4
  "description": "Thirdfy Agent CLI for onboarding, governance preflight, execute-intent, and status polling.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,8 +1,12 @@
1
1
  import { parseJsonFlag } from '../../core/args.mjs';
2
2
  import { createCliError } from '../../core/envelope.mjs';
3
3
  export function createExecutionAmounts() {
4
+ /** Swaps with their own amount field, not the `amountIn` contract (Bermuda private swaps take `amount`). */
5
+ const OWN_AMOUNT_SWAP_ACTIONS = new Set(['bermuda-stealth-swap']);
6
+
4
7
  function shouldApplySwapAmountContract(actionName) {
5
8
  const action = String(actionName || '').trim().toLowerCase();
9
+ if (OWN_AMOUNT_SWAP_ACTIONS.has(action.replace(/_/g, '-').replace(/^.*:/, ''))) return false;
6
10
  return action === 'swap' || action === 'execute_optimal_swap' || /(^|:|-)swap$/.test(action);
7
11
  }
8
12