@perkos/agent-sdk 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,41 @@ All notable changes to `@perkos/agent-sdk` are documented here.
6
6
 
7
7
  No changes yet.
8
8
 
9
+ ## 0.3.1 - 2026-08-27
10
+
11
+ ### Fixed
12
+
13
+ - Accept the canonical initial Stacks account nonce `0` when constructing an x402 payment intent.
14
+ Amounts, fees, limits and other positive-only fields remain unchanged, while negative or
15
+ malformed nonces continue to fail closed.
16
+ - Cover a complete STX payer flow that builds, signs and independently verifies a transaction with
17
+ origin nonce `0`, plus rejection of negative nonce input.
18
+
19
+ ## 0.3.0 - 2026-08-27
20
+
21
+ ### Added
22
+
23
+ - Deterministic, request-bound x402 `PaymentIntent` construction for direct STX, sBTC, and USDCx
24
+ payments, including explicit payer, fee, nonce, quote fingerprint, and expiry.
25
+ - A concurrency-safe, fail-closed payment policy with network, asset, recipient, origin, merchant,
26
+ per-transaction, per-session, fee, and remaining-quote-validity controls.
27
+ - `LeatherSigner` using Stacks Connect `stx_signTransaction` with `broadcast: false`, plus a
28
+ `PolicySigner` callback for KMS/HSM/isolated wallet services that never supplies a private key to
29
+ the SDK.
30
+ - `NayoriX402PaymentClient`, which builds a canonical unsigned transaction, reserves policy budget,
31
+ delegates signing, independently verifies the result, and emits the hosted facilitator body
32
+ without broadcasting.
33
+ - An offline payer quickstart and integration guide for interactive wallets and automated agents.
34
+
35
+ ### Security
36
+
37
+ - Re-verify signer output against the trusted quote and exact request, including origin signature,
38
+ payer, fee, nonce, amount, recipient, asset, memo, deny mode, and post-conditions.
39
+ - Reserve concurrent amount and fee usage before signing, release on failure, and permanently count
40
+ valid signatures against the in-process session budget.
41
+ - Freeze cloned quote, request, requirement, payment payload, and settlement structures to avoid
42
+ caller mutation across asynchronous wallet or remote-signer boundaries.
43
+
9
44
  ## 0.2.0 - 2026-08-26
10
45
 
11
46
  ### Changed
package/README.md CHANGED
@@ -9,12 +9,14 @@ This repository is the continuation of `PerkOS-xyz/PerkOS-Agent-SDK`, renamed to
9
9
  public SDK with the Nayori product identity. The npm package remains `@perkos/agent-sdk` and the
10
10
  complete Git history, releases, issues, and pull requests are preserved.
11
11
 
12
- > Status: 0.2.0 developer release. Read clients, transaction builders, browser and headless signer
12
+ > Status: 0.3.1 developer release. Read clients, transaction builders, browser and headless signer
13
13
  > adapters, confirmation receipts, safety policies, and a transactional testnet quickstart are
14
- > implemented. The x402 v2 client and Stacks facilitator foundations are implemented; durable
15
- > hosting, settlement, replay storage, MCP adapters, external review, and adoption evidence remain
16
- > before Milestone 2 completion. The direct x402 profile includes request-bound pure verification
17
- > for STX, sBTC, and USDCx but does not broadcast transactions.
14
+ > implemented. The x402 v2 client and Stacks facilitator foundations are implemented; hosted quote
15
+ > infrastructure now exists separately, while production settlement enablement, MCP adapters,
16
+ > external review, and adoption evidence remain before Milestone 2 completion. The direct x402
17
+ > profile includes request-bound pure verification
18
+ > and payer-side intent, policy, Leather, and remote-signer foundations for STX, sBTC, and USDCx.
19
+ > It does not broadcast transactions, and hosted production settlement remains disabled.
18
20
 
19
21
  ## Requirements
20
22
 
@@ -55,6 +57,14 @@ proof is outside its payment window; it does not write replay state or submit a
55
57
  npm run quickstart:x402:facilitator
