@inkeep/open-knowledge 0.46.0-beta.16 → 0.46.0-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/THIRD_PARTY_NOTICES.md +5 -0
  2. package/dist/{acp-harness-probe-Dgh1Ipmo.mjs → acp-harness-probe-De8I5GLi.mjs} +2 -2
  3. package/dist/cli.mjs +6 -6
  4. package/dist/constants-BfwnJrO6.mjs +2 -0
  5. package/dist/index.mjs +1 -1
  6. package/dist/{init-DXZ5ZL-d.mjs → init-CpL53GmG.mjs} +3 -3
  7. package/dist/init-DkRUVy0u.mjs +1 -0
  8. package/dist/{launch-json-removal-B6IOQFk9.mjs → launch-json-removal-A2gRrDY9.mjs} +2 -2
  9. package/dist/loader-Cu1PSU1a.mjs +1 -0
  10. package/dist/{loader-di8ingCA.mjs → loader-Dtp3Zsz2.mjs} +2 -2
  11. package/dist/preview-CXHa4Isv.mjs +1 -0
  12. package/dist/{preview-CCY8KBS2.mjs → preview-G09EUZwC.mjs} +2 -2
  13. package/dist/public/assets/FeedbackForm-CT893Lit.js +1 -0
  14. package/dist/public/assets/{SessionsHost-9g8XG0FA.js → SessionsHost-17eNV0Wq.js} +2 -2
  15. package/dist/public/assets/{TerminalWindowApp-cq0ZjlPg.js → TerminalWindowApp-CqNlVfBp.js} +1 -1
  16. package/dist/public/assets/ThreadView-DcNUIsnx.js +6 -0
  17. package/dist/public/assets/{globals-Wwv5HfuY.js → globals-0NgAOIr4.js} +1 -1
  18. package/dist/public/assets/globals-Cd1sgqvz.css +1 -0
  19. package/dist/public/assets/{index-COolXpYV.js → index-BHF-BkPA.js} +4 -4
  20. package/dist/public/assets/{uninstall-CZ4_m9Qa.js → uninstall-D3gX2hi1.js} +1 -1
  21. package/dist/public/index.html +3 -3
  22. package/dist/public/uninstall.html +3 -3
  23. package/dist/{repair-launch-json-BECz0463.mjs → repair-launch-json-DZqGZNe1.mjs} +2 -2
  24. package/dist/{repair-mcp-configs-CVA75ZZh.mjs → repair-mcp-configs-DxrHIXaa.mjs} +2 -2
  25. package/dist/{src-Da5rL2HL.mjs → src-BI2J7o5q.mjs} +2 -2
  26. package/dist/start-Cgl1RMlt.mjs +1 -0
  27. package/dist/{start-BsQjO-tR.mjs → start-CsoFcJw4.mjs} +2 -2
  28. package/package.json +5 -5
  29. package/dist/constants-BMyLpSJ8.mjs +0 -2
  30. package/dist/init-BnKh4hJB.mjs +0 -1
  31. package/dist/loader-DJaTAEVI.mjs +0 -1
  32. package/dist/preview-ChlChU-0.mjs +0 -1
  33. package/dist/public/assets/FeedbackForm-DtN1ab2c.js +0 -1
  34. package/dist/public/assets/ThreadView-BxHj-gwp.js +0 -6
  35. package/dist/public/assets/globals-Ba8zXfL4.css +0 -1
  36. package/dist/start-D08mufE-.mjs +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./globals-Wwv5HfuY.js";import{t as n}from"./jsx-runtime-BUgB2tll.js";import{t as r}from"./react-f2sANaYj.js";import{n as i,r as a,t as o}from"./dist-Nvb76hAm.js";import{t as s}from"./compiler-runtime-BfE3aGVn.js";import{t as c}from"./utils-CPqDy6Hr.js";import{t as l}from"./button-D3xSRfT4.js";import{t as u}from"./checkbox-Cq1BnJ3x.js";import{t as d}from"./label-CGqMAe0S.js";import{n as f,t as p}from"./radio-group-DxMM4tU-.js";import{It as m,Lt as h}from"./dist-D8RKvolB2.js";import{t as g}from"./check-D1JmbeH0.js";import{t as _}from"./loader-circle-C4uszcbe.js";import{t as v}from"./input-DcoGZoTQ.js";import{t as y}from"./dist-Du3GTGo5.js";import{t as b}from"./badge-DwfQ2IQa.js";import{t as x}from"./textarea-Cl4IJ1LU.js";var S=e(r(),1),C=t(),w=s();async function T(){let e=typeof window>`u`?void 0:window.okUninstall;if(e===void 0)return null;try{let t=await e.ready();return t.kind===`screen`?t.screen:null}catch{return null}}function E(e){let t=typeof window>`u`?void 0:window.okUninstall;t!==void 0&&t.send(e).catch(()=>void 0)}var D=n();function O(e){let t=(0,w.c)(6),{items:n}=e,r;if(t[0]!==n){let e;t[2]===n.length?e=t[3]:(e=(e,t)=>(0,D.jsxs)(`li`,{className:`relative pb-5 pl-[30px] last:pb-1`,children:[t<n.length-1&&(0,D.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-[22px] bottom-0.5 left-[9px] w-0.5 bg-border`}),(0,D.jsx)(`span`,{"aria-hidden":`true`,className:c(`absolute top-px left-0 inline-flex size-5 items-center justify-center rounded-full`,e.done?`bg-primary/15 text-primary`:`border-[1.5px] border-muted-foreground/50`),children:e.done&&(0,D.jsx)(g,{className:`size-3`})}),(0,D.jsx)(`span`,{className:`sr-only`,children:e.done?(0,D.jsx)(i,{id:`clJ3qM`}):(0,D.jsx)(i,{id:`yU_9ur`})}),(0,D.jsxs)(`span`,{className:`block`,children:[(0,D.jsx)(`span`,{className:`font-medium`,children:e.label}),e.detail!==void 0&&(0,D.jsx)(`span`,{className:`mt-0.5 block text-muted-foreground leading-snug`,children:e.detail})]})]},e.label),t[2]=n.length,t[3]=e),r=n.map(e),t[0]=n,t[1]=r}else r=t[1];let a;return t[4]===r?a=t[5]:(a=(0,D.jsx)(`ol`,{className:`mb-1.5`,children:r}),t[4]=r,t[5]=a),a}function k(e){let t=(0,w.c)(49),{notice:n,onConfirm:r,onCancel:i,onRevealLog:o}=e,{_:s}=a(),c=(0,S.useId)(),u=(0,S.useId)(),d=n.cancelLabel!==void 0,f,p;t[0]!==d||t[1]!==i||t[2]!==r?(f=()=>{let e=e=>{e.key===`Escape`&&(d?i():r())};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},p=[d,i,r],t[0]=d,t[1]=i,t[2]=r,t[3]=f,t[4]=p):(f=t[3],p=t[4]),(0,S.useEffect)(f,p);let m;t[5]!==n.title||t[6]!==c?(m=(0,D.jsx)(`h1`,{id:c,className:`font-medium text-base leading-none`,children:n.title}),t[5]=n.title,t[6]=c,t[7]=m):m=t[7];let h;t[8]===n.subtitle?h=t[9]:(h=n.subtitle!==void 0&&(0,D.jsx)(`p`,{className:`text-muted-foreground text-sm leading-snug`,children:n.subtitle}),t[8]=n.subtitle,t[9]=h);let g;t[10]!==m||t[11]!==h?(g=(0,D.jsxs)(`header`,{className:`shrink-0 space-y-4 px-6 pt-5 pb-3.5`,children:[m,h]}),t[10]=m,t[11]=h,t[12]=g):g=t[12];let _;t[13]===n.paragraphs?_=t[14]:(_=n.paragraphs.map(A),t[13]=n.paragraphs,t[14]=_);let v;t[15]===n.checklist?v=t[16]:(v=n.checklist!==void 0&&(0,D.jsx)(O,{items:n.checklist}),t[15]=n.checklist,t[16]=v);let y;t[17]!==s||t[18]!==n.log?(y=n.log!==void 0&&(0,D.jsx)(`section`,{"aria-label":s({id:`Oi56Cu`}),tabIndex:0,className:`subtle-scrollbar mt-0.5 mb-2.5 min-h-20 flex-1 overflow-auto rounded-lg border border-border border-dotted bg-muted/40 px-3 py-2.5 focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-ring/50`,children:(0,D.jsx)(`pre`,{className:`select-text whitespace-pre-wrap font-mono text-xs leading-relaxed wrap-anywhere`,children:n.log})}),t[17]=s,t[18]=n.log,t[19]=y):y=t[19];let b;t[20]===n.footnote?b=t[21]:(b=n.footnote!==void 0&&(0,D.jsx)(`p`,{className:`select-text text-muted-foreground text-xs wrap-anywhere`,children:n.footnote}),t[20]=n.footnote,t[21]=b);let x;t[22]!==n.logRevealLabel||t[23]!==o?(x=n.logRevealLabel!==void 0&&(0,D.jsx)(`p`,{className:`mt-0.5`,children:(0,D.jsx)(l,{type:`button`,variant:`link-muted`,size:`xs`,className:`h-auto px-0 underline underline-offset-2`,onClick:o,children:n.logRevealLabel})}),t[22]=n.logRevealLabel,t[23]=o,t[24]=x):x=t[24];let C;t[25]!==u||t[26]!==x||t[27]!==_||t[28]!==v||t[29]!==y||t[30]!==b?(C=(0,D.jsxs)(`div`,{id:u,className:`flex min-h-0 flex-1 flex-col px-6 pt-1 pb-4 text-sm`,children:[_,v,y,b,x]}),t[25]=u,t[26]=x,t[27]=_,t[28]=v,t[29]=y,t[30]=b,t[31]=C):C=t[31];let T;t[32]!==n.cancelLabel||t[33]!==i?(T=n.cancelLabel!==void 0&&(0,D.jsx)(l,{type:`button`,variant:`outline-mono`,autoFocus:!0,onClick:i,children:n.cancelLabel}),t[32]=n.cancelLabel,t[33]=i,t[34]=T):T=t[34];let E=n.danger===!0?`destructive`:`default`,k=!d,j;t[35]!==n.confirmLabel||t[36]!==r||t[37]!==E||t[38]!==k?(j=(0,D.jsx)(l,{type:`button`,variant:E,autoFocus:k,onClick:r,children:n.confirmLabel}),t[35]=n.confirmLabel,t[36]=r,t[37]=E,t[38]=k,t[39]=j):j=t[39];let M;t[40]!==T||t[41]!==j?(M=(0,D.jsxs)(`footer`,{className:`flex items-center justify-end gap-2.5 border-border border-t bg-muted/50 px-6 pt-3.5 pb-4`,children:[T,j]}),t[40]=T,t[41]=j,t[42]=M):M=t[42];let N;return t[43]!==u||t[44]!==C||t[45]!==M||t[46]!==g||t[47]!==c?(N=(0,D.jsxs)(`div`,{role:`alertdialog`,"aria-labelledby":c,"aria-describedby":u,className:`flex h-dvh flex-col bg-background text-foreground`,children:[g,C,M]}),t[43]=u,t[44]=C,t[45]=M,t[46]=g,t[47]=c,t[48]=N):N=t[48],N}function A(e){return(0,D.jsx)(`p`,{className:`mb-2.5 leading-normal`,children:e},e)}function j(e){return e.open||e.running?`active`:e.recent?`recent`:null}function M(e){return e.split(`/`).filter(Boolean).at(-1)??e}function N(e){let t=(0,w.c)(9),{status:n}=e,{_:r}=a(),i;t[0]===r?i=t[1]:(i=r({id:`s_ereB`}),t[0]=r,t[1]=i);let o;t[2]===r?o=t[3]:(o=r({id:`_2cM9E`}),t[2]=r,t[3]=o);let s;t[4]!==i||t[5]!==o?(s={active:i,recent:o},t[4]=i,t[5]=o,t[6]=s):s=t[6];let c=s[n],l;return t[7]===c?l=t[8]:(l=(0,D.jsx)(b,{variant:`secondary`,className:`rounded-sm text-muted-foreground`,children:c}),t[7]=c,t[8]=l),l}function P(e){let t=(0,w.c)(28),{project:n,checked:r,onCheckedChange:i}=e,{_:o}=a(),s=(0,S.useId)(),c;t[0]===n?c=t[1]:(c=j(n),t[0]=n,t[1]=c);let l=c,f;t[2]===i?f=t[3]:(f=e=>i(e===!0),t[2]=i,t[3]=f);let p;t[4]!==o||t[5]!==n.path?(p=o({id:`CHfFN_`,values:{0:n.path}}),t[4]=o,t[5]=n.path,t[6]=p):p=t[6];let m;t[7]!==s||t[8]!==r||t[9]!==f||t[10]!==p?(m=(0,D.jsx)(u,{id:s,className:`mt-0.5`,checked:r,onCheckedChange:f,"aria-label":p}),t[7]=s,t[8]=r,t[9]=f,t[10]=p,t[11]=m):m=t[11];let h;t[12]===n.path?h=t[13]:(h=M(n.path),t[12]=n.path,t[13]=h);let g;t[14]===h?g=t[15]:(g=(0,D.jsx)(`span`,{className:`w-full truncate font-medium text-sm`,children:h}),t[14]=h,t[15]=g);let _;t[16]===n.path?_=t[17]:(_=(0,D.jsx)(`span`,{className:`w-full select-text break-words text-muted-foreground text-xs`,children:n.path}),t[16]=n.path,t[17]=_);let v;t[18]!==s||t[19]!==g||t[20]!==_?(v=(0,D.jsxs)(d,{htmlFor:s,className:`min-w-0 flex-col items-start gap-0.5 font-normal`,children:[g,_]}),t[18]=s,t[19]=g,t[20]=_,t[21]=v):v=t[21];let y;t[22]===l?y=t[23]:(y=l!==null&&(0,D.jsx)(`div`,{className:`flex justify-end max-sm:col-start-2 max-sm:justify-start`,children:(0,D.jsx)(N,{status:l})}),t[22]=l,t[23]=y);let b;return t[24]!==m||t[25]!==v||t[26]!==y?(b=(0,D.jsxs)(`div`,{className:`grid grid-cols-[auto_minmax(0,1fr)_auto] items-start gap-2.5 border-border/60 border-b px-3 py-2.5 last:border-b-0 hover:bg-accent/40 max-sm:grid-cols-[auto_minmax(0,1fr)]`,children:[m,v,y]}),t[24]=m,t[25]=v,t[26]=y,t[27]=b):b=t[27],b}function F(e){let t=(0,w.c)(45),{projects:n,onConfirm:r,onCancel:o}=e,{_:s}=a(),[c,f]=(0,S.useState)(ne),p=(0,S.useId)(),m=(0,S.useId)(),h=(0,S.useId)(),g=n.length>0&&c.size===n.length?!0:c.size>0?`indeterminate`:!1,_;t[0]===n?_=t[1]:(_=e=>f(e?new Set(n.map(I)):new Set),t[0]=n,t[1]=_);let v=_,y,b;t[2]!==o||t[3]!==n?(y=()=>{let e=e=>{if(e.key===`Escape`){o();return}(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`a`&&(e.preventDefault(),f(new Set(n.map(te))))};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},b=[o,n],t[2]=o,t[3]=n,t[4]=y,t[5]=b):(y=t[4],b=t[5]),(0,S.useEffect)(y,b);let x;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,D.jsx)(i,{id:`PrVaZo`}),t[6]=x):x=t[6];let C;t[7]===p?C=t[8]:(C=(0,D.jsx)(`h1`,{id:p,className:`font-medium leading-none text-base`,children:x}),t[7]=p,t[8]=C);let T;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,D.jsx)(i,{id:`keop3U`}),t[9]=T):T=t[9];let E;t[10]===m?E=t[11]:(E=(0,D.jsx)(`p`,{id:m,className:`text-sm text-muted-foreground`,children:T}),t[10]=m,t[11]=E);let O;t[12]!==C||t[13]!==E?(O=(0,D.jsxs)(`header`,{className:`shrink-0 px-6 pt-5 pb-3.5 space-y-4`,children:[C,E]}),t[12]=C,t[13]=E,t[14]=O):O=t[14];let k;t[15]===s?k=t[16]:(k=s({id:`QySH4I`}),t[15]=s,t[16]=k);let A;t[17]!==s||t[18]!==n||t[19]!==h||t[20]!==g||t[21]!==c||t[22]!==v?(A=n.length===0?(0,D.jsx)(`div`,{className:`rounded-lg border border-border p-4`,children:(0,D.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,D.jsx)(i,{id:`bKt9Jk`})})}):(0,D.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-border`,children:[(0,D.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2.5 border-border border-b px-3 py-2.5 bg-muted/30`,children:[(0,D.jsx)(u,{id:h,checked:g,onCheckedChange:e=>v(e===!0)}),(0,D.jsx)(d,{htmlFor:h,className:`flex-1 font-medium text-sm`,children:(0,D.jsx)(i,{id:`wgNoIs`})}),(0,D.jsxs)(`span`,{role:`status`,"aria-label":s({id:`nsUDL8`,values:{0:c.size,1:n.length}}),className:`text-muted-foreground text-xs tabular-nums`,children:[c.size,` / `,n.length]})]}),(0,D.jsx)(`div`,{className:`subtle-scrollbar min-h-0 flex-1 overflow-y-scroll [scrollbar-gutter:stable]`,children:n.map((e,t)=>(0,D.jsx)(P,{project:e,checked:c.has(t),onCheckedChange:e=>{f(n=>{let r=new Set(n);return e?r.add(t):r.delete(t),r})}},e.path))})]}),t[17]=s,t[18]=n,t[19]=h,t[20]=g,t[21]=c,t[22]=v,t[23]=A):A=t[23];let j;t[24]!==A||t[25]!==k?(j=(0,D.jsx)(`section`,{"aria-label":k,className:`flex min-h-0 flex-1 flex-col px-6 py-3.5`,children:A}),t[24]=A,t[25]=k,t[26]=j):j=t[26];let M;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,D.jsx)(i,{id:`dEgA5A`}),t[27]=M):M=t[27];let N;t[28]===o?N=t[29]:(N=(0,D.jsx)(l,{type:`button`,variant:`outline-mono`,autoFocus:!0,onClick:o,children:M}),t[28]=o,t[29]=N);let F;t[30]!==r||t[31]!==c?(F=()=>r([...c].sort(ee)),t[30]=r,t[31]=c,t[32]=F):F=t[32];let L;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,D.jsx)(i,{id:`J7nMqi`}),t[33]=L):L=t[33];let R;t[34]===F?R=t[35]:(R=(0,D.jsx)(l,{type:`button`,variant:`destructive`,onClick:F,children:L}),t[34]=F,t[35]=R);let z;t[36]!==N||t[37]!==R?(z=(0,D.jsxs)(`footer`,{className:`flex items-center justify-end gap-2.5 border-border border-t bg-muted/50 px-6 pt-3.5 pb-4`,children:[N,R]}),t[36]=N,t[37]=R,t[38]=z):z=t[38];let B;return t[39]!==m||t[40]!==j||t[41]!==z||t[42]!==O||t[43]!==p?(B=(0,D.jsxs)(`div`,{role:`dialog`,"aria-labelledby":p,"aria-describedby":m,className:`flex h-dvh flex-col overflow-hidden bg-background text-foreground`,children:[O,j,z]}),t[39]=m,t[40]=j,t[41]=z,t[42]=O,t[43]=p,t[44]=B):B=t[44],B}function ee(e,t){return e-t}function te(e,t){return t}function I(e,t){return t}function ne(){return new Set}function L(){let e=(0,w.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(_,{"aria-hidden":`true`,className:`mx-auto mb-4 size-8 animate-spin text-primary motion-reduce:animate-none`}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsx)(`h1`,{className:`mb-2 font-medium text-base leading-none`,children:(0,D.jsx)(i,{id:`j2229h`})}),e[1]=n):n=e[1];let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,D.jsx)(`main`,{className:`grid h-dvh place-items-center bg-background text-foreground`,children:(0,D.jsxs)(`div`,{role:`status`,className:`max-w-vw px-7 py-7 text-center`,children:[t,n,(0,D.jsx)(`p`,{className:`text-muted-foreground text-sm leading-relaxed`,children:(0,D.jsx)(i,{id:`kCjkGY`})})]})}),e[2]=r):r=e[2],r}function R(){let{_:e}=a();return{"workflow-fit":e({id:`5vAI6Z`}),"missing-feature":e({id:`cH0dkG`}),"hard-to-start":e({id:`uoJF_D`}),unreliable:e({id:`WGMoTY`}),"switched-tool":e({id:`jO18NZ`}),"one-off":e({id:`S3qu11`}),other:e({id:`aQyGJc`})}}function z(e){let t=(0,w.c)(86),{onSend:n,onSkip:r}=e,{_:o}=a(),s=R(),[c,g]=(0,S.useState)(``),[_,y]=(0,S.useState)(``),[b,C]=(0,S.useState)(!1),[T,E]=(0,S.useState)(``),O=(0,S.useRef)(null),k=(0,S.useId)(),A=(0,S.useId)(),j=(0,S.useId)(),M=(0,S.useId)(),N=(0,S.useId)(),P=(0,S.useId)(),F,ee;t[0]===b?(F=t[1],ee=t[2]):(F=()=>{b&&O.current?.focus()},ee=[b],t[0]=b,t[1]=F,t[2]=ee),(0,S.useEffect)(F,ee);let te;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,D.jsx)(i,{id:`ElyuiT`}),t[3]=te):te=t[3];let I;t[4]===k?I=t[5]:(I=(0,D.jsx)(`h1`,{id:k,className:`font-medium leading-none text-base`,children:te}),t[4]=k,t[5]=I);let ne;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,D.jsx)(i,{id:`ZDOq9A`}),t[6]=ne):ne=t[6];let L;t[7]===A?L=t[8]:(L=(0,D.jsx)(`p`,{id:A,className:`text-muted-foreground text-sm`,children:ne}),t[7]=A,t[8]=L);let z;t[9]!==I||t[10]!==L?(z=(0,D.jsxs)(`header`,{className:`px-6 pt-5 pb-3.5 space-y-4`,children:[I,L]}),t[9]=I,t[10]=L,t[11]=z):z=t[11];let B;t[12]!==T||t[13]!==b||t[14]!==_||t[15]!==n||t[16]!==c?(B=e=>{e.preventDefault();let t=_.trim(),r=b?T.trim():``;n({...c===``?{}:{reason:c},...t===``?{}:{note:t},...r===``?{}:{email:r}})},t[12]=T,t[13]=b,t[14]=_,t[15]=n,t[16]=c,t[17]=B):B=t[17];let re;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,D.jsx)(i,{id:`oxdGJn`}),t[18]=re):re=t[18];let V;t[19]===j?V=t[20]:(V=(0,D.jsx)(`p`,{id:j,className:`mb-2 font-medium text-sm`,children:re}),t[19]=j,t[20]=V);let H;t[21]!==j||t[22]!==s?(H=h.map(e=>(0,D.jsxs)(`div`,{className:`flex items-center gap-2.5 rounded-md px-1 py-1`,children:[(0,D.jsx)(f,{id:`${j}-${e.value}`,value:e.value}),(0,D.jsx)(d,{htmlFor:`${j}-${e.value}`,className:`font-normal text-sm leading-snug`,children:s[e.value]})]},e.value)),t[21]=j,t[22]=s,t[23]=H):H=t[23];let U;t[24]!==j||t[25]!==c||t[26]!==H?(U=(0,D.jsx)(p,{"aria-labelledby":j,value:c,onValueChange:g,children:H}),t[24]=j,t[25]=c,t[26]=H,t[27]=U):U=t[27];let W;t[28]!==V||t[29]!==U?(W=(0,D.jsxs)(`div`,{className:`mb-6`,children:[V,U]}),t[28]=V,t[29]=U,t[30]=W):W=t[30];let ie;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,D.jsx)(i,{id:`axQ1h6`}),t[31]=ie):ie=t[31];let G;t[32]===M?G=t[33]:(G=(0,D.jsx)(d,{htmlFor:M,className:`mb-2 font-medium text-sm`,children:ie}),t[32]=M,t[33]=G);let K;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(K=e=>y(e.target.value),t[34]=K):K=t[34];let q;t[35]!==_||t[36]!==M?(q=(0,D.jsx)(x,{id:M,rows:3,maxLength:m,value:_,onChange:K}),t[35]=_,t[36]=M,t[37]=q):q=t[37];let J;t[38]!==G||t[39]!==q?(J=(0,D.jsxs)(`div`,{className:`mb-6`,children:[G,q]}),t[38]=G,t[39]=q,t[40]=J):J=t[40];let ae;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(ae=e=>C(e===!0),t[41]=ae):ae=t[41];let Y;t[42]!==b||t[43]!==N?(Y=(0,D.jsx)(u,{id:N,checked:b,onCheckedChange:ae}),t[42]=b,t[43]=N,t[44]=Y):Y=t[44];let oe;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,D.jsx)(i,{id:`xEb24l`}),t[45]=oe):oe=t[45];let X;t[46]===N?X=t[47]:(X=(0,D.jsx)(d,{htmlFor:N,className:`font-medium text-sm`,children:oe}),t[46]=N,t[47]=X);let Z;t[48]!==Y||t[49]!==X?(Z=(0,D.jsxs)(`div`,{className:`mb-2 flex items-center gap-2.5`,children:[Y,X]}),t[48]=Y,t[49]=X,t[50]=Z):Z=t[50];let se=!b,ce;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,D.jsx)(i,{id:`ATGYL1`}),t[51]=ce):ce=t[51];let Q;t[52]===P?Q=t[53]:(Q=(0,D.jsx)(d,{htmlFor:P,className:`mb-2 font-medium text-sm sr-only`,children:ce}),t[52]=P,t[53]=Q);let le;t[54]===o?le=t[55]:(le=o({id:`JHf6qZ`}),t[54]=o,t[55]=le);let ue=!b,de;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(de=e=>E(e.target.value),t[56]=de):de=t[56];let fe;t[57]!==T||t[58]!==P||t[59]!==le||t[60]!==ue?(fe=(0,D.jsx)(v,{id:P,ref:O,type:`email`,maxLength:320,autoComplete:`email`,spellCheck:!1,placeholder:le,disabled:ue,value:T,onChange:de}),t[57]=T,t[58]=P,t[59]=le,t[60]=ue,t[61]=fe):fe=t[61];let $;t[62]!==se||t[63]!==Q||t[64]!==fe?($=(0,D.jsxs)(`div`,{className:`mb-6`,hidden:se,children:[Q,fe]}),t[62]=se,t[63]=Q,t[64]=fe,t[65]=$):$=t[65];let pe;t[66]!==W||t[67]!==J||t[68]!==Z||t[69]!==$?(pe=(0,D.jsxs)(`div`,{className:`subtle-scrollbar min-h-0 flex-1 overflow-y-auto px-6 pt-1 pb-4`,children:[W,J,Z,$]}),t[66]=W,t[67]=J,t[68]=Z,t[69]=$,t[70]=pe):pe=t[70];let me;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,D.jsx)(i,{id:`6Uau97`}),t[71]=me):me=t[71];let he;t[72]===r?he=t[73]:(he=(0,D.jsx)(l,{type:`button`,variant:`outline-mono`,autoFocus:!0,onClick:r,children:me}),t[72]=r,t[73]=he);let ge;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,D.jsx)(l,{type:`submit`,children:(0,D.jsx)(i,{id:`xMsnTe`})}),t[74]=ge):ge=t[74];let _e;t[75]===he?_e=t[76]:(_e=(0,D.jsxs)(`footer`,{className:`flex items-center justify-end gap-2.5 border-border border-t bg-muted/50 px-6 pt-3.5 pb-4`,children:[he,ge]}),t[75]=he,t[76]=_e);let ve;t[77]!==pe||t[78]!==_e||t[79]!==B?(ve=(0,D.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:B,children:[pe,_e]}),t[77]=pe,t[78]=_e,t[79]=B,t[80]=ve):ve=t[80];let ye;return t[81]!==A||t[82]!==ve||t[83]!==z||t[84]!==k?(ye=(0,D.jsxs)(`div`,{role:`dialog`,"aria-labelledby":k,"aria-describedby":A,className:`flex h-dvh flex-col bg-background text-foreground`,children:[z,ve]}),t[81]=A,t[82]=ve,t[83]=z,t[84]=k,t[85]=ye):ye=t[85],ye}function B(){let e=(0,w.c)(9),[t,n]=(0,S.useState)(null),r,a;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=!0;return T().then(t=>{e&&n(t)}),()=>{e=!1}},a=[],e[0]=r,e[1]=a):(r=e[0],a=e[1]),(0,S.useEffect)(r,a),t!==null)switch(t.kind){case`picker`:{let n;return e[2]===t.projects?n=e[3]:(n=(0,D.jsx)(F,{projects:t.projects,onConfirm:G,onCancel:ie}),e[2]=t.projects,e[3]=n),n}case`survey`:{let t;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(z,{onSend:W,onSkip:U}),e[4]=t):t=e[4],t}case`progress`:{let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(L,{}),e[5]=t):t=e[5],t}case`notice`:{let n;return e[6]===t.notice?n=e[7]:(n=(0,D.jsx)(k,{notice:t.notice,onConfirm:H,onCancel:V,onRevealLog:re}),e[6]=t.notice,e[7]=n),n}default:return t}let o;return e[8]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,D.jsx)(`main`,{className:`flex min-h-dvh items-center justify-center bg-background p-8 text-foreground`,children:(0,D.jsx)(`p`,{className:`text-center text-muted-foreground text-sm`,children:(0,D.jsx)(i,{id:`tzGWeg`})})}),e[8]=o):o=e[8],o}function re(){return E({kind:`notice-reveal-log`})}function V(){return E({kind:`notice-cancel`})}function H(){return E({kind:`notice-confirm`})}function U(){return E({kind:`survey-skip`})}function W(e){return E({kind:`survey-send`,...e})}function ie(){return E({kind:`picker-cancel`})}function G(e){return E({kind:`picker-confirm`,selectedIndexes:e})}var K=document.getElementById(`root`);if(!K)throw Error(`Root element not found`);(0,C.createRoot)(K).render((0,D.jsx)(S.StrictMode,{children:(0,D.jsx)(o,{i18n:y,children:(0,D.jsx)(B,{})})}));
