@dev.sail.money/sailor 1.3.0-225 → 1.3.0-227

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.
Files changed (128) hide show
  1. package/README.md +16 -0
  2. package/examples/custom-mandate/.sail/contracts/interfaces/IPermission.sol +4 -0
  3. package/examples/custom-mandate/README.md +4 -1
  4. package/examples/permissions/interfaces/IBatchPermission.sol +2 -0
  5. package/examples/permissions/interfaces/IPermission.sol +4 -0
  6. package/package.json +7 -1
  7. package/packages/cli/dist/index.cjs +58 -10
  8. package/packages/cli/dist/server.cjs +105 -23
  9. package/packages/sdk/dist/intelligence.d.ts +1 -1
  10. package/packages/sdk/dist/intelligence.js +1 -1
  11. package/packages/ui/dist/assets/{add-QIu9SGBU.js → add-DoHGZfJI.js} +2 -2
  12. package/packages/ui/dist/assets/{all-wallets-2auxp9E5.js → all-wallets-CUKVFyT3.js} +2 -2
  13. package/packages/ui/dist/assets/{app-store-BVtVvk-F.js → app-store-DyQ4PZOs.js} +1 -1
  14. package/packages/ui/dist/assets/{apple-Dq7Ppvqv.js → apple-Dc-GOiDW.js} +2 -2
  15. package/packages/ui/dist/assets/arrow-bottom-C-dI8Oh_.js +8 -0
  16. package/packages/ui/dist/assets/{arrow-bottom-circle-hkf9bWhW.js → arrow-bottom-circle-BH2LebvP.js} +2 -2
  17. package/packages/ui/dist/assets/arrow-left-CUIn5NsD.js +8 -0
  18. package/packages/ui/dist/assets/arrow-right-B-X57DDF.js +8 -0
  19. package/packages/ui/dist/assets/arrow-top-BNOmzVbg.js +8 -0
  20. package/packages/ui/dist/assets/{bank-CkRSSgJy.js → bank-Dqcy3Map.js} +2 -2
  21. package/packages/ui/dist/assets/{basic-D9puI79I.js → basic-CN95kOlB.js} +177 -177
  22. package/packages/ui/dist/assets/{browser-BC8qo0Bh.js → browser-v-WzD6Au.js} +2 -2
  23. package/packages/ui/dist/assets/{card-BYuGTxNc.js → card-DJmQXuOi.js} +2 -2
  24. package/packages/ui/dist/assets/ccip-8oS512uk.js +1 -0
  25. package/packages/ui/dist/assets/{checkmark-C-MZeapS.js → checkmark-6Rvy6Al7.js} +2 -2
  26. package/packages/ui/dist/assets/{checkmark-bold-Bs3hadsW.js → checkmark-bold-GYXSMFUr.js} +2 -2
  27. package/packages/ui/dist/assets/chevron-bottom-BF1Fa2NO.js +8 -0
  28. package/packages/ui/dist/assets/chevron-left-kj9KjPLp.js +8 -0
  29. package/packages/ui/dist/assets/chevron-right-CHH0lg7_.js +8 -0
  30. package/packages/ui/dist/assets/chevron-top-DjHmnG32.js +8 -0
  31. package/packages/ui/dist/assets/{chrome-store-sDKm_6es.js → chrome-store-KzNe4H9H.js} +2 -2
  32. package/packages/ui/dist/assets/{clock-BwfFymxk.js → clock-xHvMNQNx.js} +2 -2
  33. package/packages/ui/dist/assets/{close-BewD5_E0.js → close-nKtgX0WM.js} +2 -2
  34. package/packages/ui/dist/assets/{coinPlaceholder-DRPvf0NA.js → coinPlaceholder-gnwD3g4G.js} +2 -2
  35. package/packages/ui/dist/assets/{compass-BHPvd2dw.js → compass-wnLBxh3w.js} +2 -2
  36. package/packages/ui/dist/assets/{copy-BMv4Y3KF.js → copy-CmLisiOG.js} +2 -2
  37. package/packages/ui/dist/assets/core-BLOM5s8O.js +907 -0
  38. package/packages/ui/dist/assets/cursor-DgwjrlpZ.js +3 -0
  39. package/packages/ui/dist/assets/{cursor-transparent-DT8YBqHU.js → cursor-transparent-CjVDknUI.js} +2 -2
  40. package/packages/ui/dist/assets/{desktop-BeePUUqi.js → desktop-BSGjR5fT.js} +2 -2
  41. package/packages/ui/dist/assets/{disconnect-C2qT29qY.js → disconnect-DkOQ_j9U.js} +2 -2
  42. package/packages/ui/dist/assets/{discord-I4ToELfU.js → discord-DtvZ281_.js} +2 -2
  43. package/packages/ui/dist/assets/{etherscan-3psXC5Ef.js → etherscan-BB3baLbR.js} +2 -2
  44. package/packages/ui/dist/assets/events-DQ172AOg.js +1 -0
  45. package/packages/ui/dist/assets/{exclamation-triangle-BCaWksGJ.js → exclamation-triangle-BrR8a-pR.js} +2 -2
  46. package/packages/ui/dist/assets/{extension-DfYavvbY.js → extension-BiGAMg97.js} +2 -2
  47. package/packages/ui/dist/assets/external-link-qUc7QuKA.js +8 -0
  48. package/packages/ui/dist/assets/{facebook-BSvrXy3w.js → facebook-BuXatc22.js} +2 -2
  49. package/packages/ui/dist/assets/{farcaster-CcAuzEDi.js → farcaster-USwPlLU8.js} +2 -2
  50. package/packages/ui/dist/assets/{filters-umCx-UFU.js → filters-BWx3pZxN.js} +2 -2
  51. package/packages/ui/dist/assets/{github-CBNoBl67.js → github-CUSWD7ff.js} +2 -2
  52. package/packages/ui/dist/assets/{google-yyR1jNOC.js → google-CxJSLEaz.js} +2 -2
  53. package/packages/ui/dist/assets/{help-circle-C0WjKnIM.js → help-circle-_8isjSO0.js} +1 -1
  54. package/packages/ui/dist/assets/{id-BwIK6e_N.js → id-DJCzMfx_.js} +2 -2
  55. package/packages/ui/dist/assets/{image-D5oAo1Te.js → image-CmG69MZj.js} +2 -2
  56. package/packages/ui/dist/assets/{index-DMNSiu42.js → index-3YqzzyrK.js} +3 -3
  57. package/packages/ui/dist/assets/index-B07bCKJ8.css +1 -0
  58. package/packages/ui/dist/assets/index-BIqjq0q5.js +1 -0
  59. package/packages/ui/dist/assets/index-BV8s6ez1.js +1 -0
  60. package/packages/ui/dist/assets/index-D8zwDy7d.js +1780 -0
  61. package/packages/ui/dist/assets/index-DHVwxjrm.js +47 -0
  62. package/packages/ui/dist/assets/index-DsxB7ORb.js +16 -0
  63. package/packages/ui/dist/assets/index.es-Hqwz_Ukd.js +26 -0
  64. package/packages/ui/dist/assets/{info-CtcvKk8x.js → info-XYctdUoY.js} +2 -2
  65. package/packages/ui/dist/assets/{info-circle-BIm6XYyt.js → info-circle-D_fYZUhv.js} +2 -2
  66. package/packages/ui/dist/assets/{lightbulb-CMj21RIi.js → lightbulb-BqKkDThe.js} +2 -2
  67. package/packages/ui/dist/assets/{mail-C805tcaU.js → mail-CM4laVWT.js} +2 -2
  68. package/packages/ui/dist/assets/metamask-sdk-8TvB8vxr.js +542 -0
  69. package/packages/ui/dist/assets/{mobile-BEii3NyZ.js → mobile-C2cl_MIN.js} +2 -2
  70. package/packages/ui/dist/assets/{more-RSnRt81X.js → more-DOik7ytj.js} +2 -2
  71. package/packages/ui/dist/assets/{network-placeholder-s9JaqzCQ.js → network-placeholder-CC9Cg0q_.js} +2 -2
  72. package/packages/ui/dist/assets/{nftPlaceholder-Ccur2yVc.js → nftPlaceholder-Oe_bTYkM.js} +2 -2
  73. package/packages/ui/dist/assets/{off-DUtG4rlI.js → off-ao0Rdo1E.js} +2 -2
  74. package/packages/ui/dist/assets/{play-store-Bt2HvO3e.js → play-store-BcQlROdR.js} +2 -2
  75. package/packages/ui/dist/assets/{plus-BtEzQu0h.js → plus-DSOprccT.js} +2 -2
  76. package/packages/ui/dist/assets/{qr-code-xbQZ-Nio.js → qr-code-B64-C9CJ.js} +1 -1
  77. package/packages/ui/dist/assets/{recycle-horizontal-d9pzE6vq.js → recycle-horizontal-BJg7qNO9.js} +2 -2
  78. package/packages/ui/dist/assets/{refresh-B3-2Sch0.js → refresh-Dexg1q9p.js} +2 -2
  79. package/packages/ui/dist/assets/{reown-logo-DBkmQAX8.js → reown-logo-D8KP4d24.js} +2 -2
  80. package/packages/ui/dist/assets/{search-dgDA8Ou5.js → search-CBfhIhB0.js} +2 -2
  81. package/packages/ui/dist/assets/{secp256k1-C4g4FCze.js → secp256k1-BOKPNuRR.js} +1 -1
  82. package/packages/ui/dist/assets/{send-CEDXr4l7.js → send-DpJV-P0b.js} +2 -2
  83. package/packages/ui/dist/assets/{swapHorizontal-Co6_f8oH.js → swapHorizontal-DC-Elc2j.js} +2 -2
  84. package/packages/ui/dist/assets/{swapHorizontalBold-k4d22FNy.js → swapHorizontalBold-Unn8xI55.js} +2 -2
  85. package/packages/ui/dist/assets/{swapHorizontalMedium-Des6w_mz.js → swapHorizontalMedium-B58RR8wP.js} +2 -2
  86. package/packages/ui/dist/assets/{swapHorizontalRoundedBold-CVd4538j.js → swapHorizontalRoundedBold-UTrbE6zM.js} +2 -2
  87. package/packages/ui/dist/assets/{swapVertical-Cn_eRfv8.js → swapVertical-CLBtBVG1.js} +2 -2
  88. package/packages/ui/dist/assets/{telegram-BE46RC0s.js → telegram-C_tvCVU8.js} +2 -2
  89. package/packages/ui/dist/assets/{three-dots-CvqWsUWa.js → three-dots-BIn_IFa0.js} +2 -2
  90. package/packages/ui/dist/assets/{twitch-9V7YXB0X.js → twitch-BqiEXRul.js} +2 -2
  91. package/packages/ui/dist/assets/{twitterIcon-DbUxk6yk.js → twitterIcon-CquA5TCG.js} +2 -2
  92. package/packages/ui/dist/assets/{verify-CQSnwVrh.js → verify-DOUX5_SE.js} +2 -2
  93. package/packages/ui/dist/assets/{verify-filled-DG_hDTr8.js → verify-filled-nMk53S_a.js} +2 -2
  94. package/packages/ui/dist/assets/{w3m-modal-BsHGIrg7.js → w3m-modal-B-JVYtbP.js} +1 -1
  95. package/packages/ui/dist/assets/{wallet-lbVIReb_.js → wallet-BjbzMOXA.js} +2 -2
  96. package/packages/ui/dist/assets/{wallet-placeholder-C_ndmKAs.js → wallet-placeholder-DPidGoJt.js} +2 -2
  97. package/packages/ui/dist/assets/{walletconnect-ByDpG-E0.js → walletconnect-Dw14KwDj.js} +3 -3
  98. package/packages/ui/dist/assets/{warning-circle-hrS3II0d.js → warning-circle-Ewxxj9bx.js} +2 -2
  99. package/packages/ui/dist/assets/{x-BPMn3x5J.js → x-B5Li_yME.js} +2 -2
  100. package/packages/ui/dist/index.html +2 -2
  101. package/templates/default/.agents/skills/sail-mandates/references/examples-index.md +2 -2
  102. package/templates/default/.agents/skills/sail-servers/SKILL.md +1 -0
  103. package/templates/default/.env.example +9 -0
  104. package/templates/default/test/BoundedCallPermission.t.sol +2 -1
  105. package/packages/ui/dist/assets/arrow-bottom-DpT3R4Rr.js +0 -8
  106. package/packages/ui/dist/assets/arrow-left-3PhiE4SD.js +0 -8
  107. package/packages/ui/dist/assets/arrow-right-DUIXJHib.js +0 -8
  108. package/packages/ui/dist/assets/arrow-top-Cf--02la.js +0 -8
  109. package/packages/ui/dist/assets/ccip-BS_rjbk9.js +0 -1
  110. package/packages/ui/dist/assets/chevron-bottom-C8mqtkD4.js +0 -8
  111. package/packages/ui/dist/assets/chevron-left-Dxj-vVDJ.js +0 -8
  112. package/packages/ui/dist/assets/chevron-right-BoIrOTtL.js +0 -8
  113. package/packages/ui/dist/assets/chevron-top-BlgziB_P.js +0 -8
  114. package/packages/ui/dist/assets/core-BMNH6XFj.js +0 -907
  115. package/packages/ui/dist/assets/cursor-ir0cjMUl.js +0 -3
  116. package/packages/ui/dist/assets/events-Cdt6abbf.js +0 -1
  117. package/packages/ui/dist/assets/external-link-B8uBskz7.js +0 -8
  118. package/packages/ui/dist/assets/fallback-BSMYROva.js +0 -1
  119. package/packages/ui/dist/assets/index-B_Gc8xPp.js +0 -1
  120. package/packages/ui/dist/assets/index-BaEe036r.js +0 -1
  121. package/packages/ui/dist/assets/index-BuqyrXYX.js +0 -16
  122. package/packages/ui/dist/assets/index-CKoOBsKn.css +0 -1
  123. package/packages/ui/dist/assets/index-CPrhuDfP.js +0 -1782
  124. package/packages/ui/dist/assets/index-DCWU1RuS.js +0 -1
  125. package/packages/ui/dist/assets/index.es-DImsg59a.js +0 -26
  126. package/packages/ui/dist/assets/metamask-sdk-DDk4vkrl.js +0 -542
  127. package/packages/ui/dist/assets/native-CJ5et6AR.js +0 -1
  128. package/packages/ui/dist/assets/parseSignature-BbS8pxpB.js +0 -1
