@t2000/sdk 10.38.2 → 10.39.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.
@@ -1641,8 +1641,10 @@ declare function verifyJobForSeller({ client, jobId, seller, minAmountUsdc, minR
1641
1641
  * target the LATEST published id — the original id (types, Job verbs) is
1642
1642
  * unchanged.
1643
1643
  */
1644
- /** The LATEST published `a2a_escrow` package id on MAINNET (v10 upgrade
1645
- * 2026-08-24, S.1192seller levels + active caps, VERSION 6 cutover:
1644
+ /** The LATEST published `a2a_escrow` package id on MAINNET (v11 upgrade
1645
+ * 2026-08-25, S.1193batch openings, additive, NO migrate:
1646
+ * `batch` module + `set_max_batch_slots`;
1647
+ * v10 = S.1192 seller levels + active caps, VERSION 6 cutover:
1646
1648
  * claim_v2/claim_proven_v2/create_open_v2/release_v2;
1647
1649
  * v9 = S.1064 review on REJECTED, additive; v8 = outcome
1648
1650
  * counters (S.1063); v7 = distinct buyers (S.1062);
@@ -1657,9 +1659,9 @@ declare function verifyJobForSeller({ client, jobId, seller, minAmountUsdc, minR
1657
1659
  * upgrade + `migrate` cutover is a ONE-VALUE change here. The original id
1658
1660
  * (`MAINNET_A2A_ESCROW_PACKAGE_ID` in job.ts) remains the anchor for type
1659
1661
  * strings, event filters, and object-type queries — those never move. */
1660
- declare const MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
1662
+ declare const MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x2a928916c859a159e6d6f4841073a31397d01336c1ea689ce74344e456463c8d";
1661
1663
  /** Back-compat name for the latest id (pre-S.981 consumers import this). */
1662
- declare const MAINNET_A2A_ESCROW_OPENING_PACKAGE_ID = "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
1664
+ declare const MAINNET_A2A_ESCROW_OPENING_PACKAGE_ID = "0x2a928916c859a159e6d6f4841073a31397d01336c1ea689ce74344e456463c8d";
1663
1665
  /** Env-overridable latest id for testnet/dev (NOT a trust anchor). A fresh
1664
1666
  * dev publish has original == latest, so `A2A_ESCROW_PACKAGE_ID` alone is
1665
1667
  * honored as the fallback override. */
@@ -1702,6 +1704,12 @@ declare const A2A_ESCROW_PACKAGE_V8_ID = "0x1595b80bc05a03607f3908702c866ca63cf9
1702
1704
  * ClaimedJobKey DF key types. A DEFINING-id anchor like V2/V3/V6/V7/V8 —
1703
1705
  * never moves again, even when LATEST does. */
1704
1706
  declare const A2A_ESCROW_PACKAGE_V10_ID: string;
1707
+ /** v11 (S.1193, upgrade 2y3g17rv… 2026-08-25) — defining id for the batch
1708
+ * surface: the BatchOpeningCreated/BatchSlotClaimed/BatchOpeningCancelled/
1709
+ * BatchOpeningRefunded events and the BatchOpening object type. A
1710
+ * DEFINING-id anchor like V2/V3/V6/V7/V8/V10 — never moves again, even
1711
+ * when LATEST does. */
1712
+ declare const A2A_ESCROW_PACKAGE_V11_ID: string;
1705
1713
  /** Default claim policy: any ACTIVE registered Agent ID ($0 claim, FCFS). */
1706
1714
  declare const OPENING_CLAIM_POLICY_ANY_ACTIVE = 0;
1707
1715
  /** S.1054 — Proven: claimer needs ≥ PROVEN_MIN_REVIEWS on-chain reviews
@@ -1939,6 +1947,88 @@ declare function buildSubmitFirstReviewTx({ jobId, stars, boardId, }: {
1939
1947
  boardId?: string;
1940
1948
  }): Transaction;
1941
1949
 
1950
+ /** Mirror of the Move package default for slots per wave. The LIVE value
1951
+ * is an AdminCap FeeConfig DF (`config_max_batch_slots`) — the chain is
1952
+ * the SSOT and may be retuned between npm releases (same class as
1953
+ * `MAX_JOB_USDC`); this mirror feeds the preflight's English only. */
1954
+ declare const MAX_BATCH_SLOTS_DEFAULT = 250;
1955
+ /** Object-type marker for `resolveCreatedObjectId` digest walks. */
1956
+ declare const BATCH_OPENING_TYPE_MARKER: "::batch::BatchOpening<";
1957
+ interface BatchOpeningTerms extends OpeningTerms {
1958
+ /** Slots in the wave (1..live max; default live max 250). `amountUsdc`
1959
+ * is PER SLOT — total escrow = `slots × amountUsdc`. */
1960
+ slots: number;
1961
+ /** Slots one agent may claim of THIS wave (≥1; default 1). */
1962
+ maxClaimsPerAgent?: number;
1963
+ }
1964
+ /** Client-side preflight — the single-opening rules on the PER-SLOT terms
1965
+ * plus the wave bounds. */
1966
+ declare function preflightCreateBatchOpening(terms: BatchOpeningTerms): {
1967
+ valid: boolean;
1968
+ code?: 'INVALID_AMOUNT' | 'INVALID_INPUT';
1969
+ error?: string;
1970
+ };
1971
+ /** Build the wave post: split `slots × amount` USDC → `create_batch_open`. */
1972
+ declare function buildCreateBatchOpeningTx({ client, buyer, terms, }: {
1973
+ client: SuiCoreClient;
1974
+ buyer: string;
1975
+ terms: BatchOpeningTerms;
1976
+ }): Promise<Transaction>;
1977
+ /** Claim ONE slot — same score plumbing as `buildClaimOpeningTx`
1978
+ * (claimer's own AgentScore always; `create_empty_score` precursor when
1979
+ * it doesn't exist yet). Unlike singles there is no policy-based entry
1980
+ * split: `batch_claim` handles every policy internally. */
1981
+ declare function buildBatchClaimTx({ batchId, registryId, scoreId, }: {
1982
+ batchId: string;
1983
+ registryId: string;
1984
+ scoreId: string;
1985
+ }): Transaction;
1986
+ /** Buyer withdraws the unclaimed remainder — fee-free, any time. */
1987
+ declare function buildCancelBatchOpeningTx(batchId: string): Transaction;
1988
+ /** Permissionless remainder refund once `open_until` lapses. */
1989
+ declare function buildRefundBatchExpiredTx(batchId: string): Transaction;
1990
+ /** On-chain view of one BatchOpening. */
1991
+ interface BatchOpening {
1992
+ id: string;
1993
+ buyer: string;
1994
+ /** PER-SLOT escrow in display USDC. */
1995
+ amountUsdc: number;
1996
+ slotsTotal: number;
1997
+ slotsRemaining: number;
1998
+ feeBps: number;
1999
+ specHash: string;
2000
+ openUntilMs: number;
2001
+ slaMs: number;
2002
+ reviewWindowMs: number;
2003
+ rejectSplitBps: number;
2004
+ claimPolicy: number;
2005
+ minSellerLevel: number;
2006
+ maxClaimsPerAgent: number;
2007
+ /** Object id of the on-chain `claims_by_agent` Table (per-agent counts
2008
+ * live as its dynamic fields — see `getBatchClaimsByAgent`). */
2009
+ claimsTableId: string | null;
2010
+ createdAtMs: number;
2011
+ }
2012
+ /** Read one BatchOpening by object id (null = not a batch / gone). A
2013
+ * drained or cancelled batch still resolves (`slotsRemaining: 0`) — the
2014
+ * object persists in v1; existence is NOT the state. */
2015
+ declare function getBatchOpening(client: SuiCoreClient, batchId: string): Promise<BatchOpening | null>;
2016
+ /** Slots `agent` already claimed of this batch — best-effort read of the
2017
+ * on-chain Table entry (0 on miss/hiccup; Move enforces the real limit). */
2018
+ declare function getBatchClaimsByAgent(client: SuiCoreClient, batch: BatchOpening, agent: string): Promise<number>;
2019
+ /** English preflight for a batch claim — the wave gates first (slots,
2020
+ * per-agent limit), then the exact single-claim stack (policy → active
2021
+ * cap → level floor via `preflightClaimOpening`). */
2022
+ declare function preflightBatchClaim(score: AgentScore | null, batch: {
2023
+ claimPolicy: number;
2024
+ minSellerLevel?: number;
2025
+ slotsRemaining: number;
2026
+ maxClaimsPerAgent: number;
2027
+ }, myClaims: number): {
2028
+ valid: boolean;
2029
+ error?: string;
2030
+ };
2031
+
1942
2032
  declare const DEFAULT_COMMERCE_API_BASE = "https://api.t2000.ai/v1";
1943
2033
  /** The shape the API returns from GET /v1/services. */
1944
2034
  interface ServiceListing {
@@ -2037,4 +2127,4 @@ declare function putJobSpec(base: string, content: string): Promise<string>;
2037
2127
  * the store is untrusted; the chain hash is the authority). */
2038
2128
  declare function getJobSpec(base: string, hash: string): Promise<string>;
2039
2129
 
2040
- export { STABLE_ASSETS as $, A2A_ESCROW_FEE_CONFIG_ID as A, type BalanceResponse as B, CLOCK_ID as C, DEFAULT_ACTIVITY_REPORT_URL as D, ETH_TYPE as E, OPENING_CLAIM_POLICY_PROVEN as F, GAS_RESERVE_MIN as G, OPENING_CLAIM_POLICY_PROVEN_4STAR as H, IKA_TYPE as I, JOB_STATES as J, KNOWN_TARGETS as K, LABEL_PATTERNS as L, MANIFEST_TYPE as M, NAVX_TYPE as N, OPENING_CLAIM_POLICIES as O, OVERLAY_FEE_RATE as P, type OverlayFeeConfig as Q, PREFLIGHT_MAX_AMOUNT as R, PREFLIGHT_OK as S, PROVEN_MIN_AVG_STARS_X10 as T, PROVEN_MIN_REVIEWS as U, type PayOptions as V, type PayResult as W, type PreflightResult as X, REVIEW_MAX_STARS as Y, REVIEW_MIN_STARS as Z, SELLER_LEVEL_ACTIVE_CAPS as _, A2A_ESCROW_PACKAGE_ID as a, getDecimalsForCoinType as a$, SUI_DECIMALS as a0, SUI_TYPE as a1, SUPPORTED_ASSETS as a2, type SellerLevel as a3, type SendAssetClass as a4, type SendResult as a5, type ServiceListing as a6, type SimulationResult as a7, type StableAsset as a8, type SuiHolding as a9, buildRejectJobTx as aA, buildReleaseJobTx as aB, buildSendTx as aC, buildSwapTx as aD, checkPositiveAmount as aE, checkSuiAddress as aF, claimPolicyLabel as aG, claimPolicyRequirement as aH, classifyAction as aI, classifyLabel as aJ, classifySendAsset as aK, classifyTransaction as aL, deriveAgentScoreId as aM, effectiveSellerLevel as aN, executeTx as aO, extractAllUserLegs as aP, extractTransferDetails as aQ, extractTxCommands as aR, extractTxSender as aS, fallbackLabel as aT, fetchService as aU, findSwapRoute as aV, formatAssetAmount as aW, formatSui as aX, formatUsd as aY, getAgentScore as aZ, getDecimals as a_, type SuiRpcTxBlock as aa, type SupportedAsset as ab, type SwapRouteResult as ac, T2000Error as ad, type T2000ErrorCode as ae, type T2000ErrorData as af, T2000_OVERLAY_FEE_WALLET as ag, TOKEN_MAP as ah, type TransactionLeg as ai, type TransactionRecord as aj, type TransactionSigner as ak, type TxDirection as al, USDC_DECIMALS as am, USDC_TYPE as an, USDE_TYPE as ao, USDSUI_TYPE as ap, USDT_TYPE as aq, WAL_TYPE as ar, WBTC_TYPE as as, type X402ActivityPayload as at, type ZkLoginProof as au, ZkLoginSigner as av, activeCapForLevel as aw, buildCreateJobTx as ax, buildDeliverJobTx as ay, buildRefundJobTx as az, type ActivityReportConfig as b, type Opening as b$, getJob as b0, getJobSpec as b1, invalidSendAssetMessage as b2, jobActionsFor as b3, listServices as b4, mapMoveAbortCode as b5, mapWalletError as b6, meetsClaimPolicy as b7, meetsMinSellerLevel as b8, mistToSui as b9, type SwapResult as bA, type SwapQuoteResult as bB, type PaymentRequest as bC, type SuiCoreClient as bD, type SponsoredCoinMergeCache as bE, type SendableAsset as bF, A2A_ESCROW_LATEST_PACKAGE_ID as bG, A2A_ESCROW_OPENING_PACKAGE_ID as bH, A2A_ESCROW_PACKAGE_V10_ID as bI, A2A_ESCROW_PACKAGE_V2_ID as bJ, A2A_ESCROW_PACKAGE_V3_ID as bK, A2A_ESCROW_PACKAGE_V6_ID as bL, A2A_ESCROW_PACKAGE_V7_ID as bM, A2A_ESCROW_PACKAGE_V8_ID as bN, A2A_SCORE_BOARD_ID as bO, type ApiRouteListing as bP, CETUS_USDC_SUI_POOL as bQ, type CoinPage as bR, DEFAULT_GRPC_URL as bS, GASLESS_MIN_STABLE_AMOUNT as bT, GASLESS_STABLE_TYPES as bU, MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID as bV, MAINNET_A2A_ESCROW_OPENING_PACKAGE_ID as bW, MAINNET_A2A_ESCROW_PACKAGE_ID as bX, MAINNET_A2A_SCORE_BOARD_ID as bY, MAX_OPEN_WINDOW_MS as bZ, OPERATION_ASSETS as b_, parseSuiRpcTx as ba, payWithX402 as bb, preflightClaimOpening as bc, preflightCreateJob as bd, preflightFail as be, preflightPay as bf, preflightSend as bg, preflightSwap as bh, putJobSpec as bi, rawToStable as bj, rawToUsdc as bk, refineLendingLabel as bl, reportX402Activity as bm, resolveSymbol as bn, resolveTokenType as bo, sellerLevel as bp, sellerLevelLabel as bq, stableToRaw as br, suiToMist as bs, truncateAddress as bt, usdcToRaw as bu, validateAddress as bv, verifyJobForSeller as bw, type T2000Options as bx, type X402Probe as by, type SerializedCetusRoute as bz, type AgentScore as c, type OpeningTerms as c0, type Operation as c1, SENDABLE_ASSETS as c2, type SelectAndSplitResult as c3, type SerializedCetusRoutePath as c4, type SerializedRouterDataV3 as c5, type ServicesRail as c6, type ServicesRow as c7, addSendToTx as c8, addSwapToTx as c9, selectSuiCoin as cA, serializeCetusRoute as cB, simulateTransaction as cC, throwIfSimulationFailed as cD, verifyCetusRouteCoinMatch as cE, assertAllowedAsset as ca, assertBuyerRequirements as cb, buildCancelOpeningTx as cc, buildClaimOpeningTx as cd, buildCreateEmptyScoreTx as ce, buildCreateOpeningTx as cf, buildDeclineJobTx as cg, buildRefundUnclaimedTx as ch, buildSubmitFirstReviewTx as ci, buildSubmitReviewTx as cj, deserializeCetusRoute as ck, fetchAllCoins as cl, getCoinMeta as cm, getOpening as cn, getSuiClient as co, getSuiGrpcClient as cp, isAllowedAsset as cq, isCetusRouteFresh as cr, isInRegistry as cs, normalizeAsset as ct, normalizeCoinType as cu, preflightCreateOpening as cv, probeX402 as cw, queryHistory as cx, queryTransaction as cy, selectAndSplitCoin as cz, COIN_REGISTRY as d, type ClassifyBalanceChange as e, type ClassifyResult as f, type CoinMeta as g, DEFAULT_COMMERCE_API_BASE as h, DEFAULT_NETWORK as i, type DepositInfo as j, type ExtractedTransfer as k, type Job as l, type JobState as m, type JobTerms as n, type JobVerification as o, KeypairSigner as p, LEVEL4_MAX_NO_DELIVERY as q, LEVEL4_MIN_REVIEWS as r, LOFI_TYPE as s, MAX_DELIVER_HORIZON_MS as t, MAX_JOB_USDC as u, MAX_REVIEW_WINDOW_MS as v, MIN_JOB_USDC as w, MIST_PER_SUI as x, NO_DELIVERY_REGRESSION_FLOOR as y, OPENING_CLAIM_POLICY_ANY_ACTIVE as z };
2130
+ export { type PreflightResult as $, A2A_ESCROW_FEE_CONFIG_ID as A, BATCH_OPENING_TYPE_MARKER as B, CLOCK_ID as C, DEFAULT_ACTIVITY_REPORT_URL as D, ETH_TYPE as E, MIN_JOB_USDC as F, GAS_RESERVE_MIN as G, MIST_PER_SUI as H, IKA_TYPE as I, JOB_STATES as J, KNOWN_TARGETS as K, LABEL_PATTERNS as L, MANIFEST_TYPE as M, NAVX_TYPE as N, NO_DELIVERY_REGRESSION_FLOOR as O, OPENING_CLAIM_POLICIES as P, OPENING_CLAIM_POLICY_ANY_ACTIVE as Q, OPENING_CLAIM_POLICY_PROVEN as R, OPENING_CLAIM_POLICY_PROVEN_4STAR as S, OVERLAY_FEE_RATE as T, type OverlayFeeConfig as U, PREFLIGHT_MAX_AMOUNT as V, PREFLIGHT_OK as W, PROVEN_MIN_AVG_STARS_X10 as X, PROVEN_MIN_REVIEWS as Y, type PayOptions as Z, type PayResult as _, A2A_ESCROW_PACKAGE_ID as a, fallbackLabel as a$, REVIEW_MAX_STARS as a0, REVIEW_MIN_STARS as a1, SELLER_LEVEL_ACTIVE_CAPS as a2, STABLE_ASSETS as a3, SUI_DECIMALS as a4, SUI_TYPE as a5, SUPPORTED_ASSETS as a6, type SellerLevel as a7, type SendAssetClass as a8, type SendResult as a9, activeCapForLevel as aA, buildBatchClaimTx as aB, buildCancelBatchOpeningTx as aC, buildCreateBatchOpeningTx as aD, buildCreateJobTx as aE, buildDeliverJobTx as aF, buildRefundBatchExpiredTx as aG, buildRefundJobTx as aH, buildRejectJobTx as aI, buildReleaseJobTx as aJ, buildSendTx as aK, buildSwapTx as aL, checkPositiveAmount as aM, checkSuiAddress as aN, claimPolicyLabel as aO, claimPolicyRequirement as aP, classifyAction as aQ, classifyLabel as aR, classifySendAsset as aS, classifyTransaction as aT, deriveAgentScoreId as aU, effectiveSellerLevel as aV, executeTx as aW, extractAllUserLegs as aX, extractTransferDetails as aY, extractTxCommands as aZ, extractTxSender as a_, type ServiceListing as aa, type SimulationResult as ab, type StableAsset as ac, type SuiHolding as ad, type SuiRpcTxBlock as ae, type SupportedAsset as af, type SwapRouteResult as ag, T2000Error as ah, type T2000ErrorCode as ai, type T2000ErrorData as aj, T2000_OVERLAY_FEE_WALLET as ak, TOKEN_MAP as al, type TransactionLeg as am, type TransactionRecord as an, type TransactionSigner as ao, type TxDirection as ap, USDC_DECIMALS as aq, USDC_TYPE as ar, USDE_TYPE as as, USDSUI_TYPE as at, USDT_TYPE as au, WAL_TYPE as av, WBTC_TYPE as aw, type X402ActivityPayload as ax, type ZkLoginProof as ay, ZkLoginSigner as az, type ActivityReportConfig as b, A2A_SCORE_BOARD_ID as b$, fetchService as b0, findSwapRoute as b1, formatAssetAmount as b2, formatSui as b3, formatUsd as b4, getAgentScore as b5, getBatchClaimsByAgent as b6, getBatchOpening as b7, getDecimals as b8, getDecimalsForCoinType as b9, resolveTokenType as bA, sellerLevel as bB, sellerLevelLabel as bC, stableToRaw as bD, suiToMist as bE, truncateAddress as bF, usdcToRaw as bG, validateAddress as bH, verifyJobForSeller as bI, type T2000Options as bJ, type X402Probe as bK, type SerializedCetusRoute as bL, type SwapResult as bM, type SwapQuoteResult as bN, type PaymentRequest as bO, type SuiCoreClient as bP, type SponsoredCoinMergeCache as bQ, type SendableAsset as bR, A2A_ESCROW_LATEST_PACKAGE_ID as bS, A2A_ESCROW_OPENING_PACKAGE_ID as bT, A2A_ESCROW_PACKAGE_V10_ID as bU, A2A_ESCROW_PACKAGE_V11_ID as bV, A2A_ESCROW_PACKAGE_V2_ID as bW, A2A_ESCROW_PACKAGE_V3_ID as bX, A2A_ESCROW_PACKAGE_V6_ID as bY, A2A_ESCROW_PACKAGE_V7_ID as bZ, A2A_ESCROW_PACKAGE_V8_ID as b_, getJob as ba, getJobSpec as bb, invalidSendAssetMessage as bc, jobActionsFor as bd, listServices as be, mapMoveAbortCode as bf, mapWalletError as bg, meetsClaimPolicy as bh, meetsMinSellerLevel as bi, mistToSui as bj, parseSuiRpcTx as bk, payWithX402 as bl, preflightBatchClaim as bm, preflightClaimOpening as bn, preflightCreateBatchOpening as bo, preflightCreateJob as bp, preflightFail as bq, preflightPay as br, preflightSend as bs, preflightSwap as bt, putJobSpec as bu, rawToStable as bv, rawToUsdc as bw, refineLendingLabel as bx, reportX402Activity as by, resolveSymbol as bz, type AgentScore as c, type ApiRouteListing as c0, CETUS_USDC_SUI_POOL as c1, type CoinPage as c2, DEFAULT_GRPC_URL as c3, GASLESS_MIN_STABLE_AMOUNT as c4, GASLESS_STABLE_TYPES as c5, MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID as c6, MAINNET_A2A_ESCROW_OPENING_PACKAGE_ID as c7, MAINNET_A2A_ESCROW_PACKAGE_ID as c8, MAINNET_A2A_SCORE_BOARD_ID as c9, getOpening as cA, getSuiClient as cB, getSuiGrpcClient as cC, isAllowedAsset as cD, isCetusRouteFresh as cE, isInRegistry as cF, normalizeAsset as cG, normalizeCoinType as cH, preflightCreateOpening as cI, probeX402 as cJ, queryHistory as cK, queryTransaction as cL, selectAndSplitCoin as cM, selectSuiCoin as cN, serializeCetusRoute as cO, simulateTransaction as cP, throwIfSimulationFailed as cQ, verifyCetusRouteCoinMatch as cR, MAX_OPEN_WINDOW_MS as ca, OPERATION_ASSETS as cb, type Opening as cc, type OpeningTerms as cd, type Operation as ce, SENDABLE_ASSETS as cf, type SelectAndSplitResult as cg, type SerializedCetusRoutePath as ch, type SerializedRouterDataV3 as ci, type ServicesRail as cj, type ServicesRow as ck, addSendToTx as cl, addSwapToTx as cm, assertAllowedAsset as cn, assertBuyerRequirements as co, buildCancelOpeningTx as cp, buildClaimOpeningTx as cq, buildCreateEmptyScoreTx as cr, buildCreateOpeningTx as cs, buildDeclineJobTx as ct, buildRefundUnclaimedTx as cu, buildSubmitFirstReviewTx as cv, buildSubmitReviewTx as cw, deserializeCetusRoute as cx, fetchAllCoins as cy, getCoinMeta as cz, type BalanceResponse as d, type BatchOpening as e, type BatchOpeningTerms as f, COIN_REGISTRY as g, type ClassifyBalanceChange as h, type ClassifyResult as i, type CoinMeta as j, DEFAULT_COMMERCE_API_BASE as k, DEFAULT_NETWORK as l, type DepositInfo as m, type ExtractedTransfer as n, type Job as o, type JobState as p, type JobTerms as q, type JobVerification as r, KeypairSigner as s, LEVEL4_MAX_NO_DELIVERY as t, LEVEL4_MIN_REVIEWS as u, LOFI_TYPE as v, MAX_BATCH_SLOTS_DEFAULT as w, MAX_DELIVER_HORIZON_MS as x, MAX_JOB_USDC as y, MAX_REVIEW_WINDOW_MS as z };
package/dist/index.cjs CHANGED
@@ -3005,7 +3005,7 @@ init_coinSelection();
3005
3005
  init_errors();
3006
3006
  init_token_registry();
3007
3007
  init_coinSelection();
3008
- var MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
3008
+ var MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x2a928916c859a159e6d6f4841073a31397d01336c1ea689ce74344e456463c8d";
3009
3009
  var MAINNET_A2A_ESCROW_OPENING_PACKAGE_ID = MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID;
3010
3010
  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;
3011
3011
  var A2A_ESCROW_OPENING_PACKAGE_ID = A2A_ESCROW_LATEST_PACKAGE_ID;
@@ -3015,6 +3015,7 @@ var A2A_ESCROW_PACKAGE_V6_ID = "0xb065033b6f72c4899055a0b3afac28f09dc7b0b7b491ea
3015
3015
  var A2A_ESCROW_PACKAGE_V7_ID = "0x4249f0b242c47c7baf0c37304365bc4bbe769bcedf11f3525e84682d59a3b23e";
3016
3016
  var A2A_ESCROW_PACKAGE_V8_ID = "0x1595b80bc05a03607f3908702c866ca63cf961025b4263b5ecbe419e07f8ff31";
3017
3017
  var A2A_ESCROW_PACKAGE_V10_ID = process.env.A2A_ESCROW_PACKAGE_V10_ID ?? "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
3018
+ var A2A_ESCROW_PACKAGE_V11_ID = process.env.A2A_ESCROW_PACKAGE_V11_ID ?? "0x2a928916c859a159e6d6f4841073a31397d01336c1ea689ce74344e456463c8d";
3018
3019
  var CLOCK_ID2 = "0x6";
3019
3020
  var MODULE = "opening";
3020
3021
  var SHA256_HEX_RE = /^(0x)?[0-9a-fA-F]{64}$/;
@@ -3483,6 +3484,11 @@ async function verifyJobForSeller({
3483
3484
  return { ok: problems.length === 0, job, problems };
3484
3485
  }
3485
3486
 
3487
+ // src/wallet/batch.ts
3488
+ init_errors();
3489
+ init_token_registry();
3490
+ init_coinSelection();
3491
+
3486
3492
  // src/wallet/reputation.ts
3487
3493
  init_errors();
3488
3494
  init_token_registry();
@@ -3696,6 +3702,181 @@ function buildSubmitFirstReviewTx({
3696
3702
  return tx;
3697
3703
  }
3698
3704
 
3705
+ // src/wallet/batch.ts
3706
+ var MODULE4 = "batch";
3707
+ var CLOCK_ID5 = "0x6";
3708
+ var MAX_BATCH_SLOTS_DEFAULT = 250;
3709
+ var BATCH_OPENING_TYPE_MARKER = "::batch::BatchOpening<";
3710
+ function preflightCreateBatchOpening(terms) {
3711
+ const single = preflightCreateOpening(terms);
3712
+ if (!single.valid) return single;
3713
+ if (!Number.isInteger(terms.slots) || terms.slots < 1 || terms.slots > MAX_BATCH_SLOTS_DEFAULT) {
3714
+ return {
3715
+ valid: false,
3716
+ code: "INVALID_INPUT",
3717
+ error: `slots must be an integer 1\u2013${MAX_BATCH_SLOTS_DEFAULT} (the live max is AdminCap-tunable on-chain).`
3718
+ };
3719
+ }
3720
+ const maxClaims = terms.maxClaimsPerAgent ?? 1;
3721
+ if (!Number.isInteger(maxClaims) || maxClaims < 1 || maxClaims > terms.slots) {
3722
+ return {
3723
+ valid: false,
3724
+ code: "INVALID_INPUT",
3725
+ error: "maxClaimsPerAgent must be an integer \u22651 and \u2264 slots."
3726
+ };
3727
+ }
3728
+ return { valid: true };
3729
+ }
3730
+ async function buildCreateBatchOpeningTx({
3731
+ client,
3732
+ buyer,
3733
+ terms
3734
+ }) {
3735
+ const pf = preflightCreateBatchOpening(terms);
3736
+ if (!pf.valid) throw new exports.T2000Error(pf.code ?? "INVALID_INPUT", pf.error ?? "Invalid batch.");
3737
+ const perSlotRaw = BigInt(Math.floor(terms.amountUsdc * 10 ** USDC_DECIMALS));
3738
+ const totalRaw = perSlotRaw * BigInt(terms.slots);
3739
+ const tx = new transactions.Transaction();
3740
+ const { coin } = await selectAndSplitCoin(
3741
+ tx,
3742
+ client,
3743
+ validateAddress(buyer),
3744
+ exports.USDC_TYPE,
3745
+ totalRaw,
3746
+ { allowSwapAll: false }
3747
+ );
3748
+ tx.moveCall({
3749
+ target: `${A2A_ESCROW_OPENING_PACKAGE_ID}::${MODULE4}::create_batch_open`,
3750
+ typeArguments: [exports.USDC_TYPE],
3751
+ arguments: [
3752
+ coin,
3753
+ tx.pure.u64(terms.slots),
3754
+ tx.pure.vector("u8", hexToBytes3(terms.specHash)),
3755
+ tx.pure.u64(terms.openUntilMs),
3756
+ tx.pure.u64(terms.slaMs),
3757
+ tx.pure.u64(terms.reviewWindowMs),
3758
+ tx.pure.u64(terms.rejectSplitBps),
3759
+ tx.pure.u8(terms.claimPolicy ?? OPENING_CLAIM_POLICY_ANY_ACTIVE),
3760
+ tx.pure.u8(terms.minSellerLevel ?? 0),
3761
+ tx.pure.u8(terms.maxClaimsPerAgent ?? 1),
3762
+ feeConfigArg(tx),
3763
+ tx.object(CLOCK_ID5)
3764
+ ]
3765
+ });
3766
+ return tx;
3767
+ }
3768
+ function buildBatchClaimTx({
3769
+ batchId,
3770
+ registryId,
3771
+ scoreId
3772
+ }) {
3773
+ if (!scoreId) {
3774
+ throw new exports.T2000Error(
3775
+ "INVALID_INPUT",
3776
+ "Claiming needs the claimer's own AgentScore id (derive with deriveAgentScoreId; create it first with buildCreateEmptyScoreTx when missing)."
3777
+ );
3778
+ }
3779
+ const tx = new transactions.Transaction();
3780
+ tx.moveCall({
3781
+ target: `${A2A_ESCROW_OPENING_PACKAGE_ID}::${MODULE4}::batch_claim`,
3782
+ typeArguments: [exports.USDC_TYPE],
3783
+ arguments: [
3784
+ tx.object(batchId),
3785
+ tx.object(registryId),
3786
+ tx.object(scoreId),
3787
+ feeConfigArg(tx),
3788
+ tx.object(CLOCK_ID5)
3789
+ ]
3790
+ });
3791
+ return tx;
3792
+ }
3793
+ function batchCall(batchId, fn) {
3794
+ const tx = new transactions.Transaction();
3795
+ tx.moveCall({
3796
+ target: `${A2A_ESCROW_OPENING_PACKAGE_ID}::${MODULE4}::${fn}`,
3797
+ typeArguments: [exports.USDC_TYPE],
3798
+ arguments: [tx.object(batchId), feeConfigArg(tx), tx.object(CLOCK_ID5)]
3799
+ });
3800
+ return tx;
3801
+ }
3802
+ function buildCancelBatchOpeningTx(batchId) {
3803
+ return batchCall(batchId, "cancel_batch_open");
3804
+ }
3805
+ function buildRefundBatchExpiredTx(batchId) {
3806
+ return batchCall(batchId, "refund_batch_expired");
3807
+ }
3808
+ function bytesToHex3(bytes) {
3809
+ return `0x${Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("")}`;
3810
+ }
3811
+ function hexToBytes3(hex) {
3812
+ const clean = hex.replace(/^0x/, "");
3813
+ const bytes = [];
3814
+ for (let i = 0; i < clean.length; i += 2) {
3815
+ bytes.push(Number.parseInt(clean.slice(i, i + 2), 16));
3816
+ }
3817
+ return bytes;
3818
+ }
3819
+ async function getBatchOpening(client, batchId) {
3820
+ const resp = await client.core.getObject({ objectId: batchId, include: { json: true } }).catch(() => null);
3821
+ const objType = resp?.object?.type ?? "";
3822
+ const json = resp?.object?.json;
3823
+ if (!json || !objType.includes(BATCH_OPENING_TYPE_MARKER)) {
3824
+ return null;
3825
+ }
3826
+ const table = json.claims_by_agent;
3827
+ return {
3828
+ id: batchId,
3829
+ buyer: String(json.buyer),
3830
+ amountUsdc: Number(json.amount) / 10 ** USDC_DECIMALS,
3831
+ slotsTotal: Number(json.slots_total),
3832
+ slotsRemaining: Number(json.slots_remaining),
3833
+ feeBps: Number(json.fee_bps ?? 0),
3834
+ specHash: bytesToHex3(json.spec_hash ?? []),
3835
+ openUntilMs: Number(json.open_until_ms),
3836
+ slaMs: Number(json.sla_ms),
3837
+ reviewWindowMs: Number(json.review_window_ms),
3838
+ rejectSplitBps: Number(json.reject_split_bps),
3839
+ claimPolicy: Number(json.claim_policy ?? 0),
3840
+ minSellerLevel: Number(json.min_seller_level ?? 0),
3841
+ maxClaimsPerAgent: Number(json.max_claims_per_agent ?? 1),
3842
+ claimsTableId: table?.id ? String(table.id) : null,
3843
+ createdAtMs: Number(json.created_at_ms ?? 0)
3844
+ };
3845
+ }
3846
+ async function getBatchClaimsByAgent(client, batch, agent) {
3847
+ if (!batch.claimsTableId) return 0;
3848
+ try {
3849
+ const fieldId = utils.deriveDynamicFieldID(
3850
+ batch.claimsTableId,
3851
+ "address",
3852
+ bcs.bcs.Address.serialize(validateAddress(agent)).toBytes()
3853
+ );
3854
+ const resp = await client.core.getObject({
3855
+ objectId: fieldId,
3856
+ include: { json: true }
3857
+ });
3858
+ const json = resp?.object?.json;
3859
+ return Number(json?.value ?? 0);
3860
+ } catch {
3861
+ return 0;
3862
+ }
3863
+ }
3864
+ function preflightBatchClaim(score, batch, myClaims) {
3865
+ if (batch.slotsRemaining <= 0) {
3866
+ return {
3867
+ valid: false,
3868
+ error: "No slots left on this batch \u2014 every slot is claimed. Find open waves on the board."
3869
+ };
3870
+ }
3871
+ if (myClaims >= batch.maxClaimsPerAgent) {
3872
+ return {
3873
+ valid: false,
3874
+ error: `This wave allows ${batch.maxClaimsPerAgent} slot${batch.maxClaimsPerAgent === 1 ? "" : "s"} per agent and this wallet already holds ${myClaims}. Deliver what you claimed; other waves on the board are open.`
3875
+ };
3876
+ }
3877
+ return preflightClaimOpening(score, batch);
3878
+ }
3879
+
3699
3880
  // src/commerce.ts
3700
3881
  var DEFAULT_COMMERCE_API_BASE = "https://api.t2000.ai/v1";
3701
3882
  async function commerceFetchJson(url, init) {
@@ -3971,6 +4152,24 @@ function refundOpenJob(base, signer, openingId) {
3971
4152
  openingId: openingId.trim()
3972
4153
  });
3973
4154
  }
4155
+ function postBatchOpenJob(base, signer, input) {
4156
+ return sponsoredOpeningVerb(base, signer, "batch-open-create", input);
4157
+ }
4158
+ function claimBatchOpenJob(base, signer, batchId) {
4159
+ return sponsoredOpeningVerb(base, signer, "batch-open-claim", {
4160
+ batchId: batchId.trim()
4161
+ });
4162
+ }
4163
+ function cancelBatchOpenJob(base, signer, batchId) {
4164
+ return sponsoredOpeningVerb(base, signer, "batch-open-cancel", {
4165
+ batchId: batchId.trim()
4166
+ });
4167
+ }
4168
+ function refundBatchOpenJob(base, signer, batchId) {
4169
+ return sponsoredOpeningVerb(base, signer, "batch-open-refund", {
4170
+ batchId: batchId.trim()
4171
+ });
4172
+ }
3974
4173
 
3975
4174
  // src/commerce/endpoint.ts
3976
4175
  init_errors();
@@ -4917,6 +5116,7 @@ exports.A2A_ESCROW_LATEST_PACKAGE_ID = A2A_ESCROW_LATEST_PACKAGE_ID;
4917
5116
  exports.A2A_ESCROW_OPENING_PACKAGE_ID = A2A_ESCROW_OPENING_PACKAGE_ID;
4918
5117
  exports.A2A_ESCROW_PACKAGE_ID = A2A_ESCROW_PACKAGE_ID;
4919
5118
  exports.A2A_ESCROW_PACKAGE_V10_ID = A2A_ESCROW_PACKAGE_V10_ID;
5119
+ exports.A2A_ESCROW_PACKAGE_V11_ID = A2A_ESCROW_PACKAGE_V11_ID;
4920
5120
  exports.A2A_ESCROW_PACKAGE_V2_ID = A2A_ESCROW_PACKAGE_V2_ID;
4921
5121
  exports.A2A_ESCROW_PACKAGE_V3_ID = A2A_ESCROW_PACKAGE_V3_ID;
4922
5122
  exports.A2A_ESCROW_PACKAGE_V6_ID = A2A_ESCROW_PACKAGE_V6_ID;
@@ -4927,6 +5127,7 @@ exports.AGENT_CATEGORIES = AGENT_CATEGORIES;
4927
5127
  exports.AUDRIC_PARENT = AUDRIC_PARENT;
4928
5128
  exports.AUDRIC_PARENT_NAME = AUDRIC_PARENT_NAME;
4929
5129
  exports.AUDRIC_PARENT_NFT_ID = AUDRIC_PARENT_NFT_ID;
5130
+ exports.BATCH_OPENING_TYPE_MARKER = BATCH_OPENING_TYPE_MARKER;
4930
5131
  exports.CETUS_USDC_SUI_POOL = CETUS_USDC_SUI_POOL;
4931
5132
  exports.CLOCK_ID = CLOCK_ID;
4932
5133
  exports.CommerceClient = CommerceClient;
@@ -4952,6 +5153,7 @@ exports.MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = MAINNET_A2A_ESCROW_LATEST_PACKAGE
4952
5153
  exports.MAINNET_A2A_ESCROW_OPENING_PACKAGE_ID = MAINNET_A2A_ESCROW_OPENING_PACKAGE_ID;
4953
5154
  exports.MAINNET_A2A_ESCROW_PACKAGE_ID = MAINNET_A2A_ESCROW_PACKAGE_ID;
4954
5155
  exports.MAINNET_A2A_SCORE_BOARD_ID = MAINNET_A2A_SCORE_BOARD_ID;
5156
+ exports.MAX_BATCH_SLOTS_DEFAULT = MAX_BATCH_SLOTS_DEFAULT;
4955
5157
  exports.MAX_DELIVER_HORIZON_MS = MAX_DELIVER_HORIZON_MS;
4956
5158
  exports.MAX_JOB_USDC = MAX_JOB_USDC;
4957
5159
  exports.MAX_OPEN_WINDOW_MS = MAX_OPEN_WINDOW_MS;
@@ -4998,13 +5200,17 @@ exports.assertAllowedAsset = assertAllowedAsset;
4998
5200
  exports.assertBuyerRequirements = assertBuyerRequirements;
4999
5201
  exports.assertLimitConfig = assertLimitConfig;
5000
5202
  exports.buildAddLeafTx = buildAddLeafTx;
5203
+ exports.buildBatchClaimTx = buildBatchClaimTx;
5204
+ exports.buildCancelBatchOpeningTx = buildCancelBatchOpeningTx;
5001
5205
  exports.buildCancelOpeningTx = buildCancelOpeningTx;
5002
5206
  exports.buildClaimOpeningTx = buildClaimOpeningTx;
5207
+ exports.buildCreateBatchOpeningTx = buildCreateBatchOpeningTx;
5003
5208
  exports.buildCreateEmptyScoreTx = buildCreateEmptyScoreTx;
5004
5209
  exports.buildCreateJobTx = buildCreateJobTx;
5005
5210
  exports.buildCreateOpeningTx = buildCreateOpeningTx;
5006
5211
  exports.buildDeclineJobTx = buildDeclineJobTx;
5007
5212
  exports.buildDeliverJobTx = buildDeliverJobTx;
5213
+ exports.buildRefundBatchExpiredTx = buildRefundBatchExpiredTx;
5008
5214
  exports.buildRefundJobTx = buildRefundJobTx;
5009
5215
  exports.buildRefundUnclaimedTx = buildRefundUnclaimedTx;
5010
5216
  exports.buildRejectJobTx = buildRejectJobTx;
@@ -5014,12 +5220,14 @@ exports.buildSendTx = buildSendTx;
5014
5220
  exports.buildSubmitFirstReviewTx = buildSubmitFirstReviewTx;
5015
5221
  exports.buildSubmitReviewTx = buildSubmitReviewTx;
5016
5222
  exports.buildSwapTx = buildSwapTx;
5223
+ exports.cancelBatchOpenJob = cancelBatchOpenJob;
5017
5224
  exports.cancelOpenJob = cancelOpenJob;
5018
5225
  exports.canonicalizeRecipientInput = canonicalizeRecipientInput;
5019
5226
  exports.chatCompletion = chatCompletion;
5020
5227
  exports.chatCompletionStream = chatCompletionStream;
5021
5228
  exports.checkPositiveAmount = checkPositiveAmount;
5022
5229
  exports.checkSuiAddress = checkSuiAddress;
5230
+ exports.claimBatchOpenJob = claimBatchOpenJob;
5023
5231
  exports.claimOpenJob = claimOpenJob;
5024
5232
  exports.claimPolicyLabel = claimPolicyLabel;
5025
5233
  exports.claimPolicyRequirement = claimPolicyRequirement;
@@ -5058,6 +5266,8 @@ exports.generateKeypair = generateKeypair;
5058
5266
  exports.getAddress = getAddress;
5059
5267
  exports.getAgentProfile = getAgentProfile;
5060
5268
  exports.getAgentScore = getAgentScore;
5269
+ exports.getBatchClaimsByAgent = getBatchClaimsByAgent;
5270
+ exports.getBatchOpening = getBatchOpening;
5061
5271
  exports.getCoinMeta = getCoinMeta;
5062
5272
  exports.getDecimals = getDecimals;
5063
5273
  exports.getDecimalsForCoinType = getDecimalsForCoinType;
@@ -5100,8 +5310,11 @@ exports.parseServiceTierSlug = parseServiceTierSlug;
5100
5310
  exports.parseSuiRpcTx = parseSuiRpcTx;
5101
5311
  exports.payWithX402 = payWithX402;
5102
5312
  exports.planPackage = planPackage;
5313
+ exports.postBatchOpenJob = postBatchOpenJob;
5103
5314
  exports.postOpenJob = postOpenJob;
5315
+ exports.preflightBatchClaim = preflightBatchClaim;
5104
5316
  exports.preflightClaimOpening = preflightClaimOpening;
5317
+ exports.preflightCreateBatchOpening = preflightCreateBatchOpening;
5105
5318
  exports.preflightCreateJob = preflightCreateJob;
5106
5319
  exports.preflightCreateOpening = preflightCreateOpening;
5107
5320
  exports.preflightFail = preflightFail;
@@ -5119,6 +5332,7 @@ exports.rawToUsdc = rawToUsdc;
5119
5332
  exports.readLimitsFile = readLimitsFile;
5120
5333
  exports.recordDailySpend = recordDailySpend;
5121
5334
  exports.refineLendingLabel = refineLendingLabel;
5335
+ exports.refundBatchOpenJob = refundBatchOpenJob;
5122
5336
  exports.refundOpenJob = refundOpenJob;
5123
5337
  exports.registerAgent = registerAgent;
5124
5338
  exports.removeEndpoint = removeEndpoint;
package/dist/index.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { SuiGrpcClient } from '@mysten/sui/grpc';
3
3
  import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519';
4
- import { ad as T2000Error, bx as T2000Options, ak as TransactionSigner, V as PayOptions, by as X402Probe, W as PayResult, bz as SerializedCetusRoute, bA as SwapResult, bB as SwapQuoteResult, a5 as SendResult, B as BalanceResponse, aj as TransactionRecord, j as DepositInfo, bC as PaymentRequest, au as ZkLoginProof, bD as SuiCoreClient, Q as OverlayFeeConfig, bE as SponsoredCoinMergeCache, ab as SupportedAsset, ac as SwapRouteResult, bF as SendableAsset } from './commerce-D14qzqAV.cjs';
5
- export { A as A2A_ESCROW_FEE_CONFIG_ID, bG as A2A_ESCROW_LATEST_PACKAGE_ID, bH as A2A_ESCROW_OPENING_PACKAGE_ID, a as A2A_ESCROW_PACKAGE_ID, bI as A2A_ESCROW_PACKAGE_V10_ID, bJ as A2A_ESCROW_PACKAGE_V2_ID, bK as A2A_ESCROW_PACKAGE_V3_ID, bL as A2A_ESCROW_PACKAGE_V6_ID, bM as A2A_ESCROW_PACKAGE_V7_ID, bN as A2A_ESCROW_PACKAGE_V8_ID, bO as A2A_SCORE_BOARD_ID, b as ActivityReportConfig, c as AgentScore, bP as ApiRouteListing, bQ as CETUS_USDC_SUI_POOL, C as CLOCK_ID, d as COIN_REGISTRY, e as ClassifyBalanceChange, f as ClassifyResult, g as CoinMeta, bR as CoinPage, D as DEFAULT_ACTIVITY_REPORT_URL, h as DEFAULT_COMMERCE_API_BASE, bS as DEFAULT_GRPC_URL, i as DEFAULT_NETWORK, E as ETH_TYPE, k as ExtractedTransfer, bT as GASLESS_MIN_STABLE_AMOUNT, bU as GASLESS_STABLE_TYPES, 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, bV as MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID, bW as MAINNET_A2A_ESCROW_OPENING_PACKAGE_ID, bX as MAINNET_A2A_ESCROW_PACKAGE_ID, bY as MAINNET_A2A_SCORE_BOARD_ID, M as MANIFEST_TYPE, t as MAX_DELIVER_HORIZON_MS, u as MAX_JOB_USDC, bZ as MAX_OPEN_WINDOW_MS, 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, b_ as OPERATION_ASSETS, P as OVERLAY_FEE_RATE, b$ as Opening, c0 as OpeningTerms, c1 as Operation, R as PREFLIGHT_MAX_AMOUNT, S as PREFLIGHT_OK, T as PROVEN_MIN_AVG_STARS_X10, U as PROVEN_MIN_REVIEWS, X as PreflightResult, Y as REVIEW_MAX_STARS, Z as REVIEW_MIN_STARS, _ as SELLER_LEVEL_ACTIVE_CAPS, c2 as SENDABLE_ASSETS, $ as STABLE_ASSETS, a0 as SUI_DECIMALS, a1 as SUI_TYPE, a2 as SUPPORTED_ASSETS, c3 as SelectAndSplitResult, a3 as SellerLevel, a4 as SendAssetClass, c4 as SerializedCetusRoutePath, c5 as SerializedRouterDataV3, a6 as ServiceListing, c6 as ServicesRail, c7 as ServicesRow, a7 as SimulationResult, a8 as StableAsset, a9 as SuiHolding, aa as SuiRpcTxBlock, ae as T2000ErrorCode, af as T2000ErrorData, ag as T2000_OVERLAY_FEE_WALLET, ah as TOKEN_MAP, ai as TransactionLeg, 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, av as ZkLoginSigner, aw as activeCapForLevel, c8 as addSendToTx, c9 as addSwapToTx, ca as assertAllowedAsset, cb as assertBuyerRequirements, cc as buildCancelOpeningTx, cd as buildClaimOpeningTx, ce as buildCreateEmptyScoreTx, ax as buildCreateJobTx, cf as buildCreateOpeningTx, cg as buildDeclineJobTx, ay as buildDeliverJobTx, az as buildRefundJobTx, ch as buildRefundUnclaimedTx, aA as buildRejectJobTx, aB as buildReleaseJobTx, aC as buildSendTx, ci as buildSubmitFirstReviewTx, cj as buildSubmitReviewTx, 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, ck as deserializeCetusRoute, aN as effectiveSellerLevel, aO as executeTx, aP as extractAllUserLegs, aQ as extractTransferDetails, aR as extractTxCommands, aS as extractTxSender, aT as fallbackLabel, cl as fetchAllCoins, aU as fetchService, aV as findSwapRoute, aW as formatAssetAmount, aX as formatSui, aY as formatUsd, aZ as getAgentScore, cm as getCoinMeta, a_ as getDecimals, a$ as getDecimalsForCoinType, b0 as getJob, b1 as getJobSpec, cn as getOpening, co as getSuiClient, cp as getSuiGrpcClient, b2 as invalidSendAssetMessage, cq as isAllowedAsset, cr as isCetusRouteFresh, cs as isInRegistry, b3 as jobActionsFor, b4 as listServices, b5 as mapMoveAbortCode, b6 as mapWalletError, b7 as meetsClaimPolicy, b8 as meetsMinSellerLevel, b9 as mistToSui, ct as normalizeAsset, cu as normalizeCoinType, ba as parseSuiRpcTx, bb as payWithX402, bc as preflightClaimOpening, bd as preflightCreateJob, cv as preflightCreateOpening, be as preflightFail, bf as preflightPay, bg as preflightSend, bh as preflightSwap, cw as probeX402, bi as putJobSpec, cx as queryHistory, cy as queryTransaction, bj as rawToStable, bk as rawToUsdc, bl as refineLendingLabel, bm as reportX402Activity, bn as resolveSymbol, bo as resolveTokenType, cz as selectAndSplitCoin, cA as selectSuiCoin, bp as sellerLevel, bq as sellerLevelLabel, cB as serializeCetusRoute, cC as simulateTransaction, br as stableToRaw, bs as suiToMist, cD as throwIfSimulationFailed, bt as truncateAddress, bu as usdcToRaw, bv as validateAddress, cE as verifyCetusRouteCoinMatch, bw as verifyJobForSeller } from './commerce-D14qzqAV.cjs';
4
+ import { ah as T2000Error, bJ as T2000Options, ao as TransactionSigner, Z as PayOptions, bK as X402Probe, _ as PayResult, bL as SerializedCetusRoute, bM as SwapResult, bN as SwapQuoteResult, a9 as SendResult, d as BalanceResponse, an as TransactionRecord, m as DepositInfo, bO as PaymentRequest, ay as ZkLoginProof, bP as SuiCoreClient, U as OverlayFeeConfig, bQ as SponsoredCoinMergeCache, af as SupportedAsset, ag as SwapRouteResult, bR as SendableAsset } from './commerce-C_1GwUoT.cjs';
5
+ export { A as A2A_ESCROW_FEE_CONFIG_ID, bS as A2A_ESCROW_LATEST_PACKAGE_ID, bT as A2A_ESCROW_OPENING_PACKAGE_ID, a as A2A_ESCROW_PACKAGE_ID, bU as A2A_ESCROW_PACKAGE_V10_ID, bV as A2A_ESCROW_PACKAGE_V11_ID, bW as A2A_ESCROW_PACKAGE_V2_ID, bX as A2A_ESCROW_PACKAGE_V3_ID, bY as A2A_ESCROW_PACKAGE_V6_ID, bZ as A2A_ESCROW_PACKAGE_V7_ID, b_ as A2A_ESCROW_PACKAGE_V8_ID, b$ as A2A_SCORE_BOARD_ID, b as ActivityReportConfig, c as AgentScore, c0 as ApiRouteListing, B as BATCH_OPENING_TYPE_MARKER, e as BatchOpening, f as BatchOpeningTerms, c1 as CETUS_USDC_SUI_POOL, C as CLOCK_ID, g as COIN_REGISTRY, h as ClassifyBalanceChange, i as ClassifyResult, j as CoinMeta, c2 as CoinPage, D as DEFAULT_ACTIVITY_REPORT_URL, k as DEFAULT_COMMERCE_API_BASE, c3 as DEFAULT_GRPC_URL, l as DEFAULT_NETWORK, E as ETH_TYPE, n as ExtractedTransfer, c4 as GASLESS_MIN_STABLE_AMOUNT, c5 as GASLESS_STABLE_TYPES, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, o as Job, p as JobState, q as JobTerms, r as JobVerification, K as KNOWN_TARGETS, s as KeypairSigner, L as LABEL_PATTERNS, t as LEVEL4_MAX_NO_DELIVERY, u as LEVEL4_MIN_REVIEWS, v as LOFI_TYPE, c6 as MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID, c7 as MAINNET_A2A_ESCROW_OPENING_PACKAGE_ID, c8 as MAINNET_A2A_ESCROW_PACKAGE_ID, c9 as MAINNET_A2A_SCORE_BOARD_ID, M as MANIFEST_TYPE, w as MAX_BATCH_SLOTS_DEFAULT, x as MAX_DELIVER_HORIZON_MS, y as MAX_JOB_USDC, ca as MAX_OPEN_WINDOW_MS, z as MAX_REVIEW_WINDOW_MS, F as MIN_JOB_USDC, H as MIST_PER_SUI, N as NAVX_TYPE, O as NO_DELIVERY_REGRESSION_FLOOR, P as OPENING_CLAIM_POLICIES, Q as OPENING_CLAIM_POLICY_ANY_ACTIVE, R as OPENING_CLAIM_POLICY_PROVEN, S as OPENING_CLAIM_POLICY_PROVEN_4STAR, cb as OPERATION_ASSETS, T as OVERLAY_FEE_RATE, cc as Opening, cd as OpeningTerms, ce as Operation, V as PREFLIGHT_MAX_AMOUNT, W as PREFLIGHT_OK, X as PROVEN_MIN_AVG_STARS_X10, Y as PROVEN_MIN_REVIEWS, $ as PreflightResult, a0 as REVIEW_MAX_STARS, a1 as REVIEW_MIN_STARS, a2 as SELLER_LEVEL_ACTIVE_CAPS, cf as SENDABLE_ASSETS, a3 as STABLE_ASSETS, a4 as SUI_DECIMALS, a5 as SUI_TYPE, a6 as SUPPORTED_ASSETS, cg as SelectAndSplitResult, a7 as SellerLevel, a8 as SendAssetClass, ch as SerializedCetusRoutePath, ci as SerializedRouterDataV3, aa as ServiceListing, cj as ServicesRail, ck as ServicesRow, ab as SimulationResult, ac as StableAsset, ad as SuiHolding, ae as SuiRpcTxBlock, ai as T2000ErrorCode, aj as T2000ErrorData, ak as T2000_OVERLAY_FEE_WALLET, al as TOKEN_MAP, am as TransactionLeg, ap as TxDirection, aq as USDC_DECIMALS, ar as USDC_TYPE, as as USDE_TYPE, at as USDSUI_TYPE, au as USDT_TYPE, av as WAL_TYPE, aw as WBTC_TYPE, ax as X402ActivityPayload, az as ZkLoginSigner, aA as activeCapForLevel, cl as addSendToTx, cm as addSwapToTx, cn as assertAllowedAsset, co as assertBuyerRequirements, aB as buildBatchClaimTx, aC as buildCancelBatchOpeningTx, cp as buildCancelOpeningTx, cq as buildClaimOpeningTx, aD as buildCreateBatchOpeningTx, cr as buildCreateEmptyScoreTx, aE as buildCreateJobTx, cs as buildCreateOpeningTx, ct as buildDeclineJobTx, aF as buildDeliverJobTx, aG as buildRefundBatchExpiredTx, aH as buildRefundJobTx, cu as buildRefundUnclaimedTx, aI as buildRejectJobTx, aJ as buildReleaseJobTx, aK as buildSendTx, cv as buildSubmitFirstReviewTx, cw as buildSubmitReviewTx, aL as buildSwapTx, aM as checkPositiveAmount, aN as checkSuiAddress, aO as claimPolicyLabel, aP as claimPolicyRequirement, aQ as classifyAction, aR as classifyLabel, aS as classifySendAsset, aT as classifyTransaction, aU as deriveAgentScoreId, cx as deserializeCetusRoute, aV as effectiveSellerLevel, aW as executeTx, aX as extractAllUserLegs, aY as extractTransferDetails, aZ as extractTxCommands, a_ as extractTxSender, a$ as fallbackLabel, cy as fetchAllCoins, b0 as fetchService, b1 as findSwapRoute, b2 as formatAssetAmount, b3 as formatSui, b4 as formatUsd, b5 as getAgentScore, b6 as getBatchClaimsByAgent, b7 as getBatchOpening, cz as getCoinMeta, b8 as getDecimals, b9 as getDecimalsForCoinType, ba as getJob, bb as getJobSpec, cA as getOpening, cB as getSuiClient, cC as getSuiGrpcClient, bc as invalidSendAssetMessage, cD as isAllowedAsset, cE as isCetusRouteFresh, cF as isInRegistry, bd as jobActionsFor, be as listServices, bf as mapMoveAbortCode, bg as mapWalletError, bh as meetsClaimPolicy, bi as meetsMinSellerLevel, bj as mistToSui, cG as normalizeAsset, cH as normalizeCoinType, bk as parseSuiRpcTx, bl as payWithX402, bm as preflightBatchClaim, bn as preflightClaimOpening, bo as preflightCreateBatchOpening, bp as preflightCreateJob, cI as preflightCreateOpening, bq as preflightFail, br as preflightPay, bs as preflightSend, bt as preflightSwap, cJ as probeX402, bu as putJobSpec, cK as queryHistory, cL as queryTransaction, bv as rawToStable, bw as rawToUsdc, bx as refineLendingLabel, by as reportX402Activity, bz as resolveSymbol, bA as resolveTokenType, cM as selectAndSplitCoin, cN as selectSuiCoin, bB as sellerLevel, bC as sellerLevelLabel, cO as serializeCetusRoute, cP as simulateTransaction, bD as stableToRaw, bE as suiToMist, cQ as throwIfSimulationFailed, bF as truncateAddress, bG as usdcToRaw, bH as validateAddress, cR as verifyCetusRouteCoinMatch, bI as verifyJobForSeller } from './commerce-C_1GwUoT.cjs';
6
6
  import { TransactionObjectArgument, Transaction } from '@mysten/sui/transactions';
7
7
  import { SuinsClient } from '@mysten/suins';
8
8
  import '@mysten/sui/client';
@@ -535,7 +535,9 @@ interface OpenJobRow {
535
535
  briefPreview?: string | null;
536
536
  maxUsdc: number;
537
537
  slaMinutes: number;
538
- status: 'open' | 'claimed' | 'cancelled' | 'refunded' | 'expired';
538
+ /** S.1193 adds `filled` a batch row whose every slot is claimed
539
+ * (terminal; the escrow moved onto the slot Jobs, never refunded). */
540
+ status: 'open' | 'claimed' | 'cancelled' | 'refunded' | 'expired' | 'filled';
539
541
  openUntilMs: number;
540
542
  seller: string | null;
541
543
  sellerAgent: {
@@ -555,6 +557,16 @@ interface OpenJobRow {
555
557
  /** S.1192 — minimum EFFECTIVE seller level to claim (render with
556
558
  * `sellerLevelLabel`). Absent on pre-S.1192 rows = 0 (no floor). */
557
559
  minSellerLevel?: number;
560
+ /** S.1193 — row kind: absent or "single" = one Opening; "batch" = a
561
+ * wave (ONE row for the whole batch — never N duplicate rows). */
562
+ kind?: 'single' | 'batch';
563
+ /** S.1193 — wave size (batch rows only). */
564
+ slotsTotal?: number;
565
+ /** S.1193 — unclaimed slots left (batch rows only; a batch row is
566
+ * claimable while status is open AND slotsRemaining > 0). */
567
+ slotsRemaining?: number;
568
+ /** S.1193 — slots one agent may claim of this wave (batch rows only). */
569
+ maxClaimsPerAgent?: number;
558
570
  createdAtMs: number;
559
571
  updatedAtMs: number;
560
572
  }
@@ -626,6 +638,33 @@ declare function cancelOpenJob(base: string, signer: TransactionSigner, openingI
626
638
  /** Permissionless refund crank for an opening past `open_until` — funds can
627
639
  * only ever go back to the buyer. */
628
640
  declare function refundOpenJob(base: string, signer: TransactionSigner, openingId: string): Promise<string>;
641
+ /** S.1193 — post a WAVE: N homogeneous slots, one tx, one escrow of
642
+ * `slots × maxUsdc`. Each claimed slot becomes a normal Job. `maxUsdc`
643
+ * is PER SLOT (the live job bounds apply per slot); the wave total is
644
+ * bounded by your wallet, not the protocol. */
645
+ declare function postBatchOpenJob(base: string, signer: TransactionSigner, input: {
646
+ title: string;
647
+ brief: string;
648
+ /** PER-SLOT budget in USDC. */
649
+ maxUsdc: number;
650
+ /** Slots in the wave (1..live max, default max 250). */
651
+ slots: number;
652
+ slaMinutes?: number;
653
+ openHours?: number;
654
+ claimPolicy?: number;
655
+ minSellerLevel?: number;
656
+ /** Slots one agent may claim of this wave (default 1). */
657
+ maxClaimsPerAgent?: number;
658
+ }): Promise<string>;
659
+ /** S.1193 — claim ONE slot of a wave (v1 lock: one claim per tx; a
660
+ * `maxClaimsPerAgent > 1` wave means calling this again). Same $0 FCFS
661
+ * and the same Phase C gates as a single claim. */
662
+ declare function claimBatchOpenJob(base: string, signer: TransactionSigner, batchId: string): Promise<string>;
663
+ /** S.1193 — withdraw a wave's UNCLAIMED remainder — fee-free, any time.
664
+ * Already-claimed slots are normal Jobs and are untouched. */
665
+ declare function cancelBatchOpenJob(base: string, signer: TransactionSigner, batchId: string): Promise<string>;
666
+ /** S.1193 — permissionless remainder refund once the wave expires. */
667
+ declare function refundBatchOpenJob(base: string, signer: TransactionSigner, batchId: string): Promise<string>;
629
668
 
630
669
  interface CommerceClientOptions {
631
670
  /** The seller's signer — a keypair (`KeypairSigner`) or zkLogin Passport. */
@@ -1459,4 +1498,4 @@ declare function fullHandle(label: string, parentName?: string): string;
1459
1498
  */
1460
1499
  declare function displayHandle(label: string, parentName?: string): string;
1461
1500
 
1462
- export { AGENT_CATEGORIES, AUDRIC_PARENT, AUDRIC_PARENT_NAME, AUDRIC_PARENT_NFT_ID, type AgentCategory, type AgentProfile, type AgentRef, type ApiModel, type AppenderContext, BalanceResponse, type BuildAddLeafParams, type BuildRevokeLeafParams, type ChatMessage, type ChatParams, type ChatResult, type ChatUsage, CommerceClient, type CommerceClientOptions, type ComposeTxOptions, type ComposeTxResult, type CreatePackageInput, type CreatePackageResult, DEFAULT_API_BASE, type DailySpend, DepositInfo, ESCROW_JOB_TYPE_MARKER, type EndpointIssue, type EndpointListing, type EndpointRoute, InvalidAddressError, type LabelValidationResult, type LimitAssertInput, LimitEnforcer, LimitExceededError, type LimitKind, type LimitOperation, type LimitsConfig, type LimitsFile, MAX_SLUG_LENGTH, MAX_TIER_BASE_LENGTH, type NormalizedAddress, OPENING_TYPE_MARKER, type OpenJobFilter, type OpenJobRow, type OpenJobsPage, OverlayFeeConfig, type PackageTierInput, PayOptions, PayResult, PaymentRequest, type ProfileUpdateInput, type RegisterResult, SERVICE_SLUG_RE, SERVICE_TIERS, SPONSORED_PYTH_DEPENDENT_PROVIDERS, SUINS_NAME_REGEX, SUI_ADDRESS_REGEX, SUI_ADDRESS_STRICT_REGEX, SendResult, type SendTransferInput, SendableAsset, SerializedCetusRoute, type ServiceTier, type ServiceUpsertInput, type ServiceWriteResult, type SponsoredTxGuard, type StepPreview, SuinsNotRegisteredError, type SuinsParent, SuinsRpcError, SupportedAsset, type SwapExecuteInput, SwapQuoteResult, SwapResult, SwapRouteResult, T2000, T2000Error, T2000Options, TransactionRecord, TransactionSigner, WRITE_APPENDER_REGISTRY, type WriteStep, type WriteToolName, X402Probe, ZkLoginProof, agentResolveUrl, approxUsdValue, assertLimitConfig, buildAddLeafTx, buildRevokeLeafTx, cancelOpenJob, canonicalizeRecipientInput, chatCompletion, chatCompletionStream, claimOpenJob, clearLimits, composeTx, createPackage, customHireEnvelope, dailySpentToday, deriveAllowedAddressesFromPtb, displayHandle, endpointIssueLines, ensureCategory, exportPrivateKey, fetchChallengeNonce, fullHandle, generateKeypair, getAddress, getAgentProfile, getLimits, getOpenJob, getSponsoredSwapProviders, getSwapQuote, hasLimits, isCustomHireEnvelope, keypairFromPrivateKey, listEndpoint, listModels, listOpenJobs, loadKey, looksLikeSuiNs, normalizeAddressInput, packageBaseFromName, packageBaseSlug, packageTierSlugs, parseAgentCategory, parseServiceTierSlug, planPackage, postOpenJob, profileChallengeMessage, queryBalance, readLimitsFile, recordDailySpend, refundOpenJob, registerAgent, removeEndpoint, resolveAddressToSuinsViaRpc, resolveAgentRef, resolveCreatedObjectId, resolveSuinsViaRpc, retireService, saveBech32, saveKey, serviceChallengeMessage, servicePayloadSha256, serviceUpsertPayload, setLimits, setSponsoredTxGuard, signChallenge, slugify, slugifyLoner, slugifyUnbounded, submitJobReview, trimDashes, updateProfile, upsertService, validateLabel, walletExists, writeLimitsFile };
1501
+ export { AGENT_CATEGORIES, AUDRIC_PARENT, AUDRIC_PARENT_NAME, AUDRIC_PARENT_NFT_ID, type AgentCategory, type AgentProfile, type AgentRef, type ApiModel, type AppenderContext, BalanceResponse, type BuildAddLeafParams, type BuildRevokeLeafParams, type ChatMessage, type ChatParams, type ChatResult, type ChatUsage, CommerceClient, type CommerceClientOptions, type ComposeTxOptions, type ComposeTxResult, type CreatePackageInput, type CreatePackageResult, DEFAULT_API_BASE, type DailySpend, DepositInfo, ESCROW_JOB_TYPE_MARKER, type EndpointIssue, type EndpointListing, type EndpointRoute, InvalidAddressError, type LabelValidationResult, type LimitAssertInput, LimitEnforcer, LimitExceededError, type LimitKind, type LimitOperation, type LimitsConfig, type LimitsFile, MAX_SLUG_LENGTH, MAX_TIER_BASE_LENGTH, type NormalizedAddress, OPENING_TYPE_MARKER, type OpenJobFilter, type OpenJobRow, type OpenJobsPage, OverlayFeeConfig, type PackageTierInput, PayOptions, PayResult, PaymentRequest, type ProfileUpdateInput, type RegisterResult, SERVICE_SLUG_RE, SERVICE_TIERS, SPONSORED_PYTH_DEPENDENT_PROVIDERS, SUINS_NAME_REGEX, SUI_ADDRESS_REGEX, SUI_ADDRESS_STRICT_REGEX, SendResult, type SendTransferInput, SendableAsset, SerializedCetusRoute, type ServiceTier, type ServiceUpsertInput, type ServiceWriteResult, type SponsoredTxGuard, type StepPreview, SuinsNotRegisteredError, type SuinsParent, SuinsRpcError, SupportedAsset, type SwapExecuteInput, SwapQuoteResult, SwapResult, SwapRouteResult, T2000, T2000Error, T2000Options, TransactionRecord, TransactionSigner, WRITE_APPENDER_REGISTRY, type WriteStep, type WriteToolName, X402Probe, ZkLoginProof, agentResolveUrl, approxUsdValue, assertLimitConfig, buildAddLeafTx, buildRevokeLeafTx, cancelBatchOpenJob, cancelOpenJob, canonicalizeRecipientInput, chatCompletion, chatCompletionStream, claimBatchOpenJob, claimOpenJob, clearLimits, composeTx, createPackage, customHireEnvelope, dailySpentToday, deriveAllowedAddressesFromPtb, displayHandle, endpointIssueLines, ensureCategory, exportPrivateKey, fetchChallengeNonce, fullHandle, generateKeypair, getAddress, getAgentProfile, getLimits, getOpenJob, getSponsoredSwapProviders, getSwapQuote, hasLimits, isCustomHireEnvelope, keypairFromPrivateKey, listEndpoint, listModels, listOpenJobs, loadKey, looksLikeSuiNs, normalizeAddressInput, packageBaseFromName, packageBaseSlug, packageTierSlugs, parseAgentCategory, parseServiceTierSlug, planPackage, postBatchOpenJob, postOpenJob, profileChallengeMessage, queryBalance, readLimitsFile, recordDailySpend, refundBatchOpenJob, refundOpenJob, registerAgent, removeEndpoint, resolveAddressToSuinsViaRpc, resolveAgentRef, resolveCreatedObjectId, resolveSuinsViaRpc, retireService, saveBech32, saveKey, serviceChallengeMessage, servicePayloadSha256, serviceUpsertPayload, setLimits, setSponsoredTxGuard, signChallenge, slugify, slugifyLoner, slugifyUnbounded, submitJobReview, trimDashes, updateProfile, upsertService, validateLabel, walletExists, writeLimitsFile };