1
+ import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./globals-0NgAOIr4.js";import{t as n}from"./jsx-runtime-BUgB2tll.js";import{t as r}from"./react-f2sANaYj.js";import{n as i,r as a,t as o}from"./dist-Nvb76hAm.js";import{t as s}from"./compiler-runtime-BfE3aGVn.js";import{t as c}from"./utils-CPqDy6Hr.js";import{t as l}from"./button-D3xSRfT4.js";import{t as u}from"./checkbox-Cq1BnJ3x.js";import{t as d}from"./label-CGqMAe0S.js";import{n as f,t as p}from"./radio-group-DxMM4tU-.js";import{It as m,Lt as h}from"./dist-D8RKvolB2.js";import{t as g}from"./check-D1JmbeH0.js";import{t as _}from"./loader-circle-C4uszcbe.js";import{t as v}from"./input-DcoGZoTQ.js";import{t as y}from"./dist-Du3GTGo5.js";import{t as b}from"./badge-DwfQ2IQa.js";import{t as x}from"./textarea-Cl4IJ1LU.js";var S=e(r(),1),C=t(),w=s();async function T(){let e=typeof window>`u`?void 0:window.okUninstall;if(e===void 0)return null;try{let t=await e.ready();return t.kind===`screen`?t.screen:null}catch{return null}}function E(e){let t=typeof window>`u`?void 0:window.okUninstall;t!==void 0&&t.send(e).catch(()=>void 0)}var D=n();function O(e){let t=(0,w.c)(6),{items:n}=e,r;if(t[0]!==n){let e;t[2]===n.length?e=t[3]:(e=(e,t)=>(0,D.jsxs)(`li`,{className:`relative pb-5 pl-[30px] last:pb-1`,children:[t<n.length-1&&(0,D.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-[22px] bottom-0.5 left-[9px] w-0.5 bg-border`}),(0,D.jsx)(`span`,{"aria-hidden":`true`,className:c(`absolute top-px left-0 inline-flex size-5 items-center justify-center rounded-full`,e.done?`bg-primary/15 text-primary`:`border-[1.5px] border-muted-foreground/50`),children:e.done&&(0,D.jsx)(g,{className:`size-3`})}),(0,D.jsx)(`span`,{className:`sr-only`,children:e.done?(0,D.jsx)(i,{id:`clJ3qM`}):(0,D.jsx)(i,{id:`yU_9ur`})}),(0,D.jsxs)(`span`,{className:`block`,children:[(0,D.jsx)(`span`,{className:`font-medium`,children:e.label}),e.detail!==void 0&&(0,D.jsx)(`span`,{className:`mt-0.5 block text-muted-foreground leading-snug`,children:e.detail})]})]},e.label),t[2]=n.length,t[3]=e),r=n.map(e),t[0]=n,t[1]=r}else r=t[1];let a;return t[4]===r?a=t[5]:(a=(0,D.jsx)(`ol`,{className:`mb-1.5`,children:r}),t[4]=r,t[5]=a),a}function k(e){let t=(0,w.c)(49),{notice:n,onConfirm:r,onCancel:i,onRevealLog:o}=e,{_:s}=a(),c=(0,S.useId)(),u=(0,S.useId)(),d=n.cancelLabel!==void 0,f,p;t[0]!==d||t[1]!==i||t[2]!==r?(f=()=>{let e=e=>{e.key===`Escape`&&(d?i():r())};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},p=[d,i,r],t[0]=d,t[1]=i,t[2]=r,t[3]=f,t[4]=p):(f=t[3],p=t[4]),(0,S.useEffect)(f,p);let m;t[5]!==n.title||t[6]!==c?(m=(0,D.jsx)(`h1`,{id:c,className:`font-medium text-base leading-none`,children:n.title}),t[5]=n.title,t[6]=c,t[7]=m):m=t[7];let h;t[8]===n.subtitle?h=t[9]:(h=n.subtitle!==void 0&&(0,D.jsx)(`p`,{className:`text-muted-foreground text-sm leading-snug`,children:n.subtitle}),t[8]=n.subtitle,t[9]=h);let g;t[10]!==m||t[11]!==h?(g=(0,D.jsxs)(`header`,{className:`shrink-0 space-y-4 px-6 pt-5 pb-3.5`,children:[m,h]}),t[10]=m,t[11]=h,t[12]=g):g=t[12];let _;t[13]===n.paragraphs?_=t[14]:(_=n.paragraphs.map(A),t[13]=n.paragraphs,t[14]=_);let v;t[15]===n.checklist?v=t[16]:(v=n.checklist!==void 0&&(0,D.jsx)(O,{items:n.checklist}),t[15]=n.checklist,t[16]=v);let y;t[17]!==s||t[18]!==n.log?(y=n.log!==void 0&&(0,D.jsx)(`section`,{"aria-label":s({id:`Oi56Cu`}),tabIndex:0,className:`subtle-scrollbar mt-0.5 mb-2.5 min-h-20 flex-1 overflow-auto rounded-lg border border-border border-dotted bg-muted/40 px-3 py-2.5 focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-ring/50`,children:(0,D.jsx)(`pre`,{className:`select-text whitespace-pre-wrap font-mono text-xs leading-relaxed wrap-anywhere`,children:n.log})}),t[17]=s,t[18]=n.log,t[19]=y):y=t[19];let b;t[20]===n.footnote?b=t[21]:(b=n.footnote!==void 0&&(0,D.jsx)(`p`,{className:`select-text text-muted-foreground text-xs wrap-anywhere`,children:n.footnote}),t[20]=n.footnote,t[21]=b);let x;t[22]!==n.logRevealLabel||t[23]!==o?(x=n.logRevealLabel!==void 0&&(0,D.jsx)(`p`,{className:`mt-0.5`,children:(0,D.jsx)(l,{type:`button`,variant:`link-muted`,size:`xs`,className:`h-auto px-0 underline underline-offset-2`,onClick:o,children:n.logRevealLabel})}),t[22]=n.logRevealLabel,t[23]=o,t[24]=x):x=t[24];let C;t[25]!==u||t[26]!==x||t[27]!==_||t[28]!==v||t[29]!==y||t[30]!==b?(C=(0,D.jsxs)(`div`,{id:u,className:`flex min-h-0 flex-1 flex-col px-6 pt-1 pb-4 text-sm`,children:[_,v,y,b,x]}),t[25]=u,t[26]=x,t[27]=_,t[28]=v,t[29]=y,t[30]=b,t[31]=C):C=t[31];let T;t[32]!==n.cancelLabel||t[33]!==i?(T=n.cancelLabel!==void 0&&(0,D.jsx)(l,{type:`button`,variant:`outline-mono`,autoFocus:!0,onClick:i,children:n.cancelLabel}),t[32]=n.cancelLabel,t[33]=i,t[34]=T):T=t[34];let E=n.danger===!0?`destructive`:`default`,k=!d,j;t[35]!==n.confirmLabel||t[36]!==r||t[37]!==E||t[38]!==k?(j=(0,D.jsx)(l,{type:`button`,variant:E,autoFocus:k,onClick:r,children:n.confirmLabel}),t[35]=n.confirmLabel,t[36]=r,t[37]=E,t[38]=k,t[39]=j):j=t[39];let M;t[40]!==T||t[41]!==j?(M=(0,D.jsxs)(`footer`,{className:`flex items-center justify-end gap-2.5 border-border border-t bg-muted/50 px-6 pt-3.5 pb-4`,children:[T,j]}),t[40]=T,t[41]=j,t[42]=M):M=t[42];let N;return t[43]!==u||t[44]!==C||t[45]!==M||t[46]!==g||t[47]!==c?(N=(0,D.jsxs)(`div`,{role:`alertdialog`,"aria-labelledby":c,"aria-describedby":u,className:`flex h-dvh flex-col bg-background text-foreground`,children:[g,C,M]}),t[43]=u,t[44]=C,t[45]=M,t[46]=g,t[47]=c,t[48]=N):N=t[48],N}function A(e){return(0,D.jsx)(`p`,{className:`mb-2.5 leading-normal`,children:e},e)}function j(e){return e.open||e.running?`active`:e.recent?`recent`:null}function M(e){return e.split(`/`).filter(Boolean).at(-1)??e}function N(e){let t=(0,w.c)(9),{status:n}=e,{_:r}=a(),i;t[0]===r?i=t[1]:(i=r({id:`s_ereB`}),t[0]=r,t[1]=i);let o;t[2]===r?o=t[3]:(o=r({id:`_2cM9E`}),t[2]=r,t[3]=o);let s;t[4]!==i||t[5]!==o?(s={active:i,recent:o},t[4]=i,t[5]=o,t[6]=s):s=t[6];let c=s[n],l;return t[7]===c?l=t[8]:(l=(0,D.jsx)(b,{variant:`secondary`,className:`rounded-sm text-muted-foreground`,children:c}),t[7]=c,t[8]=l),l}function P(e){let t=(0,w.c)(28),{project:n,checked:r,onCheckedChange:i}=e,{_:o}=a(),s=(0,S.useId)(),c;t[0]===n?c=t[1]:(c=j(n),t[0]=n,t[1]=c);let l=c,f;t[2]===i?f=t[3]:(f=e=>i(e===!0),t[2]=i,t[3]=f);let p;t[4]!==o||t[5]!==n.path?(p=o({id:`CHfFN_`,values:{0:n.path}}),t[4]=o,t[5]=n.path,t[6]=p):p=t[6];let m;t[7]!==s||t[8]!==r||t[9]!==f||t[10]!==p?(m=(0,D.jsx)(u,{id:s,className:`mt-0.5`,checked:r,onCheckedChange:f,"aria-label":p}),t[7]=s,t[8]=r,t[9]=f,t[10]=p,t[11]=m):m=t[11];let h;t[12]===n.path?h=t[13]:(h=M(n.path),t[12]=n.path,t[13]=h);let g;t[14]===h?g=t[15]:(g=(0,D.jsx)(`span`,{className:`w-full truncate font-medium text-sm`,children:h}),t[14]=h,t[15]=g);let _;t[16]===n.path?_=t[17]:(_=(0,D.jsx)(`span`,{className:`w-full select-text break-words text-muted-foreground text-xs`,children:n.path}),t[16]=n.path,t[17]=_);let v;t[18]!==s||t[19]!==g||t[20]!==_?(v=(0,D.jsxs)(d,{htmlFor:s,className:`min-w-0 flex-col items-start gap-0.5 font-normal`,children:[g,_]}),t[18]=s,t[19]=g,t[20]=_,t[21]=v):v=t[21];let y;t[22]===l?y=t[23]:(y=l!==null&&(0,D.jsx)(`div`,{className:`flex justify-end max-sm:col-start-2 max-sm:justify-start`,children:(0,D.jsx)(N,{status:l})}),t[22]=l,t[23]=y);let b;return t[24]!==m||t[25]!==v||t[26]!==y?(b=(0,D.jsxs)(`div`,{className:`grid grid-cols-[auto_minmax(0,1fr)_auto] items-start gap-2.5 border-border/60 border-b px-3 py-2.5 last:border-b-0 hover:bg-accent/40 max-sm:grid-cols-[auto_minmax(0,1fr)]`,children:[m,v,y]}),t[24]=m,t[25]=v,t[26]=y,t[27]=b):b=t[27],b}function F(e){let t=(0,w.c)(45),{projects:n,onConfirm:r,onCancel:o}=e,{_:s}=a(),[c,f]=(0,S.useState)(ne),p=(0,S.useId)(),m=(0,S.useId)(),h=(0,S.useId)(),g=n.length>0&&c.size===n.length?!0:c.size>0?`indeterminate`:!1,_;t[0]===n?_=t[1]:(_=e=>f(e?new Set(n.map(I)):new Set),t[0]=n,t[1]=_);let v=_,y,b;t[2]!==o||t[3]!==n?(y=()=>{let e=e=>{if(e.key===`Escape`){o();return}(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`a`&&(e.preventDefault(),f(new Set(n.map(te))))};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},b=[o,n],t[2]=o,t[3]=n,t[4]=y,t[5]=b):(y=t[4],b=t[5]),(0,S.useEffect)(y,b);let x;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,D.jsx)(i,{id:`PrVaZo`}),t[6]=x):x=t[6];let C;t[7]===p?C=t[8]:(C=(0,D.jsx)(`h1`,{id:p,className:`font-medium leading-none text-base`,children:x}),t[7]=p,t[8]=C);let T;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,D.jsx)(i,{id:`keop3U`}),t[9]=T):T=t[9];let E;t[10]===m?E=t[11]:(E=(0,D.jsx)(`p`,{id:m,className:`text-sm text-muted-foreground`,children:T}),t[10]=m,t[11]=E);let O;t[12]!==C||t[13]!==E?(O=(0,D.jsxs)(`header`,{className:`shrink-0 px-6 pt-5 pb-3.5 space-y-4`,children:[C,E]}),t[12]=C,t[13]=E,t[14]=O):O=t[14];let k;t[15]===s?k=t[16]:(k=s({id:`QySH4I`}),t[15]=s,t[16]=k);let A;t[17]!==s||t[18]!==n||t[19]!==h||t[20]!==g||t[21]!==c||t[22]!==v?(A=n.length===0?(0,D.jsx)(`div`,{className:`rounded-lg border border-border p-4`,children:(0,D.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,D.jsx)(i,{id:`bKt9Jk`})})}):(0,D.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-border`,children:[(0,D.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2.5 border-border border-b px-3 py-2.5 bg-muted/30`,children:[(0,D.jsx)(u,{id:h,checked:g,onCheckedChange:e=>v(e===!0)}),(0,D.jsx)(d,{htmlFor:h,className:`flex-1 font-medium text-sm`,children:(0,D.jsx)(i,{id:`wgNoIs`})}),(0,D.jsxs)(`span`,{role:`status`,"aria-label":s({id:`nsUDL8`,values:{0:c.size,1:n.length}}),className:`text-muted-foreground text-xs tabular-nums`,children:[c.size,` / `,n.length]})]}),(0,D.jsx)(`div`,{className:`subtle-scrollbar min-h-0 flex-1 overflow-y-scroll [scrollbar-gutter:stable]`,children:n.map((e,t)=>(0,D.jsx)(P,{project:e,checked:c.has(t),onCheckedChange:e=>{f(n=>{let r=new Set(n);return e?r.add(t):r.delete(t),r})}},e.path))})]}),t[17]=s,t[18]=n,t[19]=h,t[20]=g,t[21]=c,t[22]=v,t[23]=A):A=t[23];let j;t[24]!==A||t[25]!==k?(j=(0,D.jsx)(`section`,{"aria-label":k,className:`flex min-h-0 flex-1 flex-col px-6 py-3.5`,children:A}),t[24]=A,t[25]=k,t[26]=j):j=t[26];let M;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,D.jsx)(i,{id:`dEgA5A`}),t[27]=M):M=t[27];let N;t[28]===o?N=t[29]:(N=(0,D.jsx)(l,{type:`button`,variant:`outline-mono`,autoFocus:!0,onClick:o,children:M}),t[28]=o,t[29]=N);let F;t[30]!==r||t[31]!==c?(F=()=>r([...c].sort(ee)),t[30]=r,t[31]=c,t[32]=F):F=t[32];let L;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,D.jsx)(i,{id:`J7nMqi`}),t[33]=L):L=t[33];let R;t[34]===F?R=t[35]:(R=(0,D.jsx)(l,{type:`button`,variant:`destructive`,onClick:F,children:L}),t[34]=F,t[35]=R);let z;t[36]!==N||t[37]!==R?(z=(0,D.jsxs)(`footer`,{className:`flex items-center justify-end gap-2.5 border-border border-t bg-muted/50 px-6 pt-3.5 pb-4`,children:[N,R]}),t[36]=N,t[37]=R,t[38]=z):z=t[38];let B;return t[39]!==m||t[40]!==j||t[41]!==z||t[42]!==O||t[43]!==p?(B=(0,D.jsxs)(`div`,{role:`dialog`,"aria-labelledby":p,"aria-describedby":m,className:`flex h-dvh flex-col overflow-hidden bg-background text-foreground`,children:[O,j,z]}),t[39]=m,t[40]=j,t[41]=z,t[42]=O,t[43]=p,t[44]=B):B=t[44],B}function ee(e,t){return e-t}function te(e,t){return t}function I(e,t){return t}function ne(){return new Set}function L(){let e=(0,w.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(_,{"aria-hidden":`true`,className:`mx-auto mb-4 size-8 animate-spin text-primary motion-reduce:animate-none`}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsx)(`h1`,{className:`mb-2 font-medium text-base leading-none`,children:(0,D.jsx)(i,{id:`j2229h`})}),e[1]=n):n=e[1];let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,D.jsx)(`main`,{className:`grid h-dvh place-items-center bg-background text-foreground`,children:(0,D.jsxs)(`div`,{role:`status`,className:`max-w-vw px-7 py-7 text-center`,children:[t,n,(0,D.jsx)(`p`,{className:`text-muted-foreground text-sm leading-relaxed`,children:(0,D.jsx)(i,{id:`kCjkGY`})})]})}),e[2]=r):r=e[2],r}function R(){let{_:e}=a();return{"workflow-fit":e({id:`5vAI6Z`}),"missing-feature":e({id:`cH0dkG`}),"hard-to-start":e({id:`uoJF_D`}),unreliable:e({id:`WGMoTY`}),"switched-tool":e({id:`jO18NZ`}),"one-off":e({id:`S3qu11`}),other:e({id:`aQyGJc`})}}function z(e){let t=(0,w.c)(86),{onSend:n,onSkip:r}=e,{_:o}=a(),s=R(),[c,g]=(0,S.useState)(``),[_,y]=(0,S.useState)(``),[b,C]=(0,S.useState)(!1),[T,E]=(0,S.useState)(``),O=(0,S.useRef)(null),k=(0,S.useId)(),A=(0,S.useId)(),j=(0,S.useId)(),M=(0,S.useId)(),N=(0,S.useId)(),P=(0,S.useId)(),F,ee;t[0]===b?(F=t[1],ee=t[2]):(F=()=>{b&&O.current?.focus()},ee=[b],t[0]=b,t[1]=F,t[2]=ee),(0,S.useEffect)(F,ee);let te;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,D.jsx)(i,{id:`ElyuiT`}),t[3]=te):te=t[3];let I;t[4]===k?I=t[5]:(I=(0,D.jsx)(`h1`,{id:k,className:`font-medium leading-none text-base`,children:te}),t[4]=k,t[5]=I);let ne;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,D.jsx)(i,{id:`ZDOq9A`}),t[6]=ne):ne=t[6];let L;t[7]===A?L=t[8]:(L=(0,D.jsx)(`p`,{id:A,className:`text-muted-foreground text-sm`,children:ne}),t[7]=A,t[8]=L);let z;t[9]!==I||t[10]!==L?(z=(0,D.jsxs)(`header`,{className:`px-6 pt-5 pb-3.5 space-y-4`,children:[I,L]}),t[9]=I,t[10]=L,t[11]=z):z=t[11];let B;t[12]!==T||t[13]!==b||t[14]!==_||t[15]!==n||t[16]!==c?(B=e=>{e.preventDefault();let t=_.trim(),r=b?T.trim():``;n({...c===``?{}:{reason:c},...t===``?{}:{note:t},...r===``?{}:{email:r}})},t[12]=T,t[13]=b,t[14]=_,t[15]=n,t[16]=c,t[17]=B):B=t[17];let re;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,D.jsx)(i,{id:`oxdGJn`}),t[18]=re):re=t[18];let V;t[19]===j?V=t[20]:(V=(0,D.jsx)(`p`,{id:j,className:`mb-2 font-medium text-sm`,children:re}),t[19]=j,t[20]=V);let H;t[21]!==j||t[22]!==s?(H=h.map(e=>(0,D.jsxs)(`div`,{className:`flex items-center gap-2.5 rounded-md px-1 py-1`,children:[(0,D.jsx)(f,{id:`${j}-${e.value}`,value:e.value}),(0,D.jsx)(d,{htmlFor:`${j}-${e.value}`,className:`font-normal text-sm leading-snug`,children:s[e.value]})]},e.value)),t[21]=j,t[22]=s,t[23]=H):H=t[23];let U;t[24]!==j||t[25]!==c||t[26]!==H?(U=(0,D.jsx)(p,{"aria-labelledby":j,value:c,onValueChange:g,children:H}),t[24]=j,t[25]=c,t[26]=H,t[27]=U):U=t[27];let W;t[28]!==V||t[29]!==U?(W=(0,D.jsxs)(`div`,{className:`mb-6`,children:[V,U]}),t[28]=V,t[29]=U,t[30]=W):W=t[30];let ie;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,D.jsx)(i,{id:`axQ1h6`}),t[31]=ie):ie=t[31];let G;t[32]===M?G=t[33]:(G=(0,D.jsx)(d,{htmlFor:M,className:`mb-2 font-medium text-sm`,children:ie}),t[32]=M,t[33]=G);let K;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(K=e=>y(e.target.value),t[34]=K):K=t[34];let q;t[35]!==_||t[36]!==M?(q=(0,D.jsx)(x,{id:M,rows:3,maxLength:m,value:_,onChange:K}),t[35]=_,t[36]=M,t[37]=q):q=t[37];let J;t[38]!==G||t[39]!==q?(J=(0,D.jsxs)(`div`,{className:`mb-6`,children:[G,q]}),t[38]=G,t[39]=q,t[40]=J):J=t[40];let ae;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(ae=e=>C(e===!0),t[41]=ae):ae=t[41];let Y;t[42]!==b||t[43]!==N?(Y=(0,D.jsx)(u,{id:N,checked:b,onCheckedChange:ae}),t[42]=b,t[43]=N,t[44]=Y):Y=t[44];let oe;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,D.jsx)(i,{id:`xEb24l`}),t[45]=oe):oe=t[45];let X;t[46]===N?X=t[47]:(X=(0,D.jsx)(d,{htmlFor:N,className:`font-medium text-sm`,children:oe}),t[46]=N,t[47]=X);let Z;t[48]!==Y||t[49]!==X?(Z=(0,D.jsxs)(`div`,{className:`mb-2 flex items-center gap-2.5`,children:[Y,X]}),t[48]=Y,t[49]=X,t[50]=Z):Z=t[50];let se=!b,ce;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,D.jsx)(i,{id:`ATGYL1`}),t[51]=ce):ce=t[51];let Q;t[52]===P?Q=t[53]:(Q=(0,D.jsx)(d,{htmlFor:P,className:`mb-2 font-medium text-sm sr-only`,children:ce}),t[52]=P,t[53]=Q);let le;t[54]===o?le=t[55]:(le=o({id:`JHf6qZ`}),t[54]=o,t[55]=le);let ue=!b,de;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(de=e=>E(e.target.value),t[56]=de):de=t[56];let fe;t[57]!==T||t[58]!==P||t[59]!==le||t[60]!==ue?(fe=(0,D.jsx)(v,{id:P,ref:O,type:`email`,maxLength:320,autoComplete:`email`,spellCheck:!1,placeholder:le,disabled:ue,value:T,onChange:de}),t[57]=T,t[58]=P,t[59]=le,t[60]=ue,t[61]=fe):fe=t[61];let $;t[62]!==se||t[63]!==Q||t[64]!==fe?($=(0,D.jsxs)(`div`,{className:`mb-6`,hidden:se,children:[Q,fe]}),t[62]=se,t[63]=Q,t[64]=fe,t[65]=$):$=t[65];let pe;t[66]!==W||t[67]!==J||t[68]!==Z||t[69]!==$?(pe=(0,D.jsxs)(`div`,{className:`subtle-scrollbar min-h-0 flex-1 overflow-y-auto px-6 pt-1 pb-4`,children:[W,J,Z,$]}),t[66]=W,t[67]=J,t[68]=Z,t[69]=$,t[70]=pe):pe=t[70];let me;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,D.jsx)(i,{id:`6Uau97`}),t[71]=me):me=t[71];let he;t[72]===r?he=t[73]:(he=(0,D.jsx)(l,{type:`button`,variant:`outline-mono`,autoFocus:!0,onClick:r,children:me}),t[72]=r,t[73]=he);let ge;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,D.jsx)(l,{type:`submit`,children:(0,D.jsx)(i,{id:`xMsnTe`})}),t[74]=ge):ge=t[74];let _e;t[75]===he?_e=t[76]:(_e=(0,D.jsxs)(`footer`,{className:`flex items-center justify-end gap-2.5 border-border border-t bg-muted/50 px-6 pt-3.5 pb-4`,children:[he,ge]}),t[75]=he,t[76]=_e);let ve;t[77]!==pe||t[78]!==_e||t[79]!==B?(ve=(0,D.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:B,children:[pe,_e]}),t[77]=pe,t[78]=_e,t[79]=B,t[80]=ve):ve=t[80];let ye;return t[81]!==A||t[82]!==ve||t[83]!==z||t[84]!==k?(ye=(0,D.jsxs)(`div`,{role:`dialog`,"aria-labelledby":k,"aria-describedby":A,className:`flex h-dvh flex-col bg-background text-foreground`,children:[z,ve]}),t[81]=A,t[82]=ve,t[83]=z,t[84]=k,t[85]=ye):ye=t[85],ye}function B(){let e=(0,w.c)(9),[t,n]=(0,S.useState)(null),r,a;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=!0;return T().then(t=>{e&&n(t)}),()=>{e=!1}},a=[],e[0]=r,e[1]=a):(r=e[0],a=e[1]),(0,S.useEffect)(r,a),t!==null)switch(t.kind){case`picker`:{let n;return e[2]===t.projects?n=e[3]:(n=(0,D.jsx)(F,{projects:t.projects,onConfirm:G,onCancel:ie}),e[2]=t.projects,e[3]=n),n}case`survey`:{let t;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(z,{onSend:W,onSkip:U}),e[4]=t):t=e[4],t}case`progress`:{let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(L,{}),e[5]=t):t=e[5],t}case`notice`:{let n;return e[6]===t.notice?n=e[7]:(n=(0,D.jsx)(k,{notice:t.notice,onConfirm:H,onCancel:V,onRevealLog:re}),e[6]=t.notice,e[7]=n),n}default:return t}let o;return e[8]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,D.jsx)(`main`,{className:`flex min-h-dvh items-center justify-center bg-background p-8 text-foreground`,children:(0,D.jsx)(`p`,{className:`text-center text-muted-foreground text-sm`,children:(0,D.jsx)(i,{id:`tzGWeg`})})}),e[8]=o):o=e[8],o}function re(){return E({kind:`notice-reveal-log`})}function V(){return E({kind:`notice-cancel`})}function H(){return E({kind:`notice-confirm`})}function U(){return E({kind:`survey-skip`})}function W(e){return E({kind:`survey-send`,...e})}function ie(){return E({kind:`picker-cancel`})}function G(e){return E({kind:`picker-confirm`,selectedIndexes:e})}var K=document.getElementById(`root`);if(!K)throw Error(`Root element not found`);(0,C.createRoot)(K).render((0,D.jsx)(S.StrictMode,{children:(0,D.jsx)(o,{i18n:y,children:(0,D.jsx)(B,{})})}));
@@ -58,12 +58,12 @@
58
58
  -->
