@raycast/api 1.95.0 → 1.96.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.
|
@@ -815,7 +815,7 @@ ${(0,k6t.red)(X.join(`
|
|
|
815
815
|
`))}`)}i.printExtractedSchemas&&(E_("info","extracted tool schemas:"),console.log(k5.ux.colorizeJson(_e,{theme:{null:"red",string:"green",number:"magenta",boolean:"cyan",key:"white",comma:"yellow",brace:"yellow",bracket:"yellow"},pretty:!0}))),c.tools=_e;try{let X=Yme();X&&(c.ai={...c.ai||{},...X})}catch(X){throw X instanceof Error&&(X.message=`reading AI file failed (${X.message})`),X}}delete c.type,t1.writeFileSync(ag.join(i.outputDir,"package.json"),JSON.stringify(c,null," ")),t1.rmSync(ag.join(i.outputDir,"assets"),{recursive:!0,force:!0}),t1.existsSync("assets")&&t1.cpSync("assets",ag.join(i.outputDir,"assets"),{recursive:!0}),E6t(i.outputDir,y),E6t(ag.join(i.outputDir,"tools"),x),E_("success","built extension successfully")}async function C6t(i,s,c){let p=i.environment=="dist",y=await w6t.build({entryPoints:i.entryPoints,entryNames:i.entryNames,sourcemap:i.sourceMap,outdir:i.outputDir,platform:"node",external:i.external,target:"node22.14.0",jsxFactory:"_jsx",jsxFragment:"_jsxFragment",bundle:!0,minifyWhitespace:p,minifyIdentifiers:p,minifySyntax:p,write:!0,logLevel:"silent",metafile:i.metaOutputDir!="",banner:i.banner,alias:i.alias,loader:{".wasm":"binary"},plugins:[_wt,mwt(p,s,c)]});if(y.errors.length>0){let x=y.errors[0];throw new Error(`build failed (${x.location?.file}:${x.location?.line}:${x.location?.column} ${x.location?.lineText}): ${x.text}`)}i.metaOutputDir&&y.metafile&&t1.writeFileSync(ag.join(i.metaOutputDir,"meta.json"),JSON.stringify(y.metafile,null," "),"utf-8")}function E6t(i,s){try{t1.readdirSync(i).forEach(p=>{ag.extname(p)===".js"&&(s.find(y=>ag.basename(y,ag.extname(y))===ag.basename(p,ag.extname(p)))||t1.unlinkSync(ag.join(i,p)))})}catch{}}async function h7r(){let i="./node_modules/.bin/tsc";if(!t1.existsSync(i))throw new Error("please install the TypeScript compiler (npm install typescript)");try{await d3(i,["-p","tsconfig.json","--noEmit"],{preferLocal:!0,stderr:"inherit",stdout:"inherit"})}catch(s){throw new Error(`TypeScript check failed (${s.message})`)}}var S9e=require("child_process");var A6t=xa(require("path")),P6t=".",N6t="-",I6t="`git rev-list --max-parents=0 HEAD | tail -n 1`",T9e;function eT(i){T9e=i}function G_(i,s){return new Promise((c,p)=>{(0,S9e.exec)(i,{cwd:T9e},(y,x,w)=>{if(s.throwOnError&&y){p(new Error(`failed running git ${y.message.replace(/oauth2:gho_[a-zA-Z0-9]+@/g,"oauth2:gho_xxxxx")}
|
|
816
816
|
${x.trim()}
|
|
817
817
|
${w.trim()}`));return}c(x.trim())})})}function g7r(){return new Promise(i=>{(0,S9e.exec)("git --version",s=>{i(s===null)})})}async function Xme(){return await g7r()?await G_("git rev-parse --is-inside-work-tree",{throwOnError:!1})==="true":(E_("info","git is not installed"),!1)}async function pX(){return await G_("git status -s",{throwOnError:!0})!==""}async function F6t(){return await $6t()?(await G_("git remote get-url origin",{throwOnError:!1})).replace(/\.[^./]+$/,""):""}function O6t(){return G_("git rev-parse --show-prefix",{throwOnError:!0})}async function Zme(){return await $6t()?G_("git rev-parse HEAD",{throwOnError:!0}):""}async function R6t(i,s){T9e=A6t.default.dirname(s),await G_(`git clone --filter=blob:none --no-checkout ${i} "${s}"`,{throwOnError:!0})}async function L6t(i,s){try{await G_(`git remote set-url ${i} ${s}`,{throwOnError:!0})}catch{await G_(`git remote add ${i} ${s}`,{throwOnError:!0})}}function x9e(i){return G_(`git config --get ${i}`,{throwOnError:!0})}function D9e(i,s){return G_(`git config --local ${i} "${s}"`,{throwOnError:!0})}function M6t(i){return G_(`git sparse-checkout set ${i}`,{throwOnError:!0})}function pN(i){return G_(`git checkout ${i}`,{throwOnError:!0})}function ehe(i){return G_(`git checkout -b ${i} || git checkout ${i}`,{throwOnError:!0})}function C9e(i){return G_(`git branch -D ${i}`,{throwOnError:!1})}async function j6t(i){return await C9e(i),G_(`git push origin -d ${i}`,{throwOnError:!1})}async function the(i){return await G_(`git ls-remote --heads origin ${i}`,{throwOnError:!1})!==""}function E9e(i,s){return G_(`git fetch ${i} ${s} --depth=1`,{throwOnError:!1})}function B6t(i){return G_(`git reset --hard ${i}`,{throwOnError:!0})}async function q6t(i){let s=await G_(`git rev-parse ${i}`,{throwOnError:!0}),c=await G_(`git rev-parse origin/${i}`,{throwOnError:!0});return await G_(`git merge-base --is-ancestor ${c} ${s} && echo "success"`,{throwOnError:!1})==="success"}async function rhe(i){return await G_(`git tag -l ${i}`,{throwOnError:!1})!==""}async function J6t(i,s){return await G_(`git diff HEAD..${s} -- "${i}"`,{throwOnError:!0})!==""}function U6t(){return G_("git clean -fd",{throwOnError:!0})}function w9e(i){return G_(`git push -u origin ${i}`,{throwOnError:!0})}function k9e(i,s){return G_(`git tag -f -a ${i} -m "${s}"`,{throwOnError:!0})}function W6t(i,s){return G_(`git add "${i}" && git commit -m "${s}"`,{throwOnError:!0})}function z6t(i){return{latestPullTag:"__raycast_latest_pull_"+i+"__",latestPublishTag:"__raycast_latest_publish_"+i+"__"}}async function A9e(i){return(await G_(`git log --pretty=format:%s${i?` HEAD...${i}`:""}`,{throwOnError:!0})).split(`
|
|
818
|
-
`)}async function $6t(){try{return await G_("git remote get-url origin",{throwOnError:!1}),!0}catch{return!1}}async function P9e(i){let s=await y7r(i);E_("info","archived extension");try{let c=await b7r(i),p=s0.existsSync("metadata")?s0.readdirSync("metadata").filter(x=>x.endsWith(".png")).map(x=>eF.resolve(eF.join("metadata",x))):[];p.length&&(c.metadata=await Hyt(p),E_("info","uploaded metadata")),c.archive=await OFe(s,"application/zip"),E_("info","uploaded extension");let y=await Yyt(c);return E_("info","created new version"),y}finally{s0.rmSync(s,{force:!0})}}async function y7r(i){let s=eF.join(".",i.name+".zip"),c=eF.join(".",i.name);try{return await b9e({environment:"dist",outputDir:c,skipTypeDeclarations:!1,printExtractedSchemas:!1},()=>{}),await v7r(c,s),s}finally{s0.rmSync(c,{recursive:!0,force:!0})}}function v7r(i,s){let c=s0.createWriteStream(s),p=(0,V6t.default)("zip");return new Promise((y,x)=>{c.on("close",()=>{y(void 0)}),p.on("error",L=>{x(L),s0.rmSync(s,{force:!0})}),p.pipe(c);let w=eF.basename(i);p.directory(i,w),p.finalize()})}async function b7r(i){let s=i.commands.map(y=>({name:y.name,title:y.title,subtitle:y.subtitle,description:y.description,icon:y.icon,keywords:y.keywords,mode:y.mode,disabled_by_default:y.disabledByDefault})),c=i.tools?.map(y=>({name:y.name,title:y.title,description:y.description,icon:y.icon,keywords:y.keywords,...y.functionalities?{functionalities:y.functionalities}:{}}))||[],p=Yme();return p&&(i.ai={...i.ai||{},...p}),{name:i.name,title:i.title,description:i.description,icon:i.icon,keywords:i.keywords,categories:i.categories,license:i.license,author:i.author,owner:i.owner,access:i.access,native_id:i.native_id,contributors:i.contributors,past_contributors:i.pastContributors,commands:s,tools:c,...i.ai&&Array.isArray(i.ai.evals)?{prompt_examples:i.ai.evals.filter(y=>y.usedAsExample!==!1&&y.input).map(y=>y.input)}:{},...S7r(),...T7r(),...x7r(),...await C7r(),api_version:D7r(),archive:"",metadata:[]}}function S7r(){let i=s0.readdirSync(".");for(let s of i)if(s.toLowerCase().startsWith("readme.")&&s.endsWith(".md"))return{readme_filename:s,readme:s0.readFileSync(s,"base64")}}function T7r(){let i=s0.readdirSync(".");for(let s of i)if(s.toLowerCase().startsWith("help.")&&s.endsWith(".md"))return{help:s0.readFileSync(s,"base64")}}function x7r(){let i=s0.readdirSync(".");for(let s of i)if(s.toLowerCase().startsWith("changelog.")&&s.endsWith(".md"))return{changelog:s0.readFileSync(s,"base64")}}function D7r(){try{return JSON.parse(s0.readFileSync("./node_modules/@raycast/api/package.json","utf-8")).version}catch(i){throw new Error(`failed to read API version from @raycast/api package.json (${i.message})`)}}async function C7r(){if(await Xme())return{source_url:await F6t(),relative_path:await O6t(),commit_sha:await Zme()};console.log("not inside git work tree")}var fPt=xa(cY());var mX=require("node:child_process"),tT=xa(require("node:fs")),hX=xa(require("node:path"));var H6t=xa(PFe());async function Y6t(i,s){let c=!1;switch(i){case"start":{k7r(),E7r(),w7r();break}case"stop":{try{tT.unlinkSync(G6t("log"))}catch{}try{tT.unlinkSync(G6t("pid"))}catch{}return}default:c=!0}let p;try{p=Dk()}catch{return}P7r()||E_("warn","Raycast is not running"),c?A7r(p.name,i,s):await N9e(p.name,i,s)}function G6t(i){return hX.join(w7(),i==="log"?"dev.log":"cli.pid")}function E7r(){let i=w7();try{tT.mkdirSync(i,{recursive:!0})}catch(c){throw new Error(`cannot create output directory (${c.message})`)}let s=process.pid.toString();try{tT.writeFileSync(hX.join(i,"cli.pid"),s,{mode:420})}catch(c){throw new Error(`cannot write pid file (${c.message})`)}}function w7r(){let i=w7();try{tT.mkdirSync(i,{recursive:!0})}catch(s){throw new Error(`cannot create output directory (${s.message})`)}try{tT.writeFileSync(hX.join(i,"dev.log"),"")}catch(s){throw new Error(`cannot write log file (${s.message})`)}}function k7r(){let i=hX.join(w7(),"cli.pid");try{let c=tT.readFileSync(i,"utf8").trim();process.platform==="win32"?(0,mX.execSync)(`taskkill /F /PID ${c}`):(0,mX.execSync)(`kill -9 ${c}`,{shell:"/bin/sh"})}catch{}}var dX=null;function A7r(i,s,c){dX?(clearTimeout(dX),dX=setTimeout(()=>{N9e(i,s,c)},300)):(N9e(i,s,c),dX=setTimeout(()=>{dX=null},300))}async function N9e(i,s,c){let p=process.cwd(),y=`${Gct()}://cli/${i}/${s}?cwd=${encodeURIComponent(p)}&info=${encodeURIComponent(c||"")}`;try{await(0,H6t.default)(y,{background:!0})}catch(x){E_("error",`cannot notify Raycast (${x.message})`)}}function P7r(){if(process.platform==="win32")return(0,mX.execSync)('tasklist /FI "IMAGENAME eq Raycast.exe" /FO CSV /NH',{encoding:"utf8"}).toLowerCase().includes("raycast.exe");{let s=Vct(),c="ps -e -o args | grep -v grep | grep -i contents/macos/raycast",p;try{p=(0,mX.execSync)(c,{shell:"/bin/sh",encoding:"utf8"})}catch{return!1}let y=p.trim();if(y==="")return!1;let x=y.split(`
|
|
818
|
+
`)}async function $6t(){try{return await G_("git remote get-url origin",{throwOnError:!1}),!0}catch{return!1}}async function P9e(i){let s=await y7r(i);E_("info","archived extension");try{let c=await b7r(i),p=s0.existsSync("metadata")?s0.readdirSync("metadata").filter(x=>x.endsWith(".png")).map(x=>eF.resolve(eF.join("metadata",x))):[];p.length&&(c.metadata=await Hyt(p),E_("info","uploaded metadata")),c.archive=await OFe(s,"application/zip"),E_("info","uploaded extension");let y=await Yyt(c);return E_("info","created new version"),y}finally{s0.rmSync(s,{force:!0})}}async function y7r(i){let s=eF.join(".",i.name+".zip"),c=eF.join(".",i.name);try{return await b9e({environment:"dist",outputDir:c,skipTypeDeclarations:!1,printExtractedSchemas:!1},()=>{}),await v7r(c,s),s}finally{s0.rmSync(c,{recursive:!0,force:!0})}}function v7r(i,s){let c=s0.createWriteStream(s),p=(0,V6t.default)("zip");return new Promise((y,x)=>{c.on("close",()=>{y(void 0)}),p.on("error",L=>{x(L),s0.rmSync(s,{force:!0})}),p.pipe(c);let w=eF.basename(i);p.directory(i,w),p.finalize()})}async function b7r(i){let s=i.commands.map(y=>({name:y.name,title:y.title,subtitle:y.subtitle,description:y.description,icon:y.icon,keywords:y.keywords,mode:y.mode,disabled_by_default:y.disabledByDefault})),c=i.tools?.map(y=>({name:y.name,title:y.title,description:y.description,icon:y.icon,keywords:y.keywords,...y.functionalities?{functionalities:y.functionalities}:{}}))||[],p=Yme();return p&&(i.ai={...i.ai||{},...p}),{name:i.name,title:i.title,description:i.description,icon:i.icon,keywords:i.keywords,categories:i.categories,license:i.license,author:i.author,owner:i.owner,access:i.access,native_id:i.native_id,contributors:i.contributors,past_contributors:i.pastContributors,commands:s,tools:c,platforms:i.platforms,...i.ai&&Array.isArray(i.ai.evals)?{prompt_examples:i.ai.evals.filter(y=>y.usedAsExample!==!1&&y.input).map(y=>y.input)}:{},...S7r(),...T7r(),...x7r(),...await C7r(),api_version:D7r(),archive:"",metadata:[]}}function S7r(){let i=s0.readdirSync(".");for(let s of i)if(s.toLowerCase().startsWith("readme.")&&s.endsWith(".md"))return{readme_filename:s,readme:s0.readFileSync(s,"base64")}}function T7r(){let i=s0.readdirSync(".");for(let s of i)if(s.toLowerCase().startsWith("help.")&&s.endsWith(".md"))return{help:s0.readFileSync(s,"base64")}}function x7r(){let i=s0.readdirSync(".");for(let s of i)if(s.toLowerCase().startsWith("changelog.")&&s.endsWith(".md"))return{changelog:s0.readFileSync(s,"base64")}}function D7r(){try{return JSON.parse(s0.readFileSync("./node_modules/@raycast/api/package.json","utf-8")).version}catch(i){throw new Error(`failed to read API version from @raycast/api package.json (${i.message})`)}}async function C7r(){if(await Xme())return{source_url:await F6t(),relative_path:await O6t(),commit_sha:await Zme()};console.log("not inside git work tree")}var fPt=xa(cY());var mX=require("node:child_process"),tT=xa(require("node:fs")),hX=xa(require("node:path"));var H6t=xa(PFe());async function Y6t(i,s){let c=!1;switch(i){case"start":{k7r(),E7r(),w7r();break}case"stop":{try{tT.unlinkSync(G6t("log"))}catch{}try{tT.unlinkSync(G6t("pid"))}catch{}return}default:c=!0}let p;try{p=Dk()}catch{return}P7r()||E_("warn","Raycast is not running"),c?A7r(p.name,i,s):await N9e(p.name,i,s)}function G6t(i){return hX.join(w7(),i==="log"?"dev.log":"cli.pid")}function E7r(){let i=w7();try{tT.mkdirSync(i,{recursive:!0})}catch(c){throw new Error(`cannot create output directory (${c.message})`)}let s=process.pid.toString();try{tT.writeFileSync(hX.join(i,"cli.pid"),s,{mode:420})}catch(c){throw new Error(`cannot write pid file (${c.message})`)}}function w7r(){let i=w7();try{tT.mkdirSync(i,{recursive:!0})}catch(s){throw new Error(`cannot create output directory (${s.message})`)}try{tT.writeFileSync(hX.join(i,"dev.log"),"")}catch(s){throw new Error(`cannot write log file (${s.message})`)}}function k7r(){let i=hX.join(w7(),"cli.pid");try{let c=tT.readFileSync(i,"utf8").trim();process.platform==="win32"?(0,mX.execSync)(`taskkill /F /PID ${c}`):(0,mX.execSync)(`kill -9 ${c}`,{shell:"/bin/sh"})}catch{}}var dX=null;function A7r(i,s,c){dX?(clearTimeout(dX),dX=setTimeout(()=>{N9e(i,s,c)},300)):(N9e(i,s,c),dX=setTimeout(()=>{dX=null},300))}async function N9e(i,s,c){let p=process.cwd(),y=`${Gct()}://cli/${i}/${s}?cwd=${encodeURIComponent(p)}&info=${encodeURIComponent(c||"")}`;try{await(0,H6t.default)(y,{background:!0})}catch(x){E_("error",`cannot notify Raycast (${x.message})`)}}function P7r(){if(process.platform==="win32")return(0,mX.execSync)('tasklist /FI "IMAGENAME eq Raycast.exe" /FO CSV /NH',{encoding:"utf8"}).toLowerCase().includes("raycast.exe");{let s=Vct(),c="ps -e -o args | grep -v grep | grep -i contents/macos/raycast",p;try{p=(0,mX.execSync)(c,{shell:"/bin/sh",encoding:"utf8"})}catch{return!1}let y=p.trim();if(y==="")return!1;let x=y.split(`
|
|
819
819
|
`);for(let w of x){let L=w.indexOf("/Contents/MacOS/Raycast");if(L>-1&&(w=w.substring(0,L)),!!tT.existsSync(w))return!0}}return!1}var oPt=xa(require("path")),cPt=xa(require("fs"));var I9e=xa(require("path"));async function Q6t(){if($_("githubAccessToken"))return;let i=$_("githubClientId"),s=await Hg("https://github.com/login/device/code",{method:"POST",body:JSON.stringify({client_id:i,scope:"repo"})});E_("info",`
|
|
820
820
|
|
|
821
821
|
\u{1F510} Raycast extensions are published on GitHub.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var $=Object.create;var m=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var I=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),R=(t,n)=>{for(var i in n)m(t,i,{get:n[i],enumerable:!0})},A=(t,n,i,c)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of D(n))!L.call(t,o)&&o!==i&&m(t,o,{get:()=>n[o],enumerable:!(c=G(n,o))||c.enumerable});return t};var h=(t,n,i)=>(i=t!=null?$(O(t)):{},A(n||!t||!t.__esModule?m(i,"default",{value:t,enumerable:!0}):i,t)),F=t=>A(m({},"__esModule",{value:!0}),t);var B=I((Q,k)=>{var Y=require("node:tty"),J=Y?.WriteStream?.prototype?.hasColors?.()??!1,r=(t,n)=>{if(!J)return o=>o;let i=`\x1B[${t}m`,c=`\x1B[${n}m`;return o=>{let d=o+"",p=d.indexOf(c);if(p===-1)return i+d+c;let x=i,g=0;for(;p!==-1;)x+=d.slice(g,p)+i,g=p+c.length,p=d.indexOf(c,g);return x+=d.slice(g)+c,x}},e={};e.reset=r(0,0);e.bold=r(1,22);e.dim=r(2,22);e.italic=r(3,23);e.underline=r(4,24);e.overline=r(53,55);e.inverse=r(7,27);e.hidden=r(8,28);e.strikethrough=r(9,29);e.black=r(30,39);e.red=r(31,39);e.green=r(32,39);e.yellow=r(33,39);e.blue=r(34,39);e.magenta=r(35,39);e.cyan=r(36,39);e.white=r(37,39);e.gray=r(90,39);e.bgBlack=r(40,49);e.bgRed=r(41,49);e.bgGreen=r(42,49);e.bgYellow=r(43,49);e.bgBlue=r(44,49);e.bgMagenta=r(45,49);e.bgCyan=r(46,49);e.bgWhite=r(47,49);e.bgGray=r(100,49);e.redBright=r(91,39);e.greenBright=r(92,39);e.yellowBright=r(93,39);e.blueBright=r(94,39);e.magentaBright=r(95,39);e.cyanBright=r(96,39);e.whiteBright=r(97,39);e.bgRedBright=r(101,49);e.bgGreenBright=r(102,49);e.bgYellowBright=r(103,49);e.bgBlueBright=r(104,49);e.bgMagentaBright=r(105,49);e.bgCyanBright=r(106,49);e.bgWhiteBright=r(107,49);k.exports=e});var P=I((oe,H)=>{H.exports={name:"ray",description:"Build extensions for Raycast with React and Node.js.",version:"1.
|
|
1
|
+
"use strict";var $=Object.create;var m=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var I=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),R=(t,n)=>{for(var i in n)m(t,i,{get:n[i],enumerable:!0})},A=(t,n,i,c)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of D(n))!L.call(t,o)&&o!==i&&m(t,o,{get:()=>n[o],enumerable:!(c=G(n,o))||c.enumerable});return t};var h=(t,n,i)=>(i=t!=null?$(O(t)):{},A(n||!t||!t.__esModule?m(i,"default",{value:t,enumerable:!0}):i,t)),F=t=>A(m({},"__esModule",{value:!0}),t);var B=I((Q,k)=>{var Y=require("node:tty"),J=Y?.WriteStream?.prototype?.hasColors?.()??!1,r=(t,n)=>{if(!J)return o=>o;let i=`\x1B[${t}m`,c=`\x1B[${n}m`;return o=>{let d=o+"",p=d.indexOf(c);if(p===-1)return i+d+c;let x=i,g=0;for(;p!==-1;)x+=d.slice(g,p)+i,g=p+c.length,p=d.indexOf(c,g);return x+=d.slice(g)+c,x}},e={};e.reset=r(0,0);e.bold=r(1,22);e.dim=r(2,22);e.italic=r(3,23);e.underline=r(4,24);e.overline=r(53,55);e.inverse=r(7,27);e.hidden=r(8,28);e.strikethrough=r(9,29);e.black=r(30,39);e.red=r(31,39);e.green=r(32,39);e.yellow=r(33,39);e.blue=r(34,39);e.magenta=r(35,39);e.cyan=r(36,39);e.white=r(37,39);e.gray=r(90,39);e.bgBlack=r(40,49);e.bgRed=r(41,49);e.bgGreen=r(42,49);e.bgYellow=r(43,49);e.bgBlue=r(44,49);e.bgMagenta=r(45,49);e.bgCyan=r(46,49);e.bgWhite=r(47,49);e.bgGray=r(100,49);e.redBright=r(91,39);e.greenBright=r(92,39);e.yellowBright=r(93,39);e.blueBright=r(94,39);e.magentaBright=r(95,39);e.cyanBright=r(96,39);e.whiteBright=r(97,39);e.bgRedBright=r(101,49);e.bgGreenBright=r(102,49);e.bgYellowBright=r(103,49);e.bgBlueBright=r(104,49);e.bgMagentaBright=r(105,49);e.bgCyanBright=r(106,49);e.bgWhiteBright=r(107,49);k.exports=e});var P=I((oe,H)=>{H.exports={name:"ray",description:"Build extensions for Raycast with React and Node.js.",version:"1.96.0",author:"mathieudutour",private:!0,bin:{ray:"./bin/run.js"},dependencies:{"@oclif/core":"^4.0.33","@oclif/plugin-autocomplete":"^3.2.10","@oclif/plugin-help":"^6.2.18","@oclif/plugin-not-found":"^3.2.28","@raycast/eslint-plugin":"^1.0.15","@raycast/extract-tools-info":"file:../extract-tools-info",ajv:"^8.17.1",archiver:"^7.0.1",camelcase:"^8.0.0",chokidar:"^4.0.1","cli-progress":"^3.12.0",clipboardy:"^2.3.0",execa:"^9.5.1","json-source-map":"^0.6.1",json5:"^2.2.3","node-fetch-cjs":"^3.3.2",open:"^8.4.2",ora:"^8.1.1","terminal-link":"^3.0.0",yaml:"^2.6.1","yoctocolors-cjs":"^2.1.2"},devDependencies:{"@raycast/eslint-config":"^1.0.11","@types/archiver":"^6.0.3","@types/cli-progress":"^3.11.6","@types/node":"20.8.4",esbuild:"^0.25.1",eslint:"^8","json-schema-to-typescript":"^15.0.3",oclif:"^4.15.28",typescript:"^5.6.3"},files:["/bin","/dist","/oclif.manifest.json"],license:"MIT",main:"dist/index.js",oclif:{bin:"ray",dirname:"ray",commands:"./dist/commands",plugins:["@oclif/plugin-autocomplete","@oclif/plugin-help","@oclif/plugin-not-found"]},scripts:{"json-schema-to-ts":"json2ts ../../api/schema.json -y > src/types/manifest-schema.d.ts","build-scripts":'./node_modules/.bin/tsc "./scripts/build.ts" "./scripts/build-command.ts" "./scripts/dev-command.ts" --outDir ./scripts/dist --esModuleInterop',prebuild:"npm run json-schema-to-ts && npm run build-scripts",build:"node ./scripts/dist/build-command.js",predev:"npm run json-schema-to-ts && npm run build-scripts",dev:"node ./scripts/dist/dev-command.js",lint:"eslint . --ext .ts"},types:"dist/index.d.ts"}});var K={};R(K,{default:()=>b});module.exports=F(K);var l=require("@oclif/core");var f=h(require("node:fs")),w=h(require("node:path")),T=h(require("node:os"));var v={production:{url:"https://www.raycast.com",clientID:"KqAdcGhNfBKiUpfjD3nU3VNgh1t0iMPoX2hYEkN9d4I"},staging:{url:"https://www.rayca.st",clientID:"KqAdcGhNfBKiUpfjD3nU3VNgh1t0iMPoX2hYEkN9d4I"},development:{url:"http://localhost:3000",clientID:"rOCD_LhnXFObSLu9v7788qOGu25FZDqEzGjet4Q45ZY"}}[process.env.API_ENV||"production"],S="e69bae0ec90f5e838555",a={},E;function C(t){E=t;try{a=JSON.parse(f.readFileSync(w.join(M(),"config.json"),"utf8"))}catch(n){if(n instanceof Error&&n.code==="ENOENT")return;throw new Error(`Failed to read config file: ${n}`)}}function U(t){switch(t){case"raycastApiURL":return process.env.RAY_APIURL||a.APIURL||v.url;case"raycastAccessToken":return process.env.RAY_TOKEN||a.Token||a.AccessToken||"";case"raycastClientId":return process.env.RAY_CLIENT_ID||a.ClientID||v.clientID;case"githubClientId":return process.env.RAY_GithubClientID||a.GithubClientID||S;case"githubAccessToken":return process.env.GITHUB_ACCESS_TOKEN||a.GithubAccessToken||"";case"flavorName":return process.env.RAY_Target||(typeof a.Target>"u"?N("release"):a.Target)}}function N(t){switch(t){case"debug":return"debug";case"internal":return"internal";case"release":return"";case"x":return"x";case"x-internal":return"x-internal";case"x-debug":return"x-debug";case void 0:return U("flavorName")}}function _(){let t=N(E);return t==""?"raycast":`raycast-${t}`}function M(){let t=w.join(T.default.homedir(),".config",_());return f.mkdirSync(t,{recursive:!0}),t}var s=h(B());var ee=(0,s.blue)((0,s.dim)("internal only"));var u={wait:`\u{1F550}${(0,s.blue)("wait")} - `,info:`${process.env.GITHUB_ACTIONS==="true"?"\u2139\uFE0F":"\u2139\uFE0F "}${(0,s.cyan)("info")} - `,success:`\u2705${(0,s.green)("ready")} - `,warn:`${process.env.GITHUB_ACTIONS==="true"?"\u26A0\uFE0F":"\u26A0\uFE0F "}${(0,s.yellow)("warn")} - `,error:`\u{1F4A5}${(0,s.red)("error")} - `,event:`\u26A1\uFE0F${(0,s.magenta)("event")} - `,paymentPrompt:`\u{1F4B0}${(0,s.yellowBright)("plan")} - `},q=!0;function j(t,n){t||(u.wait=`${(0,s.blue)("wait")} - `,u.info=`${(0,s.cyan)("info")} - `,u.success=`${(0,s.green)("ready")} - `,u.warn=`${(0,s.yellow)("warn")} - `,u.error=`${(0,s.red)("error")} - `,u.event=`${(0,s.magenta)("event")} - `,u.paymentPrompt=`${(0,s.yellowBright)("plan")} - `),n&&(q=!1)}var y=class extends l.Command{static baseFlags={"exit-on-error":l.Flags.boolean({default:!0,helpGroup:"GLOBAL",aliases:["exitOnError"],deprecateAliases:!0,summary:"Always exit with non-zero code on error",allowNo:!0}),emoji:l.Flags.boolean({default:!1,helpGroup:"GLOBAL",summary:"Prefix output with emojis \u{1F308}"}),help:l.Flags.boolean({default:!1,helpGroup:"GLOBAL",summary:"Show the help message for the command"}),"non-interactive":l.Flags.boolean({char:"I",default:!1,helpGroup:"GLOBAL",summary:"Disable interactive outputs, useful for CI"}),target:l.Flags.option({char:"t",description:"Raycast app target",helpGroup:"GLOBAL",multiple:!1,options:["debug","internal","release","x","x-debug","x-internal"],hidden:!0})()};flags;args;async init(){await super.init(),process.on("SIGINT",()=>process.exit(1));let{args:n,flags:i}=await this.parse({flags:this.ctor.flags,baseFlags:super.ctor.baseFlags,enableJsonFlag:this.ctor.enableJsonFlag,args:this.ctor.args,strict:this.ctor.strict});this.flags=i,this.args=n,C(this.flags.target),j(this.flags.emoji,this.flags["non-interactive"])}error(n,i){return i?.message&&n instanceof Error&&(n.message=`${i.message} (${n.message})`,delete i.message),super.error(n,i)}async catch(n){return super.catch(n)}async finally(n){return super.finally(n)}};var b=class t extends y{static description="Print the version number";async run(){await this.parse(t),this.log(`${P().version}`)}};
|
|
@@ -781,7 +781,7 @@ ${h.join(`
|
|
|
781
781
|
${(0,i1t.red)(se.join(`
|
|
782
782
|
`))}`)}s.printExtractedSchemas&&(_h("info","extracted tool schemas:"),console.log(I7.ux.colorizeJson(Pe,{theme:{null:"red",string:"green",number:"magenta",boolean:"cyan",key:"white",comma:"yellow",brace:"yellow",bracket:"yellow"},pretty:!0}))),u.tools=Pe;try{let se=tfe();se&&(u.ai={...u.ai||{},...se})}catch(se){throw se instanceof Error&&(se.message=`reading AI file failed (${se.message})`),se}}delete u.type,vy.writeFileSync(Nh.join(s.outputDir,"package.json"),JSON.stringify(u,null," ")),vy.rmSync(Nh.join(s.outputDir,"assets"),{recursive:!0,force:!0}),vy.existsSync("assets")&&vy.cpSync("assets",Nh.join(s.outputDir,"assets"),{recursive:!0}),r1t(s.outputDir,S),r1t(Nh.join(s.outputDir,"tools"),C),_h("success","built extension successfully")}async function t1t(s,a,u){let h=s.environment=="dist",S=await n1t.build({entryPoints:s.entryPoints,entryNames:s.entryNames,sourcemap:s.sourceMap,outdir:s.outputDir,platform:"node",external:s.external,target:"node22.14.0",jsxFactory:"_jsx",jsxFragment:"_jsxFragment",bundle:!0,minifyWhitespace:h,minifyIdentifiers:h,minifySyntax:h,write:!0,logLevel:"silent",metafile:s.metaOutputDir!="",banner:s.banner,alias:s.alias,loader:{".wasm":"binary"},plugins:[Wht,Vht(h,a,u)]});if(S.errors.length>0){let C=S.errors[0];throw new Error(`build failed (${C.location?.file}:${C.location?.line}:${C.location?.column} ${C.location?.lineText}): ${C.text}`)}s.metaOutputDir&&S.metafile&&vy.writeFileSync(Nh.join(s.metaOutputDir,"meta.json"),JSON.stringify(S.metafile,null," "),"utf-8")}function r1t(s,a){try{vy.readdirSync(s).forEach(h=>{Nh.extname(h)===".js"&&(a.find(S=>Nh.basename(S,Nh.extname(S))===Nh.basename(h,Nh.extname(h)))||vy.unlinkSync(Nh.join(s,h)))})}catch{}}async function j1r(){let s="./node_modules/.bin/tsc";if(!vy.existsSync(s))throw new Error("please install the TypeScript compiler (npm install typescript)");try{await Hle(s,["-p","tsconfig.json","--noEmit"],{preferLocal:!0,stderr:"inherit",stdout:"inherit"})}catch(a){throw new Error(`TypeScript check failed (${a.message})`)}}var oIe=Bo(require("crypto")),Q1t=Bo(require("path")),KH=Bo(require("fs")),X1t=Bo(KNe()),jvr=require("@oclif/core");var Mvr=require("@oclif/core"),Y1t=Bo(KNe()),Bvr=Bo(H1t());async function aIe(s,a){let u;try{u=await(0,Y1t.default)(s,{method:a.method||"GET",headers:{"Content-Type":"application/json",Accept:"application/json",...a.token?{Authorization:`Bearer ${a.token}`}:void 0},body:a.body})}catch(h){throw new Error(`HTTP request: ${h.message}`)}if(!u.ok){switch(u.status){case 401:throw new Jk(u,"not authorized - please log in first using `npx ray login`");case 403:throw new Jk(u,"forbidden - you don't have permissions to perform the request");case 402:throw new Jk(u,"the limit of free commands has been reached")}let h=await u.text(),S;try{S=JSON.parse(h)}catch{throw new Jk(u,`HTTP error: ${u.status} - ${h}`)}throw Array.isArray(S.errors)&&S.errors.length>0?new Jk(u,`error: ${S.errors[0].status} - ${S.errors[0].title}`):new Jk(u,`HTTP error: ${u.status} - ${h}`)}return await u.json()}var Jk=class extends Error{constructor(a,u){let h=a.headers.get("X-Request-Id");h?super(`${u} (${a.url} RequestID: ${h})`):super(u),this.name="HTTPError"}};var k8r=`${lH.url}/sessions/success`,w8r=`${lH.url}/sessions/failure`;function K1t(s){return Promise.all(s.map(async a=>{try{return await cIe(a,"image/png")}catch(u){throw new Error(`upload: ${u.message}`)}}))}async function cIe(s,a){let u=pB("raycastApiURL"),h=pB("raycastAccessToken"),S=KH.statSync(s),C=await aIe(`${u}/api/v1/direct_uploads`,{token:h,method:"POST",body:JSON.stringify({blob:{content_type:a,filename:Q1t.basename(s),byte_size:S.size,checksum:oIe.createHash("md5").update(KH.readFileSync(s)).digest("base64")}})}),R=KH.readFileSync(s),z=await(0,X1t.default)(C.direct_upload.url,{method:"PUT",body:R,headers:C.direct_upload.headers});if(!z.ok)throw new Jk(z,z.statusText);return C.signed_id}function Z1t(s){let a=pB("raycastApiURL"),u=pB("raycastAccessToken");return aIe(`${a}/api/v1/versions`,{token:u,method:"POST",body:JSON.stringify(s)})}var lIe=require("child_process");var Jvr;function ZH(s,a){return new Promise((u,h)=>{(0,lIe.exec)(s,{cwd:Jvr},(S,C,R)=>{if(a.throwOnError&&S){h(new Error(`failed running git ${S.message.replace(/oauth2:gho_[a-zA-Z0-9]+@/g,"oauth2:gho_xxxxx")}
|
|
783
783
|
${C.trim()}
|
|
784
|
-
${R.trim()}`));return}u(C.trim())})})}function qvr(){return new Promise(s=>{(0,lIe.exec)("git --version",a=>{s(a===null)})})}async function evt(){return await qvr()?await ZH("git rev-parse --is-inside-work-tree",{throwOnError:!1})==="true":(_h("info","git is not installed"),!1)}async function tvt(){return await ivt()?(await ZH("git remote get-url origin",{throwOnError:!1})).replace(/\.[^./]+$/,""):""}function rvt(){return ZH("git rev-parse --show-prefix",{throwOnError:!0})}async function nvt(){return await ivt()?ZH("git rev-parse HEAD",{throwOnError:!0}):""}async function ivt(){try{return await ZH("git remote get-url origin",{throwOnError:!1}),!0}catch{return!1}}async function Uvr(s){let a=await zvr(s);_h("info","archived extension");try{let u=await $vr(s),h=E0.existsSync("metadata")?E0.readdirSync("metadata").filter(C=>C.endsWith(".png")).map(C=>xN.resolve(xN.join("metadata",C))):[];h.length&&(u.metadata=await K1t(h),_h("info","uploaded metadata")),u.archive=await cIe(a,"application/zip"),_h("info","uploaded extension");let S=await Z1t(u);return _h("info","created new version"),S}finally{E0.rmSync(a,{force:!0})}}async function zvr(s){let a=xN.join(".",s.name+".zip"),u=xN.join(".",s.name);try{return await LNe({environment:"dist",outputDir:u,skipTypeDeclarations:!1,printExtractedSchemas:!1},()=>{}),await Vvr(u,a),a}finally{E0.rmSync(u,{recursive:!0,force:!0})}}function Vvr(s,a){let u=E0.createWriteStream(a),h=(0,svt.default)("zip");return new Promise((S,C)=>{u.on("close",()=>{S(void 0)}),h.on("error",z=>{C(z),E0.rmSync(a,{force:!0})}),h.pipe(u);let R=xN.basename(s);h.directory(s,R),h.finalize()})}async function $vr(s){let a=s.commands.map(S=>({name:S.name,title:S.title,subtitle:S.subtitle,description:S.description,icon:S.icon,keywords:S.keywords,mode:S.mode,disabled_by_default:S.disabledByDefault})),u=s.tools?.map(S=>({name:S.name,title:S.title,description:S.description,icon:S.icon,keywords:S.keywords,...S.functionalities?{functionalities:S.functionalities}:{}}))||[],h=tfe();return h&&(s.ai={...s.ai||{},...h}),{name:s.name,title:s.title,description:s.description,icon:s.icon,keywords:s.keywords,categories:s.categories,license:s.license,author:s.author,owner:s.owner,access:s.access,native_id:s.native_id,contributors:s.contributors,past_contributors:s.pastContributors,commands:a,tools:u,...s.ai&&Array.isArray(s.ai.evals)?{prompt_examples:s.ai.evals.filter(S=>S.usedAsExample!==!1&&S.input).map(S=>S.input)}:{},...Gvr(),...Hvr(),...Yvr(),...await Xvr(),api_version:Qvr(),archive:"",metadata:[]}}function Gvr(){let s=E0.readdirSync(".");for(let a of s)if(a.toLowerCase().startsWith("readme.")&&a.endsWith(".md"))return{readme_filename:a,readme:E0.readFileSync(a,"base64")}}function Hvr(){let s=E0.readdirSync(".");for(let a of s)if(a.toLowerCase().startsWith("help.")&&a.endsWith(".md"))return{help:E0.readFileSync(a,"base64")}}function Yvr(){let s=E0.readdirSync(".");for(let a of s)if(a.toLowerCase().startsWith("changelog.")&&a.endsWith(".md"))return{changelog:E0.readFileSync(a,"base64")}}function Qvr(){try{return JSON.parse(E0.readFileSync("./node_modules/@raycast/api/package.json","utf-8")).version}catch(s){throw new Error(`failed to read API version from @raycast/api package.json (${s.message})`)}}async function Xvr(){if(await evt())return{source_url:await tvt(),relative_path:await rvt(),commit_sha:await nvt()};console.log("not inside git work tree")}0&&(module.exports={publishToStore});
|
|
784
|
+
${R.trim()}`));return}u(C.trim())})})}function qvr(){return new Promise(s=>{(0,lIe.exec)("git --version",a=>{s(a===null)})})}async function evt(){return await qvr()?await ZH("git rev-parse --is-inside-work-tree",{throwOnError:!1})==="true":(_h("info","git is not installed"),!1)}async function tvt(){return await ivt()?(await ZH("git remote get-url origin",{throwOnError:!1})).replace(/\.[^./]+$/,""):""}function rvt(){return ZH("git rev-parse --show-prefix",{throwOnError:!0})}async function nvt(){return await ivt()?ZH("git rev-parse HEAD",{throwOnError:!0}):""}async function ivt(){try{return await ZH("git remote get-url origin",{throwOnError:!1}),!0}catch{return!1}}async function Uvr(s){let a=await zvr(s);_h("info","archived extension");try{let u=await $vr(s),h=E0.existsSync("metadata")?E0.readdirSync("metadata").filter(C=>C.endsWith(".png")).map(C=>xN.resolve(xN.join("metadata",C))):[];h.length&&(u.metadata=await K1t(h),_h("info","uploaded metadata")),u.archive=await cIe(a,"application/zip"),_h("info","uploaded extension");let S=await Z1t(u);return _h("info","created new version"),S}finally{E0.rmSync(a,{force:!0})}}async function zvr(s){let a=xN.join(".",s.name+".zip"),u=xN.join(".",s.name);try{return await LNe({environment:"dist",outputDir:u,skipTypeDeclarations:!1,printExtractedSchemas:!1},()=>{}),await Vvr(u,a),a}finally{E0.rmSync(u,{recursive:!0,force:!0})}}function Vvr(s,a){let u=E0.createWriteStream(a),h=(0,svt.default)("zip");return new Promise((S,C)=>{u.on("close",()=>{S(void 0)}),h.on("error",z=>{C(z),E0.rmSync(a,{force:!0})}),h.pipe(u);let R=xN.basename(s);h.directory(s,R),h.finalize()})}async function $vr(s){let a=s.commands.map(S=>({name:S.name,title:S.title,subtitle:S.subtitle,description:S.description,icon:S.icon,keywords:S.keywords,mode:S.mode,disabled_by_default:S.disabledByDefault})),u=s.tools?.map(S=>({name:S.name,title:S.title,description:S.description,icon:S.icon,keywords:S.keywords,...S.functionalities?{functionalities:S.functionalities}:{}}))||[],h=tfe();return h&&(s.ai={...s.ai||{},...h}),{name:s.name,title:s.title,description:s.description,icon:s.icon,keywords:s.keywords,categories:s.categories,license:s.license,author:s.author,owner:s.owner,access:s.access,native_id:s.native_id,contributors:s.contributors,past_contributors:s.pastContributors,commands:a,tools:u,platforms:s.platforms,...s.ai&&Array.isArray(s.ai.evals)?{prompt_examples:s.ai.evals.filter(S=>S.usedAsExample!==!1&&S.input).map(S=>S.input)}:{},...Gvr(),...Hvr(),...Yvr(),...await Xvr(),api_version:Qvr(),archive:"",metadata:[]}}function Gvr(){let s=E0.readdirSync(".");for(let a of s)if(a.toLowerCase().startsWith("readme.")&&a.endsWith(".md"))return{readme_filename:a,readme:E0.readFileSync(a,"base64")}}function Hvr(){let s=E0.readdirSync(".");for(let a of s)if(a.toLowerCase().startsWith("help.")&&a.endsWith(".md"))return{help:E0.readFileSync(a,"base64")}}function Yvr(){let s=E0.readdirSync(".");for(let a of s)if(a.toLowerCase().startsWith("changelog.")&&a.endsWith(".md"))return{changelog:E0.readFileSync(a,"base64")}}function Qvr(){try{return JSON.parse(E0.readFileSync("./node_modules/@raycast/api/package.json","utf-8")).version}catch(s){throw new Error(`failed to read API version from @raycast/api package.json (${s.message})`)}}async function Xvr(){if(await evt())return{source_url:await tvt(),relative_path:await rvt(),commit_sha:await nvt()};console.log("not inside git work tree")}0&&(module.exports={publishToStore});
|
|
785
785
|
/*! Bundled license information:
|
|
786
786
|
|
|
787
787
|
normalize-path/index.js:
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -521,6 +521,8 @@ export declare namespace AI {
|
|
|
521
521
|
"Google_Gemini_2.0_Flash_Thinking" = "google-gemini-2.0-flash-thinking",
|
|
522
522
|
"Google_Gemini_2.5_Pro" = "google-gemini-2.5-pro",
|
|
523
523
|
xAI_Grok_2 = "xai-grok-2-latest",
|
|
524
|
+
xAI_Grok_3 = "xai-grok-3",
|
|
525
|
+
xAI_Grok_3_Mini = "xai-grok-3-mini",
|
|
524
526
|
"Qwen_2.5_32B" = "groq-qwen-2.5-32b",
|
|
525
527
|
/** @deprecated Use `AI.Model["OpenAI_GPT4o-mini"]` instead */
|
|
526
528
|
"OpenAI_GPT3.5-turbo-instruct" = "openai-gpt-4o-mini",
|