@maincode-ai/matilda-code 0.20.1 → 0.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/chunks/{agent-CE34X462.js → agent-WQRHTEJK.js} +1 -1
  2. package/chunks/{agent-headless-CNI7H4BU.js → agent-headless-VPF3VPXU.js} +1 -1
  3. package/chunks/{chunk-WUQZ3WFM.js → chunk-A7VPKVYG.js} +1 -1
  4. package/chunks/{chunk-T75X5DJI.js → chunk-DORRYU7L.js} +1 -1
  5. package/chunks/{chunk-J56KRT6Z.js → chunk-IGQPRDMV.js} +525 -522
  6. package/chunks/{chunk-SKBC2YV2.js → chunk-QJO23A2D.js} +1 -1
  7. package/chunks/{chunk-DHBNZZZO.js → chunk-RGBIKCMN.js} +3 -3
  8. package/chunks/{chunk-OQVITNHW.js → chunk-YZVC65QR.js} +2 -2
  9. package/chunks/{computer-use-4533FJAL.js → computer-use-3BJWOZSA.js} +1 -1
  10. package/chunks/{contextCommand-M7LA5BRD.js → contextCommand-SOQLJJIW.js} +1 -1
  11. package/chunks/{edit-U4P4JWQ6.js → edit-ZIPLKFNT.js} +1 -1
  12. package/chunks/{en-ZU6RPTEW.js → en-75JQMW7P.js} +1 -1
  13. package/chunks/{enter-worktree-CUDNIQNH.js → enter-worktree-MWQ3Z7HX.js} +1 -1
  14. package/chunks/{enterPlanMode-SUTLQUZO.js → enterPlanMode-XT6MNE2L.js} +1 -1
  15. package/chunks/{exit-worktree-72O3N4X4.js → exit-worktree-O7DBPVFA.js} +1 -1
  16. package/chunks/{exitPlanMode-ZP75YCUK.js → exitPlanMode-FDXKFQJF.js} +1 -1
  17. package/chunks/{geminiContentGenerator-KPR5Q3XX.js → geminiContentGenerator-HXWUQ2DI.js} +1 -1
  18. package/chunks/{glob-V7YUXA6Z.js → glob-GYLGTXYL.js} +1 -1
  19. package/chunks/{grep-WOVNDJPG.js → grep-ZNYUS2MU.js} +1 -1
  20. package/chunks/{matildaAgentContentGenerator-Y5CHD2WJ.js → matildaAgentContentGenerator-HG4ABAJG.js} +1 -1
  21. package/chunks/{matildaContentGenerator-F2DTT47Z.js → matildaContentGenerator-WEAUMFNT.js} +1 -1
  22. package/chunks/{monitor-G7G765XR.js → monitor-755GJUC4.js} +1 -1
  23. package/chunks/{notebook-edit-QK7K5ALF.js → notebook-edit-SWCJ3FMF.js} +1 -1
  24. package/chunks/{openaiContentGenerator-XLDE2S4K.js → openaiContentGenerator-JIODOCNJ.js} +1 -1
  25. package/chunks/{ripGrep-W5JZVWA4.js → ripGrep-5GE6ECVF.js} +1 -1
  26. package/chunks/{scheduler-C7N3Q67S.js → scheduler-VA6HAYT4.js} +1 -1
  27. package/chunks/{serve-WDV5Q7R4.js → serve-TVYEQNS6.js} +2 -2
  28. package/chunks/{shell-IEGVNM6S.js → shell-JNZXS437.js} +1 -1
  29. package/chunks/{src-Y3JZTLKR.js → src-MMNXN6E3.js} +1 -1
  30. package/chunks/{team-create-OPP7B3G2.js → team-create-CUBBNHIF.js} +1 -1
  31. package/chunks/{workflow-B3DRPVNT.js → workflow-WRWIXJCG.js} +2 -2
  32. package/chunks/{write-file-T7MBHX53.js → write-file-7BFZXGIJ.js} +1 -1
  33. package/cli.js +380 -386
  34. package/locales/en.js +6 -0
  35. package/package.json +2 -2
