@t2000/sdk 10.37.1 → 10.38.0

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/dist/browser.cjs CHANGED
@@ -1332,10 +1332,11 @@ init_coinSelection();
1332
1332
  init_errors();
1333
1333
  init_token_registry();
1334
1334
  init_coinSelection();
1335
- var MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x7a9332e167d19e7442fb30740d31a536047da10ab00715402c6fff9e80ae604d";
1335
+ var MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
1336
1336
  var A2A_ESCROW_LATEST_PACKAGE_ID = process.env.A2A_ESCROW_OPENING_PACKAGE_ID ?? process.env.A2A_ESCROW_PACKAGE_ID ?? MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID;
1337
1337
  var A2A_ESCROW_PACKAGE_V7_ID = "0x4249f0b242c47c7baf0c37304365bc4bbe769bcedf11f3525e84682d59a3b23e";
1338
1338
  var A2A_ESCROW_PACKAGE_V8_ID = "0x1595b80bc05a03607f3908702c866ca63cf961025b4263b5ecbe419e07f8ff31";
1339
+ var A2A_ESCROW_PACKAGE_V10_ID = process.env.A2A_ESCROW_PACKAGE_V10_ID ?? "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
1339
1340
  var OPENING_CLAIM_POLICY_ANY_ACTIVE = 0;
1340
1341
  var OPENING_CLAIM_POLICY_PROVEN = 1;
1341
1342
  var OPENING_CLAIM_POLICY_PROVEN_4STAR = 2;
@@ -1361,7 +1362,7 @@ function feeConfigArg(tx) {
1361
1362
  mutable: false
1362
1363
  });
1363
1364
  }
1364
- var MAX_JOB_USDC = 50;
1365
+ var MAX_JOB_USDC = 100;
1365
1366
  var MIN_JOB_USDC = 0.01;
1366
1367
  var MAX_REVIEW_WINDOW_MS = 2592e6;
1367
1368
  var MAX_DELIVER_HORIZON_MS = 31536e6;