59
59
  <script>(() => { let t = 'system'; try { const r = localStorage.getItem('ok-theme-v1'); if (r === 'light' || r === 'dark' || r === 'system') t = r; } catch {} let ct = null; try { const c = localStorage.getItem('ok-color-theme-v1'); if (c && ['dracula', 'catppuccin-frappe', 'catppuccin-latte', 'monokai', 'gruvbox', 'solarized', 'custom'].includes(c)) ct = c; } catch {} let dark = t === 'dark'; if (t === 'system') { try { dark = window.matchMedia('(prefers-color-scheme: dark)').matches; } catch {} } let customCss = null; if (ct === 'custom') { try { const raw = localStorage.getItem('ok-custom-theme-v1'); if (raw) { const o = JSON.parse(raw); if (o?.css) { customCss = o.css; dark = !!o.dark; } } } catch {} if (!customCss) ct = null; } else if (ct) { dark = !['catppuccin-latte'].includes(ct); } if (dark) document.documentElement.classList.add('dark'); if (ct) document.documentElement.setAttribute('data-color-theme', ct); if (customCss) { const s = document.createElement('style'); s.id = 'ok-custom-theme'; s.textContent = customCss; document.head.appendChild(s); } if (window.okDesktop) { document.documentElement.classList.add('electron-mode'); document.documentElement.classList.add(`electron-platform-${window.okDesktop.platform}`); } })();</script>
