@openchamber/web 1.11.3 → 1.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{JsonTreeView-4KDa8lGo.js → JsonTreeView-YQcDxcEK.js} +1 -1
- package/dist/assets/MarkdownRendererImpl-h6uFn35l.js +6 -0
- package/dist/assets/{MultiRunWindow-BBmUkZot.js → MultiRunWindow-BXZBRXf8.js} +1 -1
- package/dist/assets/{OnboardingScreen-CmfCd-NF.js → OnboardingScreen-AGACaSpL.js} +2 -2
- package/dist/assets/{SettingsWindow-Cju1ws5b.js → SettingsWindow-DbIrbkwH.js} +1 -1
- package/dist/assets/TerminalView-ClACTVsY.js +1 -0
- package/dist/assets/{ToolOutputDialog-v9jBbw8P.js → ToolOutputDialog-C9M1QAxc.js} +1 -1
- package/dist/assets/{es-jann2TW8.js → es-nmO_Sy-z.js} +4 -4
- package/dist/assets/index-BWxr-Sly.css +1 -0
- package/dist/assets/{ko-BI4PbFHS.js → ko-DgzWO49N.js} +4 -4
- package/dist/assets/{main-d-4uuoz4.js → main-BG6I-VaN.js} +2 -2
- package/dist/assets/main-DLomPR7m.js +227 -0
- package/dist/assets/miniChat-ata1oHqJ.js +2 -0
- package/dist/assets/{modelPrefsAutoSave-bm-G98P3.js → modelPrefsAutoSave-D4IOtl1d.js} +97 -98
- package/dist/assets/{pl-eehxx-j8.js → pl-CdOdV9f8.js} +3 -3
- package/dist/assets/{pt-BR-D34YtT2a.js → pt-BR-gg2QcqbT.js} +5 -5
- package/dist/assets/renderElectronMiniChatApp-F0L1QF1k.js +2 -0
- package/dist/assets/{uk-Ce5zhj4w.js → uk-CrnDWkt0.js} +4 -4
- package/dist/assets/{vendor-.bun-CJSRTa27.js → vendor-.bun-BIr1wmDP.js} +2 -10
- package/dist/assets/{zh-CN-DOs9jvCa.js → zh-CN-CWGQwc9R.js} +5 -5
- package/dist/index.html +4 -4
- package/dist/mini-chat.html +4 -4
- package/package.json +1 -1
- package/server/lib/opencode/DOCUMENTATION.md +4 -0
- package/server/lib/opencode/config-entity-routes.js +115 -0
- package/server/lib/opencode/core-routes.js +1 -0
- package/server/lib/opencode/core-routes.test.js +17 -1
- package/server/lib/opencode/feature-routes-runtime.js +12 -0
- package/server/lib/opencode/index.js +9 -0
- package/server/lib/opencode/routes.js +14 -1
- package/server/lib/opencode/snippets.js +233 -0
- package/server/lib/opencode/snippets.test.js +68 -0
- package/server/lib/scheduled-tasks/runtime.js +4 -3
- package/dist/assets/MarkdownRendererImpl-ShCeV10r.js +0 -6
- package/dist/assets/TerminalView-K9P6-TDg.js +0 -1
- package/dist/assets/index-BG2LvnTV.css +0 -1
- package/dist/assets/main-BCXofLIN.js +0 -225
- package/dist/assets/miniChat-DCx1bzpk.js +0 -2
- package/dist/assets/renderElectronMiniChatApp-exfEAtnm.js +0 -2
- /package/dist/assets/{index-CQjRYgmJ.js → index-Dc1XJWqt.js} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/renderElectronMiniChatApp-exfEAtnm.js","assets/vendor-.bun-CJSRTa27.js","assets/vendor--V65Sl9C2.css","assets/index-CQjRYgmJ.js","assets/index-BG2LvnTV.css","assets/modelPrefsAutoSave-bm-G98P3.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{c as r}from"./index-CQjRYgmJ.js";import{_ as o}from"./vendor-.bun-CJSRTa27.js";window.__OPENCHAMBER_RUNTIME_APIS__=r();o(async()=>{const{renderElectronMiniChatApp:_}=await import("./renderElectronMiniChatApp-exfEAtnm.js");return{renderElectronMiniChatApp:_}},__vite__mapDeps([0,1,2,3,4,5])).then(({renderElectronMiniChatApp:_})=>{_(window.__OPENCHAMBER_RUNTIME_APIS__??r())});
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/modelPrefsAutoSave-bm-G98P3.js","assets/vendor-.bun-CJSRTa27.js","assets/vendor--V65Sl9C2.css","assets/index-CQjRYgmJ.js","assets/index-BG2LvnTV.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{c as G,j as i,R as h,_ as Mt,av as Et,r as Nt}from"./vendor-.bun-CJSRTa27.js";import"./index-CQjRYgmJ.js";import{eI as At,u as jt,e8 as Lt,V as b,j as ce,h as qe,U as S,bL as wt,eJ as Rt,M as Bt,bp as It,a5 as Ot,a7 as zt,a8 as Tt,c as $t,ah as Wt,cB as Ut,aa as me,I as Ke,ag as Gt,at as vt,a as gt,af as U,$ as Ht,aD as Ft,ad as Vt,eo as Kt,ep as qt,eq as Jt,o as St,en as _t,et as Qt,ew as Xt,es as Yt,ai as Zt,er as en,eK as tn,c5 as nn,eE as rn,eF as sn,eG as on,eH as an,ex as cn,ey as ln,ez as dn,eA as un,eB as fn,eC as mn,eD as pn}from"./modelPrefsAutoSave-bm-G98P3.js";const hn=t=>{const e=G.c(3),{mode:r,children:s}=t;let n;return e[0]!==s||e[1]!==r?(n=i.jsx(At.Provider,{value:r,children:s}),e[0]=s,e[1]=r,e[2]=n):n=e[2],n},yn=t=>{const e=typeof t=="string"?t.trim():"";if(!e)return"";const r=typeof window<"u"?window.__OPENCHAMBER_HOME__:"";if(r&&e===r)return"~";if(r&&e.startsWith(`${r}/`))return`~/${e.slice(r.length+1)}`;const s=e.split("/").filter(Boolean);return s.length<=3?e:`.../${s.slice(-3).join("/")}`},T=t=>{const e=typeof t=="string"?t.trim():"";if(!e)return"";const r=e.replace(/\\/g,"/");return r==="/"?"/":r.replace(/\/+$/,"")},gn=t=>{const e=G.c(132),{mode:r}=t,{t:s}=jt(),n=b(xn),d=b(vn),a=b(Sn),u=ce(bn),f=qe(jn),l=qe(In),p=S(_n),D=S(Dn),j=wt(),g=Rt(n??""),y=Bt(),x=It(kn);let O;e[0]!==n?(O=o=>n?o.worktreeMetadata.get(n)?.path??"":"",e[0]=n,e[1]=O):O=e[1];const N=b(O);let M;e[2]!==n?(M=o=>n?o.worktreeMetadata.get(n)?.branch?.trim()??null:null,e[2]=n,e[3]=M):M=e[3];const c=b(M);let A;e[4]!==n?(A=o=>n?o.getAttachment(n):void 0,e[4]=n,e[5]=A):A=e[5];const I=Ot(A),pe=b(Pn),[_,R]=h.useState(!1),le=typeof window<"u"?window.__OPENCHAMBER_MACOS_MAJOR__??0:0,Je=Number.isFinite(le)&&le>0,de=Je?le>=26?"h-12":le<=15?"h-14":"":"";let z;e[6]!==n||e[7]!==j?(z=n?j.find(o=>o.id===n)??null:null,e[6]=n,e[7]=j,e[8]=z):z=e[8];const L=z,H=L?.worktreeMetadata??null;let he,ye;e[9]===Symbol.for("react.memo_cache_sentinel")?(he=()=>{Ut()&&me("desktop_get_window_pinned").then(o=>{typeof o?.pinned=="boolean"&&R(o.pinned)})},ye=[],e[9]=he,e[10]=ye):(he=e[9],ye=e[10]),h.useEffect(he,ye);let ge;e[11]!==d||e[12]!==r||e[13]!==L?.title||e[14]!==s?(ge=L?.title?.trim()||s(d||r==="draft"?"miniChat.header.newSession":"miniChat.header.session"),e[11]=d,e[12]=r,e[13]=L?.title,e[14]=s,e[15]=ge):ge=e[15];const Qe=ge,Xe=L?.directory??null;let we;e[16]!==Xe?(we=T(Xe),e[16]=Xe,e[17]=we):we=e[17];const xe=we,Ye=N||H?.path||I?.cwd||I?.worktreeRoot||"";let ve;e[18]!==Ye?(ve=T(Ye),e[18]=Ye,e[19]=ve):ve=e[19];const Se=ve;let be;e[20]!==u?(be=T(u),e[20]=u,e[21]=be):be=e[21];const k=Se||xe||pe||be;let je;e[22]!==k?(je=yn(k),e[22]=k,e[23]=je):je=e[23];const Dt=je;let Ie;e[24]!==xe||e[25]!==Se?(Ie=o=>{const m=T(Se||xe||"");if(!m)return null;for(const C of o.availableWorktreesByProject.values()){const v=C.find(B=>T(B.path)===m)?.branch?.trim();if(v)return v}return null},e[24]=xe,e[25]=Se,e[26]=Ie):Ie=e[26];const Ze=b(Ie);let _e,De;e[27]!==x||e[28]!==k||e[29]!==y.git?(_e=()=>{k&&x(k,y.git).catch(Cn)},De=[x,k,y.git],e[27]=x,e[28]=k,e[29]=y.git,e[30]=_e,e[31]=De):(_e=e[30],De=e[31]),h.useEffect(_e,De),H?.projectDirectory,I?.worktreeRoot;let et;e:{const o=H?.projectDirectory??I?.worktreeRoot??null;let m;e[32]!==o?(m=T(o),e[32]=o,e[33]=m):m=e[33];const w=m||k;if(!w){et=null;break e}let v;e[34]!==w||e[35]!==f?(v=f.map(Mn).filter(B=>B.normalizedPath&&(B.normalizedPath===w||w.startsWith(`${B.normalizedPath}/`))).sort(En)[0]??null,e[34]=w,e[35]=f,e[36]=v):v=e[36],et=v}const kt=et;let ke;e:{const o=kt??l;if(!o){ke=Dt||"OpenChamber";break e}let m;e[37]!==o.label?(m=o.label?.trim(),e[37]=o.label,e[38]=m):m=e[38];const C=m;if(C){ke=C;break e}let w;e[39]!==o.path?(w=o.path.split(/[\\/]/).filter(Boolean).at(-1)??o.path,e[39]=o.path,e[40]=w):w=e[40],ke=w}const tt=ke,nt=zt(k||null);let Pe;e[41]!==Ze||e[42]!==nt||e[43]!==H?.branch||e[44]!==I?.branch||e[45]!==c?(Pe=nt||c||H?.branch?.trim()||I?.branch?.trim()||Ze,e[41]=Ze,e[42]=nt,e[43]=H?.branch,e[44]=I?.branch,e[45]=c,e[46]=Pe):Pe=e[46];const rt=Pe,Ce=rt&&rt!=="HEAD"?rt:null;L?.summary;const st=L?.summary;let Me;e[47]!==st?(Me=Tt(st),e[47]=st,e[48]=Me):Me=e[48];const ot=Me;let Ee;e[49]!==ot?(Ee=ot??{additions:0,deletions:0},e[49]=ot,e[50]=Ee):Ee=e[50];const F=Ee,it=F.additions>0||F.deletions>0;let Ne;e[51]!==p?(Ne=p(),e[51]=p,e[52]=Ne):Ne=e[52];const xt=Ne;let at;e:{for(let o=g.length-1;o>=0;o=o-1,o){const m=g[o];if(m.role!=="assistant"||typeof m.providerID!="string"||typeof m.modelID!="string")continue;const w=D.find(v=>v.id===m.providerID)?.models.find(v=>v.id===m.modelID);if(w){at=w;break e}}at=void 0}const Pt=at,Ae=xt?.limit?xt:Pt,V=Ae&&typeof Ae.limit=="object"&&Ae.limit!==null?Ae.limit:null,$=V&&typeof V.context=="number"?V.context:0,ue=V&&typeof V.output=="number"?V.output:0;let Le;e:{if(!n||g.length===0){Le=null;break e}let o,m;for(let fe=g.length-1;fe>=0;fe=fe-1,fe){const yt=g[fe];if(yt.role!=="assistant")continue;const W=yt.tokens;if(!W)continue;if(W.input+W.output+W.reasoning+(W.cache?.read??0)+(W.cache?.write??0)>0){o=W,m=yt.id;break}}if(!o){Le=null;break e}const C=o.input+o.output+o.reasoning+(o.cache?.read??0)+(o.cache?.write??0),w=$>0?$:2e5;let v;e[53]!==$||e[54]!==C?(v=$>0?Math.round(C/$*100):0,e[53]=$,e[54]=C,e[55]=v):v=e[55];const B=v;let Fe;e[56]!==o.output||e[57]!==ue?(Fe=ue>0?Math.round(o.output/ue*100):void 0,e[56]=o.output,e[57]=ue,e[58]=Fe):Fe=e[58];const mt=Fe,pt=$||0,ht=ue||void 0;let Ve;e[59]!==m||e[60]!==mt||e[61]!==B||e[62]!==pt||e[63]!==ht||e[64]!==w||e[65]!==C?(Ve={totalTokens:C,percentage:B,contextLimit:pt,outputLimit:ht,normalizedOutput:mt,thresholdLimit:w,lastMessageId:m},e[59]=m,e[60]=mt,e[61]=B,e[62]=pt,e[63]=ht,e[64]=w,e[65]=C,e[66]=Ve):Ve=e[66],Le=Ve}const P=Le,[E,ct]=h.useState(null);let Re;e[67]===Symbol.for("react.memo_cache_sentinel")?(Re={WebkitAppRegion:"drag"},e[67]=Re):Re=e[67];const Ct=Re;let Be;e[68]===Symbol.for("react.memo_cache_sentinel")?(Be={WebkitAppRegion:"no-drag"},e[68]=Be):Be=e[68];const lt=Be;let Oe,ze;e[69]!==P||e[70]!==n?(Oe=()=>{if(!n){ct(Nn);return}if(P&&P.totalTokens>0){ct(o=>o&&o.totalTokens===P.totalTokens&&o.percentage===P.percentage&&o.contextLimit===P.contextLimit&&(o.outputLimit??0)===(P.outputLimit??0)&&(o.normalizedOutput??0)===(P.normalizedOutput??0)&&o.thresholdLimit===P.thresholdLimit&&o.lastMessageId===P.lastMessageId?o:P);return}ct(An)},ze=[P,n],e[69]=P,e[70]=n,e[71]=Oe,e[72]=ze):(Oe=e[71],ze=e[72]),h.useEffect(Oe,ze);const dt=E&&E.contextLimit>0?Math.min(999,E.totalTokens/E.contextLimit*100):0;let Te;e[73]!==_?(Te=()=>{const o=!_;R(o),me("desktop_set_window_pinned",{pinned:o}).catch(()=>{R(!o)})},e[73]=_,e[74]=Te):Te=e[74];const ut=Te;let $e;e[75]!==u||e[76]!==n||e[77]!==a||e[78]!==k||e[79]!==L?($e=()=>{const o=n?{sessionId:n,directory:L?.directory??u??""}:{mode:"draft",directory:k||u||"",projectId:a};me("desktop_focus_main_window",o).then(Ln)},e[75]=u,e[76]=n,e[77]=a,e[78]=k,e[79]=L,e[80]=$e):$e=e[80];const ft=$e;let We;e[81]===Symbol.for("react.memo_cache_sentinel")?(We=$t("flex items-center gap-3 border-b border-[var(--interactive-border)] bg-[var(--surface-background)] pr-3",Je?"pl-[5.5rem]":"pl-3",de||"min-h-14"),e[81]=We):We=e[81];let K;e[82]!==s?(K=s("sessions.switcher.openAria"),e[82]=s,e[83]=K):K=e[83];let q;e[84]!==Qe?(q=i.jsx("span",{className:"truncate typography-ui-label text-[14px] font-normal leading-tight text-foreground max-w-full",children:Qe}),e[84]=Qe,e[85]=q):q=e[85];let J;e[86]!==tt?(J=i.jsx("span",{className:"truncate",children:tt}),e[86]=tt,e[87]=J):J=e[87];let Q;e[88]!==Ce?(Q=Ce?i.jsxs("span",{className:"inline-flex min-w-0 items-center gap-0.5",children:[i.jsx(Ke,{name:"git-branch",className:"h-3 w-3 flex-shrink-0 text-muted-foreground/70"}),i.jsx("span",{className:"truncate",children:Ce})]}):null,e[88]=Ce,e[89]=Q):Q=e[89];let X;e[90]!==F||e[91]!==it?(X=it?i.jsxs("span",{className:"inline-flex flex-shrink-0 items-center gap-0 text-[0.92em]",children:[i.jsxs("span",{className:"text-status-success/80",children:["+",F.additions]}),i.jsx("span",{className:"text-muted-foreground/60",children:"/"}),i.jsxs("span",{className:"text-status-error/65",children:["-",F.deletions]})]}):null,e[90]=F,e[91]=it,e[92]=X):X=e[92];let Y;e[93]!==J||e[94]!==Q||e[95]!==X?(Y=i.jsxs("span",{className:"flex min-w-0 max-w-full items-center gap-1.5 truncate typography-micro text-[10.5px] font-normal leading-tight text-muted-foreground/75",children:[J,Q,X]}),e[93]=J,e[94]=Q,e[95]=X,e[96]=Y):Y=e[96];let Z;e[97]!==K||e[98]!==q||e[99]!==Y?(Z=i.jsx(Gt,{children:i.jsxs("button",{type:"button","aria-label":K,style:lt,className:"flex min-w-0 max-w-full flex-col items-start rounded-md px-1 py-0.5 text-left transition-colors hover:bg-interactive-hover/60 focus-visible:outline-none focus-visible:bg-interactive-hover/60",children:[q,Y]})}),e[97]=K,e[98]=q,e[99]=Y,e[100]=Z):Z=e[100];let Ue;e[101]===Symbol.for("react.memo_cache_sentinel")?(Ue=i.jsx("div",{className:"min-w-0 flex-1"}),e[101]=Ue):Ue=e[101];let ee;e[102]!==dt||e[103]!==E?(ee=E&&E.totalTokens>0?i.jsx(Wt,{totalTokens:E.totalTokens,percentage:dt,colorPercentage:E.percentage,contextLimit:E.contextLimit,outputLimit:E.outputLimit??0,className:"h-9 shrink-0 pl-1 pr-1 typography-ui-label",valueClassName:"font-semibold leading-none",hideIcon:!0,showPercentIcon:!0,percentIconClassName:"h-5 w-5"}):null,e[102]=dt,e[103]=E,e[104]=ee):ee=e[104];let te;e[105]!==_||e[106]!==s?(te=s(_?"miniChat.actions.unpinAria":"miniChat.actions.pinAria"),e[105]=_,e[106]=s,e[107]=te):te=e[107];let ne;e[108]!==_||e[109]!==s?(ne=s(_?"miniChat.actions.unpin":"miniChat.actions.pin"),e[108]=_,e[109]=s,e[110]=ne):ne=e[110];let re;e[111]!==_?(re=_?i.jsx(Ke,{name:"pushpin-2-fill",className:"h-4 w-4"}):i.jsx(Ke,{name:"pushpin-2",className:"h-4 w-4"}),e[111]=_,e[112]=re):re=e[112];let se;e[113]!==ut||e[114]!==te||e[115]!==ne||e[116]!==re?(se=i.jsx(vt,{type:"button",variant:"ghost",size:"icon",onClick:ut,"aria-label":te,title:ne,style:lt,children:re}),e[113]=ut,e[114]=te,e[115]=ne,e[116]=re,e[117]=se):se=e[117];let oe;e[118]!==s?(oe=s("miniChat.actions.openMainAria"),e[118]=s,e[119]=oe):oe=e[119];let ie;e[120]!==s?(ie=s("miniChat.actions.openMain"),e[120]=s,e[121]=ie):ie=e[121];let Ge;e[122]===Symbol.for("react.memo_cache_sentinel")?(Ge=i.jsx(Ke,{name:"external-link",className:"h-4 w-4"}),e[122]=Ge):Ge=e[122];let ae;e[123]!==ft||e[124]!==oe||e[125]!==ie?(ae=i.jsx(vt,{type:"button",variant:"ghost",size:"icon",onClick:ft,"aria-label":oe,title:ie,style:lt,children:Ge}),e[123]=ft,e[124]=oe,e[125]=ie,e[126]=ae):ae=e[126];let He;return e[127]!==Z||e[128]!==ee||e[129]!==se||e[130]!==ae?(He=i.jsxs("header",{className:We,style:Ct,children:[Z,Ue,ee,se,ae]}),e[127]=Z,e[128]=ee,e[129]=se,e[130]=ae,e[131]=He):He=e[131],He},wn=t=>{const e=G.c(9),{mode:r,autoOpenDraft:s,unavailable:n}=t,d=s===void 0?!1:s,a=n===void 0?!1:n,{t:u}=jt();let f;e[0]!==r?(f=i.jsx(gn,{mode:r}),e[0]=r,e[1]=f):f=e[1];let l;e[2]!==d||e[3]!==u||e[4]!==a?(l=i.jsx("main",{className:"min-h-0 flex-1",children:a?i.jsx("div",{className:"flex h-full items-center justify-center px-6 text-center typography-ui-label text-muted-foreground",children:i.jsxs("div",{className:"max-w-sm rounded-lg border border-[var(--interactive-border)] bg-[var(--surface-elevated)] px-4 py-3",children:[i.jsx("div",{className:"font-medium text-foreground",children:u("miniChat.unavailable.title")}),i.jsx("div",{className:"mt-1 typography-small text-muted-foreground",children:u("miniChat.unavailable.description")})]})}):i.jsx(hn,{mode:"mini-chat",children:i.jsx(Lt,{autoOpenDraft:d})})}),e[2]=d,e[3]=u,e[4]=a,e[5]=l):l=e[5];let p;return e[6]!==f||e[7]!==l?(p=i.jsxs("div",{className:"flex h-full min-h-0 flex-col bg-background text-foreground",children:[f,l]}),e[6]=f,e[7]=l,e[8]=p):p=e[8],p};function xn(t){return t.currentSessionId}function vn(t){return!!t.newSessionDraft?.open}function Sn(t){return t.newSessionDraft?.selectedProjectId??null}function bn(t){return t.currentDirectory}function jn(t){return t.projects}function In(t){return t.getActiveProject()}function _n(t){return t.getCurrentModel}function Dn(t){return t.providers}function kn(t){return t.ensureStatus}function Pn(t){return t.newSessionDraft?.open?T(t.newSessionDraft.bootstrapPendingDirectory??t.newSessionDraft.directoryOverride??""):""}function Cn(){}function Mn(t){return{...t,normalizedPath:T(t.path)}}function En(t,e){return e.path.length-t.path.length}function Nn(t){return t===null?t:null}function An(t){return t===null?t:null}function Ln(t){return t?.focused===!0?me("desktop_close_current_window"):null}const bt=()=>{document.querySelector('textarea[data-chat-input="true"]')?.focus()},Rn=()=>{const t=gt(n=>n.shortcutOverrides),e=ce(n=>n.currentDirectory),r=qe(n=>n.getActiveProject()),s=b(n=>n.openNewSessionDraft);h.useEffect(()=>{const n=a=>Vt(a,t),d=a=>{if(U(a,n("focus_input"))){a.preventDefault(),bt();return}if(Ht()&&U(a,n("new_mini_chat"))){a.preventDefault(),me("desktop_open_draft_mini_chat_window",{directory:e||r?.path||"",projectId:r?.id??null})?.catch(l=>{console.warn("[mini-chat-shortcuts] failed to open draft mini chat window",l)});return}if(U(a,n("new_chat"))){a.preventDefault(),s({selectedProjectId:r?.id??null,directoryOverride:e||r?.path||null,preserveDirectoryOverride:!!(e||r?.path)}),bt();return}if(U(a,n("open_model_selector"))){a.preventDefault();const{isModelSelectorOpen:l,setModelSelectorOpen:p}=gt.getState();p(!l);return}if(U(a,n("cycle_thinking_variant"))){const l=S.getState();if(l.getCurrentModelVariants().length===0)return;a.preventDefault(),l.cycleCurrentVariant();const D=S.getState().currentVariant,j=b.getState().currentSessionId,g=S.getState().currentAgentName,y=S.getState().currentProviderId,x=S.getState().currentModelId;j&&g&&y&&x&&Ft.getState().saveAgentModelVariantForSession(j,g,y,x,D);return}const u=U(a,n("cycle_favorite_model_forward")),f=U(a,n("cycle_favorite_model_backward"));if(u||f){const{favoriteModels:l,addRecentModel:p}=gt.getState();if(l.length===0)return;a.preventDefault();const{currentProviderId:D,currentModelId:j,setProvider:g,setModel:y}=S.getState(),x=l.findIndex(M=>M.providerID===D&&M.modelID===j),N=l[(x+(u?1:-1)+l.length)%l.length];g(N.providerID),y(N.modelID),p(N.providerID,N.modelID)}};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[r?.id,r?.path,e,s,t])},Bn="openchamber:mini-chat-presence",On=()=>{const t=typeof window<"u"?new URLSearchParams(window.location.search):new URLSearchParams,e=t.get("mode")==="session"?"session":"draft",r=t.get("sessionId")?.trim()||null,s=t.get("directory")?.trim()||null,n=t.get("projectId")?.trim()||null;return{mode:e,sessionId:r,directory:s,projectId:n}},zn=({config:t})=>{const e=wt(),r=ce(c=>c.currentDirectory),s=ce(c=>c.setDirectory),n=qe(c=>c.projects),d=b(c=>c.currentSessionId),a=b(c=>!!c.newSessionDraft?.open),u=b(c=>c.newSessionDraft?.open?c.newSessionDraft.bootstrapPendingDirectory??c.newSessionDraft.directoryOverride??"":""),f=b(c=>c.setCurrentSession),l=b(c=>c.openNewSessionDraft),p=S(c=>c.initializeApp),D=S(c=>c.isInitialized),j=S(c=>c.isConnected),g=S(c=>c.loadProviders),y=S(c=>c.loadAgents),x=S(c=>c.providers.length),O=S(c=>c.agents.length);h.useEffect(()=>{p()},[p]),h.useEffect(()=>{if(D)return;let c=!0,A=0;const I=window.setInterval(()=>{if(c){if(A+=1,A>10){window.clearInterval(I);return}S.getState().isInitialized||S.getState().initializeApp()}},1e3);return()=>{c=!1,window.clearInterval(I)}},[D]);const N=h.useRef(!1);h.useEffect(()=>{if(!N.current&&t.mode==="session"&&t.directory){if(r===t.directory){N.current=!0;return}s(t.directory,{showOverlay:!1}),N.current=!0}},[t.directory,t.mode,r,s]),h.useEffect(()=>{t.mode!=="draft"||!a||d||!u||r===u||s(u,{showOverlay:!1})},[t.mode,r,d,u,a,s]),h.useEffect(()=>{j&&(x===0&&g(),O===0&&y())},[O,j,y,g,x]);const M=h.useRef(!1);return h.useEffect(()=>{if(M.current||t.mode!=="session"||!t.sessionId)return;if(d===t.sessionId){M.current=!0;return}if(d){M.current=!0;return}const c=e.find(I=>I.id===t.sessionId);if(!c)return;const A=c.directory??t.directory;f(t.sessionId,A),M.current=!0},[t,d,e,f]),h.useEffect(()=>{t.mode!=="draft"||a||d||l({selectedProjectId:t.projectId,directoryOverride:t.directory,preserveDirectoryOverride:!!t.directory})},[t,d,a,l]),h.useEffect(()=>{if(n.length===0)return;let c=!1;return(async()=>{const I=new Map,pe=[];await Promise.all(n.map(async _=>{const R=_.path.replace(/\\/g,"/").replace(/\/+$/,"");if(R)try{if(!(It.getState().directories.get(R)?.isGitRepo??await Mt(()=>import("./modelPrefsAutoSave-bm-G98P3.js").then(z=>z.f2),__vite__mapDeps([0,1,2,3,4])).then(z=>z.checkIsGitRepository(R))))return;const de=await nn({id:_.id,path:R});if(c||de.length===0)return;I.set(R,de),pe.push(...de)}catch{}})),!c&&b.setState({availableWorktrees:pe,availableWorktreesByProject:I})})(),()=>{c=!0}},[n]),null},Tn=()=>{const t=G.c(4),e=b(Fn),r=ce(Vn);let s,n;return t[0]!==r||t[1]!==e?(s=()=>{if(!e||!r||typeof BroadcastChannel>"u")return;const d=new BroadcastChannel(Bn),a=l=>{d.postMessage({type:"mini-chat-session-presence",sessionId:e,directory:r,viewed:l})};a(!0);const u=window.setInterval(()=>a(!0),5e3),f=()=>a(!1);return window.addEventListener("beforeunload",f),()=>{window.clearInterval(u),window.removeEventListener("beforeunload",f),a(!1),d.close()}},n=[r,e],t[0]=r,t[1]=e,t[2]=s,t[3]=n):(s=t[2],n=t[3]),h.useEffect(s,n),null},$n=t=>{const e=G.c(6),r=wt(),s=b(Kn),[n,d]=h.useState(!1);let a,u;return e[0]!==t.mode||e[1]!==t.sessionId||e[2]!==s||e[3]!==r?(a=()=>{if(t.mode!=="session"||!t.sessionId||s===t.sessionId){d(!1);return}if(r.some(l=>l.id===t.sessionId)){d(!1);return}const f=window.setTimeout(()=>d(!0),5e3);return()=>window.clearTimeout(f)},u=[t.mode,t.sessionId,s,r],e[0]=t.mode,e[1]=t.sessionId,e[2]=s,e[3]=r,e[4]=a,e[5]=u):(a=e[4],u=e[5]),h.useEffect(a,u),n};function Wn(t){const e=G.c(15),{apis:r}=t;let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=On(),e[0]=s):s=e[0];const n=s,d=ce(Gn);let a,u;e[1]!==d?(a=()=>{St.setDirectory(d||n.directory||void 0)},u=[n.directory,d],e[1]=d,e[2]=a,e[3]=u):(a=e[2],u=e[3]),h.useEffect(a,u);let f,l;e[4]!==r?(f=()=>(_t(r),Un),l=[r],e[4]=r,e[5]=f,e[6]=l):(f=e[5],l=e[6]),h.useEffect(f,l),Kt(),Rn();let p;e[7]===Symbol.for("react.memo_cache_sentinel")?(p={enabled:!0},e[7]=p):p=e[7],qt(p),Jt();let D;e[8]===Symbol.for("react.memo_cache_sentinel")?(D=St.getSdkClient(),e[8]=D):D=e[8];const j=d||n.directory||"";let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=i.jsx(Qt,{delayDuration:300,skipDelayDuration:150,children:i.jsxs("div",{className:"h-full text-foreground bg-background",children:[i.jsx(Hn,{config:n}),i.jsx(Xt,{})]})}),e[9]=g):g=e[9];let y;e[10]!==r?(y=i.jsx(Yt,{apis:r,children:g}),e[10]=r,e[11]=y):y=e[11];let x;return e[12]!==y||e[13]!==j?(x=i.jsx(Zt,{children:i.jsx(en,{sdk:D,directory:j,children:y})}),e[12]=y,e[13]=j,e[14]=x):x=e[14],x}function Un(){return _t(null)}function Gn(t){return t.currentDirectory}const Hn=t=>{const e=G.c(11),{config:r}=t,s=$n(r);let n;e[0]!==r?(n=i.jsx(zn,{config:r}),e[0]=r,e[1]=n):n=e[1];let d,a;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=i.jsx(Tn,{}),a=i.jsx(tn,{embeddedBackgroundWorkEnabled:!0}),e[2]=d,e[3]=a):(d=e[2],a=e[3]);const u=r.mode==="draft";let f;e[4]!==r.mode||e[5]!==s||e[6]!==u?(f=i.jsx(wn,{mode:r.mode,autoOpenDraft:u,unavailable:s}),e[4]=r.mode,e[5]=s,e[6]=u,e[7]=f):f=e[7];let l;return e[8]!==n||e[9]!==f?(l=i.jsxs(i.Fragment,{children:[n,d,a,f]}),e[8]=n,e[9]=f,e[10]=l):l=e[10],l};function Fn(t){return t.currentSessionId}function Vn(t){return t.currentDirectory}function Kn(t){return t.currentSessionId}const qn=()=>{cn(),ln().then(()=>{Promise.all([dn(),un()]).catch(t=>{console.error("[mini-chat-main] settings init failed:",t)}),fn(),mn(),pn()}).catch(t=>{console.error("[mini-chat-main] appearance init failed:",t)})};function er(t){qn();const e=document.getElementById("root");if(!e)throw new Error("Root element not found");Et.createRoot(e).render(i.jsx(Nt.StrictMode,{children:i.jsx(rn,{children:i.jsx(sn,{children:i.jsx(on,{children:i.jsx(an,{children:i.jsx(Wn,{apis:t})})})})})}))}export{er as renderElectronMiniChatApp};
|
|
File without changes
|