@@ -1407,7 +1408,7 @@ function preflightCreateJob(terms) {
1407
1408
  if (terms.amountUsdc > MAX_JOB_USDC) {
1408
1409
  return preflightFail(
1409
1410
  "INVALID_AMOUNT",
1410
- `v1 caps escrow jobs at ${MAX_JOB_USDC} USDC (no-arbitration split only stays fair at small sizes). Got ${terms.amountUsdc}.`
1411
+ `Escrow jobs cap at ${MAX_JOB_USDC} USDC (the no-arbitration split is the only dispute model \u2014 the cap keeps stakes where that stays fair). Got ${terms.amountUsdc}. Larger engagements: split into milestone jobs.`
1411
1412
  );
1412
1413
  }
1413
1414
  if (terms.deliverByMs <= Date.now()) {
@@ -1461,15 +1462,6 @@ async function buildCreateJobTx({
1461
1462
  });
1462
1463
  return tx;
1463
1464
  }
1464
- function jobCall(jobId, fn) {
1465
- const tx = new transactions.Transaction();
1466
- tx.moveCall({
1467
- target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::${MODULE}::${fn}`,
1468
- typeArguments: [exports.USDC_TYPE],
1469
- arguments: [tx.object(jobId), feeConfigArg(tx), tx.object(CLOCK_ID2)]
1470
- });
1471
- return tx;
1472
- }
1473
1465
  function buildRejectJobTx(jobId, v2) {
1474
1466
  const tx = new transactions.Transaction();
1475
1467
  tx.moveCall({
@@ -1520,8 +1512,19 @@ function buildDeliverJobTx(jobId, deliveryHash) {
1520
1512
  });
1521
1513
  return tx;
1522
1514
  }
1523
- function buildReleaseJobTx(jobId) {
1524
- return jobCall(jobId, "release");
1515
+ function buildReleaseJobTx(jobId, v2) {
1516
+ const tx = new transactions.Transaction();
1517
+ tx.moveCall({
1518
+ target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::reputation::release_v2`,
1519
+ typeArguments: [exports.USDC_TYPE],
1520
+ arguments: [
1521
+ tx.object(jobId),
1522
+ tx.object(v2.sellerScoreId),
1523
+ feeConfigArg(tx),
1524
+ tx.object(CLOCK_ID2)
1525
+ ]
1526
+ });
1527
+ return tx;
1525
1528
  }
1526
1529
  async function getJob(client, jobId) {
1527
1530
  const resp = await client.core.getObject({ objectId: jobId, include: { json: true } }).catch((e) => {
@@ -1609,6 +1612,10 @@ var PROVEN_MIN_REVIEWS = 3;
1609
1612
  var PROVEN_MIN_AVG_STARS_X10 = 40;
1610
1613
  var REVIEW_MIN_STARS = 1;
1611
1614
  var REVIEW_MAX_STARS = 5;
1615
+ var SELLER_LEVEL_ACTIVE_CAPS = [4, 10, 20, 30];
1616
+ var NO_DELIVERY_REGRESSION_FLOOR = 3;
1617
+ var LEVEL4_MIN_REVIEWS = 20;
1618
+ var LEVEL4_MAX_NO_DELIVERY = 2;
1612
1619
  function boardIdOrThrow(boardId) {
1613
1620
  const id = boardId ?? A2A_SCORE_BOARD_ID;
1614
1621
  if (!id) {
@@ -1654,11 +1661,12 @@ async function getAgentScore(client, agent, boardId) {
1654
1661
  }
1655
1662
  const reviewCount = Number(json.review_count ?? 0);
1656
1663
  const starsSum = Number(json.stars_sum ?? 0);
1657
- const [distinctBuyers, rejectedAfterDelivery, noDelivery, asBuyerRejected] = await Promise.all([
1664
+ const [distinctBuyers, rejectedAfterDelivery, noDelivery, asBuyerRejected, activeSellerJobs] = await Promise.all([
1658
1665
  readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V7_ID, "DistinctCountKey"),
1659
1666
  readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V8_ID, "RejectedAfterDeliveryKey"),
1660
1667
  readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V8_ID, "NoDeliveryKey"),
1661
- readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V8_ID, "AsBuyerRejectedKey")
1668
+ readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V8_ID, "AsBuyerRejectedKey"),
1669
+ readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V10_ID, "ActiveSellerJobsKey")
1662
1670
  ]);
1663
1671
  return {
1664
1672
  id: scoreId,
@@ -1669,7 +1677,8 @@ async function getAgentScore(client, agent, boardId) {
1669
1677
  distinctBuyers,
1670
1678
  rejectedAfterDelivery,
1671
1679
  noDelivery,
1672
- asBuyerRejected
1680
+ asBuyerRejected,
1681
+ activeSellerJobs
1673
1682
  };
1674
1683
  }
1675
1684
  function meetsClaimPolicy(score, claimPolicy) {
@@ -1697,6 +1706,51 @@ function claimPolicyRequirement(claimPolicy) {
1697
1706
  }
1698
1707
  return "Anyone can claim (active Agent ID required).";
1699
1708
  }
1709
+ function sellerLevel(score) {
1710
+ if (!score) return 1;
1711
+ const provenAvg = score.distinctBuyers >= PROVEN_MIN_REVIEWS && score.starsSum * 10 >= score.reviewCount * PROVEN_MIN_AVG_STARS_X10;
1712
+ if (provenAvg) {
1713
+ return score.reviewCount >= LEVEL4_MIN_REVIEWS && score.noDelivery <= LEVEL4_MAX_NO_DELIVERY ? 4 : 3;
1714
+ }
1715
+ return score.distinctBuyers >= PROVEN_MIN_REVIEWS ? 2 : 1;
1716
+ }
1717
+ function effectiveSellerLevel(score) {
1718
+ if (!score) return 1;
1719
+ if (score.noDelivery >= NO_DELIVERY_REGRESSION_FLOOR) return 1;
1720
+ return sellerLevel(score);
1721
+ }
1722
+ function activeCapForLevel(level) {
1723
+ return SELLER_LEVEL_ACTIVE_CAPS[level - 1];
1724
+ }
1725
+ function meetsMinSellerLevel(score, minLevel) {
1726
+ if (minLevel <= 0) return true;
1727
+ return effectiveSellerLevel(score) >= minLevel;
1728
+ }
1729
+ function sellerLevelLabel(level) {
1730
+ return level >= 1 && level <= 4 ? `Level ${level}` : `Level ? (${level})`;
1731
+ }
1732
+ function preflightClaimOpening(score, opening) {
1733
+ if (!meetsClaimPolicy(score, opening.claimPolicy)) {
1734
+ return { valid: false, error: claimPolicyRequirement(opening.claimPolicy) };
1735
+ }
1736
+ const level = effectiveSellerLevel(score);
1737
+ const cap = activeCapForLevel(level);
1738
+ const active = score?.activeSellerJobs ?? 0;
1739
+ if (active >= cap) {
1740
+ return {
1741
+ valid: false,
1742
+ error: `Active: ${active}/${cap} \u2014 ${sellerLevelLabel(level)} caps in-flight claimed jobs at ${cap}. Finish (deliver + settle) a job or wait for a deadline refund, then claim again.`
1743
+ };
1744
+ }
1745
+ const minLevel = opening.minSellerLevel ?? 0;
1746
+ if (!meetsMinSellerLevel(score, minLevel)) {
1747
+ return {
1748
+ valid: false,
1749
+ error: `This opening needs ${sellerLevelLabel(minLevel)}+ \u2014 this wallet is ${sellerLevelLabel(level)}. Level 2 = reviews from ${PROVEN_MIN_REVIEWS}+ distinct buyers; Level 3 adds a 4.0\u2605 average; reliability (no-shows) can regress a level. Earn it on openings without a floor first.`
1750
+ };
1751
+ }
1752
+ return { valid: true };
1753
+ }
1700
1754
 
1701
1755
  // src/commerce.ts
1702
1756
  var DEFAULT_COMMERCE_API_BASE = "https://api.t2000.ai/v1";
@@ -1799,11 +1853,14 @@ exports.JOB_STATES = JOB_STATES;
1799
1853
  exports.KNOWN_TARGETS = KNOWN_TARGETS;
1800
1854
  exports.KeypairSigner = KeypairSigner;
1801
1855
  exports.LABEL_PATTERNS = LABEL_PATTERNS;
1856
+ exports.LEVEL4_MAX_NO_DELIVERY = LEVEL4_MAX_NO_DELIVERY;
1857
+ exports.LEVEL4_MIN_REVIEWS = LEVEL4_MIN_REVIEWS;
1802
1858
  exports.MAX_DELIVER_HORIZON_MS = MAX_DELIVER_HORIZON_MS;
1803
1859
  exports.MAX_JOB_USDC = MAX_JOB_USDC;
1804
1860
  exports.MAX_REVIEW_WINDOW_MS = MAX_REVIEW_WINDOW_MS;
1805
1861
  exports.MIN_JOB_USDC = MIN_JOB_USDC;
1806
1862
  exports.MIST_PER_SUI = MIST_PER_SUI;
1863
+ exports.NO_DELIVERY_REGRESSION_FLOOR = NO_DELIVERY_REGRESSION_FLOOR;
1807
1864
  exports.OPENING_CLAIM_POLICIES = OPENING_CLAIM_POLICIES;
1808
1865
  exports.OPENING_CLAIM_POLICY_ANY_ACTIVE = OPENING_CLAIM_POLICY_ANY_ACTIVE;
1809
1866
  exports.OPENING_CLAIM_POLICY_PROVEN = OPENING_CLAIM_POLICY_PROVEN;
@@ -1815,12 +1872,14 @@ exports.PROVEN_MIN_AVG_STARS_X10 = PROVEN_MIN_AVG_STARS_X10;
1815
1872
  exports.PROVEN_MIN_REVIEWS = PROVEN_MIN_REVIEWS;
1816
1873
  exports.REVIEW_MAX_STARS = REVIEW_MAX_STARS;
1817
1874
  exports.REVIEW_MIN_STARS = REVIEW_MIN_STARS;
1875
+ exports.SELLER_LEVEL_ACTIVE_CAPS = SELLER_LEVEL_ACTIVE_CAPS;
1818
1876
  exports.STABLE_ASSETS = STABLE_ASSETS;
1819
1877
  exports.SUI_DECIMALS = SUI_DECIMALS;
1820
1878
  exports.SUPPORTED_ASSETS = SUPPORTED_ASSETS;
1821
1879
  exports.T2000_OVERLAY_FEE_WALLET = T2000_OVERLAY_FEE_WALLET;
1822
1880
  exports.USDC_DECIMALS = USDC_DECIMALS;
1823
1881
  exports.ZkLoginSigner = ZkLoginSigner;
1882
+ exports.activeCapForLevel = activeCapForLevel;
1824
1883
  exports.buildCreateJobTx = buildCreateJobTx;
1825
1884
  exports.buildDeliverJobTx = buildDeliverJobTx;
1826
1885
  exports.buildRefundJobTx = buildRefundJobTx;
@@ -1837,6 +1896,7 @@ exports.classifyLabel = classifyLabel;
1837
1896
  exports.classifySendAsset = classifySendAsset;
1838
1897
  exports.classifyTransaction = classifyTransaction;
1839
1898
  exports.deriveAgentScoreId = deriveAgentScoreId;
1899
+ exports.effectiveSellerLevel = effectiveSellerLevel;
1840
1900
  exports.executeTx = executeTx;
1841
1901
  exports.extractAllUserLegs = extractAllUserLegs;
1842
1902
  exports.extractTransferDetails = extractTransferDetails;
@@ -1860,9 +1920,11 @@ exports.listServices = listServices;
1860
1920
  exports.mapMoveAbortCode = mapMoveAbortCode;
1861
1921
  exports.mapWalletError = mapWalletError;
1862
1922
  exports.meetsClaimPolicy = meetsClaimPolicy;
1923
+ exports.meetsMinSellerLevel = meetsMinSellerLevel;
1863
1924
  exports.mistToSui = mistToSui;
1864
1925
  exports.parseSuiRpcTx = parseSuiRpcTx;
1865
1926
  exports.payWithX402 = payWithX402;
1927
+ exports.preflightClaimOpening = preflightClaimOpening;
1866
1928
  exports.preflightCreateJob = preflightCreateJob;
1867
1929
  exports.preflightFail = preflightFail;
1868
1930
  exports.preflightPay = preflightPay;
@@ -1875,6 +1937,8 @@ exports.refineLendingLabel = refineLendingLabel;
1875
1937
  exports.reportX402Activity = reportX402Activity;
1876
1938
  exports.resolveSymbol = resolveSymbol;
1877
1939
  exports.resolveTokenType = resolveTokenType;
1940
+ exports.sellerLevel = sellerLevel;
1941
+ exports.sellerLevelLabel = sellerLevelLabel;
1878
1942
  exports.stableToRaw = stableToRaw;
1879
1943
  exports.suiToMist = suiToMist;
1880
1944
  exports.toBase64 = toBase64;
@@ -1,4 +1,4 @@
1
- export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b as ActivityReportConfig, c as AgentScore, B as BalanceResponse, C as CLOCK_ID, d as COIN_REGISTRY, e as ClassifyBalanceChange, f as ClassifyResult, g as CoinMeta, D as DEFAULT_ACTIVITY_REPORT_URL, h as DEFAULT_COMMERCE_API_BASE, i as DEFAULT_NETWORK, j as DepositInfo, E as ETH_TYPE, k as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, l as Job, m as JobState, n as JobTerms, o as JobVerification, K as KNOWN_TARGETS, p as KeypairSigner, L as LABEL_PATTERNS, q as LOFI_TYPE, M as MANIFEST_TYPE, r as MAX_DELIVER_HORIZON_MS, s as MAX_JOB_USDC, t as MAX_REVIEW_WINDOW_MS, u as MIN_JOB_USDC, v as MIST_PER_SUI, N as NAVX_TYPE, O as OPENING_CLAIM_POLICIES, w as OPENING_CLAIM_POLICY_ANY_ACTIVE, x as OPENING_CLAIM_POLICY_PROVEN, y as OPENING_CLAIM_POLICY_PROVEN_4STAR, z as OVERLAY_FEE_RATE, F as OverlayFeeConfig, P as PREFLIGHT_MAX_AMOUNT, H as PREFLIGHT_OK, Q as PROVEN_MIN_AVG_STARS_X10, R as PROVEN_MIN_REVIEWS, S as PayOptions, T as PayResult, U as PreflightResult, V as REVIEW_MAX_STARS, W as REVIEW_MIN_STARS, X as STABLE_ASSETS, Y as SUI_DECIMALS, Z as SUI_TYPE, _ as SUPPORTED_ASSETS, $ as SendAssetClass, a0 as SendResult, a1 as ServiceListing, a2 as SimulationResult, a3 as StableAsset, a4 as SuiHolding, a5 as SuiRpcTxBlock, a6 as SupportedAsset, a7 as SwapRouteResult, a8 as T2000Error, a9 as T2000ErrorCode, aa as T2000ErrorData, ab as T2000_OVERLAY_FEE_WALLET, ac as TOKEN_MAP, ad as TransactionLeg, ae as TransactionRecord, af as TransactionSigner, ag as TxDirection, ah as USDC_DECIMALS, ai as USDC_TYPE, aj as USDE_TYPE, ak as USDSUI_TYPE, al as USDT_TYPE, am as WAL_TYPE, an as WBTC_TYPE, ao as X402ActivityPayload, ap as ZkLoginProof, aq as ZkLoginSigner, ar as buildCreateJobTx, as as buildDeliverJobTx, at as buildRefundJobTx, au as buildRejectJobTx, av as buildReleaseJobTx, aw as buildSendTx, ax as buildSwapTx, ay as checkPositiveAmount, az as checkSuiAddress, aA as claimPolicyLabel, aB as claimPolicyRequirement, aC as classifyAction, aD as classifyLabel, aE as classifySendAsset, aF as classifyTransaction, aG as deriveAgentScoreId, aH as executeTx, aI as extractAllUserLegs, aJ as extractTransferDetails, aK as extractTxCommands, aL as extractTxSender, aM as fallbackLabel, aN as fetchService, aO as findSwapRoute, aP as formatAssetAmount, aQ as formatSui, aR as formatUsd, aS as getAgentScore, aT as getDecimals, aU as getDecimalsForCoinType, aV as getJob, aW as getJobSpec, aX as invalidSendAssetMessage, aY as jobActionsFor, aZ as listServices, a_ as mapMoveAbortCode, a$ as mapWalletError, b0 as meetsClaimPolicy, b1 as mistToSui, b2 as parseSuiRpcTx, b3 as payWithX402, b4 as preflightCreateJob, b5 as preflightFail, b6 as preflightPay, b7 as preflightSend, b8 as preflightSwap, b9 as putJobSpec, ba as rawToStable, bb as rawToUsdc, bc as refineLendingLabel, bd as reportX402Activity, be as resolveSymbol, bf as resolveTokenType, bg as stableToRaw, bh as suiToMist, bi as truncateAddress, bj as usdcToRaw, bk as validateAddress, bl as verifyJobForSeller } from './commerce-C0B4y1uP.cjs';
1
+ export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b as ActivityReportConfig, c as AgentScore, B as BalanceResponse, C as CLOCK_ID, d as COIN_REGISTRY, e as ClassifyBalanceChange, f as ClassifyResult, g as CoinMeta, D as DEFAULT_ACTIVITY_REPORT_URL, h as DEFAULT_COMMERCE_API_BASE, i as DEFAULT_NETWORK, j as DepositInfo, E as ETH_TYPE, k as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, l as Job, m as JobState, n as JobTerms, o as JobVerification, K as KNOWN_TARGETS, p as KeypairSigner, L as LABEL_PATTERNS, q as LEVEL4_MAX_NO_DELIVERY, r as LEVEL4_MIN_REVIEWS, s as LOFI_TYPE, M as MANIFEST_TYPE, t as MAX_DELIVER_HORIZON_MS, u as MAX_JOB_USDC, v as MAX_REVIEW_WINDOW_MS, w as MIN_JOB_USDC, x as MIST_PER_SUI, N as NAVX_TYPE, y as NO_DELIVERY_REGRESSION_FLOOR, O as OPENING_CLAIM_POLICIES, z as OPENING_CLAIM_POLICY_ANY_ACTIVE, F as OPENING_CLAIM_POLICY_PROVEN, H as OPENING_CLAIM_POLICY_PROVEN_4STAR, P as OVERLAY_FEE_RATE, Q as OverlayFeeConfig, R as PREFLIGHT_MAX_AMOUNT, S as PREFLIGHT_OK, T as PROVEN_MIN_AVG_STARS_X10, U as PROVEN_MIN_REVIEWS, V as PayOptions, W as PayResult, X as PreflightResult, Y as REVIEW_MAX_STARS, Z as REVIEW_MIN_STARS, _ as SELLER_LEVEL_ACTIVE_CAPS, $ as STABLE_ASSETS, a0 as SUI_DECIMALS, a1 as SUI_TYPE, a2 as SUPPORTED_ASSETS, a3 as SellerLevel, a4 as SendAssetClass, a5 as SendResult, a6 as ServiceListing, a7 as SimulationResult, a8 as StableAsset, a9 as SuiHolding, aa as SuiRpcTxBlock, ab as SupportedAsset, ac as SwapRouteResult, ad as T2000Error, ae as T2000ErrorCode, af as T2000ErrorData, ag as T2000_OVERLAY_FEE_WALLET, ah as TOKEN_MAP, ai as TransactionLeg, aj as TransactionRecord, ak as TransactionSigner, al as TxDirection, am as USDC_DECIMALS, an as USDC_TYPE, ao as USDE_TYPE, ap as USDSUI_TYPE, aq as USDT_TYPE, ar as WAL_TYPE, as as WBTC_TYPE, at as X402ActivityPayload, au as ZkLoginProof, av as ZkLoginSigner, aw as activeCapForLevel, ax as buildCreateJobTx, ay as buildDeliverJobTx, az as buildRefundJobTx, aA as buildRejectJobTx, aB as buildReleaseJobTx, aC as buildSendTx, aD as buildSwapTx, aE as checkPositiveAmount, aF as checkSuiAddress, aG as claimPolicyLabel, aH as claimPolicyRequirement, aI as classifyAction, aJ as classifyLabel, aK as classifySendAsset, aL as classifyTransaction, aM as deriveAgentScoreId, aN as effectiveSellerLevel, aO as executeTx, aP as extractAllUserLegs, aQ as extractTransferDetails, aR as extractTxCommands, aS as extractTxSender, aT as fallbackLabel, aU as fetchService, aV as findSwapRoute, aW as formatAssetAmount, aX as formatSui, aY as formatUsd, aZ as getAgentScore, a_ as getDecimals, a$ as getDecimalsForCoinType, b0 as getJob, b1 as getJobSpec, b2 as invalidSendAssetMessage, b3 as jobActionsFor, b4 as listServices, b5 as mapMoveAbortCode, b6 as mapWalletError, b7 as meetsClaimPolicy, b8 as meetsMinSellerLevel, b9 as mistToSui, ba as parseSuiRpcTx, bb as payWithX402, bc as preflightClaimOpening, bd as preflightCreateJob, be as preflightFail, bf as preflightPay, bg as preflightSend, bh as preflightSwap, bi as putJobSpec, bj as rawToStable, bk as rawToUsdc, bl as refineLendingLabel, bm as reportX402Activity, bn as resolveSymbol, bo as resolveTokenType, bp as sellerLevel, bq as sellerLevelLabel, br as stableToRaw, bs as suiToMist, bt as truncateAddress, bu as usdcToRaw, bv as validateAddress, bw as verifyJobForSeller } from './commerce-D14qzqAV.cjs';
2
2
  import '@mysten/sui/keypairs/ed25519';