@@ -1,10 +1,10 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{ch as T}from"./chunk-J56KRT6Z.js";import{L as b}from"./chunk-QWBNNEV2.js";import{b as o}from"./chunk-GZPNIYVZ.js";import{b as w}from"./chunk-OWGSC52X.js";o();var W=e=>{process.stdout.write(e.endsWith(`
3
+ import{ch as T}from"./chunk-IGQPRDMV.js";import{L as b}from"./chunk-QWBNNEV2.js";import{b as o}from"./chunk-GZPNIYVZ.js";import{b as w}from"./chunk-OWGSC52X.js";o();var W=e=>{process.stdout.write(e.endsWith(`
4
4
  `)?e:`${e}
5
5
  `)},m=e=>{process.stderr.write(e.endsWith(`
6
6
  `)?e:`${e}
7
- `)},G=()=>{console.clear()};o();import*as c from"node:fs";import*as f from"node:path";import{pathToFileURL as E}from"node:url";o();var l=[{code:"en",id:"en-US",fullName:"English",nativeName:"English"},{code:"zh-TW",id:"zh-TW",fullName:"Traditional Chinese",nativeName:"\u7E41\u9AD4\u4E2D\u6587",strictParity:!0},{code:"zh",id:"zh-CN",fullName:"Chinese",nativeName:"\u4E2D\u6587",strictParity:!0},{code:"ru",id:"ru-RU",fullName:"Russian",nativeName:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"},{code:"de",id:"de-DE",fullName:"German",nativeName:"Deutsch"},{code:"ja",id:"ja-JP",fullName:"Japanese",nativeName:"\u65E5\u672C\u8A9E"},{code:"pt",id:"pt-BR",fullName:"Portuguese",nativeName:"Portugu\xEAs"},{code:"fr",id:"fr-FR",fullName:"French",nativeName:"Fran\xE7ais"},{code:"ca",id:"ca-ES",fullName:"Catalan",nativeName:"Catal\xE0"}];function R(e){return e.trim().replace(/_/g,"-").toLowerCase()}function k(e,t){return e===t||e.startsWith(`${t}-`)||e.startsWith(`${t}.`)||e.startsWith(`${t}@`)}function U(e,t){let n=t.code.toLowerCase(),r=t.id.toLowerCase();if(k(e,r))return r.length;if(k(e,n))return n.length}function u(e){let t=R(e);if(!t)return;let n;for(let r of l){if(t===r.fullName.toLowerCase()||r.nativeName&&t===r.nativeName.toLowerCase())return r.code;let a=U(t,r);a!==void 0&&(!n||a>n.tokenLength)&&(n={code:r.code,tokenLength:a})}return n?.code}function M(e){let t=u(e);return(t?l.find(r=>r.code===t):void 0)?.fullName||"English"}function J(){return[{value:"auto",label:"Auto (detect from system)"},...l.map(e=>({value:e.code,label:e.nativeName?`${e.nativeName} (${e.fullName})`:`${e.fullName} (${e.id})`}))]}function V(e="|"){return l.map(t=>t.id).join(e)}o();function h(e){return Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function L(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0}o();var C=w({"./locales/ca.js":()=>import("./ca-UW3G7H5I.js"),"./locales/de.js":()=>import("./de-QSFN3SRK.js"),"./locales/en.js":()=>import("./en-ZU6RPTEW.js"),"./locales/fr.js":()=>import("./fr-FKTJ4COX.js"),"./locales/ja.js":()=>import("./ja-GKS4GLZP.js"),"./locales/pt.js":()=>import("./pt-VIW62ZAE.js"),"./locales/ru.js":()=>import("./ru-FSSACF4A.js"),"./locales/zh-TW.js":()=>import("./zh-TW-7HNBEDIB.js"),"./locales/zh.js":()=>import("./zh-I4FV25MS.js")});var y="en",v={},s={},S={},P=()=>f.join(T(import.meta.url),"locales"),D=()=>f.join(b.getGlobalMatildaDir(),"locales");var N=(e,t=!1)=>{let n=t?D():P();return f.join(n,`${e}.js`)};function I(){let e=process.env.MATILDA_CODE_LANG||process.env.LANG;if(e){let t=u(e);if(t)return t}try{let t=Intl.DateTimeFormat().resolvedOptions().locale,n=u(t);if(n)return n}catch{}return"en"}async function A(e){try{let t=await import(e),n=h(t);return L(n)?{translations:n}:{error:new Error("Module loaded but result is empty or invalid")}}catch(t){return{error:t instanceof Error?t:new Error(String(t))}}}async function O(e){try{let t=await C(`./locales/${e}.js`),n=h(t);return L(n)?{translations:n}:{error:new Error("Module loaded but result is empty or invalid")}}catch(t){return{error:t instanceof Error?t:new Error(String(t))}}}async function $(e){if(s[e])return s[e];let t=S[e];if(t)return t;let n=(async()=>{let r=N(e,!0);if(c.existsSync(D())&&c.existsSync(r)){let i=await A(E(r).href);if(i.translations)return s[e]=i.translations,i.translations;m(`Failed to load translations from user directory for ${e}: ${i.error.message}`)}let a=N(e,!1),x=[];c.existsSync(P())&&c.existsSync(a)&&x.push(E(a).href);let d;for(let i of x){let p=await A(i);if(p.translations)return s[e]=p.translations,p.translations;d=p.error}let g=await O(e);return g.translations?(s[e]=g.translations,g.translations):(d=g.error,d&&m(`Failed to load JS translations for ${e}: ${d.message}`),s[e]={},{})})();return S[e]=n,n.finally(()=>{delete S[e]}),n}function j(e,t){return t?e.replace(/\{\{(\w+)\}\}/g,(n,r)=>t[r]??n):e}function z(e){return e==="auto"?I():u(e)??e}async function F(e){y=z(e),v=await $(y)}function se(){return y}function le(e,t){let n=v[e]??e;return Array.isArray(n)?e:j(n,t)}function ue(e){let t=v[e];return Array.isArray(t)?t:[]}async function ce(e){await F(e??"auto")}export{W as a,m as b,G as c,l as d,u as e,M as f,J as g,V as h,I as i,F as j,se as k,le as l,ue as m,ce as n};
7
+ `)},G=()=>{console.clear()};o();import*as c from"node:fs";import*as f from"node:path";import{pathToFileURL as E}from"node:url";o();var l=[{code:"en",id:"en-US",fullName:"English",nativeName:"English"},{code:"zh-TW",id:"zh-TW",fullName:"Traditional Chinese",nativeName:"\u7E41\u9AD4\u4E2D\u6587",strictParity:!0},{code:"zh",id:"zh-CN",fullName:"Chinese",nativeName:"\u4E2D\u6587",strictParity:!0},{code:"ru",id:"ru-RU",fullName:"Russian",nativeName:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"},{code:"de",id:"de-DE",fullName:"German",nativeName:"Deutsch"},{code:"ja",id:"ja-JP",fullName:"Japanese",nativeName:"\u65E5\u672C\u8A9E"},{code:"pt",id:"pt-BR",fullName:"Portuguese",nativeName:"Portugu\xEAs"},{code:"fr",id:"fr-FR",fullName:"French",nativeName:"Fran\xE7ais"},{code:"ca",id:"ca-ES",fullName:"Catalan",nativeName:"Catal\xE0"}];function R(e){return e.trim().replace(/_/g,"-").toLowerCase()}function k(e,t){return e===t||e.startsWith(`${t}-`)||e.startsWith(`${t}.`)||e.startsWith(`${t}@`)}function U(e,t){let n=t.code.toLowerCase(),r=t.id.toLowerCase();if(k(e,r))return r.length;if(k(e,n))return n.length}function u(e){let t=R(e);if(!t)return;let n;for(let r of l){if(t===r.fullName.toLowerCase()||r.nativeName&&t===r.nativeName.toLowerCase())return r.code;let a=U(t,r);a!==void 0&&(!n||a>n.tokenLength)&&(n={code:r.code,tokenLength:a})}return n?.code}function M(e){let t=u(e);return(t?l.find(r=>r.code===t):void 0)?.fullName||"English"}function J(){return[{value:"auto",label:"Auto (detect from system)"},...l.map(e=>({value:e.code,label:e.nativeName?`${e.nativeName} (${e.fullName})`:`${e.fullName} (${e.id})`}))]}function V(e="|"){return l.map(t=>t.id).join(e)}o();function h(e){return Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function L(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0}o();var C=w({"./locales/ca.js":()=>import("./ca-UW3G7H5I.js"),"./locales/de.js":()=>import("./de-QSFN3SRK.js"),"./locales/en.js":()=>import("./en-75JQMW7P.js"),"./locales/fr.js":()=>import("./fr-FKTJ4COX.js"),"./locales/ja.js":()=>import("./ja-GKS4GLZP.js"),"./locales/pt.js":()=>import("./pt-VIW62ZAE.js"),"./locales/ru.js":()=>import("./ru-FSSACF4A.js"),"./locales/zh-TW.js":()=>import("./zh-TW-7HNBEDIB.js"),"./locales/zh.js":()=>import("./zh-I4FV25MS.js")});var y="en",v={},s={},S={},P=()=>f.join(T(import.meta.url),"locales"),D=()=>f.join(b.getGlobalMatildaDir(),"locales");var N=(e,t=!1)=>{let n=t?D():P();return f.join(n,`${e}.js`)};function I(){let e=process.env.MATILDA_CODE_LANG||process.env.LANG;if(e){let t=u(e);if(t)return t}try{let t=Intl.DateTimeFormat().resolvedOptions().locale,n=u(t);if(n)return n}catch{}return"en"}async function A(e){try{let t=await import(e),n=h(t);return L(n)?{translations:n}:{error:new Error("Module loaded but result is empty or invalid")}}catch(t){return{error:t instanceof Error?t:new Error(String(t))}}}async function O(e){try{let t=await C(`./locales/${e}.js`),n=h(t);return L(n)?{translations:n}:{error:new Error("Module loaded but result is empty or invalid")}}catch(t){return{error:t instanceof Error?t:new Error(String(t))}}}async function $(e){if(s[e])return s[e];let t=S[e];if(t)return t;let n=(async()=>{let r=N(e,!0);if(c.existsSync(D())&&c.existsSync(r)){let i=await A(E(r).href);if(i.translations)return s[e]=i.translations,i.translations;m(`Failed to load translations from user directory for ${e}: ${i.error.message}`)}let a=N(e,!1),x=[];c.existsSync(P())&&c.existsSync(a)&&x.push(E(a).href);let d;for(let i of x){let p=await A(i);if(p.translations)return s[e]=p.translations,p.translations;d=p.error}let g=await O(e);return g.translations?(s[e]=g.translations,g.translations):(d=g.error,d&&m(`Failed to load JS translations for ${e}: ${d.message}`),s[e]={},{})})();return S[e]=n,n.finally(()=>{delete S[e]}),n}function j(e,t){return t?e.replace(/\{\{(\w+)\}\}/g,(n,r)=>t[r]??n):e}function z(e){return e==="auto"?I():u(e)??e}async function F(e){y=z(e),v=await $(y)}function se(){return y}function le(e,t){let n=v[e]??e;return Array.isArray(n)?e:j(n,t)}function ue(e){let t=v[e];return Array.isArray(t)?t:[]}async function ce(e){await F(e??"auto")}export{W as a,m as b,G as c,l as d,u as e,M as f,J as g,V as h,I as i,F as j,se as k,le as l,ue as m,ce as n};
8
8
  /**
9
9
  * @license
10
10
  * Copyright 2025 Matilda Team
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{Oe as X,Qe as H,Zh as K}from"./chunk-J56KRT6Z.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-T75X5DJI.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import{i as S}from"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as B,i as G}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as d}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";d();d();d();import{homedir as ye}from"node:os";d();import{join as I}from"node:path";import{homedir as R}from"node:os";var l="0.5.2",ue="https://matilda.maincode.com/assets/computer-use",me="https://github.com/trycua/cua/releases/download";function E(e=process.platform,t=process.arch,o=l){let r=o;if(e==="darwin"){let n=`cua-driver-rs-${r}-${t==="arm64"?"darwin-arm64":"darwin-x86_64"}`;return{asset:`${n}.tar.gz`,extractDir:n,binaryRelPath:"CuaDriver.app/Contents/MacOS/cua-driver",hasApp:!0}}if(e==="linux"){if(t!=="x64")throw new Error(`Computer Use: unsupported Linux arch '${t}' (only x64).`);return{asset:`cua-driver-rs-${r}-linux-x86_64-binary.tar.gz`,extractDir:".",binaryRelPath:"cua-driver",hasApp:!1}}if(e==="win32"){let n=`cua-driver-rs-${r}-${t==="arm64"?"windows-arm64":"windows-x86_64"}`;return{asset:`${n}.zip`,extractDir:n,binaryRelPath:"cua-driver.exe",hasApp:!1}}throw new Error(`Computer Use: unsupported platform '${e}'.`)}function U(e,t=process.env,o=l){let r=[],i=t.MATILDA_COMPUTER_USE_DOWNLOAD_HOST;return i&&r.push(`${ge(i)}/cua-driver-rs/v${o}/${e}`),r.push(`${ue}/cua-driver-rs/v${o}/${e}`),r.push(`${me}/cua-driver-rs-v${o}/${e}`),r}function J(e=process.env,t=l){return U("checksums.txt",e,t)}var he="MATILDA_COMPUTER_USE_MAX_IMAGE_DIMENSION";function V(e){if(e===void 0||typeof e=="string"&&e.trim()==="")return;let t=typeof e=="number"?e:Number(e);if(!(!Number.isInteger(t)||t<0))return t}function Y(e,t=process.env){let o=V(t[he]);return o!==void 0?o:V(e)}function fe(e=R()){return I(e,".matilda","computer-use")}function N(e=R(),t=l){return I(fe(e),`cua-driver-rs-${t}`)}function u(e=R(),t=process.platform,o=process.arch,r=l){let i=E(t,o,r);return I(N(e,r),i.extractDir,i.binaryRelPath)}function h(e=l){return`cua-driver-rs@${e}`}function ge(e){return e.endsWith("/")?e.slice(0,-1):e}var f=class e{static singleton;binary;onProgress;maxImageDimension;client;startPromise;constructor(t){this.binary=t.binary,this.onProgress=t.onProgress??(()=>{}),this.maxImageDimension=t.maxImageDimension}setMaxImageDimension(t){this.maxImageDimension=t}static shared(){return e.singleton||(e.singleton=new e({binary:u(ye())})),e.singleton}static setSharedForTest(t){e.singleton=t}isStarted(){return this.client!==void 0}async start(t){if(!this.client)return this.startPromise?this.startPromise:(this.startPromise=this.doStart(t).finally(()=>{this.startPromise=void 0}),this.startPromise)}async doStart(t){let o=t??this.onProgress;o("Starting Computer Use driver...");let r=new H({command:this.binary,args:["mcp"],env:{...process.env}}),i=new X({name:"matilda-code-computer-use",version:"1.0.0"},{capabilities:{}});await i.connect(r),this.client=i,await this.applyRuntimeConfig(i,o)}async applyRuntimeConfig(t,o){if(this.maxImageDimension!==void 0)try{await t.callTool({name:"set_config",arguments:{max_image_dimension:this.maxImageDimension}})}catch(r){let i=r instanceof Error?r.message:String(r);o(`Computer Use: could not apply max_image_dimension=${this.maxImageDimension} (${i}); using driver default.`)}}async listTools(){if(!this.client)throw new Error("ComputerUseClient not started");return this.client.listTools()}async callTool(t,o){if(!this.client)throw new Error("ComputerUseClient not started");try{return await this.client.callTool({name:t,arguments:o})}catch(r){if(!Q(r))throw r;let i=r;for(let n=0;n<3;n++){if(await this.stop(),await this.start(),!this.client)throw new Error("ComputerUseClient reconnect failed");try{return await this.client.callTool({name:t,arguments:o})}catch(s){if(!Q(s))throw s;i=s,await new Promise(a=>setTimeout(a,1e3))}}throw i}}async stop(){let t=this.client;if(this.client=void 0,t)try{await t.close()}catch{}}};function Q(e){let t=e instanceof Error?e.message:String(e);return/connection closed|not connected|connection refused|daemon transport error|os error 61/i.test(t)}d();var M=["bring_to_front","check_for_update","check_permissions","click","double_click","drag","end_session","get_accessibility_tree","get_agent_cursor_state","get_config","get_cursor_position","get_recording_state","get_screen_size","get_window_state","hotkey","kill_app","launch_app","list_apps","list_windows","move_cursor","page","press_key","replay_trajectory","right_click","scroll","set_agent_cursor_enabled","set_agent_cursor_motion","set_agent_cursor_style","set_config","set_value","start_recording","start_session","stop_recording","type_text","zoom"],g={bring_to_front:{description:'Activate a window so subsequent input tools with `dispatch:"foreground"` land on it without a per-call SetForegroundWindow flash. **Windows-only:** on macOS this tool returns an error pointing to the platform-native `NSRunningApplication.activate` (which the macOS input tools don\'t need because CGEvent.postToPid reaches backgrounded windows). On Linux this tool also stubs out; use `wmctrl -a` or `xdotool windowactivate` if you need explicit activation.',parameterSchema:{additionalProperties:!1,properties:{pid:{type:"integer"},window_id:{type:"integer"}},required:["pid"],type:"object"}},check_for_update:{description:"Check whether a newer cua-driver-rs release is available on GitHub. Returns the current and latest versions, an `update_available` boolean, the install one-liner, and the release notes URL. Read-only \u2014 never installs. Mirror of `cua-driver check-update --json`.",parameterSchema:{additionalProperties:!1,properties:{},type:"object"}},check_permissions:{description:"Report TCC permission status for Accessibility and Screen Recording. By default also raises the system permission dialogs for any missing grants \u2014 Apple's request APIs are no-ops when the grant is already active, so this is safe to call repeatedly. Pass {\"prompt\": false} for a purely read-only status check.\n\nReturns: `accessibility` + `screen_recording` (booleans from the TCC preflight APIs), `screen_recording_capturable` (a live ScreenCaptureKit probe \u2014 if it disagrees with `screen_recording`, the preflight grant belongs to a different process), and `source` (which TCC identity the booleans reflect: the CuaDriver daemon vs the launching terminal/IDE). macOS attributes grants to the responsible process, so a standalone call from a terminal reports the terminal's grants, not the driver's.",parameterSchema:{additionalProperties:!1,properties:{prompt:{description:"Raise the system permission prompts for missing grants. Default true.",type:"boolean"}},type:"object"}},click:{description:`Left-click against a target pid. **Prefer \`element_index\` over pixel coordinates** \u2014 element_index works on backgrounded / minimized / hidden / off-Space windows, surfaces a stable handle that survives rebuilds, and tells you what you're clicking via the cached element's role + label. Reach for \`x, y\` only when the target is a canvas / video / WebGL / custom-drawn surface that doesn't appear in the AX tree.
3
+ import{Oe as X,Qe as H,Zh as K}from"./chunk-IGQPRDMV.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-DORRYU7L.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import{i as S}from"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as B,i as G}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as d}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";d();d();d();import{homedir as ye}from"node:os";d();import{join as I}from"node:path";import{homedir as R}from"node:os";var l="0.5.2",ue="https://matilda.maincode.com/assets/computer-use",me="https://github.com/trycua/cua/releases/download";function E(e=process.platform,t=process.arch,o=l){let r=o;if(e==="darwin"){let n=`cua-driver-rs-${r}-${t==="arm64"?"darwin-arm64":"darwin-x86_64"}`;return{asset:`${n}.tar.gz`,extractDir:n,binaryRelPath:"CuaDriver.app/Contents/MacOS/cua-driver",hasApp:!0}}if(e==="linux"){if(t!=="x64")throw new Error(`Computer Use: unsupported Linux arch '${t}' (only x64).`);return{asset:`cua-driver-rs-${r}-linux-x86_64-binary.tar.gz`,extractDir:".",binaryRelPath:"cua-driver",hasApp:!1}}if(e==="win32"){let n=`cua-driver-rs-${r}-${t==="arm64"?"windows-arm64":"windows-x86_64"}`;return{asset:`${n}.zip`,extractDir:n,binaryRelPath:"cua-driver.exe",hasApp:!1}}throw new Error(`Computer Use: unsupported platform '${e}'.`)}function U(e,t=process.env,o=l){let r=[],i=t.MATILDA_COMPUTER_USE_DOWNLOAD_HOST;return i&&r.push(`${ge(i)}/cua-driver-rs/v${o}/${e}`),r.push(`${ue}/cua-driver-rs/v${o}/${e}`),r.push(`${me}/cua-driver-rs-v${o}/${e}`),r}function J(e=process.env,t=l){return U("checksums.txt",e,t)}var he="MATILDA_COMPUTER_USE_MAX_IMAGE_DIMENSION";function V(e){if(e===void 0||typeof e=="string"&&e.trim()==="")return;let t=typeof e=="number"?e:Number(e);if(!(!Number.isInteger(t)||t<0))return t}function Y(e,t=process.env){let o=V(t[he]);return o!==void 0?o:V(e)}function fe(e=R()){return I(e,".matilda","computer-use")}function N(e=R(),t=l){return I(fe(e),`cua-driver-rs-${t}`)}function u(e=R(),t=process.platform,o=process.arch,r=l){let i=E(t,o,r);return I(N(e,r),i.extractDir,i.binaryRelPath)}function h(e=l){return`cua-driver-rs@${e}`}function ge(e){return e.endsWith("/")?e.slice(0,-1):e}var f=class e{static singleton;binary;onProgress;maxImageDimension;client;startPromise;constructor(t){this.binary=t.binary,this.onProgress=t.onProgress??(()=>{}),this.maxImageDimension=t.maxImageDimension}setMaxImageDimension(t){this.maxImageDimension=t}static shared(){return e.singleton||(e.singleton=new e({binary:u(ye())})),e.singleton}static setSharedForTest(t){e.singleton=t}isStarted(){return this.client!==void 0}async start(t){if(!this.client)return this.startPromise?this.startPromise:(this.startPromise=this.doStart(t).finally(()=>{this.startPromise=void 0}),this.startPromise)}async doStart(t){let o=t??this.onProgress;o("Starting Computer Use driver...");let r=new H({command:this.binary,args:["mcp"],env:{...process.env}}),i=new X({name:"matilda-code-computer-use",version:"1.0.0"},{capabilities:{}});await i.connect(r),this.client=i,await this.applyRuntimeConfig(i,o)}async applyRuntimeConfig(t,o){if(this.maxImageDimension!==void 0)try{await t.callTool({name:"set_config",arguments:{max_image_dimension:this.maxImageDimension}})}catch(r){let i=r instanceof Error?r.message:String(r);o(`Computer Use: could not apply max_image_dimension=${this.maxImageDimension} (${i}); using driver default.`)}}async listTools(){if(!this.client)throw new Error("ComputerUseClient not started");return this.client.listTools()}async callTool(t,o){if(!this.client)throw new Error("ComputerUseClient not started");try{return await this.client.callTool({name:t,arguments:o})}catch(r){if(!Q(r))throw r;let i=r;for(let n=0;n<3;n++){if(await this.stop(),await this.start(),!this.client)throw new Error("ComputerUseClient reconnect failed");try{return await this.client.callTool({name:t,arguments:o})}catch(s){if(!Q(s))throw s;i=s,await new Promise(a=>setTimeout(a,1e3))}}throw i}}async stop(){let t=this.client;if(this.client=void 0,t)try{await t.close()}catch{}}};function Q(e){let t=e instanceof Error?e.message:String(e);return/connection closed|not connected|connection refused|daemon transport error|os error 61/i.test(t)}d();var M=["bring_to_front","check_for_update","check_permissions","click","double_click","drag","end_session","get_accessibility_tree","get_agent_cursor_state","get_config","get_cursor_position","get_recording_state","get_screen_size","get_window_state","hotkey","kill_app","launch_app","list_apps","list_windows","move_cursor","page","press_key","replay_trajectory","right_click","scroll","set_agent_cursor_enabled","set_agent_cursor_motion","set_agent_cursor_style","set_config","set_value","start_recording","start_session","stop_recording","type_text","zoom"],g={bring_to_front:{description:'Activate a window so subsequent input tools with `dispatch:"foreground"` land on it without a per-call SetForegroundWindow flash. **Windows-only:** on macOS this tool returns an error pointing to the platform-native `NSRunningApplication.activate` (which the macOS input tools don\'t need because CGEvent.postToPid reaches backgrounded windows). On Linux this tool also stubs out; use `wmctrl -a` or `xdotool windowactivate` if you need explicit activation.',parameterSchema:{additionalProperties:!1,properties:{pid:{type:"integer"},window_id:{type:"integer"}},required:["pid"],type:"object"}},check_for_update:{description:"Check whether a newer cua-driver-rs release is available on GitHub. Returns the current and latest versions, an `update_available` boolean, the install one-liner, and the release notes URL. Read-only \u2014 never installs. Mirror of `cua-driver check-update --json`.",parameterSchema:{additionalProperties:!1,properties:{},type:"object"}},check_permissions:{description:"Report TCC permission status for Accessibility and Screen Recording. By default also raises the system permission dialogs for any missing grants \u2014 Apple's request APIs are no-ops when the grant is already active, so this is safe to call repeatedly. Pass {\"prompt\": false} for a purely read-only status check.\n\nReturns: `accessibility` + `screen_recording` (booleans from the TCC preflight APIs), `screen_recording_capturable` (a live ScreenCaptureKit probe \u2014 if it disagrees with `screen_recording`, the preflight grant belongs to a different process), and `source` (which TCC identity the booleans reflect: the CuaDriver daemon vs the launching terminal/IDE). macOS attributes grants to the responsible process, so a standalone call from a terminal reports the terminal's grants, not the driver's.",parameterSchema:{additionalProperties:!1,properties:{prompt:{description:"Raise the system permission prompts for missing grants. Default true.",type:"boolean"}},type:"object"}},click:{description:`Left-click against a target pid. **Prefer \`element_index\` over pixel coordinates** \u2014 element_index works on backgrounded / minimized / hidden / off-Space windows, surfaces a stable handle that survives rebuilds, and tells you what you're clicking via the cached element's role + label. Reach for \`x, y\` only when the target is a canvas / video / WebGL / custom-drawn surface that doesn't appear in the AX tree.
4
4
 
5
5
  Two addressing modes:
6
6
 
@@ -1,3 +1,3 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{c as a,d as b,e as c}from"./chunk-WUQZ3WFM.js";import"./chunk-OQVITNHW.js";import"./chunk-J56KRT6Z.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-T75X5DJI.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";export{a as collectContextData,c as contextCommand,b as formatContextUsageText};
3
+ import{c as a,d as b,e as c}from"./chunk-A7VPKVYG.js";import"./chunk-YZVC65QR.js";import"./chunk-IGQPRDMV.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-DORRYU7L.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";export{a as collectContextData,c as contextCommand,b as formatContextUsageText};
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{a as V}from"./chunk-OCXGNAAT.js";import{a as G}from"./chunk-I55PXD4N.js";import{Kd as S,Ld as k,Ob as j,Sd as B,de as z,ee as T,ja as b,ke as q,le as H,oe as X}from"./chunk-J56KRT6Z.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-T75X5DJI.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import{Lb as $,Oa as M,_c as W,ca as O,ha as x,wc as F}from"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import{w as U}from"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{i as R,p as v,q as A}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{A as C,C as L,Y as I,a as w,z as E}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as y}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";y();import*as _ from"node:fs";import*as g from"node:path";y();var re={"\u2010":"-","\u2011":"-","\u2012":"-","\u2013":"-","\u2014":"-","\u2015":"-","\u2212":"-","\u2018":"'","\u2019":"'","\u201A":"'","\u201B":"'","\u201C":'"',"\u201D":'"',"\u201E":'"',"\u201F":'"',"\xA0":" ","\u2002":" ","\u2003":" ","\u2004":" ","\u2005":" ","\u2006":" ","\u2007":" ","\u2008":" ","\u2009":" ","\u200A":" ","\u202F":" ","\u205F":" ","\u3000":" "};function P(r){if(r==="")return r;let t="";for(let e of r)t+=re[e]??e;return t}var oe=[r=>r,r=>r.trimEnd()];function ae(r){return P(r).trimEnd()}function K(r,t,e){if(t.length===0)return 0;if(t.length>r.length)return null;e:for(let i=0;i<=r.length-t.length;i++){for(let n=0;n<t.length;n++)if(e(r[i+n])!==e(t[n]))continue e;return i}return null}function se(r){let t=r.split(`
3
+ import{a as V}from"./chunk-OCXGNAAT.js";import{a as G}from"./chunk-I55PXD4N.js";import{Kd as S,Ld as k,Ob as j,Sd as B,de as z,ee as T,ja as b,ke as q,le as H,oe as X}from"./chunk-IGQPRDMV.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-DORRYU7L.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import{Lb as $,Oa as M,_c as W,ca as O,ha as x,wc as F}from"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import{w as U}from"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{i as R,p as v,q as A}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{A as C,C as L,Y as I,a as w,z as E}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as y}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";y();import*as _ from"node:fs";import*as g from"node:path";y();var re={"\u2010":"-","\u2011":"-","\u2012":"-","\u2013":"-","\u2014":"-","\u2015":"-","\u2212":"-","\u2018":"'","\u2019":"'","\u201A":"'","\u201B":"'","\u201C":'"',"\u201D":'"',"\u201E":'"',"\u201F":'"',"\xA0":" ","\u2002":" ","\u2003":" ","\u2004":" ","\u2005":" ","\u2006":" ","\u2007":" ","\u2008":" ","\u2009":" ","\u200A":" ","\u202F":" ","\u205F":" ","\u3000":" "};function P(r){if(r==="")return r;let t="";for(let e of r)t+=re[e]??e;return t}var oe=[r=>r,r=>r.trimEnd()];function ae(r){return P(r).trimEnd()}function K(r,t,e){if(t.length===0)return 0;if(t.length>r.length)return null;e:for(let i=0;i<=r.length-t.length;i++){for(let n=0;n<t.length;n++)if(e(r[i+n])!==e(t[n]))continue e;return i}return null}function se(r){let t=r.split(`
4
4
  `),e=new Array(t.length+1),i=0;for(let n=0;n<t.length;n++)e[n]=i,i+=t[n].length,n<t.length-1&&(i+=1);return e[t.length]=r.length,{lines:t,offsets:e}}function Q(r,t,e,i,n,o){if(n===0)return o?`
5
5
  `:"";let c=t[i]??0,s=i+n-1,l=(t[s]??0)+(e[s]?.length??0);if(o){let p=t[i+n];p!==void 0?l=p:r.endsWith(`
6
6
  `)&&(l=r.length)}return r.slice(c,l)}function le(r,t){let{lines:e,offsets:i}=se(r),n=t.split(`
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{b as e}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";e();var t={"\u2191 to manage attachments":"\u2191 to manage attachments","\u2190 \u2192 select, Delete to remove, \u2193 to exit":"\u2190 \u2192 select, Delete to remove, \u2193 to exit","Attachments: ":"Attachments: ","Basics:":"Basics:","Add context":"Add context","Use {{symbol}} to specify files for context (e.g., {{example}}) to target specific files or folders.":"Use {{symbol}} to specify files for context (e.g., {{example}}) to target specific files or folders.","@":"@","@src/myFile.ts":"@src/myFile.ts","Shell mode":"Shell mode","BOGAN mode":"BOGAN mode","Auto mode":"Auto mode","plan mode":"plan mode","auto-accept edits":"auto-accept edits","Accepting edits":"Accepting edits","(shift + tab to cycle)":"(shift + tab to cycle)","(tab to cycle)":"(tab to cycle)","Execute shell commands via {{symbol}} (e.g., {{example1}}) or use natural language (e.g., {{example2}}).":"Execute shell commands via {{symbol}} (e.g., {{example1}}) or use natural language (e.g., {{example2}}).","!":"!","!npm run start":"!npm run start","start server":"start server","Commands:":"Commands:","shell command":"shell command","Model Context Protocol command (from external servers)":"Model Context Protocol command (from external servers)","Keyboard Shortcuts:":"Keyboard Shortcuts:","Toggle this help display":"Toggle this help display","Toggle shell mode":"Toggle shell mode","Open command menu":"Open command menu","Add file context":"Add file context","Accept suggestion / Autocomplete":"Accept suggestion / Autocomplete","Reverse search history":"Reverse search history","Press ? again to close":"Press ? again to close","for shell mode":"for shell mode","for commands":"for commands","for file paths":"for file paths","to clear input":"to clear input","to cycle approvals":"to cycle approvals","to quit":"to quit","for newline":"for newline","to clear screen":"to clear screen","to search history":"to search history","to paste images":"to paste images","for external editor":"for external editor","to toggle compact mode":"to toggle compact mode","Jump through words in the input":"Jump through words in the input","Close dialogs, cancel requests, or quit application":"Close dialogs, cancel requests, or quit application","New line":"New line","New line (Alt+Enter works for certain linux distros)":"New line (Alt+Enter works for certain linux distros)","Clear the screen":"Clear the screen","Open input in external editor":"Open input in external editor","Send message":"Send message","Initializing...":"Initializing...","Connecting to MCP servers... ({{connected}}/{{total}})":"Connecting to MCP servers... ({{connected}}/{{total}})","Message Matilda, or @path/to/file":"Message Matilda, or @path/to/file","? for shortcuts":"? for shortcuts","Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.","Cancel operation / Clear input (double press)":"Cancel operation / Clear input (double press)","Cycle approval modes":"Cycle approval modes","Cycle through your prompt history":"Cycle through your prompt history","For a full list of shortcuts, see {{docPath}}":"For a full list of shortcuts, see {{docPath}}","docs/keyboard-shortcuts.md":"docs/keyboard-shortcuts.md","help \u2014 how Matilda works":"help \u2014 how Matilda works","show version info":"show version info","show paths for current session files and logs":"show paths for current session files and logs","submit a bug report":"submit a bug report",Status:"Status",Matilda:"Matilda",Runtime:"Runtime",OS:"OS",Auth:"Auth",Model:"Model","Fast Model":"Fast Model",Sandbox:"Sandbox","Session ID":"Session ID","Base URL":"Base URL",Proxy:"Proxy","Memory Usage":"Memory Usage","IDE Client":"IDE Client","Analyzes the project and creates a tailored MATILDA.md file.":"Analyzes the project and creates a tailored MATILDA.md file.","List available Matilda tools. Usage: /tools [desc]":"List available Matilda tools. Usage: /tools [desc]","Open the skills panel (browse, search, toggle, pick).":"Open the skills panel (browse, search, toggle, pick).","Move this session to a new working directory":"Move this session to a new working directory","Manage Skills":"Manage Skills","Skills configuration saved.":"Skills configuration saved.","Skills configuration saved, but refresh failed: {{error}}. Restart to ensure the new state is applied.":"Skills configuration saved, but refresh failed: {{error}}. Restart to ensure the new state is applied.","Workspace is untrusted; workspace settings are ignored by the merged config. Run /trust first to persist skills changes here, or edit ~/.matilda/settings.json directly to manage skills at user scope.":"Workspace is untrusted; workspace settings are ignored by the merged config. Run /trust first to persist skills changes here, or edit ~/.matilda/settings.json directly to manage skills at user scope.","SkillManager not available.":"SkillManager not available.","Loading skills\u2026":"Loading skills\u2026","Failed to load skills: {{error}}":"Failed to load skills: {{error}}","Failed to save skills configuration: {{error}}":"Failed to save skills configuration: {{error}}","All available skills are disabled. Edit ~/.matilda/settings.json or .matilda/settings.json (skills.disabled) to re-enable.":"All available skills are disabled. Edit ~/.matilda/settings.json or .matilda/settings.json (skills.disabled) to re-enable.","Press esc to close.":"Press esc to close.","{{count}} skills \xB7 ":"{{count}} skills \xB7 ","{{matched}} / {{total}} skills \xB7 ":"{{matched}} / {{total}} skills \xB7 ","Space toggle \xB7 Enter pick (fill input) \xB7 Esc save & exit \xB7 workspace scope":"Space toggle \xB7 Enter pick (fill input) \xB7 Esc save & exit \xB7 workspace scope","Search:":"Search:","type to filter\u2026":"type to filter\u2026","No skills are currently available.":"No skills are currently available.","All available skills are locked at a higher scope (see below).":"All available skills are locked at a higher scope (see below).","No skills match the search.":"No skills match the search.","Locked by higher-scope settings (cannot toggle here):":"Locked by higher-scope settings (cannot toggle here):","higher scope":"higher scope"," {{name}} {{description}} [locked: {{scope}}]":" {{name}} {{description}} [locked: {{scope}}]","\u2191/\u2193 navigate \xB7 backspace edits search":"\u2191/\u2193 navigate \xB7 backspace edits search",Bundled:"Bundled","Available Matilda CLI tools:":"Available Matilda CLI tools:","No tools available":"No tools available","View or change the approval mode for tool usage":"View or change the approval mode for tool usage",'Invalid approval mode "{{arg}}". Valid modes: {{modes}}':'Invalid approval mode "{{arg}}". Valid modes: {{modes}}','Approval mode set to "{{mode}}"':'Approval mode set to "{{mode}}"',"View or change the language setting":"View or change the language setting","List background tasks (text dump \u2014 interactive dialog opens via the footer pill)":"List background tasks (text dump \u2014 interactive dialog opens via the footer pill)","Delete a previous session":"Delete a previous session","Run installation and environment diagnostics":"Run installation and environment diagnostics","Browse dynamic model catalogs and choose which models stay enabled locally":"Browse dynamic model catalogs and choose which models stay enabled locally","One-line yarn of this session":"One-line yarn of this session","Rename the current conversation. --auto lets the fast model pick a title.":"Rename the current conversation. --auto lets the fast model pick a title.","Rewind conversation to a previous turn":"Rewind conversation to a previous turn","Rewind Conversation":"Rewind Conversation","No user turns to rewind to.":"No user turns to rewind to.","Rewind to: ":"Rewind to: ","Restore code and conversation":"Restore code and conversation","Restore conversation only":"Restore conversation only","Restore code only":"Restore code only","Never mind":"Never mind","Computing file changes...":"Computing file changes...","Restoring...":"Restoring...","Restored {{count}} file(s).":"Restored {{count}} file(s).","Failed to restore files: {{error}}":"Failed to restore files: {{error}}","Rewind failed: {{error}}":"Rewind failed: {{error}}","Cannot rewind conversation: no active model client.":"Cannot rewind conversation: no active model client.","Code restored, but conversation could not be rewound (no active client).":"Code restored, but conversation could not be rewound (no active client).","Conversation rewound. Edit your prompt and press Enter to continue.":"Conversation rewound. Edit your prompt and press Enter to continue.","Rewinding does not affect files edited manually or via shell commands.":"Rewinding does not affect files edited manually or via shell commands.","Cannot rewind to a turn that was compressed. Try a more recent turn.":"Cannot rewind to a turn that was compressed. Try a more recent turn.","File restore is unavailable for this turn (no captured file changes, or this turn predates the current session).":"File restore is unavailable for this turn (no captured file changes, or this turn predates the current session).","(+{{insertions}} -{{deletions}} in {{count}} file)":"(+{{insertions}} -{{deletions}} in {{count}} file)","(+{{insertions}} -{{deletions}} in {{count}} files)":"(+{{insertions}} -{{deletions}} in {{count}} files)","Failed to restore {{count}} file(s): {{files}}":"Failed to restore {{count}} file(s): {{files}}","Cannot restore files: this turn was created before file checkpointing was enabled.":"Cannot restore files: this turn was created before file checkpointing was enabled.","No files needed to be restored.":"No files needed to be restored.","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to go back":"\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to go back","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to cancel":"\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to cancel","Enter/Y to confirm \xB7 Esc/N to go back":"Enter/Y to confirm \xB7 Esc/N to go back","pick a Matilda theme (Wattle, Outback, Reef\u2026)":"pick a Matilda theme (Wattle, Outback, Reef\u2026)","Select Theme":"Select Theme",Preview:"Preview","(Use Enter to select, Tab to configure scope)":"(Use Enter to select, Tab to configure scope)","(Use Enter to apply scope, Tab to go back)":"(Use Enter to apply scope, Tab to go back)","Theme configuration unavailable due to NO_COLOR env variable.":"Theme configuration unavailable due to NO_COLOR env variable.",'Theme "{{themeName}}" not found.':'Theme "{{themeName}}" not found.','Theme "{{themeName}}" not found in selected scope.':'Theme "{{themeName}}" not found in selected scope.',"Wipe the slate \u2014 clear history and free context":"Wipe the slate \u2014 clear history and free context","Compresses the context by replacing it with a summary.":"Compresses the context by replacing it with a summary.","Fast context compression without AI. Strips old tool outputs and thinking parts.":"Fast context compression without AI. Strips old tool outputs and thinking parts.","open full Matilda documentation in your browser":"open full Matilda documentation in your browser","Configuration not available.":"Configuration not available.","Connect an LLM provider":"Connect an LLM provider","Copy to clipboard: reply, code (by lang), LaTeX, or Mermaid. N = Nth-latest message, index = block number":"Copy to clipboard: reply, code (by lang), LaTeX, or Mermaid. N = Nth-latest message, index = block number","Show working-tree change stats versus HEAD":"Show working-tree change stats versus HEAD","hop a Matilda Aussie easter egg across the terminal":"hop a Matilda Aussie easter egg across the terminal","Could not determine current working directory.":"Could not determine current working directory.","Failed to compute git diff stats":"Failed to compute git diff stats","No diff available. Either this is not a git repository, HEAD is missing, or a merge/rebase/cherry-pick/revert is in progress.":"No diff available. Either this is not a git repository, HEAD is missing, or a merge/rebase/cherry-pick/revert is in progress.","Clean working tree \u2014 no changes against HEAD.":"Clean working tree \u2014 no changes against HEAD.","{{count}} file changed, +{{added}} / -{{removed}}":"{{count}} file changed, +{{added}} / -{{removed}}","{{count}} files changed, +{{added}} / -{{removed}}":"{{count}} files changed, +{{added}} / -{{removed}}","{{count}} file changed":"{{count}} file changed","{{count}} files changed":"{{count}} files changed","\u2026and {{hidden}} more (showing first {{shown}})":"\u2026and {{hidden}} more (showing first {{shown}})","(binary)":"(binary)","(binary, new)":"(binary, new)","(new)":"(new)","(new, partial)":"(new, partial)","(deleted)":"(deleted)","(binary, deleted)":"(binary, deleted)","Manage subagents for specialized task delegation.":"Manage subagents for specialized task delegation.","Manage existing subagents (view, edit, delete).":"Manage existing subagents (view, edit, delete).","Create a new subagent with guided setup.":"Create a new subagent with guided setup.",Agents:"Agents","Choose Action":"Choose Action","Edit {{name}}":"Edit {{name}}","Edit Tools: {{name}}":"Edit Tools: {{name}}","Edit Color: {{name}}":"Edit Color: {{name}}","Delete {{name}}":"Delete {{name}}","Unknown Step":"Unknown Step","Esc to close":"Esc to close","Enter to select, \u2191\u2193 to navigate, Esc to close":"Enter to select, \u2191\u2193 to navigate, Esc to close","Esc to go back":"Esc to go back","Enter to confirm, Esc to cancel":"Enter to confirm, Esc to cancel","Enter to select, \u2191\u2193 to navigate, Esc to go back":"Enter to select, \u2191\u2193 to navigate, Esc to go back","Enter to submit, Esc to go back":"Enter to submit, Esc to go back","Invalid step: {{step}}":"Invalid step: {{step}}","No subagents found.":"No subagents found.","Use '/agents create' to create your first subagent.":"Use '/agents create' to create your first subagent.","(built-in)":"(built-in)","(overridden by project level agent)":"(overridden by project level agent)","Project Level ({{path}})":"Project Level ({{path}})","User Level ({{path}})":"User Level ({{path}})","Built-in Agents":"Built-in Agents","Extension Agents":"Extension Agents","Using: {{count}} agents":"Using: {{count}} agents","View Agent":"View Agent","Edit Agent":"Edit Agent","Delete Agent":"Delete Agent",Back:"Back","No agent selected":"No agent selected","File Path: ":"File Path: ","Tools: ":"Tools: ","Color: ":"Color: ","Description:":"Description:","System Prompt:":"System Prompt:","Open in editor":"Open in editor","Edit tools":"Edit tools","Edit color":"Edit color","\u274C Error:":"\u274C Error:",'Are you sure you want to delete agent "{{name}}"?':'Are you sure you want to delete agent "{{name}}"?',"Project Level (.matilda/agents/)":"Project Level (.matilda/agents/)","User Level (~/.matilda/agents/)":"User Level (~/.matilda/agents/)","\u2705 Subagent Created Successfully!":"\u2705 Subagent Created Successfully!",'Subagent "{{name}}" has been saved to {{level}} level.':'Subagent "{{name}}" has been saved to {{level}} level.',"Name: ":"Name: ","Location: ":"Location: ","\u274C Error saving subagent:":"\u274C Error saving subagent:","Warnings:":"Warnings:",'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent':'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent','Name "{{name}}" exists at user level - project level will take precedence':'Name "{{name}}" exists at user level - project level will take precedence','Name "{{name}}" exists at project level - existing subagent will take precedence':'Name "{{name}}" exists at project level - existing subagent will take precedence',"Description is over {{length}} characters":"Description is over {{length}} characters","System prompt is over {{length}} characters":"System prompt is over {{length}} characters","Step {{n}}: Choose Location":"Step {{n}}: Choose Location","Step {{n}}: Choose Generation Method":"Step {{n}}: Choose Generation Method","Generate with Matilda (Recommended)":"Generate with Matilda (Recommended)","Manual Creation":"Manual Creation","Describe what this subagent should do and when it should be used. (Be comprehensive for best results)":"Describe what this subagent should do and when it should be used. (Be comprehensive for best results)","e.g., Expert code reviewer that reviews code based on best practices...":"e.g., Expert code reviewer that reviews code based on best practices...","Generating subagent configuration...":"Generating subagent configuration...","Failed to generate subagent: {{error}}":"Failed to generate subagent: {{error}}","Step {{n}}: Describe Your Subagent":"Step {{n}}: Describe Your Subagent","Step {{n}}: Enter Subagent Name":"Step {{n}}: Enter Subagent Name","Step {{n}}: Enter System Prompt":"Step {{n}}: Enter System Prompt","Step {{n}}: Enter Description":"Step {{n}}: Enter Description","Step {{n}}: Select Tools":"Step {{n}}: Select Tools","All Tools (Default)":"All Tools (Default)","All Tools":"All Tools","Read-only Tools":"Read-only Tools","Read & Edit Tools":"Read & Edit Tools","Read & Edit & Execution Tools":"Read & Edit & Execution Tools","All tools selected, including MCP tools":"All tools selected, including MCP tools","Selected tools:":"Selected tools:","Read-only tools:":"Read-only tools:","Edit tools:":"Edit tools:","Execution tools:":"Execution tools:","Step {{n}}: Choose Background Color":"Step {{n}}: Choose Background Color","Step {{n}}: Confirm and Save":"Step {{n}}: Confirm and Save","Esc to cancel":"Esc to cancel","Press Enter to save, e to save and edit, Esc to go back":"Press Enter to save, e to save and edit, Esc to go back","Press Enter to continue, {{navigation}}Esc to {{action}}":"Press Enter to continue, {{navigation}}Esc to {{action}}",cancel:"cancel","go back":"go back","\u2191\u2193 to navigate, ":"\u2191\u2193 to navigate, ","Enter a clear, unique name for this subagent.":"Enter a clear, unique name for this subagent.","e.g., Code Reviewer":"e.g., Code Reviewer","Name cannot be empty.":"Name cannot be empty.","Write the system prompt that defines this subagent's behavior. Be comprehensive for best results.":"Write the system prompt that defines this subagent's behavior. Be comprehensive for best results.","e.g., You are an expert code reviewer...":"e.g., You are an expert code reviewer...","System prompt cannot be empty.":"System prompt cannot be empty.","Describe when and how this subagent should be used.":"Describe when and how this subagent should be used.","e.g., Reviews code for best practices and potential bugs.":"e.g., Reviews code for best practices and potential bugs.","Description cannot be empty.":"Description cannot be empty.","Failed to launch editor: {{error}}":"Failed to launch editor: {{error}}","Failed to save and edit subagent: {{error}}":"Failed to save and edit subagent: {{error}}","Manage Extensions":"Manage Extensions","Extension Details":"Extension Details","View Extension":"View Extension","Update Extension":"Update Extension","Disable Extension":"Disable Extension","Enable Extension":"Enable Extension","Uninstall Extension":"Uninstall Extension","Select Scope":"Select Scope","User Scope":"User Scope","Workspace Scope":"Workspace Scope","No extensions found.":"No extensions found.","Updating...":"Updating...",Unknown:"Unknown",Error:"Error","Stopped because":"Stopped because","Version:":"Version:","Status:":"Status:",'Are you sure you want to uninstall extension "{{name}}"?':'Are you sure you want to uninstall extension "{{name}}"?',"This action cannot be undone.":"This action cannot be undone.",'Extension "{{name}}" updated successfully.':'Extension "{{name}}" updated successfully.',"Name:":"Name:","MCP Servers:":"MCP Servers:","Settings:":"Settings:",active:"active",disabled:"disabled",enabled:"enabled","View Details":"View Details","Update failed:":"Update failed:","Updating {{name}}...":"Updating {{name}}...","Update complete!":"Update complete!","User (global)":"User (global)","Workspace (project-specific)":"Workspace (project-specific)",'Disable "{{name}}" - Select Scope':'Disable "{{name}}" - Select Scope','Enable "{{name}}" - Select Scope':'Enable "{{name}}" - Select Scope',"No extension selected":"No extension selected","{{count}} extensions installed":"{{count}} extensions installed","Use '/extensions install' to install your first extension.":"Use '/extensions install' to install your first extension.","up to date":"up to date","update available":"update available","checking...":"checking...","not updatable":"not updatable",error:"error","View and edit Matilda settings":"View and edit Matilda settings",Settings:"Settings","To see changes, Matilda must be restarted. Press r to exit and apply changes now.":"To see changes, Matilda must be restarted. Press r to exit and apply changes now.","Vim Mode":"Vim Mode","Attribution: commit":"Attribution: commit","Terminal Bell Notification":"Terminal Bell Notification","Enable Usage Statistics":"Enable Usage Statistics",Theme:"Theme","Preferred Editor":"Preferred Editor","Auto-connect to IDE":"Auto-connect to IDE","Debug Keystroke Logging":"Debug Keystroke Logging","Language: UI":"Language: UI","Language: Model":"Language: Model","Output Format":"Output Format","Hide Window Title":"Hide Window Title","Show Status in Title":"Show Status in Title","Hide Tips":"Hide Tips","Show Line Numbers in Code":"Show Line Numbers in Code","Show Citations":"Show Citations","Custom Witty Phrases":"Custom Witty Phrases","Show Welcome Back Dialog":"Show Welcome Back Dialog","Enable User Feedback":"Enable User Feedback","How is Matilda doing this session? (optional)":"How is Matilda doing this session? (optional)",Bad:"Bad",Fine:"Fine",Good:"Good",Dismiss:"Dismiss","Screen Reader Mode":"Screen Reader Mode","Max Session Turns":"Max Session Turns","Skip Next Speaker Check":"Skip Next Speaker Check","Skip Loop Detection":"Skip Loop Detection","Skip Startup Context":"Skip Startup Context","Enable OpenAI Logging":"Enable OpenAI Logging","OpenAI Logging Directory":"OpenAI Logging Directory",Timeout:"Timeout","Max Retries":"Max Retries","Load Memory From Include Directories":"Load Memory From Include Directories","Respect .gitignore":"Respect .gitignore","Respect .matildaignore":"Respect .matildaignore","Enable Recursive File Search":"Enable Recursive File Search","Interactive Shell (PTY)":"Interactive Shell (PTY)","Show Color":"Show Color","Auto Accept":"Auto Accept","Use Ripgrep":"Use Ripgrep","Use Builtin Ripgrep":"Use Builtin Ripgrep","Tool Output Truncation Threshold":"Tool Output Truncation Threshold","Tool Output Truncation Lines":"Tool Output Truncation Lines","Folder Trust":"Folder Trust","Tool Schema Compliance":"Tool Schema Compliance","Auto (detect from system)":"Auto (detect from system)","Auto (detect terminal theme)":"Auto (detect terminal theme)",Auto:"Auto",Text:"Text",JSON:"JSON",Plan:"Plan","Ask permissions":"Ask permissions","Auto Edit":"Auto Edit",BOGAN:"BOGAN","toggle vim mode on/off":"toggle vim mode on/off","Show usage statistics dashboard.":"Show usage statistics dashboard.","Show model-specific usage statistics.":"Show model-specific usage statistics.","Show tool-specific usage statistics.":"Show tool-specific usage statistics.","pack it up \u2014 exit the CLI":"pack it up \u2014 exit the CLI","Manage workspace directories":"Manage workspace directories","Add directories to the workspace. Use comma to separate multiple paths":"Add directories to the workspace. Use comma to separate multiple paths","Show all directories in the workspace":"Show all directories in the workspace","set external editor preference":"set external editor preference","Select Editor":"Select Editor","Editor Preference":"Editor Preference","These editors are currently supported. Please note that some editors cannot be used in sandbox mode.":"These editors are currently supported. Please note that some editors cannot be used in sandbox mode.","Your preferred editor is:":"Your preferred editor is:","Manage extensions":"Manage extensions","Manage installed extensions":"Manage installed extensions","Disable an extension":"Disable an extension","Enable an extension":"Enable an extension","Install an extension from a git repo or local path":"Install an extension from a git repo or local path","Uninstall an extension":"Uninstall an extension","No extensions installed.":"No extensions installed.",'Extension "{{name}}" not found.':'Extension "{{name}}" not found.',"No extensions to update.":"No extensions to update.","Usage: /extensions install <source>":"Usage: /extensions install <source>",'Installing extension from "{{source}}"...':'Installing extension from "{{source}}"...','Extension "{{name}}" installed successfully.':'Extension "{{name}}" installed successfully.','Failed to install extension from "{{source}}": {{error}}':'Failed to install extension from "{{source}}": {{error}}',"Do you want to continue? [Y/n]: ":"Do you want to continue? [Y/n]: ","Do you want to continue?":"Do you want to continue?",'Installing extension "{{name}}".':'Installing extension "{{name}}".',"**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**":"**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**","This extension will run the following MCP servers:":"This extension will run the following MCP servers:",local:"local",remote:"remote","This extension will add the following commands: {{commands}}.":"This extension will add the following commands: {{commands}}.","This extension will append info to your MATILDA.md context using {{fileName}}":"This extension will append info to your MATILDA.md context using {{fileName}}","This extension will install the following skills:":"This extension will install the following skills:","This extension will install the following subagents:":"This extension will install the following subagents:",'Installation cancelled for "{{name}}".':'Installation cancelled for "{{name}}".',"You are installing an extension from {{originSource}}. Some features may not work perfectly with Matilda.":"You are installing an extension from {{originSource}}. Some features may not work perfectly with Matilda.","--ref and --auto-update are not applicable for marketplace extensions.":"--ref and --auto-update are not applicable for marketplace extensions.",'Extension "{{name}}" installed successfully and enabled.':'Extension "{{name}}" installed successfully and enabled.',"The github URL, local path, or marketplace source (marketplace-url:plugin-name) of the extension to install.":"The github URL, local path, or marketplace source (marketplace-url:plugin-name) of the extension to install.","The git ref to install from.":"The git ref to install from.","Enable auto-update for this extension.":"Enable auto-update for this extension.","Enable pre-release versions for this extension.":"Enable pre-release versions for this extension.","Acknowledge the security risks of installing an extension and skip the confirmation prompt.":"Acknowledge the security risks of installing an extension and skip the confirmation prompt.","The source argument must be provided.":"The source argument must be provided.",'Extension "{{name}}" successfully uninstalled.':'Extension "{{name}}" successfully uninstalled.',"Uninstalls an extension.":"Uninstalls an extension.","The name or source path of the extension to uninstall.":"The name or source path of the extension to uninstall.","Please include the name of the extension to uninstall as a positional argument.":"Please include the name of the extension to uninstall as a positional argument.","Enables an extension.":"Enables an extension.","The name of the extension to enable.":"The name of the extension to enable.","The scope to enable the extenison in. If not set, will be enabled in all scopes.":"The scope to enable the extenison in. If not set, will be enabled in all scopes.",'Extension "{{name}}" successfully enabled for scope "{{scope}}".':'Extension "{{name}}" successfully enabled for scope "{{scope}}".','Extension "{{name}}" successfully enabled in all scopes.':'Extension "{{name}}" successfully enabled in all scopes.',"Invalid scope: {{scope}}. Please use one of {{scopes}}.":"Invalid scope: {{scope}}. Please use one of {{scopes}}.","Disables an extension.":"Disables an extension.","The name of the extension to disable.":"The name of the extension to disable.","The scope to disable the extenison in.":"The scope to disable the extenison in.",'Extension "{{name}}" successfully disabled for scope "{{scope}}".':'Extension "{{name}}" successfully disabled for scope "{{scope}}".','Extension "{{name}}" successfully updated: {{oldVersion}} \u2192 {{newVersion}}.':'Extension "{{name}}" successfully updated: {{oldVersion}} \u2192 {{newVersion}}.','Unable to install extension "{{name}}" due to missing install metadata':'Unable to install extension "{{name}}" due to missing install metadata','Extension "{{name}}" is already up to date.':'Extension "{{name}}" is already up to date.',"Updates all extensions or a named extension to the latest version.":"Updates all extensions or a named extension to the latest version.","Update all extensions.":"Update all extensions.","The name of the extension to update.":"The name of the extension to update.","Either an extension name or --all must be provided":"Either an extension name or --all must be provided","List installed extensions":"List installed extensions","Lists installed extensions.":"Lists installed extensions.","Path:":"Path:","Source:":"Source:","Type:":"Type:","Ref:":"Ref:","Release tag:":"Release tag:","Enabled (User):":"Enabled (User):","Enabled (Workspace):":"Enabled (Workspace):","Context files:":"Context files:","Skills:":"Skills:","Agents:":"Agents:","MCP servers:":"MCP servers:","Link extension failed to install.":"Link extension failed to install.",'Extension "{{name}}" linked successfully and enabled.':'Extension "{{name}}" linked successfully and enabled.',"Links an extension from a local path. Updates made to the local path will always be reflected.":"Links an extension from a local path. Updates made to the local path will always be reflected.","The name of the extension to link.":"The name of the extension to link.","Set a specific setting for an extension.":"Set a specific setting for an extension.","Name of the extension to configure.":"Name of the extension to configure.","The setting to configure (name or env var).":"The setting to configure (name or env var).","The scope to set the setting in.":"The scope to set the setting in.","List all settings for an extension.":"List all settings for an extension.","Name of the extension.":"Name of the extension.",'Extension "{{name}}" has no settings to configure.':'Extension "{{name}}" has no settings to configure.','Settings for "{{name}}":':'Settings for "{{name}}":',"(workspace)":"(workspace)","(user)":"(user)","[not set]":"[not set]","[value stored in keychain]":"[value stored in keychain]","Value:":"Value:","Manage extension settings":"Manage extension settings","Manage extension settings.":"Manage extension settings.","You need to specify a command (set or list).":"You need to specify a command (set or list).","No plugins available in this marketplace.":"No plugins available in this marketplace.",'Select a plugin to install from marketplace "{{name}}":':'Select a plugin to install from marketplace "{{name}}":',"Plugin selection cancelled.":"Plugin selection cancelled.",'Select a plugin from "{{name}}"':'Select a plugin from "{{name}}"',"Use \u2191\u2193 or j/k to navigate, Enter to select, Escape to cancel":"Use \u2191\u2193 or j/k to navigate, Enter to select, Escape to cancel","{{count}} more above":"{{count}} more above","{{count}} more below":"{{count}} more below","manage IDE integration":"manage IDE integration","check status of IDE integration":"check status of IDE integration","install required IDE companion for {{ideName}}":"install required IDE companion for {{ideName}}","enable IDE integration":"enable IDE integration","disable IDE integration":"disable IDE integration","IDE integration is not supported in your current environment. To use this feature, run Matilda in one of these supported IDEs: VS Code or VS Code forks.":"IDE integration is not supported in your current environment. To use this feature, run Matilda in one of these supported IDEs: VS Code or VS Code forks.","Set up GitHub Actions":"Set up GitHub Actions","Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf, Trae)":"Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf, Trae)","Please restart your terminal for the changes to take effect.":"Please restart your terminal for the changes to take effect.","Failed to configure terminal: {{error}}":"Failed to configure terminal: {{error}}","Could not determine {{terminalName}} config path on Windows: APPDATA environment variable is not set.":"Could not determine {{terminalName}} config path on Windows: APPDATA environment variable is not set.","{{terminalName}} keybindings.json exists but is not a valid JSON array. Please fix the file manually or delete it to allow automatic configuration.":"{{terminalName}} keybindings.json exists but is not a valid JSON array. Please fix the file manually or delete it to allow automatic configuration.","File: {{file}}":"File: {{file}}","Failed to parse {{terminalName}} keybindings.json. The file contains invalid JSON. Please fix the file manually or delete it to allow automatic configuration.":"Failed to parse {{terminalName}} keybindings.json. The file contains invalid JSON. Please fix the file manually or delete it to allow automatic configuration.","Error: {{error}}":"Error: {{error}}","Shift+Enter binding already exists":"Shift+Enter binding already exists","Ctrl+Enter binding already exists":"Ctrl+Enter binding already exists","Existing keybindings detected. Will not modify to avoid conflicts.":"Existing keybindings detected. Will not modify to avoid conflicts.","Please check and modify manually if needed: {{file}}":"Please check and modify manually if needed: {{file}}","Added Shift+Enter and Ctrl+Enter keybindings to {{terminalName}}.":"Added Shift+Enter and Ctrl+Enter keybindings to {{terminalName}}.","Modified: {{file}}":"Modified: {{file}}","{{terminalName}} keybindings already configured.":"{{terminalName}} keybindings already configured.","Failed to configure {{terminalName}}.":"Failed to configure {{terminalName}}.","Your terminal is already configured for an optimal experience with multiline input (Shift+Enter and Ctrl+Enter).":"Your terminal is already configured for an optimal experience with multiline input (Shift+Enter and Ctrl+Enter).","Manage Matilda hooks":"Manage Matilda hooks","List all configured hooks":"List all configured hooks",Hooks:"Hooks","Loading hooks...":"Loading hooks...","Error loading hooks:":"Error loading hooks:","Press Escape to close":"Press Escape to close","Press Escape, Ctrl+C, or Ctrl+D to cancel":"Press Escape, Ctrl+C, or Ctrl+D to cancel","Press Space, Enter, or Escape to dismiss":"Press Space, Enter, or Escape to dismiss","No hook selected":"No hook selected","No hook events found.":"No hook events found.","{{count}} hook configured":"{{count}} hook configured","{{count}} hooks configured":"{{count}} hooks configured","This menu is read-only. To add or modify hooks, edit settings.json directly or ask Matilda.":"This menu is read-only. To add or modify hooks, edit settings.json directly or ask Matilda.","Enter to select \xB7 Esc to cancel":"Enter to select \xB7 Esc to cancel","Exit codes:":"Exit codes:","Configured hooks:":"Configured hooks:","No hooks configured for this event.":"No hooks configured for this event.","To add hooks, edit settings.json directly or ask Matilda.":"To add hooks, edit settings.json directly or ask Matilda.","Enter to select \xB7 Esc to go back":"Enter to select \xB7 Esc to go back","Hook details":"Hook details","Event:":"Event:","Extension:":"Extension:","Desc:":"Desc:","No hook config selected":"No hook config selected","To modify or remove this hook, edit settings.json directly or ask Matilda to help.":"To modify or remove this hook, edit settings.json directly or ask Matilda to help.","Hook Configuration - Disabled":"Hook Configuration - Disabled","All hooks are currently disabled. You have {{count}} that are not running.":"All hooks are currently disabled. You have {{count}} that are not running.","{{count}} configured hook":"{{count}} configured hook","{{count}} configured hooks":"{{count}} configured hooks","When hooks are disabled:":"When hooks are disabled:","No hook commands will execute":"No hook commands will execute","StatusLine will not be displayed":"StatusLine will not be displayed","Tool operations will proceed without hook validation":"Tool operations will proceed without hook validation",'To re-enable hooks, remove "disableAllHooks" from settings.json or ask Matilda.':'To re-enable hooks, remove "disableAllHooks" from settings.json or ask Matilda.',Project:"Project",User:"User",Skill:"Skill",System:"System",Extension:"Extension","Local Settings":"Local Settings","User Settings":"User Settings","System Settings":"System Settings",Extensions:"Extensions","Session (temporary)":"Session (temporary)","Before tool execution":"Before tool execution","After tool execution":"After tool execution","After tool execution fails":"After tool execution fails","When notifications are sent":"When notifications are sent","When the user submits a prompt":"When the user submits a prompt","When a slash command expands into a prompt":"When a slash command expands into a prompt","When a new session is started":"When a new session is started","Right before Matilda concludes its response":"Right before Matilda concludes its response","When a subagent (Agent tool call) is started":"When a subagent (Agent tool call) is started","Right before a subagent concludes its response":"Right before a subagent concludes its response","Before conversation compaction":"Before conversation compaction","When a session is ending":"When a session is ending","When a permission dialog is displayed":"When a permission dialog is displayed","When a new todo item is created":"When a new todo item is created","When a todo item is marked as completed":"When a todo item is marked as completed","Input to command is JSON of tool call arguments.":"Input to command is JSON of tool call arguments.",'Input to command is JSON with fields "inputs" (tool call arguments) and "response" (tool call response).':'Input to command is JSON with fields "inputs" (tool call arguments) and "response" (tool call response).',"Input to command is JSON with tool_name, tool_input, tool_use_id, error, error_type, is_interrupt, and is_timeout.":"Input to command is JSON with tool_name, tool_input, tool_use_id, error, error_type, is_interrupt, and is_timeout.","Input to command is JSON with notification message and type.":"Input to command is JSON with notification message and type.","Input to command is JSON with original user prompt text.":"Input to command is JSON with original user prompt text.","Input to command is JSON with command_name, command_args, and expanded prompt text.":"Input to command is JSON with command_name, command_args, and expanded prompt text.","Input to command is JSON with session start source.":"Input to command is JSON with session start source.","Input to command is JSON with session end reason.":"Input to command is JSON with session end reason.","Input to command is JSON with agent_id and agent_type.":"Input to command is JSON with agent_id and agent_type.","Input to command is JSON with agent_id, agent_type, and agent_transcript_path.":"Input to command is JSON with agent_id, agent_type, and agent_transcript_path.","Input to command is JSON with compaction details.":"Input to command is JSON with compaction details.","Input to command is JSON with tool_name, tool_input, and tool_use_id. Output JSON with hookSpecificOutput containing decision to allow or deny.":"Input to command is JSON with tool_name, tool_input, and tool_use_id. Output JSON with hookSpecificOutput containing decision to allow or deny.","Input to command is JSON with todo_id, todo_content, todo_status, all_todos, and phase. In validation, output JSON with decision (allow/block/deny) and reason. In postWrite, block/deny is ignored.":"Input to command is JSON with todo_id, todo_content, todo_status, all_todos, and phase. In validation, output JSON with decision (allow/block/deny) and reason. In postWrite, block/deny is ignored.","Input to command is JSON with todo_id, todo_content, previous_status, all_todos, and phase. In validation, output JSON with decision (allow/block/deny) and reason. In postWrite, block/deny is ignored.":"Input to command is JSON with todo_id, todo_content, previous_status, all_todos, and phase. In validation, output JSON with decision (allow/block/deny) and reason. In postWrite, block/deny is ignored.","stdout/stderr not shown":"stdout/stderr not shown","show stderr to model and continue conversation":"show stderr to model and continue conversation","show stderr to user only":"show stderr to user only","stdout shown in transcript mode (ctrl+o)":"stdout shown in transcript mode (ctrl+o)","show stderr to model immediately":"show stderr to model immediately","show stderr to user only but continue with tool call":"show stderr to user only but continue with tool call","block processing, erase original prompt, and show stderr to user only":"block processing, erase original prompt, and show stderr to user only","block expanded prompt submission and show stderr to user only":"block expanded prompt submission and show stderr to user only","stdout shown to Matilda":"stdout shown to Matilda","show stderr to user only (blocking errors ignored)":"show stderr to user only (blocking errors ignored)","command completes successfully":"command completes successfully","stdout shown to subagent":"stdout shown to subagent","show stderr to subagent and continue having it run":"show stderr to subagent and continue having it run","stdout appended as custom compact instructions":"stdout appended as custom compact instructions","block compaction":"block compaction","show stderr to user only but continue with compaction":"show stderr to user only but continue with compaction","use hook decision if provided":"use hook decision if provided","allow todo creation":"allow todo creation","block todo creation and show reason to model":"block todo creation and show reason to model","allow todo completion":"allow todo completion","block todo completion and show reason to model":"block todo completion and show reason to model","Config not loaded.":"Config not loaded.","Hooks are not enabled. Enable hooks in settings to use this feature.":"Hooks are not enabled. Enable hooks in settings to use this feature.","Export current session message history to a file":"Export current session message history to a file","Export session to HTML format":"Export session to HTML format","Export session to JSON format":"Export session to JSON format","Export session to JSONL format (one message per line)":"Export session to JSONL format (one message per line)","Export session to markdown format":"Export session to markdown format","generate personalized programming insights from your chat history":"generate personalized programming insights from your chat history","Resume a previous session":"Resume a previous session","Fork the current conversation into a new session":"Fork the current conversation into a new session","Spawn a background agent that inherits the full conversation":"Spawn a background agent that inherits the full conversation","Please provide a directive. Usage: /fork <directive>":"Please provide a directive. Usage: /fork <directive>","Cannot fork while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.":"Cannot fork while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.","Cannot fork before the first conversation turn.":"Cannot fork before the first conversation turn.","The agent tool is unavailable; cannot fork.":"The agent tool is unavailable; cannot fork.","Failed to launch fork: {{error}}":"Failed to launch fork: {{error}}","the background agent could not be started.":"the background agent could not be started.","User launched a background fork via /fork: {{directive}}":"User launched a background fork via /fork: {{directive}}","Forked into a background agent. It inherits this conversation and runs without blocking \u2014 track it in the background tasks panel; it reports back when done.":"Forked into a background agent. It inherits this conversation and runs without blocking \u2014 track it in the background tasks panel; it reports back when done.","Cannot branch while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.":"Cannot branch while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.","No conversation to branch.":"No conversation to branch.","Restore a tool call. This will reset the conversation and file history to the state it was in when the tool call was suggested":"Restore a tool call. This will reset the conversation and file history to the state it was in when the tool call was suggested","Could not detect terminal type. Supported terminals: VS Code, Cursor, Windsurf, and Trae.":"Could not detect terminal type. Supported terminals: VS Code, Cursor, Windsurf, and Trae.",'Terminal "{{terminal}}" is not supported yet.':'Terminal "{{terminal}}" is not supported yet.',"Invalid language. Available: {{options}}":"Invalid language. Available: {{options}}","Language subcommands do not accept additional arguments.":"Language subcommands do not accept additional arguments.","Current UI language: {{lang}}":"Current UI language: {{lang}}","Current LLM output language: {{lang}}":"Current LLM output language: {{lang}}","Set UI language":"Set UI language","Set LLM output language":"Set LLM output language","Usage: /language ui [{{options}}]":"Usage: /language ui [{{options}}]","Usage: /language output <language>":"Usage: /language output <language>","Example: /language output \u4E2D\u6587":"Example: /language output \u4E2D\u6587","Example: /language output English":"Example: /language output English","Example: /language output \u65E5\u672C\u8A9E":"Example: /language output \u65E5\u672C\u8A9E","UI language changed to {{lang}}":"UI language changed to {{lang}}","LLM output language set to {{lang}}":"LLM output language set to {{lang}}","Please restart the application for the changes to take effect.":"Please restart the application for the changes to take effect.","Failed to generate LLM output language rule file: {{error}}":"Failed to generate LLM output language rule file: {{error}}","Invalid command. Available subcommands:":"Invalid command. Available subcommands:","Available subcommands:":"Available subcommands:","To request additional UI language packs, please open an issue on GitHub.":"To request additional UI language packs, please open an issue on GitHub.","Available options:":"Available options:","Set UI language to {{name}}":"Set UI language to {{name}}","Tool Approval Mode":"Tool Approval Mode","Analyze only, do not modify files or execute commands":"Analyze only, do not modify files or execute commands","Require approval for file edits or shell commands":"Require approval for file edits or shell commands","Automatically approve file edits":"Automatically approve file edits","Use classifier to automatically approve safe tool calls":"Use classifier to automatically approve safe tool calls","BOGAN \u2014 approve every tool call with no prompts (you are on your own)":"BOGAN \u2014 approve every tool call with no prompts (you are on your own)","Workspace approval mode exists and takes priority. User-level change will have no effect.":"Workspace approval mode exists and takes priority. User-level change will have no effect.","Apply To":"Apply To","Workspace Settings":"Workspace Settings","Open auto-memory folder":"Open auto-memory folder","Auto-memory: {{status}}":"Auto-memory: {{status}}","Auto-dream: {{status}} \xB7 {{lastDream}} \xB7 /dream to run":"Auto-dream: {{status}} \xB7 {{lastDream}} \xB7 /dream to run","Auto-skill: {{status}}":"Auto-skill: {{status}}",never:"never",on:"on",off:"off","Remove matching entries from managed auto-memory.":"Remove matching entries from managed auto-memory.","Usage: /forget <memory text to remove>":"Usage: /forget <memory text to remove>","No managed auto-memory entries matched: {{query}}":"No managed auto-memory entries matched: {{query}}","Let auto-memory settle \u2014 consolidate topic files.":"Let auto-memory settle \u2014 consolidate topic files.","Import MCP servers from Claude configs":"Import MCP servers from Claude configs","Open MCP management dialog":"Open MCP management dialog","Could not retrieve tool registry.":"Could not retrieve tool registry.","Successfully authenticated and refreshed tools for '{{name}}'.":"Successfully authenticated and refreshed tools for '{{name}}'.","Re-discovering tools from '{{name}}'...":"Re-discovering tools from '{{name}}'...","Discovered {{count}} tool(s) from '{{name}}'.":"Discovered {{count}} tool(s) from '{{name}}'.","Authentication complete. Returning to server details...":"Authentication complete. Returning to server details...","Authentication successful.":"Authentication successful.","Manage MCP servers":"Manage MCP servers","Server Detail":"Server Detail",Tools:"Tools","Tool Detail":"Tool Detail","Loading...":"Loading...","Unknown step":"Unknown step","Esc to back":"Esc to back","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to close":"\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to close","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to back":"\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to back","\u2191\u2193 to navigate \xB7 Enter to confirm \xB7 Esc to back":"\u2191\u2193 to navigate \xB7 Enter to confirm \xB7 Esc to back","User Settings (global)":"User Settings (global)","Workspace Settings (project-specific)":"Workspace Settings (project-specific)","Disable server:":"Disable server:","Select where to add the server to the exclude list:":"Select where to add the server to the exclude list:","Press Enter to confirm, Esc to cancel":"Press Enter to confirm, Esc to cancel","View tools":"View tools",Reconnect:"Reconnect",Enable:"Enable",Disable:"Disable",Authenticate:"Authenticate","Re-authenticate":"Re-authenticate","Clear Authentication":"Clear Authentication","Server:":"Server:","Command:":"Command:","Working Directory:":"Working Directory:","No server selected":"No server selected",prompts:"prompts","Error:":"Error:",tool:"tool",tools:"tools",connected:"connected",connecting:"connecting",disconnected:"disconnected","User MCPs":"User MCPs","Project MCPs":"Project MCPs","Extension MCPs":"Extension MCPs",server:"server",servers:"servers","Add MCP servers to your settings to get started.":"Add MCP servers to your settings to get started.","Run matilda --debug to see error logs":"Run matilda --debug to see error logs","OAuth Authentication":"OAuth Authentication","Authenticating... Please complete the login in your browser.":"Authenticating... Please complete the login in your browser.","Press c to copy the authorization URL to your clipboard.":"Press c to copy the authorization URL to your clipboard.","Copy request sent to your terminal. If paste is empty, copy the URL above manually.":"Copy request sent to your terminal. If paste is empty, copy the URL above manually.","Cannot write to terminal \u2014 copy the URL above manually.":"Cannot write to terminal \u2014 copy the URL above manually.","No tools available for this server.":"No tools available for this server.",destructive:"destructive","read-only":"read-only","open-world":"open-world",idempotent:"idempotent","Tools for {{serverName}}":"Tools for {{serverName}}","{{current}}/{{total}}":"{{current}}/{{total}}",required:"required",Parameters:"Parameters","No tool selected":"No tool selected",Server:"Server","{{count}} invalid tools":"{{count}} invalid tools",invalid:"invalid","invalid: {{reason}}":"invalid: {{reason}}","missing name":"missing name","missing description":"missing description","(unnamed)":"(unnamed)","Warning: This tool cannot be called by the LLM":"Warning: This tool cannot be called by the LLM",Reason:"Reason","Tools must have both name and description to be used by the LLM.":"Tools must have both name and description to be used by the LLM.","Generate a project summary and save it to .matilda/PROJECT_SUMMARY.md":"Generate a project summary and save it to .matilda/PROJECT_SUMMARY.md","No chat client available to generate summary.":"No chat client available to generate summary.","Already generating summary, wait for previous request to complete":"Already generating summary, wait for previous request to complete","No conversation found to summarize.":"No conversation found to summarize.","Failed to generate project context summary: {{error}}":"Failed to generate project context summary: {{error}}","Saved project summary to {{filePathForDisplay}}.":"Saved project summary to {{filePathForDisplay}}.","Saving project summary...":"Saving project summary...","Generating project summary...":"Generating project summary...","Processing summary...":"Processing summary...","Project summary generated and saved successfully!":"Project summary generated and saved successfully!","Saved to: {{filePath}}":"Saved to: {{filePath}}","Failed to generate summary - no text content received from LLM response":"Failed to generate summary - no text content received from LLM response","Switch the model for this session (--fast for suggestion model, [model-id] to switch immediately).":"Switch the model for this session (--fast for suggestion model, [model-id] to switch immediately).","Set a lighter model for prompt suggestions and speculative execution":"Set a lighter model for prompt suggestions and speculative execution","Content generator configuration not available.":"Content generator configuration not available.","Authentication type not available.":"Authentication type not available.","No models available for the current authentication type ({{authType}}).":"No models available for the current authentication type ({{authType}})."," (not in model registry)":" (not in model registry)","Starting a new session, resetting chat, and clearing terminal.":"Starting a new session, resetting chat, and clearing terminal.","Starting a new session and clearing.":"Starting a new session and clearing.","Already compressing, wait for previous request to complete":"Already compressing, wait for previous request to complete","Failed to compress chat history.":"Failed to compress chat history.","Failed to compress chat history: {{error}}":"Failed to compress chat history: {{error}}","Compressing chat history":"Compressing chat history","Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.":"Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.","Compression was not beneficial for this history size.":"Compression was not beneficial for this history size.","Chat history compression did not reduce size. This may indicate issues with the compression prompt.":"Chat history compression did not reduce size. This may indicate issues with the compression prompt.","Could not compress chat history due to a token counting error.":"Could not compress chat history due to a token counting error.","Configuration is not available.":"Configuration is not available.","Please provide at least one path to add.":"Please provide at least one path to add.","The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.":"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.","Error adding '{{path}}': {{error}}":"Error adding '{{path}}': {{error}}","Successfully added MATILDA.md files from the following directories if there are:\n- {{directories}}":`Successfully added MATILDA.md files from the following directories if there are:
3
+ import{b as e}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";e();var t={"\u2191 to manage attachments":"\u2191 to manage attachments","\u2190 \u2192 select, Delete to remove, \u2193 to exit":"\u2190 \u2192 select, Delete to remove, \u2193 to exit","Attachments: ":"Attachments: ","Basics:":"Basics:","Add context":"Add context","Use {{symbol}} to specify files for context (e.g., {{example}}) to target specific files or folders.":"Use {{symbol}} to specify files for context (e.g., {{example}}) to target specific files or folders.","@":"@","@src/myFile.ts":"@src/myFile.ts","Shell mode":"Shell mode","BOGAN mode":"BOGAN mode","Auto mode":"Auto mode","plan mode":"plan mode","auto-accept edits":"auto-accept edits","Accepting edits":"Accepting edits","(shift + tab to cycle)":"(shift + tab to cycle)","(tab to cycle)":"(tab to cycle)","Execute shell commands via {{symbol}} (e.g., {{example1}}) or use natural language (e.g., {{example2}}).":"Execute shell commands via {{symbol}} (e.g., {{example1}}) or use natural language (e.g., {{example2}}).","!":"!","!npm run start":"!npm run start","start server":"start server","Commands:":"Commands:","shell command":"shell command","Model Context Protocol command (from external servers)":"Model Context Protocol command (from external servers)","Keyboard Shortcuts:":"Keyboard Shortcuts:","Toggle this help display":"Toggle this help display","Toggle shell mode":"Toggle shell mode","Open command menu":"Open command menu","Add file context":"Add file context","Accept suggestion / Autocomplete":"Accept suggestion / Autocomplete","Reverse search history":"Reverse search history","Press ? again to close":"Press ? again to close","for shell mode":"for shell mode","for commands":"for commands","for file paths":"for file paths","to clear input":"to clear input","to cycle approvals":"to cycle approvals","to quit":"to quit","for newline":"for newline","to clear screen":"to clear screen","to search history":"to search history","to paste images":"to paste images","for external editor":"for external editor","to toggle compact mode":"to toggle compact mode","Jump through words in the input":"Jump through words in the input","Close dialogs, cancel requests, or quit application":"Close dialogs, cancel requests, or quit application","New line":"New line","New line (Alt+Enter works for certain linux distros)":"New line (Alt+Enter works for certain linux distros)","Clear the screen":"Clear the screen","Open input in external editor":"Open input in external editor","Send message":"Send message","Initializing...":"Initializing...","Connecting to MCP servers... ({{connected}}/{{total}})":"Connecting to MCP servers... ({{connected}}/{{total}})","Message Matilda, or @path/to/file":"Message Matilda, or @path/to/file","? for shortcuts":"? for shortcuts","Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.","Cancel operation / Clear input (double press)":"Cancel operation / Clear input (double press)","Cycle approval modes":"Cycle approval modes","Cycle through your prompt history":"Cycle through your prompt history","For a full list of shortcuts, see {{docPath}}":"For a full list of shortcuts, see {{docPath}}","docs/keyboard-shortcuts.md":"docs/keyboard-shortcuts.md","help \u2014 how Matilda works":"help \u2014 how Matilda works","show version info":"show version info","show paths for current session files and logs":"show paths for current session files and logs","submit a bug report":"submit a bug report",Status:"Status",Matilda:"Matilda",Runtime:"Runtime",OS:"OS",Auth:"Auth",Model:"Model","Fast Model":"Fast Model",Sandbox:"Sandbox","Session ID":"Session ID","Base URL":"Base URL",Proxy:"Proxy","Memory Usage":"Memory Usage","IDE Client":"IDE Client","Analyzes the project and creates a tailored MATILDA.md file.":"Analyzes the project and creates a tailored MATILDA.md file.","List available Matilda tools. Usage: /tools [desc]":"List available Matilda tools. Usage: /tools [desc]","Open the skills panel (browse, search, toggle, pick).":"Open the skills panel (browse, search, toggle, pick).","Move this session to a new working directory":"Move this session to a new working directory","Manage Skills":"Manage Skills","Skills configuration saved.":"Skills configuration saved.","Skills configuration saved, but refresh failed: {{error}}. Restart to ensure the new state is applied.":"Skills configuration saved, but refresh failed: {{error}}. Restart to ensure the new state is applied.","Workspace is untrusted; workspace settings are ignored by the merged config. Run /trust first to persist skills changes here, or edit ~/.matilda/settings.json directly to manage skills at user scope.":"Workspace is untrusted; workspace settings are ignored by the merged config. Run /trust first to persist skills changes here, or edit ~/.matilda/settings.json directly to manage skills at user scope.","SkillManager not available.":"SkillManager not available.","Loading skills\u2026":"Loading skills\u2026","Failed to load skills: {{error}}":"Failed to load skills: {{error}}","Failed to save skills configuration: {{error}}":"Failed to save skills configuration: {{error}}","All available skills are disabled. Edit ~/.matilda/settings.json or .matilda/settings.json (skills.disabled) to re-enable.":"All available skills are disabled. Edit ~/.matilda/settings.json or .matilda/settings.json (skills.disabled) to re-enable.","Press esc to close.":"Press esc to close.","{{count}} skills \xB7 ":"{{count}} skills \xB7 ","{{matched}} / {{total}} skills \xB7 ":"{{matched}} / {{total}} skills \xB7 ","Space toggle \xB7 Enter pick (fill input) \xB7 Esc save & exit \xB7 workspace scope":"Space toggle \xB7 Enter pick (fill input) \xB7 Esc save & exit \xB7 workspace scope","Search:":"Search:","type to filter\u2026":"type to filter\u2026","No skills are currently available.":"No skills are currently available.","All available skills are locked at a higher scope (see below).":"All available skills are locked at a higher scope (see below).","No skills match the search.":"No skills match the search.","Locked by higher-scope settings (cannot toggle here):":"Locked by higher-scope settings (cannot toggle here):","higher scope":"higher scope"," {{name}} {{description}} [locked: {{scope}}]":" {{name}} {{description}} [locked: {{scope}}]","\u2191/\u2193 navigate \xB7 backspace edits search":"\u2191/\u2193 navigate \xB7 backspace edits search",Bundled:"Bundled","Available Matilda CLI tools:":"Available Matilda CLI tools:","No tools available":"No tools available","View or change the approval mode for tool usage":"View or change the approval mode for tool usage",'Invalid approval mode "{{arg}}". Valid modes: {{modes}}':'Invalid approval mode "{{arg}}". Valid modes: {{modes}}','Approval mode set to "{{mode}}"':'Approval mode set to "{{mode}}"',"View or change the language setting":"View or change the language setting","List background tasks (text dump \u2014 interactive dialog opens via the footer pill)":"List background tasks (text dump \u2014 interactive dialog opens via the footer pill)","Delete a previous session":"Delete a previous session","Run installation and environment diagnostics":"Run installation and environment diagnostics","Browse dynamic model catalogs and choose which models stay enabled locally":"Browse dynamic model catalogs and choose which models stay enabled locally","One-line yarn of this session":"One-line yarn of this session","Rename the current conversation. --auto lets the fast model pick a title.":"Rename the current conversation. --auto lets the fast model pick a title.","Rewind conversation to a previous turn":"Rewind conversation to a previous turn","Rewind Conversation":"Rewind Conversation","No user turns to rewind to.":"No user turns to rewind to.","Rewind to: ":"Rewind to: ","Restore code and conversation":"Restore code and conversation","Restore conversation only":"Restore conversation only","Restore code only":"Restore code only","Never mind":"Never mind","Computing file changes...":"Computing file changes...","Restoring...":"Restoring...","Restored {{count}} file(s).":"Restored {{count}} file(s).","Failed to restore files: {{error}}":"Failed to restore files: {{error}}","Rewind failed: {{error}}":"Rewind failed: {{error}}","Cannot rewind conversation: no active model client.":"Cannot rewind conversation: no active model client.","Code restored, but conversation could not be rewound (no active client).":"Code restored, but conversation could not be rewound (no active client).","Conversation rewound. Edit your prompt and press Enter to continue.":"Conversation rewound. Edit your prompt and press Enter to continue.","Rewinding does not affect files edited manually or via shell commands.":"Rewinding does not affect files edited manually or via shell commands.","Cannot rewind to a turn that was compressed. Try a more recent turn.":"Cannot rewind to a turn that was compressed. Try a more recent turn.","File restore is unavailable for this turn (no captured file changes, or this turn predates the current session).":"File restore is unavailable for this turn (no captured file changes, or this turn predates the current session).","(+{{insertions}} -{{deletions}} in {{count}} file)":"(+{{insertions}} -{{deletions}} in {{count}} file)","(+{{insertions}} -{{deletions}} in {{count}} files)":"(+{{insertions}} -{{deletions}} in {{count}} files)","Failed to restore {{count}} file(s): {{files}}":"Failed to restore {{count}} file(s): {{files}}","Cannot restore files: this turn was created before file checkpointing was enabled.":"Cannot restore files: this turn was created before file checkpointing was enabled.","No files needed to be restored.":"No files needed to be restored.","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to go back":"\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to go back","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to cancel":"\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to cancel","Enter/Y to confirm \xB7 Esc/N to go back":"Enter/Y to confirm \xB7 Esc/N to go back","pick a Matilda theme (Wattle, Outback, Reef\u2026)":"pick a Matilda theme (Wattle, Outback, Reef\u2026)","Select Theme":"Select Theme",Preview:"Preview","(Use Enter to select, Tab to configure scope)":"(Use Enter to select, Tab to configure scope)","(Use Enter to apply scope, Tab to go back)":"(Use Enter to apply scope, Tab to go back)","Theme configuration unavailable due to NO_COLOR env variable.":"Theme configuration unavailable due to NO_COLOR env variable.",'Theme "{{themeName}}" not found.':'Theme "{{themeName}}" not found.','Theme "{{themeName}}" not found in selected scope.':'Theme "{{themeName}}" not found in selected scope.',"Wipe the slate \u2014 clear history and free context":"Wipe the slate \u2014 clear history and free context","Compresses the context by replacing it with a summary.":"Compresses the context by replacing it with a summary.","Fast context compression without AI. Strips old tool outputs and thinking parts.":"Fast context compression without AI. Strips old tool outputs and thinking parts.","open full Matilda documentation in your browser":"open full Matilda documentation in your browser","Configuration not available.":"Configuration not available.","Connect an LLM provider":"Connect an LLM provider","Copy to clipboard: reply, code (by lang), LaTeX, or Mermaid. N = Nth-latest message, index = block number":"Copy to clipboard: reply, code (by lang), LaTeX, or Mermaid. N = Nth-latest message, index = block number","Show working-tree change stats versus HEAD":"Show working-tree change stats versus HEAD","hop a Matilda Aussie easter egg across the terminal":"hop a Matilda Aussie easter egg across the terminal","Could not determine current working directory.":"Could not determine current working directory.","Failed to compute git diff stats":"Failed to compute git diff stats","No diff available. Either this is not a git repository, HEAD is missing, or a merge/rebase/cherry-pick/revert is in progress.":"No diff available. Either this is not a git repository, HEAD is missing, or a merge/rebase/cherry-pick/revert is in progress.","Clean working tree \u2014 no changes against HEAD.":"Clean working tree \u2014 no changes against HEAD.","{{count}} file changed, +{{added}} / -{{removed}}":"{{count}} file changed, +{{added}} / -{{removed}}","{{count}} files changed, +{{added}} / -{{removed}}":"{{count}} files changed, +{{added}} / -{{removed}}","{{count}} file changed":"{{count}} file changed","{{count}} files changed":"{{count}} files changed","\u2026and {{hidden}} more (showing first {{shown}})":"\u2026and {{hidden}} more (showing first {{shown}})","(binary)":"(binary)","(binary, new)":"(binary, new)","(new)":"(new)","(new, partial)":"(new, partial)","(deleted)":"(deleted)","(binary, deleted)":"(binary, deleted)","Manage subagents for specialized task delegation.":"Manage subagents for specialized task delegation.","Manage existing subagents (view, edit, delete).":"Manage existing subagents (view, edit, delete).","Create a new subagent with guided setup.":"Create a new subagent with guided setup.",Agents:"Agents","Choose Action":"Choose Action","Edit {{name}}":"Edit {{name}}","Edit Tools: {{name}}":"Edit Tools: {{name}}","Edit Color: {{name}}":"Edit Color: {{name}}","Delete {{name}}":"Delete {{name}}","Unknown Step":"Unknown Step","Esc to close":"Esc to close","Enter to select, \u2191\u2193 to navigate, Esc to close":"Enter to select, \u2191\u2193 to navigate, Esc to close","Esc to go back":"Esc to go back","Enter to confirm, Esc to cancel":"Enter to confirm, Esc to cancel","Enter to select, \u2191\u2193 to navigate, Esc to go back":"Enter to select, \u2191\u2193 to navigate, Esc to go back","Enter to submit, Esc to go back":"Enter to submit, Esc to go back","Invalid step: {{step}}":"Invalid step: {{step}}","No subagents found.":"No subagents found.","Use '/agents create' to create your first subagent.":"Use '/agents create' to create your first subagent.","(built-in)":"(built-in)","(overridden by project level agent)":"(overridden by project level agent)","Project Level ({{path}})":"Project Level ({{path}})","User Level ({{path}})":"User Level ({{path}})","Built-in Agents":"Built-in Agents","Extension Agents":"Extension Agents","Using: {{count}} agents":"Using: {{count}} agents","View Agent":"View Agent","Edit Agent":"Edit Agent","Delete Agent":"Delete Agent",Back:"Back","No agent selected":"No agent selected","File Path: ":"File Path: ","Tools: ":"Tools: ","Color: ":"Color: ","Description:":"Description:","System Prompt:":"System Prompt:","Open in editor":"Open in editor","Edit tools":"Edit tools","Edit color":"Edit color","\u274C Error:":"\u274C Error:",'Are you sure you want to delete agent "{{name}}"?':'Are you sure you want to delete agent "{{name}}"?',"Project Level (.matilda/agents/)":"Project Level (.matilda/agents/)","User Level (~/.matilda/agents/)":"User Level (~/.matilda/agents/)","\u2705 Subagent Created Successfully!":"\u2705 Subagent Created Successfully!",'Subagent "{{name}}" has been saved to {{level}} level.':'Subagent "{{name}}" has been saved to {{level}} level.',"Name: ":"Name: ","Location: ":"Location: ","\u274C Error saving subagent:":"\u274C Error saving subagent:","Warnings:":"Warnings:",'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent':'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent','Name "{{name}}" exists at user level - project level will take precedence':'Name "{{name}}" exists at user level - project level will take precedence','Name "{{name}}" exists at project level - existing subagent will take precedence':'Name "{{name}}" exists at project level - existing subagent will take precedence',"Description is over {{length}} characters":"Description is over {{length}} characters","System prompt is over {{length}} characters":"System prompt is over {{length}} characters","Step {{n}}: Choose Location":"Step {{n}}: Choose Location","Step {{n}}: Choose Generation Method":"Step {{n}}: Choose Generation Method","Generate with Matilda (Recommended)":"Generate with Matilda (Recommended)","Manual Creation":"Manual Creation","Describe what this subagent should do and when it should be used. (Be comprehensive for best results)":"Describe what this subagent should do and when it should be used. (Be comprehensive for best results)","e.g., Expert code reviewer that reviews code based on best practices...":"e.g., Expert code reviewer that reviews code based on best practices...","Generating subagent configuration...":"Generating subagent configuration...","Failed to generate subagent: {{error}}":"Failed to generate subagent: {{error}}","Step {{n}}: Describe Your Subagent":"Step {{n}}: Describe Your Subagent","Step {{n}}: Enter Subagent Name":"Step {{n}}: Enter Subagent Name","Step {{n}}: Enter System Prompt":"Step {{n}}: Enter System Prompt","Step {{n}}: Enter Description":"Step {{n}}: Enter Description","Step {{n}}: Select Tools":"Step {{n}}: Select Tools","All Tools (Default)":"All Tools (Default)","All Tools":"All Tools","Read-only Tools":"Read-only Tools","Read & Edit Tools":"Read & Edit Tools","Read & Edit & Execution Tools":"Read & Edit & Execution Tools","All tools selected, including MCP tools":"All tools selected, including MCP tools","Selected tools:":"Selected tools:","Read-only tools:":"Read-only tools:","Edit tools:":"Edit tools:","Execution tools:":"Execution tools:","Step {{n}}: Choose Background Color":"Step {{n}}: Choose Background Color","Step {{n}}: Confirm and Save":"Step {{n}}: Confirm and Save","Esc to cancel":"Esc to cancel","Press Enter to save, e to save and edit, Esc to go back":"Press Enter to save, e to save and edit, Esc to go back","Press Enter to continue, {{navigation}}Esc to {{action}}":"Press Enter to continue, {{navigation}}Esc to {{action}}",cancel:"cancel","go back":"go back","\u2191\u2193 to navigate, ":"\u2191\u2193 to navigate, ","Enter a clear, unique name for this subagent.":"Enter a clear, unique name for this subagent.","e.g., Code Reviewer":"e.g., Code Reviewer","Name cannot be empty.":"Name cannot be empty.","Write the system prompt that defines this subagent's behavior. Be comprehensive for best results.":"Write the system prompt that defines this subagent's behavior. Be comprehensive for best results.","e.g., You are an expert code reviewer...":"e.g., You are an expert code reviewer...","System prompt cannot be empty.":"System prompt cannot be empty.","Describe when and how this subagent should be used.":"Describe when and how this subagent should be used.","e.g., Reviews code for best practices and potential bugs.":"e.g., Reviews code for best practices and potential bugs.","Description cannot be empty.":"Description cannot be empty.","Failed to launch editor: {{error}}":"Failed to launch editor: {{error}}","Failed to save and edit subagent: {{error}}":"Failed to save and edit subagent: {{error}}","Manage Extensions":"Manage Extensions","Extension Details":"Extension Details","View Extension":"View Extension","Update Extension":"Update Extension","Disable Extension":"Disable Extension","Enable Extension":"Enable Extension","Uninstall Extension":"Uninstall Extension","Select Scope":"Select Scope","User Scope":"User Scope","Workspace Scope":"Workspace Scope","No extensions found.":"No extensions found.","Updating...":"Updating...",Unknown:"Unknown",Error:"Error","Stopped because":"Stopped because","Version:":"Version:","Status:":"Status:",'Are you sure you want to uninstall extension "{{name}}"?':'Are you sure you want to uninstall extension "{{name}}"?',"This action cannot be undone.":"This action cannot be undone.",'Extension "{{name}}" updated successfully.':'Extension "{{name}}" updated successfully.',"Name:":"Name:","MCP Servers:":"MCP Servers:","Settings:":"Settings:",active:"active",disabled:"disabled",enabled:"enabled","View Details":"View Details","Update failed:":"Update failed:","Updating {{name}}...":"Updating {{name}}...","Update complete!":"Update complete!","User (global)":"User (global)","Workspace (project-specific)":"Workspace (project-specific)",'Disable "{{name}}" - Select Scope':'Disable "{{name}}" - Select Scope','Enable "{{name}}" - Select Scope':'Enable "{{name}}" - Select Scope',"No extension selected":"No extension selected","{{count}} extensions installed":"{{count}} extensions installed","Use '/extensions install' to install your first extension.":"Use '/extensions install' to install your first extension.","up to date":"up to date","update available":"update available","checking...":"checking...","not updatable":"not updatable",error:"error","View and edit Matilda settings":"View and edit Matilda settings",Settings:"Settings","To see changes, Matilda must be restarted. Press r to exit and apply changes now.":"To see changes, Matilda must be restarted. Press r to exit and apply changes now.","Vim Mode":"Vim Mode","Attribution: commit":"Attribution: commit","Terminal Bell Notification":"Terminal Bell Notification","Enable Usage Statistics":"Enable Usage Statistics",Theme:"Theme","Preferred Editor":"Preferred Editor","Auto-connect to IDE":"Auto-connect to IDE","Debug Keystroke Logging":"Debug Keystroke Logging","Language: UI":"Language: UI","Language: Model":"Language: Model","Output Format":"Output Format","Hide Window Title":"Hide Window Title","Show Status in Title":"Show Status in Title","Hide Tips":"Hide Tips","Show Line Numbers in Code":"Show Line Numbers in Code","Show Citations":"Show Citations","Custom Witty Phrases":"Custom Witty Phrases","Show Welcome Back Dialog":"Show Welcome Back Dialog","Enable User Feedback":"Enable User Feedback","How is Matilda doing this session? (optional)":"How is Matilda doing this session? (optional)",Bad:"Bad",Fine:"Fine",Good:"Good",Dismiss:"Dismiss","Screen Reader Mode":"Screen Reader Mode","Max Session Turns":"Max Session Turns","Skip Next Speaker Check":"Skip Next Speaker Check","Skip Loop Detection":"Skip Loop Detection","Skip Startup Context":"Skip Startup Context","Enable OpenAI Logging":"Enable OpenAI Logging","OpenAI Logging Directory":"OpenAI Logging Directory",Timeout:"Timeout","Max Retries":"Max Retries","Load Memory From Include Directories":"Load Memory From Include Directories","Respect .gitignore":"Respect .gitignore","Respect .matildaignore":"Respect .matildaignore","Enable Recursive File Search":"Enable Recursive File Search","Interactive Shell (PTY)":"Interactive Shell (PTY)","Show Color":"Show Color","Auto Accept":"Auto Accept","Use Ripgrep":"Use Ripgrep","Use Builtin Ripgrep":"Use Builtin Ripgrep","Tool Output Truncation Threshold":"Tool Output Truncation Threshold","Tool Output Truncation Lines":"Tool Output Truncation Lines","Folder Trust":"Folder Trust","Tool Schema Compliance":"Tool Schema Compliance","Auto (detect from system)":"Auto (detect from system)","Auto (detect terminal theme)":"Auto (detect terminal theme)",Auto:"Auto",Text:"Text",JSON:"JSON",Plan:"Plan","Ask permissions":"Ask permissions","Auto Edit":"Auto Edit",BOGAN:"BOGAN","toggle vim mode on/off":"toggle vim mode on/off","Show usage statistics dashboard.":"Show usage statistics dashboard.","Show model-specific usage statistics.":"Show model-specific usage statistics.","Show tool-specific usage statistics.":"Show tool-specific usage statistics.","pack it up \u2014 exit the CLI":"pack it up \u2014 exit the CLI","Manage workspace directories":"Manage workspace directories","Add directories to the workspace. Use comma to separate multiple paths":"Add directories to the workspace. Use comma to separate multiple paths","Show all directories in the workspace":"Show all directories in the workspace","set external editor preference":"set external editor preference","Select Editor":"Select Editor","Editor Preference":"Editor Preference","These editors are currently supported. Please note that some editors cannot be used in sandbox mode.":"These editors are currently supported. Please note that some editors cannot be used in sandbox mode.","Your preferred editor is:":"Your preferred editor is:","Manage extensions":"Manage extensions","Manage installed extensions":"Manage installed extensions","Disable an extension":"Disable an extension","Enable an extension":"Enable an extension","Install an extension from a git repo or local path":"Install an extension from a git repo or local path","Uninstall an extension":"Uninstall an extension","No extensions installed.":"No extensions installed.",'Extension "{{name}}" not found.':'Extension "{{name}}" not found.',"No extensions to update.":"No extensions to update.","Usage: /extensions install <source>":"Usage: /extensions install <source>",'Installing extension from "{{source}}"...':'Installing extension from "{{source}}"...','Extension "{{name}}" installed successfully.':'Extension "{{name}}" installed successfully.','Failed to install extension from "{{source}}": {{error}}':'Failed to install extension from "{{source}}": {{error}}',"Do you want to continue? [Y/n]: ":"Do you want to continue? [Y/n]: ","Do you want to continue?":"Do you want to continue?",'Installing extension "{{name}}".':'Installing extension "{{name}}".',"**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**":"**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**","This extension will run the following MCP servers:":"This extension will run the following MCP servers:",local:"local",remote:"remote","This extension will add the following commands: {{commands}}.":"This extension will add the following commands: {{commands}}.","This extension will append info to your MATILDA.md context using {{fileName}}":"This extension will append info to your MATILDA.md context using {{fileName}}","This extension will install the following skills:":"This extension will install the following skills:","This extension will install the following subagents:":"This extension will install the following subagents:",'Installation cancelled for "{{name}}".':'Installation cancelled for "{{name}}".',"You are installing an extension from {{originSource}}. Some features may not work perfectly with Matilda.":"You are installing an extension from {{originSource}}. Some features may not work perfectly with Matilda.","--ref and --auto-update are not applicable for marketplace extensions.":"--ref and --auto-update are not applicable for marketplace extensions.",'Extension "{{name}}" installed successfully and enabled.':'Extension "{{name}}" installed successfully and enabled.',"The github URL, local path, or marketplace source (marketplace-url:plugin-name) of the extension to install.":"The github URL, local path, or marketplace source (marketplace-url:plugin-name) of the extension to install.","The git ref to install from.":"The git ref to install from.","Enable auto-update for this extension.":"Enable auto-update for this extension.","Enable pre-release versions for this extension.":"Enable pre-release versions for this extension.","Acknowledge the security risks of installing an extension and skip the confirmation prompt.":"Acknowledge the security risks of installing an extension and skip the confirmation prompt.","The source argument must be provided.":"The source argument must be provided.",'Extension "{{name}}" successfully uninstalled.':'Extension "{{name}}" successfully uninstalled.',"Uninstalls an extension.":"Uninstalls an extension.","The name or source path of the extension to uninstall.":"The name or source path of the extension to uninstall.","Please include the name of the extension to uninstall as a positional argument.":"Please include the name of the extension to uninstall as a positional argument.","Enables an extension.":"Enables an extension.","The name of the extension to enable.":"The name of the extension to enable.","The scope to enable the extenison in. If not set, will be enabled in all scopes.":"The scope to enable the extenison in. If not set, will be enabled in all scopes.",'Extension "{{name}}" successfully enabled for scope "{{scope}}".':'Extension "{{name}}" successfully enabled for scope "{{scope}}".','Extension "{{name}}" successfully enabled in all scopes.':'Extension "{{name}}" successfully enabled in all scopes.',"Invalid scope: {{scope}}. Please use one of {{scopes}}.":"Invalid scope: {{scope}}. Please use one of {{scopes}}.","Disables an extension.":"Disables an extension.","The name of the extension to disable.":"The name of the extension to disable.","The scope to disable the extenison in.":"The scope to disable the extenison in.",'Extension "{{name}}" successfully disabled for scope "{{scope}}".':'Extension "{{name}}" successfully disabled for scope "{{scope}}".','Extension "{{name}}" successfully updated: {{oldVersion}} \u2192 {{newVersion}}.':'Extension "{{name}}" successfully updated: {{oldVersion}} \u2192 {{newVersion}}.','Unable to install extension "{{name}}" due to missing install metadata':'Unable to install extension "{{name}}" due to missing install metadata','Extension "{{name}}" is already up to date.':'Extension "{{name}}" is already up to date.',"Updates all extensions or a named extension to the latest version.":"Updates all extensions or a named extension to the latest version.","Update all extensions.":"Update all extensions.","The name of the extension to update.":"The name of the extension to update.","Either an extension name or --all must be provided":"Either an extension name or --all must be provided","List installed extensions":"List installed extensions","Lists installed extensions.":"Lists installed extensions.","Path:":"Path:","Source:":"Source:","Type:":"Type:","Ref:":"Ref:","Release tag:":"Release tag:","Enabled (User):":"Enabled (User):","Enabled (Workspace):":"Enabled (Workspace):","Context files:":"Context files:","Skills:":"Skills:","Agents:":"Agents:","MCP servers:":"MCP servers:","Link extension failed to install.":"Link extension failed to install.",'Extension "{{name}}" linked successfully and enabled.':'Extension "{{name}}" linked successfully and enabled.',"Links an extension from a local path. Updates made to the local path will always be reflected.":"Links an extension from a local path. Updates made to the local path will always be reflected.","The name of the extension to link.":"The name of the extension to link.","Set a specific setting for an extension.":"Set a specific setting for an extension.","Name of the extension to configure.":"Name of the extension to configure.","The setting to configure (name or env var).":"The setting to configure (name or env var).","The scope to set the setting in.":"The scope to set the setting in.","List all settings for an extension.":"List all settings for an extension.","Name of the extension.":"Name of the extension.",'Extension "{{name}}" has no settings to configure.':'Extension "{{name}}" has no settings to configure.','Settings for "{{name}}":':'Settings for "{{name}}":',"(workspace)":"(workspace)","(user)":"(user)","[not set]":"[not set]","[value stored in keychain]":"[value stored in keychain]","Value:":"Value:","Manage extension settings":"Manage extension settings","Manage extension settings.":"Manage extension settings.","You need to specify a command (set or list).":"You need to specify a command (set or list).","No plugins available in this marketplace.":"No plugins available in this marketplace.",'Select a plugin to install from marketplace "{{name}}":':'Select a plugin to install from marketplace "{{name}}":',"Plugin selection cancelled.":"Plugin selection cancelled.",'Select a plugin from "{{name}}"':'Select a plugin from "{{name}}"',"Use \u2191\u2193 or j/k to navigate, Enter to select, Escape to cancel":"Use \u2191\u2193 or j/k to navigate, Enter to select, Escape to cancel","{{count}} more above":"{{count}} more above","{{count}} more below":"{{count}} more below","manage IDE integration":"manage IDE integration","check status of IDE integration":"check status of IDE integration","install required IDE companion for {{ideName}}":"install required IDE companion for {{ideName}}","enable IDE integration":"enable IDE integration","disable IDE integration":"disable IDE integration","IDE integration is not supported in your current environment. To use this feature, run Matilda in one of these supported IDEs: VS Code or VS Code forks.":"IDE integration is not supported in your current environment. To use this feature, run Matilda in one of these supported IDEs: VS Code or VS Code forks.","Set up GitHub Actions":"Set up GitHub Actions","Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf, Trae)":"Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf, Trae)","Please restart your terminal for the changes to take effect.":"Please restart your terminal for the changes to take effect.","Failed to configure terminal: {{error}}":"Failed to configure terminal: {{error}}","Could not determine {{terminalName}} config path on Windows: APPDATA environment variable is not set.":"Could not determine {{terminalName}} config path on Windows: APPDATA environment variable is not set.","{{terminalName}} keybindings.json exists but is not a valid JSON array. Please fix the file manually or delete it to allow automatic configuration.":"{{terminalName}} keybindings.json exists but is not a valid JSON array. Please fix the file manually or delete it to allow automatic configuration.","File: {{file}}":"File: {{file}}","Failed to parse {{terminalName}} keybindings.json. The file contains invalid JSON. Please fix the file manually or delete it to allow automatic configuration.":"Failed to parse {{terminalName}} keybindings.json. The file contains invalid JSON. Please fix the file manually or delete it to allow automatic configuration.","Error: {{error}}":"Error: {{error}}","Shift+Enter binding already exists":"Shift+Enter binding already exists","Ctrl+Enter binding already exists":"Ctrl+Enter binding already exists","Existing keybindings detected. Will not modify to avoid conflicts.":"Existing keybindings detected. Will not modify to avoid conflicts.","Please check and modify manually if needed: {{file}}":"Please check and modify manually if needed: {{file}}","Added Shift+Enter and Ctrl+Enter keybindings to {{terminalName}}.":"Added Shift+Enter and Ctrl+Enter keybindings to {{terminalName}}.","Modified: {{file}}":"Modified: {{file}}","{{terminalName}} keybindings already configured.":"{{terminalName}} keybindings already configured.","Failed to configure {{terminalName}}.":"Failed to configure {{terminalName}}.","Your terminal is already configured for an optimal experience with multiline input (Shift+Enter and Ctrl+Enter).":"Your terminal is already configured for an optimal experience with multiline input (Shift+Enter and Ctrl+Enter).","Manage Matilda hooks":"Manage Matilda hooks","List all configured hooks":"List all configured hooks",Hooks:"Hooks","Loading hooks...":"Loading hooks...","Error loading hooks:":"Error loading hooks:","Press Escape to close":"Press Escape to close","Press Escape, Ctrl+C, or Ctrl+D to cancel":"Press Escape, Ctrl+C, or Ctrl+D to cancel","Press Space, Enter, or Escape to dismiss":"Press Space, Enter, or Escape to dismiss","No hook selected":"No hook selected","No hook events found.":"No hook events found.","{{count}} hook configured":"{{count}} hook configured","{{count}} hooks configured":"{{count}} hooks configured","This menu is read-only. To add or modify hooks, edit settings.json directly or ask Matilda.":"This menu is read-only. To add or modify hooks, edit settings.json directly or ask Matilda.","Enter to select \xB7 Esc to cancel":"Enter to select \xB7 Esc to cancel","Exit codes:":"Exit codes:","Configured hooks:":"Configured hooks:","No hooks configured for this event.":"No hooks configured for this event.","To add hooks, edit settings.json directly or ask Matilda.":"To add hooks, edit settings.json directly or ask Matilda.","Enter to select \xB7 Esc to go back":"Enter to select \xB7 Esc to go back","Hook details":"Hook details","Event:":"Event:","Extension:":"Extension:","Desc:":"Desc:","No hook config selected":"No hook config selected","To modify or remove this hook, edit settings.json directly or ask Matilda to help.":"To modify or remove this hook, edit settings.json directly or ask Matilda to help.","Hook Configuration - Disabled":"Hook Configuration - Disabled","All hooks are currently disabled. You have {{count}} that are not running.":"All hooks are currently disabled. You have {{count}} that are not running.","{{count}} configured hook":"{{count}} configured hook","{{count}} configured hooks":"{{count}} configured hooks","When hooks are disabled:":"When hooks are disabled:","No hook commands will execute":"No hook commands will execute","StatusLine will not be displayed":"StatusLine will not be displayed","Tool operations will proceed without hook validation":"Tool operations will proceed without hook validation",'To re-enable hooks, remove "disableAllHooks" from settings.json or ask Matilda.':'To re-enable hooks, remove "disableAllHooks" from settings.json or ask Matilda.',Project:"Project",User:"User",Skill:"Skill",System:"System",Extension:"Extension","Local Settings":"Local Settings","User Settings":"User Settings","System Settings":"System Settings",Extensions:"Extensions","Session (temporary)":"Session (temporary)","Before tool execution":"Before tool execution","After tool execution":"After tool execution","After tool execution fails":"After tool execution fails","When notifications are sent":"When notifications are sent","When the user submits a prompt":"When the user submits a prompt","When a slash command expands into a prompt":"When a slash command expands into a prompt","When a new session is started":"When a new session is started","Right before Matilda concludes its response":"Right before Matilda concludes its response","When a subagent (Agent tool call) is started":"When a subagent (Agent tool call) is started","Right before a subagent concludes its response":"Right before a subagent concludes its response","Before conversation compaction":"Before conversation compaction","When a session is ending":"When a session is ending","When a permission dialog is displayed":"When a permission dialog is displayed","When a new todo item is created":"When a new todo item is created","When a todo item is marked as completed":"When a todo item is marked as completed","Input to command is JSON of tool call arguments.":"Input to command is JSON of tool call arguments.",'Input to command is JSON with fields "inputs" (tool call arguments) and "response" (tool call response).':'Input to command is JSON with fields "inputs" (tool call arguments) and "response" (tool call response).',"Input to command is JSON with tool_name, tool_input, tool_use_id, error, error_type, is_interrupt, and is_timeout.":"Input to command is JSON with tool_name, tool_input, tool_use_id, error, error_type, is_interrupt, and is_timeout.","Input to command is JSON with notification message and type.":"Input to command is JSON with notification message and type.","Input to command is JSON with original user prompt text.":"Input to command is JSON with original user prompt text.","Input to command is JSON with command_name, command_args, and expanded prompt text.":"Input to command is JSON with command_name, command_args, and expanded prompt text.","Input to command is JSON with session start source.":"Input to command is JSON with session start source.","Input to command is JSON with session end reason.":"Input to command is JSON with session end reason.","Input to command is JSON with agent_id and agent_type.":"Input to command is JSON with agent_id and agent_type.","Input to command is JSON with agent_id, agent_type, and agent_transcript_path.":"Input to command is JSON with agent_id, agent_type, and agent_transcript_path.","Input to command is JSON with compaction details.":"Input to command is JSON with compaction details.","Input to command is JSON with tool_name, tool_input, and tool_use_id. Output JSON with hookSpecificOutput containing decision to allow or deny.":"Input to command is JSON with tool_name, tool_input, and tool_use_id. Output JSON with hookSpecificOutput containing decision to allow or deny.","Input to command is JSON with todo_id, todo_content, todo_status, all_todos, and phase. In validation, output JSON with decision (allow/block/deny) and reason. In postWrite, block/deny is ignored.":"Input to command is JSON with todo_id, todo_content, todo_status, all_todos, and phase. In validation, output JSON with decision (allow/block/deny) and reason. In postWrite, block/deny is ignored.","Input to command is JSON with todo_id, todo_content, previous_status, all_todos, and phase. In validation, output JSON with decision (allow/block/deny) and reason. In postWrite, block/deny is ignored.":"Input to command is JSON with todo_id, todo_content, previous_status, all_todos, and phase. In validation, output JSON with decision (allow/block/deny) and reason. In postWrite, block/deny is ignored.","stdout/stderr not shown":"stdout/stderr not shown","show stderr to model and continue conversation":"show stderr to model and continue conversation","show stderr to user only":"show stderr to user only","stdout shown in transcript mode (ctrl+o)":"stdout shown in transcript mode (ctrl+o)","show stderr to model immediately":"show stderr to model immediately","show stderr to user only but continue with tool call":"show stderr to user only but continue with tool call","block processing, erase original prompt, and show stderr to user only":"block processing, erase original prompt, and show stderr to user only","block expanded prompt submission and show stderr to user only":"block expanded prompt submission and show stderr to user only","stdout shown to Matilda":"stdout shown to Matilda","show stderr to user only (blocking errors ignored)":"show stderr to user only (blocking errors ignored)","command completes successfully":"command completes successfully","stdout shown to subagent":"stdout shown to subagent","show stderr to subagent and continue having it run":"show stderr to subagent and continue having it run","stdout appended as custom compact instructions":"stdout appended as custom compact instructions","block compaction":"block compaction","show stderr to user only but continue with compaction":"show stderr to user only but continue with compaction","use hook decision if provided":"use hook decision if provided","allow todo creation":"allow todo creation","block todo creation and show reason to model":"block todo creation and show reason to model","allow todo completion":"allow todo completion","block todo completion and show reason to model":"block todo completion and show reason to model","Config not loaded.":"Config not loaded.","Hooks are not enabled. Enable hooks in settings to use this feature.":"Hooks are not enabled. Enable hooks in settings to use this feature.","Export current session message history to a file":"Export current session message history to a file","Export session to HTML format":"Export session to HTML format","Export session to JSON format":"Export session to JSON format","Export session to JSONL format (one message per line)":"Export session to JSONL format (one message per line)","Export session to markdown format":"Export session to markdown format","generate personalized programming insights from your chat history":"generate personalized programming insights from your chat history","Resume a previous session":"Resume a previous session","Fork the current conversation into a new session":"Fork the current conversation into a new session","Spawn a background agent that inherits the full conversation":"Spawn a background agent that inherits the full conversation","Please provide a directive. Usage: /fork <directive>":"Please provide a directive. Usage: /fork <directive>","Cannot fork while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.":"Cannot fork while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.","Cannot fork before the first conversation turn.":"Cannot fork before the first conversation turn.","The agent tool is unavailable; cannot fork.":"The agent tool is unavailable; cannot fork.","Failed to launch fork: {{error}}":"Failed to launch fork: {{error}}","the background agent could not be started.":"the background agent could not be started.","User launched a background fork via /fork: {{directive}}":"User launched a background fork via /fork: {{directive}}","Forked into a background agent. It inherits this conversation and runs without blocking \u2014 track it in the background tasks panel; it reports back when done.":"Forked into a background agent. It inherits this conversation and runs without blocking \u2014 track it in the background tasks panel; it reports back when done.","Cannot branch while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.":"Cannot branch while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.","No conversation to branch.":"No conversation to branch.","Restore a tool call. This will reset the conversation and file history to the state it was in when the tool call was suggested":"Restore a tool call. This will reset the conversation and file history to the state it was in when the tool call was suggested","Could not detect terminal type. Supported terminals: VS Code, Cursor, Windsurf, and Trae.":"Could not detect terminal type. Supported terminals: VS Code, Cursor, Windsurf, and Trae.",'Terminal "{{terminal}}" is not supported yet.':'Terminal "{{terminal}}" is not supported yet.',"Invalid language. Available: {{options}}":"Invalid language. Available: {{options}}","Language subcommands do not accept additional arguments.":"Language subcommands do not accept additional arguments.","Current UI language: {{lang}}":"Current UI language: {{lang}}","Current LLM output language: {{lang}}":"Current LLM output language: {{lang}}","Set UI language":"Set UI language","Set LLM output language":"Set LLM output language","Usage: /language ui [{{options}}]":"Usage: /language ui [{{options}}]","Usage: /language output <language>":"Usage: /language output <language>","Example: /language output \u4E2D\u6587":"Example: /language output \u4E2D\u6587","Example: /language output English":"Example: /language output English","Example: /language output \u65E5\u672C\u8A9E":"Example: /language output \u65E5\u672C\u8A9E","UI language changed to {{lang}}":"UI language changed to {{lang}}","LLM output language set to {{lang}}":"LLM output language set to {{lang}}","Please restart the application for the changes to take effect.":"Please restart the application for the changes to take effect.","Failed to generate LLM output language rule file: {{error}}":"Failed to generate LLM output language rule file: {{error}}","Invalid command. Available subcommands:":"Invalid command. Available subcommands:","Available subcommands:":"Available subcommands:","To request additional UI language packs, please open an issue on GitHub.":"To request additional UI language packs, please open an issue on GitHub.","Available options:":"Available options:","Set UI language to {{name}}":"Set UI language to {{name}}","Tool Approval Mode":"Tool Approval Mode","Analyze only, do not modify files or execute commands":"Analyze only, do not modify files or execute commands","Require approval for file edits or shell commands":"Require approval for file edits or shell commands","Automatically approve file edits":"Automatically approve file edits","Use classifier to automatically approve safe tool calls":"Use classifier to automatically approve safe tool calls","BOGAN \u2014 approve every tool call with no prompts (you are on your own)":"BOGAN \u2014 approve every tool call with no prompts (you are on your own)","Workspace approval mode exists and takes priority. User-level change will have no effect.":"Workspace approval mode exists and takes priority. User-level change will have no effect.","Apply To":"Apply To","Workspace Settings":"Workspace Settings","Open auto-memory folder":"Open auto-memory folder","Auto-memory: {{status}}":"Auto-memory: {{status}}","Auto-dream: {{status}} \xB7 {{lastDream}} \xB7 /dream to run":"Auto-dream: {{status}} \xB7 {{lastDream}} \xB7 /dream to run","Auto-skill: {{status}}":"Auto-skill: {{status}}",never:"never",on:"on",off:"off","Remove matching entries from managed auto-memory.":"Remove matching entries from managed auto-memory.","Usage: /forget <memory text to remove>":"Usage: /forget <memory text to remove>","No managed auto-memory entries matched: {{query}}":"No managed auto-memory entries matched: {{query}}","Let auto-memory settle \u2014 consolidate topic files.":"Let auto-memory settle \u2014 consolidate topic files.","Import MCP servers from Claude configs":"Import MCP servers from Claude configs","Open MCP management dialog":"Open MCP management dialog","Could not retrieve tool registry.":"Could not retrieve tool registry.","Successfully authenticated and refreshed tools for '{{name}}'.":"Successfully authenticated and refreshed tools for '{{name}}'.","Re-discovering tools from '{{name}}'...":"Re-discovering tools from '{{name}}'...","Discovered {{count}} tool(s) from '{{name}}'.":"Discovered {{count}} tool(s) from '{{name}}'.","Authentication complete. Returning to server details...":"Authentication complete. Returning to server details...","Authentication successful.":"Authentication successful.","Manage MCP servers":"Manage MCP servers","Server Detail":"Server Detail",Tools:"Tools","Tool Detail":"Tool Detail","Loading...":"Loading...","Unknown step":"Unknown step","Esc to back":"Esc to back","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to close":"\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to close","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to back":"\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to back","\u2191\u2193 to navigate \xB7 Enter to confirm \xB7 Esc to back":"\u2191\u2193 to navigate \xB7 Enter to confirm \xB7 Esc to back","User Settings (global)":"User Settings (global)","Workspace Settings (project-specific)":"Workspace Settings (project-specific)","Disable server:":"Disable server:","Select where to add the server to the exclude list:":"Select where to add the server to the exclude list:","Press Enter to confirm, Esc to cancel":"Press Enter to confirm, Esc to cancel","View tools":"View tools",Reconnect:"Reconnect",Enable:"Enable",Disable:"Disable",Authenticate:"Authenticate","Re-authenticate":"Re-authenticate","Clear Authentication":"Clear Authentication","Server:":"Server:","Command:":"Command:","Working Directory:":"Working Directory:","No server selected":"No server selected",prompts:"prompts","Error:":"Error:",tool:"tool",tools:"tools",connected:"connected",connecting:"connecting",disconnected:"disconnected","User MCPs":"User MCPs","Project MCPs":"Project MCPs","Extension MCPs":"Extension MCPs",server:"server",servers:"servers","Add MCP servers to your settings to get started.":"Add MCP servers to your settings to get started.","Run matilda --debug to see error logs":"Run matilda --debug to see error logs","OAuth Authentication":"OAuth Authentication","Authenticating... Please complete the login in your browser.":"Authenticating... Please complete the login in your browser.","Press c to copy the authorization URL to your clipboard.":"Press c to copy the authorization URL to your clipboard.","Copy request sent to your terminal. If paste is empty, copy the URL above manually.":"Copy request sent to your terminal. If paste is empty, copy the URL above manually.","Cannot write to terminal \u2014 copy the URL above manually.":"Cannot write to terminal \u2014 copy the URL above manually.","No tools available for this server.":"No tools available for this server.",destructive:"destructive","read-only":"read-only","open-world":"open-world",idempotent:"idempotent","Tools for {{serverName}}":"Tools for {{serverName}}","{{current}}/{{total}}":"{{current}}/{{total}}",required:"required",Parameters:"Parameters","No tool selected":"No tool selected",Server:"Server","{{count}} invalid tools":"{{count}} invalid tools",invalid:"invalid","invalid: {{reason}}":"invalid: {{reason}}","missing name":"missing name","missing description":"missing description","(unnamed)":"(unnamed)","Warning: This tool cannot be called by the LLM":"Warning: This tool cannot be called by the LLM",Reason:"Reason","Tools must have both name and description to be used by the LLM.":"Tools must have both name and description to be used by the LLM.","Generate a project summary and save it to .matilda/PROJECT_SUMMARY.md":"Generate a project summary and save it to .matilda/PROJECT_SUMMARY.md","No chat client available to generate summary.":"No chat client available to generate summary.","Already generating summary, wait for previous request to complete":"Already generating summary, wait for previous request to complete","No conversation found to summarize.":"No conversation found to summarize.","Failed to generate project context summary: {{error}}":"Failed to generate project context summary: {{error}}","Saved project summary to {{filePathForDisplay}}.":"Saved project summary to {{filePathForDisplay}}.","Saving project summary...":"Saving project summary...","Generating project summary...":"Generating project summary...","Processing summary...":"Processing summary...","Project summary generated and saved successfully!":"Project summary generated and saved successfully!","Saved to: {{filePath}}":"Saved to: {{filePath}}","Failed to generate summary - no text content received from LLM response":"Failed to generate summary - no text content received from LLM response","Switch the model for this session (--fast for suggestion model, [model-id] to switch immediately).":"Switch the model for this session (--fast for suggestion model, [model-id] to switch immediately).","Set a lighter model for prompt suggestions and speculative execution":"Set a lighter model for prompt suggestions and speculative execution","Content generator configuration not available.":"Content generator configuration not available.","Authentication type not available.":"Authentication type not available.","No models available for the current authentication type ({{authType}}).":"No models available for the current authentication type ({{authType}})."," (not in model registry)":" (not in model registry)","Starting a new session, resetting chat, and clearing terminal.":"Starting a new session, resetting chat, and clearing terminal.","Starting a new session and clearing.":"Starting a new session and clearing.","Already compressing, wait for previous request to complete":"Already compressing, wait for previous request to complete","Failed to compress chat history.":"Failed to compress chat history.","Failed to compress chat history: {{error}}":"Failed to compress chat history: {{error}}","Compressing chat history":"Compressing chat history","Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.":"Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.","Compression was not beneficial for this history size.":"Compression was not beneficial for this history size.","Chat history compression did not reduce size. This may indicate issues with the compression prompt.":"Chat history compression did not reduce size. This may indicate issues with the compression prompt.","Could not compress chat history due to a token counting error.":"Could not compress chat history due to a token counting error.","Could not compress chat history \u2014 the summarizer timed out or failed. Try again, or continue chatting (auto-compact will retry).":"Could not compress chat history \u2014 the summarizer timed out or failed. Try again, or continue chatting (auto-compact will retry).","Could not compress chat history \u2014 the summarizer returned an empty summary. Try again.":"Could not compress chat history \u2014 the summarizer returned an empty summary. Try again.","Could not compress chat history \u2014 the summary hit the output length cap. Try again later or start a new session.":"Could not compress chat history \u2014 the summary hit the output length cap. Try again later or start a new session.","Configuration is not available.":"Configuration is not available.","Please provide at least one path to add.":"Please provide at least one path to add.","The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.":"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.","Error adding '{{path}}': {{error}}":"Error adding '{{path}}': {{error}}","Successfully added MATILDA.md files from the following directories if there are:\n- {{directories}}":`Successfully added MATILDA.md files from the following directories if there are:
4
4
  - {{directories}}`,"Error refreshing memory: {{error}}":"Error refreshing memory: {{error}}","Successfully added directories:\n- {{directories}}":`Successfully added directories:
5
5
  - {{directories}}`,"Current workspace directories:\n{{directories}}":`Current workspace directories:
6
6
  {{directories}}`,"Please open the following URL in your browser to view the documentation:\n{{url}}":`Please open the following URL in your browser to view the documentation:
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{ej as T,kf as W,sf as s}from"./chunk-J56KRT6Z.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-T75X5DJI.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as $,i as E,p as m,q as R}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{Y as b}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as y}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";y();var o=b("ENTER_WORKTREE"),P=`Creates an isolated git worktree at \`<projectRoot>/.matilda/worktrees/<slug>\` and returns its absolute path so subsequent file edits, shell commands, and other tools can operate inside it.
3
+ import{ej as T,kf as W,sf as s}from"./chunk-IGQPRDMV.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-DORRYU7L.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as $,i as E,p as m,q as R}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{Y as b}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as y}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";y();var o=b("ENTER_WORKTREE"),P=`Creates an isolated git worktree at \`<projectRoot>/.matilda/worktrees/<slug>\` and returns its absolute path so subsequent file edits, shell commands, and other tools can operate inside it.
4
4
 
5
5
  ## When to Use
6
6
 
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{I as r}from"./chunk-J56KRT6Z.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-T75X5DJI.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as m,i as u,p as d,q as c}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{Y as p}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as l}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";l();var y=p("ENTER_PLAN_MODE"),g=`Use this tool to lower into plan mode before doing uncertain or complex work. Entering plan mode is a privilege reduction, so it does not require user confirmation.
3
+ import{I as r}from"./chunk-IGQPRDMV.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-DORRYU7L.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as m,i as u,p as d,q as c}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{Y as p}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as l}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";l();var y=p("ENTER_PLAN_MODE"),g=`Use this tool to lower into plan mode before doing uncertain or complex work. Entering plan mode is a privilege reduction, so it does not require user confirmation.
4
4
 
5
5
  ## When to Use This Tool
6
6
  Use this tool when the task is not yet clear enough to safely execute, for example when it requires multi-file changes, design choices, investigation before a plan can be summarized, or when requirements are ambiguous. While investigating, if complexity rises or you find yourself repeatedly needing to ask the user, enter plan mode and consolidate a plan.
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{dj as C,fj as x,if as k,lf as W,sf as l}from"./chunk-J56KRT6Z.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-T75X5DJI.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as E,i as R,p as c,q as T}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{Y as b,a as $}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as y}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";y();import*as S from"node:fs/promises";var h=b("EXIT_WORKTREE"),O=`Exits a worktree previously created by ${c.ENTER_WORKTREE}.
3
+ import{dj as C,fj as x,if as k,lf as W,sf as l}from"./chunk-IGQPRDMV.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-DORRYU7L.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as E,i as R,p as c,q as T}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{Y as b,a as $}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as y}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";y();import*as S from"node:fs/promises";var h=b("EXIT_WORKTREE"),O=`Exits a worktree previously created by ${c.ENTER_WORKTREE}.
4
4
 
5
5
  ## Behavior
6
6
 
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{a as k}from"./chunk-ILBTI4K5.js";import{Df as $,I as w,_e as M}from"./chunk-J56KRT6Z.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-T75X5DJI.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as G,i as R,p as T,q as _}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{Y as f}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as h}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";h();h();h();var E=f("GATE_REVIEW_AGENTS");function L(n){return`You are a Plan Design Reviewer for the Plan Approval Gate. Review the plan across three dimensions:
3
+ import{a as k}from"./chunk-ILBTI4K5.js";import{Df as $,I as w,_e as M}from"./chunk-IGQPRDMV.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-GIIMOLLN.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-SS5WUOSJ.js";import"./chunk-47XR7IMP.js";import"./chunk-QEI3OETI.js";import"./chunk-QKYGQLWC.js";import"./chunk-MNGFXISD.js";import"./chunk-4R2OFVPK.js";import"./chunk-RNKDFE2S.js";import"./chunk-EMWHQSMS.js";import"./chunk-S4K76QPI.js";import"./chunk-DORRYU7L.js";import"./chunk-4F4DA5UI.js";import"./chunk-DC7LAFZZ.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-XJDC3ZQZ.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as G,i as R,p as T,q as _}from"./chunk-5U3A6KMU.js";import"./chunk-IMYUVCF7.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-3YLXGE6T.js";import"./chunk-IOCF4XSR.js";import{Y as f}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as h}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";h();h();h();var E=f("GATE_REVIEW_AGENTS");function L(n){return`You are a Plan Design Reviewer for the Plan Approval Gate. Review the plan across three dimensions:
4
4
 
5
5
  1. **Request Fit** \u2014 Does the plan fulfill every part of the user's original request and respect all explicit constraints? Does it do anything the user explicitly asked NOT to do?
6
6
  2. **System Fit** \u2014 Does the plan align with the codebase structure, file paths, function names, permission model, and integration boundaries found during investigation?
@@ -1,6 +1,6 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import{a as g}from"./chunk-EMWHQSMS.js";import{g as u}from"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import{f as d}from"./chunk-XJDC3ZQZ.js";import"./chunk-IOCF4XSR.js";import"./chunk-QWBNNEV2.js";import"./chunk-FWDMPRKU.js";import{b as m}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";m();m();var p=class{googleGenAI;contentGeneratorConfig;constructor(e,t){let r=t?.customHeaders,n=r?(()=>{let i=e.httpOptions,s=i?.headers??{},l=Object.fromEntries(Object.entries(r).filter(([a])=>!d(a)));return{...e,httpOptions:{...i??{},headers:{...s,...l}}}})():e;this.googleGenAI=new u(n),this.contentGeneratorConfig=t}buildGenerateContentConfig(e){let t=this.contentGeneratorConfig?.samplingParams,r=e.config||{},n=(i,s,l)=>{let a=r[s];return i!==void 0?i:a!==void 0?a:l};return{...r,temperature:n(t?.temperature,"temperature",1),topP:n(t?.top_p,"topP",.95),topK:n(t?.top_k,"topK",64),maxOutputTokens:n(t?.max_tokens,"maxOutputTokens"),presencePenalty:n(t?.presence_penalty,"presencePenalty"),frequencyPenalty:n(t?.frequency_penalty,"frequencyPenalty"),thinkingConfig:n(this.buildThinkingConfig(),"thinkingConfig",{includeThoughts:!0,thinkingLevel:"THINKING_LEVEL_UNSPECIFIED"})}}buildThinkingConfig(){let e=this.contentGeneratorConfig?.reasoning;if(e===!1)return{includeThoughts:!1};if(e)return{includeThoughts:!0,thinkingLevel:e.effort==="low"?"LOW":e.effort==="high"||e.effort==="max"?"HIGH":"THINKING_LEVEL_UNSPECIFIED"}}async generateContent(e,t){let r={...e,contents:this.stripUnsupportedFields(e.contents),config:this.buildGenerateContentConfig(e)};return this.googleGenAI.models.generateContent(r)}async generateContentStream(e,t){let r={...e,contents:this.stripUnsupportedFields(e.contents),config:this.buildGenerateContentConfig(e)};return this.googleGenAI.models.generateContentStream(r)}stripUnsupportedFields(e){return!e||typeof e=="string"?e:Array.isArray(e)?e.map(t=>this.stripContentFields(t)):this.stripContentFields(e)}stripContentFields(e){if(typeof e=="string")return e;if(!("role"in e)&&!("parts"in e))return this.stripPartFields(e);let t=e;return t.parts?{...t,parts:t.parts.map(r=>this.stripPartFields(r))}:t}stripPartFields(e){if(typeof e=="string")return e;let t={...e};if(t.inlineData){let{displayName:r,...n}=t.inlineData;t.inlineData=n}if(t.fileData){let{displayName:r,...n}=t.fileData;t.fileData=n}if(t.functionResponse?.parts){let r=t.functionResponse.parts.map(n=>{let i=this.convertUnsupportedMediaToText(n);return this.stripPartFields(i)});t.functionResponse={...t.functionResponse,parts:r}}return t}convertUnsupportedMediaToText(e){if(typeof e=="string")return e;let t=e.inlineData?.mimeType||"",r=e.fileData?.mimeType||"";if(t.startsWith("audio/")||t.startsWith("video/")){let n=e.inlineData?.displayName,i=n?` (${n})`:"";return{text:`Unsupported media type for Gemini: ${t}${i}.`}}if(r.startsWith("audio/")||r.startsWith("video/")){let n=e.fileData?.displayName,i=n?` (${n})`:"";return{text:`Unsupported media type for Gemini: ${r}${i}.`}}return e}async countTokens(e){return this.googleGenAI.models.countTokens(e)}async embedContent(e){return this.googleGenAI.models.embedContent(e)}useSummarizedThinking(){return!0}};function T(o,e){let i={...{"User-Agent":o.userAgent||`MatildaCode/0.20.1 (${process.platform}; ${process.arch})`}};if(e?.getUsageStatisticsEnabled()){let f=new g().getInstallationId();i={...i,"x-gemini-api-privileged-user-id":`${f}`}}let s=o.baseUrl?{headers:i,baseUrl:o.baseUrl}:{headers:i};return new p({apiKey:o.apiKey===""?void 0:o.apiKey,vertexai:o.vertexai,httpOptions:s},o)}export{p as GeminiContentGenerator,T as createGeminiContentGenerator};
3
+ import{a as g}from"./chunk-EMWHQSMS.js";import{g as u}from"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import{f as d}from"./chunk-XJDC3ZQZ.js";import"./chunk-IOCF4XSR.js";import"./chunk-QWBNNEV2.js";import"./chunk-FWDMPRKU.js";import{b as m}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";m();m();var p=class{googleGenAI;contentGeneratorConfig;constructor(e,t){let r=t?.customHeaders,n=r?(()=>{let i=e.httpOptions,s=i?.headers??{},l=Object.fromEntries(Object.entries(r).filter(([a])=>!d(a)));return{...e,httpOptions:{...i??{},headers:{...s,...l}}}})():e;this.googleGenAI=new u(n),this.contentGeneratorConfig=t}buildGenerateContentConfig(e){let t=this.contentGeneratorConfig?.samplingParams,r=e.config||{},n=(i,s,l)=>{let a=r[s];return i!==void 0?i:a!==void 0?a:l};return{...r,temperature:n(t?.temperature,"temperature",1),topP:n(t?.top_p,"topP",.95),topK:n(t?.top_k,"topK",64),maxOutputTokens:n(t?.max_tokens,"maxOutputTokens"),presencePenalty:n(t?.presence_penalty,"presencePenalty"),frequencyPenalty:n(t?.frequency_penalty,"frequencyPenalty"),thinkingConfig:n(this.buildThinkingConfig(),"thinkingConfig",{includeThoughts:!0,thinkingLevel:"THINKING_LEVEL_UNSPECIFIED"})}}buildThinkingConfig(){let e=this.contentGeneratorConfig?.reasoning;if(e===!1)return{includeThoughts:!1};if(e)return{includeThoughts:!0,thinkingLevel:e.effort==="low"?"LOW":e.effort==="high"||e.effort==="max"?"HIGH":"THINKING_LEVEL_UNSPECIFIED"}}async generateContent(e,t){let r={...e,contents:this.stripUnsupportedFields(e.contents),config:this.buildGenerateContentConfig(e)};return this.googleGenAI.models.generateContent(r)}async generateContentStream(e,t){let r={...e,contents:this.stripUnsupportedFields(e.contents),config:this.buildGenerateContentConfig(e)};return this.googleGenAI.models.generateContentStream(r)}stripUnsupportedFields(e){return!e||typeof e=="string"?e:Array.isArray(e)?e.map(t=>this.stripContentFields(t)):this.stripContentFields(e)}stripContentFields(e){if(typeof e=="string")return e;if(!("role"in e)&&!("parts"in e))return this.stripPartFields(e);let t=e;return t.parts?{...t,parts:t.parts.map(r=>this.stripPartFields(r))}:t}stripPartFields(e){if(typeof e=="string")return e;let t={...e};if(t.inlineData){let{displayName:r,...n}=t.inlineData;t.inlineData=n}if(t.fileData){let{displayName:r,...n}=t.fileData;t.fileData=n}if(t.functionResponse?.parts){let r=t.functionResponse.parts.map(n=>{let i=this.convertUnsupportedMediaToText(n);return this.stripPartFields(i)});t.functionResponse={...t.functionResponse,parts:r}}return t}convertUnsupportedMediaToText(e){if(typeof e=="string")return e;let t=e.inlineData?.mimeType||"",r=e.fileData?.mimeType||"";if(t.startsWith("audio/")||t.startsWith("video/")){let n=e.inlineData?.displayName,i=n?` (${n})`:"";return{text:`Unsupported media type for Gemini: ${t}${i}.`}}if(r.startsWith("audio/")||r.startsWith("video/")){let n=e.fileData?.displayName,i=n?` (${n})`:"";return{text:`Unsupported media type for Gemini: ${r}${i}.`}}return e}async countTokens(e){return this.googleGenAI.models.countTokens(e)}async embedContent(e){return this.googleGenAI.models.embedContent(e)}useSummarizedThinking(){return!0}};function T(o,e){let i={...{"User-Agent":o.userAgent||`MatildaCode/0.20.2 (${process.platform}; ${process.arch})`}};if(e?.getUsageStatisticsEnabled()){let f=new g().getInstallationId();i={...i,"x-gemini-api-privileged-user-id":`${f}`}}let s=o.baseUrl?{headers:i,baseUrl:o.baseUrl}:{headers:i};return new p({apiKey:o.apiKey===""?void 0:o.apiKey,vertexai:o.vertexai,httpOptions:s},o)}export{p as GeminiContentGenerator,T as createGeminiContentGenerator};
4
4
  /**
5
5
  * @license
6
6
  * Copyright 2025 Google LLC