@@ -1 +0,0 @@
1
- function e(){if(typeof WebSocket<"u")return WebSocket;if(typeof global.WebSocket<"u")return global.WebSocket;if(typeof window.WebSocket<"u")return window.WebSocket;if(typeof self.WebSocket<"u")return self.WebSocket;throw new Error("`WebSocket` is not supported in this environment")}const t=e();export{t as WebSocket};
@@ -1 +0,0 @@
1
- import{aD as A,cU as k,bU as B,cd as P,d5 as _,eY as b,ch as F,bR as E,bc as O,B as v,u as L,fs as R,d3 as x,cV as q,f5 as S,fi as j,d7 as N,f$ as $,fL as I,q as D,cK as T,cO as U,de as V,fP as W,g8 as H,eZ as K,fa as G,g9 as Y,bV as Z,ff as J,fp as Q}from"./index-CPrhuDfP.js";function X(a){const{source:t}=a,o=new Map,r=new A(8192),d=new Map,i=({address:n,chainId:c})=>`${n}.${c}`,y=n=>{o.delete(n),d.delete(n)};return{async consume({address:n,chainId:c,client:u}){const e=i({address:n,chainId:c}),w=this.get({address:n,chainId:c,client:u});this.increment({address:n,chainId:c});const m=await w;return await t.set({address:n,chainId:c},m),r.set(e,m),m},async increment({address:n,chainId:c}){const u=i({address:n,chainId:c}),e=o.get(u)??0;o.set(u,e+1)},async get({address:n,chainId:c,client:u}){const e=i({address:n,chainId:c});let w=d.get(e);return w||(w=(async()=>{try{const f=await t.get({address:n,chainId:c,client:u}),s=r.get(e)??0;return s>0&&f<=s?s+1:(r.delete(e),f)}finally{y(e)}})(),d.set(e,w)),(o.get(e)??0)+await w},reset({address:n,chainId:c}){const u=i({address:n,chainId:c});r.delete(u),y(u)}}}function ee(){return{async get(a){const{address:t,client:o}=a;return k(o,{address:t,blockTag:"pending"})},set(){}}}const re=X({source:ee()}),te="0x6492649264926492649264926492649264926492649264926492649264926492",ie="0x0000000000000000000000000000000000000000000000000000000000000000";function ce(a){const{address:t,data:o,signature:r,to:d="hex"}=a,i=B([P([{type:"address"},{type:"bytes"},{type:"bytes"}],[t,o,r]),te]);return d==="hex"?i:_(i)}const M="0x5792579257925792579257925792579257925792579257925792579257925792",z=b(0,{size:32});async function ue(a,t){var m;const{account:o=a.account,chain:r=a.chain,experimental_fallback:d,experimental_fallbackDelay:i=32,forceAtomic:y=!1,id:n,version:c="2.0.0"}=t,u=o?S(o):null;let e=t.capabilities;a.dataSuffix&&!((m=t.capabilities)!=null&&m.dataSuffix)&&(typeof a.dataSuffix=="string"?e={...t.capabilities,dataSuffix:{value:a.dataSuffix,optional:!0}}:e={...t.capabilities,dataSuffix:{value:a.dataSuffix.value,...a.dataSuffix.required?{}:{optional:!0}}});const w=t.calls.map(f=>{const s=f,l=s.abi?F({abi:s.abi,functionName:s.functionName,args:s.args}):s.data;return{data:s.dataSuffix&&l?E([l,s.dataSuffix]):l,to:s.to,value:s.value?b(s.value):void 0}});try{const f=await a.request({method:"wallet_sendCalls",params:[{atomicRequired:y,calls:w,capabilities:e,chainId:b(r.id),from:u==null?void 0:u.address,id:n,version:c}]},{retryCount:0});return typeof f=="string"?{id:f}:f}catch(f){const s=f;if(d&&(s.name==="MethodNotFoundRpcError"||s.name==="MethodNotSupportedRpcError"||s.name==="UnknownRpcError"||s.details.toLowerCase().includes("does not exist / is not available")||s.details.toLowerCase().includes("missing or invalid. request()")||s.details.toLowerCase().includes("did not match any variant of untagged enum")||s.details.toLowerCase().includes("account upgraded to unsupported contract")||s.details.toLowerCase().includes("eip-7702 not supported")||s.details.toLowerCase().includes("unsupported wc_ method")||s.details.toLowerCase().includes("feature toggled misconfigured")||s.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(e&&Object.values(e).some(g=>!g.optional)){const g="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new O(new v(g,{details:g}))}if(y&&w.length>1){const h="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new L(new v(h,{details:h}))}const l=[];for(const h of w){try{const g=await R(a,{account:u,chain:r,data:h.data,to:h.to,value:h.value?x(h.value):void 0});l.push({status:"fulfilled",value:g})}catch(g){l.push({reason:g,status:"rejected"})}i>0&&await new Promise(g=>setTimeout(g,i))}if(l.every(h=>h.status==="rejected"))throw l[0].reason;const p=l.map(h=>h.status==="fulfilled"?h.value:z);return{id:E([...p,b(r.id,{size:32}),M])}}throw q(f,{...t,account:u,chain:t.chain})}}async function ae(a,t){async function o(e){if(e.endsWith(M.slice(2))){const m=$(I(e,-64,-32)),f=I(e,0,-64).slice(2).match(/.{1,64}/g),s=await Promise.all(f.map(p=>z.slice(2)!==p?a.request({method:"eth_getTransactionReceipt",params:[`0x${p}`]},{dedupe:!0}):void 0)),l=s.some(p=>p===null)?100:s.every(p=>(p==null?void 0:p.status)==="0x1")?200:s.every(p=>(p==null?void 0:p.status)==="0x0")?500:600;return{atomic:!1,chainId:N(m),receipts:s.filter(Boolean),status:l,version:"2.0.0"}}return a.request({method:"wallet_getCallsStatus",params:[e]})}const{atomic:r=!1,chainId:d,receipts:i,version:y="2.0.0",...n}=await o(t.id),[c,u]=(()=>{const e=n.status;return e>=100&&e<200?["pending",e]:e>=200&&e<300?["success",e]:e>=300&&e<700?["failure",e]:e==="CONFIRMED"?["success",200]:e==="PENDING"?["pending",100]:[void 0,e]})();return{...n,atomic:r,chainId:d?N(d):void 0,receipts:(i==null?void 0:i.map(e=>({...e,blockNumber:x(e.blockNumber),gasUsed:x(e.gasUsed),status:j[e.status]})))??[],statusCode:u,status:c,version:y}}async function le(a,t){var c;const{account:o=a.account,chainId:r,nonce:d}=t;if(!o)throw new D({docsPath:"/docs/eip7702/prepareAuthorization"});const i=S(o),y=(()=>{if(t.executor)return t.executor==="self"?t.executor:S(t.executor)})(),n={address:t.contractAddress??t.address,chainId:r,nonce:d};return typeof n.chainId>"u"&&(n.chainId=((c=a.chain)==null?void 0:c.id)??await T(a,U,"getChainId")({})),typeof n.nonce>"u"&&(n.nonce=await T(a,k,"getTransactionCount")({address:i.address,blockTag:"pending"}),(y==="self"||y!=null&&y.address&&V(y.address,i.address))&&(n.nonce+=1)),n}class se extends v{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}}async function de(a,t){const{id:o,pollingInterval:r=a.pollingInterval,status:d=({statusCode:l})=>l===200||l>=300,retryCount:i=4,retryDelay:y=({count:l})=>~~(1<<l)*200,timeout:n=6e4,throwOnFailure:c=!1}=t,u=W(["waitForCallsStatus",a.uid,o]),{promise:e,resolve:w,reject:m}=H();let f;const s=K(u,{resolve:w,reject:m},l=>{const p=G(async()=>{const h=g=>{clearTimeout(f),p(),g(),s()};try{const g=await Y(async()=>{const C=await T(a,ae,"getCallsStatus")({id:o});if(c&&C.status==="failure")throw new se(C);return C},{retryCount:i,delay:y});if(!d(g))return;h(()=>l.resolve(g))}catch(g){h(()=>l.reject(g))}},{interval:r,emitOnBegin:!0});return p});return f=n?setTimeout(()=>{s(),clearTimeout(f),m(new ne({id:o}))},n):void 0,await e}class ne extends v{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}function fe(a){const{key:t="public",name:o="Public Client"}=a;return Z({...a,key:t,name:o,type:"publicClient"}).extend(J)}function pe(a){const{r:t,s:o}=Q.Signature.fromCompact(a.slice(2,130)),r=+`0x${a.slice(130)}`,[d,i]=(()=>{if(r===0||r===1)return[void 0,r];if(r===27)return[BigInt(r),0];if(r===28)return[BigInt(r),1];throw new Error("Invalid yParityOrV value")})();return typeof d<"u"?{r:b(t,{size:32}),s:b(o,{size:32}),v:d,yParity:i}:{r:b(t,{size:32}),s:b(o,{size:32}),yParity:i}}export{se as B,ne as W,fe as a,le as b,X as c,ce as d,te as e,ae as g,re as n,pe as p,ue as s,de as w,ie as z};