@visa/cli 5.0.0-rc.362 → 5.0.0-rc.363

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -2,8 +2,8 @@
2
2
  `;fEr(e)&&process.stderr.write(i),pEr().write(i)}var Bd,zge,iJe,$ge,jk,dEr,Fge,Un,ep=A(()=>{"use strict";Bd=ie(require("fs")),zge=ie(require("path")),iJe=ie(require("os")),$ge=zge.join(iJe.homedir(),".visa-mcp"),jk=zge.join($ge,"mcp-server.log"),dEr=5*1024*1024,Fge=null;Un={debug:(...e)=>ZG("DEBUG",...e),info:(...e)=>ZG("INFO",...e),warn:(...e)=>ZG("WARN",...e),error:(...e)=>ZG("ERROR",...e)}});var qk,Hk,QG,eK,tK,Gge=A(()=>{"use strict";qk=class extends Error{code="ATTESTATION_KEY_DRIFT";kind="attestation";nextAction="visa disconnect --all";fix="Run `visa disconnect --all` to clear the stale device credential, then `visa connect` to enroll again.";hint;constructor(t,r){super(t),this.name="AttestationDriftError",this.hint=r}},Hk=class extends Error{code="session_required";kind="session";nextAction="visa connect";fix="visa connect";status;constructor(t,r){super(t),this.name="SessionRequiredError",this.status=r}},QG=class extends Error{code="server_unavailable";kind="server";nextAction=void 0;fix;status;retryable;constructor(t,r=503,n=!0){super(t),this.name="ServerUnavailableError",this.status=r,this.retryable=n,this.fix=n?"Wait a moment and retry. If the outage persists check https://visacli.sh for status.":"Do not retry this request automatically; inspect the server error and reconcile the existing attempt."}},eK=class extends Error{code="surface_disabled";kind="server";nextAction=void 0;fix="This surface is disabled or not configured on the server (kill switch or missing config). Escalate to a human \u2014 retrying will not help.";status;disabledSurface;flag;correlationId;constructor(t,r={}){super(t),this.name="SurfaceDisabledError",this.status=r.status??503,this.disabledSurface=r.disabledSurface,this.flag=r.flag,this.correlationId=r.correlationId}},tK=class extends Error{constructor(r,n){super(r);this.retryAfterSeconds=n;this.name="RateLimitError",this.nextAction=void 0,this.fix=`Wait ${n}s before retrying.`}retryAfterSeconds;code="rate_limited";kind="rate_limit";fix;status=429;nextAction=void 0}});function gEr(){for(let e of lJe)if(IS.existsSync(e))return e;return null}function yEr(){if(!rK())return!1;try{return IS.existsSync(oJe)||gEr()!==null?!0:(sJe||(sJe=!0,Un.warn("binary:missing:win32",{message:"visa-keychain-win.exe not found; Windows Hello attestation unavailable on this install.",binPath:oJe,searchedPrebuiltPaths:lJe})),!1)}catch{return!1}}function bEr(){return qYe()||mEr()?!0:rK()?yEr():!1}async function fJe(e){if(rK())return;let t=Vge(e);if(await ih())try{await dJe("security",["delete-generic-password","-s",pJe,"-a",t],{timeout:5e3})}catch{}}async function mJe(){if(!bEr())return;let e=[...z_().map(Vge),_Er];for(let t of new Set(e))if(!rK())try{await dJe("security",["delete-generic-password","-s",pJe,"-a",t],{timeout:5e3})}catch{}}var aJe,cJe,IS,uJe,tp,dJe,mEr,rK,Z4,t2i,oJe,hEr,r2i,n2i,i2i,o2i,lJe,pJe,_Er,sJe,Kge=A(()=>{"use strict";aJe=require("child_process"),cJe=require("util"),IS=ie(require("fs")),uJe=ie(require("os")),tp=ie(require("path"));ep();Uge();G0();Gge();wS();dJe=(0,cJe.promisify)(aJe.execFile),mEr=()=>process.platform==="darwin",rK=()=>process.platform==="win32",Z4=tp.join(uJe.homedir(),".visa-mcp","bin"),t2i=tp.join(Z4,"Visa CLI"),oJe=tp.join(Z4,"visa-keychain-win.exe"),hEr=tp.join(__dirname,"..","native"),r2i=tp.join(Z4,"visa-keychain.version"),n2i=tp.join(Z4,"visa-keychain.sha256"),i2i=tp.join(Z4,"visa-keychain-win.version"),o2i=tp.join(Z4,"visa-keychain-win.sha256"),lJe=[tp.join(hEr,"bin","win32-x64","visa-keychain-win.exe"),tp.resolve(__dirname,"..","..","native","bin","win32-x64","visa-keychain-win.exe"),tp.resolve(__dirname,"..","native","bin","win32-x64","visa-keychain-win.exe")];pJe="visa-cli",_Er="attestation-key",sJe=!1});function K0(e=process.env){let t=e.VISA_CLI_HOME,r=typeof t=="string"&&t.trim().length>0?t:$k.homedir();return tO.join(r,".visa-mcp","session-token")}function Q4(e=process.env){let t=e.VISA_CLI_HOME,r=typeof t=="string"&&t.trim().length>0?t:$k.homedir();return tO.join(r,".visa-mcp","rc-access")}function nK(e=process.env){return zYe(e)?`rc-access:home:${GYe(e)}`:G_}function SEr(e){let t=e;return[t?.message,t?.stderr].filter(r=>typeof r=="string").join(`
3
3
  `)}function Wge(e){let t=e;if(t?.code==="EPERM"||t?.code==="EACCES")return!0;let r=SEr(e).toLowerCase();return r.includes("operation not permitted")||r.includes("permission denied")}function ih(){return process.platform!=="darwin"?Promise.resolve(!1):(gJe??=(async()=>{try{return await rp("security",["default-keychain","-d","user"],{timeout:5e3}),!0}catch(e){return Wge(e)}})(),gJe)}function vEr(){if(process.platform!=="darwin")return!1;if(Vk!==null)return Vk;try{(0,o6.execFileSync)("security",["default-keychain","-d","user"],{timeout:1e3,encoding:"utf8",stdio:["pipe","pipe","ignore"]}),Vk=!0}catch{Vk=!1}return Vk}async function TEr(e=K_){if(!await ih())return null;try{let{stdout:t}=await rp("security",["find-generic-password","-s",np,"-a",e,"-w"],{timeout:5e3});return t.trim()||null}catch(t){if(Wge(t))throw new oK("Unable to read Visa CLI credentials from macOS Keychain. In sandboxed agents such as Codex, rerun with keychain access or run this command outside the sandbox.");return null}}async function AEr(e,t=K_){if(!await ih())return!1;try{try{await rp("security",["delete-generic-password","-s",np,"-a",t],{timeout:5e3})}catch{}return await rp("security",["add-generic-password","-s",np,"-a",t,"-w",e],{timeout:5e3}),!0}catch{return!1}}async function wEr(e=K_){if(await ih())try{await rp("security",["delete-generic-password","-s",np,"-a",e],{timeout:5e3})}catch{}}async function IEr(e=K_){if(!Yge())return null;try{let{stdout:t}=await rp("secret-tool",["lookup","service",np,"account",e],{timeout:5e3});return t.trim()||null}catch{return null}}async function PEr(e,t=K_){if(!Yge())return!1;try{let r=(0,o6.execFile)("secret-tool",["store","--label",`${np} ${t}`,"service",np,"account",t]);return r.stdin?(r.stdin.write(e),r.stdin.end(),await Promise.race([new Promise((n,i)=>{r.on("exit",o=>o===0?n():i(new Error(`secret-tool exited ${o}`))),r.on("error",i)}),new Promise((n,i)=>setTimeout(()=>{r.kill(),i(new Error("secret-tool timed out"))},EEr))]),!0):!1}catch{return!1}}async function xEr(e=K_){if(Yge())try{await rp("secret-tool",["clear","service",np,"account",e],{timeout:5e3})}catch{}}function Yge(){return!!process.env.DBUS_SESSION_BUS_ADDRESS}async function OEr(e=G_){if(!await ih())return null;try{let{stdout:t}=await rp("security",["find-generic-password","-s",np,"-a",e,"-w"],{timeout:5e3});return t.trim()||null}catch{return null}}async function REr(e,t=G_){if(await ih())try{try{await rp("security",["delete-generic-password","-s",np,"-a",t],{timeout:5e3})}catch{}await rp("security",["add-generic-password","-s",np,"-a",t,"-w",e],{timeout:5e3})}catch{}}async function _Je(e=G_){if(await ih())try{await rp("security",["delete-generic-password","-s",np,"-a",e],{timeout:5e3})}catch{}}function NEr(e=G_){if(!vEr())return null;try{return(0,o6.execFileSync)("security",["find-generic-password","-s",np,"-a",e,"-w"],{timeout:1e3,encoding:"utf8",stdio:["pipe","pipe","ignore"]}).trim()||null}catch{return null}}function eO(e=K0()){try{return ya.readFileSync(e,"utf-8").trim()||null}catch(t){if(Wge(t))throw new oK(`Unable to read Visa CLI credentials from ${e}. Check file permissions or rerun with access to the Visa CLI credential directory.`);return null}}function iK(e,t=K0()){let r=tO.dirname(t);ya.mkdirSync(r,{recursive:!0,mode:448}),ya.writeFileSync(t,e,{mode:384}),process.platform==="win32"&&CEr(t)}function i6(e=K0()){try{ya.unlinkSync(e)}catch{}}function CEr(e){try{let t=$k.userInfo().username;(0,o6.execFile)("icacls",[e,"/inheritance:r","/grant:r",`${t}:F`],{timeout:5e3},r=>{r&&console.error(`[visa-cli] icacls ACL restriction failed: ${r.message}`)})}catch(t){console.error(`[visa-cli] Failed to invoke icacls: ${t instanceof Error?t.message:String(t)}`)}}function Fk(e=K_,t=K0()){switch(process.platform){case"darwin":return{get:()=>TEr(e),store:r=>AEr(r,e),delete:()=>wEr(e)};case"linux":return{get:()=>IEr(e),store:r=>PEr(r,e),delete:()=>xEr(e)};default:return{get:async()=>eO(t),store:async r=>{try{return iK(r,t),!0}catch{return!1}},delete:async()=>i6(t),storesInSessionFile:!0}}}var o6,yJe,ya,$k,tO,rp,np,K_,G_,EEr,oK,gJe,Vk,an,G0=A(()=>{"use strict";o6=require("child_process"),yJe=require("util"),ya=ie(require("fs")),$k=ie(require("os")),tO=ie(require("path"));Uge();Hu();wS();Kge();rp=(0,yJe.promisify)(o6.execFile);np="visa-cli",K_="session-token",G_="rc-access";EEr=5e3,oK=class extends Error{constructor(t){super(t),this.name="CredentialAccessError"}};gJe=null,Vk=null;an=class{static profileBackend(t){return Fk(XG(t),AS(t))}static async getSessionToken(t=process.env){if(nh(t))return Promise.resolve(HYe());let r=Vu(t);if(!r&&z_(t).length>0)return null;let n=r?this.profileBackend(r):Fk(),i=r?AS(r,t):K0(t),o=await n.get();if(o)return o;let s=eO(i);return s?(await n.store(s),s):null}static async saveSessionToken(t,r={}){let n=r.env??process.env;if(nh(n))return;let i=Vu(n);if(i){await this.saveProfileSessionToken(i,t,r);return}let o=Fk(),s=K0(n),a=await o.store(t);if(a&&await o.get()===t){o.storesInSessionFile||i6(s);return}if(a&&await o.delete(),iK(t,s),eO(s)!==t)throw new Error("Failed to persist session token in the unlabeled slot.")}static async saveProfileSessionToken(t,r,n={}){let i=n.env??process.env;if(nh(i))return;let o=this.profileBackend(t),s=AS(t,i);if(await o.store(r)){if(await o.get()===r){o.storesInSessionFile||i6(s),n.preserveLegacy||await this.deleteLegacySessionToken(i);return}await o.delete()}if(iK(r,s),eO(s)!==r)throw new Error("Failed to persist session token. "+(process.platform==="darwin"?'Check Keychain Access permissions for "visa-cli".':`Ensure ${tO.dirname(s)} is writable.`));n.preserveLegacy||await this.deleteLegacySessionToken(i)}static async retireLegacySessionToken(t=process.env){nh(t)||await this.deleteLegacySessionToken(t)}static async deleteLegacySessionToken(t=process.env){await Fk().delete(),i6(K0(t))}static async getRcAccessRecord(t=process.env){if(nh(t)){let s=Lge(t);return{token:s,source:s?"keychain":null}}let r=nK(t),n=Q4(t),i=await OEr(r);if(i)return{token:i,source:"keychain"};let o=eO(n);return o?{token:o,source:"file"}:{token:null,source:null}}static getRcAccessRecordSync(t=process.env){if(nh(t)){let s=Lge(t);return{token:s,source:s?"keychain":null}}let r=nK(t),n=Q4(t),i=NEr(r);if(i)return{token:i,source:"keychain"};let o=eO(n);return o?{token:o,source:"file"}:{token:null,source:null}}static async getRcAccessToken(t=process.env){return(await this.getRcAccessRecord(t)).token}static getRcAccessTokenSync(t=process.env){return this.getRcAccessRecordSync(t).token}static async saveRcAccessToken(t,r=process.env){if(nh(r))return;let n=nK(r),i=Q4(r);await REr(t,n);try{iK(t,i)}catch{}}static async deleteRcAccessToken(t=process.env){if(nh(t))return;let r=nK(t),n=Q4(t);await _Je(r),r!==G_&&await _Je(G_),i6(n)}static async deleteSessionToken(t=process.env){if(nh(t))return;let r=Vu(t),n=r?this.profileBackend(r):Fk(),i=r?AS(r,t):K0(t);await n.delete(),i6(i)}static async deleteProfileSessionToken(t,r=process.env){nh(r)||(await this.profileBackend(t).delete(),i6(AS(t,r)))}static async listKeychainItems(t){if(!await ih())return[];try{let{stdout:r}=await rp("security",["dump-keychain"],{timeout:5e3}),n=r.split(`
4
4
  `),i=[],o=null,s=null;for(let a of n){a.includes("keychain:")&&(o===t&&s&&!i.includes(s)&&i.push(s),o=null,s=null);let c=a.match(/"svce"<blob>="([^"]+)"/);c&&(o=c[1]);let u=a.match(/"acct"<blob>="([^"]+)"/);u&&(s=u[1])}return o===t&&s&&!i.includes(s)&&i.push(s),i}catch{return[]}}static async listStoredCredentials(t={}){let r=t.env??process.env,n=[];if(process.platform==="darwin"&&await ih())for(let s of["visa-cli","visa-mcp"]){let a=await this.listKeychainItems(s);for(let c of a)n.push({service:s,account:c,backend:"keychain"})}let i=K0(r);ya.existsSync(i)&&n.push({service:"visa-cli",account:K_,backend:"file",path:i});for(let s of z_(r)){let a=AS(s,r);ya.existsSync(a)&&n.push({service:"visa-cli",account:XG(s),backend:"file",path:a})}let o=Q4(r);return ya.existsSync(o)&&n.push({service:"visa-cli",account:G_,backend:"file",path:o}),n}static async purgeAll(t={}){let r=t.env??process.env,n=[];if(process.platform==="darwin"&&await ih())for(let s of["visa-cli","visa-mcp"]){let a=await this.listKeychainItems(s);for(let c of a)try{await rp("security",["delete-generic-password","-s",s,"-a",c],{timeout:5e3}),n.push({service:s,account:c,backend:"keychain"})}catch{}}let i=K0(r);if(ya.existsSync(i))try{ya.unlinkSync(i),n.push({service:"visa-cli",account:K_,backend:"file",path:i})}catch{}let o=Q4(r);if(ya.existsSync(o))try{ya.unlinkSync(o),n.push({service:"visa-cli",account:G_,backend:"file",path:o})}catch{}for(let s of z_(r)){let a=AS(s,r);if(ya.existsSync(a))try{ya.unlinkSync(a),n.push({service:"visa-cli",account:XG(s),backend:"file",path:a})}catch{}}try{nJe(r)}catch{}return await mJe(),n}static async clearAll(t=process.env){for(let r of z_(t))await this.deleteProfileSessionToken(r,t);await this.deleteLegacySessionToken(t),await this.deleteRcAccessToken(t)}}});function sK(e){return typeof e=="string"&&Object.prototype.hasOwnProperty.call(Jge,e)}function W0(e,t={}){let r=Jge[e],n=t.fix!==void 0?t.fix:r.fix;if(r.kind==="platform"&&r.escalation!=="awaiting_human"&&n!==null)throw new Error(`agent-contract: ${r.escalation} code "${e}" cannot carry a fix \u2014 no command resolves it`);return{code:e,kind:r.kind,fix:n,nextAction:t.nextAction??r.nextAction}}function bJe(e){if(e instanceof zc)return e.diagnostic;if(e&&typeof e=="object"){let t=e.code??e.errorCode;if(sK(t))return W0(t);if(typeof t=="string"){let n=t.toLowerCase();if(sK(n))return W0(n)}let r=e.message;if(sK(r))return W0(r)}return W0("unspecified_error")}function EJe(e){if(!(e instanceof zc)||!e.details)return;let t=e.details,r={};return Number.isInteger(t.upstreamStatus)&&Number(t.upstreamStatus)>=100&&Number(t.upstreamStatus)<=599&&(r.upstreamStatus=t.upstreamStatus),sK(t.reason)&&t.reason===e.code&&(r.reason=t.reason),e.code==="terms_conflict"&&typeof t.purchaseId=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(t.purchaseId)&&(r.purchaseId=t.purchaseId),e.code==="purchase_transport_uncertain"&&(t.transportReason==="timeout"||t.transportReason==="network"||t.transportReason==="response")&&(r.transportReason=t.transportReason),Object.keys(r).length?r:void 0}var Jge,d2i,zc,W_=A(()=>{"use strict";Jge={update_required:{kind:"caller",fix:"npm install -g @visa/cli@rc",nextAction:"Upgrade Visa CLI to the minimum compatible version or newer, then retry the command."},session_required:{kind:"caller",fix:"agent_enroll",nextAction:"Run visa connect (shell) or call agent_enroll (MCP) and complete the browser sign-in. Both resume where they left off. Retry the original command after that."},identity_required:{kind:"caller",fix:"agent_enroll (MCP) or visa connect (shell)",nextAction:"Call agent_enroll or run visa connect, open the printed URL, enter the code at /agent/enroll/protected-agent, and have the owner approve the device and its limits. Both entrances use the same protected enrollment implementation."},legacy_door_removed:{kind:"caller",fix:"agent_enroll (MCP) or visa connect (shell)",nextAction:"Call agent_enroll or run visa connect, open the printed URL, enter the code at /agent/enroll/protected-agent, approve the device and its limits, then pay with the pay tool. Do not retry the retired command; nothing was signed, paired, or paid."},agent_selection_required:{kind:"caller",fix:null,nextAction:"Retry the command with one exact agent id from the executable choices in the error."},invalid_argument:{kind:"caller",fix:null,nextAction:"Correct the invalid argument named in the error, then retry the command once. Do not escalate this as a platform incident."},rate_limited:{kind:"caller",fix:"sleep <retry-after-seconds>",nextAction:"Wait the exact Retry-After duration named in the error, then retry the same request once. Do not retry sooner or switch agents to bypass the limit."},activity_entry_not_found:{kind:"caller",fix:"history",nextAction:'Call history for the same agent, select an exact activity id from that result, then read it with history { "id": "<activity-id>" }.'},x402_policy_refused:{kind:"caller",fix:null,nextAction:"Nothing was signed or paid. Do not retry unchanged; ask the owner to approve a higher ceiling or choose a payment that fits the existing policy."},managed_wallet_scheme_unsupported:{kind:"caller",fix:"discover",nextAction:"Nothing was reserved, signed, or paid. Choose an x402 endpoint advertising scheme exact with EIP-3009; managed upto/Permit2 support is intentionally deferred until the final measured TVC protocol."},wallet_network_mismatch:{kind:"caller",fix:"discover",nextAction:"The unpaid challenge offered no usable USDC payment on this wallet's configured network. Nothing was reserved, signed, or paid. Choose a discovered endpoint on the configured network; do not retry the same challenge unchanged."},agent_operations_cli_upgrade_required:{kind:"caller",fix:null,nextAction:"Use a reviewed CLI build at or above the minimum version named by the server, restart the agent session, and retry once. The payment was not sent."},agent_operation_forbidden:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This owner, agent, runtime, rail, or rollout state is not admitted to the universal payment route. Ask the owner to inspect the selected agent; do not retry through a legacy path."},runtime_context_not_found:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The server cannot find a current managed runtime contract for this exact agent and device. Ask the owner to inspect or renew that runtime before retrying."},product_policy_not_active:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The wallet setup did not install its server-owned spend policy. Resume the owner-approved wallet setup for this agent; do not retry the payment unchanged."},runtime_spend_session_not_active:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The wallet setup has no active runtime spend session. Resume the owner-approved wallet setup for this agent; do not retry the payment unchanged."},runtime_spend_attenuation_not_active:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The wallet runtime spend limits are not bound to the active owner policy. Resume the owner-approved wallet setup for this agent; do not retry the payment unchanged."},runtime_revoked:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This exact runtime has been revoked. Do not reuse it; ask the owner to certify a new runtime for the same agent if access should continue."},certified_runtime_required:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This payment requires an owner-certified runtime. Ask the owner to approve the wallet runtime certificate, then retry once."},runtime_certificate_invalid:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The wallet runtime certificate is invalid, expired, or no longer current. Ask the owner to renew it; do not retry unchanged."},runtime_delegation_missing:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This runtime has no active owner delegation for short signing leases. Ask the owner to finish secure wallet setup before retrying."},runtime_delegation_expired:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This runtime owner delegation has expired. Ask the owner to renew secure wallet authority before retrying."},runtime_authority_unavailable:{kind:"platform",escalation:"unclassified",fix:null,nextAction:"The server could not verify runtime authority. Surface the outage to an operator and do not retry or fall back until authority health is restored."},universal_required_managed_only:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The universal route requires a fully managed TVC wallet for this agent. Ask the owner to finish managed wallet setup before retrying."},wallet_authority_cli_upgrade_required:{kind:"caller",fix:null,nextAction:"Upgrade the CLI to the minimum version named by the server, restart this agent session, and retry once. Nothing was signed or paid."},tap_signature_required:{kind:"platform",escalation:"unclassified",fix:null,nextAction:"Escalate to a human. A TAP identity signer is available on this runtime, so an unsigned paid x402 request is a platform defect. Do not retry the payment unsigned. Probe remains unsigned."},wallet_payment_reconciling:{kind:"caller",fix:null,nextAction:"Do not submit this purchase again. Call history for the same agent and economic intent; only begin a fresh payment after the existing authorization is terminal."},attestation_key_drift:{kind:"caller",fix:"visa connect",nextAction:"This device holds a credential the server does not recognize (machine swap, keychain wipe, restored backup). Clear the stale local credential, enroll a fresh protected agent with visa connect, then retry."},rc_access_required:{kind:"platform",escalation:"awaiting_human",fix:"export VISA_RC_CODE=<access code>",nextAction:"This is a release-candidate build restricted to Visa employees. Set VISA_RC_CODE in this process, then retry. Ask your team lead or Visa Crypto Labs for the code \u2014 do not guess it."},early_access_required:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Escalate to a human: an admin must enable this tool for the account. Do not retry until they confirm."},capability_attach_pending_approval:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Ask the owner to finish the approval already open in their browser at /agent/enroll/protected-agent \u2014 the device and its limits are approved there. Do not start a second ceremony; wait for the owner, then retry the original command."},card_checkout_not_on_pay:{kind:"caller",fix:"purchase_create",nextAction:"Nothing was probed further, created or charged. This URL answered no x402 challenge, so it is an ordinary merchant checkout and `pay` cannot do it: `pay` spends from the agent wallet only. Card checkouts are the `purchase` resource (`purchase_create`, then `purchase_retrieve`), where Visa issues the credential and YOUR runtime drives the browser. Do not retry this target on `pay`."},card_draw_not_live:{kind:"platform",escalation:"surface_dark",fix:null,nextAction:"Escalate to a human now. The card-draw surface is not live on this build (it is opt-in server-side), so no local configuration change makes this command work. Do not retry."},checkout_review_refused:{kind:"caller",fix:null,nextAction:"Nothing was charged. This checkout needs a supported card-field adapter. Choose another supported checkout, or give the merchant and adapter details to the product team; do not retry unchanged."},checkout_action_required:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Nothing was charged and no payment credential was requested. Ask the human to complete the named verification step, then retry the review once."},checkout_mandate_blocked:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Nothing was charged. Ask the owner to approve a mandate that covers the exact merchant, amount, and currency, then start a new review. Do not widen authority yourself."},card_mandate_activation_uncertain:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The owner approved the budget but the card network did not confirm its activation. No budget is usable and nothing was charged. Do not start another approval while this one is valid: ask the owner to review the budget in the Visa Console and, once the approval has expired or been revoked there, approve a fresh budget. Quote the request id when reporting it."},ucp_platform_profile_unavailable:{kind:"platform",escalation:"surface_dark",fix:null,nextAction:"Do not retry this checkout. Escalate to the Visa deployment owner: the exact UCP platform profile advertised to merchants must serve a valid HTTPS JSON profile without redirects before checkout handoff can work."},wallet_capability_unavailable:{kind:"platform",escalation:"surface_dark",fix:null,nextAction:"Escalate to a human now. The wallet (x402) capability is not served by this build. Do not retry."},surface_disabled:{kind:"platform",escalation:"surface_dark",fix:null,nextAction:"Escalate to a human now. The server reports this surface disabled or not configured (kill switch or missing server config \u2014 see the flag and correlation_id in the error). No retry or local change resolves it."},wallet_grant_required:{kind:"platform",escalation:"awaiting_human",fix:"agent_enroll (MCP) or visa connect (shell)",nextAction:"The Turnkey wallet is delegated by the human owner, not self-minted here. Call agent_enroll or ask the owner to run visa connect and approve the device and its limits at /agent/enroll/protected-agent, then retry."},wallet_credential_required:{kind:"platform",escalation:"awaiting_human",fix:"agent_enroll (MCP) or visa connect (shell)",nextAction:"Call agent_enroll or ask the owner to run visa connect for the intended agent and approve the device and its limits at /agent/enroll/protected-agent, then retry. Identity alone does not grant spend authority."},managed_limits_owner_controlled:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Nothing was signed or paid. Managed wallet limits are owner-set on the server. Read them with get_status, then ask the owner to change them in the Visa Console at /agent/enroll/limits?agent=<agent-id>."},agent_paused:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Ask the owner to resume this exact agent in the Visa Console (Agents). Retry only after get_status reports it ready; do not create a replacement credential while the agent is paused."},owner_withdrawal_pending:{kind:"caller",fix:null,nextAction:"Nothing was signed or paid. The owner is withdrawing from this wallet and that transfer is still settling (at most about ten minutes). Retry the same payment in a minute; the budget is unchanged."},agent_revoked:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This agent is permanently revoked. Do not retry or reuse its credentials; ask the owner whether to pair a new agent identity."},agent_stale:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The server cannot prove this agent is currently usable. Ask the owner to inspect its lifecycle and reauthorize it before retrying."},agent_lifecycle_unknown:{kind:"platform",escalation:"unclassified",fix:null,nextAction:"The lifecycle state is unknown. Surface the full preflight result to a human and do not retry a money operation until the server reports active."},wallet_delivery_required:{kind:"platform",escalation:"awaiting_human",fix:"visa connect",nextAction:"The approved wallet runtime was not delivered completely. Ask the owner to re-run visa connect and re-approve the device and its limits before paying; do not self-mint a mainnet wallet."},wallet_authority_revoked:{kind:"caller",fix:"get_status",nextAction:"This wallet is preserved for recovery only. Inspect its balance and receipts with get_status or history; do not retry a payment or policy change until the owner approves a new wallet grant."},wallet_authority_replacement_required:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This compatibility error came from an older single-wallet runtime. Upgrade the CLI and re-run the wallet grant; current builds isolate wallet authority per agent."},wallet_policy_required:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Nothing was signed. Ask the owner to set per-purchase and daily spend caps in the Visa Console at /agent/enroll/limits?agent=<agent-id>, then retry once. Caps are enforced before anything is signed."},wallet_funding_required:{kind:"caller",fix:"get_status",nextAction:"Deposit USDC into this agent wallet address before paying. get_status carries the deposit address and the live on-chain balance; the owner can also read the address on their account page in the Visa Console."},wallet_unavailable:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Ask the owner to finish wallet setup in the Visa console (their account has no usable wallet yet), then re-run the grant. Do not keep polling: the ceremony cannot complete until the wallet exists."},checkout_agent_access_required:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Escalate to a human: this account is not enabled for agent checkout, so grant ceremonies are refused server-side. Do not retry until an admin confirms the account has access."},unknown_tool:{kind:"caller",fix:null,nextAction:"Call tools/list and dispatch one of the served names. The tool you asked for is not registered on this runtime."},handoff_not_found:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The Console claim code was not found or was mistyped. Ask the human for a fresh claim code from the Visa Console; do not retry this code."},handoff_expired:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This Console claim code has expired. Ask the human to create a new setup code in the Visa Console."},handoff_already_redeemed:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This Console claim code has already been redeemed. Ask the human to create a new setup code in the Visa Console."},no_paired_agent:{kind:"caller",fix:"agent_enroll (MCP) or visa connect (shell)",nextAction:"No protected agent on this device. Call agent_enroll or run visa connect and complete the owner ceremony at /agent/enroll/protected-agent first."},feedback_unconfirmed:{kind:"caller",fix:null,nextAction:"Show the user the exact feedback text and obtain explicit confirmation before calling feedback with confirmed: true."},agent_id_required:{kind:"caller",fix:null,nextAction:"Pass the agentId to identify which agent ceremony to operate on."},already_terminal:{kind:"caller",fix:null,nextAction:"This ceremony is already terminal or cancelled. No further action needed."},purchase_transport_uncertain:{kind:"caller",fix:null,nextAction:"Wait briefly, then repeat the identical Visa purchase call with the same arguments, request key and purchase ID. The original request may have succeeded; its journal recovers the same attempt. Do not cancel, create a replacement or submit Pay at the merchant again. Escalate repeated transport failures."},purchase_refused:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The authority refused this purchase request. Use the recorded upstream status and error to resolve the refusal before trying again. Preserve the original purchase and request key; a refusal is not permission to mint a replacement or repeat merchant payment."},recovery_required:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Inspect the original purchase and checkout with the owner or support. Preserve the purchase ID and request key. Do not create a replacement, release uncertain liability or submit Pay again."},card_recovery_unconfigured:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Card recovery is not configured. Ask support to restore the protected recovery worker before retrying the same Visa request. Preserve the purchase ID; do not create another purchase or click merchant Pay again."},card_recovery_original_not_expired:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The original credential attempt is still live. Retrieve the same purchase without include:card and follow its continuation; do not force recovery, create another purchase or click merchant Pay again."},card_recovery_liability_present:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The original attempt still has liability. Ask support to reconcile that attempt and inspect the existing checkout. Do not release funds, issue replacement credentials or click merchant Pay again."},card_recovery_issuance_conflict:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Recovery found conflicting issuance evidence. Stop and ask support to reconcile the original purchase and attempt. Do not create another purchase or click merchant Pay again."},card_recovery_proof_invalid:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The recovery proof could not be verified. Ask support to repair recovery for the existing device and purchase; do not replay the invalid proof, replace the identity or click merchant Pay again."},card_purchase_quarantined:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"This purchase is quarantined for reconciliation. Ask support to inspect its original attempt and the existing checkout. Do not create another purchase, release its liability or click merchant Pay again."},card_credential_not_available:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Credentials are not available for this purchase state. Retrieve the same purchase without include:card and follow its continuation. Do not recreate the purchase or click merchant Pay again."},purchase_submission_observed:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Submission was already reported for this purchase. Inspect the existing merchant checkout and report its current state on the same purchase. Do not request replacement credentials or click merchant Pay again."},protected_card_request_invalid:{kind:"caller",fix:null,nextAction:"The card executor refused the saved delivery request, usually because its admission has expired. Retrieve the same purchase and follow its continuation; if it reads expired, run purchase create again with the same request file. Do not create a replacement purchase by hand."},protected_card_delivery_conflict:{kind:"caller",fix:null,nextAction:"The saved delivery request differs from the one already in progress for this attempt. Retrieve the same purchase and follow its continuation; do not alter or replay edited request bytes."},protected_card_authority_unavailable:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The card authority did not answer the executor. Nothing was issued. Wait a moment and retrieve the same purchase; recovery continues server-side."},purchase_cancelled:{kind:"caller",fix:null,nextAction:"This purchase was cancelled; it accepts no new credential. Create a new purchase for a fresh checkout if the buyer still wants it. Do not click merchant Pay."},card_intent_unobserved:{kind:"caller",fix:null,nextAction:"The owner's card allowance for this agent is not active yet. Follow next.open_url so the owner finishes card setup, then retry the same checkout."},card_intent_mandate_exists:{kind:"caller",fix:null,nextAction:"The owner's current approval already has a card allowance in progress. Wait for it to finish (or ask the owner to check the limits page), then retry the same checkout."},card_intent_conflict:{kind:"caller",fix:null,nextAction:"A different card allowance request already exists under this id. Retrieve current status instead of resending edited request bytes."},card_vic_provider_refused:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The provider refused credential issuance. Ask the owner or support to inspect the original purchase and provider refusal before retrying; an HTTP error does not prove its reservation was released. Do not create a replacement purchase or click merchant Pay again."},terms_conflict:{kind:"caller",fix:null,nextAction:"The request conflicts with the existing checkout commitment or quote bound. Retrieve the original purchase and compare the exact final terms. Do not change the request key or checkout ID to bypass the conflict; resolve it under the checkout replacement rules."},card_checkout_expired:{kind:"caller",fix:null,nextAction:"The exact checkout quote expired. Inspect the original purchase before obtaining a new final quote. Do not reuse stale terms or bypass checkout replacement rules by changing the request key or checkout ID."},card_mandate_expired:{kind:"caller",fix:null,nextAction:"The owner's card allowance for this agent lapsed (the provider limits each one to 7 days) while the approval itself is still valid; Visa is issuing a replacement under that approval. Wait afterMs and run the same purchase create again. Do not involve the owner or create a replacement purchase."},card_allowance_preparing:{kind:"caller",fix:null,nextAction:"Visa is issuing this agent's card allowance under the owner's existing approval. Wait afterMs and run the same purchase create again; the wait loop does this for you. Do not involve the owner or create a replacement purchase."},protected_card_instrument_inactive:{kind:"platform",escalation:"awaiting_human",fix:"purchase_create",nextAction:"This agent's card connection points at a saved-card record the owner has since replaced (re-verifying the card) or removed. Call purchase_create again with the saved resumeId: it returns one open_url that reconnects this agent to the owner's current saved card. The owner opens it once, then the same saved purchase resumes. Do not ask for card details, create another agent or purchase, or click merchant Pay again."},card_reservation_expired:{kind:"caller",fix:null,nextAction:"Retrieve the same purchase to resolve its expired reservation. Follow its current continuation; do not replay stale admission bytes or create a replacement to hide an unresolved attempt."},card_merchant_country_mismatch:{kind:"caller",fix:null,nextAction:"Use the actual merchant country consistently in the signed checkout terms and settlement envelope. Preserve the existing purchase commitment; do not change keys to bypass a terms conflict."},protected_grant_proof_mismatch:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Ask the owner or support to verify the current grant and runtime proof for this existing agent. Do not retry an unchanged invalid proof or create replacement authority."},purchase_resume_invalid:{kind:"caller",fix:null,nextAction:"Use the exact saved purchase resume reference by itself; do not combine it with a new request. Preserve the original purchase and merchant checkout."},purchase_draft_invalid:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The saved purchase request is damaged or changed. Stop and ask support to recover the original draft; do not overwrite it, invent new terms or click merchant Pay again."},purchase_draft_not_found:{kind:"caller",fix:null,nextAction:"Use the original device and exact saved resume reference. Locate the existing draft before continuing; do not recreate the request or click merchant Pay again."},purchase_draft_agent_invalid:{kind:"caller",fix:null,nextAction:"Select the existing protected agent by its exact UUID and resume the original draft. Do not create a replacement identity or purchase."},purchase_draft_agent_mismatch:{kind:"caller",fix:null,nextAction:"Resume this draft with the same protected agent it already selected. Do not switch agents, replace the draft or click merchant Pay again."},purchase_draft_owner_mismatch:{kind:"caller",fix:null,nextAction:"Sign in as the owner who started this draft on the original device, then resume that same draft. Do not transfer it to another owner or create a replacement purchase."},purchase_draft_owner_required:{kind:"caller",fix:null,nextAction:"Complete the returned owner sign-in step, then resume the same saved draft. Do not start another identity enrollment or purchase."},purchase_draft_busy:{kind:"caller",fix:null,nextAction:"Wait for the current Visa purchase call to finish, then repeat the same resume reference. Do not run concurrent purchase calls, create a replacement or click merchant Pay again."},purchase_not_found:{kind:"caller",fix:null,nextAction:"Check the original purchase ID and selected agent. Recover the existing purchase record; do not mint a replacement merely because a read could not find it."},invalid_contract:{kind:"caller",fix:null,nextAction:"Correct the request using the declared tool schema, then retry only with valid input. Never fabricate facts or change existing payment identifiers to bypass their commitment."},invalid_amount:{kind:"caller",fix:null,nextAction:"Supply a positive canonical amount in the units required by the selected tool. Follow its total and precision constraints; never change identifiers to bypass an existing payment commitment."},invalid_currency:{kind:"caller",fix:null,nextAction:"Use the currency required by the selected payment profile. Do not infer merchant country from currency."},unsupported_version:{kind:"caller",fix:null,nextAction:"Use a supported protocol version and profile. Check the current tool schema or update Visa CLI, then retry the same logical operation without bypassing its existing commitment."},native_runtime_signer_not_installed:{kind:"platform",escalation:"awaiting_human",fix:"npm i -g @visa/cli@rc",nextAction:"The Visa CLI install on this machine has no native signer for this platform, so no wallet key can be proven. Ask the owner to reinstall Visa CLI; do not retry."},native_runtime_signer_not_executable:{kind:"platform",escalation:"awaiting_human",fix:"npm i -g @visa/cli@rc",nextAction:"The native signer is present but this machine will not run it, and Visa CLI could not repair its file mode. Ask the owner to reinstall Visa CLI, or to run chmod 755 on the path in the error; do not retry."},native_runtime_platform_unsupported:{kind:"platform",escalation:"surface_dark",fix:null,nextAction:"Visa CLI ships no native signer for this operating system and CPU, so wallet keys cannot be held here. Surface this to the owner; do not retry."},native_runtime_unavailable:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The native signer could not be started. The error names why (EACCES is the executable bit; ENOENT is a missing binary). Surface it to the owner; do not retry."},native_runtime_closed:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The native signer exited before answering. The error carries its exit code and its last output. Surface it to the owner; do not retry."},native_runtime_response_invalid:{kind:"platform",escalation:"unclassified",fix:null,nextAction:"The native signer answered with something Visa CLI could not read, which usually means the CLI and its signer are from different builds. Ask the owner to reinstall Visa CLI; do not retry."},keychain_locked_or_unavailable:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The operating-system keychain refused to open for the native signer, so the wallet key could not be read. On macOS this is the login keychain being locked or an Allow prompt being declined. Ask the owner to unlock the keychain and allow visa-runtime-signer; do not retry on your own."},protected_card_enrollment_required:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Nothing was signed or paid. The owner must verify a payment card once for this account. Ask the owner to sign in at /agent/enroll and complete the Verify your card step, then retry the original command once."},financial_rollout_approval_required:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Nothing was signed or paid. The owner account is not approved for protected payments yet. Surface this to the owner; do not retry until they confirm access was granted."},key_purpose_mismatch:{kind:"platform",escalation:"awaiting_human",fix:"npm i -g @visa/cli@rc",nextAction:"The native signer refused to sign because this device key is bound to a different purpose (wallet, card, or identity) than the operation asked of it. Nothing was signed or sent. This is a Visa CLI defect or a CLI/signer version mismatch, not something a retry changes: ask the owner to update Visa CLI, then retry once. If it persists on the latest build, report it."},legacy_custody_profile_required:{kind:"platform",escalation:"awaiting_human",fix:"npm i -g @visa/cli@rc",nextAction:"The native signer refused to sign a wallet or card proof with an identity key. Nothing was signed or sent. This is a Visa CLI defect or a CLI/signer version mismatch: ask the owner to update Visa CLI, then retry once. If it persists on the latest build, report it."},identity_binding_mismatch:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The native signer refused because the request named a different agent or runtime than the device key is bound to. Nothing was signed or sent. Read get_status, then retry once with that agent's id; if it repeats, surface it to the owner rather than retrying."},proof_time_invalid:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The native signer refused a proof whose timestamp is outside its one-minute window, which means this machine's clock is wrong. Nothing was signed or sent. Ask the owner to sync the system clock, then retry once."},secret_service_locked_or_unavailable:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The Linux Secret Service (the desktop keyring) is locked or refused the native signer, so the device key could not be read. Ask the owner to unlock the login keyring; do not retry on your own."},secret_service_unavailable:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"No Linux Secret Service answered for the native signer, so the device key could not be read. Ask the owner to run it in a desktop session with an unlocked keyring (gnome-keyring or KWallet); do not retry on your own."},secret_service_timeout:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"The Linux Secret Service did not answer the native signer in time, usually because an unlock prompt is waiting. Ask the owner to answer or unlock the keyring, then retry once."},dpapi_locked_or_unavailable:{kind:"platform",escalation:"awaiting_human",fix:null,nextAction:"Windows data protection (DPAPI) refused to open the device key for the native signer, usually because this is a different Windows user or profile than the one that enrolled. Ask the owner to run Visa CLI as the enrolling user; do not retry on your own."},unspecified_error:{kind:"platform",escalation:"unclassified",fix:null,nextAction:"This failure could not be classified, so it is reported as platform to avoid a silent retry loop. Surface the human-readable error to a human rather than retrying."}},d2i=Object.keys(Jge);zc=class extends Error{diagnostic;details;constructor(t,r,n={}){super(t),this.name="AgentContractError",this.diagnostic=W0(r,n),this.details=n.details}get code(){return this.diagnostic.code}}});var rO=_(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.CANONICAL_OPAQUE_ID_MAX_BYTES=Gc.CANONICAL_OPAQUE_ID_RE=Gc.CANONICAL_OPAQUE_ID_PATTERN=void 0;Gc.utf8ByteLength=Zge;Gc.isCanonicalText=kEr;Gc.compareCanonicalKeys=DEr;Gc.isCanonicalOpaqueId=SJe;Gc.assertCanonicalOpaqueId=LEr;Gc.CANONICAL_OPAQUE_ID_PATTERN="^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$";Gc.CANONICAL_OPAQUE_ID_RE=new RegExp(Gc.CANONICAL_OPAQUE_ID_PATTERN);Gc.CANONICAL_OPAQUE_ID_MAX_BYTES=128;var MEr=/[\u0000-\u001f\u007f\u2028\u2029]/,Xge=new TextEncoder;function Zge(e){return Xge.encode(e).length}function kEr(e,t){return typeof e=="string"&&e.length>0&&Zge(e)<=t&&e.trim()===e&&e.normalize("NFC")===e&&!MEr.test(e)}function DEr(e,t){let r=Xge.encode(e),n=Xge.encode(t),i=Math.min(r.length,n.length);for(let o=0;o<i;o+=1)if(r[o]!==n[o])return r[o]-n[o];return r.length-n.length}function SJe(e){return typeof e=="string"&&Zge(e)<=Gc.CANONICAL_OPAQUE_ID_MAX_BYTES&&Gc.CANONICAL_OPAQUE_ID_RE.test(e)}function LEr(e,t="value"){if(!SJe(e))throw new Error(`${t} must be a canonical opaque id (max 128 ASCII bytes)`)}});var J_=_(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});oh.AgentOperationContractError=oh.AGENT_OPERATION_CONTRACT_ERROR_CODES=void 0;oh.record=TJe;oh.bounded=AJe;oh.canonicalJsonValue=wJe;oh.canonicalJson=UEr;oh.canonicalEnvelopeJson=BEr;var vJe=rO();oh.AGENT_OPERATION_CONTRACT_ERROR_CODES=["commitment_mismatch","intent_mismatch","invalid_amount","invalid_contract","invalid_currency","invalid_effect","invalid_evidence","invalid_principal","invalid_window","settlement_amount_invalid","unsupported_version"];var Y_=class extends Error{code;constructor(t,r){super(r),this.code=t,this.name="AgentOperationContractError"}};oh.AgentOperationContractError=Y_;function TJe(e,t){if(typeof e!="object"||e===null||Array.isArray(e))throw new Y_("invalid_contract",`${t} must be an object`);return e}function AJe(e,t,r=4096){if(!(0,vJe.isCanonicalText)(e,r))throw new Y_("invalid_contract",`${t} is not bounded canonical text`);return e}function wJe(e,t=0){return aK(e,t,16)}function aK(e,t,r){if(t>r)throw new Y_("invalid_contract","payload nesting is too deep");if(e===null||typeof e=="string"||typeof e=="boolean"||typeof e=="number"&&Number.isSafeInteger(e)&&!Object.is(e,-0))return e;if(typeof e=="number")throw new Y_("invalid_contract","JSON numbers must be safe canonical integers; use strings for larger or decimal values");if(Array.isArray(e)){if(e.length>1024)throw new Y_("invalid_contract","payload array is too large");return e.map(o=>aK(o,t+1,r))}let n=TJe(e,"payload"),i=Object.entries(n);if(i.length>512)throw new Y_("invalid_contract","payload object is too large");return Object.fromEntries(i.sort(([o],[s])=>(0,vJe.compareCanonicalKeys)(o,s)).map(([o,s])=>[AJe(o,"payload key",128),aK(s,t+1,r)]))}function UEr(e){return JSON.stringify(wJe(e))}function BEr(e){return JSON.stringify(aK(e,0,64))}});var X_=_(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.AGENT_OPERATION_TRANSITION_SQL_PREDICATE=Et.AGENT_OPERATION_TERMINAL_SQL_LIST=Et.AGENT_OPERATION_RESUMABLE_SQL_LIST=Et.AGENT_OPERATION_TERMINAL_STATES=Et.AGENT_OPERATION_EVIDENCE_ELIGIBLE_STATES=Et.AGENT_OPERATION_RESUMABLE_STATES=Et.AGENT_OPERATION_ALLOWED_TRANSITIONS=Et.AGENT_OPERATION_STATES=Et.EXECUTOR_BINDING_VERSION=Et.EXECUTION_EVIDENCE_VERSION=Et.AGENT_OPERATION_RESULT_VERSION=Et.AGENT_OPERATION_VERSION=Et.canonicalJsonValue=Et.canonicalJson=Et.AgentOperationContractError=Et.AGENT_OPERATION_CONTRACT_ERROR_CODES=Et.canonicalEnvelopeJson=void 0;Et.isAgentOperationTransitionAllowed=FEr;Et.agentOperationIntentPreimage=$Er;Et.parseAgentMoneyEconomics=xJe;Et.parseAgentOperationStructure=OJe;Et.parseExecutionEvidence=KEr;Et.parsePreparedAgentOperationStructure=WEr;Et.agentOperationPopSigningInput=YEr;var yt=J_(),zk=J_();Object.defineProperty(Et,"canonicalEnvelopeJson",{enumerable:!0,get:function(){return zk.canonicalEnvelopeJson}});Object.defineProperty(Et,"AGENT_OPERATION_CONTRACT_ERROR_CODES",{enumerable:!0,get:function(){return zk.AGENT_OPERATION_CONTRACT_ERROR_CODES}});Object.defineProperty(Et,"AgentOperationContractError",{enumerable:!0,get:function(){return zk.AgentOperationContractError}});Object.defineProperty(Et,"canonicalJson",{enumerable:!0,get:function(){return zk.canonicalJson}});Object.defineProperty(Et,"canonicalJsonValue",{enumerable:!0,get:function(){return zk.canonicalJsonValue}});Et.AGENT_OPERATION_VERSION=1;Et.AGENT_OPERATION_RESULT_VERSION=1;Et.EXECUTION_EVIDENCE_VERSION=1;Et.EXECUTOR_BINDING_VERSION=1;var jEr=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,qEr=/^[A-Za-z0-9_-]{43}$/,HEr=/^[a-z][a-z0-9]*(?:[._:-][a-z0-9]+)*$/,VEr=/^[A-Z][A-Z0-9]{2,11}$/,PJe=96*1024,Qge=9223372036854775807n;Et.AGENT_OPERATION_STATES=["claimed","reserved","dispatched","authorized","settling","committed","released","indeterminate","denied"];Et.AGENT_OPERATION_ALLOWED_TRANSITIONS={claimed:["reserved","denied"],reserved:["dispatched","released","indeterminate","settling"],dispatched:["authorized","released","indeterminate","settling"],authorized:["settling","indeterminate"],settling:["committed","released","indeterminate"],committed:[],released:[],indeterminate:["settling"],denied:[]};Et.AGENT_OPERATION_RESUMABLE_STATES=["claimed","reserved","dispatched"];Et.AGENT_OPERATION_EVIDENCE_ELIGIBLE_STATES=["reserved","dispatched","authorized","indeterminate"];Et.AGENT_OPERATION_TERMINAL_STATES=["committed","released","denied"];function FEr(e,t){return e===t||Et.AGENT_OPERATION_ALLOWED_TRANSITIONS[e].includes(t)}function e1e(e){return e.map(t=>`'${t}'`).join(", ")}Et.AGENT_OPERATION_RESUMABLE_SQL_LIST=e1e(Et.AGENT_OPERATION_RESUMABLE_STATES);Et.AGENT_OPERATION_TERMINAL_SQL_LIST=e1e(Et.AGENT_OPERATION_TERMINAL_STATES);Et.AGENT_OPERATION_TRANSITION_SQL_PREDICATE=["NEW.state = OLD.state",...Et.AGENT_OPERATION_STATES.filter(e=>Et.AGENT_OPERATION_ALLOWED_TRANSITIONS[e].length>0).map(e=>`(OLD.state = '${e}' AND NEW.state IN (${e1e(Et.AGENT_OPERATION_ALLOWED_TRANSITIONS[e])}))`)].join(`
5
- OR `);function ff(e,t,r=[]){let n=new Set([...t,...r]);if(t.some(i=>!(i in e))||Object.keys(e).some(i=>!n.has(i)))throw new yt.AgentOperationContractError("invalid_contract","contract contains missing or unknown fields")}function nO(e,t){let r=(0,yt.bounded)(e,t,36).toLowerCase();if(!jEr.test(r))throw new yt.AgentOperationContractError("invalid_contract",`${t} must be a UUID`);return r}function Y0(e,t){let r=(0,yt.bounded)(e,t,43);if(!qEr.test(r)||!/[AEIMQUYcgkosw048]$/.test(r))throw new yt.AgentOperationContractError("invalid_contract",`${t} must be a canonical 32-byte hash`);return r}function cK(e,t){let r=(0,yt.bounded)(e,t,128);if(!HEr.test(r))throw new yt.AgentOperationContractError("invalid_contract",`${t} must be a stable lowercase token`);return r}function IJe(e,t){let r=(0,yt.bounded)(e,t,32),n=Date.parse(r);if(!Number.isFinite(n)||new Date(n).toISOString()!==r)throw new yt.AgentOperationContractError("invalid_contract",`${t} must be canonical ISO-8601`);return r}function $Er(e){let t={domain:"visa.agent-operation-intent.v1",operationId:e.operationId,idempotencyKey:e.idempotencyKey,agentId:e.agentId,runtimeId:e.runtimeId,rail:e.rail,effect:e.effect,execution:{adapter:e.execution.adapter,commitment:e.execution.commitment,payloadHash:e.execution.payloadHash},createdAt:e.createdAt,expiresAt:e.expiresAt};return(0,yt.canonicalJson)(t)}function zEr(e){let t=(0,yt.record)(e,"principal");if(t.kind==="identity_pop")return ff(t,["kind","popJwt","keyJkt"]),{kind:t.kind,popJwt:(0,yt.bounded)(t.popJwt,"popJwt",16384),keyJkt:Y0(t.keyJkt,"keyJkt")};if(t.kind==="certified_runtime_pop")return ff(t,["kind","popJwt","runtimeCertificate","rootJkt","childJkt"]),{kind:t.kind,popJwt:(0,yt.bounded)(t.popJwt,"popJwt",16384),runtimeCertificate:(0,yt.bounded)(t.runtimeCertificate,"runtimeCertificate",32768),rootJkt:Y0(t.rootJkt,"rootJkt"),childJkt:Y0(t.childJkt,"childJkt")};if(t.kind==="delegated_runtime_lease_pop"){if(ff(t,["kind","v","popJwt","delegation","lease","rootJkt","runtimeJkt"]),t.v!==2)throw new yt.AgentOperationContractError("invalid_principal","delegated runtime lease principal must use version 2");return{kind:t.kind,v:t.v,popJwt:(0,yt.bounded)(t.popJwt,"popJwt",16384),delegation:(0,yt.bounded)(t.delegation,"delegation",32768),lease:(0,yt.bounded)(t.lease,"lease",32768),rootJkt:Y0(t.rootJkt,"rootJkt"),runtimeJkt:Y0(t.runtimeJkt,"runtimeJkt")}}if(t.kind==="tap_signature")return ff(t,["kind","signature","runtimeCertificate","signedPayload"]),{kind:t.kind,signature:(0,yt.bounded)(t.signature,"signature",2048),runtimeCertificate:(0,yt.bounded)(t.runtimeCertificate,"runtimeCertificate",32768),signedPayload:Y0(t.signedPayload,"signedPayload")};throw new yt.AgentOperationContractError("invalid_principal","unsupported principal proof kind")}function xJe(e){let t=(0,yt.record)(e,"money economics");ff(t,["amountMicros","currency","merchant"]);let r=(0,yt.bounded)(t.amountMicros,"amountMicros",40);if(!/^[1-9][0-9]*$/.test(r)||BigInt(r)>Qge)throw new yt.AgentOperationContractError("invalid_amount","amountMicros must be positive and canonical");let n=(0,yt.bounded)(t.currency,"currency",12);if(!VEr.test(n))throw new yt.AgentOperationContractError("invalid_currency","currency must be canonical");let i=(0,yt.record)(t.merchant,"merchant");return ff(i,["id"],["name","url"]),{amountMicros:r,currency:n,merchant:{id:(0,yt.bounded)(i.id,"merchant.id",512),...i.name===void 0?{}:{name:(0,yt.bounded)(i.name,"merchant.name",255)},...i.url===void 0?{}:{url:(0,yt.bounded)(i.url,"merchant.url",2048)}}}}function GEr(e){let t=(0,yt.record)(e,"effect");if(t.kind==="money"){ff(t,["kind","amountMicros","currency","merchant","grantId","budgetEpochId"],["maxAmountMicros"]);let r=xJe({amountMicros:t.amountMicros,currency:t.currency,merchant:t.merchant}),n;if(t.maxAmountMicros!==void 0&&(n=(0,yt.bounded)(t.maxAmountMicros,"maxAmountMicros",40),!/^[1-9][0-9]*$/.test(n)||BigInt(n)>Qge))throw new yt.AgentOperationContractError("invalid_amount","maxAmountMicros must be positive and canonical");return{kind:t.kind,...r,grantId:nO(t.grantId,"grantId"),budgetEpochId:nO(t.budgetEpochId,"budgetEpochId"),...n===void 0?{}:{maxAmountMicros:n}}}if(t.kind==="resource")return ff(t,["kind","resource","action","audience"]),{kind:t.kind,resource:(0,yt.bounded)(t.resource,"resource",4096),action:cK(t.action,"action"),audience:(0,yt.bounded)(t.audience,"audience",255)};throw new yt.AgentOperationContractError("invalid_effect","unsupported operation effect")}function OJe(e,t=Date.now()){let r=(0,yt.record)(e,"operation");if(ff(r,["v","operationId","idempotencyKey","agentId","runtimeId","rail","intentHash","principal","effect","execution","createdAt","expiresAt"]),r.v!==Et.AGENT_OPERATION_VERSION)throw new yt.AgentOperationContractError("unsupported_version","unsupported operation version");let n=(0,yt.record)(r.execution,"execution");ff(n,["adapter","commitment","payloadHash","payload"]);let i=(0,yt.canonicalJsonValue)(n.payload);if(new TextEncoder().encode(JSON.stringify(i)).length>PJe)throw new yt.AgentOperationContractError("invalid_contract","execution payload is too large");let o=Y0(n.commitment,"execution.commitment"),s=Y0(n.payloadHash,"execution.payloadHash"),a=IJe(r.createdAt,"createdAt"),c=IJe(r.expiresAt,"expiresAt");if(!Number.isFinite(t)||Date.parse(a)>t+3e4||Date.parse(a)<t-5*6e4||Date.parse(c)<=t||Date.parse(c)<=Date.parse(a)||Date.parse(c)-Date.parse(a)>10*6e4)throw new yt.AgentOperationContractError("invalid_window","operation validity window is not currently usable");let u={v:Et.AGENT_OPERATION_VERSION,operationId:nO(r.operationId,"operationId"),idempotencyKey:(0,yt.bounded)(r.idempotencyKey,"idempotencyKey",255),agentId:nO(r.agentId,"agentId"),runtimeId:nO(r.runtimeId,"runtimeId"),rail:cK(r.rail,"rail"),intentHash:Y0(r.intentHash,"intentHash"),principal:zEr(r.principal),effect:GEr(r.effect),execution:{adapter:cK(n.adapter,"execution.adapter"),commitment:o,payloadHash:s,payload:i},createdAt:a,expiresAt:c};if(u.rail==="wallet:x402"&&u.effect.kind==="money"&&u.effect.merchant.url===void 0)throw new yt.AgentOperationContractError("invalid_contract","merchant.url is required for wallet:x402 operations");if(u.principal.kind==="tap_signature"&&u.principal.signedPayload!==u.intentHash)throw new yt.AgentOperationContractError("intent_mismatch","TAP signedPayload must equal the universal operation intentHash");return u}function KEr(e){let t=(0,yt.record)(e,"evidence");if(ff(t,["v","operationId","adapter","outcome","artifactHash","providerReference","proof"],["settledMicros"]),t.v!==Et.EXECUTION_EVIDENCE_VERSION||t.outcome!=="committed"&&t.outcome!=="released")throw new yt.AgentOperationContractError("invalid_evidence","unsupported evidence version or outcome");let r;if(t.settledMicros!==void 0){if(r=(0,yt.bounded)(t.settledMicros,"settledMicros",40),!/^(?:0|[1-9][0-9]*)$/.test(r)||BigInt(r)>Qge)throw new yt.AgentOperationContractError("invalid_evidence","settledMicros is not canonical");if(t.outcome==="released"&&r!=="0")throw new yt.AgentOperationContractError("settlement_amount_invalid","released evidence must settle zero")}let n=(0,yt.canonicalJsonValue)(t.proof);if(new TextEncoder().encode(JSON.stringify(n)).length>PJe)throw new yt.AgentOperationContractError("invalid_evidence","evidence proof is too large");return{v:Et.EXECUTION_EVIDENCE_VERSION,operationId:nO(t.operationId,"operationId"),adapter:cK(t.adapter,"adapter"),outcome:t.outcome,artifactHash:Y0(t.artifactHash,"artifactHash"),...r===void 0?{}:{settledMicros:r},providerReference:(0,yt.bounded)(t.providerReference,"providerReference",255),proof:n}}function WEr(e,t=Date.now()){let r=(0,yt.record)(e,"prepared operation");ff(r,["operationId","idempotencyKey","agentId","runtimeId","rail","intentHash","effect","execution","createdAt","expiresAt"]);let{v:n,principal:i,...o}=OJe({...r,v:1,principal:{kind:"identity_pop",popJwt:"unsigned",keyJkt:"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},t);return o}function YEr(e){let t=r=>btoa(String.fromCharCode(...new TextEncoder().encode(JSON.stringify(r)))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return`${t({alg:"EdDSA",kid:e.childJkt,typ:"visa-agent-pop+jwt"})}.${t({cnf:{jwk:{kty:e.childPublicJwk.kty,crv:e.childPublicJwk.crv,x:e.childPublicJwk.x}},nonce:e.operationId,aud:"visa-agent-operations:v1",iat:e.issuedAtSec,int:e.intentHash,...e.runtimeCertificate?{rkc:e.runtimeCertificate}:{}})}`}});var dK=_(uK=>{"use strict";Object.defineProperty(uK,"__esModule",{value:!0});uK.parsePurchaseTerms=RJe;uK.purchaseTermsPreimage=ZEr;var cn=J_(),JEr=X_();function iO(e,t){if(Object.keys(e).sort().join(",")!==[...t].sort().join(","))throw new cn.AgentOperationContractError("invalid_contract","purchase terms fields are not canonical")}function RJe(e){let t=(0,cn.record)(e,"purchase terms"),r=t.profile==="exact_card_checkout_v1";if(iO(t,["v","profile","alternatives",...r?["checkout","disclosureMode",...t.merchantCountryCode===void 0?[]:["merchantCountryCode"]]:[]]),t.v!==1||typeof t.profile!="string"||!["url_resource_v1","approved_x402_request_v1","exact_card_checkout_v1"].includes(String(t.profile)))throw new cn.AgentOperationContractError("unsupported_version","unsupported purchase terms profile");if(!Array.isArray(t.alternatives)||t.alternatives.length<1||t.alternatives.length>2)throw new cn.AgentOperationContractError("invalid_contract","purchase requires one or two exact rail alternatives");let n=t.profile==="approved_x402_request_v1";if(n&&t.alternatives.length!==1)throw new cn.AgentOperationContractError("invalid_contract","request-bound purchase requires one wallet alternative");let i=t.alternatives.map(o=>{let s=(0,cn.record)(o,"purchase alternative"),a=(0,JEr.parseAgentMoneyEconomics)(s.economics),c=(0,cn.bounded)(a.merchant.url,"purchase resource URL",2048),u;try{u=new URL(c)}catch{throw new cn.AgentOperationContractError("invalid_contract","purchase resource URL is invalid")}if(u.protocol!=="https:"||u.username||u.password||u.hash)throw new cn.AgentOperationContractError("invalid_contract","purchase requires an HTTPS resource without credentials or fragment");if(s.rail==="wallet:x402"){iO(s,["rail","economics","network","asset","payee",...n?["requestHash"]:[]]);let d=n?(0,cn.bounded)(s.requestHash,"request hash",43):void 0;if(d!==void 0&&!/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/.test(d))throw new cn.AgentOperationContractError("invalid_contract","invalid request hash");let l=(0,cn.bounded)(s.network,"network",64),p=(0,cn.bounded)(s.asset,"asset",128),f=(0,cn.bounded)(s.payee,"payee",42);if(!/^eip155:[1-9][0-9]{0,15}$/.test(l)||!new RegExp(`^${l}/erc20:0x[0-9a-f]{40}$`).test(p)||!/^0x[0-9a-f]{40}$/.test(f)||a.currency!=="USDC")throw new cn.AgentOperationContractError("invalid_contract","invalid exact wallet economic coordinates");return{rail:s.rail,economics:a,network:l,asset:p,payee:f,...d?{requestHash:d}:{}}}if(s.rail==="card:vic"&&!n){if(iO(s,["rail","economics","processorAction","captureMode"]),s.processorAction!=="charge_and_capture"||s.captureMode!=="exact"||a.currency!=="USD"||BigInt(a.amountMicros)%10000n!==0n)throw new cn.AgentOperationContractError("invalid_contract","purchase card profile requires exact whole-cent capture");return{rail:s.rail,economics:a,processorAction:"charge_and_capture",captureMode:"exact"}}throw new cn.AgentOperationContractError("invalid_contract","unsupported purchase rail")});if(new Set(i.map(o=>o.rail)).size!==i.length)throw new cn.AgentOperationContractError("invalid_contract","purchase rail alternatives must be unique");if(i.sort((o,s)=>o.rail<s.rail?-1:o.rail>s.rail?1:0),r){if(i.length!==1||i[0].rail!=="card:vic"||!i[0].economics.merchant.name)throw new cn.AgentOperationContractError("invalid_contract","exact checkout requires one card alternative");if(t.disclosureMode!=="private"&&t.disclosureMode!=="agent_history")throw new cn.AgentOperationContractError("invalid_contract","unsupported card disclosure mode");if(t.merchantCountryCode!==void 0&&(typeof t.merchantCountryCode!="string"||!/^[A-Z]{2}$/.test(t.merchantCountryCode)))throw new cn.AgentOperationContractError("invalid_contract","invalid merchant country");return{v:1,profile:"exact_card_checkout_v1",...t.merchantCountryCode===void 0?{}:{merchantCountryCode:t.merchantCountryCode},alternatives:i,checkout:XEr(t.checkout,i[0].economics.amountMicros),disclosureMode:t.disclosureMode}}return{v:1,profile:t.profile,alternatives:i}}function XEr(e,t){let r=(0,cn.record)(e,"checkout");iO(r,["id","revision","source","expiresAt","items","taxMicros","shippingMicros","discountMicros","fulfillment","customerHash"]);let n=()=>{throw new cn.AgentOperationContractError("invalid_contract","invalid exact card checkout")},i=l=>((typeof l!="string"||!/^(0|[1-9][0-9]{0,17})$/.test(l)||BigInt(l)%10000n!==0n)&&n(),l),o=l=>((typeof l!="string"||!/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/.test(l))&&n(),l);(r.source!=="runtime_observed"||typeof r.expiresAt!="string"||!Number.isFinite(Date.parse(r.expiresAt))||new Date(r.expiresAt).toISOString()!==r.expiresAt||!Array.isArray(r.items)||r.items.length<1||r.items.length>100)&&n();let s=r.items.map(l=>{let p=(0,cn.record)(l,"checkout item");return iO(p,["id","name","quantity","totalMicros"]),(!Number.isSafeInteger(p.quantity)||Number(p.quantity)<1||Number(p.quantity)>1e6)&&n(),{id:(0,cn.bounded)(p.id,"checkout item ID",256),name:(0,cn.bounded)(p.name,"checkout item name",512),quantity:p.quantity,totalMicros:i(p.totalMicros)}});new Set(s.map(l=>l.id)).size!==s.length&&n();let a=i(r.taxMicros),c=i(r.shippingMicros),u=i(r.discountMicros);s.reduce((l,p)=>l+BigInt(p.totalMicros),0n)+BigInt(a)+BigInt(c)-BigInt(u)!==BigInt(t)&&n();let d=(0,cn.record)(r.fulfillment,"checkout fulfillment");return iO(d,["method","detailsHash"]),{id:(0,cn.bounded)(r.id,"checkout ID",256),revision:(0,cn.bounded)(r.revision,"checkout revision",256),source:"runtime_observed",expiresAt:r.expiresAt,items:s,taxMicros:a,shippingMicros:c,discountMicros:u,fulfillment:{method:(0,cn.bounded)(d.method,"fulfillment method",256),detailsHash:o(d.detailsHash)},customerHash:o(r.customerHash)}}function ZEr(e){return(0,cn.canonicalJson)({domain:"visa.purchase-terms.v1",terms:RJe(e)})}});var t1e=_(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.ACCOUNT_OPERATION_EVIDENCE_TYPES=ic.ACCOUNT_OPERATION_PROOF_LEVELS=ic.ACCOUNT_OPERATION_OUTCOMES=ic.ACCOUNT_OPERATION_RECEIPT_SCHEMA_VERSION=void 0;ic.cardProofLevel=QEr;ic.cardStatusClaimsProcessorTruth=eSr;ic.parseAccountOperationReceipt=nSr;ic.ACCOUNT_OPERATION_RECEIPT_SCHEMA_VERSION=1;ic.ACCOUNT_OPERATION_OUTCOMES=["pending","completed","failed","uncertain","released","reversed","disputed"];ic.ACCOUNT_OPERATION_PROOF_LEVELS=["none","platform_observed","merchant_reported","owner_attested","processor_confirmed","network_verified","settled"];var NJe={sale_accepted:"merchant_reported",auth_held:"merchant_reported",capture_pending:"merchant_reported",captured:"processor_confirmed",voided:"processor_confirmed",refunded:"processor_confirmed",partially_refunded:"processor_confirmed",refund_pending:"processor_confirmed",chargeback_open:"processor_confirmed",chargeback_lost:"processor_confirmed",chargeback_won:"processor_confirmed",pending:"platform_observed",needs_reconciliation:"platform_observed"};function QEr(e,t){let r=NJe[e]??"platform_observed";return r==="processor_confirmed"&&!t?"merchant_reported":r}function eSr(e){return NJe[e]==="processor_confirmed"}ic.ACCOUNT_OPERATION_EVIDENCE_TYPES=["platform_activity","merchant_confirmation","card_lifecycle","onchain_transaction"];function PS(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Z_(e){return e===null||typeof e=="string"}function Gk(e){return typeof e=="string"&&e.length>0&&!Number.isNaN(Date.parse(e))}function xS(e,t){let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,o)=>i===n[o])}function tSr(e){return PS(e)?xS(e,["type","source","observedAt","reference","url"])&&typeof e.type=="string"&&ic.ACCOUNT_OPERATION_EVIDENCE_TYPES.includes(e.type)&&typeof e.source=="string"&&Gk(e.observedAt)&&Z_(e.reference)&&Z_(e.url):!1}function rSr(e){return PS(e)?xS(e,["type","at"])&&typeof e.type=="string"&&e.type.length>0&&Gk(e.at):!1}function nSr(e){if(!PS(e)||!xS(e,["schemaVersion","operationId","activityId","payment","route","party","authority","outcome","evidence","timeline","dataCompleteness"])||e.schemaVersion!==ic.ACCOUNT_OPERATION_RECEIPT_SCHEMA_VERSION||typeof e.operationId!="string"||typeof e.activityId!="string"||e.dataCompleteness!=="complete"&&e.dataCompleteness!=="partial"||!Array.isArray(e.evidence)||!e.evidence.every(tSr)||!Array.isArray(e.timeline)||!e.timeline.every(rSr))return null;let t=e.payment,r=e.route,n=e.party,i=e.authority,o=e.outcome;return!PS(t)||!xS(t,["amountAtomic","decimals","currency","merchant","description","createdAt"])||typeof t.amountAtomic!="string"||!/^\d+$/.test(t.amountAtomic)||typeof t.decimals!="number"||!Number.isInteger(t.decimals)||t.decimals<0||t.decimals>18||typeof t.currency!="string"||typeof t.merchant!="string"||typeof t.description!="string"||!Gk(t.createdAt)||!PS(r)||!xS(r,["rail","protocol","network","cardLast4"])||r.rail!=="wallet"&&r.rail!=="card"||!(r.protocol===null||r.protocol==="x402"||r.protocol==="mpp"||r.protocol==="vic"||r.protocol==="virtual_card")||!Z_(r.network)||!Z_(r.cardLast4)||!PS(n)||!xS(n,["agentId","agentName"])||!Z_(n.agentId)||!Z_(n.agentName)||!PS(i)||!xS(i,["grantId","mandateId","drawId"])||!Z_(i.grantId)||!Z_(i.mandateId)||!Z_(i.drawId)||!PS(o)||!xS(o,["status","proofLevel","final","updatedAt","finalizesBy"])||typeof o.status!="string"||!ic.ACCOUNT_OPERATION_OUTCOMES.includes(o.status)||typeof o.proofLevel!="string"||!ic.ACCOUNT_OPERATION_PROOF_LEVELS.includes(o.proofLevel)||typeof o.final!="boolean"||!Gk(o.updatedAt)||!(o.finalizesBy===null||Gk(o.finalizesBy))?null:e}});var kJe=_(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.PURCHASE_RESOURCE_AUDIENCE=ip.PURCHASE_OBSERVATIONS=void 0;ip.parsePurchaseReceipt=sSr;ip.parsePurchaseResourceRequest=MJe;ip.purchaseResourceRequestHash=aSr;var iSr=require("node:crypto"),J0=J_(),oSr=dK(),CJe=t1e();ip.PURCHASE_OBSERVATIONS=["credential_delivered","submission_started","buyer_action_required","order_reported","submission_failed"];function sSr(e,t){let r=(0,J0.record)(e,"purchase receipt"),n=(0,J0.record)(r.outcome,"purchase outcome");if(!t||r.operationId!==t||typeof r.credentialIssued!="boolean"||!CJe.ACCOUNT_OPERATION_OUTCOMES.includes(n.status)||!CJe.ACCOUNT_OPERATION_PROOF_LEVELS.includes(n.proofLevel)||typeof n.final!="boolean"||!Array.isArray(r.observations)||r.observations.length>ip.PURCHASE_OBSERVATIONS.length||r.observations.some(o=>!ip.PURCHASE_OBSERVATIONS.includes(o))||new Set(r.observations).size!==r.observations.length)throw new J0.AgentOperationContractError("invalid_contract","invalid purchase receipt");let i=r.refusal===void 0?void 0:(0,J0.record)(r.refusal,"refusal");if(i!==void 0&&(!Number.isSafeInteger(i.providerStatus)||Number(i.providerStatus)<100||Number(i.providerStatus)>999||typeof i.providerCode!="string"||!/^[a-z0-9_]{1,64}$/.test(i.providerCode)||n.status!=="failed"||n.final!==!0||r.credentialIssued!==!1))throw new J0.AgentOperationContractError("invalid_contract","invalid purchase refusal");return{operationId:t,credentialIssued:r.credentialIssued,outcome:{status:n.status,proofLevel:n.proofLevel,final:n.final},observations:r.observations,...i?{refusal:{providerStatus:Number(i.providerStatus),providerCode:i.providerCode}}:{}}}ip.PURCHASE_RESOURCE_AUDIENCE="visa:purchase-resource:v1";function MJe(e){let t=(0,J0.record)(e,"purchase request"),r=()=>{throw new J0.AgentOperationContractError("invalid_contract","invalid purchase request")};(t.v!==1||typeof t.action!="string"||!["create","retrieve","cancel"].includes(t.action))&&r();let n=["v","action","requestId","agentId","runtimeId",...t.action==="create"?["requestKey","terms"]:["purchaseId"],...t.action==="retrieve"&&t.include!==void 0?["include"]:[],...t.action==="retrieve"&&t.observation!==void 0?["observation"]:[]];Object.keys(t).sort().join(",")!==n.sort().join(",")&&r(),t.include!==void 0&&t.include!=="card"&&r();let i;if(t.observation!==void 0){t.include!==void 0&&r();let s=(0,J0.record)(t.observation,"purchase observation");(Object.keys(s).sort().join(",")!=="attemptId,kind,termsHash"||!ip.PURCHASE_OBSERVATIONS.includes(s.kind)||typeof s.attemptId!="string"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(s.attemptId)||typeof s.termsHash!="string"||!/^[A-Za-z0-9_-]{43}$/.test(s.termsHash))&&r(),i=s}for(let s of["requestId","agentId","runtimeId",...t.action==="create"?[]:["purchaseId"]])(typeof t[s]!="string"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(t[s]))&&r();let o={v:1,requestId:t.requestId,agentId:t.agentId,runtimeId:t.runtimeId};if(t.action==="create"){let s=(0,oSr.parsePurchaseTerms)(t.terms);return(s.profile!=="exact_card_checkout_v1"||s.alternatives.length!==1||s.alternatives[0].rail!=="card:vic")&&r(),{...o,action:"create",requestKey:(0,J0.bounded)(t.requestKey,"purchase request key",256),terms:s}}return{...o,action:t.action,purchaseId:t.purchaseId,...t.action==="retrieve"&&t.include==="card"?{include:"card"}:{},...i?{observation:i}:{}}}function aSr(e){return(0,iSr.createHash)("sha256").update((0,J0.canonicalJson)({domain:ip.PURCHASE_RESOURCE_AUDIENCE,request:MJe(e)})).digest("base64url")}});var o1e=_(wn=>{"use strict";var cSr=wn&&wn.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),r1e=wn&&wn.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&cSr(t,e,r)};Object.defineProperty(wn,"__esModule",{value:!0});wn.CARD_ADMISSION_RECOVERY_AUDIENCE=void 0;wn.cardAdmissionRecoveryRequestHash=uSr;wn.agentOperationIntentHash=n1e;wn.agentExecutionCommitment=i1e;wn.purchaseTermsHash=dSr;wn.purchaseAlternativeFromOperation=lSr;wn.x402ResourceCommitment=pSr;wn.agentOperationIdempotencyKey=LJe;wn.purchaseAttemptIdempotencyKey=fSr;wn.agentOperationTermsFingerprint=UJe;wn.legacyAgentOperationEnvelopeFingerprint=BJe;wn.persistedAgentOperationMatchesTerms=mSr;wn.artifactHash=hSr;wn.prepareAgentOperationV1=jJe;wn.finalizeAgentOperationV1=qJe;wn.createAgentOperationV1=_Sr;wn.parseHistoricalAgentOperation=ySr;wn.parseAgentOperation=Kk;var X0=require("node:crypto"),To=J_(),DJe=dK();r1e(dK(),wn);r1e(kJe(),wn);var lK=X_();r1e(X_(),wn);wn.CARD_ADMISSION_RECOVERY_AUDIENCE="visa:card-admission-recovery:v1";function uSr(e,t){return(0,X0.createHash)("sha256").update("visa:card-admission-recovery:v1\0","utf8").update((0,To.canonicalJson)({original:e,replacement:t}),"utf8").digest("base64url")}function n1e(e){return(0,X0.createHash)("sha256").update((0,lK.agentOperationIntentPreimage)(e)).digest("base64url")}function i1e(e){return(0,X0.createHash)("sha256").update((0,To.canonicalJson)(e)).digest("base64url")}function dSr(e){return(0,X0.createHash)("sha256").update((0,DJe.purchaseTermsPreimage)(e)).digest("base64url")}function lSr(e,t=Date.now()){let r=Kk(e,t);if(r.effect.kind!=="money")throw new To.AgentOperationContractError("invalid_effect","purchase requires financial economics");let{amountMicros:n,currency:i,merchant:o}=r.effect,s={amountMicros:n,currency:i,merchant:o},a=(0,To.record)(r.execution.payload,"purchase native payload"),c=r.rail==="wallet:x402"?["scheme","network","asset","payer","typedData","nonce","keyRef",...a.walletBinding===void 0?[]:["walletBinding"],...a.approvedRequest===void 0&&a.requestHash===void 0?[]:["approvedRequest","requestHash"]]:["mandateId","tokenId","processorIntentId","processorAction","captureMode"];if(Object.keys(a).sort().join(",")!==c.sort().join(","))throw new To.AgentOperationContractError("invalid_contract","purchase producer has unrepresented native fields");let u;if(r.rail==="wallet:x402"&&r.execution.adapter==="wallet.eip3009"){let d=(0,To.record)(a.typedData,"wallet typed data"),l=(0,To.record)(d.message,"wallet message");if(a.scheme!=="exact"||l.value!==n)throw new To.AgentOperationContractError("invalid_amount","wallet value differs from purchase amount");u={rail:r.rail,economics:s,network:a.network,asset:a.asset,payee:l.to,...a.approvedRequest===void 0&&a.requestHash===void 0?{}:{requestHash:a.requestHash}}}else if(r.rail==="card:vic"&&r.execution.adapter==="card.vic")u={rail:r.rail,economics:s,processorAction:a.processorAction,captureMode:a.captureMode};else throw new To.AgentOperationContractError("invalid_contract","unsupported purchase producer profile");if(a.requestHash!==void 0&&(0,X0.createHash)("sha256").update((0,To.canonicalJson)(a.approvedRequest)).digest("base64url")!==a.requestHash)throw new To.AgentOperationContractError("invalid_contract","purchase request hash mismatch");return(0,DJe.parsePurchaseTerms)({v:1,profile:a.requestHash===void 0?"url_resource_v1":"approved_x402_request_v1",alternatives:[u]}).alternatives[0]}function pSr(e){let t=(0,To.bounded)(e,"x402 resource",2048);return(0,X0.createHash)("sha256").update(`visa-x402-resource:v1:${t}`,"utf8").digest("base64url")}function LJe(e){return`economic:${(0,X0.createHash)("sha256").update((0,To.canonicalJson)({domain:"visa.agent-operation-idempotency.v1",agentId:e.agentId,economicIntentId:e.economicIntentId})).digest("base64url")}`}function fSr(e){let t=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;for(let r of["agentId","purchaseId","attemptId"])if(typeof e[r]!="string"||!t.test(e[r]))throw new To.AgentOperationContractError("invalid_contract",`${r} must be a canonical UUID`);if(typeof e.termsHash!="string"||!/^[A-Za-z0-9_-]{43}$/.test(e.termsHash)||Buffer.from(e.termsHash,"base64url").toString("base64url")!==e.termsHash)throw new To.AgentOperationContractError("invalid_contract","termsHash must be canonical SHA-256");return LJe({agentId:e.agentId,economicIntentId:`purchase:${e.purchaseId}:attempt:${e.attemptId}:terms:${e.termsHash}`})}function UJe(e){return(0,X0.createHash)("sha256").update((0,To.canonicalJson)({domain:"visa.agent-operation-terms.v1",operationId:e.operationId,idempotencyKey:e.idempotencyKey,agentId:e.agentId,runtimeId:e.runtimeId,rail:e.rail,effect:e.effect,execution:e.execution})).digest("base64url")}function BJe(e){return(0,X0.createHash)("sha256").update((0,To.canonicalJson)(e)).digest("base64url")}function mSr(e,t,r){return t===r?!0:UJe(e)!==r?!1:t===BJe(e)}function hSr(e){return(0,X0.createHash)("sha256").update((0,To.canonicalJson)(e)).digest("base64url")}var gSr={kind:"identity_pop",popJwt:"unsigned",keyJkt:Buffer.alloc(32).toString("base64url")};function jJe(e,t=Date.now()){let r={v:lK.AGENT_OPERATION_VERSION,...e,principal:gSr,intentHash:Buffer.alloc(32).toString("base64url"),execution:{...e.execution,payloadHash:i1e(e.execution.payload)}};r.intentHash=n1e(r);let n=Kk(r,t),{v:i,principal:o,...s}=n;return s}function qJe(e,t,r=Date.now()){return Kk({v:lK.AGENT_OPERATION_VERSION,...e,principal:t},r)}function _Sr(e,t=Date.now()){let{principal:r,...n}=e;return qJe(jJe(n,t),r,t)}function ySr(e){let t=(0,To.record)(e,"historical operation");if(typeof t.createdAt!="string")throw new To.AgentOperationContractError("invalid_window","historical operation creation time is missing");return Kk(e,Date.parse(t.createdAt))}function Kk(e,t=Date.now()){let r=(0,lK.parseAgentOperationStructure)(e,t);if(i1e(r.execution.payload)!==r.execution.payloadHash)throw new To.AgentOperationContractError("commitment_mismatch","execution payload does not match its commitment");if(n1e(r)!==r.intentHash)throw new To.AgentOperationContractError("intent_mismatch","intentHash does not bind the exact operation effect and execution commitment");return r}});var HJe,VJe=A(()=>{"use strict";HJe=ie(o1e())});var FJe,$Je=A(()=>{"use strict";W_();FJe=ie(o1e());VJe()});function GJe(e){return e?.code==="ENOENT"}function Z0(e){let t=JSON.parse(e),r=!1;function n(i){if(!(!i||typeof i!="object"))for(let[o,s]of Object.entries(i)){if(["networkToken","cryptogramValue","card","privateJwk","private_jwk","seed","secretKey","secret_key","privateKey","d"].includes(o))throw new Error("native_metadata_contains_private_material");if(o==="runtimeKey"&&s&&typeof s=="object"){let a=s;r||=a.v===1&&typeof a.handle=="string"&&/^[0-9a-f]{64}$/.test(a.handle)&&typeof a.binding=="object"}n(s)}}if(n(t),!r)throw new Error("native_metadata_record_required")}function KJe(e,t=process.platform){if(t!=="win32")return Fc(e);try{let r=fi.lstatSync(e);if(!r.isDirectory()||r.isSymbolicLink())throw new Error("native_metadata_directory_invalid");return!0}catch(r){if(GJe(r))return!1;throw r}}function s6(e,t=process.platform){return WJe(e,t,Z0)}function WJe(e,t,r){if(t!=="win32")return Ql(e);if(!KJe(OS.dirname(e),t))return null;let n;try{let i=fi.lstatSync(e);if(!i.isFile()||i.isSymbolicLink()||i.size>X4)throw new Error("native_metadata_file_invalid");n=fi.openSync(e,fi.constants.O_RDONLY|(fi.constants.O_NOFOLLOW??0));let o=fi.fstatSync(n);if(!o.isFile()||o.dev!==i.dev||o.ino!==i.ino)throw new Error("native_metadata_file_changed");let s=Buffer.alloc(X4+1),a=0;for(;a<s.length;){let u=fi.readSync(n,s,a,s.length-a,null);if(u===0)break;a+=u}if(a>X4)throw new Error("native_metadata_file_too_large");let c=new TextDecoder("utf-8",{fatal:!0}).decode(s.subarray(0,a));return r(c),c}catch(i){if(GJe(i))return null;throw i}finally{n!==void 0&&fi.closeSync(n)}}function Q_(e,t,r=process.platform){bSr(e,t,r,Z0)}function bSr(e,t,r,n){if(r!=="win32")return $c(e,t);if(n(t),Buffer.byteLength(t)>X4)throw new Error("native_metadata_file_too_large");if(!KJe(OS.dirname(e),r))throw new Error("native_metadata_directory_missing");let i=OS.join(OS.dirname(e),`.${OS.basename(e)}.${(0,zJe.randomUUID)()}.tmp`),o;try{if(o=fi.openSync(i,"wx",384),fi.writeFileSync(o,t,"utf8"),fi.fsyncSync(o),fi.closeSync(o),o=void 0,fi.renameSync(i,e),WJe(e,r,n)!==t)throw new Error("native_metadata_readback_failed")}finally{o!==void 0&&fi.closeSync(o),fi.rmSync(i,{force:!0})}}var fi,OS,zJe,Wk=A(()=>{"use strict";fi=ie(require("node:fs")),OS=ie(require("node:path")),zJe=require("node:crypto");$Je();$_()});var oO=_((x2i,ESr)=>{ESr.exports={name:"@visa/cli",version:"5.0.0-rc.362",description:"Visa CLI runtime for stable agent identity and separately authorized payment capabilities",bin:{"visa-cli":"./bin/visa-cli.js",visa:"./bin/visa-cli.js","visa-runtime-converge":"./dist/managed-runtime/resolve-and-update.mjs"},scripts:{"sync:server-json":"node scripts/sync-server-json.mjs","check:server-json":"node scripts/sync-server-json.mjs --check",prebuild:"node scripts/sync-server-json.mjs && pnpm --filter @visa/shared build && pnpm --filter @visa/observability build && pnpm --filter @visa/money build && pnpm --filter @visa/crypto build && pnpm --filter @visa-cli/tools build && pnpm --filter @visa/identity build && pnpm --filter @visa/wallet build && pnpm --filter @visa/agent-mail build && pnpm --filter @visa/wallet-tools build",build:"tsc --noEmit && node esbuild.config.js",prepack:"node scripts/sync-server-json.mjs --check",dev:"tsc --watch",pretest:"pnpm build",start:"node dist/mcp-server/index.js",test:"jest --config jest.config.js","test:unit":"jest --config jest.config.js","test:unit:watch":"jest --config jest.config.js --watch","test:unit:coverage":"jest --config jest.config.js --coverage","test:smoke":"VISA_AUTH_URL=https://auth.visacli.sh jest --config jest.smoke.config.js","test:packed":"node scripts/packed-cli-smoke.mjs","test:integration":"jest --config jest.integration.config.js","test:e2e":"jest --config jest.e2e.config.js","coinbase:onramp":"pnpm exec tsx tests/e2e/coinbase-onramp-harness/run.ts","test:all":"npm run test:unit && npm run test:integration && npm run test:e2e",prepublishOnly:"npm run build && npm test",lint:"eslint src/**/*.ts",format:'prettier --write "src/**/*.ts"',"format:check":'prettier --check "src/**/*.ts"'},keywords:["visa","checkout","mcp","ai-agent","payments","click-to-pay","usdc","stablecoin"],author:"Visa Crypto Labs",license:"SEE LICENSE IN LICENSE",dependencies:{"@modelcontextprotocol/ext-apps":"1.7.5","@modelcontextprotocol/server":"2.0.0","@ucp-js/sdk":"0.4.4",commander:"^12.1.0",punycode:"^2.3.1",toml:"^4.3.0",yaml:"^2.9.0",zod:"^3.25.76"},devDependencies:{"@types/express":"^5.0.0","@types/jest":"^30.0.0","@types/node":"^26.1.0","@typescript-eslint/eslint-plugin":"^8.68.0","@typescript-eslint/parser":"^8.68.0","@visa-cli/tools":"workspace:*","@visa/agent-mail":"workspace:*","@visa/crypto":"workspace:*","@visa/identity":"workspace:*","@visa/money":"workspace:*","@visa/observability":"workspace:*","@visa/shared":"workspace:*","@visa/wallet":"workspace:*","@visa/wallet-tools":"workspace:*",esbuild:"^0.28.1",eslint:"^10.0.2",express:"^4.21.0",jest:"^29.7.0",prettier:"^3.9.6","ts-jest":"^29.4.12",typescript:"^5.7.0"},engines:{node:">=20.0.0"},mcpName:"io.github.visa-crypto-labs/visa-cli",files:["bin/visa-cli.js","dist/","install.ps1","install.sh","native/visa-keychain.m","native/visa-keychain-win.cpp","native/build-win.bat","native/bin/win32-x64/visa-keychain-win.exe","server.json","README.md","native/bin/*/visa-runtime-signer*"]}});async function qXe(e,t){let r=t?.timeoutMs??3e4,n=new AbortController,i=setTimeout(()=>n.abort(),r);try{let{timeoutMs:o,...s}=t??{};return await fetch(e,{...s,signal:n.signal})}finally{clearTimeout(i)}}var HXe=A(()=>{"use strict"});function Tvr(){return Object.fromEntries(Svr.map(e=>[e,vvr]))}function y1e(e){if(!e||typeof e!="object")return null;let t=e,n=(t.cause&&typeof t.cause=="object"?t.cause.code:void 0)??(typeof t.code=="string"?t.code:void 0);return typeof n=="string"&&n.length>0?n:null}function b1e(e){let t=e&&typeof e=="object"?e:{};if(t.name==="AbortError"||typeof t.message=="string"&&t.message.includes("aborted"))return"The request timed out. The server may be under heavy load. Please try again.";let r=y1e(e);return r&&VXe[r]?VXe[r]:`Network error contacting the Visa CLI server (${r?`${r}: ${typeof t.message=="string"?t.message:"unknown"}`:typeof t.message=="string"&&t.message.length>0?t.message:"unknown error"}). Check https://visacli.sh for status.`}var Svr,vvr,VXe,E1e=A(()=>{"use strict";Svr=["UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","CERT_UNTRUSTED"],vvr="This machine does not trust the certificate offered for the Visa CLI server, so the request never left it. The server is not down, and neither retrying nor signing in again can help. A network that inspects TLS traffic does this: point Node at its root certificate with NODE_EXTRA_CA_CERTS=/path/to/root.pem, or use a network that does not inspect. Do not disable certificate verification.";VXe={ENOTFOUND:"Cannot resolve the Visa CLI server hostname (DNS error). Check your internet connection or the auth.serverUrl setting.",EAI_AGAIN:"DNS lookup for the Visa CLI server failed temporarily. Check your internet connection and try again.",ECONNREFUSED:"The Visa CLI server refused the connection. The service may be down \u2014 check https://visacli.sh for status.",ECONNRESET:"The connection to the Visa CLI server was reset mid-request. Try again in a moment.",EHOSTUNREACH:"The Visa CLI server is unreachable from this network. Check your internet connection.",ETIMEDOUT:"The connection to the Visa CLI server timed out. Try again or check https://visacli.sh for status.",CERT_HAS_EXPIRED:"The Visa CLI server's TLS certificate is expired. Check https://visacli.sh for status; do not bypass the cert.",...Tvr(),ERR_TLS_CERT_ALTNAME_INVALID:"The certificate offered for the Visa CLI server is for a different hostname. Check the auth.serverUrl setting. Do not disable certificate verification.",UND_ERR_CONNECT_TIMEOUT:"The connection to the Visa CLI server timed out before it could be established. Try again in a moment.",UND_ERR_SOCKET:"The connection to the Visa CLI server was interrupted. Try again in a moment."}});function FXe(){return`Run ${Avr} or call ${wvr}, open the printed URL, enter the code at ${Ivr}, approve the device and its limits, then pay with the pay tool. Do not retry the retired command; nothing was signed, paired, or paid.`}var Avr,wvr,Ivr,J2i,X2i,Z2i,$Xe=A(()=>{"use strict";Avr="visa connect",wvr="agent_enroll",Ivr="/agent/enroll/protected-agent",J2i=Object.freeze(["setup_start","setup_status","setup_resume","setup_cancel","setup_agent","enroll_agent","agent_pairing_cancel","agent_handoff_claim","agent_connect","agent_connect_cancel","agent_connect_poll"]),X2i=Object.freeze(["create","verify","enroll-claim","pair","claim","pairing-resume","cancel","handoff-claim","connect","grant-wallet","grant-card","grant-activate","grant-claim","grants","grant-cancel","grant-batch"]),Z2i=Object.freeze(["setup","agent","wallet","find","inspect","receipt","connections","keys","security","checkout","mandate","logout","capabilities","feedback","status","pay","purchase","limits","fund","activity"])});var RK,S1e,zXe,OK,GXe=A(()=>{"use strict";RK=ie(require("fs")),S1e=ie(require("path")),zXe=ie(require("os")),OK=class{static ensureConfigDir(){let t=this.getConfigDir();RK.existsSync(t)||RK.mkdirSync(t,{recursive:!0,mode:448})}static getConfigDir(){let t=process.env.VISA_CLI_HOME;return typeof t=="string"&&t.trim().length>0?S1e.join(t,".visa-mcp"):S1e.join(zXe.homedir(),".visa-mcp")}}});function KXe(e){let t=YXe.homedir();return t&&e.startsWith(t)?`~${e.slice(t.length)}`:e}function Ovr(){return JXe.join(OK.getConfigDir(),Pvr)}function XXe(e){if((0,v1e.isIP)(e)!==4)return!1;let[t]=e.split(".").map(Number);return t===127}function Rvr(e){let t=e.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i);if(!t)return!1;let r=Number.parseInt(t[1],16),n=Number.parseInt(t[2],16);if(!Number.isFinite(r)||!Number.isFinite(n))return!1;let i=[r>>8&255,r&255,n>>8&255,n&255].join(".");return XXe(i)}function Nvr(e){let t=e.toLowerCase().replace(/^\[(.*)\]$/,"$1");if(t==="localhost")return!0;let r=(0,v1e.isIP)(t);return r===4?XXe(t):r===6?t==="::1"||Rvr(t):!1}function WXe(e,t="auth.serverUrl"){let r;try{r=new URL(e)}catch{throw new Error(`${t} must be a valid URL (got: ${JSON.stringify(e)})`)}if(r.username||r.password)throw new Error(`${t} must not include username or password credentials`);if(r.protocol!=="https:"&&!(r.protocol==="http:"&&Nvr(r.hostname)))throw new Error(`${t} ${xvr}`)}function ZXe(){let e=Ovr();if(!cO.existsSync(e))return{};try{let t=cO.readFileSync(e,"utf-8"),r=JSON.parse(t);return!r||typeof r!="object"||Array.isArray(r)?(Un.warn("settings:corrupt",{path:KXe(e),reason:"not_object"}),{}):r}catch(t){return Un.warn("settings:corrupt",{path:KXe(e),error:t?.message||String(t)}),{}}}function T1e(e){let t=ZXe()[e];return typeof t=="string"?t:void 0}function Cvr(e){let t=ZXe()[e];return typeof t=="boolean"?t:void 0}function kvr(e){return typeof e=="string"&&/-(?:rc|alpha|beta)\./i.test(e)}function Dvr(){try{let e=oO();return kvr(e.version)}catch{return!1}}function Lvr(e){return e.envVar!==void 0&&e.envVar!==""?(WXe(e.envVar,"VISA_AUTH_URL"),e.envVar):e.settingValue!==void 0?(WXe(e.settingValue,"auth.serverUrl"),e.settingValue):e.isPrerelease?A1e:Mvr}function u6(){return Lvr({envVar:process.env.VISA_AUTH_URL,settingValue:T1e("auth.serverUrl"),isPrerelease:Dvr()})}function QXe(e=process.env){let t=[e.VISA_SUPPRESS_BROWSER,e.VISA_CLI_NO_BROWSER,e.CHECKOUT_SKIP_BROWSER_OPEN];return t.some(r=>r==="true"||r==="1")?!0:t.some(r=>r!==void 0)?!1:Cvr("ui.suppressBrowser")??!1}var cO,v1e,YXe,JXe,Pvr,xvr,Mvr,A1e,d6=A(()=>{"use strict";cO=ie(require("fs")),v1e=require("node:net"),YXe=ie(require("os")),JXe=ie(require("path"));GXe();ep();Pvr="settings.json",xvr="must use https unless it points at localhost/loopback for local development";Mvr="https://auth.visacli.sh",A1e="https://auth-visa-code-preview.up.railway.app"});function NK(e){return w1e(e)!==null}function I1e(e,t){let r=w1e(e),n=w1e(t);if(!r||!n)return!1;for(let i=0;i<3;i++)if(r.main[i]!==n.main[i])return r.main[i]>n.main[i];return r.pre&&!n.pre?!1:!r.pre&&n.pre?!0:!r.pre&&!n.pre?!1:Bvr(r.pre,n.pre)>0}function w1e(e){if(typeof e!="string")return null;let r=e.trim().replace(/^v/,"").match(Uvr);return r?{main:[Number(r[1]),Number(r[2]),Number(r[3])],pre:r[4]??null}:null}function Bvr(e,t){let r=e.split("."),n=t.split("."),i=Math.max(r.length,n.length);for(let o=0;o<i;o++){if(o>=r.length)return-1;if(o>=n.length)return 1;let s=r[o],a=n[o],c=/^\d+$/.test(s),u=/^\d+$/.test(a);if(c&&u){let d=Number(s)-Number(a);if(d!==0)return d}else{if(c)return-1;if(u)return 1;if(s<a)return-1;if(s>a)return 1}}return 0}var Uvr,CK=A(()=>{"use strict";Uvr=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/});function tZe(e){let t=e||u6();return process.env.VISA_ENVIRONMENT==="staging"||t.includes("staging")||t.includes("up.railway.app")||t.includes("preview")?"staging":process.env.VISA_ENVIRONMENT==="production"||t.includes("auth.visacli.sh")?"production":"development"}var eZe,MK,P1e=A(()=>{"use strict";d6();CK();eZe="4.1.0-rc.70",MK=class extends Error{code="update_required";errorCode="update_required";runningVersion;minCompatibleVersion;updateCommand;constructor(t,r,n){let i=`CLI/MCP update required${n?` for ${n}`:""}: running v${t}, minimum compatible version is v${r}. Run: npm install -g @visa/cli@rc`;super(i),this.name="UpdateRequiredError",this.runningVersion=t,this.minCompatibleVersion=r,this.updateCommand="npm install -g @visa/cli@rc"}toJSON(){return{success:!1,error_code:this.errorCode,error:this.message,runningVersion:this.runningVersion,minCompatibleVersion:this.minCompatibleVersion,updateCommand:this.updateCommand}}}});function uO(){return!!(rZe(process.env.VISA_CLI_NO_UPDATE_CHECK)||rZe(process.env.CI)||process.env.NODE_ENV==="test")}function rZe(e){if(e===void 0)return!1;let t=e.trim().toLowerCase();return!(t===""||t==="0"||t==="false"||t==="no"||t==="off")}var kK=A(()=>{"use strict"});function jvr(){return O1e||(O1e=`ms_${(0,iZe.randomUUID)().replace(/-/g,"")}`),O1e}function qvr(){return x1e?nZe?`${x1e}/${nZe}`.slice(0,96):x1e:null}function rD(){let e={"X-Visa-MCP-Session":jvr()},t=qvr();return t&&(e["X-Visa-MCP-Client"]=t),e}var iZe,x1e,nZe,O1e,DK=A(()=>{"use strict";iZe=require("node:crypto"),x1e=null,nZe=null,O1e=null});function oZe(e){if(!e||typeof e!="object"||Array.isArray(e))throw new Error("runtime service returned an invalid runtime");let t=e;if(typeof t.runtimeId!="string"||typeof t.agentId!="string"||!Hvr.has(String(t.kind))||typeof t.label!="string"||!Vvr.has(String(t.status))||typeof t.credentialAudience!="string"||typeof t.credentialPurpose!="string"||typeof t.createdAt!="string"||!(t.lastSeenAt===null||typeof t.lastSeenAt=="string")||!(t.revokedAt===null||typeof t.revokedAt=="string"))throw new Error("runtime service returned an invalid runtime");return t}function Gvr(e){if(e===null||!/^\d{1,4}$/.test(e))return 3;let t=Number(e);return Number.isSafeInteger(t)&&t>=1&&t<=3600?t:3}function Kvr(e,t){if(e===410&&(t?.code==="route_retired"||t?.error==="route_retired"))return new zc(typeof t?.message=="string"&&t.message.length>0?t.message:"This legacy agent setup route was removed.","legacy_door_removed",{nextAction:FXe(),details:{stage:"retired_door",...typeof t?.replacement=="string"?{replacement:t.replacement}:{}}});if(t?.error==="capability_attach_state_conflict"&&t?.attachId){let c=t.expiresAt?` (expires ${t.expiresAt})`:"",u=t.state?` in state '${t.state}'`:"";return new jd(`A pending capability-attach ceremony (${t.attachId}) is already${u}${c}. Cancel it in the Visa Console, or wait for it to expire.`,e,"capability_attach_state_conflict",void 0,!1)}if((t?.reason==="policy_step_up_required"||t?.error==="spend_policy_step_up_required")&&typeof t?.stepUp?.reviewUrl=="string")return new jd(`Owner confirmation required before this payment. Ask the owner to review and approve it at ${t.stepUp.reviewUrl} \u2014 approving shows them a one-time code. Retry the SAME payment passing that code as stepUpToken.`,e,typeof t?.error=="string"?t.error:void 0,"policy_step_up_required",!1);let r=typeof t?.error=="string"?t.error:void 0,n=typeof t?.reason=="string"?t.reason:void 0,i=typeof t?.retryable=="boolean"?t.retryable:void 0,o=typeof t?.message=="string"&&t.message||n||r||"";if(o)return new jd(o,e,r,n,i);let s=e>=500||e===408||e===425||e===429;return i??s?new jd(`Request failed (${e}). Try again.`,e,void 0,void 0,i):e===404?new jd(`Request failed (${e}) \u2014 not found; check the identifier or slug.`,e,void 0,void 0,i):new jd(`Request failed (${e}).`,e,void 0,void 0,i)}function sh(e){return typeof e=="string"?e.trim():""}function Yvr(e){let t=sh(e.error_code)||sh(e.error);return t?t==="SURFACE_DISABLED"||/(_disabled|_not_configured)$/.test(t):!1}function Jvr(e){let t=e&&typeof e=="object"?e:{},r=sh(t.error)||sh(t.message);if(!r)return Wvr;let n=sh(t.error_code),i=[["surface",sh(t.disabled_surface)],["flag",sh(t.flag)],["correlation_id",sh(t.correlation_id)]].filter(([,s])=>s).map(([s,a])=>`${s}=${a}`),o=i.length?` (${i.join(" ")})`:"";return n?`503 [${n}] ${r}${o}`:`503 ${r}${o}`}function Xvr(e=process.env,t=process.stdin.isTTY){let r=["Not logged in. No local Visa CLI session credentials were found."],n=e.VISA_CLI_API_KEY?.trim();return n&&($vr.test(n)?(r.push("VISA_CLI_API_KEY is set, but this operation requires an enrolled device session."),r.push("Use the Visa Key with X-Api-Key on the /v2/harness/* surface.")):r.push("VISA_CLI_API_KEY is set but has invalid format (expected vk_live_<...> or vk_test_<...>).")),r.push("Run `visa connect` to sign in and connect this device session."),t===!1&&r.push("Complete sign-in in a normal terminal with `visa connect`, then restart the MCP client."),r.join(`
6
- `)}function ry(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ey(e){return e===null||typeof e=="string"}function ty(e,t){let r=e[t];return typeof r=="string"&&r.length>0?r:void 0}function Zvr(e){if(!ry(e))throw new Error("account activity returned a malformed entry");let t=e.rail;if(t!=="card"&&t!=="x402")throw new Error("account activity entry is missing a valid rail label");let r=e.amountUsd,n={id:e.id,operationId:e.operationId,merchant:e.merchant,description:e.description,currency:e.currency,status:e.status,createdAt:e.createdAt};for(let[i,o]of Object.entries(n))if(typeof o!="string"||o.length===0)throw new Error(`account activity entry is missing ${i}`);if(typeof r!="number"||!Number.isFinite(r))throw new Error("account activity entry is missing a numeric amount");return{id:n.id,operationId:n.operationId,merchant:n.merchant,description:n.description,amountUsd:r,currency:n.currency,status:n.status,rail:t,createdAt:n.createdAt,...ty(e,"failurePhase")?{failurePhase:e.failurePhase}:{},...ty(e,"finalizesBy")?{finalizesBy:e.finalizesBy}:{},...ty(e,"agentId")?{agentId:e.agentId}:{},...ty(e,"agentName")?{agentName:e.agentName}:{},...ty(e,"grantId")?{grantId:e.grantId}:{},...ty(e,"mandateId")?{mandateId:e.mandateId}:{},...ty(e,"drawId")?{drawId:e.drawId}:{},...ty(e,"transactionHash")?{transactionHash:e.transactionHash}:{},...ty(e,"transactionNetwork")?{transactionNetwork:e.transactionNetwork}:{}}}function Qvr(e){if(!ry(e))return null;let{payment:t,route:r,party:n,authority:i,outcome:o}=e;return e.schemaVersion!==1||typeof e.operationId!="string"||typeof e.activityId!="string"||!ry(t)||typeof t.amountAtomic!="string"||typeof t.decimals!="number"||!Number.isSafeInteger(t.decimals)||t.decimals<0||typeof t.currency!="string"||typeof t.merchant!="string"||typeof t.description!="string"||typeof t.createdAt!="string"||!ry(r)||r.rail!=="wallet"&&r.rail!=="card"||!ey(r.protocol)||!ey(r.network)||!ey(r.cardLast4)||!ry(n)||!ey(n.agentId)||!ey(n.agentName)||!ry(i)||!ey(i.grantId)||!ey(i.mandateId)||!ey(i.drawId)||!ry(o)||typeof o.status!="string"||typeof o.proofLevel!="string"||typeof o.final!="boolean"||typeof o.updatedAt!="string"||!ey(o.finalizesBy)||!Array.isArray(e.evidence)||!e.evidence.every(ry)||!Array.isArray(e.timeline)||!e.timeline.every(ry)||e.dataCompleteness!=="complete"&&e.dataCompleteness!=="partial"?null:e}var Hvr,Vvr,nD,Fvr,$vr,zvr,jd,LK,Wvr,mf,NS=A(()=>{"use strict";HXe();Gge();E1e();W_();$Xe();P1e();CK();kK();d6();DK();Hvr=new Set(["local_cli","remote_mcp","mobile","automation","compatibility"]),Vvr=new Set(["pending","active","revoked"]);nD="5.0.0-rc.362",Fvr="1",$vr=/^vk_(?:live|test)_[A-Za-z0-9_-]{16,128}$/,zvr=5e3,jd=class extends Error{constructor(r,n,i,o,s){super(r);this.status=n;this.code=i;this.detail=o;this.serverRetryable=s;this.name="ApiHttpError"}status;code;detail;serverRetryable;get retryable(){return this.serverRetryable??(this.status>=500||this.status===408||this.status===425||this.status===429)}};LK=class extends Error{constructor(r){super("Failed to retrieve task: Task not found");this.taskId=r;this.name="McpTaskNotFoundError"}taskId;rpcCode=-32602};Wvr="Visa CLI is temporarily unavailable. Try again, or report at https://github.com/Visa-Crypto-Labs/Visa-mono/issues if it persists.";mf=class{constructor(t){this.getSessionToken=t;this.baseUrl=u6()}getSessionToken;baseUrl;lastSignals={};parseServerSignals(t){if(this.lastSignals={},!uO()){let n=t.headers.get("X-Latest-Version");n&&I1e(n,nD)&&(this.lastSignals.updateAvailable={currentVersion:nD,latestVersion:n})}let r=t.headers.get("X-Feedback-Prompt");if(r)try{this.lastSignals.feedbackPrompt=JSON.parse(r)}catch{}}getClientVersion(){return nD}getAuthServerOrigin(){return this.baseUrl}async signUcpRequest(t){let r=await this.request("POST","/v4/ucp/sign",t,15e3);if(!r||typeof r!="object"||Array.isArray(r)||!r.headers||typeof r.headers!="object"||Array.isArray(r.headers))throw new Error("UCP signing service returned a malformed response");let n=r.headers,i=Object.keys(n).sort(),o=["content-digest","signature","signature-input"];if(i.length!==o.length||i.some((s,a)=>s!==o[a])||o.some(s=>typeof n[s]!="string"||n[s].length===0||n[s].length>16384||/[\r\n]/.test(n[s])))throw new Error("UCP signing service returned invalid signature headers");return n}throwIfAttestationDrift(t){if(t?.error_code==="ATTESTATION_KEY_DRIFT")throw new qk(t.error||"Your biometric key is out of sync with the server.",typeof t.hint=="string"?t.hint:void 0)}async throwServerUnavailable(t){let r=null;try{r=await t.json()}catch{}let n=Jvr(r),i=r&&typeof r=="object"?r:{};throw Yvr(i)?new eK(n,{status:t.status,disabledSurface:sh(i.disabled_surface)||void 0,flag:sh(i.flag)||void 0,correlationId:sh(i.correlation_id)||void 0}):new QG(n,t.status,typeof i.retryable=="boolean"?i.retryable:!0)}async getAgentSpendability(t){return this.request("GET",`/v1/admin/agents/${encodeURIComponent(t)}/spendability`)}async financialRuntimeRequest(t,r){return this.request("POST",`/v1/financial-runtime/${t}`,r,2e4)}async identityDeviceRequest(t,r){return this.request("POST",`/v1/identity-device/${t}`,r,2e4)}async request(t,r,n,i,o){let s=await this.getSessionToken();if(!s)throw new Hk(Xvr());let a={Authorization:`Bearer ${s}`};o&&(t==="GET"?a["X-User-Context"]=encodeURIComponent(o.replace(/[\r\n\0]/g," ").slice(0,1e3)):n={...n||{},user_context:o}),n&&(a["Content-Type"]="application/json");let c;try{c=await qXe(`${this.baseUrl}${r}`,{method:t,headers:{...a,"X-Visa-CLI-Version":nD,"X-Visa-Agent-Operations-Version":Fvr,"X-Source":"cli",...rD()},body:n?JSON.stringify(n):void 0,timeoutMs:i})}catch(d){let l=new Error(b1e(d)),p=y1e(d);throw p&&(l.code=p),l}if(this.parseServerSignals(c),c.status===401)throw new Hk("Your device session has expired. Run `visa connect` to refresh it (the device is already enrolled).",c.status);if(c.status===429){let d=Gvr(c.headers.get("Retry-After"));throw new tK(`Rate limited \u2014 wait ${d}s, then retry.`,d)}c.status===503&&await this.throwServerUnavailable(c);let u;try{u=await c.json()}catch{if(c.status===500)throw new jd(`Server error on ${r}. Try again or check https://visacli.sh for status.`,c.status);if(!c.ok){let d=c.status>=500||c.status===429||t==="GET"&&(c.status===408||c.status===425);throw new jd(d?`Unexpected response from ${r}. Try again.`:`Unexpected response from ${r} (${c.status}).`,c.status,void 0,void 0,d)}throw new Error(`Unexpected response from ${r}.`)}if(!c.ok){if(c.status===426||u?.error==="update_required"||u?.error_code==="update_required"||u?.errorCode==="update_required"){let d=typeof u?.runningVersion=="string"?u.runningVersion:nD,l=typeof u?.minCompatibleVersion=="string"?u.minCompatibleVersion:eZe;throw new MK(d,l,r)}if(c.status===500){let d=typeof u?.retryable=="boolean"?u.retryable:void 0;throw new jd(d===!1?`Server error on ${r}. Inspect the server error and reconcile the existing attempt.`:`Server error on ${r}. Try again or check https://visacli.sh for status.`,c.status,typeof u?.error=="string"?u.error:void 0,typeof u?.reason=="string"?u.reason:void 0,d)}throw this.throwIfAttestationDrift(u),Kvr(c.status,u)}return u}async emitTelemetry(t){return this.request("POST","/v1/telemetry",{rows:t},zvr)}async merchantDirectorySearch(t,r){let n=new URLSearchParams;return t.provider&&n.set("provider",t.provider),t.q&&n.set("q",t.q),t.protocol&&n.set("protocol",t.protocol),t.maxPriceUsd&&n.set("max_price_usd",t.maxPriceUsd),t.verify&&n.set("verify",t.verify),n.set("limit",String(t.limit)),n.set("offset",String(t.offset)),this.request("GET",`/v1/merchant-directory/search?${n.toString()}`,void 0,void 0,r)}async merchantDirectoryCertified(t){return this.request("GET","/v1/merchant-directory/certified",void 0,void 0,t)}async reportSettlementReceipt(t,r){return this.request("POST","/v4/directory/settlement-receipt",t,void 0,r)}async getAccountActivity(t,r){let n=new URLSearchParams;t!==void 0&&n.set("limit",String(t)),r!==void 0&&n.set("agentId",r);let i=n.size>0?`?${n.toString()}`:"",o=await this.request("GET",`/v4/account/activity${i}`);if(!o||!Array.isArray(o.activity))throw new Error("account activity service returned an invalid response");return o.activity.map(Zvr)}async getAccountActivityReceipt(t){let r;try{r=await this.request("GET",`/v4/account/activity/${encodeURIComponent(t)}`)}catch(i){throw i instanceof jd&&i.status===404?new zc(`account activity entry not found: ${t}`,"activity_entry_not_found"):i}let n=Qvr(r);if(!n)throw new Error("account receipt service returned an invalid or unsupported response");return n}async getStatus(t){return this.request("GET","/v1/status",void 0,void 0,t)}async getAgentTapStatus(t){try{return await this.request("GET",`/v4/agent-bindings/${encodeURIComponent(t)}/tap-status`)}catch{return null}}async listAccountAgents(){try{let t=await this.request("GET","/v4/account/agents");return!t||!Array.isArray(t.agents)?null:t.agents.flatMap(r=>{if(!r||typeof r!="object")return[];let n=r;if(typeof n.agentJkt!="string")return[];let i=n.approvedAuthority,o=i&&typeof i=="object"&&typeof i.grantId=="string"&&typeof i.status=="string"&&typeof i.totalMicros=="string"&&typeof i.perTransactionMicros=="string"&&typeof i.spentMicros=="string"&&typeof i.reservedMicros=="string"&&Array.isArray(i.scopes)?(()=>{let l=i;return{grantId:l.grantId,status:l.status,totalMicros:l.totalMicros,perTransactionMicros:l.perTransactionMicros,spentMicros:l.spentMicros,reservedMicros:l.reservedMicros,scopes:l.scopes.filter(p=>typeof p=="string"),...typeof l.expiresAt=="string"?{expiresAt:l.expiresAt}:{}}})():void 0,s=l=>typeof n[l]=="string"&&n[l].length>0?n[l]:void 0,a=n.executionReadiness,c=a&&typeof a=="object"&&!Array.isArray(a)?(()=>{let l=a,p=["shared","card","wallet"];if(Object.keys(l).some(m=>!p.includes(m))||Object.values(l).some(m=>typeof m!="string"))return;let f=Object.fromEntries(p.filter(m=>m in l).map(m=>[m,l[m]]));return Object.keys(f).length>0?f:void 0})():void 0,u=n.wallet,d=u&&typeof u=="object"&&!Array.isArray(u)?(()=>{let l=u,p=h=>typeof l[h]=="string"?{[h]:l[h]}:{},f=h=>typeof l[h]=="number"&&Number.isFinite(l[h])?{[h]:l[h]}:{},m={...p("walletAddress"),...p("network"),...typeof l.provisioned=="boolean"?{provisioned:l.provisioned}:{},...f("totalLimitCents").totalLimitCents!==void 0?f("totalLimitCents"):typeof l.dailyLimitCents=="number"&&Number.isFinite(l.dailyLimitCents)?{totalLimitCents:l.dailyLimitCents}:{},...f("perTransactionLimitCents")};return Object.keys(m).length>0?m:void 0})():void 0;return[{agentId:typeof n.agentId=="string"?n.agentId:null,agentJkt:n.agentJkt,name:typeof n.name=="string"?n.name:"",revoked:n.revoked===!0,paused:n.paused===!0,...o?{approvedAuthority:o}:{},...s("executionStatus")?{executionStatus:s("executionStatus")}:{},...s("executionStatusReason")?{executionStatusReason:s("executionStatusReason")}:{},...c?{executionReadiness:c}:{},...s("identityKeyStatus")?{identityKeyStatus:s("identityKeyStatus")}:{},...s("tapStatus")?{tapStatus:s("tapStatus")}:{},...d?{wallet:d}:{}}]})}catch{return null}}async listAccountCardMandates(){try{let t=await this.request("GET","/v4/account/card-mandates?includeInactive=1&limit=200");return!t||!Array.isArray(t.mandates)?null:t.mandates.flatMap(r=>{if(!r||typeof r!="object")return[];let n=r;return typeof n.mandateId!="string"||n.mandateId.length===0?[]:[{mandateId:n.mandateId,revokedAt:typeof n.revokedAt=="string"?n.revokedAt:null,expiresAt:typeof n.expiresAt=="string"?n.expiresAt:null}]})}catch{return null}}async revokeAccountCardMandate(t){try{return await this.request("POST",`/v4/account/card-mandates/${encodeURIComponent(t)}/revoke`)}catch{return null}}async getFeatureFlags(){return this.request("GET","/v1/feature-flags")}async checkInternalAccess(t,r,n=!1){let i=await this.request("GET",`/v4/internal-access?feature=${encodeURIComponent(t)}${n?"&strict=1":""}`,void 0,void 0,r);if(typeof i?.allowed!="boolean")throw new Error("Internal access response did not include a boolean allowed field.");return i.allowed}async checkCheckoutAgentAccess(t){return this.checkInternalAccess("checkout-agent",t,!0)}async getAttestationChallenge(){return this.request("GET","/v1/attestation-challenge")}async registerAttestationKey(t,r){return this.request("POST","/v1/attestation-key",{publicKey:t,...r?{attestation:r}:{}})}async setBiometricPreference(t,r){return this.request("POST","/v1/biometric-preference",{...t,confirm:!0},void 0,r)}async logout(t,r){return this.request("POST","/v4/logout",t,void 0,r)}async getAccountSessions(t){return this.request("GET","/v4/account/sessions?redact=true",void 0,void 0,t)}async getSecurityHistory(t=50,r){return this.request("GET",`/v4/account/security-history?limit=${t}&redact=true`,void 0,void 0,r)}async feedback(t,r,n){return this.request("POST","/v1/feedback",{message:t,...r&&{transaction_id:r}},void 0,n)}async createAppApiKey(t){return this.request("POST","/v1/api/keys",t)}async listAppApiKeys(t){let r=new URLSearchParams;t?.limit!=null&&r.set("limit",String(t.limit)),t?.startingAfter!=null&&r.set("starting_after",String(t.startingAfter)),t?.endingBefore!=null&&r.set("ending_before",String(t.endingBefore));let n=r.toString();return this.request("GET",n?`/v1/api/keys?${n}`:"/v1/api/keys")}async listAllAppApiKeys(){let t=[],r=new Set,n,i=null,o=0;for(;;){let s=await this.listAppApiKeys({limit:100,...n!==void 0?{startingAfter:n}:{}});if(o+=1,i=s,t.push(...s.keys??[]),!s.has_more)break;if(s.next_cursor==null)throw new Error("API key pagination response did not include next_cursor.");if(r.has(s.next_cursor))throw new Error("API key pagination cursor did not advance.");r.add(s.next_cursor),n=s.next_cursor}return{...i??{success:!0,keys:[]},keys:t,limit:100,has_more:!1,next_cursor:null,previous_cursor:null,pages:o}}async revokeAppApiKey(t){return this.request("DELETE",`/v1/api/keys/${encodeURIComponent(String(t))}`)}async putMcpTask(t,r){return this.request("PUT",`/v1/mcp-tasks/${encodeURIComponent(t)}`,r)}async getMcpTask(t){try{return await this.request("GET",`/v1/mcp-tasks/${encodeURIComponent(t)}`)}catch(r){throw r instanceof LK?r:r instanceof jd&&r.status===404?new LK(t):r}}async createCapabilityAttach(t,r){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/capability-attach`,{protocolVersion:2,capability:r.capability,...r.aggregateCeilingCents!==void 0?{aggregateCeilingCents:r.aggregateCeilingCents}:{},...r.perPurchaseCents!==void 0?{perPurchaseCents:r.perPurchaseCents}:{},...r.aggregateCeilingMicros!==void 0?{aggregateCeilingMicros:r.aggregateCeilingMicros}:{},...r.perTransactionMicros!==void 0?{perTransactionMicros:r.perTransactionMicros}:{},...r.termsMode?{termsMode:r.termsMode}:{},...r.deviceWalletPublicKey?{deviceWalletPublicKey:r.deviceWalletPublicKey}:{},...r.redelivery?{redelivery:!0}:{}})}async getCapabilityAttachStatus(t,r){return this.request("GET",`/v4/agents/${encodeURIComponent(t)}/capability-attach/${encodeURIComponent(r)}`)}async cancelCapabilityAttach(t,r){let n=await this.request("POST",`/v4/agents/${encodeURIComponent(t)}/capability-attach/${encodeURIComponent(r)}/reject`,{});return{cancelled:n?.rejected===!0,...typeof n?.state=="string"?{state:n.state}:{}}}async revokeSpendingAuthority(t){let r=await this.request("POST",`/v4/agents/${encodeURIComponent(t)}/spending-authority/revoke`,{});if(typeof r?.revoked!="boolean")throw new Error("spending authority revoke service returned an invalid response");return{revoked:r.revoked}}async pauseAgent(t){return{paused:(await this.request("POST",`/v4/account/agents/${encodeURIComponent(t)}/pause`,{}))?.paused===!0}}async renameAgent(t,r){let n=await this.request("PATCH",`/v4/account/agents/${encodeURIComponent(t)}/display-name`,{displayName:r});if(typeof n.displayName!="string")throw new Error("rename service returned an invalid display name");return{renamed:n?.renamed===!0,displayName:n.displayName}}async resumeAgent(t){return{resumed:(await this.request("POST",`/v4/account/agents/${encodeURIComponent(t)}/resume`,{}))?.resumed===!0}}async listAgentRuntimes(t){let r=await this.request("GET",`/v4/account/agents/${encodeURIComponent(t)}/runtimes`);if(!Array.isArray(r.runtimes))throw new Error("runtime service returned an invalid list");return r.runtimes.map(oZe)}async revokeAgentRuntime(t,r){let n=await this.request("POST",`/v4/account/agents/${encodeURIComponent(t)}/runtimes/${encodeURIComponent(r)}/revoke`,{});if(n.outcome!=="revoked"&&n.outcome!=="already_revoked")throw new Error("runtime service returned an invalid revoke result");return{outcome:n.outcome,runtime:oZe(n.runtime)}}async claimAgentForApp(t,r){return{claimed:(await this.request("POST","/v4/account/agent-apps",{agentId:t,harnessId:r}))?.claimed===!0}}async issueAgentEmailChannel(t,r){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/channels/email`,{},void 0,r)}async beginAgentMailRuntimeCredential(t,r){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/channels/email/runtime-credential`,{},void 0,r)}async claimAgentMailRuntimeCredential(t,r,n){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/channels/email/runtime-credentials/${encodeURIComponent(r)}/claim`,n)}async forgetAgentMailRuntimeCredential(t,r){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/channels/email/forget`,{},void 0,r)}async signTurnkeyTapPayload(t,r){let n=await this.request("POST",`/v4/account/agents/${encodeURIComponent(t)}/keychain/tap-sign`,{signatureBase:r});if(typeof n.signature!="string"||typeof n.keyId!="string")throw new Error("TAP signing service returned an invalid response");return{signature:n.signature,keyId:n.keyId}}}});function pO(e=process.env){return H1e.join(pi(e),"session-recovery")}function l6(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function jK(e,t){let r=new Set(t);return Object.keys(e).every(n=>r.has(n))}function NTr(e){let t=e.toLowerCase().replace(/^\[(.*)\]$/,"$1");if(t==="localhost"||t==="::1")return!0;let r=t.split(".");return r.length===4&&r[0]==="127"&&r.every(n=>/^\d{1,3}$/.test(n)&&Number(n)<=255)}function iy(e){if(typeof e!="string"||e.length===0||e.length>RTr)throw new Error("v4 sign-in URL must be a bounded web origin");let t;try{t=new URL(e)}catch{throw new Error("v4 sign-in URL must be a bounded web origin")}if(t.username.length>0||t.password.length>0||t.search.length>0||t.hash.length>0||t.pathname!==""&&t.pathname!=="/"||t.protocol!=="https:"&&!(t.protocol==="http:"&&NTr(t.hostname)))throw new Error("v4 sign-in URL must use an HTTPS origin (or HTTP loopback)");return t.origin}function CS(e){let t=(0,lO.createHash)("sha256").update(`${e}:visa-cli-handoff-confirm`,"utf8").digest(),r="";for(let n=0;n<xTr;n+=1)r+=AZe[t[n]%AZe.length];return r}function sD(e=pO()){return H1e.join(e,PTr)}function CTr(e){ny.mkdirSync(e,{recursive:!0,mode:448});let t=ny.lstatSync(e);if(t.isSymbolicLink()||!t.isDirectory())throw new Error("login recovery directory must be a real directory, not a symlink");ny.chmodSync(e,448),Fc(e)}function MTr(e){if(!l6(e)||!jK(e,["verifier","challenge","baseUrl","createdAt","expiresAt","serverSkewMs"])||typeof e.verifier!="string"||!TZe.test(e.verifier)||typeof e.challenge!="string"||!TZe.test(e.challenge)||typeof e.baseUrl!="string"||!Number.isSafeInteger(e.createdAt)||e.createdAt<0||e.expiresAt!==void 0&&(!Number.isSafeInteger(e.expiresAt)||e.expiresAt<0)||e.serverSkewMs!==void 0&&!Number.isSafeInteger(e.serverSkewMs))return!1;try{return iy(e.baseUrl)===e.baseUrl&&(0,lO.createHash)("sha256").update(e.verifier,"utf8").digest("base64url")===e.challenge}catch{return!1}}function PZe(e=pO()){let t=Ql(sD(e),{maxBytes:8192});if(t===null)return null;let r;try{r=JSON.parse(t)}catch{throw new Error("local login recovery state contains invalid JSON")}if(!MTr(r))throw new Error("local login recovery state is invalid");return r}function V1e(e){return e.expiresAt!==void 0?{deadline:e.expiresAt,skewMs:e.serverSkewMs??0,source:"server"}:{deadline:e.createdAt+ITr,skewMs:0,source:"local"}}function xZe(e=Date.now(),t=pO()){let r=PZe(t);if(!r)return null;let n=CS(r.verifier),{deadline:i,skewMs:o,source:s}=V1e(r),a=Math.max(0,i-(e+o)),c=Math.floor(a/1e3),u=CZe(r,e);return{verifier:r.verifier,challenge:r.challenge,confirmCode:n,baseUrl:r.baseUrl,createdAt:r.createdAt,expiresAt:new Date(i-o).toISOString(),remainingSeconds:c,likelyExpired:u,expirySource:s}}function wZe(e=pO()){Fc(e)&&ny.rmSync(sD(e),{force:!0})}function RZe(e){return!l6(e)||typeof e.error!="string"&&e.ok===void 0}async function DTr(e,t,r,n){try{let i=await r(`${e.baseUrl}${kTr}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({challenge:e.challenge}),signal:AbortSignal.timeout(n),redirect:"error"}),o=await i.json().catch(()=>null);if(i.status===404&&RZe(o))return"route_missing";if(!i.ok||!l6(o)||o.ok!==!0)return null;let s=typeof o.serverTime=="string"?Date.parse(o.serverTime):NaN,a=o.ttlMs;return!Number.isSafeInteger(s)||s<0||typeof a!="number"||!Number.isSafeInteger(a)||a<=0||a>IZe?null:{expiresAt:s+a,skewMs:s-t}}catch{return null}}async function NZe(e,t=Date.now(),r=pO(),n={}){if(!Number.isSafeInteger(t)||t<0)throw new Error("login handoff time is invalid");let i=iy(e),o=oD(n.requestTimeoutMs,5e3,"login announce timeout"),s=n.fetchImpl??fetch,a=(0,lO.randomBytes)(32).toString("base64url"),c=(0,lO.createHash)("sha256").update(a,"utf8").digest("base64url"),u={verifier:a,challenge:c,baseUrl:i,createdAt:t};CTr(r),$c(sD(r),JSON.stringify(u,null,2));let d=await DTr(u,t,s,o);if(d==="route_missing")throw ny.rmSync(sD(r),{force:!0}),new Error(OZe);d&&(u.expiresAt=d.expiresAt,u.serverSkewMs=d.skewMs,$c(sD(r),JSON.stringify(u,null,2)));let{deadline:l,skewMs:p,source:f}=V1e(u);return{challenge:c,confirmCode:CS(a),expiresAt:new Date(l-p).toISOString(),expirySource:f}}function oD(e,t,r){let n=e??t;if(!Number.isSafeInteger(n)||n<=0||n>IZe)throw new Error(`${r} must be a positive integer within the supported range`);return n}function CZe(e,t=Date.now()){let{deadline:r,skewMs:n}=V1e(e);return t+n>r}function LTr(e){if(!l6(e)||!jK(e,["payload"])||!l6(e.payload)||!jK(e.payload,["cliSessionToken","ownerProfile"]))return null;let t=e.payload.cliSessionToken,r=e.payload.ownerProfile;return typeof t!="string"||!t.trim()||t.length>OTr||!l6(r)||!jK(r,["ownerPublicId","loginLabel","authOrigin"])||typeof r.ownerPublicId!="string"||typeof r.loginLabel!="string"||typeof r.authOrigin!="string"?null:{sessionToken:t,ownerProfile:{ownerPublicId:r.ownerPublicId,loginLabel:r.loginLabel,authOrigin:r.authOrigin}}}async function MZe(e,t={}){let r=t.loginDir??pO(),n;try{n=PZe(r)}catch(y){return{status:"error",message:y instanceof Error?y.message:String(y)}}if(!n)return{status:"no_pending"};if(e!==void 0){let y;try{y=iy(e)}catch(S){return{status:"error",message:S instanceof Error?S.message:String(S)}}if(y!==n.baseUrl)return{status:"error",message:"V4 sign-in origin does not match the pending handoff. Run agent login again."}}let i,o,s,a;try{i=oD(t.attempts,1,"login claim attempts"),o=oD(t.delayMs,1e3,"login claim interval"),s=oD(t.requestTimeoutMs,1e4,"login claim request timeout"),a=t.overallTimeoutMs===void 0?void 0:oD(t.overallTimeoutMs,1,"login claim overall timeout")}catch(y){return{status:"error",message:y instanceof Error?y.message:String(y)}}let c=t.fetchImpl??fetch,u=t.sleep??(y=>new Promise(S=>setTimeout(S,y))),d=t.now??Date.now,l=a===void 0?void 0:d()+a,p=`${n.baseUrl}/api/vgs/cli-handoff/claim`,f=null,m=n,h=m.expiresAt!==void 0,g=()=>f==="expired"||f==="unknown"&&h?{status:"not_ready",likelyExpired:!0,expirySource:"server"}:f==="pending"?{status:"not_ready",likelyExpired:!1,expirySource:"server"}:{status:"not_ready",likelyExpired:CZe(m,d()),expirySource:"local"};for(let y=0;y<i;y+=1){let S=l===void 0?s:l-d();if(S<=0)return g();let b,E=AbortSignal.timeout(Math.max(1,Math.min(s,S)));try{b=await c(p,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({verifier:n.verifier}),signal:E,redirect:"error"})}catch(w){if(E.aborted||l6(w)&&w.name==="TimeoutError"){if(l!==void 0&&d()>=l)return g();if(y+1<i){let I=l===void 0?o:l-d();if(I<=0)return g();await u(Math.min(o,I));continue}return{status:"error",message:"V4 sign-in claim request timed out."}}if(y+1<i){let I=l===void 0?o:l-d();if(I<=0)return g();await u(Math.min(o,I));continue}return{status:"error",message:`Could not reach the v4 sign-in service: ${w instanceof Error?w.message:String(w)}`}}if(b.ok){let w=await b.json().catch(()=>null),I=LTr(w);if(!I)return{status:"error",message:"Sign-in response was not a session-only handoff. Restart with visa agent login --restart."};try{let N=eJe(I.ownerProfile);await an.saveProfileSessionToken(N,I.sessionToken,{preserveLegacy:!0}),tJe(N),await an.retireLegacySessionToken()}catch{return{status:"error",message:"The session reached this device but could not be saved. Fix local credential storage, then restart with visa agent login --restart."}}return wZe(r),{status:"claimed"}}if(b.status===404){let w=await b.json().catch(()=>null);if(RZe(w))return{status:"error",message:OZe};let I=typeof w?.serverTime=="string"&&typeof w.error=="string"?w.error:null;if(I==="expired"?f="expired":I==="unknown_handoff"?f="unknown":I==="not_ready"&&(f="pending"),f==="expired"||f==="unknown"&&h)return g();if(y+1<i){let N=l===void 0?o:l-d();if(N<=0)return g();await u(Math.min(o,N))}continue}if(b.status===409)return{status:"confirm_mismatch",confirmCode:CS(n.verifier)};if(b.status===422)return wZe(r),{status:"error",message:"Sign-in pickup was not login-only. Run agent login again."};if(b.status===429)return g();let T=await b.json().catch(()=>null);return{status:"error",message:typeof T?.error=="string"&&T.error.length<=512?T.error:`V4 sign-in claim failed (${b.status}).`}}return g()}var lO,ny,H1e,ITr,PTr,TZe,AZe,xTr,OTr,RTr,IZe,kTr,OZe,qK=A(()=>{"use strict";lO=require("node:crypto"),ny=ie(require("node:fs")),H1e=ie(require("node:path"));G0();wS();$_();Hu();ITr=15*6e4;PTr="pending.json",TZe=/^[A-Za-z0-9_-]{43}$/,AZe="ABCDEFGHJKMNPQRSTUVWXYZ23456789",xTr=6,OTr=512,RTr=2048,IZe=2147483647;kTr="/api/vgs/cli-handoff/announce",OZe="This Visa server has no terminal sign-in endpoint, so sign-in cannot finish. This is a server problem, not something you did. Please report it."});function GTr(e){return[["openclaw",uD.join(e,".openclaw")],["hermes",uD.join(e,".hermes")],["claude-code",uD.join(e,".claude")],["codex",uD.join(e,".codex")]]}function G1e(e=process.env,t={}){if(e.VISA_CLI_RUNTIME&&e.VISA_CLI_RUNTIME.trim().length>0)return e.VISA_CLI_RUNTIME.trim();if(e.AGENT_RUNTIME&&e.AGENT_RUNTIME.trim().length>0)return e.AGENT_RUNTIME.trim();let r=s=>Object.entries(e).some(([a,c])=>a.startsWith(s)&&typeof c=="string"&&c.trim()!==""),n=new Set;if(r("CODEX_")&&n.add("codex"),(typeof e.CLAUDECODE=="string"&&e.CLAUDECODE.trim()!==""||r("CLAUDE_CODE_")||typeof e.CLAUDE_PROJECT_DIR=="string"&&e.CLAUDE_PROJECT_DIR.trim()!=="")&&n.add("claude-code"),r("OPENCLAW_")&&n.add("openclaw"),r("HERMES_")&&n.add("hermes"),n.size>0)return n.size===1?n.values().next().value:void 0;let i=t.home??qZe.homedir(),o=GTr(i).filter(([,s])=>jZe.existsSync(s));return o.length===1?o[0][0]:void 0}function VK(e=process.env,t={}){switch(G1e(e,t)){case"claude-code":return"claude";case"codex":return"codex";case"openclaw":return"openclaw";case"hermes":return"hermes";default:return"claude"}}var jZe,qZe,uD,K1e=A(()=>{"use strict";jZe=ie(require("fs")),qZe=ie(require("os")),uD=ie(require("path"))});var bD=_(($wi,vet)=>{"use strict";var sAr=Object.create,sW=Object.defineProperty,aAr=Object.getOwnPropertyDescriptor,gQe=Object.getOwnPropertyNames,cAr=Object.getPrototypeOf,uAr=Object.prototype.hasOwnProperty,dAr=(e,t)=>function(){try{return t||(0,e[gQe(e)[0]])((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},lAr=(e,t)=>{for(var r in t)sW(e,r,{get:t[r],enumerable:!0})},_Qe=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of gQe(t))!uAr.call(e,i)&&i!==r&&sW(e,i,{get:()=>t[i],enumerable:!(n=aAr(t,i))||n.enumerable});return e},yQe=(e,t,r)=>(r=e!=null?sAr(cAr(e)):{},_Qe(t||!e||!e.__esModule?sW(r,"default",{value:e,enumerable:!0}):r,e)),pAr=e=>_Qe(sW({},"__esModule",{value:!0}),e),fAr=dAr({"../shared/dist/canonical-contract.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CANONICAL_OPAQUE_ID_MAX_BYTES=e.CANONICAL_OPAQUE_ID_RE=e.CANONICAL_OPAQUE_ID_PATTERN=void 0,e.utf8ByteLength=n,e.isCanonicalText=i,e.compareCanonicalKeys=o,e.isCanonicalOpaqueId=s,e.assertCanonicalOpaqueId=a,e.CANONICAL_OPAQUE_ID_PATTERN="^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$",e.CANONICAL_OPAQUE_ID_RE=new RegExp(e.CANONICAL_OPAQUE_ID_PATTERN),e.CANONICAL_OPAQUE_ID_MAX_BYTES=128;var t=/[\u0000-\u001f\u007f\u2028\u2029]/,r=new TextEncoder;function n(c){return r.encode(c).length}function i(c,u){return typeof c=="string"&&c.length>0&&n(c)<=u&&c.trim()===c&&c.normalize("NFC")===c&&!t.test(c)}function o(c,u){let d=r.encode(c),l=r.encode(u),p=Math.min(d.length,l.length);for(let f=0;f<p;f+=1)if(d[f]!==l[f])return d[f]-l[f];return d.length-l.length}function s(c){return typeof c=="string"&&n(c)<=e.CANONICAL_OPAQUE_ID_MAX_BYTES&&e.CANONICAL_OPAQUE_ID_RE.test(c)}function a(c,u="value"){if(!s(c))throw new Error(`${u} must be a canonical opaque id (max 128 ASCII bytes)`)}}}),bQe={};lAr(bQe,{AGENT_AUTHORITY_VALUATION_POLICY:()=>XK,AGENT_AUTHORITY_VERSION:()=>sy,AGENT_AUTHORIZATION_SCOPES:()=>ay,AGENT_BUDGET_EPOCH_MODES:()=>WQe,AGENT_CAPABILITY_ATTACH_CAPABILITIES:()=>nW,AGENT_CHANNEL_ASSURANCES:()=>tet,AGENT_CHANNEL_KINDS:()=>QQe,AGENT_CHANNEL_STATUSES:()=>eet,AGENT_EXECUTION_READINESS_REASONS:()=>S2r,AGENT_HANDOFF_AUTHORITIES:()=>j2r,AGENT_HANDOFF_COMPOUND_AUTHORITY:()=>f_e,AGENT_KEY_CUSTODIES:()=>XQe,AGENT_KEY_PURPOSES:()=>JQe,AGENT_KEY_STATUSES:()=>ZQe,AGENT_PAIRING_CODE_ALPHABET:()=>gO,AGENT_PAIRING_CODE_LENGTH:()=>hD,AGENT_PAIRING_PROTOCOL_VERSION:()=>H2r,AGENT_PAIRING_PROTOCOL_VERSION_V2:()=>iW,AGENT_PAYMENT_MODE_NAMES:()=>b2r,AGENT_PAYMENT_RAILS:()=>e_e,AGENT_PAYMENT_SURFACES:()=>Q1e,DOMAINS:()=>s2r,USD_MICROS_PER_CENT:()=>lW,VIC_PROCESSOR_ACTIONS:()=>YQe,VIC_SETTLEMENT_ENVELOPE_KIND:()=>JK,VIC_SETTLEMENT_ENVELOPE_VERSION:()=>YK,agentAuthorityGrantHash:()=>L2r,agentMailCredentialClaimMessageV2:()=>Twr,authorizationScopeFacts:()=>C2r,base64ToBytes:()=>FQe,base64UrlToBytes:()=>dW,bytesToBase64:()=>VQe,bytesToBase64Url:()=>ly,bytesToHex:()=>HQe,canonicalAgentAuthorityGrant:()=>l_e,canonicalAgentChannelDescriptor:()=>D2r,canonicalAgentKeyDescriptor:()=>M2r,canonicalFormAgent:()=>a2r,canonicalPairingDeliveryArtifactV2:()=>Eet,canonicalPairingTerms:()=>het,canonicalPairingTermsV2:()=>__e,canonicalPayWithinBudget:()=>oet,canonicalSpendAuthorizationIntent:()=>p_e,canonicalVicSettlementEnvelope:()=>set,capabilityAttachActivationMessageV2:()=>Awr,capabilityAttachClaimHashV2:()=>Swr,capabilityAttachClaimMessageV2:()=>yet,centsToUsdMicros:()=>R2r,concatBytes:()=>u_e,defaultPayWithinBudget:()=>E2r,extractEd25519Seed:()=>y2r,formatPairingCode:()=>yD,generateKeyPair:()=>e2r,generateSeed:()=>jQe,getPublicKey:()=>uW,grantPaymentRails:()=>d_e,handoffAuthorityCapabilities:()=>q2r,hexToBytes:()=>c_e,isCanonicalBase64Url32:()=>sc,isValidPairingCode:()=>fet,jwkToKeyPair:()=>l2r,jwkToPublicKey:()=>d2r,jwkToSeed:()=>GQe,keyPairFromSeed:()=>qQe,keyRotationClaimHashV2:()=>vwr,keyRotationClaimMessageV2:()=>bet,normalizePairingCode:()=>hW,pairingActivationMessage:()=>ywr,pairingActivationMessageV2:()=>Ewr,pairingArtifactHash:()=>Iwr,pairingClaimHashV2:()=>bwr,pairingClaimMessage:()=>_wr,pairingClaimMessageV2:()=>_et,pairingClaimTokenHash:()=>met,pairingCodeFromClaimToken:()=>fwr,pairingCodeHash:()=>lwr,pairingConfirmationCode:()=>mwr,pairingDeliveryArtifactV2Hash:()=>wwr,pairingInstrumentCommitment:()=>nwr,pairingSha256:()=>gf,pairingTermsHash:()=>gwr,pairingTermsV2Hash:()=>get,pairingVerifierChallenge:()=>uwr,pkcs8ToSeed:()=>g2r,publicKeyToJwk:()=>u2r,publicKeyToSpki:()=>h2r,randomAttachId:()=>owr,randomHandoffId:()=>swr,randomPairingClaimToken:()=>pwr,randomPairingCode:()=>dwr,randomPairingId:()=>iwr,randomPairingVerifier:()=>cwr,randomSetupOperationId:()=>awr,seedToJwk:()=>c2r,seedToPkcs8:()=>m2r,setupConfirmationCode:()=>hwr,sign:()=>t2r,signAsync:()=>n2r,spendAuthorizationIntentHash:()=>aet,spkiToPublicKey:()=>_2r,subwayAgentMsgV1:()=>$Qe,usdcAtomicToUsdMicros:()=>N2r,verify:()=>r2r,verifyAsync:()=>i2r,vicSettlementEnvelopeHash:()=>U2r,walletAuthorizationRequestHash:()=>B2r});vet.exports=pAr(bQe);var aW=Object.freeze,hO=0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,ZK=0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,KK=0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,J1e=0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,X1e=0x6666666666666666666666666666666666666666666666666666666666666658n,WK=hO-1n,mAr=aW({p:hO,n:ZK,h:8n,a:WK,d:KK,Gx:J1e,Gy:X1e}),US=32,ZZe=e=>e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&e.BYTES_PER_ELEMENT===1,op=(e,t,r="")=>{if(ZZe(e)&&(t===void 0||e.length===t))return e;let n=ZZe(e),i=t!==void 0?` of length ${t}`:"",o=n?`length=${e.length}`:`type=${typeof e}`,s=(r?`"${r}" `:"")+"expected Uint8Array"+i+", got "+o;throw n?new RangeError(s):new TypeError(s)},cW=(e,t="",r)=>Uint8Array.from(op(e,r,t)),EQe=(e,t)=>e.toString(16).padStart(t,"0"),t_e=e=>{let t="";for(let r of op(e))t+=EQe(r,2);return t},r_e=e=>{let t="hex invalid";if(typeof e!="string")throw new TypeError(t);if(e.length%2||!/^[\da-f]*$/i.test(e))throw new RangeError(t);let r=new Uint8Array(e.length/2);for(let n=0,i=0;n<r.length;n++,i+=2){let o=e.charCodeAt(i),s=e.charCodeAt(i+1);r[n]=((o&15)+(o>>6)*9)*16+(s&15)+(s>>6)*9}return r},h6=(...e)=>{let t=0;for(let i of e)t+=op(i).length;let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r},SQe=(e=US)=>{let t=globalThis?.crypto;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined, consider polyfill");return t.getRandomValues(new Uint8Array(e))},p6=(e,t,r,n="bad number: out of range")=>{if(typeof e!="bigint")throw new TypeError(n);if(t<=e&&e<r)return e;throw new RangeError(n)},mi=(e,t=hO)=>(e%=t)>=0n?e:t+e,QZe=(1n<<255n)-1n,Ye=e=>{if(e<0n)throw new RangeError("negative coordinate");let t=(e>>255n)*19n+(e&QZe);return t=(t>>255n)*19n+(t&QZe),t%hO},vQe=e=>mi(e,ZK),TQe=(e,t)=>{if(e===0n)throw new Error("invert: expected non-zero number");if(t<=1n)throw new Error("invert: expected modulus > 1, got "+t);let r=mi(e,t),n=t,i=0n,o=1n;for(;r!==0n;){let a=n/r,c=n-r*a,u=i-o*a;n=r,r=c,i=o,o=u}if(n!==1n)throw new Error("invert: does not exist");return mi(i,t)},AQe=e=>{let t=MQe[e];if(typeof t!="function")throw new Error("hashes."+e+" not set");return t},n_e=(e,...t)=>op(AQe(e)(h6(...t)),64,"digest"),i_e=async(e,...t)=>op(await AQe(e)(h6(...t)),64,"digest"),W1e=e=>{if(e instanceof g6)return e;throw new TypeError("Point expected")},wQe=2n**256n,g6=class f6{static BASE;static ZERO;X;Y;Z;T;constructor(t,r,n,i){let o=wQe;this.X=p6(t,0n,o),this.Y=p6(r,0n,o),this.Z=p6(n,1n,o),this.T=p6(i,0n,o),aW(this)}static CURVE(){return mAr}static fromAffine(t){return new f6(t.x,t.y,1n,Ye(t.x*t.y))}static fromBytes(t,r=!1){let n=cW(t,"point",US),i=n[31];n[31]=i&-129;let o=o_e(n);r||p6(o,0n,hO);let s=Ye(o*o),a=mi(s-1n),c=Ye(KK*s+1n),{isValid:u,value:d}=gAr(a,c);if(!u)throw new Error("bad point: y not sqrt");let l=!!(i&128);if(!r&&d===0n&&l)throw new Error("bad point: x==0, isLastByteOdd");return l!==!!(d&1n)&&(d=mi(-d)),new f6(d,o,1n,Ye(d*o))}static fromHex(t,r){return f6.fromBytes(r_e(t),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}assertValidity(){let t=WK,r=KK,n=this;if(n.is0())throw new Error("bad point: ZERO");let{X:i,Y:o,Z:s,T:a}=n,c=Ye(i*i),u=Ye(o*o),d=Ye(s*s),l=Ye(d*d),p=Ye(c*t),f=Ye(d*(p+u)),m=mi(l+Ye(r*Ye(c*u)));if(f!==m)throw new Error("bad point: equation left != right (1)");let h=Ye(i*o),g=Ye(s*a);if(h!==g)throw new Error("bad point: equation left != right (2)");return this}equals(t){let{X:r,Y:n,Z:i}=this,{X:o,Y:s,Z:a}=W1e(t);return Ye(r*a)===Ye(o*i)&&Ye(n*a)===Ye(s*i)}is0(){return this.equals(m6)}negate(){return new f6(mi(-this.X),this.Y,this.Z,mi(-this.T))}double(){let{X:t,Y:r,Z:n}=this,i=WK,o=Ye(t*t),s=Ye(r*r),a=Ye(2n*n*n),c=Ye(i*o),u=mi(t+r),d=mi(Ye(u*u)-o-s),l=mi(c+s),p=mi(l-a),f=mi(c-s),m=Ye(d*p),h=Ye(l*f),g=Ye(d*f),y=Ye(p*l);return new f6(m,h,y,g)}add(t){let{X:r,Y:n,Z:i,T:o}=this,{X:s,Y:a,Z:c,T:u}=W1e(t),d=WK,l=KK,p=Ye(r*s),f=Ye(n*a),m=Ye(Ye(o*l)*u),h=Ye(i*c),g=mi(Ye(mi(r+n)*mi(s+a))-p-f),y=mi(h-m),S=mi(h+m),b=mi(f-Ye(d*p)),E=Ye(g*y),T=Ye(S*b),w=Ye(g*b),I=Ye(y*S);return new f6(E,T,I,w)}subtract(t){return this.add(W1e(t).negate())}multiply(t,r=!0){if(!r&&t===0n||(p6(t,1n,ZK),!r&&this.is0()))return m6;if(t===1n)return this;if(this.equals(jS))return IAr(t).p;let n=m6,i=jS,o=this;for(let s=0;r?s<256:t>0n;s++)t&1n?n=n.add(o):r&&(i=i.add(o)),o=o.double(),t>>=1n;return n}multiplyUnsafe(t){return this.multiply(t,!1)}toAffine(){let{X:t,Y:r,Z:n}=this;if(this.equals(m6))return{x:0n,y:1n};let i=TQe(n,hO);if(Ye(n*i)!==1n)throw new Error("invalid inverse");return{x:Ye(t*i),y:Ye(r*i)}}toBytes(){let{x:t,y:r}=this.toAffine(),n=IQe(r);return n[31]|=t&1n?128:0,n}toHex(){return t_e(this.toBytes())}clearCofactor(){return this.multiply(8n,!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return this.multiply(ZK/2n,!1).double().add(this).is0()}},jS=new g6(J1e,X1e,1n,mi(J1e*X1e)),m6=new g6(0n,1n,1n,0n);g6.BASE=jS;g6.ZERO=m6;var IQe=e=>r_e(EQe(p6(e,0n,wQe),64)).reverse(),o_e=e=>BigInt("0x"+t_e(Uint8Array.from(op(e)).reverse())),eg=(e,t)=>{let r=e;for(;t-- >0;)r=Ye(r*r);return r},hAr=e=>{let t=Ye(e*e),r=Ye(t*e),n=Ye(eg(r,2)*r),i=Ye(eg(n,1)*e),o=Ye(eg(i,5)*i),s=Ye(eg(o,10)*o),a=Ye(eg(s,20)*s),c=Ye(eg(a,40)*a),u=Ye(eg(c,80)*c),d=Ye(eg(u,80)*c),l=Ye(eg(d,10)*o);return Ye(eg(l,2)*e)},eQe=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,gAr=(e,t)=>{let r=Ye(t*Ye(t*t)),n=Ye(Ye(r*r)*t),i=hAr(Ye(e*n)),o=Ye(e*Ye(r*i)),s=Ye(t*Ye(o*o)),a=o,c=Ye(o*eQe),u=s===e,d=s===mi(-e),l=s===mi(-e*eQe);return u&&(o=a),(d||l)&&(o=c),(mi(o)&1n)===1n&&(o=mi(-o)),{isValid:u||d,value:o}},QK=e=>vQe(o_e(e)),PQe=e=>{let t=cW(e),r=t.slice(0,32);r[0]&=248,r[31]&=127,r[31]|=64;let n=t.slice(32),i=QK(r),o=jS.multiply(i),s=o.toBytes();return{head:r,prefix:n,scalar:i,point:o,pointBytes:s}},xQe=e=>i_e("sha512Async",op(e,US,"secretKey")).then(PQe),s_e=e=>PQe(n_e("sha512",op(e,US,"secretKey"))),_Ar=e=>s_e(e).pointBytes,OQe=async e=>e[1](await i_e("sha512Async",e[0])),RQe=e=>e[1](n_e("sha512",e[0])),NQe=(e,t,r)=>{let{pointBytes:n,scalar:i}=e,o=QK(t),s=jS.multiply(o).toBytes();return[h6(s,n,r),u=>{let d=vQe(o+QK(u)*i);return op(h6(s,IQe(d)),64)}]},yAr=async(e,t)=>{let r=cW(e,"message"),n=await xQe(t);return OQe(NQe(n,await i_e("sha512Async",n.prefix,r),r))},bAr=(e,t)=>{let r=cW(e,"message"),n=s_e(t);return RQe(NQe(n,n_e("sha512",n.prefix,r),r))},EAr=e=>{if(e===null||typeof e!="object")throw new TypeError("expected valid options object");return e.zip215??!0},CQe=(e,t,r,n)=>{e=op(e,64,"signature"),t=op(t,void 0,"message"),r=op(r,US,"publicKey");let i=EAr(n),o=e.subarray(0,US),s=o_e(e.subarray(US,64)),a,c,u,d=Uint8Array.of(),l=!1;try{a=g6.fromBytes(r,i),c=g6.fromBytes(o,i),u=jS.multiply(s,!1),d=h6(o,r,t),l=!0}catch{}return[d,f=>{if(!l||!i&&a.isSmallOrder())return!1;let m=QK(f);return c.add(a.multiply(m,!1)).subtract(u).clearCofactor().is0()}]},SAr=async(e,t,r,n={})=>OQe(CQe(e,t,r,n)),vAr=(e,t,r,n={})=>RQe(CQe(e,t,r,n)),a_e=aW({bytesToHex:t_e,hexToBytes:r_e,concatBytes:h6,mod:mi,invert:TQe,randomBytes:SQe}),MQe={sha512Async:async e=>{let t=globalThis?.crypto?.subtle;if(!t)throw new Error("crypto.subtle must be defined, consider polyfill");return new Uint8Array(await t.digest("SHA-512",h6(e)))},sha512:void 0},TAr=e=>op(e===void 0?SQe():e,US,"seed"),AAr=aW({getExtendedPublicKeyAsync:xQe,getExtendedPublicKey:s_e,randomSecretKey:TAr}),wAr=()=>{let e=[],t=jS,r;for(let n=0;n<33;n++){r=t,e.push(r);for(let i=1;i<128;i++)r=r.add(t),e.push(r);t=r.double()}return e},tQe=void 0,rQe=(e,t)=>{let r=t.negate();return e?r:t},IAr=e=>{let t=tQe||(tQe=wAr()),r=m6,n=jS;for(let i=0;i<33;i++){let o=Number(e&255n);e>>=8n,o>128&&(o-=256,e+=1n);let s=i*128,a=s+Math.abs(o)-1,c=i%2!==0,u=o<0;o===0?n=n.add(rQe(c,t[s])):r=r.add(rQe(u,t[a]))}if(e!==0n)throw new Error("invalid wnaf");return{p:r,f:n}},$K=BigInt(2**32-1),nQe=BigInt(32);function PAr(e,t=!1){return t?{h:Number(e&$K),l:Number(e>>nQe&$K)}:{h:Number(e>>nQe&$K)|0,l:Number(e&$K)|0}}function xAr(e,t=!1){let r=e.length,n=new Uint32Array(r),i=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=PAr(e[o],t);[n[o],i[o]]=[s,a]}return[n,i]}var OAr=e=>e/2**32|0,RAr=e=>e>>>0;function NAr(e,t,r,n){let i=OAr(r),o=RAr(r);e.setUint32(t,n?o:i,n),e.setUint32(t+4,n?i:o,n)}var iQe=(e,t,r)=>e>>>r,oQe=(e,t,r)=>e<<32-r|t>>>r,fO=(e,t,r)=>e>>>r|t<<32-r,mO=(e,t,r)=>e<<32-r|t>>>r,zK=(e,t,r)=>e<<64-r|t>>>r-32,GK=(e,t,r)=>e>>>r-32|t<<64-r;function oy(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var CAr=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),MAr=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,kAr=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),DAr=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,LAr=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),UAr=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;function sQe(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}var Z1e=e=>e?`"${e}" `:"";function BAr(e,t=""){if(typeof e!="number")throw new TypeError(Z1e(t)+"expected number, got "+typeof e);if(!Number.isSafeInteger(e)||e<0)throw new RangeError(Z1e(t)+"expected integer >= 0, got "+e);return e}function kQe(e,t,r=""){if(sQe(e)&&(t===void 0||e.length===t))return e;t!==void 0&&BAr(t,"length");let n=sQe(e),i=t!==void 0?` of length ${t}`:"",o=n?`length=${e.length}`:`type=${typeof e}`,s=Z1e(r)+"expected Uint8Array"+i+", got "+o;throw n?new RangeError(s):new TypeError(s)}var jAr=(e,t)=>{if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError((t==="object"?"":`"${t}" `)+"expected object, got type="+typeof e)},aQe=(e,t)=>{jAr(e,t);let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)throw new TypeError(`"${t}" expected plain object`);if(Object.hasOwn(e,"__proto__"))throw new TypeError(`"${t}.__proto__" is not allowed`)};function cQe(e,t=!0){if(e.destroyed)throw new Error("hash was destroyed");if(t&&e.finished)throw new Error("digest() was already called")}function qAr(e,t){kQe(e,void 0,"output");let r=t.outputLen;if(!(e.length>=r))throw new RangeError('"output" expected length >= '+r)}function eW(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Y1e(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function tg(e,t){return e<<32-t|e>>>t}function HAr(e,t,r="opts"){return aQe(e,"defaults"),t!==void 0&&aQe(t,r),Object.assign(Object.create(null),e,t)}function DQe(e,t={}){if(typeof e!="function")throw new TypeError('"hashCons" expected function, got type='+typeof e);t=HAr({},t,"info");let r=(i,o)=>e(o).update(i).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.canXOF=n.canXOF,r.create=i=>e(i),Object.assign(r,t),Object.freeze(r)}var LQe=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function VAr(e,t,r){return e&t^~e&r}function FAr(e,t,r){return e&t^e&r^t&r}var UQe=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,n){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Y1e(this.buffer)}update(e){cQe(this),kQe(e);let{view:t,buffer:r,blockLen:n}=this,i=e.length,o=!1;for(let s=0;s<i;){let a=Math.min(n-this.pos,i-s);if(a===n){let c=Y1e(e);for(;n<=i-s;s+=n)this.process(c,s);o=!0;continue}r.set(s===0&&a===i?e:e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===n&&(this.process(t,0),this.pos=0,o=!0)}return this.length+=e.length,o&&this.roundClean(),this}digestInto(e){cQe(this),qAr(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:o}=this;t[o++]=128,t.fill(0,o),this.padOffset>n-o&&(this.process(r,0),t.fill(0)),NAr(r,n-8,this.length*8,i),this.process(r,0),this.roundClean();let s=e===t?r:Y1e(e),a=this.outputLen,c=a/4,u=this.get();if(a%4||c>u.length)throw new Error("invalid outputLen");for(let d=0;d<c;d++)s.setUint32(4*d,u[d],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneIntoMeta(e){let{buffer:t,length:r,finished:n,destroyed:i,pos:o}=this;return e.destroyed=i,e.finished=n,e.length=r,e.pos=o,o&&e.buffer.set(t),e}clone(){return this._cloneInto()}},$Ar=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),zAr=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),GAr=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),MS=new Uint32Array(64),KAr=class extends UQe{A=0;B=0;C=0;D=0;E=0;F=0;G=0;H=0;constructor(e,t){super(64,e,8,!1),this.A=t[0]|0,this.B=t[1]|0,this.C=t[2]|0,this.D=t[3]|0,this.E=t[4]|0,this.F=t[5]|0,this.G=t[6]|0,this.H=t[7]|0}get(){let{A:e,B:t,C:r,D:n,E:i,F:o,G:s,H:a}=this;return[e,t,r,n,i,o,s,a]}set(e,t,r,n,i,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=o|0,this.G=s|0,this.H=a|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let d=0;d<16;d++,t+=4)MS[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let l=MS[d-15],p=MS[d-2],f=tg(l,7)^tg(l,18)^l>>>3,m=tg(p,17)^tg(p,19)^p>>>10;MS[d]=m+MS[d-7]+f+MS[d-16]|0}let{A:r,B:n,C:i,D:o,E:s,F:a,G:c,H:u}=this;for(let d=0;d<64;d++){let l=tg(s,6)^tg(s,11)^tg(s,25),p=u+l+VAr(s,a,c)+GAr[d]+MS[d]|0,m=(tg(r,2)^tg(r,13)^tg(r,22))+FAr(r,n,i)|0;u=c,c=a,a=s,s=o+p|0,o=i,i=n,n=r,r=p+m|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,n,i,o,s,a,c,u)}roundClean(){eW(MS)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),eW(this.buffer)}},WAr=class extends KAr{constructor(){super(32,$Ar)}},BQe=xAr(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),YAr=BQe[0],JAr=BQe[1],kS=new Uint32Array(80),DS=new Uint32Array(80),XAr=class extends UQe{Ah=0;Al=0;Bh=0;Bl=0;Ch=0;Cl=0;Dh=0;Dl=0;Eh=0;El=0;Fh=0;Fl=0;Gh=0;Gl=0;Hh=0;Hl=0;constructor(e,t){super(128,e,16,!1),this.Ah=t[0]|0,this.Al=t[1]|0,this.Bh=t[2]|0,this.Bl=t[3]|0,this.Ch=t[4]|0,this.Cl=t[5]|0,this.Dh=t[6]|0,this.Dl=t[7]|0,this.Eh=t[8]|0,this.El=t[9]|0,this.Fh=t[10]|0,this.Fl=t[11]|0,this.Gh=t[12]|0,this.Gl=t[13]|0,this.Hh=t[14]|0,this.Hl=t[15]|0}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:o,Dh:s,Dl:a,Eh:c,El:u,Fh:d,Fl:l,Gh:p,Gl:f,Hh:m,Hl:h}=this;return[e,t,r,n,i,o,s,a,c,u,d,l,p,f,m,h]}set(e,t,r,n,i,o,s,a,c,u,d,l,p,f,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=u|0,this.Fh=d|0,this.Fl=l|0,this.Gh=p|0,this.Gl=f|0,this.Hh=m|0,this.Hl=h|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let S=0;S<16;S++,t+=4)kS[S]=e.getUint32(t),DS[S]=e.getUint32(t+=4);for(let S=16;S<80;S++){let b=kS[S-15]|0,E=DS[S-15]|0,T=fO(b,E,1)^fO(b,E,8)^iQe(b,E,7),w=mO(b,E,1)^mO(b,E,8)^oQe(b,E,7),I=kS[S-2]|0,N=DS[S-2]|0,O=fO(I,N,19)^zK(I,N,61)^iQe(I,N,6),P=mO(I,N,19)^GK(I,N,61)^oQe(I,N,6),x=kAr(w,P,DS[S-7],DS[S-16]),D=DAr(x,T,O,kS[S-7],kS[S-16]);kS[S]=D|0,DS[S]=x|0}let{Ah:r,Al:n,Bh:i,Bl:o,Ch:s,Cl:a,Dh:c,Dl:u,Eh:d,El:l,Fh:p,Fl:f,Gh:m,Gl:h,Hh:g,Hl:y}=this;for(let S=0;S<80;S++){let b=fO(d,l,14)^fO(d,l,18)^zK(d,l,41),E=mO(d,l,14)^mO(d,l,18)^GK(d,l,41),T=d&p^~d&m,w=l&f^~l&h,I=LAr(y,E,w,JAr[S],DS[S]),N=UAr(I,g,b,T,YAr[S],kS[S]),O=I|0,P=fO(r,n,28)^zK(r,n,34)^zK(r,n,39),x=mO(r,n,28)^GK(r,n,34)^GK(r,n,39),D=r&i^r&s^i&s,B=n&o^n&a^o&a;g=m|0,y=h|0,m=p|0,h=f|0,p=d|0,f=l|0,{h:d,l}=oy(c|0,u|0,N|0,O|0),c=s|0,u=a|0,s=i|0,a=o|0,i=r|0,o=n|0;let M=CAr(O,x,B);r=MAr(M,N,P,D),n=M|0}({h:r,l:n}=oy(this.Ah|0,this.Al|0,r|0,n|0)),{h:i,l:o}=oy(this.Bh|0,this.Bl|0,i|0,o|0),{h:s,l:a}=oy(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l:u}=oy(this.Dh|0,this.Dl|0,c|0,u|0),{h:d,l}=oy(this.Eh|0,this.El|0,d|0,l|0),{h:p,l:f}=oy(this.Fh|0,this.Fl|0,p|0,f|0),{h:m,l:h}=oy(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:y}=oy(this.Hh|0,this.Hl|0,g|0,y|0),this.set(r,n,i,o,s,a,c,u,d,l,p,f,m,h,g,y)}roundClean(){eW(kS,DS)}destroy(){this.destroyed=!0,eW(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ZAr=class extends XAr{constructor(){super(64,zAr)}},gD=DQe(()=>new WAr,LQe(1)),QAr=DQe(()=>new ZAr,LQe(3)),uQe=MQe;uQe.sha512||(uQe.sha512=e=>QAr(e));var dQe=32;function jQe(){return AAr.randomSecretKey()}function uW(e){return _Ar(e)}function e2r(){let e=jQe();return{secretKey:e,publicKey:uW(e)}}function qQe(e){if(e.length!==dQe)throw new Error(`Ed25519 seed must be ${dQe} bytes, got ${e.length}`);return{secretKey:e,publicKey:uW(e)}}function t2r(e,t){return bAr(t,e)}function r2r(e,t,r){return vAr(t,r,e)}function n2r(e,t){return yAr(t,e)}function i2r(e,t,r){return SAr(t,r,e)}var HQe=a_e.bytesToHex,c_e=a_e.hexToBytes,u_e=a_e.concatBytes;function VQe(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function FQe(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function ly(e){return VQe(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function dW(e){let t=e.length%4===0?0:4-e.length%4,r=e.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat(t);return FQe(r)}var o2r=new TextEncoder,s2r={subwayAgentMsgV1:"message_id;sender_peer_id;sender_name;timestamp_ms;message_type;payload_hash;nonce"};function $Qe(e){let t=HQe(gD(e.payload)),r=`${e.messageId}
5
+ OR `);function ff(e,t,r=[]){let n=new Set([...t,...r]);if(t.some(i=>!(i in e))||Object.keys(e).some(i=>!n.has(i)))throw new yt.AgentOperationContractError("invalid_contract","contract contains missing or unknown fields")}function nO(e,t){let r=(0,yt.bounded)(e,t,36).toLowerCase();if(!jEr.test(r))throw new yt.AgentOperationContractError("invalid_contract",`${t} must be a UUID`);return r}function Y0(e,t){let r=(0,yt.bounded)(e,t,43);if(!qEr.test(r)||!/[AEIMQUYcgkosw048]$/.test(r))throw new yt.AgentOperationContractError("invalid_contract",`${t} must be a canonical 32-byte hash`);return r}function cK(e,t){let r=(0,yt.bounded)(e,t,128);if(!HEr.test(r))throw new yt.AgentOperationContractError("invalid_contract",`${t} must be a stable lowercase token`);return r}function IJe(e,t){let r=(0,yt.bounded)(e,t,32),n=Date.parse(r);if(!Number.isFinite(n)||new Date(n).toISOString()!==r)throw new yt.AgentOperationContractError("invalid_contract",`${t} must be canonical ISO-8601`);return r}function $Er(e){let t={domain:"visa.agent-operation-intent.v1",operationId:e.operationId,idempotencyKey:e.idempotencyKey,agentId:e.agentId,runtimeId:e.runtimeId,rail:e.rail,effect:e.effect,execution:{adapter:e.execution.adapter,commitment:e.execution.commitment,payloadHash:e.execution.payloadHash},createdAt:e.createdAt,expiresAt:e.expiresAt};return(0,yt.canonicalJson)(t)}function zEr(e){let t=(0,yt.record)(e,"principal");if(t.kind==="identity_pop")return ff(t,["kind","popJwt","keyJkt"]),{kind:t.kind,popJwt:(0,yt.bounded)(t.popJwt,"popJwt",16384),keyJkt:Y0(t.keyJkt,"keyJkt")};if(t.kind==="certified_runtime_pop")return ff(t,["kind","popJwt","runtimeCertificate","rootJkt","childJkt"]),{kind:t.kind,popJwt:(0,yt.bounded)(t.popJwt,"popJwt",16384),runtimeCertificate:(0,yt.bounded)(t.runtimeCertificate,"runtimeCertificate",32768),rootJkt:Y0(t.rootJkt,"rootJkt"),childJkt:Y0(t.childJkt,"childJkt")};if(t.kind==="delegated_runtime_lease_pop"){if(ff(t,["kind","v","popJwt","delegation","lease","rootJkt","runtimeJkt"]),t.v!==2)throw new yt.AgentOperationContractError("invalid_principal","delegated runtime lease principal must use version 2");return{kind:t.kind,v:t.v,popJwt:(0,yt.bounded)(t.popJwt,"popJwt",16384),delegation:(0,yt.bounded)(t.delegation,"delegation",32768),lease:(0,yt.bounded)(t.lease,"lease",32768),rootJkt:Y0(t.rootJkt,"rootJkt"),runtimeJkt:Y0(t.runtimeJkt,"runtimeJkt")}}if(t.kind==="tap_signature")return ff(t,["kind","signature","runtimeCertificate","signedPayload"]),{kind:t.kind,signature:(0,yt.bounded)(t.signature,"signature",2048),runtimeCertificate:(0,yt.bounded)(t.runtimeCertificate,"runtimeCertificate",32768),signedPayload:Y0(t.signedPayload,"signedPayload")};throw new yt.AgentOperationContractError("invalid_principal","unsupported principal proof kind")}function xJe(e){let t=(0,yt.record)(e,"money economics");ff(t,["amountMicros","currency","merchant"]);let r=(0,yt.bounded)(t.amountMicros,"amountMicros",40);if(!/^[1-9][0-9]*$/.test(r)||BigInt(r)>Qge)throw new yt.AgentOperationContractError("invalid_amount","amountMicros must be positive and canonical");let n=(0,yt.bounded)(t.currency,"currency",12);if(!VEr.test(n))throw new yt.AgentOperationContractError("invalid_currency","currency must be canonical");let i=(0,yt.record)(t.merchant,"merchant");return ff(i,["id"],["name","url"]),{amountMicros:r,currency:n,merchant:{id:(0,yt.bounded)(i.id,"merchant.id",512),...i.name===void 0?{}:{name:(0,yt.bounded)(i.name,"merchant.name",255)},...i.url===void 0?{}:{url:(0,yt.bounded)(i.url,"merchant.url",2048)}}}}function GEr(e){let t=(0,yt.record)(e,"effect");if(t.kind==="money"){ff(t,["kind","amountMicros","currency","merchant","grantId","budgetEpochId"],["maxAmountMicros"]);let r=xJe({amountMicros:t.amountMicros,currency:t.currency,merchant:t.merchant}),n;if(t.maxAmountMicros!==void 0&&(n=(0,yt.bounded)(t.maxAmountMicros,"maxAmountMicros",40),!/^[1-9][0-9]*$/.test(n)||BigInt(n)>Qge))throw new yt.AgentOperationContractError("invalid_amount","maxAmountMicros must be positive and canonical");return{kind:t.kind,...r,grantId:nO(t.grantId,"grantId"),budgetEpochId:nO(t.budgetEpochId,"budgetEpochId"),...n===void 0?{}:{maxAmountMicros:n}}}if(t.kind==="resource")return ff(t,["kind","resource","action","audience"]),{kind:t.kind,resource:(0,yt.bounded)(t.resource,"resource",4096),action:cK(t.action,"action"),audience:(0,yt.bounded)(t.audience,"audience",255)};throw new yt.AgentOperationContractError("invalid_effect","unsupported operation effect")}function OJe(e,t=Date.now()){let r=(0,yt.record)(e,"operation");if(ff(r,["v","operationId","idempotencyKey","agentId","runtimeId","rail","intentHash","principal","effect","execution","createdAt","expiresAt"]),r.v!==Et.AGENT_OPERATION_VERSION)throw new yt.AgentOperationContractError("unsupported_version","unsupported operation version");let n=(0,yt.record)(r.execution,"execution");ff(n,["adapter","commitment","payloadHash","payload"]);let i=(0,yt.canonicalJsonValue)(n.payload);if(new TextEncoder().encode(JSON.stringify(i)).length>PJe)throw new yt.AgentOperationContractError("invalid_contract","execution payload is too large");let o=Y0(n.commitment,"execution.commitment"),s=Y0(n.payloadHash,"execution.payloadHash"),a=IJe(r.createdAt,"createdAt"),c=IJe(r.expiresAt,"expiresAt");if(!Number.isFinite(t)||Date.parse(a)>t+3e4||Date.parse(a)<t-5*6e4||Date.parse(c)<=t||Date.parse(c)<=Date.parse(a)||Date.parse(c)-Date.parse(a)>10*6e4)throw new yt.AgentOperationContractError("invalid_window","operation validity window is not currently usable");let u={v:Et.AGENT_OPERATION_VERSION,operationId:nO(r.operationId,"operationId"),idempotencyKey:(0,yt.bounded)(r.idempotencyKey,"idempotencyKey",255),agentId:nO(r.agentId,"agentId"),runtimeId:nO(r.runtimeId,"runtimeId"),rail:cK(r.rail,"rail"),intentHash:Y0(r.intentHash,"intentHash"),principal:zEr(r.principal),effect:GEr(r.effect),execution:{adapter:cK(n.adapter,"execution.adapter"),commitment:o,payloadHash:s,payload:i},createdAt:a,expiresAt:c};if(u.rail==="wallet:x402"&&u.effect.kind==="money"&&u.effect.merchant.url===void 0)throw new yt.AgentOperationContractError("invalid_contract","merchant.url is required for wallet:x402 operations");if(u.principal.kind==="tap_signature"&&u.principal.signedPayload!==u.intentHash)throw new yt.AgentOperationContractError("intent_mismatch","TAP signedPayload must equal the universal operation intentHash");return u}function KEr(e){let t=(0,yt.record)(e,"evidence");if(ff(t,["v","operationId","adapter","outcome","artifactHash","providerReference","proof"],["settledMicros"]),t.v!==Et.EXECUTION_EVIDENCE_VERSION||t.outcome!=="committed"&&t.outcome!=="released")throw new yt.AgentOperationContractError("invalid_evidence","unsupported evidence version or outcome");let r;if(t.settledMicros!==void 0){if(r=(0,yt.bounded)(t.settledMicros,"settledMicros",40),!/^(?:0|[1-9][0-9]*)$/.test(r)||BigInt(r)>Qge)throw new yt.AgentOperationContractError("invalid_evidence","settledMicros is not canonical");if(t.outcome==="released"&&r!=="0")throw new yt.AgentOperationContractError("settlement_amount_invalid","released evidence must settle zero")}let n=(0,yt.canonicalJsonValue)(t.proof);if(new TextEncoder().encode(JSON.stringify(n)).length>PJe)throw new yt.AgentOperationContractError("invalid_evidence","evidence proof is too large");return{v:Et.EXECUTION_EVIDENCE_VERSION,operationId:nO(t.operationId,"operationId"),adapter:cK(t.adapter,"adapter"),outcome:t.outcome,artifactHash:Y0(t.artifactHash,"artifactHash"),...r===void 0?{}:{settledMicros:r},providerReference:(0,yt.bounded)(t.providerReference,"providerReference",255),proof:n}}function WEr(e,t=Date.now()){let r=(0,yt.record)(e,"prepared operation");ff(r,["operationId","idempotencyKey","agentId","runtimeId","rail","intentHash","effect","execution","createdAt","expiresAt"]);let{v:n,principal:i,...o}=OJe({...r,v:1,principal:{kind:"identity_pop",popJwt:"unsigned",keyJkt:"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},t);return o}function YEr(e){let t=r=>btoa(String.fromCharCode(...new TextEncoder().encode(JSON.stringify(r)))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return`${t({alg:"EdDSA",kid:e.childJkt,typ:"visa-agent-pop+jwt"})}.${t({cnf:{jwk:{kty:e.childPublicJwk.kty,crv:e.childPublicJwk.crv,x:e.childPublicJwk.x}},nonce:e.operationId,aud:"visa-agent-operations:v1",iat:e.issuedAtSec,int:e.intentHash,...e.runtimeCertificate?{rkc:e.runtimeCertificate}:{}})}`}});var dK=_(uK=>{"use strict";Object.defineProperty(uK,"__esModule",{value:!0});uK.parsePurchaseTerms=RJe;uK.purchaseTermsPreimage=ZEr;var cn=J_(),JEr=X_();function iO(e,t){if(Object.keys(e).sort().join(",")!==[...t].sort().join(","))throw new cn.AgentOperationContractError("invalid_contract","purchase terms fields are not canonical")}function RJe(e){let t=(0,cn.record)(e,"purchase terms"),r=t.profile==="exact_card_checkout_v1";if(iO(t,["v","profile","alternatives",...r?["checkout","disclosureMode",...t.merchantCountryCode===void 0?[]:["merchantCountryCode"]]:[]]),t.v!==1||typeof t.profile!="string"||!["url_resource_v1","approved_x402_request_v1","exact_card_checkout_v1"].includes(String(t.profile)))throw new cn.AgentOperationContractError("unsupported_version","unsupported purchase terms profile");if(!Array.isArray(t.alternatives)||t.alternatives.length<1||t.alternatives.length>2)throw new cn.AgentOperationContractError("invalid_contract","purchase requires one or two exact rail alternatives");let n=t.profile==="approved_x402_request_v1";if(n&&t.alternatives.length!==1)throw new cn.AgentOperationContractError("invalid_contract","request-bound purchase requires one wallet alternative");let i=t.alternatives.map(o=>{let s=(0,cn.record)(o,"purchase alternative"),a=(0,JEr.parseAgentMoneyEconomics)(s.economics),c=(0,cn.bounded)(a.merchant.url,"purchase resource URL",2048),u;try{u=new URL(c)}catch{throw new cn.AgentOperationContractError("invalid_contract","purchase resource URL is invalid")}if(u.protocol!=="https:"||u.username||u.password||u.hash)throw new cn.AgentOperationContractError("invalid_contract","purchase requires an HTTPS resource without credentials or fragment");if(s.rail==="wallet:x402"){iO(s,["rail","economics","network","asset","payee",...n?["requestHash"]:[]]);let d=n?(0,cn.bounded)(s.requestHash,"request hash",43):void 0;if(d!==void 0&&!/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/.test(d))throw new cn.AgentOperationContractError("invalid_contract","invalid request hash");let l=(0,cn.bounded)(s.network,"network",64),p=(0,cn.bounded)(s.asset,"asset",128),f=(0,cn.bounded)(s.payee,"payee",42);if(!/^eip155:[1-9][0-9]{0,15}$/.test(l)||!new RegExp(`^${l}/erc20:0x[0-9a-f]{40}$`).test(p)||!/^0x[0-9a-f]{40}$/.test(f)||a.currency!=="USDC")throw new cn.AgentOperationContractError("invalid_contract","invalid exact wallet economic coordinates");return{rail:s.rail,economics:a,network:l,asset:p,payee:f,...d?{requestHash:d}:{}}}if(s.rail==="card:vic"&&!n){if(iO(s,["rail","economics","processorAction","captureMode"]),s.processorAction!=="charge_and_capture"||s.captureMode!=="exact"||a.currency!=="USD"||BigInt(a.amountMicros)%10000n!==0n)throw new cn.AgentOperationContractError("invalid_contract","purchase card profile requires exact whole-cent capture");return{rail:s.rail,economics:a,processorAction:"charge_and_capture",captureMode:"exact"}}throw new cn.AgentOperationContractError("invalid_contract","unsupported purchase rail")});if(new Set(i.map(o=>o.rail)).size!==i.length)throw new cn.AgentOperationContractError("invalid_contract","purchase rail alternatives must be unique");if(i.sort((o,s)=>o.rail<s.rail?-1:o.rail>s.rail?1:0),r){if(i.length!==1||i[0].rail!=="card:vic"||!i[0].economics.merchant.name)throw new cn.AgentOperationContractError("invalid_contract","exact checkout requires one card alternative");if(t.disclosureMode!=="private"&&t.disclosureMode!=="agent_history")throw new cn.AgentOperationContractError("invalid_contract","unsupported card disclosure mode");if(t.merchantCountryCode!==void 0&&(typeof t.merchantCountryCode!="string"||!/^[A-Z]{2}$/.test(t.merchantCountryCode)))throw new cn.AgentOperationContractError("invalid_contract","invalid merchant country");return{v:1,profile:"exact_card_checkout_v1",...t.merchantCountryCode===void 0?{}:{merchantCountryCode:t.merchantCountryCode},alternatives:i,checkout:XEr(t.checkout,i[0].economics.amountMicros),disclosureMode:t.disclosureMode}}return{v:1,profile:t.profile,alternatives:i}}function XEr(e,t){let r=(0,cn.record)(e,"checkout");iO(r,["id","revision","source","expiresAt","items","taxMicros","shippingMicros","discountMicros","fulfillment","customerHash"]);let n=()=>{throw new cn.AgentOperationContractError("invalid_contract","invalid exact card checkout")},i=l=>((typeof l!="string"||!/^(0|[1-9][0-9]{0,17})$/.test(l)||BigInt(l)%10000n!==0n)&&n(),l),o=l=>((typeof l!="string"||!/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/.test(l))&&n(),l);(r.source!=="runtime_observed"||typeof r.expiresAt!="string"||!Number.isFinite(Date.parse(r.expiresAt))||new Date(r.expiresAt).toISOString()!==r.expiresAt||!Array.isArray(r.items)||r.items.length<1||r.items.length>100)&&n();let s=r.items.map(l=>{let p=(0,cn.record)(l,"checkout item");return iO(p,["id","name","quantity","totalMicros"]),(!Number.isSafeInteger(p.quantity)||Number(p.quantity)<1||Number(p.quantity)>1e6)&&n(),{id:(0,cn.bounded)(p.id,"checkout item ID",256),name:(0,cn.bounded)(p.name,"checkout item name",512),quantity:p.quantity,totalMicros:i(p.totalMicros)}});new Set(s.map(l=>l.id)).size!==s.length&&n();let a=i(r.taxMicros),c=i(r.shippingMicros),u=i(r.discountMicros);s.reduce((l,p)=>l+BigInt(p.totalMicros),0n)+BigInt(a)+BigInt(c)-BigInt(u)!==BigInt(t)&&n();let d=(0,cn.record)(r.fulfillment,"checkout fulfillment");return iO(d,["method","detailsHash"]),{id:(0,cn.bounded)(r.id,"checkout ID",256),revision:(0,cn.bounded)(r.revision,"checkout revision",256),source:"runtime_observed",expiresAt:r.expiresAt,items:s,taxMicros:a,shippingMicros:c,discountMicros:u,fulfillment:{method:(0,cn.bounded)(d.method,"fulfillment method",256),detailsHash:o(d.detailsHash)},customerHash:o(r.customerHash)}}function ZEr(e){return(0,cn.canonicalJson)({domain:"visa.purchase-terms.v1",terms:RJe(e)})}});var t1e=_(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.ACCOUNT_OPERATION_EVIDENCE_TYPES=ic.ACCOUNT_OPERATION_PROOF_LEVELS=ic.ACCOUNT_OPERATION_OUTCOMES=ic.ACCOUNT_OPERATION_RECEIPT_SCHEMA_VERSION=void 0;ic.cardProofLevel=QEr;ic.cardStatusClaimsProcessorTruth=eSr;ic.parseAccountOperationReceipt=nSr;ic.ACCOUNT_OPERATION_RECEIPT_SCHEMA_VERSION=1;ic.ACCOUNT_OPERATION_OUTCOMES=["pending","completed","failed","uncertain","released","reversed","disputed"];ic.ACCOUNT_OPERATION_PROOF_LEVELS=["none","platform_observed","merchant_reported","owner_attested","processor_confirmed","network_verified","settled"];var NJe={sale_accepted:"merchant_reported",auth_held:"merchant_reported",capture_pending:"merchant_reported",captured:"processor_confirmed",voided:"processor_confirmed",refunded:"processor_confirmed",partially_refunded:"processor_confirmed",refund_pending:"processor_confirmed",chargeback_open:"processor_confirmed",chargeback_lost:"processor_confirmed",chargeback_won:"processor_confirmed",pending:"platform_observed",needs_reconciliation:"platform_observed"};function QEr(e,t){let r=NJe[e]??"platform_observed";return r==="processor_confirmed"&&!t?"merchant_reported":r}function eSr(e){return NJe[e]==="processor_confirmed"}ic.ACCOUNT_OPERATION_EVIDENCE_TYPES=["platform_activity","merchant_confirmation","card_lifecycle","onchain_transaction"];function PS(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Z_(e){return e===null||typeof e=="string"}function Gk(e){return typeof e=="string"&&e.length>0&&!Number.isNaN(Date.parse(e))}function xS(e,t){let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,o)=>i===n[o])}function tSr(e){return PS(e)?xS(e,["type","source","observedAt","reference","url"])&&typeof e.type=="string"&&ic.ACCOUNT_OPERATION_EVIDENCE_TYPES.includes(e.type)&&typeof e.source=="string"&&Gk(e.observedAt)&&Z_(e.reference)&&Z_(e.url):!1}function rSr(e){return PS(e)?xS(e,["type","at"])&&typeof e.type=="string"&&e.type.length>0&&Gk(e.at):!1}function nSr(e){if(!PS(e)||!xS(e,["schemaVersion","operationId","activityId","payment","route","party","authority","outcome","evidence","timeline","dataCompleteness"])||e.schemaVersion!==ic.ACCOUNT_OPERATION_RECEIPT_SCHEMA_VERSION||typeof e.operationId!="string"||typeof e.activityId!="string"||e.dataCompleteness!=="complete"&&e.dataCompleteness!=="partial"||!Array.isArray(e.evidence)||!e.evidence.every(tSr)||!Array.isArray(e.timeline)||!e.timeline.every(rSr))return null;let t=e.payment,r=e.route,n=e.party,i=e.authority,o=e.outcome;return!PS(t)||!xS(t,["amountAtomic","decimals","currency","merchant","description","createdAt"])||typeof t.amountAtomic!="string"||!/^\d+$/.test(t.amountAtomic)||typeof t.decimals!="number"||!Number.isInteger(t.decimals)||t.decimals<0||t.decimals>18||typeof t.currency!="string"||typeof t.merchant!="string"||typeof t.description!="string"||!Gk(t.createdAt)||!PS(r)||!xS(r,["rail","protocol","network","cardLast4"])||r.rail!=="wallet"&&r.rail!=="card"||!(r.protocol===null||r.protocol==="x402"||r.protocol==="mpp"||r.protocol==="vic"||r.protocol==="virtual_card")||!Z_(r.network)||!Z_(r.cardLast4)||!PS(n)||!xS(n,["agentId","agentName"])||!Z_(n.agentId)||!Z_(n.agentName)||!PS(i)||!xS(i,["grantId","mandateId","drawId"])||!Z_(i.grantId)||!Z_(i.mandateId)||!Z_(i.drawId)||!PS(o)||!xS(o,["status","proofLevel","final","updatedAt","finalizesBy"])||typeof o.status!="string"||!ic.ACCOUNT_OPERATION_OUTCOMES.includes(o.status)||typeof o.proofLevel!="string"||!ic.ACCOUNT_OPERATION_PROOF_LEVELS.includes(o.proofLevel)||typeof o.final!="boolean"||!Gk(o.updatedAt)||!(o.finalizesBy===null||Gk(o.finalizesBy))?null:e}});var kJe=_(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.PURCHASE_RESOURCE_AUDIENCE=ip.PURCHASE_OBSERVATIONS=void 0;ip.parsePurchaseReceipt=sSr;ip.parsePurchaseResourceRequest=MJe;ip.purchaseResourceRequestHash=aSr;var iSr=require("node:crypto"),J0=J_(),oSr=dK(),CJe=t1e();ip.PURCHASE_OBSERVATIONS=["credential_delivered","submission_started","buyer_action_required","order_reported","submission_failed"];function sSr(e,t){let r=(0,J0.record)(e,"purchase receipt"),n=(0,J0.record)(r.outcome,"purchase outcome");if(!t||r.operationId!==t||typeof r.credentialIssued!="boolean"||!CJe.ACCOUNT_OPERATION_OUTCOMES.includes(n.status)||!CJe.ACCOUNT_OPERATION_PROOF_LEVELS.includes(n.proofLevel)||typeof n.final!="boolean"||!Array.isArray(r.observations)||r.observations.length>ip.PURCHASE_OBSERVATIONS.length||r.observations.some(o=>!ip.PURCHASE_OBSERVATIONS.includes(o))||new Set(r.observations).size!==r.observations.length)throw new J0.AgentOperationContractError("invalid_contract","invalid purchase receipt");let i=r.refusal===void 0?void 0:(0,J0.record)(r.refusal,"refusal");if(i!==void 0&&(!Number.isSafeInteger(i.providerStatus)||Number(i.providerStatus)<100||Number(i.providerStatus)>999||typeof i.providerCode!="string"||!/^[a-z0-9_]{1,64}$/.test(i.providerCode)||n.status!=="failed"||n.final!==!0||r.credentialIssued!==!1))throw new J0.AgentOperationContractError("invalid_contract","invalid purchase refusal");return{operationId:t,credentialIssued:r.credentialIssued,outcome:{status:n.status,proofLevel:n.proofLevel,final:n.final},observations:r.observations,...i?{refusal:{providerStatus:Number(i.providerStatus),providerCode:i.providerCode}}:{}}}ip.PURCHASE_RESOURCE_AUDIENCE="visa:purchase-resource:v1";function MJe(e){let t=(0,J0.record)(e,"purchase request"),r=()=>{throw new J0.AgentOperationContractError("invalid_contract","invalid purchase request")};(t.v!==1||typeof t.action!="string"||!["create","retrieve","cancel"].includes(t.action))&&r();let n=["v","action","requestId","agentId","runtimeId",...t.action==="create"?["requestKey","terms"]:["purchaseId"],...t.action==="retrieve"&&t.include!==void 0?["include"]:[],...t.action==="retrieve"&&t.observation!==void 0?["observation"]:[]];Object.keys(t).sort().join(",")!==n.sort().join(",")&&r(),t.include!==void 0&&t.include!=="card"&&r();let i;if(t.observation!==void 0){t.include!==void 0&&r();let s=(0,J0.record)(t.observation,"purchase observation");(Object.keys(s).sort().join(",")!=="attemptId,kind,termsHash"||!ip.PURCHASE_OBSERVATIONS.includes(s.kind)||typeof s.attemptId!="string"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(s.attemptId)||typeof s.termsHash!="string"||!/^[A-Za-z0-9_-]{43}$/.test(s.termsHash))&&r(),i=s}for(let s of["requestId","agentId","runtimeId",...t.action==="create"?[]:["purchaseId"]])(typeof t[s]!="string"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(t[s]))&&r();let o={v:1,requestId:t.requestId,agentId:t.agentId,runtimeId:t.runtimeId};if(t.action==="create"){let s=(0,oSr.parsePurchaseTerms)(t.terms);return(s.profile!=="exact_card_checkout_v1"||s.alternatives.length!==1||s.alternatives[0].rail!=="card:vic")&&r(),{...o,action:"create",requestKey:(0,J0.bounded)(t.requestKey,"purchase request key",256),terms:s}}return{...o,action:t.action,purchaseId:t.purchaseId,...t.action==="retrieve"&&t.include==="card"?{include:"card"}:{},...i?{observation:i}:{}}}function aSr(e){return(0,iSr.createHash)("sha256").update((0,J0.canonicalJson)({domain:ip.PURCHASE_RESOURCE_AUDIENCE,request:MJe(e)})).digest("base64url")}});var o1e=_(wn=>{"use strict";var cSr=wn&&wn.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),r1e=wn&&wn.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&cSr(t,e,r)};Object.defineProperty(wn,"__esModule",{value:!0});wn.CARD_ADMISSION_RECOVERY_AUDIENCE=void 0;wn.cardAdmissionRecoveryRequestHash=uSr;wn.agentOperationIntentHash=n1e;wn.agentExecutionCommitment=i1e;wn.purchaseTermsHash=dSr;wn.purchaseAlternativeFromOperation=lSr;wn.x402ResourceCommitment=pSr;wn.agentOperationIdempotencyKey=LJe;wn.purchaseAttemptIdempotencyKey=fSr;wn.agentOperationTermsFingerprint=UJe;wn.legacyAgentOperationEnvelopeFingerprint=BJe;wn.persistedAgentOperationMatchesTerms=mSr;wn.artifactHash=hSr;wn.prepareAgentOperationV1=jJe;wn.finalizeAgentOperationV1=qJe;wn.createAgentOperationV1=_Sr;wn.parseHistoricalAgentOperation=ySr;wn.parseAgentOperation=Kk;var X0=require("node:crypto"),To=J_(),DJe=dK();r1e(dK(),wn);r1e(kJe(),wn);var lK=X_();r1e(X_(),wn);wn.CARD_ADMISSION_RECOVERY_AUDIENCE="visa:card-admission-recovery:v1";function uSr(e,t){return(0,X0.createHash)("sha256").update("visa:card-admission-recovery:v1\0","utf8").update((0,To.canonicalJson)({original:e,replacement:t}),"utf8").digest("base64url")}function n1e(e){return(0,X0.createHash)("sha256").update((0,lK.agentOperationIntentPreimage)(e)).digest("base64url")}function i1e(e){return(0,X0.createHash)("sha256").update((0,To.canonicalJson)(e)).digest("base64url")}function dSr(e){return(0,X0.createHash)("sha256").update((0,DJe.purchaseTermsPreimage)(e)).digest("base64url")}function lSr(e,t=Date.now()){let r=Kk(e,t);if(r.effect.kind!=="money")throw new To.AgentOperationContractError("invalid_effect","purchase requires financial economics");let{amountMicros:n,currency:i,merchant:o}=r.effect,s={amountMicros:n,currency:i,merchant:o},a=(0,To.record)(r.execution.payload,"purchase native payload"),c=r.rail==="wallet:x402"?["scheme","network","asset","payer","typedData","nonce","keyRef",...a.walletBinding===void 0?[]:["walletBinding"],...a.approvedRequest===void 0&&a.requestHash===void 0?[]:["approvedRequest","requestHash"]]:["mandateId","tokenId","processorIntentId","processorAction","captureMode"];if(Object.keys(a).sort().join(",")!==c.sort().join(","))throw new To.AgentOperationContractError("invalid_contract","purchase producer has unrepresented native fields");let u;if(r.rail==="wallet:x402"&&r.execution.adapter==="wallet.eip3009"){let d=(0,To.record)(a.typedData,"wallet typed data"),l=(0,To.record)(d.message,"wallet message");if(a.scheme!=="exact"||l.value!==n)throw new To.AgentOperationContractError("invalid_amount","wallet value differs from purchase amount");u={rail:r.rail,economics:s,network:a.network,asset:a.asset,payee:l.to,...a.approvedRequest===void 0&&a.requestHash===void 0?{}:{requestHash:a.requestHash}}}else if(r.rail==="card:vic"&&r.execution.adapter==="card.vic")u={rail:r.rail,economics:s,processorAction:a.processorAction,captureMode:a.captureMode};else throw new To.AgentOperationContractError("invalid_contract","unsupported purchase producer profile");if(a.requestHash!==void 0&&(0,X0.createHash)("sha256").update((0,To.canonicalJson)(a.approvedRequest)).digest("base64url")!==a.requestHash)throw new To.AgentOperationContractError("invalid_contract","purchase request hash mismatch");return(0,DJe.parsePurchaseTerms)({v:1,profile:a.requestHash===void 0?"url_resource_v1":"approved_x402_request_v1",alternatives:[u]}).alternatives[0]}function pSr(e){let t=(0,To.bounded)(e,"x402 resource",2048);return(0,X0.createHash)("sha256").update(`visa-x402-resource:v1:${t}`,"utf8").digest("base64url")}function LJe(e){return`economic:${(0,X0.createHash)("sha256").update((0,To.canonicalJson)({domain:"visa.agent-operation-idempotency.v1",agentId:e.agentId,economicIntentId:e.economicIntentId})).digest("base64url")}`}function fSr(e){let t=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;for(let r of["agentId","purchaseId","attemptId"])if(typeof e[r]!="string"||!t.test(e[r]))throw new To.AgentOperationContractError("invalid_contract",`${r} must be a canonical UUID`);if(typeof e.termsHash!="string"||!/^[A-Za-z0-9_-]{43}$/.test(e.termsHash)||Buffer.from(e.termsHash,"base64url").toString("base64url")!==e.termsHash)throw new To.AgentOperationContractError("invalid_contract","termsHash must be canonical SHA-256");return LJe({agentId:e.agentId,economicIntentId:`purchase:${e.purchaseId}:attempt:${e.attemptId}:terms:${e.termsHash}`})}function UJe(e){return(0,X0.createHash)("sha256").update((0,To.canonicalJson)({domain:"visa.agent-operation-terms.v1",operationId:e.operationId,idempotencyKey:e.idempotencyKey,agentId:e.agentId,runtimeId:e.runtimeId,rail:e.rail,effect:e.effect,execution:e.execution})).digest("base64url")}function BJe(e){return(0,X0.createHash)("sha256").update((0,To.canonicalJson)(e)).digest("base64url")}function mSr(e,t,r){return t===r?!0:UJe(e)!==r?!1:t===BJe(e)}function hSr(e){return(0,X0.createHash)("sha256").update((0,To.canonicalJson)(e)).digest("base64url")}var gSr={kind:"identity_pop",popJwt:"unsigned",keyJkt:Buffer.alloc(32).toString("base64url")};function jJe(e,t=Date.now()){let r={v:lK.AGENT_OPERATION_VERSION,...e,principal:gSr,intentHash:Buffer.alloc(32).toString("base64url"),execution:{...e.execution,payloadHash:i1e(e.execution.payload)}};r.intentHash=n1e(r);let n=Kk(r,t),{v:i,principal:o,...s}=n;return s}function qJe(e,t,r=Date.now()){return Kk({v:lK.AGENT_OPERATION_VERSION,...e,principal:t},r)}function _Sr(e,t=Date.now()){let{principal:r,...n}=e;return qJe(jJe(n,t),r,t)}function ySr(e){let t=(0,To.record)(e,"historical operation");if(typeof t.createdAt!="string")throw new To.AgentOperationContractError("invalid_window","historical operation creation time is missing");return Kk(e,Date.parse(t.createdAt))}function Kk(e,t=Date.now()){let r=(0,lK.parseAgentOperationStructure)(e,t);if(i1e(r.execution.payload)!==r.execution.payloadHash)throw new To.AgentOperationContractError("commitment_mismatch","execution payload does not match its commitment");if(n1e(r)!==r.intentHash)throw new To.AgentOperationContractError("intent_mismatch","intentHash does not bind the exact operation effect and execution commitment");return r}});var HJe,VJe=A(()=>{"use strict";HJe=ie(o1e())});var FJe,$Je=A(()=>{"use strict";W_();FJe=ie(o1e());VJe()});function GJe(e){return e?.code==="ENOENT"}function Z0(e){let t=JSON.parse(e),r=!1;function n(i){if(!(!i||typeof i!="object"))for(let[o,s]of Object.entries(i)){if(["networkToken","cryptogramValue","card","privateJwk","private_jwk","seed","secretKey","secret_key","privateKey","d"].includes(o))throw new Error("native_metadata_contains_private_material");if(o==="runtimeKey"&&s&&typeof s=="object"){let a=s;r||=a.v===1&&typeof a.handle=="string"&&/^[0-9a-f]{64}$/.test(a.handle)&&typeof a.binding=="object"}n(s)}}if(n(t),!r)throw new Error("native_metadata_record_required")}function KJe(e,t=process.platform){if(t!=="win32")return Fc(e);try{let r=fi.lstatSync(e);if(!r.isDirectory()||r.isSymbolicLink())throw new Error("native_metadata_directory_invalid");return!0}catch(r){if(GJe(r))return!1;throw r}}function s6(e,t=process.platform){return WJe(e,t,Z0)}function WJe(e,t,r){if(t!=="win32")return Ql(e);if(!KJe(OS.dirname(e),t))return null;let n;try{let i=fi.lstatSync(e);if(!i.isFile()||i.isSymbolicLink()||i.size>X4)throw new Error("native_metadata_file_invalid");n=fi.openSync(e,fi.constants.O_RDONLY|(fi.constants.O_NOFOLLOW??0));let o=fi.fstatSync(n);if(!o.isFile()||o.dev!==i.dev||o.ino!==i.ino)throw new Error("native_metadata_file_changed");let s=Buffer.alloc(X4+1),a=0;for(;a<s.length;){let u=fi.readSync(n,s,a,s.length-a,null);if(u===0)break;a+=u}if(a>X4)throw new Error("native_metadata_file_too_large");let c=new TextDecoder("utf-8",{fatal:!0}).decode(s.subarray(0,a));return r(c),c}catch(i){if(GJe(i))return null;throw i}finally{n!==void 0&&fi.closeSync(n)}}function Q_(e,t,r=process.platform){bSr(e,t,r,Z0)}function bSr(e,t,r,n){if(r!=="win32")return $c(e,t);if(n(t),Buffer.byteLength(t)>X4)throw new Error("native_metadata_file_too_large");if(!KJe(OS.dirname(e),r))throw new Error("native_metadata_directory_missing");let i=OS.join(OS.dirname(e),`.${OS.basename(e)}.${(0,zJe.randomUUID)()}.tmp`),o;try{if(o=fi.openSync(i,"wx",384),fi.writeFileSync(o,t,"utf8"),fi.fsyncSync(o),fi.closeSync(o),o=void 0,fi.renameSync(i,e),WJe(e,r,n)!==t)throw new Error("native_metadata_readback_failed")}finally{o!==void 0&&fi.closeSync(o),fi.rmSync(i,{force:!0})}}var fi,OS,zJe,Wk=A(()=>{"use strict";fi=ie(require("node:fs")),OS=ie(require("node:path")),zJe=require("node:crypto");$Je();$_()});var oO=_((x2i,ESr)=>{ESr.exports={name:"@visa/cli",version:"5.0.0-rc.363",description:"Visa CLI runtime for stable agent identity and separately authorized payment capabilities",bin:{"visa-cli":"./bin/visa-cli.js",visa:"./bin/visa-cli.js","visa-runtime-converge":"./dist/managed-runtime/resolve-and-update.mjs"},scripts:{"sync:server-json":"node scripts/sync-server-json.mjs","check:server-json":"node scripts/sync-server-json.mjs --check",prebuild:"node scripts/sync-server-json.mjs && pnpm --filter @visa/shared build && pnpm --filter @visa/observability build && pnpm --filter @visa/money build && pnpm --filter @visa/crypto build && pnpm --filter @visa-cli/tools build && pnpm --filter @visa/identity build && pnpm --filter @visa/wallet build && pnpm --filter @visa/agent-mail build && pnpm --filter @visa/wallet-tools build",build:"tsc --noEmit && node esbuild.config.js",prepack:"node scripts/sync-server-json.mjs --check",dev:"tsc --watch",pretest:"pnpm build",start:"node dist/mcp-server/index.js",test:"jest --config jest.config.js","test:unit":"jest --config jest.config.js","test:unit:watch":"jest --config jest.config.js --watch","test:unit:coverage":"jest --config jest.config.js --coverage","test:smoke":"VISA_AUTH_URL=https://auth.visacli.sh jest --config jest.smoke.config.js","test:packed":"node scripts/packed-cli-smoke.mjs","test:integration":"jest --config jest.integration.config.js","test:e2e":"jest --config jest.e2e.config.js","coinbase:onramp":"pnpm exec tsx tests/e2e/coinbase-onramp-harness/run.ts","test:all":"npm run test:unit && npm run test:integration && npm run test:e2e",prepublishOnly:"npm run build && npm test",lint:"eslint src/**/*.ts",format:'prettier --write "src/**/*.ts"',"format:check":'prettier --check "src/**/*.ts"'},keywords:["visa","checkout","mcp","ai-agent","payments","click-to-pay","usdc","stablecoin"],author:"Visa Crypto Labs",license:"SEE LICENSE IN LICENSE",dependencies:{"@modelcontextprotocol/ext-apps":"1.7.5","@modelcontextprotocol/server":"2.0.0","@ucp-js/sdk":"0.4.4",commander:"^12.1.0",punycode:"^2.3.1",toml:"^4.3.0",yaml:"^2.9.0",zod:"^3.25.76"},devDependencies:{"@types/express":"^5.0.0","@types/jest":"^30.0.0","@types/node":"^26.1.0","@typescript-eslint/eslint-plugin":"^8.68.0","@typescript-eslint/parser":"^8.68.0","@visa-cli/tools":"workspace:*","@visa/agent-mail":"workspace:*","@visa/crypto":"workspace:*","@visa/identity":"workspace:*","@visa/money":"workspace:*","@visa/observability":"workspace:*","@visa/shared":"workspace:*","@visa/wallet":"workspace:*","@visa/wallet-tools":"workspace:*",esbuild:"^0.28.1",eslint:"^10.0.2",express:"^4.21.0",jest:"^29.7.0",prettier:"^3.9.6","ts-jest":"^29.4.12",typescript:"^5.7.0"},engines:{node:">=20.0.0"},mcpName:"io.github.visa-crypto-labs/visa-cli",files:["bin/visa-cli.js","dist/","install.ps1","install.sh","native/visa-keychain.m","native/visa-keychain-win.cpp","native/build-win.bat","native/bin/win32-x64/visa-keychain-win.exe","server.json","README.md","native/bin/*/visa-runtime-signer*"]}});async function qXe(e,t){let r=t?.timeoutMs??3e4,n=new AbortController,i=setTimeout(()=>n.abort(),r);try{let{timeoutMs:o,...s}=t??{};return await fetch(e,{...s,signal:n.signal})}finally{clearTimeout(i)}}var HXe=A(()=>{"use strict"});function Tvr(){return Object.fromEntries(Svr.map(e=>[e,vvr]))}function y1e(e){if(!e||typeof e!="object")return null;let t=e,n=(t.cause&&typeof t.cause=="object"?t.cause.code:void 0)??(typeof t.code=="string"?t.code:void 0);return typeof n=="string"&&n.length>0?n:null}function b1e(e){let t=e&&typeof e=="object"?e:{};if(t.name==="AbortError"||typeof t.message=="string"&&t.message.includes("aborted"))return"The request timed out. The server may be under heavy load. Please try again.";let r=y1e(e);return r&&VXe[r]?VXe[r]:`Network error contacting the Visa CLI server (${r?`${r}: ${typeof t.message=="string"?t.message:"unknown"}`:typeof t.message=="string"&&t.message.length>0?t.message:"unknown error"}). Check https://visacli.sh for status.`}var Svr,vvr,VXe,E1e=A(()=>{"use strict";Svr=["UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","CERT_UNTRUSTED"],vvr="This machine does not trust the certificate offered for the Visa CLI server, so the request never left it. The server is not down, and neither retrying nor signing in again can help. A network that inspects TLS traffic does this: point Node at its root certificate with NODE_EXTRA_CA_CERTS=/path/to/root.pem, or use a network that does not inspect. Do not disable certificate verification.";VXe={ENOTFOUND:"Cannot resolve the Visa CLI server hostname (DNS error). Check your internet connection or the auth.serverUrl setting.",EAI_AGAIN:"DNS lookup for the Visa CLI server failed temporarily. Check your internet connection and try again.",ECONNREFUSED:"The Visa CLI server refused the connection. The service may be down \u2014 check https://visacli.sh for status.",ECONNRESET:"The connection to the Visa CLI server was reset mid-request. Try again in a moment.",EHOSTUNREACH:"The Visa CLI server is unreachable from this network. Check your internet connection.",ETIMEDOUT:"The connection to the Visa CLI server timed out. Try again or check https://visacli.sh for status.",CERT_HAS_EXPIRED:"The Visa CLI server's TLS certificate is expired. Check https://visacli.sh for status; do not bypass the cert.",...Tvr(),ERR_TLS_CERT_ALTNAME_INVALID:"The certificate offered for the Visa CLI server is for a different hostname. Check the auth.serverUrl setting. Do not disable certificate verification.",UND_ERR_CONNECT_TIMEOUT:"The connection to the Visa CLI server timed out before it could be established. Try again in a moment.",UND_ERR_SOCKET:"The connection to the Visa CLI server was interrupted. Try again in a moment."}});function FXe(){return`Run ${Avr} or call ${wvr}, open the printed URL, enter the code at ${Ivr}, approve the device and its limits, then pay with the pay tool. Do not retry the retired command; nothing was signed, paired, or paid.`}var Avr,wvr,Ivr,J2i,X2i,Z2i,$Xe=A(()=>{"use strict";Avr="visa connect",wvr="agent_enroll",Ivr="/agent/enroll/protected-agent",J2i=Object.freeze(["setup_start","setup_status","setup_resume","setup_cancel","setup_agent","enroll_agent","agent_pairing_cancel","agent_handoff_claim","agent_connect","agent_connect_cancel","agent_connect_poll"]),X2i=Object.freeze(["create","verify","enroll-claim","pair","claim","pairing-resume","cancel","handoff-claim","connect","grant-wallet","grant-card","grant-activate","grant-claim","grants","grant-cancel","grant-batch"]),Z2i=Object.freeze(["setup","agent","wallet","find","inspect","receipt","connections","keys","security","checkout","mandate","logout","capabilities","feedback","status","pay","purchase","limits","fund","activity"])});var RK,S1e,zXe,OK,GXe=A(()=>{"use strict";RK=ie(require("fs")),S1e=ie(require("path")),zXe=ie(require("os")),OK=class{static ensureConfigDir(){let t=this.getConfigDir();RK.existsSync(t)||RK.mkdirSync(t,{recursive:!0,mode:448})}static getConfigDir(){let t=process.env.VISA_CLI_HOME;return typeof t=="string"&&t.trim().length>0?S1e.join(t,".visa-mcp"):S1e.join(zXe.homedir(),".visa-mcp")}}});function KXe(e){let t=YXe.homedir();return t&&e.startsWith(t)?`~${e.slice(t.length)}`:e}function Ovr(){return JXe.join(OK.getConfigDir(),Pvr)}function XXe(e){if((0,v1e.isIP)(e)!==4)return!1;let[t]=e.split(".").map(Number);return t===127}function Rvr(e){let t=e.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i);if(!t)return!1;let r=Number.parseInt(t[1],16),n=Number.parseInt(t[2],16);if(!Number.isFinite(r)||!Number.isFinite(n))return!1;let i=[r>>8&255,r&255,n>>8&255,n&255].join(".");return XXe(i)}function Nvr(e){let t=e.toLowerCase().replace(/^\[(.*)\]$/,"$1");if(t==="localhost")return!0;let r=(0,v1e.isIP)(t);return r===4?XXe(t):r===6?t==="::1"||Rvr(t):!1}function WXe(e,t="auth.serverUrl"){let r;try{r=new URL(e)}catch{throw new Error(`${t} must be a valid URL (got: ${JSON.stringify(e)})`)}if(r.username||r.password)throw new Error(`${t} must not include username or password credentials`);if(r.protocol!=="https:"&&!(r.protocol==="http:"&&Nvr(r.hostname)))throw new Error(`${t} ${xvr}`)}function ZXe(){let e=Ovr();if(!cO.existsSync(e))return{};try{let t=cO.readFileSync(e,"utf-8"),r=JSON.parse(t);return!r||typeof r!="object"||Array.isArray(r)?(Un.warn("settings:corrupt",{path:KXe(e),reason:"not_object"}),{}):r}catch(t){return Un.warn("settings:corrupt",{path:KXe(e),error:t?.message||String(t)}),{}}}function T1e(e){let t=ZXe()[e];return typeof t=="string"?t:void 0}function Cvr(e){let t=ZXe()[e];return typeof t=="boolean"?t:void 0}function kvr(e){return typeof e=="string"&&/-(?:rc|alpha|beta)\./i.test(e)}function Dvr(){try{let e=oO();return kvr(e.version)}catch{return!1}}function Lvr(e){return e.envVar!==void 0&&e.envVar!==""?(WXe(e.envVar,"VISA_AUTH_URL"),e.envVar):e.settingValue!==void 0?(WXe(e.settingValue,"auth.serverUrl"),e.settingValue):e.isPrerelease?A1e:Mvr}function u6(){return Lvr({envVar:process.env.VISA_AUTH_URL,settingValue:T1e("auth.serverUrl"),isPrerelease:Dvr()})}function QXe(e=process.env){let t=[e.VISA_SUPPRESS_BROWSER,e.VISA_CLI_NO_BROWSER,e.CHECKOUT_SKIP_BROWSER_OPEN];return t.some(r=>r==="true"||r==="1")?!0:t.some(r=>r!==void 0)?!1:Cvr("ui.suppressBrowser")??!1}var cO,v1e,YXe,JXe,Pvr,xvr,Mvr,A1e,d6=A(()=>{"use strict";cO=ie(require("fs")),v1e=require("node:net"),YXe=ie(require("os")),JXe=ie(require("path"));GXe();ep();Pvr="settings.json",xvr="must use https unless it points at localhost/loopback for local development";Mvr="https://auth.visacli.sh",A1e="https://auth-visa-code-preview.up.railway.app"});function NK(e){return w1e(e)!==null}function I1e(e,t){let r=w1e(e),n=w1e(t);if(!r||!n)return!1;for(let i=0;i<3;i++)if(r.main[i]!==n.main[i])return r.main[i]>n.main[i];return r.pre&&!n.pre?!1:!r.pre&&n.pre?!0:!r.pre&&!n.pre?!1:Bvr(r.pre,n.pre)>0}function w1e(e){if(typeof e!="string")return null;let r=e.trim().replace(/^v/,"").match(Uvr);return r?{main:[Number(r[1]),Number(r[2]),Number(r[3])],pre:r[4]??null}:null}function Bvr(e,t){let r=e.split("."),n=t.split("."),i=Math.max(r.length,n.length);for(let o=0;o<i;o++){if(o>=r.length)return-1;if(o>=n.length)return 1;let s=r[o],a=n[o],c=/^\d+$/.test(s),u=/^\d+$/.test(a);if(c&&u){let d=Number(s)-Number(a);if(d!==0)return d}else{if(c)return-1;if(u)return 1;if(s<a)return-1;if(s>a)return 1}}return 0}var Uvr,CK=A(()=>{"use strict";Uvr=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/});function tZe(e){let t=e||u6();return process.env.VISA_ENVIRONMENT==="staging"||t.includes("staging")||t.includes("up.railway.app")||t.includes("preview")?"staging":process.env.VISA_ENVIRONMENT==="production"||t.includes("auth.visacli.sh")?"production":"development"}var eZe,MK,P1e=A(()=>{"use strict";d6();CK();eZe="4.1.0-rc.70",MK=class extends Error{code="update_required";errorCode="update_required";runningVersion;minCompatibleVersion;updateCommand;constructor(t,r,n){let i=`CLI/MCP update required${n?` for ${n}`:""}: running v${t}, minimum compatible version is v${r}. Run: npm install -g @visa/cli@rc`;super(i),this.name="UpdateRequiredError",this.runningVersion=t,this.minCompatibleVersion=r,this.updateCommand="npm install -g @visa/cli@rc"}toJSON(){return{success:!1,error_code:this.errorCode,error:this.message,runningVersion:this.runningVersion,minCompatibleVersion:this.minCompatibleVersion,updateCommand:this.updateCommand}}}});function uO(){return!!(rZe(process.env.VISA_CLI_NO_UPDATE_CHECK)||rZe(process.env.CI)||process.env.NODE_ENV==="test")}function rZe(e){if(e===void 0)return!1;let t=e.trim().toLowerCase();return!(t===""||t==="0"||t==="false"||t==="no"||t==="off")}var kK=A(()=>{"use strict"});function jvr(){return O1e||(O1e=`ms_${(0,iZe.randomUUID)().replace(/-/g,"")}`),O1e}function qvr(){return x1e?nZe?`${x1e}/${nZe}`.slice(0,96):x1e:null}function rD(){let e={"X-Visa-MCP-Session":jvr()},t=qvr();return t&&(e["X-Visa-MCP-Client"]=t),e}var iZe,x1e,nZe,O1e,DK=A(()=>{"use strict";iZe=require("node:crypto"),x1e=null,nZe=null,O1e=null});function oZe(e){if(!e||typeof e!="object"||Array.isArray(e))throw new Error("runtime service returned an invalid runtime");let t=e;if(typeof t.runtimeId!="string"||typeof t.agentId!="string"||!Hvr.has(String(t.kind))||typeof t.label!="string"||!Vvr.has(String(t.status))||typeof t.credentialAudience!="string"||typeof t.credentialPurpose!="string"||typeof t.createdAt!="string"||!(t.lastSeenAt===null||typeof t.lastSeenAt=="string")||!(t.revokedAt===null||typeof t.revokedAt=="string"))throw new Error("runtime service returned an invalid runtime");return t}function Gvr(e){if(e===null||!/^\d{1,4}$/.test(e))return 3;let t=Number(e);return Number.isSafeInteger(t)&&t>=1&&t<=3600?t:3}function Kvr(e,t){if(e===410&&(t?.code==="route_retired"||t?.error==="route_retired"))return new zc(typeof t?.message=="string"&&t.message.length>0?t.message:"This legacy agent setup route was removed.","legacy_door_removed",{nextAction:FXe(),details:{stage:"retired_door",...typeof t?.replacement=="string"?{replacement:t.replacement}:{}}});if(t?.error==="capability_attach_state_conflict"&&t?.attachId){let c=t.expiresAt?` (expires ${t.expiresAt})`:"",u=t.state?` in state '${t.state}'`:"";return new jd(`A pending capability-attach ceremony (${t.attachId}) is already${u}${c}. Cancel it in the Visa Console, or wait for it to expire.`,e,"capability_attach_state_conflict",void 0,!1)}if((t?.reason==="policy_step_up_required"||t?.error==="spend_policy_step_up_required")&&typeof t?.stepUp?.reviewUrl=="string")return new jd(`Owner confirmation required before this payment. Ask the owner to review and approve it at ${t.stepUp.reviewUrl} \u2014 approving shows them a one-time code. Retry the SAME payment passing that code as stepUpToken.`,e,typeof t?.error=="string"?t.error:void 0,"policy_step_up_required",!1);let r=typeof t?.error=="string"?t.error:void 0,n=typeof t?.reason=="string"?t.reason:void 0,i=typeof t?.retryable=="boolean"?t.retryable:void 0,o=typeof t?.message=="string"&&t.message||n||r||"";if(o)return new jd(o,e,r,n,i);let s=e>=500||e===408||e===425||e===429;return i??s?new jd(`Request failed (${e}). Try again.`,e,void 0,void 0,i):e===404?new jd(`Request failed (${e}) \u2014 not found; check the identifier or slug.`,e,void 0,void 0,i):new jd(`Request failed (${e}).`,e,void 0,void 0,i)}function sh(e){return typeof e=="string"?e.trim():""}function Yvr(e){let t=sh(e.error_code)||sh(e.error);return t?t==="SURFACE_DISABLED"||/(_disabled|_not_configured)$/.test(t):!1}function Jvr(e){let t=e&&typeof e=="object"?e:{},r=sh(t.error)||sh(t.message);if(!r)return Wvr;let n=sh(t.error_code),i=[["surface",sh(t.disabled_surface)],["flag",sh(t.flag)],["correlation_id",sh(t.correlation_id)]].filter(([,s])=>s).map(([s,a])=>`${s}=${a}`),o=i.length?` (${i.join(" ")})`:"";return n?`503 [${n}] ${r}${o}`:`503 ${r}${o}`}function Xvr(e=process.env,t=process.stdin.isTTY){let r=["Not logged in. No local Visa CLI session credentials were found."],n=e.VISA_CLI_API_KEY?.trim();return n&&($vr.test(n)?(r.push("VISA_CLI_API_KEY is set, but this operation requires an enrolled device session."),r.push("Use the Visa Key with X-Api-Key on the /v2/harness/* surface.")):r.push("VISA_CLI_API_KEY is set but has invalid format (expected vk_live_<...> or vk_test_<...>).")),r.push("Run `visa connect` to sign in and connect this device session."),t===!1&&r.push("Complete sign-in in a normal terminal with `visa connect`, then restart the MCP client."),r.join(`
6
+ `)}function ry(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ey(e){return e===null||typeof e=="string"}function ty(e,t){let r=e[t];return typeof r=="string"&&r.length>0?r:void 0}function Zvr(e){if(!ry(e))throw new Error("account activity returned a malformed entry");let t=e.rail;if(t!=="card"&&t!=="x402")throw new Error("account activity entry is missing a valid rail label");let r=e.amountUsd,n={id:e.id,operationId:e.operationId,merchant:e.merchant,description:e.description,currency:e.currency,status:e.status,createdAt:e.createdAt};for(let[i,o]of Object.entries(n))if(typeof o!="string"||o.length===0)throw new Error(`account activity entry is missing ${i}`);if(typeof r!="number"||!Number.isFinite(r))throw new Error("account activity entry is missing a numeric amount");return{id:n.id,operationId:n.operationId,merchant:n.merchant,description:n.description,amountUsd:r,currency:n.currency,status:n.status,rail:t,createdAt:n.createdAt,...ty(e,"failurePhase")?{failurePhase:e.failurePhase}:{},...ty(e,"finalizesBy")?{finalizesBy:e.finalizesBy}:{},...ty(e,"agentId")?{agentId:e.agentId}:{},...ty(e,"agentName")?{agentName:e.agentName}:{},...ty(e,"grantId")?{grantId:e.grantId}:{},...ty(e,"mandateId")?{mandateId:e.mandateId}:{},...ty(e,"drawId")?{drawId:e.drawId}:{},...ty(e,"transactionHash")?{transactionHash:e.transactionHash}:{},...ty(e,"transactionNetwork")?{transactionNetwork:e.transactionNetwork}:{}}}function Qvr(e){if(!ry(e))return null;let{payment:t,route:r,party:n,authority:i,outcome:o}=e;return e.schemaVersion!==1||typeof e.operationId!="string"||typeof e.activityId!="string"||!ry(t)||typeof t.amountAtomic!="string"||typeof t.decimals!="number"||!Number.isSafeInteger(t.decimals)||t.decimals<0||typeof t.currency!="string"||typeof t.merchant!="string"||typeof t.description!="string"||typeof t.createdAt!="string"||!ry(r)||r.rail!=="wallet"&&r.rail!=="card"||!ey(r.protocol)||!ey(r.network)||!ey(r.cardLast4)||!ry(n)||!ey(n.agentId)||!ey(n.agentName)||!ry(i)||!ey(i.grantId)||!ey(i.mandateId)||!ey(i.drawId)||!ry(o)||typeof o.status!="string"||typeof o.proofLevel!="string"||typeof o.final!="boolean"||typeof o.updatedAt!="string"||!ey(o.finalizesBy)||!Array.isArray(e.evidence)||!e.evidence.every(ry)||!Array.isArray(e.timeline)||!e.timeline.every(ry)||e.dataCompleteness!=="complete"&&e.dataCompleteness!=="partial"?null:e}var Hvr,Vvr,nD,Fvr,$vr,zvr,jd,LK,Wvr,mf,NS=A(()=>{"use strict";HXe();Gge();E1e();W_();$Xe();P1e();CK();kK();d6();DK();Hvr=new Set(["local_cli","remote_mcp","mobile","automation","compatibility"]),Vvr=new Set(["pending","active","revoked"]);nD="5.0.0-rc.363",Fvr="1",$vr=/^vk_(?:live|test)_[A-Za-z0-9_-]{16,128}$/,zvr=5e3,jd=class extends Error{constructor(r,n,i,o,s){super(r);this.status=n;this.code=i;this.detail=o;this.serverRetryable=s;this.name="ApiHttpError"}status;code;detail;serverRetryable;get retryable(){return this.serverRetryable??(this.status>=500||this.status===408||this.status===425||this.status===429)}};LK=class extends Error{constructor(r){super("Failed to retrieve task: Task not found");this.taskId=r;this.name="McpTaskNotFoundError"}taskId;rpcCode=-32602};Wvr="Visa CLI is temporarily unavailable. Try again, or report at https://github.com/Visa-Crypto-Labs/Visa-mono/issues if it persists.";mf=class{constructor(t){this.getSessionToken=t;this.baseUrl=u6()}getSessionToken;baseUrl;lastSignals={};parseServerSignals(t){if(this.lastSignals={},!uO()){let n=t.headers.get("X-Latest-Version");n&&I1e(n,nD)&&(this.lastSignals.updateAvailable={currentVersion:nD,latestVersion:n})}let r=t.headers.get("X-Feedback-Prompt");if(r)try{this.lastSignals.feedbackPrompt=JSON.parse(r)}catch{}}getClientVersion(){return nD}getAuthServerOrigin(){return this.baseUrl}async signUcpRequest(t){let r=await this.request("POST","/v4/ucp/sign",t,15e3);if(!r||typeof r!="object"||Array.isArray(r)||!r.headers||typeof r.headers!="object"||Array.isArray(r.headers))throw new Error("UCP signing service returned a malformed response");let n=r.headers,i=Object.keys(n).sort(),o=["content-digest","signature","signature-input"];if(i.length!==o.length||i.some((s,a)=>s!==o[a])||o.some(s=>typeof n[s]!="string"||n[s].length===0||n[s].length>16384||/[\r\n]/.test(n[s])))throw new Error("UCP signing service returned invalid signature headers");return n}throwIfAttestationDrift(t){if(t?.error_code==="ATTESTATION_KEY_DRIFT")throw new qk(t.error||"Your biometric key is out of sync with the server.",typeof t.hint=="string"?t.hint:void 0)}async throwServerUnavailable(t){let r=null;try{r=await t.json()}catch{}let n=Jvr(r),i=r&&typeof r=="object"?r:{};throw Yvr(i)?new eK(n,{status:t.status,disabledSurface:sh(i.disabled_surface)||void 0,flag:sh(i.flag)||void 0,correlationId:sh(i.correlation_id)||void 0}):new QG(n,t.status,typeof i.retryable=="boolean"?i.retryable:!0)}async getAgentSpendability(t){return this.request("GET",`/v1/admin/agents/${encodeURIComponent(t)}/spendability`)}async financialRuntimeRequest(t,r){return this.request("POST",`/v1/financial-runtime/${t}`,r,2e4)}async identityDeviceRequest(t,r){return this.request("POST",`/v1/identity-device/${t}`,r,2e4)}async request(t,r,n,i,o){let s=await this.getSessionToken();if(!s)throw new Hk(Xvr());let a={Authorization:`Bearer ${s}`};o&&(t==="GET"?a["X-User-Context"]=encodeURIComponent(o.replace(/[\r\n\0]/g," ").slice(0,1e3)):n={...n||{},user_context:o}),n&&(a["Content-Type"]="application/json");let c;try{c=await qXe(`${this.baseUrl}${r}`,{method:t,headers:{...a,"X-Visa-CLI-Version":nD,"X-Visa-Agent-Operations-Version":Fvr,"X-Source":"cli",...rD()},body:n?JSON.stringify(n):void 0,timeoutMs:i})}catch(d){let l=new Error(b1e(d)),p=y1e(d);throw p&&(l.code=p),l}if(this.parseServerSignals(c),c.status===401)throw new Hk("Your device session has expired. Run `visa connect` to refresh it (the device is already enrolled).",c.status);if(c.status===429){let d=Gvr(c.headers.get("Retry-After"));throw new tK(`Rate limited \u2014 wait ${d}s, then retry.`,d)}c.status===503&&await this.throwServerUnavailable(c);let u;try{u=await c.json()}catch{if(c.status===500)throw new jd(`Server error on ${r}. Try again or check https://visacli.sh for status.`,c.status);if(!c.ok){let d=c.status>=500||c.status===429||t==="GET"&&(c.status===408||c.status===425);throw new jd(d?`Unexpected response from ${r}. Try again.`:`Unexpected response from ${r} (${c.status}).`,c.status,void 0,void 0,d)}throw new Error(`Unexpected response from ${r}.`)}if(!c.ok){if(c.status===426||u?.error==="update_required"||u?.error_code==="update_required"||u?.errorCode==="update_required"){let d=typeof u?.runningVersion=="string"?u.runningVersion:nD,l=typeof u?.minCompatibleVersion=="string"?u.minCompatibleVersion:eZe;throw new MK(d,l,r)}if(c.status===500){let d=typeof u?.retryable=="boolean"?u.retryable:void 0;throw new jd(d===!1?`Server error on ${r}. Inspect the server error and reconcile the existing attempt.`:`Server error on ${r}. Try again or check https://visacli.sh for status.`,c.status,typeof u?.error=="string"?u.error:void 0,typeof u?.reason=="string"?u.reason:void 0,d)}throw this.throwIfAttestationDrift(u),Kvr(c.status,u)}return u}async emitTelemetry(t){return this.request("POST","/v1/telemetry",{rows:t},zvr)}async merchantDirectorySearch(t,r){let n=new URLSearchParams;return t.provider&&n.set("provider",t.provider),t.q&&n.set("q",t.q),t.protocol&&n.set("protocol",t.protocol),t.maxPriceUsd&&n.set("max_price_usd",t.maxPriceUsd),t.verify&&n.set("verify",t.verify),n.set("limit",String(t.limit)),n.set("offset",String(t.offset)),this.request("GET",`/v1/merchant-directory/search?${n.toString()}`,void 0,void 0,r)}async merchantDirectoryCertified(t){return this.request("GET","/v1/merchant-directory/certified",void 0,void 0,t)}async reportSettlementReceipt(t,r){return this.request("POST","/v4/directory/settlement-receipt",t,void 0,r)}async getAccountActivity(t,r){let n=new URLSearchParams;t!==void 0&&n.set("limit",String(t)),r!==void 0&&n.set("agentId",r);let i=n.size>0?`?${n.toString()}`:"",o=await this.request("GET",`/v4/account/activity${i}`);if(!o||!Array.isArray(o.activity))throw new Error("account activity service returned an invalid response");return o.activity.map(Zvr)}async getAccountActivityReceipt(t){let r;try{r=await this.request("GET",`/v4/account/activity/${encodeURIComponent(t)}`)}catch(i){throw i instanceof jd&&i.status===404?new zc(`account activity entry not found: ${t}`,"activity_entry_not_found"):i}let n=Qvr(r);if(!n)throw new Error("account receipt service returned an invalid or unsupported response");return n}async getStatus(t){return this.request("GET","/v1/status",void 0,void 0,t)}async getAgentTapStatus(t){try{return await this.request("GET",`/v4/agent-bindings/${encodeURIComponent(t)}/tap-status`)}catch{return null}}async listAccountAgents(){try{let t=await this.request("GET","/v4/account/agents");return!t||!Array.isArray(t.agents)?null:t.agents.flatMap(r=>{if(!r||typeof r!="object")return[];let n=r;if(typeof n.agentJkt!="string")return[];let i=n.approvedAuthority,o=i&&typeof i=="object"&&typeof i.grantId=="string"&&typeof i.status=="string"&&typeof i.totalMicros=="string"&&typeof i.perTransactionMicros=="string"&&typeof i.spentMicros=="string"&&typeof i.reservedMicros=="string"&&Array.isArray(i.scopes)?(()=>{let l=i;return{grantId:l.grantId,status:l.status,totalMicros:l.totalMicros,perTransactionMicros:l.perTransactionMicros,spentMicros:l.spentMicros,reservedMicros:l.reservedMicros,scopes:l.scopes.filter(p=>typeof p=="string"),...typeof l.expiresAt=="string"?{expiresAt:l.expiresAt}:{}}})():void 0,s=l=>typeof n[l]=="string"&&n[l].length>0?n[l]:void 0,a=n.executionReadiness,c=a&&typeof a=="object"&&!Array.isArray(a)?(()=>{let l=a,p=["shared","card","wallet"];if(Object.keys(l).some(m=>!p.includes(m))||Object.values(l).some(m=>typeof m!="string"))return;let f=Object.fromEntries(p.filter(m=>m in l).map(m=>[m,l[m]]));return Object.keys(f).length>0?f:void 0})():void 0,u=n.wallet,d=u&&typeof u=="object"&&!Array.isArray(u)?(()=>{let l=u,p=h=>typeof l[h]=="string"?{[h]:l[h]}:{},f=h=>typeof l[h]=="number"&&Number.isFinite(l[h])?{[h]:l[h]}:{},m={...p("walletAddress"),...p("network"),...typeof l.provisioned=="boolean"?{provisioned:l.provisioned}:{},...f("totalLimitCents").totalLimitCents!==void 0?f("totalLimitCents"):typeof l.dailyLimitCents=="number"&&Number.isFinite(l.dailyLimitCents)?{totalLimitCents:l.dailyLimitCents}:{},...f("perTransactionLimitCents")};return Object.keys(m).length>0?m:void 0})():void 0;return[{agentId:typeof n.agentId=="string"?n.agentId:null,agentJkt:n.agentJkt,name:typeof n.name=="string"?n.name:"",revoked:n.revoked===!0,paused:n.paused===!0,...o?{approvedAuthority:o}:{},...s("executionStatus")?{executionStatus:s("executionStatus")}:{},...s("executionStatusReason")?{executionStatusReason:s("executionStatusReason")}:{},...c?{executionReadiness:c}:{},...s("identityKeyStatus")?{identityKeyStatus:s("identityKeyStatus")}:{},...s("tapStatus")?{tapStatus:s("tapStatus")}:{},...d?{wallet:d}:{}}]})}catch{return null}}async listAccountCardMandates(){try{let t=await this.request("GET","/v4/account/card-mandates?includeInactive=1&limit=200");return!t||!Array.isArray(t.mandates)?null:t.mandates.flatMap(r=>{if(!r||typeof r!="object")return[];let n=r;return typeof n.mandateId!="string"||n.mandateId.length===0?[]:[{mandateId:n.mandateId,revokedAt:typeof n.revokedAt=="string"?n.revokedAt:null,expiresAt:typeof n.expiresAt=="string"?n.expiresAt:null}]})}catch{return null}}async revokeAccountCardMandate(t){try{return await this.request("POST",`/v4/account/card-mandates/${encodeURIComponent(t)}/revoke`)}catch{return null}}async getFeatureFlags(){return this.request("GET","/v1/feature-flags")}async checkInternalAccess(t,r,n=!1){let i=await this.request("GET",`/v4/internal-access?feature=${encodeURIComponent(t)}${n?"&strict=1":""}`,void 0,void 0,r);if(typeof i?.allowed!="boolean")throw new Error("Internal access response did not include a boolean allowed field.");return i.allowed}async checkCheckoutAgentAccess(t){return this.checkInternalAccess("checkout-agent",t,!0)}async getAttestationChallenge(){return this.request("GET","/v1/attestation-challenge")}async registerAttestationKey(t,r){return this.request("POST","/v1/attestation-key",{publicKey:t,...r?{attestation:r}:{}})}async setBiometricPreference(t,r){return this.request("POST","/v1/biometric-preference",{...t,confirm:!0},void 0,r)}async logout(t,r){return this.request("POST","/v4/logout",t,void 0,r)}async getAccountSessions(t){return this.request("GET","/v4/account/sessions?redact=true",void 0,void 0,t)}async getSecurityHistory(t=50,r){return this.request("GET",`/v4/account/security-history?limit=${t}&redact=true`,void 0,void 0,r)}async feedback(t,r,n){return this.request("POST","/v1/feedback",{message:t,...r&&{transaction_id:r}},void 0,n)}async createAppApiKey(t){return this.request("POST","/v1/api/keys",t)}async listAppApiKeys(t){let r=new URLSearchParams;t?.limit!=null&&r.set("limit",String(t.limit)),t?.startingAfter!=null&&r.set("starting_after",String(t.startingAfter)),t?.endingBefore!=null&&r.set("ending_before",String(t.endingBefore));let n=r.toString();return this.request("GET",n?`/v1/api/keys?${n}`:"/v1/api/keys")}async listAllAppApiKeys(){let t=[],r=new Set,n,i=null,o=0;for(;;){let s=await this.listAppApiKeys({limit:100,...n!==void 0?{startingAfter:n}:{}});if(o+=1,i=s,t.push(...s.keys??[]),!s.has_more)break;if(s.next_cursor==null)throw new Error("API key pagination response did not include next_cursor.");if(r.has(s.next_cursor))throw new Error("API key pagination cursor did not advance.");r.add(s.next_cursor),n=s.next_cursor}return{...i??{success:!0,keys:[]},keys:t,limit:100,has_more:!1,next_cursor:null,previous_cursor:null,pages:o}}async revokeAppApiKey(t){return this.request("DELETE",`/v1/api/keys/${encodeURIComponent(String(t))}`)}async putMcpTask(t,r){return this.request("PUT",`/v1/mcp-tasks/${encodeURIComponent(t)}`,r)}async getMcpTask(t){try{return await this.request("GET",`/v1/mcp-tasks/${encodeURIComponent(t)}`)}catch(r){throw r instanceof LK?r:r instanceof jd&&r.status===404?new LK(t):r}}async createCapabilityAttach(t,r){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/capability-attach`,{protocolVersion:2,capability:r.capability,...r.aggregateCeilingCents!==void 0?{aggregateCeilingCents:r.aggregateCeilingCents}:{},...r.perPurchaseCents!==void 0?{perPurchaseCents:r.perPurchaseCents}:{},...r.aggregateCeilingMicros!==void 0?{aggregateCeilingMicros:r.aggregateCeilingMicros}:{},...r.perTransactionMicros!==void 0?{perTransactionMicros:r.perTransactionMicros}:{},...r.termsMode?{termsMode:r.termsMode}:{},...r.deviceWalletPublicKey?{deviceWalletPublicKey:r.deviceWalletPublicKey}:{},...r.redelivery?{redelivery:!0}:{}})}async getCapabilityAttachStatus(t,r){return this.request("GET",`/v4/agents/${encodeURIComponent(t)}/capability-attach/${encodeURIComponent(r)}`)}async cancelCapabilityAttach(t,r){let n=await this.request("POST",`/v4/agents/${encodeURIComponent(t)}/capability-attach/${encodeURIComponent(r)}/reject`,{});return{cancelled:n?.rejected===!0,...typeof n?.state=="string"?{state:n.state}:{}}}async revokeSpendingAuthority(t){let r=await this.request("POST",`/v4/agents/${encodeURIComponent(t)}/spending-authority/revoke`,{});if(typeof r?.revoked!="boolean")throw new Error("spending authority revoke service returned an invalid response");return{revoked:r.revoked}}async pauseAgent(t){return{paused:(await this.request("POST",`/v4/account/agents/${encodeURIComponent(t)}/pause`,{}))?.paused===!0}}async renameAgent(t,r){let n=await this.request("PATCH",`/v4/account/agents/${encodeURIComponent(t)}/display-name`,{displayName:r});if(typeof n.displayName!="string")throw new Error("rename service returned an invalid display name");return{renamed:n?.renamed===!0,displayName:n.displayName}}async resumeAgent(t){return{resumed:(await this.request("POST",`/v4/account/agents/${encodeURIComponent(t)}/resume`,{}))?.resumed===!0}}async listAgentRuntimes(t){let r=await this.request("GET",`/v4/account/agents/${encodeURIComponent(t)}/runtimes`);if(!Array.isArray(r.runtimes))throw new Error("runtime service returned an invalid list");return r.runtimes.map(oZe)}async revokeAgentRuntime(t,r){let n=await this.request("POST",`/v4/account/agents/${encodeURIComponent(t)}/runtimes/${encodeURIComponent(r)}/revoke`,{});if(n.outcome!=="revoked"&&n.outcome!=="already_revoked")throw new Error("runtime service returned an invalid revoke result");return{outcome:n.outcome,runtime:oZe(n.runtime)}}async claimAgentForApp(t,r){return{claimed:(await this.request("POST","/v4/account/agent-apps",{agentId:t,harnessId:r}))?.claimed===!0}}async issueAgentEmailChannel(t,r){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/channels/email`,{},void 0,r)}async beginAgentMailRuntimeCredential(t,r){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/channels/email/runtime-credential`,{},void 0,r)}async claimAgentMailRuntimeCredential(t,r,n){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/channels/email/runtime-credentials/${encodeURIComponent(r)}/claim`,n)}async forgetAgentMailRuntimeCredential(t,r){return this.request("POST",`/v4/agents/${encodeURIComponent(t)}/channels/email/forget`,{},void 0,r)}async signTurnkeyTapPayload(t,r){let n=await this.request("POST",`/v4/account/agents/${encodeURIComponent(t)}/keychain/tap-sign`,{signatureBase:r});if(typeof n.signature!="string"||typeof n.keyId!="string")throw new Error("TAP signing service returned an invalid response");return{signature:n.signature,keyId:n.keyId}}}});function pO(e=process.env){return H1e.join(pi(e),"session-recovery")}function l6(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function jK(e,t){let r=new Set(t);return Object.keys(e).every(n=>r.has(n))}function NTr(e){let t=e.toLowerCase().replace(/^\[(.*)\]$/,"$1");if(t==="localhost"||t==="::1")return!0;let r=t.split(".");return r.length===4&&r[0]==="127"&&r.every(n=>/^\d{1,3}$/.test(n)&&Number(n)<=255)}function iy(e){if(typeof e!="string"||e.length===0||e.length>RTr)throw new Error("v4 sign-in URL must be a bounded web origin");let t;try{t=new URL(e)}catch{throw new Error("v4 sign-in URL must be a bounded web origin")}if(t.username.length>0||t.password.length>0||t.search.length>0||t.hash.length>0||t.pathname!==""&&t.pathname!=="/"||t.protocol!=="https:"&&!(t.protocol==="http:"&&NTr(t.hostname)))throw new Error("v4 sign-in URL must use an HTTPS origin (or HTTP loopback)");return t.origin}function CS(e){let t=(0,lO.createHash)("sha256").update(`${e}:visa-cli-handoff-confirm`,"utf8").digest(),r="";for(let n=0;n<xTr;n+=1)r+=AZe[t[n]%AZe.length];return r}function sD(e=pO()){return H1e.join(e,PTr)}function CTr(e){ny.mkdirSync(e,{recursive:!0,mode:448});let t=ny.lstatSync(e);if(t.isSymbolicLink()||!t.isDirectory())throw new Error("login recovery directory must be a real directory, not a symlink");ny.chmodSync(e,448),Fc(e)}function MTr(e){if(!l6(e)||!jK(e,["verifier","challenge","baseUrl","createdAt","expiresAt","serverSkewMs"])||typeof e.verifier!="string"||!TZe.test(e.verifier)||typeof e.challenge!="string"||!TZe.test(e.challenge)||typeof e.baseUrl!="string"||!Number.isSafeInteger(e.createdAt)||e.createdAt<0||e.expiresAt!==void 0&&(!Number.isSafeInteger(e.expiresAt)||e.expiresAt<0)||e.serverSkewMs!==void 0&&!Number.isSafeInteger(e.serverSkewMs))return!1;try{return iy(e.baseUrl)===e.baseUrl&&(0,lO.createHash)("sha256").update(e.verifier,"utf8").digest("base64url")===e.challenge}catch{return!1}}function PZe(e=pO()){let t=Ql(sD(e),{maxBytes:8192});if(t===null)return null;let r;try{r=JSON.parse(t)}catch{throw new Error("local login recovery state contains invalid JSON")}if(!MTr(r))throw new Error("local login recovery state is invalid");return r}function V1e(e){return e.expiresAt!==void 0?{deadline:e.expiresAt,skewMs:e.serverSkewMs??0,source:"server"}:{deadline:e.createdAt+ITr,skewMs:0,source:"local"}}function xZe(e=Date.now(),t=pO()){let r=PZe(t);if(!r)return null;let n=CS(r.verifier),{deadline:i,skewMs:o,source:s}=V1e(r),a=Math.max(0,i-(e+o)),c=Math.floor(a/1e3),u=CZe(r,e);return{verifier:r.verifier,challenge:r.challenge,confirmCode:n,baseUrl:r.baseUrl,createdAt:r.createdAt,expiresAt:new Date(i-o).toISOString(),remainingSeconds:c,likelyExpired:u,expirySource:s}}function wZe(e=pO()){Fc(e)&&ny.rmSync(sD(e),{force:!0})}function RZe(e){return!l6(e)||typeof e.error!="string"&&e.ok===void 0}async function DTr(e,t,r,n){try{let i=await r(`${e.baseUrl}${kTr}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({challenge:e.challenge}),signal:AbortSignal.timeout(n),redirect:"error"}),o=await i.json().catch(()=>null);if(i.status===404&&RZe(o))return"route_missing";if(!i.ok||!l6(o)||o.ok!==!0)return null;let s=typeof o.serverTime=="string"?Date.parse(o.serverTime):NaN,a=o.ttlMs;return!Number.isSafeInteger(s)||s<0||typeof a!="number"||!Number.isSafeInteger(a)||a<=0||a>IZe?null:{expiresAt:s+a,skewMs:s-t}}catch{return null}}async function NZe(e,t=Date.now(),r=pO(),n={}){if(!Number.isSafeInteger(t)||t<0)throw new Error("login handoff time is invalid");let i=iy(e),o=oD(n.requestTimeoutMs,5e3,"login announce timeout"),s=n.fetchImpl??fetch,a=(0,lO.randomBytes)(32).toString("base64url"),c=(0,lO.createHash)("sha256").update(a,"utf8").digest("base64url"),u={verifier:a,challenge:c,baseUrl:i,createdAt:t};CTr(r),$c(sD(r),JSON.stringify(u,null,2));let d=await DTr(u,t,s,o);if(d==="route_missing")throw ny.rmSync(sD(r),{force:!0}),new Error(OZe);d&&(u.expiresAt=d.expiresAt,u.serverSkewMs=d.skewMs,$c(sD(r),JSON.stringify(u,null,2)));let{deadline:l,skewMs:p,source:f}=V1e(u);return{challenge:c,confirmCode:CS(a),expiresAt:new Date(l-p).toISOString(),expirySource:f}}function oD(e,t,r){let n=e??t;if(!Number.isSafeInteger(n)||n<=0||n>IZe)throw new Error(`${r} must be a positive integer within the supported range`);return n}function CZe(e,t=Date.now()){let{deadline:r,skewMs:n}=V1e(e);return t+n>r}function LTr(e){if(!l6(e)||!jK(e,["payload"])||!l6(e.payload)||!jK(e.payload,["cliSessionToken","ownerProfile"]))return null;let t=e.payload.cliSessionToken,r=e.payload.ownerProfile;return typeof t!="string"||!t.trim()||t.length>OTr||!l6(r)||!jK(r,["ownerPublicId","loginLabel","authOrigin"])||typeof r.ownerPublicId!="string"||typeof r.loginLabel!="string"||typeof r.authOrigin!="string"?null:{sessionToken:t,ownerProfile:{ownerPublicId:r.ownerPublicId,loginLabel:r.loginLabel,authOrigin:r.authOrigin}}}async function MZe(e,t={}){let r=t.loginDir??pO(),n;try{n=PZe(r)}catch(y){return{status:"error",message:y instanceof Error?y.message:String(y)}}if(!n)return{status:"no_pending"};if(e!==void 0){let y;try{y=iy(e)}catch(S){return{status:"error",message:S instanceof Error?S.message:String(S)}}if(y!==n.baseUrl)return{status:"error",message:"V4 sign-in origin does not match the pending handoff. Run agent login again."}}let i,o,s,a;try{i=oD(t.attempts,1,"login claim attempts"),o=oD(t.delayMs,1e3,"login claim interval"),s=oD(t.requestTimeoutMs,1e4,"login claim request timeout"),a=t.overallTimeoutMs===void 0?void 0:oD(t.overallTimeoutMs,1,"login claim overall timeout")}catch(y){return{status:"error",message:y instanceof Error?y.message:String(y)}}let c=t.fetchImpl??fetch,u=t.sleep??(y=>new Promise(S=>setTimeout(S,y))),d=t.now??Date.now,l=a===void 0?void 0:d()+a,p=`${n.baseUrl}/api/vgs/cli-handoff/claim`,f=null,m=n,h=m.expiresAt!==void 0,g=()=>f==="expired"||f==="unknown"&&h?{status:"not_ready",likelyExpired:!0,expirySource:"server"}:f==="pending"?{status:"not_ready",likelyExpired:!1,expirySource:"server"}:{status:"not_ready",likelyExpired:CZe(m,d()),expirySource:"local"};for(let y=0;y<i;y+=1){let S=l===void 0?s:l-d();if(S<=0)return g();let b,E=AbortSignal.timeout(Math.max(1,Math.min(s,S)));try{b=await c(p,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({verifier:n.verifier}),signal:E,redirect:"error"})}catch(w){if(E.aborted||l6(w)&&w.name==="TimeoutError"){if(l!==void 0&&d()>=l)return g();if(y+1<i){let I=l===void 0?o:l-d();if(I<=0)return g();await u(Math.min(o,I));continue}return{status:"error",message:"V4 sign-in claim request timed out."}}if(y+1<i){let I=l===void 0?o:l-d();if(I<=0)return g();await u(Math.min(o,I));continue}return{status:"error",message:`Could not reach the v4 sign-in service: ${w instanceof Error?w.message:String(w)}`}}if(b.ok){let w=await b.json().catch(()=>null),I=LTr(w);if(!I)return{status:"error",message:"Sign-in response was not a session-only handoff. Restart with visa agent login --restart."};try{let N=eJe(I.ownerProfile);await an.saveProfileSessionToken(N,I.sessionToken,{preserveLegacy:!0}),tJe(N),await an.retireLegacySessionToken()}catch{return{status:"error",message:"The session reached this device but could not be saved. Fix local credential storage, then restart with visa agent login --restart."}}return wZe(r),{status:"claimed"}}if(b.status===404){let w=await b.json().catch(()=>null);if(RZe(w))return{status:"error",message:OZe};let I=typeof w?.serverTime=="string"&&typeof w.error=="string"?w.error:null;if(I==="expired"?f="expired":I==="unknown_handoff"?f="unknown":I==="not_ready"&&(f="pending"),f==="expired"||f==="unknown"&&h)return g();if(y+1<i){let N=l===void 0?o:l-d();if(N<=0)return g();await u(Math.min(o,N))}continue}if(b.status===409)return{status:"confirm_mismatch",confirmCode:CS(n.verifier)};if(b.status===422)return wZe(r),{status:"error",message:"Sign-in pickup was not login-only. Run agent login again."};if(b.status===429)return g();let T=await b.json().catch(()=>null);return{status:"error",message:typeof T?.error=="string"&&T.error.length<=512?T.error:`V4 sign-in claim failed (${b.status}).`}}return g()}var lO,ny,H1e,ITr,PTr,TZe,AZe,xTr,OTr,RTr,IZe,kTr,OZe,qK=A(()=>{"use strict";lO=require("node:crypto"),ny=ie(require("node:fs")),H1e=ie(require("node:path"));G0();wS();$_();Hu();ITr=15*6e4;PTr="pending.json",TZe=/^[A-Za-z0-9_-]{43}$/,AZe="ABCDEFGHJKMNPQRSTUVWXYZ23456789",xTr=6,OTr=512,RTr=2048,IZe=2147483647;kTr="/api/vgs/cli-handoff/announce",OZe="This Visa server has no terminal sign-in endpoint, so sign-in cannot finish. This is a server problem, not something you did. Please report it."});function GTr(e){return[["openclaw",uD.join(e,".openclaw")],["hermes",uD.join(e,".hermes")],["claude-code",uD.join(e,".claude")],["codex",uD.join(e,".codex")]]}function G1e(e=process.env,t={}){if(e.VISA_CLI_RUNTIME&&e.VISA_CLI_RUNTIME.trim().length>0)return e.VISA_CLI_RUNTIME.trim();if(e.AGENT_RUNTIME&&e.AGENT_RUNTIME.trim().length>0)return e.AGENT_RUNTIME.trim();let r=s=>Object.entries(e).some(([a,c])=>a.startsWith(s)&&typeof c=="string"&&c.trim()!==""),n=new Set;if(r("CODEX_")&&n.add("codex"),(typeof e.CLAUDECODE=="string"&&e.CLAUDECODE.trim()!==""||r("CLAUDE_CODE_")||typeof e.CLAUDE_PROJECT_DIR=="string"&&e.CLAUDE_PROJECT_DIR.trim()!=="")&&n.add("claude-code"),r("OPENCLAW_")&&n.add("openclaw"),r("HERMES_")&&n.add("hermes"),n.size>0)return n.size===1?n.values().next().value:void 0;let i=t.home??qZe.homedir(),o=GTr(i).filter(([,s])=>jZe.existsSync(s));return o.length===1?o[0][0]:void 0}function VK(e=process.env,t={}){switch(G1e(e,t)){case"claude-code":return"claude";case"codex":return"codex";case"openclaw":return"openclaw";case"hermes":return"hermes";default:return"claude"}}var jZe,qZe,uD,K1e=A(()=>{"use strict";jZe=ie(require("fs")),qZe=ie(require("os")),uD=ie(require("path"))});var bD=_(($wi,vet)=>{"use strict";var sAr=Object.create,sW=Object.defineProperty,aAr=Object.getOwnPropertyDescriptor,gQe=Object.getOwnPropertyNames,cAr=Object.getPrototypeOf,uAr=Object.prototype.hasOwnProperty,dAr=(e,t)=>function(){try{return t||(0,e[gQe(e)[0]])((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},lAr=(e,t)=>{for(var r in t)sW(e,r,{get:t[r],enumerable:!0})},_Qe=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of gQe(t))!uAr.call(e,i)&&i!==r&&sW(e,i,{get:()=>t[i],enumerable:!(n=aAr(t,i))||n.enumerable});return e},yQe=(e,t,r)=>(r=e!=null?sAr(cAr(e)):{},_Qe(t||!e||!e.__esModule?sW(r,"default",{value:e,enumerable:!0}):r,e)),pAr=e=>_Qe(sW({},"__esModule",{value:!0}),e),fAr=dAr({"../shared/dist/canonical-contract.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CANONICAL_OPAQUE_ID_MAX_BYTES=e.CANONICAL_OPAQUE_ID_RE=e.CANONICAL_OPAQUE_ID_PATTERN=void 0,e.utf8ByteLength=n,e.isCanonicalText=i,e.compareCanonicalKeys=o,e.isCanonicalOpaqueId=s,e.assertCanonicalOpaqueId=a,e.CANONICAL_OPAQUE_ID_PATTERN="^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$",e.CANONICAL_OPAQUE_ID_RE=new RegExp(e.CANONICAL_OPAQUE_ID_PATTERN),e.CANONICAL_OPAQUE_ID_MAX_BYTES=128;var t=/[\u0000-\u001f\u007f\u2028\u2029]/,r=new TextEncoder;function n(c){return r.encode(c).length}function i(c,u){return typeof c=="string"&&c.length>0&&n(c)<=u&&c.trim()===c&&c.normalize("NFC")===c&&!t.test(c)}function o(c,u){let d=r.encode(c),l=r.encode(u),p=Math.min(d.length,l.length);for(let f=0;f<p;f+=1)if(d[f]!==l[f])return d[f]-l[f];return d.length-l.length}function s(c){return typeof c=="string"&&n(c)<=e.CANONICAL_OPAQUE_ID_MAX_BYTES&&e.CANONICAL_OPAQUE_ID_RE.test(c)}function a(c,u="value"){if(!s(c))throw new Error(`${u} must be a canonical opaque id (max 128 ASCII bytes)`)}}}),bQe={};lAr(bQe,{AGENT_AUTHORITY_VALUATION_POLICY:()=>XK,AGENT_AUTHORITY_VERSION:()=>sy,AGENT_AUTHORIZATION_SCOPES:()=>ay,AGENT_BUDGET_EPOCH_MODES:()=>WQe,AGENT_CAPABILITY_ATTACH_CAPABILITIES:()=>nW,AGENT_CHANNEL_ASSURANCES:()=>tet,AGENT_CHANNEL_KINDS:()=>QQe,AGENT_CHANNEL_STATUSES:()=>eet,AGENT_EXECUTION_READINESS_REASONS:()=>S2r,AGENT_HANDOFF_AUTHORITIES:()=>j2r,AGENT_HANDOFF_COMPOUND_AUTHORITY:()=>f_e,AGENT_KEY_CUSTODIES:()=>XQe,AGENT_KEY_PURPOSES:()=>JQe,AGENT_KEY_STATUSES:()=>ZQe,AGENT_PAIRING_CODE_ALPHABET:()=>gO,AGENT_PAIRING_CODE_LENGTH:()=>hD,AGENT_PAIRING_PROTOCOL_VERSION:()=>H2r,AGENT_PAIRING_PROTOCOL_VERSION_V2:()=>iW,AGENT_PAYMENT_MODE_NAMES:()=>b2r,AGENT_PAYMENT_RAILS:()=>e_e,AGENT_PAYMENT_SURFACES:()=>Q1e,DOMAINS:()=>s2r,USD_MICROS_PER_CENT:()=>lW,VIC_PROCESSOR_ACTIONS:()=>YQe,VIC_SETTLEMENT_ENVELOPE_KIND:()=>JK,VIC_SETTLEMENT_ENVELOPE_VERSION:()=>YK,agentAuthorityGrantHash:()=>L2r,agentMailCredentialClaimMessageV2:()=>Twr,authorizationScopeFacts:()=>C2r,base64ToBytes:()=>FQe,base64UrlToBytes:()=>dW,bytesToBase64:()=>VQe,bytesToBase64Url:()=>ly,bytesToHex:()=>HQe,canonicalAgentAuthorityGrant:()=>l_e,canonicalAgentChannelDescriptor:()=>D2r,canonicalAgentKeyDescriptor:()=>M2r,canonicalFormAgent:()=>a2r,canonicalPairingDeliveryArtifactV2:()=>Eet,canonicalPairingTerms:()=>het,canonicalPairingTermsV2:()=>__e,canonicalPayWithinBudget:()=>oet,canonicalSpendAuthorizationIntent:()=>p_e,canonicalVicSettlementEnvelope:()=>set,capabilityAttachActivationMessageV2:()=>Awr,capabilityAttachClaimHashV2:()=>Swr,capabilityAttachClaimMessageV2:()=>yet,centsToUsdMicros:()=>R2r,concatBytes:()=>u_e,defaultPayWithinBudget:()=>E2r,extractEd25519Seed:()=>y2r,formatPairingCode:()=>yD,generateKeyPair:()=>e2r,generateSeed:()=>jQe,getPublicKey:()=>uW,grantPaymentRails:()=>d_e,handoffAuthorityCapabilities:()=>q2r,hexToBytes:()=>c_e,isCanonicalBase64Url32:()=>sc,isValidPairingCode:()=>fet,jwkToKeyPair:()=>l2r,jwkToPublicKey:()=>d2r,jwkToSeed:()=>GQe,keyPairFromSeed:()=>qQe,keyRotationClaimHashV2:()=>vwr,keyRotationClaimMessageV2:()=>bet,normalizePairingCode:()=>hW,pairingActivationMessage:()=>ywr,pairingActivationMessageV2:()=>Ewr,pairingArtifactHash:()=>Iwr,pairingClaimHashV2:()=>bwr,pairingClaimMessage:()=>_wr,pairingClaimMessageV2:()=>_et,pairingClaimTokenHash:()=>met,pairingCodeFromClaimToken:()=>fwr,pairingCodeHash:()=>lwr,pairingConfirmationCode:()=>mwr,pairingDeliveryArtifactV2Hash:()=>wwr,pairingInstrumentCommitment:()=>nwr,pairingSha256:()=>gf,pairingTermsHash:()=>gwr,pairingTermsV2Hash:()=>get,pairingVerifierChallenge:()=>uwr,pkcs8ToSeed:()=>g2r,publicKeyToJwk:()=>u2r,publicKeyToSpki:()=>h2r,randomAttachId:()=>owr,randomHandoffId:()=>swr,randomPairingClaimToken:()=>pwr,randomPairingCode:()=>dwr,randomPairingId:()=>iwr,randomPairingVerifier:()=>cwr,randomSetupOperationId:()=>awr,seedToJwk:()=>c2r,seedToPkcs8:()=>m2r,setupConfirmationCode:()=>hwr,sign:()=>t2r,signAsync:()=>n2r,spendAuthorizationIntentHash:()=>aet,spkiToPublicKey:()=>_2r,subwayAgentMsgV1:()=>$Qe,usdcAtomicToUsdMicros:()=>N2r,verify:()=>r2r,verifyAsync:()=>i2r,vicSettlementEnvelopeHash:()=>U2r,walletAuthorizationRequestHash:()=>B2r});vet.exports=pAr(bQe);var aW=Object.freeze,hO=0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,ZK=0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,KK=0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,J1e=0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,X1e=0x6666666666666666666666666666666666666666666666666666666666666658n,WK=hO-1n,mAr=aW({p:hO,n:ZK,h:8n,a:WK,d:KK,Gx:J1e,Gy:X1e}),US=32,ZZe=e=>e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&e.BYTES_PER_ELEMENT===1,op=(e,t,r="")=>{if(ZZe(e)&&(t===void 0||e.length===t))return e;let n=ZZe(e),i=t!==void 0?` of length ${t}`:"",o=n?`length=${e.length}`:`type=${typeof e}`,s=(r?`"${r}" `:"")+"expected Uint8Array"+i+", got "+o;throw n?new RangeError(s):new TypeError(s)},cW=(e,t="",r)=>Uint8Array.from(op(e,r,t)),EQe=(e,t)=>e.toString(16).padStart(t,"0"),t_e=e=>{let t="";for(let r of op(e))t+=EQe(r,2);return t},r_e=e=>{let t="hex invalid";if(typeof e!="string")throw new TypeError(t);if(e.length%2||!/^[\da-f]*$/i.test(e))throw new RangeError(t);let r=new Uint8Array(e.length/2);for(let n=0,i=0;n<r.length;n++,i+=2){let o=e.charCodeAt(i),s=e.charCodeAt(i+1);r[n]=((o&15)+(o>>6)*9)*16+(s&15)+(s>>6)*9}return r},h6=(...e)=>{let t=0;for(let i of e)t+=op(i).length;let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r},SQe=(e=US)=>{let t=globalThis?.crypto;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined, consider polyfill");return t.getRandomValues(new Uint8Array(e))},p6=(e,t,r,n="bad number: out of range")=>{if(typeof e!="bigint")throw new TypeError(n);if(t<=e&&e<r)return e;throw new RangeError(n)},mi=(e,t=hO)=>(e%=t)>=0n?e:t+e,QZe=(1n<<255n)-1n,Ye=e=>{if(e<0n)throw new RangeError("negative coordinate");let t=(e>>255n)*19n+(e&QZe);return t=(t>>255n)*19n+(t&QZe),t%hO},vQe=e=>mi(e,ZK),TQe=(e,t)=>{if(e===0n)throw new Error("invert: expected non-zero number");if(t<=1n)throw new Error("invert: expected modulus > 1, got "+t);let r=mi(e,t),n=t,i=0n,o=1n;for(;r!==0n;){let a=n/r,c=n-r*a,u=i-o*a;n=r,r=c,i=o,o=u}if(n!==1n)throw new Error("invert: does not exist");return mi(i,t)},AQe=e=>{let t=MQe[e];if(typeof t!="function")throw new Error("hashes."+e+" not set");return t},n_e=(e,...t)=>op(AQe(e)(h6(...t)),64,"digest"),i_e=async(e,...t)=>op(await AQe(e)(h6(...t)),64,"digest"),W1e=e=>{if(e instanceof g6)return e;throw new TypeError("Point expected")},wQe=2n**256n,g6=class f6{static BASE;static ZERO;X;Y;Z;T;constructor(t,r,n,i){let o=wQe;this.X=p6(t,0n,o),this.Y=p6(r,0n,o),this.Z=p6(n,1n,o),this.T=p6(i,0n,o),aW(this)}static CURVE(){return mAr}static fromAffine(t){return new f6(t.x,t.y,1n,Ye(t.x*t.y))}static fromBytes(t,r=!1){let n=cW(t,"point",US),i=n[31];n[31]=i&-129;let o=o_e(n);r||p6(o,0n,hO);let s=Ye(o*o),a=mi(s-1n),c=Ye(KK*s+1n),{isValid:u,value:d}=gAr(a,c);if(!u)throw new Error("bad point: y not sqrt");let l=!!(i&128);if(!r&&d===0n&&l)throw new Error("bad point: x==0, isLastByteOdd");return l!==!!(d&1n)&&(d=mi(-d)),new f6(d,o,1n,Ye(d*o))}static fromHex(t,r){return f6.fromBytes(r_e(t),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}assertValidity(){let t=WK,r=KK,n=this;if(n.is0())throw new Error("bad point: ZERO");let{X:i,Y:o,Z:s,T:a}=n,c=Ye(i*i),u=Ye(o*o),d=Ye(s*s),l=Ye(d*d),p=Ye(c*t),f=Ye(d*(p+u)),m=mi(l+Ye(r*Ye(c*u)));if(f!==m)throw new Error("bad point: equation left != right (1)");let h=Ye(i*o),g=Ye(s*a);if(h!==g)throw new Error("bad point: equation left != right (2)");return this}equals(t){let{X:r,Y:n,Z:i}=this,{X:o,Y:s,Z:a}=W1e(t);return Ye(r*a)===Ye(o*i)&&Ye(n*a)===Ye(s*i)}is0(){return this.equals(m6)}negate(){return new f6(mi(-this.X),this.Y,this.Z,mi(-this.T))}double(){let{X:t,Y:r,Z:n}=this,i=WK,o=Ye(t*t),s=Ye(r*r),a=Ye(2n*n*n),c=Ye(i*o),u=mi(t+r),d=mi(Ye(u*u)-o-s),l=mi(c+s),p=mi(l-a),f=mi(c-s),m=Ye(d*p),h=Ye(l*f),g=Ye(d*f),y=Ye(p*l);return new f6(m,h,y,g)}add(t){let{X:r,Y:n,Z:i,T:o}=this,{X:s,Y:a,Z:c,T:u}=W1e(t),d=WK,l=KK,p=Ye(r*s),f=Ye(n*a),m=Ye(Ye(o*l)*u),h=Ye(i*c),g=mi(Ye(mi(r+n)*mi(s+a))-p-f),y=mi(h-m),S=mi(h+m),b=mi(f-Ye(d*p)),E=Ye(g*y),T=Ye(S*b),w=Ye(g*b),I=Ye(y*S);return new f6(E,T,I,w)}subtract(t){return this.add(W1e(t).negate())}multiply(t,r=!0){if(!r&&t===0n||(p6(t,1n,ZK),!r&&this.is0()))return m6;if(t===1n)return this;if(this.equals(jS))return IAr(t).p;let n=m6,i=jS,o=this;for(let s=0;r?s<256:t>0n;s++)t&1n?n=n.add(o):r&&(i=i.add(o)),o=o.double(),t>>=1n;return n}multiplyUnsafe(t){return this.multiply(t,!1)}toAffine(){let{X:t,Y:r,Z:n}=this;if(this.equals(m6))return{x:0n,y:1n};let i=TQe(n,hO);if(Ye(n*i)!==1n)throw new Error("invalid inverse");return{x:Ye(t*i),y:Ye(r*i)}}toBytes(){let{x:t,y:r}=this.toAffine(),n=IQe(r);return n[31]|=t&1n?128:0,n}toHex(){return t_e(this.toBytes())}clearCofactor(){return this.multiply(8n,!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return this.multiply(ZK/2n,!1).double().add(this).is0()}},jS=new g6(J1e,X1e,1n,mi(J1e*X1e)),m6=new g6(0n,1n,1n,0n);g6.BASE=jS;g6.ZERO=m6;var IQe=e=>r_e(EQe(p6(e,0n,wQe),64)).reverse(),o_e=e=>BigInt("0x"+t_e(Uint8Array.from(op(e)).reverse())),eg=(e,t)=>{let r=e;for(;t-- >0;)r=Ye(r*r);return r},hAr=e=>{let t=Ye(e*e),r=Ye(t*e),n=Ye(eg(r,2)*r),i=Ye(eg(n,1)*e),o=Ye(eg(i,5)*i),s=Ye(eg(o,10)*o),a=Ye(eg(s,20)*s),c=Ye(eg(a,40)*a),u=Ye(eg(c,80)*c),d=Ye(eg(u,80)*c),l=Ye(eg(d,10)*o);return Ye(eg(l,2)*e)},eQe=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,gAr=(e,t)=>{let r=Ye(t*Ye(t*t)),n=Ye(Ye(r*r)*t),i=hAr(Ye(e*n)),o=Ye(e*Ye(r*i)),s=Ye(t*Ye(o*o)),a=o,c=Ye(o*eQe),u=s===e,d=s===mi(-e),l=s===mi(-e*eQe);return u&&(o=a),(d||l)&&(o=c),(mi(o)&1n)===1n&&(o=mi(-o)),{isValid:u||d,value:o}},QK=e=>vQe(o_e(e)),PQe=e=>{let t=cW(e),r=t.slice(0,32);r[0]&=248,r[31]&=127,r[31]|=64;let n=t.slice(32),i=QK(r),o=jS.multiply(i),s=o.toBytes();return{head:r,prefix:n,scalar:i,point:o,pointBytes:s}},xQe=e=>i_e("sha512Async",op(e,US,"secretKey")).then(PQe),s_e=e=>PQe(n_e("sha512",op(e,US,"secretKey"))),_Ar=e=>s_e(e).pointBytes,OQe=async e=>e[1](await i_e("sha512Async",e[0])),RQe=e=>e[1](n_e("sha512",e[0])),NQe=(e,t,r)=>{let{pointBytes:n,scalar:i}=e,o=QK(t),s=jS.multiply(o).toBytes();return[h6(s,n,r),u=>{let d=vQe(o+QK(u)*i);return op(h6(s,IQe(d)),64)}]},yAr=async(e,t)=>{let r=cW(e,"message"),n=await xQe(t);return OQe(NQe(n,await i_e("sha512Async",n.prefix,r),r))},bAr=(e,t)=>{let r=cW(e,"message"),n=s_e(t);return RQe(NQe(n,n_e("sha512",n.prefix,r),r))},EAr=e=>{if(e===null||typeof e!="object")throw new TypeError("expected valid options object");return e.zip215??!0},CQe=(e,t,r,n)=>{e=op(e,64,"signature"),t=op(t,void 0,"message"),r=op(r,US,"publicKey");let i=EAr(n),o=e.subarray(0,US),s=o_e(e.subarray(US,64)),a,c,u,d=Uint8Array.of(),l=!1;try{a=g6.fromBytes(r,i),c=g6.fromBytes(o,i),u=jS.multiply(s,!1),d=h6(o,r,t),l=!0}catch{}return[d,f=>{if(!l||!i&&a.isSmallOrder())return!1;let m=QK(f);return c.add(a.multiply(m,!1)).subtract(u).clearCofactor().is0()}]},SAr=async(e,t,r,n={})=>OQe(CQe(e,t,r,n)),vAr=(e,t,r,n={})=>RQe(CQe(e,t,r,n)),a_e=aW({bytesToHex:t_e,hexToBytes:r_e,concatBytes:h6,mod:mi,invert:TQe,randomBytes:SQe}),MQe={sha512Async:async e=>{let t=globalThis?.crypto?.subtle;if(!t)throw new Error("crypto.subtle must be defined, consider polyfill");return new Uint8Array(await t.digest("SHA-512",h6(e)))},sha512:void 0},TAr=e=>op(e===void 0?SQe():e,US,"seed"),AAr=aW({getExtendedPublicKeyAsync:xQe,getExtendedPublicKey:s_e,randomSecretKey:TAr}),wAr=()=>{let e=[],t=jS,r;for(let n=0;n<33;n++){r=t,e.push(r);for(let i=1;i<128;i++)r=r.add(t),e.push(r);t=r.double()}return e},tQe=void 0,rQe=(e,t)=>{let r=t.negate();return e?r:t},IAr=e=>{let t=tQe||(tQe=wAr()),r=m6,n=jS;for(let i=0;i<33;i++){let o=Number(e&255n);e>>=8n,o>128&&(o-=256,e+=1n);let s=i*128,a=s+Math.abs(o)-1,c=i%2!==0,u=o<0;o===0?n=n.add(rQe(c,t[s])):r=r.add(rQe(u,t[a]))}if(e!==0n)throw new Error("invalid wnaf");return{p:r,f:n}},$K=BigInt(2**32-1),nQe=BigInt(32);function PAr(e,t=!1){return t?{h:Number(e&$K),l:Number(e>>nQe&$K)}:{h:Number(e>>nQe&$K)|0,l:Number(e&$K)|0}}function xAr(e,t=!1){let r=e.length,n=new Uint32Array(r),i=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=PAr(e[o],t);[n[o],i[o]]=[s,a]}return[n,i]}var OAr=e=>e/2**32|0,RAr=e=>e>>>0;function NAr(e,t,r,n){let i=OAr(r),o=RAr(r);e.setUint32(t,n?o:i,n),e.setUint32(t+4,n?i:o,n)}var iQe=(e,t,r)=>e>>>r,oQe=(e,t,r)=>e<<32-r|t>>>r,fO=(e,t,r)=>e>>>r|t<<32-r,mO=(e,t,r)=>e<<32-r|t>>>r,zK=(e,t,r)=>e<<64-r|t>>>r-32,GK=(e,t,r)=>e>>>r-32|t<<64-r;function oy(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var CAr=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),MAr=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,kAr=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),DAr=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,LAr=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),UAr=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;function sQe(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}var Z1e=e=>e?`"${e}" `:"";function BAr(e,t=""){if(typeof e!="number")throw new TypeError(Z1e(t)+"expected number, got "+typeof e);if(!Number.isSafeInteger(e)||e<0)throw new RangeError(Z1e(t)+"expected integer >= 0, got "+e);return e}function kQe(e,t,r=""){if(sQe(e)&&(t===void 0||e.length===t))return e;t!==void 0&&BAr(t,"length");let n=sQe(e),i=t!==void 0?` of length ${t}`:"",o=n?`length=${e.length}`:`type=${typeof e}`,s=Z1e(r)+"expected Uint8Array"+i+", got "+o;throw n?new RangeError(s):new TypeError(s)}var jAr=(e,t)=>{if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError((t==="object"?"":`"${t}" `)+"expected object, got type="+typeof e)},aQe=(e,t)=>{jAr(e,t);let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)throw new TypeError(`"${t}" expected plain object`);if(Object.hasOwn(e,"__proto__"))throw new TypeError(`"${t}.__proto__" is not allowed`)};function cQe(e,t=!0){if(e.destroyed)throw new Error("hash was destroyed");if(t&&e.finished)throw new Error("digest() was already called")}function qAr(e,t){kQe(e,void 0,"output");let r=t.outputLen;if(!(e.length>=r))throw new RangeError('"output" expected length >= '+r)}function eW(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Y1e(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function tg(e,t){return e<<32-t|e>>>t}function HAr(e,t,r="opts"){return aQe(e,"defaults"),t!==void 0&&aQe(t,r),Object.assign(Object.create(null),e,t)}function DQe(e,t={}){if(typeof e!="function")throw new TypeError('"hashCons" expected function, got type='+typeof e);t=HAr({},t,"info");let r=(i,o)=>e(o).update(i).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.canXOF=n.canXOF,r.create=i=>e(i),Object.assign(r,t),Object.freeze(r)}var LQe=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function VAr(e,t,r){return e&t^~e&r}function FAr(e,t,r){return e&t^e&r^t&r}var UQe=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,n){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Y1e(this.buffer)}update(e){cQe(this),kQe(e);let{view:t,buffer:r,blockLen:n}=this,i=e.length,o=!1;for(let s=0;s<i;){let a=Math.min(n-this.pos,i-s);if(a===n){let c=Y1e(e);for(;n<=i-s;s+=n)this.process(c,s);o=!0;continue}r.set(s===0&&a===i?e:e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===n&&(this.process(t,0),this.pos=0,o=!0)}return this.length+=e.length,o&&this.roundClean(),this}digestInto(e){cQe(this),qAr(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:o}=this;t[o++]=128,t.fill(0,o),this.padOffset>n-o&&(this.process(r,0),t.fill(0)),NAr(r,n-8,this.length*8,i),this.process(r,0),this.roundClean();let s=e===t?r:Y1e(e),a=this.outputLen,c=a/4,u=this.get();if(a%4||c>u.length)throw new Error("invalid outputLen");for(let d=0;d<c;d++)s.setUint32(4*d,u[d],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneIntoMeta(e){let{buffer:t,length:r,finished:n,destroyed:i,pos:o}=this;return e.destroyed=i,e.finished=n,e.length=r,e.pos=o,o&&e.buffer.set(t),e}clone(){return this._cloneInto()}},$Ar=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),zAr=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),GAr=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),MS=new Uint32Array(64),KAr=class extends UQe{A=0;B=0;C=0;D=0;E=0;F=0;G=0;H=0;constructor(e,t){super(64,e,8,!1),this.A=t[0]|0,this.B=t[1]|0,this.C=t[2]|0,this.D=t[3]|0,this.E=t[4]|0,this.F=t[5]|0,this.G=t[6]|0,this.H=t[7]|0}get(){let{A:e,B:t,C:r,D:n,E:i,F:o,G:s,H:a}=this;return[e,t,r,n,i,o,s,a]}set(e,t,r,n,i,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=o|0,this.G=s|0,this.H=a|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let d=0;d<16;d++,t+=4)MS[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let l=MS[d-15],p=MS[d-2],f=tg(l,7)^tg(l,18)^l>>>3,m=tg(p,17)^tg(p,19)^p>>>10;MS[d]=m+MS[d-7]+f+MS[d-16]|0}let{A:r,B:n,C:i,D:o,E:s,F:a,G:c,H:u}=this;for(let d=0;d<64;d++){let l=tg(s,6)^tg(s,11)^tg(s,25),p=u+l+VAr(s,a,c)+GAr[d]+MS[d]|0,m=(tg(r,2)^tg(r,13)^tg(r,22))+FAr(r,n,i)|0;u=c,c=a,a=s,s=o+p|0,o=i,i=n,n=r,r=p+m|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,n,i,o,s,a,c,u)}roundClean(){eW(MS)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),eW(this.buffer)}},WAr=class extends KAr{constructor(){super(32,$Ar)}},BQe=xAr(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),YAr=BQe[0],JAr=BQe[1],kS=new Uint32Array(80),DS=new Uint32Array(80),XAr=class extends UQe{Ah=0;Al=0;Bh=0;Bl=0;Ch=0;Cl=0;Dh=0;Dl=0;Eh=0;El=0;Fh=0;Fl=0;Gh=0;Gl=0;Hh=0;Hl=0;constructor(e,t){super(128,e,16,!1),this.Ah=t[0]|0,this.Al=t[1]|0,this.Bh=t[2]|0,this.Bl=t[3]|0,this.Ch=t[4]|0,this.Cl=t[5]|0,this.Dh=t[6]|0,this.Dl=t[7]|0,this.Eh=t[8]|0,this.El=t[9]|0,this.Fh=t[10]|0,this.Fl=t[11]|0,this.Gh=t[12]|0,this.Gl=t[13]|0,this.Hh=t[14]|0,this.Hl=t[15]|0}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:o,Dh:s,Dl:a,Eh:c,El:u,Fh:d,Fl:l,Gh:p,Gl:f,Hh:m,Hl:h}=this;return[e,t,r,n,i,o,s,a,c,u,d,l,p,f,m,h]}set(e,t,r,n,i,o,s,a,c,u,d,l,p,f,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=u|0,this.Fh=d|0,this.Fl=l|0,this.Gh=p|0,this.Gl=f|0,this.Hh=m|0,this.Hl=h|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let S=0;S<16;S++,t+=4)kS[S]=e.getUint32(t),DS[S]=e.getUint32(t+=4);for(let S=16;S<80;S++){let b=kS[S-15]|0,E=DS[S-15]|0,T=fO(b,E,1)^fO(b,E,8)^iQe(b,E,7),w=mO(b,E,1)^mO(b,E,8)^oQe(b,E,7),I=kS[S-2]|0,N=DS[S-2]|0,O=fO(I,N,19)^zK(I,N,61)^iQe(I,N,6),P=mO(I,N,19)^GK(I,N,61)^oQe(I,N,6),x=kAr(w,P,DS[S-7],DS[S-16]),D=DAr(x,T,O,kS[S-7],kS[S-16]);kS[S]=D|0,DS[S]=x|0}let{Ah:r,Al:n,Bh:i,Bl:o,Ch:s,Cl:a,Dh:c,Dl:u,Eh:d,El:l,Fh:p,Fl:f,Gh:m,Gl:h,Hh:g,Hl:y}=this;for(let S=0;S<80;S++){let b=fO(d,l,14)^fO(d,l,18)^zK(d,l,41),E=mO(d,l,14)^mO(d,l,18)^GK(d,l,41),T=d&p^~d&m,w=l&f^~l&h,I=LAr(y,E,w,JAr[S],DS[S]),N=UAr(I,g,b,T,YAr[S],kS[S]),O=I|0,P=fO(r,n,28)^zK(r,n,34)^zK(r,n,39),x=mO(r,n,28)^GK(r,n,34)^GK(r,n,39),D=r&i^r&s^i&s,B=n&o^n&a^o&a;g=m|0,y=h|0,m=p|0,h=f|0,p=d|0,f=l|0,{h:d,l}=oy(c|0,u|0,N|0,O|0),c=s|0,u=a|0,s=i|0,a=o|0,i=r|0,o=n|0;let M=CAr(O,x,B);r=MAr(M,N,P,D),n=M|0}({h:r,l:n}=oy(this.Ah|0,this.Al|0,r|0,n|0)),{h:i,l:o}=oy(this.Bh|0,this.Bl|0,i|0,o|0),{h:s,l:a}=oy(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l:u}=oy(this.Dh|0,this.Dl|0,c|0,u|0),{h:d,l}=oy(this.Eh|0,this.El|0,d|0,l|0),{h:p,l:f}=oy(this.Fh|0,this.Fl|0,p|0,f|0),{h:m,l:h}=oy(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:y}=oy(this.Hh|0,this.Hl|0,g|0,y|0),this.set(r,n,i,o,s,a,c,u,d,l,p,f,m,h,g,y)}roundClean(){eW(kS,DS)}destroy(){this.destroyed=!0,eW(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ZAr=class extends XAr{constructor(){super(64,zAr)}},gD=DQe(()=>new WAr,LQe(1)),QAr=DQe(()=>new ZAr,LQe(3)),uQe=MQe;uQe.sha512||(uQe.sha512=e=>QAr(e));var dQe=32;function jQe(){return AAr.randomSecretKey()}function uW(e){return _Ar(e)}function e2r(){let e=jQe();return{secretKey:e,publicKey:uW(e)}}function qQe(e){if(e.length!==dQe)throw new Error(`Ed25519 seed must be ${dQe} bytes, got ${e.length}`);return{secretKey:e,publicKey:uW(e)}}function t2r(e,t){return bAr(t,e)}function r2r(e,t,r){return vAr(t,r,e)}function n2r(e,t){return yAr(t,e)}function i2r(e,t,r){return SAr(t,r,e)}var HQe=a_e.bytesToHex,c_e=a_e.hexToBytes,u_e=a_e.concatBytes;function VQe(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function FQe(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function ly(e){return VQe(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function dW(e){let t=e.length%4===0?0:4-e.length%4,r=e.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat(t);return FQe(r)}var o2r=new TextEncoder,s2r={subwayAgentMsgV1:"message_id;sender_peer_id;sender_name;timestamp_ms;message_type;payload_hash;nonce"};function $Qe(e){let t=HQe(gD(e.payload)),r=`${e.messageId}
7
7
  ${e.senderPeerId}
8
8
  ${e.senderName}
9
9
  ${e.timestampMs}
@@ -99,7 +99,7 @@ ${(0,y4r.prettyStateOverride)(f)}`),super(t.shortMessage,{cause:t,docsPath:n,met
99
99
  THEN pgp_sym_decrypt(decode(translate(SUBSTRING(${e} FROM 4), E'\\n\\r ', ''), 'base64'), ${t})
100
100
  ELSE NULL END`}function hOe(e,t){if(!/^\$[1-9][0-9]*$/.test(e))throw new qf(`${t} param ref must look like "$N", got "${e}"`)}function Ycn(e){if(!/^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*){0,2}$/.test(e))throw new qf(`column ref must be a simple identifier, got "${e}"`)}});var egt=_(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.UNBOUND_AWAITING_RUNTIME_LABEL=St.TARGETED_AWAITING_RUNTIME_LABEL=St.SETUP_POLL_MS=St.SETUP_STEP_STATUSES=St.SETUP_IDENTITY_STEPS=St.SETUP_RAIL_STEPS=St.SETUP_STEPS=St.SETUP_TERMINAL_STATES=St.SETUP_STATES=St.SETUP_RAILS=St.PROTECTED_CARD_MAX_DRAWS=St.SETUP_DEFAULT_DAILY_CENTS=St.SETUP_DEFAULT_PER_PURCHASE_CENTS=St.SETUP_DEFAULT_AGGREGATE_CENTS=St.SETUP_CONTRACT_VERSION=void 0;St.setupPlanSteps=J0t;St.computeSetupReadiness=gOe;St.computeSetupNextAction=X0t;St.isTerminal=Z0t;St.computeSetupStatus=run;St.computeSetupStepTargets=nun;St.isSetupPlanSettled=sun;St.progressLadder=Q0t;St.setupProgressSteps=uun;St.SETUP_CONTRACT_VERSION=4;St.SETUP_DEFAULT_AGGREGATE_CENTS=1e4;St.SETUP_DEFAULT_PER_PURCHASE_CENTS=2500;St.SETUP_DEFAULT_DAILY_CENTS=2500;St.PROTECTED_CARD_MAX_DRAWS=1e3;St.SETUP_RAILS=["card","wallet"];St.SETUP_STATES=["awaiting_runtime","awaiting_owner","approved","completed","failed","denied","cancelled","expired","merged"];St.SETUP_TERMINAL_STATES=["completed","failed","denied","cancelled","expired","merged"];St.SETUP_STEPS=["identity.authorize","identity.activate","card.attach","card.mandate","wallet.provision_owner","wallet.attach","wallet.signer"];St.SETUP_RAIL_STEPS={card:["card.attach","card.mandate"],wallet:["wallet.provision_owner","wallet.attach","wallet.signer"]};St.SETUP_IDENTITY_STEPS=["identity.authorize","identity.activate"];function J0t(e){let t=new Set,r=[];for(let n of[...St.SETUP_IDENTITY_STEPS,...e.flatMap(i=>St.SETUP_RAIL_STEPS[i]??[])])t.has(n)||(t.add(n),r.push(n));return r}St.SETUP_STEP_STATUSES=["pending","running","awaiting_human","awaiting_runtime","succeeded","failed","skipped","abandoned"];St.SETUP_POLL_MS={afterHumanAction:1e3,provisioning:3e3,idle:5e3,completedNeedsHuman:3e4,slowDown:1e4};function Jcn(e,t){return!t||!t.grantActivated&&!t.ownerPrerequisiteMissing?{rail:e,ready:!1,blocker:"not_provisioned"}:t.ownerPrerequisiteMissing?{rail:e,ready:!1,blocker:"blocked"}:t.instrumentResolves?e==="wallet"&&t.fundedForOnePurchase===!1?{rail:e,ready:!1,blocker:"unfunded"}:e==="card"?{rail:e,ready:!0,tapFree:t.liveMandateWithDrawsLeft===!0}:{rail:e,ready:!0}:{rail:e,ready:!1,blocker:"not_provisioned"}}function gOe(e){let t=e.identity.activated,r=e.operation.requestedRails.map(n=>{let i=Jcn(n,e.rails[n]);return n==="wallet"&&i.ready&&e.identity.runtimeDelegation?{rail:n,ready:!1,blocker:"runtime_approval"}:i});return{kind:t&&r.every(n=>n.ready)?"ready":"needs_action",identityReady:t,rails:r}}function Pg(e,t){return t===void 0?{}:{[e]:t}}var Xcn={completed:"Setup finished.",failed:"Setup could not finish.",denied:"You said this was not your agent.",cancelled:"Setup was cancelled.",expired:"This setup request expired.",merged:"This agent joined the setup you started in the Console."},Zcn=["enroll_card","card_verification","provision_wallet","wallet_signature"],Qcn={enroll_card:"Add a card to pay with.",card_verification:"Verify your card with your bank.",provision_wallet:"Create your wallet.",wallet_signature:"Approve the wallet signer in your browser."};St.TARGETED_AWAITING_RUNTIME_LABEL="Waiting for your agent to pick this up. If it doesn't, tell it: connect Visa.";St.UNBOUND_AWAITING_RUNTIME_LABEL="This request is not picked up automatically. On the runtime you want, say: connect Visa. You review that runtime\u2019s fingerprint before it holds any authority.";function eun(e){return e.claimBindingMode?e.claimBindingMode==="unbound":e.source==="console"}function X0t(e){let{operation:t,identity:r,viewer:n,steps:i}=e,o=gOe(e);if(n.kind==="owner"&&n.signedInAs&&t.ownerUserLogin&&n.signedInAs!==t.ownerUserLogin)return{actor:"human",kind:"switch_account",label:"Sign out, then sign back in as the account that started this.",safeToRetry:!0,afterAction:"stop",expectedLogin:t.ownerUserLogin,signedInAs:n.signedInAs};if(Z0t(t.state)&&!(t.state==="completed"&&o.kind==="ready")&&t.state!=="completed")return{actor:"none",kind:"terminal",label:Xcn[t.state],safeToRetry:!1,afterAction:"stop",outcome:t.state,...t.failureReason?{reason:t.failureReason}:{},canRestart:t.state==="expired"||t.state==="cancelled",...t.successorOperationId?{successorOperationId:t.successorOperationId}:{}};if(t.state==="awaiting_runtime"&&r.shortCode&&r.deepLink)return{actor:"human",kind:"give_code",label:"Tell your agent to connect, and give it this code if it asks.",safeToRetry:!0,afterAction:"poll",shortCode:r.shortCode,deepLink:r.deepLink,...Pg("expiresAt",r.credentialExpiresAt??t.expiresAt)};if(t.state==="awaiting_owner"&&r.reviewUrl)return{actor:"human",kind:"open_url",label:"Review and connect this agent.",safeToRetry:!0,afterAction:"open_url_again",channel:"browser",url:r.reviewUrl,...r.openedFromThisDevice===!0?{provenance:"same_device"}:Pg("code",r.compareCode),...Pg("expiresAt",t.expiresAt)};if(r.pendingRuntimeAction)return{actor:"agent",kind:"activate",label:"Finishing setup.",safeToRetry:!0,afterAction:"poll",endpoint:r.pendingRuntimeAction.endpoint};for(let c of Zcn)for(let u of t.requestedRails){let d=e.rails[u]?.humanAction;if(d?.kind!==c)continue;let l={actor:"human",label:Qcn[c],safeToRetry:!0,afterAction:"open_url_again",url:d.url};return c==="wallet_signature"?{...l,kind:c,...Pg("expiresAt",d.expiresAt),...Pg("attachId",d.attachId),...Pg("agentId",d.agentId)}:c==="card_verification"?{...l,kind:c,...Pg("expiresAt",d.expiresAt)}:{...l,kind:c}}let s=i.find(c=>c.status==="failed");if(s)return s.retryable?{actor:"agent",kind:"retry",label:"Retrying a step that did not finish.",safeToRetry:!0,afterAction:"poll",step:s.step,endpoint:e.endpoints.retry(t.operationId,s.step),...Pg("notBefore",s.nextAttemptAt)}:{actor:"human",kind:"contact_support",label:"This needs a hand from support.",safeToRetry:!1,afterAction:"stop",supportRef:t.operationId,stepFailed:s.step};if(t.state==="completed"&&r.runtimeDelegation?.state==="pending")return{actor:"human",kind:"runtime_delegation",label:"Approve secure wallet access for this runtime.",safeToRetry:!0,afterAction:"poll",url:r.runtimeDelegation.url,agentId:r.runtimeDelegation.agentId,runtimeId:r.runtimeDelegation.runtimeId};if(o.rails.find(c=>c.blocker==="unfunded")){let c=e.rails.wallet;return{actor:"human",kind:"fund_wallet",label:"Add USDC so your agent has something to spend.",safeToRetry:!0,afterAction:"poll",...Pg("address",c?.depositAddress),network:"base",...Pg("minimumMicros",c?.minimumMicros)}}return n.keyMismatchOnLiveAgent&&t.agentId?{actor:"agent",kind:"rotate_key",label:"Rotating this agent to a new key.",safeToRetry:!0,afterAction:"poll",agentId:t.agentId,endpoint:e.endpoints.rotateKey(t.agentId)}:n.throttled?{actor:"agent",kind:"slow_down",label:"Checking less often.",safeToRetry:!0,afterAction:"poll",pollAfterMs:St.SETUP_POLL_MS.slowDown}:t.state==="completed"&&o.kind==="ready"?{actor:"none",kind:"done",label:"Your agent is ready to pay.",safeToRetry:!1,afterAction:"stop"}:{actor:"agent",kind:"poll",label:t.state==="awaiting_runtime"?eun(t)?St.UNBOUND_AWAITING_RUNTIME_LABEL:St.TARGETED_AWAITING_RUNTIME_LABEL:"Setting up.",safeToRetry:!0,afterAction:"poll",pollAfterMs:tun(t.state,o)}}function Z0t(e){return St.SETUP_TERMINAL_STATES.includes(e)}function tun(e,t){return e==="approved"?St.SETUP_POLL_MS.provisioning:e==="completed"&&t.kind==="needs_action"?St.SETUP_POLL_MS.completedNeedsHuman:St.SETUP_POLL_MS.idle}function run(e){let t=gOe(e),r=X0t(e);return{contractVersion:St.SETUP_CONTRACT_VERSION,operationId:e.operation.operationId,state:e.operation.state,readiness:t,nextAction:r,pollAfterMs:"pollAfterMs"in r?r.pollAfterMs:r.afterAction==="stop"?0:r.afterAction==="open_url_again"?St.SETUP_POLL_MS.idle:St.SETUP_POLL_MS.afterHumanAction}}function nun(e){let{identity:t,rails:r}=e;return J0t(e.requestedRails).map(n=>({step:n,status:iun(n,t.activated,r)}))}function iun(e,t,r){switch(e){case"identity.authorize":return"succeeded";case"identity.activate":return t?"succeeded":"awaiting_runtime";default:return oun(e,t,r)}}function oun(e,t,r){if(!t)return"pending";let n=r.card,i=r.wallet;switch(e){case"card.attach":return n?.ownerPrerequisiteMissing?"awaiting_human":n?.grantActivated&&n.instrumentResolves?"succeeded":"pending";case"card.mandate":return n?.liveMandateWithDrawsLeft===!0?"succeeded":n?.grantActivated&&n.instrumentResolves?"skipped":"pending";case"wallet.provision_owner":return i===void 0?"pending":i.ownerPrerequisiteMissing?"awaiting_human":"succeeded";case"wallet.attach":return i?.grantActivated?"succeeded":"pending";case"wallet.signer":return i?.grantActivated&&i.instrumentResolves?"succeeded":"pending";default:return"pending"}}function sun(e){return e.every(t=>t.status==="succeeded"||t.status==="skipped")}var aun={card:"Card ready to pay",wallet:"USDC wallet ready to pay"},cun=new Set(["failed","denied","cancelled","expired"]);function Q0t(e,t){let r=!0;return e.map(({key:n,label:i,done:o})=>o?{key:n,label:i,state:"done"}:r?(r=!1,{key:n,label:i,state:t?"stopped":"active"}):{key:n,label:i,state:"pending"})}function uun(e){let t=String(e.state),r=Array.isArray(e.readiness?.rails)?e.readiness.rails:[],n=!!(e.agent?.runtime||e.agent?.device)||e.readiness?.identityReady===!0||t==="awaiting_owner"||t==="approved"||t==="completed",i=[{key:"created",label:"Request created",done:!0},{key:"picked-up",label:"Agent picked it up",done:n},{key:"approved",label:"Limits approved",done:t==="approved"||t==="completed"},{key:"identity",label:"Agent identity verified",done:e.readiness?.identityReady===!0},...r.map(o=>({key:`rail-${o.rail}`,label:aun[o.rail]??`${o.rail} ready to pay`,done:o.ready===!0}))];return Q0t(i,cun.has(t))}});var tgt=_(DI=>{"use strict";Object.defineProperty(DI,"__esModule",{value:!0});DI.runtimeLabel=lun;DI.canonicalRuntimeId=Zee;DI.runtimeMatchAliases=pun;DI.runtimesMatch=fun;DI.claimBindingMode=mun;var dun={"claude-code":"Claude Code",claude:"Claude Code",codex:"Codex",openclaw:"OpenClaw",hermes:"Hermes",cursor:"Cursor","custom-mcp":"Custom (MCP)",mcp:"Custom (MCP)",custom:"Custom (MCP)"};function lun(e){let t=e.trim();return dun[t.toLowerCase()]??t}function Zee(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();if(t.length!==0)return t==="claude"||t==="claude-code"?"claude-code":t==="codex"?"codex":t==="openclaw"?"openclaw":t==="hermes"?"hermes":t==="cursor"?"cursor":t==="custom-mcp"||t==="mcp"||t==="custom"?"custom-mcp":t}function pun(e){let t=Zee(e);return t?t==="claude-code"?["claude","claude-code"]:t==="custom-mcp"?["custom","custom-mcp","mcp"]:[t]:[]}function fun(e,t){return!e||e.trim().length===0?!0:!t||t.trim().length===0?!1:Zee(e)===Zee(t)}function mun(e){return e&&e.trim().length>0?"targeted":"unbound"}});var rgt=_(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});td.ReleaseManifestValidationError=td.PROVIDER_CONFIGURATION_VARIABLE_KEYS=td.ACTIVE_RAILWAY_SERVICES=td.RELEASE_MANIFEST_SCHEMA_VERSION=void 0;td.validateReleaseManifest=gun;var hun=J_();td.RELEASE_MANIFEST_SCHEMA_VERSION="1.0.0";td.ACTIVE_RAILWAY_SERVICES=["auth","web","mpp","admin","worker"];td.PROVIDER_CONFIGURATION_VARIABLE_KEYS=["name","sensitivity","owners","consumer"];var ht=class extends Error{field;constructor(t,r){super(`ReleaseManifest validation error: ${t}${r?` (field: ${r})`:""}`),this.field=r,this.name="ReleaseManifestValidationError"}};td.ReleaseManifestValidationError=ht;function gun(e){if(!e||typeof e!="object"||Array.isArray(e))throw new ht("Manifest must be a non-null object");let t=e;if(t.schemaVersion!==td.RELEASE_MANIFEST_SCHEMA_VERSION)throw new ht(`Unsupported schemaVersion "${t.schemaVersion}"; expected "${td.RELEASE_MANIFEST_SCHEMA_VERSION}"`,"schemaVersion");if(typeof t.candidateId!="string"||!t.candidateId.trim())throw new ht("candidateId must be a non-empty string","candidateId");if(typeof t.sourceCommit!="string"||!/^[0-9a-f]{7,40}$/i.test(t.sourceCommit))throw new ht("sourceCommit must be a valid git commit SHA","sourceCommit");if(typeof t.generatedAt!="string"||!t.generatedAt.trim())throw new ht("generatedAt must be a valid timestamp","generatedAt");if(t.environment!=="staging"&&t.environment!=="production")throw new ht('environment must be "staging" or "production"',"environment");if(!t.services||typeof t.services!="object"||Array.isArray(t.services))throw new ht("services must be an object","services");let r=t.services;for(let m of td.ACTIVE_RAILWAY_SERVICES){if(!r[m]||typeof r[m]!="object")throw new ht(`Missing required active Railway service "${m}"`,`services.${m}`);let h=r[m];if(h.serviceId!==m)throw new ht(`Service ID mismatch for "${m}"`,`services.${m}.serviceId`);if(typeof h.rootPath!="string"||!h.rootPath.trim())throw new ht(`Invalid rootPath for service "${m}"`,`services.${m}.rootPath`);if(!Array.isArray(h.watchPaths)||h.watchPaths.length===0)throw new ht(`watchPaths must be a non-empty array for service "${m}"`,`services.${m}.watchPaths`);if(!Array.isArray(h.healthEndpoints)||h.healthEndpoints.length===0)throw new ht(`healthEndpoints must be a non-empty array for service "${m}"`,`services.${m}.healthEndpoints`)}if(!t.cli||typeof t.cli!="object"||Array.isArray(t.cli))throw new ht("cli must be an object","cli");let n=t.cli;if(n.packageName!=="@visa/cli")throw new ht('cli.packageName must be "@visa/cli"',"cli.packageName");if(typeof n.version!="string"||!n.version.trim())throw new ht("cli.version must be a valid string","cli.version");if(n.channel!=="rc"&&n.channel!=="latest")throw new ht('cli.channel must be "rc" or "latest"',"cli.channel");if(typeof n.tarballIntegrity!="string"||!n.tarballIntegrity.trim())throw new ht("cli.tarballIntegrity must be a non-empty string","cli.tarballIntegrity");if(typeof n.minimumCompatibleVersion!="string"||!n.minimumCompatibleVersion.trim())throw new ht("cli.minimumCompatibleVersion must be a non-empty string","cli.minimumCompatibleVersion");if(!n.capabilityFloors||typeof n.capabilityFloors!="object")throw new ht("cli.capabilityFloors must be an object","cli.capabilityFloors");if(!t.database||typeof t.database!="object")throw new ht("database must be an object","database");let i=t.database;if(!i.postgres||typeof i.postgres!="object")throw new ht("database.postgres must be an object","database.postgres");let o=i.postgres;if(typeof o.schemaChecksum!="string"||!o.schemaChecksum.trim())throw new ht("database.postgres.schemaChecksum must be a non-empty string","database.postgres.schemaChecksum");if(!Array.isArray(o.tables)||o.tables.length===0)throw new ht("database.postgres.tables must be a non-empty array","database.postgres.tables");if(!i.clickhouse||typeof i.clickhouse!="object")throw new ht("database.clickhouse must be an object","database.clickhouse");let s=i.clickhouse;if(typeof s.schemaChecksum!="string"||!s.schemaChecksum.trim())throw new ht("database.clickhouse.schemaChecksum must be a non-empty string","database.clickhouse.schemaChecksum");if(!Array.isArray(s.tables)||s.tables.length===0)throw new ht("database.clickhouse.tables must be a non-empty array","database.clickhouse.tables");if(!t.capabilities||typeof t.capabilities!="object")throw new ht("capabilities must be an object","capabilities");let a=t.capabilities;if(!Array.isArray(a.publicTools)||a.publicTools.length===0)throw new ht("capabilities.publicTools must be a non-empty array","capabilities.publicTools");if(!Array.isArray(a.paymentRails)||a.paymentRails.length===0)throw new ht("capabilities.paymentRails must be a non-empty array","capabilities.paymentRails");if(!Array.isArray(a.protocols)||a.protocols.length===0)throw new ht("capabilities.protocols must be a non-empty array","capabilities.protocols");if(!Array.isArray(a.rolloutFlags)||a.rolloutFlags.length===0)throw new ht("capabilities.rolloutFlags must be a non-empty array","capabilities.rolloutFlags");if(!t.providers||typeof t.providers!="object"||Array.isArray(t.providers))throw new ht("providers must be an object","providers");let c=t.providers,u=["turnkey","postgres","clickhouse","redis","sentry"];for(let m of u)if(!c[m]||typeof c[m]!="object")throw new ht(`Missing required provider assertion "${m}"`,`providers.${m}`);for(let[m,h]of Object.entries(c)){let g=h;if(g.configuration!==void 0){if(!Array.isArray(g.configuration))throw new ht(`providers.${m}.configuration must be an array`,`providers.${m}.configuration`);g.configuration.forEach((y,S)=>{let b=`providers.${m}.configuration[${S}]`;if(!y||typeof y!="object"||Array.isArray(y))throw new ht(`${b} must be an object`,b);let E=y;for(let T of Object.keys(E))if(!td.PROVIDER_CONFIGURATION_VARIABLE_KEYS.includes(T))throw new ht(`${b} carries unexpected key "${T}"; only variable names and registry metadata belong in the manifest`,b);if(typeof E.name!="string"||!/^[A-Z][A-Z0-9_]*$/.test(E.name))throw new ht(`${b}.name must be an environment variable name`,`${b}.name`);if(typeof E.sensitivity!="string"||!E.sensitivity.trim())throw new ht(`${b}.sensitivity must be a non-empty string`,`${b}.sensitivity`);if(!Array.isArray(E.owners)||E.owners.some(T=>typeof T!="string"))throw new ht(`${b}.owners must be an array of service names`,`${b}.owners`);if(typeof E.consumer!="string"||!E.consumer.trim())throw new ht(`${b}.consumer must be a non-empty string`,`${b}.consumer`)})}}if(!t.canaries||typeof t.canaries!="object"||Array.isArray(t.canaries))throw new ht("canaries must be an object","canaries");let d=t.canaries;if(!d.ceremonyCanary7590||typeof d.ceremonyCanary7590!="object")throw new ht('Missing required canary "ceremonyCanary7590"',"canaries.ceremonyCanary7590");if(!d.serviceHealthProbes||typeof d.serviceHealthProbes!="object")throw new ht('Missing required canary "serviceHealthProbes"',"canaries.serviceHealthProbes");if(!t.docs||typeof t.docs!="object")throw new ht("docs must be an object","docs");let l=t.docs;if(typeof l.canonicalDocsVersion!="string"||!l.canonicalDocsVersion.trim())throw new ht("docs.canonicalDocsVersion must be a non-empty string","docs.canonicalDocsVersion");if(!Array.isArray(t.rollbackClassification)||t.rollbackClassification.length===0)throw new ht("rollbackClassification must be a non-empty array","rollbackClassification");let p=new Set(["schema","credentials","provider_effects","money_state"]),f=new Set;for(let m of t.rollbackClassification){if(!m||typeof m!="object")throw new ht("rollbackClassification item must be an object","rollbackClassification");let h=m;if(h.classification!=="safe_rollback"&&h.classification!=="forward_fix_required")throw new ht(`Invalid classification "${h.classification}" for step "${h.step}"`,"rollbackClassification");typeof h.category=="string"&&f.add(h.category)}for(let m of p)if(!f.has(m))throw new ht(`rollbackClassification must cover category "${m}"`,"rollbackClassification");return _Oe(t),(0,hun.canonicalJsonValue)(e)}function _Oe(e,t=""){if(e!=null){if(typeof e=="string"){if(/Bearer\s+[A-Za-z0-9_-]{20,}/i.test(e))throw new ht(`Bearer token detected in manifest at ${t}`);if(/-----BEGIN\s+(?:RSA|EC|PRIVATE)\s+KEY-----/i.test(e))throw new ht(`Private key detected in manifest at ${t}`);if(/^(?:postgres|postgresql|redis|mongodb):\/\/[^:]+:[^@]+@/i.test(e))throw new ht(`Credential-bearing connection URL detected in manifest at ${t}`);return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)_Oe(e[r],`${t}[${r}]`);return}if(typeof e=="object")for(let[r,n]of Object.entries(e))_Oe(n,t?`${t}.${r}`:r)}}});var Hf=_(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:!0});z.clickhouseDatabaseHasStagingMarker=z.validateCardPaymentUnmatchedEventInsertRow=z.validateCardPaymentEventInsertRow=z.refreshCardPaymentAttemptProjection=z.insertCardPaymentUnmatchedEvent=z.insertCardPaymentLifecycleEventWithId=z.insertCardPaymentLifecycleEvent=z.assertValidCardPaymentAttemptStatus=z.CardPaymentDbValidationError=z.requiresProviderProvenance=z.requiredProvenanceFor=z.reduceCardPaymentEvents=z.provenanceOfSource=z.isOwnerAttestationVerdict=z.OWNER_ATTESTATION_VERDICTS=z.CARD_PAYMENT_EVENT_REQUIRED_PROVENANCE=z.CARD_PAYMENT_SOURCE_PROVENANCE=z.CARD_PAYMENT_PROVENANCES=z.CARD_PAYMENT_PROCESSOR_TRUTH_EVENT_TYPES=z.CARD_PAYMENT_UNMATCHED_SOURCES=z.CARD_PAYMENT_UNMATCHED_EVENT_TYPES=z.CARD_PAYMENT_SOURCES=z.CARD_PAYMENT_UNMATCHED_PROCESSORS=z.CARD_PAYMENT_PROCESSORS=z.CARD_PAYMENT_INTENTS=z.CARD_PAYMENT_EVENT_TYPES=z.CARD_PAYMENT_ATTEMPT_STATUSES=z.parseAccountOperationReceipt=z.cardStatusClaimsProcessorTruth=z.cardProofLevel=z.ACCOUNT_OPERATION_RECEIPT_SCHEMA_VERSION=z.ACCOUNT_OPERATION_PROOF_LEVELS=z.ACCOUNT_OPERATION_OUTCOMES=z.ACCOUNT_OPERATION_EVIDENCE_TYPES=z.checkTvcPinParity=z.TVC_SIGNER_POLICY_CONTRACT_VERSION=z.tvcCredentialLifecycleEvidence=z.parseTvcCredentialLifecycleEvidence=z.assertTvcCredentialRebindWindow=z.TVC_CREDENTIAL_REBIND_LEAD_SECONDS=z.TVC_CREDENTIAL_CONTRACT_SOURCES=z.tvcProviderCapacityEvidence=z.TVC_PROVIDER_WARN_THRESHOLD=z.parseTvcProviderCapacityEvidence=z.TURNKEY_SUBORG_RESOURCE_LIMITS=z.renderAgentOutcome=z.projectAgentOutcome=z.createAgentOutcomeProjector=z.AGENT_OUTCOME_LABELS=z.GenerationStatus=void 0;z.SETUP_TERMINAL_STATES=z.SETUP_STEP_STATUSES=z.SETUP_STEPS=z.SETUP_STATES=z.SETUP_RAIL_STEPS=z.SETUP_RAILS=z.SETUP_POLL_MS=z.SETUP_IDENTITY_STEPS=z.SETUP_DEFAULT_PER_PURCHASE_CENTS=z.SETUP_DEFAULT_DAILY_CENTS=z.SETUP_DEFAULT_AGGREGATE_CENTS=z.PROTECTED_CARD_MAX_DRAWS=z.SETUP_CONTRACT_VERSION=z.validateEncryptionKey=z.isPgcryptoIntegrityError=z.encryptSqlFragment=z.encrypt=z.encodeWireFormat=z.decryptSqlFragment=z.decrypt=z.decodeWireFormat=z.PgEncryptionWireFormatError=z.PgEncryptionKeyMissingError=z.PgEncryptionError=z.PgDecryptionFailedError=z.PG_ENCRYPTION_WIRE_VERSIONS=z.ENCRYPTION_KEY_MIN_BYTES=z.utf8ByteLength=z.isCanonicalText=z.isCanonicalOpaqueId=z.compareCanonicalKeys=z.assertCanonicalOpaqueId=z.CANONICAL_OPAQUE_ID_PATTERN=z.CANONICAL_OPAQUE_ID_MAX_BYTES=z.canonicalJson=z.parseAgentSelector=z.normalizeAgentName=z.computeAgentSelection=z.fetchWithTimeout=z.DEFAULT_FETCH_TIMEOUT_MS=z.PREVIEW_LEGACY_BALANCE_DRIFT_BASELINE=z.matchesPreviewLegacyBalanceDrift=z.resolveDeploymentEnvClass=z.resolveClickhouseEnvBinding=z.normalizeRailEnvironmentValue=z.isPublicPreviewRailEnvironment=z.isLiveVgsEnvironment=z.isExplicitProductionRailEnvironment=z.isExplicitPreviewPaymentRailOptIn=z.detectDeploymentEnvNodeEnvMismatch=void 0;z.validateReleaseManifest=z.ReleaseManifestValidationError=z.RELEASE_MANIFEST_SCHEMA_VERSION=z.PROVIDER_CONFIGURATION_VARIABLE_KEYS=z.ACTIVE_RAILWAY_SERVICES=z.claimBindingMode=z.runtimesMatch=z.runtimeMatchAliases=z.canonicalRuntimeId=z.runtimeLabel=z.setupProgressSteps=z.setupPlanSteps=z.progressLadder=z.isTerminal=z.isSetupPlanSettled=z.computeSetupStepTargets=z.computeSetupStatus=z.computeSetupReadiness=z.computeSetupNextAction=z.UNBOUND_AWAITING_RUNTIME_LABEL=z.TARGETED_AWAITING_RUNTIME_LABEL=void 0;var ngt;(function(e){e.pending="pending",e.processing="processing",e.completed="completed",e.failed="failed"})(ngt||(z.GenerationStatus=ngt={}));var Qee=oOe();Object.defineProperty(z,"AGENT_OUTCOME_LABELS",{enumerable:!0,get:function(){return Qee.AGENT_OUTCOME_LABELS}});Object.defineProperty(z,"createAgentOutcomeProjector",{enumerable:!0,get:function(){return Qee.createAgentOutcomeProjector}});Object.defineProperty(z,"projectAgentOutcome",{enumerable:!0,get:function(){return Qee.projectAgentOutcome}});Object.defineProperty(z,"renderAgentOutcome",{enumerable:!0,get:function(){return Qee.renderAgentOutcome}});var ete=p0t();Object.defineProperty(z,"TURNKEY_SUBORG_RESOURCE_LIMITS",{enumerable:!0,get:function(){return ete.TURNKEY_SUBORG_RESOURCE_LIMITS}});Object.defineProperty(z,"parseTvcProviderCapacityEvidence",{enumerable:!0,get:function(){return ete.parseTvcProviderCapacityEvidence}});Object.defineProperty(z,"TVC_PROVIDER_WARN_THRESHOLD",{enumerable:!0,get:function(){return ete.TVC_PROVIDER_WARN_THRESHOLD}});Object.defineProperty(z,"tvcProviderCapacityEvidence",{enumerable:!0,get:function(){return ete.tvcProviderCapacityEvidence}});var hB=g0t();Object.defineProperty(z,"TVC_CREDENTIAL_CONTRACT_SOURCES",{enumerable:!0,get:function(){return hB.TVC_CREDENTIAL_CONTRACT_SOURCES}});Object.defineProperty(z,"TVC_CREDENTIAL_REBIND_LEAD_SECONDS",{enumerable:!0,get:function(){return hB.TVC_CREDENTIAL_REBIND_LEAD_SECONDS}});Object.defineProperty(z,"assertTvcCredentialRebindWindow",{enumerable:!0,get:function(){return hB.assertTvcCredentialRebindWindow}});Object.defineProperty(z,"parseTvcCredentialLifecycleEvidence",{enumerable:!0,get:function(){return hB.parseTvcCredentialLifecycleEvidence}});Object.defineProperty(z,"tvcCredentialLifecycleEvidence",{enumerable:!0,get:function(){return hB.tvcCredentialLifecycleEvidence}});var _un=_0t();Object.defineProperty(z,"TVC_SIGNER_POLICY_CONTRACT_VERSION",{enumerable:!0,get:function(){return _un.TVC_SIGNER_POLICY_CONTRACT_VERSION}});var yun=b0t();Object.defineProperty(z,"checkTvcPinParity",{enumerable:!0,get:function(){return yun.checkTvcPinParity}});var LI=t1e();Object.defineProperty(z,"ACCOUNT_OPERATION_EVIDENCE_TYPES",{enumerable:!0,get:function(){return LI.ACCOUNT_OPERATION_EVIDENCE_TYPES}});Object.defineProperty(z,"ACCOUNT_OPERATION_OUTCOMES",{enumerable:!0,get:function(){return LI.ACCOUNT_OPERATION_OUTCOMES}});Object.defineProperty(z,"ACCOUNT_OPERATION_PROOF_LEVELS",{enumerable:!0,get:function(){return LI.ACCOUNT_OPERATION_PROOF_LEVELS}});Object.defineProperty(z,"ACCOUNT_OPERATION_RECEIPT_SCHEMA_VERSION",{enumerable:!0,get:function(){return LI.ACCOUNT_OPERATION_RECEIPT_SCHEMA_VERSION}});Object.defineProperty(z,"cardProofLevel",{enumerable:!0,get:function(){return LI.cardProofLevel}});Object.defineProperty(z,"cardStatusClaimsProcessorTruth",{enumerable:!0,get:function(){return LI.cardStatusClaimsProcessorTruth}});Object.defineProperty(z,"parseAccountOperationReceipt",{enumerable:!0,get:function(){return LI.parseAccountOperationReceipt}});var Oa=aOe();Object.defineProperty(z,"CARD_PAYMENT_ATTEMPT_STATUSES",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_ATTEMPT_STATUSES}});Object.defineProperty(z,"CARD_PAYMENT_EVENT_TYPES",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_EVENT_TYPES}});Object.defineProperty(z,"CARD_PAYMENT_INTENTS",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_INTENTS}});Object.defineProperty(z,"CARD_PAYMENT_PROCESSORS",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_PROCESSORS}});Object.defineProperty(z,"CARD_PAYMENT_UNMATCHED_PROCESSORS",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_UNMATCHED_PROCESSORS}});Object.defineProperty(z,"CARD_PAYMENT_SOURCES",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_SOURCES}});Object.defineProperty(z,"CARD_PAYMENT_UNMATCHED_EVENT_TYPES",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_UNMATCHED_EVENT_TYPES}});Object.defineProperty(z,"CARD_PAYMENT_UNMATCHED_SOURCES",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_UNMATCHED_SOURCES}});Object.defineProperty(z,"CARD_PAYMENT_PROCESSOR_TRUTH_EVENT_TYPES",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_PROCESSOR_TRUTH_EVENT_TYPES}});Object.defineProperty(z,"CARD_PAYMENT_PROVENANCES",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_PROVENANCES}});Object.defineProperty(z,"CARD_PAYMENT_SOURCE_PROVENANCE",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_SOURCE_PROVENANCE}});Object.defineProperty(z,"CARD_PAYMENT_EVENT_REQUIRED_PROVENANCE",{enumerable:!0,get:function(){return Oa.CARD_PAYMENT_EVENT_REQUIRED_PROVENANCE}});Object.defineProperty(z,"OWNER_ATTESTATION_VERDICTS",{enumerable:!0,get:function(){return Oa.OWNER_ATTESTATION_VERDICTS}});Object.defineProperty(z,"isOwnerAttestationVerdict",{enumerable:!0,get:function(){return Oa.isOwnerAttestationVerdict}});Object.defineProperty(z,"provenanceOfSource",{enumerable:!0,get:function(){return Oa.provenanceOfSource}});Object.defineProperty(z,"reduceCardPaymentEvents",{enumerable:!0,get:function(){return Oa.reduceCardPaymentEvents}});Object.defineProperty(z,"requiredProvenanceFor",{enumerable:!0,get:function(){return Oa.requiredProvenanceFor}});Object.defineProperty(z,"requiresProviderProvenance",{enumerable:!0,get:function(){return Oa.requiresProviderProvenance}});var Kv=L0t();Object.defineProperty(z,"CardPaymentDbValidationError",{enumerable:!0,get:function(){return Kv.CardPaymentDbValidationError}});Object.defineProperty(z,"assertValidCardPaymentAttemptStatus",{enumerable:!0,get:function(){return Kv.assertValidCardPaymentAttemptStatus}});Object.defineProperty(z,"insertCardPaymentLifecycleEvent",{enumerable:!0,get:function(){return Kv.insertCardPaymentLifecycleEvent}});Object.defineProperty(z,"insertCardPaymentLifecycleEventWithId",{enumerable:!0,get:function(){return Kv.insertCardPaymentLifecycleEventWithId}});Object.defineProperty(z,"insertCardPaymentUnmatchedEvent",{enumerable:!0,get:function(){return Kv.insertCardPaymentUnmatchedEvent}});Object.defineProperty(z,"refreshCardPaymentAttemptProjection",{enumerable:!0,get:function(){return Kv.refreshCardPaymentAttemptProjection}});Object.defineProperty(z,"validateCardPaymentEventInsertRow",{enumerable:!0,get:function(){return Kv.validateCardPaymentEventInsertRow}});Object.defineProperty(z,"validateCardPaymentUnmatchedEventInsertRow",{enumerable:!0,get:function(){return Kv.validateCardPaymentUnmatchedEventInsertRow}});var Gy=H0t();Object.defineProperty(z,"clickhouseDatabaseHasStagingMarker",{enumerable:!0,get:function(){return Gy.clickhouseDatabaseHasStagingMarker}});Object.defineProperty(z,"detectDeploymentEnvNodeEnvMismatch",{enumerable:!0,get:function(){return Gy.detectDeploymentEnvNodeEnvMismatch}});Object.defineProperty(z,"isExplicitPreviewPaymentRailOptIn",{enumerable:!0,get:function(){return Gy.isExplicitPreviewPaymentRailOptIn}});Object.defineProperty(z,"isExplicitProductionRailEnvironment",{enumerable:!0,get:function(){return Gy.isExplicitProductionRailEnvironment}});Object.defineProperty(z,"isLiveVgsEnvironment",{enumerable:!0,get:function(){return Gy.isLiveVgsEnvironment}});Object.defineProperty(z,"isPublicPreviewRailEnvironment",{enumerable:!0,get:function(){return Gy.isPublicPreviewRailEnvironment}});Object.defineProperty(z,"normalizeRailEnvironmentValue",{enumerable:!0,get:function(){return Gy.normalizeRailEnvironmentValue}});Object.defineProperty(z,"resolveClickhouseEnvBinding",{enumerable:!0,get:function(){return Gy.resolveClickhouseEnvBinding}});Object.defineProperty(z,"resolveDeploymentEnvClass",{enumerable:!0,get:function(){return Gy.resolveDeploymentEnvClass}});var igt=F0t();Object.defineProperty(z,"matchesPreviewLegacyBalanceDrift",{enumerable:!0,get:function(){return igt.matchesPreviewLegacyBalanceDrift}});Object.defineProperty(z,"PREVIEW_LEGACY_BALANCE_DRIFT_BASELINE",{enumerable:!0,get:function(){return igt.PREVIEW_LEGACY_BALANCE_DRIFT_BASELINE}});var ogt=$0t();Object.defineProperty(z,"DEFAULT_FETCH_TIMEOUT_MS",{enumerable:!0,get:function(){return ogt.DEFAULT_FETCH_TIMEOUT_MS}});Object.defineProperty(z,"fetchWithTimeout",{enumerable:!0,get:function(){return ogt.fetchWithTimeout}});var yOe=G0t();Object.defineProperty(z,"computeAgentSelection",{enumerable:!0,get:function(){return yOe.computeAgentSelection}});Object.defineProperty(z,"normalizeAgentName",{enumerable:!0,get:function(){return yOe.normalizeAgentName}});Object.defineProperty(z,"parseAgentSelector",{enumerable:!0,get:function(){return yOe.parseAgentSelector}});var bun=J_();Object.defineProperty(z,"canonicalJson",{enumerable:!0,get:function(){return bun.canonicalJson}});var UI=rO();Object.defineProperty(z,"CANONICAL_OPAQUE_ID_MAX_BYTES",{enumerable:!0,get:function(){return UI.CANONICAL_OPAQUE_ID_MAX_BYTES}});Object.defineProperty(z,"CANONICAL_OPAQUE_ID_PATTERN",{enumerable:!0,get:function(){return UI.CANONICAL_OPAQUE_ID_PATTERN}});Object.defineProperty(z,"assertCanonicalOpaqueId",{enumerable:!0,get:function(){return UI.assertCanonicalOpaqueId}});Object.defineProperty(z,"compareCanonicalKeys",{enumerable:!0,get:function(){return UI.compareCanonicalKeys}});Object.defineProperty(z,"isCanonicalOpaqueId",{enumerable:!0,get:function(){return UI.isCanonicalOpaqueId}});Object.defineProperty(z,"isCanonicalText",{enumerable:!0,get:function(){return UI.isCanonicalText}});Object.defineProperty(z,"utf8ByteLength",{enumerable:!0,get:function(){return UI.utf8ByteLength}});var tl=Y0t();Object.defineProperty(z,"ENCRYPTION_KEY_MIN_BYTES",{enumerable:!0,get:function(){return tl.ENCRYPTION_KEY_MIN_BYTES}});Object.defineProperty(z,"PG_ENCRYPTION_WIRE_VERSIONS",{enumerable:!0,get:function(){return tl.PG_ENCRYPTION_WIRE_VERSIONS}});Object.defineProperty(z,"PgDecryptionFailedError",{enumerable:!0,get:function(){return tl.PgDecryptionFailedError}});Object.defineProperty(z,"PgEncryptionError",{enumerable:!0,get:function(){return tl.PgEncryptionError}});Object.defineProperty(z,"PgEncryptionKeyMissingError",{enumerable:!0,get:function(){return tl.PgEncryptionKeyMissingError}});Object.defineProperty(z,"PgEncryptionWireFormatError",{enumerable:!0,get:function(){return tl.PgEncryptionWireFormatError}});Object.defineProperty(z,"decodeWireFormat",{enumerable:!0,get:function(){return tl.decodeWireFormat}});Object.defineProperty(z,"decrypt",{enumerable:!0,get:function(){return tl.decrypt}});Object.defineProperty(z,"decryptSqlFragment",{enumerable:!0,get:function(){return tl.decryptSqlFragment}});Object.defineProperty(z,"encodeWireFormat",{enumerable:!0,get:function(){return tl.encodeWireFormat}});Object.defineProperty(z,"encrypt",{enumerable:!0,get:function(){return tl.encrypt}});Object.defineProperty(z,"encryptSqlFragment",{enumerable:!0,get:function(){return tl.encryptSqlFragment}});Object.defineProperty(z,"isPgcryptoIntegrityError",{enumerable:!0,get:function(){return tl.isPgcryptoIntegrityError}});Object.defineProperty(z,"validateEncryptionKey",{enumerable:!0,get:function(){return tl.validateEncryptionKey}});var Hi=egt();Object.defineProperty(z,"SETUP_CONTRACT_VERSION",{enumerable:!0,get:function(){return Hi.SETUP_CONTRACT_VERSION}});Object.defineProperty(z,"PROTECTED_CARD_MAX_DRAWS",{enumerable:!0,get:function(){return Hi.PROTECTED_CARD_MAX_DRAWS}});Object.defineProperty(z,"SETUP_DEFAULT_AGGREGATE_CENTS",{enumerable:!0,get:function(){return Hi.SETUP_DEFAULT_AGGREGATE_CENTS}});Object.defineProperty(z,"SETUP_DEFAULT_DAILY_CENTS",{enumerable:!0,get:function(){return Hi.SETUP_DEFAULT_DAILY_CENTS}});Object.defineProperty(z,"SETUP_DEFAULT_PER_PURCHASE_CENTS",{enumerable:!0,get:function(){return Hi.SETUP_DEFAULT_PER_PURCHASE_CENTS}});Object.defineProperty(z,"SETUP_IDENTITY_STEPS",{enumerable:!0,get:function(){return Hi.SETUP_IDENTITY_STEPS}});Object.defineProperty(z,"SETUP_POLL_MS",{enumerable:!0,get:function(){return Hi.SETUP_POLL_MS}});Object.defineProperty(z,"SETUP_RAILS",{enumerable:!0,get:function(){return Hi.SETUP_RAILS}});Object.defineProperty(z,"SETUP_RAIL_STEPS",{enumerable:!0,get:function(){return Hi.SETUP_RAIL_STEPS}});Object.defineProperty(z,"SETUP_STATES",{enumerable:!0,get:function(){return Hi.SETUP_STATES}});Object.defineProperty(z,"SETUP_STEPS",{enumerable:!0,get:function(){return Hi.SETUP_STEPS}});Object.defineProperty(z,"SETUP_STEP_STATUSES",{enumerable:!0,get:function(){return Hi.SETUP_STEP_STATUSES}});Object.defineProperty(z,"SETUP_TERMINAL_STATES",{enumerable:!0,get:function(){return Hi.SETUP_TERMINAL_STATES}});Object.defineProperty(z,"TARGETED_AWAITING_RUNTIME_LABEL",{enumerable:!0,get:function(){return Hi.TARGETED_AWAITING_RUNTIME_LABEL}});Object.defineProperty(z,"UNBOUND_AWAITING_RUNTIME_LABEL",{enumerable:!0,get:function(){return Hi.UNBOUND_AWAITING_RUNTIME_LABEL}});Object.defineProperty(z,"computeSetupNextAction",{enumerable:!0,get:function(){return Hi.computeSetupNextAction}});Object.defineProperty(z,"computeSetupReadiness",{enumerable:!0,get:function(){return Hi.computeSetupReadiness}});Object.defineProperty(z,"computeSetupStatus",{enumerable:!0,get:function(){return Hi.computeSetupStatus}});Object.defineProperty(z,"computeSetupStepTargets",{enumerable:!0,get:function(){return Hi.computeSetupStepTargets}});Object.defineProperty(z,"isSetupPlanSettled",{enumerable:!0,get:function(){return Hi.isSetupPlanSettled}});Object.defineProperty(z,"isTerminal",{enumerable:!0,get:function(){return Hi.isTerminal}});Object.defineProperty(z,"progressLadder",{enumerable:!0,get:function(){return Hi.progressLadder}});Object.defineProperty(z,"setupPlanSteps",{enumerable:!0,get:function(){return Hi.setupPlanSteps}});Object.defineProperty(z,"setupProgressSteps",{enumerable:!0,get:function(){return Hi.setupProgressSteps}});var gB=tgt();Object.defineProperty(z,"runtimeLabel",{enumerable:!0,get:function(){return gB.runtimeLabel}});Object.defineProperty(z,"canonicalRuntimeId",{enumerable:!0,get:function(){return gB.canonicalRuntimeId}});Object.defineProperty(z,"runtimeMatchAliases",{enumerable:!0,get:function(){return gB.runtimeMatchAliases}});Object.defineProperty(z,"runtimesMatch",{enumerable:!0,get:function(){return gB.runtimesMatch}});Object.defineProperty(z,"claimBindingMode",{enumerable:!0,get:function(){return gB.claimBindingMode}});var _B=rgt();Object.defineProperty(z,"ACTIVE_RAILWAY_SERVICES",{enumerable:!0,get:function(){return _B.ACTIVE_RAILWAY_SERVICES}});Object.defineProperty(z,"PROVIDER_CONFIGURATION_VARIABLE_KEYS",{enumerable:!0,get:function(){return _B.PROVIDER_CONFIGURATION_VARIABLE_KEYS}});Object.defineProperty(z,"RELEASE_MANIFEST_SCHEMA_VERSION",{enumerable:!0,get:function(){return _B.RELEASE_MANIFEST_SCHEMA_VERSION}});Object.defineProperty(z,"ReleaseManifestValidationError",{enumerable:!0,get:function(){return _B.ReleaseManifestValidationError}});Object.defineProperty(z,"validateReleaseManifest",{enumerable:!0,get:function(){return _B.validateReleaseManifest}})});var vOe=_(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.PRODUCT_SPEND_POLICY_VERSION=void 0;rl.canonicalMerchantOriginPattern=mgt;rl.canonicalMerchantPathPrefix=hgt;rl.canonicalMerchantTarget=ggt;rl.canonicalOwnerProductSpendPolicy=_gt;rl.canonicalRuntimeProductSpendAttenuation=ygt;rl.productSpendPolicyHash=bgt;rl.isProductSpendPolicySubset=Nun;rl.evaluateProductSpendPolicy=Cun;var Eun=require("node:crypto"),Sun=Hf();rl.PRODUCT_SPEND_POLICY_VERSION=1;var vun=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,dgt=/^(?:0|[1-9][0-9]*)$/,lgt=/^eip155:[1-9][0-9]{0,15}$/,pgt=/^eip155:[1-9][0-9]{0,15}\/erc20:0x[0-9a-f]{40}$/,Tun=128,Aun=64;function EOe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function SOe(e,t,r){let n=new Set(r);for(let i of Object.keys(t))if(!n.has(i))throw new Error(`${e} contains unknown key '${i}'`)}function Yv(e,t){if(typeof t!="string"||!vun.test(t))throw new Error(`${e} must be a UUID`);return t.toLowerCase()}function rte(e,t){if(!Number.isSafeInteger(t)||t<=0)throw new Error(`${e} must be a positive safe integer`);return t}function tte(e,t,r=!1){if(typeof t!="string"||!dgt.test(t)||!r&&t==="0")throw new Error(`${e} must be a ${r?"non-negative":"positive"} canonical integer string`);let n=BigInt(t);if(n>9223372036854775807n)throw new Error(`${e} exceeds bigint storage`);return n.toString()}function wun(e,t){if(typeof t!="string")throw new Error(`${e} must be an ISO timestamp`);let r=Date.parse(t);if(!Number.isFinite(r))throw new Error(`${e} must be an ISO timestamp`);let n=new Date(r).toISOString();if(t!==n)throw new Error(`${e} must be canonical UTC ISO-8601`);return n}function sgt(e,t,r){if(!Array.isArray(t)||t.length===0||t.length>Aun)throw new Error(`${e} must be a non-empty bounded array`);let n=t.map(i=>{if(typeof i!="string"||!r.test(i))throw new Error(`${e} contains a non-canonical value`);return i});if(new Set(n).size!==n.length)throw new Error(`${e} must not repeat`);return[...n].sort()}function Iun(e){if(e.startsWith("https://*.")){let t=e.slice(10);if(t.includes("*"))throw new Error("merchant wildcard must be the left-most full label");return{wildcard:!0,parseable:`https://wildcard.${t}`}}if(e.includes("*"))throw new Error("merchant wildcard must be the left-most full label");return{wildcard:!1,parseable:e}}function fgt(e,t){if(t.length===0||t.length>253||t.endsWith(".")||t.includes(":")||/^\d+(?:\.\d+){3}$/.test(t))throw new Error(`${e} must use a canonical DNS hostname`);for(let r of t.split("."))if(r.length===0||r.length>63||!/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/.test(r))throw new Error(`${e} must use a canonical DNS hostname`)}function mgt(e){if(typeof e!="string"||e.length===0||e.length>512)throw new Error("merchant origin pattern must be a bounded string");let{wildcard:t,parseable:r}=Iun(e),n;try{n=new URL(r)}catch{throw new Error("merchant origin pattern must be a valid URL")}if(n.protocol!=="https:"||n.username!==""||n.password!==""||n.search!==""||n.hash!==""||n.pathname!=="/")throw new Error("merchant origin pattern must be a credential-free HTTPS origin");let i=t?n.hostname.replace(/^wildcard\./,""):n.hostname;if(fgt("merchant origin pattern",i),t&&!i.includes("."))throw new Error("merchant wildcard must retain a registrable parent label");return`https://${t?"*.":""}${i}${n.port===""?"":`:${n.port}`}`}function hgt(e){if(typeof e!="string"||e.length===0||e.length>1024)throw new Error("merchant path prefix must be a bounded string");if(!e.startsWith("/")||e.includes("?")||e.includes("#")||e.includes("\\"))throw new Error("merchant path prefix must be an absolute URL path");if(new URL(e,"https://policy.invalid").pathname!==e)throw new Error("merchant path prefix must be canonical");return e!=="/"&&e.endsWith("/")?e.slice(0,-1):e}function ggt(e){if(typeof e!="string"||e.length===0||e.length>2048)throw new Error("merchant target must be a bounded URL");let t;try{t=new URL(e)}catch{throw new Error("merchant target must be a valid URL")}if(t.protocol!=="https:"||t.username!==""||t.password!==""||t.hash!=="")throw new Error("merchant target must be a credential-free HTTPS URL");return fgt("merchant target",t.hostname),{origin:t.origin,path:t.pathname}}function Pun(e){if(!EOe(e))throw new Error("merchant rule must be an object");if(SOe("merchant rule",e,["effect","originPattern","pathPrefix"]),e.effect!=="allow"&&e.effect!=="deny")throw new Error("merchant rule effect must be allow or deny");return{effect:e.effect,originPattern:mgt(e.originPattern),pathPrefix:hgt(e.pathPrefix)}}function xun(e,t){let r=`${e.effect}\0${e.originPattern}\0${e.pathPrefix}`,n=`${t.effect}\0${t.originPattern}\0${t.pathPrefix}`;return r<n?-1:r>n?1:0}function nte(e){if(e.v!==rl.PRODUCT_SPEND_POLICY_VERSION)throw new Error("policy.v must be 1");let t=tte("totalMicros",e.totalMicros),r=tte("perTransactionMicros",e.perTransactionMicros,!0),n=e.dailyMicros===void 0?void 0:tte("dailyMicros",e.dailyMicros,!0),i=e.sessionMicros===void 0?void 0:tte("sessionMicros",e.sessionMicros,!0);for(let[u,d]of[["perTransactionMicros",r],["dailyMicros",n],["sessionMicros",i]])if(d!==void 0&&BigInt(d)>BigInt(t))throw new Error(`${u} cannot exceed totalMicros`);let o=sgt("networks",e.networks,lgt),s=sgt("assets",e.assets,pgt);for(let u of s)if(!o.includes(u.slice(0,u.indexOf("/"))))throw new Error("each allowed asset must belong to an allowed network");if(e.merchantDefault!=="allow"&&e.merchantDefault!=="deny")throw new Error("merchantDefault must be allow or deny");if(!Array.isArray(e.merchantRules)||e.merchantRules.length>Tun)throw new Error("merchantRules must be a bounded array");let a=e.merchantRules.map(Pun).sort(xun),c=a.map(u=>JSON.stringify(u));if(new Set(c).size!==c.length)throw new Error("merchantRules must not repeat");return{v:rl.PRODUCT_SPEND_POLICY_VERSION,totalMicros:t,perTransactionMicros:r,...n===void 0?{}:{dailyMicros:n},...i===void 0?{}:{sessionMicros:i},networks:o,assets:s,merchantDefault:e.merchantDefault,merchantRules:a,expiresAt:wun("expiresAt",e.expiresAt)}}function _gt(e){if(!EOe(e))throw new Error("owner product spend policy must be an object");if(SOe("owner product spend policy",e,["v","policyId","agentId","version","status","grantId","grantVersion","totalMicros","perTransactionMicros","dailyMicros","sessionMicros","networks","assets","merchantDefault","merchantRules","expiresAt"]),e.status!=="active"&&e.status!=="superseded"&&e.status!=="revoked")throw new Error("invalid product spend policy status");return{...nte(e),policyId:Yv("policyId",e.policyId),agentId:Yv("agentId",e.agentId),version:rte("version",e.version),status:e.status,grantId:Yv("grantId",e.grantId),grantVersion:rte("grantVersion",e.grantVersion)}}function ygt(e){if(!EOe(e))throw new Error("runtime product spend attenuation must be an object");return SOe("runtime product spend attenuation",e,["v","attenuationId","agentId","runtimeId","version","ownerPolicyId","ownerPolicyVersion","supersedesAttenuationId","totalMicros","perTransactionMicros","dailyMicros","sessionMicros","networks","assets","merchantDefault","merchantRules","expiresAt"]),{...nte(e),attenuationId:Yv("attenuationId",e.attenuationId),agentId:Yv("agentId",e.agentId),runtimeId:Yv("runtimeId",e.runtimeId),version:rte("version",e.version),ownerPolicyId:Yv("ownerPolicyId",e.ownerPolicyId),ownerPolicyVersion:rte("ownerPolicyVersion",e.ownerPolicyVersion),...e.supersedesAttenuationId===void 0?{}:{supersedesAttenuationId:Yv("supersedesAttenuationId",e.supersedesAttenuationId)}}}function bgt(e){return(0,Eun.createHash)("sha256").update((0,Sun.canonicalJson)(e)).digest("base64url")}function agt(e,t){let r=new Set(t);return e.every(n=>r.has(n))}function bOe(e){let t=e.startsWith("https://*."),r=t?`https://wildcard.${e.slice(10)}`:e,n=new URL(r);return{wildcard:t,hostname:t?n.hostname.replace(/^wildcard\./,""):n.hostname,port:n.port}}function Egt(e,t){return t.wildcard?e.endsWith(`.${t.hostname}`)&&e!==t.hostname:e===t.hostname}function Sgt(e,t){return t==="/"||e===t||e.startsWith(`${t}/`)}function Oun(e,t){let r=new URL(t.origin),n=bOe(e.originPattern);return r.port===n.port&&Egt(r.hostname,n)&&Sgt(t.path,e.pathPrefix)}function Run(e,t){let r=bOe(e),n=bOe(t);return r.port!==n.port?!1:n.wildcard?r.wildcard?r.hostname===n.hostname||r.hostname.endsWith(`.${n.hostname}`):Egt(r.hostname,n):!r.wildcard&&r.hostname===n.hostname}function cgt(e,t){return Run(e.originPattern,t.originPattern)&&Sgt(e.pathPrefix,t.pathPrefix)}function ugt(e,t){return t===void 0?!0:e!==void 0&&BigInt(e)<=BigInt(t)}function Nun(e,t){let r,n;try{r=nte(e),n=nte(t)}catch{return!1}if(BigInt(r.totalMicros)>BigInt(n.totalMicros)||BigInt(r.perTransactionMicros)>BigInt(n.perTransactionMicros)||!ugt(r.dailyMicros,n.dailyMicros)||!ugt(r.sessionMicros,n.sessionMicros)||Date.parse(r.expiresAt)>Date.parse(n.expiresAt)||!agt(r.networks,n.networks)||!agt(r.assets,n.assets))return!1;let i=r.merchantRules.filter(({effect:u})=>u==="allow"),o=n.merchantRules.filter(({effect:u})=>u==="allow");if(n.merchantDefault==="deny"&&r.merchantDefault==="allow"||n.merchantDefault==="deny"&&!i.every(u=>o.some(d=>cgt(u,d))))return!1;let s=r.merchantRules.filter(({effect:u})=>u==="deny"),a=n.merchantRules.filter(({effect:u})=>u==="deny");return!(!(r.merchantDefault==="deny"&&i.length===0)&&!a.every(u=>s.some(d=>cgt(u,d))))}function Wv(e,t){if(typeof t!="string"||!dgt.test(t))throw new Error(`${e} must be a canonical non-negative integer string`);let r=BigInt(t);if(r>9223372036854775807n)throw new Error(`${e} exceeds bigint storage`);return r}function Cun(e){let t,r,n,i,o,s,a;try{if(t="policyId"in e.policy?_gt(e.policy):ygt(e.policy),r=Wv("amountMicros",e.amountMicros),r===0n)throw new Error("amountMicros must be positive");if(n=e.hardMaximumMicros===void 0?void 0:Wv("hardMaximumMicros",e.hardMaximumMicros),!lgt.test(e.network)||!pgt.test(e.asset))throw new Error("network or asset is not canonical");i=ggt(e.merchantUrl),o=Wv("totalSpentMicros",e.usage.totalSpentMicros)+Wv("totalReservedMicros",e.usage.totalReservedMicros),s=Wv("dailySpentMicros",e.usage.dailySpentMicros)+Wv("dailyReservedMicros",e.usage.dailyReservedMicros),a=Wv("sessionSpentMicros",e.usage.sessionSpentMicros)+Wv("sessionReservedMicros",e.usage.sessionReservedMicros)}catch{return{ok:!1,reason:"invalid_state"}}if("status"in t&&t.status!=="active")return{ok:!1,reason:"policy_not_active"};if(!Number.isFinite(e.nowMs))return{ok:!1,reason:"invalid_state"};if(e.nowMs>=Date.parse(t.expiresAt))return{ok:!1,reason:"policy_expired"};if(!t.networks.includes(e.network))return{ok:!1,reason:"network_not_allowed"};if(!t.assets.includes(e.asset))return{ok:!1,reason:"asset_not_allowed"};let c=t.merchantRules.filter(p=>Oun(p,i));if(c.some(({effect:p})=>p==="deny"))return{ok:!1,reason:"merchant_denied"};if(t.merchantDefault==="deny"&&!c.some(({effect:p})=>p==="allow"))return{ok:!1,reason:"merchant_not_allowed"};if(n!==void 0&&r>n)return{ok:!1,reason:"over_hard_maximum"};if(r>BigInt(t.perTransactionMicros))return{ok:!1,reason:"over_per_transaction"};let u=BigInt(t.totalMicros)-o;if(r>u)return{ok:!1,reason:"over_total"};let d=t.dailyMicros===void 0?null:BigInt(t.dailyMicros)-s;if(d!==null&&r>d)return{ok:!1,reason:"over_daily"};let l=t.sessionMicros===void 0?null:BigInt(t.sessionMicros)-a;return l!==null&&r>l?{ok:!1,reason:"over_session"}:{ok:!0,policyHash:bgt(t),totalRemainingMicros:(u-r).toString(),dailyRemainingMicros:d===null?null:(d-r).toString(),sessionRemainingMicros:l===null?null:(l-r).toString()}}});var xgt=_(ite=>{"use strict";Object.defineProperty(ite,"__esModule",{value:!0});ite.canonicalLegacyWalletSpendPolicy=Pgt;ite.importLegacyWalletSpendPolicy=Hun;var Tgt=vOe(),Agt=9223372036854775807n,wgt=/^eip155:[1-9][0-9]{0,15}$/,Mun=/^eip155:[1-9][0-9]{0,15}\/erc20:0x[0-9a-f]{40}$/,kun=16,Dun=128;function Lun(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Uun(e){let t=new Set(["perTxCapUsd","dailyCapUsd","sessionBudgetUsd","allowedNetworks","merchantAllowlist","merchantDenylist","expiresAt"]);for(let r of Object.keys(e))if(!t.has(r))throw new Error(`legacy wallet policy contains unknown key '${r}'`)}function b8(e,t){if(typeof t!="string")throw new Error(`${e} must be a USD decimal string`);let r=/^(0|[1-9][0-9]*)(?:\.([0-9]{1,6}))?$/.exec(t);if(!r)throw new Error(`${e} must be a canonical USD amount with at most 6 decimals`);let n=BigInt(`${r[1]}${(r[2]??"").padEnd(6,"0")}`);if(n>Agt)throw new Error(`${e} exceeds bigint storage`);return n.toString()}function Igt(e,t){if(typeof t!="string")throw new Error(`${e} must be an ISO timestamp`);let r=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d{1,3})?(?:Z|[+-]\d{2}:\d{2})$/.exec(t);if(!r)throw new Error(`${e} must be an ISO timestamp with an explicit timezone`);let[,n,i,o,s,a,c]=r,u=Number(n),d=Number(i),l=Number(o),p=Number(s),f=Number(a),m=Number(c),h=new Date(0);if(h.setUTCFullYear(u,d-1,l),h.setUTCHours(p,f,m,0),u===0||h.getUTCFullYear()!==u||h.getUTCMonth()!==d-1||h.getUTCDate()!==l||h.getUTCHours()!==p||h.getUTCMinutes()!==f||h.getUTCSeconds()!==m)throw new Error(`${e} must contain a valid calendar instant`);let g=Date.parse(t);if(!Number.isFinite(g))throw new Error(`${e} must be an ISO timestamp`);return new Date(g).toISOString()}function Bun(e){if(!Array.isArray(e)||e.length===0||e.length>kun)throw new Error("allowedNetworks must be a non-empty bounded array");let t=e.map(r=>{if(typeof r!="string"||!wgt.test(r))throw new Error("allowedNetworks contains a non-canonical network");return r});return[...new Set(t)].sort()}function jun(e){if(typeof e!="string"||e.length===0||e.length>255)throw new Error("legacy merchant host must be a bounded string");if(e.includes("/")||e.includes("@")||e.includes("*")||e.includes(":"))throw new Error("legacy merchant host must be an exact DNS host");let t;try{t=new URL(`https://${e}`)}catch{throw new Error("legacy merchant host must be a valid DNS host")}let r=t.host.toLowerCase();if(e.toLowerCase()!==r)throw new Error("legacy merchant host must already have canonical URL spelling");return(0,Tgt.canonicalMerchantOriginPattern)(`https://${r}`),r}function vgt(e,t){if(t!==void 0){if(!Array.isArray(t)||t.length>Dun)throw new Error(`${e} must be a bounded array`);return[...new Set(t.map(jun))].sort()}}function Pgt(e){if(!Lun(e))throw new Error("legacy wallet policy must be an object");Uun(e);let t=vgt("merchantAllowlist",e.merchantAllowlist),r=vgt("merchantDenylist",e.merchantDenylist);return b8("perTxCapUsd",e.perTxCapUsd),b8("dailyCapUsd",e.dailyCapUsd),b8("sessionBudgetUsd",e.sessionBudgetUsd),{perTxCapUsd:e.perTxCapUsd,dailyCapUsd:e.dailyCapUsd,sessionBudgetUsd:e.sessionBudgetUsd,allowedNetworks:Bun(e.allowedNetworks),...t===void 0?{}:{merchantAllowlist:t},...r===void 0?{}:{merchantDenylist:r},...e.expiresAt===void 0?{}:{expiresAt:Igt("expiresAt",e.expiresAt)}}}function TOe(e,t){if(typeof t!="string"||!/^[1-9][0-9]*$/.test(t))throw new Error(`${e} must be a positive canonical micros string`);let r=BigInt(t);if(r>Agt)throw new Error(`${e} exceeds bigint storage`);return r.toString()}function yB(e,t){return(BigInt(e)<=BigInt(t)?BigInt(e):BigInt(t)).toString()}function qun(e){let t=(e.merchantAllowlist??[]).map(n=>({effect:"allow",originPattern:`https://${n}`,pathPrefix:"/"})),r=(e.merchantDenylist??[]).map(n=>({effect:"deny",originPattern:`https://${n}`,pathPrefix:"/"}));return[...t,...r]}function Hun(e){let t=Pgt(e.policy),r=TOe("grantTotalMicros",e.context.grantTotalMicros),n=TOe("grantPerTransactionMicros",e.context.grantPerTransactionMicros),i=e.context.grantDailyMicros===void 0?r:TOe("grantDailyMicros",e.context.grantDailyMicros),o=Igt("grantExpiresAt",e.context.grantExpiresAt);if(!wgt.test(e.context.walletNetwork))throw new Error("walletNetwork must be a canonical CAIP-2 identifier");if(!Mun.test(e.context.walletAsset)||!e.context.walletAsset.startsWith(`${e.context.walletNetwork}/`))throw new Error("walletAsset must be the canonical asset on walletNetwork");if(!t.allowedNetworks.includes(e.context.walletNetwork))throw new Error("the legacy policy does not allow the active wallet network");let s=b8("perTxCapUsd",t.perTxCapUsd),a=b8("dailyCapUsd",t.dailyCapUsd),c=b8("sessionBudgetUsd",t.sessionBudgetUsd),u=t.expiresAt?new Date(Math.min(Date.parse(t.expiresAt),Date.parse(o))).toISOString():o;return{v:Tgt.PRODUCT_SPEND_POLICY_VERSION,totalMicros:r,perTransactionMicros:yB(s,yB(n,r)),dailyMicros:yB(a,yB(i,r)),sessionMicros:yB(c,r),networks:[e.context.walletNetwork],assets:[e.context.walletAsset],merchantDefault:t.merchantAllowlist===void 0?"allow":"deny",merchantRules:qun(t),expiresAt:u}}});var Jv=_(ote=>{"use strict";Object.defineProperty(ote,"__esModule",{value:!0});ote.prepareRootSignedJws=Vun;ote.completeRootSignedJws=Fun;var AOe=GS();function Vun(e,t,r){let n=(0,AOe.bytesToBase64Url)(new TextEncoder().encode(JSON.stringify({alg:"EdDSA",kid:t,typ:e}))),i=(0,AOe.bytesToBase64Url)(new TextEncoder().encode(JSON.stringify(r)));return{signingInput:`${n}.${i}`}}function Fun(e,t,r){if(!(t instanceof Uint8Array)||t.length!==64)throw new Error(`${r} signature must be exactly 64 raw Ed25519 bytes`);return`${e}.${(0,AOe.bytesToBase64Url)(t)}`}});var ste=_(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.HOSTED_RUNTIME_CERTIFICATE_PURPOSES=oo.RUNTIME_CERTIFICATE_PURPOSES=oo.CARD_RUNTIME_CERTIFICATE_MAX_TTL_SECONDS=oo.RUNTIME_CERTIFICATE_MAX_TTL_SECONDS=oo.RUNTIME_CERTIFICATE_VERSION=oo.RUNTIME_CERTIFICATE_TYP=void 0;oo.runtimeCertificateMaxTtl=Ngt;oo.isCanonicalBase64Url32=IOe;oo.prepareRuntimeCertificate=Jun;var Ogt=GS(),Rgt=OW(),$un=Jv();oo.RUNTIME_CERTIFICATE_TYP="visa-agent-runtime-cert+jwt";oo.RUNTIME_CERTIFICATE_VERSION=1;oo.RUNTIME_CERTIFICATE_MAX_TTL_SECONDS=1440*60;oo.CARD_RUNTIME_CERTIFICATE_MAX_TTL_SECONDS=366*24*60*60;function Ngt(e){return e.length===1&&e[0]==="card:vic"?oo.CARD_RUNTIME_CERTIFICATE_MAX_TTL_SECONDS:oo.RUNTIME_CERTIFICATE_MAX_TTL_SECONDS}oo.RUNTIME_CERTIFICATE_PURPOSES=["tap","subway","card:vic","wallet:x402"];oo.HOSTED_RUNTIME_CERTIFICATE_PURPOSES=["card:vic","wallet:x402","tap"];var zun=new Set(oo.RUNTIME_CERTIFICATE_PURPOSES),wOe=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Gun=/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/;function IOe(e){if(typeof e!="string"||!Gun.test(e))return!1;let t=(0,Ogt.base64UrlToBytes)(e);return t.length===32&&(0,Ogt.bytesToBase64Url)(t)===e}function Kun(e){return{kty:"OKP",crv:"Ed25519",x:e.x}}function Wun(e){if(!Array.isArray(e)||e.length===0)throw new Error("runtime certificate requires at least one purpose");let t=[...new Set(e)];if(t.length!==e.length||t.some(r=>!zun.has(r)))throw new Error("runtime certificate purposes must be unique supported values");return t.sort()}function Yun(e,t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`${e} must be a non-negative unix-seconds integer`)}function Jun(e){let t=e.nowSec??Math.floor(Date.now()/1e3),r=e.ttlSeconds??oo.RUNTIME_CERTIFICATE_MAX_TTL_SECONDS,n=Ngt(e.purposes),i=e.certificateId??globalThis.crypto.randomUUID();if(Yun("nowSec",t),!Number.isSafeInteger(r)||r<=0||r>n)throw new Error(`runtime certificate ttlSeconds must be in (0, ${n}]`);if(!wOe.test(e.agentId)||!wOe.test(e.runtimeId))throw new Error("runtime certificate agentId/runtimeId must be canonical UUIDs");if(!wOe.test(i))throw new Error("runtime certificate certificateId must be a canonical UUID");if(!IOe(e.rootJkt))throw new Error("runtime certificate rootJkt must be a canonical RFC 7638 thumbprint");if(!e.rootKid||e.rootKid.length>256)throw new Error("runtime certificate rootKid must be a bounded non-empty identifier");if((0,Rgt.computeJkt)(e.rootPublicJwk)!==e.rootJkt)throw new Error("runtime certificate signer public key does not match rootJkt");let s=Kun(e.runtimePublicJwk);if(!IOe(s.x))throw new Error("runtime certificate child key must be canonical Ed25519");let a=(0,Rgt.computeJkt)(s);if(a===e.rootJkt)throw new Error("runtime certificate child key must differ from the identity root");let c={v:oo.RUNTIME_CERTIFICATE_VERSION,iss:e.rootJkt,sub:e.agentId,jti:i,runtimeId:e.runtimeId,cnf:{jwk:s,jkt:a},purposes:Wun(e.purposes),iat:t,nbf:t,exp:t+r};return{...(0,$un.prepareRootSignedJws)(oo.RUNTIME_CERTIFICATE_TYP,e.rootKid,c),claims:c}}});var xOe=_(Eh=>{"use strict";var Xun=Eh&&Eh.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),Zun=Eh&&Eh.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Xun(t,e,r)};Object.defineProperty(Eh,"__esModule",{value:!0});Eh.completeRuntimeCertificate=Mgt;Eh.issueRuntimeCertificate=tdn;Eh.peekRuntimeCertificate=idn;Eh.verifyRuntimeCertificate=odn;var Cgt=zu(),POe=ed(),Qun=Jv();Zun(ste(),Eh);var Ky=ste(),edn=new Set(Ky.RUNTIME_CERTIFICATE_PURPOSES),bB=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;function Mgt(e,t){return(0,Qun.completeRootSignedJws)(e.signingInput,t,"runtime certificate")}async function tdn(e){let t=(0,Ky.prepareRuntimeCertificate)({rootKid:e.signer.kid,rootPublicJwk:e.signer.publicJwk,rootJkt:e.rootJkt,agentId:e.agentId,runtimeId:e.runtimeId,runtimePublicJwk:e.runtimePublicJwk,purposes:e.purposes,...e.ttlSeconds===void 0?{}:{ttlSeconds:e.ttlSeconds},...e.nowSec===void 0?{}:{nowSec:e.nowSec},...e.certificateId===void 0?{}:{certificateId:e.certificateId}}),r=await e.signer.sign(new TextEncoder().encode(t.signingInput));return Mgt(t,r)}function rdn(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return Object.keys(t).length===3&&t.kty==="OKP"&&t.crv==="Ed25519"&&(0,Ky.isCanonicalBase64Url32)(t.x)}function ndn(e){return Array.isArray(e)&&e.length>0&&e.every(t=>typeof t=="string"?edn.has(t):!1)&&new Set(e).size===e.length&&[...e].sort().every((t,r)=>t===e[r])}function idn(e){let t=(0,POe.decodeJwt)(e);return!t||t.header.typ!==Ky.RUNTIME_CERTIFICATE_TYP||typeof t.claims.sub!="string"||!bB.test(t.claims.sub)||typeof t.claims.iss!="string"||!(0,Ky.isCanonicalBase64Url32)(t.claims.iss)||typeof t.claims.runtimeId!="string"||!bB.test(t.claims.runtimeId)||typeof t.claims.jti!="string"||!bB.test(t.claims.jti)?null:{agentId:t.claims.sub,rootJkt:t.claims.iss,runtimeId:t.claims.runtimeId,certificateId:t.claims.jti}}async function odn(e,t){if(!Number.isSafeInteger(t.nowSec)||t.nowSec<0)return{ok:!1,reason:"bad_verification_time"};let r=await(0,POe.verifyJwtSignature)(e,t.jwks);if(!r.ok)return r;if(r.header.typ!==Ky.RUNTIME_CERTIFICATE_TYP)return{ok:!1,reason:"typ_mismatch"};let n=r.claims;if(n.v!==Ky.RUNTIME_CERTIFICATE_VERSION||n.iss!==t.expectedRootJkt||n.sub!==t.expectedAgentId||typeof n.jti!="string"||!bB.test(n.jti)||typeof n.runtimeId!="string"||!bB.test(n.runtimeId))return{ok:!1,reason:"claims_mismatch"};if(r.header.kid===void 0)return{ok:!1,reason:"kid_missing"};let i=t.jwks.keys.find(a=>a.kid===r.header.kid);if(!i||(0,Cgt.computeJkt)(i)!==t.expectedRootJkt)return{ok:!1,reason:"root_key_mismatch"};if(t.expectedRuntimeId!==void 0&&n.runtimeId!==t.expectedRuntimeId)return{ok:!1,reason:"runtime_mismatch"};if(t.expectedCertificateId!==void 0&&n.jti!==t.expectedCertificateId)return{ok:!1,reason:"certificate_mismatch"};if(!n.cnf||!rdn(n.cnf.jwk)||!(0,Ky.isCanonicalBase64Url32)(n.cnf.jkt))return{ok:!1,reason:"bad_cnf_key"};let o=(0,Cgt.computeJkt)(n.cnf.jwk);if(n.cnf.jkt!==o||o!==t.expectedRuntimeJkt)return{ok:!1,reason:"runtime_key_mismatch"};if(!ndn(n.purposes)||!n.purposes.includes(t.requiredPurpose))return{ok:!1,reason:"purpose_denied"};let s=(0,POe.temporalReason)(n,t.nowSec);return s?{ok:!1,reason:s}:typeof n.nbf!="number"||!Number.isSafeInteger(n.nbf)||n.nbf>t.nowSec||n.nbf!==n.iat?{ok:!1,reason:"not_yet_valid"}:typeof n.iat!="number"||typeof n.exp!="number"||!Number.isSafeInteger(n.iat)||!Number.isSafeInteger(n.exp)||n.exp-n.iat>(0,Ky.runtimeCertificateMaxTtl)(n.purposes)?{ok:!1,reason:"ttl_exceeded"}:{ok:!0,claims:n,rootJkt:t.expectedRootJkt,runtimeJkt:o}}});var BI=_(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});nl.WALLET_BINDING_TYP=nl.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS=nl.RUNTIME_LEASE_MAX_TTL_SECONDS=nl.RUNTIME_DELEGATION_MAX_TTL_SECONDS=nl.RUNTIME_LEASE_SIGNING_MODES=nl.RUNTIME_DELEGATION_TYP=void 0;nl.RUNTIME_DELEGATION_TYP="visa-agent-runtime-delegation+jwt";nl.RUNTIME_LEASE_SIGNING_MODES=["eip3009:exact","permit2:upto"];nl.RUNTIME_DELEGATION_MAX_TTL_SECONDS=366*24*60*60;nl.RUNTIME_LEASE_MAX_TTL_SECONDS=300;nl.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS=30;nl.WALLET_BINDING_TYP="visa-agent-wallet-binding+jwt"});var pte=_(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.RUNTIME_LEASE_PURPOSE=ar.RUNTIME_LEASE_AUDIENCE=ar.RUNTIME_LEASE_VERSION=ar.RUNTIME_LEASE_TYP=ar.RUNTIME_DELEGATION_VERSION=ar.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS=ar.RUNTIME_LEASE_MAX_TTL_SECONDS=ar.RUNTIME_DELEGATION_MAX_TTL_SECONDS=ar.RUNTIME_LEASE_SIGNING_MODES=ar.RUNTIME_DELEGATION_TYP=void 0;ar.prepareRuntimeDelegation=Ugt;ar.completeRuntimeDelegation=Bgt;ar.issueRuntimeDelegation=cdn;ar.issueRuntimeLease=ldn;ar.verifyRuntimeDelegation=COe;ar.verifyRuntimeLeaseChain=hdn;var OOe=require("node:crypto"),ute=zu(),kgt=ed(),dte=Jv(),SB=BI();Object.defineProperty(ar,"RUNTIME_DELEGATION_TYP",{enumerable:!0,get:function(){return SB.RUNTIME_DELEGATION_TYP}});Object.defineProperty(ar,"RUNTIME_LEASE_SIGNING_MODES",{enumerable:!0,get:function(){return SB.RUNTIME_LEASE_SIGNING_MODES}});Object.defineProperty(ar,"RUNTIME_DELEGATION_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return SB.RUNTIME_DELEGATION_MAX_TTL_SECONDS}});Object.defineProperty(ar,"RUNTIME_LEASE_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return SB.RUNTIME_LEASE_MAX_TTL_SECONDS}});Object.defineProperty(ar,"RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS",{enumerable:!0,get:function(){return SB.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS}});var yc=BI();ar.RUNTIME_DELEGATION_VERSION=1;ar.RUNTIME_LEASE_TYP="visa-agent-runtime-lease+jwt";ar.RUNTIME_LEASE_VERSION=1;ar.RUNTIME_LEASE_AUDIENCE="urn:visa:tvc:slipgate";ar.RUNTIME_LEASE_PURPOSE="wallet:x402";var jI=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,sdn=/^[A-Za-z0-9_-]{43}$/,ROe=/^eip155:[1-9][0-9]{0,15}$/,EB=/^[A-Za-z0-9._:@/-]{1,256}$/,ate=new Map(yc.RUNTIME_LEASE_SIGNING_MODES.map((e,t)=>[e,t]));function il(e){if(typeof e!="string"||!sdn.test(e))return!1;let t=Buffer.from(e,"base64url");return t.length===32&&t.toString("base64url")===e}function adn(e){let t=e.toLowerCase();if(!ROe.test(t))throw new Error("runtime authority network is invalid");return t}function Xv(e,t){if(!jI.test(t))throw new Error(`${e} must be a canonical UUID`)}function Dgt(e,t){if(!EB.test(t))throw new Error(`${e} must be a bounded identifier`)}function cte(e,t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`${e} must be a non-negative unix-seconds integer`)}function lte(e){if(!Array.isArray(e)||e.length===0)throw new Error("runtime authority requires at least one signing mode");let t=[...new Set(e)];if(t.length!==e.length||t.some(r=>!ate.has(r)))throw new Error("runtime authority signing modes must be unique supported values");return t.sort((r,n)=>ate.get(r)-ate.get(n))}function NOe(e,t){let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,o)=>i===n[o])}function Lgt(e){if(!Array.isArray(e)||e.length===0||e.some(r=>typeof r!="string"||!ate.has(r)))return!1;let t=e;return new Set(t).size===t.length&&lte(t).every((r,n)=>r===t[n])}function Ugt(e){let t=e.nowSec??Math.floor(Date.now()/1e3),r=e.ttlSeconds??yc.RUNTIME_DELEGATION_MAX_TTL_SECONDS,n=e.maxLeaseTtlSeconds??yc.RUNTIME_LEASE_MAX_TTL_SECONDS,i=e.delegationId??(0,OOe.randomUUID)();if(cte("nowSec",t),!Number.isSafeInteger(r)||r<=0||r>yc.RUNTIME_DELEGATION_MAX_TTL_SECONDS)throw new Error(`runtime delegation ttlSeconds must be in (0, ${yc.RUNTIME_DELEGATION_MAX_TTL_SECONDS}]`);if(!Number.isSafeInteger(n)||n<=0||n>yc.RUNTIME_LEASE_MAX_TTL_SECONDS)throw new Error(`runtime delegation maxLeaseTtlSeconds must be in (0, ${yc.RUNTIME_LEASE_MAX_TTL_SECONDS}]`);if(Xv("agentId",e.agentId),Xv("runtimeId",e.runtimeId),Xv("delegationId",i),Dgt("rootKid",e.rootKid),!il(e.rootJkt)||(0,ute.computeJkt)(e.rootPublicJwk)!==e.rootJkt)throw new Error("runtime delegation root public key does not match rootJkt");if(!il(e.runtimeJkt)||!il(e.leaseIssuerJkt))throw new Error("runtime delegation runtime/issuer JKT is invalid");if(new Set([e.rootJkt,e.runtimeJkt,e.leaseIssuerJkt]).size!==3)throw new Error("runtime delegation root, runtime, and issuer keys must be distinct");let o=t+r;cte("runtime delegation expiration",o);let s={v:ar.RUNTIME_DELEGATION_VERSION,iss:e.rootJkt,sub:e.agentId,jti:i,runtimeId:e.runtimeId,runtimeJkt:e.runtimeJkt,leaseIssuerJkt:e.leaseIssuerJkt,purpose:ar.RUNTIME_LEASE_PURPOSE,network:adn(e.network),signingModes:lte(e.signingModes),maxLeaseTtlSeconds:n,iat:t,nbf:t,exp:o};return{...(0,dte.prepareRootSignedJws)(yc.RUNTIME_DELEGATION_TYP,e.rootKid,s),claims:s}}function Bgt(e,t){return(0,dte.completeRootSignedJws)(e.signingInput,t,"runtime delegation")}async function cdn(e){let t=Ugt({...e,rootKid:e.signer.kid,rootPublicJwk:e.signer.publicJwk}),r=await e.signer.sign(new TextEncoder().encode(t.signingInput));return Bgt(t,r)}function udn(e){let t=e.nowSec??Math.floor(Date.now()/1e3),r=e.ttlSeconds??e.delegation.maxLeaseTtlSeconds,n=t+r,i=e.leaseId??(0,OOe.randomUUID)();if(cte("nowSec",t),cte("delegationExpiresAt",e.delegation.exp),!Number.isSafeInteger(e.delegation.maxLeaseTtlSeconds)||e.delegation.maxLeaseTtlSeconds<=0||e.delegation.maxLeaseTtlSeconds>yc.RUNTIME_LEASE_MAX_TTL_SECONDS)throw new Error("runtime lease maximum TTL is invalid");if(!Number.isSafeInteger(r)||r<=0||r>e.delegation.maxLeaseTtlSeconds||!Number.isSafeInteger(n)||n>e.delegation.exp)throw new Error("runtime lease TTL exceeds its delegation");if(Xv("agentId",e.delegation.sub),Xv("runtimeId",e.delegation.runtimeId),Xv("delegationId",e.delegation.jti),Xv("leaseId",i),Xv("grantId",e.grantId),Dgt("issuerKid",e.issuerKid),!il(e.delegation.leaseIssuerJkt)||(0,ute.computeJkt)(e.issuerPublicJwk)!==e.delegation.leaseIssuerJkt)throw new Error("runtime lease issuer public key does not match leaseIssuerJkt");if(!il(e.delegation.iss)||!il(e.delegation.runtimeJkt))throw new Error("runtime lease root/runtime JKT is invalid");if(new Set([e.delegation.iss,e.delegation.runtimeJkt,e.delegation.leaseIssuerJkt]).size!==3)throw new Error("runtime lease root, runtime, and issuer keys must be distinct");if(!Number.isSafeInteger(e.generation)||e.generation<1)throw new Error("runtime lease generation must be a positive safe integer");if(!Number.isSafeInteger(e.grantVersion)||e.grantVersion<1)throw new Error("runtime lease grantVersion must be a positive safe integer");if(!il(e.delegationHash))throw new Error("runtime lease delegationHash is invalid");let o=lte(e.signingModes);if(!o.every(a=>e.delegation.signingModes.includes(a)))throw new Error("runtime lease signing modes exceed the verified delegation");let s={v:ar.RUNTIME_LEASE_VERSION,iss:e.delegation.leaseIssuerJkt,sub:e.delegation.sub,aud:ar.RUNTIME_LEASE_AUDIENCE,jti:i,delegationId:e.delegation.jti,delegationHash:e.delegationHash,rootJkt:e.delegation.iss,runtimeId:e.delegation.runtimeId,runtimeJkt:e.delegation.runtimeJkt,purpose:ar.RUNTIME_LEASE_PURPOSE,network:e.delegation.network,signingModes:o,generation:e.generation,grantId:e.grantId,grantVersion:e.grantVersion,iat:t,nbf:t,exp:n};return{...(0,dte.prepareRootSignedJws)(ar.RUNTIME_LEASE_TYP,e.issuerKid,s),claims:s}}function ddn(e,t){return(0,dte.completeRootSignedJws)(e.signingInput,t,"runtime lease")}async function ldn(e){let t=e.nowSec??Math.floor(Date.now()/1e3),r=await COe(e.delegationToken,{...e.delegationVerification,nowSec:t});if(!r.ok)throw new Error(`runtime lease delegation refused: ${r.reason}`);let n=udn({delegation:r.delegation,delegationHash:jgt(e.delegationToken),signingModes:e.signingModes,generation:e.generation,grantId:e.grantId,grantVersion:e.grantVersion,ttlSeconds:e.ttlSeconds,nowSec:t,leaseId:e.leaseId,issuerKid:e.signer.kid,issuerPublicJwk:e.signer.publicJwk}),i=await e.signer.sign(new TextEncoder().encode(n.signingInput));return ddn(n,i)}var pdn=["v","iss","sub","jti","runtimeId","runtimeJkt","leaseIssuerJkt","purpose","network","signingModes","maxLeaseTtlSeconds","iat","nbf","exp"],fdn=["v","iss","sub","aud","jti","delegationId","delegationHash","rootJkt","runtimeId","runtimeJkt","purpose","network","signingModes","generation","grantId","grantVersion","iat","nbf","exp"],mdn=["alg","kid","typ"];function jgt(e){return(0,OOe.createHash)("sha256").update(e,"utf8").digest("base64url")}function qgt(e){try{let t=Buffer.from(e,"base64url");if(t.toString("base64url")!==e)return null;let r=new TextDecoder("utf-8",{fatal:!0}).decode(t),n=JSON.parse(r);return typeof n!="object"||n===null||Array.isArray(n)||JSON.stringify(n)!==r?null:n}catch{return null}}function Hgt(e){let t=e.split(".");return t.length===3&&qgt(t[1])!==null}function Vgt(e){let t=e.split(".");if(t.length!==3)return!1;let r=qgt(t[0]),n=Buffer.from(t[2],"base64url");return r!==null&&n.length===64&&n.toString("base64url")===t[2]&&NOe(r,mdn)&&typeof r.alg=="string"&&typeof r.kid=="string"&&EB.test(r.kid)}function Fgt(e,t,r){return typeof e.iat!="number"||typeof e.nbf!="number"||typeof e.exp!="number"||!Number.isSafeInteger(e.iat)||!Number.isSafeInteger(e.nbf)||!Number.isSafeInteger(e.exp)||e.iat<0||e.nbf!==e.iat||e.exp<=e.iat||e.exp-e.iat>r?"ttl_exceeded":e.iat>t+yc.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS||e.nbf>t+yc.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS?"not_yet_valid":t>=e.exp?"expired":null}async function COe(e,t){if(!Number.isSafeInteger(t.nowSec)||t.nowSec<0||t.nowSec>Number.MAX_SAFE_INTEGER-yc.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS||!EB.test(t.expectedRootKid))return{ok:!1,reason:"bad_verification_context"};if(!Vgt(e))return{ok:!1,reason:"delegation_header_invalid"};if(!Hgt(e))return{ok:!1,reason:"delegation_shape_invalid"};let r=await(0,kgt.verifyJwtSignature)(e,t.ownerJwks);if(!r.ok)return r;if(r.header.typ!==yc.RUNTIME_DELEGATION_TYP)return{ok:!1,reason:"delegation_typ_mismatch"};let n=r.claims;if(!NOe(n,pdn))return{ok:!1,reason:"delegation_shape_invalid"};let i=t.ownerJwks.keys.find(s=>s.kid===t.expectedRootKid);if(r.header.kid!==t.expectedRootKid||!i||(0,ute.computeJkt)(i)!==t.expectedRootJkt)return{ok:!1,reason:"root_key_mismatch"};if(n.v!==ar.RUNTIME_DELEGATION_VERSION||n.iss!==t.expectedRootJkt||n.sub!==t.expectedAgentId||n.jti!==t.expectedDelegationId||n.runtimeId!==t.expectedRuntimeId||n.runtimeJkt!==t.expectedRuntimeJkt||n.leaseIssuerJkt!==t.expectedLeaseIssuerJkt||n.purpose!==ar.RUNTIME_LEASE_PURPOSE||n.network!==t.expectedNetwork.toLowerCase()||!jI.test(n.jti??"")||!jI.test(n.runtimeId??"")||!il(n.iss)||!il(n.runtimeJkt)||!il(n.leaseIssuerJkt)||new Set([n.iss,n.runtimeJkt,n.leaseIssuerJkt]).size!==3||!ROe.test(n.network??"")||!Lgt(n.signingModes)||!Number.isSafeInteger(n.maxLeaseTtlSeconds)||n.maxLeaseTtlSeconds<=0||n.maxLeaseTtlSeconds>yc.RUNTIME_LEASE_MAX_TTL_SECONDS)return{ok:!1,reason:"delegation_claims_mismatch"};let o=Fgt(n,t.nowSec,yc.RUNTIME_DELEGATION_MAX_TTL_SECONDS);return o?{ok:!1,reason:`delegation_${o}`}:{ok:!0,delegation:n}}async function hdn(e,t,r){if(!Number.isSafeInteger(r.nowSec)||r.nowSec<0||r.nowSec>Number.MAX_SAFE_INTEGER-yc.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS||!Number.isSafeInteger(r.expectedGeneration)||r.expectedGeneration<1||!Number.isSafeInteger(r.expectedGrantVersion)||r.expectedGrantVersion<1||!EB.test(r.expectedRootKid)||!EB.test(r.expectedLeaseIssuerKid))return{ok:!1,reason:"bad_verification_context"};let n;try{n=lte(r.allowedSigningModes)}catch{return{ok:!1,reason:"bad_verification_context"}}if(!n.includes(r.requiredSigningMode))return{ok:!1,reason:"current_policy_denied"};let i=await COe(e,r);if(!i.ok)return i;let o=i.delegation;if(!Vgt(t))return{ok:!1,reason:"lease_header_invalid"};if(!Hgt(t))return{ok:!1,reason:"lease_shape_invalid"};let s=await(0,kgt.verifyJwtSignature)(t,r.issuerJwks);if(!s.ok)return s;if(s.header.typ!==ar.RUNTIME_LEASE_TYP)return{ok:!1,reason:"lease_typ_mismatch"};let a=s.claims;if(!NOe(a,fdn))return{ok:!1,reason:"lease_shape_invalid"};let c=r.issuerJwks.keys.find(d=>d.kid===r.expectedLeaseIssuerKid);if(s.header.kid!==r.expectedLeaseIssuerKid||!c||(0,ute.computeJkt)(c)!==r.expectedLeaseIssuerJkt)return{ok:!1,reason:"lease_issuer_mismatch"};if(a.v!==ar.RUNTIME_LEASE_VERSION||a.iss!==r.expectedLeaseIssuerJkt||a.sub!==r.expectedAgentId||a.aud!==ar.RUNTIME_LEASE_AUDIENCE||a.delegationId!==r.expectedDelegationId||a.delegationHash!==jgt(e)||a.rootJkt!==r.expectedRootJkt||a.runtimeId!==r.expectedRuntimeId||a.runtimeJkt!==r.expectedRuntimeJkt||a.purpose!==ar.RUNTIME_LEASE_PURPOSE||a.network!==r.expectedNetwork.toLowerCase()||a.generation!==r.expectedGeneration||a.grantId!==r.expectedGrantId||a.grantVersion!==r.expectedGrantVersion||!jI.test(a.jti??"")||!jI.test(a.delegationId??"")||!il(a.delegationHash)||!jI.test(a.runtimeId??"")||!jI.test(a.grantId??"")||!il(a.iss)||!il(a.rootJkt)||!il(a.runtimeJkt)||new Set([a.iss,a.rootJkt,a.runtimeJkt]).size!==3||!ROe.test(a.network??"")||!Lgt(a.signingModes)||!Number.isSafeInteger(a.generation)||a.generation<1||!Number.isSafeInteger(a.grantVersion)||a.grantVersion<1)return{ok:!1,reason:"lease_claims_mismatch"};let u=Fgt(a,r.nowSec,Math.min(o.maxLeaseTtlSeconds,yc.RUNTIME_LEASE_MAX_TTL_SECONDS));return u?{ok:!1,reason:`lease_${u}`}:a.iat<o.iat||a.exp>o.exp||!a.signingModes.every(d=>o.signingModes.includes(d))||!a.signingModes.every(d=>n.includes(d))||!o.signingModes.includes(r.requiredSigningMode)||!a.signingModes.includes(r.requiredSigningMode)?{ok:!1,reason:"lease_scope_exceeded"}:{ok:!0,delegation:o,lease:a}}});var kOe=_(Vf=>{"use strict";Object.defineProperty(Vf,"__esModule",{value:!0});Vf.RUNTIME_LEASE_REQUEST_MAX_AGE_SECONDS=Vf.RUNTIME_LEASE_REQUEST_AUDIENCE=Vf.RUNTIME_LEASE_REQUEST_VERSION=void 0;Vf.runtimeLeaseRequestIntentHash=$gt;Vf.createRuntimeLeaseRequestProofWithSigner=Tdn;var gdn=wW(),_dn=GS(),ydn=$ee(),bdn=BI();Vf.RUNTIME_LEASE_REQUEST_VERSION=1;Vf.RUNTIME_LEASE_REQUEST_AUDIENCE="visa-runtime-lease-requests:v1";Vf.RUNTIME_LEASE_REQUEST_MAX_AGE_SECONDS=60;var Edn=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Sdn=new Set(bdn.RUNTIME_LEASE_SIGNING_MODES);function MOe(e,t){if(!Edn.test(t))throw new Error(`${e} must be a canonical UUID`)}function vdn(e){if(MOe("agentId",e.agentId),MOe("runtimeId",e.runtimeId),MOe("requestId",e.requestId),!Sdn.has(e.signingMode))throw new Error("runtime lease request signingMode is unsupported");return{v:Vf.RUNTIME_LEASE_REQUEST_VERSION,agentId:e.agentId,runtimeId:e.runtimeId,requestId:e.requestId,signingMode:e.signingMode}}function $gt(e){return(0,_dn.bytesToBase64Url)((0,gdn.sha256)(new TextEncoder().encode(JSON.stringify(vdn(e)))))}function Tdn(e,t){if(!Number.isSafeInteger(t.nowSec)||t.nowSec<0)throw new Error("runtime lease request nowSec must be a non-negative safe integer");return(0,ydn.createPopProofWithSigner)(e,{nonce:t.requestId,audience:Vf.RUNTIME_LEASE_REQUEST_AUDIENCE,nowSec:t.nowSec,intentHash:$gt(t)})}});var Ggt=_(Wy=>{"use strict";var Adn=Wy&&Wy.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),wdn=Wy&&Wy.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Adn(t,e,r)};Object.defineProperty(Wy,"__esModule",{value:!0});Wy.createRuntimeLeaseRequestProof=Pdn;Wy.verifyRuntimeLeaseRequestProof=xdn;var zgt=$y();wdn(kOe(),Wy);var E8=kOe(),Idn=/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/;function Pdn(e,t){if(!Number.isSafeInteger(t.nowSec)||t.nowSec<0)throw new Error("runtime lease request nowSec must be a non-negative safe integer");return"createLeaseProof"in e&&e.createLeaseProof?((0,E8.runtimeLeaseRequestIntentHash)(t),e.createLeaseProof(t)):(0,zgt.createAgentOperationPopProof)(e,{operationId:t.requestId,audience:E8.RUNTIME_LEASE_REQUEST_AUDIENCE,nowSec:t.nowSec,intentHash:(0,E8.runtimeLeaseRequestIntentHash)(t)})}async function xdn(e,t){if(!Idn.test(t.expectedRuntimeJkt))return{ok:!1,reason:"runtime_jkt_invalid"};if(!Number.isSafeInteger(t.nowSec)||t.nowSec<0)return{ok:!1,reason:"verification_time_invalid"};let r;try{r=(0,E8.runtimeLeaseRequestIntentHash)(t)}catch{return{ok:!1,reason:"request_invalid"}}let n=await(0,zgt.verifyAgentOperationPopProof)(e,{operationId:t.requestId,audience:E8.RUNTIME_LEASE_REQUEST_AUDIENCE,nowSec:t.nowSec,expectedIntentHash:r,maxAgeSec:E8.RUNTIME_LEASE_REQUEST_MAX_AGE_SECONDS});return n.ok?n.runtimeCertificate!==void 0?{ok:!1,reason:"unexpected_runtime_certificate"}:n.jkt!==t.expectedRuntimeJkt?{ok:!1,reason:"runtime_jkt_mismatch"}:{ok:!0,runtimeJkt:n.jkt,requestId:t.requestId}:n}});var Ygt=_(qI=>{"use strict";Object.defineProperty(qI,"__esModule",{value:!0});qI.TAP_RUNTIME_SIGNATURE_DOMAIN=void 0;qI.tapRuntimeSigningMessage=Wgt;qI.verifyTapRuntimeSignature=Ndn;var Kgt=require("node:crypto"),Odn=xOe();qI.TAP_RUNTIME_SIGNATURE_DOMAIN="visa:tap:runtime-signature:v1";function Wgt(e){if(!(e instanceof Uint8Array))throw new Error("TAP message must be bytes");let t=Buffer.from(qI.TAP_RUNTIME_SIGNATURE_DOMAIN,"utf8"),r=Buffer.alloc(8);return r.writeBigUInt64BE(BigInt(e.byteLength)),Buffer.concat([t,Buffer.from([0]),r,Buffer.from(e)])}function Rdn(e){if(typeof e!="string"||e.length!==86)return null;try{let t=Buffer.from(e,"base64url");return t.length!==64||t.toString("base64url")!==e?null:t}catch{return null}}async function Ndn(e){if(!(e.message instanceof Uint8Array))return{ok:!1,reason:"malformed_message"};let t=Rdn(e.signature);if(!t)return{ok:!1,reason:"malformed_signature"};let r=await(0,Odn.verifyRuntimeCertificate)(e.runtimeCertificate,{jwks:e.rootJwks,expectedAgentId:e.expectedAgentId,expectedRootJkt:e.expectedRootJkt,expectedRuntimeId:e.expectedRuntimeId,expectedRuntimeJkt:e.expectedRuntimeJkt,requiredPurpose:"tap",nowSec:e.nowSec});if(!r.ok)return{ok:!1,reason:`certificate_${r.reason}`};if(r.claims.purposes.length!==1||r.claims.purposes[0]!=="tap")return{ok:!1,reason:"certificate_purpose_not_singleton"};if(e.revokedCertificateIds?.has(r.claims.jti))return{ok:!1,reason:"certificate_revoked"};let n=!1;try{let i=(0,Kgt.createPublicKey)({key:r.claims.cnf.jwk,format:"jwk"});n=(0,Kgt.verify)(null,Wgt(e.message),i,t)}catch{return{ok:!1,reason:"runtime_key_invalid"}}return n?{ok:!0,claims:r.claims,agentId:r.claims.sub,rootJkt:r.rootJkt,runtimeId:r.claims.runtimeId,runtimeJkt:r.runtimeJkt}:{ok:!1,reason:"invalid_signature"}}});var s1t=_(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.WALLET_BINDING_MAX_TTL_SECONDS=Rn.WALLET_BINDING_DERIVATION_VERSION=Rn.WALLET_BINDING_SIGNER_KIND=Rn.WALLET_BINDING_VERSION=Rn.WALLET_BINDING_TYP=void 0;Rn.prepareWalletBinding=i1t;Rn.completeWalletBinding=o1t;Rn.issueWalletBinding=Ldn;Rn.verifyWalletBinding=Udn;var Cdn=require("node:crypto"),LOe=rO(),Xgt=zu(),Jgt=ed(),Zgt=Jv(),Mdn=BI();Object.defineProperty(Rn,"WALLET_BINDING_TYP",{enumerable:!0,get:function(){return Mdn.WALLET_BINDING_TYP}});var Qgt=BI();Rn.WALLET_BINDING_VERSION=2;Rn.WALLET_BINDING_SIGNER_KIND="turnkey_tvc_p256";Rn.WALLET_BINDING_DERIVATION_VERSION="visa-tvc-slipgate-v2";Rn.WALLET_BINDING_MAX_TTL_SECONDS=366*24*60*60;var UOe=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,kdn=/^[A-Za-z0-9_-]{43}$/,e1t=/^0x[0-9a-f]{40}$/,t1t=/^eip155:[1-9][0-9]{0,15}$/,r1t=/^(02|03)[0-9a-f]{64}$/;function n1t(e){if(typeof e!="string"||!kdn.test(e))return!1;let t=Buffer.from(e,"base64url");return t.length===32&&t.toString("base64url")===e}function DOe(e,t){if(!(0,LOe.isCanonicalOpaqueId)(t))throw new Error(`${e} must be a bounded opaque identifier`)}function Ddn(e,t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`${e} must be a non-negative unix-seconds integer`)}function i1t(e){let t=e.nowSec??Math.floor(Date.now()/1e3),r=e.ttlSeconds??Rn.WALLET_BINDING_MAX_TTL_SECONDS,n=e.bindingId??(0,Cdn.randomUUID)();if(Ddn("nowSec",t),!Number.isSafeInteger(r)||r<=0||r>Rn.WALLET_BINDING_MAX_TTL_SECONDS)throw new Error(`wallet binding ttlSeconds must be in (0, ${Rn.WALLET_BINDING_MAX_TTL_SECONDS}]`);if(!UOe.test(e.agentId)||!UOe.test(n))throw new Error("wallet binding agentId/bindingId must be canonical UUIDs");if(!n1t(e.rootJkt)||(0,Xgt.computeJkt)(e.rootPublicJwk)!==e.rootJkt)throw new Error("wallet binding root public key does not match rootJkt");DOe("rootKid",e.rootKid),DOe("subOrganizationId",e.subOrganizationId),DOe("walletId",e.walletId);let i=e.walletAddress.toLowerCase(),o=e.network.toLowerCase(),s=e.executor.publicKey.toLowerCase();if(!e1t.test(i))throw new Error("wallet binding address is invalid");if(!t1t.test(o))throw new Error("wallet binding network is invalid");if(e.executor.kind!==Rn.WALLET_BINDING_SIGNER_KIND||e.executor.derivationVersion!==Rn.WALLET_BINDING_DERIVATION_VERSION||!r1t.test(s))throw new Error("wallet binding signer descriptor is unsupported or invalid");let a={v:Rn.WALLET_BINDING_VERSION,iss:e.rootJkt,sub:e.agentId,jti:n,subOrganizationId:e.subOrganizationId,walletId:e.walletId,walletAddress:i,network:o,executor:{kind:Rn.WALLET_BINDING_SIGNER_KIND,publicKey:s,derivationVersion:Rn.WALLET_BINDING_DERIVATION_VERSION},iat:t,nbf:t,exp:t+r};return{...(0,Zgt.prepareRootSignedJws)(Qgt.WALLET_BINDING_TYP,e.rootKid,a),claims:a}}function o1t(e,t){return(0,Zgt.completeRootSignedJws)(e.signingInput,t,"wallet binding")}async function Ldn(e){let t=i1t({...e,rootKid:e.signer.kid,rootPublicJwk:e.signer.publicJwk});return o1t(t,await e.signer.sign(new TextEncoder().encode(t.signingInput)))}async function Udn(e,t){if(!Number.isSafeInteger(t.nowSec)||t.nowSec<0)return{ok:!1,reason:"bad_verification_time"};let r=await(0,Jgt.verifyJwtSignature)(e,t.jwks);if(!r.ok)return r;if(r.header.typ!==Qgt.WALLET_BINDING_TYP)return{ok:!1,reason:"typ_mismatch"};let n=r.claims,i=t.expectedWalletAddress.toLowerCase(),o=t.expectedNetwork.toLowerCase(),s=t.expectedExecutor;if(n.v!==Rn.WALLET_BINDING_VERSION||n.iss!==t.expectedRootJkt||n.sub!==t.expectedAgentId||typeof n.jti!="string"||!UOe.test(n.jti)||n.subOrganizationId!==t.expectedSubOrganizationId||n.walletId!==t.expectedWalletId||n.walletAddress!==i||n.network!==o||typeof n.executor!="object"||n.executor===null||n.executor.kind!==Rn.WALLET_BINDING_SIGNER_KIND||typeof n.executor.publicKey!="string"||!r1t.test(n.executor.publicKey)||n.executor.derivationVersion!==Rn.WALLET_BINDING_DERIVATION_VERSION||s!==void 0&&(n.executor.kind!==s.kind||n.executor.publicKey!==s.publicKey.toLowerCase()||n.executor.derivationVersion!==s.derivationVersion))return{ok:!1,reason:"claims_mismatch"};if(!(0,LOe.isCanonicalOpaqueId)(n.subOrganizationId)||!(0,LOe.isCanonicalOpaqueId)(n.walletId))return{ok:!1,reason:"identifier_invalid"};if(!n1t(n.iss)||!e1t.test(n.walletAddress))return{ok:!1,reason:"binding_invalid"};if(!t1t.test(n.network)||r.header.kid===void 0)return{ok:!1,reason:"binding_invalid"};let a=t.jwks.keys.find(u=>u.kid===r.header.kid);if(!a||(0,Xgt.computeJkt)(a)!==t.expectedRootJkt)return{ok:!1,reason:"root_key_mismatch"};let c=(0,Jgt.temporalReason)(n,t.nowSec);return c?{ok:!1,reason:c}:typeof n.iat!="number"||typeof n.nbf!="number"||typeof n.exp!="number"||!Number.isSafeInteger(n.iat)||!Number.isSafeInteger(n.nbf)||!Number.isSafeInteger(n.exp)||n.nbf!==n.iat||n.nbf>t.nowSec||n.exp-n.iat>Rn.WALLET_BINDING_MAX_TTL_SECONDS?{ok:!1,reason:"ttl_exceeded"}:{ok:!0,claims:n}}});var a1t=_(S8=>{"use strict";Object.defineProperty(S8,"__esModule",{value:!0});S8.INTENT_HASH_VERSION=void 0;S8.canonicalIntentHash=Hdn;var Bdn=require("node:crypto"),jdn=new Set(["USD","EUR","GBP","CAD","AUD","JPY","CHF","CNY","HKD","SGD","INR","MXN","BRL","NZD","SEK","NOK","DKK","ZAR","AED"]);S8.INTENT_HASH_VERSION=1;var qdn=/^[A-Za-z0-9_-]{1,128}$/;function Hdn(e){let{amount:t,currency:r,payee:n,intentId:i,settlementHash:o}=e;if(!Number.isSafeInteger(t)||t<=0)throw new Error(`intent.amount must be a positive safe integer in minor units (cents); got ${String(t)}`);let s=typeof r=="string"?r.toUpperCase():"";if(!jdn.has(s))throw new Error(`intent.currency must be a supported ISO 4217 code; got ${JSON.stringify(r)}`);if(typeof n!="string"||n.length===0)throw new Error("intent.payee must be a non-empty string");if(i!==void 0&&(typeof i!="string"||i.length===0))throw new Error("intent.intentId, when present, must be a non-empty string");if(o!==void 0&&!qdn.test(o))throw new Error("intent.settlementHash, when present, must be a base64url token (1-128 chars)");let a=JSON.stringify({v:S8.INTENT_HASH_VERSION,amount:t,currency:s,payee:n,intentId:i??null,settlementHash:o??null});return(0,Bdn.createHash)("sha256").update(a,"utf8").digest().toString("base64url")}});var m1t=_(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS=Vi.WALLET_AUTHORIZATION_PERMIT_POLICY_ID=Vi.WALLET_AUTHORIZATION_PERMIT_AUDIENCE=Vi.WALLET_AUTHORIZATION_PERMIT_ISSUER=Vi.WALLET_AUTHORIZATION_PERMIT_JWT_TYP=void 0;Vi.issueWalletAuthorizationPermit=iln;Vi.verifyWalletAuthorizationPermit=oln;var BOe=bD(),Vdn=rO(),Fdn=SPe(),c1t=ed(),$dn=$y(),zdn=Fv();Vi.WALLET_AUTHORIZATION_PERMIT_JWT_TYP="visa-wallet-authorization-permit+jwt";Vi.WALLET_AUTHORIZATION_PERMIT_ISSUER="visa:wallet-authority";Vi.WALLET_AUTHORIZATION_PERMIT_AUDIENCE="visa:wallet-signer";Vi.WALLET_AUTHORIZATION_PERMIT_POLICY_ID="wallet-authority-v1";Vi.WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS=120;var Gdn=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,jOe=/^0x[0-9a-f]{40}$/,Kdn=/^0x[0-9a-f]{64}$/,Wdn=/^eip155:(0|[1-9][0-9]*)$/,d1t=/^(0|[1-9][0-9]*)$/,Ydn=9223372036854775807n,l1t=(1n<<256n)-1n,p1t=new Set(["v","authorizationId","agentId","keyJkt","walletApiKeyId","grantId","grantVersion","budgetEpochId","runtimeSessionId","executionChannel","scope","executionMode","x402Version","amountMicros","currency","payer","payee","network","asset","scheme","assetTransferMethod","eip3009Nonce","validAfter","validBefore","settlementHash","settlementExpiresAt","resourceCommitment","intentId","economicIntentId"]),Jdn=new Set(["iss","aud","sub","cnf","iat","exp","jti","policy_id","v","authorization_id","agent_id","key_jkt","wallet_api_key_id","grant_id","grant_version","budget_epoch_id","runtime_session_id","execution_channel","scope","execution_mode","x402_version","amount_micros","currency","payer","payee","network","asset","scheme","asset_transfer_method","eip3009_nonce","valid_after","valid_before","settlement_hash","settlement_expires_at","resource_commitment","intent_id","economic_intent_id"]);function T8(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function f1t(e,t,r){let n=Object.keys(t).filter(o=>!r.has(o)),i=[...r].filter(o=>!Object.hasOwn(t,o));if(n.length>0||i.length>0)throw new Error(`${e} does not match the v1 wire shape`)}function v8(e,t){if(typeof t!="string"||!Gdn.test(t))throw new Error(`${e} must be a UUID`)}function mte(e,t){if(!(0,Vdn.isCanonicalOpaqueId)(t))throw new Error(`${e} must be a canonical opaque id`)}function Xdn(e){if(typeof e!="string"||!d1t.test(e)||e==="0")throw new Error("amountMicros must be a canonical positive integer string");if(BigInt(e)>Ydn)throw new Error("amountMicros exceeds BIGINT")}function u1t(e,t){if(typeof t!="string"||!d1t.test(t))throw new Error(`${e} must be a canonical unsigned integer string`);if(t.length>78||BigInt(t)>l1t)throw new Error(`${e} exceeds uint256`)}function qOe(e){return typeof e=="string"&&/^0x[0-9a-fA-F]{40}$/.test(e)?e.toLowerCase():null}function Zdn(e){return typeof e=="string"&&/^0x[0-9a-fA-F]{64}$/.test(e)?e.toLowerCase():null}function fte(e){let t;try{if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e))t=BigInt(e);else if(typeof e=="string"&&(/^(0|[1-9][0-9]*)$/.test(e)||/^0x[0-9a-fA-F]+$/.test(e))){let r=e.startsWith("0x")?e.slice(2):e,n=e.startsWith("0x")?64:78;if(r.length>n)return null;t=BigInt(e)}else return null}catch{return null}return t>=0n&&t<=l1t?t.toString(10):null}function Qdn(e){if(typeof e!="string")throw new Error("settlementExpiresAt must be an ISO timestamp");let t=Date.parse(e);if(!Number.isFinite(t))throw new Error("settlementExpiresAt must be an ISO timestamp");let r=new Date(t).toISOString();if(r!==e)throw new Error("settlementExpiresAt must be canonical UTC ISO");return r}function HOe(e){if(!T8(e))throw new Error("wallet permit binding must be an object");if(f1t("wallet permit binding",e,p1t),e.v!==1)throw new Error("wallet permit binding requires v=1");if(v8("authorizationId",e.authorizationId),v8("agentId",e.agentId),v8("walletApiKeyId",e.walletApiKeyId),v8("grantId",e.grantId),v8("budgetEpochId",e.budgetEpochId),v8("runtimeSessionId",e.runtimeSessionId),!(0,BOe.isCanonicalBase64Url32)(e.keyJkt))throw new Error("keyJkt must be canonical");if(!(0,BOe.isCanonicalBase64Url32)(e.settlementHash))throw new Error("settlementHash must be canonical");if(!(0,BOe.isCanonicalBase64Url32)(e.resourceCommitment))throw new Error("resourceCommitment must be canonical");if(typeof e.grantVersion!="number"||!Number.isSafeInteger(e.grantVersion)||e.grantVersion<=0)throw new Error("grantVersion must be a positive safe integer");if(typeof e.executionChannel!="string"||!["cli","mcp"].includes(e.executionChannel))throw new Error("executionChannel is invalid");if(e.scope!=="wallet:x402"||e.executionMode!=="direct_runtime")throw new Error("wallet permit v1 supports direct-runtime x402 only");if(e.x402Version!==1&&e.x402Version!==2)throw new Error("x402Version must be 1 or 2");if(Xdn(e.amountMicros),e.currency!=="USD")throw new Error("currency must be USD");if(typeof e.payer!="string"||!jOe.test(e.payer))throw new Error("payer must be a canonical lower-case EVM address");if(typeof e.payee!="string"||!jOe.test(e.payee))throw new Error("payee must be a canonical lower-case EVM address");if(typeof e.network!="string"||e.network.length>64||!Wdn.test(e.network))throw new Error("network must be a canonical EIP-155 CAIP-2 id");let t=`${e.network}/erc20:`;if(typeof e.asset!="string"||!e.asset.startsWith(t))throw new Error("asset must be canonical");let r=e.asset.slice(t.length);if(!r||!jOe.test(r))throw new Error("asset must name a canonical lower-case ERC-20 address");if(e.scheme!=="exact"||e.assetTransferMethod!=="eip3009")throw new Error("wallet permit v1 supports exact EIP-3009 only");if(typeof e.eip3009Nonce!="string"||!Kdn.test(e.eip3009Nonce))throw new Error("eip3009Nonce must be canonical");if(u1t("validAfter",e.validAfter),u1t("validBefore",e.validBefore),BigInt(e.validBefore)<=BigInt(e.validAfter))throw new Error("validBefore must be after validAfter");let n=Qdn(e.settlementExpiresAt);if(BigInt(e.validBefore)!==BigInt(Math.floor(Date.parse(n)/1e3)))throw new Error("validBefore must match settlementExpiresAt");return mte("intentId",e.intentId),mte("economicIntentId",e.economicIntentId),{v:1,authorizationId:e.authorizationId,agentId:e.agentId,keyJkt:e.keyJkt,walletApiKeyId:e.walletApiKeyId,grantId:e.grantId,grantVersion:e.grantVersion,budgetEpochId:e.budgetEpochId,runtimeSessionId:e.runtimeSessionId,executionChannel:e.executionChannel,scope:"wallet:x402",executionMode:"direct_runtime",x402Version:e.x402Version,amountMicros:e.amountMicros,currency:"USD",payer:e.payer,payee:e.payee,network:e.network,asset:e.asset,scheme:"exact",assetTransferMethod:"eip3009",eip3009Nonce:e.eip3009Nonce,validAfter:e.validAfter,validBefore:e.validBefore,settlementHash:e.settlementHash,settlementExpiresAt:n,resourceCommitment:e.resourceCommitment,intentId:e.intentId,economicIntentId:e.economicIntentId}}function eln(e,t){return{iss:Vi.WALLET_AUTHORIZATION_PERMIT_ISSUER,aud:Vi.WALLET_AUTHORIZATION_PERMIT_AUDIENCE,sub:e.agentId,cnf:{jkt:e.keyJkt},...t,policy_id:Vi.WALLET_AUTHORIZATION_PERMIT_POLICY_ID,v:1,authorization_id:e.authorizationId,agent_id:e.agentId,key_jkt:e.keyJkt,wallet_api_key_id:e.walletApiKeyId,grant_id:e.grantId,grant_version:e.grantVersion,budget_epoch_id:e.budgetEpochId,runtime_session_id:e.runtimeSessionId,execution_channel:e.executionChannel,scope:e.scope,execution_mode:e.executionMode,x402_version:e.x402Version,amount_micros:e.amountMicros,currency:e.currency,payer:e.payer,payee:e.payee,network:e.network,asset:e.asset,scheme:e.scheme,asset_transfer_method:e.assetTransferMethod,eip3009_nonce:e.eip3009Nonce,valid_after:e.validAfter,valid_before:e.validBefore,settlement_hash:e.settlementHash,settlement_expires_at:e.settlementExpiresAt,resource_commitment:e.resourceCommitment,intent_id:e.intentId,economic_intent_id:e.economicIntentId}}function tln(e){return HOe({v:e.v,authorizationId:e.authorization_id,agentId:e.agent_id,keyJkt:e.key_jkt,walletApiKeyId:e.wallet_api_key_id,grantId:e.grant_id,grantVersion:e.grant_version,budgetEpochId:e.budget_epoch_id,runtimeSessionId:e.runtime_session_id,executionChannel:e.execution_channel,scope:e.scope,executionMode:e.execution_mode,x402Version:e.x402_version,amountMicros:e.amount_micros,currency:e.currency,payer:e.payer,payee:e.payee,network:e.network,asset:e.asset,scheme:e.scheme,assetTransferMethod:e.asset_transfer_method,eip3009Nonce:e.eip3009_nonce,validAfter:e.valid_after,validBefore:e.valid_before,settlementHash:e.settlement_hash,settlementExpiresAt:e.settlement_expires_at,resourceCommitment:e.resource_commitment,intentId:e.intent_id,economicIntentId:e.economic_intent_id})}function rln(e,t){return[...p1t].every(r=>e[r]===t[r])}function nln(e,t){if(!T8(e)||!T8(e.domain)||!T8(e.message))return"typed_data_invalid";try{if((0,Fdn.eip712DigestBase64Url)(e)!==t.settlementHash)return"typed_data_binding_mismatch"}catch{return"typed_data_invalid"}let r=`${t.network}/erc20:`,n=t.asset.slice(r.length),i=t.network.slice(7),o=e.message,s=e.domain;return e.primaryType!=="TransferWithAuthorization"||fte(s.chainId)!==i||qOe(s.verifyingContract)!==n||qOe(o.from)!==t.payer||qOe(o.to)!==t.payee||fte(o.value)!==t.amountMicros||Zdn(o.nonce)!==t.eip3009Nonce||fte(o.validAfter)!==t.validAfter||fte(o.validBefore)!==t.validBefore?"typed_data_binding_mismatch":null}async function iln(e){if(e.signer.publicJwk.role!=="wallet-permit")throw new Error("wallet permits require a dedicated wallet-permit signing key");let t=HOe(e.binding),r=e.nowSec??Math.floor(Date.now()/1e3);if(!Number.isSafeInteger(r)||r<0)throw new Error("nowSec must be a non-negative safe integer");let n=Math.floor(Date.parse(t.settlementExpiresAt)/1e3),i=Math.min(r+Vi.WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS,n);if(!Number.isSafeInteger(i)||i<=r)throw new Error("settlement window must remain open while issuing a permit");if(BigInt(t.validAfter)+1n>=BigInt(i))throw new Error("settlement window must open before permit expiry");let o=e.jti??(0,$dn.randomPopNonce)();mte("jti",o);let s=eln(t,{iat:r,exp:i,jti:o});return(0,zdn.signJwtWithSigner)(e.signer,{typ:Vi.WALLET_AUTHORIZATION_PERMIT_JWT_TYP},{...s})}async function oln(e,t){let r=await(0,c1t.verifyJwtSignature)(e,t.permitIssuerJwks,"wallet-permit",!0);if(!r.ok)return{valid:!1,reason:r.reason};if(r.header.typ!==Vi.WALLET_AUTHORIZATION_PERMIT_JWT_TYP)return{valid:!1,reason:"typ_mismatch"};let n=r.claims;if(!T8(n))return{valid:!1,reason:"bad_claim_shape"};try{f1t("wallet permit claims",n,Jdn)}catch{return{valid:!1,reason:"bad_claim_shape"}}if(n.iss!==Vi.WALLET_AUTHORIZATION_PERMIT_ISSUER||n.aud!==Vi.WALLET_AUTHORIZATION_PERMIT_AUDIENCE)return{valid:!1,reason:"issuer_or_audience_mismatch"};if(n.policy_id!==Vi.WALLET_AUTHORIZATION_PERMIT_POLICY_ID)return{valid:!1,reason:"policy_mismatch"};if(!Number.isSafeInteger(t.nowSec)||t.nowSec<0)return{valid:!1,reason:"bad_verification_time"};let i=(0,c1t.temporalReason)(n,t.nowSec);if(i)return{valid:!1,reason:i};if(!Number.isSafeInteger(n.iat)||!Number.isSafeInteger(n.exp)||n.exp<=n.iat||n.exp-n.iat>Vi.WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS)return{valid:!1,reason:"bad_temporal_claims"};if(typeof n.jti!="string")return{valid:!1,reason:"bad_claim_shape"};try{mte("jti",n.jti)}catch{return{valid:!1,reason:"bad_claim_shape"}}let o;try{o=tln(n)}catch{return{valid:!1,reason:"bad_claim_shape"}}let s;try{s=HOe(t.expected)}catch{return{valid:!1,reason:"expected_binding_invalid"}}if(n.sub!==o.agentId||!T8(n.cnf)||Object.keys(n.cnf).length!==1||n.cnf.jkt!==o.keyJkt)return{valid:!1,reason:"subject_mismatch"};if(n.exp>Math.floor(Date.parse(o.settlementExpiresAt)/1e3))return{valid:!1,reason:"permit_outlives_settlement"};let a=BigInt(o.validAfter),c=BigInt(o.validBefore),u=BigInt(t.nowSec);if(u<=a||u>=c)return{valid:!1,reason:"settlement_not_live"};if(!rln(o,s))return{valid:!1,reason:"binding_mismatch"};let d=nln(t.typedData,o);return d?{valid:!1,reason:d}:{valid:!0,claims:n}}});var _1t=_(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.KillList=bc.KILL_SWITCH_JWT_TYP=bc.SUCCESSION_JWT_TYP=void 0;bc.issueSuccession=aln;bc.verifySuccession=cln;bc.issueKillSwitch=uln;bc.verifyKillSwitch=dln;bc.attestationIsVoid=g1t;var sln=zu(),hte=ed();bc.SUCCESSION_JWT_TYP="agent-succession+jwt";bc.KILL_SWITCH_JWT_TYP="agent-kill+jwt";async function aln(e){let{principalKey:t,oldJkt:r,newJkt:n,agtId:i,nowSec:o=Math.floor(Date.now()/1e3)}=e,s={old_jkt:r,new_jkt:n,agt_id:i,iat:o};return(0,hte.signJwt)(t.privateJwk,{kid:t.kid,typ:bc.SUCCESSION_JWT_TYP},{...s})}function h1t(e,t,r){let n=t.keys.find(i=>i.kid===e);return!n||(0,sln.computeJkt)(n)!==r?"signer_not_owning_principal":null}async function cln(e,t){let r=await(0,hte.verifyJwtSignature)(e,t.principalJwks);if(!r.ok)return{valid:!1,reason:r.reason};if(r.header.typ!==bc.SUCCESSION_JWT_TYP)return{valid:!1,reason:"typ_mismatch"};let n=r.claims;if(typeof n.old_jkt!="string"||typeof n.new_jkt!="string"||typeof n.agt_id!="string"||typeof n.iat!="number")return{valid:!1,reason:"bad_claim_shape"};if(n.old_jkt===n.new_jkt)return{valid:!1,reason:"no_op_succession"};if(n.old_jkt!==t.registration.sub)return{valid:!1,reason:"agent_jkt_mismatch"};let i=h1t(r.header.kid,t.principalJwks,t.owningPrincipalJkt);return i?{valid:!1,reason:i}:{valid:!0,record:n}}async function uln(e){let{principalKey:t,agentJkt:r,agtId:n,reason:i,nowSec:o=Math.floor(Date.now()/1e3)}=e,s={jkt:r,agt_id:n,iat:o,...i===void 0?{}:{reason:i}};return(0,hte.signJwt)(t.privateJwk,{kid:t.kid,typ:bc.KILL_SWITCH_JWT_TYP},{...s})}async function dln(e,t){let r=await(0,hte.verifyJwtSignature)(e,t.principalJwks);if(!r.ok)return{valid:!1,reason:r.reason};if(r.header.typ!==bc.KILL_SWITCH_JWT_TYP)return{valid:!1,reason:"typ_mismatch"};let n=r.claims;if(typeof n.jkt!="string"||typeof n.agt_id!="string"||typeof n.iat!="number")return{valid:!1,reason:"bad_claim_shape"};if(n.jkt!==t.registration.sub)return{valid:!1,reason:"agent_jkt_mismatch"};let i=h1t(r.header.kid,t.principalJwks,t.owningPrincipalJkt);return i?{valid:!1,reason:i}:{valid:!0,record:n}}function g1t(e,t){return t.jkt===e.signerJkt&&e.signedAtSec>=t.iat}var VOe=class{byJkt;constructor(t=[]){this.byJkt=new Map;for(let r of t){let n=this.byJkt.get(r.jkt);(!n||r.iat<n.iat)&&this.byJkt.set(r.jkt,r)}}get size(){return this.byJkt.size}isKilled(t,r){let n=this.byJkt.get(t);return n&&n.iat<=r?{killed:!0,...n.reason!==void 0?{reason:n.reason}:{},killedAtSec:n.iat}:{killed:!1}}voidsAttestation(t,r){let n=this.byJkt.get(t);return n?g1t({signerJkt:t,signedAtSec:r},n):!1}};bc.KillList=VOe});var v1t=_(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.GRANT_RAILS=Fi.MAX_TTL_GRANT_DAYS=Fi.TTL_GRANT_DAYS=Fi.GRANT_JWT_TYP=void 0;Fi.issueGrant=mln;Fi.issueGrantWithSigner=hln;Fi.verifyGrant=bln;var lln=zu(),FOe=ed(),pln=Fv(),y1t=$y();Fi.GRANT_JWT_TYP="visa-agent-spend-grant+jwt";Fi.TTL_GRANT_DAYS=30;Fi.MAX_TTL_GRANT_DAYS=90;Fi.GRANT_RAILS=["x402","vic"];var b1t=86400;function HI(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function fln(e){if(e!==void 0){if(!Array.isArray(e)||e.length===0)throw new Error("allowed_payees, when present, must be a non-empty array");for(let t of e)if(typeof t!="string"||t.length===0)throw new Error("allowed_payees entries must be non-empty strings");if(new Set(e).size!==e.length)throw new Error("allowed_payees must not repeat")}}function E1t(e,t,r,n){if(!HI(e.per_tx))throw new Error("ceiling.per_tx must be a positive integer in minor units (cents)");if(e.daily!==void 0&&!HI(e.daily))throw new Error("ceiling.daily must be a positive integer in minor units (cents)");if(e.session!==void 0&&!HI(e.session))throw new Error("ceiling.session must be a positive integer in minor units (cents)");if(e.currency!=="USD")throw new Error("ceiling.currency must be 'USD' (P0 canonical unit)");if(!Array.isArray(t)||t.length===0)throw new Error("rails must be a non-empty array");for(let i of t)if(!Fi.GRANT_RAILS.includes(i))throw new Error(`unknown rail '${String(i)}' \u2014 must be one of ${Fi.GRANT_RAILS.join(", ")}`);if(new Set(t).size!==t.length)throw new Error("rails must not repeat");if(!Number.isFinite(r)||r<=0||r>Fi.MAX_TTL_GRANT_DAYS)throw new Error(`ttlDays must be in (0, ${Fi.MAX_TTL_GRANT_DAYS}]; got ${r}`);fln(n)}function S1t(e){return{sub:e.agentJkt,cnf:{jkt:e.agentJkt},ceiling:e.ceiling,rails:e.rails,...e.allowedPayees!==void 0?{allowed_payees:e.allowedPayees}:{},iat:e.nowSec,exp:e.nowSec+e.ttlDays*b1t,jti:e.jti}}async function mln(e){let{principalKey:t,agentJkt:r,ceiling:n,rails:i,allowedPayees:o,jti:s=(0,y1t.randomPopNonce)(),ttlDays:a=Fi.TTL_GRANT_DAYS,nowSec:c=Math.floor(Date.now()/1e3)}=e;E1t(n,i,a,o);let u=S1t({agentJkt:r,ceiling:n,rails:i,allowedPayees:o,jti:s,ttlDays:a,nowSec:c});return(0,FOe.signJwt)(t.privateJwk,{kid:t.kid,typ:Fi.GRANT_JWT_TYP},{...u})}async function hln(e){let{signer:t,agentJkt:r,ceiling:n,rails:i,allowedPayees:o,jti:s=(0,y1t.randomPopNonce)(),ttlDays:a=Fi.TTL_GRANT_DAYS,nowSec:c=Math.floor(Date.now()/1e3)}=e;E1t(n,i,a,o);let u=S1t({agentJkt:r,ceiling:n,rails:i,allowedPayees:o,jti:s,ttlDays:a,nowSec:c});return(0,pln.signJwtWithSigner)(t,{typ:Fi.GRANT_JWT_TYP},{...u})}function gln(e){if(typeof e!="object"||e===null)return!1;let t=e;return!HI(t.per_tx)||t.daily!==void 0&&!HI(t.daily)||t.session!==void 0&&!HI(t.session)?!1:t.currency==="USD"}function _ln(e){return Array.isArray(e)&&e.length>0&&e.every(t=>Fi.GRANT_RAILS.includes(t))&&new Set(e).size===e.length}function yln(e){return e===void 0?!0:Array.isArray(e)&&e.length>0&&e.every(t=>typeof t=="string"&&t.length>0)&&new Set(e).size===e.length}async function bln(e,t){let r=await(0,FOe.verifyJwtSignature)(e,t.principalJwks);if(!r.ok)return{valid:!1,reason:r.reason};if(r.header.typ!==Fi.GRANT_JWT_TYP)return{valid:!1,reason:"typ_mismatch"};let n=r.claims;if(typeof n.sub!="string"||typeof n.jti!="string"||n.jti.length===0||typeof n.cnf!="object"||n.cnf===null||n.cnf.jkt!==n.sub)return{valid:!1,reason:"bad_claim_shape"};if(!gln(n.ceiling))return{valid:!1,reason:"bad_ceiling"};if(!_ln(n.rails))return{valid:!1,reason:"bad_rails"};if(!yln(n.allowed_payees))return{valid:!1,reason:"bad_allowed_payees"};let i=(0,FOe.temporalReason)(n,t.nowSec);if(i)return{valid:!1,reason:i};let o=n.iat,s=n.exp;if(!Number.isSafeInteger(o)||!Number.isSafeInteger(s)||s<=o)return{valid:!1,reason:"bad_temporal_claims"};if(s-o>Fi.MAX_TTL_GRANT_DAYS*b1t)return{valid:!1,reason:"ttl_exceeds_max"};if(n.sub!==t.expectedAgentJkt)return{valid:!1,reason:"agent_jkt_mismatch"};let a=t.principalJwks.keys.find(c=>c.kid===r.header.kid);if(!a||(0,lln.computeJkt)(a)!==t.owningPrincipalJkt)return{valid:!1,reason:"signer_not_owning_principal"};for(let c of t.killRecords??[])if(c.jkt===n.sub)return{valid:!1,reason:"agent_killed"};for(let c of t.revokedJtis??[])if(c===n.jti)return{valid:!1,reason:"grant_revoked"};if(!n.rails.includes(t.rail))return{valid:!1,reason:"rail_not_granted"};if(t.intent!==void 0){if(!HI(t.intent.amount))return{valid:!1,reason:"bad_intent_amount"};if(t.intent.amount>n.ceiling.per_tx)return{valid:!1,reason:"over_per_tx_ceiling"};let c=n.allowed_payees;if(c!==void 0){if(t.intent.payee===void 0)return{valid:!1,reason:"payee_required"};if(!c.includes(t.intent.payee))return{valid:!1,reason:"payee_not_allowed"}}}return{valid:!0,claims:n}}});var A1t=_(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.AGENT_PAIRING_TERMINAL_STATES=ye.AGENT_PAIRING_STATES=ye.AGENT_PAIRING_TTL_SECONDS=ye.sha256=ye.pairingInstrumentCommitment=ye.pairingDeliveryArtifactV2Hash=ye.canonicalPairingDeliveryArtifactV2=ye.pairingArtifactHash=ye.agentMailCredentialClaimMessageV2=ye.keyRotationClaimHashV2=ye.keyRotationClaimMessageV2=ye.capabilityAttachActivationMessageV2=ye.capabilityAttachClaimHashV2=ye.capabilityAttachClaimMessageV2=ye.handoffAuthorityCapabilities=ye.AGENT_HANDOFF_COMPOUND_AUTHORITY=ye.AGENT_HANDOFF_AUTHORITIES=ye.AGENT_CAPABILITY_ATTACH_CAPABILITIES=ye.pairingActivationMessageV2=ye.pairingActivationMessage=ye.pairingClaimHashV2=ye.pairingClaimMessageV2=ye.pairingClaimMessage=ye.pairingTermsV2Hash=ye.pairingTermsHash=ye.canonicalPairingTermsV2=ye.canonicalPairingTerms=ye.setupConfirmationCode=ye.pairingConfirmationCode=ye.pairingCodeFromClaimToken=ye.pairingClaimTokenHash=ye.randomPairingClaimToken=ye.pairingCodeHash=ye.isValidPairingCode=ye.formatPairingCode=ye.normalizePairingCode=ye.randomPairingCode=ye.pairingVerifierChallenge=ye.randomPairingVerifier=ye.randomSetupOperationId=ye.randomHandoffId=ye.randomAttachId=ye.randomPairingId=ye.AGENT_PAIRING_CODE_LENGTH=ye.AGENT_PAIRING_CODE_ALPHABET=ye.AGENT_PAIRING_PROTOCOL_VERSION_V2=ye.AGENT_PAIRING_PROTOCOL_VERSION=void 0;ye.isAgentPairingState=Sln;ye.canTransitionAgentPairing=T1t;ye.assertAgentPairingTransition=vln;var Wt=bD();Object.defineProperty(ye,"AGENT_PAIRING_PROTOCOL_VERSION",{enumerable:!0,get:function(){return Wt.AGENT_PAIRING_PROTOCOL_VERSION}});Object.defineProperty(ye,"AGENT_PAIRING_PROTOCOL_VERSION_V2",{enumerable:!0,get:function(){return Wt.AGENT_PAIRING_PROTOCOL_VERSION_V2}});Object.defineProperty(ye,"AGENT_PAIRING_CODE_ALPHABET",{enumerable:!0,get:function(){return Wt.AGENT_PAIRING_CODE_ALPHABET}});Object.defineProperty(ye,"AGENT_PAIRING_CODE_LENGTH",{enumerable:!0,get:function(){return Wt.AGENT_PAIRING_CODE_LENGTH}});Object.defineProperty(ye,"randomPairingId",{enumerable:!0,get:function(){return Wt.randomPairingId}});Object.defineProperty(ye,"randomAttachId",{enumerable:!0,get:function(){return Wt.randomAttachId}});Object.defineProperty(ye,"randomHandoffId",{enumerable:!0,get:function(){return Wt.randomHandoffId}});Object.defineProperty(ye,"randomSetupOperationId",{enumerable:!0,get:function(){return Wt.randomSetupOperationId}});Object.defineProperty(ye,"randomPairingVerifier",{enumerable:!0,get:function(){return Wt.randomPairingVerifier}});Object.defineProperty(ye,"pairingVerifierChallenge",{enumerable:!0,get:function(){return Wt.pairingVerifierChallenge}});Object.defineProperty(ye,"randomPairingCode",{enumerable:!0,get:function(){return Wt.randomPairingCode}});Object.defineProperty(ye,"normalizePairingCode",{enumerable:!0,get:function(){return Wt.normalizePairingCode}});Object.defineProperty(ye,"formatPairingCode",{enumerable:!0,get:function(){return Wt.formatPairingCode}});Object.defineProperty(ye,"isValidPairingCode",{enumerable:!0,get:function(){return Wt.isValidPairingCode}});Object.defineProperty(ye,"pairingCodeHash",{enumerable:!0,get:function(){return Wt.pairingCodeHash}});Object.defineProperty(ye,"randomPairingClaimToken",{enumerable:!0,get:function(){return Wt.randomPairingClaimToken}});Object.defineProperty(ye,"pairingClaimTokenHash",{enumerable:!0,get:function(){return Wt.pairingClaimTokenHash}});Object.defineProperty(ye,"pairingCodeFromClaimToken",{enumerable:!0,get:function(){return Wt.pairingCodeFromClaimToken}});Object.defineProperty(ye,"pairingConfirmationCode",{enumerable:!0,get:function(){return Wt.pairingConfirmationCode}});Object.defineProperty(ye,"setupConfirmationCode",{enumerable:!0,get:function(){return Wt.setupConfirmationCode}});Object.defineProperty(ye,"canonicalPairingTerms",{enumerable:!0,get:function(){return Wt.canonicalPairingTerms}});Object.defineProperty(ye,"canonicalPairingTermsV2",{enumerable:!0,get:function(){return Wt.canonicalPairingTermsV2}});Object.defineProperty(ye,"pairingTermsHash",{enumerable:!0,get:function(){return Wt.pairingTermsHash}});Object.defineProperty(ye,"pairingTermsV2Hash",{enumerable:!0,get:function(){return Wt.pairingTermsV2Hash}});Object.defineProperty(ye,"pairingClaimMessage",{enumerable:!0,get:function(){return Wt.pairingClaimMessage}});Object.defineProperty(ye,"pairingClaimMessageV2",{enumerable:!0,get:function(){return Wt.pairingClaimMessageV2}});Object.defineProperty(ye,"pairingClaimHashV2",{enumerable:!0,get:function(){return Wt.pairingClaimHashV2}});Object.defineProperty(ye,"pairingActivationMessage",{enumerable:!0,get:function(){return Wt.pairingActivationMessage}});Object.defineProperty(ye,"pairingActivationMessageV2",{enumerable:!0,get:function(){return Wt.pairingActivationMessageV2}});Object.defineProperty(ye,"AGENT_CAPABILITY_ATTACH_CAPABILITIES",{enumerable:!0,get:function(){return Wt.AGENT_CAPABILITY_ATTACH_CAPABILITIES}});Object.defineProperty(ye,"AGENT_HANDOFF_AUTHORITIES",{enumerable:!0,get:function(){return Wt.AGENT_HANDOFF_AUTHORITIES}});Object.defineProperty(ye,"AGENT_HANDOFF_COMPOUND_AUTHORITY",{enumerable:!0,get:function(){return Wt.AGENT_HANDOFF_COMPOUND_AUTHORITY}});Object.defineProperty(ye,"handoffAuthorityCapabilities",{enumerable:!0,get:function(){return Wt.handoffAuthorityCapabilities}});Object.defineProperty(ye,"capabilityAttachClaimMessageV2",{enumerable:!0,get:function(){return Wt.capabilityAttachClaimMessageV2}});Object.defineProperty(ye,"capabilityAttachClaimHashV2",{enumerable:!0,get:function(){return Wt.capabilityAttachClaimHashV2}});Object.defineProperty(ye,"capabilityAttachActivationMessageV2",{enumerable:!0,get:function(){return Wt.capabilityAttachActivationMessageV2}});Object.defineProperty(ye,"keyRotationClaimMessageV2",{enumerable:!0,get:function(){return Wt.keyRotationClaimMessageV2}});Object.defineProperty(ye,"keyRotationClaimHashV2",{enumerable:!0,get:function(){return Wt.keyRotationClaimHashV2}});Object.defineProperty(ye,"agentMailCredentialClaimMessageV2",{enumerable:!0,get:function(){return Wt.agentMailCredentialClaimMessageV2}});Object.defineProperty(ye,"pairingArtifactHash",{enumerable:!0,get:function(){return Wt.pairingArtifactHash}});Object.defineProperty(ye,"canonicalPairingDeliveryArtifactV2",{enumerable:!0,get:function(){return Wt.canonicalPairingDeliveryArtifactV2}});Object.defineProperty(ye,"pairingDeliveryArtifactV2Hash",{enumerable:!0,get:function(){return Wt.pairingDeliveryArtifactV2Hash}});Object.defineProperty(ye,"pairingInstrumentCommitment",{enumerable:!0,get:function(){return Wt.pairingInstrumentCommitment}});Object.defineProperty(ye,"sha256",{enumerable:!0,get:function(){return Wt.pairingSha256}});ye.AGENT_PAIRING_TTL_SECONDS=3600;ye.AGENT_PAIRING_STATES=["awaiting_agent","agent_claimed","code_verified","awaiting_human","authorized","delivered","activated","expired","cancelled","failed","revoked"];ye.AGENT_PAIRING_TERMINAL_STATES=new Set(["activated","expired","cancelled","failed","revoked"]);var Eln={awaiting_agent:new Set(["agent_claimed","expired","cancelled","failed"]),agent_claimed:new Set(["code_verified","expired","cancelled","failed"]),code_verified:new Set(["awaiting_human","expired","cancelled","failed"]),awaiting_human:new Set(["authorized","expired","cancelled","failed"]),authorized:new Set(["delivered","expired","cancelled","failed"]),delivered:new Set(["activated","expired","cancelled","failed"]),activated:new Set(["revoked"]),expired:new Set,cancelled:new Set,failed:new Set,revoked:new Set};function Sln(e){return typeof e=="string"&&ye.AGENT_PAIRING_STATES.includes(e)}function T1t(e,t){return Eln[e].has(t)}function vln(e,t){if(!T1t(e,t))throw new Error(`invalid agent pairing transition: ${e} -> ${t}`)}});var w1t=_($Oe=>{"use strict";Object.defineProperty($Oe,"__esModule",{value:!0});$Oe.prepareIdentityPresenceDelegation=wln;var Tln=pte(),Aln=Jv();function wln(e){let r={...(0,Tln.prepareRuntimeDelegation)({...e,signingModes:["eip3009:exact"]}).claims,purpose:"runtime_presence_pop",signingModes:["presence"]};return{...(0,Aln.prepareRootSignedJws)("visa-agent-runtime-delegation+jwt",e.rootKid,r),claims:r}}});var WOe=_(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.HOSTED_CONNECTOR_PROOF_TTL_SECONDS=Wr.HOSTED_CONNECTOR_PROOF_TYP=Wr.IDENTITY_PRESENCE_LEASE_TYP=Wr.IDENTITY_PRESENCE_SIGNING_MODE=Wr.IDENTITY_PRESENCE_PURPOSE=Wr.IDENTITY_PRESENCE_LEASE_AUDIENCE=void 0;Wr.issueHostedConnectorProof=Rln;Wr.verifyHostedConnectorProof=Nln;Wr.issueIdentityPresenceLease=Cln;Wr.verifyIdentityPresenceLeaseChain=Mln;var x1t=require("node:crypto"),I1t=Hf(),zOe=zu(),GOe=ed(),O1t=Fv(),VI=BI();Wr.IDENTITY_PRESENCE_LEASE_AUDIENCE="urn:visa:tvc:identity-gate";Wr.IDENTITY_PRESENCE_PURPOSE="runtime_presence_pop";Wr.IDENTITY_PRESENCE_SIGNING_MODE="presence";Wr.IDENTITY_PRESENCE_LEASE_TYP="visa-agent-runtime-lease+jwt";Wr.HOSTED_CONNECTOR_PROOF_TYP="visa-hosted-connector-proof+jwt";Wr.HOSTED_CONNECTOR_PROOF_TTL_SECONDS=300;var A8=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,gte=/^[A-Za-z0-9_-]{43}$/,Iln=/^eip155:[1-9][0-9]{0,15}$/,Pln="exp,iat,iss,jti,leaseIssuerJkt,maxLeaseTtlSeconds,nbf,network,purpose,runtimeId,runtimeJkt,signingModes,sub,v",xln="aud,delegationHash,delegationId,exp,generation,grantId,grantVersion,iat,iss,jti,nbf,network,purpose,rootJkt,runtimeId,runtimeJkt,signingModes,sub,v",Oln="agentId,aud,connectorKeyId,custody,exp,grantId,grantVersion,hostedAuthorityMode,iat,intentHash,iss,jti,operationId,requestId,runtimeId,v";function KOe(e,t){return Object.keys(e).sort().join(",")===t}function P1t(e,t,r){return Number.isSafeInteger(e.iat)&&Number.isSafeInteger(e.nbf)&&Number.isSafeInteger(e.exp)&&e.iat>=0&&e.nbf===e.iat&&e.exp>e.iat&&e.exp-e.iat<=r&&e.iat<=t+VI.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS&&t<e.exp}async function Rln(e){let t={v:1,iss:"visa:auth",aud:Wr.IDENTITY_PRESENCE_LEASE_AUDIENCE,jti:e.requestId,requestId:e.requestId,agentId:e.agentId,runtimeId:e.runtimeId,custody:"signer",hostedAuthorityMode:"standing",connectorKeyId:e.connectorKeyId,grantId:e.grantId,grantVersion:e.grantVersion,operationId:e.operationId,intentHash:e.intentHash,iat:e.issuedAtSec,exp:e.issuedAtSec+Wr.HOSTED_CONNECTOR_PROOF_TTL_SECONDS};if(!R1t(t))throw new Error("hosted_connector_proof_invalid");return(0,O1t.signJwtWithSigner)(e.signer,{typ:Wr.HOSTED_CONNECTOR_PROOF_TYP},{...t})}function R1t(e){return KOe(e,Oln)&&e.v===1&&e.iss==="visa:auth"&&e.aud===Wr.IDENTITY_PRESENCE_LEASE_AUDIENCE&&e.jti===e.requestId&&[e.jti,e.requestId,e.agentId,e.runtimeId,e.grantId,e.operationId].every(t=>A8.test(t))&&e.custody==="signer"&&e.hostedAuthorityMode==="standing"&&typeof e.connectorKeyId=="string"&&/^[A-Za-z0-9._:@/-]{1,256}$/.test(e.connectorKeyId)&&gte.test(e.intentHash)&&Number.isSafeInteger(e.grantVersion)&&e.grantVersion>0&&Number.isSafeInteger(e.iat)&&e.iat>=0&&Number.isSafeInteger(e.exp)&&e.exp>e.iat&&e.exp-e.iat<=Wr.HOSTED_CONNECTOR_PROOF_TTL_SECONDS}async function Nln(e,t){let r=await(0,GOe.verifyJwtSignature)(e,t.issuerJwks);if(!r.ok)return r;let n=r.claims,i=t.issuerJwks.keys.filter(s=>typeof s.kid=="string"&&s.kid===r.header.kid),o=t.maxAgeSeconds??30;return r.header.typ!==Wr.HOSTED_CONNECTOR_PROOF_TYP||i.length!==1||(0,zOe.computeJkt)(i[0])!==r.header.kid||!R1t(n)||!Number.isSafeInteger(t.nowSec)||!Number.isSafeInteger(o)||o<1||n.iat>t.nowSec+VI.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS||t.nowSec-n.iat>o||n.exp<=t.nowSec||n.requestId!==t.expectedRequestId||n.agentId!==t.expectedAgentId||n.runtimeId!==t.expectedRuntimeId||n.connectorKeyId!==t.expectedConnectorKeyId||n.grantId!==t.expectedGrantId||n.grantVersion!==t.expectedGrantVersion||n.operationId!==t.expectedOperationId||t.expectedIntentHash!==void 0&&n.intentHash!==t.expectedIntentHash?{ok:!1,reason:"hosted_connector_proof_invalid"}:{ok:!0,claims:n}}async function Cln(e){if(!A8.test(e.leaseId)||!A8.test(e.grantId)||!Number.isSafeInteger(e.generation)||e.generation<1||!Number.isSafeInteger(e.grantVersion)||e.grantVersion<1||!Number.isSafeInteger(e.ttlSeconds)||e.ttlSeconds<1||e.ttlSeconds>VI.RUNTIME_LEASE_MAX_TTL_SECONDS||e.ttlSeconds>e.delegation.maxLeaseTtlSeconds||e.delegation.leaseIssuerJkt!==e.signer.kid)throw new Error("identity presence lease input invalid");let t={v:1,iss:e.signer.kid,sub:e.delegation.sub,aud:Wr.IDENTITY_PRESENCE_LEASE_AUDIENCE,jti:e.leaseId,delegationId:e.delegation.jti,delegationHash:(0,x1t.createHash)("sha256").update(e.delegationToken).digest("base64url"),rootJkt:e.delegation.iss,runtimeId:e.delegation.runtimeId,runtimeJkt:e.delegation.runtimeJkt,purpose:Wr.IDENTITY_PRESENCE_PURPOSE,network:e.delegation.network,signingModes:[Wr.IDENTITY_PRESENCE_SIGNING_MODE],generation:e.generation,grantId:e.grantId,grantVersion:e.grantVersion,iat:e.nowSec,nbf:e.nowSec,exp:e.nowSec+e.ttlSeconds};return{lease:await(0,O1t.signJwtWithSigner)(e.signer,{typ:Wr.IDENTITY_PRESENCE_LEASE_TYP},{...t}),claims:t}}async function Mln(e,t,r){if(!Number.isSafeInteger(r.nowSec)||r.nowSec<0)return{ok:!1,reason:"bad_verification_context"};let n=await(0,GOe.verifyJwtSignature)(e,r.ownerJwks),i=await(0,GOe.verifyJwtSignature)(t,r.issuerJwks);if(!n.ok)return n;if(!i.ok)return i;let o=n.claims,s=i.claims,a=r.ownerJwks.keys.find(u=>u.kid===r.expectedRootKid),c=r.issuerJwks.keys.find(u=>u.kid===r.expectedLeaseIssuerKid);return n.header.typ!==VI.RUNTIME_DELEGATION_TYP||n.header.kid!==r.expectedRootKid||i.header.typ!==Wr.IDENTITY_PRESENCE_LEASE_TYP||i.header.kid!==r.expectedLeaseIssuerKid||!a||!c||(0,zOe.computeJkt)(a)!==r.expectedRootJkt||(0,zOe.computeJkt)(c)!==r.expectedLeaseIssuerJkt||!KOe(o,Pln)||!KOe(s,xln)||o.v!==1||o.iss!==r.expectedRootJkt||o.sub!==r.expectedAgentId||o.jti!==r.expectedDelegationId||o.runtimeId!==r.expectedRuntimeId||o.runtimeJkt!==r.expectedRuntimeJkt||o.leaseIssuerJkt!==r.expectedLeaseIssuerJkt||o.purpose!==Wr.IDENTITY_PRESENCE_PURPOSE||o.network!==r.expectedNetwork||(0,I1t.canonicalJson)(o.signingModes)!=='["presence"]'||!A8.test(o.jti)||!A8.test(o.runtimeId)||!gte.test(o.iss)||!gte.test(o.runtimeJkt)||!gte.test(o.leaseIssuerJkt)||!Iln.test(o.network)||!Number.isSafeInteger(o.maxLeaseTtlSeconds)||o.maxLeaseTtlSeconds<1||o.maxLeaseTtlSeconds>VI.RUNTIME_LEASE_MAX_TTL_SECONDS||!P1t(o,r.nowSec,VI.RUNTIME_DELEGATION_MAX_TTL_SECONDS)||s.v!==1||s.iss!==r.expectedLeaseIssuerJkt||s.sub!==r.expectedAgentId||s.aud!==Wr.IDENTITY_PRESENCE_LEASE_AUDIENCE||s.delegationId!==o.jti||s.delegationHash!==(0,x1t.createHash)("sha256").update(e).digest("base64url")||s.rootJkt!==r.expectedRootJkt||s.runtimeId!==r.expectedRuntimeId||s.runtimeJkt!==r.expectedRuntimeJkt||s.purpose!==Wr.IDENTITY_PRESENCE_PURPOSE||s.network!==r.expectedNetwork||(0,I1t.canonicalJson)(s.signingModes)!=='["presence"]'||s.generation!==r.expectedGeneration||s.grantId!==r.expectedGrantId||s.grantVersion!==r.expectedGrantVersion||!A8.test(s.jti)||!P1t(s,r.nowSec,VI.RUNTIME_LEASE_MAX_TTL_SECONDS)||s.exp>o.exp||s.exp-s.iat>o.maxLeaseTtlSeconds?{ok:!1,reason:"presence_chain_invalid"}:{ok:!0,delegation:o,lease:s}}});var ZOe=_(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.IDENTITY_TAP_LEASE_REQUEST_AUDIENCE=No.IDENTITY_TAP_LEASE_AUDIENCE=No.IDENTITY_TAP_PURPOSE=No.IDENTITY_TAP_PROFILE=void 0;No.prepareIdentityTapDelegation=D1t;No.verifyIdentityTapDelegation=L1t;No.issueIdentityTapLease=Bln;No.identityTapLeaseRequestIntentHash=XOe;No.createIdentityTapLeaseRequestProof=qln;No.verifyIdentityTapLeaseRequestProof=Hln;var N1t=require("node:crypto"),kln=Hf(),Dln=zu(),C1t=ed(),YOe=Jv(),M1t=$y(),Lln=pte();No.IDENTITY_TAP_PROFILE="identity-tap-v1";No.IDENTITY_TAP_PURPOSE="tap_signature_base";No.IDENTITY_TAP_LEASE_AUDIENCE="urn:visa:tvc:identity-gate";No.IDENTITY_TAP_LEASE_REQUEST_AUDIENCE="visa-identity-lease-requests:v1";var JOe=e=>typeof e=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e),_te=e=>Number.isSafeInteger(e)&&Number(e)>0,k1t=e=>(0,N1t.createHash)("sha256").update(e,"utf8").digest("base64url");function Uln(e){if(typeof e!="string"||Buffer.byteLength(e)>32768)throw new Error("identity_tap_token_invalid");let t=e.split(".");if(t.length!==3||t.some(r=>!r||Buffer.from(r,"base64url").toString("base64url")!==r)||Buffer.from(t[2],"base64url").length!==64)throw new Error("identity_tap_token_invalid");return t}function D1t(e){let r={...(0,Lln.prepareRuntimeDelegation)({...e,signingModes:["eip3009:exact"]}).claims,purpose:No.IDENTITY_TAP_PURPOSE,signingModes:["tap"]};return{...(0,YOe.prepareRootSignedJws)("visa-agent-runtime-delegation+jwt",e.rootKid,r),claims:r}}async function L1t(e,t){let r=Uln(e),n=await(0,C1t.verifyJwtSignature)(e,t.ownerJwks);if(!n.ok)throw new Error("identity_tap_delegation_signature_invalid");let i=n.claims,o=t.ownerJwks.keys.find(a=>a.kid===t.expectedRootKid);if(!o||n.header.kid!==t.expectedRootKid||!Number.isSafeInteger(t.nowSec)||t.nowSec<0||!Number.isSafeInteger(i.iat)||!Number.isSafeInteger(i.exp)||i.iat>t.nowSec+30||i.exp<=t.nowSec)throw new Error("identity_tap_delegation_invalid");let s=D1t({rootKid:t.expectedRootKid,rootPublicJwk:o,rootJkt:t.expectedRootJkt,agentId:t.expectedAgentId,runtimeId:t.expectedRuntimeId,runtimeJkt:t.expectedRuntimeJkt,leaseIssuerJkt:t.expectedLeaseIssuerJkt,network:t.expectedNetwork,delegationId:t.expectedDelegationId,nowSec:i.iat,ttlSeconds:i.exp-i.iat,maxLeaseTtlSeconds:i.maxLeaseTtlSeconds});if(r[0]+"."+r[1]!==s.signingInput)throw new Error("identity_tap_delegation_mismatch");return s.claims}async function Bln(e){let t=await L1t(e.delegationToken,e.verification),r=e.verification.nowSec,n=e.ttlSeconds??120,i=e.leaseId??(0,N1t.randomUUID)();if(!_te(e.generation)||!_te(e.authorizationVersion)||!JOe(e.authorizationId)||!JOe(i)||!_te(n)||n>120||!Number.isSafeInteger(e.certificateExpiresAt)||(0,Dln.computeJkt)(e.signer.publicJwk)!==t.leaseIssuerJkt)throw new Error("identity_tap_lease_context_invalid");let o=Math.min(r+n,r+t.maxLeaseTtlSeconds,t.exp,e.certificateExpiresAt);if(!Number.isSafeInteger(o)||o<=r)throw new Error("identity_tap_lease_expired");let s={v:1,iss:t.leaseIssuerJkt,sub:t.sub,aud:No.IDENTITY_TAP_LEASE_AUDIENCE,jti:i,delegationId:t.jti,delegationHash:k1t(e.delegationToken),rootJkt:t.iss,runtimeId:t.runtimeId,runtimeJkt:t.runtimeJkt,purpose:No.IDENTITY_TAP_PURPOSE,network:t.network,signingModes:["tap"],generation:e.generation,grantId:e.authorizationId,grantVersion:e.authorizationVersion,iat:r,nbf:r,exp:o},a=(0,YOe.prepareRootSignedJws)("visa-agent-runtime-lease+jwt",e.signer.kid,s),c=(0,YOe.completeRootSignedJws)(a.signingInput,await e.signer.sign(Buffer.from(a.signingInput)),"identity TAP lease");if(!(await(0,C1t.verifyJwtSignature)(c,{keys:[e.signer.publicJwk]})).ok)throw new Error("identity_tap_lease_signer_invalid");return{lease:c,claims:s}}var jln=["v","profile","associationId","associationVersion","agentId","runtimeId","generation","authorizationId","authorizationVersion","requestId","signingMode"].sort();function XOe(e){if(!e||typeof e!="object"||Object.keys(e).sort().join(",")!==jln.join(",")||e.v!==1||e.profile!==No.IDENTITY_TAP_PROFILE||e.signingMode!=="tap"||![e.associationId,e.agentId,e.runtimeId,e.authorizationId,e.requestId].every(JOe)||![e.associationVersion,e.generation,e.authorizationVersion].every(_te))throw new Error("identity_tap_lease_request_invalid");return k1t((0,kln.canonicalJson)(e))}function qln(e,t,r){return(0,M1t.createPopProofWithSigner)(e,{nonce:t.requestId,audience:No.IDENTITY_TAP_LEASE_REQUEST_AUDIENCE,intentHash:XOe(t),nowSec:r})}async function Hln(e,t,r,n){let i=await(0,M1t.verifyAgentOperationPopProof)(e,{operationId:t.requestId,audience:No.IDENTITY_TAP_LEASE_REQUEST_AUDIENCE,expectedIntentHash:XOe(t),nowSec:n,maxAgeSec:60});if(!i.ok||i.jkt!==r||i.runtimeCertificate!==void 0)throw new Error("identity_tap_lease_request_proof_invalid")}});var q1t=_(Yy=>{"use strict";Object.defineProperty(Yy,"__esModule",{value:!0});Yy.IDENTITY_HOSTED_GATE_AUTHORIZATION_PURPOSES=void 0;Yy.identityDeviceEnrollmentPreimage=j1t;Yy.verifyIdentityDeviceEnrollmentProof=Gln;Yy.prepareIdentityDeviceGateAuthorization=Kln;Yy.prepareIdentityHostedGateAuthorization=Wln;var U1t=require("node:crypto"),B1t=Jv(),Vln=Hf(),Fln=zu(),$ln=ZOe(),zln=["v","profile","associationId","associationVersion","agentId","runtimeId","generation","requestId","runtimePublicJwk","runtimeJkt","rootJkt","certificateSha256","delegationSha256","gateAuthorizationSha256","iat","exp"].sort().join(","),QOe=e=>typeof e=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e),eRe=e=>Number.isSafeInteger(e)&&Number(e)>0,yte=e=>typeof e=="string"&&Buffer.from(e,"base64url").length===32&&Buffer.from(e,"base64url").toString("base64url")===e;function j1t(e){if(!e||Object.keys(e).sort().join(",")!==zln||e.v!==1||e.profile!==$ln.IDENTITY_TAP_PROFILE||![e.associationId,e.agentId,e.runtimeId,e.requestId].every(QOe)||![e.associationVersion,e.generation].every(eRe)||![e.runtimeJkt,e.rootJkt,e.certificateSha256,e.delegationSha256,e.gateAuthorizationSha256].every(yte)||!e.runtimePublicJwk||Object.keys(e.runtimePublicJwk).sort().join(",")!=="crv,kty,x"||e.runtimePublicJwk.kty!=="OKP"||e.runtimePublicJwk.crv!=="Ed25519"||!yte(e.runtimePublicJwk.x)||(0,Fln.computeJkt)(e.runtimePublicJwk)!==e.runtimeJkt||e.runtimeJkt===e.rootJkt||!Number.isSafeInteger(e.iat)||e.iat<0||!Number.isSafeInteger(e.exp)||e.exp<=e.iat||e.exp-e.iat>600)throw new Error("identity_device_challenge_invalid");return Buffer.from("visa:authority:external-runtime-enrollment:v1\0"+(0,Vln.canonicalJson)(e),"utf8")}function Gln(e,t,r){let n=j1t(e);if(!Number.isSafeInteger(r)||r<0||e.iat>r+5||e.exp<=r)throw new Error("identity_device_challenge_expired");if(typeof t!="string"||t.length!==86||Buffer.from(t,"base64url").toString("base64url")!==t||!(0,U1t.verify)(null,n,(0,U1t.createPublicKey)({key:e.runtimePublicJwk,format:"jwk"}),Buffer.from(t,"base64url")))throw new Error("identity_device_proof_invalid")}function Kln(e){if(![e.rootJkt,e.identityPrincipalJkt].every(yte)||![e.agentId,e.authorizationId].every(QOe)||!eRe(e.generation)||!Number.isSafeInteger(e.nowSec)||e.nowSec<0||!Number.isSafeInteger(e.expiresAt)||e.expiresAt<=e.nowSec||e.expiresAt-e.nowSec>86400||![e.rootKid,e.ownerSuborganizationId].every(r=>typeof r=="string"&&/^[\x21-\x7e]{1,256}$/.test(r)))throw new Error("identity_device_standing_authorization_invalid");let t={v:1,iss:e.rootJkt,sub:e.agentId,aud:"urn:visa:tvc:identity-gate",jti:e.authorizationId,ownerSuborganizationId:e.ownerSuborganizationId,turnkeyRootKeyId:e.rootKid,identityPrincipalJkt:e.identityPrincipalJkt,purposes:["tap_signature_base"],generation:e.generation,maxTtlSecondsByPurpose:{tap_signature_base:480},iat:e.nowSec,nbf:e.nowSec,exp:e.expiresAt};return{...(0,B1t.prepareRootSignedJws)("visa-agent-identity-gate-authorization+jwt",e.rootKid,t),claims:t}}Yy.IDENTITY_HOSTED_GATE_AUTHORIZATION_PURPOSES=["runtime_presence_pop","tap_signature_base"];function Wln(e){if(![e.rootJkt,e.identityPrincipalJkt].every(yte)||![e.agentId,e.authorizationId].every(QOe)||!eRe(e.generation)||!Number.isSafeInteger(e.nowSec)||e.nowSec<0||!Number.isSafeInteger(e.expiresAt)||e.expiresAt<=e.nowSec||e.expiresAt-e.nowSec>366*86400||![e.rootKid,e.ownerSuborganizationId].every(r=>typeof r=="string"&&/^[\x21-\x7e]{1,256}$/.test(r)))throw new Error("identity_hosted_standing_authorization_invalid");let t={v:1,iss:e.rootJkt,sub:e.agentId,aud:"urn:visa:tvc:identity-gate",jti:e.authorizationId,ownerSuborganizationId:e.ownerSuborganizationId,turnkeyRootKeyId:e.rootKid,identityPrincipalJkt:e.identityPrincipalJkt,purposes:[...Yy.IDENTITY_HOSTED_GATE_AUTHORIZATION_PURPOSES],generation:e.generation,maxTtlSecondsByPurpose:{runtime_presence_pop:120,tap_signature_base:480},iat:e.nowSec,nbf:e.nowSec,exp:e.expiresAt};return{...(0,B1t.prepareRootSignedJws)("visa-agent-identity-gate-authorization+jwt",e.rootKid,t),claims:t}}});var bte=_(vB=>{"use strict";Object.defineProperty(vB,"__esModule",{value:!0});vB.identityTapSigningBytes=tRe;vB.identityTapPayloadSha256=Jln;vB.parseIdentityTapSignatureBase=Xln;var Yln=require("node:crypto");function tRe(e){let t=()=>{throw new Error("identity_tap_payload_invalid")};if(!e||typeof e!="object"||Array.isArray(e))return t();let r=e,n=["kind","method","authority","path","coveredComponents","paymentHeaderName","paymentHeaderValue","created","expires","keyId","nonce","tag","signatureBase"],i=["contentDigest","operationId","intentHash"];if(n.some(p=>!Object.hasOwn(r,p))||Object.keys(r).some(p=>!n.includes(p)&&!i.includes(p))||Object.hasOwn(r,"operationId")!==Object.hasOwn(r,"intentHash")||Object.hasOwn(r,"operationId")&&(typeof r.operationId!="string"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(r.operationId)||typeof r.intentHash!="string"||!/^[A-Za-z0-9_-]{43}$/.test(r.intentHash)||Buffer.from(r.intentHash,"base64url").toString("base64url")!==r.intentHash))return t();let o=p=>typeof p=="string"&&p.length>0&&Buffer.byteLength(p)<=8192&&!/[\n\r\0]/.test(p),s=p=>typeof p=="string"&&/^[A-Za-z0-9_-]{43}$/.test(p)&&Buffer.from(p,"base64url").toString("base64url")===p;if(r.kind!=="tap_signature_base"||typeof r.method!="string"||!/^[A-Z]{1,16}$/.test(r.method)||!o(r.authority)||!o(r.path)||!r.path.startsWith("/")||!o(r.paymentHeaderValue)||!["payment-signature","x-payment"].includes(r.paymentHeaderName)||r.tag!=="agent-payer-auth"||!s(r.keyId)||typeof r.nonce!="string"||!/^[A-Za-z0-9+/]{43}=$/.test(r.nonce)||Buffer.from(r.nonce,"base64").length!==32||Buffer.from(r.nonce,"base64").toString("base64")!==r.nonce||!Number.isSafeInteger(r.created)||r.created<0||!Number.isSafeInteger(r.expires)||r.expires<=r.created||typeof r.signatureBase!="string"||Buffer.byteLength(r.signatureBase)>65536||Object.hasOwn(r,"contentDigest")&&(!o(r.contentDigest)||!r.contentDigest.startsWith("sha-256=:"))||!Array.isArray(r.coveredComponents)||r.coveredComponents.length<1||r.coveredComponents.length>8)return t();let a={"@method":r.method,"@authority":r.authority,"@path":r.path,[r.paymentHeaderName]:r.paymentHeaderValue};Object.hasOwn(r,"contentDigest")&&(a["content-digest"]=r.contentDigest);let c=new Set,u=[];for(let p of r.coveredComponents){if(typeof p!="string"||!Object.hasOwn(a,p)||c.has(p))return t();c.add(p),u.push(`"${p}": ${a[p]}`)}if(["@method","@authority","@path",r.paymentHeaderName].some(p=>!c.has(p))||c.has("content-digest")!==Object.hasOwn(r,"contentDigest"))return t();let d=r.coveredComponents.map(p=>`"${p}"`).join(" ");u.push(`"@signature-params": (${d});created=${r.created};expires=${r.expires};keyid="${r.keyId}";alg="Ed25519";nonce="${r.nonce}";tag="agent-payer-auth"`);let l=u.join(`
101
101
  `);return r.signatureBase!==l?t():Buffer.from(l,"utf8")}function Jln(e){return(0,Yln.createHash)("sha256").update(tRe(e)).digest("base64url")}function Xln(e){if(e.byteLength>65536)throw new Error("identity_tap_payload_invalid");let t=new TextDecoder("utf-8",{fatal:!0}).decode(e),r=t.split(`
102
- `),n=/^"@signature-params": \(([^)]+)\);created=(\d+);expires=(\d+);keyid="([A-Za-z0-9_-]{43})";alg="Ed25519";nonce="([A-Za-z0-9+/]{43}=)";tag="agent-payer-auth"$/.exec(r.pop()??"");if(!n)throw new Error("identity_tap_payload_invalid");let i={};for(let a of r){let c=/^"([^"\n]+)": (.+)$/.exec(a);if(!c||Object.hasOwn(i,c[1]))throw new Error("identity_tap_payload_invalid");i[c[1]]=c[2]}let o=Object.hasOwn(i,"payment-signature")?"payment-signature":"x-payment",s={kind:"tap_signature_base",method:i["@method"]??"",authority:i["@authority"]??"",path:i["@path"]??"",coveredComponents:n[1].split(" ").map(a=>a.slice(1,-1)),paymentHeaderName:o,paymentHeaderValue:i[o]??"",...i["content-digest"]===void 0?{}:{contentDigest:i["content-digest"]},created:Number(n[2]),expires:Number(n[3]),keyId:n[4],nonce:n[5],tag:"agent-payer-auth",signatureBase:t};return tRe(s),s}});var F1t=_(FI=>{"use strict";Object.defineProperty(FI,"__esModule",{value:!0});FI.IDENTITY_TAP_SLIP_REQUEST_TYP=void 0;FI.validateIdentityTapSlipRequest=V1t;FI.issueIdentityTapSlip=spn;var Zln=bte(),Qln=Hf(),H1t=zu(),epn=ed(),tpn=Fv(),rpn=$y();FI.IDENTITY_TAP_SLIP_REQUEST_TYP="visa-agent-identity-tap-slip-request+jwt";var npn=e=>typeof e=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e),ipn=e=>typeof e=="string"&&Buffer.from(e,"base64url").length===32&&Buffer.from(e,"base64url").toString("base64url")===e,opn="v,iss,aud,jti,requestId,associationId,associationVersion,agentId,rootJkt,ownerSuborganizationId,runtimeId,runtimeJkt,generation,network,payloadSha256,leaseSha256,iat,exp".split(",").sort().join(",");function V1t(e){if(!e||Object.keys(e).sort().join(",")!==opn||e.v!==1||e.iss!=="urn:visa:authority:identity"||e.aud!=="visa:auth:identity-tap-slip"||![e.jti,e.requestId,e.associationId,e.agentId,e.runtimeId].every(npn)||![e.rootJkt,e.runtimeJkt,e.payloadSha256,e.leaseSha256].every(ipn)||![e.associationVersion,e.generation].every(t=>Number.isSafeInteger(t)&&t>0)||!Number.isSafeInteger(e.iat)||e.iat<0||!Number.isSafeInteger(e.exp)||e.exp<=e.iat||e.exp-e.iat>60||typeof e.ownerSuborganizationId!="string"||!/^[\x21-\x7e]{1,256}$/.test(e.ownerSuborganizationId)||typeof e.network!="string"||!/^eip155:[1-9][0-9]{0,15}$/.test(e.network))throw new Error("identity_tap_slip_request_invalid")}async function spn(e){if(typeof e.ticket!="string"||e.ticket.length>16384||typeof e.popJwt!="string"||e.popJwt.length>32768)throw new Error("identity_tap_slip_request_invalid");let t=(0,H1t.computeJkt)(e.authorityPublicJwk),r=await(0,epn.verifyJwtSignature)(e.ticket,{keys:[{...e.authorityPublicJwk,kid:t}]});if(!r.ok||r.header.typ!==FI.IDENTITY_TAP_SLIP_REQUEST_TYP||r.header.kid!==t)throw new Error("identity_tap_slip_request_invalid");let n=r.claims;if(V1t(n),!Number.isSafeInteger(e.nowSec)||e.nowSec<0||n.iat>e.nowSec+5||n.exp<=e.nowSec)throw new Error("identity_tap_slip_request_expired");if(Buffer.from((0,Qln.canonicalJson)(n)).toString("base64url")!==e.ticket.split(".")[1])throw new Error("identity_tap_slip_request_invalid");let i=(0,H1t.computeJkt)(e.signer.publicJwk);if([t,n.rootJkt,n.runtimeJkt].includes(i))throw new Error("identity_slip_issuer_not_independent");if(!e.payload||typeof e.payload!="object"||e.payload.kind!=="tap_signature_base"||(0,Zln.identityTapPayloadSha256)(e.payload)!==n.payloadSha256)throw new Error("identity_tap_slip_payload_mismatch");let o=await(0,rpn.verifyAgentOperationPopProof)(e.popJwt,{operationId:n.requestId,audience:"urn:visa:tvc:identity-gate",expectedIntentHash:n.payloadSha256,nowSec:e.nowSec,maxAgeSec:60});if(!o.ok||o.jkt!==n.runtimeJkt||o.runtimeCertificate!==void 0)throw new Error("identity_tap_slip_proof_invalid");return(0,tpn.signJwtWithSigner)(e.signer,{typ:"visa-agent-identity-slip+jwt"},{v:1,iss:"visa:auth",aud:"urn:visa:tvc:identity-gate",jti:n.jti,requestId:n.requestId,iat:n.iat,exp:n.exp,purpose:"tap_signature_base",payloadSha256:n.payloadSha256,agentId:n.agentId,rootJkt:n.rootJkt,ownerSuborganizationId:n.ownerSuborganizationId,runtimeId:n.runtimeId,runtimeJkt:n.runtimeJkt,generation:n.generation,network:n.network})}});var rRe=_(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.IDENTITY_HOSTED_TAP_SLIP_PURPOSE=Sh.IDENTITY_PRESENCE_SLIP_PURPOSE=void 0;Sh.hostedPresenceAttemptId=dpn;Sh.issueHostedPresenceIdentitySlip=lpn;Sh.issueHostedTapIdentitySlip=ppn;var apn=require("node:crypto"),cpn=zu(),upn=Fv();Sh.IDENTITY_PRESENCE_SLIP_PURPOSE="runtime_presence_pop";Sh.IDENTITY_HOSTED_TAP_SLIP_PURPOSE="tap_signature_base";function dpn(e,t){if(!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e)||!Number.isSafeInteger(t)||t<0)throw new Error("hosted_presence_attempt_invalid");let r=(0,apn.createHash)("sha256").update(`visa:hosted-presence-attempt:v1\0${e}\0${t}`,"utf8").digest().subarray(0,16);r[6]=r[6]&15|128,r[8]=r[8]&63|128;let n=r.toString("hex");return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}function lpn(e){return $1t(Sh.IDENTITY_PRESENCE_SLIP_PURPOSE,e)}function ppn(e){return $1t(Sh.IDENTITY_HOSTED_TAP_SLIP_PURPOSE,e)}async function $1t(e,t){let r=(0,cpn.computeJkt)(t.signer.publicJwk);if([t.rootJkt,t.runtimeJkt].includes(r))throw new Error("identity_slip_issuer_not_independent");if(!Number.isSafeInteger(t.iat)||!Number.isSafeInteger(t.exp)||t.iat<0||t.exp<=t.iat||!Number.isSafeInteger(t.generation)||t.generation<1||!/^eip155:[1-9][0-9]{0,15}$/.test(t.network)||!/^[A-Za-z0-9_-]{43}$/.test(t.payloadSha256)||!/^[A-Za-z0-9_-]{43}$/.test(t.rootJkt)||!/^[A-Za-z0-9_-]{43}$/.test(t.runtimeJkt)||!/^[\x21-\x7e]{1,256}$/.test(t.ownerSuborganizationId))throw new Error("identity_presence_slip_request_invalid");return(0,upn.signJwtWithSigner)(t.signer,{typ:"visa-agent-identity-slip+jwt"},{v:1,iss:"visa:auth",aud:"urn:visa:tvc:identity-gate",jti:t.jti,requestId:t.requestId,iat:t.iat,exp:t.exp,purpose:e,payloadSha256:t.payloadSha256,agentId:t.agentId,rootJkt:t.rootJkt,ownerSuborganizationId:t.ownerSuborganizationId,runtimeId:t.runtimeId,runtimeJkt:t.runtimeJkt,generation:t.generation,network:t.network})}});var Y1t=_(Zv=>{"use strict";Object.defineProperty(Zv,"__esModule",{value:!0});Zv.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP=void 0;Zv.validateIdentityHostedTapSlipRequest=K1t;Zv.hostedTapPayloadNamesMerchantRequest=W1t;Zv.issueHostedTapSlipFromTicket=Spn;var fpn=Hf(),z1t=zu(),mpn=ed(),hpn=bte(),gpn=WOe(),_pn=rRe();Zv.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP="visa-agent-identity-hosted-tap-slip-request+jwt";var ypn=e=>typeof e=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e),G1t=e=>typeof e=="string"&&Buffer.from(e,"base64url").length===32&&Buffer.from(e,"base64url").toString("base64url")===e,bpn=e=>Number.isSafeInteger(e)&&e>0,Epn="v,iss,aud,jti,requestId,associationId,associationVersion,agentId,rootJkt,ownerSuborganizationId,runtimeId,runtimeJkt,generation,network,custody,connectorKeyId,grantId,grantVersion,operationId,intentHash,payloadSha256,iat,exp".split(",").sort().join(",");function K1t(e){if(!e||typeof e!="object"||Object.keys(e).sort().join(",")!==Epn||e.v!==1||e.iss!=="urn:visa:authority:identity"||e.aud!=="visa:auth:identity-tap-slip"||![e.jti,e.requestId,e.associationId,e.agentId,e.runtimeId,e.grantId,e.operationId].every(ypn)||![e.rootJkt,e.runtimeJkt,e.intentHash,e.payloadSha256].every(G1t)||![e.associationVersion,e.generation,e.grantVersion].every(bpn)||e.custody!=="signer"||typeof e.connectorKeyId!="string"||!/^[A-Za-z0-9._:@/-]{1,256}$/.test(e.connectorKeyId)||!Number.isSafeInteger(e.iat)||e.iat<0||!Number.isSafeInteger(e.exp)||e.exp<=e.iat||e.exp-e.iat>60||typeof e.ownerSuborganizationId!="string"||!/^[\x21-\x7e]{1,256}$/.test(e.ownerSuborganizationId)||typeof e.network!="string"||!/^eip155:[1-9][0-9]{0,15}$/.test(e.network))throw new Error("identity_hosted_tap_slip_request_invalid")}function W1t(e,t){let r;try{r=new URL(t.url)}catch{return!1}return r.protocol!=="https:"&&r.protocol!=="http:"||typeof t.method!="string"||e.method!==t.method.toUpperCase()||e.authority!==r.host||e.path!==(r.pathname||"/")?!1:e.contentDigest===void 0?t.bodySha256===void 0||t.bodySha256==="47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU":typeof t.bodySha256!="string"||!G1t(t.bodySha256)?!1:e.contentDigest===`sha-256=:${Buffer.from(t.bodySha256,"base64url").toString("base64")}:`}async function Spn(e){if(typeof e.ticket!="string"||e.ticket.length>16384)throw new Error("identity_hosted_tap_slip_request_invalid");let t=(0,z1t.computeJkt)(e.authorityPublicJwk),r=await(0,mpn.verifyJwtSignature)(e.ticket,{keys:[{...e.authorityPublicJwk,kid:t}]});if(!r.ok||r.header.typ!==Zv.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP||r.header.kid!==t)throw new Error("identity_hosted_tap_slip_request_invalid");let n=r.claims;if(K1t(n),!Number.isSafeInteger(e.nowSec)||e.nowSec<0||n.iat>e.nowSec+30||n.exp<=e.nowSec)throw new Error("identity_hosted_tap_slip_request_expired");if(Buffer.from((0,fpn.canonicalJson)(n)).toString("base64url")!==e.ticket.split(".")[1])throw new Error("identity_hosted_tap_slip_request_invalid");let i=(0,z1t.computeJkt)(e.signer.publicJwk);if([t,n.rootJkt,n.runtimeJkt].includes(i))throw new Error("identity_slip_issuer_not_independent");let o=e.payload;if(!o||typeof o!="object"||o.kind!=="tap_signature_base"||(0,hpn.identityTapPayloadSha256)(o)!==n.payloadSha256||o.operationId!==n.operationId||o.intentHash!==n.intentHash)throw new Error("identity_hosted_tap_slip_payload_mismatch");let s=e.presence;if(!s||s.agentId!==n.agentId||s.runtimeId!==n.runtimeId||s.connectorKeyId!==n.connectorKeyId||s.operationId!==n.operationId||s.intentHash!==n.intentHash)throw new Error("identity_hosted_tap_connector_absent");if(!s.merchant||!W1t(o,s.merchant))throw new Error("identity_hosted_tap_merchant_mismatch");let a=await(0,_pn.issueHostedTapIdentitySlip)({signer:e.signer,jti:n.jti,requestId:n.requestId,iat:n.iat,exp:n.exp,payloadSha256:n.payloadSha256,agentId:n.agentId,rootJkt:n.rootJkt,ownerSuborganizationId:n.ownerSuborganizationId,runtimeId:n.runtimeId,runtimeJkt:n.runtimeJkt,generation:n.generation,network:n.network}),c=await(0,gpn.issueHostedConnectorProof)({signer:e.signer,requestId:n.requestId,agentId:n.agentId,runtimeId:n.runtimeId,connectorKeyId:n.connectorKeyId,grantId:n.grantId,grantVersion:n.grantVersion,operationId:n.operationId,intentHash:n.intentHash,issuedAtSec:e.nowSec});return{identitySlip:a,connectorProof:c,claims:n}}});var Q1t=_(Qv=>{"use strict";Object.defineProperty(Qv,"__esModule",{value:!0});Qv.IDENTITY_DEVICE_HANDOFF_AUDIENCE=void 0;Qv.identityDeviceProposalSha256=X1t;Qv.identityDeviceHandoffIntentHash=Z1t;Qv.verifyIdentityDeviceHandoffProof=Ipn;var vpn=require("node:crypto"),Tpn=Hf(),Apn=zu(),wpn=$y();Qv.IDENTITY_DEVICE_HANDOFF_AUDIENCE="visa-device-handoff:v1";var TB=e=>typeof e=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e),J1t=e=>typeof e=="string"&&Buffer.from(e,"base64url").length===32&&Buffer.from(e,"base64url").toString("base64url")===e,$I=(e,t)=>e!==null&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).sort().join(",")===t.sort().join(","),nRe=e=>(0,vpn.createHash)("sha256").update((0,Tpn.canonicalJson)(e)).digest("base64url");function X1t(e){if(!$I(e,["associationId","associationVersion","agentId","rootJkt","runtimeId","runtimePublicJwk","runtimeJkt"])||![e.associationId,e.agentId,e.runtimeId].every(TB)||!Number.isSafeInteger(e.associationVersion)||e.associationVersion<1||![e.rootJkt,e.runtimeJkt].every(J1t)||e.rootJkt===e.runtimeJkt||!$I(e.runtimePublicJwk,["kty","crv","x"])||e.runtimePublicJwk.kty!=="OKP"||e.runtimePublicJwk.crv!=="Ed25519"||!J1t(e.runtimePublicJwk.x)||(0,Apn.computeJkt)(e.runtimePublicJwk)!==e.runtimeJkt)throw new Error("identity_device_proposal_invalid");return nRe(e)}function Z1t(e){if(!$I(e,["v","operation","requestId","handoffId","proposal","body"])||e.v!==1||!TB(e.requestId)||!TB(e.handoffId))throw new Error("identity_device_handoff_invalid");let t=X1t(e.proposal);if(e.operation==="create"){if(e.requestId!==e.handoffId||!$I(e.body,[]))throw new Error("identity_device_handoff_invalid")}else if(e.operation==="read"){if(!$I(e.body,[]))throw new Error("identity_device_handoff_invalid")}else if(e.operation==="cancel"){if(!$I(e.body,["enrollmentRequestId","generation"])||!(e.body.enrollmentRequestId===null&&e.body.generation===null)&&(!TB(e.body.enrollmentRequestId)||!Number.isSafeInteger(e.body.generation)||e.body.generation<1))throw new Error("identity_device_handoff_invalid")}else if(e.operation==="proof"){if(!$I(e.body,["enrollmentRequestId","runtimeProof"])||!TB(e.body.enrollmentRequestId)||typeof e.body.runtimeProof!="string"||e.body.runtimeProof.length!==86||Buffer.from(e.body.runtimeProof,"base64url").length!==64||Buffer.from(e.body.runtimeProof,"base64url").toString("base64url")!==e.body.runtimeProof)throw new Error("identity_device_handoff_invalid")}else throw new Error("identity_device_handoff_invalid");return nRe({v:1,operation:e.operation,handoffId:e.handoffId,proposalSha256:t,bodySha256:nRe(e.body)})}async function Ipn(e,t,r){let n=await(0,wpn.verifyAgentOperationPopProof)(e,{operationId:t.requestId,audience:Qv.IDENTITY_DEVICE_HANDOFF_AUDIENCE,expectedIntentHash:Z1t(t),nowSec:r,maxAgeSec:60});if(!n.ok||n.jkt!==t.proposal.runtimeJkt||n.runtimeCertificate!==void 0)throw new Error("identity_device_handoff_proof_invalid")}});var $f=_(C=>{"use strict";Object.defineProperty(C,"__esModule",{value:!0});C.RUNTIME_CERTIFICATE_MAX_TTL_SECONDS=C.RUNTIME_CERTIFICATE_VERSION=C.RUNTIME_CERTIFICATE_TYP=C.verifyAgentOperationPopProof=C.verifyPopProof=C.createAgentOperationPopProof=C.createPopProofWithSigner=C.createPopProof=C.randomPopNonce=C.DEFAULT_POP_MAX_AGE_SEC=C.UNIVERSAL_AGENT_OPERATION_AUDIENCE=C.POP_JWT_TYP=C.importLegacyWalletSpendPolicy=C.canonicalLegacyWalletSpendPolicy=C.productSpendPolicyHash=C.isProductSpendPolicySubset=C.evaluateProductSpendPolicy=C.canonicalRuntimeProductSpendAttenuation=C.canonicalOwnerProductSpendPolicy=C.canonicalMerchantTarget=C.canonicalMerchantPathPrefix=C.canonicalMerchantOriginPattern=C.PRODUCT_SPEND_POLICY_VERSION=C.evaluateEconomic=C.verifyBindingChain=C.DEFAULT_MAX_STALENESS_SECONDS=C.InMemoryFreshnessStore=C.FreshnessService=C.verifyFreshness=C.issueFreshness=C.FRESHNESS_JWT_TYP=C.MAX_TTL_FRESH_HOURS=C.TTL_FRESH_HOURS=C.verifyRegistration=C.issueRegistration=C.registrationHash=C.derivePairwiseRef=C.REGISTRATION_JWT_TYP=C.TTL_REG_DAYS=C.isCanonicalEvmProviderAddress=C.canonicalEvmProviderAddress=C.turnkeyOwnerIdentityKey=C.verifyEip712TypedDataSignature=C.eip712DigestBase64Url=C.buildJwks=C.anchorKeyFromSeed=C.generateAnchorKey=C.agentKeyFromSeed=C.generateAgentKey=C.computeJkt=void 0;C.CHALLENGE_MAX_AGE_SEC=C.MAX_TTL_OWNERSHIP_HOURS=C.TTL_OWNERSHIP_HOURS=C.OWNERSHIP_PROOF_JWT_TYP=C.OWNERSHIP_CHALLENGE_DOMAIN_V1=C.canonicalIntentHash=C.INTENT_HASH_VERSION=C.verifyWalletBinding=C.issueWalletBinding=C.completeWalletBinding=C.prepareWalletBinding=C.WALLET_BINDING_DERIVATION_VERSION=C.WALLET_BINDING_SIGNER_KIND=C.WALLET_BINDING_MAX_TTL_SECONDS=C.WALLET_BINDING_VERSION=C.WALLET_BINDING_TYP=C.verifyTapRuntimeSignature=C.tapRuntimeSigningMessage=C.TAP_RUNTIME_SIGNATURE_DOMAIN=C.verifyRuntimeLeaseRequestProof=C.createRuntimeLeaseRequestProofWithSigner=C.createRuntimeLeaseRequestProof=C.runtimeLeaseRequestIntentHash=C.RUNTIME_LEASE_REQUEST_MAX_AGE_SECONDS=C.RUNTIME_LEASE_REQUEST_AUDIENCE=C.RUNTIME_LEASE_REQUEST_VERSION=C.verifyRuntimeLeaseChain=C.verifyRuntimeDelegation=C.issueRuntimeLease=C.issueRuntimeDelegation=C.completeRuntimeDelegation=C.prepareRuntimeDelegation=C.RUNTIME_LEASE_SIGNING_MODES=C.RUNTIME_LEASE_PURPOSE=C.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS=C.RUNTIME_LEASE_MAX_TTL_SECONDS=C.RUNTIME_LEASE_AUDIENCE=C.RUNTIME_LEASE_VERSION=C.RUNTIME_LEASE_TYP=C.RUNTIME_DELEGATION_MAX_TTL_SECONDS=C.RUNTIME_DELEGATION_VERSION=C.RUNTIME_DELEGATION_TYP=C.verifyRuntimeCertificate=C.prepareRuntimeCertificate=C.peekRuntimeCertificate=C.issueRuntimeCertificate=C.completeRuntimeCertificate=C.HOSTED_RUNTIME_CERTIFICATE_PURPOSES=C.RUNTIME_CERTIFICATE_PURPOSES=C.CARD_RUNTIME_CERTIFICATE_MAX_TTL_SECONDS=void 0;C.pairingVerifierChallenge=C.randomPairingVerifier=C.randomSetupOperationId=C.randomHandoffId=C.randomAttachId=C.randomPairingId=C.assertAgentPairingTransition=C.canTransitionAgentPairing=C.isAgentPairingState=C.AGENT_PAIRING_TERMINAL_STATES=C.AGENT_PAIRING_STATES=C.AGENT_PAIRING_CODE_LENGTH=C.AGENT_PAIRING_CODE_ALPHABET=C.AGENT_PAIRING_TTL_SECONDS=C.AGENT_PAIRING_PROTOCOL_VERSION_V2=C.AGENT_PAIRING_PROTOCOL_VERSION=C.verifyGrant=C.issueGrantWithSigner=C.issueGrant=C.GRANT_RAILS=C.MAX_TTL_GRANT_DAYS=C.TTL_GRANT_DAYS=C.GRANT_JWT_TYP=C.KillList=C.attestationIsVoid=C.verifyKillSwitch=C.issueKillSwitch=C.verifySuccession=C.issueSuccession=C.KILL_SWITCH_JWT_TYP=C.SUCCESSION_JWT_TYP=C.verifyWalletAuthorizationPermit=C.issueWalletAuthorizationPermit=C.WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS=C.WALLET_AUTHORIZATION_PERMIT_POLICY_ID=C.WALLET_AUTHORIZATION_PERMIT_AUDIENCE=C.WALLET_AUTHORIZATION_PERMIT_ISSUER=C.WALLET_AUTHORIZATION_PERMIT_JWT_TYP=C.issueRegistrationWithSigner=C.signerFromSignFn=C.signerFromAnchorKey=C.LocalSigner=C.signJwtWithSigner=C.walletVerifiedFromProof=C.verifyOwnershipProof=C.attestWalletOwnership=C.issueOwnershipProofWithSigner=C.issueOwnershipProof=C.verifyOwnershipSignature=C.buildOwnershipChallenge=void 0;C.authorizationScopeFacts=C.VIC_SETTLEMENT_ENVELOPE_VERSION=C.VIC_SETTLEMENT_ENVELOPE_KIND=C.VIC_PROCESSOR_ACTIONS=C.USD_MICROS_PER_CENT=C.AGENT_KEY_STATUSES=C.AGENT_KEY_PURPOSES=C.AGENT_KEY_CUSTODIES=C.AGENT_CHANNEL_STATUSES=C.AGENT_CHANNEL_ASSURANCES=C.AGENT_CHANNEL_KINDS=C.AGENT_EXECUTION_READINESS_REASONS=C.AGENT_AUTHORIZATION_SCOPES=C.AGENT_AUTHORITY_VALUATION_POLICY=C.AGENT_BUDGET_EPOCH_MODES=C.AGENT_AUTHORITY_VERSION=C.sha256=C.pairingInstrumentCommitment=C.pairingDeliveryArtifactV2Hash=C.canonicalPairingDeliveryArtifactV2=C.pairingArtifactHash=C.agentMailCredentialClaimMessageV2=C.keyRotationClaimHashV2=C.keyRotationClaimMessageV2=C.capabilityAttachActivationMessageV2=C.capabilityAttachClaimHashV2=C.capabilityAttachClaimMessageV2=C.handoffAuthorityCapabilities=C.AGENT_HANDOFF_COMPOUND_AUTHORITY=C.AGENT_HANDOFF_AUTHORITIES=C.AGENT_CAPABILITY_ATTACH_CAPABILITIES=C.pairingActivationMessageV2=C.pairingActivationMessage=C.pairingClaimHashV2=C.pairingClaimMessageV2=C.pairingClaimMessage=C.pairingTermsV2Hash=C.pairingTermsHash=C.canonicalPairingTermsV2=C.canonicalPairingTerms=C.setupConfirmationCode=C.pairingConfirmationCode=C.pairingCodeFromClaimToken=C.pairingClaimTokenHash=C.randomPairingClaimToken=C.pairingCodeHash=C.isValidPairingCode=C.formatPairingCode=C.normalizePairingCode=C.randomPairingCode=void 0;C.issueHostedTapIdentitySlip=C.issueHostedPresenceIdentitySlip=C.IDENTITY_HOSTED_TAP_SLIP_PURPOSE=C.IDENTITY_PRESENCE_SLIP_PURPOSE=C.issueIdentityTapSlip=C.validateIdentityTapSlipRequest=C.IDENTITY_TAP_SLIP_REQUEST_TYP=C.verifyIdentityDeviceEnrollmentProof=C.IDENTITY_HOSTED_GATE_AUTHORIZATION_PURPOSES=C.prepareIdentityHostedGateAuthorization=C.prepareIdentityDeviceGateAuthorization=C.identityDeviceEnrollmentPreimage=C.verifyIdentityTapLeaseRequestProof=C.createIdentityTapLeaseRequestProof=C.identityTapLeaseRequestIntentHash=C.issueIdentityTapLease=C.verifyIdentityTapDelegation=C.prepareIdentityTapDelegation=C.IDENTITY_TAP_LEASE_REQUEST_AUDIENCE=C.IDENTITY_TAP_LEASE_AUDIENCE=C.IDENTITY_TAP_PURPOSE=C.IDENTITY_TAP_PROFILE=C.verifyIdentityPresenceLeaseChain=C.verifyHostedConnectorProof=C.issueIdentityPresenceLease=C.issueHostedConnectorProof=C.HOSTED_CONNECTOR_PROOF_TTL_SECONDS=C.HOSTED_CONNECTOR_PROOF_TYP=C.IDENTITY_PRESENCE_SIGNING_MODE=C.IDENTITY_PRESENCE_PURPOSE=C.IDENTITY_PRESENCE_LEASE_AUDIENCE=C.prepareIdentityPresenceDelegation=C.vicSettlementEnvelopeHash=C.usdcAtomicToUsdMicros=C.walletAuthorizationRequestHash=C.spendAuthorizationIntentHash=C.agentAuthorityGrantHash=C.isCanonicalBase64Url32=C.centsToUsdMicros=C.canonicalVicSettlementEnvelope=C.canonicalSpendAuthorizationIntent=C.canonicalAgentKeyDescriptor=C.canonicalAgentChannelDescriptor=C.canonicalPayWithinBudget=C.canonicalAgentAuthorityGrant=C.defaultPayWithinBudget=C.grantPaymentRails=C.AGENT_PAYMENT_RAILS=C.AGENT_PAYMENT_SURFACES=C.AGENT_PAYMENT_MODE_NAMES=void 0;C.verifyIdentityDeviceHandoffProof=C.identityDeviceHandoffIntentHash=C.identityDeviceProposalSha256=C.IDENTITY_DEVICE_HANDOFF_AUDIENCE=C.parseIdentityTapSignatureBase=C.identityTapPayloadSha256=C.identityTapSigningBytes=C.hostedTapPayloadNamesMerchantRequest=C.issueHostedTapSlipFromTicket=C.validateIdentityHostedTapSlipRequest=C.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP=C.hostedPresenceAttemptId=void 0;var w8=zu();Object.defineProperty(C,"computeJkt",{enumerable:!0,get:function(){return w8.computeJkt}});Object.defineProperty(C,"generateAgentKey",{enumerable:!0,get:function(){return w8.generateAgentKey}});Object.defineProperty(C,"agentKeyFromSeed",{enumerable:!0,get:function(){return w8.agentKeyFromSeed}});Object.defineProperty(C,"generateAnchorKey",{enumerable:!0,get:function(){return w8.generateAnchorKey}});Object.defineProperty(C,"anchorKeyFromSeed",{enumerable:!0,get:function(){return w8.anchorKeyFromSeed}});Object.defineProperty(C,"buildJwks",{enumerable:!0,get:function(){return w8.buildJwks}});var e_t=SPe();Object.defineProperty(C,"eip712DigestBase64Url",{enumerable:!0,get:function(){return e_t.eip712DigestBase64Url}});Object.defineProperty(C,"verifyEip712TypedDataSignature",{enumerable:!0,get:function(){return e_t.verifyEip712TypedDataSignature}});var Ppn=Kft();Object.defineProperty(C,"turnkeyOwnerIdentityKey",{enumerable:!0,get:function(){return Ppn.turnkeyOwnerIdentityKey}});var t_t=TPe();Object.defineProperty(C,"canonicalEvmProviderAddress",{enumerable:!0,get:function(){return t_t.canonicalEvmProviderAddress}});Object.defineProperty(C,"isCanonicalEvmProviderAddress",{enumerable:!0,get:function(){return t_t.isCanonicalEvmProviderAddress}});var I8=lB();Object.defineProperty(C,"TTL_REG_DAYS",{enumerable:!0,get:function(){return I8.TTL_REG_DAYS}});Object.defineProperty(C,"REGISTRATION_JWT_TYP",{enumerable:!0,get:function(){return I8.REGISTRATION_JWT_TYP}});Object.defineProperty(C,"derivePairwiseRef",{enumerable:!0,get:function(){return I8.derivePairwiseRef}});Object.defineProperty(C,"registrationHash",{enumerable:!0,get:function(){return I8.registrationHash}});Object.defineProperty(C,"issueRegistration",{enumerable:!0,get:function(){return I8.issueRegistration}});Object.defineProperty(C,"verifyRegistration",{enumerable:!0,get:function(){return I8.verifyRegistration}});var zI=Z4e();Object.defineProperty(C,"TTL_FRESH_HOURS",{enumerable:!0,get:function(){return zI.TTL_FRESH_HOURS}});Object.defineProperty(C,"MAX_TTL_FRESH_HOURS",{enumerable:!0,get:function(){return zI.MAX_TTL_FRESH_HOURS}});Object.defineProperty(C,"FRESHNESS_JWT_TYP",{enumerable:!0,get:function(){return zI.FRESHNESS_JWT_TYP}});Object.defineProperty(C,"issueFreshness",{enumerable:!0,get:function(){return zI.issueFreshness}});Object.defineProperty(C,"verifyFreshness",{enumerable:!0,get:function(){return zI.verifyFreshness}});Object.defineProperty(C,"FreshnessService",{enumerable:!0,get:function(){return zI.FreshnessService}});Object.defineProperty(C,"InMemoryFreshnessStore",{enumerable:!0,get:function(){return zI.InMemoryFreshnessStore}});var r_t=Q4e();Object.defineProperty(C,"DEFAULT_MAX_STALENESS_SECONDS",{enumerable:!0,get:function(){return r_t.DEFAULT_MAX_STALENESS_SECONDS}});Object.defineProperty(C,"verifyBindingChain",{enumerable:!0,get:function(){return r_t.verifyBindingChain}});var xpn=c0t();Object.defineProperty(C,"evaluateEconomic",{enumerable:!0,get:function(){return xpn.evaluateEconomic}});var Jy=vOe();Object.defineProperty(C,"PRODUCT_SPEND_POLICY_VERSION",{enumerable:!0,get:function(){return Jy.PRODUCT_SPEND_POLICY_VERSION}});Object.defineProperty(C,"canonicalMerchantOriginPattern",{enumerable:!0,get:function(){return Jy.canonicalMerchantOriginPattern}});Object.defineProperty(C,"canonicalMerchantPathPrefix",{enumerable:!0,get:function(){return Jy.canonicalMerchantPathPrefix}});Object.defineProperty(C,"canonicalMerchantTarget",{enumerable:!0,get:function(){return Jy.canonicalMerchantTarget}});Object.defineProperty(C,"canonicalOwnerProductSpendPolicy",{enumerable:!0,get:function(){return Jy.canonicalOwnerProductSpendPolicy}});Object.defineProperty(C,"canonicalRuntimeProductSpendAttenuation",{enumerable:!0,get:function(){return Jy.canonicalRuntimeProductSpendAttenuation}});Object.defineProperty(C,"evaluateProductSpendPolicy",{enumerable:!0,get:function(){return Jy.evaluateProductSpendPolicy}});Object.defineProperty(C,"isProductSpendPolicySubset",{enumerable:!0,get:function(){return Jy.isProductSpendPolicySubset}});Object.defineProperty(C,"productSpendPolicyHash",{enumerable:!0,get:function(){return Jy.productSpendPolicyHash}});var n_t=xgt();Object.defineProperty(C,"canonicalLegacyWalletSpendPolicy",{enumerable:!0,get:function(){return n_t.canonicalLegacyWalletSpendPolicy}});Object.defineProperty(C,"importLegacyWalletSpendPolicy",{enumerable:!0,get:function(){return n_t.importLegacyWalletSpendPolicy}});var Xy=$y();Object.defineProperty(C,"POP_JWT_TYP",{enumerable:!0,get:function(){return Xy.POP_JWT_TYP}});Object.defineProperty(C,"UNIVERSAL_AGENT_OPERATION_AUDIENCE",{enumerable:!0,get:function(){return Xy.UNIVERSAL_AGENT_OPERATION_AUDIENCE}});Object.defineProperty(C,"DEFAULT_POP_MAX_AGE_SEC",{enumerable:!0,get:function(){return Xy.DEFAULT_POP_MAX_AGE_SEC}});Object.defineProperty(C,"randomPopNonce",{enumerable:!0,get:function(){return Xy.randomPopNonce}});Object.defineProperty(C,"createPopProof",{enumerable:!0,get:function(){return Xy.createPopProof}});Object.defineProperty(C,"createPopProofWithSigner",{enumerable:!0,get:function(){return Xy.createPopProofWithSigner}});Object.defineProperty(C,"createAgentOperationPopProof",{enumerable:!0,get:function(){return Xy.createAgentOperationPopProof}});Object.defineProperty(C,"verifyPopProof",{enumerable:!0,get:function(){return Xy.verifyPopProof}});Object.defineProperty(C,"verifyAgentOperationPopProof",{enumerable:!0,get:function(){return Xy.verifyAgentOperationPopProof}});var vh=xOe();Object.defineProperty(C,"RUNTIME_CERTIFICATE_TYP",{enumerable:!0,get:function(){return vh.RUNTIME_CERTIFICATE_TYP}});Object.defineProperty(C,"RUNTIME_CERTIFICATE_VERSION",{enumerable:!0,get:function(){return vh.RUNTIME_CERTIFICATE_VERSION}});Object.defineProperty(C,"RUNTIME_CERTIFICATE_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return vh.RUNTIME_CERTIFICATE_MAX_TTL_SECONDS}});Object.defineProperty(C,"CARD_RUNTIME_CERTIFICATE_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return vh.CARD_RUNTIME_CERTIFICATE_MAX_TTL_SECONDS}});Object.defineProperty(C,"RUNTIME_CERTIFICATE_PURPOSES",{enumerable:!0,get:function(){return vh.RUNTIME_CERTIFICATE_PURPOSES}});Object.defineProperty(C,"HOSTED_RUNTIME_CERTIFICATE_PURPOSES",{enumerable:!0,get:function(){return vh.HOSTED_RUNTIME_CERTIFICATE_PURPOSES}});Object.defineProperty(C,"completeRuntimeCertificate",{enumerable:!0,get:function(){return vh.completeRuntimeCertificate}});Object.defineProperty(C,"issueRuntimeCertificate",{enumerable:!0,get:function(){return vh.issueRuntimeCertificate}});Object.defineProperty(C,"peekRuntimeCertificate",{enumerable:!0,get:function(){return vh.peekRuntimeCertificate}});Object.defineProperty(C,"prepareRuntimeCertificate",{enumerable:!0,get:function(){return vh.prepareRuntimeCertificate}});Object.defineProperty(C,"verifyRuntimeCertificate",{enumerable:!0,get:function(){return vh.verifyRuntimeCertificate}});var du=pte();Object.defineProperty(C,"RUNTIME_DELEGATION_TYP",{enumerable:!0,get:function(){return du.RUNTIME_DELEGATION_TYP}});Object.defineProperty(C,"RUNTIME_DELEGATION_VERSION",{enumerable:!0,get:function(){return du.RUNTIME_DELEGATION_VERSION}});Object.defineProperty(C,"RUNTIME_DELEGATION_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return du.RUNTIME_DELEGATION_MAX_TTL_SECONDS}});Object.defineProperty(C,"RUNTIME_LEASE_TYP",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_TYP}});Object.defineProperty(C,"RUNTIME_LEASE_VERSION",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_VERSION}});Object.defineProperty(C,"RUNTIME_LEASE_AUDIENCE",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_AUDIENCE}});Object.defineProperty(C,"RUNTIME_LEASE_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_MAX_TTL_SECONDS}});Object.defineProperty(C,"RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS",{enumerable:!0,get:function(){return du.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS}});Object.defineProperty(C,"RUNTIME_LEASE_PURPOSE",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_PURPOSE}});Object.defineProperty(C,"RUNTIME_LEASE_SIGNING_MODES",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_SIGNING_MODES}});Object.defineProperty(C,"prepareRuntimeDelegation",{enumerable:!0,get:function(){return du.prepareRuntimeDelegation}});Object.defineProperty(C,"completeRuntimeDelegation",{enumerable:!0,get:function(){return du.completeRuntimeDelegation}});Object.defineProperty(C,"issueRuntimeDelegation",{enumerable:!0,get:function(){return du.issueRuntimeDelegation}});Object.defineProperty(C,"issueRuntimeLease",{enumerable:!0,get:function(){return du.issueRuntimeLease}});Object.defineProperty(C,"verifyRuntimeDelegation",{enumerable:!0,get:function(){return du.verifyRuntimeDelegation}});Object.defineProperty(C,"verifyRuntimeLeaseChain",{enumerable:!0,get:function(){return du.verifyRuntimeLeaseChain}});var GI=Ggt();Object.defineProperty(C,"RUNTIME_LEASE_REQUEST_VERSION",{enumerable:!0,get:function(){return GI.RUNTIME_LEASE_REQUEST_VERSION}});Object.defineProperty(C,"RUNTIME_LEASE_REQUEST_AUDIENCE",{enumerable:!0,get:function(){return GI.RUNTIME_LEASE_REQUEST_AUDIENCE}});Object.defineProperty(C,"RUNTIME_LEASE_REQUEST_MAX_AGE_SECONDS",{enumerable:!0,get:function(){return GI.RUNTIME_LEASE_REQUEST_MAX_AGE_SECONDS}});Object.defineProperty(C,"runtimeLeaseRequestIntentHash",{enumerable:!0,get:function(){return GI.runtimeLeaseRequestIntentHash}});Object.defineProperty(C,"createRuntimeLeaseRequestProof",{enumerable:!0,get:function(){return GI.createRuntimeLeaseRequestProof}});Object.defineProperty(C,"createRuntimeLeaseRequestProofWithSigner",{enumerable:!0,get:function(){return GI.createRuntimeLeaseRequestProofWithSigner}});Object.defineProperty(C,"verifyRuntimeLeaseRequestProof",{enumerable:!0,get:function(){return GI.verifyRuntimeLeaseRequestProof}});var iRe=Ygt();Object.defineProperty(C,"TAP_RUNTIME_SIGNATURE_DOMAIN",{enumerable:!0,get:function(){return iRe.TAP_RUNTIME_SIGNATURE_DOMAIN}});Object.defineProperty(C,"tapRuntimeSigningMessage",{enumerable:!0,get:function(){return iRe.tapRuntimeSigningMessage}});Object.defineProperty(C,"verifyTapRuntimeSignature",{enumerable:!0,get:function(){return iRe.verifyTapRuntimeSignature}});var Zy=s1t();Object.defineProperty(C,"WALLET_BINDING_TYP",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_TYP}});Object.defineProperty(C,"WALLET_BINDING_VERSION",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_VERSION}});Object.defineProperty(C,"WALLET_BINDING_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_MAX_TTL_SECONDS}});Object.defineProperty(C,"WALLET_BINDING_SIGNER_KIND",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_SIGNER_KIND}});Object.defineProperty(C,"WALLET_BINDING_DERIVATION_VERSION",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_DERIVATION_VERSION}});Object.defineProperty(C,"prepareWalletBinding",{enumerable:!0,get:function(){return Zy.prepareWalletBinding}});Object.defineProperty(C,"completeWalletBinding",{enumerable:!0,get:function(){return Zy.completeWalletBinding}});Object.defineProperty(C,"issueWalletBinding",{enumerable:!0,get:function(){return Zy.issueWalletBinding}});Object.defineProperty(C,"verifyWalletBinding",{enumerable:!0,get:function(){return Zy.verifyWalletBinding}});var i_t=a1t();Object.defineProperty(C,"INTENT_HASH_VERSION",{enumerable:!0,get:function(){return i_t.INTENT_HASH_VERSION}});Object.defineProperty(C,"canonicalIntentHash",{enumerable:!0,get:function(){return i_t.canonicalIntentHash}});var Ff=nOe();Object.defineProperty(C,"OWNERSHIP_CHALLENGE_DOMAIN_V1",{enumerable:!0,get:function(){return Ff.OWNERSHIP_CHALLENGE_DOMAIN_V1}});Object.defineProperty(C,"OWNERSHIP_PROOF_JWT_TYP",{enumerable:!0,get:function(){return Ff.OWNERSHIP_PROOF_JWT_TYP}});Object.defineProperty(C,"TTL_OWNERSHIP_HOURS",{enumerable:!0,get:function(){return Ff.TTL_OWNERSHIP_HOURS}});Object.defineProperty(C,"MAX_TTL_OWNERSHIP_HOURS",{enumerable:!0,get:function(){return Ff.MAX_TTL_OWNERSHIP_HOURS}});Object.defineProperty(C,"CHALLENGE_MAX_AGE_SEC",{enumerable:!0,get:function(){return Ff.CHALLENGE_MAX_AGE_SEC}});Object.defineProperty(C,"buildOwnershipChallenge",{enumerable:!0,get:function(){return Ff.buildOwnershipChallenge}});Object.defineProperty(C,"verifyOwnershipSignature",{enumerable:!0,get:function(){return Ff.verifyOwnershipSignature}});Object.defineProperty(C,"issueOwnershipProof",{enumerable:!0,get:function(){return Ff.issueOwnershipProof}});Object.defineProperty(C,"issueOwnershipProofWithSigner",{enumerable:!0,get:function(){return Ff.issueOwnershipProofWithSigner}});Object.defineProperty(C,"attestWalletOwnership",{enumerable:!0,get:function(){return Ff.attestWalletOwnership}});Object.defineProperty(C,"verifyOwnershipProof",{enumerable:!0,get:function(){return Ff.verifyOwnershipProof}});Object.defineProperty(C,"walletVerifiedFromProof",{enumerable:!0,get:function(){return Ff.walletVerifiedFromProof}});var AB=Fv();Object.defineProperty(C,"signJwtWithSigner",{enumerable:!0,get:function(){return AB.signJwtWithSigner}});Object.defineProperty(C,"LocalSigner",{enumerable:!0,get:function(){return AB.LocalSigner}});Object.defineProperty(C,"signerFromAnchorKey",{enumerable:!0,get:function(){return AB.signerFromAnchorKey}});Object.defineProperty(C,"signerFromSignFn",{enumerable:!0,get:function(){return AB.signerFromSignFn}});Object.defineProperty(C,"issueRegistrationWithSigner",{enumerable:!0,get:function(){return AB.issueRegistrationWithSigner}});var KI=m1t();Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_JWT_TYP",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_JWT_TYP}});Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_ISSUER",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_ISSUER}});Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_AUDIENCE",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_AUDIENCE}});Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_POLICY_ID",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_POLICY_ID}});Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS}});Object.defineProperty(C,"issueWalletAuthorizationPermit",{enumerable:!0,get:function(){return KI.issueWalletAuthorizationPermit}});Object.defineProperty(C,"verifyWalletAuthorizationPermit",{enumerable:!0,get:function(){return KI.verifyWalletAuthorizationPermit}});var eT=_1t();Object.defineProperty(C,"SUCCESSION_JWT_TYP",{enumerable:!0,get:function(){return eT.SUCCESSION_JWT_TYP}});Object.defineProperty(C,"KILL_SWITCH_JWT_TYP",{enumerable:!0,get:function(){return eT.KILL_SWITCH_JWT_TYP}});Object.defineProperty(C,"issueSuccession",{enumerable:!0,get:function(){return eT.issueSuccession}});Object.defineProperty(C,"verifySuccession",{enumerable:!0,get:function(){return eT.verifySuccession}});Object.defineProperty(C,"issueKillSwitch",{enumerable:!0,get:function(){return eT.issueKillSwitch}});Object.defineProperty(C,"verifyKillSwitch",{enumerable:!0,get:function(){return eT.verifyKillSwitch}});Object.defineProperty(C,"attestationIsVoid",{enumerable:!0,get:function(){return eT.attestationIsVoid}});Object.defineProperty(C,"KillList",{enumerable:!0,get:function(){return eT.KillList}});var WI=v1t();Object.defineProperty(C,"GRANT_JWT_TYP",{enumerable:!0,get:function(){return WI.GRANT_JWT_TYP}});Object.defineProperty(C,"TTL_GRANT_DAYS",{enumerable:!0,get:function(){return WI.TTL_GRANT_DAYS}});Object.defineProperty(C,"MAX_TTL_GRANT_DAYS",{enumerable:!0,get:function(){return WI.MAX_TTL_GRANT_DAYS}});Object.defineProperty(C,"GRANT_RAILS",{enumerable:!0,get:function(){return WI.GRANT_RAILS}});Object.defineProperty(C,"issueGrant",{enumerable:!0,get:function(){return WI.issueGrant}});Object.defineProperty(C,"issueGrantWithSigner",{enumerable:!0,get:function(){return WI.issueGrantWithSigner}});Object.defineProperty(C,"verifyGrant",{enumerable:!0,get:function(){return WI.verifyGrant}});var Nt=A1t();Object.defineProperty(C,"AGENT_PAIRING_PROTOCOL_VERSION",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_PROTOCOL_VERSION}});Object.defineProperty(C,"AGENT_PAIRING_PROTOCOL_VERSION_V2",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_PROTOCOL_VERSION_V2}});Object.defineProperty(C,"AGENT_PAIRING_TTL_SECONDS",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_TTL_SECONDS}});Object.defineProperty(C,"AGENT_PAIRING_CODE_ALPHABET",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_CODE_ALPHABET}});Object.defineProperty(C,"AGENT_PAIRING_CODE_LENGTH",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_CODE_LENGTH}});Object.defineProperty(C,"AGENT_PAIRING_STATES",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_STATES}});Object.defineProperty(C,"AGENT_PAIRING_TERMINAL_STATES",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_TERMINAL_STATES}});Object.defineProperty(C,"isAgentPairingState",{enumerable:!0,get:function(){return Nt.isAgentPairingState}});Object.defineProperty(C,"canTransitionAgentPairing",{enumerable:!0,get:function(){return Nt.canTransitionAgentPairing}});Object.defineProperty(C,"assertAgentPairingTransition",{enumerable:!0,get:function(){return Nt.assertAgentPairingTransition}});Object.defineProperty(C,"randomPairingId",{enumerable:!0,get:function(){return Nt.randomPairingId}});Object.defineProperty(C,"randomAttachId",{enumerable:!0,get:function(){return Nt.randomAttachId}});Object.defineProperty(C,"randomHandoffId",{enumerable:!0,get:function(){return Nt.randomHandoffId}});Object.defineProperty(C,"randomSetupOperationId",{enumerable:!0,get:function(){return Nt.randomSetupOperationId}});Object.defineProperty(C,"randomPairingVerifier",{enumerable:!0,get:function(){return Nt.randomPairingVerifier}});Object.defineProperty(C,"pairingVerifierChallenge",{enumerable:!0,get:function(){return Nt.pairingVerifierChallenge}});Object.defineProperty(C,"randomPairingCode",{enumerable:!0,get:function(){return Nt.randomPairingCode}});Object.defineProperty(C,"normalizePairingCode",{enumerable:!0,get:function(){return Nt.normalizePairingCode}});Object.defineProperty(C,"formatPairingCode",{enumerable:!0,get:function(){return Nt.formatPairingCode}});Object.defineProperty(C,"isValidPairingCode",{enumerable:!0,get:function(){return Nt.isValidPairingCode}});Object.defineProperty(C,"pairingCodeHash",{enumerable:!0,get:function(){return Nt.pairingCodeHash}});Object.defineProperty(C,"randomPairingClaimToken",{enumerable:!0,get:function(){return Nt.randomPairingClaimToken}});Object.defineProperty(C,"pairingClaimTokenHash",{enumerable:!0,get:function(){return Nt.pairingClaimTokenHash}});Object.defineProperty(C,"pairingCodeFromClaimToken",{enumerable:!0,get:function(){return Nt.pairingCodeFromClaimToken}});Object.defineProperty(C,"pairingConfirmationCode",{enumerable:!0,get:function(){return Nt.pairingConfirmationCode}});Object.defineProperty(C,"setupConfirmationCode",{enumerable:!0,get:function(){return Nt.setupConfirmationCode}});Object.defineProperty(C,"canonicalPairingTerms",{enumerable:!0,get:function(){return Nt.canonicalPairingTerms}});Object.defineProperty(C,"canonicalPairingTermsV2",{enumerable:!0,get:function(){return Nt.canonicalPairingTermsV2}});Object.defineProperty(C,"pairingTermsHash",{enumerable:!0,get:function(){return Nt.pairingTermsHash}});Object.defineProperty(C,"pairingTermsV2Hash",{enumerable:!0,get:function(){return Nt.pairingTermsV2Hash}});Object.defineProperty(C,"pairingClaimMessage",{enumerable:!0,get:function(){return Nt.pairingClaimMessage}});Object.defineProperty(C,"pairingClaimMessageV2",{enumerable:!0,get:function(){return Nt.pairingClaimMessageV2}});Object.defineProperty(C,"pairingClaimHashV2",{enumerable:!0,get:function(){return Nt.pairingClaimHashV2}});Object.defineProperty(C,"pairingActivationMessage",{enumerable:!0,get:function(){return Nt.pairingActivationMessage}});Object.defineProperty(C,"pairingActivationMessageV2",{enumerable:!0,get:function(){return Nt.pairingActivationMessageV2}});Object.defineProperty(C,"AGENT_CAPABILITY_ATTACH_CAPABILITIES",{enumerable:!0,get:function(){return Nt.AGENT_CAPABILITY_ATTACH_CAPABILITIES}});Object.defineProperty(C,"AGENT_HANDOFF_AUTHORITIES",{enumerable:!0,get:function(){return Nt.AGENT_HANDOFF_AUTHORITIES}});Object.defineProperty(C,"AGENT_HANDOFF_COMPOUND_AUTHORITY",{enumerable:!0,get:function(){return Nt.AGENT_HANDOFF_COMPOUND_AUTHORITY}});Object.defineProperty(C,"handoffAuthorityCapabilities",{enumerable:!0,get:function(){return Nt.handoffAuthorityCapabilities}});Object.defineProperty(C,"capabilityAttachClaimMessageV2",{enumerable:!0,get:function(){return Nt.capabilityAttachClaimMessageV2}});Object.defineProperty(C,"capabilityAttachClaimHashV2",{enumerable:!0,get:function(){return Nt.capabilityAttachClaimHashV2}});Object.defineProperty(C,"capabilityAttachActivationMessageV2",{enumerable:!0,get:function(){return Nt.capabilityAttachActivationMessageV2}});Object.defineProperty(C,"keyRotationClaimMessageV2",{enumerable:!0,get:function(){return Nt.keyRotationClaimMessageV2}});Object.defineProperty(C,"keyRotationClaimHashV2",{enumerable:!0,get:function(){return Nt.keyRotationClaimHashV2}});Object.defineProperty(C,"agentMailCredentialClaimMessageV2",{enumerable:!0,get:function(){return Nt.agentMailCredentialClaimMessageV2}});Object.defineProperty(C,"pairingArtifactHash",{enumerable:!0,get:function(){return Nt.pairingArtifactHash}});Object.defineProperty(C,"canonicalPairingDeliveryArtifactV2",{enumerable:!0,get:function(){return Nt.canonicalPairingDeliveryArtifactV2}});Object.defineProperty(C,"pairingDeliveryArtifactV2Hash",{enumerable:!0,get:function(){return Nt.pairingDeliveryArtifactV2Hash}});Object.defineProperty(C,"pairingInstrumentCommitment",{enumerable:!0,get:function(){return Nt.pairingInstrumentCommitment}});Object.defineProperty(C,"sha256",{enumerable:!0,get:function(){return Nt.sha256}});var Ur=bD();Object.defineProperty(C,"AGENT_AUTHORITY_VERSION",{enumerable:!0,get:function(){return Ur.AGENT_AUTHORITY_VERSION}});Object.defineProperty(C,"AGENT_BUDGET_EPOCH_MODES",{enumerable:!0,get:function(){return Ur.AGENT_BUDGET_EPOCH_MODES}});Object.defineProperty(C,"AGENT_AUTHORITY_VALUATION_POLICY",{enumerable:!0,get:function(){return Ur.AGENT_AUTHORITY_VALUATION_POLICY}});Object.defineProperty(C,"AGENT_AUTHORIZATION_SCOPES",{enumerable:!0,get:function(){return Ur.AGENT_AUTHORIZATION_SCOPES}});Object.defineProperty(C,"AGENT_EXECUTION_READINESS_REASONS",{enumerable:!0,get:function(){return Ur.AGENT_EXECUTION_READINESS_REASONS}});Object.defineProperty(C,"AGENT_CHANNEL_KINDS",{enumerable:!0,get:function(){return Ur.AGENT_CHANNEL_KINDS}});Object.defineProperty(C,"AGENT_CHANNEL_ASSURANCES",{enumerable:!0,get:function(){return Ur.AGENT_CHANNEL_ASSURANCES}});Object.defineProperty(C,"AGENT_CHANNEL_STATUSES",{enumerable:!0,get:function(){return Ur.AGENT_CHANNEL_STATUSES}});Object.defineProperty(C,"AGENT_KEY_CUSTODIES",{enumerable:!0,get:function(){return Ur.AGENT_KEY_CUSTODIES}});Object.defineProperty(C,"AGENT_KEY_PURPOSES",{enumerable:!0,get:function(){return Ur.AGENT_KEY_PURPOSES}});Object.defineProperty(C,"AGENT_KEY_STATUSES",{enumerable:!0,get:function(){return Ur.AGENT_KEY_STATUSES}});Object.defineProperty(C,"USD_MICROS_PER_CENT",{enumerable:!0,get:function(){return Ur.USD_MICROS_PER_CENT}});Object.defineProperty(C,"VIC_PROCESSOR_ACTIONS",{enumerable:!0,get:function(){return Ur.VIC_PROCESSOR_ACTIONS}});Object.defineProperty(C,"VIC_SETTLEMENT_ENVELOPE_KIND",{enumerable:!0,get:function(){return Ur.VIC_SETTLEMENT_ENVELOPE_KIND}});Object.defineProperty(C,"VIC_SETTLEMENT_ENVELOPE_VERSION",{enumerable:!0,get:function(){return Ur.VIC_SETTLEMENT_ENVELOPE_VERSION}});Object.defineProperty(C,"authorizationScopeFacts",{enumerable:!0,get:function(){return Ur.authorizationScopeFacts}});Object.defineProperty(C,"AGENT_PAYMENT_MODE_NAMES",{enumerable:!0,get:function(){return Ur.AGENT_PAYMENT_MODE_NAMES}});Object.defineProperty(C,"AGENT_PAYMENT_SURFACES",{enumerable:!0,get:function(){return Ur.AGENT_PAYMENT_SURFACES}});Object.defineProperty(C,"AGENT_PAYMENT_RAILS",{enumerable:!0,get:function(){return Ur.AGENT_PAYMENT_RAILS}});Object.defineProperty(C,"grantPaymentRails",{enumerable:!0,get:function(){return Ur.grantPaymentRails}});Object.defineProperty(C,"defaultPayWithinBudget",{enumerable:!0,get:function(){return Ur.defaultPayWithinBudget}});Object.defineProperty(C,"canonicalAgentAuthorityGrant",{enumerable:!0,get:function(){return Ur.canonicalAgentAuthorityGrant}});Object.defineProperty(C,"canonicalPayWithinBudget",{enumerable:!0,get:function(){return Ur.canonicalPayWithinBudget}});Object.defineProperty(C,"canonicalAgentChannelDescriptor",{enumerable:!0,get:function(){return Ur.canonicalAgentChannelDescriptor}});Object.defineProperty(C,"canonicalAgentKeyDescriptor",{enumerable:!0,get:function(){return Ur.canonicalAgentKeyDescriptor}});Object.defineProperty(C,"canonicalSpendAuthorizationIntent",{enumerable:!0,get:function(){return Ur.canonicalSpendAuthorizationIntent}});Object.defineProperty(C,"canonicalVicSettlementEnvelope",{enumerable:!0,get:function(){return Ur.canonicalVicSettlementEnvelope}});Object.defineProperty(C,"centsToUsdMicros",{enumerable:!0,get:function(){return Ur.centsToUsdMicros}});Object.defineProperty(C,"isCanonicalBase64Url32",{enumerable:!0,get:function(){return Ur.isCanonicalBase64Url32}});Object.defineProperty(C,"agentAuthorityGrantHash",{enumerable:!0,get:function(){return Ur.agentAuthorityGrantHash}});Object.defineProperty(C,"spendAuthorizationIntentHash",{enumerable:!0,get:function(){return Ur.spendAuthorizationIntentHash}});Object.defineProperty(C,"walletAuthorizationRequestHash",{enumerable:!0,get:function(){return Ur.walletAuthorizationRequestHash}});Object.defineProperty(C,"usdcAtomicToUsdMicros",{enumerable:!0,get:function(){return Ur.usdcAtomicToUsdMicros}});Object.defineProperty(C,"vicSettlementEnvelopeHash",{enumerable:!0,get:function(){return Ur.vicSettlementEnvelopeHash}});var Opn=w1t();Object.defineProperty(C,"prepareIdentityPresenceDelegation",{enumerable:!0,get:function(){return Opn.prepareIdentityPresenceDelegation}});var Qy=WOe();Object.defineProperty(C,"IDENTITY_PRESENCE_LEASE_AUDIENCE",{enumerable:!0,get:function(){return Qy.IDENTITY_PRESENCE_LEASE_AUDIENCE}});Object.defineProperty(C,"IDENTITY_PRESENCE_PURPOSE",{enumerable:!0,get:function(){return Qy.IDENTITY_PRESENCE_PURPOSE}});Object.defineProperty(C,"IDENTITY_PRESENCE_SIGNING_MODE",{enumerable:!0,get:function(){return Qy.IDENTITY_PRESENCE_SIGNING_MODE}});Object.defineProperty(C,"HOSTED_CONNECTOR_PROOF_TYP",{enumerable:!0,get:function(){return Qy.HOSTED_CONNECTOR_PROOF_TYP}});Object.defineProperty(C,"HOSTED_CONNECTOR_PROOF_TTL_SECONDS",{enumerable:!0,get:function(){return Qy.HOSTED_CONNECTOR_PROOF_TTL_SECONDS}});Object.defineProperty(C,"issueHostedConnectorProof",{enumerable:!0,get:function(){return Qy.issueHostedConnectorProof}});Object.defineProperty(C,"issueIdentityPresenceLease",{enumerable:!0,get:function(){return Qy.issueIdentityPresenceLease}});Object.defineProperty(C,"verifyHostedConnectorProof",{enumerable:!0,get:function(){return Qy.verifyHostedConnectorProof}});Object.defineProperty(C,"verifyIdentityPresenceLeaseChain",{enumerable:!0,get:function(){return Qy.verifyIdentityPresenceLeaseChain}});var xg=ZOe();Object.defineProperty(C,"IDENTITY_TAP_PROFILE",{enumerable:!0,get:function(){return xg.IDENTITY_TAP_PROFILE}});Object.defineProperty(C,"IDENTITY_TAP_PURPOSE",{enumerable:!0,get:function(){return xg.IDENTITY_TAP_PURPOSE}});Object.defineProperty(C,"IDENTITY_TAP_LEASE_AUDIENCE",{enumerable:!0,get:function(){return xg.IDENTITY_TAP_LEASE_AUDIENCE}});Object.defineProperty(C,"IDENTITY_TAP_LEASE_REQUEST_AUDIENCE",{enumerable:!0,get:function(){return xg.IDENTITY_TAP_LEASE_REQUEST_AUDIENCE}});Object.defineProperty(C,"prepareIdentityTapDelegation",{enumerable:!0,get:function(){return xg.prepareIdentityTapDelegation}});Object.defineProperty(C,"verifyIdentityTapDelegation",{enumerable:!0,get:function(){return xg.verifyIdentityTapDelegation}});Object.defineProperty(C,"issueIdentityTapLease",{enumerable:!0,get:function(){return xg.issueIdentityTapLease}});Object.defineProperty(C,"identityTapLeaseRequestIntentHash",{enumerable:!0,get:function(){return xg.identityTapLeaseRequestIntentHash}});Object.defineProperty(C,"createIdentityTapLeaseRequestProof",{enumerable:!0,get:function(){return xg.createIdentityTapLeaseRequestProof}});Object.defineProperty(C,"verifyIdentityTapLeaseRequestProof",{enumerable:!0,get:function(){return xg.verifyIdentityTapLeaseRequestProof}});var wB=q1t();Object.defineProperty(C,"identityDeviceEnrollmentPreimage",{enumerable:!0,get:function(){return wB.identityDeviceEnrollmentPreimage}});Object.defineProperty(C,"prepareIdentityDeviceGateAuthorization",{enumerable:!0,get:function(){return wB.prepareIdentityDeviceGateAuthorization}});Object.defineProperty(C,"prepareIdentityHostedGateAuthorization",{enumerable:!0,get:function(){return wB.prepareIdentityHostedGateAuthorization}});Object.defineProperty(C,"IDENTITY_HOSTED_GATE_AUTHORIZATION_PURPOSES",{enumerable:!0,get:function(){return wB.IDENTITY_HOSTED_GATE_AUTHORIZATION_PURPOSES}});Object.defineProperty(C,"verifyIdentityDeviceEnrollmentProof",{enumerable:!0,get:function(){return wB.verifyIdentityDeviceEnrollmentProof}});var oRe=F1t();Object.defineProperty(C,"IDENTITY_TAP_SLIP_REQUEST_TYP",{enumerable:!0,get:function(){return oRe.IDENTITY_TAP_SLIP_REQUEST_TYP}});Object.defineProperty(C,"validateIdentityTapSlipRequest",{enumerable:!0,get:function(){return oRe.validateIdentityTapSlipRequest}});Object.defineProperty(C,"issueIdentityTapSlip",{enumerable:!0,get:function(){return oRe.issueIdentityTapSlip}});var IB=rRe();Object.defineProperty(C,"IDENTITY_PRESENCE_SLIP_PURPOSE",{enumerable:!0,get:function(){return IB.IDENTITY_PRESENCE_SLIP_PURPOSE}});Object.defineProperty(C,"IDENTITY_HOSTED_TAP_SLIP_PURPOSE",{enumerable:!0,get:function(){return IB.IDENTITY_HOSTED_TAP_SLIP_PURPOSE}});Object.defineProperty(C,"issueHostedPresenceIdentitySlip",{enumerable:!0,get:function(){return IB.issueHostedPresenceIdentitySlip}});Object.defineProperty(C,"issueHostedTapIdentitySlip",{enumerable:!0,get:function(){return IB.issueHostedTapIdentitySlip}});Object.defineProperty(C,"hostedPresenceAttemptId",{enumerable:!0,get:function(){return IB.hostedPresenceAttemptId}});var Ete=Y1t();Object.defineProperty(C,"IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP",{enumerable:!0,get:function(){return Ete.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP}});Object.defineProperty(C,"validateIdentityHostedTapSlipRequest",{enumerable:!0,get:function(){return Ete.validateIdentityHostedTapSlipRequest}});Object.defineProperty(C,"issueHostedTapSlipFromTicket",{enumerable:!0,get:function(){return Ete.issueHostedTapSlipFromTicket}});Object.defineProperty(C,"hostedTapPayloadNamesMerchantRequest",{enumerable:!0,get:function(){return Ete.hostedTapPayloadNamesMerchantRequest}});var sRe=bte();Object.defineProperty(C,"identityTapSigningBytes",{enumerable:!0,get:function(){return sRe.identityTapSigningBytes}});Object.defineProperty(C,"identityTapPayloadSha256",{enumerable:!0,get:function(){return sRe.identityTapPayloadSha256}});Object.defineProperty(C,"parseIdentityTapSignatureBase",{enumerable:!0,get:function(){return sRe.parseIdentityTapSignatureBase}});var Ste=Q1t();Object.defineProperty(C,"IDENTITY_DEVICE_HANDOFF_AUDIENCE",{enumerable:!0,get:function(){return Ste.IDENTITY_DEVICE_HANDOFF_AUDIENCE}});Object.defineProperty(C,"identityDeviceProposalSha256",{enumerable:!0,get:function(){return Ste.identityDeviceProposalSha256}});Object.defineProperty(C,"identityDeviceHandoffIntentHash",{enumerable:!0,get:function(){return Ste.identityDeviceHandoffIntentHash}});Object.defineProperty(C,"verifyIdentityDeviceHandoffProof",{enumerable:!0,get:function(){return Ste.verifyIdentityDeviceHandoffProof}})});var H_t=_((aCi,q_t)=>{"use strict";var Rpn=Object.create,Ote=Object.defineProperty,Npn=Object.getOwnPropertyDescriptor,g_t=Object.getOwnPropertyNames,Cpn=Object.getPrototypeOf,Mpn=Object.prototype.hasOwnProperty,kpn=(e,t)=>function(){try{return t||(0,e[g_t(e)[0]])((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},Dpn=(e,t)=>{for(var r in t)Ote(e,r,{get:t[r],enumerable:!0})},__t=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of g_t(t))!Mpn.call(e,i)&&i!==r&&Ote(e,i,{get:()=>t[i],enumerable:!(n=Npn(t,i))||n.enumerable});return e},Lpn=(e,t,r)=>(r=e!=null?Rpn(Cpn(e)):{},__t(t||!e||!e.__esModule?Ote(r,"default",{value:e,enumerable:!0}):r,e)),Upn=e=>__t(Ote({},"__esModule",{value:!0}),e),Bpn=kpn({"../shared/dist/canonical-contract.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CANONICAL_OPAQUE_ID_MAX_BYTES=e.CANONICAL_OPAQUE_ID_RE=e.CANONICAL_OPAQUE_ID_PATTERN=void 0,e.utf8ByteLength=n,e.isCanonicalText=i,e.compareCanonicalKeys=o,e.isCanonicalOpaqueId=s,e.assertCanonicalOpaqueId=a,e.CANONICAL_OPAQUE_ID_PATTERN="^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$",e.CANONICAL_OPAQUE_ID_RE=new RegExp(e.CANONICAL_OPAQUE_ID_PATTERN),e.CANONICAL_OPAQUE_ID_MAX_BYTES=128;var t=/[\u0000-\u001f\u007f\u2028\u2029]/,r=new TextEncoder;function n(c){return r.encode(c).length}function i(c,u){return typeof c=="string"&&c.length>0&&n(c)<=u&&c.trim()===c&&c.normalize("NFC")===c&&!t.test(c)}function o(c,u){let d=r.encode(c),l=r.encode(u),p=Math.min(d.length,l.length);for(let f=0;f<p;f+=1)if(d[f]!==l[f])return d[f]-l[f];return d.length-l.length}function s(c){return typeof c=="string"&&n(c)<=e.CANONICAL_OPAQUE_ID_MAX_BYTES&&e.CANONICAL_OPAQUE_ID_RE.test(c)}function a(c,u="value"){if(!s(c))throw new Error(`${u} must be a canonical opaque id (max 128 ASCII bytes)`)}}}),y_t={};Dpn(y_t,{AGENT_AUTHORITY_VALUATION_POLICY:()=>Ite,AGENT_AUTHORITY_VERSION:()=>xB,AGENT_AUTHORIZATION_SCOPES:()=>bRe,AGENT_BUDGET_EPOCH_MODES:()=>w_t,AGENT_CHANNEL_ASSURANCES:()=>C_t,AGENT_CHANNEL_KINDS:()=>R_t,AGENT_CHANNEL_STATUSES:()=>N_t,AGENT_EXECUTION_READINESS_REASONS:()=>gfn,AGENT_KEY_CUSTODIES:()=>x_t,AGENT_KEY_PURPOSES:()=>P_t,AGENT_KEY_STATUSES:()=>O_t,AGENT_PAYMENT_MODE_NAMES:()=>mfn,AGENT_PAYMENT_RAILS:()=>mRe,AGENT_PAYMENT_SURFACES:()=>fRe,USD_MICROS_PER_CENT:()=>Cte,VIC_PROCESSOR_ACTIONS:()=>I_t,VIC_SETTLEMENT_ENVELOPE_KIND:()=>wte,VIC_SETTLEMENT_ENVELOPE_VERSION:()=>Ate,agentAuthorityGrantHash:()=>Nfn,authorizationScopeFacts:()=>Pfn,canonicalAgentAuthorityGrant:()=>U_t,canonicalAgentChannelDescriptor:()=>Rfn,canonicalAgentKeyDescriptor:()=>xfn,canonicalPayWithinBudget:()=>L_t,canonicalSpendAuthorizationIntent:()=>SRe,canonicalVicSettlementEnvelope:()=>B_t,centsToUsdMicros:()=>wfn,defaultPayWithinBudget:()=>hfn,grantPaymentRails:()=>ERe,isCanonicalBase64Url32:()=>iT,spendAuthorizationIntentHash:()=>j_t,usdcAtomicToUsdMicros:()=>Ifn,vicSettlementEnvelopeHash:()=>Cfn,walletAuthorizationRequestHash:()=>Mfn});q_t.exports=Upn(y_t);var jpn=e=>e/2**32|0,qpn=e=>e>>>0;function Hpn(e,t,r,n){let i=jpn(r),o=qpn(r);e.setUint32(t,n?o:i,n),e.setUint32(t+4,n?i:o,n)}function o_t(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}var uRe=e=>e?`"${e}" `:"";function Vpn(e,t=""){if(typeof e!="number")throw new TypeError(uRe(t)+"expected number, got "+typeof e);if(!Number.isSafeInteger(e)||e<0)throw new RangeError(uRe(t)+"expected integer >= 0, got "+e);return e}function b_t(e,t,r=""){if(o_t(e)&&(t===void 0||e.length===t))return e;t!==void 0&&Vpn(t,"length");let n=o_t(e),i=t!==void 0?` of length ${t}`:"",o=n?`length=${e.length}`:`type=${typeof e}`,s=uRe(r)+"expected Uint8Array"+i+", got "+o;throw n?new RangeError(s):new TypeError(s)}var Fpn=(e,t)=>{if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError((t==="object"?"":`"${t}" `)+"expected object, got type="+typeof e)},s_t=(e,t)=>{Fpn(e,t);let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)throw new TypeError(`"${t}" expected plain object`);if(Object.hasOwn(e,"__proto__"))throw new TypeError(`"${t}.__proto__" is not allowed`)};function a_t(e,t=!0){if(e.destroyed)throw new Error("hash was destroyed");if(t&&e.finished)throw new Error("digest() was already called")}function $pn(e,t){b_t(e,void 0,"output");let r=t.outputLen;if(!(e.length>=r))throw new RangeError('"output" expected length >= '+r)}function c_t(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function aRe(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Og(e,t){return e<<32-t|e>>>t}function zpn(e,t,r="opts"){return s_t(e,"defaults"),t!==void 0&&s_t(t,r),Object.assign(Object.create(null),e,t)}function Gpn(e,t={}){if(typeof e!="function")throw new TypeError('"hashCons" expected function, got type='+typeof e);t=zpn({},t,"info");let r=(i,o)=>e(o).update(i).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.canXOF=n.canXOF,r.create=i=>e(i),Object.assign(r,t),Object.freeze(r)}var Kpn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Wpn(e,t,r){return e&t^~e&r}function Ypn(e,t,r){return e&t^e&r^t&r}var Jpn=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,n){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=aRe(this.buffer)}update(e){a_t(this),b_t(e);let{view:t,buffer:r,blockLen:n}=this,i=e.length,o=!1;for(let s=0;s<i;){let a=Math.min(n-this.pos,i-s);if(a===n){let c=aRe(e);for(;n<=i-s;s+=n)this.process(c,s);o=!0;continue}r.set(s===0&&a===i?e:e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===n&&(this.process(t,0),this.pos=0,o=!0)}return this.length+=e.length,o&&this.roundClean(),this}digestInto(e){a_t(this),$pn(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:o}=this;t[o++]=128,t.fill(0,o),this.padOffset>n-o&&(this.process(r,0),t.fill(0)),Hpn(r,n-8,this.length*8,i),this.process(r,0),this.roundClean();let s=e===t?r:aRe(e),a=this.outputLen,c=a/4,u=this.get();if(a%4||c>u.length)throw new Error("invalid outputLen");for(let d=0;d<c;d++)s.setUint32(4*d,u[d],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneIntoMeta(e){let{buffer:t,length:r,finished:n,destroyed:i,pos:o}=this;return e.destroyed=i,e.finished=n,e.length=r,e.pos=o,o&&e.buffer.set(t),e}clone(){return this._cloneInto()}},Xpn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Zpn=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),tT=new Uint32Array(64),Qpn=class extends Jpn{A=0;B=0;C=0;D=0;E=0;F=0;G=0;H=0;constructor(e,t){super(64,e,8,!1),this.A=t[0]|0,this.B=t[1]|0,this.C=t[2]|0,this.D=t[3]|0,this.E=t[4]|0,this.F=t[5]|0,this.G=t[6]|0,this.H=t[7]|0}get(){let{A:e,B:t,C:r,D:n,E:i,F:o,G:s,H:a}=this;return[e,t,r,n,i,o,s,a]}set(e,t,r,n,i,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=o|0,this.G=s|0,this.H=a|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let d=0;d<16;d++,t+=4)tT[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let l=tT[d-15],p=tT[d-2],f=Og(l,7)^Og(l,18)^l>>>3,m=Og(p,17)^Og(p,19)^p>>>10;tT[d]=m+tT[d-7]+f+tT[d-16]|0}let{A:r,B:n,C:i,D:o,E:s,F:a,G:c,H:u}=this;for(let d=0;d<64;d++){let l=Og(s,6)^Og(s,11)^Og(s,25),p=u+l+Wpn(s,a,c)+Zpn[d]+tT[d]|0,m=(Og(r,2)^Og(r,13)^Og(r,22))+Ypn(r,n,i)|0;u=c,c=a,a=s,s=o+p|0,o=i,i=n,n=r,r=p+m|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,n,i,o,s,a,c,u)}roundClean(){c_t(tT)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),c_t(this.buffer)}},efn=class extends Qpn{constructor(){super(32,Xpn)}},Rte=Gpn(()=>new efn,Kpn(1)),E_t=Lpn(Bpn()),hRe=Object.freeze,P8=0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,dRe=0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,vte=0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,lRe=0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,pRe=0x6666666666666666666666666666666666666666666666666666666666666658n,Tte=P8-1n,tfn=hRe({p:P8,n:dRe,h:8n,a:Tte,d:vte,Gx:lRe,Gy:pRe}),S_t=32,u_t=e=>e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&e.BYTES_PER_ELEMENT===1,Nte=(e,t,r="")=>{if(u_t(e)&&(t===void 0||e.length===t))return e;let n=u_t(e),i=t!==void 0?` of length ${t}`:"",o=n?`length=${e.length}`:`type=${typeof e}`,s=(r?`"${r}" `:"")+"expected Uint8Array"+i+", got "+o;throw n?new RangeError(s):new TypeError(s)},rfn=(e,t="",r)=>Uint8Array.from(Nte(e,r,t)),v_t=(e,t)=>e.toString(16).padStart(t,"0"),gRe=e=>{let t="";for(let r of Nte(e))t+=v_t(r,2);return t},_Re=e=>{let t="hex invalid";if(typeof e!="string")throw new TypeError(t);if(e.length%2||!/^[\da-f]*$/i.test(e))throw new RangeError(t);let r=new Uint8Array(e.length/2);for(let n=0,i=0;n<r.length;n++,i+=2){let o=e.charCodeAt(i),s=e.charCodeAt(i+1);r[n]=((o&15)+(o>>6)*9)*16+(s&15)+(s>>6)*9}return r},nfn=(...e)=>{let t=0;for(let i of e)t+=Nte(i).length;let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r},ifn=(e=S_t)=>{let t=globalThis?.crypto;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined, consider polyfill");return t.getRandomValues(new Uint8Array(e))},YI=(e,t,r,n="bad number: out of range")=>{if(typeof e!="bigint")throw new TypeError(n);if(t<=e&&e<r)return e;throw new RangeError(n)},$i=(e,t=P8)=>(e%=t)>=0n?e:t+e,d_t=(1n<<255n)-1n,Ze=e=>{if(e<0n)throw new RangeError("negative coordinate");let t=(e>>255n)*19n+(e&d_t);return t=(t>>255n)*19n+(t&d_t),t%P8},T_t=(e,t)=>{if(e===0n)throw new Error("invert: expected non-zero number");if(t<=1n)throw new Error("invert: expected modulus > 1, got "+t);let r=$i(e,t),n=t,i=0n,o=1n;for(;r!==0n;){let a=n/r,c=n-r*a,u=i-o*a;n=r,r=c,i=o,o=u}if(n!==1n)throw new Error("invert: does not exist");return $i(i,t)},cRe=e=>{if(e instanceof NB)return e;throw new TypeError("Point expected")},A_t=2n**256n,NB=class JI{static BASE;static ZERO;X;Y;Z;T;constructor(t,r,n,i){let o=A_t;this.X=YI(t,0n,o),this.Y=YI(r,0n,o),this.Z=YI(n,1n,o),this.T=YI(i,0n,o),hRe(this)}static CURVE(){return tfn}static fromAffine(t){return new JI(t.x,t.y,1n,Ze(t.x*t.y))}static fromBytes(t,r=!1){let n=rfn(t,"point",S_t),i=n[31];n[31]=i&-129;let o=sfn(n);r||YI(o,0n,P8);let s=Ze(o*o),a=$i(s-1n),c=Ze(vte*s+1n),{isValid:u,value:d}=cfn(a,c);if(!u)throw new Error("bad point: y not sqrt");let l=!!(i&128);if(!r&&d===0n&&l)throw new Error("bad point: x==0, isLastByteOdd");return l!==!!(d&1n)&&(d=$i(-d)),new JI(d,o,1n,Ze(d*o))}static fromHex(t,r){return JI.fromBytes(_Re(t),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}assertValidity(){let t=Tte,r=vte,n=this;if(n.is0())throw new Error("bad point: ZERO");let{X:i,Y:o,Z:s,T:a}=n,c=Ze(i*i),u=Ze(o*o),d=Ze(s*s),l=Ze(d*d),p=Ze(c*t),f=Ze(d*(p+u)),m=$i(l+Ze(r*Ze(c*u)));if(f!==m)throw new Error("bad point: equation left != right (1)");let h=Ze(i*o),g=Ze(s*a);if(h!==g)throw new Error("bad point: equation left != right (2)");return this}equals(t){let{X:r,Y:n,Z:i}=this,{X:o,Y:s,Z:a}=cRe(t);return Ze(r*a)===Ze(o*i)&&Ze(n*a)===Ze(s*i)}is0(){return this.equals(XI)}negate(){return new JI($i(-this.X),this.Y,this.Z,$i(-this.T))}double(){let{X:t,Y:r,Z:n}=this,i=Tte,o=Ze(t*t),s=Ze(r*r),a=Ze(2n*n*n),c=Ze(i*o),u=$i(t+r),d=$i(Ze(u*u)-o-s),l=$i(c+s),p=$i(l-a),f=$i(c-s),m=Ze(d*p),h=Ze(l*f),g=Ze(d*f),y=Ze(p*l);return new JI(m,h,y,g)}add(t){let{X:r,Y:n,Z:i,T:o}=this,{X:s,Y:a,Z:c,T:u}=cRe(t),d=Tte,l=vte,p=Ze(r*s),f=Ze(n*a),m=Ze(Ze(o*l)*u),h=Ze(i*c),g=$i(Ze($i(r+n)*$i(s+a))-p-f),y=$i(h-m),S=$i(h+m),b=$i(f-Ze(d*p)),E=Ze(g*y),T=Ze(S*b),w=Ze(g*b),I=Ze(y*S);return new JI(E,T,I,w)}subtract(t){return this.add(cRe(t).negate())}multiply(t,r=!0){if(!r&&t===0n||(YI(t,1n,dRe),!r&&this.is0()))return XI;if(t===1n)return this;if(this.equals(PB))return dfn(t).p;let n=XI,i=PB,o=this;for(let s=0;r?s<256:t>0n;s++)t&1n?n=n.add(o):r&&(i=i.add(o)),o=o.double(),t>>=1n;return n}multiplyUnsafe(t){return this.multiply(t,!1)}toAffine(){let{X:t,Y:r,Z:n}=this;if(this.equals(XI))return{x:0n,y:1n};let i=T_t(n,P8);if(Ze(n*i)!==1n)throw new Error("invalid inverse");return{x:Ze(t*i),y:Ze(r*i)}}toBytes(){let{x:t,y:r}=this.toAffine(),n=ofn(r);return n[31]|=t&1n?128:0,n}toHex(){return gRe(this.toBytes())}clearCofactor(){return this.multiply(8n,!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return this.multiply(dRe/2n,!1).double().add(this).is0()}},PB=new NB(lRe,pRe,1n,$i(lRe*pRe)),XI=new NB(0n,1n,1n,0n);NB.BASE=PB;NB.ZERO=XI;var ofn=e=>_Re(v_t(YI(e,0n,A_t),64)).reverse(),sfn=e=>BigInt("0x"+gRe(Uint8Array.from(Nte(e)).reverse())),Rg=(e,t)=>{let r=e;for(;t-- >0;)r=Ze(r*r);return r},afn=e=>{let t=Ze(e*e),r=Ze(t*e),n=Ze(Rg(r,2)*r),i=Ze(Rg(n,1)*e),o=Ze(Rg(i,5)*i),s=Ze(Rg(o,10)*o),a=Ze(Rg(s,20)*s),c=Ze(Rg(a,40)*a),u=Ze(Rg(c,80)*c),d=Ze(Rg(u,80)*c),l=Ze(Rg(d,10)*o);return Ze(Rg(l,2)*e)},l_t=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,cfn=(e,t)=>{let r=Ze(t*Ze(t*t)),n=Ze(Ze(r*r)*t),i=afn(Ze(e*n)),o=Ze(e*Ze(r*i)),s=Ze(t*Ze(o*o)),a=o,c=Ze(o*l_t),u=s===e,d=s===$i(-e),l=s===$i(-e*l_t);return u&&(o=a),(d||l)&&(o=c),($i(o)&1n)===1n&&(o=$i(-o)),{isValid:u||d,value:o}},yRe=hRe({bytesToHex:gRe,hexToBytes:_Re,concatBytes:nfn,mod:$i,invert:T_t,randomBytes:ifn}),ufn=()=>{let e=[],t=PB,r;for(let n=0;n<33;n++){r=t,e.push(r);for(let i=1;i<128;i++)r=r.add(t),e.push(r);t=r.double()}return e},p_t=void 0,f_t=(e,t)=>{let r=t.negate();return e?r:t},dfn=e=>{let t=p_t||(p_t=ufn()),r=XI,n=PB;for(let i=0;i<33;i++){let o=Number(e&255n);e>>=8n,o>128&&(o-=256,e+=1n);let s=i*128,a=s+Math.abs(o)-1,c=i%2!==0,u=o<0;o===0?n=n.add(f_t(c,t[s])):r=r.add(f_t(u,t[a]))}if(e!==0n)throw new Error("invalid wnaf");return{p:r,f:n}},iCi=yRe.bytesToHex,oCi=yRe.hexToBytes,sCi=yRe.concatBytes;function lfn(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function pfn(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function CB(e){return lfn(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ffn(e){let t=e.length%4===0?0:4-e.length%4,r=e.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat(t);return pfn(r)}var xB=2,w_t=["new","continue"],Ate=1,wte="vic_draw",I_t=["charge_and_capture","authorize_only"],Cte=10000n,Ite="nominal_usd_usdc_parity",bRe=["card:vic","wallet:x402"],fRe=["connector","laptop"],mRe=["card:vic","wallet:tempo","wallet:x402"];function ERe(e){let t=new Set(e);return e.includes("wallet:x402")&&t.add("wallet:tempo"),[...t].sort((r,n)=>OB(r,n))}var mfn={ask:"Ask me each time",budget:"Pay within my budget"};function hfn(e,t){return e!=="laptop"?[]:ERe(t).map(r=>({surface:"laptop",scope:r}))}var gfn=["hosted_identity_key_migration_required","identity_key_expired","identity_key_rotated","identity_key_lost","identity_key_inactive","agent_inactive","current_grant_missing","current_grant_replaced","current_grant_expired","current_grant_inactive","required_scope_missing","managed_wallet_authority_unverified","authority_projection_unknown","authorization_version_unsupported","identity_key_custody_unsupported"],P_t=["identity","wallet_api","wallet_signing","email_signing","chain_identity"],x_t=["runtime","turnkey","server_encrypted","server_kms","external"],O_t=["pending","active","retired","revoked","lost"],R_t=["dotvisa","tap","email","messaging"],N_t=["provisioning","active","needs_attention","suspended","disabled"],C_t=["routing_only","provider_verified","agent_key_bound"],_fn=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,yfn=/^[A-Za-z0-9_-]{43}$/,bfn=/^(?:0|[1-9][0-9]*)$/,Efn=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d{1,6})?(?:Z|[+-]\d{2}:\d{2})$/,M_t=/[\u0000-\u001f\u007f]/,Sfn=2147483647,k_t=9223372036854775807n,m_t=100,vfn=512,h_t=32,Tfn=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.visa$/,Pte=/^0x[0-9a-f]{40}$/,Mte=new TextEncoder;function OB(e,t){return(0,E_t.compareCanonicalKeys)(e,t)}function eb(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function iT(e){if(typeof e!="string"||!yfn.test(e))return!1;try{let t=ffn(e);return t.byteLength===32&&CB(t)===e}catch{return!1}}function tb(e,t,r){let n=Object.keys(t).filter(i=>!r.has(i));if(n.length>0)throw new Error(`${e} contains unknown field(s): ${n.sort().join(", ")}`)}function Afn(e,t){if(typeof t!="string"||!_fn.test(t))throw new Error(`${e} must be a UUID`)}function lu(e,t){return Afn(e,t),t.toLowerCase()}function RB(e,t){if(!(0,E_t.isCanonicalOpaqueId)(t))throw new Error(`${e} must be a non-empty opaque id (max 128 chars)`)}function rb(e,t){if(typeof t!="string")throw new Error(`${e} must be an ISO timestamp with an explicit time-zone offset`);let r=Efn.exec(t);if(!r)throw new Error(`${e} must be an ISO timestamp with an explicit time-zone offset`);let[,n,i,o,s,a,c]=r,u=Number(n),d=Number(i),l=Number(o),p=Number(s),f=Number(a),m=Number(c),h=new Date(0);if(h.setUTCFullYear(u,d-1,l),h.setUTCHours(p,f,m,0),u===0||h.getUTCFullYear()!==u||h.getUTCMonth()!==d-1||h.getUTCDate()!==l||h.getUTCHours()!==p||h.getUTCMinutes()!==f||h.getUTCSeconds()!==m)throw new Error(`${e} must be a valid calendar timestamp`);let g=Date.parse(t);if(!Number.isFinite(g))throw new Error(`${e} must be a valid ISO timestamp`);return new Date(g).toISOString()}function rT(e,t,r=!1){if(typeof t!="string"||!bfn.test(t))throw new Error(`${e} must be a canonical non-negative integer micros string`);if(!r&&t==="0")throw new Error(`${e} must be positive`);if(BigInt(t)>k_t)throw new Error(`${e} exceeds the PostgreSQL BIGINT range`);return t}function D_t(e,t){if(typeof t!="number"||!Number.isInteger(t)||t<=0||t>Sfn)throw new Error(`${e} must be a positive PostgreSQL INTEGER`);return t}function xte(e,t){if(typeof t!="string")throw new Error(`${e} must be a string`);if(M_t.test(t))throw new Error(`${e} must be a bounded non-empty payee without control characters`);let r=t.normalize("NFC").trim();if(r.length===0||r.length>vfn)throw new Error(`${e} must be a bounded non-empty payee without control characters`);return r}function nT(e,t,r){if(typeof t!="string")throw new Error(`${e} must be a string`);if(M_t.test(t))throw new Error(`${e} must be bounded, non-empty text without control characters`);let n=t.normalize("NFC").trim();if(n.length===0||n.length>r)throw new Error(`${e} must be bounded, non-empty text without control characters`);return n}function pu(e,t){return typeof e=="string"&&t.includes(e)}function wfn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("cents must be a non-negative safe integer");let t=BigInt(e)*Cte;if(t>k_t)throw new Error("cents exceed the PostgreSQL BIGINT micros range");return t.toString()}function Ifn(e){return rT("amountAtomic",e,!0)}function Pfn(e){if(e==="card:vic")return{scope:e,paymentRail:"card",protocol:null,instrumentKind:"vic_card"};if(e==="wallet:x402")return{scope:e,paymentRail:"stablecoin",protocol:"x402",instrumentKind:"turnkey_wallet"};throw new Error(`unknown authorization scope: ${String(e)}`)}function xfn(e){if(!eb(e))throw new Error("agent key descriptor must be an object");tb("agent key descriptor",e,new Set(["keyId","agentId","purpose","algorithm","custody","fingerprint","status","createdAt","expiresAt"]));let t=lu("keyId",e.keyId),r=lu("agentId",e.agentId);if(!pu(e.purpose,P_t))throw new Error("invalid key purpose");if(!pu(e.algorithm,["Ed25519","P-256","secp256k1"]))throw new Error("invalid key algorithm");if(!pu(e.custody,x_t))throw new Error("invalid key custody");let n=nT("fingerprint",e.fingerprint,255);if(e.purpose==="identity"){if(e.algorithm!=="Ed25519")throw new Error("identity keys must use Ed25519");if(!iT(n))throw new Error("identity key fingerprint must be a 43-char RFC 7638 JKT")}if(e.purpose==="wallet_api"&&(e.algorithm!=="P-256"||e.custody!=="runtime"&&e.custody!=="server_kms"))throw new Error("wallet_api keys must be P-256 credentials held by an advisory runtime or the managed authority KMS");if(e.purpose==="wallet_signing"&&(e.algorithm!=="secp256k1"||e.custody!=="turnkey"))throw new Error("wallet_signing keys must be Turnkey-custodied secp256k1 money signers");if(e.purpose==="wallet_signing"&&(n=n.toLowerCase(),!Pte.test(n)))throw new Error("wallet_signing fingerprint must be a canonical EVM address");if(e.purpose==="chain_identity"&&(e.algorithm!=="secp256k1"||e.custody!=="turnkey"))throw new Error("chain_identity keys must be Turnkey-custodied secp256k1 addresses");if(e.purpose==="chain_identity"&&(n=n.toLowerCase(),!Pte.test(n)))throw new Error("chain_identity fingerprint must be a canonical EVM address");if(e.purpose==="email_signing"){if(e.algorithm!=="Ed25519")throw new Error("email_signing keys must use Ed25519");if(!iT(n))throw new Error("email_signing key fingerprint must be a 43-char RFC 7638 JKT")}if(!pu(e.status,O_t))throw new Error("invalid key status");let i=rb("createdAt",e.createdAt),o=e.expiresAt===void 0?void 0:rb("expiresAt",e.expiresAt);if(o!==void 0&&Date.parse(o)<=Date.parse(i))throw new Error("expiresAt must be after createdAt");return{keyId:t,agentId:r,purpose:e.purpose,algorithm:e.algorithm,custody:e.custody,fingerprint:n,status:e.status,createdAt:i,...o!==void 0?{expiresAt:o}:{}}}function Ofn(e,t,r){if(!eb(e))throw new Error("keyLink must be an object");tb("channel keyLink",e,new Set(["keyId","agentId","purpose","fingerprint"]));let n=lu("keyLink.keyId",e.keyId),i=lu("keyLink.agentId",e.agentId);if(i!==t)throw new Error("keyLink.agentId must match the channel agentId");if(!pu(e.purpose,["identity","email_signing"]))throw new Error("channel keyLink cannot use a wallet-signing key");if(r==="email"&&e.purpose!=="email_signing")throw new Error("an agent-key-bound email channel requires an email_signing key");if((r==="tap"||r==="dotvisa")&&e.purpose!=="identity")throw new Error(`${r} requires an identity key`);let o=nT("keyLink.fingerprint",e.fingerprint,255);if(!iT(o))throw new Error(`an ${e.purpose} key link fingerprint must be a 43-char RFC 7638 JKT`);return{keyId:n,agentId:i,purpose:e.purpose,fingerprint:o}}function Rfn(e){if(!eb(e))throw new Error("agent channel descriptor must be an object");tb("agent channel descriptor",e,new Set(["channelId","agentId","kind","status","assurance","address","providerRef","keyLink","capabilities","createdAt","verifiedAt","disabledAt"])),RB("channelId",e.channelId);let t=lu("agentId",e.agentId);if(!pu(e.kind,R_t))throw new Error("invalid channel kind");if(!pu(e.status,N_t))throw new Error("invalid channel status");if(!pu(e.assurance,C_t))throw new Error("invalid channel assurance");let r=e.address===void 0?void 0:nT("address",e.address,320),n=e.kind==="dotvisa"?r?.toLowerCase():r;if((e.kind==="email"||e.kind==="dotvisa")&&n===void 0)throw new Error(`${e.kind} channels require an address`);if(e.kind==="dotvisa"&&n!==void 0&&!Tfn.test(n))throw new Error("dotvisa channel address must be a canonical lowercase .visa address");if(e.kind==="tap"&&n!==void 0)throw new Error("tap channels use providerRef and cannot claim a public address");let i=e.providerRef===void 0?void 0:nT("providerRef",e.providerRef,255);if(!Array.isArray(e.capabilities)||e.capabilities.length===0||e.capabilities.length>h_t)throw new Error(`capabilities must contain between 1 and ${h_t} entries`);let o=e.capabilities.map(l=>nT("capability",l,64));if(new Set(o).size!==o.length)throw new Error("capabilities must not repeat");let s=rb("createdAt",e.createdAt),a=e.verifiedAt===void 0?void 0:rb("verifiedAt",e.verifiedAt),c=e.disabledAt===void 0?void 0:rb("disabledAt",e.disabledAt);if(a!==void 0&&Date.parse(a)<Date.parse(s))throw new Error("verifiedAt cannot be before createdAt");if(c!==void 0&&Date.parse(c)<Date.parse(s))throw new Error("disabledAt cannot be before createdAt");if(c!==void 0&&a!==void 0&&Date.parse(c)<Date.parse(a))throw new Error("disabledAt cannot be before verifiedAt");if(e.status==="disabled"!=(c!==void 0))throw new Error("status='disabled' and disabledAt must be set together");let u={channelId:e.channelId,agentId:t,kind:e.kind,status:e.status,...n!==void 0?{address:n}:{},...i!==void 0?{providerRef:i}:{},capabilities:[...o].sort(OB),createdAt:s,...c!==void 0?{disabledAt:c}:{}};if(e.assurance==="routing_only"){if(a!==void 0||e.keyLink!==void 0)throw new Error("routing_only channels cannot claim verification or an agent key link");return{...u,assurance:"routing_only"}}if(i===void 0||a===void 0)throw new Error(`${e.assurance} channels require providerRef and verifiedAt`);if(e.assurance==="provider_verified"){if(e.keyLink!==void 0)throw new Error("provider_verified channels cannot claim an agent key link");return{...u,assurance:"provider_verified",providerRef:i,verifiedAt:a}}let d=Ofn(e.keyLink,t,e.kind);return{...u,assurance:"agent_key_bound",providerRef:i,verifiedAt:a,keyLink:d}}function L_t(e,t){if(!Array.isArray(e)||e.length>fRe.length*mRe.length)throw new Error("payWithinBudget must be an array of surface/scope entries");let r=e.map(i=>{if(!eb(i))throw new Error("payWithinBudget entry must be an object");if(tb("payWithinBudget entry",i,new Set(["surface","scope"])),!pu(i.surface,fRe))throw new Error("payWithinBudget surface must be laptop or connector");if(!pu(i.scope,mRe))throw new Error("payWithinBudget scope is not a payment rail");if(!ERe(t).includes(i.scope))throw new Error(i.scope==="wallet:tempo"?"payWithinBudget wallet:tempo needs the wallet:x402 grant scope":"payWithinBudget scope must be present in grant scopes");return{surface:i.surface,scope:i.scope}}),n=r.map(({surface:i,scope:o})=>`${i}:${o}`);if(new Set(n).size!==n.length)throw new Error("payWithinBudget must not repeat");return[...r].sort((i,o)=>OB(`${i.surface}:${i.scope}`,`${o.surface}:${o.scope}`))}function U_t(e){if(!eb(e))throw new Error("agent authority grant must be an object");if(tb("agent authority grant",e,new Set(["v","grantId","agentId","version","budgetEpochId","budgetEpochMode","status","currency","valuationPolicy","totalMicros","perTransactionMicros","dailyMicros","scopes","payWithinBudget","payeeConstraints","effectiveAt","expiresAt","supersedesGrantId"])),e.v!==xB)throw new Error("grant.v must be 2");let t=lu("grantId",e.grantId),r=lu("agentId",e.agentId),n=D_t("version",e.version),i=lu("budgetEpochId",e.budgetEpochId);if(!pu(e.budgetEpochMode,w_t))throw new Error("budgetEpochMode must be new or continue");if(!pu(e.status,["active","superseded","revoked"]))throw new Error("invalid grant status");if(e.currency!=="USD")throw new Error("currency must be 'USD'");if(e.valuationPolicy!==Ite)throw new Error(`valuationPolicy must be '${Ite}'`);let o=rT("totalMicros",e.totalMicros),s=rT("perTransactionMicros",e.perTransactionMicros);if(BigInt(s)>BigInt(o))throw new Error("perTransactionMicros cannot exceed totalMicros");let a=e.dailyMicros===void 0?void 0:rT("dailyMicros",e.dailyMicros);if(a!==void 0){if(BigInt(a)>BigInt(o))throw new Error("dailyMicros cannot exceed totalMicros");if(BigInt(s)>BigInt(a))throw new Error("perTransactionMicros cannot exceed dailyMicros")}if(!Array.isArray(e.scopes)||e.scopes.length===0)throw new Error("scopes must be a non-empty array");let c=e.scopes.map(f=>{if(!eb(f))throw new Error("grant scope must be an object");if(tb("grant scope",f,new Set(["scope","totalMicros","perTransactionMicros","instrumentRef"])),!pu(f.scope,bRe))throw new Error("invalid authorization scope");let m=f.totalMicros===void 0?void 0:rT("scope.totalMicros",f.totalMicros),h=f.perTransactionMicros===void 0?void 0:rT("scope.perTransactionMicros",f.perTransactionMicros);if(m!==void 0&&BigInt(m)>BigInt(o))throw new Error("scope.totalMicros cannot exceed the aggregate totalMicros");if(h!==void 0&&BigInt(h)>BigInt(s))throw new Error("scope.perTransactionMicros cannot exceed the aggregate perTransactionMicros");if(m!==void 0&&h!==void 0&&BigInt(h)>BigInt(m))throw new Error("scope.perTransactionMicros cannot exceed scope.totalMicros");let g=nT("scope.instrumentRef",f.instrumentRef,255);return{scope:f.scope,...m!==void 0?{totalMicros:m}:{},...h!==void 0?{perTransactionMicros:h}:{},instrumentRef:g}});if(new Set(c.map(({scope:f})=>f)).size!==c.length)throw new Error("scopes must not repeat");let u=e.payWithinBudget===void 0?void 0:L_t(e.payWithinBudget,c.map(({scope:f})=>f)),d;if(e.payeeConstraints!==void 0){if(!Array.isArray(e.payeeConstraints)||e.payeeConstraints.length===0||e.payeeConstraints.length>m_t)throw new Error(`payeeConstraints must contain between 1 and ${m_t} entries`);if(d=e.payeeConstraints.map(m=>{if(!eb(m))throw new Error("payee constraint must be an object");if(tb("payee constraint",m,new Set(["scope","kind","canonicalId"])),m.scope==="card:vic"&&m.kind==="processor_merchant_id")return{scope:m.scope,kind:m.kind,canonicalId:xte("payee constraint canonicalId",m.canonicalId)};if(m.scope==="wallet:x402"&&m.kind==="evm_address"){let h=xte("payee constraint canonicalId",m.canonicalId).toLowerCase();if(!Pte.test(h))throw new Error("wallet payee constraint canonicalId must be an EVM address");return{scope:m.scope,kind:m.kind,canonicalId:h}}throw new Error("payee constraint scope/kind combination is invalid")}),d.some(m=>!c.some(({scope:h})=>h===m.scope)))throw new Error("payee constraint scope must be present in grant scopes");let f=d.map(({scope:m,kind:h,canonicalId:g})=>`${m}:${h}:${g}`);if(new Set(f).size!==f.length)throw new Error("payeeConstraints must not repeat after normalization")}let l=rb("effectiveAt",e.effectiveAt),p=rb("expiresAt",e.expiresAt);if(Date.parse(p)<=Date.parse(l))throw new Error("expiresAt must be after effectiveAt");if(e.supersedesGrantId!==void 0&&lu("supersedesGrantId",e.supersedesGrantId)===t)throw new Error("a grant cannot supersede itself");return{v:xB,grantId:t,agentId:r,version:n,budgetEpochId:i,budgetEpochMode:e.budgetEpochMode,status:e.status,currency:"USD",valuationPolicy:Ite,totalMicros:o,perTransactionMicros:s,...a!==void 0?{dailyMicros:a}:{},scopes:[...c].sort((f,m)=>OB(f.scope,m.scope)),...u!==void 0?{payWithinBudget:u}:{},...d!==void 0?{payeeConstraints:[...d].sort((f,m)=>OB(`${f.scope}:${f.kind}:${f.canonicalId}`,`${m.scope}:${m.kind}:${m.canonicalId}`))}:{},effectiveAt:l,expiresAt:p,...e.supersedesGrantId!==void 0?{supersedesGrantId:lu("supersedesGrantId",e.supersedesGrantId)}:{}}}function Nfn(e){let t=U_t(e),{status:r,...n}=t;return CB(Rte(Mte.encode(`visa-agent-authority-grant:v2:${JSON.stringify(n)}`)))}function B_t(e){if(!eb(e))throw new Error("VIC settlement envelope must be an object");if(tb("VIC settlement envelope",e,new Set(["v","kind","acquirerId","processorMerchantId","processorIntentId","instrumentRef","instrumentCommitment","payee","amountMicros","currency","processorAction","captureMode","settlementExpiresAt"])),e.v!==Ate)throw new Error(`VIC settlement envelope.v must be ${Ate}`);if(e.kind!==wte)throw new Error(`VIC settlement envelope.kind must be '${wte}'`);RB("acquirerId",e.acquirerId);let t=nT("processorMerchantId",e.processorMerchantId,128);RB("processorIntentId",e.processorIntentId);let r=Object.prototype.hasOwnProperty.call(e,"instrumentRef"),n=Object.prototype.hasOwnProperty.call(e,"instrumentCommitment");if(r===n)throw new Error("VIC settlement envelope requires exactly one of instrumentRef or instrumentCommitment");let i=r?nT("instrumentRef",e.instrumentRef,255):void 0,o=n?e.instrumentCommitment:void 0;if(o!==void 0&&!iT(o))throw new Error("instrumentCommitment must be a 32-byte base64url commitment");let s=xte("payee",e.payee),a=rT("amountMicros",e.amountMicros);if(BigInt(a)%Cte!==0n)throw new Error("VIC amountMicros must represent a whole number of card cents");if(e.currency!=="USD")throw new Error("currency must be 'USD'");if(!pu(e.processorAction,I_t))throw new Error("processorAction must be 'charge_and_capture' or 'authorize_only'");if(!pu(e.captureMode,["exact","up_to"]))throw new Error("captureMode must be 'exact' or 'up_to'");if(e.processorAction==="charge_and_capture"&&e.captureMode!=="exact")throw new Error("charge_and_capture requires captureMode 'exact'");let c=rb("settlementExpiresAt",e.settlementExpiresAt),u={v:Ate,kind:wte,acquirerId:e.acquirerId,processorMerchantId:t,processorIntentId:e.processorIntentId,payee:s,amountMicros:a,currency:"USD",processorAction:e.processorAction,captureMode:e.captureMode,settlementExpiresAt:c};return i!==void 0?{...u,instrumentRef:i}:{...u,instrumentCommitment:o}}function Cfn(e){let t=B_t(e),r=JSON.stringify({v:t.v,kind:t.kind,acquirerId:t.acquirerId,processorMerchantId:t.processorMerchantId,processorIntentId:t.processorIntentId,..."instrumentRef"in t?{instrumentRef:t.instrumentRef}:{instrumentCommitment:t.instrumentCommitment},payee:t.payee,amountMicros:t.amountMicros,currency:t.currency,processorAction:t.processorAction,captureMode:t.captureMode,settlementExpiresAt:t.settlementExpiresAt});return CB(Rte(Mte.encode(`visa-vic-settlement-envelope:v1:${r}`)))}function SRe(e){if(!eb(e))throw new Error("spend authorization intent must be an object");if(tb("spend authorization intent",e,new Set(["v","authorizationId","agentId","keyJkt","grantId","grantVersion","budgetEpochId","scope","amountMicros","currency","payee","intentId","economicIntentId","settlementHash","settlementExpiresAt"])),e.v!==xB)throw new Error("intent.v must be 2");let t=lu("authorizationId",e.authorizationId),r=lu("agentId",e.agentId);if(!iT(e.keyJkt))throw new Error("keyJkt must be a 43-char RFC 7638 thumbprint");let n=lu("grantId",e.grantId),i=D_t("grantVersion",e.grantVersion),o=lu("budgetEpochId",e.budgetEpochId);if(!pu(e.scope,bRe))throw new Error("invalid authorization scope");let s=rT("amountMicros",e.amountMicros);if(e.scope==="card:vic"&&BigInt(s)%Cte!==0n)throw new Error("card:vic amountMicros must represent a whole number of card cents");if(e.currency!=="USD")throw new Error("currency must be 'USD'");let a=xte("payee",e.payee),c=e.scope==="wallet:x402"?a.toLowerCase():a;if(e.scope==="wallet:x402"&&!Pte.test(c))throw new Error("wallet:x402 payee must be an EVM address");if(RB("intentId",e.intentId),RB("economicIntentId",e.economicIntentId),!iT(e.settlementHash))throw new Error("settlementHash is required and must be a 32-byte base64url commitment");let u=rb("settlementExpiresAt",e.settlementExpiresAt);return{v:xB,authorizationId:t,agentId:r,keyJkt:e.keyJkt,grantId:n,grantVersion:i,budgetEpochId:o,scope:e.scope,amountMicros:s,currency:"USD",payee:c,intentId:e.intentId,economicIntentId:e.economicIntentId,settlementHash:e.settlementHash,settlementExpiresAt:u}}function j_t(e){let t=SRe(e),r=JSON.stringify({v:t.v,authorizationId:t.authorizationId,agentId:t.agentId,keyJkt:t.keyJkt,grantId:t.grantId,grantVersion:t.grantVersion,budgetEpochId:t.budgetEpochId,scope:t.scope,amountMicros:t.amountMicros,currency:t.currency,payee:t.payee,intentId:t.intentId,economicIntentId:t.economicIntentId,settlementHash:t.settlementHash,settlementExpiresAt:t.settlementExpiresAt});return CB(Rte(Mte.encode(`visa-agent-spend-authorization:v2:${r}`)))}function Mfn(e){let t=SRe(e.intent),r=lu("walletApiKeyId",e.walletApiKeyId),n=lu("runtimeSessionId",e.runtimeSessionId);if(e.executionChannel!=="cli"&&e.executionChannel!=="mcp")throw new Error("executionChannel must be cli or mcp");if(!iT(e.resourceCommitment))throw new Error("resourceCommitment must be a 32-byte base64url commitment");let i=JSON.stringify({v:1,intentHash:j_t(t),walletApiKeyId:r,runtimeSessionId:n,executionChannel:e.executionChannel,resourceCommitment:e.resourceCommitment});return CB(Rte(Mte.encode(`visa-wallet-authorization-request:v1:${i}`)))}});var K_t=_(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.FINANCIAL_REVOCATION_TYPE=lr.FinancialProofError=lr.FINANCIAL_REQUEST_MAX_BYTES=lr.FINANCIAL_JWS_MAX_BYTES=lr.FINANCIAL_APPROVAL_TYPE=lr.FINANCIAL_APPROVAL_AUDIENCE=void 0;lr.parseFinancialCanonicalJson=kB;lr.parseCardDisclosureConsent=F_t;lr.parseFinancialOwnerApproval=vRe;lr.financialRootJkt=Ute;lr.prepareFinancialOwnerApproval=TRe;lr.verifyFinancialOwnerApproval=$_t;lr.completeFinancialOwnerApproval=Lfn;lr.parseFinancialOwnerChallengeView=Ufn;lr.parseFinancialOwnerRevocation=ARe;lr.prepareFinancialOwnerRevocation=z_t;lr.verifyFinancialOwnerRevocation=G_t;lr.completeFinancialOwnerRevocation=Bfn;var V_t=H_t(),ib=GS(),x8=X_();lr.FINANCIAL_APPROVAL_AUDIENCE="urn:visa:authority:financial";lr.FINANCIAL_APPROVAL_TYPE="visa-financial-grant-approval+jwt";lr.FINANCIAL_JWS_MAX_BYTES=16384;lr.FINANCIAL_REQUEST_MAX_BYTES=262144;var kfn=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Cg=new TextEncoder,Dte=new TextDecoder("utf-8",{fatal:!0}),Dfn=["v","purpose","audience","approvalId","challenge","ownerPrincipalId","associationId","associationVersion","agentId","rootJkt","grantHash","previousGrantId","previousGrantVersion","iat","exp"],Lte=class extends Error{constructor(t){super(t),this.name="FinancialProofError"}};lr.FinancialProofError=Lte;function Sr(e){throw new Lte(e)}function nb(e,t){if(!e||typeof e!="object"||Array.isArray(e))return Sr("Expected a closed object");let r=e;return Object.keys(r).length!==t.length||t.some(n=>!Object.hasOwn(r,n))?Sr("Unexpected or missing field"):r}function Ng(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function MB(e){return typeof e=="string"&&kfn.test(e)}function Th(e,t){if(typeof e!="string"||!/^[A-Za-z0-9_-]+$/.test(e))return Sr("Invalid base64url");let r=new Uint8Array((0,ib.base64UrlToBytes)(e));return(0,ib.bytesToBase64Url)(r)!==e||t!==void 0&&r.length!==t?Sr("Noncanonical base64url"):r}function kte(e){if(typeof e=="string")for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);if(r>=55296&&r<=56319){let n=e.charCodeAt(++t);n>=56320&&n<=57343||Sr("Invalid Unicode")}else r>=56320&&r<=57343&&Sr("Invalid Unicode")}else if(Array.isArray(e))for(let t of e)kte(t);else if(e&&typeof e=="object")for(let[t,r]of Object.entries(e))kte(t),kte(r)}function kB(e,t=lr.FINANCIAL_REQUEST_MAX_BYTES){if(Cg.encode(e).length>t)return Sr("Financial input too large");let r;try{r=JSON.parse(e)}catch{return Sr("Invalid JSON")}return kte(r),(0,x8.canonicalEnvelopeJson)(r)!==e?Sr("Noncanonical JSON"):r}function F_t(e){let t=nb(e,["v","runtimeId","mode"]);return t.v!==1||!MB(t.runtimeId)||t.mode!=="private"&&t.mode!=="agent_history"?Sr("Invalid card disclosure consent"):{v:1,runtimeId:t.runtimeId,mode:t.mode}}function vRe(e){let t=e?.v,r=nb(e,[...Dfn,...t===2?["cardDisclosure"]:[]]);if(r.v!==1&&r.v!==2||r.purpose!=="financial.grant.approve"||r.audience!==lr.FINANCIAL_APPROVAL_AUDIENCE)return Sr("Wrong financial approval profile");for(let n of["approvalId","ownerPrincipalId","associationId","agentId"])if(!MB(r[n]))return Sr("Invalid approval identity");for(let n of["challenge","rootJkt","grantHash"])Th(r[n],32);return!Ng(r.associationVersion)||!Ng(r.iat)||!Ng(r.exp)||r.exp<=r.iat||r.exp-r.iat>300?Sr("Invalid approval version or window"):(r.previousGrantId===null?r.previousGrantVersion!==null:!MB(r.previousGrantId)||!Ng(r.previousGrantVersion))?Sr("Invalid grant predecessor"):{...r,...r.v===2?{cardDisclosure:F_t(r.cardDisclosure)}:{}}}async function Ute(e){let t=nb(e,["kty","crv","x"]);return t.kty!=="OKP"||t.crv!=="Ed25519"?Sr("Expected owner Ed25519 root"):(Th(t.x,32),(0,ib.bytesToBase64Url)(new Uint8Array(await crypto.subtle.digest("SHA-256",Cg.encode((0,x8.canonicalJson)(t))))))}function TRe(e,t){let r=vRe(e),n=(0,V_t.canonicalAgentAuthorityGrant)(t);if(n.status!=="active"||n.agentId!==r.agentId||(0,V_t.agentAuthorityGrantHash)(n)!==r.grantHash)return Sr("Displayed grant does not match approval");if(r.v===2&&!n.scopes.some(s=>s.scope==="card:vic"))return Sr("Card disclosure requires a card spending scope");let i={alg:"EdDSA",typ:lr.FINANCIAL_APPROVAL_TYPE,kid:r.rootJkt},o=`${(0,ib.bytesToBase64Url)(Cg.encode((0,x8.canonicalJson)(i)))}.${(0,ib.bytesToBase64Url)(Cg.encode((0,x8.canonicalJson)(r)))}`;return{statement:r,grant:n,signingInput:o}}async function $_t(e,t,r){if(typeof e!="string"||Cg.encode(e).length>lr.FINANCIAL_JWS_MAX_BYTES)return Sr("Financial proof too large");let n=e.split(".");if(n.length!==3)return Sr("Invalid compact JWS");let i=nb(kB(Dte.decode(Th(n[0])),lr.FINANCIAL_JWS_MAX_BYTES),["alg","typ","kid"]),o=vRe(kB(Dte.decode(Th(n[1])),lr.FINANCIAL_JWS_MAX_BYTES));if(i.alg!=="EdDSA"||i.typ!==lr.FINANCIAL_APPROVAL_TYPE||i.kid!==o.rootJkt||await Ute(t)!==o.rootJkt)return Sr("Wrong owner approval key or purpose");if(!Ng(r)||o.iat>r+5||r>=o.exp)return Sr("Owner approval expired or not yet valid");let s=await crypto.subtle.importKey("raw",Th(t.x,32),{name:"Ed25519"},!1,["verify"]);return await crypto.subtle.verify("Ed25519",s,Th(n[2],64),Cg.encode(`${n[0]}.${n[1]}`))?o:Sr("Invalid owner signature")}async function Lfn(e,t,r,n,i){if(n.length!==64)return Sr("Invalid owner signature length");let{signingInput:o}=TRe(e,t),s=`${o}.${(0,ib.bytesToBase64Url)(n)}`;return await $_t(s,r,i),s}async function Ufn(e){let t=nb(e,["v","statement","grant","root","projection"]);if(t.v!==1)return Sr("Unknown owner review version");let{statement:r,grant:n}=TRe(t.statement,t.grant),i=nb(t.root,["organizationId","rootKeyId","publicJwk"]);for(let s of["organizationId","rootKeyId"])if(typeof i[s]!="string"||!/^[-_A-Za-z0-9]{1,256}$/.test(i[s]))return Sr("Invalid protected root coordinates");if(await Ute(i.publicJwk)!==r.rootJkt)return Sr("Protected root does not match owner approval");let o=nb(t.projection,["agentId","ownerPublicId"]);return o.agentId!==r.agentId||!MB(o.ownerPublicId)||o.ownerPublicId===r.ownerPrincipalId?Sr("Invalid protected owner projection"):{v:1,statement:r,grant:n,root:{organizationId:i.organizationId,rootKeyId:i.rootKeyId,publicJwk:{...i.publicJwk}},projection:{agentId:r.agentId,ownerPublicId:o.ownerPublicId}}}lr.FINANCIAL_REVOCATION_TYPE="visa-financial-grant-revocation+jwt";function ARe(e){let t=nb(e,["v","purpose","audience","approvalId","ownerPrincipalId","associationId","associationVersion","agentId","rootJkt","grantId","grantVersion","grantHash","iat","exp"]);if(t.v!==1||t.purpose!=="financial.grant.revoke"||t.audience!==lr.FINANCIAL_APPROVAL_AUDIENCE)return Sr("Wrong financial revocation profile");for(let r of["approvalId","ownerPrincipalId","associationId","agentId","grantId"])if(!MB(t[r]))return Sr("Invalid revocation identity");for(let r of["rootJkt","grantHash"])Th(t[r],32);return!Ng(t.associationVersion)||!Ng(t.grantVersion)||!Ng(t.iat)||!Ng(t.exp)||t.exp<=t.iat||t.exp-t.iat>300?Sr("Invalid revocation version or window"):{...t}}function z_t(e){let t=ARe(e),r={alg:"EdDSA",typ:lr.FINANCIAL_REVOCATION_TYPE,kid:t.rootJkt};return{statement:t,signingInput:`${(0,ib.bytesToBase64Url)(Cg.encode((0,x8.canonicalJson)(r)))}.${(0,ib.bytesToBase64Url)(Cg.encode((0,x8.canonicalJson)(t)))}`}}async function G_t(e,t,r){if(typeof e!="string"||Cg.encode(e).length>lr.FINANCIAL_JWS_MAX_BYTES)return Sr("Financial proof too large");let n=e.split(".");if(n.length!==3)return Sr("Invalid compact JWS");let i=nb(kB(Dte.decode(Th(n[0])),lr.FINANCIAL_JWS_MAX_BYTES),["alg","typ","kid"]),o=ARe(kB(Dte.decode(Th(n[1])),lr.FINANCIAL_JWS_MAX_BYTES));if(i.alg!=="EdDSA"||i.typ!==lr.FINANCIAL_REVOCATION_TYPE||i.kid!==o.rootJkt||await Ute(t)!==o.rootJkt)return Sr("Wrong owner revocation key or purpose");if(!Ng(r)||o.iat>r+5||r>=o.exp)return Sr("Owner revocation expired or not yet valid");let s=await crypto.subtle.importKey("raw",Th(t.x,32),{name:"Ed25519"},!1,["verify"]);return await crypto.subtle.verify("Ed25519",s,Th(n[2],64),Cg.encode(`${n[0]}.${n[1]}`))?o:Sr("Invalid owner signature")}async function Bfn(e,t,r,n){if(r.length!==64)return Sr("Invalid owner signature length");let i=`${z_t(e).signingInput}.${(0,ib.bytesToBase64Url)(r)}`;return await G_t(i,t,n),i}});var RRe=_(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.FINANCIAL_DEVICE_OPERATIONS_AUDIENCE=ol.FINANCIAL_DEVICE_ENROLLMENT_AUDIENCE=ol.WALLET_DEVICE_HANDOFF_AUDIENCE=ol.CARD_DEVICE_HANDOFF_AUDIENCE=void 0;ol.assertFinancialDevicePair=qfn;ol.financialDeviceProposalHash=IRe;ol.financialDeviceOperationsRequestHash=Hfn;ol.financialDeviceEnrollmentChallengeHash=Vfn;var PRe=wW(),xRe=GS(),Bte=X_(),jfn=K_t(),wRe=ste();function qfn(e,t){if(IRe(e),IRe(t),e.v!==1||t.v!==2||e.agentId!==t.agentId||e.associationId!==t.associationId||e.associationVersion!==t.associationVersion||e.rootJkt!==t.rootJkt||e.requestId===t.requestId||e.runtimeId===t.runtimeId||e.publicJwk.x===t.publicJwk.x)throw new Error("financial_device_pair_invalid")}ol.CARD_DEVICE_HANDOFF_AUDIENCE="visa:financial:card-device-handoff:v1";ol.WALLET_DEVICE_HANDOFF_AUDIENCE="visa:financial:wallet-device-handoff:v1";function IRe(e){let t=["v","purpose","requestId","associationId","associationVersion","agentId","runtimeId","rootJkt","publicJwk"];if(e?.v===2&&t.push("rail"),!e||Object.keys(e).sort().join(",")!==t.sort().join(",")||!(e.v===1||e.v===2&&e.rail==="card:vic")||e.purpose!=="financial.runtime.device.proposal"||![e.requestId,e.associationId,e.runtimeId].every(r=>typeof r=="string"&&ORe.test(r))||typeof e.agentId!="string"||!e.agentId||e.agentId.length>256||!Number.isSafeInteger(e.associationVersion)||e.associationVersion<1||!(0,wRe.isCanonicalBase64Url32)(e.rootJkt)||!e.publicJwk||Object.keys(e.publicJwk).sort().join(",")!=="crv,kty,x"||e.publicJwk.crv!=="Ed25519"||e.publicJwk.kty!=="OKP"||!(0,wRe.isCanonicalBase64Url32)(e.publicJwk.x))throw new Error("financial_device_proposal_invalid");return(0,xRe.bytesToBase64Url)((0,PRe.sha256)(new TextEncoder().encode((0,Bte.canonicalJson)(e))))}ol.FINANCIAL_DEVICE_ENROLLMENT_AUDIENCE="visa:financial:device-enrollment:v1";ol.FINANCIAL_DEVICE_OPERATIONS_AUDIENCE="visa:financial:device-operations:v1";function Hfn(e){let t=["v","purpose","requestId","agentId","runtimeId","limit"];if(!e||typeof e!="object"||Object.keys(e).sort().join(",")!==t.sort().join(",")||e.v!==1||e.purpose!=="financial.wallet.operations.read"||![e.requestId,e.agentId,e.runtimeId].every(r=>typeof r=="string"&&ORe.test(r))||!Number.isSafeInteger(e.limit)||e.limit<1||e.limit>50)throw new Error("financial_device_operations_request_invalid");return(0,xRe.bytesToBase64Url)((0,PRe.sha256)(new TextEncoder().encode((0,Bte.canonicalJson)(e))))}var W_t=["v","purpose","requestId","associationId","associationVersion","runtimeId","runtimeGeneration","childJkt","preparedCertificate","preparedDelegation","expiresAt"],ORe=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;function Vfn(e){let t=(0,jfn.parseFinancialCanonicalJson)((0,Bte.canonicalJson)(e));if(!t||Array.isArray(t)||Object.keys(t).length!==W_t.length||W_t.some(r=>!Object.hasOwn(t,r))||t.v!==1||t.purpose!=="financial.runtime.device.enroll"||!["requestId","associationId","runtimeId"].every(r=>typeof t[r]=="string"&&ORe.test(t[r]))||!["associationVersion","runtimeGeneration","expiresAt"].every(r=>Number.isSafeInteger(t[r])&&t[r]>0)||!(0,wRe.isCanonicalBase64Url32)(t.childJkt))throw new Error("financial_device_challenge_invalid");for(let r of["preparedCertificate","preparedDelegation"]){let n=t[r];if(!n||Array.isArray(n)||Object.keys(n).sort().join(",")!=="claims,signingInput"||typeof n.signingInput!="string"||n.signingInput.length>16384||!n.claims||typeof n.claims!="object"||Array.isArray(n.claims))throw new Error("financial_device_challenge_invalid")}return(0,xRe.bytesToBase64Url)((0,PRe.sha256)(new TextEncoder().encode((0,Bte.canonicalJson)(t))))}});async function NRe(e){let{key:t,approved:r,result:n}=e;if(!n.certificate.startsWith(r.preparedCertificate.signingInput+".")||!n.delegation.startsWith(r.preparedDelegation.signingInput+"."))throw new Error("financial_device_owner_result_invalid");let i={keys:[{...e.rootPublicJwk,kid:e.rootKid}]},o=Math.floor(Date.now()/1e3),s=await(0,jte.verifyRuntimeCertificate)(n.certificate,{jwks:i,nowSec:o,expectedAgentId:t.binding.agentId,expectedRootJkt:t.binding.rootJkt,expectedRuntimeId:t.runtimeId,expectedRuntimeJkt:t.jkt,requiredPurpose:"wallet:x402"}),a=await(0,jte.verifyRuntimeDelegation)(n.delegation,{ownerJwks:i,nowSec:o,expectedRootKid:e.rootKid,expectedRootJkt:t.binding.rootJkt,expectedAgentId:t.binding.agentId,expectedRuntimeId:t.runtimeId,expectedRuntimeJkt:t.jkt,expectedNetwork:"eip155:8453",expectedLeaseIssuerJkt:r.preparedDelegation.claims.leaseIssuerJkt,expectedDelegationId:r.preparedDelegation.claims.jti});if(n.v!==1||n.runtimeId!==t.runtimeId||n.childJkt!==t.jkt||!s.ok||!a.ok)throw new Error("financial_device_owner_result_invalid");return n}var jte,Y_t=A(()=>{"use strict";jte=ie($f())});function LB(e,t){if(!/^[0-9a-f-]{36}$/.test(e))throw new Error("financial_device_agent_invalid");let r=(0,DB.join)(pi(t),"financial-device");return(0,qte.mkdirSync)(r,{recursive:!0,mode:448}),(0,DB.join)(r,e+".pending.json")}function Ffn(e,t){let r=s6(LB(e,t));if(r===null)return null;Z0(r);let n=JSON.parse(r);if((0,O8.financialDeviceProposalHash)(n.proposal),n.cardProposal&&(0,O8.assertFinancialDevicePair)(n.proposal,n.cardProposal),n.v===1&&!Object.prototype.hasOwnProperty.call(n,"ceremony")){let i=LB(e,t),o=i.replace(".pending.json",`.outdated.${n.proposal.requestId}.json`);throw(0,qte.renameSync)(i,o),new Error(`financial_device_record_outdated: this device's wallet approval was started by an older Visa CLI and cannot be resumed (kept as ${(0,DB.basename)(o)}). Re-enroll: run \`visa connect\` again.`)}if(n.v!==1||!n.ceremony||typeof n.ceremony!="object"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(n.ceremony.ceremonyId)||!/^[A-Za-z0-9_-]{43}$/.test(n.ceremony.challenge)||!/^[A-Za-z0-9_-]{43}$/.test(n.ceremony.verifier)||(0,ZI.createHash)("sha256").update(n.ceremony.verifier).digest("base64url")!==n.ceremony.challenge||n.proposal.agentId!==e||n.runtimeKey.binding.agentId!==e||n.runtimeKey.runtimeId!==n.proposal.runtimeId||n.runtimeKey.binding.rootJkt!==n.proposal.rootJkt||(0,MRe.computeJkt)(n.rootPublicJwk)!==n.proposal.rootJkt)throw new Error("financial_device_record_invalid");return n}function CRe(e,t){let r=JSON.stringify(e);Z0(r),Q_(LB(e.proposal.agentId,t),r)}async function Hte(e){let t=Ffn(e.agentId,e.env);if(t){if((0,ob.canonicalJson)(t.ceremony)!==(0,ob.canonicalJson)(e.ceremony))throw new Error("financial_device_ceremony_changed");let s=await e.api.financialRuntimeRequest("device-handoff-create",{requestId:t.proposal.requestId,proposal:t.proposal,ceremony:t.ceremony,...t.cardProposal?{cardProposal:t.cardProposal}:{}}),a=Math.floor(Date.now()/1e3),c=s.evidence?.wallet_receipt,u=f=>{if(typeof f!="string")throw new Error("financial_device_record_invalid");let m=JSON.parse(Buffer.from(f.split(".")[1]??"","base64url").toString()).exp;if(!Number.isSafeInteger(m))throw new Error("financial_device_record_invalid");return m>a},d=c&&u(s.prepared?.certificate)&&u(s.prepared?.delegation)&&u(c.walletBinding),l=!s.prepared||s.prepared.status==="active"||s.prepared.status==="pending"&&s.prepared.challenge.expiresAt>a;if(d||!c&&!s.expired&&l)return t;Q_(LB(e.agentId,e.env).replace(".pending.json",`.expired.${t.proposal.requestId}.json`),JSON.stringify(t));let p={v:1,ceremony:t.ceremony,proposal:{...t.proposal,requestId:(0,ZI.randomUUID)()},runtimeKey:t.runtimeKey,rootKid:t.rootKid,rootPublicJwk:t.rootPublicJwk,...t.cardProposal?{cardProposal:t.cardProposal}:{}};return CRe(p,e.env),p}let r=await e.api.financialRuntimeRequest("device-context",{requestId:(0,ZI.randomUUID)(),agentId:e.agentId});if(r.agentId!==e.agentId||(0,MRe.computeJkt)(r.rootPublicJwk)!==r.rootJkt)throw new Error("financial_device_context_invalid");if(e.ownerPublicId!==void 0&&typeof r.ownerPublicId=="string"&&r.ownerPublicId!==e.ownerPublicId)throw new Error("Protected wallet owner differs from the active profile");let n=await e.signer.create({profile:"legacy-root-certified-v1",purpose:"wallet:x402",agentId:e.agentId,rootJkt:r.rootJkt}),i={v:1,purpose:"financial.runtime.device.proposal",requestId:(0,ZI.randomUUID)(),associationId:r.associationId,associationVersion:r.associationVersion,agentId:e.agentId,runtimeId:n.runtimeId,rootJkt:r.rootJkt,publicJwk:n.publicJwk};(0,O8.financialDeviceProposalHash)(i),e.cardProposal&&(0,O8.assertFinancialDevicePair)(i,e.cardProposal);let o={v:1,ceremony:e.ceremony,proposal:i,...e.cardProposal?{cardProposal:e.cardProposal}:{},runtimeKey:n,rootKid:r.rootKid,rootPublicJwk:r.rootPublicJwk};return CRe(o,e.env),o}async function UB(e){let t=e.pending,r=t.proposal,n=await e.signer.describe(t.runtimeKey.handle);if((0,ob.canonicalJson)(n)!==(0,ob.canonicalJson)(t.runtimeKey)||n.binding.profile!=="legacy-root-certified-v1"||n.binding.purpose!=="wallet:x402")throw new Error("financial_device_handle_changed");let i=async(c,u={})=>e.api.financialRuntimeRequest(c,{requestId:r.requestId,proposal:r,...c==="device-handoff-create"?{ceremony:t.ceremony,...t.cardProposal?{cardProposal:t.cardProposal}:{}}:{},...u}),o=await i("device-handoff-create");if(o.expired&&!o.evidence?.wallet_receipt)throw new Error("This enrollment ceremony expired. Start a fresh enrollment; this expired proposal cannot be approved.");if((0,ob.canonicalJson)(o.proposal)!==(0,ob.canonicalJson)(r))throw new Error("financial_device_proposal_mismatch");let s=o.evidence?.owner_signatures,a=o.prepared;if(s&&a&&!o.evidence?.device_proof){if(await NRe({key:n,rootKid:t.rootKid,rootPublicJwk:t.rootPublicJwk,approved:a.challenge,result:{v:1,runtimeId:r.runtimeId,childJkt:n.jkt,...s}}),t.challenge&&(0,ob.canonicalJson)(t.challenge)!==(0,ob.canonicalJson)(a.challenge))throw new Error("financial_device_challenge_changed");t.childPop||(t.challenge=a.challenge,t.childPop=await e.signer.financialEnrollmentProof(n.handle,a.challenge),CRe(t,e.env)),o=await i("device-handoff-proof",{childPop:t.childPop})}return o}async function kRe(e){let t=e.pending,r=t.proposal,n=await UB(e),i=n.evidence?.wallet_receipt;if(n.prepared?.status!=="active"||!i)return null;let o=await e.signer.describe(t.runtimeKey.handle),s=await NRe({key:o,rootKid:t.rootKid,rootPublicJwk:t.rootPublicJwk,approved:n.prepared.challenge,result:{v:1,runtimeId:r.runtimeId,childJkt:o.jkt,certificate:n.prepared.certificate,delegation:n.prepared.delegation}}),{verifyWalletBinding:a}=await Promise.resolve().then(()=>ie($f())),c=await e.api.financialRuntimeRequest("device-context",{requestId:(0,ZI.randomUUID)(),agentId:r.agentId});if(c.associationId!==r.associationId||c.associationVersion!==r.associationVersion||c.rootJkt!==r.rootJkt||i.agentId!==r.agentId||i.runtimeId!==r.runtimeId||i.runtimeCertificate!==s.certificate||typeof c.grantId!="string"||!Number.isSafeInteger(c.grantVersion)||c.grantVersion<1||typeof c.ownerPublicId!="string")throw new Error("financial_device_activation_changed");if(!(await a(i.walletBinding,{jwks:{keys:[{...t.rootPublicJwk,kid:t.rootKid}]},nowSec:Math.floor(Date.now()/1e3),expectedAgentId:r.agentId,expectedRootJkt:r.rootJkt,expectedSubOrganizationId:c.organizationId,expectedWalletId:i.walletId,expectedWalletAddress:i.walletAddress,expectedNetwork:"eip155:8453",expectedExecutor:{kind:"turnkey_tvc_p256",publicKey:i.credentialPublicKey,derivationVersion:"visa-tvc-slipgate-v2"}})).ok)throw new Error("financial_device_wallet_binding_invalid");let d={...t,challenge:n.prepared.challenge,certificate:s.certificate,delegation:s.delegation,walletBinding:i.walletBinding,wallet:{walletId:i.walletId,walletAddress:i.walletAddress,credentialPublicKey:i.credentialPublicKey},organizationId:c.organizationId,ownerPublicId:c.ownerPublicId,grantId:c.grantId,grantVersion:c.grantVersion},l=JSON.stringify(d);return Z0(l),Q_(LB(r.agentId,e.env).replace(".pending.json",".active.json"),l),d}var qte,DB,ZI,MRe,ob,O8,QI=A(()=>{"use strict";qte=require("node:fs"),DB=require("node:path"),ZI=require("node:crypto"),MRe=ie($f()),ob=ie(X_()),O8=ie(RRe());Wk();Hu();Y_t()});function e5(e){let t=iy(e);if(new URL(t).protocol!=="https:")throw new Error("Protected enrollment requires the HTTPS Auth origin");return t}function jB(e){let t=(0,t5.join)(pi(e),"protected-enrollment");return(0,Vte.mkdirSync)(t,{recursive:!0,mode:448}),Fc(t),t}function URe(e,t,r){if(!e||e.status!=="active"||e.v!==1||!R8.test(e.ceremonyId)||e.challenge!==t||e.confirmCode!==r||!Z_t.test(t)||!/^[ABCDEFGHJKMNPQRSTUVWXYZ23456789]{6}$/.test(r)||!R8.test(e.agentId)||!R8.test(e.ownerPublicId)||!R8.test(e.associationId)||!Number.isSafeInteger(e.associationVersion)||e.associationVersion<1||typeof e.rootKid!="string"||!e.rootKid||typeof e.organizationId!="string"||!e.organizationId||(0,X_t.computeJkt)(e.rootPublicJwk)!==e.rootJkt)throw new Error("Protected enrollment result does not match this terminal")}function zfn(e){let t=Ql((0,t5.join)(jB(e),"pending.json"));if(t===null)return null;let r=JSON.parse(t);if(r.v!==1||!Z_t.test(r.verifier)||Q_t(r.verifier)!==r.challenge||e5(r.authorityOrigin)!==r.authorityOrigin||e5(r.executionOrigin)!==r.executionOrigin||iy(r.webOrigin)!==r.webOrigin||!Number.isSafeInteger(r.createdAt)||!(/^(?:ca_[A-Za-z0-9_-]{24})$/.test(r.ceremonyId)||R8.test(r.ceremonyId))||r.transportProfileId!==(Vu(e)?.profileId??null))throw new Error("Protected enrollment pending state or transport profile changed");if(r.binding&&(URe(r.binding,r.challenge,CS(r.verifier)),r.ceremonyId!==r.binding.ceremonyId))throw new Error("Protected enrollment ceremony changed");return r}function Kfn(e){try{return zfn(e)}catch(t){return Un.warn("agent:protected_enrollment_pending_replaced",{reason:t instanceof Error?t.message:"pending record could not be read"}),null}}function eyt(e){let t=e5(u6()),r=iy(e.webOrigin),n=Kfn(e.env),i=n!==null&&Date.now()-n.createdAt<Gfn;if(n&&i&&!e.restart){if(n.authorityOrigin!==t||n.webOrigin!==r||n.executionOrigin!==t)throw new Error("Resume requires the original protected authority and browser origins");return n}if(n?.binding&&i&&e.restart)throw new Error("This enrollment is already bound. Resume its device approval before starting another agent.");let o=(0,BB.randomBytes)(32).toString("base64url"),s={v:1,verifier:o,challenge:Q_t(o),authorityOrigin:t,executionOrigin:t,webOrigin:r,transportProfileId:Vu(e.env)?.profileId??null,createdAt:Date.now(),ceremonyId:"ca_"+(0,BB.randomBytes)(18).toString("base64url")};return $c((0,t5.join)(jB(e.env),"pending.json"),JSON.stringify(s)),s}function BRe(e=process.env,t){let r=(t??"").trim().toLowerCase().replace(/[\s_]+/g,"-");if(r&&DRe[r])return DRe[r];let n=G1e(e);return n&&DRe[n]||null}function tyt(e,t){let r=new URL("/agent/enroll/protected-agent",e.webOrigin);return r.searchParams.set("cliChallenge",e.challenge),t&&r.searchParams.set("app",t),r.toString()}function Fte(e){let t=e&&typeof e=="object"?e.name:void 0;return typeof t=="string"?t:""}function Xfn(e){try{let t=JSON.parse(e),r=t&&typeof t=="object"&&!Array.isArray(t)?t:{},n=i=>typeof i=="string"&&Jfn.test(i)?i:null;return{code:n(r.code),reason:n(r.reason),purchaseId:r.reason==="terms_conflict"&&typeof r.purchaseId=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(r.purchaseId)?r.purchaseId:null}}catch{return{code:null,reason:null}}}async function jRe(e,t,r,n,i="Protected authority",o=Wfn,s={}){let a;try{a=await n(e5(e)+t,{method:"POST",headers:{...s,"content-type":"application/json","X-Source":"cli","X-Visa-CLI-Version":$fn,...rD()},body:(0,N8.canonicalJson)(JSON.parse(JSON.stringify(r))),redirect:"error",signal:AbortSignal.timeout(o)})}catch(u){let d=Fte(u);throw new sb(i,d==="TimeoutError"||d==="AbortError"?"timeout":"network",o)}if(!a.ok){let u={code:null,reason:null};try{let d=await a.text();d.length<=262144&&(u=Xfn(d))}catch{}throw new Mg(i,a.status,u.code,u.reason,u.purchaseId)}let c;try{c=await a.text()}catch{throw new sb(i,"response",o)}if(c.length>262144)throw new sb(i,"response",o);try{return JSON.parse(c)}catch{throw new sb(i,"response",o)}}function Zfn(e,t=fetch){return e5(e),{financialRuntimeRequest:(r,n)=>jRe(e,`/v1/financial-runtime/${r}`,n,t)}}async function ryt(e,t,r=fetch){if(e.transportProfileId!==(Vu(t)?.profileId??null))throw new Error("Protected enrollment transport profile changed");if(e.binding)return J_t(e,e.binding,t),e.binding;let n=await jRe(e.executionOrigin,"/v1/enrollment/cli-claim",{verifier:e.verifier},r);if(n?.ok!==!0)throw new Error("Protected authority refused enrollment pickup");if(n.result?.status==="pending")return null;let i=n.result;return URe(i,e.challenge,CS(e.verifier)),e.ceremonyId=i.ceremonyId,e.binding=i,$c((0,t5.join)(jB(t),"pending.json"),JSON.stringify(e)),J_t(e,i,t),i}function J_t(e,t,r){let n={v:1,authorityOrigin:e.authorityOrigin,executionOrigin:e.executionOrigin,transportProfileId:e.transportProfileId,binding:t},i=(0,t5.join)(jB(r),`${t.agentId}.json`),o=Ql(i);if(o!==null&&(0,N8.canonicalJson)(JSON.parse(o))!==(0,N8.canonicalJson)(n))throw new Error("Protected agent selection changed");$c(i,JSON.stringify(n))}function nyt(e,t=fetch){let r=Zfn(e.executionOrigin,t);return{financialRuntimeRequest:async(n,i)=>{let o=n==="execute"?await jRe(e.executionOrigin,"/v1/financial-runtime/execute",i,t,"Protected policy transport",Yfn):await r.financialRuntimeRequest(n,i);if(n==="device-context"){let s=e.binding;if(o.agentId!==s.agentId||o.ownerPublicId!==s.ownerPublicId||o.associationId!==s.associationId||o.associationVersion!==s.associationVersion||o.rootJkt!==s.rootJkt||o.rootKid!==s.rootKid||o.organizationId!==s.organizationId||(0,N8.canonicalJson)(o.rootPublicJwk)!==(0,N8.canonicalJson)(s.rootPublicJwk))throw new Error("Protected device context differs from the independently claimed owner")}return o}}}function Qfn(e){let t=jB(e);return(0,Vte.readdirSync)(t).filter(r=>R8.test(r.replace(/\.json$/,""))&&r.endsWith(".json")).flatMap(r=>{let n=Ql((0,t5.join)(t,r));if(n===null)return[];let i=JSON.parse(n);if(i.v!==1||e5(i.authorityOrigin)!==i.authorityOrigin||e5(i.executionOrigin)!==i.executionOrigin||i.binding.agentId+".json"!==r)throw new Error("Protected selection is invalid");return URe(i.binding,i.binding.challenge,i.binding.confirmCode),[i]})}function qB(e){let t=Vu(e)?.profileId??null;return Qfn(e).filter(r=>r.transportProfileId===t)}var BB,Vte,t5,X_t,N8,$fn,R8,Z_t,Q_t,Gfn,DRe,Wfn,Yfn,sb,Mg,Jfn,C8=A(()=>{"use strict";QI();BB=require("node:crypto"),Vte=require("node:fs"),t5=require("node:path"),X_t=ie($f()),N8=ie(X_());qK();K1e();wS();$_();d6();ep();Hu();DK();$fn="5.0.0-rc.362",R8=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Z_t=/^[A-Za-z0-9_-]{43}$/,Q_t=e=>(0,BB.createHash)("sha256").update(e).digest("base64url");Gfn=9e5;DRe={"claude-code":"claude",codex:"codex",openclaw:"openclaw",hermes:"hermes"};Wfn=2e4,Yfn=12e4,sb=class extends Error{constructor(r,n,i){super(n==="timeout"?`${r} timed out after ${Math.round(i/1e3)} s`:n==="response"?`${r} answered, but the answer could not be read`:`${r} could not be reached`);this.reason=n;this.name="ProtectedAuthorityTransportError"}reason},Mg=class extends Error{constructor(r,n,i,o=null,s=null){super(`${r} refused this request (HTTP ${n}${i?`, ${i}`:""})`);this.status=n;this.code=i;this.reason=o;this.purchaseId=s;this.name="ProtectedAuthorityRefusedError"}status;code;reason;purchaseId};Jfn=/^[a-z][a-z0-9_]{0,63}$/});var lyt=_(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.JOURNAL_ENVELOPE_V3_ENV=Pe.INTENT_NARRATIVE_USER_REQUEST_MAX=Pe.VALID_JOURNAL_CURRENCIES=Pe.TransactionIntentJournalError=Pe.INTENT_NARRATIVE_SCHEMA=Pe.INTENT_ALTERNATIVES_MAX=Pe.VALID_INTENT_DISCOVERY_SOURCES=Pe.INTENT_DISCOVERY_SOURCES=Pe.VALID_INTENT_INITIATORS=Pe.INTENT_INITIATORS=Pe.VALID_INTENT_CATEGORIES=Pe.INTENT_CATEGORIES=Pe.SUPPORTED_TRANSACTION_INTENT_JOURNAL_VERSIONS=Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED=Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED=Pe.TRANSACTION_INTENT_JOURNAL_VERSION=void 0;Pe.findNarrativePersonalData=ayt;Pe.validateIntentNarrative=cyt;Pe.journalEnvelopeV3Enabled=nmn;Pe.journalEnvelopeSalted=imn;Pe.userIntentHash=omn;Pe.newUserIntentSalt=smn;Pe.saltedUserIntentHash=uyt;Pe.transactionIntentJournalHash=amn;Pe.parseTransactionIntentJournalV1=dyt;Pe.buildTransactionIntentJournal=cmn;var zte=require("node:crypto"),emn=J_();Pe.TRANSACTION_INTENT_JOURNAL_VERSION=1;Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED=2;Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED=3;Pe.SUPPORTED_TRANSACTION_INTENT_JOURNAL_VERSIONS=[Pe.TRANSACTION_INTENT_JOURNAL_VERSION,Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED,Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED];Pe.INTENT_CATEGORIES=["api_inference","api_data","compute_storage","media_content","software_subscription","digital_goods","physical_goods","service_booking","donation_tip","other"];Pe.VALID_INTENT_CATEGORIES=new Set(Pe.INTENT_CATEGORIES);Pe.INTENT_INITIATORS=["user_explicit","agent_derived"];Pe.VALID_INTENT_INITIATORS=new Set(Pe.INTENT_INITIATORS);Pe.INTENT_DISCOVERY_SOURCES=["user_supplied","wallet_discover","wallet_directory","merchant_challenge","ucp","other"];Pe.VALID_INTENT_DISCOVERY_SOURCES=new Set(Pe.INTENT_DISCOVERY_SOURCES);Pe.INTENT_ALTERNATIVES_MAX=1e3;Pe.INTENT_NARRATIVE_SCHEMA={type:"object",description:"REQUIRED. What the user asked for, and what this purchase buys. Recorded as audit evidence and checked by the policy engine against the payment that follows \u2014 drift between what you state here and what you pay is refused. Write the way a human would want this to read on a statement six months from now: name the thing, not the transaction. Keep personal details \u2014 names, addresses, email addresses, account numbers, order numbers \u2014 OUT of product, purpose and expectedResult; those three are stored as written.",properties:{userRequest:{type:"string",description:"The user's own request that this purchase fulfils, verbatim or tightly summarized. It never leaves this machine: only a salted hash of it is sent."},product:{type:"string",description:'What is being bought, in plain words a human would recognize \u2014 "four hours of GPU time", "one stock photo licence", "50k tokens of image captioning". Not the URL, and not "API call".'},category:{type:"string",enum:[...Pe.INTENT_CATEGORIES],description:"Which kind of purchase this is. Pick the closest one; use other only when none of the others fits, not when the choice is merely hard."},purpose:{type:"string",description:"Why this purchase advances the user's goal \u2014 the reason for it, not a restatement of the product."},quantity:{type:"integer",description:"How many units are being bought. Defaults to 1 when omitted."},expectedResult:{type:"string",description:"What you expect to receive for the money: the artifact, the access, or the outcome."},recurring:{type:"boolean",description:"true when this purchase repeats on a schedule, such as a subscription. false for a one-off."},initiator:{type:"string",enum:[...Pe.INTENT_INITIATORS],description:"user_explicit when the user asked for this purchase; agent_derived when you concluded it was needed. Answer honestly \u2014 this records who decided, and neither answer is better than the other."},discoveredVia:{type:"string",enum:[...Pe.INTENT_DISCOVERY_SOURCES],description:"How you found this merchant: user_supplied when the user named it, wallet_discover or wallet_directory when a Visa CLI search found it, merchant_challenge when you already had the 402, ucp for a UCP handoff, otherwise other."},alternativesConsidered:{type:"integer",description:`How many other options you weighed before choosing this one. 0 is a real answer, not a missing one. At most ${Pe.INTENT_ALTERNATIVES_MAX}.`}},required:["userRequest","product","category"],additionalProperties:!1};var M8=class extends Error{code;constructor(t,r){super(r),this.code=t,this.name="TransactionIntentJournalError"}};Pe.TransactionIntentJournalError=M8;var iyt=/^[A-Za-z0-9_-]{43}$/,oyt=/^[1-9][0-9]*$/;Pe.VALID_JOURNAL_CURRENCIES=new Set(["USD","USDC"]);function xs(e,t){throw new M8(e,t)}function HB(e,t){return(!e||typeof e!="object"||Array.isArray(e))&&xs("invalid_journal",`${t} must be an object`),e}function VB(e,t,r=[]){for(let n of Object.keys(e))!t.includes(n)&&!r.includes(n)&&xs("invalid_journal",`unknown journal field: ${n}`);for(let n of t)e[n]===void 0&&xs("invalid_journal",`missing journal field: ${n}`)}function syt(e,t){let r=Xs(e,t,2048),n;try{n=new URL(r)}catch{xs("invalid_journal",`${t} must be an absolute http(s) URL`)}return n.protocol!=="https:"&&n.protocol!=="http:"&&xs("invalid_journal",`${t} must be an absolute http(s) URL`),r}function Xs(e,t,r){return(typeof e!="string"||e.length===0||e.length>r)&&xs("invalid_journal",`${t} must be a non-empty string of at most ${r} characters`),/[\u0000-\u001f\u007f]/.test(e)&&xs("invalid_journal",`${t} must not contain control characters`),e}Pe.INTENT_NARRATIVE_USER_REQUEST_MAX=2e3;var tmn=[[/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/,"an email address"],[/\b(?:\+?1[\s.-]?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\b/,"a phone number"],[/\b\d{1,5}\s+[A-Za-z][A-Za-z.'-]*(?:\s+[A-Za-z][A-Za-z.'-]*)*\s+(?:Street|St|Avenue|Ave|Road|Rd|Lane|Ln|Drive|Dr|Boulevard|Blvd|Court|Ct|Way|Terrace|Place|Pl)\b\.?/i,"a street address"]];function rmn(e){for(let t of e.match(/\b(?:\d[ -]?){13,19}\b/g)??[]){let r=t.replace(/\D/g,"");if(r.length<13||r.length>19)continue;let n=0,i=!1;for(let o=r.length-1;o>=0;o--){let s=r.charCodeAt(o)-48;i&&(s*=2,s>9&&(s-=9)),n+=s,i=!i}if(n%10===0)return!0}return!1}function ayt(e){let t=tmn.filter(([r])=>r.test(e)).map(([,r])=>r);return rmn(e)&&t.push("a card or account number"),t}function $te(e,t,r,{stored:n=!1}={}){if(typeof e!="string"||e.length===0)return{ok:!1,message:`intent.${t} must be a non-empty string.`};if(e.length>r)return{ok:!1,message:`intent.${t} must be at most ${r} characters.`};if(/[\u0000-\u001f\u007f]/.test(e))return{ok:!1,message:`intent.${t} must not contain control characters.`};if(n){let i=ayt(e);if(i.length>0)return{ok:!1,message:`intent.${t} contains ${i.join(" and ")}. product, purpose and expectedResult are stored as written \u2014 describe what was bought and leave the person's details in userRequest, which is committed by a hash and never leaves this machine.`}}return{ok:!0,value:e}}function cyt(e){if(!e||typeof e!="object"||Array.isArray(e))return{ok:!1,message:"intent must be an object with userRequest and product."};let t=e;for(let o of Object.keys(t))if(!["userRequest","product","purpose","quantity","expectedResult","recurring","category","initiator","discoveredVia","alternativesConsidered"].includes(o))return{ok:!1,message:`intent.${o} is not a recognized field.`};let r=$te(t.userRequest,"userRequest",Pe.INTENT_NARRATIVE_USER_REQUEST_MAX);if(!r.ok)return r;let n=$te(t.product,"product",512,{stored:!0});if(!n.ok)return n;if(typeof t.category!="string"||!Pe.VALID_INTENT_CATEGORIES.has(t.category))return{ok:!1,message:`intent.category is required and must be one of: ${Pe.INTENT_CATEGORIES.join(", ")}.`};let i={userRequest:r.value,product:n.value,category:t.category};if(t.purpose!==void 0){let o=$te(t.purpose,"purpose",512,{stored:!0});if(!o.ok)return o;i.purpose=o.value}if(t.expectedResult!==void 0){let o=$te(t.expectedResult,"expectedResult",512,{stored:!0});if(!o.ok)return o;i.expectedResult=o.value}if(t.quantity!==void 0){let o=t.quantity;if(typeof o!="number"||!Number.isSafeInteger(o)||o<1||o>1e6)return{ok:!1,message:"intent.quantity must be a whole number from 1 to 1000000."};i.quantity=o}if(t.initiator!==void 0){if(typeof t.initiator!="string"||!Pe.VALID_INTENT_INITIATORS.has(t.initiator))return{ok:!1,message:`intent.initiator must be one of: ${Pe.INTENT_INITIATORS.join(", ")}.`};i.initiator=t.initiator}if(t.discoveredVia!==void 0){if(typeof t.discoveredVia!="string"||!Pe.VALID_INTENT_DISCOVERY_SOURCES.has(t.discoveredVia))return{ok:!1,message:`intent.discoveredVia must be one of: ${Pe.INTENT_DISCOVERY_SOURCES.join(", ")}.`};i.discoveredVia=t.discoveredVia}if(t.alternativesConsidered!==void 0){let o=t.alternativesConsidered;if(typeof o!="number"||!Number.isSafeInteger(o)||o<0||o>Pe.INTENT_ALTERNATIVES_MAX)return{ok:!1,message:`intent.alternativesConsidered must be a whole number from 0 to ${Pe.INTENT_ALTERNATIVES_MAX}.`};i.alternativesConsidered=o}if(t.recurring!==void 0){if(typeof t.recurring!="boolean")return{ok:!1,message:"intent.recurring must be true or false."};i.recurring=t.recurring}return{ok:!0,narrative:i}}Pe.JOURNAL_ENVELOPE_V3_ENV="VISA_JOURNAL_V3";function nmn(e=process.env){return e[Pe.JOURNAL_ENVELOPE_V3_ENV]!=="false"}function imn(e=process.env){return!0}function omn(e){return(0,zte.createHash)("sha256").update(e,"utf8").digest("base64url")}function smn(){return(0,zte.randomBytes)(32).toString("base64url")}function uyt(e,t){return(0,zte.createHash)("sha256").update(`visa-user-intent:v2:${e}:${t}`,"utf8").digest("base64url")}function amn(e){return(0,zte.createHash)("sha256").update((0,emn.canonicalJson)(e),"utf8").digest("base64url")}function dyt(e){let t=HB(e,"journal");t.v!==Pe.TRANSACTION_INTENT_JOURNAL_VERSION&&t.v!==Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED&&t.v!==Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED&&xs("invalid_journal","unsupported journal version");let r=t.v===Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED,n=t.v===Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED||r;VB(t,["v","userIntent","product","quantity","merchant","amountMicros","recurrence","endpoint","economicIntentId","executionPayloadHash",...n?["currency"]:[],...r?["category"]:[]],["purpose","maxPriceMicros","payee","expectedResult",...r?["initiator","discoveredVia","alternativesConsidered"]:[]]);let i=HB(t.userIntent,"userIntent");VB(i,["kind","hash"]),i.kind!=="agent_attested"&&xs("invalid_journal","userIntent.kind must be agent_attested");let o=Xs(i.hash,"userIntent.hash",43);iyt.test(o)||xs("invalid_journal","userIntent.hash must be sha256 base64url");let s;n&&(s=Xs(t.currency,"currency",10),Pe.VALID_JOURNAL_CURRENCIES.has(s)||xs("invalid_journal","currency must be one of USD, USDC"));let a,c,u,d;if(r){let E=Xs(t.category,"category",64);if(Pe.VALID_INTENT_CATEGORIES.has(E)||xs("invalid_journal",`category must be one of ${Pe.INTENT_CATEGORIES.join(", ")}`),a=E,t.initiator!==void 0){let T=Xs(t.initiator,"initiator",64);Pe.VALID_INTENT_INITIATORS.has(T)||xs("invalid_journal",`initiator must be one of ${Pe.INTENT_INITIATORS.join(", ")}`),c=T}if(t.discoveredVia!==void 0){let T=Xs(t.discoveredVia,"discoveredVia",64);Pe.VALID_INTENT_DISCOVERY_SOURCES.has(T)||xs("invalid_journal",`discoveredVia must be one of ${Pe.INTENT_DISCOVERY_SOURCES.join(", ")}`),u=T}if(t.alternativesConsidered!==void 0){let T=t.alternativesConsidered;(typeof T!="number"||!Number.isSafeInteger(T)||T<0||T>Pe.INTENT_ALTERNATIVES_MAX)&&xs("invalid_journal",`alternativesConsidered must be an integer from 0 to ${Pe.INTENT_ALTERNATIVES_MAX}`),d=T}}let l=Xs(t.product,"product",512);(typeof t.quantity!="number"||!Number.isSafeInteger(t.quantity)||t.quantity<1||t.quantity>1e6)&&xs("invalid_journal","quantity must be a positive integer");let p=HB(t.merchant,"merchant");VB(p,["url"],["id","name"]);let f=syt(p.url,"merchant.url"),m=Xs(t.amountMicros,"amountMicros",40);oyt.test(m)||xs("invalid_journal","amountMicros must be a canonical positive integer string");let h;t.maxPriceMicros!==void 0&&(h=Xs(t.maxPriceMicros,"maxPriceMicros",40),oyt.test(h)||xs("invalid_journal","maxPriceMicros must be a canonical positive integer string")),t.recurrence!=="one_time"&&t.recurrence!=="recurring"&&xs("invalid_journal","recurrence must be one_time or recurring");let g=HB(t.endpoint,"endpoint");VB(g,["tool"],["url"]);let y=Xs(g.tool,"endpoint.tool",128),S;if(t.payee!==void 0){let E=HB(t.payee,"payee");VB(E,["address","network"],["asset"]),S={address:Xs(E.address,"payee.address",256),network:Xs(E.network,"payee.network",64),...E.asset===void 0?{}:{asset:Xs(E.asset,"payee.asset",256)}}}let b=Xs(t.executionPayloadHash,"executionPayloadHash",43);return iyt.test(b)||xs("invalid_journal","executionPayloadHash must be sha256 base64url"),{v:t.v,userIntent:{kind:"agent_attested",hash:o},product:l,quantity:t.quantity,merchant:{url:f,...p.id===void 0?{}:{id:Xs(p.id,"merchant.id",512)},...p.name===void 0?{}:{name:Xs(p.name,"merchant.name",255)}},...t.purpose===void 0?{}:{purpose:Xs(t.purpose,"purpose",512)},amountMicros:m,...s===void 0?{}:{currency:s},...h===void 0?{}:{maxPriceMicros:h},recurrence:t.recurrence,endpoint:{tool:y,...g.url===void 0?{}:{url:syt(g.url,"endpoint.url")}},...S===void 0?{}:{payee:S},...t.expectedResult===void 0?{}:{expectedResult:Xs(t.expectedResult,"expectedResult",512)},...a===void 0?{}:{category:a},...c===void 0?{}:{initiator:c},...u===void 0?{}:{discoveredVia:u},...d===void 0?{}:{alternativesConsidered:d},economicIntentId:Xs(t.economicIntentId,"economicIntentId",256),executionPayloadHash:b}}function cmn(e,t){let{userIntentSalt:r,userIntentHash:n,...i}=e,o=cyt(n?{...i,userRequest:"committed"}:i);if(!o.ok)throw new M8("invalid_journal",o.message);let s=t.categorized!==!1,a;if(n)a=n;else if(r)a=uyt(r,o.narrative.userRequest);else throw new M8("invalid_journal","a journal needs either a client-held userIntentSalt or a precomputed userIntentHash; the tool boundary mints one and keeps it");let c={v:s?Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED:Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED,userIntent:{kind:"agent_attested",hash:a},product:o.narrative.product,quantity:o.narrative.quantity??1,merchant:{url:t.merchantUrl,...t.merchantId?{id:t.merchantId}:{},...t.merchantName?{name:t.merchantName}:{}},...o.narrative.purpose?{purpose:o.narrative.purpose}:{},amountMicros:t.amountMicros,...t.currency?{currency:t.currency}:{},...t.maxPriceMicros?{maxPriceMicros:t.maxPriceMicros}:{},recurrence:o.narrative.recurring?"recurring":"one_time",endpoint:{tool:t.endpointTool,...t.endpointUrl?{url:t.endpointUrl}:{}},...t.payee?{payee:t.payee}:{},...o.narrative.expectedResult?{expectedResult:o.narrative.expectedResult}:{},...s?{category:o.narrative.category,...o.narrative.initiator?{initiator:o.narrative.initiator}:{},...o.narrative.discoveredVia?{discoveredVia:o.narrative.discoveredVia}:{},...o.narrative.alternativesConsidered!==void 0?{alternativesConsidered:o.narrative.alternativesConsidered}:{}}:{},economicIntentId:t.economicIntentId,executionPayloadHash:t.executionPayloadHash};return dyt(c)}});var qRe=_(Ah=>{"use strict";Object.defineProperty(Ah,"__esModule",{value:!0});Ah.formatCents=fyt;Ah.formatUsd=dmn;Ah.formatMicros=Gte;Ah.formatMicrosWire=lmn;Ah.formatTxAmount=pmn;Ah.formatDate=fmn;Ah.formatRelativeTime=mmn;Ah.formatTime=hmn;Ah.formatAge=gmn;var pyt=1e6,umn=100;function fyt(e,t={}){let r=t.fallback??"\u2014";if(e==null||!Number.isFinite(e))return r;let i=(e/umn).toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:t.minimumFractionDigits??2,maximumFractionDigits:t.maximumFractionDigits??2});return t.showPlusSign&&e>0?`+${i}`:i}function dmn(e,t={}){let r=t.fallback??"\u2014";if(e==null||!Number.isFinite(e))return r;let n=e.toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:t.minimumFractionDigits??2,maximumFractionDigits:t.maximumFractionDigits??2});return t.showPlusSign&&e>0?`+${n}`:n}function Gte(e,t={}){let r=t.fallback??"\u2014",n=typeof e=="string"?e===""?null:Number(e):e;if(n==null||!Number.isFinite(n))return r;let o=(n/pyt).toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:t.minimumFractionDigits??2,maximumFractionDigits:t.maximumFractionDigits??6});return t.showPlusSign&&n>0?`+${o}`:o}function lmn(e,t,r={}){return e&&/^-?\d+$/.test(e)?Gte(e,r):t!=null&&Number.isFinite(t)?fyt(t,r):r.fallback??"\u2014"}function pmn(e,t={}){let r=Number(e.amount_micros);if(Number.isFinite(r)&&e.amount_micros!=null&&e.amount_micros!=="")return Gte(r,t);let n=Number(String(e.amount).replace(/^\$/,""));return Number.isFinite(n)?Gte(n*pyt,t):t.fallback??"\u2014"}function fmn(e,t={}){let r=t.fallback??"\u2014";if(!e)return r;let n=new Date(e);return Number.isNaN(n.getTime())?r:n.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric",timeZone:t.timeZone??"UTC"})}function mmn(e,t=Date.now()){if(!e)return"\u2014";let r=Date.parse(e);if(Number.isNaN(r))return"\u2014";let n=t-r,i=n>=0,o=Math.abs(n),s=Math.floor(o/1e3),a=Math.floor(s/60),c=Math.floor(a/60),u=Math.floor(c/24),d=Math.floor(u/7),l=Math.floor(u/30),p=Math.floor(u/365);return s<45?"just now":a<1?i?"a minute ago":"in a minute":a<60?k8(n,i,a,"minute"):c<24?k8(n,i,c,"hour"):u===1?i?"yesterday":"tomorrow":u<7?k8(n,i,u,"day"):d<4?k8(n,i,d,"week"):l<12?k8(n,i,l,"month"):k8(n,i,p,"year")}function k8(e,t,r,n){let i=r!==1?"s":"";return t?`${r} ${n}${i} ago`:`in ${r} ${n}${i}`}function hmn(e,t={}){let r=t.fallback??"\u2014";if(!e)return r;let n=new Date(e);return Number.isNaN(n.getTime())?r:n.toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",timeZone:t.timeZone??"UTC"})}function gmn(e,t){if(!e)return"";let r=Date.parse(e);if(Number.isNaN(r))return"";let n=Math.max(0,t-r),i=Math.floor(n/1e3);if(i<45)return"just now";let o=Math.floor(i/60);if(o<60)return`${o}m ago`;let s=Math.floor(o/60);if(s<24)return`${s}h ago`;let a=Math.floor(s/24);if(a<30)return`${a}d ago`;let c=Math.floor(a/30);return c<12?`${c}mo ago`:`${Math.floor(a/365)}y ago`}});var HRe=_(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.AGENT_GRANT_MAX_PER_PURCHASE_CENTS=Yr.AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS=Yr.AGENT_GRANT_MIN_LIMIT_MICROS=Yr.AGENT_GRANT_MAX_PER_PURCHASE_MICROS=Yr.AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS=Yr.MPP_PAYMENT_MAX_MICROS=Yr.MPP_PAYMENT_MIN_MICROS=Yr.DEFAULT_SESSION_CAP_MICROS=Yr.MAX_MERCHANT_PRICE_MICROS=Yr.MIN_MERCHANT_PRICE_MICROS=Yr.DEFAULT_AUTOTOPUP_THRESHOLD_MICROS=Yr.DEFAULT_DAILY_CAP_MICROS=Yr.MIN_TOPUP_RETRY_FLOOR_MICROS=Yr.MIN_TOPUP_MICROS=Yr.MIN_SETTLEMENT_MICROS=void 0;var bp=kg();Yr.MIN_SETTLEMENT_MICROS=(0,bp.micros)(10000000n);Yr.MIN_TOPUP_MICROS=(0,bp.micros)(1000000n);Yr.MIN_TOPUP_RETRY_FLOOR_MICROS=(0,bp.micros)(1000000n);Yr.DEFAULT_DAILY_CAP_MICROS=(0,bp.micros)(5000000n);Yr.DEFAULT_AUTOTOPUP_THRESHOLD_MICROS=(0,bp.micros)(5000000n);Yr.MIN_MERCHANT_PRICE_MICROS=(0,bp.micros)(0n);Yr.MAX_MERCHANT_PRICE_MICROS=(0,bp.micros)(10000000000n);Yr.DEFAULT_SESSION_CAP_MICROS=(0,bp.micros)(5000000n);Yr.MPP_PAYMENT_MIN_MICROS=(0,bp.micros)(10000n);Yr.MPP_PAYMENT_MAX_MICROS=(0,bp.micros)(1000000000n);Yr.AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS=(0,bp.micros)(1000000000n);Yr.AGENT_GRANT_MAX_PER_PURCHASE_MICROS=(0,bp.micros)(50000000n);Yr.AGENT_GRANT_MIN_LIMIT_MICROS=(0,bp.micros)(1000n);Yr.AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS=1e5;Yr.AGENT_GRANT_MAX_PER_PURCHASE_CENTS=5e3});var yyt=_(Ep=>{"use strict";Object.defineProperty(Ep,"__esModule",{value:!0});Ep.MAX_BUDGET_DRAWS=void 0;Ep.derivePurchaseCountDetail=hyt;Ep.derivePurchaseCountDetailMicros=gyt;Ep.derivePurchaseCount=_yt;Ep.describePurchaseCount=Emn;Ep.describePurchaseCountMicros=Smn;var D8=qRe(),_mn=HRe();Ep.MAX_BUDGET_DRAWS=20;function myt(e,t){if(!Number.isSafeInteger(t)||t<=0)throw new TypeError(`${e}: expected a positive safe integer of cents, got ${t}`)}function hyt(e,t){myt("aggregateCeilingCents",e),myt("perPurchaseCents",t);let r=Math.ceil(e/t),n=Math.max(1,Math.min(Ep.MAX_BUDGET_DRAWS,r)),i=r>Ep.MAX_BUDGET_DRAWS;return{count:n,clamped:i,unreachableCents:i?e-n*t:0}}function FB(e,t){if(!/^[1-9]\d{0,18}$/.test(t))throw new TypeError(`${e}: expected canonical positive integer micros, got ${t}`);return BigInt(t)}function gyt(e,t){let r=FB("aggregateCeilingMicros",e),n=FB("perPurchaseMicros",t),i=(r+n-1n)/n,o=Math.max(1,Math.min(Ep.MAX_BUDGET_DRAWS,Number(i))),s=i>BigInt(Ep.MAX_BUDGET_DRAWS);return{count:o,clamped:s,unreachableMicros:s?(r-BigInt(o)*n).toString():"0"}}function _yt(e,t){return hyt(e,t).count}function ymn(e){let t=[Math.floor(e/5),Math.floor(e/4),Math.floor(e/2)].filter(r=>r>=1);for(let r of t){let n=_yt(e,r);if(n>=2)return{perCents:r,count:n}}return null}function bmn(e){let t=FB("aggregateCeilingMicros",e),r=[t/5n,t/4n,t/2n].filter(n=>n>=_mn.AGENT_GRANT_MIN_LIMIT_MICROS);for(let n of r){let i=gyt(e,n.toString()).count;if(i>=2)return{perMicros:n.toString(),count:i}}return null}function Emn(e,t,r){let n=(0,D8.formatCents)(t);if(e.clamped)return`This budget covers ${e.count} purchases \u2014 the most one budget allows. Each can be up to ${n}. ${(0,D8.formatCents)(e.unreachableCents)} of the total can never be spent. Raise the per-purchase amount to use all of it.`;if(e.count===1){let i=ymn(r),o=i?` Lower the per-purchase amount to allow more purchases \u2014 ${(0,D8.formatCents)(i.perCents)} allows ${i.count}.`:" Lower the per-purchase amount to allow more purchases.";return`This budget covers 1 purchase of up to ${n}. A smaller charge still uses that one purchase, and leftover budget sits unused.${o}`}return`This budget covers ${e.count} purchases. Each can be up to ${n}. Smaller charges are fine \u2014 each one still counts as a purchase.`}function Smn(e,t,r){FB("perPurchaseMicros",t),FB("aggregateCeilingMicros",r);let n=(0,D8.formatMicros)(t);if(e.clamped)return`This budget covers ${e.count} purchases \u2014 the most one budget allows. Each can be up to ${n}. ${(0,D8.formatMicros)(e.unreachableMicros)} of the total can never be spent. Raise the per-purchase amount to use all of it.`;if(e.count===1){let i=bmn(r),o=i?` Lower the per-purchase amount to allow more purchases \u2014 ${(0,D8.formatMicros)(i.perMicros)} allows ${i.count}.`:" Lower the per-purchase amount to allow more purchases.";return`This budget covers 1 purchase of up to ${n}. A smaller charge still uses that one purchase, and leftover budget sits unused.${o}`}return`This budget covers ${e.count} purchases. Each can be up to ${n}. Smaller charges are fine \u2014 each one still counts as a purchase.`}});var kg=_(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.describePurchaseCountMicros=ut.describePurchaseCount=ut.derivePurchaseCountDetailMicros=ut.derivePurchaseCountDetail=ut.derivePurchaseCount=ut.MAX_BUDGET_DRAWS=ut.AGENT_GRANT_MAX_PER_PURCHASE_CENTS=ut.AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS=ut.AGENT_GRANT_MIN_LIMIT_MICROS=ut.AGENT_GRANT_MAX_PER_PURCHASE_MICROS=ut.AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS=ut.formatAge=ut.formatTime=ut.formatRelativeTime=ut.formatDate=ut.formatTxAmount=ut.formatMicrosWire=ut.formatMicros=ut.formatUsd=ut.formatCents=void 0;ut.micros=vmn;ut.fromCents=Tmn;ut.fromUsdc=Amn;ut.fromUsd=wmn;ut.toCents=Imn;ut.toCentsForAcquirer=Pmn;ut.toUsdc=xmn;ut.toWire=Omn;ut.fromWire=Rmn;ut.toDisplay=Nmn;ut.toUsdRounded2dp=Cmn;ut.add=Mmn;ut.sub=kmn;ut.clampNonNegative=Dmn;ut.isNonNegative=Lmn;ut.max=Umn;ut.min=Bmn;var ab=10000n,byt=1000000n;function vmn(e){return e}function Tmn(e){if(!Number.isFinite(e)||!Number.isInteger(e)||!Number.isSafeInteger(e))throw new TypeError(`fromCents: expected safe integer, got ${e}`);return BigInt(e)*ab}function Amn(e){return e}function wmn(e){if(!Number.isFinite(e))throw new TypeError(`fromUsd: expected finite number, got ${e}`);return BigInt(Math.round(e*1e6))}function Imn(e){if(e>=0n)return Number(e/ab);let t=e/ab,r=e%ab;return Number(r===0n?t:t-1n)}function Pmn(e){if(e<0n)throw new RangeError(`toCentsForAcquirer: refusing negative micros (${e}); card charges are non-negative`);return Number(e/ab)}function xmn(e){return e}function Omn(e){return e.toString()}function Rmn(e){if(typeof e!="string"||e.length===0)throw new TypeError(`fromWire: expected non-empty string, got ${typeof e} ${JSON.stringify(e)}`);if(!/^-?\d+$/.test(e))throw new TypeError(`fromWire: not a valid micros integer: ${JSON.stringify(e)}`);return BigInt(e)}function Nmn(e,t={}){let r=t.decimals??2,n=t.symbol??"$",i=e<0n,o=i?-e:e,s=o/byt,a=o%byt,c=i?"-":"";if(r===0)return`${c}${n}${s.toString()}`;let u=a.toString().padStart(6,"0").slice(0,r);return`${c}${n}${s.toString()}.${u}`}function Cmn(e){let t=e<0n,r=t?-e:e,n=r/ab,o=r%ab*2n,s;o<ab?s=n:o>ab?s=n+1n:s=n%2n===0n?n:n+1n;let a=Number(s)/100;return t?-a:a}function Mmn(e,t){return e+t}function kmn(e,t){return e-t}function Dmn(e){return e<0n?0n:e}function Lmn(e){return e>=0n}function Umn(e,t){return e>t?e:t}function Bmn(e,t){return e<t?e:t}var cb=qRe();Object.defineProperty(ut,"formatCents",{enumerable:!0,get:function(){return cb.formatCents}});Object.defineProperty(ut,"formatUsd",{enumerable:!0,get:function(){return cb.formatUsd}});Object.defineProperty(ut,"formatMicros",{enumerable:!0,get:function(){return cb.formatMicros}});Object.defineProperty(ut,"formatMicrosWire",{enumerable:!0,get:function(){return cb.formatMicrosWire}});Object.defineProperty(ut,"formatTxAmount",{enumerable:!0,get:function(){return cb.formatTxAmount}});Object.defineProperty(ut,"formatDate",{enumerable:!0,get:function(){return cb.formatDate}});Object.defineProperty(ut,"formatRelativeTime",{enumerable:!0,get:function(){return cb.formatRelativeTime}});Object.defineProperty(ut,"formatTime",{enumerable:!0,get:function(){return cb.formatTime}});Object.defineProperty(ut,"formatAge",{enumerable:!0,get:function(){return cb.formatAge}});var $B=HRe();Object.defineProperty(ut,"AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS}});Object.defineProperty(ut,"AGENT_GRANT_MAX_PER_PURCHASE_MICROS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MAX_PER_PURCHASE_MICROS}});Object.defineProperty(ut,"AGENT_GRANT_MIN_LIMIT_MICROS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MIN_LIMIT_MICROS}});Object.defineProperty(ut,"AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS}});Object.defineProperty(ut,"AGENT_GRANT_MAX_PER_PURCHASE_CENTS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MAX_PER_PURCHASE_CENTS}});var L8=yyt();Object.defineProperty(ut,"MAX_BUDGET_DRAWS",{enumerable:!0,get:function(){return L8.MAX_BUDGET_DRAWS}});Object.defineProperty(ut,"derivePurchaseCount",{enumerable:!0,get:function(){return L8.derivePurchaseCount}});Object.defineProperty(ut,"derivePurchaseCountDetail",{enumerable:!0,get:function(){return L8.derivePurchaseCountDetail}});Object.defineProperty(ut,"derivePurchaseCountDetailMicros",{enumerable:!0,get:function(){return L8.derivePurchaseCountDetailMicros}});Object.defineProperty(ut,"describePurchaseCount",{enumerable:!0,get:function(){return L8.describePurchaseCount}});Object.defineProperty(ut,"describePurchaseCountMicros",{enumerable:!0,get:function(){return L8.describePurchaseCountMicros}})});var YRe=_(rd=>{"use strict";var jmn=rd&&rd.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),qmn=rd&&rd.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),vyt=rd&&rd.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var n=e(t),i=0;i<n.length;i++)n[i]!=="default"&&jmn(r,t,n[i]);return qmn(r,t),r}})();Object.defineProperty(rd,"__esModule",{value:!0});rd.pruneResponsesDir=KB;rd.isTextualContentType=Kte;rd.isValidUtf8=zRe;rd.spillFilename=wyt;rd.extractPaidImageArtifact=Zmn;rd.describePaidBody=$Re;rd.capturePaidResponse=Qmn;var sl=vyt(require("fs")),zB=vyt(require("path")),VRe=require("node:crypto"),Tyt=16*1024,FRe=2*1024,Hmn=64*1024*1024,Ayt=32*1024*1024,Eyt=24*1024*1024,Vmn=2e3,Fmn=12,$mn=3e4,GB=256*1024*1024;function KB(e,t=GB,r){try{let n=new Set((typeof r=="string"?[r]:r??[]).map(s=>zB.basename(s))),i=sl.readdirSync(e).map(s=>{if(s.includes(".part-"))return null;try{let a=sl.statSync(zB.join(e,s));return a.isFile()?{name:s,size:a.size,mtime:a.mtimeMs}:null}catch{return null}}).filter(s=>s!==null).sort((s,a)=>n.has(s.name)&&!n.has(a.name)?-1:n.has(a.name)&&!n.has(s.name)?1:a.mtime-s.mtime),o=0;for(let s of i)if(o+=s.size,o>t&&!n.has(s.name))try{sl.rmSync(zB.join(e,s.name),{force:!0})}catch{}}catch{}}var zmn=new Set(["application/json","application/xml","application/javascript","application/x-www-form-urlencoded","application/csv"]);function Kte(e){if(!e)return!1;let t=e.split(";",1)[0].trim().toLowerCase();return t.startsWith("text/")||t.endsWith("+json")||t.endsWith("+xml")||zmn.has(t)}function zRe(e){try{return new TextDecoder("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}var Gmn={"application/json":".json","application/pdf":".pdf","audio/mpeg":".mp3","image/gif":".gif","image/jpeg":".jpg","image/png":".png","image/svg+xml":".svg","image/webp":".webp","text/csv":".csv","text/html":".html","text/plain":".txt","video/mp4":".mp4"};function wyt(e,t,r){let n="unknown-host";try{n=new URL(e).hostname.toLowerCase()}catch{}let i=n.replace(/[^a-z0-9.-]/g,"_").slice(0,80),o=(t??"").split(";",1)[0].trim().toLowerCase(),s=Gmn[o]??(Kte(t)?".txt":".bin");return`${r.toISOString().replace(/[:.]/g,"-")}-${i}${s}`}function GRe(e,t,r){let n=wyt(t,r,new Date),i=zB.extname(n),o=n.slice(0,n.length-i.length);return zB.join(e,`${o}-${(0,VRe.randomBytes)(8).toString("hex")}${i}`)}function KRe(e){sl.mkdirSync(e,{recursive:!0,mode:448})}var Kmn=new Set(["image/gif","image/jpeg","image/png","image/webp"]);function Wmn(e){let t=(e??"").split(";",1)[0].trim().toLowerCase();return t==="application/json"||t.endsWith("+json")}function Ymn(e,t){if(t==="image/png")return e.length>=8&&e.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10]));if(t==="image/jpeg")return e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255;if(t==="image/gif"){if(e.length<6)return!1;let r=e.subarray(0,6).toString("ascii");return r==="GIF87a"||r==="GIF89a"}return e.length>=12&&e.subarray(0,4).toString("ascii")==="RIFF"&&e.subarray(8,12).toString("ascii")==="WEBP"}function Jmn(e){if(!e.startsWith("data:image/"))return null;let t=e.indexOf(";base64,");if(t<=5)return null;let r=e.slice(5,t).toLowerCase();if(!Kmn.has(r))return null;let n=e.slice(t+8);if(n.length===0||n.length%4!==0||n.length>Math.ceil(Eyt/3)*4)return null;let i=Buffer.from(n,"base64");if(i.length===0||i.length>Eyt||i.toString("base64")!==n)return null;let o=r;return Ymn(i,o)?{body:i,mimeType:o}:null}function Xmn(e){let t=[{depth:0,value:e}],r=0;for(;t.length>0&&r<Vmn;){let n=t.pop();if(r+=1,typeof n.value=="string"){let o=Jmn(n.value);if(o)return o;continue}if(n.depth>=Fmn||!n.value||typeof n.value!="object")continue;let i=Array.isArray(n.value)?n.value:Object.values(n.value);for(let o=i.length-1;o>=0;o-=1)t.push({depth:n.depth+1,value:i[o]})}return null}function Zmn(e,t,r,n){let i=WRe(e,t,r,n);return i&&KB(n,GB,[i.path]),i}function WRe(e,t,r,n){if(!Wmn(t)||r.length===0||r.length>Ayt||!zRe(r))return null;let i;try{i=JSON.parse(r.toString("utf8"))}catch{return null}let o=Xmn(i);if(!o)return null;let s=null;try{KRe(n);let a=GRe(n,e,o.mimeType);return s=`${a}.part-${process.pid}-${(0,VRe.randomBytes)(8).toString("hex")}`,sl.writeFileSync(s,o.body,{flag:"wx",mode:384}),sl.renameSync(s,a),s=null,{kind:"image",path:a,mimeType:o.mimeType,sha256:(0,VRe.createHash)("sha256").update(o.body).digest("hex"),bytes:o.body.length}}catch{if(s)try{sl.rmSync(s,{force:!0})}catch{}return null}}function Syt(e,t){let r=0;for(;r<t.length;){let n=sl.writeSync(e,t,r,t.length-r,null);if(n<=0)throw new Error("Paid response file write made no progress.");r+=n}}function $Re(e,t,r,n,i){let o=r?Kte(r):zRe(n),s={status:t,contentType:r??"unknown",bodyBytes:n.length};if(n.length===0)return{...s,body:""};let a=WRe(e,r,n,i);if(o&&n.length<=Tyt)return a&&KB(i,GB,[a.path]),{...s,body:n.toString("utf-8"),...a?{imageArtifact:a}:{}};KRe(i);let c=GRe(i,e,r);return sl.writeFileSync(c,n,{flag:"wx",mode:384}),KB(i,GB,a?[c,a.path]:[c]),{...s,bodyFile:c,...a?{imageArtifact:a}:{},...o?{bodyPreview:n.subarray(0,FRe).toString("utf-8")}:{},note:"Body too large or binary to inline \u2014 full paid response written to bodyFile."}}async function Qmn(e,t,r,n={}){let i=n.maxBytes??Hmn,o=n.timeoutMs??$mn;if(!Number.isSafeInteger(i)||i<=0)throw new Error("Paid response capture maxBytes must be a positive safe integer.");if(!Number.isFinite(o)||o<=0)throw new Error("Paid response capture timeoutMs must be positive.");let s=t.headers.get("content-length");if(s&&/^\d+$/.test(s.trim())){let b=Number(s);if(Number.isSafeInteger(b)&&b>i)throw t.body?.cancel("paid response exceeds capture limit").catch(()=>{}),new Error(`Merchant response body exceeds the ${i}-byte capture limit (declared ${b} bytes).`)}if(!t.body)return $Re(e,t.status,t.headers.get("content-type"),Buffer.alloc(0),r);let a=t.body.getReader(),c=Date.now(),u=[],d=0,l=0,p=null,f=null,m=null,h=[],g=0,y=()=>{p!==null&&(sl.closeSync(p),p=null)},S=()=>{if(y(),m)try{sl.rmSync(m,{force:!0})}catch{}};try{for(;;){let w=o-(Date.now()-c);if(w<=0)throw new Error(`Merchant response body timed out after ${o}ms.`);let I,N=new Promise((x,D)=>{I=setTimeout(()=>D(new Error(`Merchant response body timed out after ${o}ms.`)),w)}),O;try{O=await Promise.race([a.read(),N])}finally{I&&clearTimeout(I)}if(O.done)break;let P=Buffer.from(O.value);if(l+=P.length,l>i)throw new Error(`Merchant response body exceeded the ${i}-byte capture limit.`);if(g<FRe){let x=P.subarray(0,Math.min(P.length,FRe-g));h.push(Buffer.from(x)),g+=x.length}if(p===null){if(u.push(P),d+=P.length,d<=Tyt)continue;KRe(r),f=GRe(r,e,t.headers.get("content-type")),m=`${f}.part-${process.pid}-${Math.random().toString(16).slice(2)}`,p=sl.openSync(m,"wx",384);for(let x of u)Syt(p,x);u.length=0,d=0}else Syt(p,P)}if(p===null){let w=Buffer.concat(u,d);return $Re(e,t.status,t.headers.get("content-type"),w,r)}y(),sl.renameSync(m,f),m=null;let b=t.headers.get("content-type"),E=b?Kte(b):!1,T=l<=Ayt?WRe(e,b,sl.readFileSync(f),r):null;return KB(r,GB,T?[f,T.path]:[f]),{status:t.status,contentType:b??"unknown",bodyBytes:l,bodyFile:f,...T?{imageArtifact:T}:{},...E?{bodyPreview:Buffer.concat(h).toString("utf-8")}:{},note:"Body too large or binary to inline \u2014 full paid response written to bodyFile."}}catch(b){throw a.cancel("paid response capture failed").catch(()=>{}),S(),b}finally{try{a.releaseLock()}catch{}}}});var U8=_(Dg=>{"use strict";Object.defineProperty(Dg,"__esModule",{value:!0});Dg.hashTypedData=Dg.EIP3009_TYPES=Dg.MAX_DEADLINE_SECONDS=Dg.NETWORKS=void 0;Dg.NETWORKS={"base-mainnet":{id:"base-mainnet",caip2:"eip155:8453",chainId:8453,usdc:{address:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",eip712Domain:{name:"USD Coin",version:"2"}},rpcUrl:"https://mainnet.base.org",explorerBaseUrl:"https://basescan.org",isTestnet:!1},"base-sepolia":{id:"base-sepolia",caip2:"eip155:84532",chainId:84532,usdc:{address:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",eip712Domain:{name:"USDC",version:"2"}},rpcUrl:"https://sepolia.base.org",explorerBaseUrl:"https://sepolia.basescan.org",isTestnet:!0}};Dg.MAX_DEADLINE_SECONDS=600;Dg.EIP3009_TYPES={TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]};var ehn=hh();Object.defineProperty(Dg,"hashTypedData",{enumerable:!0,get:function(){return ehn.hashTypedData}})});var oT=_(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.TURNKEY_API_BASE_URL_ENV=Ec.CIRCLE_TESTNET_FAUCET_URL=Ec.NETWORK_ENV=Ec.NETWORKS=void 0;Ec.resolveNetwork=rhn;Ec.turnkeyApiBaseUrl=ihn;Ec.explorerTxUrl=ohn;Ec.explorerAddressUrl=shn;var Iyt=U8(),thn=U8();Object.defineProperty(Ec,"NETWORKS",{enumerable:!0,get:function(){return thn.NETWORKS}});Ec.NETWORK_ENV="VISA_V4_NETWORK";Ec.CIRCLE_TESTNET_FAUCET_URL="https://faucet.circle.com";var Pyt={"base-mainnet":"base-mainnet","base-sepolia":"base-sepolia","eip155:8453":"base-mainnet","eip155:84532":"base-sepolia"};function rhn(e=process.env){let t=(e[Ec.NETWORK_ENV]??"").trim();if(t==="")return Iyt.NETWORKS["base-mainnet"];let r=Pyt[t.toLowerCase()];if(!r)throw new Error(`unknown ${Ec.NETWORK_ENV} value ${JSON.stringify(t)} \u2014 valid values: `+Object.keys(Pyt).join(", "));return Iyt.NETWORKS[r]}Ec.TURNKEY_API_BASE_URL_ENV="TURNKEY_API_BASE_URL";var nhn="https://api.turnkey.com";function ihn(e=process.env){let t=(e[Ec.TURNKEY_API_BASE_URL_ENV]??"").trim();return t===""?nhn:t}function ohn(e,t){return`${e.explorerBaseUrl}/tx/${t}`}function shn(e,t){return`${e.explorerBaseUrl}/address/${t}`}});var B8=_(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.notImplemented=Lt.bitMask=Lt.utf8ToBytes=Lt.randomBytes=Lt.isBytes=Lt.hexToBytes=Lt.concatBytes=Lt.bytesToUtf8=Lt.bytesToHex=Lt.anumber=Lt.abytes=void 0;Lt.abool=ahn;Lt._abool2=chn;Lt._abytes2=uhn;Lt.numberToHexUnpadded=xyt;Lt.hexToNumber=XRe;Lt.bytesToNumberBE=dhn;Lt.bytesToNumberLE=lhn;Lt.numberToBytesBE=Oyt;Lt.numberToBytesLE=phn;Lt.numberToVarBytesBE=fhn;Lt.ensureBytes=mhn;Lt.equalBytes=hhn;Lt.copyBytes=ghn;Lt.asciiToBytes=_hn;Lt.inRange=Ryt;Lt.aInRange=yhn;Lt.bitLen=bhn;Lt.bitGet=Ehn;Lt.bitSet=Shn;Lt.createHmacDrbg=Thn;Lt.validateObject=whn;Lt.isHash=Ihn;Lt._validateObject=Phn;Lt.memoized=Ohn;var Lg=Zo(),ub=Zo();Object.defineProperty(Lt,"abytes",{enumerable:!0,get:function(){return ub.abytes}});Object.defineProperty(Lt,"anumber",{enumerable:!0,get:function(){return ub.anumber}});Object.defineProperty(Lt,"bytesToHex",{enumerable:!0,get:function(){return ub.bytesToHex}});Object.defineProperty(Lt,"bytesToUtf8",{enumerable:!0,get:function(){return ub.bytesToUtf8}});Object.defineProperty(Lt,"concatBytes",{enumerable:!0,get:function(){return ub.concatBytes}});Object.defineProperty(Lt,"hexToBytes",{enumerable:!0,get:function(){return ub.hexToBytes}});Object.defineProperty(Lt,"isBytes",{enumerable:!0,get:function(){return ub.isBytes}});Object.defineProperty(Lt,"randomBytes",{enumerable:!0,get:function(){return ub.randomBytes}});Object.defineProperty(Lt,"utf8ToBytes",{enumerable:!0,get:function(){return ub.utf8ToBytes}});var Wte=BigInt(0),WB=BigInt(1);function ahn(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function chn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function uhn(e,t,r=""){let n=(0,Lg.isBytes)(e),i=e?.length,o=t!==void 0;if(!n||o&&i!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=n?`length=${i}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function xyt(e){let t=e.toString(16);return t.length&1?"0"+t:t}function XRe(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Wte:BigInt("0x"+e)}function dhn(e){return XRe((0,Lg.bytesToHex)(e))}function lhn(e){return(0,Lg.abytes)(e),XRe((0,Lg.bytesToHex)(Uint8Array.from(e).reverse()))}function Oyt(e,t){return(0,Lg.hexToBytes)(e.toString(16).padStart(t*2,"0"))}function phn(e,t){return Oyt(e,t).reverse()}function fhn(e){return(0,Lg.hexToBytes)(xyt(e))}function mhn(e,t,r){let n;if(typeof t=="string")try{n=(0,Lg.hexToBytes)(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if((0,Lg.isBytes)(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(e+" of length "+r+" expected, got "+i);return n}function hhn(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function ghn(e){return Uint8Array.from(e)}function _hn(e){return Uint8Array.from(e,(t,r)=>{let n=t.charCodeAt(0);if(t.length!==1||n>127)throw new Error(`string contains non-ASCII character "${e[r]}" with code ${n} at position ${r}`);return n})}var JRe=e=>typeof e=="bigint"&&Wte<=e;function Ryt(e,t,r){return JRe(e)&&JRe(t)&&JRe(r)&&t<=e&&e<r}function yhn(e,t,r,n){if(!Ryt(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function bhn(e){let t;for(t=0;e>Wte;e>>=WB,t+=1);return t}function Ehn(e,t){return e>>BigInt(t)&WB}function Shn(e,t,r){return e|(r?WB:Wte)<<BigInt(t)}var vhn=e=>(WB<<BigInt(e))-WB;Lt.bitMask=vhn;function Thn(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=f=>new Uint8Array(f),i=f=>Uint8Array.of(f),o=n(e),s=n(e),a=0,c=()=>{o.fill(1),s.fill(0),a=0},u=(...f)=>r(s,o,...f),d=(f=n(0))=>{s=u(i(0),f),o=u(),f.length!==0&&(s=u(i(1),f),o=u())},l=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,m=[];for(;f<t;){o=u();let h=o.slice();m.push(h),f+=o.length}return(0,Lg.concatBytes)(...m)};return(f,m)=>{c(),d(f);let h;for(;!(h=m(l()));)d();return c(),h}}var Ahn={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||(0,Lg.isBytes)(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function whn(e,t,r={}){let n=(i,o,s)=>{let a=Ahn[o];if(typeof a!="function")throw new Error("invalid validator function");let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error("param "+String(i)+" is invalid. Expected "+o+", got "+c)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}function Ihn(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Phn(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(i,o,s){let a=e[i];if(s&&a===void 0)return;let c=typeof a;if(c!==o||a===null)throw new Error(`param "${i}" is invalid: expected ${o}, got ${c}`)}Object.entries(t).forEach(([i,o])=>n(i,o,!1)),Object.entries(r).forEach(([i,o])=>n(i,o,!0))}var xhn=()=>{throw new Error("not implemented")};Lt.notImplemented=xhn;function Ohn(e){let t=new WeakMap;return(r,...n)=>{let i=t.get(r);if(i!==void 0)return i;let o=e(r,...n);return t.set(r,o),o}}});var n5=_(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.isNegativeLE=void 0;zi.mod=al;zi.pow=Chn;zi.pow2=Mhn;zi.invert=Yte;zi.tonelliShanks=QRe;zi.FpSqrt=Uyt;zi.validateField=Bhn;zi.FpPow=e8e;zi.FpInvertBatch=Byt;zi.FpDiv=jhn;zi.FpLegendre=Jte;zi.FpIsSquare=qhn;zi.nLength=t8e;zi.Field=Xte;zi.FpSqrtOdd=Hhn;zi.FpSqrtEven=Vhn;zi.hashToPrivateScalar=Fhn;zi.getFieldBytesLength=r8e;zi.getMinHashLength=jyt;zi.mapHashToField=$hn;var cl=B8(),nd=BigInt(0),Os=BigInt(1),r5=BigInt(2),Nyt=BigInt(3),Cyt=BigInt(4),Myt=BigInt(5),Rhn=BigInt(7),kyt=BigInt(8),Nhn=BigInt(9),Dyt=BigInt(16);function al(e,t){let r=e%t;return r>=nd?r:t+r}function Chn(e,t,r){return e8e(Xte(r),e,t)}function Mhn(e,t,r){let n=e;for(;t-- >nd;)n*=n,n%=r;return n}function Yte(e,t){if(e===nd)throw new Error("invert: expected non-zero number");if(t<=nd)throw new Error("invert: expected positive modulus, got "+t);let r=al(e,t),n=t,i=nd,o=Os,s=Os,a=nd;for(;r!==nd;){let u=n/r,d=n%r,l=i-s*u,p=o-a*u;n=r,r=d,i=s,o=a,s=l,a=p}if(n!==Os)throw new Error("invert: does not exist");return al(i,t)}function ZRe(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Lyt(e,t){let r=(e.ORDER+Os)/Cyt,n=e.pow(t,r);return ZRe(e,n,t),n}function khn(e,t){let r=(e.ORDER-Myt)/kyt,n=e.mul(t,r5),i=e.pow(n,r),o=e.mul(t,i),s=e.mul(e.mul(o,r5),i),a=e.mul(o,e.sub(s,e.ONE));return ZRe(e,a,t),a}function Dhn(e){let t=Xte(e),r=QRe(e),n=r(t,t.neg(t.ONE)),i=r(t,n),o=r(t,t.neg(n)),s=(e+Rhn)/Dyt;return(a,c)=>{let u=a.pow(c,s),d=a.mul(u,n),l=a.mul(u,i),p=a.mul(u,o),f=a.eql(a.sqr(d),c),m=a.eql(a.sqr(l),c);u=a.cmov(u,d,f),d=a.cmov(p,l,m);let h=a.eql(a.sqr(d),c),g=a.cmov(u,d,h);return ZRe(a,g,c),g}}function QRe(e){if(e<Nyt)throw new Error("sqrt is not defined for small field");let t=e-Os,r=0;for(;t%r5===nd;)t/=r5,r++;let n=r5,i=Xte(e);for(;Jte(i,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Lyt;let o=i.pow(n,t),s=(t+Os)/r5;return function(c,u){if(c.is0(u))return u;if(Jte(c,u)!==1)throw new Error("Cannot find square root");let d=r,l=c.mul(c.ONE,o),p=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let m=1,h=c.sqr(p);for(;!c.eql(h,c.ONE);)if(m++,h=c.sqr(h),m===d)throw new Error("Cannot find square root");let g=Os<<BigInt(d-m-1),y=c.pow(l,g);d=m,l=c.sqr(y),p=c.mul(p,l),f=c.mul(f,y)}return f}}function Uyt(e){return e%Cyt===Nyt?Lyt:e%kyt===Myt?khn:e%Dyt===Nhn?Dhn(e):QRe(e)}var Lhn=(e,t)=>(al(e,t)&Os)===Os;zi.isNegativeLE=Lhn;var Uhn=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Bhn(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Uhn.reduce((n,i)=>(n[i]="function",n),t);return(0,cl._validateObject)(e,r),e}function e8e(e,t,r){if(r<nd)throw new Error("invalid exponent, negatives unsupported");if(r===nd)return e.ONE;if(r===Os)return t;let n=e.ONE,i=t;for(;r>nd;)r&Os&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Os;return n}function Byt(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),i=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),o=e.inv(i);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),o),n}function jhn(e,t,r){return e.mul(t,typeof r=="bigint"?Yte(r,e.ORDER):e.inv(r))}function Jte(e,t){let r=(e.ORDER-Os)/r5,n=e.pow(t,r),i=e.eql(n,e.ONE),o=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!i&&!o&&!s)throw new Error("invalid Legendre symbol result");return i?1:o?0:-1}function qhn(e,t){return Jte(e,t)===1}function t8e(e,t){t!==void 0&&(0,cl.anumber)(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Xte(e,t,r=!1,n={}){if(e<=nd)throw new Error("invalid field: expected ORDER > 0, got "+e);let i,o,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let p=t;p.BITS&&(i=p.BITS),p.sqrt&&(o=p.sqrt),typeof p.isLE=="boolean"&&(r=p.isLE),typeof p.modFromBytes=="boolean"&&(s=p.modFromBytes),a=p.allowedLengths}else typeof t=="number"&&(i=t),n.sqrt&&(o=n.sqrt);let{nBitLength:c,nByteLength:u}=t8e(e,i);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d,l=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:(0,cl.bitMask)(c),ZERO:nd,ONE:Os,allowedLengths:a,create:p=>al(p,e),isValid:p=>{if(typeof p!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof p);return nd<=p&&p<e},is0:p=>p===nd,isValidNot0:p=>!l.is0(p)&&l.isValid(p),isOdd:p=>(p&Os)===Os,neg:p=>al(-p,e),eql:(p,f)=>p===f,sqr:p=>al(p*p,e),add:(p,f)=>al(p+f,e),sub:(p,f)=>al(p-f,e),mul:(p,f)=>al(p*f,e),pow:(p,f)=>e8e(l,p,f),div:(p,f)=>al(p*Yte(f,e),e),sqrN:p=>p*p,addN:(p,f)=>p+f,subN:(p,f)=>p-f,mulN:(p,f)=>p*f,inv:p=>Yte(p,e),sqrt:o||(p=>(d||(d=Uyt(e)),d(l,p))),toBytes:p=>r?(0,cl.numberToBytesLE)(p,u):(0,cl.numberToBytesBE)(p,u),fromBytes:(p,f=!0)=>{if(a){if(!a.includes(p.length)||p.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+p.length);let h=new Uint8Array(u);h.set(p,r?0:h.length-p.length),p=h}if(p.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+p.length);let m=r?(0,cl.bytesToNumberLE)(p):(0,cl.bytesToNumberBE)(p);if(s&&(m=al(m,e)),!f&&!l.isValid(m))throw new Error("invalid field element: outside of range 0..ORDER");return m},invertBatch:p=>Byt(l,p),cmov:(p,f,m)=>m?f:p});return Object.freeze(l)}function Hhn(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?r:e.neg(r)}function Vhn(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function Fhn(e,t,r=!1){e=(0,cl.ensureBytes)("privateHash",e);let n=e.length,i=t8e(t).nByteLength+8;if(i<24||n<i||n>1024)throw new Error("hashToPrivateScalar: expected "+i+"-1024 bytes of input, got "+n);let o=r?(0,cl.bytesToNumberLE)(e):(0,cl.bytesToNumberBE)(e);return al(o,t-Os)+Os}function r8e(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function jyt(e){let t=r8e(e);return t+Math.ceil(t/2)}function $hn(e,t,r=!1){let n=e.length,i=r8e(t),o=jyt(t);if(n<16||n<o||n>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+n);let s=r?(0,cl.bytesToNumberLE)(e):(0,cl.bytesToNumberBE)(e),a=al(s,t-Os)+Os;return r?(0,cl.numberToBytesLE)(a,i):(0,cl.numberToBytesBE)(a,i)}});var Gyt=_(wh=>{"use strict";Object.defineProperty(wh,"__esModule",{value:!0});wh.wNAF=void 0;wh.negateCt=s8e;wh.normalizeZ=zhn;wh.mulEndoUnsafe=Ghn;wh.pippenger=Khn;wh.precomputeMSMUnsafe=Whn;wh.validateBasic=Yhn;wh._createCurveFields=Jhn;var YB=B8(),JB=n5(),j8=BigInt(0),i5=BigInt(1);function s8e(e,t){let r=t.negate();return e?r:t}function zhn(e,t){let r=(0,JB.FpInvertBatch)(e.Fp,t.map(n=>n.Z));return t.map((n,i)=>e.fromAffine(n.toAffine(r[i])))}function c8e(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function n8e(e,t){c8e(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),i=2**e,o=(0,YB.bitMask)(e),s=BigInt(e);return{windows:r,windowSize:n,mask:o,maxNumber:i,shiftBy:s}}function qyt(e,t,r){let{windowSize:n,mask:i,maxNumber:o,shiftBy:s}=r,a=Number(e&i),c=e>>s;a>n&&(a-=o,c+=i5);let u=t*n,d=u+Math.abs(a)-1,l=a===0,p=a<0,f=t%2!==0;return{nextN:c,offset:d,isZero:l,isNeg:p,isNegF:f,offsetF:u}}function Fyt(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function $yt(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var i8e=new WeakMap,zyt=new WeakMap;function o8e(e){return zyt.get(e)||1}function Hyt(e){if(e!==j8)throw new Error("invalid wNAF")}var a8e=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let i=t;for(;r>j8;)r&i5&&(n=n.add(i)),i=i.double(),r>>=i5;return n}precomputeWindow(t,r){let{windows:n,windowSize:i}=n8e(r,this.bits),o=[],s=t,a=s;for(let c=0;c<n;c++){a=s,o.push(a);for(let u=1;u<i;u++)a=a.add(s),o.push(a);s=a.double()}return o}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let i=this.ZERO,o=this.BASE,s=n8e(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:d,isNeg:l,isNegF:p,offsetF:f}=qyt(n,a,s);n=c,d?o=o.add(s8e(p,r[f])):i=i.add(s8e(l,r[u]))}return Hyt(n),{p:i,f:o}}wNAFUnsafe(t,r,n,i=this.ZERO){let o=n8e(t,this.bits);for(let s=0;s<o.windows&&n!==j8;s++){let{nextN:a,offset:c,isZero:u,isNeg:d}=qyt(n,s,o);if(n=a,!u){let l=r[c];i=i.add(d?l.negate():l)}}return Hyt(n),i}getPrecomputes(t,r,n){let i=i8e.get(r);return i||(i=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(i=n(i)),i8e.set(r,i))),i}cached(t,r,n){let i=o8e(t);return this.wNAF(i,this.getPrecomputes(i,t,n),r)}unsafe(t,r,n,i){let o=o8e(t);return o===1?this._unsafeLadder(t,r,i):this.wNAFUnsafe(o,this.getPrecomputes(o,t,n),r,i)}createCache(t,r){c8e(r,this.bits),zyt.set(t,r),i8e.delete(t)}hasCache(t){return o8e(t)!==1}};wh.wNAF=a8e;function Ghn(e,t,r,n){let i=t,o=e.ZERO,s=e.ZERO;for(;r>j8||n>j8;)r&i5&&(o=o.add(i)),n&i5&&(s=s.add(i)),i=i.double(),r>>=i5,n>>=i5;return{p1:o,p2:s}}function Khn(e,t,r,n){Fyt(r,e),$yt(n,t);let i=r.length,o=n.length;if(i!==o)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=(0,YB.bitLen)(BigInt(i)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=(0,YB.bitMask)(c),d=new Array(Number(u)+1).fill(s),l=Math.floor((t.BITS-1)/c)*c,p=s;for(let f=l;f>=0;f-=c){d.fill(s);for(let h=0;h<o;h++){let g=n[h],y=Number(g>>BigInt(f)&u);d[y]=d[y].add(r[h])}let m=s;for(let h=d.length-1,g=s;h>0;h--)g=g.add(d[h]),m=m.add(g);if(p=p.add(m),f!==0)for(let h=0;h<c;h++)p=p.double()}return p}function Whn(e,t,r,n){c8e(n,t.BITS),Fyt(r,e);let i=e.ZERO,o=2**n-1,s=Math.ceil(t.BITS/n),a=(0,YB.bitMask)(n),c=r.map(u=>{let d=[];for(let l=0,p=u;l<o;l++)d.push(p),p=p.add(u);return d});return u=>{if($yt(u,t),u.length>r.length)throw new Error("array of scalars must be smaller than array of points");let d=i;for(let l=0;l<s;l++){if(d!==i)for(let f=0;f<n;f++)d=d.double();let p=BigInt(s*n-(l+1)*n);for(let f=0;f<u.length;f++){let m=u[f],h=Number(m>>p&a);h&&(d=d.add(c[f][h-1]))}}return d}}function Yhn(e){return(0,JB.validateField)(e.Fp),(0,YB.validateObject)(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...(0,JB.nLength)(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function Vyt(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return(0,JB.validateField)(t),t}else return(0,JB.Field)(e,{isLE:r})}function Jhn(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>j8))throw new Error(`CURVE.${c} must be positive bigint`)}let i=Vyt(t.p,r.Fp,n),o=Vyt(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!i.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:i,Fn:o}}});var Qte=_(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.DER=yi.DERErr=void 0;yi._splitEndoScalar=Wyt;yi._normFnElement=sT;yi.weierstrassN=p8e;yi.SWUFpSqrtRatio=Jyt;yi.mapToCurveSimpleSWU=Qhn;yi.ecdh=Zyt;yi.ecdsa=Qyt;yi.weierstrassPoints=e0n;yi._legacyHelperEquat=tbt;yi.weierstrass=i0n;var Xhn=hv(),Zhn=Zo(),pt=B8(),db=Gyt(),H8=n5(),Kyt=(e,t)=>(e+(e>=0?t:-t)/Ug)/t;function Wyt(e,t,r){let[[n,i],[o,s]]=t,a=Kyt(s*e,r),c=Kyt(-i*e,r),u=e-a*n-c*o,d=-a*i-c*s,l=u<Ih,p=d<Ih;l&&(u=-u),p&&(d=-d);let f=(0,pt.bitMask)(Math.ceil((0,pt.bitLen)(r)/2))+Sc;if(u<Ih||u>=f||d<Ih||d>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:l,k1:u,k2neg:p,k2:d}}function d8e(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function u8e(e,t){let r={};for(let n of Object.keys(t))r[n]=e[n]===void 0?t[n]:e[n];return(0,pt._abool2)(r.lowS,"lowS"),(0,pt._abool2)(r.prehash,"prehash"),r.format!==void 0&&d8e(r.format),r}var Zte=class extends Error{constructor(t=""){super(t)}};yi.DERErr=Zte;yi.DER={Err:Zte,_tlv:{encode:(e,t)=>{let{Err:r}=yi.DER;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,i=(0,pt.numberToHexUnpadded)(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");let o=n>127?(0,pt.numberToHexUnpadded)(i.length/2|128):"";return(0,pt.numberToHexUnpadded)(e)+o+i+t},decode(e,t){let{Err:r}=yi.DER,n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let i=t[n++],o=!!(i&128),s=0;if(!o)s=i;else{let c=i&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=t.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let d of u)s=s<<8|d;if(n+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){let{Err:t}=yi.DER;if(e<Ih)throw new t("integer: negative integers are not allowed");let r=(0,pt.numberToHexUnpadded)(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=yi.DER;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return(0,pt.bytesToNumberBE)(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=yi.DER,i=(0,pt.ensureBytes)("signature",e),{v:o,l:s}=n.decode(48,i);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,o),{v:u,l:d}=n.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(e){let{_tlv:t,_int:r}=yi.DER,n=t.encode(2,r.encode(e.r)),i=t.encode(2,r.encode(e.s)),o=n+i;return t.encode(48,o)}};var Ih=BigInt(0),Sc=BigInt(1),Ug=BigInt(2),q8=BigInt(3),l8e=BigInt(4);function sT(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let i=(0,pt.ensureBytes)("private key",t);try{n=e.fromBytes(i)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function p8e(e,t={}){let r=(0,db._createCurveFields)("weierstrass",e,t),{Fp:n,Fn:i}=r,o=r.CURVE,{h:s,n:a}=o;(0,pt._validateObject)(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(o.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Xyt(n,i);function d(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function l(D,B,M){let{x:R,y:k}=B.toAffine(),U=n.toBytes(R);if((0,pt._abool2)(M,"isCompressed"),M){d();let L=!n.isOdd(k);return(0,pt.concatBytes)(Yyt(L),U)}else return(0,pt.concatBytes)(Uint8Array.of(4),U,n.toBytes(k))}function p(D){(0,pt._abytes2)(D,void 0,"Point");let{publicKey:B,publicKeyUncompressed:M}=u,R=D.length,k=D[0],U=D.subarray(1);if(R===B&&(k===2||k===3)){let L=n.fromBytes(U);if(!n.isValid(L))throw new Error("bad point: is not on curve, wrong x");let q=h(L),j;try{j=n.sqrt(q)}catch(ee){let ne=ee instanceof Error?": "+ee.message:"";throw new Error("bad point: is not on curve, sqrt error"+ne)}d();let F=n.isOdd(j);return(k&1)===1!==F&&(j=n.neg(j)),{x:L,y:j}}else if(R===M&&k===4){let L=n.BYTES,q=n.fromBytes(U.subarray(0,L)),j=n.fromBytes(U.subarray(L,L*2));if(!g(q,j))throw new Error("bad point: is not on curve");return{x:q,y:j}}else throw new Error(`bad point: got length ${R}, expected compressed=${B} or uncompressed=${M}`)}let f=t.toBytes||l,m=t.fromBytes||p;function h(D){let B=n.sqr(D),M=n.mul(B,D);return n.add(n.add(M,n.mul(D,o.a)),o.b)}function g(D,B){let M=n.sqr(B),R=h(D);return n.eql(M,R)}if(!g(o.Gx,o.Gy))throw new Error("bad curve params: generator point");let y=n.mul(n.pow(o.a,q8),l8e),S=n.mul(n.sqr(o.b),BigInt(27));if(n.is0(n.add(y,S)))throw new Error("bad curve params: a or b");function b(D,B,M=!1){if(!n.isValid(B)||M&&n.is0(B))throw new Error(`bad point coordinate ${D}`);return B}function E(D){if(!(D instanceof O))throw new Error("ProjectivePoint expected")}function T(D){if(!c||!c.basises)throw new Error("no endo");return Wyt(D,c.basises,i.ORDER)}let w=(0,pt.memoized)((D,B)=>{let{X:M,Y:R,Z:k}=D;if(n.eql(k,n.ONE))return{x:M,y:R};let U=D.is0();B==null&&(B=U?n.ONE:n.inv(k));let L=n.mul(M,B),q=n.mul(R,B),j=n.mul(k,B);if(U)return{x:n.ZERO,y:n.ZERO};if(!n.eql(j,n.ONE))throw new Error("invZ was invalid");return{x:L,y:q}}),I=(0,pt.memoized)(D=>{if(D.is0()){if(t.allowInfinityPoint&&!n.is0(D.Y))return;throw new Error("bad point: ZERO")}let{x:B,y:M}=D.toAffine();if(!n.isValid(B)||!n.isValid(M))throw new Error("bad point: x or y not field elements");if(!g(B,M))throw new Error("bad point: equation left != right");if(!D.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function N(D,B,M,R,k){return M=new O(n.mul(M.X,D),M.Y,M.Z),B=(0,db.negateCt)(R,B),M=(0,db.negateCt)(k,M),B.add(M)}class O{constructor(B,M,R){this.X=b("x",B),this.Y=b("y",M,!0),this.Z=b("z",R),Object.freeze(this)}static CURVE(){return o}static fromAffine(B){let{x:M,y:R}=B||{};if(!B||!n.isValid(M)||!n.isValid(R))throw new Error("invalid affine point");if(B instanceof O)throw new Error("projective point not allowed");return n.is0(M)&&n.is0(R)?O.ZERO:new O(M,R,n.ONE)}static fromBytes(B){let M=O.fromAffine(m((0,pt._abytes2)(B,void 0,"point")));return M.assertValidity(),M}static fromHex(B){return O.fromBytes((0,pt.ensureBytes)("pointHex",B))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(B=8,M=!0){return x.createCache(this,B),M||this.multiply(q8),this}assertValidity(){I(this)}hasEvenY(){let{y:B}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(B)}equals(B){E(B);let{X:M,Y:R,Z:k}=this,{X:U,Y:L,Z:q}=B,j=n.eql(n.mul(M,q),n.mul(U,k)),F=n.eql(n.mul(R,q),n.mul(L,k));return j&&F}negate(){return new O(this.X,n.neg(this.Y),this.Z)}double(){let{a:B,b:M}=o,R=n.mul(M,q8),{X:k,Y:U,Z:L}=this,q=n.ZERO,j=n.ZERO,F=n.ZERO,H=n.mul(k,k),ee=n.mul(U,U),ne=n.mul(L,L),Q=n.mul(k,U);return Q=n.add(Q,Q),F=n.mul(k,L),F=n.add(F,F),q=n.mul(B,F),j=n.mul(R,ne),j=n.add(q,j),q=n.sub(ee,j),j=n.add(ee,j),j=n.mul(q,j),q=n.mul(Q,q),F=n.mul(R,F),ne=n.mul(B,ne),Q=n.sub(H,ne),Q=n.mul(B,Q),Q=n.add(Q,F),F=n.add(H,H),H=n.add(F,H),H=n.add(H,ne),H=n.mul(H,Q),j=n.add(j,H),ne=n.mul(U,L),ne=n.add(ne,ne),H=n.mul(ne,Q),q=n.sub(q,H),F=n.mul(ne,ee),F=n.add(F,F),F=n.add(F,F),new O(q,j,F)}add(B){E(B);let{X:M,Y:R,Z:k}=this,{X:U,Y:L,Z:q}=B,j=n.ZERO,F=n.ZERO,H=n.ZERO,ee=o.a,ne=n.mul(o.b,q8),Q=n.mul(M,U),le=n.mul(R,L),_e=n.mul(k,q),we=n.add(M,R),Ee=n.add(U,L);we=n.mul(we,Ee),Ee=n.add(Q,le),we=n.sub(we,Ee),Ee=n.add(M,k);let Te=n.add(U,q);return Ee=n.mul(Ee,Te),Te=n.add(Q,_e),Ee=n.sub(Ee,Te),Te=n.add(R,k),j=n.add(L,q),Te=n.mul(Te,j),j=n.add(le,_e),Te=n.sub(Te,j),H=n.mul(ee,Ee),j=n.mul(ne,_e),H=n.add(j,H),j=n.sub(le,H),H=n.add(le,H),F=n.mul(j,H),le=n.add(Q,Q),le=n.add(le,Q),_e=n.mul(ee,_e),Ee=n.mul(ne,Ee),le=n.add(le,_e),_e=n.sub(Q,_e),_e=n.mul(ee,_e),Ee=n.add(Ee,_e),Q=n.mul(le,Ee),F=n.add(F,Q),Q=n.mul(Te,Ee),j=n.mul(we,j),j=n.sub(j,Q),Q=n.mul(we,le),H=n.mul(Te,H),H=n.add(H,Q),new O(j,F,H)}subtract(B){return this.add(B.negate())}is0(){return this.equals(O.ZERO)}multiply(B){let{endo:M}=t;if(!i.isValidNot0(B))throw new Error("invalid scalar: out of range");let R,k,U=L=>x.cached(this,L,q=>(0,db.normalizeZ)(O,q));if(M){let{k1neg:L,k1:q,k2neg:j,k2:F}=T(B),{p:H,f:ee}=U(q),{p:ne,f:Q}=U(F);k=ee.add(Q),R=N(M.beta,H,ne,L,j)}else{let{p:L,f:q}=U(B);R=L,k=q}return(0,db.normalizeZ)(O,[R,k])[0]}multiplyUnsafe(B){let{endo:M}=t,R=this;if(!i.isValid(B))throw new Error("invalid scalar: out of range");if(B===Ih||R.is0())return O.ZERO;if(B===Sc)return R;if(x.hasCache(this))return this.multiply(B);if(M){let{k1neg:k,k1:U,k2neg:L,k2:q}=T(B),{p1:j,p2:F}=(0,db.mulEndoUnsafe)(O,R,U,q);return N(M.beta,j,F,k,L)}else return x.unsafe(R,B)}multiplyAndAddUnsafe(B,M,R){let k=this.multiplyUnsafe(M).add(B.multiplyUnsafe(R));return k.is0()?void 0:k}toAffine(B){return w(this,B)}isTorsionFree(){let{isTorsionFree:B}=t;return s===Sc?!0:B?B(O,this):x.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:B}=t;return s===Sc?this:B?B(O,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(B=!0){return(0,pt._abool2)(B,"isCompressed"),this.assertValidity(),f(O,this,B)}toHex(B=!0){return(0,pt.bytesToHex)(this.toBytes(B))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(B=!0){return this.toBytes(B)}_setWindowSize(B){this.precompute(B)}static normalizeZ(B){return(0,db.normalizeZ)(O,B)}static msm(B,M){return(0,db.pippenger)(O,i,B,M)}static fromPrivateKey(B){return O.BASE.multiply(sT(i,B))}}O.BASE=new O(o.Gx,o.Gy,n.ONE),O.ZERO=new O(n.ZERO,n.ONE,n.ZERO),O.Fp=n,O.Fn=i;let P=i.BITS,x=new db.wNAF(O,t.endo?Math.ceil(P/2):P);return O.BASE.precompute(8),O}function Yyt(e){return Uint8Array.of(e?2:3)}function Jyt(e,t){let r=e.ORDER,n=Ih;for(let m=r-Sc;m%Ug===Ih;m/=Ug)n+=Sc;let i=n,o=Ug<<i-Sc-Sc,s=o*Ug,a=(r-Sc)/s,c=(a-Sc)/Ug,u=s-Sc,d=o,l=e.pow(t,a),p=e.pow(t,(a+Sc)/Ug),f=(m,h)=>{let g=l,y=e.pow(h,u),S=e.sqr(y);S=e.mul(S,h);let b=e.mul(m,S);b=e.pow(b,c),b=e.mul(b,y),y=e.mul(b,h),S=e.mul(b,m);let E=e.mul(S,y);b=e.pow(E,d);let T=e.eql(b,e.ONE);y=e.mul(S,p),b=e.mul(E,g),S=e.cmov(y,S,T),E=e.cmov(b,E,T);for(let w=i;w>Sc;w--){let I=w-Ug;I=Ug<<I-Sc;let N=e.pow(E,I),O=e.eql(N,e.ONE);y=e.mul(S,g),g=e.mul(g,g),N=e.mul(E,g),S=e.cmov(y,S,O),E=e.cmov(N,E,O)}return{isValid:T,value:S}};if(e.ORDER%l8e===q8){let m=(e.ORDER-q8)/l8e,h=e.sqrt(e.neg(t));f=(g,y)=>{let S=e.sqr(y),b=e.mul(g,y);S=e.mul(S,b);let E=e.pow(S,m);E=e.mul(E,b);let T=e.mul(E,h),w=e.mul(e.sqr(E),y),I=e.eql(w,g),N=e.cmov(T,E,I);return{isValid:I,value:N}}}return f}function Qhn(e,t){(0,H8.validateField)(e);let{A:r,B:n,Z:i}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(i))throw new Error("mapToCurveSimpleSWU: invalid opts");let o=Jyt(e,i);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,d,l,p,f,m;a=e.sqr(s),a=e.mul(a,i),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),d=e.cmov(i,e.neg(c),!e.eql(c,e.ZERO)),d=e.mul(d,r),c=e.sqr(u),p=e.sqr(d),l=e.mul(p,r),c=e.add(c,l),c=e.mul(c,u),p=e.mul(p,d),l=e.mul(p,n),c=e.add(c,l),f=e.mul(a,u);let{isValid:h,value:g}=o(c,p);m=e.mul(a,s),m=e.mul(m,g),f=e.cmov(f,u,h),m=e.cmov(m,g,h);let y=e.isOdd(s)===e.isOdd(m);m=e.cmov(e.neg(m),m,y);let S=(0,H8.FpInvertBatch)(e,[d],!0)[0];return f=e.mul(f,S),{x:f,y:m}}}function Xyt(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Zyt(e,t={}){let{Fn:r}=e,n=t.randomBytes||pt.randomBytes,i=Object.assign(Xyt(e.Fp,r),{seed:(0,H8.getMinHashLength)(r.ORDER)});function o(f){try{return!!sT(r,f)}catch{return!1}}function s(f,m){let{publicKey:h,publicKeyUncompressed:g}=i;try{let y=f.length;return m===!0&&y!==h||m===!1&&y!==g?!1:!!e.fromBytes(f)}catch{return!1}}function a(f=n(i.seed)){return(0,H8.mapHashToField)((0,pt._abytes2)(f,i.seed,"seed"),r.ORDER)}function c(f,m=!0){return e.BASE.multiply(sT(r,f)).toBytes(m)}function u(f){let m=a(f);return{secretKey:m,publicKey:c(m)}}function d(f){if(typeof f=="bigint")return!1;if(f instanceof e)return!0;let{secretKey:m,publicKey:h,publicKeyUncompressed:g}=i;if(r.allowedLengths||m===h)return;let y=(0,pt.ensureBytes)("key",f).length;return y===h||y===g}function l(f,m,h=!0){if(d(f)===!0)throw new Error("first arg must be private key");if(d(m)===!1)throw new Error("second arg must be public key");let g=sT(r,f);return e.fromHex(m).multiply(g).toBytes(h)}return Object.freeze({getPublicKey:c,getSharedSecret:l,keygen:u,Point:e,utils:{isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a,isValidPrivateKey:o,randomPrivateKey:a,normPrivateKeyToScalar:f=>sT(r,f),precompute(f=8,m=e.BASE){return m.precompute(f,!1)}},lengths:i})}function Qyt(e,t,r={}){(0,Zhn.ahash)(t),(0,pt._validateObject)(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let n=r.randomBytes||pt.randomBytes,i=r.hmac||((M,...R)=>(0,Xhn.hmac)(t,M,(0,pt.concatBytes)(...R))),{Fp:o,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:u,getPublicKey:d,getSharedSecret:l,utils:p,lengths:f}=Zyt(e,r),m={prehash:!1,lowS:typeof r.lowS=="boolean"?r.lowS:!1,format:void 0,extraEntropy:!1},h="compact";function g(M){let R=a>>Sc;return M>R}function y(M,R){if(!s.isValidNot0(R))throw new Error(`invalid signature ${M}: out of range 1..Point.Fn.ORDER`);return R}function S(M,R){d8e(R);let k=f.signature,U=R==="compact"?k:R==="recovered"?k+1:void 0;return(0,pt._abytes2)(M,U,`${R} signature`)}class b{constructor(R,k,U){this.r=y("r",R),this.s=y("s",k),U!=null&&(this.recovery=U),Object.freeze(this)}static fromBytes(R,k=h){S(R,k);let U;if(k==="der"){let{r:F,s:H}=yi.DER.toSig((0,pt._abytes2)(R));return new b(F,H)}k==="recovered"&&(U=R[0],k="compact",R=R.subarray(1));let L=s.BYTES,q=R.subarray(0,L),j=R.subarray(L,L*2);return new b(s.fromBytes(q),s.fromBytes(j),U)}static fromHex(R,k){return this.fromBytes((0,pt.hexToBytes)(R),k)}addRecoveryBit(R){return new b(this.r,this.s,R)}recoverPublicKey(R){let k=o.ORDER,{r:U,s:L,recovery:q}=this;if(q==null||![0,1,2,3].includes(q))throw new Error("recovery id invalid");if(a*Ug<k&&q>1)throw new Error("recovery id is ambiguous for h>1 curve");let F=q===2||q===3?U+a:U;if(!o.isValid(F))throw new Error("recovery id 2 or 3 invalid");let H=o.toBytes(F),ee=e.fromBytes((0,pt.concatBytes)(Yyt((q&1)===0),H)),ne=s.inv(F),Q=T((0,pt.ensureBytes)("msgHash",R)),le=s.create(-Q*ne),_e=s.create(L*ne),we=e.BASE.multiplyUnsafe(le).add(ee.multiplyUnsafe(_e));if(we.is0())throw new Error("point at infinify");return we.assertValidity(),we}hasHighS(){return g(this.s)}toBytes(R=h){if(d8e(R),R==="der")return(0,pt.hexToBytes)(yi.DER.hexFromSig(this));let k=s.toBytes(this.r),U=s.toBytes(this.s);if(R==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return(0,pt.concatBytes)(Uint8Array.of(this.recovery),k,U)}return(0,pt.concatBytes)(k,U)}toHex(R){return(0,pt.bytesToHex)(this.toBytes(R))}assertValidity(){}static fromCompact(R){return b.fromBytes((0,pt.ensureBytes)("sig",R),"compact")}static fromDER(R){return b.fromBytes((0,pt.ensureBytes)("sig",R),"der")}normalizeS(){return this.hasHighS()?new b(this.r,s.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return(0,pt.bytesToHex)(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return(0,pt.bytesToHex)(this.toBytes("compact"))}}let E=r.bits2int||function(R){if(R.length>8192)throw new Error("input is too large");let k=(0,pt.bytesToNumberBE)(R),U=R.length*8-c;return U>0?k>>BigInt(U):k},T=r.bits2int_modN||function(R){return s.create(E(R))},w=(0,pt.bitMask)(c);function I(M){return(0,pt.aInRange)("num < 2^"+c,M,Ih,w),s.toBytes(M)}function N(M,R){return(0,pt._abytes2)(M,void 0,"message"),R?(0,pt._abytes2)(t(M),void 0,"prehashed message"):M}function O(M,R,k){if(["recovered","canonical"].some(le=>le in k))throw new Error("sign() legacy options not supported");let{lowS:U,prehash:L,extraEntropy:q}=u8e(k,m);M=N(M,L);let j=T(M),F=sT(s,R),H=[I(F),I(j)];if(q!=null&&q!==!1){let le=q===!0?n(f.secretKey):q;H.push((0,pt.ensureBytes)("extraEntropy",le))}let ee=(0,pt.concatBytes)(...H),ne=j;function Q(le){let _e=E(le);if(!s.isValidNot0(_e))return;let we=s.inv(_e),Ee=e.BASE.multiply(_e).toAffine(),Te=s.create(Ee.x);if(Te===Ih)return;let Ke=s.create(we*s.create(ne+Te*F));if(Ke===Ih)return;let We=(Ee.x===Te?0:2)|Number(Ee.y&Sc),gt=Ke;return U&&g(Ke)&&(gt=s.neg(Ke),We^=1),new b(Te,gt,We)}return{seed:ee,k2sig:Q}}function P(M,R,k={}){M=(0,pt.ensureBytes)("message",M);let{seed:U,k2sig:L}=O(M,R,k);return(0,pt.createHmacDrbg)(t.outputLen,s.BYTES,i)(U,L)}function x(M){let R,k=typeof M=="string"||(0,pt.isBytes)(M),U=!k&&M!==null&&typeof M=="object"&&typeof M.r=="bigint"&&typeof M.s=="bigint";if(!k&&!U)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(U)R=new b(M.r,M.s);else if(k){try{R=b.fromBytes((0,pt.ensureBytes)("sig",M),"der")}catch(L){if(!(L instanceof yi.DER.Err))throw L}if(!R)try{R=b.fromBytes((0,pt.ensureBytes)("sig",M),"compact")}catch{return!1}}return R||!1}function D(M,R,k,U={}){let{lowS:L,prehash:q,format:j}=u8e(U,m);if(k=(0,pt.ensureBytes)("publicKey",k),R=N((0,pt.ensureBytes)("message",R),q),"strict"in U)throw new Error("options.strict was renamed to lowS");let F=j===void 0?x(M):b.fromBytes((0,pt.ensureBytes)("sig",M),j);if(F===!1)return!1;try{let H=e.fromBytes(k);if(L&&F.hasHighS())return!1;let{r:ee,s:ne}=F,Q=T(R),le=s.inv(ne),_e=s.create(Q*le),we=s.create(ee*le),Ee=e.BASE.multiplyUnsafe(_e).add(H.multiplyUnsafe(we));return Ee.is0()?!1:s.create(Ee.x)===ee}catch{return!1}}function B(M,R,k={}){let{prehash:U}=u8e(k,m);return R=N(R,U),b.fromBytes(M,"recovered").recoverPublicKey(R).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:l,utils:p,lengths:f,Point:e,sign:P,verify:D,recoverPublicKey:B,Signature:b,hash:t})}function e0n(e){let{CURVE:t,curveOpts:r}=ebt(e),n=p8e(t,r);return r0n(e,n)}function ebt(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,i=(0,H8.Field)(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),o={Fp:r,Fn:i,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:o}}function t0n(e){let{CURVE:t,curveOpts:r}=ebt(e),n={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,hash:e.hash,ecdsaOpts:n}}function tbt(e,t,r){function n(i){let o=e.sqr(i),s=e.mul(o,i);return e.add(e.add(s,e.mul(i,t)),r)}return n}function r0n(e,t){let{Fp:r,Fn:n}=t;function i(s){return(0,pt.inRange)(s,Sc,n.ORDER)}let o=tbt(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>sT(n,s),weierstrassEquation:o,isWithinCurveOrder:i})}function n0n(e,t){let r=t.Point;return Object.assign({},t,{ProjectivePoint:r,CURVE:Object.assign({},e,(0,H8.nLength)(r.Fn.ORDER,r.Fn.BITS))})}function i0n(e){let{CURVE:t,curveOpts:r,hash:n,ecdsaOpts:i}=t0n(e),o=p8e(t,r),s=Qyt(o,n,i);return n0n(e,s)}});var f8e=_(ere=>{"use strict";Object.defineProperty(ere,"__esModule",{value:!0});ere.getHash=s0n;ere.createCurve=a0n;var o0n=Qte();function s0n(e){return{hash:e}}function a0n(e,t){let r=n=>(0,o0n.weierstrass)({...e,hash:n});return{...r(t),create:r}}});var m8e=_(Bg=>{"use strict";Object.defineProperty(Bg,"__esModule",{value:!0});Bg._DST_scalar=void 0;Bg.expand_message_xmd=ibt;Bg.expand_message_xof=obt;Bg.hash_to_field=tre;Bg.isogenyMap=d0n;Bg.createHasher=l0n;var vc=B8(),rbt=n5(),c0n=vc.bytesToNumberBE;function aT(e,t){if(XB(e),XB(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function u0n(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function XB(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function nbt(e){if(!(0,vc.isBytes)(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?(0,vc.utf8ToBytes)(e):e}function ibt(e,t,r,n){(0,vc.abytes)(e),XB(r),t=nbt(t),t.length>255&&(t=n((0,vc.concatBytes)((0,vc.utf8ToBytes)("H2C-OVERSIZE-DST-"),t)));let{outputLen:i,blockLen:o}=n,s=Math.ceil(r/i);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=(0,vc.concatBytes)(t,aT(t.length,1)),c=aT(0,o),u=aT(r,2),d=new Array(s),l=n((0,vc.concatBytes)(c,e,u,aT(0,1),a));d[0]=n((0,vc.concatBytes)(l,aT(1,1),a));for(let f=1;f<=s;f++){let m=[u0n(l,d[f-1]),aT(f+1,1),a];d[f]=n((0,vc.concatBytes)(...m))}return(0,vc.concatBytes)(...d).slice(0,r)}function obt(e,t,r,n,i){if((0,vc.abytes)(e),XB(r),t=nbt(t),t.length>255){let o=Math.ceil(2*n/8);t=i.create({dkLen:o}).update((0,vc.utf8ToBytes)("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return i.create({dkLen:r}).update(e).update(aT(r,2)).update(t).update(aT(t.length,1)).digest()}function tre(e,t,r){(0,vc._validateObject)(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:i,m:o,hash:s,expand:a,DST:c}=r;if(!(0,vc.isHash)(r.hash))throw new Error("expected valid hash");(0,vc.abytes)(e),XB(t);let u=n.toString(2).length,d=Math.ceil((u+i)/8),l=t*o*d,p;if(a==="xmd")p=ibt(e,c,l,s);else if(a==="xof")p=obt(e,c,l,i,s);else if(a==="_internal_pass")p=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let m=0;m<t;m++){let h=new Array(o);for(let g=0;g<o;g++){let y=d*(g+m*o),S=p.subarray(y,y+d);h[g]=(0,rbt.mod)(c0n(S),n)}f[m]=h}return f}function d0n(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,i)=>{let[o,s,a,c]=r.map(l=>l.reduce((p,f)=>e.add(e.mul(p,n),f))),[u,d]=(0,rbt.FpInvertBatch)(e,[s,c],!0);return n=e.mul(o,u),i=e.mul(i,e.mul(a,d)),{x:n,y:i}}}Bg._DST_scalar=(0,vc.utf8ToBytes)("HashToScalar-");function l0n(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(o){return e.fromAffine(t(o))}function i(o){let s=o.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(o,s){let a=Object.assign({},r,s),c=tre(o,2,a),u=n(c[0]),d=n(c[1]);return i(u.add(d))},encodeToCurve(o,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=tre(o,1,c),d=n(u[0]);return i(d)},mapToCurve(o){if(!Array.isArray(o))throw new Error("expected array of bigints");for(let s of o)if(typeof s!="bigint")throw new Error("expected array of bigints");return i(n(o))},hashToScalar(o,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:Bg._DST_scalar},s);return tre(o,1,c)[0][0]}}}});var hbt=_(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.encodeToCurve=Tc.hashToCurve=Tc.secp256k1_hasher=Tc.schnorr=Tc.secp256k1=void 0;var rre=dg(),ubt=Zo(),p0n=f8e(),dbt=m8e(),id=n5(),lbt=Qte(),Sp=B8(),V8={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},f0n={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},m0n=BigInt(0),sbt=BigInt(1),h8e=BigInt(2);function h0n(e){let t=V8.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,d=u*u*e%t,l=(0,id.pow2)(d,r,t)*d%t,p=(0,id.pow2)(l,r,t)*d%t,f=(0,id.pow2)(p,h8e,t)*u%t,m=(0,id.pow2)(f,i,t)*f%t,h=(0,id.pow2)(m,o,t)*m%t,g=(0,id.pow2)(h,a,t)*h%t,y=(0,id.pow2)(g,c,t)*g%t,S=(0,id.pow2)(y,a,t)*h%t,b=(0,id.pow2)(S,r,t)*d%t,E=(0,id.pow2)(b,s,t)*m%t,T=(0,id.pow2)(E,n,t)*u%t,w=(0,id.pow2)(T,h8e,t);if(!lb.eql(lb.sqr(w),e))throw new Error("Cannot find square root");return w}var lb=(0,id.Field)(V8.p,{sqrt:h0n});Tc.secp256k1=(0,p0n.createCurve)({...V8,Fp:lb,lowS:!0,endo:f0n},rre.sha256);var abt={};function nre(e,...t){let r=abt[e];if(r===void 0){let n=(0,rre.sha256)((0,Sp.utf8ToBytes)(e));r=(0,Sp.concatBytes)(n,n),abt[e]=r}return(0,rre.sha256)((0,Sp.concatBytes)(r,...t))}var _8e=e=>e.toBytes(!0).slice(1),F8=Tc.secp256k1.Point,y8e=e=>e%h8e===m0n;function g8e(e){let{Fn:t,BASE:r}=F8,n=(0,lbt._normFnElement)(t,e),i=r.multiply(n);return{scalar:y8e(i.y)?n:t.neg(n),bytes:_8e(i)}}function pbt(e){let t=lb;if(!t.isValidNot0(e))throw new Error("invalid x: Fail if x \u2265 p");let r=t.create(e*e),n=t.create(r*e+BigInt(7)),i=t.sqrt(n);y8e(i)||(i=t.neg(i));let o=F8.fromAffine({x:e,y:i});return o.assertValidity(),o}var ZB=Sp.bytesToNumberBE;function fbt(...e){return F8.Fn.create(ZB(nre("BIP0340/challenge",...e)))}function cbt(e){return g8e(e).bytes}function g0n(e,t,r=(0,ubt.randomBytes)(32)){let{Fn:n}=F8,i=(0,Sp.ensureBytes)("message",e),{bytes:o,scalar:s}=g8e(t),a=(0,Sp.ensureBytes)("auxRand",r,32),c=n.toBytes(s^ZB(nre("BIP0340/aux",a))),u=nre("BIP0340/nonce",c,o,i),{bytes:d,scalar:l}=g8e(u),p=fbt(d,o,i),f=new Uint8Array(64);if(f.set(d,0),f.set(n.toBytes(n.create(l+p*s)),32),!mbt(f,i,o))throw new Error("sign: Invalid signature produced");return f}function mbt(e,t,r){let{Fn:n,BASE:i}=F8,o=(0,Sp.ensureBytes)("signature",e,64),s=(0,Sp.ensureBytes)("message",t),a=(0,Sp.ensureBytes)("publicKey",r,32);try{let c=pbt(ZB(a)),u=ZB(o.subarray(0,32));if(!(0,Sp.inRange)(u,sbt,V8.p))return!1;let d=ZB(o.subarray(32,64));if(!(0,Sp.inRange)(d,sbt,V8.n))return!1;let l=fbt(n.toBytes(u),_8e(c),s),p=i.multiplyUnsafe(d).add(c.multiplyUnsafe(n.neg(l))),{x:f,y:m}=p.toAffine();return!(p.is0()||!y8e(m)||f!==u)}catch{return!1}}Tc.schnorr=(()=>{let r=(i=(0,ubt.randomBytes)(48))=>(0,id.mapHashToField)(i,V8.n);Tc.secp256k1.utils.randomSecretKey;function n(i){let o=r(i);return{secretKey:o,publicKey:cbt(o)}}return{keygen:n,getPublicKey:cbt,sign:g0n,verify:mbt,Point:F8,utils:{randomSecretKey:r,randomPrivateKey:r,taggedHash:nre,lift_x:pbt,pointToBytes:_8e,numberToBytesBE:Sp.numberToBytesBE,bytesToNumberBE:Sp.bytesToNumberBE,mod:id.mod},lengths:{secretKey:32,publicKey:32,publicKeyHasPrefix:!1,signature:64,seed:48}}})();var _0n=(0,dbt.isogenyMap)(lb,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),y0n=(0,lbt.mapToCurveSimpleSWU)(lb,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:lb.create(BigInt("-11"))});Tc.secp256k1_hasher=(0,dbt.createHasher)(Tc.secp256k1.Point,e=>{let{x:t,y:r}=y0n(lb.create(e[0]));return _0n(t,r)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:lb.ORDER,m:1,k:128,expand:"xmd",hash:rre.sha256});Tc.hashToCurve=Tc.secp256k1_hasher.hashToCurve;Tc.encodeToCurve=Tc.secp256k1_hasher.encodeToCurve});var w8e=_(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.bytes=Fe.stringToBytes=Fe.str=Fe.bytesToString=Fe.hex=Fe.utf8=Fe.bech32m=Fe.bech32=Fe.base58check=Fe.createBase58check=Fe.base58xmr=Fe.base58xrp=Fe.base58flickr=Fe.base58=Fe.base64urlnopad=Fe.base64url=Fe.base64nopad=Fe.base64=Fe.base32crockford=Fe.base32hexnopad=Fe.base32hex=Fe.base32nopad=Fe.base32=Fe.base16=Fe.utils=void 0;function o5(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function S8e(e,...t){if(!o5(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Ebt(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(r=>typeof r=="string"):t.every(r=>Number.isSafeInteger(r)):!1}function v8e(e){if(typeof e!="function")throw new Error("function expected");return!0}function cT(e,t){if(typeof t!="string")throw new Error(`${e}: string expected`);return!0}function $8(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function ore(e){if(!Array.isArray(e))throw new Error("array expected")}function sre(e,t){if(!Ebt(!0,t))throw new Error(`${e}: array of strings expected`)}function T8e(e,t){if(!Ebt(!1,t))throw new Error(`${e}: array of numbers expected`)}function od(...e){let t=o=>o,r=(o,s)=>a=>o(s(a)),n=e.map(o=>o.encode).reduceRight(r,t),i=e.map(o=>o.decode).reduce(r,t);return{encode:n,decode:i}}function ul(e){let t=typeof e=="string"?e.split(""):e,r=t.length;sre("alphabet",t);let n=new Map(t.map((i,o)=>[i,o]));return{encode:i=>(ore(i),i.map(o=>{if(!Number.isSafeInteger(o)||o<0||o>=r)throw new Error(`alphabet.encode: digit index outside alphabet "${o}". Allowed: ${e}`);return t[o]})),decode:i=>(ore(i),i.map(o=>{cT("alphabet.decode",o);let s=n.get(o);if(s===void 0)throw new Error(`Unknown letter: "${o}". Allowed: ${e}`);return s}))}}function dl(e=""){return cT("join",e),{encode:t=>(sre("join.decode",t),t.join(e)),decode:t=>(cT("join.decode",t),t.split(e))}}function ej(e,t="="){return $8(e),cT("padding",t),{encode(r){for(sre("padding.encode",r);r.length*e%8;)r.push(t);return r},decode(r){sre("padding.decode",r);let n=r.length;if(n*e%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;n>0&&r[n-1]===t;n--)if((n-1)*e%8===0)throw new Error("padding: invalid, string has too much padding");return r.slice(0,n)}}}function Sbt(e){return v8e(e),{encode:t=>t,decode:t=>e(t)}}function b8e(e,t,r){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(r<2)throw new Error(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(ore(e),!e.length)return[];let n=0,i=[],o=Array.from(e,a=>{if($8(a),a<0||a>=t)throw new Error(`invalid integer: ${a}`);return a}),s=o.length;for(;;){let a=0,c=!0;for(let u=n;u<s;u++){let d=o[u],l=t*a,p=l+d;if(!Number.isSafeInteger(p)||l/t!==a||p-d!==l)throw new Error("convertRadix: carry overflow");let f=p/r;a=p%r;let m=Math.floor(f);if(o[u]=m,!Number.isSafeInteger(m)||m*r+a!==p)throw new Error("convertRadix: carry overflow");if(c)m?c=!1:n=u;else continue}if(i.push(a),c)break}for(let a=0;a<e.length-1&&e[a]===0;a++)i.push(0);return i.reverse()}var vbt=(e,t)=>t===0?e:vbt(t,e%t),are=(e,t)=>e+(t-vbt(e,t)),ire=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function cre(e,t,r,n){if(ore(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw new Error(`convertRadix2: wrong to=${r}`);if(are(t,r)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${are(t,r)}`);let i=0,o=0,s=ire[t],a=ire[r]-1,c=[];for(let u of e){if($8(u),u>=s)throw new Error(`convertRadix2: invalid data word=${u} from=${t}`);if(i=i<<t|u,o+t>32)throw new Error(`convertRadix2: carry overflow pos=${o} from=${t}`);for(o+=t;o>=r;o-=r)c.push((i>>o-r&a)>>>0);let d=ire[o];if(d===void 0)throw new Error("invalid carry");i&=d-1}if(i=i<<r-o&a,!n&&o>=t)throw new Error("Excess padding");if(!n&&i>0)throw new Error(`Non-zero padding: ${i}`);return n&&o>0&&c.push(i>>>0),c}function Tbt(e){$8(e);let t=2**8;return{encode:r=>{if(!o5(r))throw new Error("radix.encode input should be Uint8Array");return b8e(Array.from(r),t,e)},decode:r=>(T8e("radix.decode",r),Uint8Array.from(b8e(r,e,t)))}}function vp(e,t=!1){if($8(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(are(8,e)>32||are(e,8)>32)throw new Error("radix2: carry overflow");return{encode:r=>{if(!o5(r))throw new Error("radix2.encode input should be Uint8Array");return cre(Array.from(r),8,e,!t)},decode:r=>(T8e("radix2.decode",r),Uint8Array.from(cre(r,e,8,t)))}}function gbt(e){return v8e(e),function(...t){try{return e.apply(null,t)}catch{}}}function Abt(e,t){return $8(e),v8e(t),{encode(r){if(!o5(r))throw new Error("checksum.encode: input should be Uint8Array");let n=t(r).slice(0,e),i=new Uint8Array(r.length+e);return i.set(r),i.set(n,r.length),i},decode(r){if(!o5(r))throw new Error("checksum.decode: input should be Uint8Array");let n=r.slice(0,-e),i=r.slice(-e),o=t(n).slice(0,e);for(let s=0;s<e;s++)if(o[s]!==i[s])throw new Error("Invalid checksum");return n}}}Fe.utils={alphabet:ul,chain:od,checksum:Abt,convertRadix:b8e,convertRadix2:cre,radix:Tbt,radix2:vp,join:dl,padding:ej};Fe.base16=od(vp(4),ul("0123456789ABCDEF"),dl(""));Fe.base32=od(vp(5),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),ej(5),dl(""));Fe.base32nopad=od(vp(5),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),dl(""));Fe.base32hex=od(vp(5),ul("0123456789ABCDEFGHIJKLMNOPQRSTUV"),ej(5),dl(""));Fe.base32hexnopad=od(vp(5),ul("0123456789ABCDEFGHIJKLMNOPQRSTUV"),dl(""));Fe.base32crockford=od(vp(5),ul("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),dl(""),Sbt(e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));var wbt=typeof Uint8Array.from([]).toBase64=="function"&&typeof Uint8Array.fromBase64=="function",Ibt=(e,t)=>{cT("base64",e);let r=t?/^[A-Za-z0-9=_-]+$/:/^[A-Za-z0-9=+/]+$/,n=t?"base64url":"base64";if(e.length>0&&!r.test(e))throw new Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:n,lastChunkHandling:"strict"})};Fe.base64=wbt?{encode(e){return S8e(e),e.toBase64()},decode(e){return Ibt(e,!1)}}:od(vp(6),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),ej(6),dl(""));Fe.base64nopad=od(vp(6),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),dl(""));Fe.base64url=wbt?{encode(e){return S8e(e),e.toBase64({alphabet:"base64url"})},decode(e){return Ibt(e,!0)}}:od(vp(6),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),ej(6),dl(""));Fe.base64urlnopad=od(vp(6),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),dl(""));var A8e=e=>od(Tbt(58),ul(e),dl(""));Fe.base58=A8e("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");Fe.base58flickr=A8e("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");Fe.base58xrp=A8e("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");var _bt=[0,2,3,5,6,7,9,10,11];Fe.base58xmr={encode(e){let t="";for(let r=0;r<e.length;r+=8){let n=e.subarray(r,r+8);t+=Fe.base58.encode(n).padStart(_bt[n.length],"1")}return t},decode(e){let t=[];for(let r=0;r<e.length;r+=11){let n=e.slice(r,r+11),i=_bt.indexOf(n.length),o=Fe.base58.decode(n);for(let s=0;s<o.length-i;s++)if(o[s]!==0)throw new Error("base58xmr: wrong padding");t=t.concat(Array.from(o.slice(o.length-i)))}return Uint8Array.from(t)}};var b0n=e=>od(Abt(4,t=>e(e(t))),Fe.base58);Fe.createBase58check=b0n;Fe.base58check=Fe.createBase58check;var E8e=od(ul("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),dl("")),ybt=[996825010,642813549,513874426,1027748829,705979059];function QB(e){let t=e>>25,r=(e&33554431)<<5;for(let n=0;n<ybt.length;n++)(t>>n&1)===1&&(r^=ybt[n]);return r}function bbt(e,t,r=1){let n=e.length,i=1;for(let o=0;o<n;o++){let s=e.charCodeAt(o);if(s<33||s>126)throw new Error(`Invalid prefix (${e})`);i=QB(i)^s>>5}i=QB(i);for(let o=0;o<n;o++)i=QB(i)^e.charCodeAt(o)&31;for(let o of t)i=QB(i)^o;for(let o=0;o<6;o++)i=QB(i);return i^=r,E8e.encode(cre([i%ire[30]],30,5,!1))}function Pbt(e){let t=e==="bech32"?1:734539939,r=vp(5),n=r.decode,i=r.encode,o=gbt(n);function s(l,p,f=90){cT("bech32.encode prefix",l),o5(p)&&(p=Array.from(p)),T8e("bech32.encode",p);let m=l.length;if(m===0)throw new TypeError(`Invalid prefix length ${m}`);let h=m+7+p.length;if(f!==!1&&h>f)throw new TypeError(`Length ${h} exceeds limit ${f}`);let g=l.toLowerCase(),y=bbt(g,p,t);return`${g}1${E8e.encode(p)}${y}`}function a(l,p=90){cT("bech32.decode input",l);let f=l.length;if(f<8||p!==!1&&f>p)throw new TypeError(`invalid string length: ${f} (${l}). Expected (8..${p})`);let m=l.toLowerCase();if(l!==m&&l!==l.toUpperCase())throw new Error("String must be lowercase or uppercase");let h=m.lastIndexOf("1");if(h===0||h===-1)throw new Error('Letter "1" must be present between prefix and data only');let g=m.slice(0,h),y=m.slice(h+1);if(y.length<6)throw new Error("Data must be at least 6 characters long");let S=E8e.decode(y).slice(0,-6),b=bbt(g,S,t);if(!y.endsWith(b))throw new Error(`Invalid checksum in ${l}: expected "${b}"`);return{prefix:g,words:S}}let c=gbt(a);function u(l){let{prefix:p,words:f}=a(l,!1);return{prefix:p,words:f,bytes:n(f)}}function d(l,p){return s(l,i(p))}return{encode:s,decode:a,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:c,fromWords:n,fromWordsUnsafe:o,toWords:i}}Fe.bech32=Pbt("bech32");Fe.bech32m=Pbt("bech32m");Fe.utf8={encode:e=>new TextDecoder().decode(e),decode:e=>new TextEncoder().encode(e)};var E0n=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",S0n={encode(e){return S8e(e),e.toHex()},decode(e){return cT("hex",e),Uint8Array.fromHex(e)}};Fe.hex=E0n?S0n:od(vp(4),ul("0123456789abcdef"),dl(""),Sbt(e=>{if(typeof e!="string"||e.length%2!==0)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));var ure={utf8:Fe.utf8,hex:Fe.hex,base16:Fe.base16,base32:Fe.base32,base64:Fe.base64,base64url:Fe.base64url,base58:Fe.base58,base58xmr:Fe.base58xmr},xbt="Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr",v0n=(e,t)=>{if(typeof e!="string"||!ure.hasOwnProperty(e))throw new TypeError(xbt);if(!o5(t))throw new TypeError("bytesToString() expects Uint8Array");return ure[e].encode(t)};Fe.bytesToString=v0n;Fe.str=Fe.bytesToString;var T0n=(e,t)=>{if(!ure.hasOwnProperty(e))throw new TypeError(xbt);if(typeof t!="string")throw new TypeError("stringToBytes() expects string");return ure[e].decode(t)};Fe.stringToBytes=T0n;Fe.bytes=Fe.stringToBytes});var O8e=_(fb=>{"use strict";Object.defineProperty(fb,"__esModule",{value:!0});fb.HDKey=fb.HARDENED_OFFSET=void 0;var A0n=n5(),pb=hbt(),Obt=hv(),w0n=XAe(),pre=dg(),fu=Zo(),I0n=w8e(),dre=pb.secp256k1.ProjectivePoint,I8e=(0,I0n.createBase58check)(pre.sha256);function Rbt(e){(0,fu.abytes)(e);let t=e.length===0?"0":(0,fu.bytesToHex)(e);return BigInt("0x"+t)}function P0n(e){if(typeof e!="bigint")throw new Error("bigint expected");return(0,fu.hexToBytes)(e.toString(16).padStart(64,"0"))}var x0n=(0,fu.utf8ToBytes)("Bitcoin seed"),P8e={private:76066276,public:76067358};fb.HARDENED_OFFSET=2147483648;var O0n=e=>(0,w0n.ripemd160)((0,pre.sha256)(e)),R0n=e=>(0,fu.createView)(e).getUint32(0,!1),lre=e=>{if(!Number.isSafeInteger(e)||e<0||e>2**32-1)throw new Error("invalid number, should be from 0 to 2**32-1, got "+e);let t=new Uint8Array(4);return(0,fu.createView)(t).setUint32(0,e,!1),t},x8e=class e{get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return R0n(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this.privKeyBytes||null}get publicKey(){return this.pubKey||null}get privateExtendedKey(){let t=this.privateKey;if(!t)throw new Error("No private key");return I8e.encode(this.serialize(this.versions.private,(0,fu.concatBytes)(new Uint8Array([0]),t)))}get publicExtendedKey(){if(!this.pubKey)throw new Error("No public key");return I8e.encode(this.serialize(this.versions.public,this.pubKey))}static fromMasterSeed(t,r=P8e){if((0,fu.abytes)(t),8*t.length<128||8*t.length>512)throw new Error("HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got "+t.length);let n=(0,Obt.hmac)(pre.sha512,x0n,t);return new e({versions:r,chainCode:n.slice(32),privateKey:n.slice(0,32)})}static fromExtendedKey(t,r=P8e){let n=I8e.decode(t),i=(0,fu.createView)(n),o=i.getUint32(0,!1),s={versions:r,depth:n[4],parentFingerprint:i.getUint32(5,!1),index:i.getUint32(9,!1),chainCode:n.slice(13,45)},a=n.slice(45),c=a[0]===0;if(o!==r[c?"private":"public"])throw new Error("Version mismatch");return c?new e({...s,privateKey:a.slice(1)}):new e({...s,publicKey:a})}static fromJSON(t){return e.fromExtendedKey(t.xpriv)}constructor(t){if(this.depth=0,this.index=0,this.chainCode=null,this.parentFingerprint=0,!t||typeof t!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=t.versions||P8e,this.depth=t.depth||0,this.chainCode=t.chainCode||null,this.index=t.index||0,this.parentFingerprint=t.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(t.publicKey&&t.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(t.privateKey){if(!pb.secp256k1.utils.isValidPrivateKey(t.privateKey))throw new Error("Invalid private key");this.privKey=typeof t.privateKey=="bigint"?t.privateKey:Rbt(t.privateKey),this.privKeyBytes=P0n(this.privKey),this.pubKey=pb.secp256k1.getPublicKey(t.privateKey,!0)}else if(t.publicKey)this.pubKey=dre.fromHex(t.publicKey).toRawBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=O0n(this.pubKey)}derive(t){if(!/^[mM]'?/.test(t))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(t))return this;let r=t.replace(/^[mM]'?\//,"").split("/"),n=this;for(let i of r){let o=/^(\d+)('?)$/.exec(i),s=o&&o[1];if(!o||o.length!==3||typeof s!="string")throw new Error("invalid child index: "+i);let a=+s;if(!Number.isSafeInteger(a)||a>=fb.HARDENED_OFFSET)throw new Error("Invalid index");o[2]==="'"&&(a+=fb.HARDENED_OFFSET),n=n.deriveChild(a)}return n}deriveChild(t){if(!this.pubKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let r=lre(t);if(t>=fb.HARDENED_OFFSET){let a=this.privateKey;if(!a)throw new Error("Could not derive hardened child key");r=(0,fu.concatBytes)(new Uint8Array([0]),a,r)}else r=(0,fu.concatBytes)(this.pubKey,r);let n=(0,Obt.hmac)(pre.sha512,this.chainCode,r),i=Rbt(n.slice(0,32)),o=n.slice(32);if(!pb.secp256k1.utils.isValidPrivateKey(i))throw new Error("Tweak bigger than curve order");let s={versions:this.versions,chainCode:o,depth:this.depth+1,parentFingerprint:this.fingerprint,index:t};try{if(this.privateKey){let a=(0,A0n.mod)(this.privKey+i,pb.secp256k1.CURVE.n);if(!pb.secp256k1.utils.isValidPrivateKey(a))throw new Error("The tweak was out of range or the resulted private key is invalid");s.privateKey=a}else{let a=dre.fromHex(this.pubKey).add(dre.fromPrivateKey(i));if(a.equals(dre.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");s.publicKey=a.toRawBytes(!0)}return new e(s)}catch{return this.deriveChild(t+1)}}sign(t){if(!this.privateKey)throw new Error("No privateKey set!");return(0,fu.abytes)(t,32),pb.secp256k1.sign(t,this.privKey).toCompactRawBytes()}verify(t,r){if((0,fu.abytes)(t,32),(0,fu.abytes)(r,64),!this.publicKey)throw new Error("No publicKey set!");let n;try{n=pb.secp256k1.Signature.fromCompact(r)}catch{return!1}return pb.secp256k1.verify(n,t,this.publicKey)}wipePrivateData(){return this.privKey=void 0,this.privKeyBytes&&(this.privKeyBytes.fill(0),this.privKeyBytes=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(t,r){if(!this.chainCode)throw new Error("No chainCode set");return(0,fu.abytes)(r,33),(0,fu.concatBytes)(lre(t),new Uint8Array([this.depth]),lre(this.parentFingerprint),lre(this.index),this.chainCode,r)}};fb.HDKey=x8e});var Mbt=_(fre=>{"use strict";Object.defineProperty(fre,"__esModule",{value:!0});fre.pbkdf2=C0n;fre.pbkdf2Async=M0n;var N0n=hv(),Ph=Zo();function Nbt(e,t,r,n){(0,Ph.ahash)(e);let i=(0,Ph.checkOpts)({dkLen:32,asyncTick:10},n),{c:o,dkLen:s,asyncTick:a}=i;if((0,Ph.anumber)(o),(0,Ph.anumber)(s),(0,Ph.anumber)(a),o<1)throw new Error("iterations (c) should be >= 1");let c=(0,Ph.kdfInputToBytes)(t),u=(0,Ph.kdfInputToBytes)(r),d=new Uint8Array(s),l=N0n.hmac.create(e,c),p=l._cloneInto().update(u);return{c:o,dkLen:s,asyncTick:a,DK:d,PRF:l,PRFSalt:p}}function Cbt(e,t,r,n,i){return e.destroy(),t.destroy(),n&&n.destroy(),(0,Ph.clean)(i),r}function C0n(e,t,r,n){let{c:i,dkLen:o,DK:s,PRF:a,PRFSalt:c}=Nbt(e,t,r,n),u,d=new Uint8Array(4),l=(0,Ph.createView)(d),p=new Uint8Array(a.outputLen);for(let f=1,m=0;m<o;f++,m+=a.outputLen){let h=s.subarray(m,m+a.outputLen);l.setInt32(0,f,!1),(u=c._cloneInto(u)).update(d).digestInto(p),h.set(p.subarray(0,h.length));for(let g=1;g<i;g++){a._cloneInto(u).update(p).digestInto(p);for(let y=0;y<h.length;y++)h[y]^=p[y]}}return Cbt(a,c,s,u,p)}async function M0n(e,t,r,n){let{c:i,dkLen:o,asyncTick:s,DK:a,PRF:c,PRFSalt:u}=Nbt(e,t,r,n),d,l=new Uint8Array(4),p=(0,Ph.createView)(l),f=new Uint8Array(c.outputLen);for(let m=1,h=0;h<o;m++,h+=c.outputLen){let g=a.subarray(h,h+c.outputLen);p.setInt32(0,m,!1),(d=u._cloneInto(d)).update(l).digestInto(f),g.set(f.subarray(0,g.length)),await(0,Ph.asyncLoop)(i-1,s,()=>{c._cloneInto(d).update(f).digestInto(f);for(let y=0;y<g.length;y++)g[y]^=f[y]})}return Cbt(c,u,a,d,f)}});var M8e=_(uT=>{"use strict";Object.defineProperty(uT,"__esModule",{value:!0});uT.generateMnemonic=D0n;uT.mnemonicToEntropy=Bbt;uT.entropyToMnemonic=jbt;uT.validateMnemonic=U0n;uT.mnemonicToSeed=B0n;uT.mnemonicToSeedSync=j0n;var kbt=Mbt(),N8e=dg(),R8e=Zo(),mre=w8e(),k0n=e=>e[0]==="\u3042\u3044\u3053\u304F\u3057\u3093";function Dbt(e){if(typeof e!="string")throw new TypeError("invalid mnemonic type: "+typeof e);return e.normalize("NFKD")}function C8e(e){let t=Dbt(e),r=t.split(" ");if(![12,15,18,21,24].includes(r.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:r}}function Lbt(e){(0,R8e.abytes)(e,16,20,24,28,32)}function D0n(e,t=128){if((0,R8e.anumber)(t),t%32!==0||t>256)throw new TypeError("Invalid entropy");return jbt((0,R8e.randomBytes)(t/8),e)}var L0n=e=>{let t=8-e.length/4;return new Uint8Array([(0,N8e.sha256)(e)[0]>>t<<t])};function Ubt(e){if(!Array.isArray(e)||e.length!==2048||typeof e[0]!="string")throw new Error("Wordlist: expected array of 2048 strings");return e.forEach(t=>{if(typeof t!="string")throw new Error("wordlist: non-string element: "+t)}),mre.utils.chain(mre.utils.checksum(1,L0n),mre.utils.radix2(11,!0),mre.utils.alphabet(e))}function Bbt(e,t){let{words:r}=C8e(e),n=Ubt(t).decode(r);return Lbt(n),n}function jbt(e,t){return Lbt(e),Ubt(t).encode(e).join(k0n(t)?"\u3000":" ")}function U0n(e,t){try{Bbt(e,t)}catch{return!1}return!0}var qbt=e=>Dbt("mnemonic"+e);function B0n(e,t=""){return(0,kbt.pbkdf2Async)(N8e.sha512,C8e(e).nfkd,qbt(t),{c:2048,dkLen:64})}function j0n(e,t=""){return(0,kbt.pbkdf2)(N8e.sha512,C8e(e).nfkd,qbt(t),{c:2048,dkLen:64})}});var Hbt=_(k8e=>{"use strict";Object.defineProperty(k8e,"__esModule",{value:!0});k8e.generateMnemonic=H0n;var q0n=M8e();function H0n(e,t){return(0,q0n.generateMnemonic)(e,t)}});var Vbt=_(D8e=>{"use strict";Object.defineProperty(D8e,"__esModule",{value:!0});D8e.generatePrivateKey=$0n;var V0n=Sf(),F0n=De();function $0n(){return(0,F0n.toHex)(V0n.secp256k1.utils.randomPrivateKey())}});var U8e=_(L8e=>{"use strict";Object.defineProperty(L8e,"__esModule",{value:!0});L8e.toAccount=z0n;var Fbt=cp(),$bt=uc();function z0n(e){if(typeof e=="string"){if(!(0,$bt.isAddress)(e,{strict:!1}))throw new Fbt.InvalidAddressError({address:e});return{address:e,type:"json-rpc"}}if(!(0,$bt.isAddress)(e.address,{strict:!1}))throw new Fbt.InvalidAddressError({address:e.address});return{address:e.address,nonceManager:e.nonceManager,sign:e.sign,signAuthorization:e.signAuthorization,signMessage:e.signMessage,signTransaction:e.signTransaction,signTypedData:e.signTypedData,source:"custom",type:"local"}}});var s5=_(gre=>{"use strict";Object.defineProperty(gre,"__esModule",{value:!0});gre.setSignEntropy=J0n;gre.sign=X0n;var G0n=Sf(),K0n=ac(),W0n=bn(),zbt=De(),Y0n=kU(),hre=!1;function J0n(e){if(!e)throw new Error("must be a `true` or a hex value.");hre=e}async function X0n({hash:e,privateKey:t,to:r="object"}){let{r:n,s:i,recovery:o}=G0n.secp256k1.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:(0,K0n.isHex)(hre,{strict:!1})?(0,W0n.hexToBytes)(hre):hre}),s={r:(0,zbt.numberToHex)(n,{size:32}),s:(0,zbt.numberToHex)(i,{size:32}),v:o?28n:27n,yParity:o};return r==="bytes"||r==="hex"?(0,Y0n.serializeSignature)({...s,to:r}):s}});var j8e=_(B8e=>{"use strict";Object.defineProperty(B8e,"__esModule",{value:!0});B8e.signAuthorization=egn;var Z0n=rJ(),Q0n=s5();async function egn(e){let{chainId:t,nonce:r,privateKey:n,to:i="object"}=e,o=e.contractAddress??e.address,s=await(0,Q0n.sign)({hash:(0,Z0n.hashAuthorization)({address:o,chainId:t,nonce:r}),privateKey:n,to:i});return i==="object"?{address:o,chainId:t,nonce:r,...s}:s}});var H8e=_(q8e=>{"use strict";Object.defineProperty(q8e,"__esModule",{value:!0});q8e.signMessage=ngn;var tgn=cI(),rgn=s5();async function ngn({message:e,privateKey:t}){return await(0,rgn.sign)({hash:(0,tgn.hashMessage)(e),privateKey:t,to:"hex"})}});var F8e=_(V8e=>{"use strict";Object.defineProperty(V8e,"__esModule",{value:!0});V8e.signTransaction=agn;var ign=Xc(),ogn=pR(),sgn=s5();async function agn(e){let{privateKey:t,transaction:r,serializer:n=ogn.serializeTransaction}=e,i=r.type==="eip4844"?{...r,sidecars:!1}:r,o=await(0,sgn.sign)({hash:(0,ign.keccak256)(await n(i)),privateKey:t});return await n(r,o)}});var z8e=_($8e=>{"use strict";Object.defineProperty($8e,"__esModule",{value:!0});$8e.signTypedData=dgn;var cgn=uI(),ugn=s5();async function dgn(e){let{privateKey:t,...r}=e;return await(0,ugn.sign)({hash:(0,cgn.hashTypedData)(r),privateKey:t,to:"hex"})}});var K8e=_(G8e=>{"use strict";Object.defineProperty(G8e,"__esModule",{value:!0});G8e.privateKeyToAccount=Egn;var lgn=Sf(),pgn=De(),fgn=U8e(),mgn=BO(),hgn=s5(),ggn=j8e(),_gn=H8e(),ygn=F8e(),bgn=z8e();function Egn(e,t={}){let{nonceManager:r}=t,n=(0,pgn.toHex)(lgn.secp256k1.getPublicKey(e.slice(2),!1)),i=(0,mgn.publicKeyToAddress)(n);return{...(0,fgn.toAccount)({address:i,nonceManager:r,async sign({hash:s}){return(0,hgn.sign)({hash:s,privateKey:e,to:"hex"})},async signAuthorization(s){return(0,ggn.signAuthorization)({...s,privateKey:e})},async signMessage({message:s}){return(0,_gn.signMessage)({message:s,privateKey:e})},async signTransaction(s,{serializer:a}={}){return(0,ygn.signTransaction)({privateKey:e,transaction:s,serializer:a})},async signTypedData(s){return(0,bgn.signTypedData)({...s,privateKey:e})}}),publicKey:n,source:"privateKey"}}});var Y8e=_(W8e=>{"use strict";Object.defineProperty(W8e,"__esModule",{value:!0});W8e.hdKeyToAccount=Tgn;var Sgn=De(),vgn=K8e();function Tgn(e,{accountIndex:t=0,addressIndex:r=0,changeIndex:n=0,path:i,...o}={}){let s=e.derive(i||`m/44'/60'/${t}'/${n}/${r}`);return{...(0,vgn.privateKeyToAccount)((0,Sgn.toHex)(s.privateKey),o),getHdKey:()=>s,source:"hd"}}});var Gbt=_(J8e=>{"use strict";Object.defineProperty(J8e,"__esModule",{value:!0});J8e.mnemonicToAccount=Pgn;var Agn=O8e(),wgn=M8e(),Ign=Y8e();function Pgn(e,{passphrase:t,...r}={}){let n=(0,wgn.mnemonicToSeedSync)(e,t);return(0,Ign.hdKeyToAccount)(Agn.HDKey.fromMasterSeed(n),r)}});var Kbt=_(X8e=>{"use strict";Object.defineProperty(X8e,"__esModule",{value:!0});X8e.privateKeyToAddress=Ngn;var xgn=Sf(),Ogn=De(),Rgn=BO();function Ngn(e){let t=(0,Ogn.bytesToHex)(xgn.secp256k1.getPublicKey(e.slice(2),!1));return(0,Rgn.publicKeyToAddress)(t)}});var Wbt=_(_re=>{"use strict";Object.defineProperty(_re,"__esModule",{value:!0});_re.wordlist=void 0;_re.wordlist=`abdikace
102
+ `),n=/^"@signature-params": \(([^)]+)\);created=(\d+);expires=(\d+);keyid="([A-Za-z0-9_-]{43})";alg="Ed25519";nonce="([A-Za-z0-9+/]{43}=)";tag="agent-payer-auth"$/.exec(r.pop()??"");if(!n)throw new Error("identity_tap_payload_invalid");let i={};for(let a of r){let c=/^"([^"\n]+)": (.+)$/.exec(a);if(!c||Object.hasOwn(i,c[1]))throw new Error("identity_tap_payload_invalid");i[c[1]]=c[2]}let o=Object.hasOwn(i,"payment-signature")?"payment-signature":"x-payment",s={kind:"tap_signature_base",method:i["@method"]??"",authority:i["@authority"]??"",path:i["@path"]??"",coveredComponents:n[1].split(" ").map(a=>a.slice(1,-1)),paymentHeaderName:o,paymentHeaderValue:i[o]??"",...i["content-digest"]===void 0?{}:{contentDigest:i["content-digest"]},created:Number(n[2]),expires:Number(n[3]),keyId:n[4],nonce:n[5],tag:"agent-payer-auth",signatureBase:t};return tRe(s),s}});var F1t=_(FI=>{"use strict";Object.defineProperty(FI,"__esModule",{value:!0});FI.IDENTITY_TAP_SLIP_REQUEST_TYP=void 0;FI.validateIdentityTapSlipRequest=V1t;FI.issueIdentityTapSlip=spn;var Zln=bte(),Qln=Hf(),H1t=zu(),epn=ed(),tpn=Fv(),rpn=$y();FI.IDENTITY_TAP_SLIP_REQUEST_TYP="visa-agent-identity-tap-slip-request+jwt";var npn=e=>typeof e=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e),ipn=e=>typeof e=="string"&&Buffer.from(e,"base64url").length===32&&Buffer.from(e,"base64url").toString("base64url")===e,opn="v,iss,aud,jti,requestId,associationId,associationVersion,agentId,rootJkt,ownerSuborganizationId,runtimeId,runtimeJkt,generation,network,payloadSha256,leaseSha256,iat,exp".split(",").sort().join(",");function V1t(e){if(!e||Object.keys(e).sort().join(",")!==opn||e.v!==1||e.iss!=="urn:visa:authority:identity"||e.aud!=="visa:auth:identity-tap-slip"||![e.jti,e.requestId,e.associationId,e.agentId,e.runtimeId].every(npn)||![e.rootJkt,e.runtimeJkt,e.payloadSha256,e.leaseSha256].every(ipn)||![e.associationVersion,e.generation].every(t=>Number.isSafeInteger(t)&&t>0)||!Number.isSafeInteger(e.iat)||e.iat<0||!Number.isSafeInteger(e.exp)||e.exp<=e.iat||e.exp-e.iat>60||typeof e.ownerSuborganizationId!="string"||!/^[\x21-\x7e]{1,256}$/.test(e.ownerSuborganizationId)||typeof e.network!="string"||!/^eip155:[1-9][0-9]{0,15}$/.test(e.network))throw new Error("identity_tap_slip_request_invalid")}async function spn(e){if(typeof e.ticket!="string"||e.ticket.length>16384||typeof e.popJwt!="string"||e.popJwt.length>32768)throw new Error("identity_tap_slip_request_invalid");let t=(0,H1t.computeJkt)(e.authorityPublicJwk),r=await(0,epn.verifyJwtSignature)(e.ticket,{keys:[{...e.authorityPublicJwk,kid:t}]});if(!r.ok||r.header.typ!==FI.IDENTITY_TAP_SLIP_REQUEST_TYP||r.header.kid!==t)throw new Error("identity_tap_slip_request_invalid");let n=r.claims;if(V1t(n),!Number.isSafeInteger(e.nowSec)||e.nowSec<0||n.iat>e.nowSec+5||n.exp<=e.nowSec)throw new Error("identity_tap_slip_request_expired");if(Buffer.from((0,Qln.canonicalJson)(n)).toString("base64url")!==e.ticket.split(".")[1])throw new Error("identity_tap_slip_request_invalid");let i=(0,H1t.computeJkt)(e.signer.publicJwk);if([t,n.rootJkt,n.runtimeJkt].includes(i))throw new Error("identity_slip_issuer_not_independent");if(!e.payload||typeof e.payload!="object"||e.payload.kind!=="tap_signature_base"||(0,Zln.identityTapPayloadSha256)(e.payload)!==n.payloadSha256)throw new Error("identity_tap_slip_payload_mismatch");let o=await(0,rpn.verifyAgentOperationPopProof)(e.popJwt,{operationId:n.requestId,audience:"urn:visa:tvc:identity-gate",expectedIntentHash:n.payloadSha256,nowSec:e.nowSec,maxAgeSec:60});if(!o.ok||o.jkt!==n.runtimeJkt||o.runtimeCertificate!==void 0)throw new Error("identity_tap_slip_proof_invalid");return(0,tpn.signJwtWithSigner)(e.signer,{typ:"visa-agent-identity-slip+jwt"},{v:1,iss:"visa:auth",aud:"urn:visa:tvc:identity-gate",jti:n.jti,requestId:n.requestId,iat:n.iat,exp:n.exp,purpose:"tap_signature_base",payloadSha256:n.payloadSha256,agentId:n.agentId,rootJkt:n.rootJkt,ownerSuborganizationId:n.ownerSuborganizationId,runtimeId:n.runtimeId,runtimeJkt:n.runtimeJkt,generation:n.generation,network:n.network})}});var rRe=_(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.IDENTITY_HOSTED_TAP_SLIP_PURPOSE=Sh.IDENTITY_PRESENCE_SLIP_PURPOSE=void 0;Sh.hostedPresenceAttemptId=dpn;Sh.issueHostedPresenceIdentitySlip=lpn;Sh.issueHostedTapIdentitySlip=ppn;var apn=require("node:crypto"),cpn=zu(),upn=Fv();Sh.IDENTITY_PRESENCE_SLIP_PURPOSE="runtime_presence_pop";Sh.IDENTITY_HOSTED_TAP_SLIP_PURPOSE="tap_signature_base";function dpn(e,t){if(!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e)||!Number.isSafeInteger(t)||t<0)throw new Error("hosted_presence_attempt_invalid");let r=(0,apn.createHash)("sha256").update(`visa:hosted-presence-attempt:v1\0${e}\0${t}`,"utf8").digest().subarray(0,16);r[6]=r[6]&15|128,r[8]=r[8]&63|128;let n=r.toString("hex");return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}function lpn(e){return $1t(Sh.IDENTITY_PRESENCE_SLIP_PURPOSE,e)}function ppn(e){return $1t(Sh.IDENTITY_HOSTED_TAP_SLIP_PURPOSE,e)}async function $1t(e,t){let r=(0,cpn.computeJkt)(t.signer.publicJwk);if([t.rootJkt,t.runtimeJkt].includes(r))throw new Error("identity_slip_issuer_not_independent");if(!Number.isSafeInteger(t.iat)||!Number.isSafeInteger(t.exp)||t.iat<0||t.exp<=t.iat||!Number.isSafeInteger(t.generation)||t.generation<1||!/^eip155:[1-9][0-9]{0,15}$/.test(t.network)||!/^[A-Za-z0-9_-]{43}$/.test(t.payloadSha256)||!/^[A-Za-z0-9_-]{43}$/.test(t.rootJkt)||!/^[A-Za-z0-9_-]{43}$/.test(t.runtimeJkt)||!/^[\x21-\x7e]{1,256}$/.test(t.ownerSuborganizationId))throw new Error("identity_presence_slip_request_invalid");return(0,upn.signJwtWithSigner)(t.signer,{typ:"visa-agent-identity-slip+jwt"},{v:1,iss:"visa:auth",aud:"urn:visa:tvc:identity-gate",jti:t.jti,requestId:t.requestId,iat:t.iat,exp:t.exp,purpose:e,payloadSha256:t.payloadSha256,agentId:t.agentId,rootJkt:t.rootJkt,ownerSuborganizationId:t.ownerSuborganizationId,runtimeId:t.runtimeId,runtimeJkt:t.runtimeJkt,generation:t.generation,network:t.network})}});var Y1t=_(Zv=>{"use strict";Object.defineProperty(Zv,"__esModule",{value:!0});Zv.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP=void 0;Zv.validateIdentityHostedTapSlipRequest=K1t;Zv.hostedTapPayloadNamesMerchantRequest=W1t;Zv.issueHostedTapSlipFromTicket=Spn;var fpn=Hf(),z1t=zu(),mpn=ed(),hpn=bte(),gpn=WOe(),_pn=rRe();Zv.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP="visa-agent-identity-hosted-tap-slip-request+jwt";var ypn=e=>typeof e=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e),G1t=e=>typeof e=="string"&&Buffer.from(e,"base64url").length===32&&Buffer.from(e,"base64url").toString("base64url")===e,bpn=e=>Number.isSafeInteger(e)&&e>0,Epn="v,iss,aud,jti,requestId,associationId,associationVersion,agentId,rootJkt,ownerSuborganizationId,runtimeId,runtimeJkt,generation,network,custody,connectorKeyId,grantId,grantVersion,operationId,intentHash,payloadSha256,iat,exp".split(",").sort().join(",");function K1t(e){if(!e||typeof e!="object"||Object.keys(e).sort().join(",")!==Epn||e.v!==1||e.iss!=="urn:visa:authority:identity"||e.aud!=="visa:auth:identity-tap-slip"||![e.jti,e.requestId,e.associationId,e.agentId,e.runtimeId,e.grantId,e.operationId].every(ypn)||![e.rootJkt,e.runtimeJkt,e.intentHash,e.payloadSha256].every(G1t)||![e.associationVersion,e.generation,e.grantVersion].every(bpn)||e.custody!=="signer"||typeof e.connectorKeyId!="string"||!/^[A-Za-z0-9._:@/-]{1,256}$/.test(e.connectorKeyId)||!Number.isSafeInteger(e.iat)||e.iat<0||!Number.isSafeInteger(e.exp)||e.exp<=e.iat||e.exp-e.iat>60||typeof e.ownerSuborganizationId!="string"||!/^[\x21-\x7e]{1,256}$/.test(e.ownerSuborganizationId)||typeof e.network!="string"||!/^eip155:[1-9][0-9]{0,15}$/.test(e.network))throw new Error("identity_hosted_tap_slip_request_invalid")}function W1t(e,t){let r;try{r=new URL(t.url)}catch{return!1}return r.protocol!=="https:"&&r.protocol!=="http:"||typeof t.method!="string"||e.method!==t.method.toUpperCase()||e.authority!==r.host||e.path!==(r.pathname||"/")?!1:e.contentDigest===void 0?t.bodySha256===void 0||t.bodySha256==="47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU":typeof t.bodySha256!="string"||!G1t(t.bodySha256)?!1:e.contentDigest===`sha-256=:${Buffer.from(t.bodySha256,"base64url").toString("base64")}:`}async function Spn(e){if(typeof e.ticket!="string"||e.ticket.length>16384)throw new Error("identity_hosted_tap_slip_request_invalid");let t=(0,z1t.computeJkt)(e.authorityPublicJwk),r=await(0,mpn.verifyJwtSignature)(e.ticket,{keys:[{...e.authorityPublicJwk,kid:t}]});if(!r.ok||r.header.typ!==Zv.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP||r.header.kid!==t)throw new Error("identity_hosted_tap_slip_request_invalid");let n=r.claims;if(K1t(n),!Number.isSafeInteger(e.nowSec)||e.nowSec<0||n.iat>e.nowSec+30||n.exp<=e.nowSec)throw new Error("identity_hosted_tap_slip_request_expired");if(Buffer.from((0,fpn.canonicalJson)(n)).toString("base64url")!==e.ticket.split(".")[1])throw new Error("identity_hosted_tap_slip_request_invalid");let i=(0,z1t.computeJkt)(e.signer.publicJwk);if([t,n.rootJkt,n.runtimeJkt].includes(i))throw new Error("identity_slip_issuer_not_independent");let o=e.payload;if(!o||typeof o!="object"||o.kind!=="tap_signature_base"||(0,hpn.identityTapPayloadSha256)(o)!==n.payloadSha256||o.operationId!==n.operationId||o.intentHash!==n.intentHash)throw new Error("identity_hosted_tap_slip_payload_mismatch");let s=e.presence;if(!s||s.agentId!==n.agentId||s.runtimeId!==n.runtimeId||s.connectorKeyId!==n.connectorKeyId||s.operationId!==n.operationId||s.intentHash!==n.intentHash)throw new Error("identity_hosted_tap_connector_absent");if(!s.merchant||!W1t(o,s.merchant))throw new Error("identity_hosted_tap_merchant_mismatch");let a=await(0,_pn.issueHostedTapIdentitySlip)({signer:e.signer,jti:n.jti,requestId:n.requestId,iat:n.iat,exp:n.exp,payloadSha256:n.payloadSha256,agentId:n.agentId,rootJkt:n.rootJkt,ownerSuborganizationId:n.ownerSuborganizationId,runtimeId:n.runtimeId,runtimeJkt:n.runtimeJkt,generation:n.generation,network:n.network}),c=await(0,gpn.issueHostedConnectorProof)({signer:e.signer,requestId:n.requestId,agentId:n.agentId,runtimeId:n.runtimeId,connectorKeyId:n.connectorKeyId,grantId:n.grantId,grantVersion:n.grantVersion,operationId:n.operationId,intentHash:n.intentHash,issuedAtSec:e.nowSec});return{identitySlip:a,connectorProof:c,claims:n}}});var Q1t=_(Qv=>{"use strict";Object.defineProperty(Qv,"__esModule",{value:!0});Qv.IDENTITY_DEVICE_HANDOFF_AUDIENCE=void 0;Qv.identityDeviceProposalSha256=X1t;Qv.identityDeviceHandoffIntentHash=Z1t;Qv.verifyIdentityDeviceHandoffProof=Ipn;var vpn=require("node:crypto"),Tpn=Hf(),Apn=zu(),wpn=$y();Qv.IDENTITY_DEVICE_HANDOFF_AUDIENCE="visa-device-handoff:v1";var TB=e=>typeof e=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e),J1t=e=>typeof e=="string"&&Buffer.from(e,"base64url").length===32&&Buffer.from(e,"base64url").toString("base64url")===e,$I=(e,t)=>e!==null&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).sort().join(",")===t.sort().join(","),nRe=e=>(0,vpn.createHash)("sha256").update((0,Tpn.canonicalJson)(e)).digest("base64url");function X1t(e){if(!$I(e,["associationId","associationVersion","agentId","rootJkt","runtimeId","runtimePublicJwk","runtimeJkt"])||![e.associationId,e.agentId,e.runtimeId].every(TB)||!Number.isSafeInteger(e.associationVersion)||e.associationVersion<1||![e.rootJkt,e.runtimeJkt].every(J1t)||e.rootJkt===e.runtimeJkt||!$I(e.runtimePublicJwk,["kty","crv","x"])||e.runtimePublicJwk.kty!=="OKP"||e.runtimePublicJwk.crv!=="Ed25519"||!J1t(e.runtimePublicJwk.x)||(0,Apn.computeJkt)(e.runtimePublicJwk)!==e.runtimeJkt)throw new Error("identity_device_proposal_invalid");return nRe(e)}function Z1t(e){if(!$I(e,["v","operation","requestId","handoffId","proposal","body"])||e.v!==1||!TB(e.requestId)||!TB(e.handoffId))throw new Error("identity_device_handoff_invalid");let t=X1t(e.proposal);if(e.operation==="create"){if(e.requestId!==e.handoffId||!$I(e.body,[]))throw new Error("identity_device_handoff_invalid")}else if(e.operation==="read"){if(!$I(e.body,[]))throw new Error("identity_device_handoff_invalid")}else if(e.operation==="cancel"){if(!$I(e.body,["enrollmentRequestId","generation"])||!(e.body.enrollmentRequestId===null&&e.body.generation===null)&&(!TB(e.body.enrollmentRequestId)||!Number.isSafeInteger(e.body.generation)||e.body.generation<1))throw new Error("identity_device_handoff_invalid")}else if(e.operation==="proof"){if(!$I(e.body,["enrollmentRequestId","runtimeProof"])||!TB(e.body.enrollmentRequestId)||typeof e.body.runtimeProof!="string"||e.body.runtimeProof.length!==86||Buffer.from(e.body.runtimeProof,"base64url").length!==64||Buffer.from(e.body.runtimeProof,"base64url").toString("base64url")!==e.body.runtimeProof)throw new Error("identity_device_handoff_invalid")}else throw new Error("identity_device_handoff_invalid");return nRe({v:1,operation:e.operation,handoffId:e.handoffId,proposalSha256:t,bodySha256:nRe(e.body)})}async function Ipn(e,t,r){let n=await(0,wpn.verifyAgentOperationPopProof)(e,{operationId:t.requestId,audience:Qv.IDENTITY_DEVICE_HANDOFF_AUDIENCE,expectedIntentHash:Z1t(t),nowSec:r,maxAgeSec:60});if(!n.ok||n.jkt!==t.proposal.runtimeJkt||n.runtimeCertificate!==void 0)throw new Error("identity_device_handoff_proof_invalid")}});var $f=_(C=>{"use strict";Object.defineProperty(C,"__esModule",{value:!0});C.RUNTIME_CERTIFICATE_MAX_TTL_SECONDS=C.RUNTIME_CERTIFICATE_VERSION=C.RUNTIME_CERTIFICATE_TYP=C.verifyAgentOperationPopProof=C.verifyPopProof=C.createAgentOperationPopProof=C.createPopProofWithSigner=C.createPopProof=C.randomPopNonce=C.DEFAULT_POP_MAX_AGE_SEC=C.UNIVERSAL_AGENT_OPERATION_AUDIENCE=C.POP_JWT_TYP=C.importLegacyWalletSpendPolicy=C.canonicalLegacyWalletSpendPolicy=C.productSpendPolicyHash=C.isProductSpendPolicySubset=C.evaluateProductSpendPolicy=C.canonicalRuntimeProductSpendAttenuation=C.canonicalOwnerProductSpendPolicy=C.canonicalMerchantTarget=C.canonicalMerchantPathPrefix=C.canonicalMerchantOriginPattern=C.PRODUCT_SPEND_POLICY_VERSION=C.evaluateEconomic=C.verifyBindingChain=C.DEFAULT_MAX_STALENESS_SECONDS=C.InMemoryFreshnessStore=C.FreshnessService=C.verifyFreshness=C.issueFreshness=C.FRESHNESS_JWT_TYP=C.MAX_TTL_FRESH_HOURS=C.TTL_FRESH_HOURS=C.verifyRegistration=C.issueRegistration=C.registrationHash=C.derivePairwiseRef=C.REGISTRATION_JWT_TYP=C.TTL_REG_DAYS=C.isCanonicalEvmProviderAddress=C.canonicalEvmProviderAddress=C.turnkeyOwnerIdentityKey=C.verifyEip712TypedDataSignature=C.eip712DigestBase64Url=C.buildJwks=C.anchorKeyFromSeed=C.generateAnchorKey=C.agentKeyFromSeed=C.generateAgentKey=C.computeJkt=void 0;C.CHALLENGE_MAX_AGE_SEC=C.MAX_TTL_OWNERSHIP_HOURS=C.TTL_OWNERSHIP_HOURS=C.OWNERSHIP_PROOF_JWT_TYP=C.OWNERSHIP_CHALLENGE_DOMAIN_V1=C.canonicalIntentHash=C.INTENT_HASH_VERSION=C.verifyWalletBinding=C.issueWalletBinding=C.completeWalletBinding=C.prepareWalletBinding=C.WALLET_BINDING_DERIVATION_VERSION=C.WALLET_BINDING_SIGNER_KIND=C.WALLET_BINDING_MAX_TTL_SECONDS=C.WALLET_BINDING_VERSION=C.WALLET_BINDING_TYP=C.verifyTapRuntimeSignature=C.tapRuntimeSigningMessage=C.TAP_RUNTIME_SIGNATURE_DOMAIN=C.verifyRuntimeLeaseRequestProof=C.createRuntimeLeaseRequestProofWithSigner=C.createRuntimeLeaseRequestProof=C.runtimeLeaseRequestIntentHash=C.RUNTIME_LEASE_REQUEST_MAX_AGE_SECONDS=C.RUNTIME_LEASE_REQUEST_AUDIENCE=C.RUNTIME_LEASE_REQUEST_VERSION=C.verifyRuntimeLeaseChain=C.verifyRuntimeDelegation=C.issueRuntimeLease=C.issueRuntimeDelegation=C.completeRuntimeDelegation=C.prepareRuntimeDelegation=C.RUNTIME_LEASE_SIGNING_MODES=C.RUNTIME_LEASE_PURPOSE=C.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS=C.RUNTIME_LEASE_MAX_TTL_SECONDS=C.RUNTIME_LEASE_AUDIENCE=C.RUNTIME_LEASE_VERSION=C.RUNTIME_LEASE_TYP=C.RUNTIME_DELEGATION_MAX_TTL_SECONDS=C.RUNTIME_DELEGATION_VERSION=C.RUNTIME_DELEGATION_TYP=C.verifyRuntimeCertificate=C.prepareRuntimeCertificate=C.peekRuntimeCertificate=C.issueRuntimeCertificate=C.completeRuntimeCertificate=C.HOSTED_RUNTIME_CERTIFICATE_PURPOSES=C.RUNTIME_CERTIFICATE_PURPOSES=C.CARD_RUNTIME_CERTIFICATE_MAX_TTL_SECONDS=void 0;C.pairingVerifierChallenge=C.randomPairingVerifier=C.randomSetupOperationId=C.randomHandoffId=C.randomAttachId=C.randomPairingId=C.assertAgentPairingTransition=C.canTransitionAgentPairing=C.isAgentPairingState=C.AGENT_PAIRING_TERMINAL_STATES=C.AGENT_PAIRING_STATES=C.AGENT_PAIRING_CODE_LENGTH=C.AGENT_PAIRING_CODE_ALPHABET=C.AGENT_PAIRING_TTL_SECONDS=C.AGENT_PAIRING_PROTOCOL_VERSION_V2=C.AGENT_PAIRING_PROTOCOL_VERSION=C.verifyGrant=C.issueGrantWithSigner=C.issueGrant=C.GRANT_RAILS=C.MAX_TTL_GRANT_DAYS=C.TTL_GRANT_DAYS=C.GRANT_JWT_TYP=C.KillList=C.attestationIsVoid=C.verifyKillSwitch=C.issueKillSwitch=C.verifySuccession=C.issueSuccession=C.KILL_SWITCH_JWT_TYP=C.SUCCESSION_JWT_TYP=C.verifyWalletAuthorizationPermit=C.issueWalletAuthorizationPermit=C.WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS=C.WALLET_AUTHORIZATION_PERMIT_POLICY_ID=C.WALLET_AUTHORIZATION_PERMIT_AUDIENCE=C.WALLET_AUTHORIZATION_PERMIT_ISSUER=C.WALLET_AUTHORIZATION_PERMIT_JWT_TYP=C.issueRegistrationWithSigner=C.signerFromSignFn=C.signerFromAnchorKey=C.LocalSigner=C.signJwtWithSigner=C.walletVerifiedFromProof=C.verifyOwnershipProof=C.attestWalletOwnership=C.issueOwnershipProofWithSigner=C.issueOwnershipProof=C.verifyOwnershipSignature=C.buildOwnershipChallenge=void 0;C.authorizationScopeFacts=C.VIC_SETTLEMENT_ENVELOPE_VERSION=C.VIC_SETTLEMENT_ENVELOPE_KIND=C.VIC_PROCESSOR_ACTIONS=C.USD_MICROS_PER_CENT=C.AGENT_KEY_STATUSES=C.AGENT_KEY_PURPOSES=C.AGENT_KEY_CUSTODIES=C.AGENT_CHANNEL_STATUSES=C.AGENT_CHANNEL_ASSURANCES=C.AGENT_CHANNEL_KINDS=C.AGENT_EXECUTION_READINESS_REASONS=C.AGENT_AUTHORIZATION_SCOPES=C.AGENT_AUTHORITY_VALUATION_POLICY=C.AGENT_BUDGET_EPOCH_MODES=C.AGENT_AUTHORITY_VERSION=C.sha256=C.pairingInstrumentCommitment=C.pairingDeliveryArtifactV2Hash=C.canonicalPairingDeliveryArtifactV2=C.pairingArtifactHash=C.agentMailCredentialClaimMessageV2=C.keyRotationClaimHashV2=C.keyRotationClaimMessageV2=C.capabilityAttachActivationMessageV2=C.capabilityAttachClaimHashV2=C.capabilityAttachClaimMessageV2=C.handoffAuthorityCapabilities=C.AGENT_HANDOFF_COMPOUND_AUTHORITY=C.AGENT_HANDOFF_AUTHORITIES=C.AGENT_CAPABILITY_ATTACH_CAPABILITIES=C.pairingActivationMessageV2=C.pairingActivationMessage=C.pairingClaimHashV2=C.pairingClaimMessageV2=C.pairingClaimMessage=C.pairingTermsV2Hash=C.pairingTermsHash=C.canonicalPairingTermsV2=C.canonicalPairingTerms=C.setupConfirmationCode=C.pairingConfirmationCode=C.pairingCodeFromClaimToken=C.pairingClaimTokenHash=C.randomPairingClaimToken=C.pairingCodeHash=C.isValidPairingCode=C.formatPairingCode=C.normalizePairingCode=C.randomPairingCode=void 0;C.issueHostedTapIdentitySlip=C.issueHostedPresenceIdentitySlip=C.IDENTITY_HOSTED_TAP_SLIP_PURPOSE=C.IDENTITY_PRESENCE_SLIP_PURPOSE=C.issueIdentityTapSlip=C.validateIdentityTapSlipRequest=C.IDENTITY_TAP_SLIP_REQUEST_TYP=C.verifyIdentityDeviceEnrollmentProof=C.IDENTITY_HOSTED_GATE_AUTHORIZATION_PURPOSES=C.prepareIdentityHostedGateAuthorization=C.prepareIdentityDeviceGateAuthorization=C.identityDeviceEnrollmentPreimage=C.verifyIdentityTapLeaseRequestProof=C.createIdentityTapLeaseRequestProof=C.identityTapLeaseRequestIntentHash=C.issueIdentityTapLease=C.verifyIdentityTapDelegation=C.prepareIdentityTapDelegation=C.IDENTITY_TAP_LEASE_REQUEST_AUDIENCE=C.IDENTITY_TAP_LEASE_AUDIENCE=C.IDENTITY_TAP_PURPOSE=C.IDENTITY_TAP_PROFILE=C.verifyIdentityPresenceLeaseChain=C.verifyHostedConnectorProof=C.issueIdentityPresenceLease=C.issueHostedConnectorProof=C.HOSTED_CONNECTOR_PROOF_TTL_SECONDS=C.HOSTED_CONNECTOR_PROOF_TYP=C.IDENTITY_PRESENCE_SIGNING_MODE=C.IDENTITY_PRESENCE_PURPOSE=C.IDENTITY_PRESENCE_LEASE_AUDIENCE=C.prepareIdentityPresenceDelegation=C.vicSettlementEnvelopeHash=C.usdcAtomicToUsdMicros=C.walletAuthorizationRequestHash=C.spendAuthorizationIntentHash=C.agentAuthorityGrantHash=C.isCanonicalBase64Url32=C.centsToUsdMicros=C.canonicalVicSettlementEnvelope=C.canonicalSpendAuthorizationIntent=C.canonicalAgentKeyDescriptor=C.canonicalAgentChannelDescriptor=C.canonicalPayWithinBudget=C.canonicalAgentAuthorityGrant=C.defaultPayWithinBudget=C.grantPaymentRails=C.AGENT_PAYMENT_RAILS=C.AGENT_PAYMENT_SURFACES=C.AGENT_PAYMENT_MODE_NAMES=void 0;C.verifyIdentityDeviceHandoffProof=C.identityDeviceHandoffIntentHash=C.identityDeviceProposalSha256=C.IDENTITY_DEVICE_HANDOFF_AUDIENCE=C.parseIdentityTapSignatureBase=C.identityTapPayloadSha256=C.identityTapSigningBytes=C.hostedTapPayloadNamesMerchantRequest=C.issueHostedTapSlipFromTicket=C.validateIdentityHostedTapSlipRequest=C.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP=C.hostedPresenceAttemptId=void 0;var w8=zu();Object.defineProperty(C,"computeJkt",{enumerable:!0,get:function(){return w8.computeJkt}});Object.defineProperty(C,"generateAgentKey",{enumerable:!0,get:function(){return w8.generateAgentKey}});Object.defineProperty(C,"agentKeyFromSeed",{enumerable:!0,get:function(){return w8.agentKeyFromSeed}});Object.defineProperty(C,"generateAnchorKey",{enumerable:!0,get:function(){return w8.generateAnchorKey}});Object.defineProperty(C,"anchorKeyFromSeed",{enumerable:!0,get:function(){return w8.anchorKeyFromSeed}});Object.defineProperty(C,"buildJwks",{enumerable:!0,get:function(){return w8.buildJwks}});var e_t=SPe();Object.defineProperty(C,"eip712DigestBase64Url",{enumerable:!0,get:function(){return e_t.eip712DigestBase64Url}});Object.defineProperty(C,"verifyEip712TypedDataSignature",{enumerable:!0,get:function(){return e_t.verifyEip712TypedDataSignature}});var Ppn=Kft();Object.defineProperty(C,"turnkeyOwnerIdentityKey",{enumerable:!0,get:function(){return Ppn.turnkeyOwnerIdentityKey}});var t_t=TPe();Object.defineProperty(C,"canonicalEvmProviderAddress",{enumerable:!0,get:function(){return t_t.canonicalEvmProviderAddress}});Object.defineProperty(C,"isCanonicalEvmProviderAddress",{enumerable:!0,get:function(){return t_t.isCanonicalEvmProviderAddress}});var I8=lB();Object.defineProperty(C,"TTL_REG_DAYS",{enumerable:!0,get:function(){return I8.TTL_REG_DAYS}});Object.defineProperty(C,"REGISTRATION_JWT_TYP",{enumerable:!0,get:function(){return I8.REGISTRATION_JWT_TYP}});Object.defineProperty(C,"derivePairwiseRef",{enumerable:!0,get:function(){return I8.derivePairwiseRef}});Object.defineProperty(C,"registrationHash",{enumerable:!0,get:function(){return I8.registrationHash}});Object.defineProperty(C,"issueRegistration",{enumerable:!0,get:function(){return I8.issueRegistration}});Object.defineProperty(C,"verifyRegistration",{enumerable:!0,get:function(){return I8.verifyRegistration}});var zI=Z4e();Object.defineProperty(C,"TTL_FRESH_HOURS",{enumerable:!0,get:function(){return zI.TTL_FRESH_HOURS}});Object.defineProperty(C,"MAX_TTL_FRESH_HOURS",{enumerable:!0,get:function(){return zI.MAX_TTL_FRESH_HOURS}});Object.defineProperty(C,"FRESHNESS_JWT_TYP",{enumerable:!0,get:function(){return zI.FRESHNESS_JWT_TYP}});Object.defineProperty(C,"issueFreshness",{enumerable:!0,get:function(){return zI.issueFreshness}});Object.defineProperty(C,"verifyFreshness",{enumerable:!0,get:function(){return zI.verifyFreshness}});Object.defineProperty(C,"FreshnessService",{enumerable:!0,get:function(){return zI.FreshnessService}});Object.defineProperty(C,"InMemoryFreshnessStore",{enumerable:!0,get:function(){return zI.InMemoryFreshnessStore}});var r_t=Q4e();Object.defineProperty(C,"DEFAULT_MAX_STALENESS_SECONDS",{enumerable:!0,get:function(){return r_t.DEFAULT_MAX_STALENESS_SECONDS}});Object.defineProperty(C,"verifyBindingChain",{enumerable:!0,get:function(){return r_t.verifyBindingChain}});var xpn=c0t();Object.defineProperty(C,"evaluateEconomic",{enumerable:!0,get:function(){return xpn.evaluateEconomic}});var Jy=vOe();Object.defineProperty(C,"PRODUCT_SPEND_POLICY_VERSION",{enumerable:!0,get:function(){return Jy.PRODUCT_SPEND_POLICY_VERSION}});Object.defineProperty(C,"canonicalMerchantOriginPattern",{enumerable:!0,get:function(){return Jy.canonicalMerchantOriginPattern}});Object.defineProperty(C,"canonicalMerchantPathPrefix",{enumerable:!0,get:function(){return Jy.canonicalMerchantPathPrefix}});Object.defineProperty(C,"canonicalMerchantTarget",{enumerable:!0,get:function(){return Jy.canonicalMerchantTarget}});Object.defineProperty(C,"canonicalOwnerProductSpendPolicy",{enumerable:!0,get:function(){return Jy.canonicalOwnerProductSpendPolicy}});Object.defineProperty(C,"canonicalRuntimeProductSpendAttenuation",{enumerable:!0,get:function(){return Jy.canonicalRuntimeProductSpendAttenuation}});Object.defineProperty(C,"evaluateProductSpendPolicy",{enumerable:!0,get:function(){return Jy.evaluateProductSpendPolicy}});Object.defineProperty(C,"isProductSpendPolicySubset",{enumerable:!0,get:function(){return Jy.isProductSpendPolicySubset}});Object.defineProperty(C,"productSpendPolicyHash",{enumerable:!0,get:function(){return Jy.productSpendPolicyHash}});var n_t=xgt();Object.defineProperty(C,"canonicalLegacyWalletSpendPolicy",{enumerable:!0,get:function(){return n_t.canonicalLegacyWalletSpendPolicy}});Object.defineProperty(C,"importLegacyWalletSpendPolicy",{enumerable:!0,get:function(){return n_t.importLegacyWalletSpendPolicy}});var Xy=$y();Object.defineProperty(C,"POP_JWT_TYP",{enumerable:!0,get:function(){return Xy.POP_JWT_TYP}});Object.defineProperty(C,"UNIVERSAL_AGENT_OPERATION_AUDIENCE",{enumerable:!0,get:function(){return Xy.UNIVERSAL_AGENT_OPERATION_AUDIENCE}});Object.defineProperty(C,"DEFAULT_POP_MAX_AGE_SEC",{enumerable:!0,get:function(){return Xy.DEFAULT_POP_MAX_AGE_SEC}});Object.defineProperty(C,"randomPopNonce",{enumerable:!0,get:function(){return Xy.randomPopNonce}});Object.defineProperty(C,"createPopProof",{enumerable:!0,get:function(){return Xy.createPopProof}});Object.defineProperty(C,"createPopProofWithSigner",{enumerable:!0,get:function(){return Xy.createPopProofWithSigner}});Object.defineProperty(C,"createAgentOperationPopProof",{enumerable:!0,get:function(){return Xy.createAgentOperationPopProof}});Object.defineProperty(C,"verifyPopProof",{enumerable:!0,get:function(){return Xy.verifyPopProof}});Object.defineProperty(C,"verifyAgentOperationPopProof",{enumerable:!0,get:function(){return Xy.verifyAgentOperationPopProof}});var vh=xOe();Object.defineProperty(C,"RUNTIME_CERTIFICATE_TYP",{enumerable:!0,get:function(){return vh.RUNTIME_CERTIFICATE_TYP}});Object.defineProperty(C,"RUNTIME_CERTIFICATE_VERSION",{enumerable:!0,get:function(){return vh.RUNTIME_CERTIFICATE_VERSION}});Object.defineProperty(C,"RUNTIME_CERTIFICATE_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return vh.RUNTIME_CERTIFICATE_MAX_TTL_SECONDS}});Object.defineProperty(C,"CARD_RUNTIME_CERTIFICATE_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return vh.CARD_RUNTIME_CERTIFICATE_MAX_TTL_SECONDS}});Object.defineProperty(C,"RUNTIME_CERTIFICATE_PURPOSES",{enumerable:!0,get:function(){return vh.RUNTIME_CERTIFICATE_PURPOSES}});Object.defineProperty(C,"HOSTED_RUNTIME_CERTIFICATE_PURPOSES",{enumerable:!0,get:function(){return vh.HOSTED_RUNTIME_CERTIFICATE_PURPOSES}});Object.defineProperty(C,"completeRuntimeCertificate",{enumerable:!0,get:function(){return vh.completeRuntimeCertificate}});Object.defineProperty(C,"issueRuntimeCertificate",{enumerable:!0,get:function(){return vh.issueRuntimeCertificate}});Object.defineProperty(C,"peekRuntimeCertificate",{enumerable:!0,get:function(){return vh.peekRuntimeCertificate}});Object.defineProperty(C,"prepareRuntimeCertificate",{enumerable:!0,get:function(){return vh.prepareRuntimeCertificate}});Object.defineProperty(C,"verifyRuntimeCertificate",{enumerable:!0,get:function(){return vh.verifyRuntimeCertificate}});var du=pte();Object.defineProperty(C,"RUNTIME_DELEGATION_TYP",{enumerable:!0,get:function(){return du.RUNTIME_DELEGATION_TYP}});Object.defineProperty(C,"RUNTIME_DELEGATION_VERSION",{enumerable:!0,get:function(){return du.RUNTIME_DELEGATION_VERSION}});Object.defineProperty(C,"RUNTIME_DELEGATION_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return du.RUNTIME_DELEGATION_MAX_TTL_SECONDS}});Object.defineProperty(C,"RUNTIME_LEASE_TYP",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_TYP}});Object.defineProperty(C,"RUNTIME_LEASE_VERSION",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_VERSION}});Object.defineProperty(C,"RUNTIME_LEASE_AUDIENCE",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_AUDIENCE}});Object.defineProperty(C,"RUNTIME_LEASE_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_MAX_TTL_SECONDS}});Object.defineProperty(C,"RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS",{enumerable:!0,get:function(){return du.RUNTIME_AUTHORITY_CLOCK_SKEW_SECONDS}});Object.defineProperty(C,"RUNTIME_LEASE_PURPOSE",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_PURPOSE}});Object.defineProperty(C,"RUNTIME_LEASE_SIGNING_MODES",{enumerable:!0,get:function(){return du.RUNTIME_LEASE_SIGNING_MODES}});Object.defineProperty(C,"prepareRuntimeDelegation",{enumerable:!0,get:function(){return du.prepareRuntimeDelegation}});Object.defineProperty(C,"completeRuntimeDelegation",{enumerable:!0,get:function(){return du.completeRuntimeDelegation}});Object.defineProperty(C,"issueRuntimeDelegation",{enumerable:!0,get:function(){return du.issueRuntimeDelegation}});Object.defineProperty(C,"issueRuntimeLease",{enumerable:!0,get:function(){return du.issueRuntimeLease}});Object.defineProperty(C,"verifyRuntimeDelegation",{enumerable:!0,get:function(){return du.verifyRuntimeDelegation}});Object.defineProperty(C,"verifyRuntimeLeaseChain",{enumerable:!0,get:function(){return du.verifyRuntimeLeaseChain}});var GI=Ggt();Object.defineProperty(C,"RUNTIME_LEASE_REQUEST_VERSION",{enumerable:!0,get:function(){return GI.RUNTIME_LEASE_REQUEST_VERSION}});Object.defineProperty(C,"RUNTIME_LEASE_REQUEST_AUDIENCE",{enumerable:!0,get:function(){return GI.RUNTIME_LEASE_REQUEST_AUDIENCE}});Object.defineProperty(C,"RUNTIME_LEASE_REQUEST_MAX_AGE_SECONDS",{enumerable:!0,get:function(){return GI.RUNTIME_LEASE_REQUEST_MAX_AGE_SECONDS}});Object.defineProperty(C,"runtimeLeaseRequestIntentHash",{enumerable:!0,get:function(){return GI.runtimeLeaseRequestIntentHash}});Object.defineProperty(C,"createRuntimeLeaseRequestProof",{enumerable:!0,get:function(){return GI.createRuntimeLeaseRequestProof}});Object.defineProperty(C,"createRuntimeLeaseRequestProofWithSigner",{enumerable:!0,get:function(){return GI.createRuntimeLeaseRequestProofWithSigner}});Object.defineProperty(C,"verifyRuntimeLeaseRequestProof",{enumerable:!0,get:function(){return GI.verifyRuntimeLeaseRequestProof}});var iRe=Ygt();Object.defineProperty(C,"TAP_RUNTIME_SIGNATURE_DOMAIN",{enumerable:!0,get:function(){return iRe.TAP_RUNTIME_SIGNATURE_DOMAIN}});Object.defineProperty(C,"tapRuntimeSigningMessage",{enumerable:!0,get:function(){return iRe.tapRuntimeSigningMessage}});Object.defineProperty(C,"verifyTapRuntimeSignature",{enumerable:!0,get:function(){return iRe.verifyTapRuntimeSignature}});var Zy=s1t();Object.defineProperty(C,"WALLET_BINDING_TYP",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_TYP}});Object.defineProperty(C,"WALLET_BINDING_VERSION",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_VERSION}});Object.defineProperty(C,"WALLET_BINDING_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_MAX_TTL_SECONDS}});Object.defineProperty(C,"WALLET_BINDING_SIGNER_KIND",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_SIGNER_KIND}});Object.defineProperty(C,"WALLET_BINDING_DERIVATION_VERSION",{enumerable:!0,get:function(){return Zy.WALLET_BINDING_DERIVATION_VERSION}});Object.defineProperty(C,"prepareWalletBinding",{enumerable:!0,get:function(){return Zy.prepareWalletBinding}});Object.defineProperty(C,"completeWalletBinding",{enumerable:!0,get:function(){return Zy.completeWalletBinding}});Object.defineProperty(C,"issueWalletBinding",{enumerable:!0,get:function(){return Zy.issueWalletBinding}});Object.defineProperty(C,"verifyWalletBinding",{enumerable:!0,get:function(){return Zy.verifyWalletBinding}});var i_t=a1t();Object.defineProperty(C,"INTENT_HASH_VERSION",{enumerable:!0,get:function(){return i_t.INTENT_HASH_VERSION}});Object.defineProperty(C,"canonicalIntentHash",{enumerable:!0,get:function(){return i_t.canonicalIntentHash}});var Ff=nOe();Object.defineProperty(C,"OWNERSHIP_CHALLENGE_DOMAIN_V1",{enumerable:!0,get:function(){return Ff.OWNERSHIP_CHALLENGE_DOMAIN_V1}});Object.defineProperty(C,"OWNERSHIP_PROOF_JWT_TYP",{enumerable:!0,get:function(){return Ff.OWNERSHIP_PROOF_JWT_TYP}});Object.defineProperty(C,"TTL_OWNERSHIP_HOURS",{enumerable:!0,get:function(){return Ff.TTL_OWNERSHIP_HOURS}});Object.defineProperty(C,"MAX_TTL_OWNERSHIP_HOURS",{enumerable:!0,get:function(){return Ff.MAX_TTL_OWNERSHIP_HOURS}});Object.defineProperty(C,"CHALLENGE_MAX_AGE_SEC",{enumerable:!0,get:function(){return Ff.CHALLENGE_MAX_AGE_SEC}});Object.defineProperty(C,"buildOwnershipChallenge",{enumerable:!0,get:function(){return Ff.buildOwnershipChallenge}});Object.defineProperty(C,"verifyOwnershipSignature",{enumerable:!0,get:function(){return Ff.verifyOwnershipSignature}});Object.defineProperty(C,"issueOwnershipProof",{enumerable:!0,get:function(){return Ff.issueOwnershipProof}});Object.defineProperty(C,"issueOwnershipProofWithSigner",{enumerable:!0,get:function(){return Ff.issueOwnershipProofWithSigner}});Object.defineProperty(C,"attestWalletOwnership",{enumerable:!0,get:function(){return Ff.attestWalletOwnership}});Object.defineProperty(C,"verifyOwnershipProof",{enumerable:!0,get:function(){return Ff.verifyOwnershipProof}});Object.defineProperty(C,"walletVerifiedFromProof",{enumerable:!0,get:function(){return Ff.walletVerifiedFromProof}});var AB=Fv();Object.defineProperty(C,"signJwtWithSigner",{enumerable:!0,get:function(){return AB.signJwtWithSigner}});Object.defineProperty(C,"LocalSigner",{enumerable:!0,get:function(){return AB.LocalSigner}});Object.defineProperty(C,"signerFromAnchorKey",{enumerable:!0,get:function(){return AB.signerFromAnchorKey}});Object.defineProperty(C,"signerFromSignFn",{enumerable:!0,get:function(){return AB.signerFromSignFn}});Object.defineProperty(C,"issueRegistrationWithSigner",{enumerable:!0,get:function(){return AB.issueRegistrationWithSigner}});var KI=m1t();Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_JWT_TYP",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_JWT_TYP}});Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_ISSUER",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_ISSUER}});Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_AUDIENCE",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_AUDIENCE}});Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_POLICY_ID",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_POLICY_ID}});Object.defineProperty(C,"WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS",{enumerable:!0,get:function(){return KI.WALLET_AUTHORIZATION_PERMIT_MAX_TTL_SECONDS}});Object.defineProperty(C,"issueWalletAuthorizationPermit",{enumerable:!0,get:function(){return KI.issueWalletAuthorizationPermit}});Object.defineProperty(C,"verifyWalletAuthorizationPermit",{enumerable:!0,get:function(){return KI.verifyWalletAuthorizationPermit}});var eT=_1t();Object.defineProperty(C,"SUCCESSION_JWT_TYP",{enumerable:!0,get:function(){return eT.SUCCESSION_JWT_TYP}});Object.defineProperty(C,"KILL_SWITCH_JWT_TYP",{enumerable:!0,get:function(){return eT.KILL_SWITCH_JWT_TYP}});Object.defineProperty(C,"issueSuccession",{enumerable:!0,get:function(){return eT.issueSuccession}});Object.defineProperty(C,"verifySuccession",{enumerable:!0,get:function(){return eT.verifySuccession}});Object.defineProperty(C,"issueKillSwitch",{enumerable:!0,get:function(){return eT.issueKillSwitch}});Object.defineProperty(C,"verifyKillSwitch",{enumerable:!0,get:function(){return eT.verifyKillSwitch}});Object.defineProperty(C,"attestationIsVoid",{enumerable:!0,get:function(){return eT.attestationIsVoid}});Object.defineProperty(C,"KillList",{enumerable:!0,get:function(){return eT.KillList}});var WI=v1t();Object.defineProperty(C,"GRANT_JWT_TYP",{enumerable:!0,get:function(){return WI.GRANT_JWT_TYP}});Object.defineProperty(C,"TTL_GRANT_DAYS",{enumerable:!0,get:function(){return WI.TTL_GRANT_DAYS}});Object.defineProperty(C,"MAX_TTL_GRANT_DAYS",{enumerable:!0,get:function(){return WI.MAX_TTL_GRANT_DAYS}});Object.defineProperty(C,"GRANT_RAILS",{enumerable:!0,get:function(){return WI.GRANT_RAILS}});Object.defineProperty(C,"issueGrant",{enumerable:!0,get:function(){return WI.issueGrant}});Object.defineProperty(C,"issueGrantWithSigner",{enumerable:!0,get:function(){return WI.issueGrantWithSigner}});Object.defineProperty(C,"verifyGrant",{enumerable:!0,get:function(){return WI.verifyGrant}});var Nt=A1t();Object.defineProperty(C,"AGENT_PAIRING_PROTOCOL_VERSION",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_PROTOCOL_VERSION}});Object.defineProperty(C,"AGENT_PAIRING_PROTOCOL_VERSION_V2",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_PROTOCOL_VERSION_V2}});Object.defineProperty(C,"AGENT_PAIRING_TTL_SECONDS",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_TTL_SECONDS}});Object.defineProperty(C,"AGENT_PAIRING_CODE_ALPHABET",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_CODE_ALPHABET}});Object.defineProperty(C,"AGENT_PAIRING_CODE_LENGTH",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_CODE_LENGTH}});Object.defineProperty(C,"AGENT_PAIRING_STATES",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_STATES}});Object.defineProperty(C,"AGENT_PAIRING_TERMINAL_STATES",{enumerable:!0,get:function(){return Nt.AGENT_PAIRING_TERMINAL_STATES}});Object.defineProperty(C,"isAgentPairingState",{enumerable:!0,get:function(){return Nt.isAgentPairingState}});Object.defineProperty(C,"canTransitionAgentPairing",{enumerable:!0,get:function(){return Nt.canTransitionAgentPairing}});Object.defineProperty(C,"assertAgentPairingTransition",{enumerable:!0,get:function(){return Nt.assertAgentPairingTransition}});Object.defineProperty(C,"randomPairingId",{enumerable:!0,get:function(){return Nt.randomPairingId}});Object.defineProperty(C,"randomAttachId",{enumerable:!0,get:function(){return Nt.randomAttachId}});Object.defineProperty(C,"randomHandoffId",{enumerable:!0,get:function(){return Nt.randomHandoffId}});Object.defineProperty(C,"randomSetupOperationId",{enumerable:!0,get:function(){return Nt.randomSetupOperationId}});Object.defineProperty(C,"randomPairingVerifier",{enumerable:!0,get:function(){return Nt.randomPairingVerifier}});Object.defineProperty(C,"pairingVerifierChallenge",{enumerable:!0,get:function(){return Nt.pairingVerifierChallenge}});Object.defineProperty(C,"randomPairingCode",{enumerable:!0,get:function(){return Nt.randomPairingCode}});Object.defineProperty(C,"normalizePairingCode",{enumerable:!0,get:function(){return Nt.normalizePairingCode}});Object.defineProperty(C,"formatPairingCode",{enumerable:!0,get:function(){return Nt.formatPairingCode}});Object.defineProperty(C,"isValidPairingCode",{enumerable:!0,get:function(){return Nt.isValidPairingCode}});Object.defineProperty(C,"pairingCodeHash",{enumerable:!0,get:function(){return Nt.pairingCodeHash}});Object.defineProperty(C,"randomPairingClaimToken",{enumerable:!0,get:function(){return Nt.randomPairingClaimToken}});Object.defineProperty(C,"pairingClaimTokenHash",{enumerable:!0,get:function(){return Nt.pairingClaimTokenHash}});Object.defineProperty(C,"pairingCodeFromClaimToken",{enumerable:!0,get:function(){return Nt.pairingCodeFromClaimToken}});Object.defineProperty(C,"pairingConfirmationCode",{enumerable:!0,get:function(){return Nt.pairingConfirmationCode}});Object.defineProperty(C,"setupConfirmationCode",{enumerable:!0,get:function(){return Nt.setupConfirmationCode}});Object.defineProperty(C,"canonicalPairingTerms",{enumerable:!0,get:function(){return Nt.canonicalPairingTerms}});Object.defineProperty(C,"canonicalPairingTermsV2",{enumerable:!0,get:function(){return Nt.canonicalPairingTermsV2}});Object.defineProperty(C,"pairingTermsHash",{enumerable:!0,get:function(){return Nt.pairingTermsHash}});Object.defineProperty(C,"pairingTermsV2Hash",{enumerable:!0,get:function(){return Nt.pairingTermsV2Hash}});Object.defineProperty(C,"pairingClaimMessage",{enumerable:!0,get:function(){return Nt.pairingClaimMessage}});Object.defineProperty(C,"pairingClaimMessageV2",{enumerable:!0,get:function(){return Nt.pairingClaimMessageV2}});Object.defineProperty(C,"pairingClaimHashV2",{enumerable:!0,get:function(){return Nt.pairingClaimHashV2}});Object.defineProperty(C,"pairingActivationMessage",{enumerable:!0,get:function(){return Nt.pairingActivationMessage}});Object.defineProperty(C,"pairingActivationMessageV2",{enumerable:!0,get:function(){return Nt.pairingActivationMessageV2}});Object.defineProperty(C,"AGENT_CAPABILITY_ATTACH_CAPABILITIES",{enumerable:!0,get:function(){return Nt.AGENT_CAPABILITY_ATTACH_CAPABILITIES}});Object.defineProperty(C,"AGENT_HANDOFF_AUTHORITIES",{enumerable:!0,get:function(){return Nt.AGENT_HANDOFF_AUTHORITIES}});Object.defineProperty(C,"AGENT_HANDOFF_COMPOUND_AUTHORITY",{enumerable:!0,get:function(){return Nt.AGENT_HANDOFF_COMPOUND_AUTHORITY}});Object.defineProperty(C,"handoffAuthorityCapabilities",{enumerable:!0,get:function(){return Nt.handoffAuthorityCapabilities}});Object.defineProperty(C,"capabilityAttachClaimMessageV2",{enumerable:!0,get:function(){return Nt.capabilityAttachClaimMessageV2}});Object.defineProperty(C,"capabilityAttachClaimHashV2",{enumerable:!0,get:function(){return Nt.capabilityAttachClaimHashV2}});Object.defineProperty(C,"capabilityAttachActivationMessageV2",{enumerable:!0,get:function(){return Nt.capabilityAttachActivationMessageV2}});Object.defineProperty(C,"keyRotationClaimMessageV2",{enumerable:!0,get:function(){return Nt.keyRotationClaimMessageV2}});Object.defineProperty(C,"keyRotationClaimHashV2",{enumerable:!0,get:function(){return Nt.keyRotationClaimHashV2}});Object.defineProperty(C,"agentMailCredentialClaimMessageV2",{enumerable:!0,get:function(){return Nt.agentMailCredentialClaimMessageV2}});Object.defineProperty(C,"pairingArtifactHash",{enumerable:!0,get:function(){return Nt.pairingArtifactHash}});Object.defineProperty(C,"canonicalPairingDeliveryArtifactV2",{enumerable:!0,get:function(){return Nt.canonicalPairingDeliveryArtifactV2}});Object.defineProperty(C,"pairingDeliveryArtifactV2Hash",{enumerable:!0,get:function(){return Nt.pairingDeliveryArtifactV2Hash}});Object.defineProperty(C,"pairingInstrumentCommitment",{enumerable:!0,get:function(){return Nt.pairingInstrumentCommitment}});Object.defineProperty(C,"sha256",{enumerable:!0,get:function(){return Nt.sha256}});var Ur=bD();Object.defineProperty(C,"AGENT_AUTHORITY_VERSION",{enumerable:!0,get:function(){return Ur.AGENT_AUTHORITY_VERSION}});Object.defineProperty(C,"AGENT_BUDGET_EPOCH_MODES",{enumerable:!0,get:function(){return Ur.AGENT_BUDGET_EPOCH_MODES}});Object.defineProperty(C,"AGENT_AUTHORITY_VALUATION_POLICY",{enumerable:!0,get:function(){return Ur.AGENT_AUTHORITY_VALUATION_POLICY}});Object.defineProperty(C,"AGENT_AUTHORIZATION_SCOPES",{enumerable:!0,get:function(){return Ur.AGENT_AUTHORIZATION_SCOPES}});Object.defineProperty(C,"AGENT_EXECUTION_READINESS_REASONS",{enumerable:!0,get:function(){return Ur.AGENT_EXECUTION_READINESS_REASONS}});Object.defineProperty(C,"AGENT_CHANNEL_KINDS",{enumerable:!0,get:function(){return Ur.AGENT_CHANNEL_KINDS}});Object.defineProperty(C,"AGENT_CHANNEL_ASSURANCES",{enumerable:!0,get:function(){return Ur.AGENT_CHANNEL_ASSURANCES}});Object.defineProperty(C,"AGENT_CHANNEL_STATUSES",{enumerable:!0,get:function(){return Ur.AGENT_CHANNEL_STATUSES}});Object.defineProperty(C,"AGENT_KEY_CUSTODIES",{enumerable:!0,get:function(){return Ur.AGENT_KEY_CUSTODIES}});Object.defineProperty(C,"AGENT_KEY_PURPOSES",{enumerable:!0,get:function(){return Ur.AGENT_KEY_PURPOSES}});Object.defineProperty(C,"AGENT_KEY_STATUSES",{enumerable:!0,get:function(){return Ur.AGENT_KEY_STATUSES}});Object.defineProperty(C,"USD_MICROS_PER_CENT",{enumerable:!0,get:function(){return Ur.USD_MICROS_PER_CENT}});Object.defineProperty(C,"VIC_PROCESSOR_ACTIONS",{enumerable:!0,get:function(){return Ur.VIC_PROCESSOR_ACTIONS}});Object.defineProperty(C,"VIC_SETTLEMENT_ENVELOPE_KIND",{enumerable:!0,get:function(){return Ur.VIC_SETTLEMENT_ENVELOPE_KIND}});Object.defineProperty(C,"VIC_SETTLEMENT_ENVELOPE_VERSION",{enumerable:!0,get:function(){return Ur.VIC_SETTLEMENT_ENVELOPE_VERSION}});Object.defineProperty(C,"authorizationScopeFacts",{enumerable:!0,get:function(){return Ur.authorizationScopeFacts}});Object.defineProperty(C,"AGENT_PAYMENT_MODE_NAMES",{enumerable:!0,get:function(){return Ur.AGENT_PAYMENT_MODE_NAMES}});Object.defineProperty(C,"AGENT_PAYMENT_SURFACES",{enumerable:!0,get:function(){return Ur.AGENT_PAYMENT_SURFACES}});Object.defineProperty(C,"AGENT_PAYMENT_RAILS",{enumerable:!0,get:function(){return Ur.AGENT_PAYMENT_RAILS}});Object.defineProperty(C,"grantPaymentRails",{enumerable:!0,get:function(){return Ur.grantPaymentRails}});Object.defineProperty(C,"defaultPayWithinBudget",{enumerable:!0,get:function(){return Ur.defaultPayWithinBudget}});Object.defineProperty(C,"canonicalAgentAuthorityGrant",{enumerable:!0,get:function(){return Ur.canonicalAgentAuthorityGrant}});Object.defineProperty(C,"canonicalPayWithinBudget",{enumerable:!0,get:function(){return Ur.canonicalPayWithinBudget}});Object.defineProperty(C,"canonicalAgentChannelDescriptor",{enumerable:!0,get:function(){return Ur.canonicalAgentChannelDescriptor}});Object.defineProperty(C,"canonicalAgentKeyDescriptor",{enumerable:!0,get:function(){return Ur.canonicalAgentKeyDescriptor}});Object.defineProperty(C,"canonicalSpendAuthorizationIntent",{enumerable:!0,get:function(){return Ur.canonicalSpendAuthorizationIntent}});Object.defineProperty(C,"canonicalVicSettlementEnvelope",{enumerable:!0,get:function(){return Ur.canonicalVicSettlementEnvelope}});Object.defineProperty(C,"centsToUsdMicros",{enumerable:!0,get:function(){return Ur.centsToUsdMicros}});Object.defineProperty(C,"isCanonicalBase64Url32",{enumerable:!0,get:function(){return Ur.isCanonicalBase64Url32}});Object.defineProperty(C,"agentAuthorityGrantHash",{enumerable:!0,get:function(){return Ur.agentAuthorityGrantHash}});Object.defineProperty(C,"spendAuthorizationIntentHash",{enumerable:!0,get:function(){return Ur.spendAuthorizationIntentHash}});Object.defineProperty(C,"walletAuthorizationRequestHash",{enumerable:!0,get:function(){return Ur.walletAuthorizationRequestHash}});Object.defineProperty(C,"usdcAtomicToUsdMicros",{enumerable:!0,get:function(){return Ur.usdcAtomicToUsdMicros}});Object.defineProperty(C,"vicSettlementEnvelopeHash",{enumerable:!0,get:function(){return Ur.vicSettlementEnvelopeHash}});var Opn=w1t();Object.defineProperty(C,"prepareIdentityPresenceDelegation",{enumerable:!0,get:function(){return Opn.prepareIdentityPresenceDelegation}});var Qy=WOe();Object.defineProperty(C,"IDENTITY_PRESENCE_LEASE_AUDIENCE",{enumerable:!0,get:function(){return Qy.IDENTITY_PRESENCE_LEASE_AUDIENCE}});Object.defineProperty(C,"IDENTITY_PRESENCE_PURPOSE",{enumerable:!0,get:function(){return Qy.IDENTITY_PRESENCE_PURPOSE}});Object.defineProperty(C,"IDENTITY_PRESENCE_SIGNING_MODE",{enumerable:!0,get:function(){return Qy.IDENTITY_PRESENCE_SIGNING_MODE}});Object.defineProperty(C,"HOSTED_CONNECTOR_PROOF_TYP",{enumerable:!0,get:function(){return Qy.HOSTED_CONNECTOR_PROOF_TYP}});Object.defineProperty(C,"HOSTED_CONNECTOR_PROOF_TTL_SECONDS",{enumerable:!0,get:function(){return Qy.HOSTED_CONNECTOR_PROOF_TTL_SECONDS}});Object.defineProperty(C,"issueHostedConnectorProof",{enumerable:!0,get:function(){return Qy.issueHostedConnectorProof}});Object.defineProperty(C,"issueIdentityPresenceLease",{enumerable:!0,get:function(){return Qy.issueIdentityPresenceLease}});Object.defineProperty(C,"verifyHostedConnectorProof",{enumerable:!0,get:function(){return Qy.verifyHostedConnectorProof}});Object.defineProperty(C,"verifyIdentityPresenceLeaseChain",{enumerable:!0,get:function(){return Qy.verifyIdentityPresenceLeaseChain}});var xg=ZOe();Object.defineProperty(C,"IDENTITY_TAP_PROFILE",{enumerable:!0,get:function(){return xg.IDENTITY_TAP_PROFILE}});Object.defineProperty(C,"IDENTITY_TAP_PURPOSE",{enumerable:!0,get:function(){return xg.IDENTITY_TAP_PURPOSE}});Object.defineProperty(C,"IDENTITY_TAP_LEASE_AUDIENCE",{enumerable:!0,get:function(){return xg.IDENTITY_TAP_LEASE_AUDIENCE}});Object.defineProperty(C,"IDENTITY_TAP_LEASE_REQUEST_AUDIENCE",{enumerable:!0,get:function(){return xg.IDENTITY_TAP_LEASE_REQUEST_AUDIENCE}});Object.defineProperty(C,"prepareIdentityTapDelegation",{enumerable:!0,get:function(){return xg.prepareIdentityTapDelegation}});Object.defineProperty(C,"verifyIdentityTapDelegation",{enumerable:!0,get:function(){return xg.verifyIdentityTapDelegation}});Object.defineProperty(C,"issueIdentityTapLease",{enumerable:!0,get:function(){return xg.issueIdentityTapLease}});Object.defineProperty(C,"identityTapLeaseRequestIntentHash",{enumerable:!0,get:function(){return xg.identityTapLeaseRequestIntentHash}});Object.defineProperty(C,"createIdentityTapLeaseRequestProof",{enumerable:!0,get:function(){return xg.createIdentityTapLeaseRequestProof}});Object.defineProperty(C,"verifyIdentityTapLeaseRequestProof",{enumerable:!0,get:function(){return xg.verifyIdentityTapLeaseRequestProof}});var wB=q1t();Object.defineProperty(C,"identityDeviceEnrollmentPreimage",{enumerable:!0,get:function(){return wB.identityDeviceEnrollmentPreimage}});Object.defineProperty(C,"prepareIdentityDeviceGateAuthorization",{enumerable:!0,get:function(){return wB.prepareIdentityDeviceGateAuthorization}});Object.defineProperty(C,"prepareIdentityHostedGateAuthorization",{enumerable:!0,get:function(){return wB.prepareIdentityHostedGateAuthorization}});Object.defineProperty(C,"IDENTITY_HOSTED_GATE_AUTHORIZATION_PURPOSES",{enumerable:!0,get:function(){return wB.IDENTITY_HOSTED_GATE_AUTHORIZATION_PURPOSES}});Object.defineProperty(C,"verifyIdentityDeviceEnrollmentProof",{enumerable:!0,get:function(){return wB.verifyIdentityDeviceEnrollmentProof}});var oRe=F1t();Object.defineProperty(C,"IDENTITY_TAP_SLIP_REQUEST_TYP",{enumerable:!0,get:function(){return oRe.IDENTITY_TAP_SLIP_REQUEST_TYP}});Object.defineProperty(C,"validateIdentityTapSlipRequest",{enumerable:!0,get:function(){return oRe.validateIdentityTapSlipRequest}});Object.defineProperty(C,"issueIdentityTapSlip",{enumerable:!0,get:function(){return oRe.issueIdentityTapSlip}});var IB=rRe();Object.defineProperty(C,"IDENTITY_PRESENCE_SLIP_PURPOSE",{enumerable:!0,get:function(){return IB.IDENTITY_PRESENCE_SLIP_PURPOSE}});Object.defineProperty(C,"IDENTITY_HOSTED_TAP_SLIP_PURPOSE",{enumerable:!0,get:function(){return IB.IDENTITY_HOSTED_TAP_SLIP_PURPOSE}});Object.defineProperty(C,"issueHostedPresenceIdentitySlip",{enumerable:!0,get:function(){return IB.issueHostedPresenceIdentitySlip}});Object.defineProperty(C,"issueHostedTapIdentitySlip",{enumerable:!0,get:function(){return IB.issueHostedTapIdentitySlip}});Object.defineProperty(C,"hostedPresenceAttemptId",{enumerable:!0,get:function(){return IB.hostedPresenceAttemptId}});var Ete=Y1t();Object.defineProperty(C,"IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP",{enumerable:!0,get:function(){return Ete.IDENTITY_HOSTED_TAP_SLIP_REQUEST_TYP}});Object.defineProperty(C,"validateIdentityHostedTapSlipRequest",{enumerable:!0,get:function(){return Ete.validateIdentityHostedTapSlipRequest}});Object.defineProperty(C,"issueHostedTapSlipFromTicket",{enumerable:!0,get:function(){return Ete.issueHostedTapSlipFromTicket}});Object.defineProperty(C,"hostedTapPayloadNamesMerchantRequest",{enumerable:!0,get:function(){return Ete.hostedTapPayloadNamesMerchantRequest}});var sRe=bte();Object.defineProperty(C,"identityTapSigningBytes",{enumerable:!0,get:function(){return sRe.identityTapSigningBytes}});Object.defineProperty(C,"identityTapPayloadSha256",{enumerable:!0,get:function(){return sRe.identityTapPayloadSha256}});Object.defineProperty(C,"parseIdentityTapSignatureBase",{enumerable:!0,get:function(){return sRe.parseIdentityTapSignatureBase}});var Ste=Q1t();Object.defineProperty(C,"IDENTITY_DEVICE_HANDOFF_AUDIENCE",{enumerable:!0,get:function(){return Ste.IDENTITY_DEVICE_HANDOFF_AUDIENCE}});Object.defineProperty(C,"identityDeviceProposalSha256",{enumerable:!0,get:function(){return Ste.identityDeviceProposalSha256}});Object.defineProperty(C,"identityDeviceHandoffIntentHash",{enumerable:!0,get:function(){return Ste.identityDeviceHandoffIntentHash}});Object.defineProperty(C,"verifyIdentityDeviceHandoffProof",{enumerable:!0,get:function(){return Ste.verifyIdentityDeviceHandoffProof}})});var H_t=_((aCi,q_t)=>{"use strict";var Rpn=Object.create,Ote=Object.defineProperty,Npn=Object.getOwnPropertyDescriptor,g_t=Object.getOwnPropertyNames,Cpn=Object.getPrototypeOf,Mpn=Object.prototype.hasOwnProperty,kpn=(e,t)=>function(){try{return t||(0,e[g_t(e)[0]])((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},Dpn=(e,t)=>{for(var r in t)Ote(e,r,{get:t[r],enumerable:!0})},__t=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of g_t(t))!Mpn.call(e,i)&&i!==r&&Ote(e,i,{get:()=>t[i],enumerable:!(n=Npn(t,i))||n.enumerable});return e},Lpn=(e,t,r)=>(r=e!=null?Rpn(Cpn(e)):{},__t(t||!e||!e.__esModule?Ote(r,"default",{value:e,enumerable:!0}):r,e)),Upn=e=>__t(Ote({},"__esModule",{value:!0}),e),Bpn=kpn({"../shared/dist/canonical-contract.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CANONICAL_OPAQUE_ID_MAX_BYTES=e.CANONICAL_OPAQUE_ID_RE=e.CANONICAL_OPAQUE_ID_PATTERN=void 0,e.utf8ByteLength=n,e.isCanonicalText=i,e.compareCanonicalKeys=o,e.isCanonicalOpaqueId=s,e.assertCanonicalOpaqueId=a,e.CANONICAL_OPAQUE_ID_PATTERN="^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$",e.CANONICAL_OPAQUE_ID_RE=new RegExp(e.CANONICAL_OPAQUE_ID_PATTERN),e.CANONICAL_OPAQUE_ID_MAX_BYTES=128;var t=/[\u0000-\u001f\u007f\u2028\u2029]/,r=new TextEncoder;function n(c){return r.encode(c).length}function i(c,u){return typeof c=="string"&&c.length>0&&n(c)<=u&&c.trim()===c&&c.normalize("NFC")===c&&!t.test(c)}function o(c,u){let d=r.encode(c),l=r.encode(u),p=Math.min(d.length,l.length);for(let f=0;f<p;f+=1)if(d[f]!==l[f])return d[f]-l[f];return d.length-l.length}function s(c){return typeof c=="string"&&n(c)<=e.CANONICAL_OPAQUE_ID_MAX_BYTES&&e.CANONICAL_OPAQUE_ID_RE.test(c)}function a(c,u="value"){if(!s(c))throw new Error(`${u} must be a canonical opaque id (max 128 ASCII bytes)`)}}}),y_t={};Dpn(y_t,{AGENT_AUTHORITY_VALUATION_POLICY:()=>Ite,AGENT_AUTHORITY_VERSION:()=>xB,AGENT_AUTHORIZATION_SCOPES:()=>bRe,AGENT_BUDGET_EPOCH_MODES:()=>w_t,AGENT_CHANNEL_ASSURANCES:()=>C_t,AGENT_CHANNEL_KINDS:()=>R_t,AGENT_CHANNEL_STATUSES:()=>N_t,AGENT_EXECUTION_READINESS_REASONS:()=>gfn,AGENT_KEY_CUSTODIES:()=>x_t,AGENT_KEY_PURPOSES:()=>P_t,AGENT_KEY_STATUSES:()=>O_t,AGENT_PAYMENT_MODE_NAMES:()=>mfn,AGENT_PAYMENT_RAILS:()=>mRe,AGENT_PAYMENT_SURFACES:()=>fRe,USD_MICROS_PER_CENT:()=>Cte,VIC_PROCESSOR_ACTIONS:()=>I_t,VIC_SETTLEMENT_ENVELOPE_KIND:()=>wte,VIC_SETTLEMENT_ENVELOPE_VERSION:()=>Ate,agentAuthorityGrantHash:()=>Nfn,authorizationScopeFacts:()=>Pfn,canonicalAgentAuthorityGrant:()=>U_t,canonicalAgentChannelDescriptor:()=>Rfn,canonicalAgentKeyDescriptor:()=>xfn,canonicalPayWithinBudget:()=>L_t,canonicalSpendAuthorizationIntent:()=>SRe,canonicalVicSettlementEnvelope:()=>B_t,centsToUsdMicros:()=>wfn,defaultPayWithinBudget:()=>hfn,grantPaymentRails:()=>ERe,isCanonicalBase64Url32:()=>iT,spendAuthorizationIntentHash:()=>j_t,usdcAtomicToUsdMicros:()=>Ifn,vicSettlementEnvelopeHash:()=>Cfn,walletAuthorizationRequestHash:()=>Mfn});q_t.exports=Upn(y_t);var jpn=e=>e/2**32|0,qpn=e=>e>>>0;function Hpn(e,t,r,n){let i=jpn(r),o=qpn(r);e.setUint32(t,n?o:i,n),e.setUint32(t+4,n?i:o,n)}function o_t(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}var uRe=e=>e?`"${e}" `:"";function Vpn(e,t=""){if(typeof e!="number")throw new TypeError(uRe(t)+"expected number, got "+typeof e);if(!Number.isSafeInteger(e)||e<0)throw new RangeError(uRe(t)+"expected integer >= 0, got "+e);return e}function b_t(e,t,r=""){if(o_t(e)&&(t===void 0||e.length===t))return e;t!==void 0&&Vpn(t,"length");let n=o_t(e),i=t!==void 0?` of length ${t}`:"",o=n?`length=${e.length}`:`type=${typeof e}`,s=uRe(r)+"expected Uint8Array"+i+", got "+o;throw n?new RangeError(s):new TypeError(s)}var Fpn=(e,t)=>{if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError((t==="object"?"":`"${t}" `)+"expected object, got type="+typeof e)},s_t=(e,t)=>{Fpn(e,t);let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)throw new TypeError(`"${t}" expected plain object`);if(Object.hasOwn(e,"__proto__"))throw new TypeError(`"${t}.__proto__" is not allowed`)};function a_t(e,t=!0){if(e.destroyed)throw new Error("hash was destroyed");if(t&&e.finished)throw new Error("digest() was already called")}function $pn(e,t){b_t(e,void 0,"output");let r=t.outputLen;if(!(e.length>=r))throw new RangeError('"output" expected length >= '+r)}function c_t(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function aRe(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Og(e,t){return e<<32-t|e>>>t}function zpn(e,t,r="opts"){return s_t(e,"defaults"),t!==void 0&&s_t(t,r),Object.assign(Object.create(null),e,t)}function Gpn(e,t={}){if(typeof e!="function")throw new TypeError('"hashCons" expected function, got type='+typeof e);t=zpn({},t,"info");let r=(i,o)=>e(o).update(i).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.canXOF=n.canXOF,r.create=i=>e(i),Object.assign(r,t),Object.freeze(r)}var Kpn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Wpn(e,t,r){return e&t^~e&r}function Ypn(e,t,r){return e&t^e&r^t&r}var Jpn=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,n){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=aRe(this.buffer)}update(e){a_t(this),b_t(e);let{view:t,buffer:r,blockLen:n}=this,i=e.length,o=!1;for(let s=0;s<i;){let a=Math.min(n-this.pos,i-s);if(a===n){let c=aRe(e);for(;n<=i-s;s+=n)this.process(c,s);o=!0;continue}r.set(s===0&&a===i?e:e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===n&&(this.process(t,0),this.pos=0,o=!0)}return this.length+=e.length,o&&this.roundClean(),this}digestInto(e){a_t(this),$pn(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:o}=this;t[o++]=128,t.fill(0,o),this.padOffset>n-o&&(this.process(r,0),t.fill(0)),Hpn(r,n-8,this.length*8,i),this.process(r,0),this.roundClean();let s=e===t?r:aRe(e),a=this.outputLen,c=a/4,u=this.get();if(a%4||c>u.length)throw new Error("invalid outputLen");for(let d=0;d<c;d++)s.setUint32(4*d,u[d],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneIntoMeta(e){let{buffer:t,length:r,finished:n,destroyed:i,pos:o}=this;return e.destroyed=i,e.finished=n,e.length=r,e.pos=o,o&&e.buffer.set(t),e}clone(){return this._cloneInto()}},Xpn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Zpn=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),tT=new Uint32Array(64),Qpn=class extends Jpn{A=0;B=0;C=0;D=0;E=0;F=0;G=0;H=0;constructor(e,t){super(64,e,8,!1),this.A=t[0]|0,this.B=t[1]|0,this.C=t[2]|0,this.D=t[3]|0,this.E=t[4]|0,this.F=t[5]|0,this.G=t[6]|0,this.H=t[7]|0}get(){let{A:e,B:t,C:r,D:n,E:i,F:o,G:s,H:a}=this;return[e,t,r,n,i,o,s,a]}set(e,t,r,n,i,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=o|0,this.G=s|0,this.H=a|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let d=0;d<16;d++,t+=4)tT[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let l=tT[d-15],p=tT[d-2],f=Og(l,7)^Og(l,18)^l>>>3,m=Og(p,17)^Og(p,19)^p>>>10;tT[d]=m+tT[d-7]+f+tT[d-16]|0}let{A:r,B:n,C:i,D:o,E:s,F:a,G:c,H:u}=this;for(let d=0;d<64;d++){let l=Og(s,6)^Og(s,11)^Og(s,25),p=u+l+Wpn(s,a,c)+Zpn[d]+tT[d]|0,m=(Og(r,2)^Og(r,13)^Og(r,22))+Ypn(r,n,i)|0;u=c,c=a,a=s,s=o+p|0,o=i,i=n,n=r,r=p+m|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,n,i,o,s,a,c,u)}roundClean(){c_t(tT)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),c_t(this.buffer)}},efn=class extends Qpn{constructor(){super(32,Xpn)}},Rte=Gpn(()=>new efn,Kpn(1)),E_t=Lpn(Bpn()),hRe=Object.freeze,P8=0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,dRe=0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,vte=0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,lRe=0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,pRe=0x6666666666666666666666666666666666666666666666666666666666666658n,Tte=P8-1n,tfn=hRe({p:P8,n:dRe,h:8n,a:Tte,d:vte,Gx:lRe,Gy:pRe}),S_t=32,u_t=e=>e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&e.BYTES_PER_ELEMENT===1,Nte=(e,t,r="")=>{if(u_t(e)&&(t===void 0||e.length===t))return e;let n=u_t(e),i=t!==void 0?` of length ${t}`:"",o=n?`length=${e.length}`:`type=${typeof e}`,s=(r?`"${r}" `:"")+"expected Uint8Array"+i+", got "+o;throw n?new RangeError(s):new TypeError(s)},rfn=(e,t="",r)=>Uint8Array.from(Nte(e,r,t)),v_t=(e,t)=>e.toString(16).padStart(t,"0"),gRe=e=>{let t="";for(let r of Nte(e))t+=v_t(r,2);return t},_Re=e=>{let t="hex invalid";if(typeof e!="string")throw new TypeError(t);if(e.length%2||!/^[\da-f]*$/i.test(e))throw new RangeError(t);let r=new Uint8Array(e.length/2);for(let n=0,i=0;n<r.length;n++,i+=2){let o=e.charCodeAt(i),s=e.charCodeAt(i+1);r[n]=((o&15)+(o>>6)*9)*16+(s&15)+(s>>6)*9}return r},nfn=(...e)=>{let t=0;for(let i of e)t+=Nte(i).length;let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r},ifn=(e=S_t)=>{let t=globalThis?.crypto;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined, consider polyfill");return t.getRandomValues(new Uint8Array(e))},YI=(e,t,r,n="bad number: out of range")=>{if(typeof e!="bigint")throw new TypeError(n);if(t<=e&&e<r)return e;throw new RangeError(n)},$i=(e,t=P8)=>(e%=t)>=0n?e:t+e,d_t=(1n<<255n)-1n,Ze=e=>{if(e<0n)throw new RangeError("negative coordinate");let t=(e>>255n)*19n+(e&d_t);return t=(t>>255n)*19n+(t&d_t),t%P8},T_t=(e,t)=>{if(e===0n)throw new Error("invert: expected non-zero number");if(t<=1n)throw new Error("invert: expected modulus > 1, got "+t);let r=$i(e,t),n=t,i=0n,o=1n;for(;r!==0n;){let a=n/r,c=n-r*a,u=i-o*a;n=r,r=c,i=o,o=u}if(n!==1n)throw new Error("invert: does not exist");return $i(i,t)},cRe=e=>{if(e instanceof NB)return e;throw new TypeError("Point expected")},A_t=2n**256n,NB=class JI{static BASE;static ZERO;X;Y;Z;T;constructor(t,r,n,i){let o=A_t;this.X=YI(t,0n,o),this.Y=YI(r,0n,o),this.Z=YI(n,1n,o),this.T=YI(i,0n,o),hRe(this)}static CURVE(){return tfn}static fromAffine(t){return new JI(t.x,t.y,1n,Ze(t.x*t.y))}static fromBytes(t,r=!1){let n=rfn(t,"point",S_t),i=n[31];n[31]=i&-129;let o=sfn(n);r||YI(o,0n,P8);let s=Ze(o*o),a=$i(s-1n),c=Ze(vte*s+1n),{isValid:u,value:d}=cfn(a,c);if(!u)throw new Error("bad point: y not sqrt");let l=!!(i&128);if(!r&&d===0n&&l)throw new Error("bad point: x==0, isLastByteOdd");return l!==!!(d&1n)&&(d=$i(-d)),new JI(d,o,1n,Ze(d*o))}static fromHex(t,r){return JI.fromBytes(_Re(t),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}assertValidity(){let t=Tte,r=vte,n=this;if(n.is0())throw new Error("bad point: ZERO");let{X:i,Y:o,Z:s,T:a}=n,c=Ze(i*i),u=Ze(o*o),d=Ze(s*s),l=Ze(d*d),p=Ze(c*t),f=Ze(d*(p+u)),m=$i(l+Ze(r*Ze(c*u)));if(f!==m)throw new Error("bad point: equation left != right (1)");let h=Ze(i*o),g=Ze(s*a);if(h!==g)throw new Error("bad point: equation left != right (2)");return this}equals(t){let{X:r,Y:n,Z:i}=this,{X:o,Y:s,Z:a}=cRe(t);return Ze(r*a)===Ze(o*i)&&Ze(n*a)===Ze(s*i)}is0(){return this.equals(XI)}negate(){return new JI($i(-this.X),this.Y,this.Z,$i(-this.T))}double(){let{X:t,Y:r,Z:n}=this,i=Tte,o=Ze(t*t),s=Ze(r*r),a=Ze(2n*n*n),c=Ze(i*o),u=$i(t+r),d=$i(Ze(u*u)-o-s),l=$i(c+s),p=$i(l-a),f=$i(c-s),m=Ze(d*p),h=Ze(l*f),g=Ze(d*f),y=Ze(p*l);return new JI(m,h,y,g)}add(t){let{X:r,Y:n,Z:i,T:o}=this,{X:s,Y:a,Z:c,T:u}=cRe(t),d=Tte,l=vte,p=Ze(r*s),f=Ze(n*a),m=Ze(Ze(o*l)*u),h=Ze(i*c),g=$i(Ze($i(r+n)*$i(s+a))-p-f),y=$i(h-m),S=$i(h+m),b=$i(f-Ze(d*p)),E=Ze(g*y),T=Ze(S*b),w=Ze(g*b),I=Ze(y*S);return new JI(E,T,I,w)}subtract(t){return this.add(cRe(t).negate())}multiply(t,r=!0){if(!r&&t===0n||(YI(t,1n,dRe),!r&&this.is0()))return XI;if(t===1n)return this;if(this.equals(PB))return dfn(t).p;let n=XI,i=PB,o=this;for(let s=0;r?s<256:t>0n;s++)t&1n?n=n.add(o):r&&(i=i.add(o)),o=o.double(),t>>=1n;return n}multiplyUnsafe(t){return this.multiply(t,!1)}toAffine(){let{X:t,Y:r,Z:n}=this;if(this.equals(XI))return{x:0n,y:1n};let i=T_t(n,P8);if(Ze(n*i)!==1n)throw new Error("invalid inverse");return{x:Ze(t*i),y:Ze(r*i)}}toBytes(){let{x:t,y:r}=this.toAffine(),n=ofn(r);return n[31]|=t&1n?128:0,n}toHex(){return gRe(this.toBytes())}clearCofactor(){return this.multiply(8n,!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return this.multiply(dRe/2n,!1).double().add(this).is0()}},PB=new NB(lRe,pRe,1n,$i(lRe*pRe)),XI=new NB(0n,1n,1n,0n);NB.BASE=PB;NB.ZERO=XI;var ofn=e=>_Re(v_t(YI(e,0n,A_t),64)).reverse(),sfn=e=>BigInt("0x"+gRe(Uint8Array.from(Nte(e)).reverse())),Rg=(e,t)=>{let r=e;for(;t-- >0;)r=Ze(r*r);return r},afn=e=>{let t=Ze(e*e),r=Ze(t*e),n=Ze(Rg(r,2)*r),i=Ze(Rg(n,1)*e),o=Ze(Rg(i,5)*i),s=Ze(Rg(o,10)*o),a=Ze(Rg(s,20)*s),c=Ze(Rg(a,40)*a),u=Ze(Rg(c,80)*c),d=Ze(Rg(u,80)*c),l=Ze(Rg(d,10)*o);return Ze(Rg(l,2)*e)},l_t=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,cfn=(e,t)=>{let r=Ze(t*Ze(t*t)),n=Ze(Ze(r*r)*t),i=afn(Ze(e*n)),o=Ze(e*Ze(r*i)),s=Ze(t*Ze(o*o)),a=o,c=Ze(o*l_t),u=s===e,d=s===$i(-e),l=s===$i(-e*l_t);return u&&(o=a),(d||l)&&(o=c),($i(o)&1n)===1n&&(o=$i(-o)),{isValid:u||d,value:o}},yRe=hRe({bytesToHex:gRe,hexToBytes:_Re,concatBytes:nfn,mod:$i,invert:T_t,randomBytes:ifn}),ufn=()=>{let e=[],t=PB,r;for(let n=0;n<33;n++){r=t,e.push(r);for(let i=1;i<128;i++)r=r.add(t),e.push(r);t=r.double()}return e},p_t=void 0,f_t=(e,t)=>{let r=t.negate();return e?r:t},dfn=e=>{let t=p_t||(p_t=ufn()),r=XI,n=PB;for(let i=0;i<33;i++){let o=Number(e&255n);e>>=8n,o>128&&(o-=256,e+=1n);let s=i*128,a=s+Math.abs(o)-1,c=i%2!==0,u=o<0;o===0?n=n.add(f_t(c,t[s])):r=r.add(f_t(u,t[a]))}if(e!==0n)throw new Error("invalid wnaf");return{p:r,f:n}},iCi=yRe.bytesToHex,oCi=yRe.hexToBytes,sCi=yRe.concatBytes;function lfn(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function pfn(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function CB(e){return lfn(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ffn(e){let t=e.length%4===0?0:4-e.length%4,r=e.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat(t);return pfn(r)}var xB=2,w_t=["new","continue"],Ate=1,wte="vic_draw",I_t=["charge_and_capture","authorize_only"],Cte=10000n,Ite="nominal_usd_usdc_parity",bRe=["card:vic","wallet:x402"],fRe=["connector","laptop"],mRe=["card:vic","wallet:tempo","wallet:x402"];function ERe(e){let t=new Set(e);return e.includes("wallet:x402")&&t.add("wallet:tempo"),[...t].sort((r,n)=>OB(r,n))}var mfn={ask:"Ask me each time",budget:"Pay within my budget"};function hfn(e,t){return e!=="laptop"?[]:ERe(t).map(r=>({surface:"laptop",scope:r}))}var gfn=["hosted_identity_key_migration_required","identity_key_expired","identity_key_rotated","identity_key_lost","identity_key_inactive","agent_inactive","current_grant_missing","current_grant_replaced","current_grant_expired","current_grant_inactive","required_scope_missing","managed_wallet_authority_unverified","authority_projection_unknown","authorization_version_unsupported","identity_key_custody_unsupported"],P_t=["identity","wallet_api","wallet_signing","email_signing","chain_identity"],x_t=["runtime","turnkey","server_encrypted","server_kms","external"],O_t=["pending","active","retired","revoked","lost"],R_t=["dotvisa","tap","email","messaging"],N_t=["provisioning","active","needs_attention","suspended","disabled"],C_t=["routing_only","provider_verified","agent_key_bound"],_fn=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,yfn=/^[A-Za-z0-9_-]{43}$/,bfn=/^(?:0|[1-9][0-9]*)$/,Efn=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d{1,6})?(?:Z|[+-]\d{2}:\d{2})$/,M_t=/[\u0000-\u001f\u007f]/,Sfn=2147483647,k_t=9223372036854775807n,m_t=100,vfn=512,h_t=32,Tfn=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.visa$/,Pte=/^0x[0-9a-f]{40}$/,Mte=new TextEncoder;function OB(e,t){return(0,E_t.compareCanonicalKeys)(e,t)}function eb(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function iT(e){if(typeof e!="string"||!yfn.test(e))return!1;try{let t=ffn(e);return t.byteLength===32&&CB(t)===e}catch{return!1}}function tb(e,t,r){let n=Object.keys(t).filter(i=>!r.has(i));if(n.length>0)throw new Error(`${e} contains unknown field(s): ${n.sort().join(", ")}`)}function Afn(e,t){if(typeof t!="string"||!_fn.test(t))throw new Error(`${e} must be a UUID`)}function lu(e,t){return Afn(e,t),t.toLowerCase()}function RB(e,t){if(!(0,E_t.isCanonicalOpaqueId)(t))throw new Error(`${e} must be a non-empty opaque id (max 128 chars)`)}function rb(e,t){if(typeof t!="string")throw new Error(`${e} must be an ISO timestamp with an explicit time-zone offset`);let r=Efn.exec(t);if(!r)throw new Error(`${e} must be an ISO timestamp with an explicit time-zone offset`);let[,n,i,o,s,a,c]=r,u=Number(n),d=Number(i),l=Number(o),p=Number(s),f=Number(a),m=Number(c),h=new Date(0);if(h.setUTCFullYear(u,d-1,l),h.setUTCHours(p,f,m,0),u===0||h.getUTCFullYear()!==u||h.getUTCMonth()!==d-1||h.getUTCDate()!==l||h.getUTCHours()!==p||h.getUTCMinutes()!==f||h.getUTCSeconds()!==m)throw new Error(`${e} must be a valid calendar timestamp`);let g=Date.parse(t);if(!Number.isFinite(g))throw new Error(`${e} must be a valid ISO timestamp`);return new Date(g).toISOString()}function rT(e,t,r=!1){if(typeof t!="string"||!bfn.test(t))throw new Error(`${e} must be a canonical non-negative integer micros string`);if(!r&&t==="0")throw new Error(`${e} must be positive`);if(BigInt(t)>k_t)throw new Error(`${e} exceeds the PostgreSQL BIGINT range`);return t}function D_t(e,t){if(typeof t!="number"||!Number.isInteger(t)||t<=0||t>Sfn)throw new Error(`${e} must be a positive PostgreSQL INTEGER`);return t}function xte(e,t){if(typeof t!="string")throw new Error(`${e} must be a string`);if(M_t.test(t))throw new Error(`${e} must be a bounded non-empty payee without control characters`);let r=t.normalize("NFC").trim();if(r.length===0||r.length>vfn)throw new Error(`${e} must be a bounded non-empty payee without control characters`);return r}function nT(e,t,r){if(typeof t!="string")throw new Error(`${e} must be a string`);if(M_t.test(t))throw new Error(`${e} must be bounded, non-empty text without control characters`);let n=t.normalize("NFC").trim();if(n.length===0||n.length>r)throw new Error(`${e} must be bounded, non-empty text without control characters`);return n}function pu(e,t){return typeof e=="string"&&t.includes(e)}function wfn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("cents must be a non-negative safe integer");let t=BigInt(e)*Cte;if(t>k_t)throw new Error("cents exceed the PostgreSQL BIGINT micros range");return t.toString()}function Ifn(e){return rT("amountAtomic",e,!0)}function Pfn(e){if(e==="card:vic")return{scope:e,paymentRail:"card",protocol:null,instrumentKind:"vic_card"};if(e==="wallet:x402")return{scope:e,paymentRail:"stablecoin",protocol:"x402",instrumentKind:"turnkey_wallet"};throw new Error(`unknown authorization scope: ${String(e)}`)}function xfn(e){if(!eb(e))throw new Error("agent key descriptor must be an object");tb("agent key descriptor",e,new Set(["keyId","agentId","purpose","algorithm","custody","fingerprint","status","createdAt","expiresAt"]));let t=lu("keyId",e.keyId),r=lu("agentId",e.agentId);if(!pu(e.purpose,P_t))throw new Error("invalid key purpose");if(!pu(e.algorithm,["Ed25519","P-256","secp256k1"]))throw new Error("invalid key algorithm");if(!pu(e.custody,x_t))throw new Error("invalid key custody");let n=nT("fingerprint",e.fingerprint,255);if(e.purpose==="identity"){if(e.algorithm!=="Ed25519")throw new Error("identity keys must use Ed25519");if(!iT(n))throw new Error("identity key fingerprint must be a 43-char RFC 7638 JKT")}if(e.purpose==="wallet_api"&&(e.algorithm!=="P-256"||e.custody!=="runtime"&&e.custody!=="server_kms"))throw new Error("wallet_api keys must be P-256 credentials held by an advisory runtime or the managed authority KMS");if(e.purpose==="wallet_signing"&&(e.algorithm!=="secp256k1"||e.custody!=="turnkey"))throw new Error("wallet_signing keys must be Turnkey-custodied secp256k1 money signers");if(e.purpose==="wallet_signing"&&(n=n.toLowerCase(),!Pte.test(n)))throw new Error("wallet_signing fingerprint must be a canonical EVM address");if(e.purpose==="chain_identity"&&(e.algorithm!=="secp256k1"||e.custody!=="turnkey"))throw new Error("chain_identity keys must be Turnkey-custodied secp256k1 addresses");if(e.purpose==="chain_identity"&&(n=n.toLowerCase(),!Pte.test(n)))throw new Error("chain_identity fingerprint must be a canonical EVM address");if(e.purpose==="email_signing"){if(e.algorithm!=="Ed25519")throw new Error("email_signing keys must use Ed25519");if(!iT(n))throw new Error("email_signing key fingerprint must be a 43-char RFC 7638 JKT")}if(!pu(e.status,O_t))throw new Error("invalid key status");let i=rb("createdAt",e.createdAt),o=e.expiresAt===void 0?void 0:rb("expiresAt",e.expiresAt);if(o!==void 0&&Date.parse(o)<=Date.parse(i))throw new Error("expiresAt must be after createdAt");return{keyId:t,agentId:r,purpose:e.purpose,algorithm:e.algorithm,custody:e.custody,fingerprint:n,status:e.status,createdAt:i,...o!==void 0?{expiresAt:o}:{}}}function Ofn(e,t,r){if(!eb(e))throw new Error("keyLink must be an object");tb("channel keyLink",e,new Set(["keyId","agentId","purpose","fingerprint"]));let n=lu("keyLink.keyId",e.keyId),i=lu("keyLink.agentId",e.agentId);if(i!==t)throw new Error("keyLink.agentId must match the channel agentId");if(!pu(e.purpose,["identity","email_signing"]))throw new Error("channel keyLink cannot use a wallet-signing key");if(r==="email"&&e.purpose!=="email_signing")throw new Error("an agent-key-bound email channel requires an email_signing key");if((r==="tap"||r==="dotvisa")&&e.purpose!=="identity")throw new Error(`${r} requires an identity key`);let o=nT("keyLink.fingerprint",e.fingerprint,255);if(!iT(o))throw new Error(`an ${e.purpose} key link fingerprint must be a 43-char RFC 7638 JKT`);return{keyId:n,agentId:i,purpose:e.purpose,fingerprint:o}}function Rfn(e){if(!eb(e))throw new Error("agent channel descriptor must be an object");tb("agent channel descriptor",e,new Set(["channelId","agentId","kind","status","assurance","address","providerRef","keyLink","capabilities","createdAt","verifiedAt","disabledAt"])),RB("channelId",e.channelId);let t=lu("agentId",e.agentId);if(!pu(e.kind,R_t))throw new Error("invalid channel kind");if(!pu(e.status,N_t))throw new Error("invalid channel status");if(!pu(e.assurance,C_t))throw new Error("invalid channel assurance");let r=e.address===void 0?void 0:nT("address",e.address,320),n=e.kind==="dotvisa"?r?.toLowerCase():r;if((e.kind==="email"||e.kind==="dotvisa")&&n===void 0)throw new Error(`${e.kind} channels require an address`);if(e.kind==="dotvisa"&&n!==void 0&&!Tfn.test(n))throw new Error("dotvisa channel address must be a canonical lowercase .visa address");if(e.kind==="tap"&&n!==void 0)throw new Error("tap channels use providerRef and cannot claim a public address");let i=e.providerRef===void 0?void 0:nT("providerRef",e.providerRef,255);if(!Array.isArray(e.capabilities)||e.capabilities.length===0||e.capabilities.length>h_t)throw new Error(`capabilities must contain between 1 and ${h_t} entries`);let o=e.capabilities.map(l=>nT("capability",l,64));if(new Set(o).size!==o.length)throw new Error("capabilities must not repeat");let s=rb("createdAt",e.createdAt),a=e.verifiedAt===void 0?void 0:rb("verifiedAt",e.verifiedAt),c=e.disabledAt===void 0?void 0:rb("disabledAt",e.disabledAt);if(a!==void 0&&Date.parse(a)<Date.parse(s))throw new Error("verifiedAt cannot be before createdAt");if(c!==void 0&&Date.parse(c)<Date.parse(s))throw new Error("disabledAt cannot be before createdAt");if(c!==void 0&&a!==void 0&&Date.parse(c)<Date.parse(a))throw new Error("disabledAt cannot be before verifiedAt");if(e.status==="disabled"!=(c!==void 0))throw new Error("status='disabled' and disabledAt must be set together");let u={channelId:e.channelId,agentId:t,kind:e.kind,status:e.status,...n!==void 0?{address:n}:{},...i!==void 0?{providerRef:i}:{},capabilities:[...o].sort(OB),createdAt:s,...c!==void 0?{disabledAt:c}:{}};if(e.assurance==="routing_only"){if(a!==void 0||e.keyLink!==void 0)throw new Error("routing_only channels cannot claim verification or an agent key link");return{...u,assurance:"routing_only"}}if(i===void 0||a===void 0)throw new Error(`${e.assurance} channels require providerRef and verifiedAt`);if(e.assurance==="provider_verified"){if(e.keyLink!==void 0)throw new Error("provider_verified channels cannot claim an agent key link");return{...u,assurance:"provider_verified",providerRef:i,verifiedAt:a}}let d=Ofn(e.keyLink,t,e.kind);return{...u,assurance:"agent_key_bound",providerRef:i,verifiedAt:a,keyLink:d}}function L_t(e,t){if(!Array.isArray(e)||e.length>fRe.length*mRe.length)throw new Error("payWithinBudget must be an array of surface/scope entries");let r=e.map(i=>{if(!eb(i))throw new Error("payWithinBudget entry must be an object");if(tb("payWithinBudget entry",i,new Set(["surface","scope"])),!pu(i.surface,fRe))throw new Error("payWithinBudget surface must be laptop or connector");if(!pu(i.scope,mRe))throw new Error("payWithinBudget scope is not a payment rail");if(!ERe(t).includes(i.scope))throw new Error(i.scope==="wallet:tempo"?"payWithinBudget wallet:tempo needs the wallet:x402 grant scope":"payWithinBudget scope must be present in grant scopes");return{surface:i.surface,scope:i.scope}}),n=r.map(({surface:i,scope:o})=>`${i}:${o}`);if(new Set(n).size!==n.length)throw new Error("payWithinBudget must not repeat");return[...r].sort((i,o)=>OB(`${i.surface}:${i.scope}`,`${o.surface}:${o.scope}`))}function U_t(e){if(!eb(e))throw new Error("agent authority grant must be an object");if(tb("agent authority grant",e,new Set(["v","grantId","agentId","version","budgetEpochId","budgetEpochMode","status","currency","valuationPolicy","totalMicros","perTransactionMicros","dailyMicros","scopes","payWithinBudget","payeeConstraints","effectiveAt","expiresAt","supersedesGrantId"])),e.v!==xB)throw new Error("grant.v must be 2");let t=lu("grantId",e.grantId),r=lu("agentId",e.agentId),n=D_t("version",e.version),i=lu("budgetEpochId",e.budgetEpochId);if(!pu(e.budgetEpochMode,w_t))throw new Error("budgetEpochMode must be new or continue");if(!pu(e.status,["active","superseded","revoked"]))throw new Error("invalid grant status");if(e.currency!=="USD")throw new Error("currency must be 'USD'");if(e.valuationPolicy!==Ite)throw new Error(`valuationPolicy must be '${Ite}'`);let o=rT("totalMicros",e.totalMicros),s=rT("perTransactionMicros",e.perTransactionMicros);if(BigInt(s)>BigInt(o))throw new Error("perTransactionMicros cannot exceed totalMicros");let a=e.dailyMicros===void 0?void 0:rT("dailyMicros",e.dailyMicros);if(a!==void 0){if(BigInt(a)>BigInt(o))throw new Error("dailyMicros cannot exceed totalMicros");if(BigInt(s)>BigInt(a))throw new Error("perTransactionMicros cannot exceed dailyMicros")}if(!Array.isArray(e.scopes)||e.scopes.length===0)throw new Error("scopes must be a non-empty array");let c=e.scopes.map(f=>{if(!eb(f))throw new Error("grant scope must be an object");if(tb("grant scope",f,new Set(["scope","totalMicros","perTransactionMicros","instrumentRef"])),!pu(f.scope,bRe))throw new Error("invalid authorization scope");let m=f.totalMicros===void 0?void 0:rT("scope.totalMicros",f.totalMicros),h=f.perTransactionMicros===void 0?void 0:rT("scope.perTransactionMicros",f.perTransactionMicros);if(m!==void 0&&BigInt(m)>BigInt(o))throw new Error("scope.totalMicros cannot exceed the aggregate totalMicros");if(h!==void 0&&BigInt(h)>BigInt(s))throw new Error("scope.perTransactionMicros cannot exceed the aggregate perTransactionMicros");if(m!==void 0&&h!==void 0&&BigInt(h)>BigInt(m))throw new Error("scope.perTransactionMicros cannot exceed scope.totalMicros");let g=nT("scope.instrumentRef",f.instrumentRef,255);return{scope:f.scope,...m!==void 0?{totalMicros:m}:{},...h!==void 0?{perTransactionMicros:h}:{},instrumentRef:g}});if(new Set(c.map(({scope:f})=>f)).size!==c.length)throw new Error("scopes must not repeat");let u=e.payWithinBudget===void 0?void 0:L_t(e.payWithinBudget,c.map(({scope:f})=>f)),d;if(e.payeeConstraints!==void 0){if(!Array.isArray(e.payeeConstraints)||e.payeeConstraints.length===0||e.payeeConstraints.length>m_t)throw new Error(`payeeConstraints must contain between 1 and ${m_t} entries`);if(d=e.payeeConstraints.map(m=>{if(!eb(m))throw new Error("payee constraint must be an object");if(tb("payee constraint",m,new Set(["scope","kind","canonicalId"])),m.scope==="card:vic"&&m.kind==="processor_merchant_id")return{scope:m.scope,kind:m.kind,canonicalId:xte("payee constraint canonicalId",m.canonicalId)};if(m.scope==="wallet:x402"&&m.kind==="evm_address"){let h=xte("payee constraint canonicalId",m.canonicalId).toLowerCase();if(!Pte.test(h))throw new Error("wallet payee constraint canonicalId must be an EVM address");return{scope:m.scope,kind:m.kind,canonicalId:h}}throw new Error("payee constraint scope/kind combination is invalid")}),d.some(m=>!c.some(({scope:h})=>h===m.scope)))throw new Error("payee constraint scope must be present in grant scopes");let f=d.map(({scope:m,kind:h,canonicalId:g})=>`${m}:${h}:${g}`);if(new Set(f).size!==f.length)throw new Error("payeeConstraints must not repeat after normalization")}let l=rb("effectiveAt",e.effectiveAt),p=rb("expiresAt",e.expiresAt);if(Date.parse(p)<=Date.parse(l))throw new Error("expiresAt must be after effectiveAt");if(e.supersedesGrantId!==void 0&&lu("supersedesGrantId",e.supersedesGrantId)===t)throw new Error("a grant cannot supersede itself");return{v:xB,grantId:t,agentId:r,version:n,budgetEpochId:i,budgetEpochMode:e.budgetEpochMode,status:e.status,currency:"USD",valuationPolicy:Ite,totalMicros:o,perTransactionMicros:s,...a!==void 0?{dailyMicros:a}:{},scopes:[...c].sort((f,m)=>OB(f.scope,m.scope)),...u!==void 0?{payWithinBudget:u}:{},...d!==void 0?{payeeConstraints:[...d].sort((f,m)=>OB(`${f.scope}:${f.kind}:${f.canonicalId}`,`${m.scope}:${m.kind}:${m.canonicalId}`))}:{},effectiveAt:l,expiresAt:p,...e.supersedesGrantId!==void 0?{supersedesGrantId:lu("supersedesGrantId",e.supersedesGrantId)}:{}}}function Nfn(e){let t=U_t(e),{status:r,...n}=t;return CB(Rte(Mte.encode(`visa-agent-authority-grant:v2:${JSON.stringify(n)}`)))}function B_t(e){if(!eb(e))throw new Error("VIC settlement envelope must be an object");if(tb("VIC settlement envelope",e,new Set(["v","kind","acquirerId","processorMerchantId","processorIntentId","instrumentRef","instrumentCommitment","payee","amountMicros","currency","processorAction","captureMode","settlementExpiresAt"])),e.v!==Ate)throw new Error(`VIC settlement envelope.v must be ${Ate}`);if(e.kind!==wte)throw new Error(`VIC settlement envelope.kind must be '${wte}'`);RB("acquirerId",e.acquirerId);let t=nT("processorMerchantId",e.processorMerchantId,128);RB("processorIntentId",e.processorIntentId);let r=Object.prototype.hasOwnProperty.call(e,"instrumentRef"),n=Object.prototype.hasOwnProperty.call(e,"instrumentCommitment");if(r===n)throw new Error("VIC settlement envelope requires exactly one of instrumentRef or instrumentCommitment");let i=r?nT("instrumentRef",e.instrumentRef,255):void 0,o=n?e.instrumentCommitment:void 0;if(o!==void 0&&!iT(o))throw new Error("instrumentCommitment must be a 32-byte base64url commitment");let s=xte("payee",e.payee),a=rT("amountMicros",e.amountMicros);if(BigInt(a)%Cte!==0n)throw new Error("VIC amountMicros must represent a whole number of card cents");if(e.currency!=="USD")throw new Error("currency must be 'USD'");if(!pu(e.processorAction,I_t))throw new Error("processorAction must be 'charge_and_capture' or 'authorize_only'");if(!pu(e.captureMode,["exact","up_to"]))throw new Error("captureMode must be 'exact' or 'up_to'");if(e.processorAction==="charge_and_capture"&&e.captureMode!=="exact")throw new Error("charge_and_capture requires captureMode 'exact'");let c=rb("settlementExpiresAt",e.settlementExpiresAt),u={v:Ate,kind:wte,acquirerId:e.acquirerId,processorMerchantId:t,processorIntentId:e.processorIntentId,payee:s,amountMicros:a,currency:"USD",processorAction:e.processorAction,captureMode:e.captureMode,settlementExpiresAt:c};return i!==void 0?{...u,instrumentRef:i}:{...u,instrumentCommitment:o}}function Cfn(e){let t=B_t(e),r=JSON.stringify({v:t.v,kind:t.kind,acquirerId:t.acquirerId,processorMerchantId:t.processorMerchantId,processorIntentId:t.processorIntentId,..."instrumentRef"in t?{instrumentRef:t.instrumentRef}:{instrumentCommitment:t.instrumentCommitment},payee:t.payee,amountMicros:t.amountMicros,currency:t.currency,processorAction:t.processorAction,captureMode:t.captureMode,settlementExpiresAt:t.settlementExpiresAt});return CB(Rte(Mte.encode(`visa-vic-settlement-envelope:v1:${r}`)))}function SRe(e){if(!eb(e))throw new Error("spend authorization intent must be an object");if(tb("spend authorization intent",e,new Set(["v","authorizationId","agentId","keyJkt","grantId","grantVersion","budgetEpochId","scope","amountMicros","currency","payee","intentId","economicIntentId","settlementHash","settlementExpiresAt"])),e.v!==xB)throw new Error("intent.v must be 2");let t=lu("authorizationId",e.authorizationId),r=lu("agentId",e.agentId);if(!iT(e.keyJkt))throw new Error("keyJkt must be a 43-char RFC 7638 thumbprint");let n=lu("grantId",e.grantId),i=D_t("grantVersion",e.grantVersion),o=lu("budgetEpochId",e.budgetEpochId);if(!pu(e.scope,bRe))throw new Error("invalid authorization scope");let s=rT("amountMicros",e.amountMicros);if(e.scope==="card:vic"&&BigInt(s)%Cte!==0n)throw new Error("card:vic amountMicros must represent a whole number of card cents");if(e.currency!=="USD")throw new Error("currency must be 'USD'");let a=xte("payee",e.payee),c=e.scope==="wallet:x402"?a.toLowerCase():a;if(e.scope==="wallet:x402"&&!Pte.test(c))throw new Error("wallet:x402 payee must be an EVM address");if(RB("intentId",e.intentId),RB("economicIntentId",e.economicIntentId),!iT(e.settlementHash))throw new Error("settlementHash is required and must be a 32-byte base64url commitment");let u=rb("settlementExpiresAt",e.settlementExpiresAt);return{v:xB,authorizationId:t,agentId:r,keyJkt:e.keyJkt,grantId:n,grantVersion:i,budgetEpochId:o,scope:e.scope,amountMicros:s,currency:"USD",payee:c,intentId:e.intentId,economicIntentId:e.economicIntentId,settlementHash:e.settlementHash,settlementExpiresAt:u}}function j_t(e){let t=SRe(e),r=JSON.stringify({v:t.v,authorizationId:t.authorizationId,agentId:t.agentId,keyJkt:t.keyJkt,grantId:t.grantId,grantVersion:t.grantVersion,budgetEpochId:t.budgetEpochId,scope:t.scope,amountMicros:t.amountMicros,currency:t.currency,payee:t.payee,intentId:t.intentId,economicIntentId:t.economicIntentId,settlementHash:t.settlementHash,settlementExpiresAt:t.settlementExpiresAt});return CB(Rte(Mte.encode(`visa-agent-spend-authorization:v2:${r}`)))}function Mfn(e){let t=SRe(e.intent),r=lu("walletApiKeyId",e.walletApiKeyId),n=lu("runtimeSessionId",e.runtimeSessionId);if(e.executionChannel!=="cli"&&e.executionChannel!=="mcp")throw new Error("executionChannel must be cli or mcp");if(!iT(e.resourceCommitment))throw new Error("resourceCommitment must be a 32-byte base64url commitment");let i=JSON.stringify({v:1,intentHash:j_t(t),walletApiKeyId:r,runtimeSessionId:n,executionChannel:e.executionChannel,resourceCommitment:e.resourceCommitment});return CB(Rte(Mte.encode(`visa-wallet-authorization-request:v1:${i}`)))}});var K_t=_(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.FINANCIAL_REVOCATION_TYPE=lr.FinancialProofError=lr.FINANCIAL_REQUEST_MAX_BYTES=lr.FINANCIAL_JWS_MAX_BYTES=lr.FINANCIAL_APPROVAL_TYPE=lr.FINANCIAL_APPROVAL_AUDIENCE=void 0;lr.parseFinancialCanonicalJson=kB;lr.parseCardDisclosureConsent=F_t;lr.parseFinancialOwnerApproval=vRe;lr.financialRootJkt=Ute;lr.prepareFinancialOwnerApproval=TRe;lr.verifyFinancialOwnerApproval=$_t;lr.completeFinancialOwnerApproval=Lfn;lr.parseFinancialOwnerChallengeView=Ufn;lr.parseFinancialOwnerRevocation=ARe;lr.prepareFinancialOwnerRevocation=z_t;lr.verifyFinancialOwnerRevocation=G_t;lr.completeFinancialOwnerRevocation=Bfn;var V_t=H_t(),ib=GS(),x8=X_();lr.FINANCIAL_APPROVAL_AUDIENCE="urn:visa:authority:financial";lr.FINANCIAL_APPROVAL_TYPE="visa-financial-grant-approval+jwt";lr.FINANCIAL_JWS_MAX_BYTES=16384;lr.FINANCIAL_REQUEST_MAX_BYTES=262144;var kfn=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Cg=new TextEncoder,Dte=new TextDecoder("utf-8",{fatal:!0}),Dfn=["v","purpose","audience","approvalId","challenge","ownerPrincipalId","associationId","associationVersion","agentId","rootJkt","grantHash","previousGrantId","previousGrantVersion","iat","exp"],Lte=class extends Error{constructor(t){super(t),this.name="FinancialProofError"}};lr.FinancialProofError=Lte;function Sr(e){throw new Lte(e)}function nb(e,t){if(!e||typeof e!="object"||Array.isArray(e))return Sr("Expected a closed object");let r=e;return Object.keys(r).length!==t.length||t.some(n=>!Object.hasOwn(r,n))?Sr("Unexpected or missing field"):r}function Ng(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function MB(e){return typeof e=="string"&&kfn.test(e)}function Th(e,t){if(typeof e!="string"||!/^[A-Za-z0-9_-]+$/.test(e))return Sr("Invalid base64url");let r=new Uint8Array((0,ib.base64UrlToBytes)(e));return(0,ib.bytesToBase64Url)(r)!==e||t!==void 0&&r.length!==t?Sr("Noncanonical base64url"):r}function kte(e){if(typeof e=="string")for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);if(r>=55296&&r<=56319){let n=e.charCodeAt(++t);n>=56320&&n<=57343||Sr("Invalid Unicode")}else r>=56320&&r<=57343&&Sr("Invalid Unicode")}else if(Array.isArray(e))for(let t of e)kte(t);else if(e&&typeof e=="object")for(let[t,r]of Object.entries(e))kte(t),kte(r)}function kB(e,t=lr.FINANCIAL_REQUEST_MAX_BYTES){if(Cg.encode(e).length>t)return Sr("Financial input too large");let r;try{r=JSON.parse(e)}catch{return Sr("Invalid JSON")}return kte(r),(0,x8.canonicalEnvelopeJson)(r)!==e?Sr("Noncanonical JSON"):r}function F_t(e){let t=nb(e,["v","runtimeId","mode"]);return t.v!==1||!MB(t.runtimeId)||t.mode!=="private"&&t.mode!=="agent_history"?Sr("Invalid card disclosure consent"):{v:1,runtimeId:t.runtimeId,mode:t.mode}}function vRe(e){let t=e?.v,r=nb(e,[...Dfn,...t===2?["cardDisclosure"]:[]]);if(r.v!==1&&r.v!==2||r.purpose!=="financial.grant.approve"||r.audience!==lr.FINANCIAL_APPROVAL_AUDIENCE)return Sr("Wrong financial approval profile");for(let n of["approvalId","ownerPrincipalId","associationId","agentId"])if(!MB(r[n]))return Sr("Invalid approval identity");for(let n of["challenge","rootJkt","grantHash"])Th(r[n],32);return!Ng(r.associationVersion)||!Ng(r.iat)||!Ng(r.exp)||r.exp<=r.iat||r.exp-r.iat>300?Sr("Invalid approval version or window"):(r.previousGrantId===null?r.previousGrantVersion!==null:!MB(r.previousGrantId)||!Ng(r.previousGrantVersion))?Sr("Invalid grant predecessor"):{...r,...r.v===2?{cardDisclosure:F_t(r.cardDisclosure)}:{}}}async function Ute(e){let t=nb(e,["kty","crv","x"]);return t.kty!=="OKP"||t.crv!=="Ed25519"?Sr("Expected owner Ed25519 root"):(Th(t.x,32),(0,ib.bytesToBase64Url)(new Uint8Array(await crypto.subtle.digest("SHA-256",Cg.encode((0,x8.canonicalJson)(t))))))}function TRe(e,t){let r=vRe(e),n=(0,V_t.canonicalAgentAuthorityGrant)(t);if(n.status!=="active"||n.agentId!==r.agentId||(0,V_t.agentAuthorityGrantHash)(n)!==r.grantHash)return Sr("Displayed grant does not match approval");if(r.v===2&&!n.scopes.some(s=>s.scope==="card:vic"))return Sr("Card disclosure requires a card spending scope");let i={alg:"EdDSA",typ:lr.FINANCIAL_APPROVAL_TYPE,kid:r.rootJkt},o=`${(0,ib.bytesToBase64Url)(Cg.encode((0,x8.canonicalJson)(i)))}.${(0,ib.bytesToBase64Url)(Cg.encode((0,x8.canonicalJson)(r)))}`;return{statement:r,grant:n,signingInput:o}}async function $_t(e,t,r){if(typeof e!="string"||Cg.encode(e).length>lr.FINANCIAL_JWS_MAX_BYTES)return Sr("Financial proof too large");let n=e.split(".");if(n.length!==3)return Sr("Invalid compact JWS");let i=nb(kB(Dte.decode(Th(n[0])),lr.FINANCIAL_JWS_MAX_BYTES),["alg","typ","kid"]),o=vRe(kB(Dte.decode(Th(n[1])),lr.FINANCIAL_JWS_MAX_BYTES));if(i.alg!=="EdDSA"||i.typ!==lr.FINANCIAL_APPROVAL_TYPE||i.kid!==o.rootJkt||await Ute(t)!==o.rootJkt)return Sr("Wrong owner approval key or purpose");if(!Ng(r)||o.iat>r+5||r>=o.exp)return Sr("Owner approval expired or not yet valid");let s=await crypto.subtle.importKey("raw",Th(t.x,32),{name:"Ed25519"},!1,["verify"]);return await crypto.subtle.verify("Ed25519",s,Th(n[2],64),Cg.encode(`${n[0]}.${n[1]}`))?o:Sr("Invalid owner signature")}async function Lfn(e,t,r,n,i){if(n.length!==64)return Sr("Invalid owner signature length");let{signingInput:o}=TRe(e,t),s=`${o}.${(0,ib.bytesToBase64Url)(n)}`;return await $_t(s,r,i),s}async function Ufn(e){let t=nb(e,["v","statement","grant","root","projection"]);if(t.v!==1)return Sr("Unknown owner review version");let{statement:r,grant:n}=TRe(t.statement,t.grant),i=nb(t.root,["organizationId","rootKeyId","publicJwk"]);for(let s of["organizationId","rootKeyId"])if(typeof i[s]!="string"||!/^[-_A-Za-z0-9]{1,256}$/.test(i[s]))return Sr("Invalid protected root coordinates");if(await Ute(i.publicJwk)!==r.rootJkt)return Sr("Protected root does not match owner approval");let o=nb(t.projection,["agentId","ownerPublicId"]);return o.agentId!==r.agentId||!MB(o.ownerPublicId)||o.ownerPublicId===r.ownerPrincipalId?Sr("Invalid protected owner projection"):{v:1,statement:r,grant:n,root:{organizationId:i.organizationId,rootKeyId:i.rootKeyId,publicJwk:{...i.publicJwk}},projection:{agentId:r.agentId,ownerPublicId:o.ownerPublicId}}}lr.FINANCIAL_REVOCATION_TYPE="visa-financial-grant-revocation+jwt";function ARe(e){let t=nb(e,["v","purpose","audience","approvalId","ownerPrincipalId","associationId","associationVersion","agentId","rootJkt","grantId","grantVersion","grantHash","iat","exp"]);if(t.v!==1||t.purpose!=="financial.grant.revoke"||t.audience!==lr.FINANCIAL_APPROVAL_AUDIENCE)return Sr("Wrong financial revocation profile");for(let r of["approvalId","ownerPrincipalId","associationId","agentId","grantId"])if(!MB(t[r]))return Sr("Invalid revocation identity");for(let r of["rootJkt","grantHash"])Th(t[r],32);return!Ng(t.associationVersion)||!Ng(t.grantVersion)||!Ng(t.iat)||!Ng(t.exp)||t.exp<=t.iat||t.exp-t.iat>300?Sr("Invalid revocation version or window"):{...t}}function z_t(e){let t=ARe(e),r={alg:"EdDSA",typ:lr.FINANCIAL_REVOCATION_TYPE,kid:t.rootJkt};return{statement:t,signingInput:`${(0,ib.bytesToBase64Url)(Cg.encode((0,x8.canonicalJson)(r)))}.${(0,ib.bytesToBase64Url)(Cg.encode((0,x8.canonicalJson)(t)))}`}}async function G_t(e,t,r){if(typeof e!="string"||Cg.encode(e).length>lr.FINANCIAL_JWS_MAX_BYTES)return Sr("Financial proof too large");let n=e.split(".");if(n.length!==3)return Sr("Invalid compact JWS");let i=nb(kB(Dte.decode(Th(n[0])),lr.FINANCIAL_JWS_MAX_BYTES),["alg","typ","kid"]),o=ARe(kB(Dte.decode(Th(n[1])),lr.FINANCIAL_JWS_MAX_BYTES));if(i.alg!=="EdDSA"||i.typ!==lr.FINANCIAL_REVOCATION_TYPE||i.kid!==o.rootJkt||await Ute(t)!==o.rootJkt)return Sr("Wrong owner revocation key or purpose");if(!Ng(r)||o.iat>r+5||r>=o.exp)return Sr("Owner revocation expired or not yet valid");let s=await crypto.subtle.importKey("raw",Th(t.x,32),{name:"Ed25519"},!1,["verify"]);return await crypto.subtle.verify("Ed25519",s,Th(n[2],64),Cg.encode(`${n[0]}.${n[1]}`))?o:Sr("Invalid owner signature")}async function Bfn(e,t,r,n){if(r.length!==64)return Sr("Invalid owner signature length");let i=`${z_t(e).signingInput}.${(0,ib.bytesToBase64Url)(r)}`;return await G_t(i,t,n),i}});var RRe=_(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.FINANCIAL_DEVICE_OPERATIONS_AUDIENCE=ol.FINANCIAL_DEVICE_ENROLLMENT_AUDIENCE=ol.WALLET_DEVICE_HANDOFF_AUDIENCE=ol.CARD_DEVICE_HANDOFF_AUDIENCE=void 0;ol.assertFinancialDevicePair=qfn;ol.financialDeviceProposalHash=IRe;ol.financialDeviceOperationsRequestHash=Hfn;ol.financialDeviceEnrollmentChallengeHash=Vfn;var PRe=wW(),xRe=GS(),Bte=X_(),jfn=K_t(),wRe=ste();function qfn(e,t){if(IRe(e),IRe(t),e.v!==1||t.v!==2||e.agentId!==t.agentId||e.associationId!==t.associationId||e.associationVersion!==t.associationVersion||e.rootJkt!==t.rootJkt||e.requestId===t.requestId||e.runtimeId===t.runtimeId||e.publicJwk.x===t.publicJwk.x)throw new Error("financial_device_pair_invalid")}ol.CARD_DEVICE_HANDOFF_AUDIENCE="visa:financial:card-device-handoff:v1";ol.WALLET_DEVICE_HANDOFF_AUDIENCE="visa:financial:wallet-device-handoff:v1";function IRe(e){let t=["v","purpose","requestId","associationId","associationVersion","agentId","runtimeId","rootJkt","publicJwk"];if(e?.v===2&&t.push("rail"),!e||Object.keys(e).sort().join(",")!==t.sort().join(",")||!(e.v===1||e.v===2&&e.rail==="card:vic")||e.purpose!=="financial.runtime.device.proposal"||![e.requestId,e.associationId,e.runtimeId].every(r=>typeof r=="string"&&ORe.test(r))||typeof e.agentId!="string"||!e.agentId||e.agentId.length>256||!Number.isSafeInteger(e.associationVersion)||e.associationVersion<1||!(0,wRe.isCanonicalBase64Url32)(e.rootJkt)||!e.publicJwk||Object.keys(e.publicJwk).sort().join(",")!=="crv,kty,x"||e.publicJwk.crv!=="Ed25519"||e.publicJwk.kty!=="OKP"||!(0,wRe.isCanonicalBase64Url32)(e.publicJwk.x))throw new Error("financial_device_proposal_invalid");return(0,xRe.bytesToBase64Url)((0,PRe.sha256)(new TextEncoder().encode((0,Bte.canonicalJson)(e))))}ol.FINANCIAL_DEVICE_ENROLLMENT_AUDIENCE="visa:financial:device-enrollment:v1";ol.FINANCIAL_DEVICE_OPERATIONS_AUDIENCE="visa:financial:device-operations:v1";function Hfn(e){let t=["v","purpose","requestId","agentId","runtimeId","limit"];if(!e||typeof e!="object"||Object.keys(e).sort().join(",")!==t.sort().join(",")||e.v!==1||e.purpose!=="financial.wallet.operations.read"||![e.requestId,e.agentId,e.runtimeId].every(r=>typeof r=="string"&&ORe.test(r))||!Number.isSafeInteger(e.limit)||e.limit<1||e.limit>50)throw new Error("financial_device_operations_request_invalid");return(0,xRe.bytesToBase64Url)((0,PRe.sha256)(new TextEncoder().encode((0,Bte.canonicalJson)(e))))}var W_t=["v","purpose","requestId","associationId","associationVersion","runtimeId","runtimeGeneration","childJkt","preparedCertificate","preparedDelegation","expiresAt"],ORe=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;function Vfn(e){let t=(0,jfn.parseFinancialCanonicalJson)((0,Bte.canonicalJson)(e));if(!t||Array.isArray(t)||Object.keys(t).length!==W_t.length||W_t.some(r=>!Object.hasOwn(t,r))||t.v!==1||t.purpose!=="financial.runtime.device.enroll"||!["requestId","associationId","runtimeId"].every(r=>typeof t[r]=="string"&&ORe.test(t[r]))||!["associationVersion","runtimeGeneration","expiresAt"].every(r=>Number.isSafeInteger(t[r])&&t[r]>0)||!(0,wRe.isCanonicalBase64Url32)(t.childJkt))throw new Error("financial_device_challenge_invalid");for(let r of["preparedCertificate","preparedDelegation"]){let n=t[r];if(!n||Array.isArray(n)||Object.keys(n).sort().join(",")!=="claims,signingInput"||typeof n.signingInput!="string"||n.signingInput.length>16384||!n.claims||typeof n.claims!="object"||Array.isArray(n.claims))throw new Error("financial_device_challenge_invalid")}return(0,xRe.bytesToBase64Url)((0,PRe.sha256)(new TextEncoder().encode((0,Bte.canonicalJson)(t))))}});async function NRe(e){let{key:t,approved:r,result:n}=e;if(!n.certificate.startsWith(r.preparedCertificate.signingInput+".")||!n.delegation.startsWith(r.preparedDelegation.signingInput+"."))throw new Error("financial_device_owner_result_invalid");let i={keys:[{...e.rootPublicJwk,kid:e.rootKid}]},o=Math.floor(Date.now()/1e3),s=await(0,jte.verifyRuntimeCertificate)(n.certificate,{jwks:i,nowSec:o,expectedAgentId:t.binding.agentId,expectedRootJkt:t.binding.rootJkt,expectedRuntimeId:t.runtimeId,expectedRuntimeJkt:t.jkt,requiredPurpose:"wallet:x402"}),a=await(0,jte.verifyRuntimeDelegation)(n.delegation,{ownerJwks:i,nowSec:o,expectedRootKid:e.rootKid,expectedRootJkt:t.binding.rootJkt,expectedAgentId:t.binding.agentId,expectedRuntimeId:t.runtimeId,expectedRuntimeJkt:t.jkt,expectedNetwork:"eip155:8453",expectedLeaseIssuerJkt:r.preparedDelegation.claims.leaseIssuerJkt,expectedDelegationId:r.preparedDelegation.claims.jti});if(n.v!==1||n.runtimeId!==t.runtimeId||n.childJkt!==t.jkt||!s.ok||!a.ok)throw new Error("financial_device_owner_result_invalid");return n}var jte,Y_t=A(()=>{"use strict";jte=ie($f())});function LB(e,t){if(!/^[0-9a-f-]{36}$/.test(e))throw new Error("financial_device_agent_invalid");let r=(0,DB.join)(pi(t),"financial-device");return(0,qte.mkdirSync)(r,{recursive:!0,mode:448}),(0,DB.join)(r,e+".pending.json")}function Ffn(e,t){let r=s6(LB(e,t));if(r===null)return null;Z0(r);let n=JSON.parse(r);if((0,O8.financialDeviceProposalHash)(n.proposal),n.cardProposal&&(0,O8.assertFinancialDevicePair)(n.proposal,n.cardProposal),n.v===1&&!Object.prototype.hasOwnProperty.call(n,"ceremony")){let i=LB(e,t),o=i.replace(".pending.json",`.outdated.${n.proposal.requestId}.json`);throw(0,qte.renameSync)(i,o),new Error(`financial_device_record_outdated: this device's wallet approval was started by an older Visa CLI and cannot be resumed (kept as ${(0,DB.basename)(o)}). Re-enroll: run \`visa connect\` again.`)}if(n.v!==1||!n.ceremony||typeof n.ceremony!="object"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(n.ceremony.ceremonyId)||!/^[A-Za-z0-9_-]{43}$/.test(n.ceremony.challenge)||!/^[A-Za-z0-9_-]{43}$/.test(n.ceremony.verifier)||(0,ZI.createHash)("sha256").update(n.ceremony.verifier).digest("base64url")!==n.ceremony.challenge||n.proposal.agentId!==e||n.runtimeKey.binding.agentId!==e||n.runtimeKey.runtimeId!==n.proposal.runtimeId||n.runtimeKey.binding.rootJkt!==n.proposal.rootJkt||(0,MRe.computeJkt)(n.rootPublicJwk)!==n.proposal.rootJkt)throw new Error("financial_device_record_invalid");return n}function CRe(e,t){let r=JSON.stringify(e);Z0(r),Q_(LB(e.proposal.agentId,t),r)}async function Hte(e){let t=Ffn(e.agentId,e.env);if(t){if((0,ob.canonicalJson)(t.ceremony)!==(0,ob.canonicalJson)(e.ceremony))throw new Error("financial_device_ceremony_changed");let s=await e.api.financialRuntimeRequest("device-handoff-create",{requestId:t.proposal.requestId,proposal:t.proposal,ceremony:t.ceremony,...t.cardProposal?{cardProposal:t.cardProposal}:{}}),a=Math.floor(Date.now()/1e3),c=s.evidence?.wallet_receipt,u=f=>{if(typeof f!="string")throw new Error("financial_device_record_invalid");let m=JSON.parse(Buffer.from(f.split(".")[1]??"","base64url").toString()).exp;if(!Number.isSafeInteger(m))throw new Error("financial_device_record_invalid");return m>a},d=c&&u(s.prepared?.certificate)&&u(s.prepared?.delegation)&&u(c.walletBinding),l=!s.prepared||s.prepared.status==="active"||s.prepared.status==="pending"&&s.prepared.challenge.expiresAt>a;if(d||!c&&!s.expired&&l)return t;Q_(LB(e.agentId,e.env).replace(".pending.json",`.expired.${t.proposal.requestId}.json`),JSON.stringify(t));let p={v:1,ceremony:t.ceremony,proposal:{...t.proposal,requestId:(0,ZI.randomUUID)()},runtimeKey:t.runtimeKey,rootKid:t.rootKid,rootPublicJwk:t.rootPublicJwk,...t.cardProposal?{cardProposal:t.cardProposal}:{}};return CRe(p,e.env),p}let r=await e.api.financialRuntimeRequest("device-context",{requestId:(0,ZI.randomUUID)(),agentId:e.agentId});if(r.agentId!==e.agentId||(0,MRe.computeJkt)(r.rootPublicJwk)!==r.rootJkt)throw new Error("financial_device_context_invalid");if(e.ownerPublicId!==void 0&&typeof r.ownerPublicId=="string"&&r.ownerPublicId!==e.ownerPublicId)throw new Error("Protected wallet owner differs from the active profile");let n=await e.signer.create({profile:"legacy-root-certified-v1",purpose:"wallet:x402",agentId:e.agentId,rootJkt:r.rootJkt}),i={v:1,purpose:"financial.runtime.device.proposal",requestId:(0,ZI.randomUUID)(),associationId:r.associationId,associationVersion:r.associationVersion,agentId:e.agentId,runtimeId:n.runtimeId,rootJkt:r.rootJkt,publicJwk:n.publicJwk};(0,O8.financialDeviceProposalHash)(i),e.cardProposal&&(0,O8.assertFinancialDevicePair)(i,e.cardProposal);let o={v:1,ceremony:e.ceremony,proposal:i,...e.cardProposal?{cardProposal:e.cardProposal}:{},runtimeKey:n,rootKid:r.rootKid,rootPublicJwk:r.rootPublicJwk};return CRe(o,e.env),o}async function UB(e){let t=e.pending,r=t.proposal,n=await e.signer.describe(t.runtimeKey.handle);if((0,ob.canonicalJson)(n)!==(0,ob.canonicalJson)(t.runtimeKey)||n.binding.profile!=="legacy-root-certified-v1"||n.binding.purpose!=="wallet:x402")throw new Error("financial_device_handle_changed");let i=async(c,u={})=>e.api.financialRuntimeRequest(c,{requestId:r.requestId,proposal:r,...c==="device-handoff-create"?{ceremony:t.ceremony,...t.cardProposal?{cardProposal:t.cardProposal}:{}}:{},...u}),o=await i("device-handoff-create");if(o.expired&&!o.evidence?.wallet_receipt)throw new Error("This enrollment ceremony expired. Start a fresh enrollment; this expired proposal cannot be approved.");if((0,ob.canonicalJson)(o.proposal)!==(0,ob.canonicalJson)(r))throw new Error("financial_device_proposal_mismatch");let s=o.evidence?.owner_signatures,a=o.prepared;if(s&&a&&!o.evidence?.device_proof){if(await NRe({key:n,rootKid:t.rootKid,rootPublicJwk:t.rootPublicJwk,approved:a.challenge,result:{v:1,runtimeId:r.runtimeId,childJkt:n.jkt,...s}}),t.challenge&&(0,ob.canonicalJson)(t.challenge)!==(0,ob.canonicalJson)(a.challenge))throw new Error("financial_device_challenge_changed");t.childPop||(t.challenge=a.challenge,t.childPop=await e.signer.financialEnrollmentProof(n.handle,a.challenge),CRe(t,e.env)),o=await i("device-handoff-proof",{childPop:t.childPop})}return o}async function kRe(e){let t=e.pending,r=t.proposal,n=await UB(e),i=n.evidence?.wallet_receipt;if(n.prepared?.status!=="active"||!i)return null;let o=await e.signer.describe(t.runtimeKey.handle),s=await NRe({key:o,rootKid:t.rootKid,rootPublicJwk:t.rootPublicJwk,approved:n.prepared.challenge,result:{v:1,runtimeId:r.runtimeId,childJkt:o.jkt,certificate:n.prepared.certificate,delegation:n.prepared.delegation}}),{verifyWalletBinding:a}=await Promise.resolve().then(()=>ie($f())),c=await e.api.financialRuntimeRequest("device-context",{requestId:(0,ZI.randomUUID)(),agentId:r.agentId});if(c.associationId!==r.associationId||c.associationVersion!==r.associationVersion||c.rootJkt!==r.rootJkt||i.agentId!==r.agentId||i.runtimeId!==r.runtimeId||i.runtimeCertificate!==s.certificate||typeof c.grantId!="string"||!Number.isSafeInteger(c.grantVersion)||c.grantVersion<1||typeof c.ownerPublicId!="string")throw new Error("financial_device_activation_changed");if(!(await a(i.walletBinding,{jwks:{keys:[{...t.rootPublicJwk,kid:t.rootKid}]},nowSec:Math.floor(Date.now()/1e3),expectedAgentId:r.agentId,expectedRootJkt:r.rootJkt,expectedSubOrganizationId:c.organizationId,expectedWalletId:i.walletId,expectedWalletAddress:i.walletAddress,expectedNetwork:"eip155:8453",expectedExecutor:{kind:"turnkey_tvc_p256",publicKey:i.credentialPublicKey,derivationVersion:"visa-tvc-slipgate-v2"}})).ok)throw new Error("financial_device_wallet_binding_invalid");let d={...t,challenge:n.prepared.challenge,certificate:s.certificate,delegation:s.delegation,walletBinding:i.walletBinding,wallet:{walletId:i.walletId,walletAddress:i.walletAddress,credentialPublicKey:i.credentialPublicKey},organizationId:c.organizationId,ownerPublicId:c.ownerPublicId,grantId:c.grantId,grantVersion:c.grantVersion},l=JSON.stringify(d);return Z0(l),Q_(LB(r.agentId,e.env).replace(".pending.json",".active.json"),l),d}var qte,DB,ZI,MRe,ob,O8,QI=A(()=>{"use strict";qte=require("node:fs"),DB=require("node:path"),ZI=require("node:crypto"),MRe=ie($f()),ob=ie(X_()),O8=ie(RRe());Wk();Hu();Y_t()});function e5(e){let t=iy(e);if(new URL(t).protocol!=="https:")throw new Error("Protected enrollment requires the HTTPS Auth origin");return t}function jB(e){let t=(0,t5.join)(pi(e),"protected-enrollment");return(0,Vte.mkdirSync)(t,{recursive:!0,mode:448}),Fc(t),t}function URe(e,t,r){if(!e||e.status!=="active"||e.v!==1||!R8.test(e.ceremonyId)||e.challenge!==t||e.confirmCode!==r||!Z_t.test(t)||!/^[ABCDEFGHJKMNPQRSTUVWXYZ23456789]{6}$/.test(r)||!R8.test(e.agentId)||!R8.test(e.ownerPublicId)||!R8.test(e.associationId)||!Number.isSafeInteger(e.associationVersion)||e.associationVersion<1||typeof e.rootKid!="string"||!e.rootKid||typeof e.organizationId!="string"||!e.organizationId||(0,X_t.computeJkt)(e.rootPublicJwk)!==e.rootJkt)throw new Error("Protected enrollment result does not match this terminal")}function zfn(e){let t=Ql((0,t5.join)(jB(e),"pending.json"));if(t===null)return null;let r=JSON.parse(t);if(r.v!==1||!Z_t.test(r.verifier)||Q_t(r.verifier)!==r.challenge||e5(r.authorityOrigin)!==r.authorityOrigin||e5(r.executionOrigin)!==r.executionOrigin||iy(r.webOrigin)!==r.webOrigin||!Number.isSafeInteger(r.createdAt)||!(/^(?:ca_[A-Za-z0-9_-]{24})$/.test(r.ceremonyId)||R8.test(r.ceremonyId))||r.transportProfileId!==(Vu(e)?.profileId??null))throw new Error("Protected enrollment pending state or transport profile changed");if(r.binding&&(URe(r.binding,r.challenge,CS(r.verifier)),r.ceremonyId!==r.binding.ceremonyId))throw new Error("Protected enrollment ceremony changed");return r}function Kfn(e){try{return zfn(e)}catch(t){return Un.warn("agent:protected_enrollment_pending_replaced",{reason:t instanceof Error?t.message:"pending record could not be read"}),null}}function eyt(e){let t=e5(u6()),r=iy(e.webOrigin),n=Kfn(e.env),i=n!==null&&Date.now()-n.createdAt<Gfn;if(n&&i&&!e.restart){if(n.authorityOrigin!==t||n.webOrigin!==r||n.executionOrigin!==t)throw new Error("Resume requires the original protected authority and browser origins");return n}if(n?.binding&&i&&e.restart)throw new Error("This enrollment is already bound. Resume its device approval before starting another agent.");let o=(0,BB.randomBytes)(32).toString("base64url"),s={v:1,verifier:o,challenge:Q_t(o),authorityOrigin:t,executionOrigin:t,webOrigin:r,transportProfileId:Vu(e.env)?.profileId??null,createdAt:Date.now(),ceremonyId:"ca_"+(0,BB.randomBytes)(18).toString("base64url")};return $c((0,t5.join)(jB(e.env),"pending.json"),JSON.stringify(s)),s}function BRe(e=process.env,t){let r=(t??"").trim().toLowerCase().replace(/[\s_]+/g,"-");if(r&&DRe[r])return DRe[r];let n=G1e(e);return n&&DRe[n]||null}function tyt(e,t){let r=new URL("/agent/enroll/protected-agent",e.webOrigin);return r.searchParams.set("cliChallenge",e.challenge),t&&r.searchParams.set("app",t),r.toString()}function Fte(e){let t=e&&typeof e=="object"?e.name:void 0;return typeof t=="string"?t:""}function Xfn(e){try{let t=JSON.parse(e),r=t&&typeof t=="object"&&!Array.isArray(t)?t:{},n=i=>typeof i=="string"&&Jfn.test(i)?i:null;return{code:n(r.code),reason:n(r.reason),purchaseId:r.reason==="terms_conflict"&&typeof r.purchaseId=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(r.purchaseId)?r.purchaseId:null}}catch{return{code:null,reason:null}}}async function jRe(e,t,r,n,i="Protected authority",o=Wfn,s={}){let a;try{a=await n(e5(e)+t,{method:"POST",headers:{...s,"content-type":"application/json","X-Source":"cli","X-Visa-CLI-Version":$fn,...rD()},body:(0,N8.canonicalJson)(JSON.parse(JSON.stringify(r))),redirect:"error",signal:AbortSignal.timeout(o)})}catch(u){let d=Fte(u);throw new sb(i,d==="TimeoutError"||d==="AbortError"?"timeout":"network",o)}if(!a.ok){let u={code:null,reason:null};try{let d=await a.text();d.length<=262144&&(u=Xfn(d))}catch{}throw new Mg(i,a.status,u.code,u.reason,u.purchaseId)}let c;try{c=await a.text()}catch{throw new sb(i,"response",o)}if(c.length>262144)throw new sb(i,"response",o);try{return JSON.parse(c)}catch{throw new sb(i,"response",o)}}function Zfn(e,t=fetch){return e5(e),{financialRuntimeRequest:(r,n)=>jRe(e,`/v1/financial-runtime/${r}`,n,t)}}async function ryt(e,t,r=fetch){if(e.transportProfileId!==(Vu(t)?.profileId??null))throw new Error("Protected enrollment transport profile changed");if(e.binding)return J_t(e,e.binding,t),e.binding;let n=await jRe(e.executionOrigin,"/v1/enrollment/cli-claim",{verifier:e.verifier},r);if(n?.ok!==!0)throw new Error("Protected authority refused enrollment pickup");if(n.result?.status==="pending")return null;let i=n.result;return URe(i,e.challenge,CS(e.verifier)),e.ceremonyId=i.ceremonyId,e.binding=i,$c((0,t5.join)(jB(t),"pending.json"),JSON.stringify(e)),J_t(e,i,t),i}function J_t(e,t,r){let n={v:1,authorityOrigin:e.authorityOrigin,executionOrigin:e.executionOrigin,transportProfileId:e.transportProfileId,binding:t},i=(0,t5.join)(jB(r),`${t.agentId}.json`),o=Ql(i);if(o!==null&&(0,N8.canonicalJson)(JSON.parse(o))!==(0,N8.canonicalJson)(n))throw new Error("Protected agent selection changed");$c(i,JSON.stringify(n))}function nyt(e,t=fetch){let r=Zfn(e.executionOrigin,t);return{financialRuntimeRequest:async(n,i)=>{let o=n==="execute"?await jRe(e.executionOrigin,"/v1/financial-runtime/execute",i,t,"Protected policy transport",Yfn):await r.financialRuntimeRequest(n,i);if(n==="device-context"){let s=e.binding;if(o.agentId!==s.agentId||o.ownerPublicId!==s.ownerPublicId||o.associationId!==s.associationId||o.associationVersion!==s.associationVersion||o.rootJkt!==s.rootJkt||o.rootKid!==s.rootKid||o.organizationId!==s.organizationId||(0,N8.canonicalJson)(o.rootPublicJwk)!==(0,N8.canonicalJson)(s.rootPublicJwk))throw new Error("Protected device context differs from the independently claimed owner")}return o}}}function Qfn(e){let t=jB(e);return(0,Vte.readdirSync)(t).filter(r=>R8.test(r.replace(/\.json$/,""))&&r.endsWith(".json")).flatMap(r=>{let n=Ql((0,t5.join)(t,r));if(n===null)return[];let i=JSON.parse(n);if(i.v!==1||e5(i.authorityOrigin)!==i.authorityOrigin||e5(i.executionOrigin)!==i.executionOrigin||i.binding.agentId+".json"!==r)throw new Error("Protected selection is invalid");return URe(i.binding,i.binding.challenge,i.binding.confirmCode),[i]})}function qB(e){let t=Vu(e)?.profileId??null;return Qfn(e).filter(r=>r.transportProfileId===t)}var BB,Vte,t5,X_t,N8,$fn,R8,Z_t,Q_t,Gfn,DRe,Wfn,Yfn,sb,Mg,Jfn,C8=A(()=>{"use strict";QI();BB=require("node:crypto"),Vte=require("node:fs"),t5=require("node:path"),X_t=ie($f()),N8=ie(X_());qK();K1e();wS();$_();d6();ep();Hu();DK();$fn="5.0.0-rc.363",R8=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Z_t=/^[A-Za-z0-9_-]{43}$/,Q_t=e=>(0,BB.createHash)("sha256").update(e).digest("base64url");Gfn=9e5;DRe={"claude-code":"claude",codex:"codex",openclaw:"openclaw",hermes:"hermes"};Wfn=2e4,Yfn=12e4,sb=class extends Error{constructor(r,n,i){super(n==="timeout"?`${r} timed out after ${Math.round(i/1e3)} s`:n==="response"?`${r} answered, but the answer could not be read`:`${r} could not be reached`);this.reason=n;this.name="ProtectedAuthorityTransportError"}reason},Mg=class extends Error{constructor(r,n,i,o=null,s=null){super(`${r} refused this request (HTTP ${n}${i?`, ${i}`:""})`);this.status=n;this.code=i;this.reason=o;this.purchaseId=s;this.name="ProtectedAuthorityRefusedError"}status;code;reason;purchaseId};Jfn=/^[a-z][a-z0-9_]{0,63}$/});var lyt=_(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.JOURNAL_ENVELOPE_V3_ENV=Pe.INTENT_NARRATIVE_USER_REQUEST_MAX=Pe.VALID_JOURNAL_CURRENCIES=Pe.TransactionIntentJournalError=Pe.INTENT_NARRATIVE_SCHEMA=Pe.INTENT_ALTERNATIVES_MAX=Pe.VALID_INTENT_DISCOVERY_SOURCES=Pe.INTENT_DISCOVERY_SOURCES=Pe.VALID_INTENT_INITIATORS=Pe.INTENT_INITIATORS=Pe.VALID_INTENT_CATEGORIES=Pe.INTENT_CATEGORIES=Pe.SUPPORTED_TRANSACTION_INTENT_JOURNAL_VERSIONS=Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED=Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED=Pe.TRANSACTION_INTENT_JOURNAL_VERSION=void 0;Pe.findNarrativePersonalData=ayt;Pe.validateIntentNarrative=cyt;Pe.journalEnvelopeV3Enabled=nmn;Pe.journalEnvelopeSalted=imn;Pe.userIntentHash=omn;Pe.newUserIntentSalt=smn;Pe.saltedUserIntentHash=uyt;Pe.transactionIntentJournalHash=amn;Pe.parseTransactionIntentJournalV1=dyt;Pe.buildTransactionIntentJournal=cmn;var zte=require("node:crypto"),emn=J_();Pe.TRANSACTION_INTENT_JOURNAL_VERSION=1;Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED=2;Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED=3;Pe.SUPPORTED_TRANSACTION_INTENT_JOURNAL_VERSIONS=[Pe.TRANSACTION_INTENT_JOURNAL_VERSION,Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED,Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED];Pe.INTENT_CATEGORIES=["api_inference","api_data","compute_storage","media_content","software_subscription","digital_goods","physical_goods","service_booking","donation_tip","other"];Pe.VALID_INTENT_CATEGORIES=new Set(Pe.INTENT_CATEGORIES);Pe.INTENT_INITIATORS=["user_explicit","agent_derived"];Pe.VALID_INTENT_INITIATORS=new Set(Pe.INTENT_INITIATORS);Pe.INTENT_DISCOVERY_SOURCES=["user_supplied","wallet_discover","wallet_directory","merchant_challenge","ucp","other"];Pe.VALID_INTENT_DISCOVERY_SOURCES=new Set(Pe.INTENT_DISCOVERY_SOURCES);Pe.INTENT_ALTERNATIVES_MAX=1e3;Pe.INTENT_NARRATIVE_SCHEMA={type:"object",description:"REQUIRED. What the user asked for, and what this purchase buys. Recorded as audit evidence and checked by the policy engine against the payment that follows \u2014 drift between what you state here and what you pay is refused. Write the way a human would want this to read on a statement six months from now: name the thing, not the transaction. Keep personal details \u2014 names, addresses, email addresses, account numbers, order numbers \u2014 OUT of product, purpose and expectedResult; those three are stored as written.",properties:{userRequest:{type:"string",description:"The user's own request that this purchase fulfils, verbatim or tightly summarized. It never leaves this machine: only a salted hash of it is sent."},product:{type:"string",description:'What is being bought, in plain words a human would recognize \u2014 "four hours of GPU time", "one stock photo licence", "50k tokens of image captioning". Not the URL, and not "API call".'},category:{type:"string",enum:[...Pe.INTENT_CATEGORIES],description:"Which kind of purchase this is. Pick the closest one; use other only when none of the others fits, not when the choice is merely hard."},purpose:{type:"string",description:"Why this purchase advances the user's goal \u2014 the reason for it, not a restatement of the product."},quantity:{type:"integer",description:"How many units are being bought. Defaults to 1 when omitted."},expectedResult:{type:"string",description:"What you expect to receive for the money: the artifact, the access, or the outcome."},recurring:{type:"boolean",description:"true when this purchase repeats on a schedule, such as a subscription. false for a one-off."},initiator:{type:"string",enum:[...Pe.INTENT_INITIATORS],description:"user_explicit when the user asked for this purchase; agent_derived when you concluded it was needed. Answer honestly \u2014 this records who decided, and neither answer is better than the other."},discoveredVia:{type:"string",enum:[...Pe.INTENT_DISCOVERY_SOURCES],description:"How you found this merchant: user_supplied when the user named it, wallet_discover or wallet_directory when a Visa CLI search found it, merchant_challenge when you already had the 402, ucp for a UCP handoff, otherwise other."},alternativesConsidered:{type:"integer",description:`How many other options you weighed before choosing this one. 0 is a real answer, not a missing one. At most ${Pe.INTENT_ALTERNATIVES_MAX}.`}},required:["userRequest","product","category"],additionalProperties:!1};var M8=class extends Error{code;constructor(t,r){super(r),this.code=t,this.name="TransactionIntentJournalError"}};Pe.TransactionIntentJournalError=M8;var iyt=/^[A-Za-z0-9_-]{43}$/,oyt=/^[1-9][0-9]*$/;Pe.VALID_JOURNAL_CURRENCIES=new Set(["USD","USDC"]);function xs(e,t){throw new M8(e,t)}function HB(e,t){return(!e||typeof e!="object"||Array.isArray(e))&&xs("invalid_journal",`${t} must be an object`),e}function VB(e,t,r=[]){for(let n of Object.keys(e))!t.includes(n)&&!r.includes(n)&&xs("invalid_journal",`unknown journal field: ${n}`);for(let n of t)e[n]===void 0&&xs("invalid_journal",`missing journal field: ${n}`)}function syt(e,t){let r=Xs(e,t,2048),n;try{n=new URL(r)}catch{xs("invalid_journal",`${t} must be an absolute http(s) URL`)}return n.protocol!=="https:"&&n.protocol!=="http:"&&xs("invalid_journal",`${t} must be an absolute http(s) URL`),r}function Xs(e,t,r){return(typeof e!="string"||e.length===0||e.length>r)&&xs("invalid_journal",`${t} must be a non-empty string of at most ${r} characters`),/[\u0000-\u001f\u007f]/.test(e)&&xs("invalid_journal",`${t} must not contain control characters`),e}Pe.INTENT_NARRATIVE_USER_REQUEST_MAX=2e3;var tmn=[[/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/,"an email address"],[/\b(?:\+?1[\s.-]?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\b/,"a phone number"],[/\b\d{1,5}\s+[A-Za-z][A-Za-z.'-]*(?:\s+[A-Za-z][A-Za-z.'-]*)*\s+(?:Street|St|Avenue|Ave|Road|Rd|Lane|Ln|Drive|Dr|Boulevard|Blvd|Court|Ct|Way|Terrace|Place|Pl)\b\.?/i,"a street address"]];function rmn(e){for(let t of e.match(/\b(?:\d[ -]?){13,19}\b/g)??[]){let r=t.replace(/\D/g,"");if(r.length<13||r.length>19)continue;let n=0,i=!1;for(let o=r.length-1;o>=0;o--){let s=r.charCodeAt(o)-48;i&&(s*=2,s>9&&(s-=9)),n+=s,i=!i}if(n%10===0)return!0}return!1}function ayt(e){let t=tmn.filter(([r])=>r.test(e)).map(([,r])=>r);return rmn(e)&&t.push("a card or account number"),t}function $te(e,t,r,{stored:n=!1}={}){if(typeof e!="string"||e.length===0)return{ok:!1,message:`intent.${t} must be a non-empty string.`};if(e.length>r)return{ok:!1,message:`intent.${t} must be at most ${r} characters.`};if(/[\u0000-\u001f\u007f]/.test(e))return{ok:!1,message:`intent.${t} must not contain control characters.`};if(n){let i=ayt(e);if(i.length>0)return{ok:!1,message:`intent.${t} contains ${i.join(" and ")}. product, purpose and expectedResult are stored as written \u2014 describe what was bought and leave the person's details in userRequest, which is committed by a hash and never leaves this machine.`}}return{ok:!0,value:e}}function cyt(e){if(!e||typeof e!="object"||Array.isArray(e))return{ok:!1,message:"intent must be an object with userRequest and product."};let t=e;for(let o of Object.keys(t))if(!["userRequest","product","purpose","quantity","expectedResult","recurring","category","initiator","discoveredVia","alternativesConsidered"].includes(o))return{ok:!1,message:`intent.${o} is not a recognized field.`};let r=$te(t.userRequest,"userRequest",Pe.INTENT_NARRATIVE_USER_REQUEST_MAX);if(!r.ok)return r;let n=$te(t.product,"product",512,{stored:!0});if(!n.ok)return n;if(typeof t.category!="string"||!Pe.VALID_INTENT_CATEGORIES.has(t.category))return{ok:!1,message:`intent.category is required and must be one of: ${Pe.INTENT_CATEGORIES.join(", ")}.`};let i={userRequest:r.value,product:n.value,category:t.category};if(t.purpose!==void 0){let o=$te(t.purpose,"purpose",512,{stored:!0});if(!o.ok)return o;i.purpose=o.value}if(t.expectedResult!==void 0){let o=$te(t.expectedResult,"expectedResult",512,{stored:!0});if(!o.ok)return o;i.expectedResult=o.value}if(t.quantity!==void 0){let o=t.quantity;if(typeof o!="number"||!Number.isSafeInteger(o)||o<1||o>1e6)return{ok:!1,message:"intent.quantity must be a whole number from 1 to 1000000."};i.quantity=o}if(t.initiator!==void 0){if(typeof t.initiator!="string"||!Pe.VALID_INTENT_INITIATORS.has(t.initiator))return{ok:!1,message:`intent.initiator must be one of: ${Pe.INTENT_INITIATORS.join(", ")}.`};i.initiator=t.initiator}if(t.discoveredVia!==void 0){if(typeof t.discoveredVia!="string"||!Pe.VALID_INTENT_DISCOVERY_SOURCES.has(t.discoveredVia))return{ok:!1,message:`intent.discoveredVia must be one of: ${Pe.INTENT_DISCOVERY_SOURCES.join(", ")}.`};i.discoveredVia=t.discoveredVia}if(t.alternativesConsidered!==void 0){let o=t.alternativesConsidered;if(typeof o!="number"||!Number.isSafeInteger(o)||o<0||o>Pe.INTENT_ALTERNATIVES_MAX)return{ok:!1,message:`intent.alternativesConsidered must be a whole number from 0 to ${Pe.INTENT_ALTERNATIVES_MAX}.`};i.alternativesConsidered=o}if(t.recurring!==void 0){if(typeof t.recurring!="boolean")return{ok:!1,message:"intent.recurring must be true or false."};i.recurring=t.recurring}return{ok:!0,narrative:i}}Pe.JOURNAL_ENVELOPE_V3_ENV="VISA_JOURNAL_V3";function nmn(e=process.env){return e[Pe.JOURNAL_ENVELOPE_V3_ENV]!=="false"}function imn(e=process.env){return!0}function omn(e){return(0,zte.createHash)("sha256").update(e,"utf8").digest("base64url")}function smn(){return(0,zte.randomBytes)(32).toString("base64url")}function uyt(e,t){return(0,zte.createHash)("sha256").update(`visa-user-intent:v2:${e}:${t}`,"utf8").digest("base64url")}function amn(e){return(0,zte.createHash)("sha256").update((0,emn.canonicalJson)(e),"utf8").digest("base64url")}function dyt(e){let t=HB(e,"journal");t.v!==Pe.TRANSACTION_INTENT_JOURNAL_VERSION&&t.v!==Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED&&t.v!==Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED&&xs("invalid_journal","unsupported journal version");let r=t.v===Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED,n=t.v===Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED||r;VB(t,["v","userIntent","product","quantity","merchant","amountMicros","recurrence","endpoint","economicIntentId","executionPayloadHash",...n?["currency"]:[],...r?["category"]:[]],["purpose","maxPriceMicros","payee","expectedResult",...r?["initiator","discoveredVia","alternativesConsidered"]:[]]);let i=HB(t.userIntent,"userIntent");VB(i,["kind","hash"]),i.kind!=="agent_attested"&&xs("invalid_journal","userIntent.kind must be agent_attested");let o=Xs(i.hash,"userIntent.hash",43);iyt.test(o)||xs("invalid_journal","userIntent.hash must be sha256 base64url");let s;n&&(s=Xs(t.currency,"currency",10),Pe.VALID_JOURNAL_CURRENCIES.has(s)||xs("invalid_journal","currency must be one of USD, USDC"));let a,c,u,d;if(r){let E=Xs(t.category,"category",64);if(Pe.VALID_INTENT_CATEGORIES.has(E)||xs("invalid_journal",`category must be one of ${Pe.INTENT_CATEGORIES.join(", ")}`),a=E,t.initiator!==void 0){let T=Xs(t.initiator,"initiator",64);Pe.VALID_INTENT_INITIATORS.has(T)||xs("invalid_journal",`initiator must be one of ${Pe.INTENT_INITIATORS.join(", ")}`),c=T}if(t.discoveredVia!==void 0){let T=Xs(t.discoveredVia,"discoveredVia",64);Pe.VALID_INTENT_DISCOVERY_SOURCES.has(T)||xs("invalid_journal",`discoveredVia must be one of ${Pe.INTENT_DISCOVERY_SOURCES.join(", ")}`),u=T}if(t.alternativesConsidered!==void 0){let T=t.alternativesConsidered;(typeof T!="number"||!Number.isSafeInteger(T)||T<0||T>Pe.INTENT_ALTERNATIVES_MAX)&&xs("invalid_journal",`alternativesConsidered must be an integer from 0 to ${Pe.INTENT_ALTERNATIVES_MAX}`),d=T}}let l=Xs(t.product,"product",512);(typeof t.quantity!="number"||!Number.isSafeInteger(t.quantity)||t.quantity<1||t.quantity>1e6)&&xs("invalid_journal","quantity must be a positive integer");let p=HB(t.merchant,"merchant");VB(p,["url"],["id","name"]);let f=syt(p.url,"merchant.url"),m=Xs(t.amountMicros,"amountMicros",40);oyt.test(m)||xs("invalid_journal","amountMicros must be a canonical positive integer string");let h;t.maxPriceMicros!==void 0&&(h=Xs(t.maxPriceMicros,"maxPriceMicros",40),oyt.test(h)||xs("invalid_journal","maxPriceMicros must be a canonical positive integer string")),t.recurrence!=="one_time"&&t.recurrence!=="recurring"&&xs("invalid_journal","recurrence must be one_time or recurring");let g=HB(t.endpoint,"endpoint");VB(g,["tool"],["url"]);let y=Xs(g.tool,"endpoint.tool",128),S;if(t.payee!==void 0){let E=HB(t.payee,"payee");VB(E,["address","network"],["asset"]),S={address:Xs(E.address,"payee.address",256),network:Xs(E.network,"payee.network",64),...E.asset===void 0?{}:{asset:Xs(E.asset,"payee.asset",256)}}}let b=Xs(t.executionPayloadHash,"executionPayloadHash",43);return iyt.test(b)||xs("invalid_journal","executionPayloadHash must be sha256 base64url"),{v:t.v,userIntent:{kind:"agent_attested",hash:o},product:l,quantity:t.quantity,merchant:{url:f,...p.id===void 0?{}:{id:Xs(p.id,"merchant.id",512)},...p.name===void 0?{}:{name:Xs(p.name,"merchant.name",255)}},...t.purpose===void 0?{}:{purpose:Xs(t.purpose,"purpose",512)},amountMicros:m,...s===void 0?{}:{currency:s},...h===void 0?{}:{maxPriceMicros:h},recurrence:t.recurrence,endpoint:{tool:y,...g.url===void 0?{}:{url:syt(g.url,"endpoint.url")}},...S===void 0?{}:{payee:S},...t.expectedResult===void 0?{}:{expectedResult:Xs(t.expectedResult,"expectedResult",512)},...a===void 0?{}:{category:a},...c===void 0?{}:{initiator:c},...u===void 0?{}:{discoveredVia:u},...d===void 0?{}:{alternativesConsidered:d},economicIntentId:Xs(t.economicIntentId,"economicIntentId",256),executionPayloadHash:b}}function cmn(e,t){let{userIntentSalt:r,userIntentHash:n,...i}=e,o=cyt(n?{...i,userRequest:"committed"}:i);if(!o.ok)throw new M8("invalid_journal",o.message);let s=t.categorized!==!1,a;if(n)a=n;else if(r)a=uyt(r,o.narrative.userRequest);else throw new M8("invalid_journal","a journal needs either a client-held userIntentSalt or a precomputed userIntentHash; the tool boundary mints one and keeps it");let c={v:s?Pe.TRANSACTION_INTENT_JOURNAL_VERSION_CATEGORIZED:Pe.TRANSACTION_INTENT_JOURNAL_VERSION_SALTED,userIntent:{kind:"agent_attested",hash:a},product:o.narrative.product,quantity:o.narrative.quantity??1,merchant:{url:t.merchantUrl,...t.merchantId?{id:t.merchantId}:{},...t.merchantName?{name:t.merchantName}:{}},...o.narrative.purpose?{purpose:o.narrative.purpose}:{},amountMicros:t.amountMicros,...t.currency?{currency:t.currency}:{},...t.maxPriceMicros?{maxPriceMicros:t.maxPriceMicros}:{},recurrence:o.narrative.recurring?"recurring":"one_time",endpoint:{tool:t.endpointTool,...t.endpointUrl?{url:t.endpointUrl}:{}},...t.payee?{payee:t.payee}:{},...o.narrative.expectedResult?{expectedResult:o.narrative.expectedResult}:{},...s?{category:o.narrative.category,...o.narrative.initiator?{initiator:o.narrative.initiator}:{},...o.narrative.discoveredVia?{discoveredVia:o.narrative.discoveredVia}:{},...o.narrative.alternativesConsidered!==void 0?{alternativesConsidered:o.narrative.alternativesConsidered}:{}}:{},economicIntentId:t.economicIntentId,executionPayloadHash:t.executionPayloadHash};return dyt(c)}});var qRe=_(Ah=>{"use strict";Object.defineProperty(Ah,"__esModule",{value:!0});Ah.formatCents=fyt;Ah.formatUsd=dmn;Ah.formatMicros=Gte;Ah.formatMicrosWire=lmn;Ah.formatTxAmount=pmn;Ah.formatDate=fmn;Ah.formatRelativeTime=mmn;Ah.formatTime=hmn;Ah.formatAge=gmn;var pyt=1e6,umn=100;function fyt(e,t={}){let r=t.fallback??"\u2014";if(e==null||!Number.isFinite(e))return r;let i=(e/umn).toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:t.minimumFractionDigits??2,maximumFractionDigits:t.maximumFractionDigits??2});return t.showPlusSign&&e>0?`+${i}`:i}function dmn(e,t={}){let r=t.fallback??"\u2014";if(e==null||!Number.isFinite(e))return r;let n=e.toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:t.minimumFractionDigits??2,maximumFractionDigits:t.maximumFractionDigits??2});return t.showPlusSign&&e>0?`+${n}`:n}function Gte(e,t={}){let r=t.fallback??"\u2014",n=typeof e=="string"?e===""?null:Number(e):e;if(n==null||!Number.isFinite(n))return r;let o=(n/pyt).toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:t.minimumFractionDigits??2,maximumFractionDigits:t.maximumFractionDigits??6});return t.showPlusSign&&n>0?`+${o}`:o}function lmn(e,t,r={}){return e&&/^-?\d+$/.test(e)?Gte(e,r):t!=null&&Number.isFinite(t)?fyt(t,r):r.fallback??"\u2014"}function pmn(e,t={}){let r=Number(e.amount_micros);if(Number.isFinite(r)&&e.amount_micros!=null&&e.amount_micros!=="")return Gte(r,t);let n=Number(String(e.amount).replace(/^\$/,""));return Number.isFinite(n)?Gte(n*pyt,t):t.fallback??"\u2014"}function fmn(e,t={}){let r=t.fallback??"\u2014";if(!e)return r;let n=new Date(e);return Number.isNaN(n.getTime())?r:n.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric",timeZone:t.timeZone??"UTC"})}function mmn(e,t=Date.now()){if(!e)return"\u2014";let r=Date.parse(e);if(Number.isNaN(r))return"\u2014";let n=t-r,i=n>=0,o=Math.abs(n),s=Math.floor(o/1e3),a=Math.floor(s/60),c=Math.floor(a/60),u=Math.floor(c/24),d=Math.floor(u/7),l=Math.floor(u/30),p=Math.floor(u/365);return s<45?"just now":a<1?i?"a minute ago":"in a minute":a<60?k8(n,i,a,"minute"):c<24?k8(n,i,c,"hour"):u===1?i?"yesterday":"tomorrow":u<7?k8(n,i,u,"day"):d<4?k8(n,i,d,"week"):l<12?k8(n,i,l,"month"):k8(n,i,p,"year")}function k8(e,t,r,n){let i=r!==1?"s":"";return t?`${r} ${n}${i} ago`:`in ${r} ${n}${i}`}function hmn(e,t={}){let r=t.fallback??"\u2014";if(!e)return r;let n=new Date(e);return Number.isNaN(n.getTime())?r:n.toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",timeZone:t.timeZone??"UTC"})}function gmn(e,t){if(!e)return"";let r=Date.parse(e);if(Number.isNaN(r))return"";let n=Math.max(0,t-r),i=Math.floor(n/1e3);if(i<45)return"just now";let o=Math.floor(i/60);if(o<60)return`${o}m ago`;let s=Math.floor(o/60);if(s<24)return`${s}h ago`;let a=Math.floor(s/24);if(a<30)return`${a}d ago`;let c=Math.floor(a/30);return c<12?`${c}mo ago`:`${Math.floor(a/365)}y ago`}});var HRe=_(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.AGENT_GRANT_MAX_PER_PURCHASE_CENTS=Yr.AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS=Yr.AGENT_GRANT_MIN_LIMIT_MICROS=Yr.AGENT_GRANT_MAX_PER_PURCHASE_MICROS=Yr.AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS=Yr.MPP_PAYMENT_MAX_MICROS=Yr.MPP_PAYMENT_MIN_MICROS=Yr.DEFAULT_SESSION_CAP_MICROS=Yr.MAX_MERCHANT_PRICE_MICROS=Yr.MIN_MERCHANT_PRICE_MICROS=Yr.DEFAULT_AUTOTOPUP_THRESHOLD_MICROS=Yr.DEFAULT_DAILY_CAP_MICROS=Yr.MIN_TOPUP_RETRY_FLOOR_MICROS=Yr.MIN_TOPUP_MICROS=Yr.MIN_SETTLEMENT_MICROS=void 0;var bp=kg();Yr.MIN_SETTLEMENT_MICROS=(0,bp.micros)(10000000n);Yr.MIN_TOPUP_MICROS=(0,bp.micros)(1000000n);Yr.MIN_TOPUP_RETRY_FLOOR_MICROS=(0,bp.micros)(1000000n);Yr.DEFAULT_DAILY_CAP_MICROS=(0,bp.micros)(5000000n);Yr.DEFAULT_AUTOTOPUP_THRESHOLD_MICROS=(0,bp.micros)(5000000n);Yr.MIN_MERCHANT_PRICE_MICROS=(0,bp.micros)(0n);Yr.MAX_MERCHANT_PRICE_MICROS=(0,bp.micros)(10000000000n);Yr.DEFAULT_SESSION_CAP_MICROS=(0,bp.micros)(5000000n);Yr.MPP_PAYMENT_MIN_MICROS=(0,bp.micros)(10000n);Yr.MPP_PAYMENT_MAX_MICROS=(0,bp.micros)(1000000000n);Yr.AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS=(0,bp.micros)(1000000000n);Yr.AGENT_GRANT_MAX_PER_PURCHASE_MICROS=(0,bp.micros)(50000000n);Yr.AGENT_GRANT_MIN_LIMIT_MICROS=(0,bp.micros)(1000n);Yr.AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS=1e5;Yr.AGENT_GRANT_MAX_PER_PURCHASE_CENTS=5e3});var yyt=_(Ep=>{"use strict";Object.defineProperty(Ep,"__esModule",{value:!0});Ep.MAX_BUDGET_DRAWS=void 0;Ep.derivePurchaseCountDetail=hyt;Ep.derivePurchaseCountDetailMicros=gyt;Ep.derivePurchaseCount=_yt;Ep.describePurchaseCount=Emn;Ep.describePurchaseCountMicros=Smn;var D8=qRe(),_mn=HRe();Ep.MAX_BUDGET_DRAWS=20;function myt(e,t){if(!Number.isSafeInteger(t)||t<=0)throw new TypeError(`${e}: expected a positive safe integer of cents, got ${t}`)}function hyt(e,t){myt("aggregateCeilingCents",e),myt("perPurchaseCents",t);let r=Math.ceil(e/t),n=Math.max(1,Math.min(Ep.MAX_BUDGET_DRAWS,r)),i=r>Ep.MAX_BUDGET_DRAWS;return{count:n,clamped:i,unreachableCents:i?e-n*t:0}}function FB(e,t){if(!/^[1-9]\d{0,18}$/.test(t))throw new TypeError(`${e}: expected canonical positive integer micros, got ${t}`);return BigInt(t)}function gyt(e,t){let r=FB("aggregateCeilingMicros",e),n=FB("perPurchaseMicros",t),i=(r+n-1n)/n,o=Math.max(1,Math.min(Ep.MAX_BUDGET_DRAWS,Number(i))),s=i>BigInt(Ep.MAX_BUDGET_DRAWS);return{count:o,clamped:s,unreachableMicros:s?(r-BigInt(o)*n).toString():"0"}}function _yt(e,t){return hyt(e,t).count}function ymn(e){let t=[Math.floor(e/5),Math.floor(e/4),Math.floor(e/2)].filter(r=>r>=1);for(let r of t){let n=_yt(e,r);if(n>=2)return{perCents:r,count:n}}return null}function bmn(e){let t=FB("aggregateCeilingMicros",e),r=[t/5n,t/4n,t/2n].filter(n=>n>=_mn.AGENT_GRANT_MIN_LIMIT_MICROS);for(let n of r){let i=gyt(e,n.toString()).count;if(i>=2)return{perMicros:n.toString(),count:i}}return null}function Emn(e,t,r){let n=(0,D8.formatCents)(t);if(e.clamped)return`This budget covers ${e.count} purchases \u2014 the most one budget allows. Each can be up to ${n}. ${(0,D8.formatCents)(e.unreachableCents)} of the total can never be spent. Raise the per-purchase amount to use all of it.`;if(e.count===1){let i=ymn(r),o=i?` Lower the per-purchase amount to allow more purchases \u2014 ${(0,D8.formatCents)(i.perCents)} allows ${i.count}.`:" Lower the per-purchase amount to allow more purchases.";return`This budget covers 1 purchase of up to ${n}. A smaller charge still uses that one purchase, and leftover budget sits unused.${o}`}return`This budget covers ${e.count} purchases. Each can be up to ${n}. Smaller charges are fine \u2014 each one still counts as a purchase.`}function Smn(e,t,r){FB("perPurchaseMicros",t),FB("aggregateCeilingMicros",r);let n=(0,D8.formatMicros)(t);if(e.clamped)return`This budget covers ${e.count} purchases \u2014 the most one budget allows. Each can be up to ${n}. ${(0,D8.formatMicros)(e.unreachableMicros)} of the total can never be spent. Raise the per-purchase amount to use all of it.`;if(e.count===1){let i=bmn(r),o=i?` Lower the per-purchase amount to allow more purchases \u2014 ${(0,D8.formatMicros)(i.perMicros)} allows ${i.count}.`:" Lower the per-purchase amount to allow more purchases.";return`This budget covers 1 purchase of up to ${n}. A smaller charge still uses that one purchase, and leftover budget sits unused.${o}`}return`This budget covers ${e.count} purchases. Each can be up to ${n}. Smaller charges are fine \u2014 each one still counts as a purchase.`}});var kg=_(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.describePurchaseCountMicros=ut.describePurchaseCount=ut.derivePurchaseCountDetailMicros=ut.derivePurchaseCountDetail=ut.derivePurchaseCount=ut.MAX_BUDGET_DRAWS=ut.AGENT_GRANT_MAX_PER_PURCHASE_CENTS=ut.AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS=ut.AGENT_GRANT_MIN_LIMIT_MICROS=ut.AGENT_GRANT_MAX_PER_PURCHASE_MICROS=ut.AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS=ut.formatAge=ut.formatTime=ut.formatRelativeTime=ut.formatDate=ut.formatTxAmount=ut.formatMicrosWire=ut.formatMicros=ut.formatUsd=ut.formatCents=void 0;ut.micros=vmn;ut.fromCents=Tmn;ut.fromUsdc=Amn;ut.fromUsd=wmn;ut.toCents=Imn;ut.toCentsForAcquirer=Pmn;ut.toUsdc=xmn;ut.toWire=Omn;ut.fromWire=Rmn;ut.toDisplay=Nmn;ut.toUsdRounded2dp=Cmn;ut.add=Mmn;ut.sub=kmn;ut.clampNonNegative=Dmn;ut.isNonNegative=Lmn;ut.max=Umn;ut.min=Bmn;var ab=10000n,byt=1000000n;function vmn(e){return e}function Tmn(e){if(!Number.isFinite(e)||!Number.isInteger(e)||!Number.isSafeInteger(e))throw new TypeError(`fromCents: expected safe integer, got ${e}`);return BigInt(e)*ab}function Amn(e){return e}function wmn(e){if(!Number.isFinite(e))throw new TypeError(`fromUsd: expected finite number, got ${e}`);return BigInt(Math.round(e*1e6))}function Imn(e){if(e>=0n)return Number(e/ab);let t=e/ab,r=e%ab;return Number(r===0n?t:t-1n)}function Pmn(e){if(e<0n)throw new RangeError(`toCentsForAcquirer: refusing negative micros (${e}); card charges are non-negative`);return Number(e/ab)}function xmn(e){return e}function Omn(e){return e.toString()}function Rmn(e){if(typeof e!="string"||e.length===0)throw new TypeError(`fromWire: expected non-empty string, got ${typeof e} ${JSON.stringify(e)}`);if(!/^-?\d+$/.test(e))throw new TypeError(`fromWire: not a valid micros integer: ${JSON.stringify(e)}`);return BigInt(e)}function Nmn(e,t={}){let r=t.decimals??2,n=t.symbol??"$",i=e<0n,o=i?-e:e,s=o/byt,a=o%byt,c=i?"-":"";if(r===0)return`${c}${n}${s.toString()}`;let u=a.toString().padStart(6,"0").slice(0,r);return`${c}${n}${s.toString()}.${u}`}function Cmn(e){let t=e<0n,r=t?-e:e,n=r/ab,o=r%ab*2n,s;o<ab?s=n:o>ab?s=n+1n:s=n%2n===0n?n:n+1n;let a=Number(s)/100;return t?-a:a}function Mmn(e,t){return e+t}function kmn(e,t){return e-t}function Dmn(e){return e<0n?0n:e}function Lmn(e){return e>=0n}function Umn(e,t){return e>t?e:t}function Bmn(e,t){return e<t?e:t}var cb=qRe();Object.defineProperty(ut,"formatCents",{enumerable:!0,get:function(){return cb.formatCents}});Object.defineProperty(ut,"formatUsd",{enumerable:!0,get:function(){return cb.formatUsd}});Object.defineProperty(ut,"formatMicros",{enumerable:!0,get:function(){return cb.formatMicros}});Object.defineProperty(ut,"formatMicrosWire",{enumerable:!0,get:function(){return cb.formatMicrosWire}});Object.defineProperty(ut,"formatTxAmount",{enumerable:!0,get:function(){return cb.formatTxAmount}});Object.defineProperty(ut,"formatDate",{enumerable:!0,get:function(){return cb.formatDate}});Object.defineProperty(ut,"formatRelativeTime",{enumerable:!0,get:function(){return cb.formatRelativeTime}});Object.defineProperty(ut,"formatTime",{enumerable:!0,get:function(){return cb.formatTime}});Object.defineProperty(ut,"formatAge",{enumerable:!0,get:function(){return cb.formatAge}});var $B=HRe();Object.defineProperty(ut,"AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MAX_AGGREGATE_CEILING_MICROS}});Object.defineProperty(ut,"AGENT_GRANT_MAX_PER_PURCHASE_MICROS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MAX_PER_PURCHASE_MICROS}});Object.defineProperty(ut,"AGENT_GRANT_MIN_LIMIT_MICROS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MIN_LIMIT_MICROS}});Object.defineProperty(ut,"AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MAX_AGGREGATE_CEILING_CENTS}});Object.defineProperty(ut,"AGENT_GRANT_MAX_PER_PURCHASE_CENTS",{enumerable:!0,get:function(){return $B.AGENT_GRANT_MAX_PER_PURCHASE_CENTS}});var L8=yyt();Object.defineProperty(ut,"MAX_BUDGET_DRAWS",{enumerable:!0,get:function(){return L8.MAX_BUDGET_DRAWS}});Object.defineProperty(ut,"derivePurchaseCount",{enumerable:!0,get:function(){return L8.derivePurchaseCount}});Object.defineProperty(ut,"derivePurchaseCountDetail",{enumerable:!0,get:function(){return L8.derivePurchaseCountDetail}});Object.defineProperty(ut,"derivePurchaseCountDetailMicros",{enumerable:!0,get:function(){return L8.derivePurchaseCountDetailMicros}});Object.defineProperty(ut,"describePurchaseCount",{enumerable:!0,get:function(){return L8.describePurchaseCount}});Object.defineProperty(ut,"describePurchaseCountMicros",{enumerable:!0,get:function(){return L8.describePurchaseCountMicros}})});var YRe=_(rd=>{"use strict";var jmn=rd&&rd.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),qmn=rd&&rd.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),vyt=rd&&rd.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var n=e(t),i=0;i<n.length;i++)n[i]!=="default"&&jmn(r,t,n[i]);return qmn(r,t),r}})();Object.defineProperty(rd,"__esModule",{value:!0});rd.pruneResponsesDir=KB;rd.isTextualContentType=Kte;rd.isValidUtf8=zRe;rd.spillFilename=wyt;rd.extractPaidImageArtifact=Zmn;rd.describePaidBody=$Re;rd.capturePaidResponse=Qmn;var sl=vyt(require("fs")),zB=vyt(require("path")),VRe=require("node:crypto"),Tyt=16*1024,FRe=2*1024,Hmn=64*1024*1024,Ayt=32*1024*1024,Eyt=24*1024*1024,Vmn=2e3,Fmn=12,$mn=3e4,GB=256*1024*1024;function KB(e,t=GB,r){try{let n=new Set((typeof r=="string"?[r]:r??[]).map(s=>zB.basename(s))),i=sl.readdirSync(e).map(s=>{if(s.includes(".part-"))return null;try{let a=sl.statSync(zB.join(e,s));return a.isFile()?{name:s,size:a.size,mtime:a.mtimeMs}:null}catch{return null}}).filter(s=>s!==null).sort((s,a)=>n.has(s.name)&&!n.has(a.name)?-1:n.has(a.name)&&!n.has(s.name)?1:a.mtime-s.mtime),o=0;for(let s of i)if(o+=s.size,o>t&&!n.has(s.name))try{sl.rmSync(zB.join(e,s.name),{force:!0})}catch{}}catch{}}var zmn=new Set(["application/json","application/xml","application/javascript","application/x-www-form-urlencoded","application/csv"]);function Kte(e){if(!e)return!1;let t=e.split(";",1)[0].trim().toLowerCase();return t.startsWith("text/")||t.endsWith("+json")||t.endsWith("+xml")||zmn.has(t)}function zRe(e){try{return new TextDecoder("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}var Gmn={"application/json":".json","application/pdf":".pdf","audio/mpeg":".mp3","image/gif":".gif","image/jpeg":".jpg","image/png":".png","image/svg+xml":".svg","image/webp":".webp","text/csv":".csv","text/html":".html","text/plain":".txt","video/mp4":".mp4"};function wyt(e,t,r){let n="unknown-host";try{n=new URL(e).hostname.toLowerCase()}catch{}let i=n.replace(/[^a-z0-9.-]/g,"_").slice(0,80),o=(t??"").split(";",1)[0].trim().toLowerCase(),s=Gmn[o]??(Kte(t)?".txt":".bin");return`${r.toISOString().replace(/[:.]/g,"-")}-${i}${s}`}function GRe(e,t,r){let n=wyt(t,r,new Date),i=zB.extname(n),o=n.slice(0,n.length-i.length);return zB.join(e,`${o}-${(0,VRe.randomBytes)(8).toString("hex")}${i}`)}function KRe(e){sl.mkdirSync(e,{recursive:!0,mode:448})}var Kmn=new Set(["image/gif","image/jpeg","image/png","image/webp"]);function Wmn(e){let t=(e??"").split(";",1)[0].trim().toLowerCase();return t==="application/json"||t.endsWith("+json")}function Ymn(e,t){if(t==="image/png")return e.length>=8&&e.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10]));if(t==="image/jpeg")return e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255;if(t==="image/gif"){if(e.length<6)return!1;let r=e.subarray(0,6).toString("ascii");return r==="GIF87a"||r==="GIF89a"}return e.length>=12&&e.subarray(0,4).toString("ascii")==="RIFF"&&e.subarray(8,12).toString("ascii")==="WEBP"}function Jmn(e){if(!e.startsWith("data:image/"))return null;let t=e.indexOf(";base64,");if(t<=5)return null;let r=e.slice(5,t).toLowerCase();if(!Kmn.has(r))return null;let n=e.slice(t+8);if(n.length===0||n.length%4!==0||n.length>Math.ceil(Eyt/3)*4)return null;let i=Buffer.from(n,"base64");if(i.length===0||i.length>Eyt||i.toString("base64")!==n)return null;let o=r;return Ymn(i,o)?{body:i,mimeType:o}:null}function Xmn(e){let t=[{depth:0,value:e}],r=0;for(;t.length>0&&r<Vmn;){let n=t.pop();if(r+=1,typeof n.value=="string"){let o=Jmn(n.value);if(o)return o;continue}if(n.depth>=Fmn||!n.value||typeof n.value!="object")continue;let i=Array.isArray(n.value)?n.value:Object.values(n.value);for(let o=i.length-1;o>=0;o-=1)t.push({depth:n.depth+1,value:i[o]})}return null}function Zmn(e,t,r,n){let i=WRe(e,t,r,n);return i&&KB(n,GB,[i.path]),i}function WRe(e,t,r,n){if(!Wmn(t)||r.length===0||r.length>Ayt||!zRe(r))return null;let i;try{i=JSON.parse(r.toString("utf8"))}catch{return null}let o=Xmn(i);if(!o)return null;let s=null;try{KRe(n);let a=GRe(n,e,o.mimeType);return s=`${a}.part-${process.pid}-${(0,VRe.randomBytes)(8).toString("hex")}`,sl.writeFileSync(s,o.body,{flag:"wx",mode:384}),sl.renameSync(s,a),s=null,{kind:"image",path:a,mimeType:o.mimeType,sha256:(0,VRe.createHash)("sha256").update(o.body).digest("hex"),bytes:o.body.length}}catch{if(s)try{sl.rmSync(s,{force:!0})}catch{}return null}}function Syt(e,t){let r=0;for(;r<t.length;){let n=sl.writeSync(e,t,r,t.length-r,null);if(n<=0)throw new Error("Paid response file write made no progress.");r+=n}}function $Re(e,t,r,n,i){let o=r?Kte(r):zRe(n),s={status:t,contentType:r??"unknown",bodyBytes:n.length};if(n.length===0)return{...s,body:""};let a=WRe(e,r,n,i);if(o&&n.length<=Tyt)return a&&KB(i,GB,[a.path]),{...s,body:n.toString("utf-8"),...a?{imageArtifact:a}:{}};KRe(i);let c=GRe(i,e,r);return sl.writeFileSync(c,n,{flag:"wx",mode:384}),KB(i,GB,a?[c,a.path]:[c]),{...s,bodyFile:c,...a?{imageArtifact:a}:{},...o?{bodyPreview:n.subarray(0,FRe).toString("utf-8")}:{},note:"Body too large or binary to inline \u2014 full paid response written to bodyFile."}}async function Qmn(e,t,r,n={}){let i=n.maxBytes??Hmn,o=n.timeoutMs??$mn;if(!Number.isSafeInteger(i)||i<=0)throw new Error("Paid response capture maxBytes must be a positive safe integer.");if(!Number.isFinite(o)||o<=0)throw new Error("Paid response capture timeoutMs must be positive.");let s=t.headers.get("content-length");if(s&&/^\d+$/.test(s.trim())){let b=Number(s);if(Number.isSafeInteger(b)&&b>i)throw t.body?.cancel("paid response exceeds capture limit").catch(()=>{}),new Error(`Merchant response body exceeds the ${i}-byte capture limit (declared ${b} bytes).`)}if(!t.body)return $Re(e,t.status,t.headers.get("content-type"),Buffer.alloc(0),r);let a=t.body.getReader(),c=Date.now(),u=[],d=0,l=0,p=null,f=null,m=null,h=[],g=0,y=()=>{p!==null&&(sl.closeSync(p),p=null)},S=()=>{if(y(),m)try{sl.rmSync(m,{force:!0})}catch{}};try{for(;;){let w=o-(Date.now()-c);if(w<=0)throw new Error(`Merchant response body timed out after ${o}ms.`);let I,N=new Promise((x,D)=>{I=setTimeout(()=>D(new Error(`Merchant response body timed out after ${o}ms.`)),w)}),O;try{O=await Promise.race([a.read(),N])}finally{I&&clearTimeout(I)}if(O.done)break;let P=Buffer.from(O.value);if(l+=P.length,l>i)throw new Error(`Merchant response body exceeded the ${i}-byte capture limit.`);if(g<FRe){let x=P.subarray(0,Math.min(P.length,FRe-g));h.push(Buffer.from(x)),g+=x.length}if(p===null){if(u.push(P),d+=P.length,d<=Tyt)continue;KRe(r),f=GRe(r,e,t.headers.get("content-type")),m=`${f}.part-${process.pid}-${Math.random().toString(16).slice(2)}`,p=sl.openSync(m,"wx",384);for(let x of u)Syt(p,x);u.length=0,d=0}else Syt(p,P)}if(p===null){let w=Buffer.concat(u,d);return $Re(e,t.status,t.headers.get("content-type"),w,r)}y(),sl.renameSync(m,f),m=null;let b=t.headers.get("content-type"),E=b?Kte(b):!1,T=l<=Ayt?WRe(e,b,sl.readFileSync(f),r):null;return KB(r,GB,T?[f,T.path]:[f]),{status:t.status,contentType:b??"unknown",bodyBytes:l,bodyFile:f,...T?{imageArtifact:T}:{},...E?{bodyPreview:Buffer.concat(h).toString("utf-8")}:{},note:"Body too large or binary to inline \u2014 full paid response written to bodyFile."}}catch(b){throw a.cancel("paid response capture failed").catch(()=>{}),S(),b}finally{try{a.releaseLock()}catch{}}}});var U8=_(Dg=>{"use strict";Object.defineProperty(Dg,"__esModule",{value:!0});Dg.hashTypedData=Dg.EIP3009_TYPES=Dg.MAX_DEADLINE_SECONDS=Dg.NETWORKS=void 0;Dg.NETWORKS={"base-mainnet":{id:"base-mainnet",caip2:"eip155:8453",chainId:8453,usdc:{address:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",eip712Domain:{name:"USD Coin",version:"2"}},rpcUrl:"https://mainnet.base.org",explorerBaseUrl:"https://basescan.org",isTestnet:!1},"base-sepolia":{id:"base-sepolia",caip2:"eip155:84532",chainId:84532,usdc:{address:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",eip712Domain:{name:"USDC",version:"2"}},rpcUrl:"https://sepolia.base.org",explorerBaseUrl:"https://sepolia.basescan.org",isTestnet:!0}};Dg.MAX_DEADLINE_SECONDS=600;Dg.EIP3009_TYPES={TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]};var ehn=hh();Object.defineProperty(Dg,"hashTypedData",{enumerable:!0,get:function(){return ehn.hashTypedData}})});var oT=_(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.TURNKEY_API_BASE_URL_ENV=Ec.CIRCLE_TESTNET_FAUCET_URL=Ec.NETWORK_ENV=Ec.NETWORKS=void 0;Ec.resolveNetwork=rhn;Ec.turnkeyApiBaseUrl=ihn;Ec.explorerTxUrl=ohn;Ec.explorerAddressUrl=shn;var Iyt=U8(),thn=U8();Object.defineProperty(Ec,"NETWORKS",{enumerable:!0,get:function(){return thn.NETWORKS}});Ec.NETWORK_ENV="VISA_V4_NETWORK";Ec.CIRCLE_TESTNET_FAUCET_URL="https://faucet.circle.com";var Pyt={"base-mainnet":"base-mainnet","base-sepolia":"base-sepolia","eip155:8453":"base-mainnet","eip155:84532":"base-sepolia"};function rhn(e=process.env){let t=(e[Ec.NETWORK_ENV]??"").trim();if(t==="")return Iyt.NETWORKS["base-mainnet"];let r=Pyt[t.toLowerCase()];if(!r)throw new Error(`unknown ${Ec.NETWORK_ENV} value ${JSON.stringify(t)} \u2014 valid values: `+Object.keys(Pyt).join(", "));return Iyt.NETWORKS[r]}Ec.TURNKEY_API_BASE_URL_ENV="TURNKEY_API_BASE_URL";var nhn="https://api.turnkey.com";function ihn(e=process.env){let t=(e[Ec.TURNKEY_API_BASE_URL_ENV]??"").trim();return t===""?nhn:t}function ohn(e,t){return`${e.explorerBaseUrl}/tx/${t}`}function shn(e,t){return`${e.explorerBaseUrl}/address/${t}`}});var B8=_(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.notImplemented=Lt.bitMask=Lt.utf8ToBytes=Lt.randomBytes=Lt.isBytes=Lt.hexToBytes=Lt.concatBytes=Lt.bytesToUtf8=Lt.bytesToHex=Lt.anumber=Lt.abytes=void 0;Lt.abool=ahn;Lt._abool2=chn;Lt._abytes2=uhn;Lt.numberToHexUnpadded=xyt;Lt.hexToNumber=XRe;Lt.bytesToNumberBE=dhn;Lt.bytesToNumberLE=lhn;Lt.numberToBytesBE=Oyt;Lt.numberToBytesLE=phn;Lt.numberToVarBytesBE=fhn;Lt.ensureBytes=mhn;Lt.equalBytes=hhn;Lt.copyBytes=ghn;Lt.asciiToBytes=_hn;Lt.inRange=Ryt;Lt.aInRange=yhn;Lt.bitLen=bhn;Lt.bitGet=Ehn;Lt.bitSet=Shn;Lt.createHmacDrbg=Thn;Lt.validateObject=whn;Lt.isHash=Ihn;Lt._validateObject=Phn;Lt.memoized=Ohn;var Lg=Zo(),ub=Zo();Object.defineProperty(Lt,"abytes",{enumerable:!0,get:function(){return ub.abytes}});Object.defineProperty(Lt,"anumber",{enumerable:!0,get:function(){return ub.anumber}});Object.defineProperty(Lt,"bytesToHex",{enumerable:!0,get:function(){return ub.bytesToHex}});Object.defineProperty(Lt,"bytesToUtf8",{enumerable:!0,get:function(){return ub.bytesToUtf8}});Object.defineProperty(Lt,"concatBytes",{enumerable:!0,get:function(){return ub.concatBytes}});Object.defineProperty(Lt,"hexToBytes",{enumerable:!0,get:function(){return ub.hexToBytes}});Object.defineProperty(Lt,"isBytes",{enumerable:!0,get:function(){return ub.isBytes}});Object.defineProperty(Lt,"randomBytes",{enumerable:!0,get:function(){return ub.randomBytes}});Object.defineProperty(Lt,"utf8ToBytes",{enumerable:!0,get:function(){return ub.utf8ToBytes}});var Wte=BigInt(0),WB=BigInt(1);function ahn(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function chn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function uhn(e,t,r=""){let n=(0,Lg.isBytes)(e),i=e?.length,o=t!==void 0;if(!n||o&&i!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=n?`length=${i}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function xyt(e){let t=e.toString(16);return t.length&1?"0"+t:t}function XRe(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Wte:BigInt("0x"+e)}function dhn(e){return XRe((0,Lg.bytesToHex)(e))}function lhn(e){return(0,Lg.abytes)(e),XRe((0,Lg.bytesToHex)(Uint8Array.from(e).reverse()))}function Oyt(e,t){return(0,Lg.hexToBytes)(e.toString(16).padStart(t*2,"0"))}function phn(e,t){return Oyt(e,t).reverse()}function fhn(e){return(0,Lg.hexToBytes)(xyt(e))}function mhn(e,t,r){let n;if(typeof t=="string")try{n=(0,Lg.hexToBytes)(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if((0,Lg.isBytes)(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(e+" of length "+r+" expected, got "+i);return n}function hhn(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function ghn(e){return Uint8Array.from(e)}function _hn(e){return Uint8Array.from(e,(t,r)=>{let n=t.charCodeAt(0);if(t.length!==1||n>127)throw new Error(`string contains non-ASCII character "${e[r]}" with code ${n} at position ${r}`);return n})}var JRe=e=>typeof e=="bigint"&&Wte<=e;function Ryt(e,t,r){return JRe(e)&&JRe(t)&&JRe(r)&&t<=e&&e<r}function yhn(e,t,r,n){if(!Ryt(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function bhn(e){let t;for(t=0;e>Wte;e>>=WB,t+=1);return t}function Ehn(e,t){return e>>BigInt(t)&WB}function Shn(e,t,r){return e|(r?WB:Wte)<<BigInt(t)}var vhn=e=>(WB<<BigInt(e))-WB;Lt.bitMask=vhn;function Thn(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=f=>new Uint8Array(f),i=f=>Uint8Array.of(f),o=n(e),s=n(e),a=0,c=()=>{o.fill(1),s.fill(0),a=0},u=(...f)=>r(s,o,...f),d=(f=n(0))=>{s=u(i(0),f),o=u(),f.length!==0&&(s=u(i(1),f),o=u())},l=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,m=[];for(;f<t;){o=u();let h=o.slice();m.push(h),f+=o.length}return(0,Lg.concatBytes)(...m)};return(f,m)=>{c(),d(f);let h;for(;!(h=m(l()));)d();return c(),h}}var Ahn={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||(0,Lg.isBytes)(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function whn(e,t,r={}){let n=(i,o,s)=>{let a=Ahn[o];if(typeof a!="function")throw new Error("invalid validator function");let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error("param "+String(i)+" is invalid. Expected "+o+", got "+c)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}function Ihn(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Phn(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(i,o,s){let a=e[i];if(s&&a===void 0)return;let c=typeof a;if(c!==o||a===null)throw new Error(`param "${i}" is invalid: expected ${o}, got ${c}`)}Object.entries(t).forEach(([i,o])=>n(i,o,!1)),Object.entries(r).forEach(([i,o])=>n(i,o,!0))}var xhn=()=>{throw new Error("not implemented")};Lt.notImplemented=xhn;function Ohn(e){let t=new WeakMap;return(r,...n)=>{let i=t.get(r);if(i!==void 0)return i;let o=e(r,...n);return t.set(r,o),o}}});var n5=_(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.isNegativeLE=void 0;zi.mod=al;zi.pow=Chn;zi.pow2=Mhn;zi.invert=Yte;zi.tonelliShanks=QRe;zi.FpSqrt=Uyt;zi.validateField=Bhn;zi.FpPow=e8e;zi.FpInvertBatch=Byt;zi.FpDiv=jhn;zi.FpLegendre=Jte;zi.FpIsSquare=qhn;zi.nLength=t8e;zi.Field=Xte;zi.FpSqrtOdd=Hhn;zi.FpSqrtEven=Vhn;zi.hashToPrivateScalar=Fhn;zi.getFieldBytesLength=r8e;zi.getMinHashLength=jyt;zi.mapHashToField=$hn;var cl=B8(),nd=BigInt(0),Os=BigInt(1),r5=BigInt(2),Nyt=BigInt(3),Cyt=BigInt(4),Myt=BigInt(5),Rhn=BigInt(7),kyt=BigInt(8),Nhn=BigInt(9),Dyt=BigInt(16);function al(e,t){let r=e%t;return r>=nd?r:t+r}function Chn(e,t,r){return e8e(Xte(r),e,t)}function Mhn(e,t,r){let n=e;for(;t-- >nd;)n*=n,n%=r;return n}function Yte(e,t){if(e===nd)throw new Error("invert: expected non-zero number");if(t<=nd)throw new Error("invert: expected positive modulus, got "+t);let r=al(e,t),n=t,i=nd,o=Os,s=Os,a=nd;for(;r!==nd;){let u=n/r,d=n%r,l=i-s*u,p=o-a*u;n=r,r=d,i=s,o=a,s=l,a=p}if(n!==Os)throw new Error("invert: does not exist");return al(i,t)}function ZRe(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Lyt(e,t){let r=(e.ORDER+Os)/Cyt,n=e.pow(t,r);return ZRe(e,n,t),n}function khn(e,t){let r=(e.ORDER-Myt)/kyt,n=e.mul(t,r5),i=e.pow(n,r),o=e.mul(t,i),s=e.mul(e.mul(o,r5),i),a=e.mul(o,e.sub(s,e.ONE));return ZRe(e,a,t),a}function Dhn(e){let t=Xte(e),r=QRe(e),n=r(t,t.neg(t.ONE)),i=r(t,n),o=r(t,t.neg(n)),s=(e+Rhn)/Dyt;return(a,c)=>{let u=a.pow(c,s),d=a.mul(u,n),l=a.mul(u,i),p=a.mul(u,o),f=a.eql(a.sqr(d),c),m=a.eql(a.sqr(l),c);u=a.cmov(u,d,f),d=a.cmov(p,l,m);let h=a.eql(a.sqr(d),c),g=a.cmov(u,d,h);return ZRe(a,g,c),g}}function QRe(e){if(e<Nyt)throw new Error("sqrt is not defined for small field");let t=e-Os,r=0;for(;t%r5===nd;)t/=r5,r++;let n=r5,i=Xte(e);for(;Jte(i,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Lyt;let o=i.pow(n,t),s=(t+Os)/r5;return function(c,u){if(c.is0(u))return u;if(Jte(c,u)!==1)throw new Error("Cannot find square root");let d=r,l=c.mul(c.ONE,o),p=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let m=1,h=c.sqr(p);for(;!c.eql(h,c.ONE);)if(m++,h=c.sqr(h),m===d)throw new Error("Cannot find square root");let g=Os<<BigInt(d-m-1),y=c.pow(l,g);d=m,l=c.sqr(y),p=c.mul(p,l),f=c.mul(f,y)}return f}}function Uyt(e){return e%Cyt===Nyt?Lyt:e%kyt===Myt?khn:e%Dyt===Nhn?Dhn(e):QRe(e)}var Lhn=(e,t)=>(al(e,t)&Os)===Os;zi.isNegativeLE=Lhn;var Uhn=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Bhn(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Uhn.reduce((n,i)=>(n[i]="function",n),t);return(0,cl._validateObject)(e,r),e}function e8e(e,t,r){if(r<nd)throw new Error("invalid exponent, negatives unsupported");if(r===nd)return e.ONE;if(r===Os)return t;let n=e.ONE,i=t;for(;r>nd;)r&Os&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Os;return n}function Byt(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),i=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),o=e.inv(i);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),o),n}function jhn(e,t,r){return e.mul(t,typeof r=="bigint"?Yte(r,e.ORDER):e.inv(r))}function Jte(e,t){let r=(e.ORDER-Os)/r5,n=e.pow(t,r),i=e.eql(n,e.ONE),o=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!i&&!o&&!s)throw new Error("invalid Legendre symbol result");return i?1:o?0:-1}function qhn(e,t){return Jte(e,t)===1}function t8e(e,t){t!==void 0&&(0,cl.anumber)(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Xte(e,t,r=!1,n={}){if(e<=nd)throw new Error("invalid field: expected ORDER > 0, got "+e);let i,o,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let p=t;p.BITS&&(i=p.BITS),p.sqrt&&(o=p.sqrt),typeof p.isLE=="boolean"&&(r=p.isLE),typeof p.modFromBytes=="boolean"&&(s=p.modFromBytes),a=p.allowedLengths}else typeof t=="number"&&(i=t),n.sqrt&&(o=n.sqrt);let{nBitLength:c,nByteLength:u}=t8e(e,i);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d,l=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:(0,cl.bitMask)(c),ZERO:nd,ONE:Os,allowedLengths:a,create:p=>al(p,e),isValid:p=>{if(typeof p!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof p);return nd<=p&&p<e},is0:p=>p===nd,isValidNot0:p=>!l.is0(p)&&l.isValid(p),isOdd:p=>(p&Os)===Os,neg:p=>al(-p,e),eql:(p,f)=>p===f,sqr:p=>al(p*p,e),add:(p,f)=>al(p+f,e),sub:(p,f)=>al(p-f,e),mul:(p,f)=>al(p*f,e),pow:(p,f)=>e8e(l,p,f),div:(p,f)=>al(p*Yte(f,e),e),sqrN:p=>p*p,addN:(p,f)=>p+f,subN:(p,f)=>p-f,mulN:(p,f)=>p*f,inv:p=>Yte(p,e),sqrt:o||(p=>(d||(d=Uyt(e)),d(l,p))),toBytes:p=>r?(0,cl.numberToBytesLE)(p,u):(0,cl.numberToBytesBE)(p,u),fromBytes:(p,f=!0)=>{if(a){if(!a.includes(p.length)||p.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+p.length);let h=new Uint8Array(u);h.set(p,r?0:h.length-p.length),p=h}if(p.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+p.length);let m=r?(0,cl.bytesToNumberLE)(p):(0,cl.bytesToNumberBE)(p);if(s&&(m=al(m,e)),!f&&!l.isValid(m))throw new Error("invalid field element: outside of range 0..ORDER");return m},invertBatch:p=>Byt(l,p),cmov:(p,f,m)=>m?f:p});return Object.freeze(l)}function Hhn(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?r:e.neg(r)}function Vhn(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function Fhn(e,t,r=!1){e=(0,cl.ensureBytes)("privateHash",e);let n=e.length,i=t8e(t).nByteLength+8;if(i<24||n<i||n>1024)throw new Error("hashToPrivateScalar: expected "+i+"-1024 bytes of input, got "+n);let o=r?(0,cl.bytesToNumberLE)(e):(0,cl.bytesToNumberBE)(e);return al(o,t-Os)+Os}function r8e(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function jyt(e){let t=r8e(e);return t+Math.ceil(t/2)}function $hn(e,t,r=!1){let n=e.length,i=r8e(t),o=jyt(t);if(n<16||n<o||n>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+n);let s=r?(0,cl.bytesToNumberLE)(e):(0,cl.bytesToNumberBE)(e),a=al(s,t-Os)+Os;return r?(0,cl.numberToBytesLE)(a,i):(0,cl.numberToBytesBE)(a,i)}});var Gyt=_(wh=>{"use strict";Object.defineProperty(wh,"__esModule",{value:!0});wh.wNAF=void 0;wh.negateCt=s8e;wh.normalizeZ=zhn;wh.mulEndoUnsafe=Ghn;wh.pippenger=Khn;wh.precomputeMSMUnsafe=Whn;wh.validateBasic=Yhn;wh._createCurveFields=Jhn;var YB=B8(),JB=n5(),j8=BigInt(0),i5=BigInt(1);function s8e(e,t){let r=t.negate();return e?r:t}function zhn(e,t){let r=(0,JB.FpInvertBatch)(e.Fp,t.map(n=>n.Z));return t.map((n,i)=>e.fromAffine(n.toAffine(r[i])))}function c8e(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function n8e(e,t){c8e(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),i=2**e,o=(0,YB.bitMask)(e),s=BigInt(e);return{windows:r,windowSize:n,mask:o,maxNumber:i,shiftBy:s}}function qyt(e,t,r){let{windowSize:n,mask:i,maxNumber:o,shiftBy:s}=r,a=Number(e&i),c=e>>s;a>n&&(a-=o,c+=i5);let u=t*n,d=u+Math.abs(a)-1,l=a===0,p=a<0,f=t%2!==0;return{nextN:c,offset:d,isZero:l,isNeg:p,isNegF:f,offsetF:u}}function Fyt(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function $yt(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var i8e=new WeakMap,zyt=new WeakMap;function o8e(e){return zyt.get(e)||1}function Hyt(e){if(e!==j8)throw new Error("invalid wNAF")}var a8e=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let i=t;for(;r>j8;)r&i5&&(n=n.add(i)),i=i.double(),r>>=i5;return n}precomputeWindow(t,r){let{windows:n,windowSize:i}=n8e(r,this.bits),o=[],s=t,a=s;for(let c=0;c<n;c++){a=s,o.push(a);for(let u=1;u<i;u++)a=a.add(s),o.push(a);s=a.double()}return o}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let i=this.ZERO,o=this.BASE,s=n8e(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:d,isNeg:l,isNegF:p,offsetF:f}=qyt(n,a,s);n=c,d?o=o.add(s8e(p,r[f])):i=i.add(s8e(l,r[u]))}return Hyt(n),{p:i,f:o}}wNAFUnsafe(t,r,n,i=this.ZERO){let o=n8e(t,this.bits);for(let s=0;s<o.windows&&n!==j8;s++){let{nextN:a,offset:c,isZero:u,isNeg:d}=qyt(n,s,o);if(n=a,!u){let l=r[c];i=i.add(d?l.negate():l)}}return Hyt(n),i}getPrecomputes(t,r,n){let i=i8e.get(r);return i||(i=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(i=n(i)),i8e.set(r,i))),i}cached(t,r,n){let i=o8e(t);return this.wNAF(i,this.getPrecomputes(i,t,n),r)}unsafe(t,r,n,i){let o=o8e(t);return o===1?this._unsafeLadder(t,r,i):this.wNAFUnsafe(o,this.getPrecomputes(o,t,n),r,i)}createCache(t,r){c8e(r,this.bits),zyt.set(t,r),i8e.delete(t)}hasCache(t){return o8e(t)!==1}};wh.wNAF=a8e;function Ghn(e,t,r,n){let i=t,o=e.ZERO,s=e.ZERO;for(;r>j8||n>j8;)r&i5&&(o=o.add(i)),n&i5&&(s=s.add(i)),i=i.double(),r>>=i5,n>>=i5;return{p1:o,p2:s}}function Khn(e,t,r,n){Fyt(r,e),$yt(n,t);let i=r.length,o=n.length;if(i!==o)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=(0,YB.bitLen)(BigInt(i)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=(0,YB.bitMask)(c),d=new Array(Number(u)+1).fill(s),l=Math.floor((t.BITS-1)/c)*c,p=s;for(let f=l;f>=0;f-=c){d.fill(s);for(let h=0;h<o;h++){let g=n[h],y=Number(g>>BigInt(f)&u);d[y]=d[y].add(r[h])}let m=s;for(let h=d.length-1,g=s;h>0;h--)g=g.add(d[h]),m=m.add(g);if(p=p.add(m),f!==0)for(let h=0;h<c;h++)p=p.double()}return p}function Whn(e,t,r,n){c8e(n,t.BITS),Fyt(r,e);let i=e.ZERO,o=2**n-1,s=Math.ceil(t.BITS/n),a=(0,YB.bitMask)(n),c=r.map(u=>{let d=[];for(let l=0,p=u;l<o;l++)d.push(p),p=p.add(u);return d});return u=>{if($yt(u,t),u.length>r.length)throw new Error("array of scalars must be smaller than array of points");let d=i;for(let l=0;l<s;l++){if(d!==i)for(let f=0;f<n;f++)d=d.double();let p=BigInt(s*n-(l+1)*n);for(let f=0;f<u.length;f++){let m=u[f],h=Number(m>>p&a);h&&(d=d.add(c[f][h-1]))}}return d}}function Yhn(e){return(0,JB.validateField)(e.Fp),(0,YB.validateObject)(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...(0,JB.nLength)(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function Vyt(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return(0,JB.validateField)(t),t}else return(0,JB.Field)(e,{isLE:r})}function Jhn(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>j8))throw new Error(`CURVE.${c} must be positive bigint`)}let i=Vyt(t.p,r.Fp,n),o=Vyt(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!i.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:i,Fn:o}}});var Qte=_(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.DER=yi.DERErr=void 0;yi._splitEndoScalar=Wyt;yi._normFnElement=sT;yi.weierstrassN=p8e;yi.SWUFpSqrtRatio=Jyt;yi.mapToCurveSimpleSWU=Qhn;yi.ecdh=Zyt;yi.ecdsa=Qyt;yi.weierstrassPoints=e0n;yi._legacyHelperEquat=tbt;yi.weierstrass=i0n;var Xhn=hv(),Zhn=Zo(),pt=B8(),db=Gyt(),H8=n5(),Kyt=(e,t)=>(e+(e>=0?t:-t)/Ug)/t;function Wyt(e,t,r){let[[n,i],[o,s]]=t,a=Kyt(s*e,r),c=Kyt(-i*e,r),u=e-a*n-c*o,d=-a*i-c*s,l=u<Ih,p=d<Ih;l&&(u=-u),p&&(d=-d);let f=(0,pt.bitMask)(Math.ceil((0,pt.bitLen)(r)/2))+Sc;if(u<Ih||u>=f||d<Ih||d>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:l,k1:u,k2neg:p,k2:d}}function d8e(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function u8e(e,t){let r={};for(let n of Object.keys(t))r[n]=e[n]===void 0?t[n]:e[n];return(0,pt._abool2)(r.lowS,"lowS"),(0,pt._abool2)(r.prehash,"prehash"),r.format!==void 0&&d8e(r.format),r}var Zte=class extends Error{constructor(t=""){super(t)}};yi.DERErr=Zte;yi.DER={Err:Zte,_tlv:{encode:(e,t)=>{let{Err:r}=yi.DER;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,i=(0,pt.numberToHexUnpadded)(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");let o=n>127?(0,pt.numberToHexUnpadded)(i.length/2|128):"";return(0,pt.numberToHexUnpadded)(e)+o+i+t},decode(e,t){let{Err:r}=yi.DER,n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let i=t[n++],o=!!(i&128),s=0;if(!o)s=i;else{let c=i&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=t.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let d of u)s=s<<8|d;if(n+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){let{Err:t}=yi.DER;if(e<Ih)throw new t("integer: negative integers are not allowed");let r=(0,pt.numberToHexUnpadded)(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=yi.DER;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return(0,pt.bytesToNumberBE)(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=yi.DER,i=(0,pt.ensureBytes)("signature",e),{v:o,l:s}=n.decode(48,i);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,o),{v:u,l:d}=n.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(e){let{_tlv:t,_int:r}=yi.DER,n=t.encode(2,r.encode(e.r)),i=t.encode(2,r.encode(e.s)),o=n+i;return t.encode(48,o)}};var Ih=BigInt(0),Sc=BigInt(1),Ug=BigInt(2),q8=BigInt(3),l8e=BigInt(4);function sT(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let i=(0,pt.ensureBytes)("private key",t);try{n=e.fromBytes(i)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function p8e(e,t={}){let r=(0,db._createCurveFields)("weierstrass",e,t),{Fp:n,Fn:i}=r,o=r.CURVE,{h:s,n:a}=o;(0,pt._validateObject)(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(o.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Xyt(n,i);function d(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function l(D,B,M){let{x:R,y:k}=B.toAffine(),U=n.toBytes(R);if((0,pt._abool2)(M,"isCompressed"),M){d();let L=!n.isOdd(k);return(0,pt.concatBytes)(Yyt(L),U)}else return(0,pt.concatBytes)(Uint8Array.of(4),U,n.toBytes(k))}function p(D){(0,pt._abytes2)(D,void 0,"Point");let{publicKey:B,publicKeyUncompressed:M}=u,R=D.length,k=D[0],U=D.subarray(1);if(R===B&&(k===2||k===3)){let L=n.fromBytes(U);if(!n.isValid(L))throw new Error("bad point: is not on curve, wrong x");let q=h(L),j;try{j=n.sqrt(q)}catch(ee){let ne=ee instanceof Error?": "+ee.message:"";throw new Error("bad point: is not on curve, sqrt error"+ne)}d();let F=n.isOdd(j);return(k&1)===1!==F&&(j=n.neg(j)),{x:L,y:j}}else if(R===M&&k===4){let L=n.BYTES,q=n.fromBytes(U.subarray(0,L)),j=n.fromBytes(U.subarray(L,L*2));if(!g(q,j))throw new Error("bad point: is not on curve");return{x:q,y:j}}else throw new Error(`bad point: got length ${R}, expected compressed=${B} or uncompressed=${M}`)}let f=t.toBytes||l,m=t.fromBytes||p;function h(D){let B=n.sqr(D),M=n.mul(B,D);return n.add(n.add(M,n.mul(D,o.a)),o.b)}function g(D,B){let M=n.sqr(B),R=h(D);return n.eql(M,R)}if(!g(o.Gx,o.Gy))throw new Error("bad curve params: generator point");let y=n.mul(n.pow(o.a,q8),l8e),S=n.mul(n.sqr(o.b),BigInt(27));if(n.is0(n.add(y,S)))throw new Error("bad curve params: a or b");function b(D,B,M=!1){if(!n.isValid(B)||M&&n.is0(B))throw new Error(`bad point coordinate ${D}`);return B}function E(D){if(!(D instanceof O))throw new Error("ProjectivePoint expected")}function T(D){if(!c||!c.basises)throw new Error("no endo");return Wyt(D,c.basises,i.ORDER)}let w=(0,pt.memoized)((D,B)=>{let{X:M,Y:R,Z:k}=D;if(n.eql(k,n.ONE))return{x:M,y:R};let U=D.is0();B==null&&(B=U?n.ONE:n.inv(k));let L=n.mul(M,B),q=n.mul(R,B),j=n.mul(k,B);if(U)return{x:n.ZERO,y:n.ZERO};if(!n.eql(j,n.ONE))throw new Error("invZ was invalid");return{x:L,y:q}}),I=(0,pt.memoized)(D=>{if(D.is0()){if(t.allowInfinityPoint&&!n.is0(D.Y))return;throw new Error("bad point: ZERO")}let{x:B,y:M}=D.toAffine();if(!n.isValid(B)||!n.isValid(M))throw new Error("bad point: x or y not field elements");if(!g(B,M))throw new Error("bad point: equation left != right");if(!D.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function N(D,B,M,R,k){return M=new O(n.mul(M.X,D),M.Y,M.Z),B=(0,db.negateCt)(R,B),M=(0,db.negateCt)(k,M),B.add(M)}class O{constructor(B,M,R){this.X=b("x",B),this.Y=b("y",M,!0),this.Z=b("z",R),Object.freeze(this)}static CURVE(){return o}static fromAffine(B){let{x:M,y:R}=B||{};if(!B||!n.isValid(M)||!n.isValid(R))throw new Error("invalid affine point");if(B instanceof O)throw new Error("projective point not allowed");return n.is0(M)&&n.is0(R)?O.ZERO:new O(M,R,n.ONE)}static fromBytes(B){let M=O.fromAffine(m((0,pt._abytes2)(B,void 0,"point")));return M.assertValidity(),M}static fromHex(B){return O.fromBytes((0,pt.ensureBytes)("pointHex",B))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(B=8,M=!0){return x.createCache(this,B),M||this.multiply(q8),this}assertValidity(){I(this)}hasEvenY(){let{y:B}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(B)}equals(B){E(B);let{X:M,Y:R,Z:k}=this,{X:U,Y:L,Z:q}=B,j=n.eql(n.mul(M,q),n.mul(U,k)),F=n.eql(n.mul(R,q),n.mul(L,k));return j&&F}negate(){return new O(this.X,n.neg(this.Y),this.Z)}double(){let{a:B,b:M}=o,R=n.mul(M,q8),{X:k,Y:U,Z:L}=this,q=n.ZERO,j=n.ZERO,F=n.ZERO,H=n.mul(k,k),ee=n.mul(U,U),ne=n.mul(L,L),Q=n.mul(k,U);return Q=n.add(Q,Q),F=n.mul(k,L),F=n.add(F,F),q=n.mul(B,F),j=n.mul(R,ne),j=n.add(q,j),q=n.sub(ee,j),j=n.add(ee,j),j=n.mul(q,j),q=n.mul(Q,q),F=n.mul(R,F),ne=n.mul(B,ne),Q=n.sub(H,ne),Q=n.mul(B,Q),Q=n.add(Q,F),F=n.add(H,H),H=n.add(F,H),H=n.add(H,ne),H=n.mul(H,Q),j=n.add(j,H),ne=n.mul(U,L),ne=n.add(ne,ne),H=n.mul(ne,Q),q=n.sub(q,H),F=n.mul(ne,ee),F=n.add(F,F),F=n.add(F,F),new O(q,j,F)}add(B){E(B);let{X:M,Y:R,Z:k}=this,{X:U,Y:L,Z:q}=B,j=n.ZERO,F=n.ZERO,H=n.ZERO,ee=o.a,ne=n.mul(o.b,q8),Q=n.mul(M,U),le=n.mul(R,L),_e=n.mul(k,q),we=n.add(M,R),Ee=n.add(U,L);we=n.mul(we,Ee),Ee=n.add(Q,le),we=n.sub(we,Ee),Ee=n.add(M,k);let Te=n.add(U,q);return Ee=n.mul(Ee,Te),Te=n.add(Q,_e),Ee=n.sub(Ee,Te),Te=n.add(R,k),j=n.add(L,q),Te=n.mul(Te,j),j=n.add(le,_e),Te=n.sub(Te,j),H=n.mul(ee,Ee),j=n.mul(ne,_e),H=n.add(j,H),j=n.sub(le,H),H=n.add(le,H),F=n.mul(j,H),le=n.add(Q,Q),le=n.add(le,Q),_e=n.mul(ee,_e),Ee=n.mul(ne,Ee),le=n.add(le,_e),_e=n.sub(Q,_e),_e=n.mul(ee,_e),Ee=n.add(Ee,_e),Q=n.mul(le,Ee),F=n.add(F,Q),Q=n.mul(Te,Ee),j=n.mul(we,j),j=n.sub(j,Q),Q=n.mul(we,le),H=n.mul(Te,H),H=n.add(H,Q),new O(j,F,H)}subtract(B){return this.add(B.negate())}is0(){return this.equals(O.ZERO)}multiply(B){let{endo:M}=t;if(!i.isValidNot0(B))throw new Error("invalid scalar: out of range");let R,k,U=L=>x.cached(this,L,q=>(0,db.normalizeZ)(O,q));if(M){let{k1neg:L,k1:q,k2neg:j,k2:F}=T(B),{p:H,f:ee}=U(q),{p:ne,f:Q}=U(F);k=ee.add(Q),R=N(M.beta,H,ne,L,j)}else{let{p:L,f:q}=U(B);R=L,k=q}return(0,db.normalizeZ)(O,[R,k])[0]}multiplyUnsafe(B){let{endo:M}=t,R=this;if(!i.isValid(B))throw new Error("invalid scalar: out of range");if(B===Ih||R.is0())return O.ZERO;if(B===Sc)return R;if(x.hasCache(this))return this.multiply(B);if(M){let{k1neg:k,k1:U,k2neg:L,k2:q}=T(B),{p1:j,p2:F}=(0,db.mulEndoUnsafe)(O,R,U,q);return N(M.beta,j,F,k,L)}else return x.unsafe(R,B)}multiplyAndAddUnsafe(B,M,R){let k=this.multiplyUnsafe(M).add(B.multiplyUnsafe(R));return k.is0()?void 0:k}toAffine(B){return w(this,B)}isTorsionFree(){let{isTorsionFree:B}=t;return s===Sc?!0:B?B(O,this):x.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:B}=t;return s===Sc?this:B?B(O,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(B=!0){return(0,pt._abool2)(B,"isCompressed"),this.assertValidity(),f(O,this,B)}toHex(B=!0){return(0,pt.bytesToHex)(this.toBytes(B))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(B=!0){return this.toBytes(B)}_setWindowSize(B){this.precompute(B)}static normalizeZ(B){return(0,db.normalizeZ)(O,B)}static msm(B,M){return(0,db.pippenger)(O,i,B,M)}static fromPrivateKey(B){return O.BASE.multiply(sT(i,B))}}O.BASE=new O(o.Gx,o.Gy,n.ONE),O.ZERO=new O(n.ZERO,n.ONE,n.ZERO),O.Fp=n,O.Fn=i;let P=i.BITS,x=new db.wNAF(O,t.endo?Math.ceil(P/2):P);return O.BASE.precompute(8),O}function Yyt(e){return Uint8Array.of(e?2:3)}function Jyt(e,t){let r=e.ORDER,n=Ih;for(let m=r-Sc;m%Ug===Ih;m/=Ug)n+=Sc;let i=n,o=Ug<<i-Sc-Sc,s=o*Ug,a=(r-Sc)/s,c=(a-Sc)/Ug,u=s-Sc,d=o,l=e.pow(t,a),p=e.pow(t,(a+Sc)/Ug),f=(m,h)=>{let g=l,y=e.pow(h,u),S=e.sqr(y);S=e.mul(S,h);let b=e.mul(m,S);b=e.pow(b,c),b=e.mul(b,y),y=e.mul(b,h),S=e.mul(b,m);let E=e.mul(S,y);b=e.pow(E,d);let T=e.eql(b,e.ONE);y=e.mul(S,p),b=e.mul(E,g),S=e.cmov(y,S,T),E=e.cmov(b,E,T);for(let w=i;w>Sc;w--){let I=w-Ug;I=Ug<<I-Sc;let N=e.pow(E,I),O=e.eql(N,e.ONE);y=e.mul(S,g),g=e.mul(g,g),N=e.mul(E,g),S=e.cmov(y,S,O),E=e.cmov(N,E,O)}return{isValid:T,value:S}};if(e.ORDER%l8e===q8){let m=(e.ORDER-q8)/l8e,h=e.sqrt(e.neg(t));f=(g,y)=>{let S=e.sqr(y),b=e.mul(g,y);S=e.mul(S,b);let E=e.pow(S,m);E=e.mul(E,b);let T=e.mul(E,h),w=e.mul(e.sqr(E),y),I=e.eql(w,g),N=e.cmov(T,E,I);return{isValid:I,value:N}}}return f}function Qhn(e,t){(0,H8.validateField)(e);let{A:r,B:n,Z:i}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(i))throw new Error("mapToCurveSimpleSWU: invalid opts");let o=Jyt(e,i);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,d,l,p,f,m;a=e.sqr(s),a=e.mul(a,i),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),d=e.cmov(i,e.neg(c),!e.eql(c,e.ZERO)),d=e.mul(d,r),c=e.sqr(u),p=e.sqr(d),l=e.mul(p,r),c=e.add(c,l),c=e.mul(c,u),p=e.mul(p,d),l=e.mul(p,n),c=e.add(c,l),f=e.mul(a,u);let{isValid:h,value:g}=o(c,p);m=e.mul(a,s),m=e.mul(m,g),f=e.cmov(f,u,h),m=e.cmov(m,g,h);let y=e.isOdd(s)===e.isOdd(m);m=e.cmov(e.neg(m),m,y);let S=(0,H8.FpInvertBatch)(e,[d],!0)[0];return f=e.mul(f,S),{x:f,y:m}}}function Xyt(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Zyt(e,t={}){let{Fn:r}=e,n=t.randomBytes||pt.randomBytes,i=Object.assign(Xyt(e.Fp,r),{seed:(0,H8.getMinHashLength)(r.ORDER)});function o(f){try{return!!sT(r,f)}catch{return!1}}function s(f,m){let{publicKey:h,publicKeyUncompressed:g}=i;try{let y=f.length;return m===!0&&y!==h||m===!1&&y!==g?!1:!!e.fromBytes(f)}catch{return!1}}function a(f=n(i.seed)){return(0,H8.mapHashToField)((0,pt._abytes2)(f,i.seed,"seed"),r.ORDER)}function c(f,m=!0){return e.BASE.multiply(sT(r,f)).toBytes(m)}function u(f){let m=a(f);return{secretKey:m,publicKey:c(m)}}function d(f){if(typeof f=="bigint")return!1;if(f instanceof e)return!0;let{secretKey:m,publicKey:h,publicKeyUncompressed:g}=i;if(r.allowedLengths||m===h)return;let y=(0,pt.ensureBytes)("key",f).length;return y===h||y===g}function l(f,m,h=!0){if(d(f)===!0)throw new Error("first arg must be private key");if(d(m)===!1)throw new Error("second arg must be public key");let g=sT(r,f);return e.fromHex(m).multiply(g).toBytes(h)}return Object.freeze({getPublicKey:c,getSharedSecret:l,keygen:u,Point:e,utils:{isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a,isValidPrivateKey:o,randomPrivateKey:a,normPrivateKeyToScalar:f=>sT(r,f),precompute(f=8,m=e.BASE){return m.precompute(f,!1)}},lengths:i})}function Qyt(e,t,r={}){(0,Zhn.ahash)(t),(0,pt._validateObject)(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let n=r.randomBytes||pt.randomBytes,i=r.hmac||((M,...R)=>(0,Xhn.hmac)(t,M,(0,pt.concatBytes)(...R))),{Fp:o,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:u,getPublicKey:d,getSharedSecret:l,utils:p,lengths:f}=Zyt(e,r),m={prehash:!1,lowS:typeof r.lowS=="boolean"?r.lowS:!1,format:void 0,extraEntropy:!1},h="compact";function g(M){let R=a>>Sc;return M>R}function y(M,R){if(!s.isValidNot0(R))throw new Error(`invalid signature ${M}: out of range 1..Point.Fn.ORDER`);return R}function S(M,R){d8e(R);let k=f.signature,U=R==="compact"?k:R==="recovered"?k+1:void 0;return(0,pt._abytes2)(M,U,`${R} signature`)}class b{constructor(R,k,U){this.r=y("r",R),this.s=y("s",k),U!=null&&(this.recovery=U),Object.freeze(this)}static fromBytes(R,k=h){S(R,k);let U;if(k==="der"){let{r:F,s:H}=yi.DER.toSig((0,pt._abytes2)(R));return new b(F,H)}k==="recovered"&&(U=R[0],k="compact",R=R.subarray(1));let L=s.BYTES,q=R.subarray(0,L),j=R.subarray(L,L*2);return new b(s.fromBytes(q),s.fromBytes(j),U)}static fromHex(R,k){return this.fromBytes((0,pt.hexToBytes)(R),k)}addRecoveryBit(R){return new b(this.r,this.s,R)}recoverPublicKey(R){let k=o.ORDER,{r:U,s:L,recovery:q}=this;if(q==null||![0,1,2,3].includes(q))throw new Error("recovery id invalid");if(a*Ug<k&&q>1)throw new Error("recovery id is ambiguous for h>1 curve");let F=q===2||q===3?U+a:U;if(!o.isValid(F))throw new Error("recovery id 2 or 3 invalid");let H=o.toBytes(F),ee=e.fromBytes((0,pt.concatBytes)(Yyt((q&1)===0),H)),ne=s.inv(F),Q=T((0,pt.ensureBytes)("msgHash",R)),le=s.create(-Q*ne),_e=s.create(L*ne),we=e.BASE.multiplyUnsafe(le).add(ee.multiplyUnsafe(_e));if(we.is0())throw new Error("point at infinify");return we.assertValidity(),we}hasHighS(){return g(this.s)}toBytes(R=h){if(d8e(R),R==="der")return(0,pt.hexToBytes)(yi.DER.hexFromSig(this));let k=s.toBytes(this.r),U=s.toBytes(this.s);if(R==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return(0,pt.concatBytes)(Uint8Array.of(this.recovery),k,U)}return(0,pt.concatBytes)(k,U)}toHex(R){return(0,pt.bytesToHex)(this.toBytes(R))}assertValidity(){}static fromCompact(R){return b.fromBytes((0,pt.ensureBytes)("sig",R),"compact")}static fromDER(R){return b.fromBytes((0,pt.ensureBytes)("sig",R),"der")}normalizeS(){return this.hasHighS()?new b(this.r,s.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return(0,pt.bytesToHex)(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return(0,pt.bytesToHex)(this.toBytes("compact"))}}let E=r.bits2int||function(R){if(R.length>8192)throw new Error("input is too large");let k=(0,pt.bytesToNumberBE)(R),U=R.length*8-c;return U>0?k>>BigInt(U):k},T=r.bits2int_modN||function(R){return s.create(E(R))},w=(0,pt.bitMask)(c);function I(M){return(0,pt.aInRange)("num < 2^"+c,M,Ih,w),s.toBytes(M)}function N(M,R){return(0,pt._abytes2)(M,void 0,"message"),R?(0,pt._abytes2)(t(M),void 0,"prehashed message"):M}function O(M,R,k){if(["recovered","canonical"].some(le=>le in k))throw new Error("sign() legacy options not supported");let{lowS:U,prehash:L,extraEntropy:q}=u8e(k,m);M=N(M,L);let j=T(M),F=sT(s,R),H=[I(F),I(j)];if(q!=null&&q!==!1){let le=q===!0?n(f.secretKey):q;H.push((0,pt.ensureBytes)("extraEntropy",le))}let ee=(0,pt.concatBytes)(...H),ne=j;function Q(le){let _e=E(le);if(!s.isValidNot0(_e))return;let we=s.inv(_e),Ee=e.BASE.multiply(_e).toAffine(),Te=s.create(Ee.x);if(Te===Ih)return;let Ke=s.create(we*s.create(ne+Te*F));if(Ke===Ih)return;let We=(Ee.x===Te?0:2)|Number(Ee.y&Sc),gt=Ke;return U&&g(Ke)&&(gt=s.neg(Ke),We^=1),new b(Te,gt,We)}return{seed:ee,k2sig:Q}}function P(M,R,k={}){M=(0,pt.ensureBytes)("message",M);let{seed:U,k2sig:L}=O(M,R,k);return(0,pt.createHmacDrbg)(t.outputLen,s.BYTES,i)(U,L)}function x(M){let R,k=typeof M=="string"||(0,pt.isBytes)(M),U=!k&&M!==null&&typeof M=="object"&&typeof M.r=="bigint"&&typeof M.s=="bigint";if(!k&&!U)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(U)R=new b(M.r,M.s);else if(k){try{R=b.fromBytes((0,pt.ensureBytes)("sig",M),"der")}catch(L){if(!(L instanceof yi.DER.Err))throw L}if(!R)try{R=b.fromBytes((0,pt.ensureBytes)("sig",M),"compact")}catch{return!1}}return R||!1}function D(M,R,k,U={}){let{lowS:L,prehash:q,format:j}=u8e(U,m);if(k=(0,pt.ensureBytes)("publicKey",k),R=N((0,pt.ensureBytes)("message",R),q),"strict"in U)throw new Error("options.strict was renamed to lowS");let F=j===void 0?x(M):b.fromBytes((0,pt.ensureBytes)("sig",M),j);if(F===!1)return!1;try{let H=e.fromBytes(k);if(L&&F.hasHighS())return!1;let{r:ee,s:ne}=F,Q=T(R),le=s.inv(ne),_e=s.create(Q*le),we=s.create(ee*le),Ee=e.BASE.multiplyUnsafe(_e).add(H.multiplyUnsafe(we));return Ee.is0()?!1:s.create(Ee.x)===ee}catch{return!1}}function B(M,R,k={}){let{prehash:U}=u8e(k,m);return R=N(R,U),b.fromBytes(M,"recovered").recoverPublicKey(R).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:l,utils:p,lengths:f,Point:e,sign:P,verify:D,recoverPublicKey:B,Signature:b,hash:t})}function e0n(e){let{CURVE:t,curveOpts:r}=ebt(e),n=p8e(t,r);return r0n(e,n)}function ebt(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,i=(0,H8.Field)(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),o={Fp:r,Fn:i,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:o}}function t0n(e){let{CURVE:t,curveOpts:r}=ebt(e),n={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,hash:e.hash,ecdsaOpts:n}}function tbt(e,t,r){function n(i){let o=e.sqr(i),s=e.mul(o,i);return e.add(e.add(s,e.mul(i,t)),r)}return n}function r0n(e,t){let{Fp:r,Fn:n}=t;function i(s){return(0,pt.inRange)(s,Sc,n.ORDER)}let o=tbt(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>sT(n,s),weierstrassEquation:o,isWithinCurveOrder:i})}function n0n(e,t){let r=t.Point;return Object.assign({},t,{ProjectivePoint:r,CURVE:Object.assign({},e,(0,H8.nLength)(r.Fn.ORDER,r.Fn.BITS))})}function i0n(e){let{CURVE:t,curveOpts:r,hash:n,ecdsaOpts:i}=t0n(e),o=p8e(t,r),s=Qyt(o,n,i);return n0n(e,s)}});var f8e=_(ere=>{"use strict";Object.defineProperty(ere,"__esModule",{value:!0});ere.getHash=s0n;ere.createCurve=a0n;var o0n=Qte();function s0n(e){return{hash:e}}function a0n(e,t){let r=n=>(0,o0n.weierstrass)({...e,hash:n});return{...r(t),create:r}}});var m8e=_(Bg=>{"use strict";Object.defineProperty(Bg,"__esModule",{value:!0});Bg._DST_scalar=void 0;Bg.expand_message_xmd=ibt;Bg.expand_message_xof=obt;Bg.hash_to_field=tre;Bg.isogenyMap=d0n;Bg.createHasher=l0n;var vc=B8(),rbt=n5(),c0n=vc.bytesToNumberBE;function aT(e,t){if(XB(e),XB(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function u0n(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function XB(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function nbt(e){if(!(0,vc.isBytes)(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?(0,vc.utf8ToBytes)(e):e}function ibt(e,t,r,n){(0,vc.abytes)(e),XB(r),t=nbt(t),t.length>255&&(t=n((0,vc.concatBytes)((0,vc.utf8ToBytes)("H2C-OVERSIZE-DST-"),t)));let{outputLen:i,blockLen:o}=n,s=Math.ceil(r/i);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=(0,vc.concatBytes)(t,aT(t.length,1)),c=aT(0,o),u=aT(r,2),d=new Array(s),l=n((0,vc.concatBytes)(c,e,u,aT(0,1),a));d[0]=n((0,vc.concatBytes)(l,aT(1,1),a));for(let f=1;f<=s;f++){let m=[u0n(l,d[f-1]),aT(f+1,1),a];d[f]=n((0,vc.concatBytes)(...m))}return(0,vc.concatBytes)(...d).slice(0,r)}function obt(e,t,r,n,i){if((0,vc.abytes)(e),XB(r),t=nbt(t),t.length>255){let o=Math.ceil(2*n/8);t=i.create({dkLen:o}).update((0,vc.utf8ToBytes)("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return i.create({dkLen:r}).update(e).update(aT(r,2)).update(t).update(aT(t.length,1)).digest()}function tre(e,t,r){(0,vc._validateObject)(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:i,m:o,hash:s,expand:a,DST:c}=r;if(!(0,vc.isHash)(r.hash))throw new Error("expected valid hash");(0,vc.abytes)(e),XB(t);let u=n.toString(2).length,d=Math.ceil((u+i)/8),l=t*o*d,p;if(a==="xmd")p=ibt(e,c,l,s);else if(a==="xof")p=obt(e,c,l,i,s);else if(a==="_internal_pass")p=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let m=0;m<t;m++){let h=new Array(o);for(let g=0;g<o;g++){let y=d*(g+m*o),S=p.subarray(y,y+d);h[g]=(0,rbt.mod)(c0n(S),n)}f[m]=h}return f}function d0n(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,i)=>{let[o,s,a,c]=r.map(l=>l.reduce((p,f)=>e.add(e.mul(p,n),f))),[u,d]=(0,rbt.FpInvertBatch)(e,[s,c],!0);return n=e.mul(o,u),i=e.mul(i,e.mul(a,d)),{x:n,y:i}}}Bg._DST_scalar=(0,vc.utf8ToBytes)("HashToScalar-");function l0n(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(o){return e.fromAffine(t(o))}function i(o){let s=o.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(o,s){let a=Object.assign({},r,s),c=tre(o,2,a),u=n(c[0]),d=n(c[1]);return i(u.add(d))},encodeToCurve(o,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=tre(o,1,c),d=n(u[0]);return i(d)},mapToCurve(o){if(!Array.isArray(o))throw new Error("expected array of bigints");for(let s of o)if(typeof s!="bigint")throw new Error("expected array of bigints");return i(n(o))},hashToScalar(o,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:Bg._DST_scalar},s);return tre(o,1,c)[0][0]}}}});var hbt=_(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.encodeToCurve=Tc.hashToCurve=Tc.secp256k1_hasher=Tc.schnorr=Tc.secp256k1=void 0;var rre=dg(),ubt=Zo(),p0n=f8e(),dbt=m8e(),id=n5(),lbt=Qte(),Sp=B8(),V8={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},f0n={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},m0n=BigInt(0),sbt=BigInt(1),h8e=BigInt(2);function h0n(e){let t=V8.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,d=u*u*e%t,l=(0,id.pow2)(d,r,t)*d%t,p=(0,id.pow2)(l,r,t)*d%t,f=(0,id.pow2)(p,h8e,t)*u%t,m=(0,id.pow2)(f,i,t)*f%t,h=(0,id.pow2)(m,o,t)*m%t,g=(0,id.pow2)(h,a,t)*h%t,y=(0,id.pow2)(g,c,t)*g%t,S=(0,id.pow2)(y,a,t)*h%t,b=(0,id.pow2)(S,r,t)*d%t,E=(0,id.pow2)(b,s,t)*m%t,T=(0,id.pow2)(E,n,t)*u%t,w=(0,id.pow2)(T,h8e,t);if(!lb.eql(lb.sqr(w),e))throw new Error("Cannot find square root");return w}var lb=(0,id.Field)(V8.p,{sqrt:h0n});Tc.secp256k1=(0,p0n.createCurve)({...V8,Fp:lb,lowS:!0,endo:f0n},rre.sha256);var abt={};function nre(e,...t){let r=abt[e];if(r===void 0){let n=(0,rre.sha256)((0,Sp.utf8ToBytes)(e));r=(0,Sp.concatBytes)(n,n),abt[e]=r}return(0,rre.sha256)((0,Sp.concatBytes)(r,...t))}var _8e=e=>e.toBytes(!0).slice(1),F8=Tc.secp256k1.Point,y8e=e=>e%h8e===m0n;function g8e(e){let{Fn:t,BASE:r}=F8,n=(0,lbt._normFnElement)(t,e),i=r.multiply(n);return{scalar:y8e(i.y)?n:t.neg(n),bytes:_8e(i)}}function pbt(e){let t=lb;if(!t.isValidNot0(e))throw new Error("invalid x: Fail if x \u2265 p");let r=t.create(e*e),n=t.create(r*e+BigInt(7)),i=t.sqrt(n);y8e(i)||(i=t.neg(i));let o=F8.fromAffine({x:e,y:i});return o.assertValidity(),o}var ZB=Sp.bytesToNumberBE;function fbt(...e){return F8.Fn.create(ZB(nre("BIP0340/challenge",...e)))}function cbt(e){return g8e(e).bytes}function g0n(e,t,r=(0,ubt.randomBytes)(32)){let{Fn:n}=F8,i=(0,Sp.ensureBytes)("message",e),{bytes:o,scalar:s}=g8e(t),a=(0,Sp.ensureBytes)("auxRand",r,32),c=n.toBytes(s^ZB(nre("BIP0340/aux",a))),u=nre("BIP0340/nonce",c,o,i),{bytes:d,scalar:l}=g8e(u),p=fbt(d,o,i),f=new Uint8Array(64);if(f.set(d,0),f.set(n.toBytes(n.create(l+p*s)),32),!mbt(f,i,o))throw new Error("sign: Invalid signature produced");return f}function mbt(e,t,r){let{Fn:n,BASE:i}=F8,o=(0,Sp.ensureBytes)("signature",e,64),s=(0,Sp.ensureBytes)("message",t),a=(0,Sp.ensureBytes)("publicKey",r,32);try{let c=pbt(ZB(a)),u=ZB(o.subarray(0,32));if(!(0,Sp.inRange)(u,sbt,V8.p))return!1;let d=ZB(o.subarray(32,64));if(!(0,Sp.inRange)(d,sbt,V8.n))return!1;let l=fbt(n.toBytes(u),_8e(c),s),p=i.multiplyUnsafe(d).add(c.multiplyUnsafe(n.neg(l))),{x:f,y:m}=p.toAffine();return!(p.is0()||!y8e(m)||f!==u)}catch{return!1}}Tc.schnorr=(()=>{let r=(i=(0,ubt.randomBytes)(48))=>(0,id.mapHashToField)(i,V8.n);Tc.secp256k1.utils.randomSecretKey;function n(i){let o=r(i);return{secretKey:o,publicKey:cbt(o)}}return{keygen:n,getPublicKey:cbt,sign:g0n,verify:mbt,Point:F8,utils:{randomSecretKey:r,randomPrivateKey:r,taggedHash:nre,lift_x:pbt,pointToBytes:_8e,numberToBytesBE:Sp.numberToBytesBE,bytesToNumberBE:Sp.bytesToNumberBE,mod:id.mod},lengths:{secretKey:32,publicKey:32,publicKeyHasPrefix:!1,signature:64,seed:48}}})();var _0n=(0,dbt.isogenyMap)(lb,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),y0n=(0,lbt.mapToCurveSimpleSWU)(lb,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:lb.create(BigInt("-11"))});Tc.secp256k1_hasher=(0,dbt.createHasher)(Tc.secp256k1.Point,e=>{let{x:t,y:r}=y0n(lb.create(e[0]));return _0n(t,r)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:lb.ORDER,m:1,k:128,expand:"xmd",hash:rre.sha256});Tc.hashToCurve=Tc.secp256k1_hasher.hashToCurve;Tc.encodeToCurve=Tc.secp256k1_hasher.encodeToCurve});var w8e=_(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.bytes=Fe.stringToBytes=Fe.str=Fe.bytesToString=Fe.hex=Fe.utf8=Fe.bech32m=Fe.bech32=Fe.base58check=Fe.createBase58check=Fe.base58xmr=Fe.base58xrp=Fe.base58flickr=Fe.base58=Fe.base64urlnopad=Fe.base64url=Fe.base64nopad=Fe.base64=Fe.base32crockford=Fe.base32hexnopad=Fe.base32hex=Fe.base32nopad=Fe.base32=Fe.base16=Fe.utils=void 0;function o5(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function S8e(e,...t){if(!o5(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Ebt(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(r=>typeof r=="string"):t.every(r=>Number.isSafeInteger(r)):!1}function v8e(e){if(typeof e!="function")throw new Error("function expected");return!0}function cT(e,t){if(typeof t!="string")throw new Error(`${e}: string expected`);return!0}function $8(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function ore(e){if(!Array.isArray(e))throw new Error("array expected")}function sre(e,t){if(!Ebt(!0,t))throw new Error(`${e}: array of strings expected`)}function T8e(e,t){if(!Ebt(!1,t))throw new Error(`${e}: array of numbers expected`)}function od(...e){let t=o=>o,r=(o,s)=>a=>o(s(a)),n=e.map(o=>o.encode).reduceRight(r,t),i=e.map(o=>o.decode).reduce(r,t);return{encode:n,decode:i}}function ul(e){let t=typeof e=="string"?e.split(""):e,r=t.length;sre("alphabet",t);let n=new Map(t.map((i,o)=>[i,o]));return{encode:i=>(ore(i),i.map(o=>{if(!Number.isSafeInteger(o)||o<0||o>=r)throw new Error(`alphabet.encode: digit index outside alphabet "${o}". Allowed: ${e}`);return t[o]})),decode:i=>(ore(i),i.map(o=>{cT("alphabet.decode",o);let s=n.get(o);if(s===void 0)throw new Error(`Unknown letter: "${o}". Allowed: ${e}`);return s}))}}function dl(e=""){return cT("join",e),{encode:t=>(sre("join.decode",t),t.join(e)),decode:t=>(cT("join.decode",t),t.split(e))}}function ej(e,t="="){return $8(e),cT("padding",t),{encode(r){for(sre("padding.encode",r);r.length*e%8;)r.push(t);return r},decode(r){sre("padding.decode",r);let n=r.length;if(n*e%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;n>0&&r[n-1]===t;n--)if((n-1)*e%8===0)throw new Error("padding: invalid, string has too much padding");return r.slice(0,n)}}}function Sbt(e){return v8e(e),{encode:t=>t,decode:t=>e(t)}}function b8e(e,t,r){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(r<2)throw new Error(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(ore(e),!e.length)return[];let n=0,i=[],o=Array.from(e,a=>{if($8(a),a<0||a>=t)throw new Error(`invalid integer: ${a}`);return a}),s=o.length;for(;;){let a=0,c=!0;for(let u=n;u<s;u++){let d=o[u],l=t*a,p=l+d;if(!Number.isSafeInteger(p)||l/t!==a||p-d!==l)throw new Error("convertRadix: carry overflow");let f=p/r;a=p%r;let m=Math.floor(f);if(o[u]=m,!Number.isSafeInteger(m)||m*r+a!==p)throw new Error("convertRadix: carry overflow");if(c)m?c=!1:n=u;else continue}if(i.push(a),c)break}for(let a=0;a<e.length-1&&e[a]===0;a++)i.push(0);return i.reverse()}var vbt=(e,t)=>t===0?e:vbt(t,e%t),are=(e,t)=>e+(t-vbt(e,t)),ire=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function cre(e,t,r,n){if(ore(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw new Error(`convertRadix2: wrong to=${r}`);if(are(t,r)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${are(t,r)}`);let i=0,o=0,s=ire[t],a=ire[r]-1,c=[];for(let u of e){if($8(u),u>=s)throw new Error(`convertRadix2: invalid data word=${u} from=${t}`);if(i=i<<t|u,o+t>32)throw new Error(`convertRadix2: carry overflow pos=${o} from=${t}`);for(o+=t;o>=r;o-=r)c.push((i>>o-r&a)>>>0);let d=ire[o];if(d===void 0)throw new Error("invalid carry");i&=d-1}if(i=i<<r-o&a,!n&&o>=t)throw new Error("Excess padding");if(!n&&i>0)throw new Error(`Non-zero padding: ${i}`);return n&&o>0&&c.push(i>>>0),c}function Tbt(e){$8(e);let t=2**8;return{encode:r=>{if(!o5(r))throw new Error("radix.encode input should be Uint8Array");return b8e(Array.from(r),t,e)},decode:r=>(T8e("radix.decode",r),Uint8Array.from(b8e(r,e,t)))}}function vp(e,t=!1){if($8(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(are(8,e)>32||are(e,8)>32)throw new Error("radix2: carry overflow");return{encode:r=>{if(!o5(r))throw new Error("radix2.encode input should be Uint8Array");return cre(Array.from(r),8,e,!t)},decode:r=>(T8e("radix2.decode",r),Uint8Array.from(cre(r,e,8,t)))}}function gbt(e){return v8e(e),function(...t){try{return e.apply(null,t)}catch{}}}function Abt(e,t){return $8(e),v8e(t),{encode(r){if(!o5(r))throw new Error("checksum.encode: input should be Uint8Array");let n=t(r).slice(0,e),i=new Uint8Array(r.length+e);return i.set(r),i.set(n,r.length),i},decode(r){if(!o5(r))throw new Error("checksum.decode: input should be Uint8Array");let n=r.slice(0,-e),i=r.slice(-e),o=t(n).slice(0,e);for(let s=0;s<e;s++)if(o[s]!==i[s])throw new Error("Invalid checksum");return n}}}Fe.utils={alphabet:ul,chain:od,checksum:Abt,convertRadix:b8e,convertRadix2:cre,radix:Tbt,radix2:vp,join:dl,padding:ej};Fe.base16=od(vp(4),ul("0123456789ABCDEF"),dl(""));Fe.base32=od(vp(5),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),ej(5),dl(""));Fe.base32nopad=od(vp(5),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),dl(""));Fe.base32hex=od(vp(5),ul("0123456789ABCDEFGHIJKLMNOPQRSTUV"),ej(5),dl(""));Fe.base32hexnopad=od(vp(5),ul("0123456789ABCDEFGHIJKLMNOPQRSTUV"),dl(""));Fe.base32crockford=od(vp(5),ul("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),dl(""),Sbt(e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));var wbt=typeof Uint8Array.from([]).toBase64=="function"&&typeof Uint8Array.fromBase64=="function",Ibt=(e,t)=>{cT("base64",e);let r=t?/^[A-Za-z0-9=_-]+$/:/^[A-Za-z0-9=+/]+$/,n=t?"base64url":"base64";if(e.length>0&&!r.test(e))throw new Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:n,lastChunkHandling:"strict"})};Fe.base64=wbt?{encode(e){return S8e(e),e.toBase64()},decode(e){return Ibt(e,!1)}}:od(vp(6),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),ej(6),dl(""));Fe.base64nopad=od(vp(6),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),dl(""));Fe.base64url=wbt?{encode(e){return S8e(e),e.toBase64({alphabet:"base64url"})},decode(e){return Ibt(e,!0)}}:od(vp(6),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),ej(6),dl(""));Fe.base64urlnopad=od(vp(6),ul("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),dl(""));var A8e=e=>od(Tbt(58),ul(e),dl(""));Fe.base58=A8e("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");Fe.base58flickr=A8e("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");Fe.base58xrp=A8e("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");var _bt=[0,2,3,5,6,7,9,10,11];Fe.base58xmr={encode(e){let t="";for(let r=0;r<e.length;r+=8){let n=e.subarray(r,r+8);t+=Fe.base58.encode(n).padStart(_bt[n.length],"1")}return t},decode(e){let t=[];for(let r=0;r<e.length;r+=11){let n=e.slice(r,r+11),i=_bt.indexOf(n.length),o=Fe.base58.decode(n);for(let s=0;s<o.length-i;s++)if(o[s]!==0)throw new Error("base58xmr: wrong padding");t=t.concat(Array.from(o.slice(o.length-i)))}return Uint8Array.from(t)}};var b0n=e=>od(Abt(4,t=>e(e(t))),Fe.base58);Fe.createBase58check=b0n;Fe.base58check=Fe.createBase58check;var E8e=od(ul("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),dl("")),ybt=[996825010,642813549,513874426,1027748829,705979059];function QB(e){let t=e>>25,r=(e&33554431)<<5;for(let n=0;n<ybt.length;n++)(t>>n&1)===1&&(r^=ybt[n]);return r}function bbt(e,t,r=1){let n=e.length,i=1;for(let o=0;o<n;o++){let s=e.charCodeAt(o);if(s<33||s>126)throw new Error(`Invalid prefix (${e})`);i=QB(i)^s>>5}i=QB(i);for(let o=0;o<n;o++)i=QB(i)^e.charCodeAt(o)&31;for(let o of t)i=QB(i)^o;for(let o=0;o<6;o++)i=QB(i);return i^=r,E8e.encode(cre([i%ire[30]],30,5,!1))}function Pbt(e){let t=e==="bech32"?1:734539939,r=vp(5),n=r.decode,i=r.encode,o=gbt(n);function s(l,p,f=90){cT("bech32.encode prefix",l),o5(p)&&(p=Array.from(p)),T8e("bech32.encode",p);let m=l.length;if(m===0)throw new TypeError(`Invalid prefix length ${m}`);let h=m+7+p.length;if(f!==!1&&h>f)throw new TypeError(`Length ${h} exceeds limit ${f}`);let g=l.toLowerCase(),y=bbt(g,p,t);return`${g}1${E8e.encode(p)}${y}`}function a(l,p=90){cT("bech32.decode input",l);let f=l.length;if(f<8||p!==!1&&f>p)throw new TypeError(`invalid string length: ${f} (${l}). Expected (8..${p})`);let m=l.toLowerCase();if(l!==m&&l!==l.toUpperCase())throw new Error("String must be lowercase or uppercase");let h=m.lastIndexOf("1");if(h===0||h===-1)throw new Error('Letter "1" must be present between prefix and data only');let g=m.slice(0,h),y=m.slice(h+1);if(y.length<6)throw new Error("Data must be at least 6 characters long");let S=E8e.decode(y).slice(0,-6),b=bbt(g,S,t);if(!y.endsWith(b))throw new Error(`Invalid checksum in ${l}: expected "${b}"`);return{prefix:g,words:S}}let c=gbt(a);function u(l){let{prefix:p,words:f}=a(l,!1);return{prefix:p,words:f,bytes:n(f)}}function d(l,p){return s(l,i(p))}return{encode:s,decode:a,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:c,fromWords:n,fromWordsUnsafe:o,toWords:i}}Fe.bech32=Pbt("bech32");Fe.bech32m=Pbt("bech32m");Fe.utf8={encode:e=>new TextDecoder().decode(e),decode:e=>new TextEncoder().encode(e)};var E0n=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",S0n={encode(e){return S8e(e),e.toHex()},decode(e){return cT("hex",e),Uint8Array.fromHex(e)}};Fe.hex=E0n?S0n:od(vp(4),ul("0123456789abcdef"),dl(""),Sbt(e=>{if(typeof e!="string"||e.length%2!==0)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));var ure={utf8:Fe.utf8,hex:Fe.hex,base16:Fe.base16,base32:Fe.base32,base64:Fe.base64,base64url:Fe.base64url,base58:Fe.base58,base58xmr:Fe.base58xmr},xbt="Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr",v0n=(e,t)=>{if(typeof e!="string"||!ure.hasOwnProperty(e))throw new TypeError(xbt);if(!o5(t))throw new TypeError("bytesToString() expects Uint8Array");return ure[e].encode(t)};Fe.bytesToString=v0n;Fe.str=Fe.bytesToString;var T0n=(e,t)=>{if(!ure.hasOwnProperty(e))throw new TypeError(xbt);if(typeof t!="string")throw new TypeError("stringToBytes() expects string");return ure[e].decode(t)};Fe.stringToBytes=T0n;Fe.bytes=Fe.stringToBytes});var O8e=_(fb=>{"use strict";Object.defineProperty(fb,"__esModule",{value:!0});fb.HDKey=fb.HARDENED_OFFSET=void 0;var A0n=n5(),pb=hbt(),Obt=hv(),w0n=XAe(),pre=dg(),fu=Zo(),I0n=w8e(),dre=pb.secp256k1.ProjectivePoint,I8e=(0,I0n.createBase58check)(pre.sha256);function Rbt(e){(0,fu.abytes)(e);let t=e.length===0?"0":(0,fu.bytesToHex)(e);return BigInt("0x"+t)}function P0n(e){if(typeof e!="bigint")throw new Error("bigint expected");return(0,fu.hexToBytes)(e.toString(16).padStart(64,"0"))}var x0n=(0,fu.utf8ToBytes)("Bitcoin seed"),P8e={private:76066276,public:76067358};fb.HARDENED_OFFSET=2147483648;var O0n=e=>(0,w0n.ripemd160)((0,pre.sha256)(e)),R0n=e=>(0,fu.createView)(e).getUint32(0,!1),lre=e=>{if(!Number.isSafeInteger(e)||e<0||e>2**32-1)throw new Error("invalid number, should be from 0 to 2**32-1, got "+e);let t=new Uint8Array(4);return(0,fu.createView)(t).setUint32(0,e,!1),t},x8e=class e{get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return R0n(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this.privKeyBytes||null}get publicKey(){return this.pubKey||null}get privateExtendedKey(){let t=this.privateKey;if(!t)throw new Error("No private key");return I8e.encode(this.serialize(this.versions.private,(0,fu.concatBytes)(new Uint8Array([0]),t)))}get publicExtendedKey(){if(!this.pubKey)throw new Error("No public key");return I8e.encode(this.serialize(this.versions.public,this.pubKey))}static fromMasterSeed(t,r=P8e){if((0,fu.abytes)(t),8*t.length<128||8*t.length>512)throw new Error("HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got "+t.length);let n=(0,Obt.hmac)(pre.sha512,x0n,t);return new e({versions:r,chainCode:n.slice(32),privateKey:n.slice(0,32)})}static fromExtendedKey(t,r=P8e){let n=I8e.decode(t),i=(0,fu.createView)(n),o=i.getUint32(0,!1),s={versions:r,depth:n[4],parentFingerprint:i.getUint32(5,!1),index:i.getUint32(9,!1),chainCode:n.slice(13,45)},a=n.slice(45),c=a[0]===0;if(o!==r[c?"private":"public"])throw new Error("Version mismatch");return c?new e({...s,privateKey:a.slice(1)}):new e({...s,publicKey:a})}static fromJSON(t){return e.fromExtendedKey(t.xpriv)}constructor(t){if(this.depth=0,this.index=0,this.chainCode=null,this.parentFingerprint=0,!t||typeof t!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=t.versions||P8e,this.depth=t.depth||0,this.chainCode=t.chainCode||null,this.index=t.index||0,this.parentFingerprint=t.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(t.publicKey&&t.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(t.privateKey){if(!pb.secp256k1.utils.isValidPrivateKey(t.privateKey))throw new Error("Invalid private key");this.privKey=typeof t.privateKey=="bigint"?t.privateKey:Rbt(t.privateKey),this.privKeyBytes=P0n(this.privKey),this.pubKey=pb.secp256k1.getPublicKey(t.privateKey,!0)}else if(t.publicKey)this.pubKey=dre.fromHex(t.publicKey).toRawBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=O0n(this.pubKey)}derive(t){if(!/^[mM]'?/.test(t))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(t))return this;let r=t.replace(/^[mM]'?\//,"").split("/"),n=this;for(let i of r){let o=/^(\d+)('?)$/.exec(i),s=o&&o[1];if(!o||o.length!==3||typeof s!="string")throw new Error("invalid child index: "+i);let a=+s;if(!Number.isSafeInteger(a)||a>=fb.HARDENED_OFFSET)throw new Error("Invalid index");o[2]==="'"&&(a+=fb.HARDENED_OFFSET),n=n.deriveChild(a)}return n}deriveChild(t){if(!this.pubKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let r=lre(t);if(t>=fb.HARDENED_OFFSET){let a=this.privateKey;if(!a)throw new Error("Could not derive hardened child key");r=(0,fu.concatBytes)(new Uint8Array([0]),a,r)}else r=(0,fu.concatBytes)(this.pubKey,r);let n=(0,Obt.hmac)(pre.sha512,this.chainCode,r),i=Rbt(n.slice(0,32)),o=n.slice(32);if(!pb.secp256k1.utils.isValidPrivateKey(i))throw new Error("Tweak bigger than curve order");let s={versions:this.versions,chainCode:o,depth:this.depth+1,parentFingerprint:this.fingerprint,index:t};try{if(this.privateKey){let a=(0,A0n.mod)(this.privKey+i,pb.secp256k1.CURVE.n);if(!pb.secp256k1.utils.isValidPrivateKey(a))throw new Error("The tweak was out of range or the resulted private key is invalid");s.privateKey=a}else{let a=dre.fromHex(this.pubKey).add(dre.fromPrivateKey(i));if(a.equals(dre.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");s.publicKey=a.toRawBytes(!0)}return new e(s)}catch{return this.deriveChild(t+1)}}sign(t){if(!this.privateKey)throw new Error("No privateKey set!");return(0,fu.abytes)(t,32),pb.secp256k1.sign(t,this.privKey).toCompactRawBytes()}verify(t,r){if((0,fu.abytes)(t,32),(0,fu.abytes)(r,64),!this.publicKey)throw new Error("No publicKey set!");let n;try{n=pb.secp256k1.Signature.fromCompact(r)}catch{return!1}return pb.secp256k1.verify(n,t,this.publicKey)}wipePrivateData(){return this.privKey=void 0,this.privKeyBytes&&(this.privKeyBytes.fill(0),this.privKeyBytes=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(t,r){if(!this.chainCode)throw new Error("No chainCode set");return(0,fu.abytes)(r,33),(0,fu.concatBytes)(lre(t),new Uint8Array([this.depth]),lre(this.parentFingerprint),lre(this.index),this.chainCode,r)}};fb.HDKey=x8e});var Mbt=_(fre=>{"use strict";Object.defineProperty(fre,"__esModule",{value:!0});fre.pbkdf2=C0n;fre.pbkdf2Async=M0n;var N0n=hv(),Ph=Zo();function Nbt(e,t,r,n){(0,Ph.ahash)(e);let i=(0,Ph.checkOpts)({dkLen:32,asyncTick:10},n),{c:o,dkLen:s,asyncTick:a}=i;if((0,Ph.anumber)(o),(0,Ph.anumber)(s),(0,Ph.anumber)(a),o<1)throw new Error("iterations (c) should be >= 1");let c=(0,Ph.kdfInputToBytes)(t),u=(0,Ph.kdfInputToBytes)(r),d=new Uint8Array(s),l=N0n.hmac.create(e,c),p=l._cloneInto().update(u);return{c:o,dkLen:s,asyncTick:a,DK:d,PRF:l,PRFSalt:p}}function Cbt(e,t,r,n,i){return e.destroy(),t.destroy(),n&&n.destroy(),(0,Ph.clean)(i),r}function C0n(e,t,r,n){let{c:i,dkLen:o,DK:s,PRF:a,PRFSalt:c}=Nbt(e,t,r,n),u,d=new Uint8Array(4),l=(0,Ph.createView)(d),p=new Uint8Array(a.outputLen);for(let f=1,m=0;m<o;f++,m+=a.outputLen){let h=s.subarray(m,m+a.outputLen);l.setInt32(0,f,!1),(u=c._cloneInto(u)).update(d).digestInto(p),h.set(p.subarray(0,h.length));for(let g=1;g<i;g++){a._cloneInto(u).update(p).digestInto(p);for(let y=0;y<h.length;y++)h[y]^=p[y]}}return Cbt(a,c,s,u,p)}async function M0n(e,t,r,n){let{c:i,dkLen:o,asyncTick:s,DK:a,PRF:c,PRFSalt:u}=Nbt(e,t,r,n),d,l=new Uint8Array(4),p=(0,Ph.createView)(l),f=new Uint8Array(c.outputLen);for(let m=1,h=0;h<o;m++,h+=c.outputLen){let g=a.subarray(h,h+c.outputLen);p.setInt32(0,m,!1),(d=u._cloneInto(d)).update(l).digestInto(f),g.set(f.subarray(0,g.length)),await(0,Ph.asyncLoop)(i-1,s,()=>{c._cloneInto(d).update(f).digestInto(f);for(let y=0;y<g.length;y++)g[y]^=f[y]})}return Cbt(c,u,a,d,f)}});var M8e=_(uT=>{"use strict";Object.defineProperty(uT,"__esModule",{value:!0});uT.generateMnemonic=D0n;uT.mnemonicToEntropy=Bbt;uT.entropyToMnemonic=jbt;uT.validateMnemonic=U0n;uT.mnemonicToSeed=B0n;uT.mnemonicToSeedSync=j0n;var kbt=Mbt(),N8e=dg(),R8e=Zo(),mre=w8e(),k0n=e=>e[0]==="\u3042\u3044\u3053\u304F\u3057\u3093";function Dbt(e){if(typeof e!="string")throw new TypeError("invalid mnemonic type: "+typeof e);return e.normalize("NFKD")}function C8e(e){let t=Dbt(e),r=t.split(" ");if(![12,15,18,21,24].includes(r.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:r}}function Lbt(e){(0,R8e.abytes)(e,16,20,24,28,32)}function D0n(e,t=128){if((0,R8e.anumber)(t),t%32!==0||t>256)throw new TypeError("Invalid entropy");return jbt((0,R8e.randomBytes)(t/8),e)}var L0n=e=>{let t=8-e.length/4;return new Uint8Array([(0,N8e.sha256)(e)[0]>>t<<t])};function Ubt(e){if(!Array.isArray(e)||e.length!==2048||typeof e[0]!="string")throw new Error("Wordlist: expected array of 2048 strings");return e.forEach(t=>{if(typeof t!="string")throw new Error("wordlist: non-string element: "+t)}),mre.utils.chain(mre.utils.checksum(1,L0n),mre.utils.radix2(11,!0),mre.utils.alphabet(e))}function Bbt(e,t){let{words:r}=C8e(e),n=Ubt(t).decode(r);return Lbt(n),n}function jbt(e,t){return Lbt(e),Ubt(t).encode(e).join(k0n(t)?"\u3000":" ")}function U0n(e,t){try{Bbt(e,t)}catch{return!1}return!0}var qbt=e=>Dbt("mnemonic"+e);function B0n(e,t=""){return(0,kbt.pbkdf2Async)(N8e.sha512,C8e(e).nfkd,qbt(t),{c:2048,dkLen:64})}function j0n(e,t=""){return(0,kbt.pbkdf2)(N8e.sha512,C8e(e).nfkd,qbt(t),{c:2048,dkLen:64})}});var Hbt=_(k8e=>{"use strict";Object.defineProperty(k8e,"__esModule",{value:!0});k8e.generateMnemonic=H0n;var q0n=M8e();function H0n(e,t){return(0,q0n.generateMnemonic)(e,t)}});var Vbt=_(D8e=>{"use strict";Object.defineProperty(D8e,"__esModule",{value:!0});D8e.generatePrivateKey=$0n;var V0n=Sf(),F0n=De();function $0n(){return(0,F0n.toHex)(V0n.secp256k1.utils.randomPrivateKey())}});var U8e=_(L8e=>{"use strict";Object.defineProperty(L8e,"__esModule",{value:!0});L8e.toAccount=z0n;var Fbt=cp(),$bt=uc();function z0n(e){if(typeof e=="string"){if(!(0,$bt.isAddress)(e,{strict:!1}))throw new Fbt.InvalidAddressError({address:e});return{address:e,type:"json-rpc"}}if(!(0,$bt.isAddress)(e.address,{strict:!1}))throw new Fbt.InvalidAddressError({address:e.address});return{address:e.address,nonceManager:e.nonceManager,sign:e.sign,signAuthorization:e.signAuthorization,signMessage:e.signMessage,signTransaction:e.signTransaction,signTypedData:e.signTypedData,source:"custom",type:"local"}}});var s5=_(gre=>{"use strict";Object.defineProperty(gre,"__esModule",{value:!0});gre.setSignEntropy=J0n;gre.sign=X0n;var G0n=Sf(),K0n=ac(),W0n=bn(),zbt=De(),Y0n=kU(),hre=!1;function J0n(e){if(!e)throw new Error("must be a `true` or a hex value.");hre=e}async function X0n({hash:e,privateKey:t,to:r="object"}){let{r:n,s:i,recovery:o}=G0n.secp256k1.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:(0,K0n.isHex)(hre,{strict:!1})?(0,W0n.hexToBytes)(hre):hre}),s={r:(0,zbt.numberToHex)(n,{size:32}),s:(0,zbt.numberToHex)(i,{size:32}),v:o?28n:27n,yParity:o};return r==="bytes"||r==="hex"?(0,Y0n.serializeSignature)({...s,to:r}):s}});var j8e=_(B8e=>{"use strict";Object.defineProperty(B8e,"__esModule",{value:!0});B8e.signAuthorization=egn;var Z0n=rJ(),Q0n=s5();async function egn(e){let{chainId:t,nonce:r,privateKey:n,to:i="object"}=e,o=e.contractAddress??e.address,s=await(0,Q0n.sign)({hash:(0,Z0n.hashAuthorization)({address:o,chainId:t,nonce:r}),privateKey:n,to:i});return i==="object"?{address:o,chainId:t,nonce:r,...s}:s}});var H8e=_(q8e=>{"use strict";Object.defineProperty(q8e,"__esModule",{value:!0});q8e.signMessage=ngn;var tgn=cI(),rgn=s5();async function ngn({message:e,privateKey:t}){return await(0,rgn.sign)({hash:(0,tgn.hashMessage)(e),privateKey:t,to:"hex"})}});var F8e=_(V8e=>{"use strict";Object.defineProperty(V8e,"__esModule",{value:!0});V8e.signTransaction=agn;var ign=Xc(),ogn=pR(),sgn=s5();async function agn(e){let{privateKey:t,transaction:r,serializer:n=ogn.serializeTransaction}=e,i=r.type==="eip4844"?{...r,sidecars:!1}:r,o=await(0,sgn.sign)({hash:(0,ign.keccak256)(await n(i)),privateKey:t});return await n(r,o)}});var z8e=_($8e=>{"use strict";Object.defineProperty($8e,"__esModule",{value:!0});$8e.signTypedData=dgn;var cgn=uI(),ugn=s5();async function dgn(e){let{privateKey:t,...r}=e;return await(0,ugn.sign)({hash:(0,cgn.hashTypedData)(r),privateKey:t,to:"hex"})}});var K8e=_(G8e=>{"use strict";Object.defineProperty(G8e,"__esModule",{value:!0});G8e.privateKeyToAccount=Egn;var lgn=Sf(),pgn=De(),fgn=U8e(),mgn=BO(),hgn=s5(),ggn=j8e(),_gn=H8e(),ygn=F8e(),bgn=z8e();function Egn(e,t={}){let{nonceManager:r}=t,n=(0,pgn.toHex)(lgn.secp256k1.getPublicKey(e.slice(2),!1)),i=(0,mgn.publicKeyToAddress)(n);return{...(0,fgn.toAccount)({address:i,nonceManager:r,async sign({hash:s}){return(0,hgn.sign)({hash:s,privateKey:e,to:"hex"})},async signAuthorization(s){return(0,ggn.signAuthorization)({...s,privateKey:e})},async signMessage({message:s}){return(0,_gn.signMessage)({message:s,privateKey:e})},async signTransaction(s,{serializer:a}={}){return(0,ygn.signTransaction)({privateKey:e,transaction:s,serializer:a})},async signTypedData(s){return(0,bgn.signTypedData)({...s,privateKey:e})}}),publicKey:n,source:"privateKey"}}});var Y8e=_(W8e=>{"use strict";Object.defineProperty(W8e,"__esModule",{value:!0});W8e.hdKeyToAccount=Tgn;var Sgn=De(),vgn=K8e();function Tgn(e,{accountIndex:t=0,addressIndex:r=0,changeIndex:n=0,path:i,...o}={}){let s=e.derive(i||`m/44'/60'/${t}'/${n}/${r}`);return{...(0,vgn.privateKeyToAccount)((0,Sgn.toHex)(s.privateKey),o),getHdKey:()=>s,source:"hd"}}});var Gbt=_(J8e=>{"use strict";Object.defineProperty(J8e,"__esModule",{value:!0});J8e.mnemonicToAccount=Pgn;var Agn=O8e(),wgn=M8e(),Ign=Y8e();function Pgn(e,{passphrase:t,...r}={}){let n=(0,wgn.mnemonicToSeedSync)(e,t);return(0,Ign.hdKeyToAccount)(Agn.HDKey.fromMasterSeed(n),r)}});var Kbt=_(X8e=>{"use strict";Object.defineProperty(X8e,"__esModule",{value:!0});X8e.privateKeyToAddress=Ngn;var xgn=Sf(),Ogn=De(),Rgn=BO();function Ngn(e){let t=(0,Ogn.bytesToHex)(xgn.secp256k1.getPublicKey(e.slice(2),!1));return(0,Rgn.publicKeyToAddress)(t)}});var Wbt=_(_re=>{"use strict";Object.defineProperty(_re,"__esModule",{value:!0});_re.wordlist=void 0;_re.wordlist=`abdikace
103
103
  abeceda
104
104
  adresa
105
105
  agrese
@@ -20756,7 +20756,7 @@ Mongoose Error Code: ${t.code}`:""}`})}function HWe(e,t,r,n=void 0){r&&(0,QEi.sa
20756
20756
  `),Qk(yXe(),n+`
20757
20757
  `),svr()}catch{}}function xXe(e){try{let t=tD();if(!t)return;let r=Math.max(Date.now(),t.renderedAt+1),n={...t,refreshFailedAt:r,refreshErrorReason:TK(e).slice(0,200)};Qk(bK(),JSON.stringify(n)+`
20758
20758
  `)}catch{}}function Zk(){try{zr.unlinkSync(bXe())}catch{}}function tD(){let e=bK();if(!zr.existsSync(e))return null;try{return JSON.parse(zr.readFileSync(e,"utf-8"))}catch{return null}}function OXe(){return tD()?.status??null}function uvr(){if(process.env.JEST_WORKER_ID)return;let e=bXe();try{if(zr.mkdirSync(Bn.dirname(e),{recursive:!0}),!fvr(e))return;let t=process.argv[1]?Bn.resolve(process.argv[1]):"";if(!t){Zk();return}let r=_K(),n=(process.env.VISA_CLI_HUD_THEME??"").toLowerCase().trim(),i=r==="no-color"||n==="light"||n==="dark"?{}:{VISA_CLI_HUD_THEME:r};ovr(Date.now());let o=(0,hXe.spawn)(process.execPath,[t,..._Xe],{detached:!0,stdio:"ignore",env:{...process.env,...i,VISA_CLI_SHELL_HUD_BACKGROUND:"1"}});o.once("error",Zk),o.unref()}catch{Zk()}}function TK(e){return e.replace(/\u001B\][^\u0007]*(?:\u0007|\u001B\\)/g,"").replace(/\u001B\[[0-?]*[ -/]*[@-~]/g,"").replace(/\u001B[P_^][^\u001B]*(?:\u001B\\|\u0007)/g,"").replace(/[\u0000-\u0008\u000B-\u001F\u007F-\u009F]/g,"").replace(/\s+/g," ").trim()}var dvr=/^\u001B\[(?:0|38;2;\d{1,3};\d{1,3};\d{1,3}|38;5;\d{1,3})m$/;function lvr(e){let t=[],r=`__VISA_CLI_HUD_SGR_${(0,f1e.randomBytes)(8).toString("hex")}_`,n=e.replace(/\u001B\[[0-?]*[ -/]*[@-~]/g,o=>{if(!dvr.test(o))return"";let s=`${r}${t.length}__`;return t.push(o),s}),i=new RegExp(`${r}(\\d+)__`,"g");return TK(n).replace(i,(o,s)=>t[Number(s)]??"")}var Ao={get reset(){return oc().reset},get visaBlue(){return oc().visaBlue},get visaBlueSoft(){return oc().visaBlueSoft},get visaGold(){return oc().visaGold},get green(){return oc().green},get muted(){return oc().muted},get chrome(){return oc().chrome}};function Jo(e,t){return e.length===0||process.env.NO_COLOR||yK()?e:`${t}${e}${Ao.reset}`}function fXe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pvr(){let e=eD.homedir();if(!e||!Bn.isAbsolute(e))throw new Error("unable to determine a valid home directory");return Bn.resolve(e)}function fvr(e){for(let t=0;t<2;t+=1){let r;try{return r=zr.openSync(e,"wx"),zr.writeFileSync(r,String(Date.now())),!0}catch(n){if(n?.code!=="EEXIST")return!1;try{let i=zr.statSync(e);if(Date.now()-i.mtimeMs<=GSr)return!1;zr.unlinkSync(e)}catch{}}finally{r!==void 0&&zr.closeSync(r)}}return!1}function mXe(e){return e instanceof Error?e.message:"unknown file system error"}function Qk(e,t){zr.mkdirSync(Bn.dirname(e),{recursive:!0});let r=`${e}.${process.pid}.${(0,f1e.randomBytes)(8).toString("hex")}.tmp`;try{zr.writeFileSync(r,t),zr.renameSync(r,e)}catch(n){try{zr.unlinkSync(r)}catch{}throw n}}var mvr=1440*60*1e3;function wK(e,t){ba.mkdirSync(Fu.dirname(e),{recursive:!0});let r=`${e}.${process.pid}.${CXe.randomBytes(8).toString("hex")}.tmp`;try{ba.writeFileSync(r,JSON.stringify(t,null,2)+`
20759
- `),ba.renameSync(r,e)}catch(n){try{ba.unlinkSync(r)}catch{}throw n}}function RXe(e){return`'${e.replace(/'/g,"'\\''")}'`}var g1e="# visa-cli-hud-v1";function IK(e,t){if(!e&&!t&&hvr())return`visa-cli config statusline ${g1e}`;let r=e??process.execPath,n=t??process.argv[1]??"",i=n?Fu.resolve(n):"";return`${i?`${RXe(r)} ${RXe(i)} config statusline`:"visa-cli config statusline"} ${g1e}`}function hvr(){try{return(0,MXe.execSync)("command -v visa-cli",{stdio:"ignore",timeout:1e3}),!0}catch{return!1}}function _1e(e){return typeof e!="string"?!1:e.includes(g1e)?!0:e.includes("visa-cli")&&e.includes("statusline")}function gvr(){return"5.0.0-rc.362"}function PK(e){let t=Fu.dirname(Fu.resolve(e));return Fu.basename(t)===".claude"?Fu.dirname(t):kXe.homedir()}function AK(e,t){let r=Fu.relative(t,e);return!r.startsWith("..")&&!Fu.isAbsolute(r)?`~/${r}`:e}function _vr(e){return Fu.join(PK(e),".visa-cli","hud-self-heal.json")}function yvr(e,t,r,n){try{if(!ba.existsSync(e))return!1;let i=JSON.parse(ba.readFileSync(e,"utf-8"));return i.version===t&&typeof i.checkedAt=="number"&&r-i.checkedAt<n}catch{return!1}}function h1e(e,t,r){try{wK(e,{version:t,checkedAt:r})}catch{}}function bvr(e,t){return e&&typeof e=="object"&&!Array.isArray(e)?{...e,type:"command",command:t}:{type:"command",command:t}}function xK(e,t={}){let r=t.now??Date.now(),n=t.version??gvr(),i=t.stampPath??_vr(e),o=t.minIntervalMs??mvr,s=[],a=!1,c=!1;if(!t.force&&yvr(i,n,r,o))return{checked:!1,statusLineRepaired:!1,shellHudRemoved:!1,messages:s,skippedReason:"recently checked"};try{if(!ba.existsSync(e))return h1e(i,n,r),{checked:!0,statusLineRepaired:a,shellHudRemoved:c,messages:s};let u=JSON.parse(ba.readFileSync(e,"utf-8")),d=u.statusLine,l=d&&typeof d=="object"&&!Array.isArray(d)?d.command:"";if(!_1e(l))return h1e(i,n,r),{checked:!0,statusLineRepaired:a,shellHudRemoved:c,messages:s};let p=(t.getCommand??IK)();if(l!==p&&(u.statusLine=bvr(d,p),wK(e,u),a=!0,s.push("Repaired Claude Code statusLine command to use the current Visa CLI.")),!DXe()){let f=PK(e);if(vK(f).length>0){let h=m1e(null,f);if(h.removed&&h.rcPaths&&h.rcPaths.length>0){let g=h.rcPaths.map(y=>AK(y,f)).join(", ");c=!0,s.push(`Cleaned legacy shell-prompt HUD block from ${g}.`)}}}return h1e(i,n,r),{checked:!0,statusLineRepaired:a,shellHudRemoved:c,messages:s}}catch(u){if(t.force){let d=u instanceof Error?u.message:"unknown error";try{process.stderr.write(`visa-cli: HUD self-heal skipped \u2014 ${d}. Run: visa connect claude
20759
+ `),ba.renameSync(r,e)}catch(n){try{ba.unlinkSync(r)}catch{}throw n}}function RXe(e){return`'${e.replace(/'/g,"'\\''")}'`}var g1e="# visa-cli-hud-v1";function IK(e,t){if(!e&&!t&&hvr())return`visa-cli config statusline ${g1e}`;let r=e??process.execPath,n=t??process.argv[1]??"",i=n?Fu.resolve(n):"";return`${i?`${RXe(r)} ${RXe(i)} config statusline`:"visa-cli config statusline"} ${g1e}`}function hvr(){try{return(0,MXe.execSync)("command -v visa-cli",{stdio:"ignore",timeout:1e3}),!0}catch{return!1}}function _1e(e){return typeof e!="string"?!1:e.includes(g1e)?!0:e.includes("visa-cli")&&e.includes("statusline")}function gvr(){return"5.0.0-rc.363"}function PK(e){let t=Fu.dirname(Fu.resolve(e));return Fu.basename(t)===".claude"?Fu.dirname(t):kXe.homedir()}function AK(e,t){let r=Fu.relative(t,e);return!r.startsWith("..")&&!Fu.isAbsolute(r)?`~/${r}`:e}function _vr(e){return Fu.join(PK(e),".visa-cli","hud-self-heal.json")}function yvr(e,t,r,n){try{if(!ba.existsSync(e))return!1;let i=JSON.parse(ba.readFileSync(e,"utf-8"));return i.version===t&&typeof i.checkedAt=="number"&&r-i.checkedAt<n}catch{return!1}}function h1e(e,t,r){try{wK(e,{version:t,checkedAt:r})}catch{}}function bvr(e,t){return e&&typeof e=="object"&&!Array.isArray(e)?{...e,type:"command",command:t}:{type:"command",command:t}}function xK(e,t={}){let r=t.now??Date.now(),n=t.version??gvr(),i=t.stampPath??_vr(e),o=t.minIntervalMs??mvr,s=[],a=!1,c=!1;if(!t.force&&yvr(i,n,r,o))return{checked:!1,statusLineRepaired:!1,shellHudRemoved:!1,messages:s,skippedReason:"recently checked"};try{if(!ba.existsSync(e))return h1e(i,n,r),{checked:!0,statusLineRepaired:a,shellHudRemoved:c,messages:s};let u=JSON.parse(ba.readFileSync(e,"utf-8")),d=u.statusLine,l=d&&typeof d=="object"&&!Array.isArray(d)?d.command:"";if(!_1e(l))return h1e(i,n,r),{checked:!0,statusLineRepaired:a,shellHudRemoved:c,messages:s};let p=(t.getCommand??IK)();if(l!==p&&(u.statusLine=bvr(d,p),wK(e,u),a=!0,s.push("Repaired Claude Code statusLine command to use the current Visa CLI.")),!DXe()){let f=PK(e);if(vK(f).length>0){let h=m1e(null,f);if(h.removed&&h.rcPaths&&h.rcPaths.length>0){let g=h.rcPaths.map(y=>AK(y,f)).join(", ");c=!0,s.push(`Cleaned legacy shell-prompt HUD block from ${g}.`)}}}return h1e(i,n,r),{checked:!0,statusLineRepaired:a,shellHudRemoved:c,messages:s}}catch(u){if(t.force){let d=u instanceof Error?u.message:"unknown error";try{process.stderr.write(`visa-cli: HUD self-heal skipped \u2014 ${d}. Run: visa connect claude
20760
20760
  `)}catch{}}return{checked:!0,statusLineRepaired:a,shellHudRemoved:c,messages:s}}}function Evr(e,t){let r=PK(t),n=vK(r);if(n.length===0)return e;let i=n.map(o=>AK(o,r)).join(", ");return`${e}
20761
20761
  Note: a shell-prompt HUD block was detected in ${i}. If it is unintended, delete the lines between '# >>> visa-cli shell hud v2 >>>' and '# <<< visa-cli shell hud v2 <<<' in ${i}`}function DXe(e=process.env.VISA_HUD_KEEP_SHELL){if(e===void 0)return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"||t==="on"}function NXe(e,t){let r=PK(t),n=vK(r);if(n.length===0)return e;let i=n.map(s=>AK(s,r)).join(", ");if(DXe())return`${e}
20762
20762
  Note: a legacy shell-prompt HUD block was detected in ${i}. VISA_HUD_KEEP_SHELL set \u2014 leaving it in place. To remove it, unset VISA_HUD_KEEP_SHELL and run visa connect claude again, or delete the lines between '# >>> visa-cli shell hud v2 >>>' and '# <<< visa-cli shell hud v2 <<<' in ${i}`;let o=m1e(null,r);if(o.removed&&o.rcPaths&&o.rcPaths.length>0){let s=o.rcPaths.map(a=>AK(a,r)).join(", ");return`${e}
@@ -20794,7 +20794,7 @@ Note: a legacy shell-prompt HUD block was detected in ${i} but could not be auto
20794
20794
 
20795
20795
  `)}function SZe(e,t="global"){let r=t==="project"?Xt.join(process.cwd(),".mcp.json"):D1e(e);try{let n=Xt.dirname(r);un.existsSync(n)||un.mkdirSync(n,{recursive:!0});let i=U1e(e,t),o=yTr();if(i==="toml"){let s=un.existsSync(r)?un.readFileSync(r,"utf-8"):"",a=ETr(s,"visa-cli",o);un.writeFileSync(r,a)}else if(i==="yaml"){let s=un.existsSync(r)?un.readFileSync(r,"utf-8"):"",a=ATr(s,"visa-cli",o);un.writeFileSync(r,a)}else{let s={};if(un.existsSync(r))try{s=JSON.parse(un.readFileSync(r,"utf-8"))}catch{s={}}for(let[c,u]of Object.entries(e.seedConfig??{}))c in s||(s[c]=u);let a=bTr(s,e.configKey);a["visa-cli"]=e.buildEntry?e.buildEntry(o):o,un.writeFileSync(r,JSON.stringify(s,null,2)+`
20796
20796
  `)}}catch(n){throw mTr(n)?new k1e(e,r,n):n}return{installed:!0,configPath:r,message:e.postInstallHint}}function vZe(e,t="global"){let r=t==="project"?Xt.join(process.cwd(),".mcp.json"):D1e(e);if(!un.existsSync(r))return{removed:!1,configPath:r};let n=U1e(e,t);if(n==="toml"){let s=un.readFileSync(r,"utf-8");return yZe(s,"visa-cli")?(un.writeFileSync(r,STr(s,"visa-cli")),{removed:!0,configPath:r}):{removed:!1,configPath:r}}if(n==="yaml"){let s=un.readFileSync(r,"utf-8");return EZe(s,"visa-cli")?(un.writeFileSync(r,wTr(s,"visa-cli")),{removed:!0,configPath:r}):{removed:!1,configPath:r}}let i;try{i=JSON.parse(un.readFileSync(r,"utf-8"))}catch{return{removed:!1,configPath:r}}let o=gZe(i,e.configKey);return!o||!o["visa-cli"]?{removed:!1,configPath:r}:(delete o["visa-cli"],un.writeFileSync(r,JSON.stringify(i,null,2)+`
20797
- `),{removed:!0,configPath:r})}function q1e(e,t="global"){let r=t==="project"?Xt.join(process.cwd(),".mcp.json"):D1e(e);if(!un.existsSync(r))return!1;let n=U1e(e,t);if(n==="toml")try{let i=un.readFileSync(r,"utf-8");return!!yZe(i,"visa-cli")}catch{return!1}if(n==="yaml")try{let i=un.readFileSync(r,"utf-8");return!!EZe(i,"visa-cli")}catch{return!1}try{let i=JSON.parse(un.readFileSync(r,"utf-8"));return!!gZe(i,e.configKey)?.["visa-cli"]}catch{return!1}}qK();d6();var UTr="5.0.0-rc.362",BTr="https://app.visacli.sh",kZe="https://web-visa-code-preview.up.railway.app",jTr="/agent/enroll";function qTr(e=UTr){return/-(?:rc|alpha|beta)\./i.test(e)}function F1e(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function HTr(e=process.env){let t=e.VISA_AUTH_URL?.trim()||T1e("auth.serverUrl");if(!t)return!1;try{return new URL(t).origin===new URL(A1e).origin}catch{return!1}}function HK(e=process.env){let t=e.VISA_VERIFY_WEB_URL?.trim();return t?F1e(t):HTr(e)||qTr()?kZe:BTr}function DZe(e){return`${F1e(e)}${jTr}`}async function LZe(e,t){let r=t?.fetchImpl??fetch,n=t?.maxAttempts??3,i=t?.timeoutMs??5e3,o=t?.sleep??(d=>new Promise(l=>setTimeout(l,d))),s=`${F1e(e)}/api/agent-enroll/health`,a=null,c=null;for(let d=1;d<=n;d++){t?.onProgress?.(d,n,s);try{if(c=await r(s,{method:"GET",headers:{accept:"application/json"},signal:AbortSignal.timeout(i)}),c.ok||c.status<500)break;d<n&&await o(d*100)}catch(l){c=null,a=l,d<n&&await o(d*100)}}if(!c){let d=a instanceof Error?a.message:String(a??"network error");return{ready:!1,kind:"network",warning:`Could not reach ${s}: ${d} \u2014 the link may not work yet.`,healthUrl:s}}return c.ok?(await c.json().catch(()=>null))?.clients?.auth!=="turnkey"?{ready:!1,kind:"auth_mode_mismatch",warning:`V4 sign-in is not enabled on this deployment (${e}); refusing to open the retired GitHub flow.`,healthUrl:s}:{ready:!0,healthUrl:s}:c.status<500?{ready:!1,kind:"client",warning:`V4 sign-in is unavailable on this deployment (${c.status} at ${s}); refusing to open the retired GitHub flow.`,healthUrl:s}:{ready:!1,kind:"server",warning:`V4 sign-in readiness check failed (${c.status}) at ${s} \u2014 the link may not work yet.`,healthUrl:s}}W_();function $1e(e,t={}){let r={success:!0,command:e,ts:new Date().toISOString()};for(let[n,i]of Object.entries(t))i!==void 0&&(r[n]=i);return r}function z1e(e,t,r={}){let{code:n,cause:i,fix:o,nextAction:s,...a}=r,c=n?W0(n):bJe(i),u=W0(c.code,{...o!==void 0?{fix:o}:{fix:c.fix},nextAction:s??c.nextAction}),d=EJe(i),l={success:!1,command:e,ts:new Date().toISOString(),error:t,code:u.code,kind:u.kind,fix:u.fix,nextAction:u.nextAction,...d?{details:d}:{}};for(let[p,f]of Object.entries(a))f!==void 0&&(l[p]=f);return l}var aD=require("process"),VTr=["json","yaml","tsv","table"];function BZe(e){return VTr.includes(e)}function cD(e,t){switch(t){case"json":aD.stdout.write(JSON.stringify(e)+`
20797
+ `),{removed:!0,configPath:r})}function q1e(e,t="global"){let r=t==="project"?Xt.join(process.cwd(),".mcp.json"):D1e(e);if(!un.existsSync(r))return!1;let n=U1e(e,t);if(n==="toml")try{let i=un.readFileSync(r,"utf-8");return!!yZe(i,"visa-cli")}catch{return!1}if(n==="yaml")try{let i=un.readFileSync(r,"utf-8");return!!EZe(i,"visa-cli")}catch{return!1}try{let i=JSON.parse(un.readFileSync(r,"utf-8"));return!!gZe(i,e.configKey)?.["visa-cli"]}catch{return!1}}qK();d6();var UTr="5.0.0-rc.363",BTr="https://app.visacli.sh",kZe="https://web-visa-code-preview.up.railway.app",jTr="/agent/enroll";function qTr(e=UTr){return/-(?:rc|alpha|beta)\./i.test(e)}function F1e(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function HTr(e=process.env){let t=e.VISA_AUTH_URL?.trim()||T1e("auth.serverUrl");if(!t)return!1;try{return new URL(t).origin===new URL(A1e).origin}catch{return!1}}function HK(e=process.env){let t=e.VISA_VERIFY_WEB_URL?.trim();return t?F1e(t):HTr(e)||qTr()?kZe:BTr}function DZe(e){return`${F1e(e)}${jTr}`}async function LZe(e,t){let r=t?.fetchImpl??fetch,n=t?.maxAttempts??3,i=t?.timeoutMs??5e3,o=t?.sleep??(d=>new Promise(l=>setTimeout(l,d))),s=`${F1e(e)}/api/agent-enroll/health`,a=null,c=null;for(let d=1;d<=n;d++){t?.onProgress?.(d,n,s);try{if(c=await r(s,{method:"GET",headers:{accept:"application/json"},signal:AbortSignal.timeout(i)}),c.ok||c.status<500)break;d<n&&await o(d*100)}catch(l){c=null,a=l,d<n&&await o(d*100)}}if(!c){let d=a instanceof Error?a.message:String(a??"network error");return{ready:!1,kind:"network",warning:`Could not reach ${s}: ${d} \u2014 the link may not work yet.`,healthUrl:s}}return c.ok?(await c.json().catch(()=>null))?.clients?.auth!=="turnkey"?{ready:!1,kind:"auth_mode_mismatch",warning:`V4 sign-in is not enabled on this deployment (${e}); refusing to open the retired GitHub flow.`,healthUrl:s}:{ready:!0,healthUrl:s}:c.status<500?{ready:!1,kind:"client",warning:`V4 sign-in is unavailable on this deployment (${c.status} at ${s}); refusing to open the retired GitHub flow.`,healthUrl:s}:{ready:!1,kind:"server",warning:`V4 sign-in readiness check failed (${c.status}) at ${s} \u2014 the link may not work yet.`,healthUrl:s}}W_();function $1e(e,t={}){let r={success:!0,command:e,ts:new Date().toISOString()};for(let[n,i]of Object.entries(t))i!==void 0&&(r[n]=i);return r}function z1e(e,t,r={}){let{code:n,cause:i,fix:o,nextAction:s,...a}=r,c=n?W0(n):bJe(i),u=W0(c.code,{...o!==void 0?{fix:o}:{fix:c.fix},nextAction:s??c.nextAction}),d=EJe(i),l={success:!1,command:e,ts:new Date().toISOString(),error:t,code:u.code,kind:u.kind,fix:u.fix,nextAction:u.nextAction,...d?{details:d}:{}};for(let[p,f]of Object.entries(a))f!==void 0&&(l[p]=f);return l}var aD=require("process"),VTr=["json","yaml","tsv","table"];function BZe(e){return VTr.includes(e)}function cD(e,t){switch(t){case"json":aD.stdout.write(JSON.stringify(e)+`
20798
20798
  `);return;case"yaml":aD.stdout.write(FTr(e)+`
20799
20799
  `);return;case"tsv":aD.stdout.write($Tr(e)+`
20800
20800
  `);return;case"table":aD.stdout.write(zTr(e)+`