@maincode-ai/matilda-code 0.19.2 → 0.19.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chunks/agent-HMAY5XP7.js +3 -0
- package/chunks/agent-headless-NWRQLNNS.js +3 -0
- package/chunks/{anthropicContentGenerator-BRG6WZK3.js → anthropicContentGenerator-CZLOMDXF.js} +11 -11
- package/chunks/{askUserQuestion-QPVUWJCI.js → askUserQuestion-V5YLTC4J.js} +1 -1
- package/chunks/{ca-D7YSARXX.js → ca-UW3G7H5I.js} +1 -1
- package/chunks/chunk-2FX4655X.js +101 -0
- package/chunks/{chunk-2MEHZGZJ.js → chunk-2XZIKUB6.js} +1 -1
- package/chunks/{chunk-RDNFN7GJ.js → chunk-3E62XAAL.js} +1 -1
- package/chunks/{chunk-X2SJJ7RN.js → chunk-3GAKPC2I.js} +2 -2
- package/chunks/chunk-3KCDX6MY.js +8 -0
- package/chunks/{chunk-X6DODPXG.js → chunk-5U3A6KMU.js} +1 -1
- package/chunks/chunk-7VGUNT5L.js +8 -0
- package/chunks/{chunk-XKNSVSWD.js → chunk-AEEMG76V.js} +2 -2
- package/chunks/chunk-C6SSPIF3.js +56 -0
- package/chunks/{chunk-DY6PIAAY.js → chunk-CFBZKYFB.js} +1 -1
- package/chunks/chunk-CLUEFPSU.js +8 -0
- package/chunks/chunk-FSRNEJQB.js +8 -0
- package/chunks/chunk-KP6BLFQS.js +12 -0
- package/chunks/{chunk-4M4CUQUR.js → chunk-NDR7ZFUA.js} +1 -1
- package/chunks/{chunk-CNHY7623.js → chunk-SUORCDGS.js} +1 -1
- package/chunks/{chunk-KMU5KAYC.js → chunk-WPZEF752.js} +490 -505
- package/chunks/chunk-XXZH7C44.js +34 -0
- package/chunks/{chunk-LN2DRVOB.js → chunk-XYA3SFGC.js} +1 -1
- package/chunks/{computer-use-MJ7WGSXA.js → computer-use-B2345U7U.js} +1 -1
- package/chunks/contextCommand-ZTMOL6TC.js +3 -0
- package/chunks/{cron-create-K35JKX3K.js → cron-create-JHL5JGIM.js} +1 -1
- package/chunks/{cron-delete-7B65R7JC.js → cron-delete-K2R3KI2W.js} +1 -1
- package/chunks/{cron-list-FCX6HCY7.js → cron-list-R3YHZBHA.js} +1 -1
- package/chunks/{de-ME75AM7Q.js → de-QSFN3SRK.js} +1 -1
- package/chunks/{edit-Y7NFRYDN.js → edit-YI2KTC5G.js} +1 -1
- package/chunks/{en-KVT5FJKO.js → en-ZU6RPTEW.js} +2 -2
- package/chunks/{enter-worktree-PVVX5BLF.js → enter-worktree-2V2D7CYW.js} +1 -1
- package/chunks/{enterPlanMode-VVRE4YBV.js → enterPlanMode-ZUCJBK26.js} +1 -1
- package/chunks/{exit-worktree-LDIOV4NM.js → exit-worktree-TNMQ6BJQ.js} +1 -1
- package/chunks/{exitPlanMode-AR4QZ4EF.js → exitPlanMode-3V2VGFJI.js} +1 -1
- package/chunks/{fr-V3O5JG5W.js → fr-FKTJ4COX.js} +2 -2
- package/chunks/geminiContentGenerator-DLT3FIFM.js +8 -0
- package/chunks/{glob-6H2PV6X4.js → glob-DK4XLD6I.js} +1 -1
- package/chunks/grep-HHKDBU7B.js +22 -0
- package/chunks/{ja-ZOFFSG6C.js → ja-GKS4GLZP.js} +1 -1
- package/chunks/{ls-ZSHUDEJV.js → ls-4QPI2E7A.js} +1 -1
- package/chunks/{lsp-DW3UNQQ6.js → lsp-P3GKBOP3.js} +1 -1
- package/chunks/{matildaAgentContentGenerator-B7FZY5QT.js → matildaAgentContentGenerator-WANX4W2Y.js} +9 -9
- package/chunks/matildaContentGenerator-YNM53I6M.js +8 -0
- package/chunks/monitor-JVPMYOZ2.js +32 -0
- package/chunks/notebook-edit-TSASMGK7.js +17 -0
- package/chunks/openaiContentGenerator-5VMLKMVG.js +3 -0
- package/chunks/{pt-K2W3KMTP.js → pt-VIW62ZAE.js} +1 -1
- package/chunks/{read-file-MUUE7CJM.js → read-file-HEVXSNSO.js} +1 -1
- package/chunks/ripGrep-UCUYOKAZ.js +3 -0
- package/chunks/{ru-KICZRPMQ.js → ru-FSSACF4A.js} +1 -1
- package/chunks/scheduler-LXGHE7LL.js +8 -0
- package/chunks/{send-message-BPTEYK4Y.js → send-message-K3T7GVHO.js} +1 -1
- package/chunks/{serve-DAFPBR3R.js → serve-F2OU5GL5.js} +1 -1
- package/chunks/shell-5CG25UXX.js +3 -0
- package/chunks/{skill-D23JCWUG.js → skill-YXHHDMLR.js} +1 -1
- package/chunks/src-4KXRVNR5.js +3 -0
- package/chunks/{symbol-search-3E5XK5S6.js → symbol-search-WVNUJRET.js} +1 -1
- package/chunks/{syntheticOutput-NSQJLEEY.js → syntheticOutput-LLA4WQR7.js} +1 -1
- package/chunks/{task-create-TQI5N4YR.js → task-create-ZZTSVXZN.js} +1 -1
- package/chunks/{task-list-DQBF34BK.js → task-list-6I64SK7E.js} +1 -1
- package/chunks/{task-stop-5R44O4NK.js → task-stop-UKRXMCZV.js} +1 -1
- package/chunks/{task-update-PL2JDIF6.js → task-update-XZWORLJB.js} +1 -1
- package/chunks/{team-create-B3K7PIQ5.js → team-create-ESOAIRWA.js} +1 -1
- package/chunks/{team-delete-LWX4LMFZ.js → team-delete-DEPXAMUE.js} +1 -1
- package/chunks/{todoWrite-V4DQMEDR.js → todoWrite-DKJAYA4S.js} +1 -1
- package/chunks/{tool-search-UA3I7UV3.js → tool-search-47TA6SG4.js} +1 -1
- package/chunks/update-goal-DH2TEYYU.js +16 -0
- package/chunks/{web-fetch-XRYT2EOQ.js → web-fetch-5F7C7MXU.js} +1 -1
- package/chunks/{web-search-MD3V4NBD.js → web-search-N6QM6PXT.js} +1 -1
- package/chunks/{workflow-A2P7P7KO.js → workflow-AGPUPU65.js} +2 -2
- package/chunks/write-file-XJ2S7TR3.js +11 -0
- package/chunks/{zh-C5PHBN3U.js → zh-I4FV25MS.js} +2 -2
- package/chunks/{zh-TW-IYMR6KR3.js → zh-TW-7HNBEDIB.js} +2 -2
- package/cli.js +462 -461
- package/locales/ca.js +6 -2
- package/locales/de.js +5 -3
- package/locales/en.js +7 -4
- package/locales/fr.js +4 -2
- package/locales/ja.js +6 -2
- package/locales/pt.js +4 -2
- package/locales/ru.js +4 -2
- package/locales/zh-TW.js +7 -4
- package/locales/zh.js +7 -4
- package/package.json +2 -2
- package/chunks/agent-XKRS7SDN.js +0 -3
- package/chunks/agent-headless-5UTXGWJL.js +0 -3
- package/chunks/chunk-APVMKC4S.js +0 -101
- package/chunks/chunk-OQ73WWR4.js +0 -8
- package/chunks/chunk-R6YTDM76.js +0 -8
- package/chunks/chunk-S32ZN6LD.js +0 -12
- package/chunks/chunk-WQNABJ5R.js +0 -38
- package/chunks/contextCommand-AGXIRVKU.js +0 -3
- package/chunks/geminiContentGenerator-35P4NFWN.js +0 -8
- package/chunks/grep-OMYHSNBF.js +0 -22
- package/chunks/matildaContentGenerator-DQOUSFU3.js +0 -8
- package/chunks/monitor-LY6HMAGP.js +0 -32
- package/chunks/notebook-edit-PY3T4RHL.js +0 -17
- package/chunks/openaiContentGenerator-A42WRFRC.js +0 -3
- package/chunks/ripGrep-BJRH2OAQ.js +0 -3
- package/chunks/scheduler-MFP5BJTP.js +0 -8
- package/chunks/shell-YAP6NQTT.js +0 -3
- package/chunks/src-77YCXW6G.js +0 -3
- package/chunks/write-file-TTOYKZTG.js +0 -11
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import{$i as Y,_i as K,aa as q,ie as z,zc as F}from"./chunk-WPZEF752.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-KP6BLFQS.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-XXZH7C44.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-FSRNEJQB.js";import"./chunk-S4K76QPI.js";import"./chunk-2FX4655X.js";import"./chunk-4F4DA5UI.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-CLUEFPSU.js";import"./chunk-7VGUNT5L.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import{g as _}from"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as U,i as V,p as H,q as J}from"./chunk-5U3A6KMU.js";import"./chunk-LLQVLTPB.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-IOCF4XSR.js";import{C as O,F as W,J as S,Y as j,a as I,c as P}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as B}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";B();import tt from"node:fs/promises";import y from"node:path";import{EOL as et}from"node:os";import{spawn as X}from"node:child_process";var k=j("GREP"),M=class extends U{constructor(e,s){super(s);this.config=e;this.fileExclusions=e.getFileExclusions()}fileExclusions;async getDefaultPermission(){if(!this.params.path)return"allow";let e=this.config.getWorkspaceContext(),s=y.resolve(this.config.getTargetDir(),this.params.path);return e.isPathWithinWorkspace(s)||W(_(),s)?"allow":"ask"}async execute(e){try{let s=[],i;if(this.params.path){let t=S(this.config,this.params.path,{allowExternalPaths:!0});s.push(t),i=`in path "${this.params.path}"`}else{let t=this.config.getWorkspaceContext().getDirectories();s.push(...t),i=t.length>1?`across ${t.length} workspace directories`:"in the workspace directory"}let l=[];for(let t of s){let o=await this.performGrepSearch({pattern:this.params.pattern,path:t,glob:this.params.glob,signal:e});if(s.length>1)for(let a of o)y.isAbsolute(a.filePath)||(a.filePath=y.resolve(t,a.filePath));l.push(...o)}if(s.length>1){let t=new Set;l=l.filter(o=>{let a=`${o.filePath}:${o.lineNumber}`;return t.has(a)?!1:(t.add(a),!0)})}let f=this.params.glob?` (filter: "${this.params.glob}")`:"";if(l.length===0)return{llmContent:`No matches found for pattern "${this.params.pattern}" ${i}${f}.`,returnDisplay:"No matches found"};let h=this.config.getTruncateToolOutputThreshold(),w=Math.min(this.config.getTruncateToolOutputLines(),this.params.limit??Number.POSITIVE_INFINITY),$=!1,C=l;l.length>w&&(C=l.slice(0,w),$=!0);let E=l.length,x=E===1?"match":"matches",G=`Found ${E} ${x} for pattern "${this.params.pattern}" ${i}${f}:
|
|
4
|
+
---
|
|
5
|
+
`,v=C.reduce((t,o)=>{let a=o.filePath;return t[a]||(t[a]=[]),t[a].push(o),t[a].sort((L,D)=>L.lineNumber-D.lineNumber),t},{}),n="",g=[],m=!1,c=(t,o)=>Number.isFinite(h)&&n.length+t.length>h?(n+=t.slice(0,Math.max(h-n.length,0)),n+="...",o&&g.push(o),m=!0,!1):(n+=t,o&&g.push(o),!0);for(let t in v){if(!c(`File: ${t}
|
|
6
|
+
`))break;let o=!1;for(let a of v[t]){let L=a.line.trim();if(!c(`L${a.lineNumber}: ${L}
|
|
7
|
+
`,a)){o=!0;break}}if(o||!c(`---
|
|
8
|
+
`))break}let b=n.split(`
|
|
9
|
+
`).filter(t=>t.trim()&&!t.startsWith("File:")&&!t.startsWith("---")).length,p=G+n;if($||m){let t=E-b;p+=` [${t} ${t===1?"line":"lines"} truncated] ...`}let u=`Found ${E} ${x}`;($||m)&&(u+=" (truncated)");let T=Array.from(new Set(g.map(t=>t.absoluteFilePath).filter(t=>t!=="")));return await K(this.config,T),{llmContent:p.trim(),returnDisplay:u,resultFilePaths:T}}catch(s){k.error(`Error during GrepLogic execution: ${s}`);let i=P(s);return{llmContent:`Error during grep search operation: ${i}`,returnDisplay:`Error: ${i}`,error:{message:i,type:"grep_execution_error"}}}}parseGrepOutput(e,s){let i=[];if(!e)return i;let l=e.split(et);for(let f of l){if(!f.trim())continue;let h=f.indexOf(":");if(h===-1)continue;let w=f.indexOf(":",h+1);if(w===-1)continue;let $=f.substring(0,h),C=f.substring(h+1,w),E=f.substring(w+1),x=parseInt(C,10);if(!isNaN(x)){let G=y.resolve(s,$),v=y.relative(s,G);i.push({filePath:v||y.basename(G),absoluteFilePath:G,lineNumber:x,line:E.replace(/\r$/,"")})}}return i}getDescription(){let e=`'${this.params.pattern}' in path '${this.params.path||"./"}'`;return this.params.glob&&(e+=` (filter: '${this.params.glob}')`),e}async performGrepSearch(e){let{pattern:s,path:i,glob:l}=e,f="none";try{if(q(i)&&F("git").available){f="git grep";let n=["grep","--untracked","-n","-E","--ignore-case",s];l&&n.push("--",l);try{let g=await new Promise((m,c)=>{let r=X("git",n,{cwd:i,windowsHide:!0}),b=[],p=[];r.stdout.on("data",u=>b.push(u)),r.stderr.on("data",u=>p.push(u)),r.on("error",u=>c(new Error(`Failed to start git grep: ${u.message}`))),r.on("close",u=>{let T=Buffer.concat(b).toString("utf8"),t=Buffer.concat(p).toString("utf8");u===0?m(T):u===1?m(""):c(new Error(`git grep exited with code ${u}: ${t}`))})});return this.parseGrepOutput(g,i)}catch(g){k.debug(`GrepLogic: git grep failed: ${P(g)}. Falling back...`)}}let{available:$}=F("grep");if($){f="system grep";let n=["-r","-n","-H","-E"];this.fileExclusions.getGlobExcludes().map(c=>{let r=c;return r.startsWith("**/")&&(r=r.substring(3)),r.endsWith("/**")?r=r.slice(0,-3):r.endsWith("/")&&(r=r.slice(0,-1)),r&&!r.includes("/")&&!r.includes("*")?r:null}).filter(c=>!!c).forEach(c=>n.push(`--exclude-dir=${c}`)),l&&n.push(`--include=${l}`),n.push(s),n.push(".");try{let c=await new Promise((r,b)=>{let p=X("grep",n,{cwd:i,windowsHide:!0}),u=[],T=[],t=d=>u.push(d),o=d=>{let N=d.toString();!N.includes("Permission denied")&&!/grep:.*: Is a directory/i.test(N)&&T.push(d)},a=d=>{D(),b(new Error(`Failed to start system grep: ${d.message}`))},L=d=>{let N=Buffer.concat(u).toString("utf8"),A=Buffer.concat(T).toString("utf8").trim();D(),d===0?r(N):d===1?r(""):A?b(new Error(`System grep exited with code ${d}: ${A}`)):r("")},D=()=>{p.stdout.removeListener("data",t),p.stderr.removeListener("data",o),p.removeListener("error",a),p.removeListener("close",L),p.connected&&p.disconnect()};p.stdout.on("data",t),p.stderr.on("data",o),p.on("error",a),p.on("close",L)});return this.parseGrepOutput(c,i)}catch(c){k.debug(`GrepLogic: System grep failed: ${P(c)}. Falling back...`)}}k.debug("GrepLogic: Falling back to JavaScript grep implementation."),f="javascript fallback";let C=l||"**/*",E=this.fileExclusions.getGlobExcludes(),x=z(C,{cwd:i,dot:!0,ignore:E,absolute:!0,nodir:!0,signal:e.signal}),G=new RegExp(s,"i"),v=[];for await(let n of x){let g=n;try{(await tt.readFile(g,"utf8")).split(/\r?\n/).forEach((r,b)=>{G.test(r)&&v.push({filePath:y.relative(i,g)||y.basename(g),absoluteFilePath:g,lineNumber:b+1,line:r})})}catch(m){(!I(m)||m.code!=="ENOENT")&&k.debug(`GrepLogic: Could not read/process ${g}: ${P(m)}`)}}return v}catch(h){throw k.error(`GrepLogic: Error in performGrepSearch (Strategy: ${f}): ${P(h)}`),h}}},Q=class R extends V{constructor(e){super(R.Name,J.GREP,`A powerful search tool for finding patterns in files
|
|
10
|
+
|
|
11
|
+
Usage:
|
|
12
|
+
- ALWAYS use Grep for search tasks. NEVER invoke \`grep\` or \`rg\` as a Bash command. The Grep tool has been optimized for correct permissions and access.
|
|
13
|
+
- JavaScript regex (not PCRE): e.g. "log.*Error", "function\\s+\\w+". Do not use (?i) \u2014 search is case-insensitive by default.
|
|
14
|
+
- Filter files with glob parameter (e.g., "*.js", "**/*.tsx")
|
|
15
|
+
- Case-insensitive by default
|
|
16
|
+
- Use Agent tool for open-ended searches requiring multiple rounds
|
|
17
|
+
`,"search",{properties:{pattern:{type:"string",description:"JavaScript regular expression (not PCRE). Case-insensitive by default \u2014 do not use (?i)."},glob:{type:"string",description:'Glob pattern to filter files (e.g. "*.js", "*.{ts,tsx}")'},path:{type:"string",description:"File or directory to search in. Defaults to current working directory."},limit:{type:"number",description:"Limit output to first N matching lines. Optional - shows all matches if not specified."}},required:["pattern"],type:"object"});this.config=e}static Name=H.GREP;get maxOutputChars(){return 2e4}validateToolParamValues(e){e.pattern=Y(e.pattern);try{new RegExp(e.pattern)}catch(s){return`Invalid regular expression pattern: ${e.pattern}. Error: ${P(s)}`}if(e.path){e.path=O(e.path.trim());try{S(this.config,e.path,{allowExternalPaths:!0})}catch(s){return P(s)}}return null}createInvocation(e){return new M(this.config,e)}};export{Q as GrepTool};
|
|
18
|
+
/**
|
|
19
|
+
* @license
|
|
20
|
+
* Copyright 2025 Google LLC
|
|
21
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
22
|
+
*/
|
|
@@ -6,7 +6,7 @@ import{b as e}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";e();var t={"
|
|
|
6
6
|
{{directories}}`,"Please open the following URL in your browser to view the documentation:\n{{url}}":`\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u3001\u30D6\u30E9\u30A6\u30B6\u3067\u4EE5\u4E0B\u306EURL\u3092\u958B\u3044\u3066\u304F\u3060\u3055\u3044:
|
|
7
7
|
{{url}}`,"Opening documentation in your browser: {{url}}":" \u30D6\u30E9\u30A6\u30B6\u3067\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u958B\u304D\u307E\u3057\u305F: {{url}}","Do you want to proceed?":"\u7D9A\u884C\u3057\u307E\u3059\u304B?","Yes, allow once":"\u306F\u3044(\u4ECA\u56DE\u306E\u307F\u8A31\u53EF)","Allow always":"\u5E38\u306B\u8A31\u53EF\u3059\u308B",Yes:"\u306F\u3044",No:"\u3044\u3044\u3048","No (esc)":"\u3044\u3044\u3048 (Esc)","Manage MCP servers":"MCP servers \u3092\u7BA1\u7406","Server Detail":"\u30B5\u30FC\u30D0\u30FC\u8A73\u7D30",Tools:"\u30C4\u30FC\u30EB","Tool Detail":"\u30C4\u30FC\u30EB\u8A73\u7D30","Loading...":"\u8AAD\u307F\u8FBC\u307F\u4E2D...","Unknown step":"\u4E0D\u660E\u306A\u30B9\u30C6\u30C3\u30D7","Esc to back":"Esc \u623B\u308B","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to close":"\u2191\u2193 \u30CA\u30D3\u30B2\u30FC\u30C8 \xB7 Enter \u9078\u629E \xB7 Esc \u9589\u3058\u308B","\u2191\u2193 to navigate \xB7 Enter to select \xB7 Esc to back":"\u2191\u2193 \u30CA\u30D3\u30B2\u30FC\u30C8 \xB7 Enter \u9078\u629E \xB7 Esc \u623B\u308B","\u2191\u2193 to navigate \xB7 Enter to confirm \xB7 Esc to back":"\u2191\u2193 \u30CA\u30D3\u30B2\u30FC\u30C8 \xB7 Enter \u78BA\u8A8D \xB7 Esc \u623B\u308B","User Settings (global)":"\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A\uFF08\u30B0\u30ED\u30FC\u30D0\u30EB\uFF09","Workspace Settings (project-specific)":"\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u8A2D\u5B9A\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u56FA\u6709\uFF09","Disable server:":"\u30B5\u30FC\u30D0\u30FC\u3092\u7121\u52B9\u5316:","Select where to add the server to the exclude list:":"\u30B5\u30FC\u30D0\u30FC\u3092\u9664\u5916\u30EA\u30B9\u30C8\u306B\u8FFD\u52A0\u3059\u308B\u5834\u6240\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:","Press Enter to confirm, Esc to cancel":"Enter \u3067\u78BA\u8A8D\u3001Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB",Disable:"\u7121\u52B9\u5316",Enable:"\u6709\u52B9\u5316",Authenticate:"\u8A8D\u8A3C","Re-authenticate":"\u518D\u8A8D\u8A3C","Clear Authentication":"\u8A8D\u8A3C\u3092\u30AF\u30EA\u30A2",disabled:"\u7121\u52B9",enabled:"\u6709\u52B9","Server:":"\u30B5\u30FC\u30D0\u30FC:",Reconnect:"\u518D\u63A5\u7D9A","View tools":"\u30C4\u30FC\u30EB\u3092\u8868\u793A","Status:":"\u30B9\u30C6\u30FC\u30BF\u30B9:","Source:":"\u30BD\u30FC\u30B9:","Command:":"\u30B3\u30DE\u30F3\u30C9:","Working Directory:":"\u4F5C\u696D\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA:","No server selected":"\u30B5\u30FC\u30D0\u30FC\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093","Error:":"\u30A8\u30E9\u30FC:",tool:"\u30C4\u30FC\u30EB",tools:"\u30C4\u30FC\u30EB",connected:"\u63A5\u7D9A\u6E08\u307F",connecting:"\u63A5\u7D9A\u4E2D",disconnected:"\u5207\u65AD\u6E08\u307F",error:"\u30A8\u30E9\u30FC","User MCPs":"\u30E6\u30FC\u30B6\u30FCMCP","Project MCPs":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8MCP","Extension MCPs":"\u62E1\u5F35\u6A5F\u80FDMCP",server:"\u30B5\u30FC\u30D0\u30FC",servers:"\u30B5\u30FC\u30D0\u30FC","Add MCP servers to your settings to get started.":"\u8A2D\u5B9A\u306B MCP servers \u3092\u8FFD\u52A0\u3057\u3066\u958B\u59CB\u3057\u3066\u304F\u3060\u3055\u3044\u3002","Run matilda --debug to see error logs":"matilda --debug \u3092\u5B9F\u884C\u3057\u3066\u30A8\u30E9\u30FC\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044","OAuth Authentication":"OAuth \u8A8D\u8A3C","Authenticating... Please complete the login in your browser.":"\u8A8D\u8A3C\u4E2D... \u30D6\u30E9\u30A6\u30B6\u3067\u30ED\u30B0\u30A4\u30F3\u3092\u5B8C\u4E86\u3057\u3066\u304F\u3060\u3055\u3044\u3002","No tools available for this server.":"\u3053\u306E\u30B5\u30FC\u30D0\u30FC\u306B\u306F\u4F7F\u7528\u53EF\u80FD\u306A\u30C4\u30FC\u30EB\u304C\u3042\u308A\u307E\u305B\u3093\u3002",destructive:"\u7834\u58CA\u7684","read-only":"\u8AAD\u307F\u53D6\u308A\u5C02\u7528","open-world":"\u30AA\u30FC\u30D7\u30F3\u30EF\u30FC\u30EB\u30C9",idempotent:"\u51AA\u7B49","Tools for {{serverName}}":"{{serverName}} \u306E\u30C4\u30FC\u30EB","{{current}}/{{total}}":"{{current}}/{{total}}",required:"\u5FC5\u9808",Parameters:"\u30D1\u30E9\u30E1\u30FC\u30BF","No tool selected":"\u30C4\u30FC\u30EB\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093",Server:"\u30B5\u30FC\u30D0\u30FC","{{count}} invalid tools":"{{count}} \u500B\u306E\u7121\u52B9\u306A\u30C4\u30FC\u30EB",invalid:"\u7121\u52B9","invalid: {{reason}}":"\u7121\u52B9: {{reason}}","missing name":"\u540D\u524D\u306A\u3057","missing description":"\u8AAC\u660E\u306A\u3057","(unnamed)":"(\u540D\u524D\u306A\u3057)","Warning: This tool cannot be called by the LLM":"\u8B66\u544A: \u3053\u306E\u30C4\u30FC\u30EB\u306FLLM\u306B\u3088\u3063\u3066\u547C\u3073\u51FA\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093",Reason:"\u7406\u7531","Tools must have both name and description to be used by the LLM.":"\u30C4\u30FC\u30EB\u306FLLM\u306B\u3088\u3063\u3066\u4F7F\u7528\u3055\u308C\u308B\u306B\u306F\u540D\u524D\u3068\u8AAC\u660E\u306E\u4E21\u65B9\u304C\u5FC5\u8981\u3067\u3059\u3002","Modify in progress:":"\u5909\u66F4\u4E2D:","Save and close external editor to continue":"\u7D9A\u884C\u3059\u308B\u306B\u306F\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u3092\u4FDD\u5B58\u3057\u3066\u9589\u3058\u3066\u304F\u3060\u3055\u3044","Apply this change?":"\u3053\u306E\u5909\u66F4\u3092\u9069\u7528\u3057\u307E\u3059\u304B?","Yes, allow always":"\u306F\u3044\u3001\u5E38\u306B\u8A31\u53EF","Modify with external editor":"\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u3067\u7DE8\u96C6","No, suggest changes (esc)":"\u3044\u3044\u3048\u3001\u5909\u66F4\u3092\u63D0\u6848 (Esc)","Allow execution of: '{{command}}'?":"'{{command}}' \u306E\u5B9F\u884C\u3092\u8A31\u53EF\u3057\u307E\u3059\u304B?","Always allow in this project":"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u5E38\u306B\u8A31\u53EF","Always allow {{action}} in this project":"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067{{action}}\u3092\u5E38\u306B\u8A31\u53EF","Always allow for this user":"\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u306B\u5E38\u306B\u8A31\u53EF","Always allow {{action}} for this user":"\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u306B{{action}}\u3092\u5E38\u306B\u8A31\u53EF","Yes, restore previous mode ({{mode}})":"\u306F\u3044\u3001\u4EE5\u524D\u306E\u30E2\u30FC\u30C9\u306B\u623B\u3059 ({{mode}})","Yes, and auto-accept edits":"\u306F\u3044\u3001\u7DE8\u96C6\u3092\u81EA\u52D5\u627F\u8A8D","Yes, and manually approve edits":"\u306F\u3044\u3001\u7DE8\u96C6\u3092\u624B\u52D5\u627F\u8A8D","No, keep planning (esc)":"\u3044\u3044\u3048\u3001\u8A08\u753B\u3092\u7D9A\u3051\u308B (Esc)","URLs to fetch:":"\u53D6\u5F97\u3059\u308BURL:","MCP Server: {{server}}":"MCP Server: {{server}}","Tool: {{tool}}":"\u30C4\u30FC\u30EB: {{tool}}",'Allow execution of MCP tool "{{tool}}" from server "{{server}}"?':'MCP server "{{server}}" \u304B\u3089\u306E MCP tool "{{tool}}" \u306E\u5B9F\u884C\u3092\u8A31\u53EF\u3057\u307E\u3059\u304B?',"Shell Command Execution":"\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9\u5B9F\u884C","A custom command wants to run the following shell commands:":"\u30AB\u30B9\u30BF\u30E0\u30B3\u30DE\u30F3\u30C9\u304C\u4EE5\u4E0B\u306E\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059:","Current Plan:":"\u73FE\u5728\u306E\u30D7\u30E9\u30F3:","Progress: {{done}}/{{total}} tasks completed":"\u9032\u6357: {{done}}/{{total}} \u30BF\u30B9\u30AF\u5B8C\u4E86",", {{inProgress}} in progress":"\u3001{{inProgress}} \u9032\u884C\u4E2D","Pending Tasks:":"\u4FDD\u7559\u4E2D\u306E\u30BF\u30B9\u30AF:","Current tasks":"\u73FE\u5728\u306E\u30BF\u30B9\u30AF","Background tasks":"\u30D0\u30C3\u30AF\u30B0\u30E9\u30A6\u30F3\u30C9\u30BF\u30B9\u30AF","No tasks currently running":"\u73FE\u5728\u5B9F\u884C\u4E2D\u306E\u30BF\u30B9\u30AF\u306F\u3042\u308A\u307E\u305B\u3093","No entry to show.":"\u8868\u793A\u3059\u308B\u30A8\u30F3\u30C8\u30EA\u306F\u3042\u308A\u307E\u305B\u3093\u3002","needs approval":"\u627F\u8A8D\u5F85\u3061","Background agent needs approval":"\u30D0\u30C3\u30AF\u30B0\u30E9\u30A6\u30F3\u30C9\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u304C\u627F\u8A8D\u5F85\u3061\u3067\u3059","Approve or deny the request above":"\u4E0A\u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u627F\u8A8D\u307E\u305F\u306F\u62D2\u5426\u3057\u3066\u304F\u3060\u3055\u3044",Running:"\u5B9F\u884C\u4E2D",Paused:"\u4E00\u6642\u505C\u6B62\u4E2D",Completed:"\u5B8C\u4E86",Failed:"\u5931\u6557",Stopped:"\u505C\u6B62\u6E08\u307F",Shell:"\u30B7\u30A7\u30EB",Monitor:"\u30E2\u30CB\u30BF\u30FC",Command:"\u30B3\u30DE\u30F3\u30C9",Dream:"Dream","[dream] memory consolidation":"[dream] \u30E1\u30E2\u30EA\u7D71\u5408","[dream] memory consolidation (reviewing {{count}} session)":"[dream] \u30E1\u30E2\u30EA\u7D71\u5408 ({{count}} \u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u78BA\u8A8D\u4E2D)","[dream] memory consolidation (reviewing {{count}} sessions)":"[dream] \u30E1\u30E2\u30EA\u7D71\u5408 ({{count}} \u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u78BA\u8A8D\u4E2D)","... and {{count}} more":"... \u4ED6 {{count}} \u4EF6","What would you like to do?":"\u4F55\u3092\u3057\u307E\u3059\u304B?","Choose how to proceed with your session:":"\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u7D9A\u884C\u65B9\u6CD5\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:","Start new chat session":"\u65B0\u3057\u3044\u30C1\u30E3\u30C3\u30C8\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u958B\u59CB","Continue previous conversation":"\u524D\u56DE\u306E\u4F1A\u8A71\u3092\u7D9A\u884C","\u{1F44B} Welcome back! (Last updated: {{timeAgo}})":"\u{1F44B} \u304A\u304B\u3048\u308A\u306A\u3055\u3044!(\u6700\u7D42\u66F4\u65B0: {{timeAgo}})","\u{1F3AF} Overall Goal:":"\u{1F3AF} \u5168\u4F53\u76EE\u6A19:","Connect a Provider":"\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u306B\u63A5\u7D9A","You must connect a provider to proceed. Press Ctrl+C again to exit.":"\u7D9A\u884C\u3059\u308B\u306B\u306F\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u306B\u63A5\u7D9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002Ctrl+C \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u7D42\u4E86\u3057\u307E\u3059","Terms of Services and Privacy Notice":"\u5229\u7528\u898F\u7D04\u3068\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u901A\u77E5","Matilda OAuth":"Matilda OAuth","Matilda OAuth free tier was discontinued on 2026-04-15. Please select a model from another provider or run /auth to switch.":"Matilda OAuth\u7121\u6599\u30D7\u30E9\u30F3\u306F2026-04-15\u306B\u7D42\u4E86\u3057\u307E\u3057\u305F\u3002\u4ED6\u306E\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u306E\u30E2\u30C7\u30EB\u3092\u9078\u629E\u3059\u308B\u304B\u3001/auth\u3092\u5B9F\u884C\u3057\u3066\u5207\u308A\u66FF\u3048\u3066\u304F\u3060\u3055\u3044\u3002","\n\u26A0 Matilda OAuth free tier was discontinued on 2026-04-15. Please select another option.\n":`
|
|
8
8
|
\u26A0 Matilda OAuth \u7121\u6599\u67A0\u306F 2026-04-15 \u306B\u7D42\u4E86\u3057\u307E\u3057\u305F\u3002\u4ED6\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
9
|
-
`,"Bring your own API key":"\u81EA\u5206\u306E API Key \u3092\u4F7F\u7528","Browser-based authentication with third-party providers (e.g. OpenRouter, ModelScope)":"\u30B5\u30FC\u30C9\u30D1\u30FC\u30C6\u30A3\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u306B\u3088\u308B\u30D6\u30E9\u30A6\u30B6\u30D9\u30FC\u30B9\u306E\u8A8D\u8A3C\uFF08\u4F8B\uFF1AOpenRouter\u3001ModelScope\uFF09","Authentication is enforced to be {{enforcedType}}, but you are currently using {{currentType}}.":"\u8A8D\u8A3C\u306F {{enforcedType}} \u306B\u5F37\u5236\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u73FE\u5728 {{currentType}} \u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059","Matilda OAuth Authentication":"Matilda OAuth\u8A8D\u8A3C","Please visit this URL to authorize:":"\u8A8D\u8A3C\u3059\u308B\u306B\u306F\u4EE5\u4E0B\u306EURL\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u3066\u304F\u3060\u3055\u3044:","Waiting for authorization":"\u8A8D\u8A3C\u3092\u5F85\u3063\u3066\u3044\u307E\u3059","Time remaining:":"\u6B8B\u308A\u6642\u9593:","Matilda OAuth Authentication Timeout":"Matilda OAuth\u8A8D\u8A3C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8","OAuth token expired (over {{seconds}} seconds). Please select authentication method again.":"OAuth\u30C8\u30FC\u30AF\u30F3\u304C\u671F\u9650\u5207\u308C\u3067\u3059({{seconds}}\u79D2\u4EE5\u4E0A)\u3002\u8A8D\u8A3C\u65B9\u6CD5\u3092\u518D\u5EA6\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044","Press any key to return to authentication type selection.":"\u8A8D\u8A3C\u30BF\u30A4\u30D7\u9078\u629E\u306B\u623B\u308B\u306B\u306F\u4EFB\u610F\u306E\u30AD\u30FC\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044","Waiting for Matilda OAuth authentication...":"Matilda OAuth\u8A8D\u8A3C\u3092\u5F85\u3063\u3066\u3044\u307E\u3059...","Authentication timed out. Please try again.":"\u8A8D\u8A3C\u304C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F\u3002\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044","Waiting for auth... (Press ESC or CTRL+C to cancel)":"\u8A8D\u8A3C\u3092\u5F85\u3063\u3066\u3044\u307E\u3059... (ESC \u307E\u305F\u306F CTRL+C \u3067\u30AD\u30E3\u30F3\u30BB\u30EB)","Failed to authenticate. Message: {{message}}":"\u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u30E1\u30C3\u30BB\u30FC\u30B8: {{message}}","Authenticated successfully with {{authType}} credentials.":"{{authType}} \u8A8D\u8A3C\u60C5\u5831\u3067\u6B63\u5E38\u306B\u8A8D\u8A3C\u3055\u308C\u307E\u3057\u305F",'Invalid MATILDA_DEFAULT_AUTH_TYPE value: "{{value}}". Valid values are: {{validValues}}':'\u7121\u52B9\u306A MATILDA_DEFAULT_AUTH_TYPE \u5024: "{{value}}"\u3002\u6709\u52B9\u306A\u5024: {{validValues}}',"Select Model":"\u30E2\u30C7\u30EB\u3092\u9078\u629E",Modality:"\u30E2\u30C0\u30EA\u30C6\u30A3","Context Window":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30A6\u30A3\u30F3\u30C9\u30A6",text:"\u30C6\u30AD\u30B9\u30C8","text-only":"\u30C6\u30AD\u30B9\u30C8\u306E\u307F",image:"\u753B\u50CF",pdf:"PDF",audio:"\u97F3\u58F0",video:"\u52D5\u753B","not set":"\u672A\u8A2D\u5B9A",none:"\u306A\u3057",unknown:"\u4E0D\u660E","Manage folder trust settings":"\u30D5\u30A9\u30EB\u30C0\u4FE1\u983C\u8A2D\u5B9A\u3092\u7BA1\u7406","Manage permission rules":"permission rules \u3092\u7BA1\u7406",Allow:"\u8A31\u53EF",Ask:"\u78BA\u8A8D",Deny:"\u62D2\u5426",Workspace:"\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9","Matilda won't ask before using allowed tools.":"Matilda \u306F\u8A31\u53EF\u3055\u308C\u305F\u30C4\u30FC\u30EB\u3092\u4F7F\u7528\u3059\u308B\u524D\u306B\u78BA\u8A8D\u3057\u307E\u305B\u3093\u3002","Matilda will ask before using these tools.":"Matilda \u306F\u3053\u308C\u3089\u306E\u30C4\u30FC\u30EB\u3092\u4F7F\u7528\u3059\u308B\u524D\u306B\u78BA\u8A8D\u3057\u307E\u3059\u3002","Matilda is not allowed to use denied tools.":"Matilda \u306F\u62D2\u5426\u3055\u308C\u305F\u30C4\u30FC\u30EB\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002","Manage trusted directories for this workspace.":"\u3053\u306E\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u4FE1\u983C\u6E08\u307F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u7BA1\u7406\u3057\u307E\u3059\u3002","Any use of the {{tool}} tool":"{{tool}} \u30C4\u30FC\u30EB\u306E\u3059\u3079\u3066\u306E\u4F7F\u7528","{{tool}} commands matching '{{pattern}}'":"'{{pattern}}' \u306B\u4E00\u81F4\u3059\u308B {{tool}} \u30B3\u30DE\u30F3\u30C9","From user settings":"\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A\u304B\u3089","From project settings":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u304B\u3089","From session":"\u30BB\u30C3\u30B7\u30E7\u30F3\u304B\u3089","Project settings":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A","Checked in at .matilda/settings.json":".matilda/settings.json \u306B\u30C1\u30A7\u30C3\u30AF\u30A4\u30F3","User settings":"\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A","Saved in at ~/.matilda/settings.json":"~/.matilda/settings.json \u306B\u4FDD\u5B58","Add a new rule\u2026":"\u65B0\u3057\u3044\u30EB\u30FC\u30EB\u3092\u8FFD\u52A0\u2026","Add {{type}} permission rule":"{{type}} permission rule \u3092\u8FFD\u52A0","Permission rules are a tool name, optionally followed by a specifier in parentheses.":"permission rules \u306F\u30C4\u30FC\u30EB\u540D\u3067\u3001\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u62EC\u5F27\u5185\u306B\u6307\u5B9A\u5B50\u3092\u4ED8\u3051\u307E\u3059\u3002","e.g.,":"\u4F8B\uFF1A",or:"\u307E\u305F\u306F","Enter permission rule\u2026":"permission rule \u3092\u5165\u529B\u2026","Enter to submit \xB7 Esc to cancel":"Enter \u3067\u9001\u4FE1 \xB7 Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB","Where should this rule be saved?":"\u3053\u306E\u30EB\u30FC\u30EB\u3092\u3069\u3053\u306B\u4FDD\u5B58\u3057\u307E\u3059\u304B\uFF1F","Enter to confirm \xB7 Esc to cancel":"Enter \u3067\u78BA\u8A8D \xB7 Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB","Delete {{type}} rule?":"{{type}}\u30EB\u30FC\u30EB\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F","Are you sure you want to delete this permission rule?":"\u3053\u306E permission rule \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F","Permissions:":"\u6A29\u9650\uFF1A","(\u2190/\u2192 or tab to cycle)":"\uFF08\u2190/\u2192 \u307E\u305F\u306F Tab \u3067\u5207\u66FF\uFF09","Press \u2191\u2193 to navigate \xB7 Enter to select \xB7 Type to search \xB7 Esc to cancel":"\u2191\u2193 \u3067\u30CA\u30D3\u30B2\u30FC\u30C8 \xB7 Enter \u3067\u9078\u629E \xB7 \u5165\u529B\u3067\u691C\u7D22 \xB7 Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB","Search\u2026":"\u691C\u7D22\u2026","Add directory\u2026":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u8FFD\u52A0\u2026","Add directory to workspace":"\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u8FFD\u52A0","Matilda can read files in the workspace, and make edits when auto-accept edits is on.":"Matilda \u306F\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308A\u3001\u81EA\u52D5\u7DE8\u96C6\u627F\u8A8D\u304C\u6709\u52B9\u306A\u5834\u5408\u306F\u7DE8\u96C6\u3092\u884C\u3048\u307E\u3059\u3002","Matilda will be able to read files in this directory and make edits when auto-accept edits is on.":"Matilda \u306F\u3053\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308A\u3001\u81EA\u52D5\u7DE8\u96C6\u627F\u8A8D\u304C\u6709\u52B9\u306A\u5834\u5408\u306F\u7DE8\u96C6\u3092\u884C\u3048\u307E\u3059\u3002","Enter the path to the directory:":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30D1\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:","Enter directory path\u2026":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30D1\u30B9\u3092\u5165\u529B\u2026","Tab to complete \xB7 Enter to add \xB7 Esc to cancel":"Tab \u3067\u88DC\u5B8C \xB7 Enter \u3067\u8FFD\u52A0 \xB7 Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB","Remove directory?":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F","Are you sure you want to remove this directory from the workspace?":"\u3053\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u304B\u3089\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F"," (Original working directory)":" \uFF08\u5143\u306E\u4F5C\u696D\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF09"," (from settings)":" \uFF08\u8A2D\u5B9A\u3088\u308A\uFF09","Directory does not exist.":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002","Path is not a directory.":"\u30D1\u30B9\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002","This directory is already in the workspace.":"\u3053\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u3059\u3067\u306B\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002","Already covered by existing directory: {{dir}}":"\u65E2\u5B58\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3088\u3063\u3066\u65E2\u306B\u30AB\u30D0\u30FC\u3055\u308C\u3066\u3044\u307E\u3059: {{dir}}","Using:":"\u4F7F\u7528\u4E2D:","{{count}} open file":"{{count}} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3044\u3066\u3044\u307E\u3059","{{count}} open files":"{{count}} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3044\u3066\u3044\u307E\u3059","(ctrl+g to view)":"(Ctrl+G \u3067\u8868\u793A)","{{count}} {{name}} file":"{{count}} {{name}} \u30D5\u30A1\u30A4\u30EB","{{count}} {{name}} files":"{{count}} {{name}} \u30D5\u30A1\u30A4\u30EB","{{count}} MCP server":"{{count}} MCP server","{{count}} MCP servers":"{{count}} MCP servers","{{count}} Blocked":"{{count}} \u30D6\u30ED\u30C3\u30AF","(ctrl+t to view)":"(Ctrl+T \u3067\u8868\u793A)","(ctrl+t to toggle)":"(Ctrl+T \u3067\u5207\u308A\u66FF\u3048)","Press Ctrl+C again to exit.":"Ctrl+C \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u7D42\u4E86\u3057\u307E\u3059","Press Ctrl+D again to exit.":"Ctrl+D \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u7D42\u4E86\u3057\u307E\u3059","Press Esc again to clear.":"Esc \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u30AF\u30EA\u30A2\u3057\u307E\u3059","Press \u2191 to edit queued messages":"\u2191 \u3092\u62BC\u3057\u3066\u30AD\u30E5\u30FC\u5185\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u7DE8\u96C6","\u23F3 MCP servers are starting up ({{count}} initializing)...":"\u23F3 MCP servers \u3092\u8D77\u52D5\u4E2D({{count}} \u521D\u671F\u5316\u4E2D)...","Note: First startup may take longer. Tool availability will update automatically.":"\u6CE8: \u521D\u56DE\u8D77\u52D5\u306B\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u30C4\u30FC\u30EB\u306E\u5229\u7528\u53EF\u80FD\u72B6\u6CC1\u306F\u81EA\u52D5\u7684\u306B\u66F4\u65B0\u3055\u308C\u307E\u3059","Starting... (first startup may take longer)":"\u8D77\u52D5\u4E2D...(\u521D\u56DE\u8D77\u52D5\u306B\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059)","{{count}} prompt":"{{count}} \u30D7\u30ED\u30F3\u30D7\u30C8","{{count}} prompts":"{{count}} \u30D7\u30ED\u30F3\u30D7\u30C8","(from {{extensionName}})":"({{extensionName}} \u304B\u3089)",OAuth:"OAuth","OAuth expired":"OAuth \u671F\u9650\u5207\u308C","OAuth not authenticated":"OAuth \u672A\u8A8D\u8A3C","tools and prompts will appear when ready":"\u30C4\u30FC\u30EB\u3068\u30D7\u30ED\u30F3\u30D7\u30C8\u306F\u6E96\u5099\u5B8C\u4E86\u5F8C\u306B\u8868\u793A\u3055\u308C\u307E\u3059","{{count}} tools cached":"{{count}} \u30C4\u30FC\u30EB(\u30AD\u30E3\u30C3\u30B7\u30E5\u6E08\u307F)","Tools:":"\u30C4\u30FC\u30EB:","Parameters:":"\u30D1\u30E9\u30E1\u30FC\u30BF:","Prompts:":"\u30D7\u30ED\u30F3\u30D7\u30C8:",Blocked:"\u30D6\u30ED\u30C3\u30AF","\u{1F4A1} Tips:":"\u{1F4A1} \u30D2\u30F3\u30C8:",Use:"\u4F7F\u7528","to show server and tool descriptions":"\u30B5\u30FC\u30D0\u30FC\u3068\u30C4\u30FC\u30EB\u306E\u8AAC\u660E\u3092\u8868\u793A","to show tool parameter schemas":"tool parameter schemas \u3092\u8868\u793A","to hide descriptions":"\u8AAC\u660E\u3092\u975E\u8868\u793A","to authenticate with OAuth-enabled servers":"OAuth\u5BFE\u5FDC\u30B5\u30FC\u30D0\u30FC\u3067\u8A8D\u8A3C",Press:"\u62BC\u3059","to toggle tool descriptions on/off":"\u30C4\u30FC\u30EB\u8AAC\u660E\u306E\u8868\u793A/\u975E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048","Starting OAuth authentication for MCP server '{{name}}'...":"MCP server '{{name}}' \u306E OAuth \u8A8D\u8A3C\u3092\u958B\u59CB\u4E2D...","Tips:":"\u30D2\u30F3\u30C8\uFF1A","When the yarn gets long, /compress summarises history and frees context.":"\u4F1A\u8A71\u304C\u9577\u304F\u306A\u3063\u305F\u3089 /compress \u3067\u5C65\u6B74\u3092\u8981\u7D04\u3057\u3001\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u89E3\u653E\u3067\u304D\u307E\u3059\u3002","Fresh start with /clear or /new \u2014 the previous yarn stays in history.":"/clear \u307E\u305F\u306F /new \u3067\u65B0\u3057\u3044\u30A2\u30A4\u30C7\u30A2\u3092\u59CB\u3081\u3089\u308C\u307E\u3059\u3002\u524D\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306F\u5C65\u6B74\u306B\u6B8B\u308A\u307E\u3059\u3002","Something crook? /bug sends it to the maintainers.":"\u554F\u984C\u304C\u767A\u751F\u3057\u305F\u3089 /bug \u3067\u30E1\u30F3\u30C6\u30CA\u30FC\u306B\u5831\u544A\u3067\u304D\u307E\u3059\u3002","Switch providers quickly with /auth.":"/auth \u3067\u8A8D\u8A3C\u30BF\u30A4\u30D7\u3092\u3059\u3070\u3084\u304F\u5207\u308A\u66FF\u3048\u3089\u308C\u307E\u3059\u3002","Run any shell command with ! (e.g. !ls) without leaving Matilda.":"Matilda \u304B\u3089 ! \u3092\u4F7F\u3063\u3066\u4EFB\u610F\u306E\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3067\u304D\u307E\u3059\uFF08\u4F8B: !ls\uFF09\u3002","Type / for the command menu \u2014 Tab autocompletes slash commands and saved prompts.":"/ \u3092\u5165\u529B\u3057\u3066\u30B3\u30DE\u30F3\u30C9\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u3092\u958B\u304D\u307E\u3059\u3002Tab \u3067\u30B9\u30E9\u30C3\u30B7\u30E5\u30B3\u30DE\u30F3\u30C9\u3068\u4FDD\u5B58\u6E08\u307F\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u88DC\u5B8C\u3067\u304D\u307E\u3059\u3002","Pick up where you left off with matilda --continue or matilda --resume.":"matilda --continue \u307E\u305F\u306F matilda --resume \u3067\u524D\u306E\u4F1A\u8A71\u3092\u518D\u958B\u3067\u304D\u307E\u3059\u3002","Cycle permission modes with Shift+Tab, or jump with /approval-mode (try bogan for full auto).":"Shift+Tab \u307E\u305F\u306F /approval-mode \u3067\u6A29\u9650\u30E2\u30FC\u30C9\u3092\u3059\u3070\u3084\u304F\u5207\u308A\u66FF\u3048\u3089\u308C\u307E\u3059\u3002","Cycle permission modes with Tab, or jump straight with /approval-mode (try bogan for full auto).":"Tab \u307E\u305F\u306F /approval-mode \u3067\u6A29\u9650\u30E2\u30FC\u30C9\u3092\u3059\u3070\u3084\u304F\u5207\u308A\u66FF\u3048\u3089\u308C\u307E\u3059\u3002","Try /insight for a personalised squiz at patterns in your chat history.":"/insight \u3067\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u304B\u3089\u30D1\u30FC\u30BD\u30CA\u30E9\u30A4\u30BA\u3055\u308C\u305F\u30A4\u30F3\u30B5\u30A4\u30C8\u3092\u751F\u6210\u3067\u304D\u307E\u3059\u3002","Press Ctrl+O for compact mode \u2014 hide tool output and thinking for a cleaner view.":"Ctrl+O \u3067\u30B3\u30F3\u30D1\u30AF\u30C8\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048 \u2014 \u30C4\u30FC\u30EB\u51FA\u529B\u3068\u601D\u8003\u3092\u975E\u8868\u793A\u306B\u3057\u3066\u3059\u3063\u304D\u308A\u8868\u793A\u3002","Drop a MATILDA.md in the project so Matilda keeps persistent context.":"MATILDA.md \u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u3068\u3001Matilda \u306B\u6C38\u7D9A\u7684\u306A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u4E0E\u3048\u3089\u308C\u307E\u3059\u3002","Duck out of the main thread with /btw \u2014 quick side question, same chat.":"\u4F1A\u8A71\u3092\u4E2D\u65AD\u305B\u305A\u306B /btw \u3067\u3061\u3087\u3063\u3068\u3057\u305F\u6A2A\u9053\u306E\u8CEA\u554F\u304C\u3067\u304D\u307E\u3059\u3002","Context is almost full! Run /compress now or start /new to continue.":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u3082\u3046\u3059\u3050\u3044\u3063\u3071\u3044\u3067\u3059\uFF01\u4ECA\u3059\u3050 /compress \u3092\u5B9F\u884C\u3059\u308B\u304B\u3001/new \u3092\u958B\u59CB\u3057\u3066\u7D9A\u3051\u3066\u304F\u3060\u3055\u3044\u3002","Context is getting full. Use /compress to free up space.":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u57CB\u307E\u308A\u3064\u3064\u3042\u308A\u307E\u3059\u3002/compress \u3092\u4F7F\u3063\u3066\u7A7A\u304D\u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002","Conversation getting long? /compress rolls it up and frees context.":"\u4F1A\u8A71\u304C\u9577\u304F\u306A\u308A\u307E\u3057\u305F\u304B\uFF1F /compress \u306F\u5C65\u6B74\u3092\u8981\u7D04\u3057\u3066\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u7A7A\u3051\u307E\u3059\u3002","Agent powering down. Goodbye!":"\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002\u3055\u3088\u3046\u306A\u3089!","To continue this session, run":"\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u7D9A\u884C\u3059\u308B\u306B\u306F\u3001\u6B21\u3092\u5B9F\u884C:","Interaction Summary":"\u30A4\u30F3\u30BF\u30E9\u30AF\u30B7\u30E7\u30F3\u6982\u8981","Session ID:":"\u30BB\u30C3\u30B7\u30E7\u30F3ID:","Tool Calls:":"\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057:","Success Rate:":"\u6210\u529F\u7387:","User Agreement:":"\u30E6\u30FC\u30B6\u30FC\u540C\u610F:",reviewed:"\u30EC\u30D3\u30E5\u30FC\u6E08\u307F","Code Changes:":"\u30B3\u30FC\u30C9\u5909\u66F4:",Performance:"\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9","Wall Time:":"\u7D4C\u904E\u6642\u9593:","Agent Active:":"\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u7A3C\u50CD\u6642\u9593:","API Time:":"API\u6642\u9593:","Tool Time:":"\u30C4\u30FC\u30EB\u6642\u9593:","Session Stats":"\u30BB\u30C3\u30B7\u30E7\u30F3\u7D71\u8A08","Model Usage":"\u30E2\u30C7\u30EB\u4F7F\u7528\u91CF",Reqs:"\u30EA\u30AF\u30A8\u30B9\u30C8","Input Tokens":"\u5165\u529B\u30C8\u30FC\u30AF\u30F3","Output Tokens":"\u51FA\u529B\u30C8\u30FC\u30AF\u30F3","Savings Highlight:":"\u7BC0\u7D04\u30CF\u30A4\u30E9\u30A4\u30C8:","of input tokens were served from the cache, reducing costs.":"\u5165\u529B\u30C8\u30FC\u30AF\u30F3\u304C\u30AD\u30E3\u30C3\u30B7\u30E5\u304B\u3089\u63D0\u4F9B\u3055\u308C\u3001\u30B3\u30B9\u30C8\u3092\u524A\u6E1B\u3057\u307E\u3057\u305F","Tip: For a full token breakdown, run `/stats model`.":"\u30D2\u30F3\u30C8: \u30C8\u30FC\u30AF\u30F3\u306E\u8A73\u7D30\u306A\u5185\u8A33\u306F `/stats model` \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044","Model Stats For Nerds":"\u30DE\u30CB\u30A2\u5411\u3051\u30E2\u30C7\u30EB\u7D71\u8A08","Tool Stats For Nerds":"\u30DE\u30CB\u30A2\u5411\u3051\u30C4\u30FC\u30EB\u7D71\u8A08",Metric:"\u30E1\u30C8\u30EA\u30C3\u30AF",API:"API",Requests:"\u30EA\u30AF\u30A8\u30B9\u30C8",Errors:"\u30A8\u30E9\u30FC","Avg Latency":"\u5E73\u5747\u30EC\u30A4\u30C6\u30F3\u30B7",Tokens:"\u30C8\u30FC\u30AF\u30F3",Total:"\u5408\u8A08",Prompt:"\u30D7\u30ED\u30F3\u30D7\u30C8",Cached:"\u30AD\u30E3\u30C3\u30B7\u30E5",Thoughts:"\u601D\u8003",Output:"\u51FA\u529B","Nothing to show yet \u2014 no API calls this session.":"\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u306FAPI\u547C\u3073\u51FA\u3057\u304C\u884C\u308F\u308C\u3066\u3044\u307E\u305B\u3093","Tool Name":"\u30C4\u30FC\u30EB\u540D",Calls:"\u547C\u3073\u51FA\u3057","Success Rate":"\u6210\u529F\u7387","Avg Duration":"\u5E73\u5747\u6642\u9593","User Decision Summary":"\u30E6\u30FC\u30B6\u30FC\u6C7A\u5B9A\u30B5\u30DE\u30EA\u30FC","Total Reviewed Suggestions:":"\u7DCF\u30EC\u30D3\u30E5\u30FC\u63D0\u6848\u6570:"," \xBB Accepted:":" \xBB \u627F\u8A8D:"," \xBB Rejected:":" \xBB \u5374\u4E0B:"," \xBB Modified:":" \xBB \u5909\u66F4:"," Overall Agreement Rate:":" \u5168\u4F53\u627F\u8A8D\u7387:","No tool calls have been made in this session.":"\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u306F\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u304C\u884C\u308F\u308C\u3066\u3044\u307E\u305B\u3093","Session start time is unavailable, cannot calculate stats.":"\u30BB\u30C3\u30B7\u30E7\u30F3\u958B\u59CB\u6642\u523B\u304C\u5229\u7528\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u7D71\u8A08\u3092\u8A08\u7B97\u3067\u304D\u307E\u305B\u3093",Activity:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3",Efficiency:"\u52B9\u7387",Today:"\u4ECA\u65E5","Token Trend":"Token \u30C8\u30EC\u30F3\u30C9","Cache Hit Rate":"\u30AD\u30E3\u30C3\u30B7\u30E5\u30D2\u30C3\u30C8\u7387","Tool Success":"\u30C4\u30FC\u30EB\u6210\u529F\u7387","Tool Leaderboard":"\u30C4\u30FC\u30EB\u30E9\u30F3\u30AD\u30F3\u30B0",Time:"\u6642\u9593",Success:"\u6210\u529F\u7387",Cache:"\u30AD\u30E3\u30C3\u30B7\u30E5",Latency:"\u30EC\u30A4\u30C6\u30F3\u30B7","Code Impact":"\u30B3\u30FC\u30C9\u5909\u66F4",net:"\u7D14\u5897",streak:"\u9023\u7D9A",best:"\u6700\u9577","Waiting for user confirmation...":"\u30E6\u30FC\u30B6\u30FC\u306E\u78BA\u8A8D\u3092\u5F85\u3063\u3066\u3044\u307E\u3059...","Themes with a bit of home: Wattle, Outback, Reef, Southern Cross \u2014 try /theme.":"Themes with a bit of home: Wattle, Outback, Reef, Southern Cross \u2014 try /theme.","Need a breather? /aussie hops a little Matilda easter egg across the terminal.":"Need a breather? /aussie hops a little Matilda easter egg across the terminal.","Show the {{animal}} hop":"Show the {{animal}} hop",'Unknown Aussie animal "{{name}}". Try: {{animals}}':'Unknown Aussie animal "{{name}}". Try: {{animals}}',WITTY_LOADING_PHRASES:["\u904B\u4EFB\u305B\u3067\u691C\u7D22\u4E2D...","\u4E2D\u306E\u4EBA\u304C\u30BF\u30A4\u30D4\u30F3\u30B0\u4E2D...","\u30ED\u30B8\u30C3\u30AF\u3092\u6700\u9069\u5316\u4E2D...","\u96FB\u5B50\u306E\u6570\u3092\u78BA\u8A8D\u4E2D...","\u5B87\u5B99\u306E\u30D0\u30B0\u3092\u30C1\u30A7\u30C3\u30AF\u4E2D...","\u5927\u91CF\u306E0\u30681\u3092\u30B3\u30F3\u30D1\u30A4\u30EB\u4E2D...","HDD\u3068\u601D\u3044\u51FA\u3092\u30C7\u30D5\u30E9\u30B0\u4E2D...","\u30D3\u30C3\u30C8\u3092\u3053\u3063\u305D\u308A\u5165\u308C\u66FF\u3048\u4E2D...","\u30CB\u30E5\u30FC\u30ED\u30F3\u306E\u63A5\u7D9A\u3092\u518D\u69CB\u7BC9\u4E2D...","\u3069\u3053\u304B\u306B\u884C\u3063\u305F\u30BB\u30DF\u30B3\u30ED\u30F3\u3092\u635C\u7D22\u4E2D...","\u30D5\u30E9\u30C3\u30AF\u30B9\u30AD\u30E3\u30D1\u30B7\u30BF\u3092\u8ABF\u6574\u4E2D...","\u30D5\u30A9\u30FC\u30B9\u3068\u4EA4\u611F\u4E2D...","\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u3092\u30C1\u30E5\u30FC\u30CB\u30F3\u30B0\u4E2D...","\u767D\u3044\u30A6\u30B5\u30AE\u3092\u8FFD\u8DE1\u4E2D...","\u30AB\u30BB\u30C3\u30C8\u30D5\u30FC\u30D5\u30FC\u4E2D...","\u30ED\u30FC\u30C7\u30A3\u30F3\u30B0\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8003\u3048\u4E2D...","\u307B\u307C\u5B8C\u4E86...\u591A\u5206...","\u6700\u65B0\u306E\u30DF\u30FC\u30E0\u306B\u3064\u3044\u3066\u8ABF\u67FB\u4E2D...","\u3053\u306E\u8868\u793A\u3092\u6539\u5584\u3059\u308B\u30A2\u30A4\u30C7\u30A2\u3092\u601D\u7D22\u4E2D...","\u3053\u306E\u554F\u984C\u3092\u8003\u3048\u4E2D...","\u305D\u308C\u306F\u30D0\u30B0\u3067\u306A\u304F\u8AB0\u3082\u77E5\u3089\u306A\u3044\u65B0\u6A5F\u80FD\u3060\u3088","\u30C0\u30A4\u30E4\u30EB\u30A2\u30C3\u30D7\u63A5\u7D9A\u97F3\u304C\u7D42\u308F\u308B\u306E\u3092\u5F85\u6A5F\u4E2D...","\u30B3\u30FC\u30C9\u306B\u6CB9\u3092\u8FFD\u52A0\u4E2D...","\u30A4\u30E4\u30DB\u30F3\u3092\u307B\u3069\u304D\u4E2D...","\u30AB\u30D5\u30A7\u30A4\u30F3\u3092\u30B3\u30FC\u30C9\u306B\u5909\u63DB\u4E2D...","\u5929\u52D5\u8AAC\u3092\u5730\u52D5\u8AAC\u306B\u66F8\u304D\u63DB\u3048\u4E2D...","\u30D7\u30FC\u30EB\u3067\u6642\u8A08\u306E\u5B8C\u6210\u3092\u5F85\u6A5F\u4E2D...","\u7B11\u6483\u7684\u306A\u56DE\u7B54\u3092\u7528\u610F\u4E2D...","\u9069\u5207\u306A\u30DF\u30FC\u30E0\u3092\u8A18\u8FF0\u4E2D...","A\u30DC\u30BF\u30F3\u3092\u62BC\u3057\u3066\u6B21\u3078...","\u30B3\u30FC\u30C9\u306B\u30EA\u30C3\u30AF\u30ED\u30FC\u30EB\u3092\u4ED5\u8FBC\u307F\u4E2D...","\u30D7\u30ED\u30B0\u30E9\u30DE\u30FC\u304C\u8CA7\u4E4F\u306A\u306E\u306F\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u4F7F\u3044\u3059\u304E\u308B\u304B\u3089...","\u30D7\u30ED\u30B0\u30E9\u30DE\u30FC\u304C\u30C0\u30FC\u30AF\u30E2\u30FC\u30C9\u306A\u306E\u306F\u30D0\u30B0\u3092\u898B\u305F\u304F\u306A\u3044\u304B\u3089...","\u30B3\u30FC\u30C9\u304C\u58CA\u308C\u305F?\u53E9\u3051\u3070\u6CBB\u308B\u3055","USB\u306E\u5DEE\u3057\u8FBC\u307F\u306B\u6311\u6226\u4E2D..."],"You can configure your API key and models in settings.json":"settings.json \u3067 API Key \u3068\u30E2\u30C7\u30EB\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u3059","Refer to the documentation for setup instructions":"\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u624B\u9806\u306F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044","API key cannot be empty.":"API Key \u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093\u3002",Custom:"\u30AB\u30B9\u30BF\u30E0","Choose based on where your account is registered":"\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u767B\u9332\u5148\u306B\u5FDC\u3058\u3066\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044","New model configurations are available for {{region}}. Update now?":"{{region}} \u306E\u65B0\u3057\u3044\u30E2\u30C7\u30EB\u8A2D\u5B9A\u304C\u5229\u7528\u53EF\u80FD\u3067\u3059\u3002\u4ECA\u3059\u3050\u66F4\u65B0\u3057\u307E\u3059\u304B\uFF1F",'{{region}} configuration updated successfully. Model switched to "{{model}}".':'{{region}} \u306E\u8A2D\u5B9A\u304C\u6B63\u5E38\u306B\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002\u30E2\u30C7\u30EB\u304C "{{model}}" \u306B\u5207\u308A\u66FF\u308F\u308A\u307E\u3057\u305F\u3002',"Context Usage":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u4F7F\u7528\u91CF","% used":"% \u4F7F\u7528","% context used":"% \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u4F7F\u7528","Context exceeds limit! Use /compress or /clear to reduce.":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u5236\u9650\u3092\u8D85\u3048\u3066\u3044\u307E\u3059\uFF01/compress \u307E\u305F\u306F /clear \u3092\u4F7F\u7528\u3057\u3066\u6E1B\u3089\u3057\u3066\u304F\u3060\u3055\u3044\u3002","No API response yet. Send a message to see actual usage.":"API\u5FDC\u7B54\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3057\u3066\u5B9F\u969B\u306E\u4F7F\u7528\u91CF\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002","Estimated pre-conversation overhead":"\u63A8\u5B9A\u4E8B\u524D\u4F1A\u8A71\u30AA\u30FC\u30D0\u30FC\u30D8\u30C3\u30C9","Context window":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30A6\u30A3\u30F3\u30C9\u30A6",tokens:"\u30C8\u30FC\u30AF\u30F3",Used:"\u4F7F\u7528\u6E08\u307F",Free:"\u7A7A\u304D","Autocompact buffer":"\u81EA\u52D5\u5727\u7E2E\u30D0\u30C3\u30D5\u30A1","Usage by category":"\u30AB\u30C6\u30B4\u30EA\u5225\u306E\u4F7F\u7528\u91CF","System prompt":"\u30B7\u30B9\u30C6\u30E0\u30D7\u30ED\u30F3\u30D7\u30C8","Built-in tools":"\u7D44\u307F\u8FBC\u307F\u30C4\u30FC\u30EB","MCP tools":"MCP tools","Memory files":"\u30E1\u30E2\u30EA\u30D5\u30A1\u30A4\u30EB",Skills:"\u30B9\u30AD\u30EB",Messages:"\u30E1\u30C3\u30BB\u30FC\u30B8","Run /context detail for per-item breakdown.":"/context detail \u3092\u5B9F\u884C\u3059\u308B\u3068\u9805\u76EE\u3054\u3068\u306E\u5185\u8A33\u3092\u8868\u793A\u3057\u307E\u3059\u3002",active:"\u6709\u52B9","body loaded":"\u672C\u6587\u8AAD\u307F\u8FBC\u307F\u6E08\u307F",memory:"\u30E1\u30E2\u30EA","{{region}} configuration updated successfully.":"{{region}} \u306E\u8A2D\u5B9A\u304C\u6B63\u5E38\u306B\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002","Authenticated successfully with {{region}}. API key and model configs saved to settings.json.":"{{region}} \u3067\u306E\u8A8D\u8A3C\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002API Key \u3068\u30E2\u30C7\u30EB\u8A2D\u5B9A\u304C settings.json \u306B\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F\u3002","Type something...":"\u4F55\u304B\u5165\u529B...",Submit:"\u9001\u4FE1","Submit answers":"\u56DE\u7B54\u3092\u9001\u4FE1",Cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB","Your answers:":"\u3042\u306A\u305F\u306E\u56DE\u7B54\uFF1A","(not answered)":"(\u672A\u56DE\u7B54)","Ready to submit your answers?":"\u56DE\u7B54\u3092\u9001\u4FE1\u3057\u307E\u3059\u304B\uFF1F","\u2191/\u2193: Navigate | \u2190/\u2192: Switch tabs | Enter: Select":"\u2191/\u2193: \u30CA\u30D3\u30B2\u30FC\u30C8 | \u2190/\u2192: \u30BF\u30D6\u5207\u308A\u66FF\u3048 | Enter: \u9078\u629E","\u2191/\u2193: Navigate | Enter: Select | Esc: Cancel":"\u2191/\u2193: \u30CA\u30D3\u30B2\u30FC\u30C8 | Enter: \u9078\u629E | Esc: \u30AD\u30E3\u30F3\u30BB\u30EB","Authenticate using Matilda OAuth":"Matilda OAuth \u3067\u8A8D\u8A3C\u3059\u308B","Show current authentication status":"\u73FE\u5728\u306E\u8A8D\u8A3C\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u8868\u793A","Authentication completed successfully.":"\u8A8D\u8A3C\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002","Starting Matilda OAuth authentication...":"Matilda OAuth \u8A8D\u8A3C\u3092\u958B\u59CB\u3057\u3066\u3044\u307E\u3059...","Successfully authenticated with Matilda OAuth.":"Matilda OAuth \u3067\u306E\u8A8D\u8A3C\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002","Failed to authenticate with Matilda OAuth: {{error}}":"Matilda OAuth \u3067\u306E\u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {{error}}",Global:"\u30B0\u30ED\u30FC\u30D0\u30EB","Select authentication method:":"\u8A8D\u8A3C\u65B9\u6CD5\u3092\u9078\u629E:","\n=== Authentication Status ===\n":`
|
|
9
|
+
`,"Bring your own API key":"\u81EA\u5206\u306E API Key \u3092\u4F7F\u7528","Browser-based authentication with third-party providers (e.g. OpenRouter, ModelScope)":"\u30B5\u30FC\u30C9\u30D1\u30FC\u30C6\u30A3\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u306B\u3088\u308B\u30D6\u30E9\u30A6\u30B6\u30D9\u30FC\u30B9\u306E\u8A8D\u8A3C\uFF08\u4F8B\uFF1AOpenRouter\u3001ModelScope\uFF09","Authentication is enforced to be {{enforcedType}}, but you are currently using {{currentType}}.":"\u8A8D\u8A3C\u306F {{enforcedType}} \u306B\u5F37\u5236\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u73FE\u5728 {{currentType}} \u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059","Matilda OAuth Authentication":"Matilda OAuth\u8A8D\u8A3C","Please visit this URL to authorize:":"\u8A8D\u8A3C\u3059\u308B\u306B\u306F\u4EE5\u4E0B\u306EURL\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u3066\u304F\u3060\u3055\u3044:","Waiting for authorization":"\u8A8D\u8A3C\u3092\u5F85\u3063\u3066\u3044\u307E\u3059","Time remaining:":"\u6B8B\u308A\u6642\u9593:","Matilda OAuth Authentication Timeout":"Matilda OAuth\u8A8D\u8A3C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8","OAuth token expired (over {{seconds}} seconds). Please select authentication method again.":"OAuth\u30C8\u30FC\u30AF\u30F3\u304C\u671F\u9650\u5207\u308C\u3067\u3059({{seconds}}\u79D2\u4EE5\u4E0A)\u3002\u8A8D\u8A3C\u65B9\u6CD5\u3092\u518D\u5EA6\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044","Press any key to return to authentication type selection.":"\u8A8D\u8A3C\u30BF\u30A4\u30D7\u9078\u629E\u306B\u623B\u308B\u306B\u306F\u4EFB\u610F\u306E\u30AD\u30FC\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044","Waiting for Matilda OAuth authentication...":"Matilda OAuth\u8A8D\u8A3C\u3092\u5F85\u3063\u3066\u3044\u307E\u3059...","Authentication timed out. Please try again.":"\u8A8D\u8A3C\u304C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F\u3002\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044","Waiting for auth... (Press ESC or CTRL+C to cancel)":"\u8A8D\u8A3C\u3092\u5F85\u3063\u3066\u3044\u307E\u3059... (ESC \u307E\u305F\u306F CTRL+C \u3067\u30AD\u30E3\u30F3\u30BB\u30EB)","Failed to authenticate. Message: {{message}}":"\u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u30E1\u30C3\u30BB\u30FC\u30B8: {{message}}","Authenticated successfully with {{authType}} credentials.":"{{authType}} \u8A8D\u8A3C\u60C5\u5831\u3067\u6B63\u5E38\u306B\u8A8D\u8A3C\u3055\u308C\u307E\u3057\u305F",'Invalid MATILDA_DEFAULT_AUTH_TYPE value: "{{value}}". Valid values are: {{validValues}}':'\u7121\u52B9\u306A MATILDA_DEFAULT_AUTH_TYPE \u5024: "{{value}}"\u3002\u6709\u52B9\u306A\u5024: {{validValues}}',"Select Model":"\u30E2\u30C7\u30EB\u3092\u9078\u629E",Modality:"\u30E2\u30C0\u30EA\u30C6\u30A3","Context Window":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30A6\u30A3\u30F3\u30C9\u30A6",text:"\u30C6\u30AD\u30B9\u30C8","text-only":"\u30C6\u30AD\u30B9\u30C8\u306E\u307F",image:"\u753B\u50CF",pdf:"PDF",audio:"\u97F3\u58F0",video:"\u52D5\u753B","not set":"\u672A\u8A2D\u5B9A",none:"\u306A\u3057",unknown:"\u4E0D\u660E","Manage folder trust settings":"\u30D5\u30A9\u30EB\u30C0\u4FE1\u983C\u8A2D\u5B9A\u3092\u7BA1\u7406","Manage permission rules":"permission rules \u3092\u7BA1\u7406",Allow:"\u8A31\u53EF",Ask:"\u78BA\u8A8D",Deny:"\u62D2\u5426",Workspace:"\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9","Matilda won't ask before using allowed tools.":"Matilda \u306F\u8A31\u53EF\u3055\u308C\u305F\u30C4\u30FC\u30EB\u3092\u4F7F\u7528\u3059\u308B\u524D\u306B\u78BA\u8A8D\u3057\u307E\u305B\u3093\u3002","Matilda will ask before using these tools.":"Matilda \u306F\u3053\u308C\u3089\u306E\u30C4\u30FC\u30EB\u3092\u4F7F\u7528\u3059\u308B\u524D\u306B\u78BA\u8A8D\u3057\u307E\u3059\u3002","Matilda is not allowed to use denied tools.":"Matilda \u306F\u62D2\u5426\u3055\u308C\u305F\u30C4\u30FC\u30EB\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002","Manage trusted directories for this workspace.":"\u3053\u306E\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u4FE1\u983C\u6E08\u307F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u7BA1\u7406\u3057\u307E\u3059\u3002","Any use of the {{tool}} tool":"{{tool}} \u30C4\u30FC\u30EB\u306E\u3059\u3079\u3066\u306E\u4F7F\u7528","{{tool}} commands matching '{{pattern}}'":"'{{pattern}}' \u306B\u4E00\u81F4\u3059\u308B {{tool}} \u30B3\u30DE\u30F3\u30C9","From user settings":"\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A\u304B\u3089","From project settings":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u304B\u3089","From session":"\u30BB\u30C3\u30B7\u30E7\u30F3\u304B\u3089","Project settings":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A","Checked in at .matilda/settings.json":".matilda/settings.json \u306B\u30C1\u30A7\u30C3\u30AF\u30A4\u30F3","User settings":"\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A","Saved in at ~/.matilda/settings.json":"~/.matilda/settings.json \u306B\u4FDD\u5B58","Add a new rule\u2026":"\u65B0\u3057\u3044\u30EB\u30FC\u30EB\u3092\u8FFD\u52A0\u2026","Add {{type}} permission rule":"{{type}} permission rule \u3092\u8FFD\u52A0","Permission rules are a tool name, optionally followed by a specifier in parentheses.":"permission rules \u306F\u30C4\u30FC\u30EB\u540D\u3067\u3001\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u62EC\u5F27\u5185\u306B\u6307\u5B9A\u5B50\u3092\u4ED8\u3051\u307E\u3059\u3002","e.g.,":"\u4F8B\uFF1A",or:"\u307E\u305F\u306F","Enter permission rule\u2026":"permission rule \u3092\u5165\u529B\u2026","Enter to submit \xB7 Esc to cancel":"Enter \u3067\u9001\u4FE1 \xB7 Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB","Where should this rule be saved?":"\u3053\u306E\u30EB\u30FC\u30EB\u3092\u3069\u3053\u306B\u4FDD\u5B58\u3057\u307E\u3059\u304B\uFF1F","Enter to confirm \xB7 Esc to cancel":"Enter \u3067\u78BA\u8A8D \xB7 Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB","Delete {{type}} rule?":"{{type}}\u30EB\u30FC\u30EB\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F","Are you sure you want to delete this permission rule?":"\u3053\u306E permission rule \u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F","Permissions:":"\u6A29\u9650\uFF1A","(\u2190/\u2192 or tab to cycle)":"\uFF08\u2190/\u2192 \u307E\u305F\u306F Tab \u3067\u5207\u66FF\uFF09","Press \u2191\u2193 to navigate \xB7 Enter to select \xB7 Type to search \xB7 Esc to cancel":"\u2191\u2193 \u3067\u30CA\u30D3\u30B2\u30FC\u30C8 \xB7 Enter \u3067\u9078\u629E \xB7 \u5165\u529B\u3067\u691C\u7D22 \xB7 Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB","Search\u2026":"\u691C\u7D22\u2026","Add directory\u2026":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u8FFD\u52A0\u2026","Add directory to workspace":"\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u8FFD\u52A0","Matilda can read files in the workspace, and make edits when auto-accept edits is on.":"Matilda \u306F\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308A\u3001\u81EA\u52D5\u7DE8\u96C6\u627F\u8A8D\u304C\u6709\u52B9\u306A\u5834\u5408\u306F\u7DE8\u96C6\u3092\u884C\u3048\u307E\u3059\u3002","Matilda will be able to read files in this directory and make edits when auto-accept edits is on.":"Matilda \u306F\u3053\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308A\u3001\u81EA\u52D5\u7DE8\u96C6\u627F\u8A8D\u304C\u6709\u52B9\u306A\u5834\u5408\u306F\u7DE8\u96C6\u3092\u884C\u3048\u307E\u3059\u3002","Enter the path to the directory:":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30D1\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:","Enter directory path\u2026":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30D1\u30B9\u3092\u5165\u529B\u2026","Tab to complete \xB7 Enter to add \xB7 Esc to cancel":"Tab \u3067\u88DC\u5B8C \xB7 Enter \u3067\u8FFD\u52A0 \xB7 Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB","Remove directory?":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F","Are you sure you want to remove this directory from the workspace?":"\u3053\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u304B\u3089\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F"," (Original working directory)":" \uFF08\u5143\u306E\u4F5C\u696D\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF09"," (from settings)":" \uFF08\u8A2D\u5B9A\u3088\u308A\uFF09","Directory does not exist.":"\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002","Path is not a directory.":"\u30D1\u30B9\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002","This directory is already in the workspace.":"\u3053\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u3059\u3067\u306B\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002","Already covered by existing directory: {{dir}}":"\u65E2\u5B58\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3088\u3063\u3066\u65E2\u306B\u30AB\u30D0\u30FC\u3055\u308C\u3066\u3044\u307E\u3059: {{dir}}","Using:":"\u4F7F\u7528\u4E2D:","{{count}} open file":"{{count}} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3044\u3066\u3044\u307E\u3059","{{count}} open files":"{{count}} \u500B\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3044\u3066\u3044\u307E\u3059","(ctrl+g to view)":"(Ctrl+G \u3067\u8868\u793A)","{{count}} {{name}} file":"{{count}} {{name}} \u30D5\u30A1\u30A4\u30EB","{{count}} {{name}} files":"{{count}} {{name}} \u30D5\u30A1\u30A4\u30EB","{{count}} MCP server":"{{count}} MCP server","{{count}} MCP servers":"{{count}} MCP servers","{{count}} Blocked":"{{count}} \u30D6\u30ED\u30C3\u30AF","(ctrl+t to view)":"(Ctrl+T \u3067\u8868\u793A)","(ctrl+t to toggle)":"(Ctrl+T \u3067\u5207\u308A\u66FF\u3048)","Press Ctrl+C again to exit.":"Ctrl+C \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u7D42\u4E86\u3057\u307E\u3059","Press Ctrl+D again to exit.":"Ctrl+D \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u7D42\u4E86\u3057\u307E\u3059","Press Esc again to clear.":"Esc \u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3059\u3068\u30AF\u30EA\u30A2\u3057\u307E\u3059","Press Enter (empty) to send now \xB7 \u2191 to edit":"\u2191 \u3092\u62BC\u3057\u3066\u30AD\u30E5\u30FC\u5185\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u7DE8\u96C6","Steering with queued message\u2026":"Steering with queued message\u2026","Request cancelled.":"Request cancelled.","\u23F3 MCP servers are starting up ({{count}} initializing)...":"\u23F3 MCP servers \u3092\u8D77\u52D5\u4E2D({{count}} \u521D\u671F\u5316\u4E2D)...","Note: First startup may take longer. Tool availability will update automatically.":"\u6CE8: \u521D\u56DE\u8D77\u52D5\u306B\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u30C4\u30FC\u30EB\u306E\u5229\u7528\u53EF\u80FD\u72B6\u6CC1\u306F\u81EA\u52D5\u7684\u306B\u66F4\u65B0\u3055\u308C\u307E\u3059","Starting... (first startup may take longer)":"\u8D77\u52D5\u4E2D...(\u521D\u56DE\u8D77\u52D5\u306B\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059)","{{count}} prompt":"{{count}} \u30D7\u30ED\u30F3\u30D7\u30C8","{{count}} prompts":"{{count}} \u30D7\u30ED\u30F3\u30D7\u30C8","(from {{extensionName}})":"({{extensionName}} \u304B\u3089)",OAuth:"OAuth","OAuth expired":"OAuth \u671F\u9650\u5207\u308C","OAuth not authenticated":"OAuth \u672A\u8A8D\u8A3C","tools and prompts will appear when ready":"\u30C4\u30FC\u30EB\u3068\u30D7\u30ED\u30F3\u30D7\u30C8\u306F\u6E96\u5099\u5B8C\u4E86\u5F8C\u306B\u8868\u793A\u3055\u308C\u307E\u3059","{{count}} tools cached":"{{count}} \u30C4\u30FC\u30EB(\u30AD\u30E3\u30C3\u30B7\u30E5\u6E08\u307F)","Tools:":"\u30C4\u30FC\u30EB:","Parameters:":"\u30D1\u30E9\u30E1\u30FC\u30BF:","Prompts:":"\u30D7\u30ED\u30F3\u30D7\u30C8:",Blocked:"\u30D6\u30ED\u30C3\u30AF","\u{1F4A1} Tips:":"\u{1F4A1} \u30D2\u30F3\u30C8:",Use:"\u4F7F\u7528","to show server and tool descriptions":"\u30B5\u30FC\u30D0\u30FC\u3068\u30C4\u30FC\u30EB\u306E\u8AAC\u660E\u3092\u8868\u793A","to show tool parameter schemas":"tool parameter schemas \u3092\u8868\u793A","to hide descriptions":"\u8AAC\u660E\u3092\u975E\u8868\u793A","to authenticate with OAuth-enabled servers":"OAuth\u5BFE\u5FDC\u30B5\u30FC\u30D0\u30FC\u3067\u8A8D\u8A3C",Press:"\u62BC\u3059","to toggle tool descriptions on/off":"\u30C4\u30FC\u30EB\u8AAC\u660E\u306E\u8868\u793A/\u975E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048","Starting OAuth authentication for MCP server '{{name}}'...":"MCP server '{{name}}' \u306E OAuth \u8A8D\u8A3C\u3092\u958B\u59CB\u4E2D...","Tips:":"\u30D2\u30F3\u30C8\uFF1A","When the yarn gets long, /compress summarises history and frees context.":"\u4F1A\u8A71\u304C\u9577\u304F\u306A\u3063\u305F\u3089 /compress \u3067\u5C65\u6B74\u3092\u8981\u7D04\u3057\u3001\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u89E3\u653E\u3067\u304D\u307E\u3059\u3002","Fresh start with /clear or /new \u2014 the previous yarn stays in history.":"/clear \u307E\u305F\u306F /new \u3067\u65B0\u3057\u3044\u30A2\u30A4\u30C7\u30A2\u3092\u59CB\u3081\u3089\u308C\u307E\u3059\u3002\u524D\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306F\u5C65\u6B74\u306B\u6B8B\u308A\u307E\u3059\u3002","Something crook? /bug sends it to the maintainers.":"\u554F\u984C\u304C\u767A\u751F\u3057\u305F\u3089 /bug \u3067\u30E1\u30F3\u30C6\u30CA\u30FC\u306B\u5831\u544A\u3067\u304D\u307E\u3059\u3002","Switch providers quickly with /auth.":"/auth \u3067\u8A8D\u8A3C\u30BF\u30A4\u30D7\u3092\u3059\u3070\u3084\u304F\u5207\u308A\u66FF\u3048\u3089\u308C\u307E\u3059\u3002","Run any shell command with ! (e.g. !ls) without leaving Matilda.":"Matilda \u304B\u3089 ! \u3092\u4F7F\u3063\u3066\u4EFB\u610F\u306E\u30B7\u30A7\u30EB\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3067\u304D\u307E\u3059\uFF08\u4F8B: !ls\uFF09\u3002","Type / for the command menu \u2014 Tab autocompletes slash commands and saved prompts.":"/ \u3092\u5165\u529B\u3057\u3066\u30B3\u30DE\u30F3\u30C9\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u3092\u958B\u304D\u307E\u3059\u3002Tab \u3067\u30B9\u30E9\u30C3\u30B7\u30E5\u30B3\u30DE\u30F3\u30C9\u3068\u4FDD\u5B58\u6E08\u307F\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u88DC\u5B8C\u3067\u304D\u307E\u3059\u3002","Pick up where you left off with matilda --continue or matilda --resume.":"matilda --continue \u307E\u305F\u306F matilda --resume \u3067\u524D\u306E\u4F1A\u8A71\u3092\u518D\u958B\u3067\u304D\u307E\u3059\u3002","Cycle permission modes with Shift+Tab, or jump with /approval-mode (try bogan for full auto).":"Shift+Tab \u307E\u305F\u306F /approval-mode \u3067\u6A29\u9650\u30E2\u30FC\u30C9\u3092\u3059\u3070\u3084\u304F\u5207\u308A\u66FF\u3048\u3089\u308C\u307E\u3059\u3002","Cycle permission modes with Tab, or jump straight with /approval-mode (try bogan for full auto).":"Tab \u307E\u305F\u306F /approval-mode \u3067\u6A29\u9650\u30E2\u30FC\u30C9\u3092\u3059\u3070\u3084\u304F\u5207\u308A\u66FF\u3048\u3089\u308C\u307E\u3059\u3002","Try /insight for a personalised squiz at patterns in your chat history.":"/insight \u3067\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u304B\u3089\u30D1\u30FC\u30BD\u30CA\u30E9\u30A4\u30BA\u3055\u308C\u305F\u30A4\u30F3\u30B5\u30A4\u30C8\u3092\u751F\u6210\u3067\u304D\u307E\u3059\u3002","Press Ctrl+O for compact mode \u2014 hide tool output and thinking for a cleaner view.":"Ctrl+O \u3067\u30B3\u30F3\u30D1\u30AF\u30C8\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048 \u2014 \u30C4\u30FC\u30EB\u51FA\u529B\u3068\u601D\u8003\u3092\u975E\u8868\u793A\u306B\u3057\u3066\u3059\u3063\u304D\u308A\u8868\u793A\u3002","Drop a MATILDA.md in the project so Matilda keeps persistent context.":"MATILDA.md \u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u3068\u3001Matilda \u306B\u6C38\u7D9A\u7684\u306A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u4E0E\u3048\u3089\u308C\u307E\u3059\u3002","Duck out of the main thread with /btw \u2014 quick side question, same chat.":"\u4F1A\u8A71\u3092\u4E2D\u65AD\u305B\u305A\u306B /btw \u3067\u3061\u3087\u3063\u3068\u3057\u305F\u6A2A\u9053\u306E\u8CEA\u554F\u304C\u3067\u304D\u307E\u3059\u3002","Context is almost full! Run /compress now or start /new to continue.":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u3082\u3046\u3059\u3050\u3044\u3063\u3071\u3044\u3067\u3059\uFF01\u4ECA\u3059\u3050 /compress \u3092\u5B9F\u884C\u3059\u308B\u304B\u3001/new \u3092\u958B\u59CB\u3057\u3066\u7D9A\u3051\u3066\u304F\u3060\u3055\u3044\u3002","Context is getting full. Use /compress to free up space.":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u57CB\u307E\u308A\u3064\u3064\u3042\u308A\u307E\u3059\u3002/compress \u3092\u4F7F\u3063\u3066\u7A7A\u304D\u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002","Conversation getting long? /compress rolls it up and frees context.":"\u4F1A\u8A71\u304C\u9577\u304F\u306A\u308A\u307E\u3057\u305F\u304B\uFF1F /compress \u306F\u5C65\u6B74\u3092\u8981\u7D04\u3057\u3066\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u7A7A\u3051\u307E\u3059\u3002","Time for Matilda to sleep. Catchya!":"Matilda\u3001\u304A\u3084\u3059\u307F\u306E\u6642\u9593\u3067\u3059\u3002\u307E\u305F\u306A\uFF01","To continue this session, run":"\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u7D9A\u884C\u3059\u308B\u306B\u306F\u3001\u6B21\u3092\u5B9F\u884C:","Interaction Summary":"\u30A4\u30F3\u30BF\u30E9\u30AF\u30B7\u30E7\u30F3\u6982\u8981","Session ID:":"\u30BB\u30C3\u30B7\u30E7\u30F3ID:","Tool Calls:":"\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057:","Success Rate:":"\u6210\u529F\u7387:","User Agreement:":"\u30E6\u30FC\u30B6\u30FC\u540C\u610F:",reviewed:"\u30EC\u30D3\u30E5\u30FC\u6E08\u307F","Code Changes:":"\u30B3\u30FC\u30C9\u5909\u66F4:",Performance:"\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9","Wall Time:":"\u7D4C\u904E\u6642\u9593:","Agent Active:":"\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u7A3C\u50CD\u6642\u9593:","API Time:":"API\u6642\u9593:","Tool Time:":"\u30C4\u30FC\u30EB\u6642\u9593:","Session Stats":"\u30BB\u30C3\u30B7\u30E7\u30F3\u7D71\u8A08","Model Usage":"\u30E2\u30C7\u30EB\u4F7F\u7528\u91CF",Reqs:"\u30EA\u30AF\u30A8\u30B9\u30C8","Input Tokens":"\u5165\u529B\u30C8\u30FC\u30AF\u30F3","Output Tokens":"\u51FA\u529B\u30C8\u30FC\u30AF\u30F3","Savings Highlight:":"\u7BC0\u7D04\u30CF\u30A4\u30E9\u30A4\u30C8:","of input tokens were served from the cache, reducing costs.":"\u5165\u529B\u30C8\u30FC\u30AF\u30F3\u304C\u30AD\u30E3\u30C3\u30B7\u30E5\u304B\u3089\u63D0\u4F9B\u3055\u308C\u3001\u30B3\u30B9\u30C8\u3092\u524A\u6E1B\u3057\u307E\u3057\u305F","Tip: For a full token breakdown, run `/stats model`.":"\u30D2\u30F3\u30C8: \u30C8\u30FC\u30AF\u30F3\u306E\u8A73\u7D30\u306A\u5185\u8A33\u306F `/stats model` \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044","Model Stats For Nerds":"\u30DE\u30CB\u30A2\u5411\u3051\u30E2\u30C7\u30EB\u7D71\u8A08","Tool Stats For Nerds":"\u30DE\u30CB\u30A2\u5411\u3051\u30C4\u30FC\u30EB\u7D71\u8A08",Metric:"\u30E1\u30C8\u30EA\u30C3\u30AF",API:"API",Requests:"\u30EA\u30AF\u30A8\u30B9\u30C8",Errors:"\u30A8\u30E9\u30FC","Avg Latency":"\u5E73\u5747\u30EC\u30A4\u30C6\u30F3\u30B7",Tokens:"\u30C8\u30FC\u30AF\u30F3",Total:"\u5408\u8A08",Prompt:"\u30D7\u30ED\u30F3\u30D7\u30C8",Cached:"\u30AD\u30E3\u30C3\u30B7\u30E5",Thoughts:"\u601D\u8003",Output:"\u51FA\u529B","Nothing to show yet \u2014 no API calls this session.":"\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u306FAPI\u547C\u3073\u51FA\u3057\u304C\u884C\u308F\u308C\u3066\u3044\u307E\u305B\u3093","Tool Name":"\u30C4\u30FC\u30EB\u540D",Calls:"\u547C\u3073\u51FA\u3057","Success Rate":"\u6210\u529F\u7387","Avg Duration":"\u5E73\u5747\u6642\u9593","User Decision Summary":"\u30E6\u30FC\u30B6\u30FC\u6C7A\u5B9A\u30B5\u30DE\u30EA\u30FC","Total Reviewed Suggestions:":"\u7DCF\u30EC\u30D3\u30E5\u30FC\u63D0\u6848\u6570:"," \xBB Accepted:":" \xBB \u627F\u8A8D:"," \xBB Rejected:":" \xBB \u5374\u4E0B:"," \xBB Modified:":" \xBB \u5909\u66F4:"," Overall Agreement Rate:":" \u5168\u4F53\u627F\u8A8D\u7387:","No tool calls have been made in this session.":"\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u306F\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u304C\u884C\u308F\u308C\u3066\u3044\u307E\u305B\u3093","Session start time is unavailable, cannot calculate stats.":"\u30BB\u30C3\u30B7\u30E7\u30F3\u958B\u59CB\u6642\u523B\u304C\u5229\u7528\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u7D71\u8A08\u3092\u8A08\u7B97\u3067\u304D\u307E\u305B\u3093",Activity:"\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3",Efficiency:"\u52B9\u7387",Today:"\u4ECA\u65E5","Token Trend":"Token \u30C8\u30EC\u30F3\u30C9","Cache Hit Rate":"\u30AD\u30E3\u30C3\u30B7\u30E5\u30D2\u30C3\u30C8\u7387","Tool Success":"\u30C4\u30FC\u30EB\u6210\u529F\u7387","Tool Leaderboard":"\u30C4\u30FC\u30EB\u30E9\u30F3\u30AD\u30F3\u30B0",Time:"\u6642\u9593",Success:"\u6210\u529F\u7387",Cache:"\u30AD\u30E3\u30C3\u30B7\u30E5",Latency:"\u30EC\u30A4\u30C6\u30F3\u30B7","Code Impact":"\u30B3\u30FC\u30C9\u5909\u66F4",net:"\u7D14\u5897",streak:"\u9023\u7D9A",best:"\u6700\u9577","Waiting for user confirmation...":"\u30E6\u30FC\u30B6\u30FC\u306E\u78BA\u8A8D\u3092\u5F85\u3063\u3066\u3044\u307E\u3059...","Themes with a bit of home: Wattle, Outback, Reef, Southern Cross \u2014 try /theme.":"Themes with a bit of home: Wattle, Outback, Reef, Southern Cross \u2014 try /theme.","Need a breather? /aussie hops a little Matilda easter egg across the terminal.":"Need a breather? /aussie hops a little Matilda easter egg across the terminal.","Show the {{animal}} hop":"Show the {{animal}} hop",'Unknown Aussie animal "{{name}}". Try: {{animals}}':'Unknown Aussie animal "{{name}}". Try: {{animals}}',WITTY_LOADING_PHRASES:["\u904B\u4EFB\u305B\u3067\u691C\u7D22\u4E2D...","\u4E2D\u306E\u4EBA\u304C\u30BF\u30A4\u30D4\u30F3\u30B0\u4E2D...","\u30ED\u30B8\u30C3\u30AF\u3092\u6700\u9069\u5316\u4E2D...","\u96FB\u5B50\u306E\u6570\u3092\u78BA\u8A8D\u4E2D...","\u5B87\u5B99\u306E\u30D0\u30B0\u3092\u30C1\u30A7\u30C3\u30AF\u4E2D...","\u5927\u91CF\u306E0\u30681\u3092\u30B3\u30F3\u30D1\u30A4\u30EB\u4E2D...","HDD\u3068\u601D\u3044\u51FA\u3092\u30C7\u30D5\u30E9\u30B0\u4E2D...","\u30D3\u30C3\u30C8\u3092\u3053\u3063\u305D\u308A\u5165\u308C\u66FF\u3048\u4E2D...","\u30CB\u30E5\u30FC\u30ED\u30F3\u306E\u63A5\u7D9A\u3092\u518D\u69CB\u7BC9\u4E2D...","\u3069\u3053\u304B\u306B\u884C\u3063\u305F\u30BB\u30DF\u30B3\u30ED\u30F3\u3092\u635C\u7D22\u4E2D...","\u30D5\u30E9\u30C3\u30AF\u30B9\u30AD\u30E3\u30D1\u30B7\u30BF\u3092\u8ABF\u6574\u4E2D...","\u30D5\u30A9\u30FC\u30B9\u3068\u4EA4\u611F\u4E2D...","\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u3092\u30C1\u30E5\u30FC\u30CB\u30F3\u30B0\u4E2D...","\u767D\u3044\u30A6\u30B5\u30AE\u3092\u8FFD\u8DE1\u4E2D...","\u30AB\u30BB\u30C3\u30C8\u30D5\u30FC\u30D5\u30FC\u4E2D...","\u30ED\u30FC\u30C7\u30A3\u30F3\u30B0\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8003\u3048\u4E2D...","\u307B\u307C\u5B8C\u4E86...\u591A\u5206...","\u6700\u65B0\u306E\u30DF\u30FC\u30E0\u306B\u3064\u3044\u3066\u8ABF\u67FB\u4E2D...","\u3053\u306E\u8868\u793A\u3092\u6539\u5584\u3059\u308B\u30A2\u30A4\u30C7\u30A2\u3092\u601D\u7D22\u4E2D...","\u3053\u306E\u554F\u984C\u3092\u8003\u3048\u4E2D...","\u305D\u308C\u306F\u30D0\u30B0\u3067\u306A\u304F\u8AB0\u3082\u77E5\u3089\u306A\u3044\u65B0\u6A5F\u80FD\u3060\u3088","\u30C0\u30A4\u30E4\u30EB\u30A2\u30C3\u30D7\u63A5\u7D9A\u97F3\u304C\u7D42\u308F\u308B\u306E\u3092\u5F85\u6A5F\u4E2D...","\u30B3\u30FC\u30C9\u306B\u6CB9\u3092\u8FFD\u52A0\u4E2D...","\u30A4\u30E4\u30DB\u30F3\u3092\u307B\u3069\u304D\u4E2D...","\u30AB\u30D5\u30A7\u30A4\u30F3\u3092\u30B3\u30FC\u30C9\u306B\u5909\u63DB\u4E2D...","\u5929\u52D5\u8AAC\u3092\u5730\u52D5\u8AAC\u306B\u66F8\u304D\u63DB\u3048\u4E2D...","\u30D7\u30FC\u30EB\u3067\u6642\u8A08\u306E\u5B8C\u6210\u3092\u5F85\u6A5F\u4E2D...","\u7B11\u6483\u7684\u306A\u56DE\u7B54\u3092\u7528\u610F\u4E2D...","\u9069\u5207\u306A\u30DF\u30FC\u30E0\u3092\u8A18\u8FF0\u4E2D...","A\u30DC\u30BF\u30F3\u3092\u62BC\u3057\u3066\u6B21\u3078...","\u30B3\u30FC\u30C9\u306B\u30EA\u30C3\u30AF\u30ED\u30FC\u30EB\u3092\u4ED5\u8FBC\u307F\u4E2D...","\u30D7\u30ED\u30B0\u30E9\u30DE\u30FC\u304C\u8CA7\u4E4F\u306A\u306E\u306F\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u4F7F\u3044\u3059\u304E\u308B\u304B\u3089...","\u30D7\u30ED\u30B0\u30E9\u30DE\u30FC\u304C\u30C0\u30FC\u30AF\u30E2\u30FC\u30C9\u306A\u306E\u306F\u30D0\u30B0\u3092\u898B\u305F\u304F\u306A\u3044\u304B\u3089...","\u30B3\u30FC\u30C9\u304C\u58CA\u308C\u305F?\u53E9\u3051\u3070\u6CBB\u308B\u3055","USB\u306E\u5DEE\u3057\u8FBC\u307F\u306B\u6311\u6226\u4E2D..."],"You can configure your API key and models in settings.json":"settings.json \u3067 API Key \u3068\u30E2\u30C7\u30EB\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u3059","Refer to the documentation for setup instructions":"\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u624B\u9806\u306F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044","API key cannot be empty.":"API Key \u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093\u3002",Custom:"\u30AB\u30B9\u30BF\u30E0","Choose based on where your account is registered":"\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u767B\u9332\u5148\u306B\u5FDC\u3058\u3066\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044","New model configurations are available for {{region}}. Update now?":"{{region}} \u306E\u65B0\u3057\u3044\u30E2\u30C7\u30EB\u8A2D\u5B9A\u304C\u5229\u7528\u53EF\u80FD\u3067\u3059\u3002\u4ECA\u3059\u3050\u66F4\u65B0\u3057\u307E\u3059\u304B\uFF1F",'{{region}} configuration updated successfully. Model switched to "{{model}}".':'{{region}} \u306E\u8A2D\u5B9A\u304C\u6B63\u5E38\u306B\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002\u30E2\u30C7\u30EB\u304C "{{model}}" \u306B\u5207\u308A\u66FF\u308F\u308A\u307E\u3057\u305F\u3002',"Context Usage":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u4F7F\u7528\u91CF","% used":"% \u4F7F\u7528","% context used":"% \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u4F7F\u7528","Context exceeds limit! Use /compress or /clear to reduce.":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u5236\u9650\u3092\u8D85\u3048\u3066\u3044\u307E\u3059\uFF01/compress \u307E\u305F\u306F /clear \u3092\u4F7F\u7528\u3057\u3066\u6E1B\u3089\u3057\u3066\u304F\u3060\u3055\u3044\u3002","No API response yet. Send a message to see actual usage.":"API\u5FDC\u7B54\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3057\u3066\u5B9F\u969B\u306E\u4F7F\u7528\u91CF\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002","Estimated pre-conversation overhead":"\u63A8\u5B9A\u4E8B\u524D\u4F1A\u8A71\u30AA\u30FC\u30D0\u30FC\u30D8\u30C3\u30C9","Context window":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30A6\u30A3\u30F3\u30C9\u30A6",tokens:"\u30C8\u30FC\u30AF\u30F3",Used:"\u4F7F\u7528\u6E08\u307F",Free:"\u7A7A\u304D","Autocompact buffer":"\u81EA\u52D5\u5727\u7E2E\u30D0\u30C3\u30D5\u30A1","Usage by category":"\u30AB\u30C6\u30B4\u30EA\u5225\u306E\u4F7F\u7528\u91CF","System prompt":"\u30B7\u30B9\u30C6\u30E0\u30D7\u30ED\u30F3\u30D7\u30C8","Built-in tools":"\u7D44\u307F\u8FBC\u307F\u30C4\u30FC\u30EB","MCP tools":"MCP tools","Memory files":"\u30E1\u30E2\u30EA\u30D5\u30A1\u30A4\u30EB",Skills:"\u30B9\u30AD\u30EB",Messages:"\u30E1\u30C3\u30BB\u30FC\u30B8","Run /context detail for per-item breakdown.":"/context detail \u3092\u5B9F\u884C\u3059\u308B\u3068\u9805\u76EE\u3054\u3068\u306E\u5185\u8A33\u3092\u8868\u793A\u3057\u307E\u3059\u3002",active:"\u6709\u52B9","body loaded":"\u672C\u6587\u8AAD\u307F\u8FBC\u307F\u6E08\u307F",memory:"\u30E1\u30E2\u30EA","{{region}} configuration updated successfully.":"{{region}} \u306E\u8A2D\u5B9A\u304C\u6B63\u5E38\u306B\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002","Authenticated successfully with {{region}}. API key and model configs saved to settings.json.":"{{region}} \u3067\u306E\u8A8D\u8A3C\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002API Key \u3068\u30E2\u30C7\u30EB\u8A2D\u5B9A\u304C settings.json \u306B\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F\u3002","Type something...":"\u4F55\u304B\u5165\u529B...",Submit:"\u9001\u4FE1","Submit answers":"\u56DE\u7B54\u3092\u9001\u4FE1",Cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB","Your answers:":"\u3042\u306A\u305F\u306E\u56DE\u7B54\uFF1A","(not answered)":"(\u672A\u56DE\u7B54)","Ready to submit your answers?":"\u56DE\u7B54\u3092\u9001\u4FE1\u3057\u307E\u3059\u304B\uFF1F","\u2191/\u2193: Navigate | \u2190/\u2192: Switch tabs | Enter: Select":"\u2191/\u2193: \u30CA\u30D3\u30B2\u30FC\u30C8 | \u2190/\u2192: \u30BF\u30D6\u5207\u308A\u66FF\u3048 | Enter: \u9078\u629E","\u2191/\u2193: Navigate | Enter: Select | Esc: Cancel":"\u2191/\u2193: \u30CA\u30D3\u30B2\u30FC\u30C8 | Enter: \u9078\u629E | Esc: \u30AD\u30E3\u30F3\u30BB\u30EB","Authenticate using Matilda OAuth":"Matilda OAuth \u3067\u8A8D\u8A3C\u3059\u308B","Show current authentication status":"\u73FE\u5728\u306E\u8A8D\u8A3C\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u8868\u793A","Authentication completed successfully.":"\u8A8D\u8A3C\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002","Starting Matilda OAuth authentication...":"Matilda OAuth \u8A8D\u8A3C\u3092\u958B\u59CB\u3057\u3066\u3044\u307E\u3059...","Successfully authenticated with Matilda OAuth.":"Matilda OAuth \u3067\u306E\u8A8D\u8A3C\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002","Failed to authenticate with Matilda OAuth: {{error}}":"Matilda OAuth \u3067\u306E\u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {{error}}",Global:"\u30B0\u30ED\u30FC\u30D0\u30EB","Select authentication method:":"\u8A8D\u8A3C\u65B9\u6CD5\u3092\u9078\u629E:","\n=== Authentication Status ===\n":`
|
|
10
10
|
=== \u8A8D\u8A3C\u30B9\u30C6\u30FC\u30BF\u30B9 ===
|
|
11
11
|
`,"\u26A0\uFE0F No authentication method configured.\n":`\u26A0\uFE0F \u8A8D\u8A3C\u65B9\u6CD5\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
|
|
12
12
|
`,"Run one of the following commands to get started:\n":`\u4EE5\u4E0B\u306E\u30B3\u30DE\u30F3\u30C9\u306E\u3044\u305A\u308C\u304B\u3092\u5B9F\u884C\u3057\u3066\u958B\u59CB\u3057\u3066\u304F\u3060\u3055\u3044:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import{b as d}from"./chunk-RNKDFE2S.js";import{g as N}from"./chunk-UY2R3ZQ4.js";import{g as C,i as x,p as w,q as F}from"./chunk-
|
|
3
|
+
import{b as d}from"./chunk-RNKDFE2S.js";import{g as N}from"./chunk-UY2R3ZQ4.js";import{g as C,i as x,p as w,q as F}from"./chunk-5U3A6KMU.js";import{A as I,C as S,F as u,G as L,L as R,Y as O,z as E}from"./chunk-QWBNNEV2.js";import"./chunk-FWDMPRKU.js";import{b as v}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";v();import y from"node:fs/promises";import s from"node:path";var A=O("LS"),U=100,T=class extends C{constructor(t,e){super(e);this.config=t}shouldIgnore(t,e){if(!e||e.length===0)return!1;for(let i of e){let a=i.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");if(new RegExp(`^${a}$`).test(t))return!0}return!1}getDescription(){let t=I(this.params.path,this.config.getTargetDir());return E(t)}async getDefaultPermission(){let t=s.resolve(this.params.path),e=this.config.getWorkspaceContext(),i=this.config.storage.getUserSkillsDirs(),a=R.getUserExtensionsDir();return e.isPathWithinWorkspace(t)||L(i,t)||u(a,t)||u(N(),t)?"allow":"ask"}errorResult(t,e,i){return{llmContent:t,returnDisplay:`Error: ${e}`,error:{message:t,type:i}}}async execute(t){try{let e=await y.stat(this.params.path);if(!e)return this.errorResult(`Error: Directory not found or inaccessible: ${this.params.path}`,"Directory not found or inaccessible.","file_not_found");if(!e.isDirectory())return this.errorResult(`Error: Path is not a directory: ${this.params.path}`,"Path is not a directory.","path_is_not_a_directory");let i=await y.readdir(this.params.path);if(i.length===0)return{llmContent:`Directory ${this.params.path} is empty.`,returnDisplay:"Directory is empty."};let a=i.map(r=>s.relative(this.config.getTargetDir(),s.join(this.params.path,r))),_=this.config.getFileService(),{filteredPaths:k,gitIgnoredCount:P,matildaIgnoredCount:b}=_.filterFilesWithReport(a,{respectGitIgnore:this.params.file_filtering_options?.respect_git_ignore??this.config.getFileFilteringOptions().respectGitIgnore??d.respectGitIgnore,respectMatildaIgnore:this.params.file_filtering_options?.respect_matilda_ignore??this.config.getFileFilteringOptions().respectMatildaIgnore??d.respectMatildaIgnore}),l=[];for(let r of k){let o=s.resolve(this.config.getTargetDir(),r);if(!this.shouldIgnore(s.basename(o),this.params.ignore))try{let c=await y.stat(o),$=c.isDirectory();l.push({name:s.basename(o),path:o,isDirectory:$,size:$?0:c.size,modifiedTime:c.mtime})}catch(c){A.warn(`Error accessing ${o}: ${c}`)}}l.sort((r,o)=>r.isDirectory&&!o.isDirectory?-1:!r.isDirectory&&o.isDirectory?1:r.name.localeCompare(o.name));let p=l.length,g=Math.min(U,this.config.getTruncateToolOutputLines()),m=p>g,W=(m?l.slice(0,g):l).map(r=>`${r.isDirectory?"[DIR] ":""}${r.name}`).join(`
|
|
4
4
|
`),h=`Listed ${p} item(s) in ${this.params.path}:
|
|
5
5
|
---
|
|
6
6
|
${W}`;if(m){let r=p-g;h+=`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import{g as b,i as D,p as R,q as N}from"./chunk-
|
|
3
|
+
import{g as b,i as D,p as R,q as N}from"./chunk-5U3A6KMU.js";import{C as P}from"./chunk-QWBNNEV2.js";import"./chunk-FWDMPRKU.js";import{b as S}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";S();import $ from"node:path";import{fileURLToPath as L,pathToFileURL as q}from"node:url";var O=new Set(["goToDefinition","findReferences","hover","goToImplementation","prepareCallHierarchy"]),A=new Set(["documentSymbol","diagnostics"]),E=new Set(["workspaceSymbol"]),U=new Set(["incomingCalls","outgoingCalls"]),W=new Set(["codeActions"]),C=class extends b{constructor(t,e){super(e);this.config=t}getDescription(){let t=this.getOperationLabel();return this.params.operation==="workspaceSymbol"?`LSP ${t} for "${this.params.query??""}"`:this.params.operation==="documentSymbol"?this.params.filePath?`LSP ${t} for ${this.params.filePath}`:`LSP ${t}`:this.params.operation==="incomingCalls"||this.params.operation==="outgoingCalls"?`LSP ${t} for ${this.describeCallHierarchyItemShort()}`:this.params.filePath&&this.params.line!==void 0?`LSP ${t} at ${this.params.filePath}:${this.params.line}:${this.params.character??1}`:this.params.filePath?`LSP ${t} for ${this.params.filePath}`:`LSP ${t}`}async execute(t){let e=this.config.getLspClient();if(!e||!this.config.isLspEnabled()){let r=`LSP ${this.getOperationLabel()} is unavailable (LSP disabled or not initialized).`;return{llmContent:r,returnDisplay:r}}switch(this.params.operation){case"goToDefinition":return this.executeDefinitions(e);case"findReferences":return this.executeReferences(e);case"hover":return this.executeHover(e);case"documentSymbol":return this.executeDocumentSymbols(e);case"workspaceSymbol":return this.executeWorkspaceSymbols(e);case"goToImplementation":return this.executeImplementations(e);case"prepareCallHierarchy":return this.executePrepareCallHierarchy(e);case"incomingCalls":return this.executeIncomingCalls(e);case"outgoingCalls":return this.executeOutgoingCalls(e);case"diagnostics":return this.executeDiagnostics(e);case"workspaceDiagnostics":return this.executeWorkspaceDiagnostics(e);case"codeActions":return this.executeCodeActions(e);default:{let r=`Unsupported LSP operation: ${this.params.operation}`;return{llmContent:r,returnDisplay:r}}}}async executeDefinitions(t){let e=this.resolveLocationTarget();if("error"in e)return{llmContent:e.error,returnDisplay:e.error};let r=this.params.limit??20,i=[];try{i=await t.definitions(e.location,this.params.serverName,r)}catch(n){let c=`LSP go-to-definition failed: ${n?.message||String(n)}`;return{llmContent:c,returnDisplay:c}}if(!i.length){let n=`No definitions found for ${e.description}.`;return{llmContent:n,returnDisplay:n}}let s=this.config.getProjectRoot(),a=i.slice(0,r).map((n,c)=>`${c+1}. ${this.formatLocationWithServer(n,s)}`);return{llmContent:[`Definitions for ${e.description}:`,...a].join(`
|
|
4
4
|
`),returnDisplay:a.join(`
|
|
5
5
|
`)}}async executeImplementations(t){let e=this.resolveLocationTarget();if("error"in e)return{llmContent:e.error,returnDisplay:e.error};let r=this.params.limit??20,i=[];try{i=await t.implementations(e.location,this.params.serverName,r)}catch(n){let c=`LSP go-to-implementation failed: ${n?.message||String(n)}`;return{llmContent:c,returnDisplay:c}}if(!i.length){let n=`No implementations found for ${e.description}.`;return{llmContent:n,returnDisplay:n}}let s=this.config.getProjectRoot(),a=i.slice(0,r).map((n,c)=>`${c+1}. ${this.formatLocationWithServer(n,s)}`);return{llmContent:[`Implementations for ${e.description}:`,...a].join(`
|
|
6
6
|
`),returnDisplay:a.join(`
|
package/chunks/{matildaAgentContentGenerator-B7FZY5QT.js → matildaAgentContentGenerator-WANX4W2Y.js}
RENAMED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import{a as
|
|
3
|
+
import{a as I,b as F,c as U}from"./chunk-3KCDX6MY.js";import{b as x,x as $}from"./chunk-2FX4655X.js";import"./chunk-4F4DA5UI.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import{b as M,e as w}from"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import{j as E,m as O}from"./chunk-CLUEFPSU.js";import"./chunk-7VGUNT5L.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-IOCF4XSR.js";import{p as P}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";b();b();var L="2026-06-23",W="auto",H="instant",J=12e4,g=18e4,V=5e4,v=16e3,X=["Treat this as Matilda Code traffic.","Prefer the code specialist path for implementation, debugging, refactoring, tests, repo edits, and code review.","Use the fast instruct path for simple coordination, status, clarification, or non-code conversational replies.","Keep the response concise and action-oriented."].join(" "),B=["You are powering Matilda Code, an interactive terminal coding agent.","Matilda Code owns the local agent loop: codebase reads, edits, shell commands, approvals, memory, subagents, skills, and MCP tools run through the CLI.","Use the conversation context and tool results as facts. Do not claim to have inspected files, run commands, or edited code unless that action appears in the provided context.",`When the user gives a vague starter such as "let's code" without a concrete development task, ask a concise clarifying question instead of inventing an app or dumping code.`].join(" ");function K(n){let e=(n||"https://matilda.maincode.com/api/v1").trim().replace(/\/+$/,"");return/\/api\/v1$/i.test(e)?e.replace(/\/api\/v1$/i,"/api"):/\/api$/i.test(e)?e:`${e}/api`}function A(n){try{let e=JSON.parse(n);return e&&typeof e=="object"?e:void 0}catch{return}}function d(n,e){let o=A(n)?.[e];return typeof o=="string"?o:void 0}function j(n){return G(n)}function G(n){return typeof n=="string"?n:Array.isArray(n)?n.map(e=>{if(typeof e=="string")return e;if(!e||typeof e!="object")return"";let t=e;return typeof t.text=="string"?t.text:t.image_url?"[image omitted: Matilda native chat accepts text only]":t.input_audio?"[audio omitted: Matilda native chat accepts text only]":t.file?"[file omitted: Matilda native chat accepts text only]":""}).filter(Boolean).join(`
|
|
4
4
|
`):""}function u(n,e){if(n.length<=e)return n;let t=`
|
|
5
5
|
[...omitted to fit Matilda native agent context...]
|
|
6
|
-
`,o=e-t.length,s=Math.floor(o*.6),i=o-s;return`${n.slice(0,s)}${t}${n.slice(-i)}`}function
|
|
6
|
+
`,o=e-t.length,s=Math.floor(o*.6),i=o-s;return`${n.slice(0,s)}${t}${n.slice(-i)}`}function z(n){return(n.candidates?.[0]?.content?.parts??[]).map(t=>typeof t=="string"?t:"thought"in t&&t.thought?"":"text"in t&&t.text||"").join("")}function Q(n){let e=A(n),t=typeof e?.output_tokens=="number"?e.output_tokens:void 0;if(t!==void 0)return{promptTokenCount:0,candidatesTokenCount:t,totalTokenCount:t}}function p(n){return JSON.stringify(n).length}function Y(n){if(p(n)<=g)return n;let e=`
|
|
7
7
|
[...omitted to fit Matilda native request limit...]
|
|
8
|
-
`;for(let t=0;t<n.messages.length;t+=1){let o=n.messages[t];!o||o.content.length<=v||(n.messages[t]={...o,content:u(o.content,v)})}if(p(n)<=g)return n;for(;n.messages.length>2&&p(n)>g;){n.messages.splice(1,1);let t=n.messages[0];t&&!t.content.includes(e.trim())&&(n.messages[0]={...t,content:`${t.content}${e}`})}for(;p(n)>g;){let t=n.messages.length>1?n.messages.length-1:0,o=n.messages[t];if(!o||o.content.length<=1e3)break;let s=p(n)-g,i=Math.max(1e3,o.content.length-s-e.length-2e3);n.messages[t]={...o,content:u(o.content,i)}}return p(n)<=g||n.clientTools&&delete n.clientTools,n}function
|
|
8
|
+
`;for(let t=0;t<n.messages.length;t+=1){let o=n.messages[t];!o||o.content.length<=v||(n.messages[t]={...o,content:u(o.content,v)})}if(p(n)<=g)return n;for(;n.messages.length>2&&p(n)>g;){n.messages.splice(1,1);let t=n.messages[0];t&&!t.content.includes(e.trim())&&(n.messages[0]={...t,content:`${t.content}${e}`})}for(;p(n)>g;){let t=n.messages.length>1?n.messages.length-1:0,o=n.messages[t];if(!o||o.content.length<=1e3)break;let s=p(n)-g,i=Math.max(1e3,o.content.length-s-e.length-2e3);n.messages[t]={...o,content:u(o.content,i)}}return p(n)<=g||n.clientTools&&delete n.clientTools,n}function Z(n){let e=A(n.data);if(!e)return;let t=typeof e.name=="string"?e.name:void 0;if(!t)return;let o=e.args&&typeof e.args=="object"?e.args:{};return{id:typeof e.id=="string"?e.id:void 0,name:t,args:o}}function q(n){let e=A(n.data);if(n.event==="thinking"){let t=d(n.data,"content");return t?`**Thinking** ${t}`:void 0}if(n.event==="generation_status"){let t=d(n.data,"phase");return t?`**Planning** ${t}`:void 0}if(n.event==="status"){let t=d(n.data,"state");if(!t)return;let o=typeof e?.position=="number"?` position ${e.position}`:"";return`**Status** ${t}${o}`}if(n.event==="tool_start"){let t=d(n.data,"tool");if(!t)return;let o=d(n.data,"input")??(e?.args?JSON.stringify(e.args):void 0);return`**Remote tool** Starting ${t}${o?` with ${o}`:""}`}if(n.event==="tool_progress"){let t=d(n.data,"tool"),o=d(n.data,"message");return t&&o?`**Remote tool** ${t}: ${o}`:void 0}if(n.event==="tool_result"){let t=d(n.data,"tool"),o=d(n.data,"status"),s=d(n.data,"output")??d(n.data,"result");return t?`**Remote tool** ${t} ${o??"completed"}${s?`: ${u(s,600)}`:""}`:void 0}}function k(n,e,t){let o=new w;return o.candidates=[{content:{parts:n?[{text:n}]:[],role:"model"},index:0,safetyRatings:[]}],o.createTime=Date.now().toString(),o.modelVersion=e,t&&(o.usageMetadata=t),o}function ee(n,e){let t=new w;return t.candidates=[{content:{parts:n?[{text:n,thought:!0}]:[],role:"model"},index:0,safetyRatings:[]}],t.createTime=Date.now().toString(),t.modelVersion=e,t}function te(n,e){let t=new w;return t.candidates=[{content:{parts:[{functionCall:n}],role:"model"},index:0,safetyRatings:[]}],t.createTime=Date.now().toString(),t.modelVersion=e,Object.defineProperty(t,"functionCalls",{value:[n],writable:!0,configurable:!0,enumerable:!0}),t}function D(n,e,t){let o=k("",n,t);return o.candidates=[{content:{parts:[],role:"model"},finishReason:e,index:0,safetyRatings:[]}],o}async function*ne(n,e){let t=n.body?.getReader();if(!t)throw new Error("Matilda agent stream returned no response body");let o=new TextDecoder,s="",i="message",r=[],c=!1,a,l=()=>{e<=0||(a&&clearTimeout(a),a=setTimeout(()=>{c=!0,t.cancel().catch(()=>{})},e))},m=()=>{a&&(clearTimeout(a),a=void 0)},h=()=>{if(r.length===0){i="message";return}let T={event:i,data:r.join(`
|
|
9
9
|
`)};return i="message",r=[],l(),T};l();try{for(;;){let{done:C,value:f}=await t.read();if(C||c)break;s+=o.decode(f,{stream:!0});let N=s.split(`
|
|
10
10
|
`);s=N.pop()??"";for(let S of N){let y=S.endsWith("\r")?S.slice(0,-1):S;if(y.length===0){let _=h();_&&(yield _)}else y.startsWith("event:")?i=y.slice(6).trim():y.startsWith("data:")&&r.push(y.slice(5).trimStart())}}if(s+=o.decode(),s.length>0)for(let C of s.split(`
|
|
11
|
-
`)){let f=C.endsWith("\r")?C.slice(0,-1):C;f.startsWith("event:")?i=f.slice(6).trim():f.startsWith("data:")&&r.push(f.slice(5).trimStart())}let T=h();T&&(yield T)}finally{m()}if(c)throw new Error(`No Matilda agent SSE events for ${e}ms`)}var R=class{constructor(e,t){this.contentGeneratorConfig=e;this.cliConfig=t}async generateContent(e,t){let o=await this.generateContentStream(e,t),s="",i,r=M.STOP;for await(let a of o){s+=
|
|
11
|
+
`)){let f=C.endsWith("\r")?C.slice(0,-1):C;f.startsWith("event:")?i=f.slice(6).trim():f.startsWith("data:")&&r.push(f.slice(5).trimStart())}let T=h();T&&(yield T)}finally{m()}if(c)throw new Error(`No Matilda agent SSE events for ${e}ms`)}var R=class{constructor(e,t){this.contentGeneratorConfig=e;this.cliConfig=t}async generateContent(e,t){let o=await this.generateContentStream(e,t),s="",i,r=M.STOP;for await(let a of o){s+=z(a),a.usageMetadata&&(i=a.usageMetadata);let l=a.candidates?.[0]?.finishReason;l&&(r=l)}let c=k(s,this.modelFor(e),i);return c.candidates=[{content:{parts:s?[{text:s}]:[],role:"model"},finishReason:r,index:0,safetyRatings:[]}],c}async generateContentStream(e,t){return this.streamNativeChat(e)}async countTokens(e){return{totalTokens:Math.ceil(JSON.stringify(e.contents??"").length/4)}}async embedContent(e){throw new Error("Matilda agent SDK transport does not support embeddings.")}useSummarizedThinking(){return!1}async*streamNativeChat(e){let t=this.modelFor(e),o=await this.fetchNativeChat(e),s=!1,i=!1,r=M.STOP,c;for await(let a of ne(o,J))if(a.data!=="[DONE]"){if(a.event==="token"){let l=d(a.data,"content");l&&(i=!0,yield k(l,t))}else if(a.event==="thinking"||a.event==="generation_status"||a.event==="status"||a.event==="tool_start"||a.event==="tool_progress"||a.event==="tool_result"){let l=q(a);l&&(i=!0,yield ee(l,t))}else if(a.event==="client_tool_call"){let l=Z(a);l&&(i=!0,yield te(l,t))}else if(a.event==="usage")c=Q(a.data)??c;else if(a.event==="safety_replace"){let l=d(a.data,"message")??d(a.data,"content");l&&(i=!0,yield k(l,t))}else if(a.event==="truncated")r=M.MAX_TOKENS;else if(a.event==="done"){if(r=d(a.data,"reason")==="max_tokens"?M.MAX_TOKENS:r,!i)throw new Error("Matilda agent returned an empty response.");yield D(t,r,c),s=!0}else if(a.event==="error"){let l=A(a.data),m=typeof l?.error=="string"?l.error:"Unknown Matilda agent stream error";throw new Error(`Matilda agent stream error: ${m}`)}}if(!s){if(!i)throw new Error("Matilda agent returned an empty response.");yield D(t,r,c)}}async fetchNativeChat(e){let t=await $({baseUrl:this.contentGeneratorConfig.baseUrl,fallbackAccessToken:this.contentGeneratorConfig.apiKey,signal:e.config?.abortSignal}),o=await this.postNativeChat(e,t);if(o.status!==401)return this.assertOkResponse(o);let s;try{s=await $({baseUrl:this.contentGeneratorConfig.baseUrl,fallbackAccessToken:t,forceRefresh:!0,signal:e.config?.abortSignal})}catch(r){throw new P(r instanceof Error?r.message:String(r))}if(!s||s===t)throw new P("Matilda session expired. Please sign in again.");let i=await E("retry",()=>this.postNativeChat(e,s));return this.assertOkResponse(i)}async postNativeChat(e,t){return fetch(`${K(this.contentGeneratorConfig.baseUrl)}/chat`,{method:"POST",headers:this.buildHeaders(t),body:JSON.stringify(this.buildNativeRequest(e)),signal:e.config?.abortSignal})}async assertOkResponse(e){if(e.ok)return e;let t=`Matilda agent request failed (${e.status}): ${await e.text()}`;throw e.status===401?new P(t):new Error(t)}buildHeaders(e){let t={"Content-Type":"application/json",Accept:"text/event-stream","X-Matilda-API-Version":L,"X-Matilda-Client":"matilda-code","User-Agent":`MatildaCode/${this.cliConfig.getCliVersion?.()||"unknown"}`};for(let[o,s]of Object.entries(this.contentGeneratorConfig.customHeaders??{}))o.toLowerCase()!=="x-matilda-response-mode"&&!F(o)&&(t[o]=s);return U(this.contentGeneratorConfig,e)&&Object.assign(t,I(this.cliConfig),O()),e&&(t.Authorization=`Bearer ${e}`),t}buildNativeRequest(e){let t=this.inferPurpose(e),o=this.clientToolsFromRequest(e),s={messages:this.buildNativeMessages(e,t),responseMode:this.responseModeForPurpose(t)};return o.length>0&&(s.clientTools=o),Y(s)}buildNativeMessages(e,t){let o=this.openAIMessagesFromRequest(e),i=[{role:"user",content:this.buildSystemContext(e,t)}];for(let c of o){if(c.role==="system")continue;let a=this.nativeMessageFromOpenAIMessage(c);a&&i.push(a)}i.length===1&&i.push({role:"user",content:`${this.purposeLabel(t)}:
|
|
12
12
|
(empty prompt)`});let r=i[i.length-1];return r?.role!=="user"?i.push({role:"user",content:`${this.purposeLabel(t)}:
|
|
13
13
|
Continue from the previous assistant response.`}):r.content.startsWith(`${this.purposeLabel(t)}:
|
|
14
14
|
`)||(i[i.length-1]={...r,content:`${this.purposeLabel(t)}:
|
|
15
15
|
${r.content}`}),i}buildSystemContext(e,t){let o=["Agent: Matilda Code",t==="code"?`Routing intent:
|
|
16
|
-
${
|
|
16
|
+
${X}`:void 0,`Instructions:
|
|
17
17
|
${this.instructionsFromRequest(e)}`].filter(s=>!!s);return u(o.join(`
|
|
18
18
|
|
|
19
|
-
`),
|
|
19
|
+
`),V)}nativeMessageFromOpenAIMessage(e){let t=this.describeMessage(e);if(t.trim())return{role:e.role==="assistant"?"assistant":"user",content:t}}inferPurpose(e){if(this.contentGeneratorConfig.matildaAgentPurpose)return this.contentGeneratorConfig.matildaAgentPurpose;if(this.contentGeneratorConfig.matildaAgentResponseMode==="instant")return"general";if(this.contentGeneratorConfig.matildaAgentResponseMode==="deep")return"analysis";let o=(this.userMessagesFromRequest(e).at(-1)?.trim()??"").toLowerCase().replace(/\s+/g," ");return/^(hi|hey|hello|thanks|thank you|ok|okay|cool|nice|what'?s up)[.!?]*$/.test(o)||/^(ok|okay)?\s*(let'?s|lets)\s+(code|build|start|get started)[.!?]*$/.test(o)?"general":"code"}responseModeForPurpose(e){return this.contentGeneratorConfig.matildaAgentResponseMode?this.contentGeneratorConfig.matildaAgentResponseMode:e==="general"?H:e==="analysis"?"deep":W}purposeLabel(e){return e==="code"?"Code task":e==="analysis"?"Analysis task":"Task"}instructionsFromRequest(e){let t=this.openAIMessagesFromRequest(e).filter(o=>o.role==="system").map(o=>G(o.content)).filter(o=>o.trim().length>0);return[B,...t,this.localAgentContext()].join(`
|
|
20
20
|
|
|
21
21
|
`)}localAgentContext(){let e=["Local agent context:","- CLI: Matilda Code terminal agent."],t=this.cliConfig.getModel?.();t&&e.push(`- Active model: ${t}`);let o=this.cliConfig.getApprovalMode?.();o&&e.push(`- Approval mode: ${o}`);let s=this.cliConfig.getSandbox?.();e.push(s?`- Sandbox: ${s.command} (${s.image}).`:"- Sandbox: disabled.");let i=[["allow",this.cliConfig.getPermissionsAllow?.()??[]],["ask",this.cliConfig.getPermissionsAsk?.()??[]],["deny",this.cliConfig.getPermissionsDeny?.()??[]]];for(let[m,h]of i)h.length>0&&e.push(`- Permission ${m} rules: ${h.join(", ")}`);let r=this.cliConfig.getIdeMode?.()?"IDE/ACP":this.cliConfig.isInteractive?.()?"interactive TUI":"headless";e.push(`- Interface mode: ${r}`);let c=this.cliConfig.getProjectRoot?.();c&&e.push(`- Project root: ${c}`);let a=this.cliConfig.getWorkingDir?.();a&&a!==c&&e.push(`- Working directory: ${a}`);let l=this.cliConfig.getToolRegistry?.()?.getAllToolNames?.().slice(0,30)??[];return l.length>0&&e.push(`- Local tools available through the CLI loop: ${l.join(", ")}`),e.join(`
|
|
22
|
-
`)}clientToolsFromRequest(e){let t=[];for(let o of e.config?.tools??[])"functionDeclarations"in o&&t.push(...(o.functionDeclarations??[]).filter(s=>!!s.name));return t.map(o=>({name:o.name,...o.description?{description:o.description}:{},...o.parametersJsonSchema?{parameters:o.parametersJsonSchema}:o.parameters?{parameters:o.parameters}:{}}))}userMessagesFromRequest(e){return this.openAIMessagesFromRequest(e).filter(t=>t.role==="user").map(t=>
|
|
23
|
-
${u(
|
|
22
|
+
`)}clientToolsFromRequest(e){let t=[];for(let o of e.config?.tools??[])"functionDeclarations"in o&&t.push(...(o.functionDeclarations??[]).filter(s=>!!s.name));return t.map(o=>({name:o.name,...o.description?{description:o.description}:{},...o.parametersJsonSchema?{parameters:o.parametersJsonSchema}:o.parameters?{parameters:o.parameters}:{}}))}userMessagesFromRequest(e){return this.openAIMessagesFromRequest(e).filter(t=>t.role==="user").map(t=>j(t.content)).filter(t=>t.trim().length>0)}openAIMessagesFromRequest(e){let t={model:this.modelFor(e),modalities:this.contentGeneratorConfig.modalities??{},startTime:Date.now(),splitToolMedia:this.contentGeneratorConfig.splitToolMedia??!0};return x.convertGeminiRequestToOpenAI(e,t,{cleanOrphanToolCalls:!1})}describeMessage(e){if(e.role==="user")return`User:
|
|
23
|
+
${u(j(e.content),v)}`;if(e.role==="assistant"){let t=G(e.content),o="tool_calls"in e&&Array.isArray(e.tool_calls)?e.tool_calls.map(s=>`Tool request: ${s.function.name}(${s.function.arguments})`).join(`
|
|
24
24
|
`):"";return`Assistant:
|
|
25
25
|
${u([t,o].filter(Boolean).join(`
|
|
26
26
|
`),v)}`}return e.role==="tool"?`Tool result ${e.tool_call_id}:
|
|
27
|
-
${u(G(e.content),v)}`:""}modelFor(e){return e.model||this.contentGeneratorConfig.model}};function
|
|
27
|
+
${u(G(e.content),v)}`:""}modelFor(e){return e.model||this.contentGeneratorConfig.model}};function fe(n,e){return new R(n,e)}export{R as MatildaAgentContentGenerator,fe as createMatildaAgentContentGenerator};
|
|
28
28
|
/**
|
|
29
29
|
* @license
|
|
30
30
|
* Copyright 2026 Matilda Team
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import{a as o,i as d}from"./chunk-C6SSPIF3.js";import"./chunk-QCIDUZV6.js";import"./chunk-3KCDX6MY.js";import"./chunk-WPZEF752.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-KP6BLFQS.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-XXZH7C44.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{b as u}from"./chunk-FSRNEJQB.js";import"./chunk-S4K76QPI.js";import"./chunk-2FX4655X.js";import"./chunk-4F4DA5UI.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import{j as s}from"./chunk-CLUEFPSU.js";import"./chunk-7VGUNT5L.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{e as c}from"./chunk-LLQVLTPB.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-IOCF4XSR.js";import{Y as i}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as a}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";a();var l=class extends d{debugLogger=i("MATILDA");matildaClient;sharedManager;currentToken;constructor(e,t,r){let n=new o(t,r);super(t,r,n),this.matildaClient=e,this.sharedManager=c.getInstance(),t?.baseUrl&&t?.apiKey&&(this.pipeline.client.baseURL=t?.baseUrl,this.pipeline.client.apiKey=t?.apiKey)}getCurrentEndpoint(e){let t=e||u,r="/v1",n=t.startsWith("http")?t:`https://${t}`;return n.endsWith(r)||n.endsWith("/api/v1")||n.endsWith("/api/v1/code")?n:`${n}${r}`}shouldSuppressErrorLogging(e,t){return this.isAuthError(e)}async getValidToken(){try{let e=await this.sharedManager.getValidCredentials(this.matildaClient);if(!e.access_token)throw new Error("No access token available");return{token:e.access_token,endpoint:this.getCurrentEndpoint(e.resource_url)}}catch(e){throw this.isAuthError(e)?e:(this.debugLogger.warn("Failed to get token from shared manager:",e),new Error("Failed to obtain a valid legacy OAuth access token. Please re-authenticate with Matilda."))}}async executeWithCredentialManagement(e){let t=async()=>{let{token:r,endpoint:n}=await this.getValidToken();return this.pipeline.client.apiKey=r,this.pipeline.client.baseURL=n,await e()};try{return await t()}catch(r){if(this.isAuthError(r))return await this.sharedManager.getValidCredentials(this.matildaClient,!0),await s("retry",t);throw r}}async generateContent(e,t){return this.executeWithCredentialManagement(()=>super.generateContent(e,t))}async generateContentStream(e,t){return this.executeWithCredentialManagement(()=>super.generateContentStream(e,t))}async countTokens(e){return super.countTokens(e)}async embedContent(e){return this.executeWithCredentialManagement(()=>super.embedContent(e))}isAuthError(e){if(!e)return!1;let t=e instanceof Error?e.message.toLowerCase():String(e).toLowerCase(),r=e,n=r?.status||r?.code;return n===401||n===403||n==="401"||n==="403"||t.includes("unauthorized")||t.includes("forbidden")||t.includes("invalid api key")||t.includes("invalid access token")||t.includes("token expired")||t.includes("authentication")||t.includes("access denied")||t.includes("token")&&t.includes("expired")}getCurrentToken(){return this.currentToken?this.currentToken:this.sharedManager.getCurrentCredentials()?.access_token||null}clearToken(){this.currentToken=void 0,this.sharedManager.clearCache()}};export{l as MatildaContentGenerator};
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
* Copyright 2025 Matilda
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import{Fh as P,Hh as lt,Rd as rt,Yb as tt,ae as st,fe as L,ge as at,hc as et,kc as ot,lc as A,qc as C,rc as nt,vc as it}from"./chunk-WPZEF752.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-KP6BLFQS.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-XXZH7C44.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-FSRNEJQB.js";import"./chunk-S4K76QPI.js";import"./chunk-2FX4655X.js";import"./chunk-4F4DA5UI.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-CLUEFPSU.js";import"./chunk-7VGUNT5L.js";import"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as Z,i as q,p as Y,q as Q}from"./chunk-5U3A6KMU.js";import"./chunk-LLQVLTPB.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-IOCF4XSR.js";import{G as J,Y as K,c as m}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();import{spawn as ct}from"node:child_process";import mt from"node:path";import{randomUUID as wt}from"node:crypto";var u=K("MONITOR"),Et=1e3,O=1e4,St=3e5,N=6e5,dt=80,R=4096,ut=5,ft=1e3;function pt(l){return l.length>dt?l.slice(0,dt-1)+"\u2026":l}var kt=new Set(["task-notification","task-id","tool-use-id","kind","status","event-count","summary","result"]),xt=/<(\/?)([a-zA-Z][a-zA-Z0-9-]*)>/g;function gt(l){let y="";for(let t=0;t<l.length;t++){let o=l.charCodeAt(t);if(o===9){y+=l[t];continue}o<32||o>=128&&o<=159||(y+=l[t])}return y=y.replace(xt,(t,o,a)=>kt.has(String(a).toLowerCase())?o==="/"?`</\u200B${a}>`:`<\u200B${a}>`:t),y}var U=class extends Z{constructor(t,o){super(o);this.config=t}callId;setCallId(t){this.callId=t}getDescription(){let t=this.params.description||C(this.params.command).spawnCommand;return`Monitor: ${pt(t)}`}async getDefaultPermission(){let t=C(this.params.command).safetyCommand;try{if(await L(t))return"allow"}catch(o){u.warn("AST read-only check failed, falling back to ask:",o)}return"ask"}async getConfirmationDetails(t){let o=C(this.params.command),a=ot(o.safetyCommand),f=[];for(let s of a){let p=!1;try{p=await L(s)}catch(d){u.warn("AST read-only check failed for monitor sub-command, falling back to ask:",d)}p||f.push(s)}let S=f.length>0?f:a,M=[...new Set(S.map(s=>A(s)).filter(s=>!!s))],v=[];try{let s=[];for(let p of S){let d=await at(p);s.push(...d)}v=[...new Set(s)].map(p=>`Monitor(${p})`)}catch(s){u.warn("Failed to extract monitor command rules:",s),v=[`Monitor(${o.safetyCommand})`]}let i=it(o.safetyCommand,this.params.command),c={type:"exec",title:"Monitor",command:o.spawnCommand,rootCommand:M.join(", ")||(A(o.safetyCommand)??o.spawnCommand),permissionRules:v,onConfirm:async(s,p)=>{}};return i&&(c.warnings=i),c}async execute(t){if(t.aborted)return{llmContent:"Monitor was cancelled before it could start.",returnDisplay:"Monitor cancelled."};let o=C(this.params.command),a=o.spawnCommand;o.strippedTrailingAmp&&u.warn("Stripped trailing & from monitor command \u2014 monitor lifecycle handles backgrounding");let f=gt(this.params.description||a),S=pt(f),M=Math.min(this.params.max_events??Et,O),v=Math.min(this.params.idle_timeout_ms??St,N),i=`mon_${wt().replace(/-/g,"").slice(0,16)}`,c=this.config.getMonitorRegistry(),s=tt()??void 0;if(c.getRunning().length>=P)return{llmContent:`Cannot start monitor: maximum concurrent monitors (${P}) reached. Stop an existing monitor first.`,returnDisplay:"Monitor rejected: too many concurrent monitors."};let d=new AbortController,g={monitorId:i,command:a,description:f,status:"running",startTime:Date.now(),abortController:d,toolUseId:this.callId,eventCount:0,lastEventTime:0,maxEvents:M,idleTimeoutMs:v,droppedLines:0,outputFile:lt(this.config.storage.getProjectDir(),this.config.getSessionId(),i),...s?{ownerAgentId:s}:{}},{executable:yt,argsPrefix:vt}=et(),n;try{n=ct(yt,[...vt,a],{cwd:this.params.directory||this.config.getTargetDir(),stdio:["ignore","pipe","pipe"],detached:!0,env:{...process.env,MATILDA_CODE:"1",TERM:"dumb",PAGER:"cat",...st()}})}catch(e){return{llmContent:`Monitor failed to start: ${m(e)}`,returnDisplay:`Monitor failed: ${m(e)}`}}g.pid=n.pid;let b=!1,w,D=e=>{w??=e};n.on("error",D);let B={value:""},G={value:""},k=ut,I=Date.now(),$=e=>{let r=gt(e);if(r.length===0||r.trim().length===0)return;let T=Date.now(),_=T-I;if(_<0)u.warn(`Monitor ${i}: clock moved backwards by ${-_}ms, resetting refill timestamp`),I=T;else{let h=Math.floor(_/ft);h>0&&(k=Math.min(ut,k+h),I+=h*ft)}k>0?(k--,c.emitEvent(i,r)):g.droppedLines++},j=()=>{for(let e of[B,G]){let r=e.value.trim();r.length>0&&$(r),e.value=""}},Tt=()=>{if(!(b||!n.pid))if(process.platform==="win32")ct("taskkill",["/pid",n.pid.toString(),"/f","/t"],{stdio:"ignore"}).on("error",r=>u.warn(`Monitor taskkill failed for pid ${n.pid}: ${m(r)}`));else{try{process.kill(-n.pid,"SIGTERM")}catch(e){u.warn(`Monitor ${i} SIGTERM failed (pid=${n.pid}): ${m(e)}`)}setTimeout(()=>{if(!b&&n.pid)try{process.kill(-n.pid,"SIGKILL")}catch(e){u.warn(`Monitor ${i} SIGKILL escalation failed (pid=${n.pid}): ${m(e)}`)}},200).unref?.()}},E=()=>{j(),Tt()};d.signal.addEventListener("abort",E,{once:!0}),d.signal.aborted&&E();try{c.register(g)}catch(e){return E(),d.signal.removeEventListener("abort",E),n.stdout?.destroy?.(),n.stderr?.destroy?.(),n.removeListener("error",D),n.on("error",()=>{}),{llmContent:`Monitor failed to start: ${m(e)}`,returnDisplay:`Monitor failed: ${m(e)}`}}let z=(e,r)=>{if(g.status!=="running")return;let T=rt(r.toString("utf-8"));if(e.value+=T,!e.value.includes(`
|
|
4
|
+
`)&&e.value.length>R){let h=e.value.trim();h.length>0&&$(h.slice(0,R)+"..."),e.value="";return}let _=e.value.split(`
|
|
5
|
+
`);e.value=_.pop()??"";for(let h of _){let x=h.trim();if(x.length===0)continue;let bt=x.length>R?x.slice(0,R)+"...":x;$(bt)}};n.stdout?.on("data",e=>z(B,e)),n.stderr?.on("data",e=>z(G,e));let F=!1,X=()=>{F||(F=!0,j(),d.signal.removeEventListener("abort",E),g.droppedLines>0&&u.info(`Monitor ${i} dropped ${g.droppedLines} lines due to throttling`))},V=null,_t=(e,r)=>{g.status==="running"&&(d.signal.aborted?c.cancel(i):e!==null&&e!==0?c.fail(i,`Exit code ${e}`):r?c.fail(i,`Killed by signal ${r}`):c.complete(i,e))},Ct=(e,r)=>{b=!0,V={code:e,sig:r}},Mt=(e,r)=>{b=!0,X();let T=V??{code:e,sig:r};_t(T.code,T.sig)},W=e=>{b=!0,X(),g.status==="running"&&c.fail(i,m(e))};return n.on("exit",Ct),n.on("close",Mt),n.on("error",W),n.removeListener("error",D),w?(W(w),{llmContent:`Monitor failed to start: ${m(w)}`,returnDisplay:`Monitor failed: ${m(w)}`}):{llmContent:`Monitor started.
|
|
6
|
+
id: ${i}
|
|
7
|
+
command: ${a}
|
|
8
|
+
description: ${f}
|
|
9
|
+
max_events: ${M}
|
|
10
|
+
idle_timeout: ${v}ms
|
|
11
|
+
Events will be delivered as notifications. The monitor auto-stops after ${M} events or ${v}ms of silence.
|
|
12
|
+
To inspect: /tasks (text) or the interactive Background tasks dialog (focus the footer Background tasks pill, then Enter \u2014 detail view + live updates).`,returnDisplay:`Monitor started: ${S} (${i})`}}},ht=class l extends q{constructor(t){super(l.Name,Q.MONITOR,`Starts a long-running shell command and streams its stdout/stderr as event notifications back to you.
|
|
13
|
+
|
|
14
|
+
Use this tool for:
|
|
15
|
+
- Watching log files: \`tail -f /var/log/app.log\`
|
|
16
|
+
- Monitoring build output: \`npm run build --watch\`
|
|
17
|
+
- Polling for state changes: \`while true; do curl -s http://localhost:8080/health; sleep 1; done\`
|
|
18
|
+
- Watching file changes: \`fswatch -r ./src\`
|
|
19
|
+
|
|
20
|
+
Each output line from the command becomes a notification event delivered to you. The monitor runs in the background \u2014 you can continue working while it streams events.
|
|
21
|
+
|
|
22
|
+
**Auto-stop:** The monitor automatically stops after max_events (default 1000) events or after idle_timeout_ms (default 5 minutes) of silence. The process is killed when the monitor stops.
|
|
23
|
+
|
|
24
|
+
**Do NOT use this tool for:**
|
|
25
|
+
- One-shot commands (use run_shell_command instead)
|
|
26
|
+
- Commands you need the full output from (use run_shell_command instead)
|
|
27
|
+
- Commands with no output (use run_shell_command with is_background: true instead)`,"execute",{type:"object",properties:{command:{type:"string",description:"Shell command to run and monitor. Each output line (stdout and stderr) becomes an event notification."},description:{type:"string",description:'Brief description of what this monitor watches (e.g., "webpack build output"). Truncated to 80 characters in display.'},max_events:{type:"number",description:"Stop the monitor after this many events. Default 1000. Max 10000."},idle_timeout_ms:{type:"number",description:"Stop the monitor if no output for this many milliseconds. Default 300000 (5 min). Max 600000."},directory:{type:"string",description:"(OPTIONAL) The absolute path of the directory to run the command in. If not provided, the project root directory is used. Must be within the workspace."}},required:["command"],additionalProperties:!1},!0,!1,!0,!1,"monitor watch tail log stream background");this.config=t}static Name=Y.MONITOR;validateToolParamValues(t){if(typeof t.command!="string"||!C(t.command).analysisCommand)return"Command cannot be empty.";if(nt(t.command))return'Monitor commands must not contain non-final top-level background operators. Remove "&" and let the monitor manage process lifetime.';if(t.max_events!==void 0){if(typeof t.max_events!="number"||!Number.isInteger(t.max_events)||t.max_events<=0)return"max_events must be a positive integer.";if(t.max_events>O)return`max_events cannot exceed ${O}.`}if(t.idle_timeout_ms!==void 0){if(typeof t.idle_timeout_ms!="number"||!Number.isInteger(t.idle_timeout_ms)||t.idle_timeout_ms<=0)return"idle_timeout_ms must be a positive integer.";if(t.idle_timeout_ms>N)return`idle_timeout_ms cannot exceed ${N}ms (10 minutes).`}if(t.directory){if(!mt.isAbsolute(t.directory))return"Directory must be an absolute path.";let o=mt.resolve(t.directory),a=this.config.storage.getUserSkillsDirs();if(J(a,o))return"Explicitly running monitor commands from within the user skills directory is not allowed. Please use absolute paths for command parameter instead.";if(!this.config.getWorkspaceContext().isPathWithinWorkspace(t.directory))return`Directory '${t.directory}' is not within any of the registered workspace directories.`}return null}createInvocation(t){return new U(this.config,t)}toAutoClassifierInput(t){let o={command:t.command};return t.directory&&(o.directory=t.directory),o}};export{ht as MonitorTool,gt as sanitizeMonitorLine};
|
|
28
|
+
/**
|
|
29
|
+
* @license
|
|
30
|
+
* Copyright 2025 Matilda
|
|
31
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
32
|
+
*/
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import{a as Z}from"./chunk-I55PXD4N.js";import{Kd as D,Ld as Y,Ob as Q,de as y,ja as R,oe as X}from"./chunk-WPZEF752.js";import"./chunk-TZIDSCTF.js";import"./chunk-FUNLOUYI.js";import"./chunk-R3H6IWFK.js";import"./chunk-OMZ5SGMK.js";import"./chunk-KP6BLFQS.js";import"./chunk-RBG4ERTN.js";import"./chunk-TXMXCR7D.js";import"./chunk-YULUB745.js";import"./chunk-LQWORCPO.js";import"./chunk-TISQNFB5.js";import"./chunk-XXZH7C44.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-FSRNEJQB.js";import"./chunk-S4K76QPI.js";import"./chunk-2FX4655X.js";import"./chunk-4F4DA5UI.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-CLUEFPSU.js";import"./chunk-7VGUNT5L.js";import{J as B,K as k,L as U,Lb as z,M as K,N as q,O as b,P as W,Q as j,R as C,S as J,T as V,U as w,V as M,_c as H,ca as G}from"./chunk-CFBZKYFB.js";import"./chunk-WVY2P6WH.js";import"./chunk-UIRBHC5X.js";import"./chunk-UY2R3ZQ4.js";import"./chunk-NDR7ZFUA.js";import{g as $,i as L,p as c,q as x}from"./chunk-5U3A6KMU.js";import"./chunk-LLQVLTPB.js";import"./chunk-XKDGRW3K.js";import"./chunk-ESSYHTAZ.js";import"./chunk-IOCF4XSR.js";import{A as N,C as T,Y as F,z as _}from"./chunk-QWBNNEV2.js";import"./chunk-G7R2XEEF.js";import"./chunk-OA56BXPD.js";import"./chunk-FWDMPRKU.js";import{b as v}from"./chunk-GZPNIYVZ.js";import"./chunk-OWGSC52X.js";v();import*as E from"node:fs";import*as m from"node:path";var ee=F("NOTEBOOK_EDIT");function g(d,r,t){return ee.debug("prior-read-rejected",{path:d,reason:r,type:t.type,displayMessage:t.displayMessage}),t}var u=class extends Error{constructor(t,e){super(t);this.type=e;this.name="NotebookEditError"}};function te(d,r){if(r==="delete")return"";if(typeof d!="string")throw new u(`new_source is required when edit_mode is "${r}".`,"invalid_tool_params");return d}function I(d,r){return d?q(d,r):`cell-${r}`}function oe(d,r,t){if(!r){if(t==="insert")return-1;throw new u("cell_id is required for replace and delete operations.","invalid_tool_params")}if(W(d,r))throw new u(`Cell ID "${r}" is ambiguous in the rendered notebook. Re-read the notebook and target a stable real cell ID before editing.`,"invalid_tool_params");let e=j(d,r);if(e===-1)throw new u(`Cell with ID "${r}" not found in notebook.`,"notebook_cell_not_found");return e}function ie(d,r,t,e){let o={cell_type:r,metadata:{},source:w(t,e)},i=J(d);return i&&(o.id=i),M(o,r),o}function O(d,r){let t;try{t=k(d)}catch(a){throw new u(a instanceof Error?a.message:String(a),"notebook_invalid_json")}let e=r.edit_mode??"replace",o=te(r.new_source,e),i=b(t),n=oe(t,r.cell_id,e),l=C(t),p=U(d),s=(a,f)=>{let h=e==="insert"||e==="delete";return{...f,updatedContent:K(a,p),requiresReadAfterWrite:h&&!(i&&b(a))}};switch(e){case"insert":{let a=r.cell_type??"code",f=n===-1?0:n+1,h=ie(t,a,o,V(t,f));return t.cells.splice(f,0,h),s(t,{editedCellId:I(h,f),editedCellType:a,language:l,mode:e})}case"delete":{let[a]=t.cells.splice(n,1);return s(t,{editedCellId:I(a,n),editedCellType:a?.cell_type,language:l,mode:e})}case"replace":{let a=t.cells[n];if(!a)throw new u(`Cell index ${n} is out of range.`,"notebook_cell_not_found");let f=r.cell_type??a.cell_type;return a.source=w(o,Array.isArray(a.source)),M(a,f),s(t,{editedCellId:I(a,n),editedCellType:f,language:l,mode:e})}default:throw new u(`Unsupported notebook edit mode: ${e}`,"invalid_tool_params")}}function re(d,r,t){let e,o;try{e=k(r),o=k(d)}catch(i){throw new u(i instanceof Error?i.message:String(i),"notebook_invalid_json")}return{updatedContent:r,editedCellId:t.cell_id??"user-modified-notebook",editedCellType:void 0,language:C(e),mode:t.edit_mode??"replace",requiresReadAfterWrite:!b(o)||!b(e)}}async function A(d,r,t={}){if(d.getFileReadCacheDisabled())return{ok:!0};let e;try{e=await E.promises.stat(r)}catch(i){let n=i?.code;return n==="ENOENT"?t.expectExisting?g(r,"missing-after-read",{ok:!1,type:"file_changed_since_read",rawMessage:`Notebook ${r} disappeared after it was read. Re-read it with the ${c.READ_FILE} tool before editing it.`,displayMessage:`notebook disappeared after last read; re-run ${c.READ_FILE} first.`}):{ok:!0}:g(r,"stat-failed",{ok:!1,type:"prior_read_verification_failed",rawMessage:`Could not stat ${r} to verify prior notebook read (${n??"unknown error"}). Re-read it with the ${c.READ_FILE} tool before editing it.`,displayMessage:`cannot verify prior read of ${r}; re-run ${c.READ_FILE} before editing this notebook.`})}if(e.isDirectory())return g(r,"target-is-directory",{ok:!1,type:"target_is_directory",rawMessage:`${r} is a directory. The NotebookEdit tool only operates on .ipynb files.`,displayMessage:"path is a directory; cannot edit as a notebook."});if(!e.isFile())return g(r,"target-not-regular-file",{ok:!1,type:"target_not_regular_file",rawMessage:`${r} is not a regular file. The NotebookEdit tool only operates on .ipynb files.`,displayMessage:"special file; cannot edit as a notebook."});let o=d.getFileReadCache().check(e);return o.state==="fresh"&&o.entry.lastReadAt!==void 0&&o.entry.lastReadWasFull?{ok:!0}:o.state==="fresh"&&o.entry.lastReadAt!==void 0&&!o.entry.lastReadWasFull?g(r,"truncated-cache-entry",{ok:!1,type:"edit_requires_prior_read",rawMessage:`Notebook ${r} is too large for cell-level editing because its rendered output was truncated when read. Reduce the notebook output size or split the notebook before editing cells.`,displayMessage:"notebook too large for cell-level editing."}):o.state==="stale"?g(r,"stale-cache-entry",{ok:!1,type:"file_changed_since_read",rawMessage:`Notebook ${r} has been modified since you last read it. Re-read it with the ${c.READ_FILE} tool before editing it.`,displayMessage:`notebook changed since last read; re-run ${c.READ_FILE} first.`}):g(r,`cache-${o.state}`,{ok:!1,type:"edit_requires_prior_read",rawMessage:`Notebook ${r} has not been fully read in this session. Use the ${c.READ_FILE} tool first, without offset or limit, before editing cells.`,displayMessage:`${c.READ_FILE} required before editing this notebook.`})}var P=class extends ${constructor(t,e,o){super(e);this.config=t;this.modifyMetadata=o}toolLocations(){return[{path:this.params.notebook_path}]}getDescription(){let t=N(this.params.notebook_path,this.config.getTargetDir()),e=this.params.edit_mode??"replace",o=this.params.cell_id??"beginning";return`${e} notebook cell ${o} in ${_(t)}`}async getDefaultPermission(){return"ask"}async getConfirmationDetails(t){let e=await this.prepareEdit(t),o=m.basename(this.params.notebook_path),i=R(o,e.originalContent,e.updatedContent,"Current","Proposed",D);return{type:"edit",title:`Confirm Notebook Edit: ${_(N(this.params.notebook_path,this.config.getTargetDir()))}`,fileName:o,filePath:this.params.notebook_path,fileDiff:i,originalContent:e.originalContent,newContent:e.updatedContent,onConfirm:async l=>{l==="proceed_always"&&this.config.setApprovalMode("auto-edit")}}}async prepareEdit(t){let e=await A(this.config,this.params.notebook_path);if(!e.ok)throw new y(e.rawMessage,e.type);let o,i=!1,n,l="lf";try{let s=await this.config.getFileSystemService().readTextFile({path:this.params.notebook_path});o=s.content,i=s._meta?.bom??!1,n=s._meta?.encoding,l=s._meta?.lineEnding??X(s.content)}catch(s){throw t.aborted?s:s?.code==="ENOENT"?new y(`Notebook file not found: ${this.params.notebook_path}`,"file_not_found"):new y(`Error reading notebook: ${s instanceof Error?s.message:String(s)}`,"read_content_failure")}let p=await A(this.config,this.params.notebook_path,{expectExisting:!0});if(!p.ok)throw new y(p.rawMessage,p.type);try{return this.modifyMetadata?.modifiedNotebookContent!==void 0?{...re(o,this.modifyMetadata.modifiedNotebookContent,this.params),originalContent:o,bom:i,encoding:n,lineEnding:l}:{...O(o,this.params),originalContent:o,bom:i,encoding:n,lineEnding:l}}catch(s){throw s instanceof u?new y(s.message,s.type):s}}async execute(t){let e;try{e=await this.prepareEdit(t)}catch(o){if(t.aborted)throw o;let i=o instanceof y?o.errorType:"notebook_edit_failure",n=o instanceof Error?o.message:String(o);return{llmContent:n,returnDisplay:`Error: ${n}`,error:{message:n,type:i}}}try{try{await this.config.getFileHistoryService().trackEdit(this.params.notebook_path)}catch{}let o=await A(this.config,this.params.notebook_path,{expectExisting:!0});if(!o.ok)return{llmContent:o.rawMessage,returnDisplay:`Error: ${o.displayMessage}`,error:{message:o.rawMessage,type:o.type}};await this.config.getFileSystemService().writeTextFile({path:this.params.notebook_path,content:e.updatedContent,_meta:{bom:e.bom,encoding:e.encoding,lineEnding:e.lineEnding}}),this.modifyMetadata?.modifiedByUser||Q.getInstance().recordEdit(this.params.notebook_path,e.originalContent,e.updatedContent);try{let a=E.statSync(this.params.notebook_path),f=this.config.getFileReadCache();e.requiresReadAfterWrite?f.invalidate(a):f.recordWrite(this.params.notebook_path,a,{cacheable:!1})}catch(a){ee.warn(`[NotebookEdit] post-write cache update failed for ${this.params.notebook_path}: ${a instanceof Error?a.message:String(a)}`)}let i=m.basename(this.params.notebook_path),n=R(i,e.originalContent,e.updatedContent,"Current","Proposed",D),l=Y(i,e.originalContent,this.modifyMetadata?.aiProposedContent??e.updatedContent,e.updatedContent);z(this.config,new H(S.Name,"update",e.updatedContent.split(`
|
|
4
|
+
`).length,G(this.params.notebook_path),".ipynb",e.language));let p={fileDiff:n,fileName:i,originalContent:e.originalContent,newContent:e.updatedContent,diffStat:l},s=this.modifyMetadata?.modifiedNotebookContent!==void 0?`Notebook ${this.params.notebook_path} has been updated. Notebook content was modified by the user before approval; the final saved notebook may differ from the original ${e.mode} cell ${e.editedCellId} proposal.`:`Notebook ${this.params.notebook_path} has been updated. ${e.mode} cell ${e.editedCellId}.${e.mode==="delete"?"":`
|
|
5
|
+
|
|
6
|
+
Updated source:
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
${B(this.params.new_source??"")}`}`;try{let a=await Z(this.config,this.params.notebook_path);a&&(s+=`
|
|
11
|
+
|
|
12
|
+
${a}`)}catch{}return{llmContent:s,returnDisplay:p,resultFilePaths:[this.params.notebook_path]}}catch(o){let i=o instanceof Error?o.message:String(o);return{llmContent:`Error writing notebook: ${i}`,returnDisplay:`Error writing notebook: ${i}`,error:{message:i,type:"file_write_failure"}}}}},S=class d extends L{constructor(t){super(d.Name,x.NOTEBOOK_EDIT,`Edits a Jupyter notebook (.ipynb) safely at the cell level. Use this instead of ${c.EDIT} or ${c.WRITE_FILE} for notebook cells. Supports replacing, inserting, and deleting cells. Always read the notebook first with ${c.READ_FILE}; then use the cell IDs shown in that output.`,"edit",{properties:{notebook_path:{description:"Absolute path to the Jupyter notebook file to edit. Must end with .ipynb.",type:"string"},cell_id:{description:"Target cell ID from read_file output, or cell-N 0-based fallback. Required for replace and delete. For insert, the new cell is inserted after this cell; if omitted, inserted at the beginning.",type:"string"},new_source:{description:"New source content for replace and insert operations. Not required for delete.",type:"string"},cell_type:{description:"Cell type for inserted cells or type conversion on replace.",type:"string",enum:["code","markdown"]},edit_mode:{description:"Notebook edit operation. Defaults to replace.",type:"string",enum:["replace","insert","delete"]}},required:["notebook_path"],additionalProperties:!1,type:"object"});this.config=t}static Name=c.NOTEBOOK_EDIT;modifyMetadataByParams=new WeakMap;modifyMetadataByKey=new Map;validateToolParamValues(t){if(t.notebook_path=T(t.notebook_path.trim()),!t.notebook_path)return"The 'notebook_path' parameter must be non-empty.";if(!m.isAbsolute(t.notebook_path))return`Notebook path must be absolute: ${t.notebook_path}`;if(m.extname(t.notebook_path).toLowerCase()!==".ipynb")return"File must be a Jupyter notebook (.ipynb). Use the edit tool for other file types.";let e=t.edit_mode??"replace";return["replace","insert","delete"].includes(e)?t.cell_type&&!["code","markdown"].includes(t.cell_type)?"cell_type must be 'code' or 'markdown'.":e!=="insert"&&!t.cell_id?"cell_id is required for replace and delete operations.":e!=="delete"&&typeof t.new_source!="string"?`new_source is required when edit_mode is "${e}".`:this.config.getFileService().shouldMatildaIgnoreFile(t.notebook_path)?`File path '${t.notebook_path}' is ignored by .matildaignore pattern(s).`:null:"edit_mode must be 'replace', 'insert', or 'delete'."}createInvocation(t){return new P(this.config,t,this.consumeModifyMetadata(t))}getModifyMetadataKey(t){return JSON.stringify({notebook_path:T(t.notebook_path.trim()),cell_id:t.cell_id,new_source:t.new_source,cell_type:t.cell_type,edit_mode:t.edit_mode})}rememberModifyMetadata(t,e){this.modifyMetadataByParams.set(t,e);let o=this.getModifyMetadataKey(t),i=this.modifyMetadataByKey.get(o)??[];i.push(e),this.modifyMetadataByKey.set(o,i)}consumeModifyMetadata(t){let e=this.modifyMetadataByParams.get(t);if(e)return this.modifyMetadataByParams.delete(t),this.removeQueuedModifyMetadata(t,e),e;let o=this.getModifyMetadataKey(t),i=this.modifyMetadataByKey.get(o),n=i?.shift();return i&&i.length===0&&this.modifyMetadataByKey.delete(o),n}removeQueuedModifyMetadata(t,e){let o=this.getModifyMetadataKey(t),i=this.modifyMetadataByKey.get(o);if(!i)return;let n=i.indexOf(e);n!==-1&&i.splice(n,1),i.length===0&&this.modifyMetadataByKey.delete(o)}getModifyContext(t){let e=new Map,o=async i=>{let n=e.get(i.notebook_path);if(n!==void 0)return n;let{content:l}=await this.config.getFileSystemService().readTextFile({path:i.notebook_path});return e.set(i.notebook_path,l),l};return{getFilePath:i=>i.notebook_path,getCurrentContent:async i=>o(i),getProposedContent:async i=>{let n=await o(i);return O(n,i).updatedContent},createUpdatedParams:(i,n,l)=>{let p=this.modifyMetadataByParams.get(l)?.aiProposedContent;if(p===void 0)try{p=O(i,l).updatedContent}catch{p=n}let s={...l};return this.rememberModifyMetadata(s,{aiProposedContent:p,modifiedByUser:!0,modifiedNotebookContent:n}),s}}}};export{S as NotebookEditTool,O as applyNotebookEdit};
|
|
13
|
+
/**
|
|
14
|
+
* @license
|
|
15
|
+
* Copyright 2026 Matilda Team
|
|
16
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
17
|
+
*/
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import{a as b,b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l,l as m}from"./chunk-C6SSPIF3.js";import"./chunk-QCIDUZV6.js";import"./chunk-3KCDX6MY.js";import"./chunk-FSRNEJQB.js";import"./chunk-S4K76QPI.js";import{b as a}from"./chunk-2FX4655X.js";import"./chunk-4F4DA5UI.js";import"./chunk-2XZIKUB6.js";import"./chunk-XYA3SFGC.js";import"./chunk-4J6DC24J.js";import"./chunk-LJR4RZZ2.js";import"./chunk-U347OO7S.js";import"./chunk-CLUEFPSU.js";import"./chunk-7VGUNT5L.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-ESSYHTAZ.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{h as ContentGenerationPipeline,c as DeepSeekOpenAICompatibleProvider,i as EnhancedErrorHandler,b as MatildaOpenAICompatibleProvider,k as MatildaOpenAIContentGenerator,g as MiMoOpenAICompatibleProvider,e as MiniMaxOpenAICompatibleProvider,f as MistralOpenAICompatibleProvider,a as OpenAIContentConverter,j as OpenAIContentGenerator,d as OpenRouterOpenAICompatibleProvider,l as createOpenAIContentGenerator,m as determineProvider};
|