1import{$t as ne,An as oe,Gi as ie,Ht as I,It as m,Ka as i,Ki as ue,Kn as se,Na as w,On as q,Sn as N,St as C,Vi as Q,Wa as re,Wn as me,Zi as ve,_a as de,bi as fe,bt as ge,ca as z,do as e,go as M,ha as n,i as ke,ja as pe,ka as be,la as A,ma as h,oo as Ce,pt as ye,qi as xe,r as _e,ro as k,sa as f,vo as _,wt as p,yi as Te,zi as Se}from"./index-kn_z18tu.js";import{n as Ee,t as He}from"./PageLoading-BE0X-fu4.js";import{n as Ue,t as we}from"./PageHeader-W0Hu1sCE.js";import{n as ze,t as u}from"./SettingRow-XVTjJ4ZU.js";async function Me(){return Q("/api/ekko/config")}async function he(B){return Q("/api/ekko/config",{method:"PUT",body:JSON.stringify({config:B})})}var Be=_((()=>{Se()})),O,D,F,G,j,K,W,Z,$,X,J=_((()=>{ve(),Ee(),Ue(),ie(),ye(),Te(),ze(),Be(),O={class:"page-header"},D={class:"header-title"},F={class:"ekko-settings-content"},G={class:"settings-section"},j={class:"settings-section"},K={class:"settings-section"},W={class:"settings-section"},Z={class:"settings-section"},$={class:"readonly-value"},X=de({__name:"SettingsView",setup(B){const{t:a}=fe(),L=ue(),Y=xe(),R=ne(),T=k(!0),S=k(!1),g=k(""),b=k("runtime"),E=k(0),H=k(""),o=k(null);let d,y=0,U=!1;const c=["none","minimal","low","medium","high","xhigh","max"].map(s=>({label:s,value:s})),ee=["auto","concise","detailed"].map(s=>({label:s,value:s}));function P(s){return s==="model"||s==="tools"||s==="modules"||s==="advanced"?s:"runtime"}function le(s){b.value=P(s),Y.replace({query:{...L.query,tab:b.value==="runtime"?void 0:b.value}})}function V(s){return s instanceof Error?s.message:String(s)}async function te(){T.value=!0,g.value="";try{const s=await Me();E.value=s.schemaVersion,H.value=s.configPath,o.value=structuredClone(s.config)}catch(s){g.value=V(s)}finally{T.value=!1}}async function x(){if(!o.value)return;if(S.value){U=!0;return}const s=y,l=structuredClone(Ce(o.value));S.value=!0,g.value="";try{const t=await he(l);E.value=t.schemaVersion,H.value=t.configPath,R.success(a("common.saved"))}catch(t){g.value=V(t),R.error(a("common.saveFailed"))}finally{S.value=!1,(U||y>s)&&(U=!1,x())}}function v(){y+=1,d&&clearTimeout(d),d=void 0,x()}function r(){y+=1,ae()}function ae(){d&&clearTimeout(d),d=setTimeout(()=>{d=void 0,x()},400)}return re(()=>L.query.tab,s=>{b.value=P(s)},{immediate:!0}),pe(()=>{te()}),be(()=>{d&&(clearTimeout(d),d=void 0,x())}),(s,l)=>(w(),z(He,{show:T.value,class:"ekko-settings-view"},{default:i(()=>[n(we,null,{default:i(()=>[f("header",O,[f("h2",D,M(e(a)("settings.title")),1)])]),_:1}),f("div",F,[g.value?(w(),z(e(se),{key:0,type:"error",closable:"",class:"settings-error",onClose:l[0]||(l[0]=t=>g.value="")},{default:i(()=>[h(M(g.value),1)]),_:1})):A("",!0),f("div",null,[o.value?(w(),z(e(ge),{key:0,value:b.value,"onUpdate:value":[l[51]||(l[51]=t=>b.value=t),le],type:"line",animated:""},{default:i(()=>[n(e(C),{name:"runtime",tab:e(a)("ekkoConfig.settingsRuntime")},{default:i(()=>[f("section",G,[n(u,{label:e(a)("ekkoConfig.maxSteps"),hint:e(a)("ekkoConfig.runLimitHint")},{default:i(()=>[n(e(m),{value:o.value.runtime.maxSteps,"onUpdate:value":[l[1]||(l[1]=t=>o.value.runtime.maxSteps=t),l[2]||(l[2]=t=>t!=null&&r())],min:1,step:5,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.maxModelRetries"),hint:e(a)("ekkoConfig.retryLimitHint")},{default:i(()=>[n(e(m),{value:o.value.runtime.maxModelRetries,"onUpdate:value":[l[3]||(l[3]=t=>o.value.runtime.maxModelRetries=t),l[4]||(l[4]=t=>t!=null&&r())],min:0,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.maxToolFailures"),hint:e(a)("ekkoConfig.failureLimitHint")},{default:i(()=>[n(e(m),{value:o.value.runtime.toolFailureRecoveryThreshold,"onUpdate:value":[l[5]||(l[5]=t=>o.value.runtime.toolFailureRecoveryThreshold=t),l[6]||(l[6]=t=>t!=null&&r())],min:1,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.backgroundDelegation"),hint:e(a)("ekkoConfig.featureToggleHint")},{default:i(()=>[n(e(p),{value:o.value.delegation.backgroundEnabled,"onUpdate:value":[l[7]||(l[7]=t=>o.value.delegation.backgroundEnabled=t),v]},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.subtaskMaxSteps"),hint:e(a)("ekkoConfig.runLimitHint")},{default:i(()=>[n(e(m),{value:o.value.delegation.subtaskMaxSteps,"onUpdate:value":[l[8]||(l[8]=t=>o.value.delegation.subtaskMaxSteps=t),l[9]||(l[9]=t=>t!=null&&r())],min:1,step:5,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"])])]),_:1},8,["tab"]),n(e(C),{name:"model",tab:e(a)("ekkoConfig.settingsModel")},{default:i(()=>[f("section",j,[n(u,{label:e(a)("ekkoConfig.requestTimeoutMs"),hint:e(a)("ekkoConfig.timeoutHint")},{default:i(()=>[n(e(m),{value:o.value.model.requestTimeoutMs,"onUpdate:value":[l[10]||(l[10]=t=>o.value.model.requestTimeoutMs=t),l[11]||(l[11]=t=>t!=null&&r())],min:1,step:1e3,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.temperature"),hint:e(a)("ekkoConfig.modelParameterHint")},{default:i(()=>[n(e(m),{value:o.value.model.temperature,"onUpdate:value":[l[12]||(l[12]=t=>o.value.model.temperature=t),r],min:0,step:.1,clearable:"",size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.maxTokens"),hint:e(a)("ekkoConfig.modelParameterHint")},{default:i(()=>[n(e(m),{value:o.value.model.maxTokens,"onUpdate:value":[l[13]||(l[13]=t=>o.value.model.maxTokens=t),r],min:1,clearable:"",size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.reasoningEffort"),hint:e(a)("ekkoConfig.modelParameterHint")},{default:i(()=>[n(e(N),{value:o.value.model.reasoningEffort,"onUpdate:value":[l[14]||(l[14]=t=>o.value.model.reasoningEffort=t),v],options:e(c),size:"small",class:"input-md"}
1,null,8,["value","options"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.reasoningSummary"),hint:e(a)("ekkoConfig.modelParameterHint")},{default:i(()=>[n(e(N),{value:o.value.model.reasoningSummary,"onUpdate:value":[l[15]||(l[15]=t=>o.value.model.reasoningSummary=t),v],options:e(ee),size:"small",class:"input-md"},null,8,["value","options"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.authorizationLeewayMs"),hint:e(a)("ekkoConfig.authorizationLeewayHint")},{default:i(()=>[n(e(m),{value:o.value.model.authorizationRefreshLeewayMs,"onUpdate:value":[l[16]||(l[16]=t=>o.value.model.authorizationRefreshLeewayMs=t),l[17]||(l[17]=t=>t!=null&&r())],min:0,step:1e3,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"])])]),_:1},8,["tab"]),n(e(C),{name:"tools",tab:e(a)("ekkoConfig.settingsTools")},{default:i(()=>[f("section",K,[n(u,{label:e(a)("ekkoConfig.toolsEnabled"),hint:e(a)("ekkoConfig.featureToggleHint")},{default:i(()=>[n(e(p),{value:o.value.tools.enabled,"onUpdate:value":[l[18]||(l[18]=t=>o.value.tools.enabled=t),v]},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.toolTimeoutMs"),hint:e(a)("ekkoConfig.timeoutHint")},{default:i(()=>[n(e(m),{value:o.value.tools.executionTimeoutMs,"onUpdate:value":[l[19]||(l[19]=t=>o.value.tools.executionTimeoutMs=t),l[20]||(l[20]=t=>t!=null&&r())],min:1,step:1e3,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.approvalsEnabled"),hint:e(a)("ekkoConfig.featureToggleHint")},{default:i(()=>[n(e(p),{value:o.value.tools.approvals.enabled,"onUpdate:value":[l[21]||(l[21]=t=>o.value.tools.approvals.enabled=t),v]},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.approvalTimeoutMs"),hint:e(a)("ekkoConfig.timeoutHint")},{default:i(()=>[n(e(m),{value:o.value.tools.approvals.timeoutMs,"onUpdate:value":[l[22]||(l[22]=t=>o.value.tools.approvals.timeoutMs=t),l[23]||(l[23]=t=>t!=null&&r())],min:1,step:1e3,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.permanentAllow"),hint:e(a)("ekkoConfig.allowlistHint")},{default:i(()=>[n(e(I),{value:o.value.tools.approvals.permanentAllow,"onUpdate:value":[l[24]||(l[24]=t=>o.value.tools.approvals.permanentAllow=t),v],class:"input-lg"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.codeExecEnabled"),hint:e(a)("ekkoConfig.featureToggleHint")},{default:i(()=>[n(e(p),{value:o.value.tools.codeExec.enabled,"onUpdate:value":[l[25]||(l[25]=t=>o.value.tools.codeExec.enabled=t),v]},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.codeExecLanguages"),hint:e(a)("ekkoConfig.languagesHint")},{default:i(()=>[n(e(oe),{value:o.value.tools.codeExec.languages,"onUpdate:value":[l[26]||(l[26]=t=>o.value.tools.codeExec.languages=t),v],class:"input-md"},{default:i(()=>[n(e(q),{value:"node"},{default:i(()=>[...l[52]||(l[52]=[h("Node.js",-1)])]),_:1}),n(e(q),{value:"python"},{default:i(()=>[...l[53]||(l[53]=[h("Python",-1)])]),_:1})]),_:1},8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.codeExecTimeoutMs"),hint:e(a)("ekkoConfig.timeoutHint")},{default:i(()=>[n(e(m),{value:o.value.tools.codeExec.timeoutMs,"onUpdate:value":[l[27]||(l[27]=t=>o.value.tools.codeExec.timeoutMs=t),l[28]||(l[28]=t=>t!=null&&r())],min:1,step:1e3,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.codeExecMaxCalls"),hint:e(a)("ekkoConfig.runLimitHint")},{default:i(()=>[n(e(m),{value:o.value.tools.codeExec.maxToolCalls,"onUpdate:value":[l[29]||(l[29]=t=>o.value.tools.codeExec.maxToolCalls=t),l[30]||(l[30]=t=>t!=null&&r())],min:1,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.maxOutputBytes"),hint:e(a)("ekkoConfig.outputSizeHint")},{default:i(()=>[n(e(m),{value:o.value.tools.codeExec.maxOutputBytes,"onUpdate:value":[l[31]||(l[31]=t=>o.value.tools.codeExec.maxOutputBytes=t),l[32]||(l[32]=t=>t!=null&&r())],min:1,step:1e3,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.maxStderrBytes"),hint:e(a)("ekkoConfig.outputSizeHint")},{default:i(()=>[n(e(m),{value:o.value.tools.codeExec.maxStderrBytes,"onUpdate:value":[l[33]||(l[33]=t=>o.value.tools.codeExec.maxStderrBytes=t),l[34]||(l[34]=t=>t!=null&&r())],min:1,step:1e3,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.maxSourceBytes"),hint:e(a)("ekkoConfig.outputSizeHint")},{default:i(()=>[n(e(m),{value:o.value.tools.codeExec.maxSourceBytes,"onUpdate:value":[l[35]||(l[35]=t=>o.value.tools.codeExec.maxSourceBytes=t),l[36]||(l[36]=t=>t!=null&&r())],min:1,step:1e3,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"])])]),_:1},8,["tab"]),n(e(C),{name:"modules",tab:e(a)("ekkoConfig.settingsModules")},{default:i(()=>[f("section",W,[n(u,{label:e(a)("ekkoConfig.memoryEnabled"),hint:e(a)("ekkoConfig.featureToggleHint")},{default:i(()=>[n(e(p),{value:o.value.memory.enabled,"onUpdate:value":[l[37]||(l[37]=t=>o.value.memory.enabled=t),v]},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.recentMessageLimit"),hint:e(a)("ekkoConfig.memoryWindowHint")},{default:i(()=>[n(e(m),{value:o.value.memory.recentMessageLimit,"onUpdate:value":[l[38]||(l[38]=t=>o.value.memory.recentMessageLimit=t),l[39]||(l[39]=t=>t!=null&&r())],min:1,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.recallTokenBudget"),hint:e(a)("ekkoConfig.recallBudgetHint")},{default:i(()=>[n(e(m),{value:o.value.memory.automaticRecallTokenBudget,"onUpdate:value":[l[40]||(l[40]=t=>o.value.memory.automaticRecallTokenBudget=t),l[41]||(l[41]=t=>t!=null&&r())],min:0,step:100,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.memorySearchLimit"),hint:e(a)("ekkoConfig.resultLimitHint")},{default:i(()=>[n(e(m),{value:o.value.memory.searchResultLimit,"onUpdate:value":[l[42]||(l[42]=t=>o.value.memory.searchResultLimit=t),l[43]||(l[43]=t=>t!=null&&r())],min:1,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.skillsEnabled"),hint:e(a)("ekkoConfig.featureToggleHint")},{default:i(()=>[n(e(p),{value:o.value.skills.enabled,"onUpdate:value":[l[44]||(l[44]=t=>o.value.skills.enabled=t),v]},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.skillReviewInterval"),hint:e(a)("ekkoConfig.reviewIntervalHint")},{default:i(()=>[n(e(m),{value:o.value.skills.reviewEveryToolCalls,"onUpdate:value":[l[45]||(l[45]=t=>o.value.skills.reviewEveryToolCalls=t),l[46]||(l[46]=t=>t!=null&&r())],min:0,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.mcpEnabled"),hint:e(a)("ekkoConfig.featureToggleHint")},{default:i(()=>
1[n(e(p),{value:o.value.mcp.enabled,"onUpdate:value":[l[47]||(l[47]=t=>o.value.mcp.enabled=t),v]},null,8,["value"])]),_:1},8,["label","hint"])])]),_:1},8,["tab"]),n(e(C),{name:"advanced",tab:e(a)("ekkoConfig.settingsAdvanced")},{default:i(()=>[f("section",Z,[n(u,{label:e(a)("ekkoConfig.logMaxBytes"),hint:e(a)("ekkoConfig.outputSizeHint")},{default:i(()=>[n(e(m),{value:o.value.logging.maxBytes,"onUpdate:value":[l[48]||(l[48]=t=>o.value.logging.maxBytes=t),l[49]||(l[49]=t=>t!=null&&r())],min:1,step:1048576,size:"small",class:"input-sm"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.promptInstructions"),hint:e(a)("ekkoConfig.promptInstructionsHint")},{default:i(()=>[n(e(I),{value:o.value.prompt.instructions,"onUpdate:value":[l[50]||(l[50]=t=>o.value.prompt.instructions=t),v],class:"input-lg"},null,8,["value"])]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.schemaVersion"),hint:e(a)("ekkoConfig.readonlyConfigHint")},{default:i(()=>[f("span",$,M(E.value),1)]),_:1},8,["label","hint"]),n(u,{label:e(a)("ekkoConfig.configPath"),hint:e(a)("ekkoConfig.readonlyConfigHint")},{default:i(()=>[n(e(me),{value:H.value,readonly:"",size:"small",class:"input-lg"},null,8,["value"])]),_:1},8,["label","hint"])])]),_:1},8,["tab"])]),_:1},8,["value"])):A("",!0)])])]),_:1},8,["show"]))}})})),Le=_((()=>{})),Re,Pe=_((()=>{J(),J(),Le(),ke(),Re=_e(X,[["__scopeId","data-v-b550e4c1"]])}));Pe();export{Re as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.