@shiplightai/mcp 0.1.48 → 0.1.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/chrome-extension/background.js +11 -2
  2. package/dist/agentHelpers-242MN5TR-AK52N3RJ.js +4 -0
  3. package/dist/agentLogin-VLDCPI66-52P67BMY.js +4 -0
  4. package/dist/chunk-34YV5HSR.js +3999 -0
  5. package/dist/chunk-3KLJZX63.js +34 -0
  6. package/dist/chunk-5YN4X7LV.js +31 -0
  7. package/dist/chunk-67R4GP2H.js +4 -0
  8. package/dist/chunk-7W6YLS2E.js +22 -0
  9. package/dist/chunk-AFEFEPKR.js +4 -0
  10. package/dist/chunk-B7PRQ6ZM.js +4 -0
  11. package/dist/chunk-ETDHHU35.js +4 -0
  12. package/dist/chunk-FUPXB4VL.js +9 -0
  13. package/dist/chunk-GZSLCYQ7.js +192 -0
  14. package/dist/chunk-HHCLRZRA.js +15 -0
  15. package/dist/chunk-HQNPMIQW.js +200 -0
  16. package/dist/chunk-JKHKVGEC.js +4 -0
  17. package/dist/chunk-JT3U4KNR.js +59 -0
  18. package/dist/chunk-K7YTTSET.js +4 -0
  19. package/dist/chunk-KW4N7WFX.js +38 -0
  20. package/dist/chunk-LM633YUO.js +4 -0
  21. package/dist/chunk-ORSFJVJL.js +221 -0
  22. package/dist/chunk-PFLXO7G4.js +6 -0
  23. package/dist/chunk-PWGR4MG7.js +4 -0
  24. package/dist/chunk-RSM4LZ5P.js +4237 -0
  25. package/dist/chunk-Z3E7FIDS.js +17 -0
  26. package/dist/dist-CBGK26LV-CIQ64GXB.js +15 -0
  27. package/dist/dist-N7YI5OTM.js +4 -0
  28. package/dist/dist-VVPHZ43R.js +4 -0
  29. package/dist/dist-YNN5UBVC.js +4 -0
  30. package/dist/esm-7LSQY7YM.js +153 -0
  31. package/dist/fileFromPath-7DXRMRQU.js +19 -0
  32. package/dist/handler-2DVP4PMD-IFR4HH7D.js +4 -0
  33. package/dist/import-meta-resolve-GTPXFCVK.js +6 -0
  34. package/dist/index.js +21 -9352
  35. package/dist/lib-ZSSBUTBS.js +588 -0
  36. package/dist/magic-string.es-LGBSB5S5.js +16 -0
  37. package/dist/multipart-parser-JC2L5VJI.js +5 -0
  38. package/dist/multipart-parser-TJWXZEMW-OF3QE73Z.js +5 -0
  39. package/dist/relayBrowserCache-QL6LD4JJ-TKU47MOI.js +4 -0
  40. package/dist/server-KGF6BY7H.js +22 -0
  41. package/dist/src-B7EYCIZ4-XWOBV3GQ.js +6 -0
  42. package/dist/src-SYQHKG2Q.js +6 -0
  43. package/dist/task-2JIXKMIY-CMX3BD6Z.js +193 -0
  44. package/dist/token-AWIWOSVF.js +4 -0
  45. package/dist/token-QK7JKAKS.js +4 -0
  46. package/dist/token-util-GL5PN7CJ.js +4 -0
  47. package/dist/token-util-TEE5GKZ2.js +4 -0
  48. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from "module";
