awal 2.12.1 → 2.12.2
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.
|
@@ -6,7 +6,7 @@ import { fileURLToPath } from 'url';
|
|
|
6
6
|
import { getPrimaryProcessPid } from './processCheck.js';
|
|
7
7
|
const paths = envPaths('awal');
|
|
8
8
|
// This will be updated by the build script
|
|
9
|
-
const BUNDLE_VERSION = '2.12.
|
|
9
|
+
const BUNDLE_VERSION = '2.12.2';
|
|
10
10
|
function getServerPaths() {
|
|
11
11
|
const dataDir = paths.data;
|
|
12
12
|
const bundleDir = path.join(dataDir, 'server');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "awal",
|
|
3
|
-
"version": "2.12.
|
|
3
|
+
"version": "2.12.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Coinbase Agentic Wallet CLI for payments and crypto",
|
|
6
6
|
"bin": "dist/index.js",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"test": "jest --config jest.config.cjs"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@x402/core": "
|
|
22
|
-
"@x402/extensions": "
|
|
21
|
+
"@x402/core": "~2.23.0",
|
|
22
|
+
"@x402/extensions": "~2.23.0",
|
|
23
23
|
"chalk": "^5.3.0",
|
|
24
24
|
"commander": "^12.0.0",
|
|
25
25
|
"env-paths": "^3.0.0",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
var HP=Object.create;var sm=Object.defineProperty;var zP=Object.getOwnPropertyDescriptor;var jP=Object.getOwnPropertyNames;var $P=Object.getPrototypeOf,qP=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>(t&&(e=t(t=0)),e);var se=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),js=(t,e)=>{for(var r in e)sm(t,r,{get:e[r],enumerable:!0})},VP=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of jP(e))!qP.call(t,n)&&n!==r&&sm(t,n,{get:()=>e[n],enumerable:!(o=zP(e,n))||o.enumerable});return t};var GP=(t,e,r)=>(r=t!=null?HP($P(t)):{},VP(e||!t||!t.__esModule?sm(r,"default",{value:t,enumerable:!0}):r,t));import{shell as Cy}from"electron";var yn,Bu,am=b(()=>{"use strict";yn=!1,Bu=class{constructor(){this.allowedOrigins=(()=>{let e=["https://payments-mcp.coinbase.com"];return yn&&e.push("http://localhost:3000","https://payments-mcp-dev.cbhq.net"),e})()}validateWalletUIUrl(e){if(!this.allowedOrigins.includes(e))throw new Error(`Unauthorized WALLET_UI_URL: ${e}. Allowed: ${this.allowedOrigins.join(", ")}`);return e}setupSecurityControls(e){e&&(e.webContents.setWindowOpenHandler(({url:r})=>this.isAllowedOrigin(r)
|
|
2
|
+
var HP=Object.create;var sm=Object.defineProperty;var zP=Object.getOwnPropertyDescriptor;var jP=Object.getOwnPropertyNames;var $P=Object.getPrototypeOf,qP=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>(t&&(e=t(t=0)),e);var se=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),js=(t,e)=>{for(var r in e)sm(t,r,{get:e[r],enumerable:!0})},VP=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of jP(e))!qP.call(t,n)&&n!==r&&sm(t,n,{get:()=>e[n],enumerable:!(o=zP(e,n))||o.enumerable});return t};var GP=(t,e,r)=>(r=t!=null?HP($P(t)):{},VP(e||!t||!t.__esModule?sm(r,"default",{value:t,enumerable:!0}):r,t));import{shell as Cy}from"electron";var yn,Bu,am=b(()=>{"use strict";yn=!1,Bu=class{constructor(){this.allowedOrigins=(()=>{let e=["https://payments-mcp.coinbase.com"];return yn&&e.push("http://localhost:3000","https://payments-mcp-dev.cbhq.net"),e})()}validateWalletUIUrl(e){if(!this.allowedOrigins.includes(e))throw new Error(`Unauthorized WALLET_UI_URL: ${e}. Allowed: ${this.allowedOrigins.join(", ")}`);return e}setupSecurityControls(e){e&&(e.webContents.setWindowOpenHandler(({url:r})=>{let o=this.isAllowedOrigin(r);return!o&&this.isSafeExternalUrl(r)&&Cy.openExternal(r),{action:o?"allow":"deny"}}),e.webContents.on("will-navigate",(r,o)=>{o.startsWith("file://")&&o.includes("/assets/fallback.html")||this.isAllowedOrigin(o)||(r.preventDefault(),this.isSafeExternalUrl(o)&&Cy.openExternal(o))}),e.webContents.session.webRequest.onHeadersReceived((r,o)=>{try{let n=new URL(r.url),s={...r.responseHeaders};if(this.isAllowedOrigin(r.url)){let a=this.buildContentSecurityPolicy();delete s["Content-Security-Policy"],delete s["Content-Security-Policy-Report-Only"],delete s["content-security-policy"],delete s["content-security-policy-report-only"],s["Content-Security-Policy"]=[a]}n.pathname.startsWith("/api/")&&this.isAllowedOrigin(r.url)&&(s["Access-Control-Allow-Origin"]=[n.origin],s["Access-Control-Allow-Headers"]=["Content-Type","Authorization"],s["Access-Control-Allow-Methods"]=["GET","POST","PUT","DELETE"]),o({responseHeaders:s})}catch{o({})}}))}getAllowedOrigins(){return[...this.allowedOrigins]}isAllowedOrigin(e){try{let r=new URL(e).origin;return this.allowedOrigins.some(o=>r===o)}catch{return!1}}isSafeExternalUrl(e){try{let r=new URL(e).protocol;return r==="https:"||r==="http:"}catch{return!1}}buildContentSecurityPolicy(){let r=["'self'","'unsafe-inline'","https://cdn.cookielaw.org",...yn&&process.env.RELEASE_STAGE==="development"?["'unsafe-eval'"]:[]],o=["https://mainnet.base.org","https://mainnet.ethereum.org","https://sepolia.base.org","https://sepolia.ethereum.org","https://1rpc.io/matic","https://api.mainnet-beta.solana.com","https://api.devnet.solana.com","https://exceptions.coinbase.com","https://api.developer.coinbase.com","https://*.cdp.coinbase.com","https://cca-lite.coinbase.com","https://as.coinbase.com","https://cdn.cookielaw.org","https://api.coinbase.com/v3/coinbase.killswitch.KillSwitchService/KillSwitches"];yn&&o.push("https://*.cbhq.net");let n=["'self'","data:","blob:","https:","https://static-assets.coinbase.com"],s=["'self'","'unsafe-inline'","https://fonts.googleapis.com"],a=["'self'","https://fonts.gstatic.com"],i=["'self'","blob:"];return["default-src 'self'",`script-src ${r.join(" ")}`,`connect-src 'self' ${o.join(" ")}`,`worker-src ${i.join(" ")}`,`img-src ${n.join(" ")}`,`style-src ${s.join(" ")}`,`font-src ${a.join(" ")}`,"frame-src 'none'","media-src 'self'","object-src 'none'","base-uri 'none'","frame-ancestors 'self'"].join("; ")+";"}}});var im,bn,j,xr=b(()=>{"use strict";am();im=class{constructor(){this.server=null}initialize(e){this.server=e}async sendLog(e,r,o){if(yn){let s=`[${new Date().toISOString()}] [${e.toUpperCase()}] [${r}]`;console.error(s,typeof o=="string"?o:JSON.stringify(o,null,2))}if(this.server)try{await this.server.sendLoggingMessage({level:e,logger:r,data:o})}catch(n){yn&&console.error("Failed to send log notification:",n)}}createLogger(e){return{debug:r=>this.sendLog("debug",e,r),info:r=>this.sendLog("info",e,r),notice:r=>this.sendLog("notice",e,r),warning:r=>this.sendLog("warning",e,r),error:r=>this.sendLog("error",e,r),critical:r=>this.sendLog("critical",e,r),alert:r=>this.sendLog("alert",e,r),emergency:r=>this.sendLog("emergency",e,r)}}},bn=new im,j={mcp:bn.createLogger("mcp"),electron:bn.createLogger("electron"),window:bn.createLogger("window"),bridge:bn.createLogger("bridge"),security:bn.createLogger("security"),operations:bn.createLogger("operations"),tools:bn.createLogger("tools")}});function xn(){j.mcp.info({message:"Marking as intentional quit - will not restart",pid:process.pid}),QP=!0}var QP,Du=b(()=>{"use strict";xr();QP=!1});import{BrowserWindow as cm,Menu as um,Tray as WP,app as nc,clipboard as By,dialog as $s,ipcMain as ZP,nativeImage as KP}from"electron";import Fo from"path";import{fileURLToPath as JP}from"url";import Vs from"fs";function lm(){if(yn){try{let t=Fo.join(qs,"dist-package.json");if(Vs.existsSync(t))return JSON.parse(Vs.readFileSync(t,"utf-8")).version||"unknown"}catch(t){j.window.error({message:"Failed to read MCP server version in dev",error:t instanceof Error?t.message:String(t)})}return"unknown"}return"2.12.2"}var qs,oc,zr,Ou,Dy=b(()=>{"use strict";am();Du();xr();qs=Fo.dirname(JP(import.meta.url)),oc=process.platform==="darwin",zr=oc?"Command":"Ctrl",Ou=class{constructor(){this.mainWindow=null;this.tray=null;this.isQuitting=!1;this.securityControls=new Bu;this.latestVersion=null;this.updateCheckInProgress=!1;this.windowReadyResolve=null;this.windowReady=new Promise(e=>{this.windowReadyResolve=e})}withFocusedWindow(e){let r=cm.getFocusedWindow();r&&e(r)}getAppIcon(){let e=Fo.join(qs,"./assets/icon.png");return Vs.existsSync(e)?KP.createFromPath(e):void 0}getWalletUIUrl(){return yn&&process.env.WALLET_UI_URL?process.env.WALLET_UI_URL:"https://payments-mcp.coinbase.com"}showAboutDialog(){let e=lm(),r=`Version: ${e}`;this.latestVersion&&this.latestVersion!==e?r+=`
|
|
3
3
|
|
|
4
4
|
Update available: ${this.latestVersion}
|
|
5
5
|
|