@easbot/agent 0.2.22 → 0.2.24
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/dist/assets/txt/tool/gateway-channel.txt +51 -12
- package/dist/chunks/acp-D5I5IUMI.mjs +16 -0
- package/dist/chunks/adapter-loader-OQIF5F24.mjs +1 -0
- package/dist/chunks/agent-R3VIV25Y.mjs +1 -0
- package/dist/chunks/agent-TM2AYB67.mjs +1 -0
- package/dist/chunks/app-BQOCNLYW.mjs +1 -0
- package/dist/chunks/auth-2I7U24YF.mjs +1 -0
- package/dist/chunks/bootstrap-FETK53UT.mjs +1 -0
- package/dist/chunks/build-program-KUCF2N7D.mjs +11 -0
- package/dist/chunks/bus-CWP3DYEO.mjs +1 -0
- package/dist/chunks/chunk-2RSIOAZV.mjs +1 -0
- package/dist/chunks/chunk-3AJJMHKA.mjs +1 -0
- package/dist/chunks/chunk-5QKMSVQL.mjs +1 -0
- package/dist/chunks/chunk-AAJAKVQY.mjs +3 -0
- package/dist/chunks/chunk-AD7K5VE2.mjs +2 -0
- package/dist/chunks/chunk-CJTCCLW4.mjs +1 -0
- package/dist/chunks/chunk-CQVEAYYW.mjs +1 -0
- package/dist/chunks/chunk-DEZT7DOH.mjs +1 -0
- package/dist/chunks/chunk-E6P3STWN.mjs +2 -0
- package/dist/chunks/chunk-EEWP2VV6.mjs +27 -0
- package/dist/chunks/chunk-FXOUIXIL.mjs +1 -0
- package/dist/chunks/chunk-LAHYVX5K.mjs +1 -0
- package/dist/chunks/chunk-LFYBZHOI.mjs +2 -0
- package/dist/chunks/chunk-LGMOIUYA.mjs +2 -0
- package/dist/chunks/chunk-M3K32WJV.mjs +1 -0
- package/dist/chunks/chunk-MHY26EXB.mjs +59 -0
- package/dist/chunks/chunk-MMU3Z6V2.mjs +1 -0
- package/dist/chunks/chunk-NCHKGEE3.mjs +2 -0
- package/dist/chunks/chunk-PKBPWDSV.mjs +1038 -0
- package/dist/chunks/chunk-SLZ3HAH6.mjs +2 -0
- package/dist/chunks/chunk-TSX5PZSW.mjs +1 -0
- package/dist/chunks/chunk-TYD2M4SP.mjs +7 -0
- package/dist/chunks/chunk-VII7JKGB.mjs +1 -0
- package/dist/chunks/chunk-X6ISXWBN.mjs +1 -0
- package/dist/chunks/chunk-XPF2LJT2.mjs +1 -0
- package/dist/chunks/chunk-ZBRXNYEM.mjs +1 -0
- package/dist/chunks/command-5JVJ7SVL.mjs +1 -0
- package/dist/chunks/compaction-BD7Q4GQO.mjs +1 -0
- package/dist/chunks/config-OZOLTE2Y.mjs +1 -0
- package/dist/chunks/confirm-dialog-AGHMTHWU.mjs +1 -0
- package/dist/chunks/copilot-I52DJYYX.mjs +2 -0
- package/dist/chunks/debug-MW53KD7T.mjs +3 -0
- package/dist/chunks/event-A4SSIBOT.mjs +1 -0
- package/dist/chunks/export-BGH24SO2.mjs +1 -0
- package/dist/chunks/file-N5R4HKSU.mjs +1 -0
- package/dist/chunks/gateway-3QKRAMO2.mjs +16 -0
- package/dist/chunks/gateway-loader-6P6BTWQP.mjs +1 -0
- package/dist/chunks/generate-NXGIMILE.mjs +2 -0
- package/dist/chunks/github-L3XIDEEQ.mjs +33 -0
- package/dist/chunks/global-QYCQXNCR.mjs +1 -0
- package/dist/chunks/import-JYLIHQCA.mjs +2 -0
- package/dist/chunks/input-validation-FWKKVCYC.mjs +1 -0
- package/dist/chunks/installation-HRFNXAKB.mjs +1 -0
- package/dist/chunks/instance-6RDAH4IX.mjs +1 -0
- package/dist/chunks/is-tui-mode-TFK352KK.mjs +1 -0
- package/dist/chunks/loader-7UB7WQFK.mjs +1 -0
- package/dist/chunks/loader-DRTQXYLN.mjs +1 -0
- package/dist/chunks/lsp-U7VGUPLT.mjs +1 -0
- package/dist/chunks/markdown-Z6UXVBNP.mjs +1 -0
- package/dist/chunks/mcp-AHMVQDPC.mjs +1 -0
- package/dist/chunks/models-G2QBJX43.mjs +1 -0
- package/dist/chunks/models-snapshot-XTWYGG3T.mjs +2 -0
- package/dist/chunks/pr-4WGOFODT.mjs +3 -0
- package/dist/chunks/preferences-354RYR2J.mjs +1 -0
- package/dist/chunks/project-NIXIQTRB.mjs +1 -0
- package/dist/chunks/prompt-F3Z2QBDR.mjs +1 -0
- package/dist/chunks/provider-LO2XXG33.mjs +1 -0
- package/dist/chunks/registry-MDPD3RHV.mjs +1 -0
- package/dist/chunks/revert-GE5BMDGN.mjs +1 -0
- package/dist/chunks/ripgrep-G73RIQ5F.mjs +1 -0
- package/dist/chunks/run-HRRJXIVI.mjs +22 -0
- package/dist/chunks/scheduler-2CD7LGEJ.mjs +1 -0
- package/dist/chunks/server-CHTYZF5W.mjs +1 -0
- package/dist/chunks/session-2W7DKSRJ.mjs +1 -0
- package/dist/chunks/session-HO5727MY.mjs +1 -0
- package/dist/chunks/session-V4RGFQKO.mjs +1 -0
- package/dist/chunks/settings-panel-BWCVKC4G.mjs +1 -0
- package/dist/chunks/share-OCIAAEUC.mjs +1 -0
- package/dist/chunks/snapshot-V556Q4I5.mjs +1 -0
- package/dist/chunks/stats-MILDLIZD.mjs +1 -0
- package/dist/chunks/storage-P6DUW44Y.mjs +1 -0
- package/dist/chunks/tui-2FSZJGP2.mjs +1 -0
- package/dist/chunks/tui-UTCI4ERG.mjs +1 -0
- package/dist/chunks/types-GCXI5X7B.mjs +1 -0
- package/dist/chunks/types-KIFC2C2M.mjs +1 -0
- package/dist/chunks/update-IEZVD4U7.mjs +2 -0
- package/dist/cli.mjs +9 -1235
- package/package.json +14 -23
- package/dist/cli.cjs +0 -1236
- package/dist/cli.d.cts +0 -1
- package/dist/index.cjs +0 -1345
- package/dist/index.d.cts +0 -34556
- package/dist/index.d.ts +0 -34556
- package/dist/index.mjs +0 -1345
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-CJTCCLW4.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import {a as a$2}from'./chunk-AD7K5VE2.mjs';import D from'path';import {NamedError,$,iife}from'@easbot/utils';import _ from'zod';function o(i){let T=process.env[i]?.toLowerCase();return T==="true"||T==="1"}function C(i,T){let u=process.env[i];if(u===void 0)return T;let B=Number(u);return Number.isNaN(B)?T:B}var A;(t=>{t.EASBOT_CONFIG=process.env.EASBOT_CONFIG,t.EASBOT_CONFIG_CONTENT=process.env.EASBOT_CONFIG_CONTENT,t.EASBOT_AUTO_SHARE=o("EASBOT_AUTO_SHARE"),t.EASBOT_DISABLE_AUTOUPDATE=o("EASBOT_DISABLE_AUTOUPDATE"),t.EASBOT_DISABLE_PRUNE=o("EASBOT_DISABLE_PRUNE"),t.EASBOT_DISABLE_TERMINAL_TITLE=o("EASBOT_DISABLE_TERMINAL_TITLE"),t.EASBOT_DISABLE_DEFAULT_PLUGINS=o("EASBOT_DISABLE_DEFAULT_PLUGINS"),t.EASBOT_DISABLE_LSP_DOWNLOAD=o("EASBOT_DISABLE_LSP_DOWNLOAD"),t.EASBOT_DISABLE_AUTOCOMPACT=o("EASBOT_DISABLE_AUTOCOMPACT"),t.EASBOT_DISABLE_MODELS_FETCH=o("EASBOT_DISABLE_MODELS_FETCH"),t.EASBOT_DISABLE_FILETIME_CHECK=o("EASBOT_DISABLE_FILETIME_CHECK"),t.EASBOT_ENABLE_EXPERIMENTAL_MODELS=o("EASBOT_ENABLE_EXPERIMENTAL_MODELS"),t.EASBOT_ENABLE_QUESTION_TOOL=o("EASBOT_ENABLE_QUESTION_TOOL"),t.EASBOT_DISABLE_EXTERNAL_SKILLS=o("EASBOT_DISABLE_EXTERNAL_SKILLS"),t.EASBOT_GIT_BASH_PATH=process.env.EASBOT_GIT_BASH_PATH,t.EASBOT_MODELS_URL=process.env.EASBOT_MODELS_URL,t.EASBOT_MODELS_PATH=process.env.EASBOT_MODELS_PATH,t.EASBOT_PERMISSION=process.env.EASBOT_PERMISSION,t.EASBOT_SERVER_USERNAME=process.env.EASBOT_SERVER_USERNAME,t.EASBOT_SERVER_PASSWORD=process.env.EASBOT_SERVER_PASSWORD,t.EASBOT_FAKE_VCS=process.env.EASBOT_FAKE_VCS,t.EASBOT_FILEWATCHER=o("EASBOT_FILEWATCHER"),t.EASBOT_ICON_DISCOVERY=o("EASBOT_ICON_DISCOVERY"),t.EASBOT_ENABLE_EXA=o("EASBOT_ENABLE_EXA"),t.EASBOT_BASH_DEFAULT_TIMEOUT_MS=O("EASBOT_BASH_DEFAULT_TIMEOUT_MS"),t.EASBOT_OUTPUT_TOKEN_MAX=O("EASBOT_OUTPUT_TOKEN_MAX"),t.EASBOT_OXFMT=o("EASBOT_OXFMT"),t.EASBOT_LSP_TY=o("EASBOT_LSP_TY"),t.EASBOT_LSP_TOOL=o("EASBOT_LSP_TOOL"),t.EASBOT_LSP_INIT_TIMEOUT=C("EASBOT_LSP_INIT_TIMEOUT",3e5),t.EASBOT_LSP_DIAGNOSTICS_TIMEOUT=C("EASBOT_LSP_DIAGNOSTICS_TIMEOUT",6e4),t.EASBOT_PLAN_MODE=o("EASBOT_PLAN_MODE"),t.EASBOT_MARKDOWN=o("EASBOT_MARKDOWN"),t.EASBOT_DISABLE_COMPACT=o("EASBOT_DISABLE_COMPACT"),t.EASBOT_DISABLE_AUTO_COMPACT=o("EASBOT_DISABLE_AUTO_COMPACT"),t.EASBOT_AUTOCOMPACT_PCT_OVERRIDE=O("EASBOT_AUTOCOMPACT_PCT_OVERRIDE"),t.EASBOT_AUTO_COMPACT_WINDOW=O("EASBOT_AUTO_COMPACT_WINDOW"),t.EASBOT_BLOCKING_LIMIT_OVERRIDE=O("EASBOT_BLOCKING_LIMIT_OVERRIDE"),t.EASBOT_MAX_CONTEXT_TOKENS=O("EASBOT_MAX_CONTEXT_TOKENS"),t.EASBOT_MAX_TOOL_USE_CONCURRENCY=O("EASBOT_MAX_TOOL_USE_CONCURRENCY");function O(v){let h=process.env[v];if(!h)return;let L=Number(h);return Number.isInteger(L)&&L>0?L:void 0}})(A||(A={}));Object.defineProperty(A,"EASBOT_DISABLE_PROJECT_CONFIG",{get(){return o("EASBOT_DISABLE_PROJECT_CONFIG")},enumerable:true,configurable:false});Object.defineProperty(A,"EASBOT_CONFIG_DIR",{get(){return process.env.EASBOT_CONFIG_DIR},enumerable:true,configurable:false});Object.defineProperty(A,"EASBOT_CLIENT",{get(){return process.env.EASBOT_CLIENT??"cli"},enumerable:true,configurable:false});var w;(S=>{let i=a.create({service:"installation"});S.Event={Updated:a$1.define("installation.updated",_.object({version:_.string()})),UpdateAvailable:a$1.define("installation.update-available",_.object({version:_.string()}))},S.Info=_.object({version:_.string(),latest:_.string()}).meta({ref:"InstallationInfo"});async function B(){return {version:m(),latest:await x()}}S.info=B;function M(){return a$2.isPreview()}S.isPreview=M;function P(){return a$2.isLocal()}S.isLocal=P;async function d(){if(process.execPath.includes(D.join(".easbot","bin"))||process.execPath.includes(D.join(".local","bin")))return "curl";let c=process.execPath.toLowerCase(),r=[{name:"npm",command:()=>$`npm list -g --depth=0`.throws(false).quiet().text()},{name:"yarn",command:()=>$`yarn global list`.throws(false).quiet().text()},{name:"pnpm",command:()=>$`pnpm list -g --depth=0`.throws(false).quiet().text()},{name:"bun",command:()=>$`bun pm ls -g`.throws(false).quiet().text()},{name:"brew",command:()=>$`brew list --formula easbot`.throws(false).quiet().text()},{name:"scoop",command:()=>$`scoop list easbot`.throws(false).quiet().text()},{name:"choco",command:()=>$`choco list --limit-output easbot`.throws(false).quiet().text()}];r.sort((e,s)=>{let E=c.includes(e.name),a=c.includes(s.name);return E&&!a?-1:!E&&a?1:0});for(let e of r){let s=await e.command(),E=(e.name==="brew"||e.name==="choco"||e.name==="scoop","easbot");if(s.includes(E))return e.name}return "unknown"}S.method=d,S.UpgradeFailedError=NamedError.create("UpgradeFailedError",_.object({stderr:_.string()}));async function f(){return (await $`brew list --formula anomalyco/tap/easbot`.throws(false).quiet().text()).includes("easbot")?"anomalyco/tap/easbot":((await $`brew list --formula easbot`.throws(false).quiet().text()).includes("easbot"),"easbot")}async function R(c,r){let e;switch(c){case "curl":e=$`curl -fsSL https://easbot.cn/install | bash`.env({...process.env,VERSION:r});break;case "npm":e=$`npm install -g easbot@${r}`;break;case "pnpm":e=$`pnpm install -g easbot@${r}`;break;case "bun":e=$`bun install -g easbot@${r}`;break;case "brew":{let E=await f();if(E.includes("/")){e=$`brew tap anomalyco/tap && cd "$(brew --repo anomalyco/tap)" && git pull --ff-only && brew upgrade ${E}`.env({HOMEBREW_NO_AUTO_UPDATE:"1",...process.env});break}e=$`brew upgrade ${E}`.env({HOMEBREW_NO_AUTO_UPDATE:"1",...process.env});break}case "choco":e=$`echo Y | choco upgrade easbot --version=${r}`;break;case "scoop":e=$`scoop install easbot@${r}`;break;default:throw new Error(`Unknown method: ${c}`)}let s=await e.quiet().throws(false);if(s.exitCode!==0){let E=c==="choco"?"not running from an elevated command shell":s.stderr.toString("utf8");throw new S.UpgradeFailedError({stderr:E})}i.info("upgraded",{method:c,target:r,stdout:s.stdout.toString(),stderr:s.stderr.toString()}),await $`${process.execPath} --version`.nothrow().quiet().text();}S.upgrade=R;function m(){return a$2.getVersion()}S.getVersion=m;function I(){return a$2.getChannel()}S.getChannel=I;function U(){return `easbot/${I()}/${m()}/${A.EASBOT_CLIENT}`}S.getUserAgent=U;async function x(c){let r=c||await d();if(r==="brew"){let e=await f();if(e.includes("/")){let s=await $`brew info --json=v2 ${e}`.quiet().text(),a=JSON.parse(s).formulae?.[0]?.versions?.stable;if(!a)throw new Error(`Could not detect version for tap formula: ${e}`);return a}return fetch("https://formulae.brew.sh/api/formula/easbot.json").then(s=>{if(!s.ok)throw new Error(s.statusText);return s.json()}).then(s=>s.versions.stable)}if(r==="npm"||r==="bun"||r==="pnpm"){let e=await iife(async()=>{let a=(await $`npm config get registry`.quiet().nothrow().text()).trim()||"https://registry.npmjs.org";return a.endsWith("/")?a.slice(0,-1):a}),s=I();return fetch(`${e}/easbot/${s}`).then(E=>{if(!E.ok)throw new Error(E.statusText);return E.json()}).then(E=>E.version)}return r==="choco"?fetch("https://community.chocolatey.org/api/v2/Packages?$filter=Id%20eq%20%27easbot%27%20and%20IsLatestVersion&$select=Version",{headers:{Accept:"application/json;odata=verbose"}}).then(e=>{if(!e.ok)throw new Error(e.statusText);return e.json()}).then(e=>e.d.results[0].Version):r==="scoop"?fetch("https://raw.githubusercontent.com/ScoopInstaller/Main/master/bucket/easbot.json",{headers:{Accept:"application/json"}}).then(e=>{if(!e.ok)throw new Error(e.statusText);return e.json()}).then(e=>e.version):fetch("https://api.github.com/repos/houjallen/easbot/releases/latest").then(e=>{if(!e.ok)throw new Error(e.statusText);return e.json()}).then(e=>e.tag_name.replace(/^v/,""))}S.latest=x;})(w||(w={}));
|
|
2
|
+
export{A as a,w as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-LGMOIUYA.mjs';import {a}from'./chunk-LFYBZHOI.mjs';var n=a.create({service:"tui-state-storage"}),i={toolsExpanded:true,showThinking:true,verboseLevel:"off",thinkingLevel:"low",messageLimit:50,localShellPermission:"ask"};async function h(o){try{let e=await a$1.read(["tui",o]),t={toolsExpanded:typeof e.toolsExpanded=="boolean"?e.toolsExpanded:i.toolsExpanded,showThinking:typeof e.showThinking=="boolean"?e.showThinking:i.showThinking,verboseLevel:e.verboseLevel==="on"||e.verboseLevel==="off"?e.verboseLevel:i.verboseLevel,thinkingLevel:e.thinkingLevel==="off"||e.thinkingLevel==="low"||e.thinkingLevel==="medium"||e.thinkingLevel==="high"?e.thinkingLevel:i.thinkingLevel,messageLimit:e.messageLimit===25||e.messageLimit===50||e.messageLimit===100?e.messageLimit:i.messageLimit,localShellPermission:e.localShellPermission==="on"||e.localShellPermission==="off"||e.localShellPermission==="ask"?e.localShellPermission:i.localShellPermission,contextMode:e.contextMode==="general"||e.contextMode==="coder"?e.contextMode:void 0,model:e.model,agent:e.agent,sessionId:e.sessionId};return n.debug("TUI state loaded",{sessionId:o,state:t}),t}catch(e){return e instanceof a$1.NotFoundError?n.debug("TUI state not found, using defaults",{sessionId:o}):n.warn("Failed to load TUI state, using defaults",{sessionId:o,error:e}),{...i}}}async function r(o,e){try{await a$1.write(["tui",o],e),n.debug("TUI state saved",{sessionId:o,state:e});}catch(t){n.error("Failed to save TUI state",{sessionId:o,error:t});}}async function c(o){if(!o.currentSessionId){n.warn("Cannot save TUI state: no session ID");return}let e={toolsExpanded:o.toolsExpanded,showThinking:o.showThinking,thinkingLevel:o.thinkingLevel,verboseLevel:o.verboseLevel,messageLimit:o.messageLimit,localShellPermission:o.localShellPermission,contextMode:o.contextMode,model:o.sessionInfo.model,agent:o.agent||void 0,sessionId:o.currentSessionId};await r(o.currentSessionId,e);}export{h as a,c as b};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import {b}from'./chunk-FXOUIXIL.mjs';import {b as b$1}from'./chunk-CQVEAYYW.mjs';function I(i,h){return !Number.isFinite(h)||h<=0?"":i.repeat(h)}function F(i,h,g){let a=b$1(i);if(a>=h)return i;let u=h-a;if(g==="right")return `${I(" ",u)}${i}`;if(g==="center"){let p=Math.floor(u/2),d=u-p;return `${I(" ",p)}${i}${I(" ",d)}`}return `${i}${I(" ",u)}`}function R(i,h){if(!i||i.length===0)return [""];if(!Number.isFinite(h)||h<=0)return [i];let g="\x1B",a=[];for(let n=0;n<i.length;){if(i[n]===g){if(i[n+1]==="["){let t=n+2;for(;t<i.length;){let l=i[t];if(l==="m")break;if(l&&l>="0"&&l<="9"){t+=1;continue}if(l===";"){t+=1;continue}break}if(i[t]==="m"){a.push({kind:"ansi",value:i.slice(n,t+1)}),n=t+1;continue}}if(i[n+1]==="]"&&i.slice(n+2,n+5)==="8;;"){let t=i.indexOf(`${g}\\`,n+5);if(t>=0){a.push({kind:"ansi",value:i.slice(n,t+2)}),n=t+2;continue}}}let e=i.codePointAt(n);if(!e)break;let r=String.fromCodePoint(e);a.push({kind:"char",value:r}),n+=r.length;}let u=a.findIndex(n=>n.kind==="char");if(u<0)return [i];let p=-1;for(let n=a.length-1;n>=0;n-=1){let e=a[n];if(e&&e.kind==="char"){p=n;break}}let d=a.slice(0,u).filter(n=>n.kind==="ansi").map(n=>n.value).join(""),b=a.slice(p+1).filter(n=>n.kind==="ansi").map(n=>n.value).join(""),j=a.slice(u,p+1),W=[],M=n=>n===" "||n===" "||n==="/"||n==="-"||n==="_"||n===".",y=n=>n===" "||n===" ",c=false,f=[],w=0,v=null,T=n=>(n??f).map(e=>e.value).join(""),k=n=>n.reduce((e,r)=>e+(r.kind==="char"?1:0),0),o=n=>{let e=n.replace(/\s+$/,"");e.trim().length!==0&&W.push(e);},s=n=>{if(f.length===0)return;if(n==null||n<=0){o(T()),f.length=0,w=0,v=null;return}let e=f.slice(0,n),r=f.slice(n);for(o(T(e));r.length>0;){let t=r[0];if(!t||t.kind!=="char"||!y(t.value))break;r.shift();}f.length=0,f.push(...r),w=k(f),v=null;};for(let n of j){if(n.kind==="ansi"){f.push(n);continue}let e=n.value;if(!(c&&(c=false,e===`
|
|
2
|
+
`))){if(e===`
|
|
3
|
+
`||e==="\r"){s(f.length),e==="\r"&&(c=true);continue}w+1>h&&w>0&&s(v),f.push(n),w+=1,M(e)&&(v=f.length);}}return s(f.length),W.length===0?[""]:!d&&!b?W:W.map(n=>n&&`${d}${n}${b}`)}function A(i){if(i!=null&&!(!Number.isFinite(i)||i<=0))return Math.floor(i)}function V(i){let h=i.rows.map(o=>{let s={};for(let[n,e]of Object.entries(o))s[n]=b(e);return s}),g=i.border??"unicode";if(g==="none"){let o=i.columns;return `${[o.map(e=>e.header).join(" | "),...h.map(e=>o.map(r=>e[r.key]??"").join(" | "))].join(`
|
|
4
|
+
`)}
|
|
5
|
+
`}let a=Math.max(0,i.padding??1),u=i.columns,p=u.map(o=>{let s=b$1(o.header),n=Math.max(0,...h.map(e=>b$1(e[o.key]??"")));return {headerW:s,cellW:n}}),d=u.map((o,s)=>{let n=p[s];if(!n)throw new Error(`Internal error: metrics[${s}] is undefined`);let e=Math.max(n.headerW,n.cellW)+a*2,r=o.maxWidth?Math.min(e,o.maxWidth):e;return Math.max(o.minWidth??3,r)}),b$2=A(i.width),j=u.length+1,W=d.reduce((o,s)=>o+s,0)+j,M=u.map((o,s)=>{let n=p[s];if(!n)throw new Error(`Internal error: metrics[${s}] is undefined`);return Math.max(o.minWidth??3,n.headerW+a*2,3)}),y=u.map((o,s)=>{let n=p[s];if(!n)throw new Error(`Internal error: metrics[${s}] is undefined`);return Math.max(n.headerW+a*2,3)});if(b$2&&W>b$2){let o=W-b$2,s=u.map((r,t)=>{let l=d[t];if(l===void 0)throw new Error(`Internal error: widths[${t}] is undefined`);return {i:t,w:l}}).filter(({i:r})=>!!u[r]?.flex).toSorted((r,t)=>t.w-r.w).map(r=>r.i),n=u.map((r,t)=>{let l=d[t];if(l===void 0)throw new Error(`Internal error: widths[${t}] is undefined`);return {i:t,w:l}}).filter(({i:r})=>!u[r]?.flex).toSorted((r,t)=>t.w-r.w).map(r=>r.i),e=(r,t)=>{for(;o>0;){let l=false;for(let m of r){let $=d[m],x=t[m];if(!($===void 0||x===void 0)&&!($<=x)&&(d[m]=$-1,o-=1,l=true,o<=0))break}if(!l)break}};e(s,M),e(s,y),e(n,M),e(n,y);}if(b$2){let o=u.length+1,s=d.reduce((e,r)=>e+r,0)+o,n=b$2-s;if(n>0){let e=u.map((r,t)=>({c:r,i:t})).filter(({c:r})=>!!r.flex).map(({i:r})=>r);if(e.length>0){let r=u.map(t=>typeof t.maxWidth=="number"&&t.maxWidth>0?Math.floor(t.maxWidth):Number.POSITIVE_INFINITY);for(;n>0;){let t=false;for(let l of e){let m=d[l],$=r[l];if(!(m===void 0||$===void 0)&&!(m>=$)&&(d[l]=m+1,n-=1,t=true,n<=0))break}if(!t)break}}}}let c=g==="ascii"?{tl:"+",tr:"+",bl:"+",br:"+",h:"-",v:"|",t:"+",ml:"+",m:"+",mr:"+",b:"+"}:{tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502",t:"\u252C",ml:"\u251C",m:"\u253C",mr:"\u2524",b:"\u2534"},f=(o,s,n)=>`${o}${d.map(e=>{if(e===void 0)throw new Error("Internal error: width is undefined");return I(c.h,e)}).join(s)}${n}`,w=o=>{let s=d[o];if(s===void 0)throw new Error(`Internal error: widths[${o}] is undefined`);return Math.max(1,s-a*2)},v=I(" ",a),T=(o,s=false)=>{let e=u.map(l=>s?l.header:o[l.key]??"").map((l,m)=>R(l,w(m))),r=Math.max(...e.map(l=>l.length)),t=[];for(let l=0;l<r;l+=1){let m=e.map(($,x)=>{let N=$[l]??"",E=u[x];if(!E)throw new Error(`Internal error: columns[${x}] is undefined`);let O=F(N,w(x),E.align??"left");return `${v}${O}${v}`});t.push(`${c.v}${m.join(c.v)}${c.v}`);}return t},k=[];k.push(f(c.tl,c.t,c.tr)),k.push(...T({},true)),k.push(f(c.ml,c.m,c.mr));for(let o of h)k.push(...T(o,false));return k.push(f(c.bl,c.b,c.br)),`${k.join(`
|
|
6
|
+
`)}
|
|
7
|
+
`}export{V as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-LFYBZHOI.mjs';var a=a$1.create({service:"cli-security"});function c(t){if(!t||typeof t!="string")return a.warn("Invalid agent ID: empty or not a string",{agentId:t}),false;let n=/^[a-zA-Z0-9_-]+$/.test(t);return n||a.warn("Invalid agent ID format",{agentId:t}),n}function p(t){if(!t||typeof t!="string")return a.warn("Invalid session ID: empty or not a string",{sessionId:t}),false;let r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,n=/^[a-zA-Z0-9_-]+$/,e=r.test(t)||n.test(t);return e||a.warn("Invalid session ID format",{sessionId:t}),e}function d(t){if(!t||typeof t!="string")return a.warn("Invalid model name: empty or not a string",{model:t}),false;let n=/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_.-]+$/.test(t);return n||a.warn("Invalid model name format",{model:t}),n}function v(t){if(typeof t!="number"||Number.isNaN(t))return a.warn("Invalid port: not a number",{port:t}),false;let r=t>=1&&t<=65535;return r||a.warn("Invalid port: out of range",{port:t}),r}function w(t){if(!t||typeof t!="string")return a.warn("Invalid hostname: empty or not a string",{hostname:t}),false;let r=/^localhost$/i,n=/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,e=/^(\d{1,3}\.){3}\d{1,3}$/,l=/^([0-9a-f]{0,4}:){2,7}[0-9a-f]{0,4}$/i,i=r.test(t)||n.test(t)||e.test(t)||l.test(t);return i||a.warn("Invalid hostname format",{hostname:t}),i}function y(t){if(!t||typeof t!="string")return "";let r=/[;|&$`\\"'<>(){}[\]\n\r]/g,n=t.replace(r,"");return n!==t&&a.warn("Input sanitized: dangerous characters removed",{original:t.substring(0,50),sanitized:n.substring(0,50)}),n}function s(t,r,n="input"){if(!t||typeof t!="string")return a.warn(`Invalid ${n}: empty or not a string`),false;let e=t.length<=r;return e||a.warn(`Invalid ${n}: exceeds maximum length`,{fieldName:n,length:t.length,maxLength:r}),e}function b(t){return s(t,1e4,"prompt")}function I(t){if(!t||typeof t!="string")return a.warn("Invalid agent name: empty or not a string",{name:t}),false;if(!s(t,100,"agent name"))return false;let n=/^[a-zA-Z0-9_-]+$/.test(t);return n||a.warn("Invalid agent name format",{name:t}),n}function m(t){if(!t||typeof t!="string")return a.warn("Invalid agent mode: empty or not a string",{mode:t}),false;let r=["subagent","primary","all"],n=r.includes(t);return n||a.warn("Invalid agent mode",{mode:t,validModes:r}),n}function z(t,r="json"){if(!t||typeof t!="string")return a.warn(`Invalid ${r}: empty or not a string`),null;try{let n=JSON.parse(t);return typeof n!="object"||n===null?(a.warn(`Invalid ${r}: not a JSON object`,{fieldName:r}),null):n}catch(n){return a.warn(`Invalid ${r}: JSON parse error`,{fieldName:r,error:n instanceof Error?n.message:String(n)}),null}}export{c as a,p as b,d as c,v as d,w as e,y as f,s as g,b as h,I as i,m as j,z as k};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var m=Object.defineProperty;var k=(b,a)=>(a=Symbol[b])?a:Symbol.for("Symbol."+b),l=b=>{throw TypeError(b)};var n=(b,a,c)=>a in b?m(b,a,{enumerable:true,configurable:true,writable:true,value:c}):b[a]=c;var o=(b,a)=>{for(var c in a)m(b,c,{get:a[c],enumerable:true});};var p=(b,a,c)=>n(b,typeof a!="symbol"?a+"":a,c);var q=(b,a,c)=>{if(a!=null){typeof a!="object"&&typeof a!="function"&&l("Object expected");var e,f;c&&(e=a[k("asyncDispose")]),e===void 0&&(e=a[k("dispose")],c&&(f=e)),typeof e!="function"&&l("Object not disposable"),f&&(e=function(){try{f.call(this);}catch(g){return Promise.reject(g)}}),b.push([c,e,a]);}else c&&b.push([c]);return a},r=(b,a,c)=>{var e=typeof SuppressedError=="function"?SuppressedError:function(d,j,h,i){return i=Error(h),i.name="SuppressedError",i.error=d,i.suppressed=j,i},f=d=>a=c?new e(d,a,"An error was suppressed during disposal"):(c=true,d),g=d=>{for(;d=b.pop();)try{var j=d[1]&&d[1].call(d[2]);if(d[0])return Promise.resolve(j).then(g,h=>(f(h),g()))}catch(h){f(h);}if(c)throw a};return g()};export{o as a,p as b,q as c,r as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-LFYBZHOI.mjs';import {b}from'./chunk-X6ISXWBN.mjs';var e=a.create({service:"cli-resources"}),t=class{constructor(){b(this,"resources",[]);b(this,"tempData",new WeakMap);b(this,"initialized",false);b(this,"cleaning",false);}initialize(){if(this.initialized){e.warn("Resource manager already initialized");return}e.info("Initializing resource manager"),process.on("exit",()=>{this.cleanupSync();}),process.on("SIGINT",async()=>{e.info("Received SIGINT signal"),await this.cleanup(),process.exit(0);}),process.on("SIGTERM",async()=>{e.info("Received SIGTERM signal"),await this.cleanup(),process.exit(0);}),this.initialized=true,e.info("Resource manager initialized");}register(r,s){e.debug("Registering resource",{name:r}),this.resources.push({name:r,cleanup:s,registeredAt:new Date}),e.debug("Resource registered",{name:r,totalResources:this.resources.length});}unregister(r){e.debug("Unregistering resource",{name:r});let s=this.resources.findIndex(n=>n.name===r);s!==-1?(this.resources.splice(s,1),e.debug("Resource unregistered",{name:r,totalResources:this.resources.length})):e.warn("Resource not found for unregistration",{name:r});}setTempData(r,s){this.tempData.set(r,s);}getTempData(r){return this.tempData.get(r)}deleteTempData(r){this.tempData.delete(r);}async cleanup(){if(this.cleaning){e.warn("Cleanup already in progress");return}this.cleaning=true,e.info("Starting resource cleanup",{resourceCount:this.resources.length});let r=[...this.resources].reverse();for(let s of r)try{e.debug("Cleaning up resource",{name:s.name}),await s.cleanup(),e.debug("Resource cleaned up successfully",{name:s.name});}catch(n){e.error("Failed to clean up resource",{name:s.name,error:n instanceof Error?n.message:String(n)});}this.resources=[],e.info("Resource cleanup completed"),this.cleaning=false;}cleanupSync(){if(this.cleaning)return;this.cleaning=true,e.info("Starting synchronous resource cleanup",{resourceCount:this.resources.length});let r=[...this.resources].reverse();for(let s of r)try{e.debug("Cleaning up resource (sync)",{name:s.name}),s.cleanup()instanceof Promise&&e.warn("Resource cleanup returned Promise in sync context",{name:s.name}),e.debug("Resource cleaned up successfully (sync)",{name:s.name});}catch(n){e.error("Failed to clean up resource (sync)",{name:s.name,error:n instanceof Error?n.message:String(n)});}this.resources=[],e.info("Synchronous resource cleanup completed"),this.cleaning=false;}getResourceCount(){return this.resources.length}getResourceNames(){return this.resources.map(r=>r.name)}},p=new t;export{p as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-LFYBZHOI.mjs';import {loadConfig,getServerConfig,getChannelConfig,getConnectionPoolConfig,getMessageQueueConfig,getCircuitBreakerConfig,getAgentRegistryConfig,getSessionConfig,getHTTPSConfig,getAuthConfig,getClusterConfig,getDefaultAgent}from'@easbot/gateway';export{GatewayConfigSchema as a}from'@easbot/gateway';var y=a.create({service:"config.gateway-loader"});async function p(e){return y.debug("Loading gateway config via gateway module",{directory:e}),loadConfig(e)}async function S(){return getServerConfig()}async function d(e){return getChannelConfig(e)}async function A(){return getConnectionPoolConfig()}async function N(){return getMessageQueueConfig()}async function x(){return getCircuitBreakerConfig()}async function T(){return getAgentRegistryConfig()}async function I(){return getSessionConfig()}async function b(){return getHTTPSConfig()}async function k(){return getAuthConfig()}async function v(){return getClusterConfig()}async function H(){return (await getClusterConfig())?.sync}async function B(){return getDefaultAgent()}export{p as b,S as c,d,A as e,N as f,x as g,T as h,I as i,b as j,k,v as l,H as m,B as n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as CommandMetadataSchema,c as createCommandFromMarkdown,f as define,b as loadCommandFromFile,e as replaceTemplateVars,d as scanCommands}from'./chunk-3AJJMHKA.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{O as Compaction,o as CompactionCache,n as DEFAULT_CACHE_CONFIG,p as createCompactionCache,q as subscribeCacheEvents}from'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{bb as Agent,$a as Command,lb as Config,kb as ConfigDirectoryTypoError,hb as Info,v as InvalidError,u as JsonError,cb as Keybinds,fb as Layout,Wa as Mcp,Ta as McpLocal,Ua as McpOAuth,Va as McpRemote,Sa as ModelId,_a as Permission,Xa as PermissionAction,Ya as PermissionObject,Za as PermissionRule,gb as Provider,eb as Server,ab as Skills,Oa as SubAgent,Pa as SubAgentConfigSchema,Na as SubAgentModel,La as SubAgentRunMode,Ma as SubAgentTransportType,db as TUI,D as deduplicatePlugins,H as directories,G as get,T as getACPClientsConfig,S as getACPServerConfig,W as getAcpAgentName,U as getAcpAgentRuntimeConfig,V as getAcpModelConfig,ia as getFileCacheConfig,J as getGlobal,C as getPluginName,Ra as getSubAgentConfig,ja as getTokenEstimationConfig,I as global,t as installDependencies,L as isAutoCompactEnabled,N as isBackupEnabled,M as isPruneEnabled,x as load,R as loadACPConfig,z as loadAgent,ba as loadCodebase,A as loadCommand,ka as loadContextConfig,w as loadFile,da as loadKnowledge,ca as loadMemory,aa as loadNote,B as loadPlugin,Qa as loadSubAgentConfig,r as mergeConfigConcatArrays,s as needsInstall,y as parseConfig,E as state,ib as update,jb as updateGlobal,F as waitForDependencies}from'./chunk-PKBPWDSV.mjs';export{h as getAgentRegistryConfig,m as getAgentSyncConfig,k as getAuthConfig,d as getChannelConfig,e as getConnectionPoolConfig,l as getGatewayClusterConfig,c as getGatewayServerConfig,j as getHTTPSConfig,f as getMessageQueueConfig,i as getSessionConfig,b as loadGatewayConfig}from'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-EEWP2VV6.mjs';import'./chunk-X6ISXWBN.mjs';import {SelectList}from'@easbot/tui';var x={selectedPrefix:e=>`\x1B[36m${e}\x1B[0m`,selectedText:e=>`\x1B[1;36m${e}\x1B[0m`,description:e=>`\x1B[90m${e}\x1B[0m`,scrollInfo:e=>`\x1B[90m${e}\x1B[0m`,noMatch:e=>`\x1B[90m${e}\x1B[0m`};function C(e){let{message:o,confirmText:c,cancelText:r,onConfirm:s,onCancel:i}=e,l=[{label:c||a("tui.dialog.confirm"),value:"confirm",description:o},{label:r||a("tui.dialog.cancel"),value:"cancel",description:""}],t=new SelectList(l,2,x);return t.onSelect=m=>{m.value==="confirm"?s():i();},t.onCancel=i,t}export{C as createConfirmDialog};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-X6ISXWBN.mjs';import {createJsonErrorResponseHandler,createProviderToolFactoryWithOutputSchema,createProviderToolFactory,withoutTrailingSlash,parseProviderOptions,postJsonToApi,createJsonResponseHandler,combineHeaders,generateId,createEventSourceResponseHandler,isParsableJson,withUserAgentSuffix,convertToBase64}from'@ai-sdk/provider-utils';import {InvalidResponseDataError,APICallError,UnsupportedFunctionalityError}from'@ai-sdk/provider';import {z}from'zod';import {z as z$1}from'zod/v4';function W(n){return n?.providerOptions?.copilot??{}}function ie(n){let r=[];for(let{role:b,content:_,...k}of n){let h=W({...k});switch(b){case "system":{r.push({role:"system",content:_,...h});break}case "user":{let p=_[0];if(_.length===1&&p?.type==="text"){r.push({role:"user",content:p.text,...W(p)});break}r.push({role:"user",content:_.map(i=>{let d=W(i);switch(i.type){case "text":return {type:"text",text:i.text,...d};case "file":if(i.mediaType.startsWith("image/")){let m=i.mediaType==="image/*"?"image/jpeg":i.mediaType;return {type:"image_url",image_url:{url:i.data instanceof URL?i.data.toString():`data:${m};base64,${convertToBase64(i.data)}`},...d}}else throw new UnsupportedFunctionalityError({functionality:`file part media type ${i.mediaType}`});default:throw new UnsupportedFunctionalityError({functionality:`part type ${i.type}`})}}),...h});break}case "assistant":{let p="",i,d,m=[];for(let o of _){let C=W(o),u=o.providerOptions?.copilot?.reasoningOpaque;switch(u&&!d&&(d=u),o.type){case "text":{p+=o.text;break}case "reasoning":{o.text&&(i=o.text);break}case "tool-call":{m.push({id:o.toolCallId,type:"function",function:{name:o.toolName,arguments:JSON.stringify(o.input)},...C});break}}}r.push({role:"assistant",content:p||null,tool_calls:m.length>0?m:void 0,reasoning_text:d?i:void 0,reasoning_opaque:d,...h});break}case "tool":{for(let p of _){if(p.type==="tool-approval-response")continue;let i=p.output,d;switch(i.type){case "text":case "error-text":d=i.value;break;case "execution-denied":d=i.reason??"Tool execution denied.";break;case "content":case "json":case "error-json":d=JSON.stringify(i.value);break;default:{d=String(i.value);break}}let m=W(p);r.push({role:"tool",tool_call_id:p.toolCallId,content:d,...m});}break}default:{let p=b;throw new Error(`Unsupported role: ${p}`)}}}return r}function U({id:n,model:r,created:b}){return {id:n??void 0,modelId:r??void 0,timestamp:b!=null?new Date(b*1e3):void 0}}function K(n){switch(n){case "stop":return {unified:"stop",raw:n||void 0};case "length":return {unified:"length",raw:n||void 0};case "content_filter":return {unified:"content-filter",raw:n||void 0};case "function_call":case "tool_calls":return {unified:"tool-calls",raw:n||void 0};default:return {unified:"other",raw:n||void 0}}}var $=z.object({user:z.string().optional(),reasoningEffort:z.string().optional(),textVerbosity:z.string().optional(),thinking_budget:z.number().optional()});var De=z$1.object({error:z$1.object({message:z$1.string(),type:z$1.string().nullish(),param:z$1.any().nullish(),code:z$1.union([z$1.string(),z$1.number()]).nullish()})}),ae={errorSchema:De,errorToMessage:n=>n.error.message};function re({tools:n,toolChoice:r}){n=(n?.length??0)>0?n:void 0;let b=[];if(n==null)return {tools:void 0,toolChoice:void 0,toolWarnings:b};let _=[];for(let h of n)h.type==="provider"?b.push({type:"unsupported",feature:h.name||"unknown-tool"}):_.push({type:"function",function:{name:h.name,description:h.description,parameters:h.inputSchema}});if(r==null)return {tools:_,toolChoice:void 0,toolWarnings:b};let k=r.type;switch(k){case "auto":case "none":case "required":return {tools:_,toolChoice:k,toolWarnings:b};case "tool":return {tools:_,toolChoice:{type:"function",function:{name:r.toolName}},toolWarnings:b};default:{let h=k;throw new UnsupportedFunctionalityError({functionality:`tool choice type: ${h}`})}}}var J=class{constructor(r,b$1){b(this,"specificationVersion","v3");b(this,"supportsStructuredOutputs");b(this,"modelId");b(this,"config");b(this,"failedResponseHandler");b(this,"chunkSchema");this.modelId=r,this.config=b$1;let _=b$1.errorStructure??ae;this.chunkSchema=Je(_.errorSchema),this.failedResponseHandler=createJsonErrorResponseHandler(_),this.supportsStructuredOutputs=b$1.supportsStructuredOutputs??false;}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0]?.trim()??"openai"}get supportedUrls(){return this.config.supportedUrls?.()??{}}async getArgs({prompt:r,maxOutputTokens:b,temperature:_,topP:k,topK:h,frequencyPenalty:p,presencePenalty:i,providerOptions:d,stopSequences:m,responseFormat:o,seed:C,toolChoice:u,tools:a}){let s=[],c=Object.assign(await parseProviderOptions({provider:"copilot",providerOptions:d,schema:$})??{},await parseProviderOptions({provider:this.providerOptionsName,providerOptions:d,schema:$})??{});h!=null&&s.push({type:"unsupported",feature:"topK"}),o?.type==="json"&&o.schema!=null&&!this.supportsStructuredOutputs&&s.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:g,toolChoice:I,toolWarnings:l}=re({tools:a,toolChoice:u});return {args:{model:this.modelId,user:c.user,max_tokens:b,temperature:_,top_p:k,frequency_penalty:p,presence_penalty:i,response_format:o?.type==="json"?this.supportsStructuredOutputs===true&&o.schema!=null?{type:"json_schema",json_schema:{schema:o.schema,name:o.name??"response",description:o.description}}:{type:"json_object"}:void 0,stop:m,seed:C,...Object.fromEntries(Object.entries(d?.[this.providerOptionsName]??{}).filter(([t])=>!Object.keys($.shape).includes(t))),reasoning_effort:c.reasoningEffort,verbosity:c.textVerbosity,messages:ie(r),tools:g,tool_choice:I,thinking_budget:c.thinking_budget},warnings:[...s,...l]}}async doGenerate(r){let{args:b,warnings:_}=await this.getArgs({...r}),k=JSON.stringify(b),{responseHeaders:h,value:p,rawValue:i}=await postJsonToApi({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),r.headers),body:b,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:createJsonResponseHandler(He),abortSignal:r.abortSignal,fetch:this.config.fetch}),d=p.choices?.[0];if(!d)return {content:[],finishReason:{unified:"error",raw:void 0},usage:{inputTokens:{total:p.usage?.prompt_tokens??void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:p.usage?.completion_tokens??void 0,text:p.usage?.completion_tokens??void 0,reasoning:void 0}},providerMetadata:{},request:{body:k},response:{...U(p),headers:h,body:i},warnings:_};let m=[],o=d.message.content;o!=null&&o.length>0&&m.push({type:"text",text:o,providerMetadata:d.message.reasoning_opaque?{copilot:{reasoningOpaque:d.message.reasoning_opaque}}:void 0});let C=d.message.reasoning_text;if(C!=null&&C.length>0&&m.push({type:"reasoning",text:C,providerMetadata:d.message.reasoning_opaque?{copilot:{reasoningOpaque:d.message.reasoning_opaque}}:void 0}),d.message.tool_calls!=null)for(let s of d.message.tool_calls)m.push({type:"tool-call",toolCallId:s.id??generateId(),toolName:s.function.name,input:s.function.arguments,providerMetadata:d.message.reasoning_opaque?{copilot:{reasoningOpaque:d.message.reasoning_opaque}}:void 0});let u={[this.providerOptionsName]:{},...await this.config.metadataExtractor?.extractMetadata?.({parsedBody:i})},a=p.usage?.completion_tokens_details;if(a?.accepted_prediction_tokens!=null){let s=this.providerOptionsName;u[s]&&(u[s].acceptedPredictionTokens=a?.accepted_prediction_tokens);}if(a?.rejected_prediction_tokens!=null){let s=this.providerOptionsName;u[s]&&(u[s].rejectedPredictionTokens=a?.rejected_prediction_tokens);}return {content:m,finishReason:K(d?.finish_reason),usage:{inputTokens:{total:p.usage?.prompt_tokens??void 0,noCache:void 0,cacheRead:p.usage?.prompt_tokens_details?.cached_tokens??void 0,cacheWrite:void 0},outputTokens:{total:p.usage?.completion_tokens??void 0,text:void 0,reasoning:p.usage?.completion_tokens_details?.reasoning_tokens??void 0},raw:p.usage??void 0},providerMetadata:u,request:{body:k},response:{...U(p),headers:h,body:i},warnings:_}}async doStream(r){let{args:b,warnings:_}=await this.getArgs({...r}),k={...b,stream:true,stream_options:this.config.includeUsage?{include_usage:true}:void 0},h=this.config.metadataExtractor?.createStreamExtractor(),{responseHeaders:p,value:i}=await postJsonToApi({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),r.headers),body:k,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:createEventSourceResponseHandler(this.chunkSchema),abortSignal:r.abortSignal,fetch:this.config.fetch}),d=[],m={unified:"other",raw:void 0},o={completionTokens:void 0,completionTokensDetails:{reasoningTokens:void 0,acceptedPredictionTokens:void 0,rejectedPredictionTokens:void 0},promptTokens:void 0,promptTokensDetails:{cachedTokens:void 0},totalTokens:void 0},C=true,u=this.providerOptionsName,a=false,s=false,c;return {stream:i.pipeThrough(new TransformStream({start(g){g.enqueue({type:"stream-start",warnings:_});},transform(g,I){if(r.includeRawChunks&&I.enqueue({type:"raw",rawValue:g.rawValue}),!g.success){m={unified:"error",raw:void 0},I.enqueue({type:"error",error:g.error});return}let l=g.value;if(h?.processChunk(g.rawValue),"error"in l){m={unified:"error",raw:void 0},I.enqueue({type:"error",error:l.error.message});return}if(C&&(C=false,I.enqueue({type:"response-metadata",...U(l)})),l.usage!=null){let{prompt_tokens:R,completion_tokens:L,total_tokens:j,prompt_tokens_details:v,completion_tokens_details:z}=l.usage;o.promptTokens=R??void 0,o.completionTokens=L??void 0,o.totalTokens=j??void 0,z?.reasoning_tokens!=null&&(o.completionTokensDetails.reasoningTokens=z?.reasoning_tokens),z?.accepted_prediction_tokens!=null&&(o.completionTokensDetails.acceptedPredictionTokens=z?.accepted_prediction_tokens),z?.rejected_prediction_tokens!=null&&(o.completionTokensDetails.rejectedPredictionTokens=z?.rejected_prediction_tokens),v?.cached_tokens!=null&&(o.promptTokensDetails.cachedTokens=v?.cached_tokens);}let t=l.choices[0];if(t?.finish_reason!=null&&(m=K(t.finish_reason)),t?.delta==null)return;let y=t.delta;if(y.reasoning_opaque){if(c!=null)throw new InvalidResponseDataError({data:y,message:"Multiple reasoning_opaque values received in a single response. Only one thinking part per response is supported."});c=y.reasoning_opaque;}let N=y.reasoning_text;if(N&&(a||(I.enqueue({type:"reasoning-start",id:"reasoning-0"}),a=true),I.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:N})),y.content&&(a&&!s&&(I.enqueue({type:"reasoning-end",id:"reasoning-0",providerMetadata:c?{copilot:{reasoningOpaque:c}}:void 0}),a=false),s||(I.enqueue({type:"text-start",id:"txt-0",providerMetadata:c?{copilot:{reasoningOpaque:c}}:void 0}),s=true),I.enqueue({type:"text-delta",id:"txt-0",delta:y.content})),y.tool_calls!=null){a&&(I.enqueue({type:"reasoning-end",id:"reasoning-0",providerMetadata:c?{copilot:{reasoningOpaque:c}}:void 0}),a=false);for(let R of y.tool_calls){let L=R.index;if(d[L]==null){if(R.id==null)throw new InvalidResponseDataError({data:R,message:"Expected 'id' to be a string."});if(R.function?.name==null)throw new InvalidResponseDataError({data:R,message:"Expected 'function.name' to be a string."});I.enqueue({type:"tool-input-start",id:R.id,toolName:R.function.name}),d[L]={id:R.id,type:"function",function:{name:R.function.name,arguments:R.function.arguments??""},hasFinished:false};let v=d[L];v.function?.name!=null&&v.function?.arguments!=null&&(v.function.arguments.length>0&&I.enqueue({type:"tool-input-delta",id:v.id,delta:v.function.arguments}),isParsableJson(v.function.arguments)&&(I.enqueue({type:"tool-input-end",id:v.id}),I.enqueue({type:"tool-call",toolCallId:v.id??generateId(),toolName:v.function.name,input:v.function.arguments,providerMetadata:c?{copilot:{reasoningOpaque:c}}:void 0}),v.hasFinished=true));continue}let j=d[L];j.hasFinished||(R.function?.arguments!=null&&(j.function.arguments+=R.function?.arguments??""),I.enqueue({type:"tool-input-delta",id:j.id,delta:R.function.arguments??""}),j.function?.name!=null&&j.function?.arguments!=null&&isParsableJson(j.function.arguments)&&(I.enqueue({type:"tool-input-end",id:j.id}),I.enqueue({type:"tool-call",toolCallId:j.id??generateId(),toolName:j.function.name,input:j.function.arguments,providerMetadata:c?{copilot:{reasoningOpaque:c}}:void 0}),j.hasFinished=true));}}},flush(g){a&&g.enqueue({type:"reasoning-end",id:"reasoning-0",providerMetadata:c?{copilot:{reasoningOpaque:c}}:void 0}),s&&g.enqueue({type:"text-end",id:"txt-0"});for(let l of d.filter(t=>!t.hasFinished))g.enqueue({type:"tool-input-end",id:l.id}),g.enqueue({type:"tool-call",toolCallId:l.id??generateId(),toolName:l.function.name,input:l.function.arguments});let I={[u]:{},...c?{copilot:{reasoningOpaque:c}}:{},...h?.buildMetadata()};o.completionTokensDetails.acceptedPredictionTokens!=null&&I[u]&&(I[u].acceptedPredictionTokens=o.completionTokensDetails.acceptedPredictionTokens),o.completionTokensDetails.rejectedPredictionTokens!=null&&I[u]&&(I[u].rejectedPredictionTokens=o.completionTokensDetails.rejectedPredictionTokens),g.enqueue({type:"finish",finishReason:m,usage:{inputTokens:{total:o.promptTokens,noCache:o.promptTokens!==void 0&&o.promptTokensDetails.cachedTokens!==void 0?o.promptTokens-o.promptTokensDetails.cachedTokens:void 0,cacheRead:o.promptTokensDetails.cachedTokens,cacheWrite:void 0},outputTokens:{total:o.completionTokens,text:void 0,reasoning:o.completionTokensDetails.reasoningTokens},raw:{prompt_tokens:o.promptTokens??null,completion_tokens:o.completionTokens??null,total_tokens:o.totalTokens??null}},providerMetadata:I});}})),request:{body:k},response:{headers:p}}}},de=z.object({prompt_tokens:z.number().nullish(),completion_tokens:z.number().nullish(),total_tokens:z.number().nullish(),prompt_tokens_details:z.object({cached_tokens:z.number().nullish()}).nullish(),completion_tokens_details:z.object({reasoning_tokens:z.number().nullish(),accepted_prediction_tokens:z.number().nullish(),rejected_prediction_tokens:z.number().nullish()}).nullish()}).nullish(),He=z.object({id:z.string().nullish(),created:z.number().nullish(),model:z.string().nullish(),choices:z.array(z.object({message:z.object({role:z.literal("assistant").nullish(),content:z.string().nullish(),reasoning_text:z.string().nullish(),reasoning_opaque:z.string().nullish(),tool_calls:z.array(z.object({id:z.string().nullish(),function:z.object({name:z.string(),arguments:z.string()})})).nullish()}),finish_reason:z.string().nullish()})),usage:de}),Je=n=>z.union([z.object({id:z.string().nullish(),created:z.number().nullish(),model:z.string().nullish(),choices:z.array(z.object({delta:z.object({role:z.enum(["assistant"]).nullish(),content:z.string().nullish(),reasoning_text:z.string().nullish(),reasoning_opaque:z.string().nullish(),tool_calls:z.array(z.object({index:z.number(),id:z.string().nullish(),function:z.object({name:z.string().nullish(),arguments:z.string().nullish()})})).nullish()}).nullish(),finish_reason:z.string().nullish()})),usage:de}),n]);var Be=z.object({error:z.object({message:z.string(),type:z.string().nullish(),param:z.any().nullish(),code:z.union([z.string(),z.number()]).nullish()})}),X=createJsonErrorResponseHandler({errorSchema:Be,errorToMessage:n=>n.error.message});var Ze=z.object({code:z.string().nullish(),containerId:z.string()}),Xe=z.object({outputs:z.array(z.discriminatedUnion("type",[z.object({type:z.literal("logs"),logs:z.string()}),z.object({type:z.literal("image"),url:z.string()})])).nullish()}),ce=z.object({container:z.union([z.string(),z.object({fileIds:z.array(z.string()).optional()})]).optional()});createProviderToolFactoryWithOutputSchema({id:"openai.code_interpreter",inputSchema:Ze,outputSchema:Xe});var me=z.object({key:z.string(),type:z.enum(["eq","ne","gt","gte","lt","lte"]),value:z.union([z.string(),z.number(),z.boolean()])}),ge=z.object({type:z.enum(["and","or"]),filters:z.array(z.union([me,z.lazy(()=>ge)]))}),fe=z.object({vectorStoreIds:z.array(z.string()),maxNumResults:z.number().optional(),ranking:z.object({ranker:z.string().optional(),scoreThreshold:z.number().optional()}).optional(),filters:z.union([me,ge]).optional()}),Ye=z.object({queries:z.array(z.string()),results:z.array(z.object({attributes:z.record(z.string(),z.unknown()),fileId:z.string(),filename:z.string(),score:z.number(),text:z.string()})).nullable()});createProviderToolFactoryWithOutputSchema({id:"openai.file_search",inputSchema:z.object({}),outputSchema:Ye});var he=z.object({background:z.enum(["auto","opaque","transparent"]).optional(),inputFidelity:z.enum(["low","high"]).optional(),inputImageMask:z.object({fileId:z.string().optional(),imageUrl:z.string().optional()}).optional(),model:z.string().optional(),moderation:z.enum(["auto"]).optional(),outputCompression:z.number().int().min(0).max(100).optional(),outputFormat:z.enum(["png","jpeg","webp"]).optional(),partialImages:z.number().int().min(0).max(3).optional(),quality:z.enum(["auto","low","medium","high"]).optional(),size:z.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict(),tt=z.object({result:z.string()});createProviderToolFactoryWithOutputSchema({id:"openai.image_generation",inputSchema:z.object({}),outputSchema:tt});var Q=z.object({action:z.object({type:z.literal("exec"),command:z.array(z.string()),timeoutMs:z.number().optional(),user:z.string().optional(),workingDirectory:z.string().optional(),env:z.record(z.string(),z.string()).optional()})}),Y=z.object({output:z.string()});createProviderToolFactoryWithOutputSchema({id:"openai.local_shell",inputSchema:Q,outputSchema:Y});function be(n,r){return r?r.some(b=>n.startsWith(b)):false}async function Ce({prompt:n,systemMessageMode:r,fileIdPrefixes:b,store:_,hasLocalShellTool:k=false}){let h=[],p=[],i=new Set;for(let{role:d,content:m}of n)switch(d){case "system":{switch(r){case "system":{h.push({role:"system",content:m});break}case "developer":{h.push({role:"developer",content:m});break}case "remove":{p.push({type:"other",message:"system messages are removed for this model"});break}default:{let o=r;throw new Error(`Unsupported system message mode: ${o}`)}}break}case "user":{h.push({role:"user",content:m.map((o,C)=>{switch(o.type){case "text":return {type:"input_text",text:o.text};case "file":if(o.mediaType.startsWith("image/")){let u=o.mediaType==="image/*"?"image/jpeg":o.mediaType;return {type:"input_image",...o.data instanceof URL?{image_url:o.data.toString()}:typeof o.data=="string"&&be(o.data,b)?{file_id:o.data}:{image_url:`data:${u};base64,${convertToBase64(o.data)}`},detail:o.providerOptions?.openai?.imageDetail}}else {if(o.mediaType==="application/pdf")return o.data instanceof URL?{type:"input_file",file_url:o.data.toString()}:{type:"input_file",...typeof o.data=="string"&&be(o.data,b)?{file_id:o.data}:{filename:o.filename??`part-${C}.pdf`,file_data:`data:application/pdf;base64,${convertToBase64(o.data)}`}};throw new UnsupportedFunctionalityError({functionality:`file part media type ${o.mediaType}`})}default:throw new UnsupportedFunctionalityError({functionality:`part type ${o.type}`})}})});break}case "assistant":{let o={},C={};for(let u of m)switch(u.type){case "text":{h.push({role:"assistant",content:[{type:"output_text",text:u.text}],id:u.providerOptions?.openai?.itemId??void 0});break}case "tool-call":{if(C[u.toolCallId]=u,u.providerExecuted)break;if(k&&u.toolName==="local_shell"){let a=Q.parse(u.input);h.push({type:"local_shell_call",call_id:u.toolCallId,id:u.providerOptions?.openai?.itemId??void 0,action:{type:"exec",command:a.action.command,timeout_ms:a.action.timeoutMs,user:a.action.user,working_directory:a.action.workingDirectory,env:a.action.env}});break}h.push({type:"function_call",call_id:u.toolCallId,name:u.toolName,arguments:JSON.stringify(u.input),id:u.providerOptions?.openai?.itemId??void 0});break}case "tool-result":{_?h.push({type:"item_reference",id:u.toolCallId}):p.push({type:"other",message:`Results for OpenAI tool ${u.toolName} are not sent to the API when store is false`});break}case "reasoning":{let a=await parseProviderOptions({provider:"copilot",providerOptions:u.providerOptions,schema:it}),s=a?.itemId;if(s!=null){let c=o[s];if(_)c===void 0&&(h.push({type:"item_reference",id:s}),o[s]={type:"reasoning",id:s,summary:[]});else {let g=[];u.text.length>0?g.push({type:"summary_text",text:u.text}):c!==void 0&&p.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(u)}.`}),c===void 0?(o[s]={type:"reasoning",id:s,encrypted_content:a?.reasoningEncryptedContent,summary:g},h.push(o[s])):c.summary.push(...g);}}else p.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(u)}.`});break}}break}case "tool":{for(let o of m){if(o.type==="tool-approval-response"){if(i.has(o.approvalId))continue;i.add(o.approvalId),_&&h.push({type:"item_reference",id:o.approvalId}),h.push({type:"mcp_approval_response",approval_request_id:o.approvalId,approve:o.approved});continue}let C=o.output;if(C.type==="execution-denied"&&C.providerOptions?.openai?.approvalId)continue;if(k&&o.toolName==="local_shell"&&C.type==="json"){h.push({type:"local_shell_call_output",call_id:o.toolCallId,output:Y.parse(o.output.value).output});break}let u="";switch(C.type){case "text":case "error-text":u=C.value;break;case "execution-denied":u=C.reason??"Tool execution denied.";break;case "content":case "json":case "error-json":u=JSON.stringify(C.value);break}h.push({type:"function_call_output",call_id:o.toolCallId,output:u});}break}default:{let o=d;throw new Error(`Unsupported role: ${o}`)}}return {input:h,warnings:p}}var it=z.object({itemId:z.string().nullish(),reasoningEncryptedContent:z.string().nullish()});function te({finishReason:n,hasFunctionCall:r}){switch(n){case void 0:case null:return {unified:r?"tool-calls":"stop",raw:n||void 0};case "max_output_tokens":return {unified:"length",raw:n};case "content_filter":return {unified:"content-filter",raw:n};default:return {unified:r?"tool-calls":"other",raw:n}}}var ke=z.object({filters:z.object({allowedDomains:z.array(z.string()).optional()}).optional(),searchContextSize:z.enum(["low","medium","high"]).optional(),userLocation:z.object({type:z.literal("approximate"),country:z.string().optional(),city:z.string().optional(),region:z.string().optional(),timezone:z.string().optional()}).optional()});createProviderToolFactory({id:"openai.web_search",inputSchema:z.object({action:z.discriminatedUnion("type",[z.object({type:z.literal("search"),query:z.string().nullish()}),z.object({type:z.literal("open_page"),url:z.string()}),z.object({type:z.literal("find"),url:z.string(),pattern:z.string()})]).nullish()})});var Ie=z.object({searchContextSize:z.enum(["low","medium","high"]).optional(),userLocation:z.object({type:z.literal("approximate"),country:z.string().optional(),city:z.string().optional(),region:z.string().optional(),timezone:z.string().optional()}).optional()});createProviderToolFactory({id:"openai.web_search_preview",inputSchema:z.object({action:z.discriminatedUnion("type",[z.object({type:z.literal("search"),query:z.string().nullish()}),z.object({type:z.literal("open_page"),url:z.string()}),z.object({type:z.literal("find"),url:z.string(),pattern:z.string()})]).nullish()})});function Se({tools:n,toolChoice:r,strictJsonSchema:b}){n=(n?.length??0)>0?n:void 0;let _=[];if(n==null)return {tools:void 0,toolChoice:void 0,toolWarnings:_};let k=[];for(let p of n)switch(p.type){case "function":k.push({type:"function",name:p.name,description:p.description,parameters:p.inputSchema,strict:b});break;case "provider":{switch(p.id){case "openai.file_search":{let i=fe.parse(p.args);k.push({type:"file_search",vector_store_ids:i.vectorStoreIds,max_num_results:i.maxNumResults,ranking_options:i.ranking?{ranker:i.ranking.ranker,score_threshold:i.ranking.scoreThreshold}:void 0,filters:i.filters});break}case "openai.local_shell":{k.push({type:"local_shell"});break}case "openai.web_search_preview":{let i=Ie.parse(p.args);k.push({type:"web_search_preview",search_context_size:i.searchContextSize,user_location:i.userLocation});break}case "openai.web_search":{let i=ke.parse(p.args);k.push({type:"web_search",filters:i.filters!=null?{allowed_domains:i.filters.allowedDomains}:void 0,search_context_size:i.searchContextSize,user_location:i.userLocation});break}case "openai.code_interpreter":{let i=ce.parse(p.args);k.push({type:"code_interpreter",container:i.container==null?{type:"auto",file_ids:void 0}:typeof i.container=="string"?i.container:{type:"auto",file_ids:i.container.fileIds}});break}case "openai.image_generation":{let i=he.parse(p.args);k.push({type:"image_generation",background:i.background,input_fidelity:i.inputFidelity,input_image_mask:i.inputImageMask?{file_id:i.inputImageMask.fileId,image_url:i.inputImageMask.imageUrl}:void 0,model:i.model,moderation:i.moderation,partial_images:i.partialImages,quality:i.quality,output_compression:i.outputCompression,output_format:i.outputFormat,size:i.size});break}}break}default:_.push({type:"unsupported",feature:"unknown-tool"});break}if(r==null)return {tools:k,toolChoice:void 0,toolWarnings:_};let h=r.type;switch(h){case "auto":case "none":case "required":return {tools:k,toolChoice:h,toolWarnings:_};case "tool":return {tools:k,toolChoice:r.toolName==="code_interpreter"||r.toolName==="file_search"||r.toolName==="image_generation"||r.toolName==="web_search_preview"||r.toolName==="web_search"?{type:r.toolName}:{type:"function",name:r.toolName},toolWarnings:_};default:{let p=h;throw new UnsupportedFunctionalityError({functionality:`tool choice type: ${p}`})}}}var Oe=z.object({type:z.literal("web_search_call"),id:z.string(),status:z.string(),action:z.discriminatedUnion("type",[z.object({type:z.literal("search"),query:z.string().nullish()}),z.object({type:z.literal("open_page"),url:z.string()}),z.object({type:z.literal("find"),url:z.string(),pattern:z.string()})]).nullish()}),Me=z.object({type:z.literal("file_search_call"),id:z.string(),queries:z.array(z.string()),results:z.array(z.object({attributes:z.record(z.string(),z.unknown()),file_id:z.string(),filename:z.string(),score:z.number(),text:z.string()})).nullish()}),we=z.object({type:z.literal("code_interpreter_call"),id:z.string(),code:z.string().nullable(),container_id:z.string(),outputs:z.array(z.discriminatedUnion("type",[z.object({type:z.literal("logs"),logs:z.string()}),z.object({type:z.literal("image"),url:z.string()})])).nullable()}),Re=z.object({type:z.literal("local_shell_call"),id:z.string(),call_id:z.string(),action:z.object({type:z.literal("exec"),command:z.array(z.string()),timeout_ms:z.number().optional(),user:z.string().optional(),working_directory:z.string().optional(),env:z.record(z.string(),z.string()).optional()})}),Te=z.object({type:z.literal("image_generation_call"),id:z.string(),result:z.string()}),je=20,Ae=z.array(z.object({token:z.string(),logprob:z.number(),top_logprobs:z.array(z.object({token:z.string(),logprob:z.number()}))})),B=class{constructor(r,b$1){b(this,"specificationVersion","v3");b(this,"modelId");b(this,"config");b(this,"supportedUrls",{"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]});this.modelId=r,this.config=b$1;}get provider(){return this.config.provider}async getArgs({maxOutputTokens:r,temperature:b,stopSequences:_,topP:k,topK:h,presencePenalty:p,frequencyPenalty:i,seed:d,prompt:m,providerOptions:o,tools:C,toolChoice:u,responseFormat:a}){let s=[],c=Ft(this.modelId);h!=null&&s.push({type:"unsupported",feature:"topK"}),d!=null&&s.push({type:"unsupported",feature:"seed"}),p!=null&&s.push({type:"unsupported",feature:"presencePenalty"}),i!=null&&s.push({type:"unsupported",feature:"frequencyPenalty"}),_!=null&&s.push({type:"unsupported",feature:"stopSequences"});let g=await parseProviderOptions({provider:"copilot",providerOptions:o,schema:Dt}),{input:I,warnings:l}=await Ce({prompt:m,systemMessageMode:c.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes,store:g?.store??true,hasLocalShellTool:R("openai.local_shell")});s.push(...l);let t=g?.strictJsonSchema??false,y=g?.include;function N(E){y=y!=null?[...y,E]:[E];}function R(E){return C?.find(ne=>ne.type==="provider"&&ne.id===E)!=null}let L=typeof g?.logprobs=="number"?g?.logprobs:g?.logprobs===true?je:void 0;L&&N("message.output_text.logprobs");let j=C?.find(E=>E.type==="provider"&&(E.id==="openai.web_search"||E.id==="openai.web_search_preview"))?.name;j&&N("web_search_call.action.sources"),R("openai.code_interpreter")&&N("code_interpreter_call.outputs");let v={model:this.modelId,input:I,temperature:b,top_p:k,max_output_tokens:r,...(a?.type==="json"||g?.textVerbosity)&&{text:{...a?.type==="json"&&{format:a.schema!=null?{type:"json_schema",strict:t,name:a.name??"response",description:a.description,schema:a.schema}:{type:"json_object"}},...g?.textVerbosity&&{verbosity:g.textVerbosity}}},max_tool_calls:g?.maxToolCalls,metadata:g?.metadata,parallel_tool_calls:g?.parallelToolCalls,previous_response_id:g?.previousResponseId,store:g?.store,user:g?.user,instructions:g?.instructions,service_tier:g?.serviceTier,include:y,prompt_cache_key:g?.promptCacheKey,safety_identifier:g?.safetyIdentifier,top_logprobs:L,...c.isReasoningModel&&(g?.reasoningEffort!=null||g?.reasoningSummary!=null)&&{reasoning:{...g?.reasoningEffort!=null&&{effort:g.reasoningEffort},...g?.reasoningSummary!=null&&{summary:g.reasoningSummary}}},...c.requiredAutoTruncation&&{truncation:"auto"}};c.isReasoningModel?(v.temperature!=null&&(v.temperature=void 0,s.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"})),v.top_p!=null&&(v.top_p=void 0,s.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"}))):(g?.reasoningEffort!=null&&s.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"}),g?.reasoningSummary!=null&&s.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})),g?.serviceTier==="flex"&&!c.supportsFlexProcessing&&(s.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete v.service_tier),g?.serviceTier==="priority"&&!c.supportsPriorityProcessing&&(s.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete v.service_tier);let{tools:z,toolChoice:ze,toolWarnings:Ee}=Se({tools:C,toolChoice:u,strictJsonSchema:t});return {webSearchToolName:j,args:{...v,tools:z,tool_choice:ze},warnings:[...s,...Ee]}}async doGenerate(r){let{args:b,warnings:_,webSearchToolName:k}=await this.getArgs(r),h=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:p,value:i,rawValue:d}=await postJsonToApi({url:h,headers:combineHeaders(this.config.headers(),r.headers),body:b,failedResponseHandler:X,successfulResponseHandler:createJsonResponseHandler(z.object({id:z.string(),created_at:z.number(),error:z.object({code:z.string(),message:z.string()}).nullish(),model:z.string(),output:z.array(z.discriminatedUnion("type",[z.object({type:z.literal("message"),role:z.literal("assistant"),id:z.string(),content:z.array(z.object({type:z.literal("output_text"),text:z.string(),logprobs:Ae.nullish(),annotations:z.array(z.discriminatedUnion("type",[z.object({type:z.literal("url_citation"),start_index:z.number(),end_index:z.number(),url:z.string(),title:z.string()}),z.object({type:z.literal("file_citation"),file_id:z.string(),filename:z.string().nullish(),index:z.number().nullish(),start_index:z.number().nullish(),end_index:z.number().nullish(),quote:z.string().nullish()}),z.object({type:z.literal("container_file_citation")})]))}))}),Oe,Me,we,Te,Re,z.object({type:z.literal("function_call"),call_id:z.string(),name:z.string(),arguments:z.string(),id:z.string()}),z.object({type:z.literal("computer_call"),id:z.string(),status:z.string().optional()}),z.object({type:z.literal("reasoning"),id:z.string(),encrypted_content:z.string().nullish(),summary:z.array(z.object({type:z.literal("summary_text"),text:z.string()}))})])),service_tier:z.string().nullish(),incomplete_details:z.object({reason:z.string()}).nullish(),usage:Pe})),abortSignal:r.abortSignal,fetch:this.config.fetch});if(i.error)throw new APICallError({message:i.error.message,url:h,requestBodyValues:b,statusCode:400,responseHeaders:p,responseBody:d,isRetryable:false});let m=[],o=[],C=false;for(let a of i.output)switch(a.type){case "reasoning":{a.summary.length===0&&a.summary.push({type:"summary_text",text:""});for(let s of a.summary)m.push({type:"reasoning",text:s.text,providerMetadata:{openai:{itemId:a.id,reasoningEncryptedContent:a.encrypted_content??null}}});break}case "image_generation_call":{m.push({type:"tool-call",toolCallId:a.id,toolName:"image_generation",input:"{}"}),m.push({type:"tool-result",toolCallId:a.id,toolName:"image_generation",result:{result:a.result}});break}case "local_shell_call":{m.push({type:"tool-call",toolCallId:a.call_id,toolName:"local_shell",input:JSON.stringify({action:a.action}),providerMetadata:{openai:{itemId:a.id}}});break}case "message":{for(let s of a.content){r.providerOptions?.openai?.logprobs&&s.logprobs&&o.push(s.logprobs),m.push({type:"text",text:s.text,providerMetadata:{openai:{itemId:a.id}}});for(let c of s.annotations)c.type==="url_citation"?m.push({type:"source",sourceType:"url",id:generateId(),url:c.url,title:c.title}):c.type==="file_citation"&&m.push({type:"source",sourceType:"document",id:this.config.generateId?.()??generateId(),mediaType:"text/plain",title:c.quote??c.filename??"Document",filename:c.filename??c.file_id});}break}case "function_call":{C=true,m.push({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:a.arguments,providerMetadata:{openai:{itemId:a.id}}});break}case "web_search_call":{m.push({type:"tool-call",toolCallId:a.id,toolName:k??"web_search",input:JSON.stringify({action:a.action}),providerExecuted:true}),m.push({type:"tool-result",toolCallId:a.id,toolName:k??"web_search",result:{status:a.status}});break}case "computer_call":{m.push({type:"tool-call",toolCallId:a.id,toolName:"computer_use",input:"",providerExecuted:true}),m.push({type:"tool-result",toolCallId:a.id,toolName:"computer_use",result:{type:"computer_use_tool_result",status:a.status||"completed"}});break}case "file_search_call":{m.push({type:"tool-call",toolCallId:a.id,toolName:"file_search",input:"{}",providerExecuted:true}),m.push({type:"tool-result",toolCallId:a.id,toolName:"file_search",result:{queries:a.queries,results:a.results?.map(s=>({attributes:s.attributes,fileId:s.file_id,filename:s.filename,score:s.score,text:s.text}))??null}});break}case "code_interpreter_call":{m.push({type:"tool-call",toolCallId:a.id,toolName:"code_interpreter",input:JSON.stringify({code:a.code,containerId:a.container_id}),providerExecuted:true}),m.push({type:"tool-result",toolCallId:a.id,toolName:"code_interpreter",result:{outputs:a.outputs}});break}}let u={openai:{responseId:i.id}};return o.length>0&&u.openai&&(u.openai.logprobs=o),typeof i.service_tier=="string"&&u.openai&&(u.openai.serviceTier=i.service_tier),{content:m,finishReason:te({finishReason:i.incomplete_details?.reason,hasFunctionCall:C}),usage:{inputTokens:{total:i.usage.input_tokens,noCache:i.usage.input_tokens!==void 0&&i.usage.input_tokens_details?.cached_tokens!==void 0?i.usage.input_tokens-(i.usage.input_tokens_details?.cached_tokens??0):void 0,cacheRead:i.usage.input_tokens_details?.cached_tokens??void 0,cacheWrite:void 0},outputTokens:{total:i.usage.output_tokens,text:void 0,reasoning:i.usage.output_tokens_details?.reasoning_tokens??void 0},raw:i.usage},request:{body:b},response:{id:i.id,timestamp:new Date(i.created_at*1e3),modelId:i.model,headers:p,body:d},providerMetadata:u,warnings:_}}async doStream(r){let{args:b,warnings:_,webSearchToolName:k}=await this.getArgs(r),{responseHeaders:h,value:p}=await postJsonToApi({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),r.headers),body:{...b,stream:true},failedResponseHandler:X,successfulResponseHandler:createEventSourceResponseHandler(vt),abortSignal:r.abortSignal,fetch:this.config.fetch}),i={unified:"other",raw:void 0},d={inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0}},m=[],o=null,C={},u=false,a={},s=null,c=null,g;return {stream:p.pipeThrough(new TransformStream({start(I){I.enqueue({type:"stream-start",warnings:_});},transform(I,l){if(r.includeRawChunks&&l.enqueue({type:"raw",rawValue:I.rawValue}),!I.success){i={unified:"error",raw:void 0},l.enqueue({type:"error",error:I.error});return}let t=I.value;if(Le(t))t.item.type==="function_call"?(C[t.output_index]={toolName:t.item.name,toolCallId:t.item.call_id},l.enqueue({type:"tool-input-start",id:t.item.call_id,toolName:t.item.name})):t.item.type==="web_search_call"?(C[t.output_index]={toolName:k??"web_search",toolCallId:t.item.id},l.enqueue({type:"tool-input-start",id:t.item.id,toolName:k??"web_search"})):t.item.type==="computer_call"?(C[t.output_index]={toolName:"computer_use",toolCallId:t.item.id},l.enqueue({type:"tool-input-start",id:t.item.id,toolName:"computer_use"})):t.item.type==="code_interpreter_call"?(C[t.output_index]={toolName:"code_interpreter",toolCallId:t.item.id,codeInterpreter:{containerId:t.item.container_id}},l.enqueue({type:"tool-input-start",id:t.item.id,toolName:"code_interpreter"}),l.enqueue({type:"tool-input-delta",id:t.item.id,delta:`{"containerId":"${t.item.container_id}","code":"`})):t.item.type==="file_search_call"?l.enqueue({type:"tool-call",toolCallId:t.item.id,toolName:"file_search",input:"{}",providerExecuted:true}):t.item.type==="image_generation_call"?l.enqueue({type:"tool-call",toolCallId:t.item.id,toolName:"image_generation",input:"{}",providerExecuted:true}):t.item.type==="message"?(c=t.item.id,l.enqueue({type:"text-start",id:t.item.id,providerMetadata:{openai:{itemId:t.item.id}}})):qt(t)&&(a[t.output_index]={canonicalId:t.item.id,encryptedContent:t.item.encrypted_content,summaryParts:[0]},s=t.output_index,l.enqueue({type:"reasoning-start",id:`${t.item.id}:0`,providerMetadata:{openai:{itemId:t.item.id,reasoningEncryptedContent:t.item.encrypted_content??null}}}));else if(qe(t)){if(t.item.type==="function_call")C[t.output_index]=void 0,u=true,l.enqueue({type:"tool-input-end",id:t.item.call_id}),l.enqueue({type:"tool-call",toolCallId:t.item.call_id,toolName:t.item.name,input:t.item.arguments,providerMetadata:{openai:{itemId:t.item.id}}});else if(t.item.type==="web_search_call")C[t.output_index]=void 0,l.enqueue({type:"tool-input-end",id:t.item.id}),l.enqueue({type:"tool-call",toolCallId:t.item.id,toolName:"web_search",input:JSON.stringify({action:t.item.action}),providerExecuted:true}),l.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"web_search",result:{status:t.item.status}});else if(t.item.type==="computer_call")C[t.output_index]=void 0,l.enqueue({type:"tool-input-end",id:t.item.id}),l.enqueue({type:"tool-call",toolCallId:t.item.id,toolName:"computer_use",input:"",providerExecuted:true}),l.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"computer_use",result:{type:"computer_use_tool_result",status:t.item.status||"completed"}});else if(t.item.type==="file_search_call")C[t.output_index]=void 0,l.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"file_search",result:{queries:t.item.queries,results:t.item.results?.map(y=>({attributes:y.attributes,fileId:y.file_id,filename:y.filename,score:y.score,text:y.text}))??null}});else if(t.item.type==="code_interpreter_call")C[t.output_index]=void 0,l.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"code_interpreter",result:{outputs:t.item.outputs}});else if(t.item.type==="image_generation_call")l.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"image_generation",result:{result:t.item.result}});else if(t.item.type==="local_shell_call")C[t.output_index]=void 0,l.enqueue({type:"tool-call",toolCallId:t.item.call_id,toolName:"local_shell",input:JSON.stringify({action:{type:"exec",command:t.item.action.command,timeoutMs:t.item.action.timeout_ms,user:t.item.action.user,workingDirectory:t.item.action.working_directory,env:t.item.action.env}}),providerMetadata:{openai:{itemId:t.item.id}}});else if(t.item.type==="message")c&&(l.enqueue({type:"text-end",id:c}),c=null);else if(Mt(t)){let y=a[t.output_index];if(y){for(let N of y.summaryParts)l.enqueue({type:"reasoning-end",id:`${y.canonicalId}:${N}`,providerMetadata:{openai:{itemId:y.canonicalId,reasoningEncryptedContent:t.item.encrypted_content??null}}});delete a[t.output_index],s===t.output_index&&(s=null);}}}else if(Tt(t)){let y=C[t.output_index];y!=null&&l.enqueue({type:"tool-input-delta",id:y.toolCallId,delta:t.delta});}else if(jt(t))l.enqueue({type:"tool-result",toolCallId:t.item_id,toolName:"image_generation",result:{result:t.partial_image_b64}});else if(At(t)){let y=C[t.output_index];y!=null&&l.enqueue({type:"tool-input-delta",id:y.toolCallId,delta:JSON.stringify(t.delta).slice(1,-1)});}else if(Pt(t)){let y=C[t.output_index];y!=null&&(l.enqueue({type:"tool-input-delta",id:y.toolCallId,delta:'"}'}),l.enqueue({type:"tool-input-end",id:y.toolCallId}),l.enqueue({type:"tool-call",toolCallId:y.toolCallId,toolName:"code_interpreter",input:JSON.stringify({code:t.code,containerId:y.codeInterpreter.containerId})}));}else if(Rt(t))o=t.response.id,l.enqueue({type:"response-metadata",id:t.response.id,timestamp:new Date(t.response.created_at*1e3),modelId:t.response.model});else if(Ot(t))c||(c=t.item_id,l.enqueue({type:"text-start",id:c,providerMetadata:{openai:{itemId:t.item_id}}})),l.enqueue({type:"text-delta",id:c,delta:t.delta}),r.providerOptions?.openai?.logprobs&&t.logprobs&&m.push(t.logprobs);else if(Nt(t)){let y=s!==null?a[s]:null;y&&t.summary_index>0&&(y.summaryParts.push(t.summary_index),l.enqueue({type:"reasoning-start",id:`${y.canonicalId}:${t.summary_index}`,providerMetadata:{openai:{itemId:y.canonicalId,reasoningEncryptedContent:y.encryptedContent??null}}}));}else if(zt(t)){let y=s!==null?a[s]:null;y&&l.enqueue({type:"reasoning-delta",id:`${y.canonicalId}:${t.summary_index}`,delta:t.delta,providerMetadata:{openai:{itemId:y.canonicalId}}});}else wt(t)?(i=te({finishReason:t.response.incomplete_details?.reason,hasFunctionCall:u}),d={inputTokens:{total:t.response.usage.input_tokens,noCache:t.response.usage.input_tokens!==void 0&&t.response.usage.input_tokens_details?.cached_tokens!==void 0?t.response.usage.input_tokens-(t.response.usage.input_tokens_details?.cached_tokens??0):void 0,cacheRead:t.response.usage.input_tokens_details?.cached_tokens??void 0,cacheWrite:void 0},outputTokens:{total:t.response.usage.output_tokens,text:void 0,reasoning:t.response.usage.output_tokens_details?.reasoning_tokens??void 0},raw:t.response.usage},typeof t.response.service_tier=="string"&&(g=t.response.service_tier)):Lt(t)?t.annotation.type==="url_citation"?l.enqueue({type:"source",sourceType:"url",id:generateId(),url:t.annotation.url,title:t.annotation.title}):t.annotation.type==="file_citation"&&l.enqueue({type:"source",sourceType:"document",id:generateId(),mediaType:"text/plain",title:t.annotation.quote??t.annotation.filename??"Document",filename:t.annotation.filename??t.annotation.file_id}):Et(t)&&l.enqueue({type:"error",error:t});},flush(I){c&&(I.enqueue({type:"text-end",id:c}),c=null);let l={openai:{responseId:o}};m.length>0&&(l.openai.logprobs=m),g!==void 0&&(l.openai.serviceTier=g),I.enqueue({type:"finish",finishReason:i,usage:d,providerMetadata:l});}})),request:{body:b},response:{headers:h}}}},Pe=z.object({input_tokens:z.number(),input_tokens_details:z.object({cached_tokens:z.number().nullish()}).nullish(),output_tokens:z.number(),output_tokens_details:z.object({reasoning_tokens:z.number().nullish()}).nullish()}),ct=z.object({type:z.literal("response.output_text.delta"),item_id:z.string(),delta:z.string(),logprobs:Ae.nullish()}),mt=z.object({type:z.literal("error"),code:z.string(),message:z.string(),param:z.string().nullish(),sequence_number:z.number()}),gt=z.object({type:z.enum(["response.completed","response.incomplete"]),response:z.object({incomplete_details:z.object({reason:z.string()}).nullish(),usage:Pe,service_tier:z.string().nullish()})}),ft=z.object({type:z.literal("response.created"),response:z.object({id:z.string(),created_at:z.number(),model:z.string(),service_tier:z.string().nullish()})}),ht=z.object({type:z.literal("response.output_item.added"),output_index:z.number(),item:z.discriminatedUnion("type",[z.object({type:z.literal("message"),id:z.string()}),z.object({type:z.literal("reasoning"),id:z.string(),encrypted_content:z.string().nullish()}),z.object({type:z.literal("function_call"),id:z.string(),call_id:z.string(),name:z.string(),arguments:z.string()}),z.object({type:z.literal("web_search_call"),id:z.string(),status:z.string(),action:z.object({type:z.literal("search"),query:z.string().optional()}).nullish()}),z.object({type:z.literal("computer_call"),id:z.string(),status:z.string()}),z.object({type:z.literal("file_search_call"),id:z.string()}),z.object({type:z.literal("image_generation_call"),id:z.string()}),z.object({type:z.literal("code_interpreter_call"),id:z.string(),container_id:z.string(),code:z.string().nullable(),outputs:z.array(z.discriminatedUnion("type",[z.object({type:z.literal("logs"),logs:z.string()}),z.object({type:z.literal("image"),url:z.string()})])).nullable(),status:z.string()})])}),yt=z.object({type:z.literal("response.output_item.done"),output_index:z.number(),item:z.discriminatedUnion("type",[z.object({type:z.literal("message"),id:z.string()}),z.object({type:z.literal("reasoning"),id:z.string(),encrypted_content:z.string().nullish()}),z.object({type:z.literal("function_call"),id:z.string(),call_id:z.string(),name:z.string(),arguments:z.string(),status:z.literal("completed")}),we,Te,Oe,Me,Re,z.object({type:z.literal("computer_call"),id:z.string(),status:z.literal("completed")})])}),_t=z.object({type:z.literal("response.function_call_arguments.delta"),item_id:z.string(),output_index:z.number(),delta:z.string()}),bt=z.object({type:z.literal("response.image_generation_call.partial_image"),item_id:z.string(),output_index:z.number(),partial_image_b64:z.string()}),Ct=z.object({type:z.literal("response.code_interpreter_call_code.delta"),item_id:z.string(),output_index:z.number(),delta:z.string()}),kt=z.object({type:z.literal("response.code_interpreter_call_code.done"),item_id:z.string(),output_index:z.number(),code:z.string()}),It=z.object({type:z.literal("response.output_text.annotation.added"),annotation:z.discriminatedUnion("type",[z.object({type:z.literal("url_citation"),url:z.string(),title:z.string()}),z.object({type:z.literal("file_citation"),file_id:z.string(),filename:z.string().nullish(),index:z.number().nullish(),start_index:z.number().nullish(),end_index:z.number().nullish(),quote:z.string().nullish()})])}),St=z.object({type:z.literal("response.reasoning_summary_part.added"),item_id:z.string(),summary_index:z.number()}),xt=z.object({type:z.literal("response.reasoning_summary_text.delta"),item_id:z.string(),summary_index:z.number(),delta:z.string()}),vt=z.union([ct,gt,ft,ht,yt,_t,bt,Ct,kt,It,St,xt,mt,z.object({type:z.string()}).loose()]);function Ot(n){return n.type==="response.output_text.delta"}function qe(n){return n.type==="response.output_item.done"}function Mt(n){return qe(n)&&n.item.type==="reasoning"}function wt(n){return n.type==="response.completed"||n.type==="response.incomplete"}function Rt(n){return n.type==="response.created"}function Tt(n){return n.type==="response.function_call_arguments.delta"}function jt(n){return n.type==="response.image_generation_call.partial_image"}function At(n){return n.type==="response.code_interpreter_call_code.delta"}function Pt(n){return n.type==="response.code_interpreter_call_code.done"}function Le(n){return n.type==="response.output_item.added"}function qt(n){return Le(n)&&n.item.type==="reasoning"}function Lt(n){return n.type==="response.output_text.annotation.added"}function Nt(n){return n.type==="response.reasoning_summary_part.added"}function zt(n){return n.type==="response.reasoning_summary_text.delta"}function Et(n){return n.type==="error"}function Ft(n){let r=n.startsWith("o3")||n.startsWith("o4-mini")||n.startsWith("gpt-5")&&!n.startsWith("gpt-5-chat"),b=n.startsWith("gpt-4")||n.startsWith("gpt-5-mini")||n.startsWith("gpt-5")&&!n.startsWith("gpt-5-nano")&&!n.startsWith("gpt-5-chat")||n.startsWith("o3")||n.startsWith("o4-mini"),_={requiredAutoTruncation:false,systemMessageMode:"system",supportsFlexProcessing:r,supportsPriorityProcessing:b};return n.startsWith("gpt-5-chat")?{..._,isReasoningModel:false}:n.startsWith("o")||n.startsWith("gpt-5")||n.startsWith("codex-")||n.startsWith("computer-use")?n.startsWith("o1-mini")||n.startsWith("o1-preview")?{..._,isReasoningModel:true,systemMessageMode:"remove"}:{..._,isReasoningModel:true,systemMessageMode:"developer"}:{..._,isReasoningModel:false}}var Dt=z.object({include:z.array(z.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:z.string().nullish(),logprobs:z.union([z.boolean(),z.number().min(1).max(je)]).optional(),maxToolCalls:z.number().nullish(),metadata:z.any().nullish(),parallelToolCalls:z.boolean().nullish(),previousResponseId:z.string().nullish(),promptCacheKey:z.string().nullish(),reasoningEffort:z.string().nullish(),reasoningSummary:z.string().nullish(),safetyIdentifier:z.string().nullish(),serviceTier:z.enum(["auto","flex","priority"]).nullish(),store:z.boolean().nullish(),strictJsonSchema:z.boolean().nullish(),textVerbosity:z.enum(["low","medium","high"]).nullish(),user:z.string().nullish()});var Ut="0.1.0";function Ne(n={}){let r=withoutTrailingSlash(n.baseURL??"https://api.openai.com/v1");if(!r)throw new Error("baseURL is required");let b={...n.apiKey&&{Authorization:`Bearer ${n.apiKey}`},...n.headers},_=()=>withUserAgentSuffix(b,`ai-sdk/openai-compatible/${Ut}`),k=d=>new J(d,{provider:`${n.name??"openai-compatible"}.chat`,headers:_,url:({path:m})=>`${r}${m}`,fetch:n.fetch}),h=d=>new B(d,{provider:`${n.name??"openai-compatible"}.responses`,headers:_,url:({path:m})=>`${r}${m}`,fetch:n.fetch}),p=d=>k(d),i=function(d){return k(d)};return i.languageModel=p,i.chat=k,i.responses=h,i}var $t=Ne();
|
|
2
|
+
export{Ne as createOpenaiCompatible,$t as openaiCompatible};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {a as a$2}from'./chunk-5QKMSVQL.mjs';import {e}from'./chunk-M3K32WJV.mjs';import'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import {a as a$1}from'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import {c,d}from'./chunk-X6ISXWBN.mjs';import {PKG}from'@easbot/utils';var v=a.create({service:"debug.config"});function k(g,s){g.command("config").description(a$1("debug.config.command.describe")).action(async()=>{v.debug("Loading configuration");try{let r=await s.sdk.config.get();console.log(JSON.stringify(r.data,null,2));}catch(r){v.error("Failed to load configuration",{error:r instanceof Error?r.message:String(r)}),console.error(e(a$1("debug.config.error.load_failed",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}var l=a.create({service:"debug.file"});function F(g,s){let n=g.command("file").description(a$1("debug.file.command.describe"));n.command("search <query>").description(a$1("debug.file.search.command.describe")).action(async r=>{await a$2(s.config.directory,async()=>{let{File:t}=await import('./file-N5R4HKSU.mjs');l.debug("Searching files",{query:r});try{let o=await t.search({query:r});console.log(o.join(`
|
|
2
|
+
`));}catch(o){l.error("File search failed",{query:r,error:o instanceof Error?o.message:String(o)}),console.error(e(a$1("debug.file.search.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("read <path>").description(a$1("debug.file.read.command.describe")).action(async r=>{await a$2(s.config.directory,async()=>{let{File:t}=await import('./file-N5R4HKSU.mjs');l.debug("Reading file",{path:r});try{let o=await t.read(r);console.log(JSON.stringify(o,null,2));}catch(o){l.error("File read failed",{path:r,error:o instanceof Error?o.message:String(o)}),console.error(e(a$1("debug.file.read.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("status").description(a$1("debug.file.status.command.describe")).action(async()=>{await a$2(s.config.directory,async()=>{let{File:r}=await import('./file-N5R4HKSU.mjs');l.debug("Getting file status");try{let t=await r.status();console.log(JSON.stringify(t,null,2));}catch(t){l.error("File status failed",{error:t instanceof Error?t.message:String(t)}),console.error(e(a$1("debug.file.status.error",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}});}),n.command("list <path>").description(a$1("debug.file.list.command.describe")).action(async r=>{await a$2(s.config.directory,async()=>{let{File:t}=await import('./file-N5R4HKSU.mjs');l.debug("Listing files",{path:r});try{let o=await t.list(r);console.log(JSON.stringify(o,null,2));}catch(o){l.error("File list failed",{path:r,error:o instanceof Error?o.message:String(o)}),console.error(e(a$1("debug.file.list.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("tree [dir]").description(a$1("debug.file.tree.command.describe")).option("--limit <number>",a$1("debug.file.tree.option.limit.description")).action(async(r,t)=>{await a$2(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-G73RIQ5F.mjs'),{Instance:p}=await import('./instance-6RDAH4IX.mjs');l.debug("Showing file tree",{dir:r});try{let i=await o.tree({cwd:r||p.directory,limit:t?.limit||200});console.log(JSON.stringify(i,null,2));}catch(i){l.error("File tree failed",{dir:r,error:i instanceof Error?i.message:String(i)}),console.error(e(a$1("debug.file.tree.error",{vars:{error:i instanceof Error?i.message:String(i)}}))),process.exit(1);}});});}var u=a.create({service:"debug.lsp"});function x(g,s){let n=g.command("lsp").description(a$1("debug.lsp.command.describe"));n.command("diagnostics <file>").description(a$1("debug.lsp.diagnostics.command.describe")).action(async r=>{await a$2(s.config.directory,async()=>{let{LSP:t}=await import('./lsp-U7VGUPLT.mjs');u.debug("Getting diagnostics",{file:r});try{await t.touchFile(r,!0),await PKG.sleep(1e3);let o=await t.diagnostics();console.log(JSON.stringify(o,null,2));}catch(o){u.error("Failed to get diagnostics",{file:r,error:o instanceof Error?o.message:String(o)}),console.error(e(a$1("debug.lsp.diagnostics.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("symbols <query>").description(a$1("debug.lsp.symbols.command.describe")).action(async r=>{await a$2(s.config.directory,async()=>{let{LSP:t}=await import('./lsp-U7VGUPLT.mjs');u.debug("Searching workspace symbols",{query:r});try{var o=[];try{let d=c(o,a.Default.time("symbols"));let h=await t.workspaceSymbol(r);console.log(JSON.stringify(h,null,2));}catch(p){var i=p,S=!0;}finally{d(o,i,S);}}catch(d){u.error("Failed to search symbols",{query:r,error:d instanceof Error?d.message:String(d)}),console.error(e(a$1("debug.lsp.symbols.error",{vars:{error:d instanceof Error?d.message:String(d)}}))),process.exit(1);}});}),n.command("document-symbols <file>").description(a$1("debug.lsp.document_symbols.command.describe")).action(async r=>{await a$2(s.config.directory,async()=>{let{LSP:t}=await import('./lsp-U7VGUPLT.mjs');u.debug("Getting document symbols",{file:r});try{var o=[];try{let d=c(o,a.Default.time("document-symbols"));let h=await t.documentSymbol({file:r});console.log(JSON.stringify(h,null,2));}catch(p){var i=p,S=!0;}finally{d(o,i,S);}}catch(d){u.error("Failed to get document symbols",{file:r,error:d instanceof Error?d.message:String(d)}),console.error(e(a$1("debug.lsp.document_symbols.error",{vars:{error:d instanceof Error?d.message:String(d)}}))),process.exit(1);}});});}var y=a.create({service:"debug.ripgrep"});function L(g,s){let n=g.command("rg").description(a$1("debug.ripgrep.command.describe"));n.command("tree").description(a$1("debug.ripgrep.tree.command.describe")).option("--limit <number>",a$1("debug.ripgrep.tree.option.limit.description")).action(async(r,t)=>{await a$2(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-G73RIQ5F.mjs'),{Instance:p}=await import('./instance-6RDAH4IX.mjs');y.debug("Showing file tree",{limit:t?.limit});try{let i=await o.tree({cwd:p.directory,limit:t?.limit});console.log(i);}catch(i){y.error("File tree failed",{error:i instanceof Error?i.message:String(i)}),console.error(e(a$1("debug.ripgrep.tree.error",{vars:{error:i instanceof Error?i.message:String(i)}}))),process.exit(1);}});}),n.command("files").description(a$1("debug.ripgrep.files.command.describe")).option("--query <string>",a$1("debug.ripgrep.files.option.query.description")).option("--glob <string>",a$1("debug.ripgrep.files.option.glob.description")).option("--limit <number>",a$1("debug.ripgrep.files.option.limit.description")).action(async(r,t)=>{await a$2(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-G73RIQ5F.mjs'),{Instance:p}=await import('./instance-6RDAH4IX.mjs');y.debug("Listing files",{query:t?.query,glob:t?.glob,limit:t?.limit});try{let i=[];for await(let S of o.files({cwd:p.directory,glob:t?.glob?[t.glob]:void 0}))if(i.push(S),t?.limit&&i.length>=t.limit)break;console.log(i.join(`
|
|
3
|
+
`));}catch(i){y.error("File listing failed",{error:i instanceof Error?i.message:String(i)}),console.error(e(a$1("debug.ripgrep.files.error",{vars:{error:i instanceof Error?i.message:String(i)}}))),process.exit(1);}});}),n.command("search <pattern>").description(a$1("debug.ripgrep.search.command.describe")).option("--glob <glob...>",a$1("debug.ripgrep.search.option.glob.description")).option("--limit <number>",a$1("debug.ripgrep.search.option.limit.description")).action(async(r,t)=>{await a$2(s.config.directory,async()=>{let{Ripgrep:o}=await import('./ripgrep-G73RIQ5F.mjs'),{Instance:p}=await import('./instance-6RDAH4IX.mjs');y.debug("Searching files",{pattern:r,glob:t?.glob,limit:t?.limit});try{let i=await o.search({cwd:p.directory,pattern:r,glob:t?.glob,limit:t?.limit});console.log(JSON.stringify(i,null,2));}catch(i){y.error("Search failed",{pattern:r,error:i instanceof Error?i.message:String(i)}),console.error(e(a$1("debug.ripgrep.search.error",{vars:{error:i instanceof Error?i.message:String(i)}}))),process.exit(1);}});});}var G=a.create({service:"debug.scrap"});function P(g,s){g.command("scrap").description(a$1("debug.scrap.command.describe")).action(async()=>{G.debug("Listing projects");let r=await s.sdk.project.list();console.log(JSON.stringify(r.data,null,2));});}var O=a.create({service:"debug.skill"});function J(g,s){g.command("skill").description(a$1("debug.skill.command.describe")).action(async()=>{O.debug("Listing skills");try{let r=await s.sdk.app.skills();console.log(JSON.stringify(r.data,null,2));}catch(r){O.error("Failed to list skills",{error:r instanceof Error?r.message:String(r)}),console.error(e(a$1("debug.skill.error.list_failed",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}var w=a.create({service:"debug.snapshot"});function N(g,s){let n=g.command("snapshot").description(a$1("debug.snapshot.command.describe"));n.command("track").description(a$1("debug.snapshot.track.command.describe")).action(async()=>{await a$2(s.config.directory,async()=>{let{Snapshot:r}=await import('./snapshot-V556Q4I5.mjs');w.debug("Tracking snapshot");try{let t=await r.track();console.log(t);}catch(t){w.error("Snapshot track failed",{error:t instanceof Error?t.message:String(t)}),console.error(e(a$1("debug.snapshot.track.error",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}});}),n.command("patch <hash>").description(a$1("debug.snapshot.patch.command.describe")).action(async r=>{await a$2(s.config.directory,async()=>{let{Snapshot:t}=await import('./snapshot-V556Q4I5.mjs');w.debug("Getting snapshot patch",{hash:r});try{let o=await t.patch(r);console.log(o);}catch(o){w.error("Snapshot patch failed",{hash:r,error:o instanceof Error?o.message:String(o)}),console.error(e(a$1("debug.snapshot.patch.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});}),n.command("diff <hash>").description(a$1("debug.snapshot.diff.command.describe")).action(async r=>{await a$2(s.config.directory,async()=>{let{Snapshot:t}=await import('./snapshot-V556Q4I5.mjs');w.debug("Getting snapshot diff",{hash:r});try{let o=await t.diff(r);console.log(o);}catch(o){w.error("Snapshot diff failed",{hash:r,error:o instanceof Error?o.message:String(o)}),console.error(e(a$1("debug.snapshot.diff.error",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}});});}a.create({service:"debug"});function Nr(g,s){let n=g.command("debug").description(a$1("debug.command.description"));k(n,s),F(n,s),x(n,s),L(n,s),P(n,s),J(n,s),N(n,s),n.command("agent <name>").description(a$1("debug.agent.command.describe")).option("--tool <tool-id>",a$1("debug.agent.option.tool.description")).option("--params <json>",a$1("debug.agent.option.params.description")).action(async(r,t)=>{let{registerAgentCommand:o}=await import('./agent-TM2AYB67.mjs');o(s,r,t);}),n.command("paths").description(a$1("debug.paths.command.describe")).action(async()=>{let{Global:r}=await import('./global-QYCQXNCR.mjs');for(let[t,o]of Object.entries(r.Path))console.log(`${t.padEnd(10)}${o}`);}),n.command("wait").description(a$1("debug.wait.command.describe")).action(async()=>{await a$2(s.config.directory,async()=>{await new Promise(r=>setTimeout(r,1e3*60*60*24));});});}export{Nr as registerDebugCommands};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{c as TuiEvent}from'./chunk-DEZT7DOH.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {e,h}from'./chunk-M3K32WJV.mjs';import {a as a$1}from'./chunk-EEWP2VV6.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-X6ISXWBN.mjs';var n=a.create({service:"cli-command-export"});function S(p,i){p.command("export [sessionID]").description(a$1("export.command.description")).action(async o=>{n.debug("Exporting session",{sessionId:o});try{if(!o){let{data:e$1}=await i.sdk.session.list({});(!e$1||e$1.length===0)&&(console.error(e(a$1("export.error.no_sessions"))),process.exit(1));let a=[...e$1].sort((f,l)=>l.time.updated-f.time.updated)[0];a||(console.error(e(a$1("export.error.no_sessions"))),process.exit(1)),o=a.id,n.debug("Using latest session",{sessionId:o});}console.log(h(a$1("export.exporting",{vars:{sessionId:o}})));let{data:r}=await i.sdk.session.get({sessionID:o}),{data:c}=await i.sdk.session.messages({sessionID:o}),g={info:r,messages:(c??[]).map(e=>({info:e.info,parts:e.parts}))};console.log(JSON.stringify(g,null,2)),n.debug("Session exported successfully",{sessionId:o});}catch(r){n.error("Failed to export session",{sessionId:o,error:r instanceof Error?r.message:String(r)}),console.error(e(a$1("export.error.failed",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}export{S as registerExportCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Y as File}from'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {a as a$2}from'./chunk-LAHYVX5K.mjs';import {a as a$3}from'./chunk-5QKMSVQL.mjs';import'./chunk-VII7JKGB.mjs';import {g,f,e,d,h,k,a as a$4,c as c$1,b,i}from'./chunk-M3K32WJV.mjs';import {Ka}from'./chunk-PKBPWDSV.mjs';import {c}from'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import {a as a$1}from'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import {a as a$5}from'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';import'commander';import {Gateway}from'@easbot/gateway';var n=a.create({service:"cli-command-gateway"});function I(c,r,o){let t=b();console.log(""),console.log(d(a$1("gateway.server.started"))),console.log(k(60)),o?.directory&&console.log(i(a$1("gateway.field.directory"),o.directory,15));let a={stopped:a$4.muted,starting:a$4.info,running:a$4.success,stopping:a$4.info,error:a$4.error},s=c$1(t,a[c]||a$4.muted,c.toUpperCase());if(console.log(i(a$1("gateway.field.status"),s,15)),c==="running"){let m=r.https?.enabled?"wss":"ws",u=r.path||"/",g=`${m}://${r.hostname}:${r.port}${u}`;console.log(i(a$1("gateway.field.ws_url"),g,15)),console.log(i(a$1("gateway.field.port"),String(r.port),15)),console.log(i(a$1("gateway.field.hostname"),r.hostname,15)),console.log(i(a$1("gateway.field.tls"),r.https?.enabled?a$1("common.enabled"):a$1("common.disabled"),15));}o?.debug!==void 0&&console.log(i(a$1("gateway.field.debug"),o.debug?c$1(t,a$4.success,a$1("common.enabled")):c$1(t,a$4.muted,a$1("common.disabled")),15)),o?.error&&console.log(i(a$1("gateway.field.error"),o.error,15)),console.log(k(60)),console.log("");}function H(){let c=async r=>{n.debug(`Received ${r}, shutting down gracefully...`),console.log(`
|
|
2
|
+
${a$1("gateway.shutdown.received",{vars:{signal:r}})}`);try{await Gateway.stop(),n.debug("Gateway state destroyed"),console.log(d(a$1("gateway.shutdown.completed")));}catch(o){n.error("Error during shutdown",{error:o instanceof Error?o.message:String(o)});}process.exit(0);};process.on("SIGINT",()=>{c("SIGINT").catch(console.error);}),process.on("SIGTERM",()=>{c("SIGTERM").catch(console.error);});}async function R(c){n.debug("createAgentAdapter: starting",{directory:c}),n.debug("createAgentAdapter: calling Instance.provide");let r=await Ka.provide({directory:c,fn:async()=>{n.debug("createAgentAdapter: Instance.provide fn called");let{Project:g}=await import('./project-NIXIQTRB.mjs');n.debug("createAgentAdapter: Project imported, calling fromDirectory");let{project:p,sandbox:d}=await g.fromDirectory(c);n.debug("createAgentAdapter: fromDirectory completed",{projectId:p.id});let _={directory:c,worktree:d,project:p};return n.debug("createAgentAdapter: fn returning",{directory:c,projectId:p.id}),_}});n.debug("createAgentAdapter: Instance.provide completed",{directory:r.directory,projectId:r.project.id});let o={Path:{home:a$5.Path.home,data:a$5.Path.data,cache:a$5.Path.cache,config:a$5.Path.config,state:a$5.Path.state,log:a$5.Path.log,bin:a$5.Path.bin}},t={directory:r.directory,worktree:r.worktree},a=new Map,s={on(g,p){a.has(g)||a.set(g,new Set),a.get(g).add(p);},off(g,p){a.get(g)?.delete(p);},async emit(g){let p=a.get(g.name);if(p)for(let d of p)await d(g);}},m={async run(g){return n.warn("SubAgent runner not implemented in CLI mode"),{success:false,error:"SubAgent runner not available in CLI mode"}}};return {subAgentRunner:m,hookRegistry:s,global:o,instance:t,setMessageStorage(g){}}}async function T(c$1,r,o){n.debug("Gateway start command executed",{options:r});try{let t=o.config.directory;n.debug("Working directory resolved",{directory:t});let a=a$2(t);if(!a.valid)throw n.error("Working directory validation failed",{directory:t,error:a.error}),new Error(`Invalid working directory: ${a.error}`);let s=a.normalizedPath;n.debug("Working directory validated",{validatedDirectory:s}),console.log(g(a$1("gateway.directory.resolved",{vars:{cwd:s}}))),await a$3(s,async()=>{let{initLog:m,setAgentAdapter:u}=await import('@easbot/gateway');await m({logDir:process.env.EASBOT_LOG_PATH??process.cwd(),print:o.config.print_logs??!1,dev:o.config.debug??!1,level:o.config.log_level??"INFO"});let p=await R(s);n.debug("executeGatewayStart: createAgentAdapter completed"),u(p),n.debug("Agent adapter injected into Gateway");let d=await c();if(n.debug("Gateway server configuration",{port:d.port,hostname:d.hostname,path:d.path,tls:d.https?.enabled,enabled:d.enabled}),!d.enabled){n.warn("Gateway server is disabled by configuration"),console.log(f(a$1("gateway.disabled")));return}await Gateway.start(d),n.info("Gateway server started successfully"),I("running",d,{directory:s,debug:o.config.debug}),H(),await new Promise(()=>{});});}catch(t){n.error("Failed to start Gateway server",{error:t instanceof Error?t.message:String(t)}),console.error(e(a$1("gateway.error.start_failed",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}}async function O(c$1,r){n.debug("Gateway stop command executed",{options:c$1});try{let o=r.config.directory;await a$3(o,async()=>{if(Gateway.getStatus()==="stopped"){console.log(g(a$1("gateway.status.already_stopped")));return}await Gateway.stop(),console.log(d(a$1("gateway.stopped")));let a=await c();I("stopped",a,{directory:o});});}catch(o){n.error("Failed to stop Gateway server",{error:o instanceof Error?o.message:String(o)}),console.error(e(a$1("gateway.error.stop_failed",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}}async function D(c$1,r,o){n.debug("Gateway restart command executed",{options:r});try{let t=o.config.directory;await a$3(t,async()=>{let a=await c();if(!a.enabled){n.warn("Gateway server is disabled by configuration"),console.log(f(a$1("gateway.disabled")));return}console.log(g(a$1("gateway.restarting"))),await Gateway.restart(a),console.log(d(a$1("gateway.restarted"))),I("running",a,{directory:t,debug:o.config.debug}),H(),await new Promise(()=>{});});}catch(t){n.error("Failed to restart Gateway server",{error:t instanceof Error?t.message:String(t)}),console.error(e(a$1("gateway.error.restart_failed",{vars:{error:t instanceof Error?t.message:String(t)}}))),process.exit(1);}}async function j(c$2,r){n.debug("Gateway status command executed",{options:c$2});try{let o=r.config.directory;await a$3(o,async()=>{let t=Gateway.getStatus(),s=(await Gateway.get())?.getStatus(),m=await c();console.log(""),console.log(h(a$1("gateway.status.title"))),console.log(k(60));let u={stopped:a$4.muted,starting:a$4.info,running:a$4.success,stopping:a$4.info,error:a$4.error},g=c$1(b(),u[t]||a$4.muted,t.toUpperCase());if(console.log(i(a$1("gateway.field.status"),g,15)),s){console.log(i(a$1("gateway.field.port"),String(s.port),15)),console.log(i(a$1("gateway.field.hostname"),s.hostname||m.hostname,15)),console.log(i(a$1("gateway.field.connections"),String(s.connections||0),15));let d=`${m.https?.enabled?"wss":"ws"}://${s.hostname||m.hostname}:${s.port}`;console.log(i(a$1("gateway.field.ws_url"),d,15));}console.log(k(60)),console.log("");});}catch(o){n.error("Failed to get Gateway status",{error:o instanceof Error?o.message:String(o)}),console.error(e(a$1("gateway.error.status_failed",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}}async function W(c,r){n.debug("Gateway config show command executed",{options:c});try{let o=r.config.directory;await a$3(o,async()=>{let t=await Gateway.config();if(!t){console.log(f(a$1("gateway.config.not_found")));return}if(console.log(""),console.log(h(a$1("gateway.config.heading"))),console.log(k(60)),t.server&&(console.log(h(a$1("gateway.config.server"))),console.log(i(" enabled",String(t.server.enabled??!0),12)),console.log(i(" port",String(t.server.port??3001),12)),console.log(i(" hostname",t.server.hostname??"0.0.0.0",12)),console.log(i(" tls",String(t.server.https?.enabled??!1),12)),console.log(i(" cors",String(t.server.cors??!0),12))),t.channels){console.log(""),console.log(h(a$1("gateway.config.channels")));let a=Object.keys(t.channels);if(a.length===0)console.log(g(" "+a$1("gateway.config.no_channels")));else for(let s of a){let m=t.channels[s];m&&console.log(i(` ${s}`,m.enabled?a$1("common.enabled"):a$1("common.disabled"),12));}}t.connectionPool&&(console.log(""),console.log(h(a$1("gateway.config.connection_pool"))),console.log(i(" maxConnectionsPerChannel",String(t.connectionPool.maxConnectionsPerChannel??100),25)),console.log(i(" idleTimeout",`${t.connectionPool.idleTimeout??3e5}ms`,25)),console.log(i(" reuseStrategy",t.connectionPool.reuseStrategy??"lru",25))),t.agentRegistry&&(console.log(""),console.log(h(a$1("gateway.config.agent_registry"))),console.log(i(" heartbeatInterval",`${t.agentRegistry.heartbeatInterval??3e4}ms`,20)),console.log(i(" heartbeatTimeout",`${t.agentRegistry.heartbeatTimeout??9e4}ms`,20))),console.log(k(60)),console.log("");});}catch(o){n.error("Failed to show Gateway config",{error:o instanceof Error?o.message:String(o)}),console.error(e(a$1("gateway.error.config_failed",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}}function Z(c,r){let o=c.command("gateway").description(a$1("gateway.command.description")).helpOption("-h, --help",a$1("gateway.help.option")).addHelpText("after",`
|
|
3
|
+
|
|
4
|
+
${a$1("gateway.help.examples")}
|
|
5
|
+
easbot gateway start # ${a$1("gateway.help.example.default")}
|
|
6
|
+
easbot gateway start --port 8080 # ${a$1("gateway.help.example.port")}
|
|
7
|
+
easbot gateway start --hostname 127.0.0.1 # ${a$1("gateway.help.example.hostname")}
|
|
8
|
+
easbot gateway stop # ${a$1("gateway.help.example.stop")}
|
|
9
|
+
easbot gateway restart # ${a$1("gateway.help.example.restart")}
|
|
10
|
+
easbot gateway config show # ${a$1("gateway.help.example.config")}
|
|
11
|
+
|
|
12
|
+
${a$1("gateway.help.env")}
|
|
13
|
+
GATEWAY_PORT ${a$1("gateway.help.env.port")}
|
|
14
|
+
GATEWAY_HOSTNAME ${a$1("gateway.help.env.hostname")}
|
|
15
|
+
GATEWAY_TLS ${a$1("gateway.help.env.tls")}
|
|
16
|
+
`);o.option("-D, --directory <path>",a$1("gateway.option.directory")).option("-p, --port <number>",a$1("gateway.option.port"),a=>parseInt(a,10)).option("-H, --hostname <address>",a$1("gateway.option.hostname")).option("--tls",a$1("gateway.option.tls")).option("--tls-cert <path>",a$1("gateway.option.tls_cert")).option("--tls-key <path>",a$1("gateway.option.tls_key")).option("-d, --debug",a$1("gateway.option.debug"),false),o.command("start").description(a$1("gateway.command.start")).addHelpText("after",a$1("gateway.help.subcommand.start.after")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){o.commands.find(s=>s.name()==="start")?.outputHelp(),process.exit(0);return}let a=o.opts();await T(o,a,r);}),o.command("stop").description(a$1("gateway.command.stop")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){o.commands.find(s=>s.name()==="stop")?.outputHelp(),process.exit(0);return}let a=o.opts();await O(a,r);}),o.command("restart").description(a$1("gateway.command.restart")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){o.commands.find(s=>s.name()==="restart")?.outputHelp(),process.exit(0);return}let a=o.opts();await D(o,a,r);}),o.command("status").description(a$1("gateway.command.status")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){o.commands.find(s=>s.name()==="status")?.outputHelp(),process.exit(0);return}let a=o.opts();await j(a,r);});let t=o.command("config").description(a$1("gateway.command.config"));t.command("show").description(a$1("gateway.command.config_show")).action(async()=>{if(process.argv.includes("--help")||process.argv.includes("-h")){t.commands.find(s=>s.name()==="show")?.outputHelp(),process.exit(0);return}let a=o.opts();await W(a,r);});}export{Z as registerGatewayCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as GatewayConfigSchema,h as getAgentRegistryConfig,m as getAgentSyncConfig,k as getAuthConfig,d as getChannelConfig,g as getCircuitBreakerConfig,e as getConnectionPoolConfig,n as getDefaultAgentId,l as getGatewayClusterConfig,c as getGatewayServerConfig,j as getHTTPSConfig,f as getMessageQueueConfig,i as getSessionConfig,b as loadGatewayConfig}from'./chunk-ZBRXNYEM.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {e}from'./chunk-M3K32WJV.mjs';import {va}from'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import {a}from'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';function g(o,a$1){o.command("generate").description(a("generate.command.description")).action(async()=>{await c();});}async function c(){try{let o=await va();for(let t of Object.values(o.paths??{}))for(let r of ["get","post","put","delete","patch"]){let e=t[r];e?.operationId&&(e["x-codeSamples"]=[{lang:"js",source:['import { createEasbotClient } from "@easbot/sdk"',"","const client = createEasbotClient()",`await client.${e.operationId}({`," ...","})"].join(`
|
|
2
|
+
`)}]);}let a=JSON.stringify(o,null,2);await new Promise((t,r)=>{process.stdout.write(a,e=>{e?r(e):t();});});}catch(o){console.error(e(a("generate.error.failed",{vars:{error:o instanceof Error?o.message:String(o)}}))),process.exit(1);}}export{g as registerGenerateCommand};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {a as a$2}from'./chunk-TYD2M4SP.mjs';import'./chunk-FXOUIXIL.mjs';import'./chunk-CQVEAYYW.mjs';import {g as g$1,e,h,i,k,d}from'./chunk-M3K32WJV.mjs';import {Ka}from'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import {a as a$1}from'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';import {Shell,PKG}from'@easbot/utils';var g=a.create({service:"cli-command-github"}),R=".github/workflows/opencode.yml",j="https://github.com/apps/opencode-agent";function X(e,t){let r=e.command("github").description(a$1("github.command.description"));r.command("install").description(a$1("github.command.install.description")).option("--provider <provider>",a$1("github.option.provider")).option("--model <model>",a$1("github.option.model")).action(async a=>{g.debug("Installing GitHub app"),await G(t,a);}),r.command("run").description(a$1("github.command.run.description")).option("--event <json>",a$1("github.option.event")).option("--token <token>",a$1("github.option.token")).action(async a=>{g.debug("Running GitHub agent",{options:a}),console.log(g$1(a$1("github.run.info")));});}async function G(e$1,t){try{Ka.project.vcs!=="git"&&(console.error(e(a$1("github.error.not_git_repo"))),process.exit(1)),console.log(h(a$1("github.install.starting")));let a=await S(),n=W(a);n||(console.error(e(a$1("github.error.parse_remote"))),process.exit(1)),console.log(i(a$1("github.field.owner"),n.owner)),console.log(i(a$1("github.field.repo"),n.repo)),console.log(k(60)),console.log(g$1(a$1("github.install.step1")));let i$1=`${j}?target=${n.owner}/${n.repo}`;console.log(g$1(a$1("github.install.open_url",{vars:{url:i$1}}))),await E(i$1),console.log(g$1(a$1("github.install.waiting")));let s=0,d$1=60;for(;s<d$1;){if(await H(n.owner,n.repo)){console.log(d(a$1("github.install.installed")));break}s++,await A(1e3);}s>=d$1&&(console.error(e(a$1("github.install.timeout"))),process.exit(1));let c=t.provider||await F(e$1),v=t.model||await L(e$1,c);console.log(k(60)),console.log(g$1(a$1("github.install.generating_workflow"))),await T(e$1,n.owner,n.repo,c,v),console.log(d(a$1("github.install.workflow_created",{vars:{file:R}}))),console.log(""),console.log(h(a$1("github.install.next_steps"))),console.log(g$1("1. "+a$1("github.install.step1_hint"))),console.log(g$1("2. "+a$1("github.install.step2_hint",{vars:{owner:n.owner,repo:n.repo}}))),console.log(g$1("3. "+a$1("github.install.step3_hint"))),g.debug("GitHub app installation complete",{owner:n.owner,repo:n.repo});}catch(r){g.error("Failed to install GitHub app",{error:r instanceof Error?r.message:String(r)}),console.error(e(a$1("github.install.error",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}}async function S(){let e=process.platform==="win32"?"cmd":void 0,t=Shell.spawn(e,"git remote get-url origin");if(await t.exited!==0)throw new Error("Failed to get git remote");return await PKG.nodeReadableStreamToText(t.stdout)}function W(e){let t=e.match(/^(?:(?:https?|ssh):\/\/)?(?:git@)?github\.com[:/]([^/]+)\/([^/]+?)(?:\.git)?$/);return t?{owner:t[1],repo:t[2]}:null}async function E(e){let t=process.platform==="darwin"?`open ${e}`:process.platform==="win32"?`start ${e}`:`xdg-open ${e}`;try{let r=process.platform==="win32"?"cmd":void 0;await Shell.spawn(r,t).exited;}catch{g.debug("Could not open browser automatically");}}async function H(e,t){try{return !!(await(await fetch(`https://api.opencode.ai/get_github_app_installation?owner=${e}&repo=${t}`)).json()).installation}catch{return false}}async function F(e){let{data:t}=await e.sdk.config.providers({}),r=t?.providers||[],a={easbot:0,anthropic:1,openai:2,google:3},n=r.sort((i,s)=>(a[i.id]??99)-(a[s.id]??99));return console.log(""),console.log(g$1(a$1("github.install.select_provider"))),console.log(a$2({columns:[{key:"index",header:"#",minWidth:4},{key:"id",header:a$1("github.table.header.id"),minWidth:15},{key:"name",header:a$1("github.table.header.name"),flex:true},{key:"hint",header:"",minWidth:15}],rows:n.map((i,s)=>({index:`${s+1}`,id:i.id,name:i.name||i.id,hint:i.id==="easbot"?"recommended":""})),width:process.stdout.columns||80,border:"unicode"})),console.log(""),n[0]?.id||"easbot"}async function L(e,t){let{data:r}=await e.sdk.config.providers({}),n=(r?.providers||[]).find(s=>s.id===t);if(!n?.models)return "default";let i=Object.entries(n.models);if(i.length===0)return "default";console.log(""),console.log(g$1(a$1("github.install.select_model")));for(let s=0;s<i.length;s++){let[d,c]=i[s];console.log(` ${s+1}. ${c.name||d}`);}return console.log(""),i[0]?.[0]||"default"}async function T(e,t,r,a,n){let{data:i}=await e.sdk.config.providers({}),c=(i?.providers||[]).find(p=>p.id===a)?.env||[],y=`name: opencode
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issue_comment:
|
|
5
|
+
types: [created]
|
|
6
|
+
pull_request_review_comment:
|
|
7
|
+
types: [created]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
opencode:
|
|
11
|
+
if: |
|
|
12
|
+
contains(github.event.comment.body, ' /oc') ||
|
|
13
|
+
startsWith(github.event.comment.body, '/oc') ||
|
|
14
|
+
contains(github.event.comment.body, ' /opencode') ||
|
|
15
|
+
startsWith(github.event.comment.body, '/opencode')
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
permissions:
|
|
18
|
+
id-token: write
|
|
19
|
+
contents: read
|
|
20
|
+
pull-requests: read
|
|
21
|
+
issues: read
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout repository
|
|
24
|
+
uses: actions/checkout@v6
|
|
25
|
+
with:
|
|
26
|
+
persist-credentials: false
|
|
27
|
+
|
|
28
|
+
- name: Run opencode
|
|
29
|
+
uses: anomalyco/opencode/github@latest${c.length>0?c.map(p=>`
|
|
30
|
+
${p}: \${{ secrets.${p} }}`).join(""):""}
|
|
31
|
+
with:
|
|
32
|
+
model: ${a}/${n}
|
|
33
|
+
`,k=await import('fs/promises'),P=await import('path'),_=P.join(Ka.worktree,R);await k.mkdir(P.dirname(_),{recursive:true}),await k.writeFile(_,y,"utf-8");}function A(e){return new Promise(t=>setTimeout(t,e))}export{X as registerGithubCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as Global}from'./chunk-AD7K5VE2.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {h,e,d}from'./chunk-M3K32WJV.mjs';import {Ka}from'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import {a as a$1}from'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import {a as a$2}from'./chunk-LGMOIUYA.mjs';import {a}from'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';import {PKG}from'@easbot/utils';var m=a.create({service:"cli-command-import"});function _(g,u){g.command("import <file>").description(a$1("import.command.description")).action(async t=>{m.debug("Importing session",{file:t});try{let s=t.startsWith("http://")||t.startsWith("https://"),o;if(s){console.log(h(a$1("import.fetching_url",{vars:{url:t}})));let r=await fetch(t);r.ok||(console.error(e(a$1("import.error.fetch_failed",{vars:{status:r.statusText}}))),process.exit(1)),o=await r.json();}else {console.log(h(a$1("import.reading_file",{vars:{file:t}})));let r=await PKG.file(t).text();o=JSON.parse(r);}o?.info||(console.error(e(a$1("import.error.invalid_format"))),process.exit(1)),m.debug("Importing session data",{sessionId:o.info.id}),await a$2.write(["session",Ka.project.id,o.info.id],o.info);for(let r of o.messages){await a$2.write(["message",o.info.id,r.info.id],r.info);for(let c of r.parts)await a$2.write(["part",r.info.id,c.id],c);}console.log(d(a$1("import.success",{vars:{sessionId:o.info.id}})));}catch(s){m.error("Failed to import session",{file:t,error:s instanceof Error?s.message:String(s)}),console.error(e(a$1("import.error.failed",{vars:{error:s instanceof Error?s.message:String(s)}}))),process.exit(1);}});}
|
|
2
|
+
export{_ as registerImportCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{f as sanitizeInput,a as validateAgentId,j as validateAgentMode,i as validateAgentName,e as validateHostname,k as validateJsonString,c as validateModelName,d as validatePort,h as validatePrompt,b as validateSessionId,g as validateStringLength}from'./chunk-VII7JKGB.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{b as Installation}from'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Ka as Instance}from'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import'./chunk-X6ISXWBN.mjs';function n(){return process.env.EASBOT_TUI_MODE==="1"}export{n as isTuiMode};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{H as directories,G as get,J as getGlobal,I as global,E as state,F as waitForDependencies}from'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as PluginLoader,b as createPluginLoader}from'./chunk-MMU3Z6V2.mjs';import'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{b as LSP}from'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as ConfigMarkdown}from'./chunk-AAJAKVQY.mjs';import'./chunk-X6ISXWBN.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a as a$4}from'./chunk-TYD2M4SP.mjs';import'./chunk-FXOUIXIL.mjs';import'./chunk-CQVEAYYW.mjs';import {a as a$3}from'./chunk-5QKMSVQL.mjs';import {l,d,e,h,i,b,c,a as a$5}from'./chunk-M3K32WJV.mjs';import'./chunk-PKBPWDSV.mjs';import'./chunk-ZBRXNYEM.mjs';import'./chunk-3AJJMHKA.mjs';import'./chunk-TSX5PZSW.mjs';import'./chunk-DEZT7DOH.mjs';import'./chunk-AAJAKVQY.mjs';import'./chunk-E6P3STWN.mjs';import {a as a$2}from'./chunk-EEWP2VV6.mjs';import'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LGMOIUYA.mjs';import {a as a$1}from'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-2RSIOAZV.mjs';import'./chunk-X6ISXWBN.mjs';var a=a$1.create({service:"cli-command-mcp"});function T(w,c$1){let M=w.command("mcp").description(a$2("mcp.command.description"));M.command("list").description(a$2("mcp.command.list.description")).action(async()=>{await a$3(c$1.config.directory,async()=>{try{a.info("Listing MCP servers");let{data:o}=await c$1.sdk.config.get({directory:c$1.config.directory}),r=o?.mcp||{},n=Object.entries(r).map(([s,m])=>({name:s,type:m.type||"local",command:m.command,url:m.url,enabled:m.enabled,environment:m.environment,headers:m.headers}));if(n.length===0){console.log(l(a$2("mcp.list.empty")));return}console.log(d(a$2("mcp.list.success",{vars:{count:n.length}}))),console.log(""),console.log(a$4({columns:[{key:"name",header:a$2("mcp.table.header.name"),minWidth:20},{key:"command",header:a$2("mcp.table.header.command"),minWidth:30},{key:"disabled",header:a$2("mcp.table.header.disabled"),minWidth:10}],rows:n.map(s=>({name:s.name,command:s.type==="local"?s.command?.join(" ")||"":s.url||"",disabled:s.enabled===!1?a$2("common.yes"):a$2("common.no")})),width:process.stdout.columns||80,border:"unicode"})),a.debug("MCP server list displayed",{count:n.length});}catch(o){a.error("Failed to list MCP servers",{error:o instanceof Error?o.message:String(o)}),console.error(e(a$2("mcp.list.error"))),process.exit(1);}});}),M.command("info <name>").description(a$2("mcp.command.info.description")).action(async o=>{await a$3(c$1.config.directory,async()=>{try{a.debug("Getting MCP server info",{name:o});let{data:r}=await c$1.sdk.config.get({directory:c$1.config.directory}),n=r?.mcp?.[o];n||(console.error(e(a$2("mcp.info.notfound",{vars:{name:o}}))),process.exit(1));let s=n.type||"local",m=n.command,d$1=n.url,l=n.enabled,f=n.environment,g=n.headers;if(console.log(d(a$2("mcp.info.success"))),console.log(""),console.log(h(a$2("mcp.info.heading"))),console.log(""),console.log(i(a$2("mcp.info.field.name")+":",o)),console.log(i(a$2("mcp.info.field.type")+":",s)),s==="local"||!s){if(console.log(i(a$2("mcp.info.field.command")+":",m?.join(" ")||"")),console.log(i(a$2("mcp.info.field.enabled")+":",l!==!1?a$2("common.yes"):a$2("common.no"))),f&&Object.keys(f).length>0){console.log(i(a$2("mcp.info.field.environment")+":",""));let p=b();console.log(c(p,a$5.muted,JSON.stringify(f,null,2)));}}else if(s==="remote"&&(console.log(i(a$2("mcp.info.field.url")+":",d$1||"")),console.log(i(a$2("mcp.info.field.enabled")+":",l!==!1?a$2("common.yes"):a$2("common.no"))),g&&Object.keys(g).length>0)){console.log(i(a$2("mcp.info.field.headers")+":",""));let p=b();console.log(c(p,a$5.muted,JSON.stringify(g,null,2)));}a.debug("MCP server info displayed",{name:o});}catch(r){a.error("Failed to get MCP server info",{name:o,error:r instanceof Error?r.message:String(r)}),console.error(e(a$2("mcp.info.error",{vars:{error:String(r)}}))),process.exit(1);}});}),M.command("add").description(a$2("mcp.command.add.description")).requiredOption("--name <name>",a$2("mcp.command.add.option.name")).requiredOption("--command <command>",a$2("mcp.command.add.option.command")).option("--args <json>",a$2("mcp.command.add.option.args")).option("--env <json>",a$2("mcp.command.add.option.env")).action(async o=>{await a$3(c$1.config.directory,async()=>{try{a.debug("Adding MCP server",{name:o.name}),console.log(h(a$2("mcp.add.begin")));let r;if(o.args)try{r=JSON.parse(o.args),Array.isArray(r)||(console.error(e(a$2("mcp.add.error.args_invalid"))),process.exit(1));}catch{console.error(e(a$2("mcp.add.error.args_invalid"))),process.exit(1);}let n;if(o.env)try{n=JSON.parse(o.env),(typeof n!="object"||Array.isArray(n))&&(console.error(e(a$2("mcp.add.error.env_invalid"))),process.exit(1));}catch{console.error(e(a$2("mcp.add.error.env_invalid"))),process.exit(1);}let s={type:"local",command:[o.command,...r||[]]};n&&(s.environment=n),await c$1.sdk.config.update({directory:c$1.config.directory,config:{mcp:{[o.name]:s}}});let{data:m}=await c$1.sdk.config.get({directory:c$1.config.directory}),d$1=m?.mcp?.[o.name],l=d$1.type;console.log(d(a$2("mcp.add.success",{vars:{name:o.name}}))),console.log(""),console.log(h(a$2("mcp.info.heading"))),console.log(""),console.log(i(a$2("mcp.info.field.name")+":",o.name)),console.log(i(a$2("mcp.info.field.type")+":",l||"local"));let f=d$1.command,g=d$1.environment,p=d$1.url,P=d$1.headers;if(l==="local"||!l){if(console.log(i(a$2("mcp.info.field.command")+":",f?.join(" ")||[o.command].join(" "))),g&&Object.keys(g).length>0){console.log(i(a$2("mcp.info.field.environment")+":",""));let S=b();console.log(c(S,a$5.muted,JSON.stringify(g,null,2)));}}else if(l==="remote"&&(console.log(i(a$2("mcp.info.field.url")+":",p||"")),P&&Object.keys(P).length>0)){console.log(i(a$2("mcp.info.field.headers")+":",""));let S=b();console.log(c(S,a$5.muted,JSON.stringify(P,null,2)));}a.debug("MCP server added successfully",{name:o.name});}catch(r){a.error("Failed to add MCP server",{name:o.name,error:r instanceof Error?r.message:String(r)}),console.error(e(a$2("mcp.add.error",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});}),M.command("remove <name>").description(a$2("mcp.command.remove.description")).action(async o=>{await a$3(c$1.config.directory,async()=>{try{a.debug("Removing MCP server",{name:o}),console.log(h(a$2("mcp.remove.begin")));let{data:r}=await c$1.sdk.config.get({directory:c$1.config.directory});r?.mcp?.[o]||(console.error(e(a$2("mcp.remove.not_found",{vars:{name:o}}))),process.exit(1)),await c$1.sdk.config.update({directory:c$1.config.directory,config:{mcp:{[o]:null}}}),console.log(d(a$2("mcp.remove.success",{vars:{name:o}}))),a.debug("MCP server removed successfully",{name:o});}catch(r){a.error("Failed to remove MCP server",{name:o,error:r instanceof Error?r.message:String(r)}),console.error(e(a$2("mcp.remove.error",{vars:{error:r instanceof Error?r.message:String(r)}}))),process.exit(1);}});});}export{T as registerMcpCommands};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as ModelsDev,b as initModelsRefresh}from'./chunk-NCHKGEE3.mjs';import'./chunk-SLZ3HAH6.mjs';import'./chunk-CJTCCLW4.mjs';import'./chunk-LFYBZHOI.mjs';import'./chunk-AD7K5VE2.mjs';import'./chunk-X6ISXWBN.mjs';
|