@winstonfassett/webdev-gateway 0.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/LICENSE +21 -0
- package/README.md +78 -0
- package/dist/adapter-helpers.d.ts +64 -0
- package/dist/adapter-helpers.d.ts.map +1 -0
- package/dist/adapter-helpers.js +297 -0
- package/dist/adapter-helpers.js.map +1 -0
- package/dist/admin/assets/index-DEDI8OIx.css +2 -0
- package/dist/admin/assets/index-DaI40ww1.js +70 -0
- package/dist/admin/assets/tinykeys.module-CjuTRcEz.js +1 -0
- package/dist/admin/index.html +13 -0
- package/dist/admin-rpc.d.ts +27 -0
- package/dist/admin-rpc.d.ts.map +1 -0
- package/dist/admin-rpc.js +147 -0
- package/dist/admin-rpc.js.map +1 -0
- package/dist/admin.d.ts +10 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +202 -0
- package/dist/admin.js.map +1 -0
- package/dist/auto-register.d.ts +10 -0
- package/dist/auto-register.d.ts.map +1 -0
- package/dist/auto-register.js +145 -0
- package/dist/auto-register.js.map +1 -0
- package/dist/cdp-relay.d.ts +110 -0
- package/dist/cdp-relay.d.ts.map +1 -0
- package/dist/cdp-relay.js +616 -0
- package/dist/cdp-relay.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +95 -0
- package/dist/cli.js.map +1 -0
- package/dist/doctor.d.ts +6 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +149 -0
- package/dist/doctor.js.map +1 -0
- package/dist/element-grab-client.js +305 -0
- package/dist/element-grab.d.ts +15 -0
- package/dist/element-grab.d.ts.map +1 -0
- package/dist/element-grab.js +102 -0
- package/dist/element-grab.js.map +1 -0
- package/dist/gateway.d.ts +5 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +534 -0
- package/dist/gateway.js.map +1 -0
- package/dist/installer.d.ts +48 -0
- package/dist/installer.d.ts.map +1 -0
- package/dist/installer.js +637 -0
- package/dist/installer.js.map +1 -0
- package/dist/libs/element-source.js +35 -0
- package/dist/libs/modern-screenshot.js +14 -0
- package/dist/log-reader.d.ts +30 -0
- package/dist/log-reader.d.ts.map +1 -0
- package/dist/log-reader.js +174 -0
- package/dist/log-reader.js.map +1 -0
- package/dist/mcp-server.d.ts +22 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +115 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/mcp-tools-core.d.ts +30 -0
- package/dist/mcp-tools-core.d.ts.map +1 -0
- package/dist/mcp-tools-core.js +375 -0
- package/dist/mcp-tools-core.js.map +1 -0
- package/dist/mcp-tools-full.d.ts +4 -0
- package/dist/mcp-tools-full.d.ts.map +1 -0
- package/dist/mcp-tools-full.js +141 -0
- package/dist/mcp-tools-full.js.map +1 -0
- package/dist/playwright-commands.d.ts +33 -0
- package/dist/playwright-commands.d.ts.map +1 -0
- package/dist/playwright-commands.js +356 -0
- package/dist/playwright-commands.js.map +1 -0
- package/dist/registry.d.ts +83 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +205 -0
- package/dist/registry.js.map +1 -0
- package/dist/rpc-server.d.ts +54 -0
- package/dist/rpc-server.d.ts.map +1 -0
- package/dist/rpc-server.js +207 -0
- package/dist/rpc-server.js.map +1 -0
- package/dist/session.d.ts +13 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +61 -0
- package/dist/session.js.map +1 -0
- package/dist/types.d.ts +76 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/webdev-client.js +20 -0
- package/dist/writers/base.d.ts +24 -0
- package/dist/writers/base.d.ts.map +1 -0
- package/dist/writers/base.js +98 -0
- package/dist/writers/base.js.map +1 -0
- package/dist/writers/console.d.ts +8 -0
- package/dist/writers/console.d.ts.map +1 -0
- package/dist/writers/console.js +14 -0
- package/dist/writers/console.js.map +1 -0
- package/dist/writers/dev-events.d.ts +28 -0
- package/dist/writers/dev-events.d.ts.map +1 -0
- package/dist/writers/dev-events.js +53 -0
- package/dist/writers/dev-events.js.map +1 -0
- package/dist/writers/errors.d.ts +8 -0
- package/dist/writers/errors.d.ts.map +1 -0
- package/dist/writers/errors.js +14 -0
- package/dist/writers/errors.js.map +1 -0
- package/dist/writers/network.d.ts +9 -0
- package/dist/writers/network.d.ts.map +1 -0
- package/dist/writers/network.js +17 -0
- package/dist/writers/network.js.map +1 -0
- package/dist/writers/server-console.d.ts +8 -0
- package/dist/writers/server-console.d.ts.map +1 -0
- package/dist/writers/server-console.js +14 -0
- package/dist/writers/server-console.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var z="0.5.39",L=`bippy-${z}`,me=Object.defineProperty,ht=Object.prototype.hasOwnProperty,R=()=>{},pe=e=>{try{Function.prototype.toString.call(e).indexOf("^_^")>-1&&setTimeout(()=>{throw Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")})}catch{}},M=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>!!(e&&"getFiberRoots"in e),de=!1,fe,E=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>de?!0:(e&&typeof e.inject=="function"&&(fe=e.inject.toString()),!!fe?.includes("(injected)")),A=new Set,g=new Set,B=e=>{let t=new Map,r=0,n={_instrumentationIsActive:!1,_instrumentationSource:L,checkDCE:pe,hasUnsupportedRendererAttached:!1,inject(o){let a=++r;return t.set(a,o),g.add(o),n._instrumentationIsActive||(n._instrumentationIsActive=!0,A.forEach(l=>l())),a},on:R,onCommitFiberRoot:R,onCommitFiberUnmount:R,onPostCommitFiberRoot:R,renderers:t,supportsFiber:!0,supportsFlight:!0};try{me(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!0,enumerable:!0,get(){return n},set(l){if(l&&typeof l=="object"){let s=n.renderers;n=l,s.size>0&&(s.forEach((i,c)=>{g.add(i),l.renderers.set(c,i)}),C(e))}}});let o=window.hasOwnProperty,a=!1;me(window,"hasOwnProperty",{configurable:!0,value:function(...l){try{if(!a&&l[0]==="__REACT_DEVTOOLS_GLOBAL_HOOK__")return globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=void 0,a=!0,-0}catch{}return o.apply(this,l)},writable:!0})}catch{C(e)}return n},C=e=>{e&&A.add(e);try{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t)return;if(!t._instrumentationSource){t.checkDCE=pe,t.supportsFiber=!0,t.supportsFlight=!0,t.hasUnsupportedRendererAttached=!1,t._instrumentationSource=L,t._instrumentationIsActive=!1;let r=M(t);if(r||(t.on=R),t.renderers.size){t._instrumentationIsActive=!0,A.forEach(a=>a());return}let n=t.inject,o=E(t);o&&!r&&(de=!0,t.inject({scheduleRefresh(){}})&&(t._instrumentationIsActive=!0)),t.inject=a=>{let l=n(a);return g.add(a),o&&t.renderers.set(l,a),t._instrumentationIsActive=!0,A.forEach(s=>s()),l}}(t.renderers.size||t._instrumentationIsActive||E())&&e?.()}catch{}},Y=()=>ht.call(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__"),T=e=>Y()?(C(e),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__):B(e),W=()=>!!(typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")),x=()=>{try{W()&&T()}catch{}};x();var G=e=>{switch(e.tag){case 1:case 11:case 0:case 14:case 15:return!0;default:return!1}};function O(e,t,r=!1){if(!e)return null;let n=t(e);if(n instanceof Promise)return(async()=>{if(await n===!0)return e;let a=r?e.return:e.child;for(;a;){let l=await X(a,t,r);if(l)return l;a=r?null:a.sibling}return null})();if(n===!0)return e;let o=r?e.return:e.child;for(;o;){let a=K(o,t,r);if(a)return a;o=r?null:o.sibling}return null}var K=(e,t,r=!1)=>{if(!e)return null;if(t(e)===!0)return e;let n=r?e.return:e.child;for(;n;){let o=K(n,t,r);if(o)return o;n=r?null:n.sibling}return null},X=async(e,t,r=!1)=>{if(!e)return null;if(await t(e)===!0)return e;let n=r?e.return:e.child;for(;n;){let o=await X(n,t,r);if(o)return o;n=r?null:n.sibling}return null};var q=e=>{let t=e;return typeof t=="function"?t:typeof t=="object"&&t?q(t.type||t.render):null},y=e=>{let t=e;if(typeof t=="string")return t;if(typeof t!="function"&&!(typeof t=="object"&&t))return null;let r=t.displayName||t.name||null;if(r)return r;let n=q(t);return n&&(n.displayName||n.name)||null};var F=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;return!!e?._instrumentationIsActive||M(e)||E(e)};var S=e=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t?.renderers)for(let r of t.renderers.values())try{let n=r.findFiberByHostInstance?.(e);if(n)return n}catch{}if(typeof e=="object"&&e){if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(let r in e)if(r.startsWith("__reactContainer$")||r.startsWith("__reactInternalInstance$")||r.startsWith("__reactFiber"))return e[r]||null}return null},Nt=Error();var he=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,bt=["rsc://","file:///","webpack-internal://","webpack://","node:","turbopack://","metro://","/app-pages-browser/","/(app-pages-browser)/"],vt=["<anonymous>","eval",""],Oe=/\.(jsx|tsx|ts|js)$/,gt=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,yt=/^\?[\w~.-]+(?:=[^&#]*)?(?:&[\w~.-]+(?:=[^&#]*)?)*$/,St=/(^|@)\S+:\d+/,Fe=/^\s*at .*(\S+:\d+|\(native\))/m,_t=/^(eval@)?(\[native code\])?$/;var j=(e,t)=>{if(t?.includeInElement!==!1){let r=e.split(`
|
|
2
|
+
`),n=[];for(let o of r)if(/^\s*at\s+/.test(o)){let a=Ne(o,void 0)[0];a&&n.push(a)}else if(/^\s*in\s+/.test(o)){let a=o.replace(/^\s*in\s+/,"").replace(/\s*\(at .*\)$/,"");n.push({functionName:a,source:o})}else if(o.match(St)){let a=be(o,void 0)[0];a&&n.push(a)}return ee(n,t)}return e.match(Fe)?Ne(e,t):be(e,t)},we=e=>{if(!e.includes(":"))return[e,void 0,void 0];let t=e.startsWith("(")&&/:\d+\)$/.test(e)?e.slice(1,-1):e,r=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t);return r?[r[1],r[2]||void 0,r[3]||void 0]:[t,void 0,void 0]},ee=(e,t)=>t&&t.slice!=null?Array.isArray(t.slice)?e.slice(t.slice[0],t.slice[1]):e.slice(0,t.slice):e;var Ne=(e,t)=>ee(e.split(`
|
|
3
|
+
`).filter(r=>!!r.match(Fe)),t).map(r=>{let n=r;n.includes("(eval ")&&(n=n.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));let o=n.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),a=o.match(/ (\(.+\)$)/);o=a?o.replace(a[0],""):o;let l=we(a?a[1]:o);return{functionName:a&&o||void 0,fileName:["eval","<anonymous>"].includes(l[0])?void 0:l[0],lineNumber:l[1]?+l[1]:void 0,columnNumber:l[2]?+l[2]:void 0,source:n}});var be=(e,t)=>ee(e.split(`
|
|
4
|
+
`).filter(r=>!r.match(_t)),t).map(r=>{let n=r;if(n.includes(" > eval")&&(n=n.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),!n.includes("@")&&!n.includes(":"))return{functionName:n};{let o=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,a=n.match(o),l=a&&a[1]?a[1]:void 0,s=we(n.replace(o,""));return{functionName:l,fileName:s[0],lineNumber:s[1]?+s[1]:void 0,columnNumber:s[2]?+s[2]:void 0,source:n}}});var Rt=44,ve="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Et=new Uint8Array(64),ke=new Uint8Array(128);for(let e=0;e<ve.length;e++){let t=ve.charCodeAt(e);Et[e]=t,ke[t]=e}function w(e,t){let r=0,n=0,o=0;do o=ke[e.next()],r|=(o&31)<<n,n+=5;while(o&32);let a=r&1;return r>>>=1,a&&(r=-2147483648|-r),t+r}function ge(e,t){return e.pos>=t?!1:e.peek()!==Rt}var Ct=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:r}=this,n=t.indexOf(e,r);return n===-1?t.length:n}};function Pe(e){let{length:t}=e,r=new Ct(e),n=[],o=0,a=0,l=0,s=0,i=0;do{let c=r.indexOf(";"),u=[],m=!0,f=0;for(o=0;r.pos<c;){let d;o=w(r,o),o<f&&(m=!1),f=o,ge(r,c)?(a=w(r,a),l=w(r,l),s=w(r,s),ge(r,c)?(i=w(r,i),d=[o,a,l,s,i]):d=[o,a,l,s]):d=[o],u.push(d),r.pos++}m||Tt(u),n.push(u),r.pos=c+1}while(r.pos<=t);return n}function Tt(e){e.sort(Ot)}function Ot(e,t){return e[0]-t[0]}var Ie=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,Ft=/^data:application\/json[^,]+base64,/,wt=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,Ae=typeof WeakRef<"u",k=new Map,H=new Map,kt=e=>Ae&&e instanceof WeakRef,ye=(e,t,r,n)=>{if(r<0||r>=e.length)return null;let o=e[r];if(!o||o.length===0)return null;let a=null;for(let u of o)if(u[0]<=n)a=u;else break;if(!a||a.length<4)return null;let[,l,s,i]=a;if(l===void 0||s===void 0||i===void 0)return null;let c=t[l];return c?{columnNumber:i,fileName:c,lineNumber:s+1}:null},Pt=(e,t,r)=>{if(e.sections){let n=null;for(let l of e.sections)if(t>l.offset.line||t===l.offset.line&&r>=l.offset.column)n=l;else break;if(!n)return null;let o=t-n.offset.line,a=t===n.offset.line?r-n.offset.column:r;return ye(n.map.mappings,n.map.sources,o,a)}return ye(e.mappings,e.sources,t-1,r)},It=(e,t)=>{let r=t.split(`
|
|
5
|
+
`),n;for(let a=r.length-1;a>=0&&!n;a--){let l=r[a].match(wt);l&&(n=l[1]||l[2])}if(!n)return null;let o=Ie.test(n);if(!(Ft.test(n)||o||n.startsWith("/"))){let a=e.split("/");a[a.length-1]=n,n=a.join("/")}return n},At=e=>({file:e.file,mappings:Pe(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,version:3}),Lt=e=>{let t=e.sections.map(({map:n,offset:o})=>({map:{...n,mappings:Pe(n.mappings)},offset:o})),r=new Set;for(let n of t)for(let o of n.map.sources)r.add(o);return{file:e.file,mappings:[],names:[],sections:t,sourceRoot:void 0,sources:Array.from(r),sourcesContent:void 0,version:3}},Se=e=>{if(!e)return!1;let t=e.trim();if(!t)return!1;let r=t.match(Ie);if(!r)return!0;let n=r[0].toLowerCase();return n==="http:"||n==="https:"},Mt=async(e,t=fetch)=>{if(!Se(e))return null;let r;try{let o=await t(e);if(!o.ok)return null;r=await o.text()}catch{return null}if(!r)return null;let n=It(e,r);if(!n||!Se(n))return null;try{let o=await t(n);if(!o.ok)return null;let a=await o.json();return"sections"in a?Lt(a):At(a)}catch{return null}},xt=async(e,t=!0,r)=>{if(t&&k.has(e)){let a=k.get(e);if(a==null)return null;if(kt(a)){let l=a.deref();if(l)return l;k.delete(e)}else return a}if(t&&H.has(e))return H.get(e);let n=Mt(e,r);t&&H.set(e,n);let o=await n;return t&&H.delete(e),t&&(o===null?k.set(e,null):k.set(e,Ae?new WeakRef(o):o)),o},Ht=async(e,t=!0,r)=>await Promise.all(e.map(async n=>{if(!n.fileName)return n;let o=await xt(n.fileName,t,r);if(!o||typeof n.lineNumber!="number"||typeof n.columnNumber!="number")return n;let a=Pt(o,n.lineNumber,n.columnNumber);return a?{...n,source:a.fileName&&n.source?n.source.replace(n.fileName,a.fileName):n.source,fileName:a.fileName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,isSymbolicated:!0}:n})),te=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack=="string",Dt=()=>{let e=T();for(let t of[...Array.from(g),...Array.from(e.renderers.values())]){let r=t.currentDispatcherRef;if(r&&typeof r=="object")return"H"in r?r.H:r.current}return null},_e=e=>{for(let t of g){let r=t.currentDispatcherRef;r&&typeof r=="object"&&("H"in r?r.H=e:r.current=e)}},v=e=>`
|
|
6
|
+
in ${e}`,jt=(e,t)=>{let r=v(e);return t&&(r+=` (at ${t})`),r},Z=!1,Q=(e,t)=>{if(!e||Z)return"";let r=Error.prepareStackTrace;Error.prepareStackTrace=void 0,Z=!0;let n=Dt();_e(null);let o=console.error,a=console.warn;console.error=()=>{},console.warn=()=>{};try{let s={DetermineComponentFrameRoot(){let u;try{if(t){let m=function(){throw Error()};if(Object.defineProperty(m.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(m,[])}catch(f){u=f}Reflect.construct(e,[],m)}else{try{m.call()}catch(f){u=f}e.call(m.prototype)}}else{try{throw Error()}catch(f){u=f}let m=e();m&&typeof m.catch=="function"&&m.catch(()=>{})}}catch(m){if(m instanceof Error&&u instanceof Error&&typeof m.stack=="string")return[m.stack,u.stack]}return[null,null]}};s.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot",Object.getOwnPropertyDescriptor(s.DetermineComponentFrameRoot,"name")?.configurable&&Object.defineProperty(s.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});let[i,c]=s.DetermineComponentFrameRoot();if(i&&c){let u=i.split(`
|
|
7
|
+
`),m=c.split(`
|
|
8
|
+
`),f=0,d=0;for(;f<u.length&&!u[f].includes("DetermineComponentFrameRoot");)f++;for(;d<m.length&&!m[d].includes("DetermineComponentFrameRoot");)d++;if(f===u.length||d===m.length)for(f=u.length-1,d=m.length-1;f>=1&&d>=0&&u[f]!==m[d];)d--;for(;f>=1&&d>=0;f--,d--)if(u[f]!==m[d]){if(f!==1||d!==1)do if(f--,d--,d<0||u[f]!==m[d]){let I=`
|
|
9
|
+
${u[f].replace(" at new "," at ")}`,ce=y(e);return ce&&I.includes("<anonymous>")&&(I=I.replace("<anonymous>",ce)),I}while(f>=1&&d>=0);break}}}finally{Z=!1,Error.prepareStackTrace=r,_e(n),console.error=o,console.warn=a}let l=e?y(e):"";return l?v(l):""},Ut=(e,t)=>{let r=e.tag,n="";switch(r){case 28:n=v("Activity");break;case 1:n=Q(e.type,!0);break;case 11:n=Q(e.type.render,!1);break;case 0:case 15:n=Q(e.type,!1);break;case 5:case 26:case 27:n=v(e.type);break;case 16:n=v("Lazy");break;case 13:n=e.child!==t&&t!==null?v("Suspense Fallback"):v("Suspense");break;case 19:n=v("SuspenseList");break;case 30:n=v("ViewTransition");break;default:return""}return n},Vt=e=>{try{let t="",r=e,n=null;do{t+=Ut(r,n);let o=r._debugInfo;if(o&&Array.isArray(o))for(let a=o.length-1;a>=0;a--){let l=o[a];typeof l.name=="string"&&(t+=jt(l.name,l.env))}n=r,r=r.return}while(r);return t}catch(t){return t instanceof Error?`
|
|
10
|
+
Error generating stack: ${t.message}
|
|
11
|
+
${t.stack}`:""}},re=e=>{let t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;let r=e;if(!r)return"";Error.prepareStackTrace=t,r.startsWith(`Error: react-stack-top-frame
|
|
12
|
+
`)&&(r=r.slice(29));let n=r.indexOf(`
|
|
13
|
+
`);if(n!==-1&&(r=r.slice(n+1)),n=Math.max(r.indexOf("react_stack_bottom_frame"),r.indexOf("react-stack-bottom-frame")),n!==-1&&(n=r.lastIndexOf(`
|
|
14
|
+
`,n)),n!==-1)r=r.slice(0,n);else return"";return r},$t=e=>!!(e.fileName?.startsWith("rsc://")&&e.functionName),zt=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,Bt=e=>{let t=new Map;for(let r of e)for(let n of r.stackFrames){if(!$t(n))continue;let o=n.functionName,a=t.get(o)??[];a.some(l=>zt(l,n))||(a.push(n),t.set(o,a))}return t},Yt=(e,t,r)=>{if(!e.functionName)return{...e,isServer:!0};let n=t.get(e.functionName);if(!n||n.length===0)return{...e,isServer:!0};let o=r.get(e.functionName)??0,a=n[o%n.length];return r.set(e.functionName,o+1),{...e,isServer:!0,fileName:a.fileName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,source:e.source?.replace("(at Server)",`(${a.fileName}:${a.lineNumber}:${a.columnNumber})`)}},Wt=e=>{let t=[];return O(e,r=>{if(!te(r))return;let n=typeof r.type=="string"?r.type:y(r.type)||"<anonymous>";t.push({componentName:n,stackFrames:j(re(r._debugStack?.stack))})},!0),t},Le=async(e,t=!0,r)=>{let n=Wt(e),o=j(Vt(e)),a=Bt(n),l=new Map;return Ht(o.map(s=>s.source?.includes("(at Server)")??!1?Yt(s,a,l):s).filter((s,i,c)=>{if(i===0)return!0;let u=c[i-1];return s.functionName!==u.functionName}),t,r)};var Re=e=>e.split("/").filter(Boolean).length,Gt=e=>e.split("/").filter(Boolean)[0]??null,Kt=e=>{let t=e.indexOf("/",1);if(t===-1||Re(e.slice(0,t))!==1)return e;let r=e.slice(t);if(!Oe.test(r)||Re(r)<2)return e;let n=Gt(r);return!n||n.startsWith("@")||n.length>4?e:r},ne=e=>{if(!e||vt.some(a=>a===e))return"";let t=e,r=t.startsWith("http://")||t.startsWith("https://");if(r)try{t=new URL(t).pathname}catch{}if(r&&(t=Kt(t)),t.startsWith("about://React/")){let a=t.slice(14),l=a.indexOf("/"),s=a.indexOf(":");t=l!==-1&&(s===-1||l<s)?a.slice(l+1):a}let n=!0;for(;n;){n=!1;for(let a of bt)if(t.startsWith(a)){t=t.slice(a.length),a==="file:///"&&(t=`/${t.replace(/^\/+/,"")}`),n=!0;break}}if(he.test(t)){let a=t.match(he);a&&(t=t.slice(a[0].length))}if(t.startsWith("//")){let a=t.indexOf("/",2);t=a===-1?"":t.slice(a)}let o=t.indexOf("?");if(o!==-1){let a=t.slice(o);yt.test(a)&&(t=t.slice(0,o))}return t},Me=e=>{let t=ne(e);return!(!t||!Oe.test(t)||gt.test(t))};var Xt=Symbol.for("react.context"),qt=Symbol.for("react.memo_cache_sentinel"),xe=[];var He=null,Ee=null,P=null,Ce=0,J=null,De=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render.");var h=()=>{let e=Ee;return e!==null&&(Ee=e.next),e},D=e=>{if(He===null)return e._currentValue;if(P===null)throw Error("Context reads do not line up with context dependencies.");if(Object.prototype.hasOwnProperty.call(P,"memoizedValue")){let t=P.memoizedValue;return P=P.next,t}return e._currentValue};var p=(e,t,r,n=null)=>{xe.push({displayName:n,primitive:e,stackError:Error(),value:t,dispatcherHookName:r})},Zt=e=>{if(typeof e=="object"&&e){let t=e;if(typeof t.then=="function"){let r=J!==null&&Ce<J.length?J[Ce++]:t;switch(r.status){case"fulfilled":return p("Promise",r.value,"Use"),r.value;case"rejected":throw r.reason}throw p("Unresolved",r,"Use"),De}if(t.$$typeof===Xt&&"_currentValue"in t){let r=t,n=D(r);return p("Context (use)",n,"Use",r.displayName||"Context"),n}}throw Error("An unsupported type was passed to use(): "+String(e))},Qt=e=>{let t=D(e);return p("Context",t,"Context",e.displayName||null),t},Jt=e=>{let t=h(),r=t===null?typeof e=="function"?e():e:t.memoizedState;return p("State",r,"State"),[r,()=>{}]},er=(e,t,r)=>{let n=h(),o=n===null?r===void 0?t:r(t):n.memoizedState;return p("Reducer",o,"Reducer"),[o,()=>{}]},tr=e=>{let t=h(),r=t===null?{current:e}:t.memoizedState;return p("Ref",r.current,"Ref"),r},rr=()=>{let e=h();return p("CacheRefresh",e===null?()=>{}:e.memoizedState,"CacheRefresh"),()=>{}},nr=e=>{h(),p("LayoutEffect",e,"LayoutEffect")},or=e=>{h(),p("InsertionEffect",e,"InsertionEffect")},ar=e=>{h(),p("Effect",e,"Effect")},lr=e=>{h();let t;typeof e=="object"&&e&&"current"in e&&(t=e.current),p("ImperativeHandle",t,"ImperativeHandle")},sr=(e,t)=>{p("DebugValue",typeof t=="function"?t(e):e,"DebugValue")},ir=e=>{let t=h();return p("Callback",t===null?e:t.memoizedState[0],"Callback"),e},ur=e=>{let t=h(),r=t===null?e():t.memoizedState[0];return p("Memo",r,"Memo"),r},cr=(e,t)=>{let r=h();h();let n=r===null?t():r.memoizedState;return p("SyncExternalStore",n,"SyncExternalStore"),n},mr=()=>{let e=h();h();let t=e===null?!1:e.memoizedState;return p("Transition",t,"Transition"),[t,()=>{}]},fr=e=>{let t=h(),r=t===null?e:t.memoizedState;return p("DeferredValue",r,"DeferredValue"),r},pr=()=>{let e=h(),t=e===null?"":e.memoizedState;return p("Id",t,"Id"),t},dr=e=>{let t=He;if(t==null)return[];let r=t.updateQueue?.memoCache;if(r==null)return[];let n=r.data[r.index];return n===void 0&&(n=r.data[r.index]=Array.from({length:e},()=>qt)),r.index++,n},hr=e=>{let t=h(),r=t===null?e:t.memoizedState;return p("Optimistic",r,"Optimistic"),[r,()=>{}]},Nr=(e,t)=>{let r,n=null;if(e!==null){let o=e.memoizedState;if(typeof o=="object"&&o&&"then"in o&&typeof o.then=="function"){let a=o;switch(a.status){case"fulfilled":r=a.value;break;case"rejected":n=a.reason;break;default:n=De,r=a}}else r=o}else r=t;return{value:r,error:n}},je=e=>(t,r)=>{let n=h();h(),h();let o=Error(),{value:a,error:l}=Nr(n,r);if(xe.push({displayName:null,primitive:e,stackError:o,value:a,dispatcherHookName:e}),l!==null)throw l;return[a,()=>{},!1]},br=je("ActionState"),Te={readContext:D,use:Zt,useCallback:ir,useContext:Qt,useEffect:ar,useImperativeHandle:lr,useLayoutEffect:nr,useInsertionEffect:or,useMemo:ur,useReducer:er,useRef:tr,useState:Jt,useDebugValue:sr,useDeferredValue:fr,useTransition:mr,useSyncExternalStore:cr,useId:pr,useHostTransitionStatus:()=>{let e=D({_currentValue:null});return p("HostTransitionStatus",e,"HostTransitionStatus"),e},useFormState:je("FormState"),useActionState:br,useOptimistic:hr,useMemoCache:dr,useCacheRefresh:rr,useEffectEvent:e=>(h(),p("EffectEvent",e,"EffectEvent"),e)},aa=typeof Proxy>"u"?Te:new Proxy(Te,{get(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let r=Error("Missing method in Dispatcher: "+t);throw r.name="ReactDebugToolsUnsupportedHookError",r}});var vr=5e3,gr=4e3,Ue=gr/2,yr=3,qe=1,Sr=1,_r=3,Rr=1,le=e=>typeof Element<"u"&&e instanceof Element,Er=["_","$","motion.","styled.","chakra.","ark.","Primitive.","Slot."],Cr=new Set(["InnerLayoutRouter","RedirectErrorBoundary","RedirectBoundary","HTTPAccessFallbackErrorBoundary","HTTPAccessFallbackBoundary","LoadingBoundary","ErrorBoundary","InnerScrollAndFocusHandler","ScrollAndFocusHandler","RenderFromTemplateContext","OuterLayoutRouter","body","html","DevRootHTTPAccessFallbackBoundary","AppDevOverlayErrorBoundary","AppDevOverlay","HotReload","Router","ErrorBoundaryHandler","AppRouter","ServerRoot","SegmentStateProvider","RootErrorBoundary","LoadableComponent","MotionDOMComponent"]),Tr=new Set(["Suspense","Fragment","StrictMode","Profiler","SuspenseList"]),oe,Or=e=>(e&&(oe=void 0),oe??=typeof document<"u"&&!!(document.getElementById("__NEXT_DATA__")||document.querySelector("nextjs-portal")),oe),Ze=e=>Cr.has(e)||Tr.has(e)?!0:Er.some(t=>e.startsWith(t)),Qe=e=>!(e.length<=Rr||Ze(e)||e[0]!==e[0].toUpperCase()||e.includes("Provider")||e.includes("Context")),Fr=e=>!(!e||Ze(e)||e==="SlotClone"||e==="Slot"),Je=["about://React/","rsc://React/"],wr=e=>Je.some(t=>e.startsWith(t)),kr=e=>{for(let t of Je){if(!e.startsWith(t))continue;let r=e.indexOf("/",t.length),n=e.lastIndexOf("?");if(r>-1&&n>-1)return decodeURI(e.slice(r+1,n))}return e},Pr=async e=>{let t=[],r=[];for(let a=0;a<e.length;a++){let l=e[a];!l.isServer||!l.fileName||(t.push(a),r.push({file:kr(l.fileName),methodName:l.functionName??"<unknown>",line1:l.lineNumber??null,column1:l.columnNumber??null,arguments:[]}))}if(r.length===0)return e;let n=new AbortController,o=setTimeout(()=>n.abort(),vr);try{let a=await fetch("/__nextjs_original-stack-frames",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({frames:r,isServer:!0,isEdgeServer:!1,isAppDirectory:!0}),signal:n.signal});if(!a.ok)return e;let l=await a.json(),s=[...e];for(let i=0;i<t.length;i++){let c=l[i];if(c?.status!=="fulfilled")continue;let u=c.value?.originalStackFrame;if(!u?.file||u.ignored)continue;let m=t[i];s[m]={...e[m],fileName:u.file,lineNumber:u.line1??void 0,columnNumber:u.column1??void 0,isSymbolicated:!0}}return s}catch{return e}finally{clearTimeout(o)}},Ir=e=>{let t=new Map;return O(e,r=>{if(!te(r))return!1;let n=re(r._debugStack.stack);if(!n)return!1;for(let o of j(n))!o.functionName||!o.fileName||wr(o.fileName)&&(t.has(o.functionName)||t.set(o.functionName,{...o,isServer:!0}));return!1},!0),t},Ar=(e,t)=>{if(!t.some(o=>o.isServer&&!o.fileName&&o.functionName))return t;let n=Ir(e);return n.size===0?t:t.map(o=>{if(!o.isServer||o.fileName||!o.functionName)return o;let a=n.get(o.functionName);return a?{...o,fileName:a.fileName,lineNumber:a.lineNumber,columnNumber:a.columnNumber}:o})},et=e=>{if(!F()||S(e))return e;if(le(e)){let t=e.parentElement;for(;t;){if(S(t))return t;t=t.parentElement}}return e},Ve=new WeakMap,Lr=async e=>{try{let t=S(e);if(!t)return null;let r=await Le(t);if(Or()){let n=Ar(t,r);return Pr(n)}return r}catch{return null}},tt=e=>{if(!F())return Promise.resolve([]);let t=et(e),r=Ve.get(t);if(r)return r;let n=Lr(t);return Ve.set(t,n),n},Mr=e=>{if(!e||e.length===0)return null;for(let t of e)if(t.fileName&&Me(t.fileName))return{filePath:ne(t.fileName),lineNumber:t.lineNumber??null,columnNumber:null,componentName:t.functionName&&Qe(t.functionName)?t.functionName:null};return null},xr=async e=>{let t=await tt(e),r=Mr(t);return r?[r]:[]},Hr=async e=>{if(!F())return null;let t=await tt(e);if(t){for(let a of t)if(a.functionName&&Qe(a.functionName))return a.functionName}let r=et(e),n=S(r);if(!n)return null;let o=n.return;for(;o;){if(G(o)){let a=y(o.type);if(a&&Fr(a))return a}o=o.return}return null},ae={name:"react",resolveStack:xr,resolveComponentName:Hr},N=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),b=e=>typeof e=="string"?e:null,_=e=>typeof e=="number"&&Number.isFinite(e)?e:null,Dr="__svelte_meta",jr=e=>{let t=e;for(;t;){let r=Reflect.get(t,Dr);if(N(r))return r;t=t.parentElement}return null},Ur=e=>{let t=e.loc;if(!N(t))return null;let r=b(t.file),n=_(t.line),o=_(t.column);return!r||n===null||o===null?null:{filePath:r,lineNumber:n,columnNumber:o+qe}},Vr=e=>{let t=e.parent;for(;N(t);){let r=b(t.componentTag);if(r)return r;t=t.parent}return null},$r=e=>{let t=[],r=e.parent;for(;N(r);){let n=b(r.file),o=_(r.line),a=_(r.column),l=b(r.componentTag);n&&o!==null&&a!==null&&t.push({filePath:n,lineNumber:o,columnNumber:a+qe,componentName:l}),r=r.parent}return t},zr=e=>{let t=jr(e);if(!t)return[];let r=Ur(t);if(!r)return[];let n=[{filePath:r.filePath,lineNumber:r.lineNumber,columnNumber:r.columnNumber,componentName:Vr(t)}],o=new Set([`${r.filePath}:${r.lineNumber}:${r.columnNumber}`]);for(let a of $r(t)){let l=`${a.filePath}:${a.lineNumber??""}:${a.columnNumber??""}`;o.has(l)||(o.add(l),n.push(a))}return n},Br={name:"svelte",resolveStack:zr},$e=":",ze=e=>{let t=Number.parseInt(e,10);return Number.isNaN(t)||t<1?null:t},rt=e=>{let t=e.lastIndexOf($e);if(t===-1)return null;let r=e.lastIndexOf($e,t-1);if(r===-1)return null;let n=e.slice(0,r);if(!n)return null;let o=e.slice(r+1,t),a=e.slice(t+1),l=ze(o),s=ze(a);return l===null||s===null?null:{filePath:n,lineNumber:l,columnNumber:s}},nt="data-v-inspector",Yr=`[${nt}]`,Wr="__vueParentComponent",ot=e=>{if(!e)return null;let t=e.type;return N(t)?t:null},Gr=e=>{let t=Reflect.get(e,Wr);return N(t)?t:null},at=e=>{let t=e;for(;t;){let r=Gr(t);if(r)return r;t=t.parentElement}return null},lt=e=>e?b(e.__name)??b(e.name):null,Kr=e=>e?b(e.__file):null,Xr=e=>{if(!e)return null;let t=Reflect.get(e,"parent");return N(t)?t:null},qr=e=>{let t=[],r=at(e);for(;r;)t.push(r),r=Xr(r);return t},Zr=e=>qr(e).map(t=>{let r=ot(t),n=Kr(r);return n?{filePath:n,lineNumber:null,columnNumber:null,componentName:lt(r)}:null}).filter(t=>!!t),Qr=e=>{let t=e.closest(Yr);if(!t)return null;let r=t.getAttribute(nt);if(!r)return null;let n=rt(r);if(!n)return null;let o=at(e),a=ot(o);return{filePath:n.filePath,lineNumber:n.lineNumber,columnNumber:n.columnNumber,componentName:lt(a)}},Jr=e=>{let t=[],r=new Set,n=Qr(e);if(n){let o=`${n.filePath}|${n.componentName??""}`;t.push(n),r.add(o)}for(let o of Zr(e)){let a=`${o.filePath}|${o.componentName??""}`;r.has(a)||(r.add(a),t.push(o))}return t},en={name:"vue",resolveStack:Jr},tn="$$",rn=/location:\s*["']([^"']+:\d+:\d+)["']/g,st="/src/",nn=".css",on="?import",an="__SOLID_RUNTIME_MODULES__",Be=new Map,Ye=new Map,ln=e=>{if(e.includes(on))return!1;let t=new URL(e,window.location.href).pathname;return t.endsWith(nn)?!1:t.includes(st)},sn=()=>{if(typeof window>"u")return[];let e=performance.getEntriesByType("resource"),t=new Set;for(let r of e)!r.name||!ln(r.name)||t.add(r.name);return Array.from(t)},un=e=>{let t=Be.get(e);if(t)return t;let r=fetch(e).then(n=>n.ok?n.text():null).catch(()=>null);return Be.set(e,r),r},cn=()=>{if(typeof window>"u")return[];let e=Reflect.get(window,an);return Array.isArray(e)?e:[]},mn=async e=>{for(let t of cn()){let r=t.content.indexOf(e);if(r!==-1)return{moduleUrl:t.url,moduleContent:t.content,handlerSourceIndex:r}}for(let t of sn()){let r=await un(t);if(!r)continue;let n=r.indexOf(e);if(n!==-1)return{moduleUrl:t,moduleContent:r,handlerSourceIndex:n}}return null},fn=(e,t)=>{let r=Math.max(0,t-Ue),n=Math.min(e.length,t+Ue),o=e.slice(r,n),a=[];for(let i of o.matchAll(rn)){let c=i[1];if(!c)continue;let u=rt(c);if(!u||i.index===void 0)continue;let m=r+i.index;a.push({sourceInfo:{filePath:u.filePath,lineNumber:u.lineNumber,columnNumber:u.columnNumber,componentName:null},distance:Math.abs(m-t)})}a.sort((i,c)=>{let u=i.sourceInfo.lineNumber??0,m=c.sourceInfo.lineNumber??0;return m!==u?m-u:i.distance-c.distance});let l=new Set,s=[];for(let i of a){let c=`${i.sourceInfo.filePath}:${i.sourceInfo.lineNumber}:${i.sourceInfo.columnNumber}`;l.has(c)||(l.add(c),s.push(i.sourceInfo))}return s},pn=e=>{try{let t=decodeURIComponent(new URL(e,window.location.href).pathname);return t.includes(st)?t.startsWith("/")?t.slice(1):t:null}catch{return null}},dn=(e,t)=>{let n=e.slice(0,t).split(`
|
|
15
|
+
`),o=n[n.length-1]??"";return{lineNumber:n.length,columnNumber:o.length+Sr}},hn=e=>{let t=e;for(;t;){for(let r of Object.getOwnPropertyNames(t)){if(!r.startsWith(tn))continue;let n=Reflect.get(t,r);if(typeof n!="function")continue;let o=String(n).trim();if(!(o.length<yr))return{source:o}}t=t.parentElement}return null},Nn=e=>{let t=Ye.get(e);if(t)return t;let r=(async()=>{let n=await mn(e);if(!n)return[];let o=fn(n.moduleContent,n.handlerSourceIndex);if(o.length>0)return o;let a=pn(n.moduleUrl);if(!a)return[];let l=dn(n.moduleContent,n.handlerSourceIndex);return[{filePath:a,lineNumber:l.lineNumber,columnNumber:l.columnNumber,componentName:null}]})();return Ye.set(e,r),r},bn=e=>{let t=hn(e);return t?Nn(t.source):Promise.resolve([])},vn={name:"solid",resolveStack:bn},gn="Fragment",yn="__k",it="__k",Sn="constructor",ut="__e",_n="__o",Rn="__",En="props",We="__source",V="type",Cn="columnNumber",Tn="fileName",On="lineNumber",ct=e=>!N(e)||Reflect.get(e,Sn)!==void 0?!1:Reflect.has(e,V)&&Reflect.has(e,ut)&&Reflect.has(e,it),ue=e=>ct(e)?e:null,Fn=e=>{let t=Reflect.get(e,it);return Array.isArray(t)?t.filter(r=>ct(r)):[]},se=e=>ue(Reflect.get(e,Rn)),ie=e=>ue(Reflect.get(e,_n)),mt=e=>{if(typeof Node>"u")return null;let t=Reflect.get(e,ut);return t instanceof Node?t:null},U=e=>{let t=Reflect.get(e,V);if(typeof t!="function")return null;let r=b(Reflect.get(t,"displayName"))??b(Reflect.get(t,"name"));return!r||r===gn?null:r},ft=e=>{let t=e;for(;t;){let r=U(t);if(r)return r;t=ie(t)??se(t)}return null},wn=e=>{let t=Reflect.get(e,We);if(N(t))return t;let r=Reflect.get(e,En);if(!N(r))return null;let n=Reflect.get(r,We);return N(n)?n:null},Ge=(e,t)=>{let r=wn(e);if(!r)return null;let n=b(Reflect.get(r,Tn)),o=_(Reflect.get(r,On)),a=_(Reflect.get(r,Cn));return!n||o===null?null:{filePath:n,lineNumber:o,columnNumber:a,componentName:t}},kn=e=>{let t=e;for(;t;){let r=ue(Reflect.get(t,yn));if(r)return r;t=t.parentElement}return null},Pn=(e,t)=>{if(typeof Reflect.get(e,V)!="string")return!0;let n=mt(e);return n?n===t?!0:n instanceof Element?n.contains(t):!1:!1},pt=(e,t)=>{if(!Pn(e,t))return null;for(let n of Fn(e)){let o=pt(n,t);if(o)return o}return typeof Reflect.get(e,V)!="string"?null:mt(e)===t?e:null},dt=e=>{let t=kn(e);return t?pt(t,e):null},In=e=>{let t=[],r=ie(e);if(r){for(;r;)U(r)&&t.push(r),r=ie(r);return t}let n=se(e);for(;n;)U(n)&&t.push(n),n=se(n);return t},Ke=(e,t,r)=>{let n=`${r.filePath}:${r.lineNumber}:${r.columnNumber??""}:${r.componentName??""}`;t.has(n)||(t.add(n),e.push(r))},An=e=>{let t=dt(e);if(!t)return[];let r=ft(t),n=[],o=new Set,a=Ge(t,r);a&&Ke(n,o,a);let l=!1;for(let s of In(t)){let i=U(s);if(!i)continue;if(!l&&a&&r&&i===r){l=!0;continue}l=!0;let c=Ge(s,i);c&&Ke(n,o,c)}return n},Ln=e=>{let t=dt(e);return t?ft(t):null},Mn={name:"preact",resolveStack:An,resolveComponentName:Ln},xn=e=>"tagName"in e&&typeof e.tagName=="string"?e.tagName.toLowerCase():"nodeName"in e&&typeof e.nodeName=="string"?e.nodeName.toLowerCase():"",Hn=[Br,en,vn,Mn],Xe=async(e,t)=>{for(let r of t){let o=(await r.resolveStack(e)).filter(a=>a.filePath.length>0);if(o.length>0)return o}return[]},Dn=(e={})=>{let t=e.resolvers??Hn,r=async l=>{let s=await ae.resolveStack(l);if(le(l)){let i=await Xe(l,t);return s.length>0?[...s,...i]:i}return s};return{resolveSource:async l=>(await r(l))[0]??null,resolveStack:r,resolveComponentName:async l=>{let s=await ae.resolveComponentName?.(l);return s||(le(l)?(await Xe(l,t)).find(u=>u.componentName)?.componentName??null:null)},resolveElementInfo:async l=>{let s=await r(l),i=s[0]??null,c=s.find(u=>u.componentName)?.componentName??await ae.resolveComponentName?.(l)??null;return{tagName:xn(l),componentName:c,source:i,stack:s}}}},$=Dn(),ca=$.resolveSource,ma=$.resolveStack,fa=$.resolveComponentName,pa=$.resolveElementInfo,jn=e=>{let t=[e.filePath];return e.lineNumber!==null&&t.push(String(e.lineNumber)),e.columnNumber!==null&&t.push(String(e.columnNumber)),t.join(":")},Un=e=>{let t=jn(e);return e.componentName?`
|
|
16
|
+
in ${e.componentName} (at ${t})`:`
|
|
17
|
+
in ${t}`},da=(e,t=_r)=>t<1||e.length<1?"":e.slice(0,t).map(Un).join(""),Vn="in ",$n=e=>e.split(`
|
|
18
|
+
`).map(t=>t.trim()).filter(t=>t.startsWith(Vn)).map(t=>`
|
|
19
|
+
${t}`),ha=(e,t,r)=>{if(r<1)return"";let n=[],o=new Set;for(let a of[e,t])for(let l of $n(a))o.has(l)||(o.add(l),n.push(l));return n.slice(0,r).join("")};export{Or as checkIsNextProject,Dn as createSourceResolver,da as formatStack,Un as formatStackFrame,tt as getReactStack,xn as getTagName,Qe as isSourceComponentName,ha as mergeStackContext,rt as parseSourceLocation,Mn as preactResolver,ae as reactResolver,fa as resolveComponentName,pa as resolveElementInfo,ca as resolveSource,ma as resolveStack,vn as solidResolver,Br as svelteResolver,en as vueResolver};
|
|
20
|
+
/*! Bundled license information:
|
|
21
|
+
|
|
22
|
+
bippy/dist/rdt-hook.js:
|
|
23
|
+
bippy/dist/install-hook-only.js:
|
|
24
|
+
bippy/dist/core.js:
|
|
25
|
+
bippy/dist/index.js:
|
|
26
|
+
bippy/dist/source.js:
|
|
27
|
+
(**
|
|
28
|
+
* @license bippy
|
|
29
|
+
*
|
|
30
|
+
* Copyright (c) Aiden Bai
|
|
31
|
+
*
|
|
32
|
+
* This source code is licensed under the MIT license found in the
|
|
33
|
+
* LICENSE file in the root directory of this source tree.
|
|
34
|
+
*)
|
|
35
|
+
*/
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function Q(e,t){return e[13]=1,e[14]=t>>8,e[15]=t&255,e[16]=t>>8,e[17]=t&255,e}var Z=112,ee=72,te=89,re=115,L;function Ce(){let e=new Int32Array(256);for(let t=0;t<256;t++){let r=t;for(let n=0;n<8;n++)r=r&1?3988292384^r>>>1:r>>>1;e[t]=r}return e}function ve(e){let t=-1;L||(L=Ce());for(let r=0;r<e.length;r++)t=L[(t^e[r])&255]^t>>>8;return t^-1}function Te(e){let t=e.length-1;for(let r=t;r>=4;r--)if(e[r-4]===9&&e[r-3]===Z&&e[r-2]===ee&&e[r-1]===te&&e[r]===re)return r-3;return 0}function ne(e,t,r=!1){let n=new Uint8Array(13);t*=39.3701,n[0]=Z,n[1]=ee,n[2]=te,n[3]=re,n[4]=t>>>24,n[5]=t>>>16,n[6]=t>>>8,n[7]=t&255,n[8]=n[4],n[9]=n[5],n[10]=n[6],n[11]=n[7],n[12]=1;let a=ve(n),s=new Uint8Array(4);if(s[0]=a>>>24,s[1]=a>>>16,s[2]=a>>>8,s[3]=a&255,r){let i=Te(e);return e.set(n,i),e.set(s,i+13),e}else{let i=new Uint8Array(4);i[0]=0,i[1]=0,i[2]=0,i[3]=9;let o=new Uint8Array(54);return o.set(e,0),o.set(i,33),o.set(n,37),o.set(s,50),o}}var Ne="AAlwSFlz",Ae="AAAJcEhZ",De="AAAACXBI";function Re(e){let t=e.indexOf(Ne);return t===-1&&(t=e.indexOf(Ae)),t===-1&&(t=e.indexOf(De)),t}var oe="[modern-screenshot]",N=typeof window<"u",Ie=N&&"Worker"in window,se=N&&"atob"in window,ke=N&&"btoa"in window,W=N?window.navigator?.userAgent:"",ae=W.includes("Chrome"),_=W.includes("AppleWebKit")&&!ae,j=W.includes("Firefox"),Fe=e=>e&&"__CONTEXT__"in e,xe=e=>e.constructor.name==="CSSFontFaceRule",Pe=e=>e.constructor.name==="CSSImportRule",_e=e=>e.constructor.name==="CSSLayerBlockRule",E=e=>e.nodeType===1,F=e=>typeof e.className=="object",ie=e=>e.tagName==="image",Ue=e=>e.tagName==="use",R=e=>E(e)&&typeof e.style<"u"&&!F(e),$e=e=>e.nodeType===8,Be=e=>e.nodeType===3,D=e=>e.tagName==="IMG",U=e=>e.tagName==="VIDEO",Le=e=>e.tagName==="CANVAS",Oe=e=>e.tagName==="TEXTAREA",Me=e=>e.tagName==="INPUT",We=e=>e.tagName==="STYLE",je=e=>e.tagName==="SCRIPT",qe=e=>e.tagName==="SELECT",He=e=>e.tagName==="SLOT",Ve=e=>e.tagName==="IFRAME",ze=(...e)=>console.warn(oe,...e);function Xe(e){let t=e?.createElement?.("canvas");return t&&(t.height=t.width=1),!!t&&"toDataURL"in t&&!!t.toDataURL("image/webp").includes("image/webp")}var O=e=>e.startsWith("data:");function le(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(N&&e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i)||!N)return e;let r=$().implementation.createHTMLDocument(),n=r.createElement("base"),a=r.createElement("a");return r.head.appendChild(n),r.body.appendChild(a),t&&(n.href=t),a.href=e,a.href}function $(e){return(e&&E(e)?e?.ownerDocument:e)??window.document}var B="http://www.w3.org/2000/svg";function ce(e,t,r){let n=$(r).createElementNS(B,"svg");return n.setAttributeNS(null,"width",e.toString()),n.setAttributeNS(null,"height",t.toString()),n.setAttributeNS(null,"viewBox",`0 0 ${e} ${t}`),n}function ue(e,t){let r=new XMLSerializer().serializeToString(e);return t&&(r=r.replace(/[\u0000-\u0008\v\f\u000E-\u001F\uD800-\uDFFF\uFFFE\uFFFF]/gu,"")),`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`}async function Ge(e,t="image/png",r=1){try{return await new Promise((n,a)=>{e.toBlob(s=>{s?n(s):a(new Error("Blob is null"))},t,r)})}catch(n){if(se)return Ye(e.toDataURL(t,r));throw n}}function Ye(e){let[t,r]=e.split(","),n=t.match(/data:(.+);/)?.[1]??void 0,a=window.atob(r),s=a.length,i=new Uint8Array(s);for(let o=0;o<s;o+=1)i[o]=a.charCodeAt(o);return new Blob([i],{type:n})}function fe(e,t){return new Promise((r,n)=>{let a=new FileReader;a.onload=()=>r(a.result),a.onerror=()=>n(a.error),a.onabort=()=>n(new Error(`Failed read blob to ${t}`)),t==="dataUrl"?a.readAsDataURL(e):t==="arrayBuffer"&&a.readAsArrayBuffer(e)})}var Je=e=>fe(e,"dataUrl"),Ke=e=>fe(e,"arrayBuffer");function A(e,t){let r=$(t).createElement("img");return r.decoding="sync",r.loading="eager",r.src=e,r}function I(e,t){return new Promise(r=>{let{timeout:n,ownerDocument:a,onError:s,onWarn:i}=t??{},o=typeof e=="string"?A(e,$(a)):e,u=null,c=null;function l(){r(o),u&&clearTimeout(u),c?.()}if(n&&(u=setTimeout(l,n)),U(o)){let g=o.currentSrc||o.src;if(!g)return o.poster?I(o.poster,t).then(r):l();if(o.readyState>=2)return l();let d=l,m=h=>{i?.("Failed video load",g,h),s?.(h),l()};c=()=>{o.removeEventListener("loadeddata",d),o.removeEventListener("error",m)},o.addEventListener("loadeddata",d,{once:!0}),o.addEventListener("error",m,{once:!0})}else{let g=ie(o)?o.href.baseVal:o.currentSrc||o.src;if(!g)return l();let d=async()=>{if(D(o)&&"decode"in o)try{await o.decode()}catch(h){i?.("Failed to decode image, trying to render anyway",o.dataset.originalSrc||g,h)}l()},m=h=>{i?.("Failed image load",o.dataset.originalSrc||g,h),l()};if(D(o)&&o.complete)return d();c=()=>{o.removeEventListener("load",d),o.removeEventListener("error",m)},o.addEventListener("load",d,{once:!0}),o.addEventListener("error",m,{once:!0})}})}async function Qe(e,t){R(e)&&(D(e)||U(e)?await I(e,t):await Promise.all(["img","video"].flatMap(r=>Array.from(e.querySelectorAll(r)).map(n=>I(n,t)))))}var de=(function(){let t=0,r=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(t+=1,`u${r()}${t}`)})();function ge(e){return e?.split(",").map(t=>t.trim().replace(/"|'/g,"").toLowerCase()).filter(Boolean)}var z=0;function Ze(e){let t=`${oe}[#${z}]`;return z++,{time:r=>e&&console.time(`${t} ${r}`),timeEnd:r=>e&&console.timeEnd(`${t} ${r}`),warn:(...r)=>e&&ze(...r)}}function et(e){return{cache:e?"no-cache":"force-cache"}}async function C(e,t){return Fe(e)?e:tt(e,{...t,autoDestruct:!0})}async function tt(e,t){let{scale:r=1,workerUrl:n,workerNumber:a=1}=t||{},s=!!t?.debug,i=t?.features??!0,o=e.ownerDocument??(N?window.document:void 0),u=e.ownerDocument?.defaultView??(N?window:void 0),c=new Map,l={width:0,height:0,quality:1,type:"image/png",scale:r,backgroundColor:null,style:null,filter:null,maximumCanvasSize:0,timeout:3e4,progress:null,debug:s,fetch:{requestInit:et(t?.fetch?.bypassingCache),placeholderImage:"data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",bypassingCache:!1,...t?.fetch},fetchFn:null,font:{},drawImageInterval:100,workerUrl:null,workerNumber:a,onCloneEachNode:null,onCloneNode:null,onEmbedNode:null,onCreateForeignObjectSvg:null,includeStyleProperties:null,autoDestruct:!1,...t,__CONTEXT__:!0,log:Ze(s),node:e,ownerDocument:o,ownerWindow:u,dpi:r===1?null:96*r,svgStyleElement:me(o),svgDefsElement:o?.createElementNS(B,"defs"),svgStyles:new Map,defaultComputedStyles:new Map,workers:[...Array.from({length:Ie&&n&&a?a:0})].map(()=>{try{let m=new Worker(n);return m.onmessage=async h=>{let{url:f,result:w}=h.data;w?c.get(f)?.resolve?.(w):c.get(f)?.reject?.(new Error(`Error receiving message from worker: ${f}`))},m.onmessageerror=h=>{let{url:f}=h.data;c.get(f)?.reject?.(new Error(`Error receiving message from worker: ${f}`))},m}catch(m){return l.log.warn("Failed to new Worker",m),null}}).filter(Boolean),fontFamilies:new Map,fontCssTexts:new Map,acceptOfImage:`${[Xe(o)&&"image/webp","image/svg+xml","image/*","*/*"].filter(Boolean).join(",")};q=0.8`,requests:c,drawImageCount:0,tasks:[],features:i,isEnable:m=>m==="restoreScrollPosition"?typeof i=="boolean"?!1:i[m]??!1:typeof i=="boolean"?i:i[m]??!0,shadowRoots:[]};l.log.time("wait until load"),await Qe(e,{timeout:l.timeout,onWarn:l.log.warn}),l.log.timeEnd("wait until load");let{width:g,height:d}=rt(e,l);return l.width=g,l.height=d,l}function me(e){if(!e)return;let t=e.createElement("style"),r=t.ownerDocument.createTextNode(`
|
|
2
|
+
.______background-clip--text {
|
|
3
|
+
background-clip: text;
|
|
4
|
+
-webkit-background-clip: text;
|
|
5
|
+
}
|
|
6
|
+
`);return t.appendChild(r),t}function rt(e,t){let{width:r,height:n}=t;if(E(e)&&(!r||!n)){let a=e.getBoundingClientRect();r=r||a.width||Number(e.getAttribute("width"))||0,n=n||a.height||Number(e.getAttribute("height"))||0}return{width:r,height:n}}async function nt(e,t){let{log:r,timeout:n,drawImageCount:a,drawImageInterval:s}=t;r.time("image to canvas");let i=await I(e,{timeout:n,onWarn:t.log.warn}),{canvas:o,context2d:u}=ot(e.ownerDocument,t),c=()=>{try{u?.drawImage(i,0,0,o.width,o.height)}catch(l){t.log.warn("Failed to drawImage",l)}};if(c(),t.isEnable("fixSvgXmlDecode"))for(let l=0;l<a;l++)await new Promise(g=>{setTimeout(()=>{u?.clearRect(0,0,o.width,o.height),c(),g()},l+s)});return t.drawImageCount=0,r.timeEnd("image to canvas"),o}function ot(e,t){let{width:r,height:n,scale:a,backgroundColor:s,maximumCanvasSize:i}=t,o=e.createElement("canvas");o.width=Math.floor(r*a),o.height=Math.floor(n*a),o.style.width=`${r}px`,o.style.height=`${n}px`,i&&(o.width>i||o.height>i)&&(o.width>i&&o.height>i?o.width>o.height?(o.height*=i/o.width,o.width=i):(o.width*=i/o.height,o.height=i):o.width>i?(o.height*=i/o.width,o.width=i):(o.width*=i/o.height,o.height=i));let u=o.getContext("2d");return u&&s&&(u.fillStyle=s,u.fillRect(0,0,o.width,o.height)),{canvas:o,context2d:u}}function he(e,t){if(e.ownerDocument)try{let s=e.toDataURL();if(s!=="data:,")return A(s,e.ownerDocument)}catch(s){t.log.warn("Failed to clone canvas",s)}let r=e.cloneNode(!1),n=e.getContext("2d"),a=r.getContext("2d");try{return n&&a&&a.putImageData(n.getImageData(0,0,e.width,e.height),0,0),r}catch(s){t.log.warn("Failed to clone canvas",s)}return r}function st(e,t){try{if(e?.contentDocument?.documentElement)return q(e.contentDocument.documentElement,t)}catch(r){t.log.warn("Failed to clone iframe",r)}return e.cloneNode(!1)}function at(e){let t=e.cloneNode(!1);return e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),t.loading==="lazy"&&(t.loading="eager"),t}async function it(e,t){if(e.ownerDocument&&!e.currentSrc&&e.poster)return A(e.poster,e.ownerDocument);let r=e.cloneNode(!1);r.crossOrigin="anonymous",e.currentSrc&&e.currentSrc!==e.src&&(r.src=e.currentSrc);let n=r.ownerDocument;if(n){let a=!0;if(await I(r,{onError:()=>a=!1,onWarn:t.log.warn}),!a)return e.poster?A(e.poster,e.ownerDocument):r;r.currentTime=e.currentTime,await new Promise(i=>{r.addEventListener("seeked",i,{once:!0})});let s=n.createElement("canvas");s.width=e.offsetWidth,s.height=e.offsetHeight;try{let i=s.getContext("2d");i&&i.drawImage(r,0,0,s.width,s.height)}catch(i){return t.log.warn("Failed to clone video",i),e.poster?A(e.poster,e.ownerDocument):r}return he(s,t)}return r}function lt(e,t){return Le(e)?he(e,t):Ve(e)?st(e,t):D(e)?at(e):U(e)?it(e,t):e.cloneNode(!1)}function ct(e){let t=e.sandbox;if(!t){let{ownerDocument:r}=e;try{r&&(t=r.createElement("iframe"),t.id=`__SANDBOX__${de()}`,t.width="0",t.height="0",t.style.visibility="hidden",t.style.position="fixed",r.body.appendChild(t),t.srcdoc='<!DOCTYPE html><meta charset="UTF-8"><title></title><body>',e.sandbox=t)}catch(n){e.log.warn("Failed to getSandBox",n)}}return t}var ut=["width","height","-webkit-text-fill-color"],ft=["stroke","fill"];function we(e,t,r){let{defaultComputedStyles:n}=r,a=e.nodeName.toLowerCase(),s=F(e)&&a!=="svg",i=s?ft.map(f=>[f,e.getAttribute(f)]).filter(([,f])=>f!==null):[],o=[s&&"svg",a,i.map((f,w)=>`${f}=${w}`).join(","),t].filter(Boolean).join(":");if(n.has(o))return n.get(o);let c=ct(r)?.contentWindow;if(!c)return new Map;let l=c?.document,g,d;s?(g=l.createElementNS(B,"svg"),d=g.ownerDocument.createElementNS(g.namespaceURI,a),i.forEach(([f,w])=>{d.setAttributeNS(null,f,w)}),g.appendChild(d)):g=d=l.createElement(a),d.textContent=" ",l.body.appendChild(g);let m=c.getComputedStyle(d,t),h=new Map;for(let f=m.length,w=0;w<f;w++){let p=m.item(w);ut.includes(p)||h.set(p,m.getPropertyValue(p))}return l.body.removeChild(g),n.set(o,h),h}function pe(e,t,r){let n=new Map,a=[],s=new Map;if(r)for(let o of r)i(o);else for(let o=e.length,u=0;u<o;u++){let c=e.item(u);i(c)}for(let o=a.length,u=0;u<o;u++)s.get(a[u])?.forEach((c,l)=>n.set(l,c));function i(o){let u=e.getPropertyValue(o),c=e.getPropertyPriority(o),l=o.lastIndexOf("-"),g=l>-1?o.substring(0,l):void 0;if(g){let d=s.get(g);d||(d=new Map,s.set(g,d)),d.set(o,[u,c])}t.get(o)===u&&!c||(g?a.push(g):n.set(o,[u,c]))}return n}function dt(e,t,r,n){let{ownerWindow:a,includeStyleProperties:s,currentParentNodeStyle:i}=n,o=t.style,u=a.getComputedStyle(e),c=we(e,null,n);i?.forEach((g,d)=>{c.delete(d)});let l=pe(u,c,s);l.delete("transition-property"),l.delete("all"),l.delete("d"),l.delete("content"),r&&(l.delete("position"),l.delete("margin-top"),l.delete("margin-right"),l.delete("margin-bottom"),l.delete("margin-left"),l.delete("margin-block-start"),l.delete("margin-block-end"),l.delete("margin-inline-start"),l.delete("margin-inline-end"),l.set("box-sizing",["border-box",""])),l.get("background-clip")?.[0]==="text"&&t.classList.add("______background-clip--text"),ae&&(l.has("font-kerning")||l.set("font-kerning",["normal",""]),(l.get("overflow-x")?.[0]==="hidden"||l.get("overflow-y")?.[0]==="hidden")&&l.get("text-overflow")?.[0]==="ellipsis"&&e.scrollWidth===e.clientWidth&&l.set("text-overflow",["clip",""]));for(let g=o.length,d=0;d<g;d++)o.removeProperty(o.item(d));return l.forEach(([g,d],m)=>{o.setProperty(m,g,d)}),l}function gt(e,t){(Oe(e)||Me(e)||qe(e))&&t.setAttribute("value",e.value)}var mt=["::before","::after"],ht=["::-webkit-scrollbar","::-webkit-scrollbar-button","::-webkit-scrollbar-thumb","::-webkit-scrollbar-track","::-webkit-scrollbar-track-piece","::-webkit-scrollbar-corner","::-webkit-resizer"];function wt(e,t,r,n,a){let{ownerWindow:s,svgStyleElement:i,svgStyles:o,currentNodeStyle:u}=n;if(!i||!s)return;function c(l){let g=s.getComputedStyle(e,l),d=g.getPropertyValue("content");if(!d||d==="none")return;a?.(d),d=d.replace(/(')|(")|(counter\(.+\))/g,"");let m=[de()],h=we(e,l,n);u?.forEach((y,S)=>{h.delete(S)});let f=pe(g,h,n.includeStyleProperties);f.delete("content"),f.delete("-webkit-locale"),f.get("background-clip")?.[0]==="text"&&t.classList.add("______background-clip--text");let w=[`content: '${d}';`];if(f.forEach(([y,S],T)=>{w.push(`${T}: ${y}${S?" !important":""};`)}),w.length===1)return;try{t.className=[t.className,...m].join(" ")}catch(y){n.log.warn("Failed to copyPseudoClass",y);return}let p=w.join(`
|
|
7
|
+
`),b=o.get(p);b||(b=[],o.set(p,b)),b.push(`.${m[0]}${l}`)}mt.forEach(c),r&&ht.forEach(c)}var X=new Set(["symbol"]);async function G(e,t,r,n,a){if(E(r)&&(We(r)||je(r))||n.filter&&!n.filter(r))return;X.has(t.nodeName)||X.has(r.nodeName)?n.currentParentNodeStyle=void 0:n.currentParentNodeStyle=n.currentNodeStyle;let s=await q(r,n,!1,a);n.isEnable("restoreScrollPosition")&&pt(e,s),t.appendChild(s)}async function Y(e,t,r,n){let a=e.firstChild;E(e)&&e.shadowRoot&&(a=e.shadowRoot?.firstChild,r.shadowRoots.push(e.shadowRoot));for(let s=a;s;s=s.nextSibling)if(!$e(s))if(E(s)&&He(s)&&typeof s.assignedNodes=="function"){let i=s.assignedNodes();for(let o=0;o<i.length;o++)await G(e,t,i[o],r,n)}else await G(e,t,s,r,n)}function pt(e,t){if(!R(e)||!R(t))return;let{scrollTop:r,scrollLeft:n}=e;if(!r&&!n)return;let{transform:a}=t.style,s=new DOMMatrix(a),{a:i,b:o,c:u,d:c}=s;s.a=1,s.b=0,s.c=0,s.d=1,s.translateSelf(-n,-r),s.a=i,s.b=o,s.c=u,s.d=c,t.style.transform=s.toString()}function yt(e,t){let{backgroundColor:r,width:n,height:a,style:s}=t,i=e.style;if(r&&i.setProperty("background-color",r,"important"),n&&i.setProperty("width",`${n}px`,"important"),a&&i.setProperty("height",`${a}px`,"important"),s)for(let o in s)i[o]=s[o]}var bt=/^[\w-:]+$/;async function q(e,t,r=!1,n){let{ownerDocument:a,ownerWindow:s,fontFamilies:i,onCloneEachNode:o}=t;if(a&&Be(e))return n&&/\S/.test(e.data)&&n(e.data),a.createTextNode(e.data);if(a&&s&&E(e)&&(R(e)||F(e))){let c=await lt(e,t);if(t.isEnable("removeAbnormalAttributes")){let f=c.getAttributeNames();for(let w=f.length,p=0;p<w;p++){let b=f[p];bt.test(b)||c.removeAttribute(b)}}let l=t.currentNodeStyle=dt(e,c,r,t);r&&yt(c,t);let g=!1;if(t.isEnable("copyScrollbar")){let f=[l.get("overflow-x")?.[0],l.get("overflow-y")?.[0]];g=f.includes("scroll")||(f.includes("auto")||f.includes("overlay"))&&(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)}let d=l.get("text-transform")?.[0],m=ge(l.get("font-family")?.[0]),h=m?f=>{d==="uppercase"?f=f.toUpperCase():d==="lowercase"?f=f.toLowerCase():d==="capitalize"&&(f=f[0].toUpperCase()+f.substring(1)),m.forEach(w=>{let p=i.get(w);p||i.set(w,p=new Set),f.split("").forEach(b=>p.add(b))})}:void 0;return wt(e,c,g,t,h),gt(e,c),U(e)||await Y(e,c,t,h),await o?.(c),c}let u=e.cloneNode(!1);return await Y(e,u,t),await o?.(u),u}function St(e){if(e.ownerDocument=void 0,e.ownerWindow=void 0,e.svgStyleElement=void 0,e.svgDefsElement=void 0,e.svgStyles.clear(),e.defaultComputedStyles.clear(),e.sandbox){try{e.sandbox.remove()}catch(t){e.log.warn("Failed to destroyContext",t)}e.sandbox=void 0}e.workers=[],e.fontFamilies.clear(),e.fontCssTexts.clear(),e.requests.clear(),e.tasks=[],e.shadowRoots=[]}function Et(e){let{url:t,timeout:r,responseType:n,...a}=e,s=new AbortController,i=r?setTimeout(()=>s.abort(),r):void 0;return fetch(t,{signal:s.signal,...a}).then(o=>{if(!o.ok)throw new Error("Failed fetch, not 2xx response",{cause:o});switch(n){case"arrayBuffer":return o.arrayBuffer();case"dataUrl":return o.blob().then(Je);case"text":default:return o.text()}}).finally(()=>clearTimeout(i))}function k(e,t){let{url:r,requestType:n="text",responseType:a="text",imageDom:s}=t,i=r,{timeout:o,acceptOfImage:u,requests:c,fetchFn:l,fetch:{requestInit:g,bypassingCache:d,placeholderImage:m},font:h,workers:f,fontFamilies:w}=e;n==="image"&&(_||j)&&e.drawImageCount++;let p=c.get(r);if(!p){d&&d instanceof RegExp&&d.test(i)&&(i+=(/\?/.test(i)?"&":"?")+new Date().getTime());let b=n.startsWith("font")&&h&&h.minify,y=new Set;b&&n.split(";")[1].split(",").forEach(P=>{w.has(P)&&w.get(P).forEach(V=>y.add(V))});let S=b&&y.size,T={url:i,timeout:o,responseType:S?"arrayBuffer":a,headers:n==="image"?{accept:u}:void 0,...g};p={type:n,resolve:void 0,reject:void 0,response:null},p.response=(async()=>{if(l&&n==="image"){let v=await l(r);if(v)return v}return!_&&r.startsWith("http")&&f.length?new Promise((v,P)=>{f[c.size&f.length-1].postMessage({rawUrl:r,...T}),p.resolve=v,p.reject=P}):Et(T)})().catch(v=>{if(c.delete(r),n==="image"&&m)return e.log.warn("Failed to fetch image base64, trying to use placeholder image",i),typeof m=="string"?m:m(s);throw v}),c.set(r,p)}return p.response}async function ye(e,t,r,n){if(!be(e))return e;for(let[a,s]of Ct(e,t))try{let i=await k(r,{url:s,requestType:n?"image":"text",responseType:"dataUrl"});e=e.replace(vt(a),`$1${i}$3`)}catch(i){r.log.warn("Failed to fetch css data url",a,i)}return e}function be(e){return/url\((['"]?)([^'"]+?)\1\)/.test(e)}var Se=/url\((['"]?)([^'"]+?)\1\)/g;function Ct(e,t){let r=[];return e.replace(Se,(n,a,s)=>(r.push([s,le(s,t)]),n)),r.filter(([n])=>!O(n))}function vt(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}var Tt=["background-image","border-image-source","-webkit-border-image","-webkit-mask-image","list-style-image"];function Nt(e,t){return Tt.map(r=>{let n=e.getPropertyValue(r);return!n||n==="none"?null:((_||j)&&t.drawImageCount++,ye(n,null,t,!0).then(a=>{!a||n===a||e.setProperty(r,a,e.getPropertyPriority(r))}))}).filter(Boolean)}function At(e,t){if(D(e)){let r=e.currentSrc||e.src;if(!O(r))return[k(t,{url:r,imageDom:e,requestType:"image",responseType:"dataUrl"}).then(n=>{n&&(e.srcset="",e.dataset.originalSrc=r,e.src=n||"")})];(_||j)&&t.drawImageCount++}else if(F(e)&&!O(e.href.baseVal)){let r=e.href.baseVal;return[k(t,{url:r,imageDom:e,requestType:"image",responseType:"dataUrl"}).then(n=>{n&&(e.dataset.originalSrc=r,e.href.baseVal=n||"")})]}return[]}function Dt(e,t){let{ownerDocument:r,svgDefsElement:n}=t,a=e.getAttribute("href")??e.getAttribute("xlink:href");if(!a)return[];let[s,i]=a.split("#");if(i){let o=`#${i}`,u=t.shadowRoots.reduce((c,l)=>c??l.querySelector(`svg ${o}`),r?.querySelector(`svg ${o}`));if(s&&e.setAttribute("href",o),n?.querySelector(o))return[];if(u)return n?.appendChild(u.cloneNode(!0)),[];if(s)return[k(t,{url:s,responseType:"text"}).then(c=>{n?.insertAdjacentHTML("beforeend",c)})]}return[]}function Ee(e,t){let{tasks:r}=t;E(e)&&((D(e)||ie(e))&&r.push(...At(e,t)),Ue(e)&&r.push(...Dt(e,t))),R(e)&&r.push(...Nt(e.style,t)),e.childNodes.forEach(n=>{Ee(n,t)})}async function Rt(e,t){let{ownerDocument:r,svgStyleElement:n,fontFamilies:a,fontCssTexts:s,tasks:i,font:o}=t;if(!(!r||!n||!a.size))if(o&&o.cssText){let u=K(o.cssText,t);n.appendChild(r.createTextNode(`${u}
|
|
8
|
+
`))}else{let u=Array.from(r.styleSheets).filter(m=>{try{return"cssRules"in m&&!!m.cssRules.length}catch(h){return t.log.warn(`Error while reading CSS rules from ${m.href}`,h),!1}}),c=r.implementation.createHTMLDocument(""),l=c.createElement("style");c.head.appendChild(l);let g=l.sheet;await Promise.all(u.flatMap(m=>Array.from(m.cssRules).map(async h=>{if(Pe(h)){let f=h.href,w="";try{w=await k(t,{url:f,requestType:"text",responseType:"text"})}catch(b){t.log.warn(`Error fetch remote css import from ${f}`,b)}let p=w.replace(Se,(b,y,S)=>b.replace(S,le(S,f)));for(let b of kt(p))try{g.insertRule(b,g.cssRules.length)}catch(y){t.log.warn("Error inserting rule from remote css import",{rule:b,error:y})}}}))),g.cssRules.length&&u.push(g);let d=[];u.forEach(m=>{M(m.cssRules,d)}),d.filter(m=>xe(m)&&be(m.style.getPropertyValue("src"))&&ge(m.style.getPropertyValue("font-family"))?.some(h=>a.has(h))).forEach(m=>{let h=m,f=s.get(h.cssText);f?n.appendChild(r.createTextNode(`${f}
|
|
9
|
+
`)):i.push(ye(h.cssText,h.parentStyleSheet?h.parentStyleSheet.href:null,t).then(w=>{w=K(w,t),s.set(h.cssText,w),n.appendChild(r.createTextNode(`${w}
|
|
10
|
+
`))}))})}}var It=/(\/\*[\s\S]*?\*\/)/g,J=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function kt(e){if(e==null)return[];let t=[],r=e.replace(It,"");for(;;){let s=J.exec(r);if(!s)break;t.push(s[0])}r=r.replace(J,"");let n=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,a=new RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let s=n.exec(r);if(s)a.lastIndex=n.lastIndex;else if(s=a.exec(r),s)n.lastIndex=a.lastIndex;else break;t.push(s[0])}return t}var Ft=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,xt=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function K(e,t){let{font:r}=t,n=r?r?.preferredFormat:void 0;return n?e.replace(xt,a=>{for(;;){let[s,,i]=Ft.exec(a)||[];if(!i)return"";if(i===n)return`src: ${s};`}}):e}function M(e,t=[]){for(let r of Array.from(e))_e(r)?t.push(...M(r.cssRules)):"cssRules"in r?M(r.cssRules,t):t.push(r);return t}var Pt=/\bx?link:?href\s*=\s*["'](?!data:)[^"']+["']/i;function _t(e){return Pt.test(e.innerHTML)}async function Ut(e,t){let r=await C(e,t);if(E(r.node)&&F(r.node)&&!_t(r.node))return r.node;let{ownerDocument:n,log:a,tasks:s,svgStyleElement:i,svgDefsElement:o,svgStyles:u,font:c,progress:l,autoDestruct:g,onCloneNode:d,onEmbedNode:m,onCreateForeignObjectSvg:h}=r;a.time("clone node");let f=await q(r.node,r,!0);if(i&&n){let S="";u.forEach((T,v)=>{S+=`${T.join(`,
|
|
11
|
+
`)} {
|
|
12
|
+
${v}
|
|
13
|
+
}
|
|
14
|
+
`}),i.appendChild(n.createTextNode(S))}a.timeEnd("clone node"),await d?.(f),c!==!1&&E(f)&&(a.time("embed web font"),await Rt(f,r),a.timeEnd("embed web font")),a.time("embed node"),Ee(f,r);let w=s.length,p=0,b=async()=>{for(;;){let S=s.pop();if(!S)break;try{await S}catch(T){r.log.warn("Failed to run task",T)}l?.(++p,w)}};l?.(p,w),await Promise.all([...Array.from({length:4})].map(b)),a.timeEnd("embed node"),await m?.(f);let y=$t(f,r);return o&&y.insertBefore(o,y.children[0]),i&&y.insertBefore(i,y.children[0]),g&&St(r),await h?.(y),y}function $t(e,t){let{width:r,height:n}=t,a=ce(r,n,e.ownerDocument),s=a.ownerDocument.createElementNS(a.namespaceURI,"foreignObject");return s.setAttributeNS(null,"x","0%"),s.setAttributeNS(null,"y","0%"),s.setAttributeNS(null,"width","100%"),s.setAttributeNS(null,"height","100%"),s.append(e),a.appendChild(s),a}async function H(e,t){let r=await C(e,t),n=await Ut(r),a=ue(n,r.isEnable("removeControlCharacter"));r.autoDestruct||(r.svgStyleElement=me(r.ownerDocument),r.svgDefsElement=r.ownerDocument?.createElementNS(B,"defs"),r.svgStyles.clear());let s=A(a,n.ownerDocument);return await nt(s,r)}async function Lt(e,t){let r=await C(e,t),{log:n,type:a,quality:s,dpi:i}=r,o=await H(r);n.time("canvas to blob");let u=await Ge(o,a,s);if(["image/png","image/jpeg"].includes(a)&&i){let c=await Ke(u.slice(0,33)),l=new Uint8Array(c);return a==="image/png"?l=ne(l,i):a==="image/jpeg"&&(l=Q(l,i)),n.timeEnd("canvas to blob"),new Blob([l,u.slice(33)],{type:a})}return n.timeEnd("canvas to blob"),u}async function x(e,t){let r=await C(e,t),{log:n,quality:a,type:s,dpi:i}=r,o=await H(r);n.time("canvas to data url");let u=o.toDataURL(s,a);if(["image/png","image/jpeg"].includes(s)&&i&&se&&ke){let[c,l]=u.split(","),g=0,d=!1;if(s==="image/png"){let y=Re(l);y>=0?(g=Math.ceil((y+28)/3)*4,d=!0):g=33/3*4}else s==="image/jpeg"&&(g=18/3*4);let m=l.substring(0,g),h=l.substring(g),f=window.atob(m),w=new Uint8Array(f.length);for(let y=0;y<w.length;y++)w[y]=f.charCodeAt(y);let p=s==="image/png"?ne(w,i,d):Q(w,i),b=window.btoa(String.fromCharCode(...p));u=[c,",",b,h].join("")}return n.timeEnd("canvas to data url"),u}async function Bt(e,t){let r=await C(e,t),{width:n,height:a,ownerDocument:s}=r,i=await x(r),o=ce(n,a,s),u=o.ownerDocument.createElementNS(o.namespaceURI,"image");return u.setAttributeNS(null,"href",i),u.setAttributeNS(null,"height","100%"),u.setAttributeNS(null,"width","100%"),o.appendChild(u),ue(o,r.isEnable("removeControlCharacter"))}async function Ot(e,t){let r=await C(e,t),{ownerDocument:n,width:a,height:s,scale:i,type:o}=r,u=o==="image/svg+xml"?await Bt(r):await x(r),c=A(u,n);return c.width=Math.floor(a*i),c.height=Math.floor(s*i),c.style.width=`${a}px`,c.style.height=`${s}px`,c}async function Mt(e,t){return x(await C(e,{...t,type:"image/jpeg"}))}async function Wt(e,t){let r=await C(e,t),n=await H(r);return n.getContext("2d").getImageData(0,0,n.width,n.height).data}async function jt(e,t){return x(await C(e,{...t,type:"image/png"}))}async function qt(e,t){return x(await C(e,{...t,type:"image/webp"}))}export{tt as createContext,St as destroyContext,Lt as domToBlob,H as domToCanvas,x as domToDataUrl,Ut as domToForeignObjectSvg,Ot as domToImage,Mt as domToJpeg,Wt as domToPixel,jt as domToPng,Bt as domToSvg,qt as domToWebp,I as loadMedia,Qe as waitUntilLoad};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { HarnessEvent, DiagnosticsResult } from './types.js';
|
|
2
|
+
import type { SessionState } from './session.js';
|
|
3
|
+
import type { DevEventsWriter } from './writers/dev-events.js';
|
|
4
|
+
interface LogQuery {
|
|
5
|
+
channel: string;
|
|
6
|
+
sinceId?: number;
|
|
7
|
+
limit?: number;
|
|
8
|
+
level?: string;
|
|
9
|
+
search?: string;
|
|
10
|
+
browserId?: string;
|
|
11
|
+
browserCheckpoints?: Record<string, number>;
|
|
12
|
+
}
|
|
13
|
+
interface LogResult {
|
|
14
|
+
events: HarnessEvent[];
|
|
15
|
+
total: number;
|
|
16
|
+
returned: number;
|
|
17
|
+
next_cursor: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function queryLogs(files: Record<string, string>, query: LogQuery): LogResult;
|
|
20
|
+
interface DiagnosticsQuery {
|
|
21
|
+
since_checkpoint?: boolean;
|
|
22
|
+
since_ts?: number;
|
|
23
|
+
limit?: number;
|
|
24
|
+
level?: string;
|
|
25
|
+
search?: string;
|
|
26
|
+
browserId?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function getDiagnostics(files: Record<string, string>, session: SessionState, query: DiagnosticsQuery, devEventsWriter?: DevEventsWriter): DiagnosticsResult;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=log-reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-reader.d.ts","sourceRoot":"","sources":["../src/log-reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAyF,MAAM,YAAY,CAAA;AACxJ,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9D,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5C;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,SAAS,CAkEnF;AAED,UAAU,gBAAgB;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,gBAAgB,EACvB,eAAe,CAAC,EAAE,eAAe,GAChC,iBAAiB,CA8FnB"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
2
|
+
export function queryLogs(files, query) {
|
|
3
|
+
const filePath = files[query.channel];
|
|
4
|
+
if (!filePath || !existsSync(filePath)) {
|
|
5
|
+
return { events: [], total: 0, returned: 0, next_cursor: 0 };
|
|
6
|
+
}
|
|
7
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
8
|
+
if (!content.trim()) {
|
|
9
|
+
return { events: [], total: 0, returned: 0, next_cursor: 0 };
|
|
10
|
+
}
|
|
11
|
+
const lines = content.trim().split('\n');
|
|
12
|
+
const total = lines.length;
|
|
13
|
+
const limit = Math.min(query.limit ?? 50, 200);
|
|
14
|
+
const sinceId = query.sinceId ?? 0;
|
|
15
|
+
const events = [];
|
|
16
|
+
for (const line of lines) {
|
|
17
|
+
if (!line.trim())
|
|
18
|
+
continue;
|
|
19
|
+
let event;
|
|
20
|
+
try {
|
|
21
|
+
event = JSON.parse(line);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (event.id <= sinceId)
|
|
27
|
+
continue;
|
|
28
|
+
if (query.level) {
|
|
29
|
+
const payload = event.payload;
|
|
30
|
+
if (payload.level && payload.level !== query.level)
|
|
31
|
+
continue;
|
|
32
|
+
if (payload.type && payload.type !== query.level)
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (query.browserId) {
|
|
36
|
+
const payload = event.payload;
|
|
37
|
+
if (payload.browserId !== query.browserId)
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (query.browserCheckpoints) {
|
|
41
|
+
const payload = event.payload;
|
|
42
|
+
const bid = payload.browserId;
|
|
43
|
+
if (bid) {
|
|
44
|
+
const cp = query.browserCheckpoints[bid];
|
|
45
|
+
if (cp && event.ts <= cp)
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (query.search) {
|
|
50
|
+
const serialized = JSON.stringify(event.payload);
|
|
51
|
+
if (!serialized.toLowerCase().includes(query.search.toLowerCase()))
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
events.push(event);
|
|
55
|
+
if (events.length >= limit)
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
const lastEvent = events[events.length - 1];
|
|
59
|
+
return {
|
|
60
|
+
events,
|
|
61
|
+
total,
|
|
62
|
+
returned: events.length,
|
|
63
|
+
next_cursor: lastEvent ? lastEvent.id : sinceId,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export function getDiagnostics(files, session, query, devEventsWriter) {
|
|
67
|
+
const since_ts = query.since_checkpoint && session.checkpointTs
|
|
68
|
+
? session.checkpointTs
|
|
69
|
+
: query.since_ts;
|
|
70
|
+
const browserCheckpoints = session.browserCheckpoints;
|
|
71
|
+
const consoleResult = queryLogs(files, {
|
|
72
|
+
channel: 'console',
|
|
73
|
+
sinceId: since_ts ? findFirstIdAfterTs(files.console, since_ts) : 0,
|
|
74
|
+
limit: query.limit,
|
|
75
|
+
level: query.level,
|
|
76
|
+
search: query.search,
|
|
77
|
+
browserId: query.browserId,
|
|
78
|
+
browserCheckpoints,
|
|
79
|
+
});
|
|
80
|
+
const errorsResult = queryLogs(files, {
|
|
81
|
+
channel: 'errors',
|
|
82
|
+
sinceId: since_ts ? findFirstIdAfterTs(files.errors, since_ts) : 0,
|
|
83
|
+
limit: query.limit,
|
|
84
|
+
level: query.level,
|
|
85
|
+
search: query.search,
|
|
86
|
+
browserId: query.browserId,
|
|
87
|
+
browserCheckpoints,
|
|
88
|
+
});
|
|
89
|
+
const networkResult = queryLogs(files, {
|
|
90
|
+
channel: 'network',
|
|
91
|
+
sinceId: since_ts ? findFirstIdAfterTs(files.network, since_ts) : 0,
|
|
92
|
+
limit: query.limit,
|
|
93
|
+
search: query.search,
|
|
94
|
+
browserId: query.browserId,
|
|
95
|
+
browserCheckpoints,
|
|
96
|
+
});
|
|
97
|
+
const serverConsoleResult = queryLogs(files, {
|
|
98
|
+
channel: 'server-console',
|
|
99
|
+
sinceId: since_ts ? findFirstIdAfterTs(files['server-console'], since_ts) : 0,
|
|
100
|
+
limit: query.limit,
|
|
101
|
+
level: query.level,
|
|
102
|
+
search: query.search,
|
|
103
|
+
});
|
|
104
|
+
const summary = {
|
|
105
|
+
error_count: 0,
|
|
106
|
+
warning_count: 0,
|
|
107
|
+
server_error_count: 0,
|
|
108
|
+
failed_requests: 0,
|
|
109
|
+
has_unhandled_rejections: false
|
|
110
|
+
};
|
|
111
|
+
for (const event of consoleResult.events) {
|
|
112
|
+
const payload = event.payload;
|
|
113
|
+
if (payload.level === 'error')
|
|
114
|
+
summary.error_count++;
|
|
115
|
+
if (payload.level === 'warn')
|
|
116
|
+
summary.warning_count++;
|
|
117
|
+
}
|
|
118
|
+
for (const event of errorsResult.events) {
|
|
119
|
+
const payload = event.payload;
|
|
120
|
+
summary.error_count++;
|
|
121
|
+
if (payload.type === 'unhandled-rejection') {
|
|
122
|
+
summary.has_unhandled_rejections = true;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
for (const event of networkResult.events) {
|
|
126
|
+
const payload = event.payload;
|
|
127
|
+
if (payload.status >= 400) {
|
|
128
|
+
summary.failed_requests++;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
for (const event of serverConsoleResult.events) {
|
|
132
|
+
const payload = event.payload;
|
|
133
|
+
if (payload.level === 'error')
|
|
134
|
+
summary.server_error_count++;
|
|
135
|
+
if (payload.level === 'warn')
|
|
136
|
+
summary.warning_count++;
|
|
137
|
+
}
|
|
138
|
+
const buildStatus = devEventsWriter
|
|
139
|
+
? devEventsWriter.getStatus(since_ts)
|
|
140
|
+
: { last_update_at: null, last_error_at: null, last_error: undefined, update_count: 0, error_count: 0, pending: false };
|
|
141
|
+
return {
|
|
142
|
+
build: buildStatus,
|
|
143
|
+
logs: {
|
|
144
|
+
console: consoleResult.events,
|
|
145
|
+
errors: errorsResult.events,
|
|
146
|
+
network: networkResult.events,
|
|
147
|
+
server_console: serverConsoleResult.events,
|
|
148
|
+
},
|
|
149
|
+
summary,
|
|
150
|
+
checkpoint_ts: session.checkpointTs
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function findFirstIdAfterTs(filePath, ts) {
|
|
154
|
+
if (!filePath || !existsSync(filePath))
|
|
155
|
+
return 0;
|
|
156
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
157
|
+
if (!content.trim())
|
|
158
|
+
return 0;
|
|
159
|
+
const lines = content.trim().split('\n');
|
|
160
|
+
for (const line of lines) {
|
|
161
|
+
if (!line.trim())
|
|
162
|
+
continue;
|
|
163
|
+
try {
|
|
164
|
+
const event = JSON.parse(line);
|
|
165
|
+
if (event.ts > ts)
|
|
166
|
+
return event.id - 1;
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return 0;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=log-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-reader.js","sourceRoot":"","sources":["../src/log-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import type { SessionState } from './session.js';
|
|
3
|
+
import type { DevEventsWriter } from './writers/dev-events.js';
|
|
4
|
+
import type { ServerRegistry } from './registry.js';
|
|
5
|
+
export interface McpContext {
|
|
6
|
+
session: SessionState;
|
|
7
|
+
connectedClients: number;
|
|
8
|
+
devEventsWriter?: DevEventsWriter;
|
|
9
|
+
registry?: ServerRegistry;
|
|
10
|
+
/** CDP relay for Playwright access when Chrome extension is connected */
|
|
11
|
+
cdpRelay?: import('./cdp-relay.js').CDPRelay;
|
|
12
|
+
/** Mutable — set by browser_connect or auto-resolved */
|
|
13
|
+
currentProject?: string;
|
|
14
|
+
/** Mutable — locked server identity (projectId:type) */
|
|
15
|
+
currentServer?: string;
|
|
16
|
+
/** Mutable — locked browser ID for this session */
|
|
17
|
+
currentBrowser?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function getMcpSessionCount(): number;
|
|
20
|
+
export declare function sendNotificationToAll(channel: string, message: string, file: string, hint: string): void;
|
|
21
|
+
export declare function createMcpMiddleware(mcpPath: string, ctx: McpContext): (req: IncomingMessage, res: ServerResponse, next: () => void) => void;
|
|
22
|
+
//# sourceMappingURL=mcp-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,eAAe,CAAA;AAKrE,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,YAAY,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,gBAAgB,EAAE,QAAQ,CAAA;IAC5C,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAuBD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAOxG;AAuCD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,GACd,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CA2DvE"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
|
|
3
|
+
import { registerCoreTools } from './mcp-tools-core.js';
|
|
4
|
+
import { registerFullTools } from './mcp-tools-full.js';
|
|
5
|
+
import { registerElementGrabTool } from './element-grab.js';
|
|
6
|
+
function createMcpServerInstance(ctx, toolset = 'core') {
|
|
7
|
+
const mcp = new McpServer({ name: 'webdev', version: '0.1.0' }, { capabilities: { tools: {} } });
|
|
8
|
+
registerCoreTools(mcp, ctx);
|
|
9
|
+
registerElementGrabTool(mcp);
|
|
10
|
+
if (toolset === 'full') {
|
|
11
|
+
registerFullTools(mcp, ctx);
|
|
12
|
+
}
|
|
13
|
+
return mcp;
|
|
14
|
+
}
|
|
15
|
+
// Map of sessionId → { transport, server } for routing POST messages
|
|
16
|
+
const connections = new Map();
|
|
17
|
+
export function getMcpSessionCount() {
|
|
18
|
+
return connections.size;
|
|
19
|
+
}
|
|
20
|
+
export function sendNotificationToAll(channel, message, file, hint) {
|
|
21
|
+
for (const { server } of connections.values()) {
|
|
22
|
+
server.server.sendLoggingMessage({
|
|
23
|
+
level: 'error',
|
|
24
|
+
data: JSON.stringify({ channel, message, file, hint }),
|
|
25
|
+
}).catch(() => { });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* After MCP connect, ask the client for its workspace roots via roots/list.
|
|
30
|
+
* Only auto-sets currentProject if exactly one registered project matches.
|
|
31
|
+
*/
|
|
32
|
+
async function resolveProjectFromRoots(mcp, ctx) {
|
|
33
|
+
const registry = ctx.registry;
|
|
34
|
+
if (!registry || registry.size() === 0)
|
|
35
|
+
return;
|
|
36
|
+
const result = await mcp.server.listRoots();
|
|
37
|
+
if (!result?.roots?.length)
|
|
38
|
+
return;
|
|
39
|
+
const registeredDirs = registry.directories();
|
|
40
|
+
const matches = new Set();
|
|
41
|
+
for (const root of result.roots) {
|
|
42
|
+
let rootPath;
|
|
43
|
+
try {
|
|
44
|
+
rootPath = root.uri.startsWith('file://') ? decodeURIComponent(root.uri.slice(7)) : root.uri;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
for (const dir of registeredDirs) {
|
|
50
|
+
if (dir.startsWith(rootPath) || rootPath.startsWith(dir)) {
|
|
51
|
+
matches.add(dir);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Only auto-set if exactly one match — multiple is ambiguous
|
|
56
|
+
if (matches.size === 1) {
|
|
57
|
+
const dir = matches.values().next().value;
|
|
58
|
+
ctx.currentProject = dir;
|
|
59
|
+
console.log(`[webdev] Auto-resolved project from roots: ${dir}`);
|
|
60
|
+
}
|
|
61
|
+
else if (matches.size > 1) {
|
|
62
|
+
console.log(`[webdev] Multiple projects match roots (${matches.size}), not auto-resolving`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export function createMcpMiddleware(mcpPath, ctx) {
|
|
66
|
+
return (req, res, next) => {
|
|
67
|
+
const url = req.url ?? '';
|
|
68
|
+
if (url.startsWith(`${mcpPath}/sse`) && req.method === 'GET') {
|
|
69
|
+
const urlObj = new URL(url, 'http://localhost');
|
|
70
|
+
const toolset = urlObj.searchParams.get('tools') || 'core';
|
|
71
|
+
const projectParam = urlObj.searchParams.get('project') || undefined;
|
|
72
|
+
// Create a per-session context
|
|
73
|
+
const sessionCtx = { ...ctx, currentProject: projectParam };
|
|
74
|
+
const transport = new SSEServerTransport(`${mcpPath}/message`, res);
|
|
75
|
+
const server = createMcpServerInstance(sessionCtx, toolset);
|
|
76
|
+
connections.set(transport.sessionId, { transport, server });
|
|
77
|
+
ctx.connectedClients++;
|
|
78
|
+
transport.onclose = () => {
|
|
79
|
+
connections.delete(transport.sessionId);
|
|
80
|
+
ctx.connectedClients = Math.max(0, ctx.connectedClients - 1);
|
|
81
|
+
};
|
|
82
|
+
server.connect(transport).then(() => {
|
|
83
|
+
// After connection, try to auto-resolve project from client roots
|
|
84
|
+
if (!sessionCtx.currentProject && sessionCtx.registry) {
|
|
85
|
+
resolveProjectFromRoots(server, sessionCtx).catch(() => {
|
|
86
|
+
// Client may not support roots/list — that's fine
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}).catch((err) => {
|
|
90
|
+
console.error('[webdev] SSE connection error:', err);
|
|
91
|
+
});
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (url.startsWith(`${mcpPath}/message`) && req.method === 'POST') {
|
|
95
|
+
const urlObj = new URL(url, 'http://localhost');
|
|
96
|
+
const sessionId = urlObj.searchParams.get('sessionId');
|
|
97
|
+
if (!sessionId || !connections.has(sessionId)) {
|
|
98
|
+
res.statusCode = 400;
|
|
99
|
+
res.end(JSON.stringify({ error: 'Invalid or missing sessionId' }));
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const { transport } = connections.get(sessionId);
|
|
103
|
+
transport.handlePostMessage(req, res).catch((err) => {
|
|
104
|
+
console.error('[webdev] Message handling error:', err);
|
|
105
|
+
if (!res.headersSent) {
|
|
106
|
+
res.statusCode = 500;
|
|
107
|
+
res.end(JSON.stringify({ error: 'Internal error' }));
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
next();
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAK5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAmB3D,SAAS,uBAAuB,CAAC,GAAe,EAAE,UAAmB,MAAM;IACzE,MAAM,GAAG,GAAG,IAAI,SAAS,CACvB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EACpC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAA;IAED,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC3B,uBAAuB,CAAC,GAAG,CAAC,CAAA;IAE5B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,qEAAqE;AACrE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgE,CAAA;AAE3F,MAAM,UAAU,kBAAkB;IAChC,OAAO,WAAW,CAAC,IAAI,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,OAAe,EAAE,IAAY,EAAE,IAAY;IAChG,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC/B,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,uBAAuB,CAAC,GAAc,EAAE,GAAe;IACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC7B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAM;IAE9C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;IAC3C,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM;QAAE,OAAM;IAElC,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAEjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,QAAgB,CAAA;QACpB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;QAC9F,CAAC;QAAC,MAAM,CAAC;YAAC,SAAQ;QAAC,CAAC;QAEpB,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAA;QAC1C,GAAG,CAAC,cAAc,GAAG,GAAG,CAAA;QACxB,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAA;IAClE,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,2CAA2C,OAAO,CAAC,IAAI,uBAAuB,CAAC,CAAA;IAC7F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,GAAe;IAEf,OAAO,CAAC,GAAoB,EAAE,GAAmB,EAAE,IAAgB,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAA;QAEzB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;YAC/C,MAAM,OAAO,GAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAa,IAAI,MAAM,CAAA;YACvE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAA;YAEpE,+BAA+B;YAC/B,MAAM,UAAU,GAAe,EAAE,GAAG,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,CAAA;YAEvE,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,GAAG,OAAO,UAAU,EAAE,GAAG,CAAC,CAAA;YACnE,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YAE3D,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;YAC3D,GAAG,CAAC,gBAAgB,EAAE,CAAA;YAEtB,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACvB,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;gBACvC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAA;YAC9D,CAAC,CAAA;YAED,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClC,kEAAkE;gBAClE,IAAI,CAAC,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACtD,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBACrD,kDAAkD;oBACpD,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA;YACtD,CAAC,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,UAAU,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAEtD,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;gBACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAA;gBAClE,OAAM;YACR,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAA;YACjD,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClD,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;gBACtD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;oBACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAA;gBACtD,CAAC;YACH,CAAC,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;AACH,CAAC"}
|