3
+ const require = __createRequire(import.meta.url);
4
+ import{c as w}from"./chunk-JKHKVGEC.js";import{createRequire as h}from"module";var S=h(import.meta.url),y=`
5
+ // check to make sure we're not inside the PDF viewer
6
+ window.isPdfViewer = !!document?.body?.querySelector('body > embed[type="application/pdf"][width="100%"]')
7
+ if (!window.isPdfViewer) {
8
+ // Permissions
9
+ const originalQuery = window.navigator.permissions.query;
10
+ window.navigator.permissions.query = (parameters) => (
11
+ parameters.name === 'notifications' ?
12
+ Promise.resolve({ state: Notification.permission }) :
13
+ originalQuery(parameters)
14
+ );
15
+ window.showOpenFilePicker = async () => {
16
+ const files = window.__pw_showOpenFilePicker_mock_files ?? [];
17
+ console.log('showOpenFilePicker: ', files);
18
+ return Promise.resolve(files.map(({ path, buffer }) => ({
19
+ // You can add more FileSystemFileHandle fields as necessary
20
+ getFile: () => Promise.resolve(new File([buffer], path))
21
+ })));
22
+ };
23
+ (() => {
24
+ if (window._eventListenerTrackerInitialized) return;
25
+ window._eventListenerTrackerInitialized = true;
26
+
27
+ const originalAddEventListener = EventTarget.prototype.addEventListener;
28
+ const eventListenersMap = new WeakMap();
29
+
30
+ EventTarget.prototype.addEventListener = function(type, listener, options) {
31
+ if (typeof listener === "function") {
32
+ let listeners = eventListenersMap.get(this);
33
+ if (!listeners) {
34
+ listeners = [];
35
+ eventListenersMap.set(this, listeners);
36
+ }
37
+
38
+ listeners.push({
39
+ type,
40
+ listener,
41
+ listenerPreview: listener.toString().slice(0, 100),
42
+ options
43
+ });
44
+ }
45
+
46
+ return originalAddEventListener.call(this, type, listener, options);
47
+ };
48
+
49
+ window.getEventListenersForNode = (node) => {
50
+ const listeners = eventListenersMap.get(node) || [];
51
+ return listeners.map(({ type, listenerPreview, options }) => ({
52
+ type,
53
+ listenerPreview,
54
+ options
55
+ }));
56
+ };
57
+ })();
58
+ }
59
+ `;function E(e,i=!0,t=!1){return[...e!==void 0?[`--remote-debugging-port=${e}`,"--remote-allow-origins=*"]:[],"--no-sandbox","--disable-blink-features=AutomationControlled","--timezone=America/Los_Angeles",...t?["--headless"]:[],...i?["--disable-web-security","--disable-site-isolation-trials","--disable-features=IsolateOrigins,site-per-process","--allow-running-insecure-content","--ignore-certificate-errors","--ignore-ssl-errors","--ignore-certificate-errors-spki-list"]:[]]}async function T(e,i){let t=await e.newContext(i);return t.addInitScript(y),t}async function q(e){return(await(await fetch(`http://127.0.0.1:${e}/json/version`)).json()).webSocketDebuggerUrl.replace("localhost","127.0.0.1")}async function x(e,i){let t=await(await fetch(`http://localhost:${e}/json/list`)).json();for(let s of t)if(s.type==="page"&&s.id===i)return s.webSocketDebuggerUrl;throw new Error(`No page found for id: ${i}`)}async function _(e){let i=await e.context().newCDPSession(e),t=await i.send("Target.getTargetInfo");return await i.detach(),t.targetInfo}var z=async(e,i,t)=>{let s=await e.context().newCDPSession(e),c=await s.send("Browser.getWindowForTarget");await s.send("Browser.setWindowBounds",{windowId:c.windowId,bounds:{width:i,height:t,windowState:"normal"}});try{await Promise.race([s.detach(),new Promise((d,l)=>setTimeout(()=>l(new Error("CDP detach timeout")),1e3))])}catch{}},b=.5*1e3,v=30*1e3,k=1*1e3,P=3*1e3;async function L(e,i){let t=new Set,s=Date.now(),c=new Set(["document","stylesheet","image","font","script","iframe"]),d=new Set(["text/html","text/css","application/javascript","image/","font/","application/json"]),l=["analytics","tracking","telemetry","beacon","metrics","doubleclick","adsystem","adserver","advertising","facebook.com/plugins","platform.twitter","linkedin.com/embed","livechat","zendesk","intercom","crisp.chat","hotjar","push-notifications","onesignal","pushwoosh","heartbeat","ping","alive","webrtc","rtmp://","wss://","cloudfront.net","fastly.net"],p=r=>{let n=r.toLowerCase();return n.startsWith("data:")||n.startsWith("blob:")?!0:l.some(o=>n.includes(o))},m=r=>{let n=r.resourceType(),o=r.url();if(!c.has(n)||p(o))return;let a=r.headers();a.purpose==="prefetch"||["video","audio"].includes(a["sec-fetch-dest"])||(t.add(r),s=Date.now())},f=async r=>{let n=r.request();if(!t.has(n))return;let o=(r.headers()["content-type"]||"").toLowerCase();if(["streaming","video","audio","webm","mp4","event-stream","websocket","protobuf"].some(u=>o.includes(u))){t.delete(n);return}if(![...d].some(u=>o.startsWith(u))){t.delete(n);return}let a=r.headers()["content-length"];if(a)try{if(parseInt(a,10)>5*1024*1024){t.delete(n);return}}catch{}t.delete(n),s=Date.now()},g=Date.now()-P;for(let r of await e.requests()){let n=r.resourceType(),o=r.url(),a=r.timing();c.has(n)&&!p(o)&&a.responseEnd===-1&&a.startTime>=g&&(t.add(r),s=Date.now())}w.debug(`[waitForStableNetwork] Pre-populated ${t.size} in-flight requests`),e.on("request",m),e.on("response",f);try{let r=Date.now(),n=k;for(;;){await new Promise(a=>setTimeout(a,100));let o=Date.now();if(t.size===0&&o-s>=n){w.debug(`[waitForStableNetwork] Network idle after ${o-r}ms`);break}if(o-r>i){w.debug(`[waitForStableNetwork] Max wait time exceeded (${i}ms), pending: ${t.size}`);break}}}finally{e.removeListener("request",m),e.removeListener("response",f)}}async function I(e,i=v,t=b){let s=Date.now();try{await Promise.all([e.waitForLoadState("load",{timeout:i}).catch(()=>{}),L(e,i)])}catch(l){throw l instanceof Error?new Error(`Failed during network stabilization: ${l.message}`):new Error("An unknown error occurred during network stabilization.")}let c=Date.now()-s,d=Math.max(t-c,0);d>0&&await new Promise(l=>setTimeout(l,d))}export{y as a,E as b,T as c,q as d,x as e,_ as f,z as g,I as h};
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from "module";
3
+ const require = __createRequire(import.meta.url);
4
+ import{a as T}from"./chunk-B7PRQ6ZM.js";import{a as i,c as f}from"./chunk-LM633YUO.js";var E=f(($e,m)=>{"use strict";var z=Object.create,d=Object.defineProperty,G=Object.getOwnPropertyDescriptor,X=Object.getOwnPropertyNames,Y=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty,Z=(e,r)=>{for(var t in r)d(e,t,{get:r[t],enumerable:!0})},b=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of X(r))!Q.call(e,n)&&n!==t&&d(e,n,{get:()=>r[n],enumerable:!(o=G(r,n))||o.enumerable});return e},h=(e,r,t)=>(t=e!=null?z(Y(e)):{},b(r||!e||!e.__esModule?d(t,"default",{value:e,enumerable:!0}):t,e)),K=e=>b(d({},"__esModule",{value:!0}),e),D={};Z(D,{findRootDir:()=>re,getUserDataDir:()=>te});m.exports=K(D);var u=h(i("path")),W=h(i("fs")),y=h(i("os")),ee=T();function re(){try{let e=process.cwd();for(;e!==u.default.dirname(e);){let r=u.default.join(e,".vercel");if(W.default.existsSync(r))return e;e=u.default.dirname(e)}}catch{throw new ee.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function te(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(y.default.platform()){case"darwin":return u.default.join(y.default.homedir(),"Library/Application Support");case"linux":return u.default.join(y.default.homedir(),".local/share");case"win32":return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}});var R=f((Le,I)=>{"use strict";var ne=Object.create,_=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,ie=Object.getOwnPropertyNames,ae=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty,ce=(e,r)=>{for(var t in r)_(e,t,{get:r[t],enumerable:!0})},x=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of ie(r))!se.call(e,n)&&n!==t&&_(e,n,{get:()=>r[n],enumerable:!(o=oe(r,n))||o.enumerable});return e},A=(e,r,t)=>(t=e!=null?ne(ae(e)):{},x(r||!e||!e.__esModule?_(t,"default",{value:e,enumerable:!0}):t,e)),ue=e=>x(_({},"__esModule",{value:!0}),e),S={};ce(S,{isValidAccessToken:()=>de,readAuthConfig:()=>pe,writeAuthConfig:()=>fe});I.exports=ue(S);var l=A(i("fs")),V=A(i("path")),le=q();function C(){let e=(0,le.getVercelDataDir)();if(!e)throw new Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return V.join(e,"auth.json")}function pe(){try{let e=C();if(!l.existsSync(e))return null;let r=l.readFileSync(e,"utf8");return r?JSON.parse(r):null}catch{return null}}function fe(e){let r=C(),t=V.dirname(r);l.existsSync(t)||l.mkdirSync(t,{mode:504,recursive:!0}),l.writeFileSync(r,JSON.stringify(e,null,2),{mode:384})}function de(e){if(!e.token)return!1;if(typeof e.expiresAt!="number")return!0;let r=Math.floor(Date.now()/1e3);return e.expiresAt>=r}});var $=f((Je,U)=>{"use strict";var O=Object.defineProperty,_e=Object.getOwnPropertyDescriptor,ve=Object.getOwnPropertyNames,ke=Object.prototype.hasOwnProperty,ye=(e,r)=>{for(var t in r)O(e,t,{get:r[t],enumerable:!0})},he=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of ve(r))!ke.call(e,n)&&n!==t&&O(e,n,{get:()=>r[n],enumerable:!(o=_e(r,n))||o.enumerable});return e},we=e=>he(O({},"__esModule",{value:!0}),e),M={};ye(M,{processTokenResponse:()=>Te,refreshTokenRequest:()=>je});U.exports=we(M);var w=i("os"),ge="https://vercel.com",Oe="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",N=`@vercel/oidc node-${process.version} ${(0,w.platform)()} (${(0,w.arch)()}) ${(0,w.hostname)()}`,g=null;async function Pe(){if(g)return g;let e=`${ge}/.well-known/openid-configuration`,r=await fetch(e,{headers:{"user-agent":N}});if(!r.ok)throw new Error("Failed to discover OAuth endpoints");let t=await r.json();if(!t||typeof t.token_endpoint!="string")throw new Error("Invalid OAuth discovery response");let o=t.token_endpoint;return g=o,o}async function je(e){let r=await Pe();return await fetch(r,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":N},body:new URLSearchParams({client_id:Oe,grant_type:"refresh_token",...e})})}async function Te(e){let r=await e.json();if(!e.ok){let t=typeof r=="object"&&r&&"error"in r?String(r.error):"Token refresh failed";return[new Error(t)]}return typeof r!="object"||r===null?[new Error("Invalid token response")]:typeof r.access_token!="string"?[new Error("Missing access_token in response")]:r.token_type!=="Bearer"?[new Error("Invalid token_type in response")]:typeof r.expires_in!="number"?[new Error("Missing expires_in in response")]:[null,r]}});var q=f((Fe,B)=>{var be=Object.create,v=Object.defineProperty,De=Object.getOwnPropertyDescriptor,me=Object.getOwnPropertyNames,Ee=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty,Ae=(e,r)=>{for(var t in r)v(e,t,{get:r[t],enumerable:!0})},J=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of me(r))!xe.call(e,n)&&n!==t&&v(e,n,{get:()=>r[n],enumerable:!(o=De(r,n))||o.enumerable});return e},F=(e,r,t)=>(t=e!=null?be(Ee(e)):{},J(r||!e||!e.__esModule?v(t,"default",{value:e,enumerable:!0}):t,e)),Se=e=>J(v({},"__esModule",{value:!0}),e),H={};Ae(H,{assertVercelOidcTokenResponse:()=>P,findProjectInfo:()=>Re,getTokenPayload:()=>Ne,getVercelCliToken:()=>Ce,getVercelDataDir:()=>Ve,getVercelOidcToken:()=>Ie,isExpired:()=>Ue,loadToken:()=>Me,saveToken:()=>qe});B.exports=Se(H);var p=F(i("path")),a=F(i("fs")),c=T(),k=E(),s=R(),L=$();function Ve(){let e="com.vercel.cli",r=(0,k.getUserDataDir)();return r?p.join(r,e):null}async function Ce(){let e=(0,s.readAuthConfig)();if(!e)return null;if((0,s.isValidAccessToken)(e))return e.token||null;if(!e.refreshToken)return(0,s.writeAuthConfig)({}),null;try{let r=await(0,L.refreshTokenRequest)({refresh_token:e.refreshToken}),[t,o]=await(0,L.processTokenResponse)(r);if(t||!o)return(0,s.writeAuthConfig)({}),null;let n={token:o.access_token,expiresAt:Math.floor(Date.now()/1e3)+o.expires_in};return o.refresh_token&&(n.refreshToken=o.refresh_token),(0,s.writeAuthConfig)(n),n.token??null}catch{return(0,s.writeAuthConfig)({}),null}}async function Ie(e,r,t){let o=`https://api.vercel.com/v1/projects/${r}/token?source=vercel-oidc-refresh${t?`&teamId=${t}`:""}`,n=await fetch(o,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!n.ok)throw new c.VercelOidcTokenError(`Failed to refresh OIDC token: ${n.statusText}`);let j=await n.json();return P(j),j}function P(e){if(!e||typeof e!="object")throw new TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in e)||typeof e.token!="string")throw new TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function Re(){let e=(0,k.findRootDir)();if(!e)throw new c.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let r=p.join(e,".vercel","project.json");if(!a.existsSync(r))throw new c.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let t=JSON.parse(a.readFileSync(r,"utf8"));if(typeof t.projectId!="string"&&typeof t.orgId!="string")throw new TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:t.projectId,teamId:t.orgId}}function qe(e,r){let t=(0,k.getUserDataDir)();if(!t)throw new c.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let o=p.join(t,"com.vercel.token",`${r}.json`),n=JSON.stringify(e);a.mkdirSync(p.dirname(o),{mode:504,recursive:!0}),a.writeFileSync(o,n),a.chmodSync(o,432)}function Me(e){let r=(0,k.getUserDataDir)();if(!r)throw new c.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let t=p.join(r,"com.vercel.token",`${e}.json`);if(!a.existsSync(t))return null;let o=JSON.parse(a.readFileSync(t,"utf8"));return P(o),o}function Ne(e){let r=e.split(".");if(r.length!==3)throw new c.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let t=r[1].replace(/-/g,"+").replace(/_/g,"/"),o=t.padEnd(t.length+(4-t.length%4)%4,"=");return JSON.parse(Buffer.from(o,"base64").toString("utf8"))}function Ue(e){return e.exp*1e3<Date.now()}});export{q as a};