60
60
  <style>html { background-color: #fafafa } html.dark { background-color: #171717 }</style>
61
- <script type="module" crossorigin src="./assets/index-COolXpYV.js"></script>
61
+ <script type="module" crossorigin src="./assets/index-BHF-BkPA.js"></script>
62
62
  <link rel="modulepreload" crossorigin href="./assets/chunk-CYidjpOJ.js">
63
63
  <link rel="modulepreload" crossorigin href="./assets/dist-Du3GTGo5.js">
64
64
  <link rel="modulepreload" crossorigin href="./assets/react-f2sANaYj.js">
65
65
  <link rel="modulepreload" crossorigin href="./assets/react-dom-DPxgxlDT.js">
66
- <link rel="modulepreload" crossorigin href="./assets/globals-Wwv5HfuY.js">
66
+ <link rel="modulepreload" crossorigin href="./assets/globals-0NgAOIr4.js">
67
67
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-Chd9yIcd.js">
68
68
  <link rel="modulepreload" crossorigin href="./assets/w3c-keyname-DKgbz_c6.js">
69
69
  <link rel="modulepreload" crossorigin href="./assets/dist-pl6OT5yc.js">
@@ -217,7 +217,7 @@
217
217
  <link rel="modulepreload" crossorigin href="./assets/overlay-layers-DGwgwjHg.js">
218
218
  <link rel="modulepreload" crossorigin href="./assets/receive-store-CqvpoBpo.js">
219
219
  <link rel="modulepreload" crossorigin href="./assets/timeline-diff-store-B-Ea84Rl.js">
220
- <link rel="stylesheet" crossorigin href="./assets/globals-Ba8zXfL4.css">
220
+ <link rel="stylesheet" crossorigin href="./assets/globals-Cd1sgqvz.css">
221
221
  <link rel="stylesheet" crossorigin href="./assets/DocumentContext-B0sQn39F.css">
222
222
  <link rel="stylesheet" crossorigin href="./assets/index-CDpJ2gXn.css">
223
223
  </head>
@@ -32,12 +32,12 @@
32
32
  script above.
33
33
  -->
34
34
  <style>html { background-color: #fafafa } html.dark { background-color: #171717 }</style>
35
- <script type="module" crossorigin src="./assets/uninstall-CZ4_m9Qa.js"></script>
35
+ <script type="module" crossorigin src="./assets/uninstall-D3gX2hi1.js"></script>
36
36
  <link rel="modulepreload" crossorigin href="./assets/chunk-CYidjpOJ.js">
37
37
  <link rel="modulepreload" crossorigin href="./assets/dist-Du3GTGo5.js">
38
38
  <link rel="modulepreload" crossorigin href="./assets/react-f2sANaYj.js">
39
39
  <link rel="modulepreload" crossorigin href="./assets/react-dom-DPxgxlDT.js">
40
- <link rel="modulepreload" crossorigin href="./assets/globals-Wwv5HfuY.js">
40
+ <link rel="modulepreload" crossorigin href="./assets/globals-0NgAOIr4.js">
41
41
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-Chd9yIcd.js">
42
42
  <link rel="modulepreload" crossorigin href="./assets/trace-api-C3cW9MnH.js">
43
43
  <link rel="modulepreload" crossorigin href="./assets/lib-RJCjKODX.js">
@@ -66,7 +66,7 @@
66
66
  <link rel="modulepreload" crossorigin href="./assets/badge-DwfQ2IQa.js">
67
67
  <link rel="modulepreload" crossorigin href="./assets/input-DcoGZoTQ.js">
68
68
  <link rel="modulepreload" crossorigin href="./assets/textarea-Cl4IJ1LU.js">
69
- <link rel="stylesheet" crossorigin href="./assets/globals-Ba8zXfL4.css">
69
+ <link rel="stylesheet" crossorigin href="./assets/globals-Cd1sgqvz.css">
70
70
  </head>
71
71
 
72
72
  <body class="antialiased">
@@ -1,2 +1,2 @@
1
- import{t as e}from"./launch-json-removal-B6IOQFk9.mjs";import{join as t}from"node:path";function n(n){let i=n.logger??r,a=t(n.projectDir,`.claude`,`launch.json`);if(n.reclaimDisableEnv===`1`)return i({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:a,outcome:`skipped-reclaim-disabled`},repairedCount:0};let o;try{o=e(n.projectDir)}catch(e){let t=e instanceof Error?e.message:String(e);return i({event:`launch-json-repair-write-failed`,configPath:a}),{outcome:{configPath:a,outcome:`write-failed`,error:t},repairedCount:0}}let s=o.kind===`removed`||o.kind===`removed-file`;return s&&i({event:`launch-json-repair-removed`,configPath:a}),{outcome:{configPath:a,outcome:o.kind},repairedCount:+!!s}}function r(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{n as repairLaunchJson};
2
- //# sourceMappingURL=repair-launch-json-BECz0463.mjs.map
1
+ import{t as e}from"./launch-json-removal-A2gRrDY9.mjs";import{join as t}from"node:path";function n(n){let i=n.logger??r,a=t(n.projectDir,`.claude`,`launch.json`);if(n.reclaimDisableEnv===`1`)return i({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:a,outcome:`skipped-reclaim-disabled`},repairedCount:0};let o;try{o=e(n.projectDir)}catch(e){let t=e instanceof Error?e.message:String(e);return i({event:`launch-json-repair-write-failed`,configPath:a}),{outcome:{configPath:a,outcome:`write-failed`,error:t},repairedCount:0}}let s=o.kind===`removed`||o.kind===`removed-file`;return s&&i({event:`launch-json-repair-removed`,configPath:a}),{outcome:{configPath:a,outcome:o.kind},repairedCount:+!!s}}function r(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{n as repairLaunchJson};
2
+ //# sourceMappingURL=repair-launch-json-DZqGZNe1.mjs.map
@@ -1,2 +1,2 @@
1
- import{b as e,d as t,l as n}from"./write-project-skill-BIBvYtT6.mjs";import{d as r,v as i}from"./init-DXZ5ZL-d.mjs";import{t as a}from"./mcp-migrate-event-CWx0WLdE.mjs";import{homedir as o}from"node:os";function s(e){let r=e.logger??u,i=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return r({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of n){let n=t[o],s=c(()=>n.configPath(``,i));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:n,home:i,cwd:``,configPath:s,configPathOverride:void 0,logger:r})),n.projectConfigPath){let t=n.projectConfigPath,i=c(()=>t(e.projectDir));i!==null&&a.push(l({scope:`project`,editorId:o,target:n,home:void 0,cwd:e.projectDir,configPath:i,configPathOverride:i,logger:r}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(t){let n={scope:t.scope,editorId:t.editorId,configPath:t.configPath},o=r(t.target,t.cwd,t.home,t.configPathOverride);if(o===null)return{...n,outcome:`no-entry`};if(e(o))return{...n,outcome:`canonical`};t.logger(a({scope:t.scope,surface:`cli-repair`,editorId:t.editorId,configPath:t.configPath,priorEntry:o}));let s=i(t.target,t.cwd,{mode:`published`,skipAvailabilityCheck:!0},t.home,t.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return t.logger({event:`mcp-config-repair-write-failed`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,error:e}),{...n,outcome:`write-failed`,error:e}}return s.action===`declined`?(t.logger({event:`mcp-config-repair-declined`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,reason:s.declineReason}),{...n,outcome:`declined`}):{...n,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
- //# sourceMappingURL=repair-mcp-configs-CVA75ZZh.mjs.map
1
+ import{b as e,d as t,l as n}from"./write-project-skill-BIBvYtT6.mjs";import{d as r,v as i}from"./init-CpL53GmG.mjs";import{t as a}from"./mcp-migrate-event-CWx0WLdE.mjs";import{homedir as o}from"node:os";function s(e){let r=e.logger??u,i=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return r({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of n){let n=t[o],s=c(()=>n.configPath(``,i));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:n,home:i,cwd:``,configPath:s,configPathOverride:void 0,logger:r})),n.projectConfigPath){let t=n.projectConfigPath,i=c(()=>t(e.projectDir));i!==null&&a.push(l({scope:`project`,editorId:o,target:n,home:void 0,cwd:e.projectDir,configPath:i,configPathOverride:i,logger:r}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(t){let n={scope:t.scope,editorId:t.editorId,configPath:t.configPath},o=r(t.target,t.cwd,t.home,t.configPathOverride);if(o===null)return{...n,outcome:`no-entry`};if(e(o))return{...n,outcome:`canonical`};t.logger(a({scope:t.scope,surface:`cli-repair`,editorId:t.editorId,configPath:t.configPath,priorEntry:o}));let s=i(t.target,t.cwd,{mode:`published`,skipAvailabilityCheck:!0},t.home,t.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return t.logger({event:`mcp-config-repair-write-failed`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,error:e}),{...n,outcome:`write-failed`,error:e}}return s.action===`declined`?(t.logger({event:`mcp-config-repair-declined`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,reason:s.declineReason}),{...n,outcome:`declined`}):{...n,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
+ //# sourceMappingURL=repair-mcp-configs-DxrHIXaa.mjs.map
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-DTipWd-i.mjs";import{Ao as t,X as n,Z as r,ms as i,ps as a}from"./src-C9yhZBbO.mjs";import{Vr as o,at as s,it as c,nt as l,rt as u,si as d,vn as f,xa as p}from"./src-CJQ7Tr0x.mjs";import{q as m}from"./sleep-TXRFWg8x.mjs";import{O as h,P as g}from"./fs-traced-wfI5VoOz.mjs";import{S as _,u as v,v as y,x as b}from"./server-lock-CCS3UzJQ.mjs";import{t as x}from"./yazl-BafwB467.mjs";import{T as S,b as C,d as w,i as T,x as ee}from"./write-project-skill-BIBvYtT6.mjs";import{c as te}from"./colors-BsmVIwfM.mjs";import"./acp-harness-probe-Dgh1Ipmo.mjs";import{D as E,E as D,S as ne,T as O,_ as k,b as re,o as ie,v as A}from"./init-DXZ5ZL-d.mjs";import{n as ae}from"./constants-BMyLpSJ8.mjs";import{t as j}from"./is-object-ByG7RnjH.mjs";import"./loader-di8ingCA.mjs";import"./preview-CCY8KBS2.mjs";import{execSync as oe,spawnSync as M}from"node:child_process";import{basename as N,dirname as P,isAbsolute as se,join as F,relative as ce,resolve as I,sep as le}from"node:path";import{cpSync as ue,createWriteStream as de,existsSync as L,lstatSync as fe,mkdirSync as R,mkdtempSync as pe,readFileSync as z,readdirSync as me,readlinkSync as he,rmSync as ge,statSync as _e,writeFileSync as B}from"node:fs";import{arch as ve,freemem as ye,homedir as be,hostname as xe,platform as Se,release as Ce,tmpdir as we,totalmem as Te,type as Ee,uptime as De}from"node:os";import{realpath as V}from"node:fs/promises";import{createHash as Oe}from"node:crypto";var H=m();const ke=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`deinit`,`auth`]);function Ae(e,t,n=f){if(e!==void 0&&!ke.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let je=null;function Me(e){je=e}function Ne(){return je??process.cwd()}function Pe(){return F(be(),`.ok`,`bug-reports`)}function Fe(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`),n=Pe(),r=`${t}-bugreport`,i=F(n,`${r}.zip`);for(let e=2;L(i);e+=1)i=F(n,`${r}-${e}.zip`);return i}function Ie(e,t){let n=F(e,`.ok`,`config.yml`);if(L(n))try{let e=z(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return L(F(e,`.ok`))?Oe(`sha256`).update(I(e)).digest(`hex`).slice(0,12):null}function Le(){let e={timestamp:new Date().toISOString(),platform:Se(),osType:Ee(),osRelease:Ce(),hostname:`[redacted]`,uptime:De(),freeMem:ye(),totalMem:Te(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=oe(`sw_vers -productVersion 2>/dev/null`,o({encoding:`utf8`})).trim()}catch{}try{let t=F(__dirname,`..`,`..`,`package.json`);L(t)&&(e.okVersion=JSON.parse(z(t,`utf8`)).version)}catch{}return e}function Re(e,t){return ze(e,t).files}function ze(e,t){if(!L(t))return{files:[]};let n=me(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>F(t,e));if(e&&n.length>0){let t=n.filter(t=>{try{return z(t,`utf8`).includes(`"project":"${e}"`)}catch{return!0}});t.length>0&&(n=t)}return{files:n}}function Be(e){let t=F(e,`.ok`,`local`);return L(t)?{files:[`server.lock`,`last-spawn-error.log`,n].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function Ve(e){let t=F(e,`.ok`,`local`,`logs`);return L(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function He(e){if(e.redact){let{redacted:t,patterns:n,lineCount:r}=i(e.content);e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name),n.length>0&&e.redactions.push({file:e.name,lineCount:r,patterns:n})}else e.zipfile.addBuffer(Buffer.from(e.content,`utf8`),e.name),e.bundleFiles.push(e.name)}function U(e){for(let t of e.files)try{He({zipfile:e.zipfile,name:`${e.prefix}/${N(t)}`,content:z(t,`utf8`),redact:e.redact,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n},`bug-report: skipped unreadable file`)}}async function Ue(t){let{redact:n,outputPath:r,logger:i}=t,o=t.userLogsDir??F(be(),`.ok`,`logs`),s=t.projectDir?Ie(t.projectDir,i):null;R(P(r),{recursive:!0}),i?.info({projectSlug:s},`gathering diagnostic data`);let c=Le();c.desktop=t.desktop??null;let{files:l}=ze(s,o),{files:u}=t.projectDir?Be(t.projectDir):{files:[]},{files:d}=t.projectDir?Ve(t.projectDir):{files:[]};i?.info({logFileCount:l.length,lockFileCount:u.length,localSinkFileCount:d.length},`files collected`);let f=[],p=[],{ZipFile:m}=await import(`./yazl-vwTkB7U0.mjs`).then(t=>e(t.default,1)),h=new m;U({zipfile:h,files:l,prefix:`logs`,redact:n,bundleFiles:p,redactions:f,logger:i}),U({zipfile:h,files:u,prefix:`lockdir`,redact:n,bundleFiles:p,redactions:f,logger:i}),U({zipfile:h,files:d,prefix:`local-logs`,redact:n,bundleFiles:p,redactions:f,logger:i});for(let e of t.extraFiles??[])try{let t=z(e.sourcePath),n=`extra/${e.zipName??N(e.sourcePath)}`;h.addBuffer(t,n),p.push(n)}catch(t){i?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&He({zipfile:h,name:`note.txt`,content:t.note,redact:n,bundleFiles:p,redactions:f});let g=JSON.stringify(c,null,2);h.addBuffer(Buffer.from(g,`utf8`),`sysinfo.json`),p.push(`sysinfo.json`);let _={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:s,files:p,redactions:f,sysinfo:c};h.addBuffer(Buffer.from(JSON.stringify(_,null,2),`utf8`),`MANIFEST.json`);let v=f.reduce((e,t)=>e+t.lineCount,0),y=[`# Bug Report Bundle`,``,`Generated: ${_.generatedAt}`,`Project: ${s??`(unscoped)`}`,`Discipline version: ${_.disciplineVersion}`,``,`## Contents`,``,...p.map(e=>`- ${e}`),``,`## Privacy`,``,...n?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${a.join(`, `)}`,v>0?`${v} line(s) were scrubbed across ${f.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,``,`This bundle is safe to attach to a GitHub issue.`]:[`Redaction was disabled for this bundle; file contents are unmodified.`]].join(`
1
+ import{o as e}from"./chunk-DTipWd-i.mjs";import{Ao as t,X as n,Z as r,ms as i,ps as a}from"./src-C9yhZBbO.mjs";import{Vr as o,at as s,it as c,nt as l,rt as u,si as d,vn as f,xa as p}from"./src-CJQ7Tr0x.mjs";import{q as m}from"./sleep-TXRFWg8x.mjs";import{O as h,P as g}from"./fs-traced-wfI5VoOz.mjs";import{S as _,u as v,v as y,x as b}from"./server-lock-CCS3UzJQ.mjs";import{t as x}from"./yazl-BafwB467.mjs";import{T as S,b as C,d as w,i as T,x as ee}from"./write-project-skill-BIBvYtT6.mjs";import{c as te}from"./colors-BsmVIwfM.mjs";import"./acp-harness-probe-De8I5GLi.mjs";import{D as E,E as D,S as ne,T as O,_ as k,b as re,o as ie,v as A}from"./init-CpL53GmG.mjs";import{n as ae}from"./constants-BfwnJrO6.mjs";import{t as j}from"./is-object-ByG7RnjH.mjs";import"./loader-Dtp3Zsz2.mjs";import"./preview-G09EUZwC.mjs";import{execSync as oe,spawnSync as M}from"node:child_process";import{basename as N,dirname as P,isAbsolute as se,join as F,relative as ce,resolve as I,sep as le}from"node:path";import{cpSync as ue,createWriteStream as de,existsSync as L,lstatSync as fe,mkdirSync as R,mkdtempSync as pe,readFileSync as z,readdirSync as me,readlinkSync as he,rmSync as ge,statSync as _e,writeFileSync as B}from"node:fs";import{arch as ve,freemem as ye,homedir as be,hostname as xe,platform as Se,release as Ce,tmpdir as we,totalmem as Te,type as Ee,uptime as De}from"node:os";import{realpath as V}from"node:fs/promises";import{createHash as Oe}from"node:crypto";var H=m();const ke=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`deinit`,`auth`]);function Ae(e,t,n=f){if(e!==void 0&&!ke.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let je=null;function Me(e){je=e}function Ne(){return je??process.cwd()}function Pe(){return F(be(),`.ok`,`bug-reports`)}function Fe(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`),n=Pe(),r=`${t}-bugreport`,i=F(n,`${r}.zip`);for(let e=2;L(i);e+=1)i=F(n,`${r}-${e}.zip`);return i}function Ie(e,t){let n=F(e,`.ok`,`config.yml`);if(L(n))try{let e=z(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return L(F(e,`.ok`))?Oe(`sha256`).update(I(e)).digest(`hex`).slice(0,12):null}function Le(){let e={timestamp:new Date().toISOString(),platform:Se(),osType:Ee(),osRelease:Ce(),hostname:`[redacted]`,uptime:De(),freeMem:ye(),totalMem:Te(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=oe(`sw_vers -productVersion 2>/dev/null`,o({encoding:`utf8`})).trim()}catch{}try{let t=F(__dirname,`..`,`..`,`package.json`);L(t)&&(e.okVersion=JSON.parse(z(t,`utf8`)).version)}catch{}return e}function Re(e,t){return ze(e,t).files}function ze(e,t){if(!L(t))return{files:[]};let n=me(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>F(t,e));if(e&&n.length>0){let t=n.filter(t=>{try{return z(t,`utf8`).includes(`"project":"${e}"`)}catch{return!0}});t.length>0&&(n=t)}return{files:n}}function Be(e){let t=F(e,`.ok`,`local`);return L(t)?{files:[`server.lock`,`last-spawn-error.log`,n].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function Ve(e){let t=F(e,`.ok`,`local`,`logs`);return L(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function He(e){if(e.redact){let{redacted:t,patterns:n,lineCount:r}=i(e.content);e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name),n.length>0&&e.redactions.push({file:e.name,lineCount:r,patterns:n})}else e.zipfile.addBuffer(Buffer.from(e.content,`utf8`),e.name),e.bundleFiles.push(e.name)}function U(e){for(let t of e.files)try{He({zipfile:e.zipfile,name:`${e.prefix}/${N(t)}`,content:z(t,`utf8`),redact:e.redact,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n},`bug-report: skipped unreadable file`)}}async function Ue(t){let{redact:n,outputPath:r,logger:i}=t,o=t.userLogsDir??F(be(),`.ok`,`logs`),s=t.projectDir?Ie(t.projectDir,i):null;R(P(r),{recursive:!0}),i?.info({projectSlug:s},`gathering diagnostic data`);let c=Le();c.desktop=t.desktop??null;let{files:l}=ze(s,o),{files:u}=t.projectDir?Be(t.projectDir):{files:[]},{files:d}=t.projectDir?Ve(t.projectDir):{files:[]};i?.info({logFileCount:l.length,lockFileCount:u.length,localSinkFileCount:d.length},`files collected`);let f=[],p=[],{ZipFile:m}=await import(`./yazl-vwTkB7U0.mjs`).then(t=>e(t.default,1)),h=new m;U({zipfile:h,files:l,prefix:`logs`,redact:n,bundleFiles:p,redactions:f,logger:i}),U({zipfile:h,files:u,prefix:`lockdir`,redact:n,bundleFiles:p,redactions:f,logger:i}),U({zipfile:h,files:d,prefix:`local-logs`,redact:n,bundleFiles:p,redactions:f,logger:i});for(let e of t.extraFiles??[])try{let t=z(e.sourcePath),n=`extra/${e.zipName??N(e.sourcePath)}`;h.addBuffer(t,n),p.push(n)}catch(t){i?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&He({zipfile:h,name:`note.txt`,content:t.note,redact:n,bundleFiles:p,redactions:f});let g=JSON.stringify(c,null,2);h.addBuffer(Buffer.from(g,`utf8`),`sysinfo.json`),p.push(`sysinfo.json`);let _={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:s,files:p,redactions:f,sysinfo:c};h.addBuffer(Buffer.from(JSON.stringify(_,null,2),`utf8`),`MANIFEST.json`);let v=f.reduce((e,t)=>e+t.lineCount,0),y=[`# Bug Report Bundle`,``,`Generated: ${_.generatedAt}`,`Project: ${s??`(unscoped)`}`,`Discipline version: ${_.disciplineVersion}`,``,`## Contents`,``,...p.map(e=>`- ${e}`),``,`## Privacy`,``,...n?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${a.join(`, `)}`,v>0?`${v} line(s) were scrubbed across ${f.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,``,`This bundle is safe to attach to a GitHub issue.`]:[`Redaction was disabled for this bundle; file contents are unmodified.`]].join(`
2
2
  `);h.addBuffer(Buffer.from(y,`utf8`),`README.md`),h.end();let b=de(r);return h.outputStream.pipe(b),await new Promise((e,t)=>{b.on(`close`,e),b.on(`error`,t)}),i?.info({bundlePath:r,fileCount:p.length,redactionCount:v},`bundle written`),{zipPath:r,summary:{projectSlug:s,files:p,redactions:f,redactedLineCount:v,generatedAt:_.generatedAt}}}var We=e(x(),1),W=e(te(),1);function G(e,t){return t.length===0||!e.includes(t)?e:e.split(t).join(`<CONTENT_DIR>`)}function Ge(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function K(e,t){if(typeof e==`string`)return G(e,t.contentDir);if(Array.isArray(e))return e.map(e=>K(e,t));if(!Ge(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=K(i,t);return n}function Ke(e,t){let n=z(e,`utf-8`);if(n.length===0)return;let r=n.endsWith(`
3
3
  `),i=n.split(`
4
4
  `),a=[];for(let e=0;e<i.length;e++){let n=i[e]??``;if(!(e===i.length-1&&n===``)){if(n.length===0){a.push(``);continue}try{let e=K(JSON.parse(n),t);a.push(JSON.stringify(e))}catch{a.push(n)}}}B(e,r?`${a.join(`
@@ -17,4 +17,4 @@ import{o as e}from"./chunk-DTipWd-i.mjs";import{Ao as t,X as n,Z as r,ms as i,ps
17
17
  `).replace(/\n/g,`\r
18
18
  `));let u=`${i?``:``}${l}`;return u!==r&&g(e,u,{mode:O(e)}),{kind:`removed`}}function ln(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function un(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function dn(e,t,n,r,i,a){if(t.status===`missing`||t.status===`corrupt`)return null;let o=t.lock,s=null;if(n.status!==`missing`&&n.status!==`corrupt`){let e=n.lock;s={port:e.port,status:n.status,pid:e.pid,startedAt:e.startedAt,usage:a}}return{directory:o.worktreeRoot,server:{port:o.port,status:t.status,pid:o.pid,startedAt:o.startedAt,usage:i},ui:s,hostname:o.hostname,lockPath:t.lockPath,binary:r==null?null:u(r),command:r,isDesktop:ln(r)}}function fn(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function Q(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&fn(e)?`ui-orphan`:`stale`}const pn=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function mn(e){switch(e){case`running`:return W.default.green(e);case`desktop`:return W.default.blue(e);case`foreign`:return W.default.cyan(e);case`ui-orphan`:return W.default.magenta(e);case`stale`:return W.default.yellow(e)}}function hn(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function gn(e){return`${hn(e.server.usage)} | ${hn(e.ui?.usage??null)}`}function _n(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function vn(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=Q(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,_n(e),gn(e),t,String(n),un(e.server.startedAt),e.binary??`—`]}),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=mn(Q(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=W.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
19
19
  `)}async function yn(e={}){let t=e.discover??l,n=e.inspect??Z,r=e.log??(e=>console.log(e)),i=e.resolveCommand??c,a=e.resolveUsage??s,o=await t(),u=[];for(let e of o){let t=n(e,`server`),r=n(e,`ui`),o=dn(e,t,r,t.status===`missing`||t.status===`corrupt`?null:i(t.lock.pid),t.status===`missing`||t.status===`corrupt`?null:a(t.lock.pid),r.status===`missing`||r.status===`corrupt`?null:a(r.lock.pid));o!=null&&u.push(o)}if(e.json){let e=u.map(e=>({...e,displayStatus:Q(e)}));r(JSON.stringify(e,null,2));return}r(vn(e.all?u:u.filter(e=>pn.has(Q(e)))))}function bn(){return new S(`ps`).description(`List all running open-knowledge servers`).argument(`[modifier]`,`"all" to include stale (dead-pid) entries`).option(`--all`,`Include stale (dead-pid) entries (foreign-host shows by default)`).option(`--json`,`Emit structured JSON (always includes all statuses)`).action(async(e,t)=>{await yn({all:t.all===!0||e===`all`,json:t.json===!0})})}function xn(e,t,n={}){let r=n.isAlive??b,i=[];for(let[n,a]of[[`server`,e],[`ui`,t]])(a.status===`alive`||a.status===`foreign-host`&&r(a.lock.pid))&&i.push({name:n,pid:a.lock.pid,port:a.lock.port});return{targets:i}}function Sn(e){let t=e.inspect??(t=>Z(e.lockDir,t)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=xn(t(`server`),t(`ui`),{isAlive:e.isAlive});if(a.targets.length===0)return r(`No running open-knowledge processes.`),{stopped:[],failed:[],hadTargets:!1};let o=[],s=[];for(let e of a.targets)try{n(e.pid,`SIGTERM`),o.push(e)}catch(t){s.push({target:e,error:t instanceof Error?t.message:String(t)})}return o.length>0&&r(`Stopped: ${o.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),s.length>0&&i(`Failed to stop: ${s.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:o,failed:s,hadTargets:!0}}function $(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function Cn(e,t=b){let n=await l(),r=null;for(let i of n){let n=Z(i,`server`),a=Z(i,`ui`);if($(n,t)&&n.lock.port===e||$(a,t)&&a.lock.port===e)return i;r===null&&($(n,t)&&n.lock.pid===e||$(a,t)&&a.lock.pid===e)&&(r=i)}return r}function wn(e){let t=Sn({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function Tn(e){return new S(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the current directory. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).action(async t=>{let n=t.length===0?void 0:t.join(` `);if(n===void 0){e();let t=Sn({lockDir:d(process.cwd()),log:()=>{}});if(t.hadTargets){if(t.stopped.length>0){let e=t.stopped.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `);console.log(`Stopped: ${e}`)}t.failed.length>0&&(process.exitCode=1)}else await yn({});return}if(n===`all`){let e=await l();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let t=0;for(let n of e){let e=Z(n,`server`),r=Z(n,`ui`);!$(e,b)&&!$(r,b)||(wn(n),t++)}t===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(n)){let e=Number.parseInt(n,10),t=await Cn(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}wn(t);return}wn(d(I(Ne(),n)))})}function En(e){return{event:`mcp-config-decline`,scope:e.scope,surface:e.surface,editorId:e.editorId,reason:e.reason}}async function Dn(e,n){let r,i;try{r=await V(I(e)),i=await V(I(P(e)))}catch{return{kind:`not-git`}}if(!On(r,i))return{kind:`symlink-escape`};let a=F(r,`.git`),o;try{o=_e(a)}catch{return{kind:`not-git`}}if(o.isDirectory()){let e;try{e=await V(a)}catch{return{kind:`not-git`}}if(!On(e,r))return{kind:`symlink-escape`}}else if(!o.isFile())return{kind:`not-git`};let s=p(r);if(s.kind!==`repository`)return{kind:`not-git`};let c=s.repository.readRemoteUrl(`origin`);if(c.kind===`unreadable`)return{kind:`not-git`};if(c.kind===`absent`)return c.reason===`config-missing`?{kind:`not-git`}:{kind:`no-origin`};let l=c.url,u=Wt(l);if(u===null)return{kind:`non-github`};let d=t(u.hostname);if(d===null)return{kind:`non-github`};let f=d===n.host.toLowerCase(),m=u.owner.toLowerCase()===n.owner.toLowerCase(),h=u.name.toLowerCase()===n.repo.toLowerCase();return!f&&m&&h?{kind:`wrong-host`,actualHost:d}:!f||!m||!h?{kind:`wrong-repo`,actualOwner:u.owner,actualRepo:u.name}:{kind:`ok`,gitRemoteUrl:`https://${d}/${u.owner}/${u.name}.git`}}function On(e,t){if(e===t)return!0;let n=ce(t,e);return n.length>0&&!n.startsWith(`..`)&&!se(n)}const kn=[{id:`mcp-config`,write(e,t,n){let r=e.projectConfigPath?.(t);if(!r)return{integration:`mcp-config`,editorId:e.id,action:`skipped-unsupported`};try{let i=A(e,t,n,void 0,r);return i.action===`written`||i.action===`overwritten`?{integration:`mcp-config`,editorId:e.id,action:i.action,path:i.configPath}:i.action===`failed`?{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:i.error??`unknown failure`}:i.action===`declined`?{integration:`mcp-config`,editorId:e.id,action:`declined`,path:i.configPath,...i.declineReason===void 0?{}:{reason:i.declineReason}}:{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:`unexpected project-scope action: ${i.action}`}}catch(t){return{integration:`mcp-config`,editorId:e.id,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}},{id:`project-skill`,write(e,t,n){try{let r=T(e,t,{home:n.home});return{integration:`project-skill`,editorId:e.id,action:r.action,...r.path?{path:r.path}:{},...r.error?{error:r.error}:{}}}catch(t){return{integration:`project-skill`,editorId:e.id,action:`failed`,error:t instanceof Error?t.message:String(t)}}}}];function An(e,t,n={},r=kn){let i=[];for(let a of t){let t=w[a];for(let a of r)i.push(a.write(t,e,n))}return i}function jn(e,t,n={}){return{integrations:An(e,t,n)}}export{Fe as C,Ae as D,Me as E,zt as S,Ne as T,Kt as _,Tn as a,Ht as b,Jt as c,tn as d,Zt as f,qt as g,Gt as h,Sn as i,Xt as l,en as m,Dn as n,bn as o,$t as p,En as r,an as s,jn as t,Yt as u,Wt as v,Pe as w,Rt as x,Z as y};
20
- //# sourceMappingURL=src-Da5rL2HL.mjs.map
20
+ //# sourceMappingURL=src-BI2J7o5q.mjs.map
@@ -0,0 +1 @@
1
+ import{p as e,r as t,v as n}from"./start-CsoFcJw4.mjs";export{t as bootStartServer,e as resolveHost,n as startCommand};
@@ -1,4 +1,4 @@
1
- import{Q as e,Y as t}from"./src-C9yhZBbO.mjs";import{Jr as n,Vr as r,a as i,yn as a}from"./src-CJQ7Tr0x.mjs";import{E as o,T as s}from"./write-project-skill-BIBvYtT6.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-Dgh1Ipmo.mjs";import{n as d}from"./constants-BMyLpSJ8.mjs";import{spawn as f}from"node:child_process";import{basename as p,join as m,posix as h,resolve as g,win32 as _}from"node:path";import{closeSync as v,existsSync as y,mkdirSync as b,openSync as x,statSync as S}from"node:fs";import{homedir as C}from"node:os";import{rm as w}from"node:fs/promises";import{setTimeout as T}from"node:timers/promises";function E(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function D(e,t,n={}){let i=(n.spawn??f)(e,[...t],r({detached:!0,stdio:`ignore`,env:E(n.env??process.env)}));return i.unref(),i}const O=`OpenKnowledge.app`,k=`/Applications/${O}`;function A(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return S(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function j(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(M(e,k))return k;let t=m(e.homeDir??C(),`Applications`,O);return M(e,t)?t:null}function M(e,t){return N(e,m(t,`Contents`,`MacOS`,`OpenKnowledge`))}function N(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const ee=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of ee){let r=_.join(t,`Programs`,n,`OpenKnowledge.exe`);if(N(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return N(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?j(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){D(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}D(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h.join(h.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const te=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ne(e){if(e.platform!==`darwin`||!te.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function B(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??y,a=r[1];return a?{command:ne({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function V(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function U(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var W=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function G(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function K(t){y(t.lockDir)||b(t.lockDir,{recursive:!0});let n=x(m(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=B();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{v(n)}catch{}}}function q(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function J(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function Y(e,t,n){return e??+(t!=null&&!n)}async function X(e){let t=e.spawn??f,n=B(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=Y(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function Z(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const re=t;function ie(e,t,n=e=>w(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function ae(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Q(e){let t=e.sigtermGraceMs??re,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>T(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function oe(e){let{destroy:t,...n}=e;return async()=>{await Q({...n,reason:`idle-shutdown`}),await t()}}async function se(e){let{config:t,cwd:r,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-Dmoupsem.mjs`),w=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??r,O=E?i(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!a(r))throw new W(r);let t=process.env.OK_RECLAIM_DISABLE??null,n=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-CVA75ZZh.mjs`)).repairMcpConfigs)({projectDir:r,reclaimDisableEnv:t,logger:n})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-BECz0463.mjs`)).repairLaunchJson)({projectDir:r,reclaimDisableEnv:t,logger:n})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-ByGIGa0z.mjs`)).repairSkills)({projectDir:r,reclaimDisableEnv:t,logger:n})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,r);!E&&!p(j)&&(m(j,{recursive:!0}),w.info({contentDir:j},`Created content directory`));let M=null,N=null,ee=async({lockDir:t})=>{if(M=G({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=K({lockDir:t,cwd:r,spawn:e.spawn,args:n}).pid??null,w.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&w.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},P=e.reactShellDistDir===void 0,F=c(),I=n();{let e=S(E?D:r),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await _({config:t,contentDir:j,projectDir:E?D:r,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:l,tokenStore:F,embeddingsKeyStore:I,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:P,idleShutdownMs:f,skipAutoInit:!0,...P?{spawnUiSiblingFn:ee}:{},idleShutdownHandler:t=>{let n=oe({readUiLock:()=>b(L.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return ae(E?ie(n,D):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let R=M,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;z=await Z({readUiLock:()=>b(L.lockDir),now:Date.now,sleep:e=>T(e),timeoutMs:t,pollIntervalMs:50}),z===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:j,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:z}}function ce(e){if(e===`browser`||e===`app`)return e;throw new o(`--mode must be 'browser' or 'app'`)}function le(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new o(`--ui-port must be a port number between 1 and 65535`);return t}function ue(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function $(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function de(e,t){let n=ue(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner--DGfdMN8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=t.remote!==void 0&&t.remote!==!1,u=typeof t.remote==`string`?t.remote:void 0,f=u===void 0?e:{...e,remote:{...e.remote,url:u}};process.title=U(c),l&&(typeof f.remote?.url!=`string`||f.remote.url===``)&&(console.error(o("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),l&&console.warn(s([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${f.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
1
+ import{Q as e,Y as t}from"./src-C9yhZBbO.mjs";import{Jr as n,Vr as r,a as i,yn as a}from"./src-CJQ7Tr0x.mjs";import{E as o,T as s}from"./write-project-skill-BIBvYtT6.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-De8I5GLi.mjs";import{n as d}from"./constants-BfwnJrO6.mjs";import{spawn as f}from"node:child_process";import{basename as p,join as m,posix as h,resolve as g,win32 as _}from"node:path";import{closeSync as v,existsSync as y,mkdirSync as b,openSync as x,statSync as S}from"node:fs";import{homedir as C}from"node:os";import{rm as w}from"node:fs/promises";import{setTimeout as T}from"node:timers/promises";function E(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function D(e,t,n={}){let i=(n.spawn??f)(e,[...t],r({detached:!0,stdio:`ignore`,env:E(n.env??process.env)}));return i.unref(),i}const O=`OpenKnowledge.app`,k=`/Applications/${O}`;function A(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return S(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function j(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(M(e,k))return k;let t=m(e.homeDir??C(),`Applications`,O);return M(e,t)?t:null}function M(e,t){return N(e,m(t,`Contents`,`MacOS`,`OpenKnowledge`))}function N(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const ee=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of ee){let r=_.join(t,`Programs`,n,`OpenKnowledge.exe`);if(N(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return N(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?j(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){D(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}D(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h.join(h.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const te=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ne(e){if(e.platform!==`darwin`||!te.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function B(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??y,a=r[1];return a?{command:ne({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function V(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function U(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var W=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function G(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function K(t){y(t.lockDir)||b(t.lockDir,{recursive:!0});let n=x(m(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=B();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{v(n)}catch{}}}function q(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function J(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function Y(e,t,n){return e??+(t!=null&&!n)}async function X(e){let t=e.spawn??f,n=B(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=Y(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function Z(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const re=t;function ie(e,t,n=e=>w(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function ae(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Q(e){let t=e.sigtermGraceMs??re,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>T(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function oe(e){let{destroy:t,...n}=e;return async()=>{await Q({...n,reason:`idle-shutdown`}),await t()}}async function se(e){let{config:t,cwd:r,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-Dmoupsem.mjs`),w=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??r,O=E?i(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!a(r))throw new W(r);let t=process.env.OK_RECLAIM_DISABLE??null,n=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-DxrHIXaa.mjs`)).repairMcpConfigs)({projectDir:r,reclaimDisableEnv:t,logger:n})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-DZqGZNe1.mjs`)).repairLaunchJson)({projectDir:r,reclaimDisableEnv:t,logger:n})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-ByGIGa0z.mjs`)).repairSkills)({projectDir:r,reclaimDisableEnv:t,logger:n})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,r);!E&&!p(j)&&(m(j,{recursive:!0}),w.info({contentDir:j},`Created content directory`));let M=null,N=null,ee=async({lockDir:t})=>{if(M=G({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=K({lockDir:t,cwd:r,spawn:e.spawn,args:n}).pid??null,w.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&w.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},P=e.reactShellDistDir===void 0,F=c(),I=n();{let e=S(E?D:r),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await _({config:t,contentDir:j,projectDir:E?D:r,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:l,tokenStore:F,embeddingsKeyStore:I,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:P,idleShutdownMs:f,skipAutoInit:!0,...P?{spawnUiSiblingFn:ee}:{},idleShutdownHandler:t=>{let n=oe({readUiLock:()=>b(L.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return ae(E?ie(n,D):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let R=M,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;z=await Z({readUiLock:()=>b(L.lockDir),now:Date.now,sleep:e=>T(e),timeoutMs:t,pollIntervalMs:50}),z===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:j,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:z}}function ce(e){if(e===`browser`||e===`app`)return e;throw new o(`--mode must be 'browser' or 'app'`)}function le(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new o(`--ui-port must be a port number between 1 and 65535`);return t}function ue(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function $(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function de(e,t){let n=ue(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner--DGfdMN8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=t.remote!==void 0&&t.remote!==!1,u=typeof t.remote==`string`?t.remote:void 0,f=u===void 0?e:{...e,remote:{...e.remote,url:u}};process.title=U(c),l&&(typeof f.remote?.url!=`string`||f.remote.url===``)&&(console.error(o("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),l&&console.warn(s([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${f.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
2
2
  `)));let p=V(t,process.env),m=H(p,l);m.coerced&&console.warn(`remote access is enabled and ${p} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${p} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let h=m.host,_=t.port===void 0?void 0:Number(t.port),v=process.env.PORT?Number(process.env.PORT):void 0,b=t.uiPort===void 0?void 0:Number(t.uiPort);l&&_===void 0&&v!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${f.remote?.port}). Pass --port to override deliberately.`);let x=q(_,v,b,l)??(l?f.remote?.port:void 0);if(b!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-Dmoupsem.mjs`);if(J(b,e(t(c)))){await X({cwd:c,uiPort:b});return}}let S=t.reactShellDistDir;if(l&&S===void 0){let e=import.meta.dirname??new URL(`.`,import.meta.url).pathname;S=[g(e,`public`),g(e,`../../app/dist`),g(e,`../../../app/dist`)].find(e=>y(e)),S===void 0&&console.warn(`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`)}let C;try{C=await se({config:f,cwd:c,host:h,port:x,...b===void 0?{}:{uiPort:b},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...S?{reactShellDistDir:S}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{},...l?{enableRemote:!0}:{}})}catch(e){e instanceof W&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-Dmoupsem.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.RemoteConfigError&&(console.error(o(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),b!==void 0&&fe(e,t)){await X({cwd:c,uiPort:b});return}let n=pe(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let w=!1,T=async e=>{if(w)return;w=!0;let[t,...n]=$(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(C.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-Dmoupsem.mjs`);await Q({readUiLock:()=>n(C.lockDir),spawnedUiPid:()=>C.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${o(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await C.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{T(`SIGINT`)}),process.once(`SIGTERM`,()=>{T(`SIGTERM`)});let E=`http://${h}:${C.port}`,D=h===`0.0.0.0`||h===`::`?`http://0.0.0.0:${C.port}`:void 0,O=C.resolvedUiPort,k=O!==null&&O>0?`http://${h}:${O}`:E;console.log(r({name:`open-knowledge`,version:d,localUrl:k,apiUrl:k===E?void 0:E,networkUrl:D,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let A={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};C.ready.then(async()=>{if(C.degraded.length>0){console.log();for(let e of C.degraded){let t=A[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-BiK9JzSf.mjs`);e(k)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function fe(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function pe(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=m(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function me(e){return new s(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,le).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ce).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--remote [url]`,`Serve through a tunnel: admit requests carrying the tunnel Host with NO server-side auth (anyone who can reach the URL has full control — restrict access at the tunnel with edge auth). Bare --remote uses remote.url from .ok/config.yml; --remote <url> supplies it for this run.`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
3
3
  `),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.host!==void 0&&e.push(`--host`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=I(A());if(n.available){L({spawn:f},n);return}console.error(R(n.reason)),process.exit(1)}await de(n,t)})}export{B as C,D,L as E,ae as S,I as T,K as _,H as a,pe as b,G as c,fe as d,q as f,J as g,de as h,oe as i,U as l,ue as m,Z as n,Y as o,V as p,se as r,X as s,W as t,$ as u,me as v,A as w,ie as x,Q as y};
4
- //# sourceMappingURL=start-BsQjO-tR.mjs.map
4
+ //# sourceMappingURL=start-CsoFcJw4.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.46.0-beta.16",
3
+ "version": "0.46.0-beta.17",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "private": false,
6
6
  "type": "module",
@@ -61,10 +61,10 @@
61
61
  "ajv-formats": "^3.0.1",
62
62
  "tsdown": "^0.21.7",
63
63
  "typescript": "^5.9.3",
64
- "@inkeep/open-knowledge-core": "0.46.0-beta.16",
65
- "@inkeep/open-knowledge-app": "0.46.0-beta.16",
66
- "@inkeep/open-knowledge-native-config": "0.0.0",
67
- "@inkeep/open-knowledge-server": "0.46.0-beta.16"
64
+ "@inkeep/open-knowledge-app": "0.46.0-beta.17",
65
+ "@inkeep/open-knowledge-core": "0.46.0-beta.17",
66
+ "@inkeep/open-knowledge-server": "0.46.0-beta.17",
67
+ "@inkeep/open-knowledge-native-config": "0.0.0"
68
68
  },
69
69
  "scripts": {
70
70
  "build:cli": "tsdown",
@@ -1,2 +0,0 @@
1
- import"./src-C9yhZBbO.mjs";var e=`0.46.0-beta.16`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-BMyLpSJ8.mjs.map
@@ -1 +0,0 @@
1
- import{g as e}from"./init-DXZ5ZL-d.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-di8ingCA.mjs";export{e as loadConfig};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-CCY8KBS2.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{t as e}from"./index-COolXpYV.js";export{e as FeedbackForm};
@@ -1,6 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{gn as n,i as r,vn as i}from"./DocumentContext-COt_qsrp.js";import{t as a}from"./react-f2sANaYj.js";import{n as o,r as s}from"./dist-Nvb76hAm.js";import{t as c}from"./compiler-runtime-BfE3aGVn.js";import{d as l,u}from"./terminal-input-events-D7rv6nZZ.js";import{t as d}from"./utils-CPqDy6Hr.js";import{t as f}from"./button-D3xSRfT4.js";import{i as p,n as m,t as h}from"./tooltip-CtvLp_YK.js";import{at as g}from"./CodeMirrorPropInput-CRKAndsx.js";import{t as _}from"./checkbox-Cq1BnJ3x.js";import{a as v,c as y,d as b,f as x,l as S,m as C,n as w,o as T,p as E,r as D,t as O}from"./dropdown-menu-BvpO8ueR.js";import{t as k}from"./switch-BQ3qkbBx.js";import{hr as A}from"./dist-D8RKvolB2.js";import{t as j}from"./createLucideIcon-wbFLvDA-.js";import{o as M}from"./Mermaid-BQAWkx48.js";import{t as N}from"./RegisteredAgentIcon-UInuA1Ei.js";import{t as P}from"./check-D1JmbeH0.js";import{t as F}from"./chevron-down-BH5tpfEN.js";import{t as I}from"./chevron-right-COaV_K3r.js";import{r as L}from"./prop-types-UV1Ku4nq.js";import{t as R}from"./download-C_7Cu8X8.js";import{t as ee}from"./loader-circle-C4uszcbe.js";import{W as z,c as B,i as te,l as ne,w as V,x as H}from"./comment-chips-qxdAVfqd.js";import{t as U}from"./square-pen-BETfUJNH.js";import{t as W}from"./trash-2-YBQNhePb.js";import{t as G}from"./wrench-86_Xzzag.js";import{t as K}from"./x-M_y7ybHr.js";import{n as q}from"./dist-BNVxnBBw.js";import{t as J}from"./dist-Du3GTGo5.js";import{f as re,s as ie}from"./doc-paths-CBQZMJ5n.js";import{t as Y}from"./badge-DwfQ2IQa.js";import{t as ae}from"./use-workspace-Csf6sHD8.js";import{a as oe,i as se,n as ce,o as le,r as ue,s as de,t as fe}from"./follow-file-B9VBGXDD.js";import{t as pe}from"./textarea-Cl4IJ1LU.js";import{t as X}from"./skeleton-Zj40UZU5.js";import{n as me}from"./agent-presence-DspgbUIJ.js";import{r as he}from"./chunk-BO2N2NFS-BgpjQQXT.js";import{n as ge}from"./libesm-COuF-Ycc.js";import{a as _e,d as ve,f as ye,n as be,p as xe,r as Se,s as Ce,u as we}from"./thread-client-CylUCx4y.js";import{n as Te}from"./thread-draft-staging-Df0IT4FR.js";var Ee=j(`mouse-pointer-2`,[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`,key:`edeuup`}]]),De=j(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),Oe=j(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Z=e(a(),1),Q=c();async function ke(){let e=H();if(e.length===0)return null;let t;try{t=await z(e)}catch{return q.error(J._({id:`6kVJ0m`})),null}let n=t.results.flatMap(e=>e.ok?[e.payload]:[]);return await V().catch(()=>void 0),n.length===0?null:n.map(B)}var $=t();function Ae(e){let t=(0,Q.c)(37),{queueCount:n,queueAttached:r,compact:i,onAddQueue:a,onRemoveQueue:c}=e,l=i===void 0?!1:i,{_:p}=s(),m=l?`icon-xs`:void 0,h;t[0]===p?h=t[1]:(h=p({id:`Xm5tCT`}),t[0]=p,t[1]=h);let g=l?`h-6 rounded-md`:`size-8`,_;t[2]===g?_=t[3]:(_=d(`shrink-0 text-muted-foreground hover:text-foreground`,g),t[2]=g,t[3]=_);let v=l?`size-3.5`:`size-4`,y;t[4]===v?y=t[5]:(y=(0,$.jsx)(u,{className:v}),t[4]=v,t[5]=y);let b;t[6]!==m||t[7]!==h||t[8]!==_||t[9]!==y?(b=(0,$.jsx)(C,{asChild:!0,children:(0,$.jsx)(f,{type:`button`,size:m,variant:`ghost`,"aria-label":h,"data-testid":`composer-add-context`,className:_,children:y})}),t[6]=m,t[7]=h,t[8]=_,t[9]=y,t[10]=b):b=t[10];let x=n>0&&r,S;t[11]!==a||t[12]!==c?(S=e=>e?a():c(),t[11]=a,t[12]=c,t[13]=S):S=t[13];let T=n===0,E;t[14]===p?E=t[15]:(E=p({id:`b24kPi`}),t[14]=p,t[15]=E);let A;t[16]===E?A=t[17]:(A=(0,$.jsx)(`span`,{children:E}),t[16]=E,t[17]=A);let j;t[18]!==p||t[19]!==n?(j=n===0?p({id:`dXooEp`}):(0,$.jsx)(o,{id:`7iTyyh`,values:{queueCount:n}}),t[18]=p,t[19]=n,t[20]=j):j=t[20];let M;t[21]===j?M=t[22]:(M=(0,$.jsx)(`span`,{className:`text-1sm text-muted-foreground`,children:j}),t[21]=j,t[22]=M);let N;t[23]!==A||t[24]!==M?(N=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[A,M]}),t[23]=A,t[24]=M,t[25]=N):N=t[25];let P=n>0&&r,F;t[26]===P?F=t[27]:(F=(0,$.jsx)(k,{checked:P,size:`sm`,"aria-hidden":`true`,tabIndex:-1,className:`pointer-events-none mt-0.5`}),t[26]=P,t[27]=F);let I;t[28]!==S||t[29]!==T||t[30]!==N||t[31]!==F||t[32]!==x?(I=(0,$.jsx)(D,{align:`start`,side:`top`,className:`w-60`,"data-testid":`composer-add-context-menu`,children:(0,$.jsxs)(w,{checked:x,onCheckedChange:S,disabled:T,onSelect:je,className:`items-start justify-between gap-4 pr-2 [&_[data-slot=dropdown-menu-checkbox-item-indicator]]:hidden`,"data-testid":`composer-add-context-queue`,children:[N,F]})}),t[28]=S,t[29]=T,t[30]=N,t[31]=F,t[32]=x,t[33]=I):I=t[33];let L;return t[34]!==I||t[35]!==b?(L=(0,$.jsxs)(O,{children:[b,I]}),t[34]=I,t[35]=b,t[36]=L):L=t[36],L}function je(e){return e.preventDefault()}var Me=3,Ne=Me*2+2;function Pe(e){let t=e.split(`
2
- `);return t[t.length-1]===``&&t.pop(),t}function Fe(e,t){if(e===null)return Pe(t).map(e=>({type:`add`,text:e}));let n=[],r=ge(e,t);for(let[e,t]of r.entries()){let i=Pe(t.value);if(t.added){for(let e of i)n.push({type:`add`,text:e});continue}if(t.removed){for(let e of i)n.push({type:`del`,text:e});continue}if(i.length<=Ne){for(let e of i)n.push({type:`ctx`,text:e});continue}let a=e>0?i.slice(0,Me):[],o=e<r.length-1?i.slice(-Me):[];for(let e of a)n.push({type:`ctx`,text:e});n.push({type:`gap`,count:i.length-a.length-o.length});for(let e of o)n.push({type:`ctx`,text:e})}return n}var Ie=new RegExp([`bypass`,`acceptedits`,`fullaccess`,`autoedit`,`yolo`,`danger`,`fullauto`,`autoaccept`,`autoapprove`,`autorun`,`skippermission`,`noconfirm`,`noprompt`,`unrestricted`,`allowall`].join(`|`)),Le=new Set([`auto`]);function Re(e){return e.toLowerCase().replace(/[^a-z]/g,``)}function ze(e){let t=Re(e.id),n=Re(e.name??``);return Le.has(t)||Le.has(n)?!0:Ie.test(t)||Ie.test(n)}var Be=/\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b[@-Z\\-_]/g;function Ve(e){return e.replace(Be,``)}function He(e){return Ve(e).split(`
3
- `).map(e=>{let t=e.replace(/\r+$/,``),n=t.lastIndexOf(`\r`);return n===-1?t:t.slice(n+1)}).join(`
4
- `)}function Ue(e){let t=(0,Q.c)(11),{text:n}=e,r,i;t[0]===n?(r=t[1],i=t[2]):(r=[n],i=()=>(0,$.jsx)(`span`,{className:`whitespace-pre-wrap`,children:n}),t[0]=n,t[1]=r,t[2]=i);let a,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a={code:{copy:!0,download:!1},table:!1,mermaid:!1},o={enabled:!1},t[3]=a,t[4]=o):(a=t[3],o=t[4]);let s;t[5]===n?s=t[6]:(s=(0,$.jsx)(he,{className:`[&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_pre_code>span]:block [&_ol]:list-outside [&_ul]:list-outside [&_ol]:ps-6 [&_ul]:ps-6 [&_code]:text-1sm [&_pre]:text-1sm`,lineNumbers:!1,controls:a,linkSafety:o,children:n}),t[5]=n,t[6]=s);let c;return t[7]!==r||t[8]!==i||t[9]!==s?(c=(0,$.jsx)(l,{resetKeys:r,fallbackRender:i,onError:We,children:s}),t[7]=r,t[8]=i,t[9]=s,t[10]=c):c=t[10],c}function We(e){console.warn(`[AgentMarkdown] markdown render failed, falling back to plain text`,e)}function Ge(e,t){if(!me(e))return null;let n=null;for(let r of e.getStates().values()){let e=r.agentPresence;if(e)for(let r of Object.values(e)){if(!r.currentDoc||A(r.currentDoc)||t-r.ts>=5e3||n!==null&&r.ts<=n.ts)continue;let e=ue(r.currentDoc);e!==null&&(n={doc:e,ts:r.ts})}}return n}function Ke(e,t){let n=e[e.length-1];return n!==void 0&&n.doc===t.doc&&n.ts===t.ts?e:[...e,t]}var qe=1e4,Je=1400,Ye={read:g,edit:U,delete:W,search:i,execute:Oe,fetch:i,think:n};function Xe(e){return e.replace(/\s+Agent$/i,``)}function Ze(e){let t=(0,Q.c)(97),{info:n}=e,{_:i}=s(),a=_e(n.threadId),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=Se(),t[0]=o):o=t[0];let c=o,l=ae(),[u,d]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(ce),_=(0,Z.useRef)(null),v=(0,Z.useRef)(!0),y=(0,Z.useRef)(null),b=(0,Z.useRef)(null),x,S;t[1]===n.threadId?(x=t[2],S=t[3]):(x=()=>Te(n.threadId,e=>{d(t=>t.trim()===``?e:`${t.replace(/\s+$/,``)}\n\n${e}`)}),S=[n.threadId],t[1]=n.threadId,t[2]=x,t[3]=S),(0,Z.useEffect)(x,S);let C=Ce(n.threadId),w=n.status,T=n.archived===!0,E=C?.turnActive===!0&&!T,[D,O]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(null),j=T?!D:w===`ready`&&!E,M=!T&&E,N=L(),P=N!==null&&!N.loading?N.pages:null,F;if(t[4]!==C||t[5]!==P||t[6]!==l){let e=P===null?{}:{commandTargetExists:e=>P.has(e)};F=C===null?null:fe(C.items,l,e),t[4]=C,t[5]=P,t[6]=l,t[7]=F}else F=t[7];let I=F,{systemProvider:R}=r(),z;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(z=[],t[8]=z):z=t[8];let[B,ne]=(0,Z.useState)(z),V;t[9]!==R?.awareness||t[10]!==E?(V=()=>{if(!E){ne([]);return}let e=R?.awareness,t=()=>{let t=Ge(e,Date.now());t!==null&&ne(e=>Ke(e,t))};t();let n=typeof e==`object`&&e&&typeof e.on==`function`&&typeof e.off==`function`?e:null;return n?.on(`change`,t),()=>n?.off(`change`,t)},t[9]=R?.awareness,t[10]=E,t[11]=V):V=t[11];let H;t[12]!==R||t[13]!==E?(H=[E,R],t[12]=R,t[13]=E,t[14]=H):H=t[14],(0,Z.useEffect)(V,H);let U=I??(B.length>0?B[B.length-1]?.doc??null:null),W=a?.lastSeq??null,[G,K]=(0,Z.useState)(!1),[q,J]=(0,Z.useState)(!1),Y,oe;t[15]===E?(Y=t[16],oe=t[17]):(Y=()=>{E||(K(!1),J(!1))},oe=[E],t[15]=E,t[16]=Y,t[17]=oe),(0,Z.useEffect)(Y,oe);let le,ue;t[18]!==G||t[19]!==E?(le=()=>{if(!G||!E)return;let e=setTimeout(()=>J(!0),qe);return()=>clearTimeout(e)},ue=[G,E],t[18]=G,t[19]=E,t[20]=le,t[21]=ue):(le=t[20],ue=t[21]),(0,Z.useEffect)(le,ue);let de;t[22]===n.threadId?de=t[23]:(de=()=>{c.cancel(n.threadId),K(!0)},t[22]=n.threadId,t[23]=de);let pe=de,X,me;t[24]===W?(X=t[25],me=t[26]):(X=()=>{W!==null&&y.current===null&&(y.current=W)},me=[W],t[24]=W,t[25]=X,t[26]=me),(0,Z.useEffect)(X,me);let he,ge;t[27]!==h||t[28]!==U||t[29]!==W||t[30]!==E?(he=()=>{!h||U===null||E&&(y.current===null||W===null||W<=y.current||b.current!==U&&(b.current=U,ie(window.location.hash)!==U&&window.location.assign(re(U))))},ge=[h,U,E,W],t[27]=h,t[28]=U,t[29]=W,t[30]=E,t[31]=he,t[32]=ge):(he=t[31],ge=t[32]),(0,Z.useEffect)(he,ge);let ve;t[33]===h?ve=t[34]:(ve=()=>{let e=!h;g(e),se(e),e&&(b.current=null)},t[33]=h,t[34]=ve);let ye=ve,xe;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(xe=()=>{let e=_.current;e===null||!v.current||(e.scrollTop=e.scrollHeight)},t[35]=xe):xe=t[35];let we=a?.lastSeq,Ee;t[36]===we?Ee=t[37]:(Ee=[we],t[36]=we,t[37]=Ee),(0,Z.useLayoutEffect)(xe,Ee);let De;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(De=()=>{let e=_.current;e!==null&&(v.current=e.scrollHeight-e.scrollTop-e.clientHeight<40)},t[38]=De):De=t[38];let Oe=De,[ke,Ae]=(0,Z.useState)(null),je;t[39]!==T||t[40]!==p||t[41]!==j||t[42]!==M||t[43]!==u||t[44]!==n.threadId?(je=()=>{let e=u.trim(),t=p===null?e:te(p,e);if(!(t===``||!(j||M))){if(T){O(!0),A(null),Ae(null),c.resumeThread(n.threadId,t).catch(e=>{A(e instanceof be?e:new be(`internal`,e instanceof Error?e.message:String(e))),Ae(t)}).finally(()=>O(!1)),d(``),m(null),v.current=!0;return}c.prompt(n.threadId,t),d(``),m(null),v.current=!0}},t[39]=T,t[40]=p,t[41]=j,t[42]=M,t[43]=u,t[44]=n.threadId,t[45]=je):je=t[45];let Me=je,Ne;t[46]!==u||t[47]!==ke||t[48]!==n.agent.id||t[49]!==n.agent.source?(Ne=()=>{let e=ke??(u.trim()===``?void 0:u.trim());A(null),Ae(null),c.createThread({agent:{source:n.agent.source,id:n.agent.id},prompt:e}).catch(t=>{A(t instanceof be?t:new be(`internal`,t instanceof Error?t.message:String(t))),Ae(e??null)})},t[46]=u,t[47]=ke,t[48]=n.agent.id,t[49]=n.agent.source,t[50]=Ne):Ne=t[50];let Pe=Ne,Fe;t[51]!==h||t[52]!==n||t[53]!==ye?(Fe=(0,$.jsx)(Qe,{info:n,followFile:h,onToggleFollow:ye}),t[51]=h,t[52]=n,t[53]=ye,t[54]=Fe):Fe=t[54];let Ie;t[55]===C?Ie=t[56]:(Ie=C!==null&&C.plan.length>0?(0,$.jsx)(vt,{plan:C.plan}):null,t[55]=C,t[56]=Ie);let Le;t[57]!==i||t[58]!==T||t[59]!==n.agent||t[60]!==n.threadId||t[61]!==C||t[62]!==w||t[63]!==E?(Le=(0,$.jsx)(`div`,{ref:_,onScroll:Oe,className:`min-h-0 flex-1 overflow-y-auto px-3 py-2 subtle-scrollbar scroll-fade-mask`,"data-testid":`agent-thread-transcript`,children:C===null||C.items.length===0?(0,$.jsx)(_t,{status:w,archived:T,agent:n.agent}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 [&>[data-tool-call]+[data-tool-call]]:-mt-1`,children:[C.items.map((e,t)=>(0,$.jsx)(St,{item:e,threadId:n.threadId,actionable:!T&&w!==`exited`&&w!==`error`,terminals:C.terminals,permissionsByToolCall:C.permissionsByToolCall},t)),E?w===`awaiting_permission`?(0,$.jsx)(`div`,{className:`flex items-center gap-2 px-1 py-1 text-muted-foreground text-sm shimmer`,"data-testid":`agent-thread-awaiting-permission`,children:(0,$.jsx)(`span`,{children:i({id:`_gO_m8`})})}):(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1 text-muted-foreground text-sm shimmer`,"data-testid":`agent-thread-working`,children:[(0,$.jsx)(ee,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:i({id:`XklovM`})})]}):w===`installing`||w===`spawning`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1 text-muted-foreground text-sm shimmer`,"data-testid":`agent-thread-starting`,children:[(0,$.jsx)(ee,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:i({id:`l3zD7w`})})]}):null]})}),t[57]=i,t[58]=T,t[59]=n.agent,t[60]=n.threadId,t[61]=C,t[62]=w,t[63]=E,t[64]=Le):Le=t[64];let Re;t[65]!==i||t[66]!==q||t[67]!==n.threadId||t[68]!==E?(Re=q&&E?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-amber-500/30 border-t bg-amber-500/5 px-3 py-1.5 text-amber-700 text-xs dark:text-amber-400`,"data-testid":`agent-thread-cancel-stalled`,children:[(0,$.jsx)(`span`,{className:`flex-1`,children:i({id:`CBsdhe`})}),(0,$.jsx)(f,{type:`button`,size:`sm`,variant:`destructive`,className:`h-6 text-xs`,onClick:()=>c.closeThread(n.threadId),"data-testid":`agent-thread-force-stop`,children:i({id:`16eIWu`})})]}):null,t[65]=i,t[66]=q,t[67]=n.threadId,t[68]=E,t[69]=Re):Re=t[69];let ze;t[70]!==i||t[71]!==T||t[72]!==n.agent.name||t[73]!==k||t[74]!==Pe?(ze=T&&k!==null?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-amber-500/30 border-t bg-amber-500/5 px-3 py-1.5 text-amber-700 text-xs dark:text-amber-400`,"data-testid":`agent-thread-resume-failed`,children:[(0,$.jsx)(`span`,{className:`flex-1`,children:k.code===`resume-unsupported`?i({id:`f3Nvg7`,values:{0:n.agent.name}}):i({id:`dYCvMf`,values:{0:k.message}})}),(0,$.jsx)(f,{type:`button`,size:`sm`,variant:`outline`,className:`h-6 shrink-0 text-xs`,onClick:Pe,"data-testid":`agent-thread-resume-fallback-new`,children:i({id:`5vYdh9`,values:{0:n.agent.name}})})]}):null,t[70]=i,t[71]=T,t[72]=n.agent.name,t[73]=k,t[74]=Pe,t[75]=ze):ze=t[75];let Be=p!==null,Ve=C?.tokenUsage??null,He;t[76]!==T||t[77]!==j||t[78]!==M||t[79]!==G||t[80]!==u||t[81]!==n||t[82]!==pe||t[83]!==D||t[84]!==w||t[85]!==Me||t[86]!==Be||t[87]!==Ve||t[88]!==E?(He=(0,$.jsx)(Qt,{info:n,draft:u,onDraftChange:d,commentsAttached:Be,onAttachComments:m,onSubmit:Me,canPrompt:j,canQueue:M,turnActive:E,cancelPending:G,onCancel:pe,status:w,archived:T,resumePending:D,usage:Ve}),t[76]=T,t[77]=j,t[78]=M,t[79]=G,t[80]=u,t[81]=n,t[82]=pe,t[83]=D,t[84]=w,t[85]=Me,t[86]=Be,t[87]=Ve,t[88]=E,t[89]=He):He=t[89];let Ue;return t[90]!==Fe||t[91]!==Ie||t[92]!==Le||t[93]!==Re||t[94]!==ze||t[95]!==He?(Ue=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col text-gray-800 dark:text-gray-200`,"data-agent-thread-root":``,children:[Fe,Ie,Le,Re,ze,He]}),t[90]=Fe,t[91]=Ie,t[92]=Le,t[93]=Re,t[94]=ze,t[95]=He,t[96]=Ue):Ue=t[96],Ue}function Qe(e){let t=(0,Q.c)(27),{info:n,followFile:r,onToggleFollow:i}=e,{_:a}=s(),o;t[0]===n.title?o=t[1]:(o=(0,$.jsx)(`span`,{className:`min-w-0 truncate font-medium text-1sm`,children:n.title}),t[0]=n.title,t[1]=o);let c;t[2]!==a||t[3]!==n.archived?(c=n.archived===!0?(0,$.jsx)(Y,{variant:`gray`,className:`shrink-0 px-1.5 py-0 text-[10px]`,children:a({id:`TdfEV7`})}):null,t[2]=a,t[3]=n.archived,t[4]=c):c=t[4];let l=r?`bg-primary/10 text-primary hover:bg-primary/15 hover:text-primary`:`text-muted-foreground`,u;t[5]===l?u=t[6]:(u=d(`rounded-md`,l),t[5]=l,t[6]=u);let g;t[7]===a?g=t[8]:(g=a({id:`w6sT-y`}),t[7]=a,t[8]=g);let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(Ee,{className:`size-3.5`,"aria-hidden":`true`}),t[9]=_):_=t[9];let v;t[10]!==r||t[11]!==i||t[12]!==u||t[13]!==g?(v=(0,$.jsx)(p,{asChild:!0,children:(0,$.jsx)(f,{type:`button`,variant:`ghost`,size:`icon-xs`,className:u,"aria-pressed":r,"aria-label":g,onClick:i,"data-testid":`agent-thread-follow-toggle`,children:_})}),t[10]=r,t[11]=i,t[12]=u,t[13]=g,t[14]=v):v=t[14];let y;t[15]!==a||t[16]!==r?(y=a(r?{id:`1a6ICf`}:{id:`w6sT-y`}),t[15]=a,t[16]=r,t[17]=y):y=t[17];let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(m,{side:`bottom`,children:y}),t[18]=y,t[19]=b);let x;t[20]!==v||t[21]!==b?(x=(0,$.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:(0,$.jsxs)(h,{children:[v,b]})}),t[20]=v,t[21]=b,t[22]=x):x=t[22];let S;return t[23]!==o||t[24]!==x||t[25]!==c?(S=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pb-1.5 pt-0`,children:[o,c,x]}),t[23]=o,t[24]=x,t[25]=c,t[26]=S):S=t[26],S}function $e(e){for(let t of e.options){if(`value`in t){if(t.value===e.currentValue)return t.name;continue}let n=t.options.find(t=>t.value===e.currentValue);if(n!==void 0)return n.name}return e.currentValue}function et(e){return e.options.some(e=>`value`in e?!0:e.options.length>0)}function tt(e){let t=[];for(let n of e.options)if(`value`in n)t.push({id:n.value,name:n.name});else for(let e of n.options)t.push({id:e.value,name:e.name});return t}function nt(e){let t=(e.configOptions??[]).find(e=>e.type===`select`&&e.category===`mode`&&et(e));if(t!==void 0)return{configId:t.id,currentId:t.currentValue,currentName:$e(t),values:tt(t)};let n=e.modes;return n!=null&&n.availableModes.length>1?{configId:null,currentId:n.currentModeId,currentName:n.availableModes.find(e=>e.id===n.currentModeId)?.name??n.currentModeId,values:n.availableModes.map(e=>({id:e.id,name:e.name}))}:null}function rt(e){let t=(0,Q.c)(32),{info:n}=e,{_:r}=s(),i,a,o,c,l,u,d,g,_;if(t[0]!==r||t[1]!==n){_=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Se(),s=ve(n.agent),v=(t,r)=>{e.setConfigOption(n.threadId,t.id,r),ye(s,t.id,r)},y;t[11]===n.configOptions?y=t[12]:(y=n.configOptions??[],t[11]=n.configOptions,t[12]=y);let b=y.filter(st),x=nt(n),S=x!==null&&x.configId===null;if(b.length===0&&!S){_=null;break bb0}let w=S?x.currentName:void 0,T=x!==null&&ze({id:x.currentId,name:x.currentName}),E=b.find(ot)??b.find(at),k=E===void 0?w??r({id:`Tz0i8g`}):$e(E),A=r(T&&x!==null?{id:`MuxcRB`,values:{0:x.currentName,1:n.agent.name}}:{id:`Wfy3rU`});a=O;let j;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(F,{className:`size-3.5`,"data-icon":`inline-end`,"aria-hidden":`true`}),t[13]=j):j=t[13];let M=(0,$.jsx)(C,{asChild:!0,children:(0,$.jsxs)(f,{type:`button`,variant:`ghost`,className:`h-6 max-w-48 gap-1 rounded-md pl-1.5 pr-1! text-xs`,"aria-label":A,"data-testid":`agent-thread-settings`,children:[T?(0,$.jsx)(`span`,{className:`size-1.5 shrink-0 rounded-full bg-amber-500 ring-[3px] ring-amber-500/15 dark:bg-amber-400 dark:ring-amber-400/15`,"data-testid":`agent-thread-mode-accent`,"aria-hidden":`true`}):null,(0,$.jsx)(`span`,{className:`truncate`,children:k}),j]})}),N;t[14]===M?N=t[15]:(N=(0,$.jsx)(p,{asChild:!0,children:M}),t[14]=M,t[15]=N);let P;t[16]===A?P=t[17]:(P=(0,$.jsx)(m,{side:`bottom`,children:A}),t[16]=A,t[17]=P),t[18]!==N||t[19]!==P?(g=(0,$.jsxs)(h,{children:[N,P]}),t[18]=N,t[19]=P,t[20]=g):g=t[20],i=D,o=`end`,c=`w-60`,l=`agent-thread-settings-popover`,u=b.map(e=>e.type===`select`?(0,$.jsx)(ct,{option:e,onSelect:t=>v(e,t)},e.id):(0,$.jsx)(mt,{option:e,onCheckedChange:t=>v(e,t)},e.id)),d=S?(0,$.jsx)(ct,{option:{id:`legacy-mode`,name:r({id:`EbMUlU`}),category:`mode`,type:`select`,currentValue:x.currentId,options:x.values.map(it)},onSelect:t=>{e.setMode(n.threadId,t),xe(s,t)}}):null}t[0]=r,t[1]=n,t[2]=i,t[3]=a,t[4]=o,t[5]=c,t[6]=l,t[7]=u,t[8]=d,t[9]=g,t[10]=_}else i=t[2],a=t[3],o=t[4],c=t[5],l=t[6],u=t[7],d=t[8],g=t[9],_=t[10];if(_!==Symbol.for(`react.early_return_sentinel`))return _;let v;t[21]!==i||t[22]!==o||t[23]!==c||t[24]!==l||t[25]!==u||t[26]!==d?(v=(0,$.jsxs)(i,{align:o,className:c,"data-testid":l,children:[u,d]}),t[21]=i,t[22]=o,t[23]=c,t[24]=l,t[25]=u,t[26]=d,t[27]=v):v=t[27];let y;return t[28]!==a||t[29]!==g||t[30]!==v?(y=(0,$.jsxs)(a,{children:[g,v]}),t[28]=a,t[29]=g,t[30]=v,t[31]=y):y=t[31],y}function it(e){return{value:e.id,name:e.name}}function at(e){return e.type===`select`}function ot(e){return e.type===`select`&&e.category===`model`}function st(e){return e.type===`boolean`||et(e)}function ct(e){let t=(0,Q.c)(42),{option:n,onSelect:r}=e,i=n.options,a,o,s,c,l,u,d,f,p,m;if(t[0]!==i||t[1]!==r||t[2]!==n){let e=i.filter(ft),h=i.filter(dt);s=b;let g=`agent-thread-config-${n.id}`,_;t[13]===n.name?_=t[14]:(_=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:n.name}),t[13]=n.name,t[14]=_);let v;t[15]===n?v=t[16]:(v=$e(n),t[15]=n,t[16]=v);let S;t[17]===v?S=t[18]:(S=(0,$.jsx)(`span`,{className:`max-w-[11rem] truncate text-1sm text-muted-foreground`,children:v}),t[17]=v,t[18]=S),t[19]!==S||t[20]!==g||t[21]!==_?(m=(0,$.jsxs)(E,{className:`gap-2`,"data-testid":g,children:[_,S]}),t[19]=S,t[20]=g,t[21]=_,t[22]=m):m=t[22],o=x,f=`max-h-[min(22rem,var(--radix-dropdown-menu-content-available-height))] max-w-72 overscroll-contain`,t[23]===n.name?p=t[24]:(p=(0,$.jsx)(T,{children:n.name}),t[23]=n.name,t[24]=p),a=y,c=n.currentValue,l=r,u=e.map(ut);let C;t[25]===n.name?C=t[26]:(C=e=>(0,$.jsxs)(Z.Fragment,{children:[e.name===n.name?null:(0,$.jsx)(T,{className:`font-normal text-muted-foreground`,children:e.name}),e.options.map(lt)]},e.group),t[25]=n.name,t[26]=C),d=h.map(C),t[0]=i,t[1]=r,t[2]=n,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p,t[12]=m}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12];let h;t[27]!==a||t[28]!==c||t[29]!==l||t[30]!==u||t[31]!==d?(h=(0,$.jsxs)(a,{value:c,onValueChange:l,children:[u,d]}),t[27]=a,t[28]=c,t[29]=l,t[30]=u,t[31]=d,t[32]=h):h=t[32];let g;t[33]!==o||t[34]!==f||t[35]!==p||t[36]!==h?(g=(0,$.jsxs)(o,{className:f,children:[p,h]}),t[33]=o,t[34]=f,t[35]=p,t[36]=h,t[37]=g):g=t[37];let _;return t[38]!==s||t[39]!==m||t[40]!==g?(_=(0,$.jsxs)(s,{children:[m,g]}),t[38]=s,t[39]=m,t[40]=g,t[41]=_):_=t[41],_}function lt(e){return(0,$.jsx)(pt,{entry:e},e.value)}function ut(e){return(0,$.jsx)(pt,{entry:e},e.value)}function dt(e){return`group`in e}function ft(e){return`value`in e}function pt(e){let t=(0,Q.c)(11),{entry:n}=e,r=`agent-thread-config-option-${n.value}`,i;t[0]===n.name?i=t[1]:(i=(0,$.jsx)(`span`,{className:`truncate`,children:n.name}),t[0]=n.name,t[1]=i);let a;t[2]===n.description?a=t[3]:(a=n.description?(0,$.jsx)(`span`,{className:`line-clamp-2 text-1sm text-muted-foreground`,children:n.description}):null,t[2]=n.description,t[3]=a);let o;t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6];let s;return t[7]!==n.value||t[8]!==r||t[9]!==o?(s=(0,$.jsx)(S,{value:n.value,className:`items-start`,"data-testid":r,children:o}),t[7]=n.value,t[8]=r,t[9]=o,t[10]=s):s=t[10],s}function mt(e){let t=(0,Q.c)(15),{option:n,onCheckedChange:r}=e,i=`agent-thread-config-${n.id}`,a;t[0]===n.name?a=t[1]:(a=(0,$.jsx)(`span`,{children:n.name}),t[0]=n.name,t[1]=a);let o;t[2]===n.description?o=t[3]:(o=n.description?(0,$.jsx)(`span`,{className:`text-1sm text-muted-foreground`,children:n.description}):null,t[2]=n.description,t[3]=o);let s;t[4]!==a||t[5]!==o?(s=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;t[7]===n.currentValue?c=t[8]:(c=(0,$.jsx)(k,{checked:n.currentValue,size:`sm`,"aria-hidden":`true`,tabIndex:-1,className:`pointer-events-none mt-0.5`}),t[7]=n.currentValue,t[8]=c);let l;return t[9]!==r||t[10]!==n.currentValue||t[11]!==i||t[12]!==s||t[13]!==c?(l=(0,$.jsxs)(w,{checked:n.currentValue,onCheckedChange:r,onSelect:ht,className:`items-start justify-between gap-4 pr-2 [&_[data-slot=dropdown-menu-checkbox-item-indicator]]:hidden`,"data-testid":i,children:[s,c]}),t[9]=r,t[10]=n.currentValue,t[11]=i,t[12]=s,t[13]=c,t[14]=l):l=t[14],l}function ht(e){return e.preventDefault()}function gt(){let e=(0,Q.c)(11),{_:t}=s(),[n,r]=(0,Z.useState)(``),i,a;e[0]===t?(i=e[1],a=e[2]):(i=()=>{r(t({id:`7vQdBK`}))},a=[t],e[0]=t,e[1]=i,e[2]=a),(0,Z.useEffect)(i,a);let o;e[3]===n?o=e[4]:(o=(0,$.jsx)(`div`,{"aria-live":`polite`,className:`sr-only`,role:`status`,children:n}),e[3]=n,e[4]=o);let c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(X,{className:`h-12 w-3/5 rounded-2xl rounded-br-xs`})}),e[5]=c):c=e[5];let l;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(X,{className:`h-3.5 w-11/12`}),(0,$.jsx)(X,{className:`h-3.5 w-4/5`}),(0,$.jsx)(X,{className:`h-3.5 w-2/3`})]}),e[6]=l):l=e[6];let u;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(X,{className:`h-8 w-2/5 rounded-2xl rounded-br-xs`})}),e[7]=u):u=e[7];let d;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsxs)(`div`,{"aria-hidden":`true`,className:`flex flex-col gap-6`,children:[c,l,u,(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(X,{className:`h-3.5 w-5/6`}),(0,$.jsx)(X,{className:`h-3.5 w-3/4`})]})]}),e[8]=d):d=e[8];let f;return e[9]===o?f=e[10]:(f=(0,$.jsxs)(`div`,{className:`flex flex-col gap-6 pt-2`,children:[o,d]}),e[9]=o,e[10]=f),f}function _t(e){let t=(0,Q.c)(24),{status:n,archived:r,agent:i}=e,{_:a}=s(),o,c;if(t[0]!==a||t[1]!==i.iconUrl||t[2]!==i.id||t[3]!==i.name||t[4]!==r||t[5]!==n){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Xe(i.name);if(r){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(gt,{}),t[8]=e):e=t[8],c=e;break bb0}if(n===`ready`){let n;t[9]!==i.iconUrl||t[10]!==i.id?(n=(0,$.jsx)(N,{agentId:i.id,iconUrl:i.iconUrl,className:`size-12 opacity-25 grayscale`}),t[9]=i.iconUrl,t[10]=i.id,t[11]=n):n=t[11],c=(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[n,(0,$.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:a({id:`g4e0hS`,values:{agentName:e}})})]});break bb0}if(n===`auth_required`){let e;t[12]===a?e=t[13]:(e=a({id:`QTsvh1`}),t[12]=a,t[13]=e);let n;t[14]===e?n=t[15]:(n=(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center text-muted-foreground text-sm`,children:e}),t[14]=e,t[15]=n),c=n;break bb0}o=a(n===`installing`?{id:`Y_ZQ6l`,values:{agentName:e}}:n===`spawning`?{id:`8t9CRE`,values:{agentName:e}}:{id:`MysZUL`,values:{agentName:e}})}t[0]=a,t[1]=i.iconUrl,t[2]=i.id,t[3]=i.name,t[4]=r,t[5]=n,t[6]=o,t[7]=c}else o=t[6],c=t[7];if(c!==Symbol.for(`react.early_return_sentinel`))return c;let l=o,u;t[16]!==i.iconUrl||t[17]!==i.id?(u=(0,$.jsx)(N,{agentId:i.id,iconUrl:i.iconUrl,className:`size-12 opacity-25 grayscale`}),t[16]=i.iconUrl,t[17]=i.id,t[18]=u):u=t[18];let d;t[19]===l?d=t[20]:(d=(0,$.jsx)(`p`,{className:`shimmer text-sm`,children:l}),t[19]=l,t[20]=d);let f;return t[21]!==u||t[22]!==d?(f=(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[u,d]}),t[21]=u,t[22]=d,t[23]=f):f=t[23],f}function vt(e){let t=(0,Q.c)(35),{plan:n}=e,{_:r}=s(),[i,a]=(0,Z.useState)(!0),o,c,l,u,d,p,m,h,g,_;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=n.filter(xt).length;_=`border-border/60 border-b bg-muted/30 px-3 py-1.5`,o=f,l=`button`,u=`ghost`,d=`sm`,p=`h-auto w-full justify-start gap-1.5 p-0 font-medium text-muted-foreground text-xs hover:bg-transparent`,t[13]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>a(bt),t[13]=m):m=t[13],h=i,t[14]===i?g=t[15]:(g=i?(0,$.jsx)(F,{className:`size-3.5`,"aria-hidden":`true`}):(0,$.jsx)(I,{className:`size-3.5`,"aria-hidden":`true`}),t[14]=i,t[15]=g),c=r({id:`QM3SBZ`,values:{0:n.length,done:e}}),t[0]=r,t[1]=i,t[2]=n,t[3]=o,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=p,t[9]=m,t[10]=h,t[11]=g,t[12]=_}else o=t[3],c=t[4],l=t[5],u=t[6],d=t[7],p=t[8],m=t[9],h=t[10],g=t[11],_=t[12];let v;t[16]===c?v=t[17]:(v=(0,$.jsx)(`span`,{children:c}),t[16]=c,t[17]=v);let y;t[18]!==o||t[19]!==v||t[20]!==l||t[21]!==u||t[22]!==d||t[23]!==p||t[24]!==m||t[25]!==h||t[26]!==g?(y=(0,$.jsxs)(o,{type:l,variant:u,size:d,className:p,onClick:m,"aria-expanded":h,children:[g,v]}),t[18]=o,t[19]=v,t[20]=l,t[21]=u,t[22]=d,t[23]=p,t[24]=m,t[25]=h,t[26]=g,t[27]=y):y=t[27];let b;t[28]!==i||t[29]!==n?(b=i?(0,$.jsx)(`ul`,{className:`mt-1 flex flex-col gap-0.5`,children:n.map(yt)}):null,t[28]=i,t[29]=n,t[30]=b):b=t[30];let x;return t[31]!==y||t[32]!==b||t[33]!==_?(x=(0,$.jsxs)(`div`,{className:_,children:[y,b]}),t[31]=y,t[32]=b,t[33]=_,t[34]=x):x=t[34],x}function yt(e,t){return(0,$.jsxs)(`li`,{className:d(`flex items-start gap-1.5 text-xs`,e.status===`completed`&&`text-muted-foreground line-through`),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:e.status===`completed`?`☑`:`☐`}),(0,$.jsx)(`span`,{children:e.content})]},t)}function bt(e){return!e}function xt(e){return e.status===`completed`}function St(e){let t=(0,Q.c)(18),{item:n,threadId:r,actionable:i,terminals:a,permissionsByToolCall:o}=e;switch(n.kind){case`message`:{let e;return t[0]===n?e=t[1]:(e=(0,$.jsx)(Ct,{item:n}),t[0]=n,t[1]=e),e}case`tool_call`:{let e=o[n.toolCallId],r;return t[2]!==n||t[3]!==e||t[4]!==a?(r=(0,$.jsx)(Et,{call:n,terminals:a,permission:e}),t[2]=n,t[3]=e,t[4]=a,t[5]=r):r=t[5],r}case`permission`:{let e;return t[6]!==i||t[7]!==n||t[8]!==r?(e=n.mergedIntoToolCall&&n.resolved!==null?null:(0,$.jsx)(Ht,{item:n,threadId:r,actionable:i}),t[6]=i,t[7]=n,t[8]=r,t[9]=e):e=t[9],e}case`runtime_consent`:{let e;return t[10]!==n||t[11]!==r?(e=(0,$.jsx)(Jt,{item:n,threadId:r}),t[10]=n,t[11]=r,t[12]=e):e=t[12],e}case`notice`:{let e=n.tone===`error`?`border-red-500/30 bg-red-500/5 text-red-600 dark:text-red-400`:`border-amber-500/30 bg-amber-500/5 text-amber-700 dark:text-amber-400`,r;t[13]===e?r=t[14]:(r=d(`rounded-md border px-2 py-1.5 text-xs`,e),t[13]=e,t[14]=r);let i;return t[15]!==n.text||t[16]!==r?(i=(0,$.jsx)(`div`,{className:r,"data-testid":`agent-thread-notice`,children:n.text}),t[15]=n.text,t[16]=r,t[17]=i):i=t[17],i}}}function Ct(e){let t=(0,Q.c)(11),{item:n}=e;if(n.role===`thought`){let e;return t[0]===n.text?e=t[1]:(e=(0,$.jsx)(`div`,{className:`px-1 text-muted-foreground text-xs italic **:font-normal! **:text-xs!`,children:(0,$.jsx)(Ue,{text:n.text})}),t[0]=n.text,t[1]=e),e}let r=n.role===`user`,i=r?`my-3 ml-auto max-w-[85%] whitespace-pre-wrap rounded-2xl rounded-br-xs bg-muted px-3 py-1.5`:`w-full`,a;t[2]===i?a=t[3]:(a=d(`wrap-break-word text-sm text-foreground`,i),t[2]=i,t[3]=a);let o=r?`agent-thread-user-message`:`agent-thread-agent-message`,s;t[4]!==r||t[5]!==n.text?(s=r?n.text:(0,$.jsx)(Ue,{text:n.text}),t[4]=r,t[5]=n.text,t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==o||t[9]!==s?(c=(0,$.jsx)(`div`,{className:a,"data-testid":o,children:s}),t[7]=a,t[8]=o,t[9]=s,t[10]=c):c=t[10],c}function wt(e){if(e==null||typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0)return null;let t;try{t=JSON.stringify(e,null,1)}catch{return null}return t===void 0?null:t.length>2e3?`${t.slice(0,2e3)}…`:t}function Tt(e){let t=e.trim();if(!t.startsWith("```"))return e;let n=t.split(`
5
- `);return n.length<2||n[n.length-1]?.trim()!=="```"?e:n.slice(1,-1).join(`
6
- `)}function Et(e){let t=(0,Q.c)(46),{call:n,terminals:r,permission:i}=e,[a,o]=(0,Z.useState)(n.status===`failed`),s=(0,Z.useRef)(!1),c=(0,Z.useRef)(n.status),[l,u]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(!1),h,g;t[0]===n.status?(h=t[1],g=t[2]):(h=()=>{let e=c.current;if(c.current=n.status,e!==n.status&&(n.status===`failed`&&!s.current&&o(!0),e!==`completed`&&n.status===`completed`)){u(!0),m(!0);let e=setTimeout(()=>m(!1),Je);return()=>clearTimeout(e)}},g=[n.status],t[0]=n.status,t[1]=h,t[2]=g),(0,Z.useEffect)(h,g);let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{s.current=!0,o(Mt)},t[3]=_):_=t[3];let v=_,y=Ye[n.toolKind]??G,b;if(t[4]!==y||t[5]!==n.content||t[6]!==n.diffs||t[7]!==n.locations||t[8]!==n.rawInput||t[9]!==n.status||t[10]!==n.terminalIds||t[11]!==n.title||t[12]!==p||t[13]!==l||t[14]!==a||t[15]!==i||t[16]!==r){let e;t[18]===r?e=t[19]:(e=e=>r[e],t[18]=r,t[19]=e);let o=n.terminalIds.map(e).filter(jt),s;t[20]===n.rawInput?s=t[21]:(s=wt(n.rawInput),t[20]=n.rawInput,t[21]=s);let c=s,u=n.diffs.length>0||n.content.length>0||n.locations.length>0||o.length>0||c!==null,m=a&&u,h;t[22]===y?h=t[23]:(h=(0,$.jsx)(y,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t[22]=y,t[23]=h);let g;t[24]===n.title?g=t[25]:(g=(0,$.jsx)(`span`,{className:`truncate`,children:n.title}),t[24]=n.title,t[25]=g);let _;t[26]!==n.status||t[27]!==i?(_=(0,$.jsx)(It,{permission:i,status:n.status}),t[26]=n.status,t[27]=i,t[28]=_):_=t[28];let x;t[29]!==n.status||t[30]!==p||t[31]!==l?(x=(0,$.jsx)(Lt,{status:n.status,completedLive:l,checkVisible:p}),t[29]=n.status,t[30]=p,t[31]=l,t[32]=x):x=t[32];let S;t[33]!==x||t[34]!==_?(S=(0,$.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[_,x]}),t[33]=x,t[34]=_,t[35]=S):S=t[35];let C;t[36]!==S||t[37]!==h||t[38]!==g?(C=(0,$.jsxs)($.Fragment,{children:[h,g,S]}),t[36]=S,t[37]=h,t[38]=g,t[39]=C):C=t[39];let w=C,T=m&&`rounded-md border border-border/60`,E;t[40]===T?E=t[41]:(E=d(`text-xs`,T),t[40]=T,t[41]=E);let D;t[42]!==u||t[43]!==a||t[44]!==w?(D=u?(0,$.jsx)(f,{type:`button`,variant:`ghost`,size:`sm`,className:`h-auto w-full justify-start gap-1.5 rounded-md px-2 py-1.5 font-normal`,onClick:v,"aria-expanded":a,children:w}):(0,$.jsx)(`div`,{className:`flex w-full items-center gap-1.5 px-2 py-1.5`,children:w}),t[42]=u,t[43]=a,t[44]=w,t[45]=D):D=t[45],b=(0,$.jsxs)(`div`,{className:E,"data-tool-call":``,"data-testid":`agent-thread-tool-call`,children:[D,m?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-border/60 border-t px-2 py-1.5`,children:[n.diffs.map(At),o.map(kt),n.content.map(Ot),c===null?null:(0,$.jsx)(Bt,{text:c}),n.locations.length>0?(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1 text-muted-foreground`,children:n.locations.map(Dt)}):null]}):null]}),t[4]=y,t[5]=n.content,t[6]=n.diffs,t[7]=n.locations,t[8]=n.rawInput,t[9]=n.status,t[10]=n.terminalIds,t[11]=n.title,t[12]=p,t[13]=l,t[14]=a,t[15]=i,t[16]=r,t[17]=b}else b=t[17];return b}function Dt(e,t){return(0,$.jsxs)(`span`,{className:`rounded bg-muted/50 px-1 py-0.5 font-mono text-[11px]`,children:[e.path,e.line===void 0?``:`:${e.line}`]},t)}function Ot(e,t){return(0,$.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap break-words rounded bg-muted/50 px-2 py-1 font-mono text-[11px]`,children:Tt(e)},t)}function kt(e){return(0,$.jsx)(zt,{terminal:e},e.terminalId)}function At(e,t){return(0,$.jsx)(Rt,{diff:e},t)}function jt(e){return e!==void 0}function Mt(e){return!e}var Nt=new Set([`accept`,`allow`,`approve`,`decline`,`deny`,`no`,`ok`,`reject`,`yes`]);function Pt(e){if(e===null)return null;let t=e.trim().toLocaleLowerCase();return t===``||Nt.has(t)?null:e}function Ft(){let{_:e}=s();return t=>{if(t===null)return null;if(t.kind===`dismissed`)return e({id:`nmwqWS`});let n=Pt(t.optionName);return t.kind===`approved`?t.auto?e({id:`xzAmL_`}):e(n===null?{id:`7kb4LU`}:{id:`rbrHTd`,values:{optionName:n}}):t.auto?e({id:`pUKV4K`}):e(n===null?{id:`JsY1p5`}:{id:`_LczaQ`,values:{optionName:n}})}}function It(e){let t=(0,Q.c)(11),{permission:n,status:r}=e,i=Ft();if(n===void 0||!n.mergedIntoToolCall)return null;let a,o,s,c;if(t[0]!==i||t[1]!==n||t[2]!==r){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=we(n);if(e===null||e.kind===`approved`){c=null;break bb0}if(r===`failed`){c=null;break bb0}a=`shrink-0 text-muted-foreground`,o=`agent-thread-tool-permission`,s=i(e)}t[0]=i,t[1]=n,t[2]=r,t[3]=a,t[4]=o,t[5]=s,t[6]=c}else a=t[3],o=t[4],s=t[5],c=t[6];if(c!==Symbol.for(`react.early_return_sentinel`))return c;let l;return t[7]!==a||t[8]!==o||t[9]!==s?(l=(0,$.jsx)(`span`,{className:a,"data-testid":o,children:s}),t[7]=a,t[8]=o,t[9]=s,t[10]=l):l=t[10],l}function Lt(e){let t=(0,Q.c)(13),{status:n,completedLive:r,checkVisible:i}=e,{_:a}=s(),o;t[0]!==a||t[1]!==n?(o=a(n===`completed`?{id:`Q7xfEj`}:n===`failed`?{id:`7l15X4`}:n===`in_progress`?{id:`KUjOb9`}:{id:`S48xcO`}),t[0]=a,t[1]=n,t[2]=o):o=t[2];let c=o,l;t[3]===c?l=t[4]:(l=(0,$.jsx)(`span`,{className:`sr-only`,children:c}),t[3]=c,t[4]=l);let u;t[5]!==i||t[6]!==r||t[7]!==c||t[8]!==n?(u=n===`failed`?(0,$.jsx)(Y,{variant:`destructive`,className:`rounded-sm px-1.5 py-0 text-[10px]`,"data-testid":`agent-thread-tool-failed`,children:c}):n===`in_progress`||n===`pending`?(0,$.jsx)(ee,{className:`size-3.5 animate-spin text-muted-foreground`,"aria-hidden":`true`,"data-testid":`agent-thread-tool-spinner`}):r?(0,$.jsx)(P,{className:d(`size-3.5 text-muted-foreground/70 transition-opacity duration-500 motion-reduce:transition-none`,i?`opacity-100`:`opacity-0`),"aria-hidden":`true`,"data-testid":`agent-thread-tool-check`}):null,t[5]=i,t[6]=r,t[7]=c,t[8]=n,t[9]=u):u=t[9];let f;return t[10]!==l||t[11]!==u?(f=(0,$.jsxs)(`span`,{className:`flex shrink-0 items-center`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=f):f=t[12],f}function Rt(e){let t=(0,Q.c)(19),{diff:n}=e,{_:r}=s(),i,a,o,c;if(t[0]!==r||t[1]!==n.newText||t[2]!==n.oldText||t[3]!==n.path){let e=Fe(n.oldText,n.newText);o=`overflow-hidden rounded border border-border/60`,t[8]===n.path?c=t[9]:(c=(0,$.jsx)(`div`,{className:`bg-muted/50 px-2 py-0.5 font-mono text-[11px] text-muted-foreground`,children:n.path}),t[8]=n.path,t[9]=c),i=`overflow-x-auto font-mono text-[11px] leading-snug`;let s;t[10]===r?s=t[11]:(s=(e,t)=>e.type===`gap`?(0,$.jsx)(`div`,{className:`select-none px-2 text-muted-foreground/70`,children:r({id:`OJOA7Z`,values:{0:e.count}})},t):(0,$.jsxs)(`div`,{className:d(`px-2`,e.type===`add`&&`bg-green-500/10 text-green-700 dark:text-green-400`,e.type===`del`&&`bg-red-500/10 text-red-700 dark:text-red-400`,e.type===`ctx`&&`text-muted-foreground`),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:e.type===`add`?`+ `:e.type===`del`?`- `:` `}),e.text]},t),t[10]=r,t[11]=s),a=e.map(s),t[0]=r,t[1]=n.newText,t[2]=n.oldText,t[3]=n.path,t[4]=i,t[5]=a,t[6]=o,t[7]=c}else i=t[4],a=t[5],o=t[6],c=t[7];let l;t[12]!==i||t[13]!==a?(l=(0,$.jsx)(`pre`,{className:i,children:a}),t[12]=i,t[13]=a,t[14]=l):l=t[14];let u;return t[15]!==o||t[16]!==c||t[17]!==l?(u=(0,$.jsxs)(`div`,{className:o,children:[c,l]}),t[15]=o,t[16]=c,t[17]=l,t[18]=u):u=t[18],u}function zt(e){let t=(0,Q.c)(19),{terminal:n}=e,{_:r}=s(),i;t[0]!==n.args||t[1]!==n.command?(i=[n.command,...n.args],t[0]=n.args,t[1]=n.command,t[2]=i):i=t[2];let a=i.join(` `),o;if(t[3]!==r||t[4]!==a||t[5]!==n.exit||t[6]!==n.output||t[7]!==n.truncated){let e=He(n.output),i=n.exit,s=i!==null&&(i.signal!==null||i.exitCode!==0),c;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Oe,{className:`size-3 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t[9]=c):c=t[9];let l;t[10]===a?l=t[11]:(l=(0,$.jsx)(`span`,{className:`truncate font-mono text-[11px] text-muted-foreground`,title:a,children:a}),t[10]=a,t[11]=l);let u;t[12]!==r||t[13]!==i||t[14]!==s?(u=(0,$.jsx)(`span`,{className:`ml-auto shrink-0`,children:i===null?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-[10px] text-muted-foreground shimmer`,children:[(0,$.jsx)(ee,{className:`size-3 animate-spin`,"aria-hidden":`true`}),r({id:`KUjOb9`})]}):(0,$.jsx)(Y,{variant:s?`destructive`:`secondary`,className:`px-1.5 py-0 font-mono text-[10px] rounded-sm`,"data-testid":`agent-thread-terminal-exit`,children:i.signal===null?r({id:`APNlbk`,values:{0:i.exitCode??0}}):i.signal})}),t[12]=r,t[13]=i,t[14]=s,t[15]=u):u=t[15];let d;t[16]!==l||t[17]!==u?(d=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 bg-muted/50 px-2 py-0.5`,children:[c,l,u]}),t[16]=l,t[17]=u,t[18]=d):d=t[18],o=(0,$.jsxs)(`div`,{className:`overflow-hidden rounded border border-border/60`,"data-testid":`agent-thread-terminal`,children:[d,e.trim()!==``||n.truncated?(0,$.jsxs)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words px-2 py-1 font-mono text-[11px] leading-snug`,children:[n.truncated?`${r({id:`_Pmhxt`})}\n`:null,e]}):null]}),t[3]=r,t[4]=a,t[5]=n.exit,t[6]=n.output,t[7]=n.truncated,t[8]=o}else o=t[8];return o}function Bt(e){let t=(0,Q.c)(17),{text:n}=e,{_:r}=s(),[i,a]=(0,Z.useState)(!1),o=(0,Z.useId)(),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>a(Vt),t[0]=c):c=t[0];let l;t[1]===i?l=t[2]:(l=i?(0,$.jsx)(F,{className:`size-3`,"aria-hidden":`true`}):(0,$.jsx)(I,{className:`size-3`,"aria-hidden":`true`}),t[1]=i,t[2]=l);let u;t[3]===r?u=t[4]:(u=r({id:`XU5AOg`}),t[3]=r,t[4]=u);let d;t[5]!==o||t[6]!==i||t[7]!==l||t[8]!==u?(d=(0,$.jsxs)(f,{type:`button`,variant:`ghost`,size:`sm`,className:`h-auto w-full justify-start gap-1 px-0 py-0.5 text-[10px] text-muted-foreground uppercase tracking-wide hover:bg-transparent`,onClick:c,"aria-expanded":i,"aria-controls":o,children:[l,u]}),t[5]=o,t[6]=i,t[7]=l,t[8]=u,t[9]=d):d=t[9];let p;t[10]!==o||t[11]!==i||t[12]!==n?(p=i?(0,$.jsx)(`pre`,{id:o,className:`overflow-x-auto whitespace-pre-wrap break-words rounded bg-muted/30 px-2 py-1 font-mono text-[11px] text-muted-foreground`,children:n}):null,t[10]=o,t[11]=i,t[12]=n,t[13]=p):p=t[13];let m;return t[14]!==d||t[15]!==p?(m=(0,$.jsxs)(`div`,{"data-testid":`agent-thread-tool-raw-input`,children:[d,p]}),t[14]=d,t[15]=p,t[16]=m):m=t[16],m}function Vt(e){return!e}function Ht(e){let t=(0,Q.c)(32),{item:n,threadId:r,actionable:i}=e,{_:a}=s(),o=Ft(),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=Se(),t[0]=c):c=t[0];let l=c,u=we(n),p=u===null,m=(0,Z.useRef)(null),h=(0,Z.useRef)(null),g;t[1]!==n.requestId||t[2]!==r?(g=e=>{l.respondPermission(r,n.requestId,{kind:`selected`,optionId:e})},t[1]=n.requestId,t[2]=r,t[3]=g):g=t[3];let _=g,v,y,b;if(t[4]!==n.options){let e=n.options.filter(Kt),r=n.options.filter(Gt);v=e.find(Wt)??e[0],y=e.filter(e=>e!==v);let i=r.find(Ut)??r[0];b=i===void 0?[]:[i,...r.filter(e=>e!==i)],t[4]=n.options,t[5]=v,t[6]=y,t[7]=b}else v=t[5],y=t[6],b=t[7];let x=b,S=v===void 0?h:void 0,C,w;t[8]!==i||t[9]!==p?(C=()=>{if(!p||!i)return;let e=m.current?.closest(`[data-agent-thread-root]`);e==null||!e.contains(document.activeElement)||h.current?.focus()},w=[p,i],t[8]=i,t[9]=p,t[10]=C,t[11]=w):(C=t[10],w=t[11]),(0,Z.useEffect)(C,w);let T=o(u),E=p&&i?`border-border bg-muted/30`:`border-border/60 bg-muted/20`,D;t[12]===E?D=t[13]:(D=d(`rounded-md border px-2.5 py-2 text-sm`,E),t[12]=E,t[13]=D);let O;t[14]===n.title?O=t[15]:(O=(0,$.jsx)(`div`,{className:`mb-1.5 font-medium`,children:n.title}),t[14]=n.title,t[15]=O);let k;t[16]!==a||t[17]!==i||t[18]!==x||t[19]!==S||t[20]!==n.requestId||t[21]!==p||t[22]!==v||t[23]!==T||t[24]!==y||t[25]!==_||t[26]!==r?(k=p?i?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[x.length>0?(0,$.jsx)(qt,{options:x,onSelect:_,buttonRef:S,testId:`agent-thread-permission-deny`,moreLabel:a({id:`xlQpTE`}),menuAlign:`start`}):(0,$.jsx)(f,{ref:S,type:`button`,size:`sm`,variant:`outline`,className:`text-xs`,onClick:()=>l.respondPermission(r,n.requestId,{kind:`cancelled`}),"data-testid":`agent-thread-permission-deny`,children:a({id:`cFCKYZ`})}),(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[y.length>0?(0,$.jsx)(qt,{options:y,onSelect:_,testId:`agent-thread-permission-allow-more`,moreLabel:a({id:`9dVehq`}),menuAlign:`end`}):null,v===void 0?null:(0,$.jsx)(f,{ref:h,type:`button`,size:`sm`,className:`text-xs normal-case font-sans`,title:v.name,onClick:()=>_(v.optionId),"data-testid":`agent-thread-permission-allow`,"data-permission-kind":v.kind,children:(0,$.jsx)(`span`,{className:`max-w-52 truncate`,children:v.name})})]})]}):(0,$.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:a({id:`Tz4dq-`})}):(0,$.jsx)(`div`,{className:`text-muted-foreground text-xs`,"data-testid":`agent-thread-permission-outcome`,children:T}),t[16]=a,t[17]=i,t[18]=x,t[19]=S,t[20]=n.requestId,t[21]=p,t[22]=v,t[23]=T,t[24]=y,t[25]=_,t[26]=r,t[27]=k):k=t[27];let A;return t[28]!==D||t[29]!==O||t[30]!==k?(A=(0,$.jsxs)(`div`,{ref:m,className:D,"data-testid":`agent-thread-permission`,children:[O,k]}),t[28]=D,t[29]=O,t[30]=k,t[31]=A):A=t[31],A}function Ut(e){return e.kind===`reject_once`}function Wt(e){return e.kind===`allow_once`}function Gt(e){return e.kind.startsWith(`reject`)}function Kt(e){return e.kind.startsWith(`allow`)}function qt(e){let t=(0,Q.c)(31),{options:n,onSelect:r,buttonRef:i,testId:a,moreLabel:o,menuAlign:s}=e,c=n[0];if(c===void 0)return null;let l;t[0]!==r||t[1]!==c.optionId?(l=()=>r(c.optionId),t[0]=r,t[1]=c.optionId,t[2]=l):l=t[2];let u;t[3]===c.name?u=t[4]:(u=(0,$.jsx)(`span`,{className:`max-w-52 truncate`,children:c.name}),t[3]=c.name,t[4]=u);let d;t[5]!==i||t[6]!==c.kind||t[7]!==c.name||t[8]!==l||t[9]!==u||t[10]!==a?(d=(0,$.jsx)(f,{ref:i,type:`button`,size:`sm`,variant:`outline`,className:`text-xs`,title:c.name,onClick:l,"data-testid":a,"data-permission-kind":c.kind,children:u}),t[5]=i,t[6]=c.kind,t[7]=c.name,t[8]=l,t[9]=u,t[10]=a,t[11]=d):d=t[11];let p=d;if(n.length===1)return p;let m;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(de,{}),t[12]=m):m=t[12];let h=`${a}-more`,g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(F,{className:`size-3.5`,"aria-hidden":`true`}),t[13]=g):g=t[13];let _;t[14]!==o||t[15]!==h?(_=(0,$.jsx)(C,{asChild:!0,children:(0,$.jsx)(f,{type:`button`,size:`icon-sm`,variant:`outline`,"aria-label":o,"data-testid":h,children:g})}),t[14]=o,t[15]=h,t[16]=_):_=t[16];let y;if(t[17]!==r||t[18]!==n){let e;t[20]===r?e=t[21]:(e=e=>(0,$.jsx)(v,{onSelect:()=>r(e.optionId),"data-permission-kind":e.kind,children:e.name},e.optionId),t[20]=r,t[21]=e),y=n.map(e),t[17]=r,t[18]=n,t[19]=y}else y=t[19];let b;t[22]!==s||t[23]!==y?(b=(0,$.jsx)(D,{align:s,className:`max-w-72`,children:y}),t[22]=s,t[23]=y,t[24]=b):b=t[24];let x;t[25]!==_||t[26]!==b?(x=(0,$.jsxs)(O,{children:[_,b]}),t[25]=_,t[26]=b,t[27]=x):x=t[27];let S;return t[28]!==p||t[29]!==x?(S=(0,$.jsxs)(le,{children:[p,m,x]}),t[28]=p,t[29]=x,t[30]=S):S=t[30],S}function Jt(e){let t=(0,Q.c)(89),{item:n,threadId:r}=e,{_:i}=s(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=Se(),t[0]=a):a=t[0];let o=a,[c,l]=(0,Z.useState)(!0);if(n.resolved===`declined`||n.resolved===`timeout`){let e;t[1]!==i||t[2]!==n.displayName||t[3]!==n.resolved?(e=n.resolved===`declined`?i({id:`sgmRY8`,values:{0:n.displayName}}):i({id:`Y_GpJd`,values:{0:n.displayName}}),t[1]=i,t[2]=n.displayName,t[3]=n.resolved,t[4]=e):e=t[4];let r;return t[5]===e?r=t[6]:(r=(0,$.jsx)(`div`,{className:`rounded-md border border-border/60 bg-muted/20 px-2.5 py-2 text-muted-foreground text-xs`,"data-testid":`agent-thread-runtime-consent`,children:e}),t[5]=e,t[6]=r),r}if(n.resolved===`granted`){if(n.install===`done`){let e;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(P,{className:`size-3.5 shrink-0 text-green-600 dark:text-green-400`,"aria-hidden":`true`}),t[7]=e):e=t[7];let r;t[8]!==i||t[9]!==n.displayName||t[10]!==n.version?(r=i({id:`lKQnp-`,values:{0:n.displayName,1:n.version}}),t[8]=i,t[9]=n.displayName,t[10]=n.version,t[11]=r):r=t[11];let a;return t[12]===r?a=t[13]:(a=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md border border-border/60 bg-muted/20 px-2.5 py-2 text-muted-foreground text-xs`,"data-testid":`agent-thread-runtime-consent`,children:[e,(0,$.jsx)(`span`,{children:r})]}),t[12]=r,t[13]=a),a}if(n.install===`failed`){let e;t[14]!==i||t[15]!==n.displayName?(e=i({id:`jeJexw`,values:{0:n.displayName}}),t[14]=i,t[15]=n.displayName,t[16]=e):e=t[16];let r;return t[17]===e?r=t[18]:(r=(0,$.jsx)(`div`,{className:`rounded-md border border-border/60 bg-muted/20 px-2.5 py-2 text-muted-foreground text-xs`,"data-testid":`agent-thread-runtime-consent`,children:e}),t[17]=e,t[18]=r),r}let e;t[19]===n.progress?e=t[20]:(e=Yt(n.progress),t[19]=n.progress,t[20]=e);let r=e,a;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(ee,{className:`size-3.5 shrink-0 animate-spin`,"aria-hidden":`true`}),t[21]=a):a=t[21];let o;t[22]!==i||t[23]!==n.displayName||t[24]!==n.version?(o=i({id:`DMeaxi`,values:{0:n.displayName,1:n.version}}),t[22]=i,t[23]=n.displayName,t[24]=n.version,t[25]=o):o=t[25];let s;t[26]===o?s=t[27]:(s=(0,$.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 text-muted-foreground`,children:[a,(0,$.jsx)(`span`,{children:o})]}),t[26]=o,t[27]=s);let c=r===null?`40%`:`${r}%`,l;t[28]===c?l=t[29]:(l=(0,$.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,$.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width] duration-200`,style:{width:c}})}),t[28]=c,t[29]=l);let u;t[30]===r?u=t[31]:(u=r===null?null:(0,$.jsx)(`div`,{className:`mt-1 text-[11px] text-muted-foreground`,children:`${r}%`}),t[30]=r,t[31]=u);let d;return t[32]!==s||t[33]!==l||t[34]!==u?(d=(0,$.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-muted/30 px-2.5 py-2 text-xs`,"data-testid":`agent-thread-runtime-consent`,children:[s,l,u]}),t[32]=s,t[33]=l,t[34]=u,t[35]=d):d=t[35],d}let u;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(R,{className:`size-4 shrink-0`,"aria-hidden":`true`}),t[36]=u):u=t[36];let d;t[37]!==i||t[38]!==n.agentName||t[39]!==n.displayName?(d=i({id:`u5Utjn`,values:{0:n.agentName,1:n.displayName}}),t[37]=i,t[38]=n.agentName,t[39]=n.displayName,t[40]=d):d=t[40];let p;t[41]===d?p=t[42]:(p=(0,$.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 font-medium`,children:[u,(0,$.jsx)(`span`,{children:d})]}),t[41]=d,t[42]=p);let m;t[43]!==i||t[44]!==n.approxSizeMB||t[45]!==n.displayName||t[46]!==n.provides||t[47]!==n.sourceHost||t[48]!==n.version?(m=i({id:`l7Qq48`,values:{0:n.provides,1:n.displayName,2:n.version,3:n.approxSizeMB,4:n.sourceHost}}),t[43]=i,t[44]=n.approxSizeMB,t[45]=n.displayName,t[46]=n.provides,t[47]=n.sourceHost,t[48]=n.version,t[49]=m):m=t[49];let h;t[50]===m?h=t[51]:(h=(0,$.jsx)(`p`,{className:`mb-2 text-muted-foreground text-xs`,children:m}),t[50]=m,t[51]=h);let g=`runtime-consent-remember-${n.requestId}`,v=`runtime-consent-remember-${n.requestId}`,y;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>l(e===!0),t[52]=y):y=t[52];let b;t[53]!==c||t[54]!==v?(b=(0,$.jsx)(_,{id:v,checked:c,onCheckedChange:y,"data-testid":`agent-thread-runtime-consent-remember`}),t[53]=c,t[54]=v,t[55]=b):b=t[55];let x;t[56]===i?x=t[57]:(x=i({id:`oi4zaa`}),t[56]=i,t[57]=x);let S;t[58]!==b||t[59]!==x||t[60]!==g?(S=(0,$.jsxs)(`label`,{htmlFor:g,className:`mb-2 flex w-fit items-center gap-1.5 text-muted-foreground text-xs`,children:[b,x]}),t[58]=b,t[59]=x,t[60]=g,t[61]=S):S=t[61];let C;t[62]!==n.requestId||t[63]!==c||t[64]!==r?(C=()=>o.respondRuntimeConsent(r,n.requestId,{kind:`granted`,remember:c}),t[62]=n.requestId,t[63]=c,t[64]=r,t[65]=C):C=t[65];let w;t[66]!==i||t[67]!==n.displayName?(w=i({id:`BjitBo`,values:{0:n.displayName}}),t[66]=i,t[67]=n.displayName,t[68]=w):w=t[68];let T;t[69]!==C||t[70]!==w?(T=(0,$.jsx)(f,{type:`button`,size:`sm`,className:`h-7 text-xs`,onClick:C,"data-testid":`agent-thread-runtime-consent-allow`,children:w}),t[69]=C,t[70]=w,t[71]=T):T=t[71];let E;t[72]!==n.requestId||t[73]!==c||t[74]!==r?(E=()=>o.respondRuntimeConsent(r,n.requestId,{kind:`declined`,remember:c}),t[72]=n.requestId,t[73]=c,t[74]=r,t[75]=E):E=t[75];let D;t[76]===i?D=t[77]:(D=i({id:`PBxg_E`}),t[76]=i,t[77]=D);let O;t[78]!==E||t[79]!==D?(O=(0,$.jsx)(f,{type:`button`,size:`sm`,variant:`outline`,className:`h-7 text-xs`,onClick:E,"data-testid":`agent-thread-runtime-consent-decline`,children:D}),t[78]=E,t[79]=D,t[80]=O):O=t[80];let k;t[81]!==T||t[82]!==O?(k=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[T,O]}),t[81]=T,t[82]=O,t[83]=k):k=t[83];let A;return t[84]!==S||t[85]!==k||t[86]!==p||t[87]!==h?(A=(0,$.jsxs)(`div`,{className:`rounded-md border border-blue-500/40 bg-blue-500/5 px-2.5 py-2 text-sm`,"data-testid":`agent-thread-runtime-consent`,children:[p,h,S,k]}),t[84]=S,t[85]=k,t[86]=p,t[87]=h,t[88]=A):A=t[88],A}function Yt(e){return e===null||e.totalBytes===null||e.totalBytes<=0?null:Math.min(100,Math.round(e.receivedBytes/e.totalBytes*100))}function Xt(e){let t=Math.round(e/1e3);if(t>=1e3){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}return e>=1e3?`${t}k`:String(e)}function Zt(e){let t=(0,Q.c)(47),{used:n,size:r,percent:i}=e,{_:a}=s(),o=2*Math.PI*6,c=i>=90?`text-red-500`:i>=75?`text-amber-500`:`text-muted-foreground/60`,l=100-i,u,f,g,_,v,y,b,x,S;if(t[0]!==a||t[1]!==l||t[2]!==i||t[3]!==r||t[4]!==c||t[5]!==n){let e=Xt(n),s=Xt(r);f=h;let C=a({id:`ElatXA`,values:{percent:i,usedLabel:e,sizeLabel:s}}),w;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`circle`,{cx:`8`,cy:`8`,r:6,fill:`none`,strokeWidth:`2`,className:`stroke-current text-muted-foreground/10`}),t[15]=w):w=t[15];let T=o*(1-i/100),E;t[16]===c?E=t[17]:(E=d(`stroke-current transition-[stroke-dashoffset]`,c),t[16]=c,t[17]=E);let D;t[18]!==T||t[19]!==E?(D=(0,$.jsxs)(`svg`,{viewBox:`0 0 16 16`,className:`size-4 -rotate-90`,"aria-hidden":`true`,children:[w,(0,$.jsx)(`circle`,{cx:`8`,cy:`8`,r:6,fill:`none`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:o,strokeDashoffset:T,className:E})]}),t[18]=T,t[19]=E,t[20]=D):D=t[20],S=(0,$.jsx)(p,{"aria-label":C,className:`flex size-5 items-center justify-center rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,"data-testid":`agent-thread-usage`,children:D}),u=m,x=`top`,v=`flex flex-col items-center gap-0.5 text-center`;let O;t[21]===a?O=t[22]:(O=a({id:`MJuO1q`}),t[21]=a,t[22]=O),t[23]===O?y=t[24]:(y=(0,$.jsx)(`span`,{className:`text-background/60`,children:O}),t[23]=O,t[24]=y);let k;t[25]!==a||t[26]!==l||t[27]!==i?(k=a({id:`syi2ye`,values:{percent:i,left:l}}),t[25]=a,t[26]=l,t[27]=i,t[28]=k):k=t[28],t[29]===k?b=t[30]:(b=(0,$.jsx)(`span`,{children:k}),t[29]=k,t[30]=b),g=`tabular-nums`,_=a({id:`EPwuTC`,values:{usedLabel:e,sizeLabel:s}}),t[0]=a,t[1]=l,t[2]=i,t[3]=r,t[4]=c,t[5]=n,t[6]=u,t[7]=f,t[8]=g,t[9]=_,t[10]=v,t[11]=y,t[12]=b,t[13]=x,t[14]=S}else u=t[6],f=t[7],g=t[8],_=t[9],v=t[10],y=t[11],b=t[12],x=t[13],S=t[14];let C;t[31]!==g||t[32]!==_?(C=(0,$.jsx)(`span`,{className:g,children:_}),t[31]=g,t[32]=_,t[33]=C):C=t[33];let w;t[34]!==v||t[35]!==y||t[36]!==b||t[37]!==C?(w=(0,$.jsxs)(`div`,{className:v,children:[y,b,C]}),t[34]=v,t[35]=y,t[36]=b,t[37]=C,t[38]=w):w=t[38];let T;t[39]!==u||t[40]!==x||t[41]!==w?(T=(0,$.jsx)(u,{side:x,children:w}),t[39]=u,t[40]=x,t[41]=w,t[42]=T):T=t[42];let E;return t[43]!==f||t[44]!==T||t[45]!==S?(E=(0,$.jsxs)(f,{children:[S,T]}),t[43]=f,t[44]=T,t[45]=S,t[46]=E):E=t[46],E}function Qt(e){let t=(0,Q.c)(69),{info:n,draft:r,onDraftChange:i,commentsAttached:a,onAttachComments:o,onSubmit:c,canPrompt:l,canQueue:u,turnActive:d,cancelPending:g,onCancel:_,status:v,archived:y,resumePending:b,usage:x}=e,{_:S}=s(),C=(0,Z.useRef)(null),w=Xe(n.agent.name),T=ne(),E;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(E=[],t[0]=E):E=t[0],(0,Z.useEffect)($t,E);let D;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(D=()=>{let e=C.current;e!==null&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`)},t[1]=D):D=t[1];let O;t[2]===r?O=t[3]:(O=[r],t[2]=r,t[3]=O),(0,Z.useEffect)(D,O);let k;t[4]===x?k=t[5]:(k=x!==null&&x.used!==void 0&&x.size!==void 0&&x.size>0?Math.min(100,Math.round(x.used/x.size*100)):null,t[4]=x,t[5]=k);let A=k,j;t[6]===n.queue?j=t[7]:(j=n.queue??[],t[6]=n.queue,t[7]=j);let N=j,P;t[8]!==a||t[9]!==r?(P=r.trim()!==``||a,t[8]=a,t[9]=r,t[10]=P):P=t[10];let F=P,I;t[11]!==y||t[12]!==n.threadId||t[13]!==N?(I=N.length>0&&!y?(0,$.jsx)(tn,{threadId:n.threadId,queue:N}):null,t[11]=y,t[12]=n.threadId,t[13]=N,t[14]=I):I=t[14];let L;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=e=>oe(e,C),t[15]=L):L=t[15];let R=pe,z;t[16]===i?z=t[17]:(z=e=>i(e.target.value),t[16]=i,t[17]=z);let B;t[18]!==g||t[19]!==_||t[20]!==c||t[21]!==d?(B=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),c()):e.key===`Escape`&&d&&!g&&(e.preventDefault(),_())},t[18]=g,t[19]=_,t[20]=c,t[21]=d,t[22]=B):B=t[22];let te=S({id:`mToVM9`,values:{agentName:w}}),V=S(y?b?{id:`3oEK1e`}:{id:`e9sHSO`}:v===`auth_required`?{id:`r2eKE3`,values:{agentName:w}}:{id:`mToVM9`,values:{agentName:w}}),H=y?b:v!==`ready`&&v!==`running`&&v!==`awaiting_permission`,U;t[23]!==R||t[24]!==r||t[25]!==z||t[26]!==B||t[27]!==te||t[28]!==V||t[29]!==H?(U=(0,$.jsx)(R,{ref:C,value:r,onChange:z,onKeyDown:B,rows:1,"aria-label":te,placeholder:V,disabled:H,className:`max-h-40 min-h-9 resize-none border-0 bg-transparent pb-0 shadow-none focus-visible:border-0 focus-visible:ring-0 disabled:bg-transparent dark:bg-transparent dark:disabled:bg-transparent placeholder:text-muted-foreground/60`,"data-testid":`agent-thread-composer`}),t[23]=R,t[24]=r,t[25]=z,t[26]=B,t[27]=te,t[28]=V,t[29]=H,t[30]=U):U=t[30];let W,G;t[31]===o?(W=t[32],G=t[33]):(W=()=>{ke().then(e=>{e!==null&&(o(e),C.current?.focus())})},G=()=>o(null),t[31]=o,t[32]=W,t[33]=G);let K;t[34]!==a||t[35]!==T.length||t[36]!==W||t[37]!==G?(K=(0,$.jsx)(Ae,{compact:!0,queueCount:T.length,queueAttached:a,onAddQueue:W,onRemoveQueue:G}),t[34]=a,t[35]=T.length,t[36]=W,t[37]=G,t[38]=K):K=t[38];let q;t[39]===n?q=t[40]:(q=(0,$.jsx)(rt,{info:n}),t[39]=n,t[40]=q);let J;t[41]!==K||t[42]!==q?(J=(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[K,q]}),t[41]=K,t[42]=q,t[43]=J):J=t[43];let re;t[44]!==x||t[45]!==A?(re=A!==null&&x?.used!==void 0&&x?.size!==void 0?(0,$.jsx)(Zt,{used:x.used,size:x.size,percent:A}):null,t[44]=x,t[45]=A,t[46]=re):re=t[46];let ie;t[47]!==S||t[48]!==l||t[49]!==u||t[50]!==g||t[51]!==F||t[52]!==_||t[53]!==c||t[54]!==d?(ie=d&&(g||!F)?(0,$.jsxs)(h,{children:[(0,$.jsx)(p,{asChild:!0,children:(0,$.jsx)(f,{type:`button`,size:`icon-sm`,className:`rounded-lg`,disabled:g,onClick:_,"aria-label":S(g?{id:`161NCV`}:{id:`ygCKqB`}),"data-testid":`agent-thread-cancel`,children:g?(0,$.jsx)(ee,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}):(0,$.jsx)(De,{className:`size-3 fill-current`,"aria-hidden":`true`})})}),(0,$.jsx)(m,{side:`top`,children:S({id:`RLYckQ`})})]}):(0,$.jsx)(f,{type:`button`,size:`icon-sm`,className:`rounded-lg`,disabled:!(l||u)||!F,onClick:c,"aria-label":S(u?{id:`RQWuCs`}:{id:`JlFcis`}),"data-testid":`agent-thread-send`,children:(0,$.jsx)(M,{className:`size-4`,"aria-hidden":`true`})}),t[47]=S,t[48]=l,t[49]=u,t[50]=g,t[51]=F,t[52]=_,t[53]=c,t[54]=d,t[55]=ie):ie=t[55];let Y;t[56]!==re||t[57]!==ie?(Y=(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[re,ie]}),t[56]=re,t[57]=ie,t[58]=Y):Y=t[58];let ae;t[59]!==J||t[60]!==Y?(ae=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-1.5 pt-1 pb-1.5`,children:[J,Y]}),t[59]=J,t[60]=Y,t[61]=ae):ae=t[61];let se;t[62]!==U||t[63]!==ae||t[64]!==L?(se=(0,$.jsxs)(`div`,{onMouseDown:L,className:`cursor-text rounded-lg border border-input bg-transparent transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 dark:bg-input/30`,children:[U,ae]}),t[62]=U,t[63]=ae,t[64]=L,t[65]=se):se=t[65];let ce;return t[66]!==se||t[67]!==I?(ce=(0,$.jsxs)(`div`,{className:`p-2`,children:[I,se]}),t[66]=se,t[67]=I,t[68]=ce):ce=t[68],ce}function $t(){V().catch(en)}function en(){}function tn(e){let t=(0,Q.c)(12),{threadId:n,queue:r}=e,{_:i}=s(),a;t[0]===i?a=t[1]:(a=i({id:`8wu9lr`}),t[0]=i,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,$.jsx)(`span`,{className:`px-1 font-medium text-[10px] text-muted-foreground/70 uppercase tracking-wide`,children:a}),t[2]=a,t[3]=o);let c;if(t[4]!==r||t[5]!==n){let e;t[7]===n?e=t[8]:(e=e=>(0,$.jsx)(nn,{threadId:n,message:e},e.id),t[7]=n,t[8]=e),c=r.map(e),t[4]=r,t[5]=n,t[6]=c}else c=t[6];let l;return t[9]!==o||t[10]!==c?(l=(0,$.jsxs)(`div`,{className:`mb-1.5 flex flex-col gap-1`,"data-testid":`agent-thread-queue`,children:[o,c]}),t[9]=o,t[10]=c,t[11]=l):l=t[11],l}function nn(e){let t=(0,Q.c)(59),{threadId:n,message:r}=e,{_:i}=s(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=Se(),t[0]=a):a=t[0];let o=a,[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(``),p;t[1]===r.content?p=t[2]:(p=()=>{d(r.content),l(!0)},t[1]=r.content,t[2]=p);let m=p,h;t[3]!==r.content||t[4]!==r.id||t[5]!==n||t[6]!==u?(h=()=>{let e=u.trim();if(e===``){l(!1);return}e!==r.content&&o.editQueued(n,r.id,e),l(!1)},t[3]=r.content,t[4]=r.id,t[5]=n,t[6]=u,t[7]=h):h=t[7];let g=h;if(c){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>d(e.target.value),t[8]=e):e=t[8];let n;t[9]===g?n=t[10]:(n=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),g()):e.key===`Escape`&&(e.preventDefault(),l(!1))},t[9]=g,t[10]=n);let r;t[11]===i?r=t[12]:(r=i({id:`5soCUZ`}),t[11]=i,t[12]=r);let a;t[13]!==n||t[14]!==r||t[15]!==u?(a=(0,$.jsx)(pe,{value:u,onChange:e,onKeyDown:n,autoFocus:!0,rows:1,"aria-label":r,className:`min-h-8 resize-none border-0 bg-transparent px-1.5 py-1 shadow-none focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent`,"data-testid":`agent-thread-queued-input`}),t[13]=n,t[14]=r,t[15]=u,t[16]=a):a=t[16];let o;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>l(!1),t[17]=o):o=t[17];let s;t[18]===i?s=t[19]:(s=i({id:`nBHvPL`}),t[18]=i,t[19]=s);let c;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(K,{className:`size-3.5`,"aria-hidden":`true`}),t[20]=c):c=t[20];let p;t[21]===s?p=t[22]:(p=(0,$.jsx)(f,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6`,onClick:o,"aria-label":s,"data-testid":`agent-thread-queued-cancel-edit`,children:c}),t[21]=s,t[22]=p);let m;t[23]===u?m=t[24]:(m=u.trim(),t[23]=u,t[24]=m);let h=m===``,_;t[25]===i?_=t[26]:(_=i({id:`CB7c0Z`}),t[25]=i,t[26]=_);let v;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(P,{className:`size-3.5`,"aria-hidden":`true`}),t[27]=v):v=t[27];let y;t[28]!==g||t[29]!==h||t[30]!==_?(y=(0,$.jsx)(f,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6`,disabled:h,onClick:g,"aria-label":_,"data-testid":`agent-thread-queued-save`,children:v}),t[28]=g,t[29]=h,t[30]=_,t[31]=y):y=t[31];let b;t[32]!==p||t[33]!==y?(b=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[p,y]}),t[32]=p,t[33]=y,t[34]=b):b=t[34];let x;return t[35]!==b||t[36]!==a?(x=(0,$.jsxs)(`div`,{className:`rounded-md border border-input bg-muted/30 p-1`,"data-testid":`agent-thread-queued-editing`,children:[a,b]}),t[35]=b,t[36]=a,t[37]=x):x=t[37],x}let _;t[38]===r.content?_=t[39]:(_=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-muted-foreground text-sm`,children:r.content}),t[38]=r.content,t[39]=_);let v;t[40]===i?v=t[41]:(v=i({id:`5soCUZ`}),t[40]=i,t[41]=v);let y;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(U,{className:`size-3.5`,"aria-hidden":`true`}),t[42]=y):y=t[42];let b;t[43]!==m||t[44]!==v?(b=(0,$.jsx)(f,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6 shrink-0 text-muted-foreground`,onClick:m,"aria-label":v,"data-testid":`agent-thread-queued-edit`,children:y}),t[43]=m,t[44]=v,t[45]=b):b=t[45];let x;t[46]!==r.id||t[47]!==n?(x=()=>o.removeQueued(n,r.id),t[46]=r.id,t[47]=n,t[48]=x):x=t[48];let S;t[49]===i?S=t[50]:(S=i({id:`-WeuHF`}),t[49]=i,t[50]=S);let C;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(K,{className:`size-3.5`,"aria-hidden":`true`}),t[51]=C):C=t[51];let w;t[52]!==x||t[53]!==S?(w=(0,$.jsx)(f,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6 shrink-0 text-muted-foreground`,onClick:x,"aria-label":S,"data-testid":`agent-thread-queued-remove`,children:C}),t[52]=x,t[53]=S,t[54]=w):w=t[54];let T;return t[55]!==w||t[56]!==_||t[57]!==b?(T=(0,$.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-input/60 bg-muted/30 py-0.5 pl-2 pr-1`,"data-testid":`agent-thread-queued`,children:[_,b,w]}),t[55]=w,t[56]=_,t[57]=b,t[58]=T):T=t[58],T}export{Ze as ThreadView};