@thirdfy/agent-cli 0.1.34 → 0.1.36
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 +16 -0
- package/README.md +2 -2
- package/bin/thirdfy-agent.mjs +78 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,22 @@ All notable changes to `@thirdfy/agent-cli` are documented here. The format is b
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.1.36] - 2026-05-16
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Hyperliquid perps cancel and expanded Bitfinex/Hyperliquid discovery hints in `thirdfy-agent actions`, plus preflight routing tests aligned with the Thirdfy action catalog.
|
|
12
|
+
|
|
13
|
+
## [0.1.35] - 2026-05-14
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- Polymarket Gamma discovery hints in `thirdfy-agent actions` (`gamma_search_tags`, `gamma_search_events`, `gamma_search_markets`, and related prediction reads) aligned with the Thirdfy AgentKit catalog.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Public docs: provider index, action inventory, and command reference describe Gamma-backed Polymarket discovery and the production deposit-wallet (pUSD / POLY_1271) flow alongside existing trading and earn coverage.
|
|
22
|
+
|
|
7
23
|
## [0.1.34] - 2026-05-14
|
|
8
24
|
|
|
9
25
|
### Changed
|
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ npx @thirdfy/agent-cli --help
|
|
|
40
40
|
|
|
41
41
|
## Release notes
|
|
42
42
|
|
|
43
|
-
Version history and highlights: [CHANGELOG.md](./CHANGELOG.md).
|
|
43
|
+
Version history and highlights: [CHANGELOG.md](./CHANGELOG.md). **v0.1.35** extends `thirdfy-agent actions` hints for Polymarket Gamma-style discovery (`gamma_search_*` where catalog-backed) and legacy `search_polymarket` / `get_polymarket_*` reads, with public docs aligned to the deposit-wallet (pUSD / POLY_1271) operator path. Earlier releases added provider discovery parity, portfolio analytics, managed-wallet swap normalization, and **self/build-tx** swap human-decimal `amountIn` parity when using `amountInHuman` + `tokenInDecimals`.
|
|
44
44
|
|
|
45
45
|
**Maintainers — npm:** follow [docs/releasing.md](./docs/releasing.md). From a clone with gitignored `.env`, use `npm run publish:npm:local -- --dry-run` then `npm run publish:npm:local`. Or run `npm run release:npm` after exporting tokens in the shell. Never commit npm tokens — use [.env.example](./.env.example) as a template only.
|
|
46
46
|
|
|
@@ -406,7 +406,7 @@ npm run e2e:managed:delegation:parity
|
|
|
406
406
|
|
|
407
407
|
## Release
|
|
408
408
|
|
|
409
|
-
Version history and user-facing notes: [CHANGELOG.md](./CHANGELOG.md) (for example [v0.1.
|
|
409
|
+
Version history and user-facing notes: [CHANGELOG.md](./CHANGELOG.md) (for example [v0.1.35](https://github.com/thirdfy/agent-cli/releases/tag/v0.1.35) — Polymarket Gamma discovery hints and public docs; keep npm README, `CHANGELOG.md`, and MCP provider summaries in sync when discovery surfaces change).
|
|
410
410
|
|
|
411
411
|
```bash
|
|
412
412
|
npm version patch
|
package/bin/thirdfy-agent.mjs
CHANGED
|
@@ -434,6 +434,7 @@ function getTradingProviderHint(providerId) {
|
|
|
434
434
|
],
|
|
435
435
|
orderManagementActions: [
|
|
436
436
|
'place_hyperliquid_perps_order',
|
|
437
|
+
'cancel_hyperliquid_perps_order',
|
|
437
438
|
'get_hyperliquid_open_orders',
|
|
438
439
|
],
|
|
439
440
|
setupActions: [
|
|
@@ -482,12 +483,48 @@ function getTradingProviderHint(providerId) {
|
|
|
482
483
|
'thirdfy-agent actions --provider hyperliquid && thirdfy-agent preflight --action place_hyperliquid_perps_order --params \'{"coin":"ETH","isBuy":true,"size":0.01,"limitPx":3500,"orderType":"market"}\'',
|
|
483
484
|
};
|
|
484
485
|
}
|
|
486
|
+
if (provider === 'bitfinex') {
|
|
487
|
+
return {
|
|
488
|
+
provider,
|
|
489
|
+
category: 'cex_funding',
|
|
490
|
+
canonicalReadAction: 'get_bitfinex_funding_ticker',
|
|
491
|
+
canonicalWriteAction: 'submit_bitfinex_funding_offer',
|
|
492
|
+
readActions: [
|
|
493
|
+
'get_bitfinex_funding_ticker',
|
|
494
|
+
'get_bitfinex_funding_stats_hist',
|
|
495
|
+
'get_bitfinex_funding_book',
|
|
496
|
+
'get_bitfinex_funding_info',
|
|
497
|
+
'get_bitfinex_wallets',
|
|
498
|
+
'list_bitfinex_funding_offers',
|
|
499
|
+
'list_bitfinex_funding_credits',
|
|
500
|
+
],
|
|
501
|
+
orderManagementActions: [
|
|
502
|
+
'submit_bitfinex_funding_offer',
|
|
503
|
+
'cancel_bitfinex_funding_offer',
|
|
504
|
+
'submit_bitfinex_order',
|
|
505
|
+
'update_bitfinex_order',
|
|
506
|
+
'cancel_bitfinex_order',
|
|
507
|
+
],
|
|
508
|
+
credentialType: 'bitfinex_api_key',
|
|
509
|
+
credentialRef: 'bitfinex:funding-primary',
|
|
510
|
+
credentialUx:
|
|
511
|
+
'Save and verify Bitfinex funding credentials in EarnClaw/Thirdfy first. MCP/CLI order intents reference credentialRef only; raw keys are never sent through agentRun.',
|
|
512
|
+
laneCompatibility:
|
|
513
|
+
'Bitfinex CEX writes require thirdfy, hybrid, or agent_wallet so Thirdfy can inject stored credentials and run policy/preflight. Reads and setup discovery can be listed without raw credentials.',
|
|
514
|
+
example:
|
|
515
|
+
'thirdfy-agent actions --provider bitfinex && thirdfy-agent run --run-mode thirdfy --action submit_bitfinex_funding_offer --params \'{"symbol":"fUSD","amount":"100","rate":"0.0002","period":2,"credentialRef":"bitfinex:funding-primary"}\'',
|
|
516
|
+
};
|
|
517
|
+
}
|
|
485
518
|
if (provider === 'polymarket') {
|
|
486
519
|
return {
|
|
487
520
|
provider,
|
|
488
521
|
category: 'prediction_market',
|
|
489
522
|
canonicalWriteAction: 'place_polymarket_order',
|
|
490
523
|
readActions: [
|
|
524
|
+
'get_polymarket_tags',
|
|
525
|
+
'search_polymarket',
|
|
526
|
+
'get_polymarket_events',
|
|
527
|
+
'get_polymarket_event',
|
|
491
528
|
'get_polymarket_markets',
|
|
492
529
|
'get_polymarket_market',
|
|
493
530
|
'get_polymarket_order_book',
|
|
@@ -497,6 +534,14 @@ function getTradingProviderHint(providerId) {
|
|
|
497
534
|
'get_polymarket_order',
|
|
498
535
|
'get_polymarket_user_orders',
|
|
499
536
|
],
|
|
537
|
+
discoveryFlow: [
|
|
538
|
+
'get_polymarket_tags or search_polymarket',
|
|
539
|
+
'get_polymarket_events active=true closed=false',
|
|
540
|
+
'get_polymarket_market or get_polymarket_markets',
|
|
541
|
+
'get_polymarket_order_book',
|
|
542
|
+
'get_polymarket_prices or get_polymarket_price_history',
|
|
543
|
+
'get_polymarket_setup_status before place_polymarket_order',
|
|
544
|
+
],
|
|
500
545
|
orderManagementActions: [
|
|
501
546
|
'place_polymarket_order',
|
|
502
547
|
'get_polymarket_order',
|
|
@@ -505,27 +550,27 @@ function getTradingProviderHint(providerId) {
|
|
|
505
550
|
],
|
|
506
551
|
setupActions: [
|
|
507
552
|
'get_polymarket_setup_status',
|
|
508
|
-
'agent_wallet_setup:
|
|
509
|
-
'agent_wallet_setup:
|
|
553
|
+
'agent_wallet_setup:ensure_agent_wallet_deposit_wallet',
|
|
554
|
+
'agent_wallet_setup:deploy_deposit_wallet_and_set_approvals',
|
|
510
555
|
'agent_wallet_setup:create_or_derive_clob_credentials',
|
|
511
556
|
'browser_setup:add_privy_signer',
|
|
512
557
|
'browser_setup:create_or_derive_clob_credentials',
|
|
513
|
-
'browser_setup:
|
|
558
|
+
'browser_setup:deploy_deposit_wallet_and_set_approvals',
|
|
514
559
|
],
|
|
515
560
|
statusActions: ['get_polymarket_setup_status'],
|
|
516
561
|
credentialType: 'polymarket_clob',
|
|
517
562
|
credentialUx:
|
|
518
|
-
'Autonomous agents use an agent-owned Privy wallet
|
|
563
|
+
'Autonomous agents use an agent-owned Privy wallet and Polymarket deposit wallet first: Thirdfy creates the agent wallet, deploys/approves the deposit wallet, and stores encrypted CLOB credentials once Polymarket key creation is available. User-owned browser setup remains optional for interactive capital.',
|
|
519
564
|
funding:
|
|
520
|
-
'Fund the agent-owned Polymarket
|
|
565
|
+
'Fund the agent-owned Polymarket deposit wallet with Polygon pUSD after deployment and approvals. If users start with Base USDC, route Base USDC -> Polygon pUSD to the deposit wallet recipient before CLOB order placement.',
|
|
521
566
|
laneCompatibility:
|
|
522
567
|
'Use agent_wallet as the preferred autonomous-agent path. Use self only for user-owned setup/funding signatures. CLOB orders should use thirdfy, hybrid, or agent_wallet after polymarket_clob credentials are stored.',
|
|
523
568
|
setupBlockers: [
|
|
524
|
-
'
|
|
569
|
+
'POLYMARKET_DEPOSIT_WALLET_REQUIRED',
|
|
525
570
|
'POLYMARKET_CLOB_CREDENTIALS_REQUIRED',
|
|
526
|
-
'
|
|
527
|
-
'
|
|
528
|
-
'
|
|
571
|
+
'POLYMARKET_DEPOSIT_WALLET_DEPLOY_REQUIRED',
|
|
572
|
+
'POLYMARKET_DEPOSIT_WALLET_APPROVALS_REQUIRED',
|
|
573
|
+
'POLYMARKET_DEPOSIT_WALLET_PUSD_REQUIRED',
|
|
529
574
|
'POLYMARKET_CREDITS_REQUIRED',
|
|
530
575
|
'POLYMARKET_RELAYER_UNAVAILABLE',
|
|
531
576
|
'POLYMARKET_CLOB_KEY_CREATION_BLOCKED_UNTIL_POLYMARKET_FIX',
|
|
@@ -539,7 +584,14 @@ function getTradingProviderHint(providerId) {
|
|
|
539
584
|
provider,
|
|
540
585
|
category: 'prediction',
|
|
541
586
|
canonicalWriteAction: 'place_prediction_order',
|
|
542
|
-
readActions: [
|
|
587
|
+
readActions: [
|
|
588
|
+
'get_prediction_tags',
|
|
589
|
+
'search_prediction_markets',
|
|
590
|
+
'get_prediction_events',
|
|
591
|
+
'get_prediction_markets',
|
|
592
|
+
'get_prediction_market',
|
|
593
|
+
'get_prediction_order_book',
|
|
594
|
+
],
|
|
543
595
|
orderManagementActions: ['place_prediction_order', 'cancel_prediction_order'],
|
|
544
596
|
compatibilityProvider: 'polymarket',
|
|
545
597
|
};
|
|
@@ -682,6 +734,8 @@ function formatProviderUnknownActionHint(providerHint) {
|
|
|
682
734
|
const OFFCHAIN_VENUE_ORDER_ACTIONS = new Set([
|
|
683
735
|
'place_hyperliquid_perps_order',
|
|
684
736
|
'place-hyperliquid-perps-order',
|
|
737
|
+
'cancel_hyperliquid_perps_order',
|
|
738
|
+
'cancel-hyperliquid-perps-order',
|
|
685
739
|
'place_polymarket_order',
|
|
686
740
|
'place-polymarket-order',
|
|
687
741
|
]);
|
|
@@ -3497,6 +3551,7 @@ function inferActionProvider(action) {
|
|
|
3497
3551
|
'deposit-hyperliquid-staking': 'hyperliquid',
|
|
3498
3552
|
'deposit-hyperliquid-bridge': 'hyperliquid',
|
|
3499
3553
|
'place-hyperliquid-perps-order': 'hyperliquid',
|
|
3554
|
+
'cancel-hyperliquid-perps-order': 'hyperliquid',
|
|
3500
3555
|
'get-perps-markets': 'hyperliquid',
|
|
3501
3556
|
'get-perps-account': 'hyperliquid',
|
|
3502
3557
|
'get-perps-position': 'hyperliquid',
|
|
@@ -3519,18 +3574,31 @@ function inferActionProvider(action) {
|
|
|
3519
3574
|
'get-yield-xyz-opportunities': 'yield-xyz',
|
|
3520
3575
|
'get-prediction-markets': 'polymarket',
|
|
3521
3576
|
'get-prediction-market': 'polymarket',
|
|
3577
|
+
'get-prediction-events': 'polymarket',
|
|
3578
|
+
'get-prediction-tags': 'polymarket',
|
|
3579
|
+
'search-prediction-markets': 'polymarket',
|
|
3522
3580
|
'get-prediction-order-book': 'polymarket',
|
|
3523
3581
|
'get-prediction-position': 'polymarket',
|
|
3524
3582
|
'place-prediction-order': 'polymarket',
|
|
3525
3583
|
'cancel-prediction-order': 'polymarket',
|
|
3526
3584
|
'get-polymarket-markets': 'polymarket',
|
|
3527
3585
|
'get-polymarket-market': 'polymarket',
|
|
3586
|
+
'get-polymarket-events': 'polymarket',
|
|
3587
|
+
'get-polymarket-event': 'polymarket',
|
|
3588
|
+
'get-polymarket-tags': 'polymarket',
|
|
3589
|
+
'search-polymarket': 'polymarket',
|
|
3590
|
+
'get-polymarket-order-book': 'polymarket',
|
|
3591
|
+
'get-polymarket-prices': 'polymarket',
|
|
3528
3592
|
'get-polymarket-setup-status': 'polymarket',
|
|
3529
3593
|
'get-polymarket-order': 'polymarket',
|
|
3594
|
+
'get-polymarket-user-orders': 'polymarket',
|
|
3595
|
+
'cancel-polymarket-order': 'polymarket',
|
|
3596
|
+
'get-polymarket-price-history': 'polymarket',
|
|
3530
3597
|
'place-polymarket-order': 'polymarket',
|
|
3531
3598
|
};
|
|
3532
3599
|
if (knownMap[key]) return knownMap[key];
|
|
3533
3600
|
if (key.includes('hyperliquid')) return 'hyperliquid';
|
|
3601
|
+
if (key.includes('bitfinex')) return 'bitfinex';
|
|
3534
3602
|
if (key.includes('polymarket') || key.includes('prediction')) return 'polymarket';
|
|
3535
3603
|
if (key.includes('vaults-fyi')) return 'vaults-fyi';
|
|
3536
3604
|
if (key.includes('yield-xyz')) return 'yield-xyz';
|