3
3
  import '@mysten/sui/grpc';
4
4
  import '@mysten/sui/client';
package/dist/browser.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b as ActivityReportConfig, c as AgentScore, B as BalanceResponse, C as CLOCK_ID, d as COIN_REGISTRY, e as ClassifyBalanceChange, f as ClassifyResult, g as CoinMeta, D as DEFAULT_ACTIVITY_REPORT_URL, h as DEFAULT_COMMERCE_API_BASE, i as DEFAULT_NETWORK, j as DepositInfo, E as ETH_TYPE, k as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, l as Job, m as JobState, n as JobTerms, o as JobVerification, K as KNOWN_TARGETS, p as KeypairSigner, L as LABEL_PATTERNS, q as LOFI_TYPE, M as MANIFEST_TYPE, r as MAX_DELIVER_HORIZON_MS, s as MAX_JOB_USDC, t as MAX_REVIEW_WINDOW_MS, u as MIN_JOB_USDC, v as MIST_PER_SUI, N as NAVX_TYPE, O as OPENING_CLAIM_POLICIES, w as OPENING_CLAIM_POLICY_ANY_ACTIVE, x as OPENING_CLAIM_POLICY_PROVEN, y as OPENING_CLAIM_POLICY_PROVEN_4STAR, z as OVERLAY_FEE_RATE, F as OverlayFeeConfig, P as PREFLIGHT_MAX_AMOUNT, H as PREFLIGHT_OK, Q as PROVEN_MIN_AVG_STARS_X10, R as PROVEN_MIN_REVIEWS, S as PayOptions, T as PayResult, U as PreflightResult, V as REVIEW_MAX_STARS, W as REVIEW_MIN_STARS, X as STABLE_ASSETS, Y as SUI_DECIMALS, Z as SUI_TYPE, _ as SUPPORTED_ASSETS, $ as SendAssetClass, a0 as SendResult, a1 as ServiceListing, a2 as SimulationResult, a3 as StableAsset, a4 as SuiHolding, a5 as SuiRpcTxBlock, a6 as SupportedAsset, a7 as SwapRouteResult, a8 as T2000Error, a9 as T2000ErrorCode, aa as T2000ErrorData, ab as T2000_OVERLAY_FEE_WALLET, ac as TOKEN_MAP, ad as TransactionLeg, ae as TransactionRecord, af as TransactionSigner, ag as TxDirection, ah as USDC_DECIMALS, ai as USDC_TYPE, aj as USDE_TYPE, ak as USDSUI_TYPE, al as USDT_TYPE, am as WAL_TYPE, an as WBTC_TYPE, ao as X402ActivityPayload, ap as ZkLoginProof, aq as ZkLoginSigner, ar as buildCreateJobTx, as as buildDeliverJobTx, at as buildRefundJobTx, au as buildRejectJobTx, av as buildReleaseJobTx, aw as buildSendTx, ax as buildSwapTx, ay as checkPositiveAmount, az as checkSuiAddress, aA as claimPolicyLabel, aB as claimPolicyRequirement, aC as classifyAction, aD as classifyLabel, aE as classifySendAsset, aF as classifyTransaction, aG as deriveAgentScoreId, aH as executeTx, aI as extractAllUserLegs, aJ as extractTransferDetails, aK as extractTxCommands, aL as extractTxSender, aM as fallbackLabel, aN as fetchService, aO as findSwapRoute, aP as formatAssetAmount, aQ as formatSui, aR as formatUsd, aS as getAgentScore, aT as getDecimals, aU as getDecimalsForCoinType, aV as getJob, aW as getJobSpec, aX as invalidSendAssetMessage, aY as jobActionsFor, aZ as listServices, a_ as mapMoveAbortCode, a$ as mapWalletError, b0 as meetsClaimPolicy, b1 as mistToSui, b2 as parseSuiRpcTx, b3 as payWithX402, b4 as preflightCreateJob, b5 as preflightFail, b6 as preflightPay, b7 as preflightSend, b8 as preflightSwap, b9 as putJobSpec, ba as rawToStable, bb as rawToUsdc, bc as refineLendingLabel, bd as reportX402Activity, be as resolveSymbol, bf as resolveTokenType, bg as stableToRaw, bh as suiToMist, bi as truncateAddress, bj as usdcToRaw, bk as validateAddress, bl as verifyJobForSeller } from './commerce-C0B4y1uP.js';
1
+ export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b as ActivityReportConfig, c as AgentScore, B as BalanceResponse, C as CLOCK_ID, d as COIN_REGISTRY, e as ClassifyBalanceChange, f as ClassifyResult, g as CoinMeta, D as DEFAULT_ACTIVITY_REPORT_URL, h as DEFAULT_COMMERCE_API_BASE, i as DEFAULT_NETWORK, j as DepositInfo, E as ETH_TYPE, k as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, l as Job, m as JobState, n as JobTerms, o as JobVerification, K as KNOWN_TARGETS, p as KeypairSigner, L as LABEL_PATTERNS, q as LEVEL4_MAX_NO_DELIVERY, r as LEVEL4_MIN_REVIEWS, s as LOFI_TYPE, M as MANIFEST_TYPE, t as MAX_DELIVER_HORIZON_MS, u as MAX_JOB_USDC, v as MAX_REVIEW_WINDOW_MS, w as MIN_JOB_USDC, x as MIST_PER_SUI, N as NAVX_TYPE, y as NO_DELIVERY_REGRESSION_FLOOR, O as OPENING_CLAIM_POLICIES, z as OPENING_CLAIM_POLICY_ANY_ACTIVE, F as OPENING_CLAIM_POLICY_PROVEN, H as OPENING_CLAIM_POLICY_PROVEN_4STAR, P as OVERLAY_FEE_RATE, Q as OverlayFeeConfig, R as PREFLIGHT_MAX_AMOUNT, S as PREFLIGHT_OK, T as PROVEN_MIN_AVG_STARS_X10, U as PROVEN_MIN_REVIEWS, V as PayOptions, W as PayResult, X as PreflightResult, Y as REVIEW_MAX_STARS, Z as REVIEW_MIN_STARS, _ as SELLER_LEVEL_ACTIVE_CAPS, $ as STABLE_ASSETS, a0 as SUI_DECIMALS, a1 as SUI_TYPE, a2 as SUPPORTED_ASSETS, a3 as SellerLevel, a4 as SendAssetClass, a5 as SendResult, a6 as ServiceListing, a7 as SimulationResult, a8 as StableAsset, a9 as SuiHolding, aa as SuiRpcTxBlock, ab as SupportedAsset, ac as SwapRouteResult, ad as T2000Error, ae as T2000ErrorCode, af as T2000ErrorData, ag as T2000_OVERLAY_FEE_WALLET, ah as TOKEN_MAP, ai as TransactionLeg, aj as TransactionRecord, ak as TransactionSigner, al as TxDirection, am as USDC_DECIMALS, an as USDC_TYPE, ao as USDE_TYPE, ap as USDSUI_TYPE, aq as USDT_TYPE, ar as WAL_TYPE, as as WBTC_TYPE, at as X402ActivityPayload, au as ZkLoginProof, av as ZkLoginSigner, aw as activeCapForLevel, ax as buildCreateJobTx, ay as buildDeliverJobTx, az as buildRefundJobTx, aA as buildRejectJobTx, aB as buildReleaseJobTx, aC as buildSendTx, aD as buildSwapTx, aE as checkPositiveAmount, aF as checkSuiAddress, aG as claimPolicyLabel, aH as claimPolicyRequirement, aI as classifyAction, aJ as classifyLabel, aK as classifySendAsset, aL as classifyTransaction, aM as deriveAgentScoreId, aN as effectiveSellerLevel, aO as executeTx, aP as extractAllUserLegs, aQ as extractTransferDetails, aR as extractTxCommands, aS as extractTxSender, aT as fallbackLabel, aU as fetchService, aV as findSwapRoute, aW as formatAssetAmount, aX as formatSui, aY as formatUsd, aZ as getAgentScore, a_ as getDecimals, a$ as getDecimalsForCoinType, b0 as getJob, b1 as getJobSpec, b2 as invalidSendAssetMessage, b3 as jobActionsFor, b4 as listServices, b5 as mapMoveAbortCode, b6 as mapWalletError, b7 as meetsClaimPolicy, b8 as meetsMinSellerLevel, b9 as mistToSui, ba as parseSuiRpcTx, bb as payWithX402, bc as preflightClaimOpening, bd as preflightCreateJob, be as preflightFail, bf as preflightPay, bg as preflightSend, bh as preflightSwap, bi as putJobSpec, bj as rawToStable, bk as rawToUsdc, bl as refineLendingLabel, bm as reportX402Activity, bn as resolveSymbol, bo as resolveTokenType, bp as sellerLevel, bq as sellerLevelLabel, br as stableToRaw, bs as suiToMist, bt as truncateAddress, bu as usdcToRaw, bv as validateAddress, bw as verifyJobForSeller } from './commerce-D14qzqAV.js';
2
2
  import '@mysten/sui/keypairs/ed25519';