56
58
  ```
57
59
 
60
+ The payer quickstart creates a request-bound USDCx intent, reserves explicit spending and fee
61
+ limits, and builds a canonical unsigned Stacks transaction. It contains no private key, performs no
62
+ network call, and does not request a wallet signature or broadcast:
63
+
64
+ ```bash
65
+ npm run quickstart:x402:payer
66
+ ```
67
+
58
68
  The transactional quickstart is also safe by default: it only prints a seven-step sBTC testnet
59
69
  lifecycle and its funding-policy decision.
60
70
 
@@ -312,6 +322,12 @@ deliver a resource. A hosted facilitator must perform those controls before usin
312
322
  plan. For origin-signed sponsored transactions the result omits `transactionId` until a sponsor
313
323
  adds its signature; `transactionHash` identifies only the supplied serialization.
314
324
 
325
+ `NayoriX402PaymentClient` completes the payer side without weakening those boundaries. It creates
326
+ an immutable `PaymentIntent`, applies recipient/origin/asset and amount/fee limits, constructs the
327
+ canonical unsigned transfer, delegates signing to `LeatherSigner` (`broadcast: false`) or a
328
+ `PolicySigner` backed by external custody, and verifies the signed result before returning the exact
329
+ facilitator request body. See [`docs/X402_PAYMENTS.md`](docs/X402_PAYMENTS.md) for both integrations.
330
+
315
331
  Direct payments and `perkos-escrow-v1` are complementary. Use direct payments for immediate
316
332
  resources and escrow for jobs that require delivery, evaluation, payout, or reputation.
317
333
 
package/SECURITY.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Release status
4
4
 
5
- `@perkos/agent-sdk` 0.1.0 is an M2 foundation release and has not completed the external security
5
+ `@perkos/agent-sdk` 0.2.0 is an M2 developer release and has not completed the external security
6
6
  review required for the PerkOS Stacks Endowment milestone.
7
7
 
8
8
  Do not use this developer release to control material funds without your own review. Inspect every
@@ -36,6 +36,10 @@ disclosure.
36
36
  - Strict validation and normalization of signer-returned Stacks transaction IDs.
37
37
  - Bounded, cancellable confirmation polling with explicit abort, dropped, and timeout states.
38
38
  - Network mismatch rejection in both browser and headless signer adapters.
39
+ - Request-bound direct STX, sBTC, and USDCx payment intents with immutable economic fields.
40
+ - Explicit direct-payment recipient, HTTPS origin, merchant, amount, fee, and session limits.
41
+ - Concurrent payment reservations that prevent asynchronous agents from oversubscribing a budget.
42
+ - Independent verification of every signed direct-payment transaction before facilitator submission.
39
43
 
40
44
  ## Key handling
41
45
 
@@ -51,6 +55,13 @@ secret provider when the runtime permits it.
51
55
  The SDK does not make an unsafe runtime safe. Restrict process access, rotate credentials, separate
52
56
  client/provider/evaluator identities, and use an HSM, KMS, or isolated signer for material funds.
53
57
 
58
+ `LeatherSigner` uses `stx_signTransaction` with `broadcast: false` and requires Leather/Stacks
59
+ Connect to return the signed transaction bytes. `PolicySigner` receives only an immutable intent and
60
+ unsigned transaction; its application callback should call an isolated custody service. The SDK's
61
+ in-process policy is defense in depth and can be bypassed by a malicious host application, so the
62
+ custody service must independently authenticate callers, revalidate intent, enforce durable limits,
63
+ and keep keys outside the agent/LLM process.
64
+
54
65
  ## Confirmation handling
55
66
 
56
67
  A broadcast receipt means a node accepted the transaction, not that the contract call succeeded.
package/dist/index.d.ts CHANGED
@@ -9,12 +9,14 @@ export { resolveConfig, toUint } from "./validation.js";
9
9
  export { normalizeTxid } from "./txid.js";
10
10
  export { PERKOS_X402_ASSET_TRANSFER_METHOD, PERKOS_X402_PAYMENT_FLOW, PERKOS_X402_SCHEME, PerkOSX402SchemeClient, STACKS_X402_NETWORKS, X402_VERSION, createPerkOSX402PaymentRequired, decodePaymentRequiredHeader, decodePaymentResponseHeader, decodePaymentSignatureHeader, encodePaymentRequiredHeader, encodePaymentResponseHeader, encodePaymentSignatureHeader, fromStacksX402Network, parsePerkOSX402PaymentPayload, parsePerkOSX402Requirement, toStacksX402Network, } from "./x402.js";
11
11
  export { HiroX402TransactionSource, InMemoryX402ReplayStore, PerkOSX402Facilitator, PerkOSX402VerificationError, perkosX402ReplayKey, } from "./x402-facilitator.js";
12
- export { NAYORI_X402_DIRECT_ASSETS, NAYORI_X402_DIRECT_ASSET_TRANSFER_METHOD, NAYORI_X402_DIRECT_PAYMENT_FLOW, NAYORI_X402_QUOTE_FINGERPRINT_PREFIX, NAYORI_X402_QUOTE_VERSION, NayoriX402DirectVerificationError, canonicalizeNayoriX402Quote, canonicalizeNayoriX402ResourceUrl, createNayoriX402DirectPaymentPayload, createNayoriX402PaymentRequirements, createNayoriX402Quote, createNayoriX402QuoteFingerprint, getNayoriX402Asset, hashNayoriX402RequestBody, verifyNayoriX402DirectPayment, } from "./x402-direct.js";
12
+ export { NAYORI_X402_DIRECT_ASSETS, NAYORI_X402_DIRECT_ASSET_TRANSFER_METHOD, NAYORI_X402_DIRECT_PAYMENT_FLOW, NAYORI_X402_QUOTE_FINGERPRINT_PREFIX, NAYORI_X402_QUOTE_VERSION, NayoriX402DirectVerificationError, canonicalizeNayoriX402Quote, canonicalizeNayoriX402ResourceUrl, createNayoriX402DirectPaymentPayload, createNayoriX402PaymentRequirements, createNayoriX402Quote, createNayoriX402QuoteFingerprint, getNayoriX402Asset, hashNayoriX402RequestBody, verifyNayoriX402DirectPayment, validateNayoriX402PaymentContext, } from "./x402-direct.js";
13
+ export { LeatherSigner, NAYORI_X402_PAYMENT_INTENT_PREFIX, NAYORI_X402_PAYMENT_INTENT_VERSION, NayoriX402PaymentClient, NayoriX402PaymentPolicy, PolicySigner, buildNayoriX402UnsignedPaymentTransaction, createNayoriX402PaymentIntent, } from "./x402-paying.js";
13
14
  export type { HeadlessSignerOptions, HeadlessTransactionExecutor, HeadlessTransactionRequest, PrivateKeyMaterial, PrivateKeyProvider, StacksConnectContractCallParams, StacksConnectRequest, StacksConnectSignerOptions, } from "./signers.js";
14
15
  export type { TrackerFetch, TransactionTrackerOptions, } from "./tracker.js";
15
16
  export type { AgentEndpoint, AgentRecord, Amount, AmountLike, AssignProviderInput, ConfirmationOptions, ConfirmedTransactionReceipt, ContractCallPlan, ContractId, CreateJobInput, FundJobInput, JobAmountInput, JobRecord, JobStatus, PaymentAsset, PerkOSConfig, PerkOSContracts, PerkOSNetwork, PerkOSOperation, PerkOSSigner, RateProviderInput, ReadOnlyCall, ReadOnlyTransport, RegisterAgentInput, ReputationRecord, ResolvedPerkOSConfig, SettleJobInput, SignerResult, SpendingApproval, SpendingPolicyInput, SubmitWorkInput, TransactionIntent, TransactionConfirmation, TransactionConfirmationStatus, TransactionReceipt, TransactionResultValue, TransactionTrackerLike, UpdateAgentInput, } from "./types.js";
16
17
  export type { PerkOSErrorCode, PerkOSErrorDetails } from "./errors.js";
17
18
  export type { ParsedPerkOSX402Requirement, PaymentPayload, PaymentRequired, PaymentRequirements, PerkOSX402ClientLike, PerkOSX402PaymentProof, PerkOSX402PaymentRequiredInput, PerkOSX402SchemeClientOptions, ResourceInfo, SettleResponse, } from "./x402.js";
18
19
  export type { HiroX402TransactionSourceOptions, PerkOSX402FacilitatorOptions, PerkOSX402ReplayRecord, PerkOSX402ReplayStore, PerkOSX402TransactionSource, PerkOSX402VerifiedPayment, X402VerifierFetch, } from "./x402-facilitator.js";
19
- export type { NayoriStacksX402Network, NayoriX402AssetDefinition, NayoriX402DirectPaymentPayloadInput, NayoriX402PaymentAsset, NayoriX402ProtectedRequest, NayoriX402Quote, NayoriX402QuoteInput, NayoriX402VerifiedDirectPayment, VerifyNayoriX402DirectPaymentInput, } from "./x402-direct.js";
20
+ export type { NayoriStacksX402Network, NayoriX402AssetDefinition, NayoriX402DirectPaymentPayloadInput, NayoriX402PaymentAsset, NayoriX402ProtectedRequest, NayoriX402Quote, NayoriX402QuoteInput, NayoriX402VerifiedDirectPayment, NayoriX402ValidatedPaymentContext, ValidateNayoriX402PaymentContextInput, VerifyNayoriX402DirectPaymentInput, } from "./x402-direct.js";
21
+ export type { LeatherRequest, LeatherSignTransactionParams, LeatherSignerOptions, NayoriX402PaymentAuthorization, NayoriX402PaymentClientOptions, NayoriX402PaymentIntent, NayoriX402PaymentIntentInput, NayoriX402PaymentPolicyInput, NayoriX402PaymentSessionUsage, NayoriX402PaymentSignRequest, NayoriX402PaymentSigner, NayoriX402PreparePaymentInput, NayoriX402PreparedPayment, NayoriX402SettlementRequest, NayoriX402SignedTransaction, PolicySignerCallback, PolicySignerOptions, PolicySignerRequest, } from "./x402-paying.js";
20
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,wCAAwC,EACxC,+BAA+B,EAC/B,oCAAoC,EACpC,yBAAyB,EACzB,iCAAiC,EACjC,2BAA2B,EAC3B,iCAAiC,EACjC,oCAAoC,EACpC,mCAAmC,EACnC,qBAAqB,EACrB,gCAAgC,EAChC,kBAAkB,EAClB,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,iCAAiC,EACjC,kCAAkC,EAClC,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,yCAAyC,EACzC,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,EAC/B,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,WAAW,EACX,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACvE,YAAY,EACV,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,6BAA6B,EAC7B,YAAY,EACZ,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,gCAAgC,EAChC,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EACzB,mCAAmC,EACnC,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,+BAA+B,EAC/B,iCAAiC,EACjC,qCAAqC,EACrC,kCAAkC,GACnC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,cAAc,EACd,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -9,5 +9,6 @@ export { resolveConfig, toUint } from "./validation.js";
9
9
  export { normalizeTxid } from "./txid.js";
10
10
  export { PERKOS_X402_ASSET_TRANSFER_METHOD, PERKOS_X402_PAYMENT_FLOW, PERKOS_X402_SCHEME, PerkOSX402SchemeClient, STACKS_X402_NETWORKS, X402_VERSION, createPerkOSX402PaymentRequired, decodePaymentRequiredHeader, decodePaymentResponseHeader, decodePaymentSignatureHeader, encodePaymentRequiredHeader, encodePaymentResponseHeader, encodePaymentSignatureHeader, fromStacksX402Network, parsePerkOSX402PaymentPayload, parsePerkOSX402Requirement, toStacksX402Network, } from "./x402.js";
11
11
  export { HiroX402TransactionSource, InMemoryX402ReplayStore, PerkOSX402Facilitator, PerkOSX402VerificationError, perkosX402ReplayKey, } from "./x402-facilitator.js";
12
- export { NAYORI_X402_DIRECT_ASSETS, NAYORI_X402_DIRECT_ASSET_TRANSFER_METHOD, NAYORI_X402_DIRECT_PAYMENT_FLOW, NAYORI_X402_QUOTE_FINGERPRINT_PREFIX, NAYORI_X402_QUOTE_VERSION, NayoriX402DirectVerificationError, canonicalizeNayoriX402Quote, canonicalizeNayoriX402ResourceUrl, createNayoriX402DirectPaymentPayload, createNayoriX402PaymentRequirements, createNayoriX402Quote, createNayoriX402QuoteFingerprint, getNayoriX402Asset, hashNayoriX402RequestBody, verifyNayoriX402DirectPayment, } from "./x402-direct.js";
12
+ export { NAYORI_X402_DIRECT_ASSETS, NAYORI_X402_DIRECT_ASSET_TRANSFER_METHOD, NAYORI_X402_DIRECT_PAYMENT_FLOW, NAYORI_X402_QUOTE_FINGERPRINT_PREFIX, NAYORI_X402_QUOTE_VERSION, NayoriX402DirectVerificationError, canonicalizeNayoriX402Quote, canonicalizeNayoriX402ResourceUrl, createNayoriX402DirectPaymentPayload, createNayoriX402PaymentRequirements, createNayoriX402Quote, createNayoriX402QuoteFingerprint, getNayoriX402Asset, hashNayoriX402RequestBody, verifyNayoriX402DirectPayment, validateNayoriX402PaymentContext, } from "./x402-direct.js";
13
+ export { LeatherSigner, NAYORI_X402_PAYMENT_INTENT_PREFIX, NAYORI_X402_PAYMENT_INTENT_VERSION, NayoriX402PaymentClient, NayoriX402PaymentPolicy, PolicySigner, buildNayoriX402UnsignedPaymentTransaction, createNayoriX402PaymentIntent, } from "./x402-paying.js";
13
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,wCAAwC,EACxC,+BAA+B,EAC/B,oCAAoC,EACpC,yBAAyB,EACzB,iCAAiC,EACjC,2BAA2B,EAC3B,iCAAiC,EACjC,oCAAoC,EACpC,mCAAmC,EACnC,qBAAqB,EACrB,gCAAgC,EAChC,kBAAkB,EAClB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,wCAAwC,EACxC,+BAA+B,EAC/B,oCAAoC,EACpC,yBAAyB,EACzB,iCAAiC,EACjC,2BAA2B,EAC3B,iCAAiC,EACjC,oCAAoC,EACpC,mCAAmC,EACnC,qBAAqB,EACrB,gCAAgC,EAChC,kBAAkB,EAClB,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,iCAAiC,EACjC,kCAAkC,EAClC,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,yCAAyC,EACzC,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC"}
@@ -65,6 +65,20 @@ export interface VerifyNayoriX402DirectPaymentInput {
65
65
  readonly nowSeconds?: number;
66
66
  readonly clockSkewSeconds?: number;
67
67
  }
68
+ export interface ValidateNayoriX402PaymentContextInput {
69
+ readonly paymentRequirements: PaymentRequirements;
70
+ /** The hosted layer must authenticate the merchant and validate the quote signature first. */
71
+ readonly trustedQuote: NayoriX402Quote;
72
+ readonly request: NayoriX402ProtectedRequest;
73
+ readonly nowSeconds?: number;
74
+ readonly clockSkewSeconds?: number;
75
+ }
76
+ export interface NayoriX402ValidatedPaymentContext {
77
+ readonly quote: NayoriX402Quote;
78
+ readonly network: PerkOSNetwork;
79
+ readonly assetDefinition: NayoriX402AssetDefinition;
80
+ readonly quoteFingerprint: string;
81
+ }
68
82
  export interface NayoriX402VerifiedDirectPayment {
69
83
  readonly network: PerkOSNetwork;
70
84
  readonly x402Network: NayoriStacksX402Network;
@@ -79,6 +93,7 @@ export interface NayoriX402VerifiedDirectPayment {
79
93
  /** Final network transaction ID for standard payments; omitted until a sponsor signs. */
80
94
  readonly transactionId?: string;
81
95
  readonly originNonce: bigint;
96
+ readonly originFee: bigint;
82
97
  readonly sponsored: boolean;
83
98
  readonly quoteId: string;
84
99
  readonly quoteFingerprint: string;
@@ -96,5 +111,6 @@ export declare function canonicalizeNayoriX402Quote(quote: NayoriX402Quote): str
96
111
  export declare function createNayoriX402QuoteFingerprint(quote: NayoriX402Quote): Promise<string>;
97
112
  export declare function createNayoriX402PaymentRequirements(quoteInput: NayoriX402Quote): Promise<PaymentRequirements>;
98
113
  export declare function createNayoriX402DirectPaymentPayload(input: NayoriX402DirectPaymentPayloadInput): PaymentPayload;
114
+ export declare function validateNayoriX402PaymentContext(input: ValidateNayoriX402PaymentContextInput): Promise<NayoriX402ValidatedPaymentContext>;
99
115
  export declare function verifyNayoriX402DirectPayment(input: VerifyNayoriX402DirectPaymentInput): Promise<NayoriX402VerifiedDirectPayment>;
100
116
  //# sourceMappingURL=x402-direct.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"x402-direct.d.ts","sourceRoot":"","sources":["../src/x402-direct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"x402-direct.d.ts","sourceRoot":"","sources":["../src/x402-direct.ts"],"names":[],"mappings":"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"}
@@ -366,6 +366,38 @@ async function validateRequirement(requirement, quote) {
366
366
  }
367
367
  return definition;
368
368
  }
369
+ export async function validateNayoriX402PaymentContext(input) {
370
+ const quote = normalizeQuote(input.trustedQuote);
371
+ const nowSeconds = input.nowSeconds ?? Math.floor(Date.now() / 1_000);
372
+ const clockSkewSeconds = input.clockSkewSeconds ?? DEFAULT_CLOCK_SKEW_SECONDS;
373
+ if (!Number.isSafeInteger(nowSeconds) || nowSeconds < 0) {
374
+ throw verificationError("invalid_verifier_config", "nowSeconds must be a safe timestamp.");
375
+ }
376
+ if (!Number.isSafeInteger(clockSkewSeconds) || clockSkewSeconds < 0) {
377
+ throw verificationError("invalid_verifier_config", "clockSkewSeconds must be a non-negative safe integer.");
378
+ }
379
+ if (nowSeconds < quote.issuedAt - clockSkewSeconds) {
380
+ throw verificationError("quote_not_yet_valid", "The trusted quote is not valid yet.");
381
+ }
382
+ if (nowSeconds > quote.expiresAt + clockSkewSeconds) {
383
+ throw verificationError("quote_expired", "The trusted quote has expired.");
384
+ }
385
+ const requestMethod = normalizeMethod(input.request.method);
386
+ const requestUrl = canonicalizeNayoriX402ResourceUrl(input.request.url);
387
+ const requestBodySha256 = await hashNayoriX402RequestBody(input.request.body);
388
+ if (requestMethod !== quote.method ||
389
+ requestUrl !== quote.url ||
390
+ requestBodySha256 !== quote.bodySha256) {
391
+ throw verificationError("request_mismatch", "The protected request does not match the trusted quote.");
392
+ }
393
+ const assetDefinition = await validateRequirement(input.paymentRequirements, quote);
394
+ return {
395
+ quote,
396
+ network: fromStacksX402Network(quote.network),
397
+ assetDefinition,
398
+ quoteFingerprint: await createNayoriX402QuoteFingerprint(quote),
399
+ };
400
+ }
369
401
  function parseTransaction(transactionValue) {
370
402
  if (typeof transactionValue !== "string") {
371
403
  throw verificationError("invalid_transaction", "payload.transaction must be hex.");
@@ -491,29 +523,16 @@ function verifySip010Transfer(transaction, definition, amount, payer, payTo, fin
491
523
  }
492
524
  }
493
525
  export async function verifyNayoriX402DirectPayment(input) {
494
- const quote = normalizeQuote(input.trustedQuote);
495
- const nowSeconds = input.nowSeconds ?? Math.floor(Date.now() / 1_000);
496
- const clockSkewSeconds = input.clockSkewSeconds ?? DEFAULT_CLOCK_SKEW_SECONDS;
497
- if (!Number.isSafeInteger(nowSeconds) || nowSeconds < 0) {
498
- throw verificationError("invalid_verifier_config", "nowSeconds must be a safe timestamp.");
499
- }
500
- if (!Number.isSafeInteger(clockSkewSeconds) || clockSkewSeconds < 0) {
501
- throw verificationError("invalid_verifier_config", "clockSkewSeconds must be a non-negative safe integer.");
502
- }
503
- if (nowSeconds < quote.issuedAt - clockSkewSeconds) {
504
- throw verificationError("quote_not_yet_valid", "The trusted quote is not valid yet.");
505
- }
506
- if (nowSeconds > quote.expiresAt + clockSkewSeconds) {
507
- throw verificationError("quote_expired", "The trusted quote has expired.");
508
- }
509
- const requestMethod = normalizeMethod(input.request.method);
510
- const requestUrl = canonicalizeNayoriX402ResourceUrl(input.request.url);
511
- const requestBodySha256 = await hashNayoriX402RequestBody(input.request.body);
512
- if (requestMethod !== quote.method ||
513
- requestUrl !== quote.url ||
514
- requestBodySha256 !== quote.bodySha256) {
515
- throw verificationError("request_mismatch", "The protected request does not match the trusted quote.");
516
- }
526
+ const context = await validateNayoriX402PaymentContext({
527
+ paymentRequirements: input.paymentRequirements,
528
+ trustedQuote: input.trustedQuote,
529
+ request: input.request,
530
+ ...(input.nowSeconds === undefined ? {} : { nowSeconds: input.nowSeconds }),
531
+ ...(input.clockSkewSeconds === undefined
532
+ ? {}
533
+ : { clockSkewSeconds: input.clockSkewSeconds }),
534
+ });
535
+ const { quote, network, assetDefinition: definition, quoteFingerprint: fingerprint } = context;
517
536
  try {
518
537
  validatePaymentPayload(input.paymentPayload);
519
538
  }
@@ -532,9 +551,7 @@ export async function verifyNayoriX402DirectPayment(input) {
532
551
  canonicalizeNayoriX402ResourceUrl(input.paymentPayload.resource.url) !== quote.url) {
533
552
  throw verificationError("request_mismatch", "The payment payload resource differs from the trusted quote.");
534
553
  }
535
- const definition = await validateRequirement(input.paymentRequirements, quote);
536
554
  const parsed = parseTransaction(input.paymentPayload.payload.transaction);
537
- const network = fromStacksX402Network(quote.network);
538
555
  const expectedEncoding = expectedNetworkEncoding(network);
539
556
  if (parsed.transaction.transactionVersion !== expectedEncoding.transactionVersion ||
540
557
  parsed.transaction.chainId !== expectedEncoding.chainId) {
@@ -546,7 +563,6 @@ export async function verifyNayoriX402DirectPayment(input) {
546
563
  }
547
564
  const payer = originPayer(parsed.transaction, network);
548
565
  const amount = BigInt(quote.amount);
549
- const fingerprint = await createNayoriX402QuoteFingerprint(quote);
550
566
  if (definition.kind === "stx") {
551
567
  verifyStxTransfer(parsed.transaction, amount, payer, quote.payTo, fingerprint);
552
568
  }
@@ -568,6 +584,7 @@ export async function verifyNayoriX402DirectPayment(input) {
568
584
  ? { transactionId: transactionHash }
569
585
  : {}),
570
586
  originNonce: parsed.transaction.auth.spendingCondition.nonce,
587
+ originFee: parsed.transaction.auth.spendingCondition.fee,
571
588
  sponsored: parsed.transaction.auth.authType === AuthType.Sponsored,
572
589
  quoteId: quote.quoteId,
573
590
  quoteFingerprint: fingerprint,
@@ -1 +1 @@
1
- {"version":3,"file":"x402-direct.js","sourceRoot":"","sources":["../src/x402-direct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAMzF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAElB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,MAAM,CAAC,MAAM,wCAAwC,GAAG,qBAAqB,CAAC;AAC9E,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,CAAC;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,oCAAoC,GAAG,MAAM,CAAC;AAE3D,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAChD,MAAM,gCAAgC,GAAG,SAAS,CAAC;AACnD,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,UAAU,GAAG,qCAAqC,CAAC;AACzD,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAC9D,MAAM,kBAAkB,GACtB,kEAAkE,CAAC;AAoBrE,MAAM,YAAY,GAAG,sDAAsD,CAAC;AAC5E,MAAM,YAAY,GAAG,sDAAsD,CAAC;AAC5E,MAAM,aAAa,GAAG,iDAAiD,CAAC;AACxE,MAAM,aAAa,GAAG,iDAAiD,CAAC;AAExE,SAAS,QAAQ,CAAC,OAAsB;IACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO;QACP,WAAW;QACX,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,KAAK;QAChB,gBAAgB,EAAE,GAAG,WAAW,cAAc;QAC9C,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAClB,OAAsB,EACtB,YAA8B,EAC9B,MAAwB,EACxB,QAAe,EACf,QAAgB,EAChB,SAAiB;IAEjB,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO;QACP,WAAW;QACX,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,QAAQ;QACnB,gBAAgB,EAAE,GAAG,WAAW,WAAW,QAAQ,IAAI,SAAS,EAAE;QAClE,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,SAAS;QACT,kBAAkB,EAAE,GAAG,QAAQ,KAAK,SAAS,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAElC,MAAM,CAAC,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC;QAC3E,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC;KACjF,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC;QAC3E,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC;KACjF,CAAC;CACH,CAAC,CAAC;AAsEH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IACjD,MAAM,CAAS;IACf,OAAO,CAAgD;IAEhE,YACE,MAAc,EACd,OAAe,EACf,OAA2C;QAE3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,SAAS,iBAAiB,CACxB,MAAc,EACd,OAAe,EACf,OAA2C;IAE3C,OAAO,IAAI,iCAAiC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,KAAa;IACxD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,iBAAiB,CAAC,eAAe,EAAE,GAAG,KAAK,uCAAuC,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,iBAAiB,CACrB,eAAe,EACf,GAAG,KAAK,iDAAiD,CAC1D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,0CAA0C,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAa;IAC7D,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,wCAAwC,EAAE;YACnF,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,gDAAgD,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,iBAAiB,CACrB,iBAAiB,EACjB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,IAAqC;IAC1D,MAAM,KAAK,GACT,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,IAAI,UAAU,EAAE;QAClB,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YAChC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,UAAU,GAAG,gCAAgC,EAAE,CAAC;QACxD,MAAM,iBAAiB,CACrB,iBAAiB,EACjB,sCAAsC,gCAAgC,SAAS,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,KAAiB;IACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxF,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB;IAClC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,IAAI,kBAAkB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAC1C,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,QAAQ;YAAE,OAAO,IAAI,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAA0B;IAE1B,OAAO,YAAY,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAsB,EACtB,KAA6B;IAE7B,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,yCAAyC,EAAE;YACtF,OAAO;YACP,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB;IAC5C,IAAI,KAAK,CAAC,OAAO,KAAK,yBAAyB,EAAE,CAAC;QAChD,MAAM,iBAAiB,CAAC,eAAe,EAAE,4CAA4C,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,iBAAiB,CAAC,eAAe,EAAE,oCAAoC,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,GAAG,GAAG,iCAAiC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzD,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,iBAAiB,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,MAAM,iBAAiB,CAAC,eAAe,EAAE,iDAAiD,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,OAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,eAAe,EAAE,mCAAmC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,iBAAiB,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,eAAe,EAAE,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,iBAAiB,CAAC,eAAe,EAAE,qDAAqD,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,CAAC;QACH,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,eAAe,EAAE,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,0BAA0B,EAAE,CAAC;QAC1D,MAAM,iBAAiB,CACrB,eAAe,EACf,4CAA4C,0BAA0B,WAAW,CAClF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,yBAAyB;QAClC,OAAO;QACP,UAAU;QACV,MAAM;QACN,GAAG;QACH,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,UAAU,CAAC,WAAW;QAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,KAAK,EAAE,UAAU,CAAC,gBAAgB;QAClC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAA2B;IAE3B,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,WAAW,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,KAAK,GAAoB;QAC7B,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;QACrC,GAAG,EAAE,iCAAiC,CAAC,KAAK,CAAC,GAAG,CAAC;QACjD,UAAU,EAAE,MAAM,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC;QACvD,OAAO,EAAE,UAAU,CAAC,WAAW;QAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,KAAK,EAAE,UAAU,CAAC,gBAAgB;QAClC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;IACF,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAsB;IAChE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,GAAG,EAAE,UAAU,CAAC,GAAG;QACnB,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,KAAsB;IAEtB,MAAM,SAAS,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,GAAG,oCAAoC,GAAG,SAAS,CACrE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CACpC,EAAE,CAAC;IACJ,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtD,MAAM,iBAAiB,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,UAA2B;IAE3B,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACnE,MAAM,WAAW,GAAwB;QACvC,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,UAAU,CAAC,SAAS;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,iBAAiB,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ;QACnD,KAAK,EAAE;YACL,mBAAmB,EAAE,wCAAwC;YAC7D,WAAW,EAAE,+BAA+B;YAC5C,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,aAAa,EAAE,UAAU,CAAC,gBAAgB;YAC1C,YAAY,EAAE,MAAM,CAAC,yBAAyB,CAAC;YAC/C,gBAAgB,EAAE,MAAM,gCAAgC,CAAC,KAAK,CAAC;SAChE;KACF,CAAC;IACF,IAAI,CAAC;QACH,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,8BAA8B,EAAE,kCAAkC,EAAE;YAC1F,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,KAA0C;IAE1C,MAAM,OAAO,GAAmB;QAC9B,WAAW,EAAE,YAAY;QACzB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,QAAQ,EAAE,KAAK,CAAC,mBAAmB;QACnC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;QAC3C,UAAU,EAAE,EAAE;KACf,CAAC;IACF,IAAI,CAAC;QACH,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,+CAA+C,EAAE;YAC1F,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAgC,EAChC,KAAa;IAEb,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,iBAAiB,CACrB,8BAA8B,EAC9B,6BAA6B,KAAK,8BAA8B,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,WAAgC,EAChC,KAAsB;IAEtB,IAAI,CAAC;QACH,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,8BAA8B,EAAE,kCAAkC,EAAE;YAC1F,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACnE,IACE,WAAW,CAAC,MAAM,KAAK,kBAAkB;QACzC,WAAW,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QACrC,WAAW,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QACnC,WAAW,CAAC,KAAK,KAAK,UAAU,CAAC,SAAS;QAC1C,WAAW,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;QACjC,WAAW,CAAC,iBAAiB,KAAK,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,EAClE,CAAC;QACD,MAAM,iBAAiB,CACrB,sBAAsB,EACtB,wDAAwD,CACzD,CAAC;IACJ,CAAC;IACD,IACE,mBAAmB,CAAC,WAAW,EAAE,qBAAqB,CAAC;QACrD,wCAAwC;QAC1C,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,+BAA+B;QACnF,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,KAAK,UAAU,CAAC,YAAY;QAC5E,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,KAAK,UAAU,CAAC,gBAAgB;QACjF,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC;YAC9C,MAAM,CAAC,yBAAyB,CAAC;QACnC,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC;YAClD,CAAC,MAAM,gCAAgC,CAAC,KAAK,CAAC,CAAC,EACjD,CAAC;QACD,MAAM,iBAAiB,CACrB,sBAAsB,EACtB,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,gBAAyB;IACjD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC;QAC3C,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,gBAAgB,CAAC;IACrB,IACE,GAAG,CAAC,MAAM,KAAK,CAAC;QAChB,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QACpB,GAAG,CAAC,MAAM,GAAG,gCAAgC,GAAG,CAAC;QACjD,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3B,CAAC;QACD,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,+CAA+C,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;YACtE,MAAM,iBAAiB,CACrB,qBAAqB,EACrB,2EAA2E,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iCAAiC;YAAE,MAAM,KAAK,CAAC;QACpE,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,2CAA2C,EAAE;YAC1F,KAAK;SACN,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAsB;IAIrD,OAAO,OAAO,KAAK,SAAS;QAC1B,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE;QACnD,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAClB,WAAsD,EACtD,OAAsB;IAEtB,IAAI,CAAC;QACH,WAAW,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CACrB,0BAA0B,EAC1B,8CAA8C,EAC9C,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACrD,MAAM,OAAO,GAAG,wBAAwB,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO,eAAe,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,YAAY,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CACxB,WAAsD,EACtD,MAAc,EACd,KAAa,EACb,KAAa,EACb,WAAmB;IAEnB,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,iBAAiB,CACrB,yBAAyB,EACzB,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,oBAAoB,EAAE,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,mDAAmD,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,iBAAiB,CAAC,oBAAoB,EAAE,6CAA6C,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACrD,MAAM,iBAAiB,CAAC,eAAe,EAAE,0CAA0C,CAAC,CAAC;IACvF,CAAC;IACD,IACE,WAAW,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,IAAI;QACxD,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAC9C,CAAC;QACD,MAAM,iBAAiB,CACrB,yBAAyB,EACzB,0EAA0E,EAC1E,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,WAAsD,EACtD,UAAqC,EACrC,MAAc,EACd,KAAa,EACb,KAAa,EACb,WAAmB;IAEnB,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,iBAAiB,CACrB,yBAAyB,EACzB,kCAAkC,UAAU,CAAC,MAAM,oBAAoB,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,IACtE,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,OACnC,EAAE,CAAC;IACH,IAAI,QAAQ,KAAK,UAAU,CAAC,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAChG,MAAM,iBAAiB,CACrB,gBAAgB,EAChB,2DAA2D,UAAU,CAAC,MAAM,YAAY,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,iBAAiB,CAAC,yBAAyB,EAAE,2CAA2C,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,cAAsB,CAAC;IAC3B,IAAI,MAAc,CAAC;IACnB,IAAI,SAAiB,CAAC;IACtB,IAAI,IAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAChE,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAC7D,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACnE,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,yBAAyB,EAAE,6CAA6C,EAAE;YAChG,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,8CAA8C,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,iBAAiB,CAAC,oBAAoB,EAAE,iDAAiD,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,MAAM,iBAAiB,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;IAC3F,CAAC;IACD,IACE,WAAW,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,IAAI;QACxD,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAC9C,CAAC;QACD,MAAM,iBAAiB,CACrB,yBAAyB,EACzB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;IACjF,IACE,aAAa,CAAC,IAAI,KAAK,kBAAkB;QACzC,aAAa,CAAC,OAAO,KAAK,KAAK;QAC/B,aAAa,CAAC,SAAS,KAAK,IAAI;QAChC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM;QACvC,aAAa,CAAC,KAAK,KAAK,UAAU,CAAC,kBAAkB,EACrD,CAAC;QACD,MAAM,iBAAiB,CACrB,yBAAyB,EACzB,OAAO,UAAU,CAAC,MAAM,6CAA6C,CACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAyC;IAEzC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IACtE,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,iBAAiB,CAAC,yBAAyB,EAAE,sCAAsC,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,iBAAiB,CACrB,yBAAyB,EACzB,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,GAAG,KAAK,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACnD,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,qCAAqC,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS,GAAG,gBAAgB,EAAE,CAAC;QACpD,MAAM,iBAAiB,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,iCAAiC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,MAAM,iBAAiB,GAAG,MAAM,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,IACE,aAAa,KAAK,KAAK,CAAC,MAAM;QAC9B,UAAU,KAAK,KAAK,CAAC,GAAG;QACxB,iBAAiB,KAAK,KAAK,CAAC,UAAU,EACtC,CAAC;QACD,MAAM,iBAAiB,CACrB,kBAAkB,EAClB,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,sBAAsB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,+CAA+C,EAAE;YAC1F,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;QACtD,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,uBAAuB,YAAY,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACzE,MAAM,iBAAiB,CACrB,sBAAsB,EACtB,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,IACE,KAAK,CAAC,cAAc,CAAC,QAAQ;QAC7B,iCAAiC,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,EAClF,CAAC;QACD,MAAM,iBAAiB,CACrB,kBAAkB,EAClB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC1D,IACE,MAAM,CAAC,WAAW,CAAC,kBAAkB,KAAK,gBAAgB,CAAC,kBAAkB;QAC7E,MAAM,CAAC,WAAW,CAAC,OAAO,KAAK,gBAAgB,CAAC,OAAO,EACvD,CAAC;QACD,MAAM,iBAAiB,CACrB,kBAAkB,EAClB,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD,IACE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;QACtD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,SAAS,EACvD,CAAC;QACD,MAAM,iBAAiB,CAAC,yBAAyB,EAAE,+CAA+C,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,MAAM,gCAAgC,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC9B,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,oBAAoB,CAClB,MAAM,CAAC,WAAW,EAClB,UAAU,EACV,MAAM,EACN,KAAK,EACL,KAAK,CAAC,KAAK,EACX,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,OAAO;QACL,OAAO;QACP,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,KAAK,EAAE,UAAU,CAAC,YAAY;QAC9B,eAAe,EAAE,UAAU;QAC3B,MAAM;QACN,KAAK;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,MAAM,CAAC,UAAU;QAC9B,eAAe;QACf,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YACxD,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC;QACP,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK;QAC5D,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,SAAS;QAClE,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,gBAAgB,EAAE,WAAW;KAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"x402-direct.js","sourceRoot":"","sources":["../src/x402-direct.ts"],"names":[],"mappings":"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"}