3
3
  import '@mysten/sui/grpc';
4
4
  import '@mysten/sui/client';
package/dist/browser.js CHANGED
@@ -1330,10 +1330,11 @@ init_coinSelection();
1330
1330
  init_errors();
1331
1331
  init_token_registry();
1332
1332
  init_coinSelection();
1333
- var MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x7a9332e167d19e7442fb30740d31a536047da10ab00715402c6fff9e80ae604d";
1333
+ var MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
1334
1334
  var A2A_ESCROW_LATEST_PACKAGE_ID = process.env.A2A_ESCROW_OPENING_PACKAGE_ID ?? process.env.A2A_ESCROW_PACKAGE_ID ?? MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID;
1335
1335
  var A2A_ESCROW_PACKAGE_V7_ID = "0x4249f0b242c47c7baf0c37304365bc4bbe769bcedf11f3525e84682d59a3b23e";
1336
1336
  var A2A_ESCROW_PACKAGE_V8_ID = "0x1595b80bc05a03607f3908702c866ca63cf961025b4263b5ecbe419e07f8ff31";
1337
+ var A2A_ESCROW_PACKAGE_V10_ID = process.env.A2A_ESCROW_PACKAGE_V10_ID ?? "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
1337
1338
  var OPENING_CLAIM_POLICY_ANY_ACTIVE = 0;
1338
1339
  var OPENING_CLAIM_POLICY_PROVEN = 1;
1339
1340
  var OPENING_CLAIM_POLICY_PROVEN_4STAR = 2;
@@ -1359,7 +1360,7 @@ function feeConfigArg(tx) {
1359
1360
  mutable: false
1360
1361
  });
1361
1362
  }
1362
- var MAX_JOB_USDC = 50;
1363
+ var MAX_JOB_USDC = 100;
1363
1364
  var MIN_JOB_USDC = 0.01;
1364
1365
  var MAX_REVIEW_WINDOW_MS = 2592e6;
1365
1366
  var MAX_DELIVER_HORIZON_MS = 31536e6;
@@ -1405,7 +1406,7 @@ function preflightCreateJob(terms) {
1405
1406
  if (terms.amountUsdc > MAX_JOB_USDC) {
1406
1407
  return preflightFail(
1407
1408
  "INVALID_AMOUNT",
1408
- `v1 caps escrow jobs at ${MAX_JOB_USDC} USDC (no-arbitration split only stays fair at small sizes). Got ${terms.amountUsdc}.`
1409
+ `Escrow jobs cap at ${MAX_JOB_USDC} USDC (the no-arbitration split is the only dispute model \u2014 the cap keeps stakes where that stays fair). Got ${terms.amountUsdc}. Larger engagements: split into milestone jobs.`
1409
1410
  );
1410
1411
  }
1411
1412
  if (terms.deliverByMs <= Date.now()) {
@@ -1459,15 +1460,6 @@ async function buildCreateJobTx({
1459
1460
  });
1460
1461
  return tx;
1461
1462
  }
1462
- function jobCall(jobId, fn) {
1463
- const tx = new Transaction();
1464
- tx.moveCall({
1465
- target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::${MODULE}::${fn}`,
1466
- typeArguments: [USDC_TYPE],
1467
- arguments: [tx.object(jobId), feeConfigArg(tx), tx.object(CLOCK_ID2)]
1468
- });
1469
- return tx;
1470
- }
1471
1463
  function buildRejectJobTx(jobId, v2) {
1472
1464
  const tx = new Transaction();
1473
1465
  tx.moveCall({
@@ -1518,8 +1510,19 @@ function buildDeliverJobTx(jobId, deliveryHash) {
1518
1510
  });
1519
1511
  return tx;
1520
1512
  }
1521
- function buildReleaseJobTx(jobId) {
1522
- return jobCall(jobId, "release");
1513
+ function buildReleaseJobTx(jobId, v2) {
1514
+ const tx = new Transaction();
1515
+ tx.moveCall({
1516
+ target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::reputation::release_v2`,
1517
+ typeArguments: [USDC_TYPE],
1518
+ arguments: [
1519
+ tx.object(jobId),
1520
+ tx.object(v2.sellerScoreId),
1521
+ feeConfigArg(tx),
1522
+ tx.object(CLOCK_ID2)
1523
+ ]
1524
+ });
1525
+ return tx;
1523
1526
  }
1524
1527
  async function getJob(client, jobId) {
1525
1528
  const resp = await client.core.getObject({ objectId: jobId, include: { json: true } }).catch((e) => {
@@ -1607,6 +1610,10 @@ var PROVEN_MIN_REVIEWS = 3;
1607
1610
  var PROVEN_MIN_AVG_STARS_X10 = 40;
1608
1611
  var REVIEW_MIN_STARS = 1;
1609
1612
  var REVIEW_MAX_STARS = 5;
1613
+ var SELLER_LEVEL_ACTIVE_CAPS = [4, 10, 20, 30];
1614
+ var NO_DELIVERY_REGRESSION_FLOOR = 3;
1615
+ var LEVEL4_MIN_REVIEWS = 20;
1616
+ var LEVEL4_MAX_NO_DELIVERY = 2;
1610
1617
  function boardIdOrThrow(boardId) {
1611
1618
  const id = boardId ?? A2A_SCORE_BOARD_ID;
1612
1619
  if (!id) {
@@ -1652,11 +1659,12 @@ async function getAgentScore(client, agent, boardId) {
1652
1659
  }
1653
1660
  const reviewCount = Number(json.review_count ?? 0);
1654
1661
  const starsSum = Number(json.stars_sum ?? 0);
1655
- const [distinctBuyers, rejectedAfterDelivery, noDelivery, asBuyerRejected] = await Promise.all([
1662
+ const [distinctBuyers, rejectedAfterDelivery, noDelivery, asBuyerRejected, activeSellerJobs] = await Promise.all([
1656
1663
  readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V7_ID, "DistinctCountKey"),
1657
1664
  readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V8_ID, "RejectedAfterDeliveryKey"),
1658
1665
  readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V8_ID, "NoDeliveryKey"),
1659
- readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V8_ID, "AsBuyerRejectedKey")
1666
+ readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V8_ID, "AsBuyerRejectedKey"),
1667
+ readCounterDf(client, scoreId, A2A_ESCROW_PACKAGE_V10_ID, "ActiveSellerJobsKey")
1660
1668
  ]);
1661
1669
  return {
1662
1670
  id: scoreId,
@@ -1667,7 +1675,8 @@ async function getAgentScore(client, agent, boardId) {
1667
1675
  distinctBuyers,
1668
1676
  rejectedAfterDelivery,
1669
1677
  noDelivery,
1670
- asBuyerRejected
1678
+ asBuyerRejected,
1679
+ activeSellerJobs
1671
1680
  };
1672
1681
  }
1673
1682
  function meetsClaimPolicy(score, claimPolicy) {
@@ -1695,6 +1704,51 @@ function claimPolicyRequirement(claimPolicy) {
1695
1704
  }
1696
1705
  return "Anyone can claim (active Agent ID required).";
1697
1706
  }
1707
+ function sellerLevel(score) {
1708
+ if (!score) return 1;
1709
+ const provenAvg = score.distinctBuyers >= PROVEN_MIN_REVIEWS && score.starsSum * 10 >= score.reviewCount * PROVEN_MIN_AVG_STARS_X10;
1710
+ if (provenAvg) {
1711
+ return score.reviewCount >= LEVEL4_MIN_REVIEWS && score.noDelivery <= LEVEL4_MAX_NO_DELIVERY ? 4 : 3;
1712
+ }
1713
+ return score.distinctBuyers >= PROVEN_MIN_REVIEWS ? 2 : 1;
1714
+ }
1715
+ function effectiveSellerLevel(score) {
1716
+ if (!score) return 1;
1717
+ if (score.noDelivery >= NO_DELIVERY_REGRESSION_FLOOR) return 1;
1718
+ return sellerLevel(score);
1719
+ }
1720
+ function activeCapForLevel(level) {
1721
+ return SELLER_LEVEL_ACTIVE_CAPS[level - 1];
1722
+ }
1723
+ function meetsMinSellerLevel(score, minLevel) {
1724
+ if (minLevel <= 0) return true;
1725
+ return effectiveSellerLevel(score) >= minLevel;
1726
+ }
1727
+ function sellerLevelLabel(level) {
1728
+ return level >= 1 && level <= 4 ? `Level ${level}` : `Level ? (${level})`;
1729
+ }
1730
+ function preflightClaimOpening(score, opening) {
1731
+ if (!meetsClaimPolicy(score, opening.claimPolicy)) {
1732
+ return { valid: false, error: claimPolicyRequirement(opening.claimPolicy) };
1733
+ }
1734
+ const level = effectiveSellerLevel(score);
1735
+ const cap = activeCapForLevel(level);
1736
+ const active = score?.activeSellerJobs ?? 0;
1737
+ if (active >= cap) {
1738
+ return {
1739
+ valid: false,
1740
+ error: `Active: ${active}/${cap} \u2014 ${sellerLevelLabel(level)} caps in-flight claimed jobs at ${cap}. Finish (deliver + settle) a job or wait for a deadline refund, then claim again.`
1741
+ };
1742
+ }
1743
+ const minLevel = opening.minSellerLevel ?? 0;
1744
+ if (!meetsMinSellerLevel(score, minLevel)) {
1745
+ return {
1746
+ valid: false,
1747
+ error: `This opening needs ${sellerLevelLabel(minLevel)}+ \u2014 this wallet is ${sellerLevelLabel(level)}. Level 2 = reviews from ${PROVEN_MIN_REVIEWS}+ distinct buyers; Level 3 adds a 4.0\u2605 average; reliability (no-shows) can regress a level. Earn it on openings without a floor first.`
1748
+ };
1749
+ }
1750
+ return { valid: true };
1751
+ }
1698
1752
 
1699
1753
  // src/commerce.ts
1700
1754
  var DEFAULT_COMMERCE_API_BASE = "https://api.t2000.ai/v1";
@@ -1786,4 +1840,4 @@ async function getJobSpec(base, hash) {
1786
1840
  // src/browser.ts
1787
1841
  init_token_registry();
1788
1842
 
1789
- export { A2A_ESCROW_FEE_CONFIG_ID, A2A_ESCROW_PACKAGE_ID, CLOCK_ID, COIN_REGISTRY, DEFAULT_ACTIVITY_REPORT_URL, DEFAULT_COMMERCE_API_BASE, DEFAULT_NETWORK, ETH_TYPE, GAS_RESERVE_MIN, IKA_TYPE, JOB_STATES, KNOWN_TARGETS, KeypairSigner, LABEL_PATTERNS, LOFI_TYPE, MANIFEST_TYPE, MAX_DELIVER_HORIZON_MS, MAX_JOB_USDC, MAX_REVIEW_WINDOW_MS, MIN_JOB_USDC, MIST_PER_SUI, NAVX_TYPE, OPENING_CLAIM_POLICIES, OPENING_CLAIM_POLICY_ANY_ACTIVE, OPENING_CLAIM_POLICY_PROVEN, OPENING_CLAIM_POLICY_PROVEN_4STAR, OVERLAY_FEE_RATE, PREFLIGHT_MAX_AMOUNT, PREFLIGHT_OK, PROVEN_MIN_AVG_STARS_X10, PROVEN_MIN_REVIEWS, REVIEW_MAX_STARS, REVIEW_MIN_STARS, STABLE_ASSETS, SUI_DECIMALS, SUI_TYPE, SUPPORTED_ASSETS, T2000Error, T2000_OVERLAY_FEE_WALLET, TOKEN_MAP, USDC_DECIMALS, USDC_TYPE, USDE_TYPE, USDSUI_TYPE, USDT_TYPE, WAL_TYPE, WBTC_TYPE, ZkLoginSigner, buildCreateJobTx, buildDeliverJobTx, buildRefundJobTx, buildRejectJobTx, buildReleaseJobTx, buildSendTx, buildSwapTx, checkPositiveAmount, checkSuiAddress, claimPolicyLabel, claimPolicyRequirement, classifyAction, classifyLabel, classifySendAsset, classifyTransaction, deriveAgentScoreId, executeTx, extractAllUserLegs, extractTransferDetails, extractTxCommands, extractTxSender, fallbackLabel, fetchService, findSwapRoute, formatAssetAmount, formatSui, formatUsd, fromBase642 as fromBase64, getAgentScore, getDecimals, getDecimalsForCoinType, getJob, getJobSpec, invalidSendAssetMessage, jobActionsFor, listServices, mapMoveAbortCode, mapWalletError, meetsClaimPolicy, mistToSui, parseSuiRpcTx, payWithX402, preflightCreateJob, preflightFail, preflightPay, preflightSend, preflightSwap, putJobSpec, rawToStable, rawToUsdc, refineLendingLabel, reportX402Activity, resolveSymbol, resolveTokenType, stableToRaw, suiToMist, toBase64, truncateAddress, usdcToRaw, validateAddress, verifyJobForSeller };
1843
+ export { A2A_ESCROW_FEE_CONFIG_ID, A2A_ESCROW_PACKAGE_ID, CLOCK_ID, COIN_REGISTRY, DEFAULT_ACTIVITY_REPORT_URL, DEFAULT_COMMERCE_API_BASE, DEFAULT_NETWORK, ETH_TYPE, GAS_RESERVE_MIN, IKA_TYPE, JOB_STATES, KNOWN_TARGETS, KeypairSigner, LABEL_PATTERNS, LEVEL4_MAX_NO_DELIVERY, LEVEL4_MIN_REVIEWS, LOFI_TYPE, MANIFEST_TYPE, MAX_DELIVER_HORIZON_MS, MAX_JOB_USDC, MAX_REVIEW_WINDOW_MS, MIN_JOB_USDC, MIST_PER_SUI, NAVX_TYPE, NO_DELIVERY_REGRESSION_FLOOR, OPENING_CLAIM_POLICIES, OPENING_CLAIM_POLICY_ANY_ACTIVE, OPENING_CLAIM_POLICY_PROVEN, OPENING_CLAIM_POLICY_PROVEN_4STAR, OVERLAY_FEE_RATE, PREFLIGHT_MAX_AMOUNT, PREFLIGHT_OK, PROVEN_MIN_AVG_STARS_X10, PROVEN_MIN_REVIEWS, REVIEW_MAX_STARS, REVIEW_MIN_STARS, SELLER_LEVEL_ACTIVE_CAPS, STABLE_ASSETS, SUI_DECIMALS, SUI_TYPE, SUPPORTED_ASSETS, T2000Error, T2000_OVERLAY_FEE_WALLET, TOKEN_MAP, USDC_DECIMALS, USDC_TYPE, USDE_TYPE, USDSUI_TYPE, USDT_TYPE, WAL_TYPE, WBTC_TYPE, ZkLoginSigner, activeCapForLevel, buildCreateJobTx, buildDeliverJobTx, buildRefundJobTx, buildRejectJobTx, buildReleaseJobTx, buildSendTx, buildSwapTx, checkPositiveAmount, checkSuiAddress, claimPolicyLabel, claimPolicyRequirement, classifyAction, classifyLabel, classifySendAsset, classifyTransaction, deriveAgentScoreId, effectiveSellerLevel, executeTx, extractAllUserLegs, extractTransferDetails, extractTxCommands, extractTxSender, fallbackLabel, fetchService, findSwapRoute, formatAssetAmount, formatSui, formatUsd, fromBase642 as fromBase64, getAgentScore, getDecimals, getDecimalsForCoinType, getJob, getJobSpec, invalidSendAssetMessage, jobActionsFor, listServices, mapMoveAbortCode, mapWalletError, meetsClaimPolicy, meetsMinSellerLevel, mistToSui, parseSuiRpcTx, payWithX402, preflightClaimOpening, preflightCreateJob, preflightFail, preflightPay, preflightSend, preflightSwap, putJobSpec, rawToStable, rawToUsdc, refineLendingLabel, reportX402Activity, resolveSymbol, resolveTokenType, sellerLevel, sellerLevelLabel, stableToRaw, suiToMist, toBase64, truncateAddress, usdcToRaw, validateAddress, verifyJobForSeller };