@p4code/cli 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin.mjs CHANGED
@@ -237,7 +237,7 @@ const make$89 = () => {
237
237
  const layer$80 = Layer.sync(NetService, make$89);
238
238
  //#endregion
239
239
  //#region package.json
240
- var version = "0.2.10";
240
+ var version = "0.2.11";
241
241
  //#endregion
242
242
  //#region src/config.ts
243
243
  /**
@@ -9332,7 +9332,7 @@ const ThreadSpawnResult = Schema$1.Struct({
9332
9332
  projectId: ProjectId,
9333
9333
  title: TrimmedNonEmptyString
9334
9334
  });
9335
- const ThreadPairCreateInput = Schema$1.Struct({ watcherThreadId: ThreadId.annotate({ description: "The watcher thread to pair with this session's own thread. It must have been created by this session through thread_spawn." }) });
9335
+ const ThreadPairCreateInput = Schema$1.Struct({ watcherThreadId: ThreadId.annotate({ description: "The supervisor thread to pair with this session's own builder thread. It must have been created by this session through thread_spawn." }) });
9336
9336
  const ThreadPairCreateResult = Schema$1.Struct({
9337
9337
  pairId: ThreadPairId,
9338
9338
  implementerThreadId: ThreadId,
@@ -23565,7 +23565,7 @@ const decideOrchestrationCommand = Effect.fn("decideOrchestrationCommand")(funct
23565
23565
  case "thread-pair.create": {
23566
23566
  if (command.implementerThreadId === command.watcherThreadId) return yield* new OrchestrationCommandInvariantError({
23567
23567
  commandType: command.type,
23568
- detail: "Fusion implementer and watcher must be distinct threads."
23568
+ detail: "Fusion builder and supervisor must be distinct threads."
23569
23569
  });
23570
23570
  const implementer = yield* requireThread({
23571
23571
  readModel,
@@ -23579,7 +23579,7 @@ const decideOrchestrationCommand = Effect.fn("decideOrchestrationCommand")(funct
23579
23579
  });
23580
23580
  if (implementer.projectId !== watcher.projectId) return yield* new OrchestrationCommandInvariantError({
23581
23581
  commandType: command.type,
23582
- detail: "Fusion implementer and watcher must belong to the same project."
23582
+ detail: "Fusion builder and supervisor must belong to the same project."
23583
23583
  });
23584
23584
  const activePairs = readModel.threadPairs ?? [];
23585
23585
  if (activePairs.some((pair) => pair.id === command.pairId)) return yield* new OrchestrationCommandInvariantError({
@@ -101348,7 +101348,7 @@ const ThreadSpawnTool = Tool.make("thread_spawn", {
101348
101348
  ]
101349
101349
  }).annotate(Tool.Title, "Start a thread").annotate(Tool.Readonly, false).annotate(Tool.Destructive, false).annotate(Tool.Idempotent, false);
101350
101350
  const ThreadPairCreateTool = Tool.make("thread_pair_create", {
101351
- description: "Create a persisted Fusion pair between this agent session's own thread as implementer and a watcher it previously created with thread_spawn. Returns the pair id used by clients to open the paired view. No browser authentication or direct database access is needed.",
101351
+ description: "Create a persisted Fusion pair between this agent session's own thread as builder and a supervisor it previously created with thread_spawn. Returns the pair id used by clients to open the paired view. No browser authentication or direct database access is needed.",
101352
101352
  parameters: ThreadPairCreateInput,
101353
101353
  success: ThreadPairCreateResult,
101354
101354
  failure: ThreadControlToolError,
@@ -104585,11 +104585,17 @@ const reviewCommandId = (pairId, sequence) => CommandId.make(`server:fusion:${pa
104585
104585
  const cursorCommandId = (pairId, sequence) => CommandId.make(`server:fusion:${pairId}:cursor:${sequence}`);
104586
104586
  const reviewMessageId = (pairId, sequence) => MessageId.make(`fusion-review:${pairId}:${sequence}`);
104587
104587
  const watcherPrompt = (input) => `${FUSION_REVIEW_PROMPT_PREFIX}
104588
- Review implementer thread ${input.implementerThreadId} after its accepted turn completion.
104588
+ Review builder thread ${input.implementerThreadId} after its accepted turn completion.
104589
104589
 
104590
104590
  Call thread_watch_events with threadId ${input.implementerThreadId} and afterSequence ${input.afterSequence}. Continue paging through sequence ${input.throughSequence}. Inspect repository state when useful.
104591
104591
 
104592
- Report only a concrete objection: correctness risk, missed requirement, regression, unsafe change, or unnecessary scope. Cite evidence. If no objection exists, return exactly ${FUSION_NO_OBJECTION_TEXT} and nothing else. This marker is hidden from the transcript.`;
104592
+ Give the user a concise status report after every review:
104593
+
104594
+ - Progress: summarize what the builder did and whether the requested work appears complete.
104595
+ - Verification: summarize checks run and their results, including missing verification.
104596
+ - Assessment: list concrete objections such as correctness risks, missed requirements, regressions, unsafe changes, or unnecessary scope. Cite evidence. If none exist, say "No objections found."
104597
+
104598
+ Mention blockers or unfinished work explicitly. Do not work silently. Do not return only ${FUSION_NO_OBJECTION_TEXT}.`;
104593
104599
  const make$1 = Effect.gen(function* () {
104594
104600
  const orchestrationEngine = yield* OrchestrationEngineService;
104595
104601
  const projectionSnapshotQuery = yield* ProjectionSnapshotQuery;
@@ -1,4 +1,4 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{n as t,r as n,t as r}from"./compiler-runtime-CLAvuQ-D.js";import{Ac as i,H as a,Mc as o,Q as s,Qt as c,Yc as ee,Z as l,Zi as u,aa as d,b as f,ct as p,da as te,dl as m,ea as ne,el as h,et as g,fa as _,gl as re,h as v,ia as y,jc as b,kc as ie,ma as x,nn as S,nr as ae,ol as oe,pa as C,pr as w,sr as se,ua as T,zl as E,zm as D,zt as O}from"./previewAssetResource-BSROvnGK.js";import{t as k}from"./arrow-right-BVNtWG8x.js";import{a as ce,i as A,n as j,o as le,r as ue,s as de,t as fe}from"./toggle-group-D1LwJnHy.js";import{Ar as pe,F as me,Fr as he,I as ge,J as _e,L as ve,Lr as ye,Nr as be,R as M,Y as xe,_ as Se,ai as Ce,ar as we,at as Te,cr as Ee,ct as De,dr as Oe,h as ke,ii as Ae,ir as je,it as Me,jr as Ne,kr as Pe,lr as Fe,lt as Ie,or as Le,ot as Re,pr as ze,rr as Be,rt as Ve,sr as He,st as Ue,ur as We,yr as Ge}from"./index-CMTkzFln.js";import{a as N,n as Ke}from"./fileCommentAnnotations-DvUUWTQU.js";var qe=o(`pilcrow`,[[`path`,{d:`M13 4v16`,key:`8vvj80`}],[`path`,{d:`M17 4v16`,key:`7dpous`}],[`path`,{d:`M19 4H9.5a4.5 4.5 0 0 0 0 9H13`,key:`sh4n9v`}]]),P=e(n(),1);function Je({threadRef:e,filePath:t,activeCwd:n,openInEditor:r,openFileSurface:i}){if(e){if(i){i(t);return}a.getState().openFile(e,t);return}r(n?v(t,n):t)}var F=r();function Ye(e,t){let n=(0,F.c)(4),r=ze(e,t),i;return n[0]!==r.data||n[1]!==r.error||n[2]!==r.isPending?(i={data:r.data,error:r.error,isPending:r.isPending},n[0]=r.data,n[1]=r.error,n[2]=r.isPending,n[3]=i):i=n[3],i}var I=t(),Xe=[];function Ze(e){return(e.endSide??e.side)===`deletions`?`deletions`:`additions`}function L(e,t,n){let r=Ze(t),i=e.findIndex(e=>e.side===r&&e.lineNumber===t.end);return i<0?[...e,{side:r,lineNumber:t.end,metadata:{entries:[n]}}]:e.map((e,t)=>t===i?{...e,metadata:{entries:[...e.metadata.entries,n]}}:e)}function Qe(e){let t=(0,F.c)(50),{files:n,sectionId:r,sectionTitle:i,composerDraftTarget:a,options:o,viewerRef:s,className:c,renderHeaderPrefix:ee}=e,l=ae(tt),u=ae(z),d;t[0]===a?d=t[1]:(d=e=>e.getComposerDraft(a)?.reviewComments??Xe,t[0]=a,t[1]=d);let f=ae(d),[p,te]=(0,P.useState)(null),[m,ne]=(0,P.useState)(null),h;t[2]===n?h=t[3]:(h=new Map(n.map(et)),t[2]=n,t[3]=h);let g=h,_;if(t[4]!==m||t[5]!==n||t[6]!==f||t[7]!==r){let e;t[9]!==m||t[10]!==f||t[11]!==r?(e=e=>{let{fileDiff:t,filePath:n,fileKey:i,collapsed:a}=e,o=f.filter(e=>e.sectionId===r&&e.filePath===n&&(e.fenceLanguage??`diff`)===`diff`).reduce((e,n)=>{let r=w(t,n);return r?L(e,r,{id:n.id,kind:`comment`,range:r,rangeLabel:n.rangeLabel,text:n.text}):e},[]),s=m?.fileKey===i?[...o,m.annotation]:o;return{id:i,type:`diff`,fileDiff:t,annotations:s,collapsed:a,version:Me(`${a?`1`:`0`}:${s.flatMap(R).join(`:`)}`)}},t[9]=m,t[10]=f,t[11]=r,t[12]=e):e=t[12],_=n.map(e),t[4]=m,t[5]=n,t[6]=f,t[7]=r,t[8]=_}else _=t[8];let re=_,v;t[13]!==a||t[14]!==m?.annotation||t[15]!==u?(v=e=>{te(null),m?.annotation.metadata.entries.some(t=>t.id===e)?ne(null):u(a,e)},t[13]=a,t[14]=m?.annotation,t[15]=u,t[16]=v):v=t[16];let y=v,b;t[17]!==l||t[18]!==a||t[19]!==m||t[20]!==g||t[21]!==r||t[22]!==i?(b=(e,t)=>{let n=m?.annotation.metadata.entries.find(t=>t.id===e),o=m?g.get(m.fileKey):void 0;if(!n||!o)return;let s=se({id:n.id,sectionId:r,sectionTitle:i,filePath:o.filePath,fileDiff:o.fileDiff,range:n.range,text:t});s&&l(a,s),te(null),ne(null)},t[17]=l,t[18]=a,t[19]=m,t[20]=g,t[21]=r,t[22]=i,t[23]=b):b=t[23];let ie=b,x;t[24]!==g||t[25]!==r||t[26]!==i?(x=(e,t)=>{if(!e)return;let n=t.item;if(n.type!==`diff`)return;let a=g.get(n.id);if(!a)return;let o=Ke(),s=se({id:o,sectionId:r,sectionTitle:i,filePath:a.filePath,fileDiff:a.fileDiff,range:e,text:``});s&&ne({fileKey:n.id,annotation:{side:Ze(e),lineNumber:e.end,metadata:{entries:[{id:o,kind:`draft`,range:e,rangeLabel:s.rangeLabel,text:``}]}}})},t[24]=g,t[25]=r,t[26]=i,t[27]=x):x=t[27];let S=x,oe=m!==null,C;t[28]===s?C=t[29]:(C=s?{ref:s}:{},t[28]=s,t[29]=C);let T;t[30]===c?T=t[31]:(T=c?{className:c}:{},t[30]=c,t[31]=T);let E=!oe,D=!oe,O;t[32]!==S||t[33]!==o||t[34]!==D||t[35]!==E?(O={...o,enableGutterUtility:E,enableLineSelection:D,onLineSelectionEnd:S},t[32]=S,t[33]=o,t[34]=D,t[35]=E,t[36]=O):O=t[36];let k;t[37]===ee?k=t[38]:(k=e=>e.type===`diff`?ee(e.fileDiff,e.id,e.collapsed===!0):null,t[37]=ee,t[38]=k);let A;t[39]!==y||t[40]!==ie?(A=e=>(0,I.jsx)(`div`,{className:`py-1`,children:e.metadata.entries.map(e=>(0,I.jsx)(N,{kind:e.kind,rangeLabel:e.rangeLabel,text:e.text,onCancel:()=>y(e.id),onComment:t=>ie(e.id,t),onDelete:()=>y(e.id)},e.id))}),t[39]=y,t[40]=ie,t[41]=A):A=t[41];let j;return t[42]!==re||t[43]!==p||t[44]!==O||t[45]!==k||t[46]!==A||t[47]!==C||t[48]!==T?(j=(0,I.jsx)(ce,{...C,...T,items:re,selectedLines:p,onSelectedLinesChange:te,options:O,renderHeaderPrefix:k,renderAnnotation:A}),t[42]=re,t[43]=p,t[44]=O,t[45]=k,t[46]=A,t[47]=C,t[48]=T,t[49]=j):j=t[49],j}function R(e){return e.metadata.entries.map($e)}function $e(e){return`${e.id}:${e.rangeLabel}:${e.text}`}function et(e){return[e.fileKey,e]}function z(e){return e.removeReviewComment}function tt(e){return e.addReviewComment}function nt(e){return{diffPreview:h(e,{label:`environment-data:review:diff-preview`,tag:E.reviewGetDiffPreview,staleTimeMs:5e3})}}var rt=nt(S);function B(e){return e.remoteName&&e.name.startsWith(`${e.remoteName}/`)?e.name.slice(e.remoteName.length+1):e.name}function it(e,t){let n=new Set(t),r=e.map(e=>{let r=t.filter(t=>n.has(t)&&B(t)===e.name),i=r.find(e=>e.remoteName===`origin`)??r[0]??null;return i&&n.delete(i),{id:`local:${e.name}`,label:e.name,local:e,remote:i}}),i=t.filter(e=>n.has(e)).map(e=>({id:`remote:${e.name}`,label:e.name,local:null,remote:e}));return[...r,...i]}function at(e,t){let n=t.trim().toLocaleLowerCase();return n.length===0?e:e.filter(e=>e.label.toLocaleLowerCase().includes(n)||e.local?.name.toLocaleLowerCase().includes(n)===!0||e.remote?.name.toLocaleLowerCase().includes(n)===!0)}var V=`__automatic_base_ref__`,ot=new Set,st=`
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{n as t,r as n,t as r}from"./compiler-runtime-CLAvuQ-D.js";import{Ac as i,H as a,Mc as o,Q as s,Qt as c,Yc as ee,Z as l,Zi as u,aa as d,b as f,ct as p,da as te,dl as m,ea as ne,el as h,et as g,fa as _,gl as re,h as v,ia as y,jc as b,kc as ie,ma as x,nn as S,nr as ae,ol as oe,pa as C,pr as w,sr as se,ua as T,zl as E,zm as D,zt as O}from"./previewAssetResource-DoobZMvx.js";import{t as k}from"./arrow-right-BDr00byn.js";import{a as ce,i as A,n as j,o as le,r as ue,s as de,t as fe}from"./toggle-group-YruS56ni.js";import{Ar as pe,F as me,Fr as he,I as ge,J as _e,L as ve,Lr as ye,Nr as be,R as M,Y as xe,_ as Se,ai as Ce,ar as we,at as Te,cr as Ee,ct as De,dr as Oe,h as ke,ii as Ae,ir as je,it as Me,jr as Ne,kr as Pe,lr as Fe,lt as Ie,or as Le,ot as Re,pr as ze,rr as Be,rt as Ve,sr as He,st as Ue,ur as We,yr as Ge}from"./index-D37C-To4.js";import{a as N,n as Ke}from"./fileCommentAnnotations-DzV_o0S3.js";var qe=o(`pilcrow`,[[`path`,{d:`M13 4v16`,key:`8vvj80`}],[`path`,{d:`M17 4v16`,key:`7dpous`}],[`path`,{d:`M19 4H9.5a4.5 4.5 0 0 0 0 9H13`,key:`sh4n9v`}]]),P=e(n(),1);function Je({threadRef:e,filePath:t,activeCwd:n,openInEditor:r,openFileSurface:i}){if(e){if(i){i(t);return}a.getState().openFile(e,t);return}r(n?v(t,n):t)}var F=r();function Ye(e,t){let n=(0,F.c)(4),r=ze(e,t),i;return n[0]!==r.data||n[1]!==r.error||n[2]!==r.isPending?(i={data:r.data,error:r.error,isPending:r.isPending},n[0]=r.data,n[1]=r.error,n[2]=r.isPending,n[3]=i):i=n[3],i}var I=t(),Xe=[];function Ze(e){return(e.endSide??e.side)===`deletions`?`deletions`:`additions`}function L(e,t,n){let r=Ze(t),i=e.findIndex(e=>e.side===r&&e.lineNumber===t.end);return i<0?[...e,{side:r,lineNumber:t.end,metadata:{entries:[n]}}]:e.map((e,t)=>t===i?{...e,metadata:{entries:[...e.metadata.entries,n]}}:e)}function Qe(e){let t=(0,F.c)(50),{files:n,sectionId:r,sectionTitle:i,composerDraftTarget:a,options:o,viewerRef:s,className:c,renderHeaderPrefix:ee}=e,l=ae(tt),u=ae(z),d;t[0]===a?d=t[1]:(d=e=>e.getComposerDraft(a)?.reviewComments??Xe,t[0]=a,t[1]=d);let f=ae(d),[p,te]=(0,P.useState)(null),[m,ne]=(0,P.useState)(null),h;t[2]===n?h=t[3]:(h=new Map(n.map(et)),t[2]=n,t[3]=h);let g=h,_;if(t[4]!==m||t[5]!==n||t[6]!==f||t[7]!==r){let e;t[9]!==m||t[10]!==f||t[11]!==r?(e=e=>{let{fileDiff:t,filePath:n,fileKey:i,collapsed:a}=e,o=f.filter(e=>e.sectionId===r&&e.filePath===n&&(e.fenceLanguage??`diff`)===`diff`).reduce((e,n)=>{let r=w(t,n);return r?L(e,r,{id:n.id,kind:`comment`,range:r,rangeLabel:n.rangeLabel,text:n.text}):e},[]),s=m?.fileKey===i?[...o,m.annotation]:o;return{id:i,type:`diff`,fileDiff:t,annotations:s,collapsed:a,version:Me(`${a?`1`:`0`}:${s.flatMap(R).join(`:`)}`)}},t[9]=m,t[10]=f,t[11]=r,t[12]=e):e=t[12],_=n.map(e),t[4]=m,t[5]=n,t[6]=f,t[7]=r,t[8]=_}else _=t[8];let re=_,v;t[13]!==a||t[14]!==m?.annotation||t[15]!==u?(v=e=>{te(null),m?.annotation.metadata.entries.some(t=>t.id===e)?ne(null):u(a,e)},t[13]=a,t[14]=m?.annotation,t[15]=u,t[16]=v):v=t[16];let y=v,b;t[17]!==l||t[18]!==a||t[19]!==m||t[20]!==g||t[21]!==r||t[22]!==i?(b=(e,t)=>{let n=m?.annotation.metadata.entries.find(t=>t.id===e),o=m?g.get(m.fileKey):void 0;if(!n||!o)return;let s=se({id:n.id,sectionId:r,sectionTitle:i,filePath:o.filePath,fileDiff:o.fileDiff,range:n.range,text:t});s&&l(a,s),te(null),ne(null)},t[17]=l,t[18]=a,t[19]=m,t[20]=g,t[21]=r,t[22]=i,t[23]=b):b=t[23];let ie=b,x;t[24]!==g||t[25]!==r||t[26]!==i?(x=(e,t)=>{if(!e)return;let n=t.item;if(n.type!==`diff`)return;let a=g.get(n.id);if(!a)return;let o=Ke(),s=se({id:o,sectionId:r,sectionTitle:i,filePath:a.filePath,fileDiff:a.fileDiff,range:e,text:``});s&&ne({fileKey:n.id,annotation:{side:Ze(e),lineNumber:e.end,metadata:{entries:[{id:o,kind:`draft`,range:e,rangeLabel:s.rangeLabel,text:``}]}}})},t[24]=g,t[25]=r,t[26]=i,t[27]=x):x=t[27];let S=x,oe=m!==null,C;t[28]===s?C=t[29]:(C=s?{ref:s}:{},t[28]=s,t[29]=C);let T;t[30]===c?T=t[31]:(T=c?{className:c}:{},t[30]=c,t[31]=T);let E=!oe,D=!oe,O;t[32]!==S||t[33]!==o||t[34]!==D||t[35]!==E?(O={...o,enableGutterUtility:E,enableLineSelection:D,onLineSelectionEnd:S},t[32]=S,t[33]=o,t[34]=D,t[35]=E,t[36]=O):O=t[36];let k;t[37]===ee?k=t[38]:(k=e=>e.type===`diff`?ee(e.fileDiff,e.id,e.collapsed===!0):null,t[37]=ee,t[38]=k);let A;t[39]!==y||t[40]!==ie?(A=e=>(0,I.jsx)(`div`,{className:`py-1`,children:e.metadata.entries.map(e=>(0,I.jsx)(N,{kind:e.kind,rangeLabel:e.rangeLabel,text:e.text,onCancel:()=>y(e.id),onComment:t=>ie(e.id,t),onDelete:()=>y(e.id)},e.id))}),t[39]=y,t[40]=ie,t[41]=A):A=t[41];let j;return t[42]!==re||t[43]!==p||t[44]!==O||t[45]!==k||t[46]!==A||t[47]!==C||t[48]!==T?(j=(0,I.jsx)(ce,{...C,...T,items:re,selectedLines:p,onSelectedLinesChange:te,options:O,renderHeaderPrefix:k,renderAnnotation:A}),t[42]=re,t[43]=p,t[44]=O,t[45]=k,t[46]=A,t[47]=C,t[48]=T,t[49]=j):j=t[49],j}function R(e){return e.metadata.entries.map($e)}function $e(e){return`${e.id}:${e.rangeLabel}:${e.text}`}function et(e){return[e.fileKey,e]}function z(e){return e.removeReviewComment}function tt(e){return e.addReviewComment}function nt(e){return{diffPreview:h(e,{label:`environment-data:review:diff-preview`,tag:E.reviewGetDiffPreview,staleTimeMs:5e3})}}var rt=nt(S);function B(e){return e.remoteName&&e.name.startsWith(`${e.remoteName}/`)?e.name.slice(e.remoteName.length+1):e.name}function it(e,t){let n=new Set(t),r=e.map(e=>{let r=t.filter(t=>n.has(t)&&B(t)===e.name),i=r.find(e=>e.remoteName===`origin`)??r[0]??null;return i&&n.delete(i),{id:`local:${e.name}`,label:e.name,local:e,remote:i}}),i=t.filter(e=>n.has(e)).map(e=>({id:`remote:${e.name}`,label:e.name,local:null,remote:e}));return[...r,...i]}function at(e,t){let n=t.trim().toLocaleLowerCase();return n.length===0?e:e.filter(e=>e.label.toLocaleLowerCase().includes(n)||e.local?.name.toLocaleLowerCase().includes(n)===!0||e.remote?.name.toLocaleLowerCase().includes(n)===!0)}var V=`__automatic_base_ref__`,ot=new Set,st=`
2
2
  [data-diffs-header],
3
3
  [data-diff],
4
4
  [data-file],
@@ -95,4 +95,4 @@ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{n as t,r as n,t as r}f
95
95
  text-decoration-color: currentColor;
96
96
  }
97
97
  `;function H({mode:e=`inline`,composerDraftTarget:t,initialGitScope:n}){let{resolvedTheme:r}=f(),a=be(),[o]=(0,P.useState)(n),[h,v]=(0,P.useState)(`stacked`),[S,ae]=(0,P.useState)(a.wordWrap),[w,se]=(0,P.useState)(a.diffIgnoreWhitespace),[E,ce]=(0,P.useState)(``),[Se,Me]=(0,P.useState)(()=>({scopeKey:null,fileKeys:ot})),ze=(0,P.useRef)(null),N=D({strict:!1,select:e=>O(e)}),Ke=N?.threadId??null,F=Ne(N),Xe=F?.projectId??null,Ze=pe(F&&Xe?{environmentId:F.environmentId,projectId:Xe}:null),L=F?.worktreePath??Ze?.workspaceRoot,R=ee(c.configValueAtom(F?.environmentId??null)),$e=Oe(F?.environmentId??null,R?.availableEditors??[]),et=p(F!=null&&L!=null?Pe.status({environmentId:F.environmentId,input:{cwd:L}}):null),z=M(e=>ve(e.byThreadKey,N,o===`unstaged`)),tt=et.data?.isRepo??!0,{turnDiffSummaries:nt,inferredCheckpointTurnCountByTurnId:B}=ge(F),H=(0,P.useMemo)(()=>[...nt].toSorted((e,t)=>{let n=e.checkpointTurnCount??B[e.turnId]??0,r=t.checkpointTurnCount??B[t.turnId]??0;return n===r?t.completedAt.localeCompare(e.completedAt):r-n}),[B,nt]);(0,P.useEffect)(()=>{!N||z.kind!==`turn`||M.getState().reconcileTurnSelection(N,H.map(e=>e.turnId))},[z,H,N]);let U=z.kind===`turn`?z.turnId:null,W=z.kind===`unstaged`?`unstaged`:`branch`,G=z.kind===`branch`?z.baseRef:null,ct=z.kind===`turn`?z.filePath:null,lt=z.kind===`turn`?z.revealRequestId:0,K=U===null?void 0:H.find(e=>e.turnId===U)??H[0],q=K&&(K.checkpointTurnCount??B[K.turnId]),ut=H[0],dt=U===null?W===`unstaged`?`Working tree`:`Branch changes`:K?.turnId===ut?.turnId?`Latest turn`:`Turn ${q??`?`}`,ft=K?`turn:${K.turnId}`:W,J=N?`${N.environmentId}:${N.threadId}:${ft}`:null,pt=Se.scopeKey===J?Se.fileKeys:ot,mt=K?`Turn ${q??`?`}`:W===`unstaged`?`Working tree`:`Branch changes`,ht=(0,P.useMemo)(()=>typeof q==`number`?{fromTurnCount:Math.max(0,q-1),toTurnCount:q}:null,[q]),gt=Ye({environmentId:F?.environmentId??null,threadId:Ke,fromTurnCount:ht?.fromTurnCount??null,toTurnCount:ht?.toTurnCount??null,ignoreWhitespace:w,cacheScope:K?`turn:${K.turnId}`:null},{enabled:tt&&K!==void 0}),_t=p(U===null&&F&&L?rt.diffPreview({environmentId:F.environmentId,input:{cwd:L,...G?{baseRef:G}:{},ignoreWhitespace:w}}):null),vt=U===null&&_t.error?.includes(`configured workspace root`)===!0&&R?.cwd!==void 0&&R.cwd!==L,yt=p(vt&&F&&R?rt.diffPreview({environmentId:F.environmentId,input:{cwd:R.cwd,...G?{baseRef:G}:{},ignoreWhitespace:w}}):null),Y=vt?yt:_t,X=Y.data?.sources.find(e=>e.kind===(W===`unstaged`?`working-tree`:`branch-range`)),bt=p(U===null&&W===`branch`&&F&&Y.data?.cwd?Pe.listRefs({environmentId:F.environmentId,input:{cwd:Y.data.cwd,includeMatchingRemoteRefs:!0,refKind:`local`,...E.trim().length>0?{query:E.trim()}:{},limit:100}}):null),xt=p(U===null&&W===`branch`&&F&&Y.data?.cwd?Pe.listRefs({environmentId:F.environmentId,input:{cwd:Y.data.cwd,includeMatchingRemoteRefs:!0,refKind:`remote`,...E.trim().length>0?{query:E.trim()}:{},limit:100}}):null),St=it(bt.data?.refs.filter(e=>e.name!==X?.headRef)??[],xt.data?.refs??[]),Ct=at(St,E),wt=e=>G&&G===e.remote?.name?G:e.local?.name??e.remote?.name??e.id,Tt=[V,...St.map(wt)],Et=[...E.trim().length===0?[V]:[],...Ct.map(wt)],Dt=X?.diff,Z=K?gt.data?.diff:Dt,Ot=!K&&X?.truncated===!0,kt=K?gt.isPending:Y.isPending,At=K?gt.error:Y.error,jt=typeof Z==`string`&&Z.trim().length===0,Q=(0,P.useMemo)(()=>Ue(Z,`diff-panel:${r}`,{compactPartialHunkOffsets:U===null}),[r,Z,U]),Mt=(0,P.useMemo)(()=>!Q||Q.kind!==`files`?[]:Q.files.toSorted((e,t)=>Ie(e).localeCompare(Ie(t),void 0,{numeric:!0,sensitivity:`base`})),[Q]),$=(0,P.useMemo)(()=>Mt.map(e=>{let t=Ve(e);return{fileDiff:e,filePath:Ie(e),fileKey:t,collapsed:pt.has(t)}}),[pt,Mt]),Nt=(0,P.useMemo)(()=>$.map(e=>e.fileKey),[$]),Pt=ue(Nt,pt),Ft=(0,P.useMemo)(()=>Re(Mt),[Mt]);(0,P.useEffect)(()=>{if(!ct)return;let e=$.find(e=>e.filePath===ct);e&&ze.current?.scrollTo({type:`item`,id:e.fileKey,align:`start`})},[$,ct,lt]);let It=me({threadRef:N,workspaceRoot:L??null}),Lt=(0,P.useCallback)(e=>{Je({threadRef:N,filePath:e,activeCwd:L,openFileSurface:It,openInEditor:e=>{(async()=>{let t=await $e(e);t._tag===`Failure`&&!oe(t)&&console.warn(`Failed to open diff file in editor.`,{operation:`open-diff-file`,...N?{environmentId:N.environmentId,threadId:N.threadId}:{},...re(m(t))})})()}})},[L,It,$e,N]),Rt=(0,P.useCallback)(e=>{Me(t=>{let n=new Set(t.scopeKey===J?t.fileKeys:[]);return n.has(e)?n.delete(e):n.add(e),{scopeKey:J,fileKeys:n}})},[J]),zt=(0,P.useCallback)(()=>{Me(e=>{let t=e.scopeKey===J?e.fileKeys:ot;return{scopeKey:J,fileKeys:A(Nt,t)}})},[J,Nt]),Bt=e=>{N&&M.getState().selectTurn(N,e)},Vt=e=>{N&&M.getState().selectGitScope(N,e)},Ht=e=>{N&&M.getState().selectBranchBaseRef(N,e)};return(0,I.jsx)(xe,{mode:e,header:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3 [-webkit-app-region:no-drag]`,children:[(0,I.jsxs)(ne,{children:[(0,I.jsxs)(C,{className:`inline-flex h-6 max-w-full items-center gap-1 rounded-md bg-muted/70 px-2 text-xs font-medium text-foreground outline-none transition-colors hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":`Diff scope: ${dt}`,children:[(0,I.jsx)(`span`,{className:`truncate`,children:dt}),(0,I.jsx)(i,{className:`size-3.5 shrink-0 text-muted-foreground`})]}),(0,I.jsxs)(d,{align:`start`,className:`w-60`,children:[(0,I.jsx)(y,{className:U===null&&W===`unstaged`?`bg-foreground/[0.08]`:void 0,onClick:()=>Vt(`unstaged`),children:(0,I.jsx)(`span`,{children:`Working tree`})}),(0,I.jsx)(y,{className:U===null&&W===`branch`?`bg-foreground/[0.08]`:void 0,onClick:()=>Vt(`branch`),children:(0,I.jsx)(`span`,{children:`Branch changes`})}),(0,I.jsx)(y,{className:U!==null&&K?.turnId===ut?.turnId?`bg-foreground/[0.08]`:void 0,onClick:()=>{ut&&Bt(ut.turnId)},children:(0,I.jsx)(`span`,{children:`Latest turn`})}),(0,I.jsxs)(T,{children:[(0,I.jsx)(_,{children:`Turn`}),(0,I.jsx)(te,{className:`w-64`,children:H.map(e=>{let t=e.checkpointTurnCount??B[e.turnId]??`?`;return(0,I.jsxs)(y,{className:e.turnId===K?.turnId?`bg-foreground/[0.08]`:void 0,onClick:()=>Bt(e.turnId),children:[(0,I.jsxs)(`span`,{children:[`Turn `,t]}),(0,I.jsx)(`span`,{className:`ml-auto text-xs tabular-nums text-muted-foreground`,children:Ge(e.completedAt,a.timestampFormat)})]},e.turnId)})})]})]})]}),U===null&&W===`branch`&&X?.baseRef&&(0,I.jsxs)(`div`,{className:`flex min-w-0 max-w-full items-center gap-2 overflow-hidden text-xs text-muted-foreground`,title:`${X.headRef??`HEAD`} → ${X.baseRef}`,"aria-label":`Comparing ${X.headRef??`HEAD`} against ${X.baseRef}`,children:[(0,I.jsx)(`span`,{className:`min-w-0 max-w-48 truncate`,children:X.headRef??`HEAD`}),(0,I.jsx)(k,{className:`size-3.5 shrink-0 opacity-70`}),(0,I.jsxs)(je,{items:Tt,filteredItems:Et,value:G??V,onOpenChange:e=>{e||ce(``)},onValueChange:e=>{e&&Ht(e===V?null:e)},children:[(0,I.jsxs)(We,{className:`inline-flex min-w-0 max-w-48 items-center gap-1 overflow-hidden rounded-md px-1.5 py-1 outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":`Change comparison target. Currently ${X.baseRef}`,children:[(0,I.jsx)(`span`,{className:`min-w-0 truncate`,children:X.baseRef}),(0,I.jsx)(i,{className:`size-3.5 shrink-0 opacity-70`})]}),(0,I.jsxs)(Fe,{align:`start`,className:`w-72 min-w-0 max-w-[calc(100vw-1rem)] overflow-hidden [&>[data-slot=combobox-popup]]:min-w-0 [&>[data-slot=combobox-popup]]:overflow-hidden`,children:[(0,I.jsx)(`div`,{className:`min-w-0 shrink-0 px-3 pt-2.5`,children:(0,I.jsxs)(`div`,{className:`relative -translate-y-px border-b border-border/70 pb-1.5 transition-colors focus-within:border-ring`,children:[(0,I.jsx)(ye,{"aria-hidden":`true`,className:`pointer-events-none absolute top-1.5 left-0 size-4 shrink-0 text-muted-foreground/55`}),(0,I.jsx)(Le,{className:`[&_input]:h-6.5 [&_input]:ps-5 [&_input]:font-sans [&_input]:leading-6.5`,inputClassName:`rounded-none bg-transparent text-sm`,placeholder:`Search refs...`,showTrigger:!1,size:`sm`,unstyled:!0,value:E,onChange:e=>ce(e.target.value)})]})}),(0,I.jsxs)(`div`,{className:`grid shrink-0 grid-cols-[1rem_minmax(0,1fr)] items-center gap-2 border-b border-border/70 ps-3 pe-6.5 pt-2 pb-1.5 font-medium text-[10px] text-muted-foreground uppercase tracking-wide`,children:[(0,I.jsx)(`span`,{"aria-hidden":`true`}),(0,I.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(0,1fr)_2rem] items-center`,children:[(0,I.jsx)(`span`,{children:`Branch`}),(0,I.jsx)(`span`,{className:`text-right`,children:`Remote`})]})]}),(0,I.jsx)(we,{children:`No matching refs.`}),(0,I.jsxs)(Ee,{className:`max-h-64 min-w-0 overflow-x-hidden`,children:[(0,I.jsx)(He,{className:`h-8 w-full min-w-0 grid-cols-[1rem_minmax(0,1fr)] py-0`,contentClassName:`w-full min-w-0 overflow-hidden`,value:V,children:(0,I.jsx)(`span`,{className:`block min-w-0 truncate`,children:`Automatic`})}),St.map(e=>{let t=wt(e),n=e.local!==null&&e.remote!==null,r=e.remote?.name===t;return(0,I.jsx)(He,{className:`h-8 w-full min-w-0 grid-cols-[1rem_minmax(0,1fr)] py-0`,contentClassName:`w-full min-w-0 overflow-hidden`,value:t,children:(0,I.jsxs)(`div`,{className:`grid w-full min-w-0 grid-cols-[minmax(0,1fr)_2rem] items-center overflow-hidden`,children:[(0,I.jsx)(`span`,{className:`block min-w-0 truncate pe-2`,children:e.label}),n?(0,I.jsx)(`div`,{className:`flex justify-end`,onClick:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:(0,I.jsx)(Be,{"aria-label":`Use remote version of ${e.label}`,checked:r,className:`[--thumb-size:--spacing(3)]`,onCheckedChange:t=>{let n=t?e.remote?.name:e.local?.name;n&&Ht(n)}})}):e.remote?(0,I.jsx)(`span`,{className:`flex justify-end text-muted-foreground`,title:`Remote only`,children:(0,I.jsx)(b,{"aria-hidden":`true`,className:`size-3`})}):null]})},e.id)})]})]})]})]})]}),(0,I.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[$.length>0&&(0,I.jsx)(ke,{additions:Ft.additions,deletions:Ft.deletions,className:`mr-1 text-[11px]`,layout:`inline`}),$.length>0&&(0,I.jsxs)(l,{children:[(0,I.jsx)(g,{render:(0,I.jsx)(u,{type:`button`,size:`icon-xs`,variant:`outline`,"aria-label":Pt?`Expand all files`:`Collapse all files`,onClick:zt}),children:Pt?(0,I.jsx)(Ae,{className:`size-3`}):(0,I.jsx)(Ce,{className:`size-3`})}),(0,I.jsx)(s,{side:`top`,children:Pt?`Expand all files`:`Collapse all files`})]}),(0,I.jsxs)(j,{className:`shrink-0`,variant:`outline`,size:`xs`,value:[h],onValueChange:e=>{let t=e[0];(t===`stacked`||t===`split`)&&v(t)},children:[(0,I.jsx)(fe,{"aria-label":`Stacked diff view`,value:`stacked`,children:(0,I.jsx)(le,{className:`size-3`})}),(0,I.jsx)(fe,{"aria-label":`Split diff view`,value:`split`,children:(0,I.jsx)(de,{className:`size-3`})})]}),(0,I.jsxs)(l,{children:[(0,I.jsx)(g,{render:(0,I.jsx)(fe,{"aria-label":S?`Disable diff line wrapping`:`Enable diff line wrapping`,variant:`outline`,size:`xs`,pressed:S,onPressedChange:e=>{ae(!!e)}}),children:(0,I.jsx)(he,{className:`size-3`})}),(0,I.jsx)(s,{side:`top`,children:S?`Disable line wrapping`:`Enable line wrapping`})]}),(0,I.jsxs)(l,{children:[(0,I.jsx)(g,{render:(0,I.jsx)(fe,{"aria-label":w?`Show whitespace changes`:`Hide whitespace changes`,variant:`outline`,size:`xs`,pressed:w,onPressedChange:e=>{se(!!e)}}),children:(0,I.jsx)(qe,{className:`size-3`})}),(0,I.jsx)(s,{side:`top`,children:w?`Show whitespace changes`:`Hide whitespace changes`})]})]})]}),children:F?tt?U!==null&&H.length===0?(0,I.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No completed turns yet.`}):(0,I.jsx)(I.Fragment,{children:(0,I.jsxs)(`div`,{className:`diff-panel-viewport flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[Ot&&(0,I.jsx)(`p`,{className:`shrink-0 border-b border-border/70 bg-muted/40 px-3 py-1.5 text-[11px] text-muted-foreground`,children:`This diff was truncated because it exceeded the preview limit. The changes shown are incomplete.`}),At&&!Q&&(0,I.jsx)(`div`,{className:`px-3`,children:(0,I.jsx)(`p`,{className:`mb-2 text-[11px] text-red-500/80`,children:At})}),Q?Q.kind===`files`?(0,I.jsx)(`div`,{className:`min-h-0 flex-1`,onClickCapture:e=>{let t=(e.nativeEvent.composedPath?.()??[]).find(e=>e instanceof HTMLElement&&e.hasAttribute(`data-title`))?.textContent?.trim();t&&Lt(t)},children:(0,I.jsx)(Qe,{viewerRef:ze,className:`diff-render-surface h-full min-h-0 overflow-auto`,files:$,sectionId:ft,sectionTitle:mt,composerDraftTarget:t,renderHeaderPrefix:(e,t,n)=>{let r=Ie(e);return(0,I.jsxs)(l,{children:[(0,I.jsx)(g,{render:(0,I.jsx)(`button`,{type:`button`,className:x(`inline-flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-sm border-0 bg-transparent p-0 transition-colors hover:bg-foreground/10 focus-visible:outline-hidden`,Te(e)),"aria-label":n?`Expand ${r}`:`Collapse ${r}`,"aria-expanded":!n,onClick:e=>{e.stopPropagation(),Rt(t)}}),children:n?(0,I.jsx)(ie,{className:`size-4`}):(0,I.jsx)(i,{className:`size-4`})}),(0,I.jsx)(s,{side:`top`,children:n?`Expand diff`:`Collapse diff`})]})},options:{diffStyle:h===`split`?`split`:`unified`,lineDiffType:`none`,overflow:S?`wrap`:`scroll`,theme:De(r),themeType:r,unsafeCSS:st,stickyHeaders:!0,itemMetrics:{diffHeaderHeight:33},layout:{paddingTop:0,paddingBottom:8,gap:8}}},J??ft)}):(0,I.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto p-2`,children:(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:Q.reason}),(0,I.jsx)(`pre`,{className:x(`max-h-[72vh] rounded-md border border-border/70 bg-background/70 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,S?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:Q.text})]})}):kt?(0,I.jsx)(_e,{label:K?`Loading checkpoint diff...`:W===`unstaged`?`Loading working tree diff...`:`Loading branch diff...`}):(0,I.jsx)(`div`,{className:`flex h-full items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,I.jsx)(`p`,{children:jt?`No net changes in this selection.`:`No patch available for this selection.`})})]})}):(0,I.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Turn diffs are unavailable because this project is not a git repository.`}):(0,I.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to inspect turn diffs.`})})}export{Se as DiffWorkerPoolProvider,H as default};
98
- //# sourceMappingURL=DiffPanel-L2u-0Rsl.js.map
98
+ //# sourceMappingURL=DiffPanel-cPwXdsgr.js.map
@@ -1,4 +1,4 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{n as t,r as n,t as r}from"./compiler-runtime-CLAvuQ-D.js";import{D as i,J as a,Mc as o,Q as s,Rc as c,U as l,X as u,Z as d,Zd as f,Zi as p,b as m,cr as h,dl as g,et as _,ft as v,h as y,kc as b,ma as x,n as S,nr as C,o as w,ol as T,ot as E,q as D,rt as O,tt as ee,ut as k,wc as A,zc as j}from"./previewAssetResource-BSROvnGK.js";import{n as M,r as N,t as P}from"./renderFileChildren-CSzZbpGC.js";import{$ as te,$r as ne,Bn as re,Br as ie,Cn as ae,D as oe,Dr as se,E as ce,Fn as le,Gn as ue,Gt as F,Hn as de,Ht as fe,Jt as I,Kn as L,Kr as pe,Kt as me,Lr as he,Mn as ge,Mr as _e,Nr as ve,Or as ye,Qr as be,T as xe,Un as Se,Ut as R,Vn as Ce,Wn as we,Yr as Te,Z as Ee,_r as De,_t as Oe,an as ke,b as Ae,bn as je,br as Me,ct as Ne,d as Pe,et as Fe,f as Ie,fn as Le,fr as Re,gr as ze,gt as Be,hr as Ve,l as He,m as Ue,mr as We,ni as Ge,on as Ke,p as qe,qn as Je,ti as Ye,tt as Xe,u as Ze,v as Qe,w as $e,wn as et,x as tt,y as nt}from"./index-CMTkzFln.js";import{a as rt,i as it,n as at,r as z,t as B}from"./fileCommentAnnotations-DvUUWTQU.js";var ot=o(`file-question-mark`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}]]),st=o(`folder-tree`,[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`hod4my`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`w4yl2u`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`,key:`f2jnh7`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`,key:`k8epm1`}]]),ct=`file-tree-container`,lt=`data-file-tree-style`,ut=`data-file-tree-unsafe-css`,dt=`data-file-tree-scrollbar-measure`,ft=`data-file-tree-scrollbar-gutter-measured`,pt=`--trees-scrollbar-gutter-measured`,mt=`header`,ht=`context-menu`,gt=`context-menu-trigger`,_t=5,vt=1<<_t,yt=vt*4;function bt(){return{childIdByNameId:new Map,childIds:[],childPositionById:new Map,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function xt(){return{childIdByNameId:null,childIds:[],childPositionById:null,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function St(e,t){if(t.childIdByNameId!=null)return t.childIdByNameId;let n=new Map;for(let r of t.childIds){let t=e[r];t!=null&&n.set(t.nameId,r)}return t.childIdByNameId=n,n}function Ct(e){if(e.childPositionById!=null)return e.childPositionById;let t=new Map;for(let n=0;n<e.childIds.length;n++){let r=e.childIds[n];r!=null&&t.set(r,n)}return e.childPositionById=t,t}function wt(e,t){e.childPositionById!=null&&e.childPositionById.set(t,e.childIds.length),e.childIds.push(t)}function Tt(e,t){if(e.childPositionById!=null)for(let n=t;n<e.childIds.length;n++){let t=e.childIds[n];t!=null&&e.childPositionById.set(t,n)}}function Et(e,t){let n=0,r=0;for(let i of t.childIds){let t=e[i];t!=null&&(n+=t.subtreeNodeCount,r+=t.visibleSubtreeCount)}t.totalChildSubtreeNodeCount=n,t.totalChildVisibleSubtreeCount=r,At(e,t)}function Dt(e,t,n,r){if(e.totalChildSubtreeNodeCount+=n,e.totalChildVisibleSubtreeCount+=r,e.childVisibleChunkSums==null||r===0)return;let i=Ct(e).get(t);if(i===void 0)return;let a=i>>_t;e.childVisibleChunkSums[a]+=r}function Ot(e,t,n){let r=t.childVisibleChunkSums;if(r!=null){let i=n,a=0;for(let o of r){if(i<o){let r=jt(e,t,a,i);return{...r,childVisibleIndex:n-r.localVisibleIndex}}i-=o,a+=vt}throw Error(`Visible child index ${String(n)} is out of range`)}let i=n;for(let r=0;r<t.childIds.length;r++){let a=t.childIds[r];if(a==null)continue;let o=e[a];if(o!=null){if(i<o.visibleSubtreeCount)return{childIndex:r,childVisibleIndex:n-i,localVisibleIndex:i};i-=o.visibleSubtreeCount}}throw Error(`Visible child index ${String(n)} is out of range`)}function kt(e,t,n){let r=0,i=t.childVisibleChunkSums,a=0;if(i!=null){let e=n>>_t;for(let t=0;t<e;t+=1)r+=i[t]??0;a=e<<_t}for(let i=a;i<n;i+=1){let n=t.childIds[i];if(n==null)continue;let a=e[n];a!=null&&(r+=a.visibleSubtreeCount)}return r}function At(e,t){if(t.childIds.length<yt){t.childVisibleChunkSums=null;return}let n=Math.ceil(t.childIds.length/vt),r=new Int32Array(n);for(let n=0;n<t.childIds.length;n++){let i=t.childIds[n];if(i==null)continue;let a=e[i];a!=null&&(r[n>>_t]+=a.visibleSubtreeCount)}t.childVisibleChunkSums=r}function jt(e,t,n,r){let i=Math.min(t.childIds.length,n+vt),a=r;for(let r=n;r<i;r++){let n=t.childIds[r];if(n==null)continue;let i=e[n];if(i!=null){if(a<i.visibleSubtreeCount)return{childIndex:r,localVisibleIndex:a};a-=i.visibleSubtreeCount}}throw Error(`Visible child index ${String(r)} is out of range`)}var Mt=7,Nt=3,Pt=1<<Nt,Ft=4;function It(e,t,n=0){return e<<Ft|n<<Nt|t}function Lt(e){return e.depthAndFlags>>>Ft}function Rt(e){return(e.depthAndFlags&Pt)>>Nt}function V(e){return(e.depthAndFlags&Pt)!==0}function zt(e){return e.depthAndFlags&Mt}function Bt(e,t){return(zt(e)&t)!==0}function Vt(e,t){e.depthAndFlags|=t}function Ht(e,t){e.depthAndFlags=It(t,zt(e),Rt(e))}var Ut=Symbol(`benchmarkInstrumentation`);function Wt(e,t){return t==null||Object.defineProperty(e,Ut,{configurable:!0,enumerable:!1,value:t,writable:!1}),e}function Gt(e){return e==null?null:e[Ut]??null}function H(e,t,n){return e==null?n():e.measurePhase(t,n)}function Kt(e,t,n){!Number.isFinite(n)||e==null||e.setCounter(t,n)}function qt(e){return e>=48&&e<=57}function Jt(e){let t=[],n=0,r=0;for(;r<e.length;){for(;r<e.length&&!qt(e.charCodeAt(r));)r+=1;if(r>=e.length)break;r>n&&t.push(e.slice(n,r));let i=0;for(;r<e.length&&qt(e.charCodeAt(r));)i=i*10+(e.charCodeAt(r)-48),r+=1;t.push(i),n=r}return(n<e.length||t.length===0)&&t.push(e.slice(n)),t}function Yt(e){let t=e.toLowerCase();return{lowerValue:t,tokens:Jt(t)}}function Xt(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=e[r],i=t[r];if(n===i)continue;if(typeof n==`number`&&typeof i==`number`)return n<i?-1:1;let a=String(n),o=String(i);if(a!==o)return a<o?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function Zt(e,t){if(e.tokens.length===1&&t.tokens.length===1&&typeof e.tokens[0]==`string`&&typeof t.tokens[0]==`string`)return e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1;let n=Xt(e.tokens,t.tokens);return n===0?e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1:n}function Qt(e,t,n){let r=Zt(n(e),n(t));return r===0?e===t?0:e<t?-1:1:r}function $t(e,t){return Qt(e,t,Yt)}function en(e,t){return t===e.segments.length-1?+!!e.isDirectory:1}function tn(e,t){let n=Math.min(e.segments.length,t.segments.length);for(let r=0;r<n;r++){let n=e.segments[r],i=t.segments[r];if(n===i)continue;let a=en(e,r);return a===en(t,r)?$t(n,i):a===1?-1:1}return e.segments.length===t.segments.length?e.isDirectory===t.isDirectory?0:e.isDirectory?-1:1:e.segments.length<t.segments.length?-1:1}function nn(e,t){return tn(e,t)}function rn(e,t,n){let r=e=>{let t=n.get(e);if(t!=null)return t;let r=Yt(e);return n.set(e,r),r},i=Math.min(e.segments.length,t.segments.length);for(let n=0;n<i;n++){let i=e.segments[n],a=t.segments[n];if(i===a)continue;let o=en(e,n);return o===en(t,n)?Qt(i,a,r):o===1?-1:1}return e.segments.length===t.segments.length?e.isDirectory===t.isDirectory?0:e.isDirectory?-1:1:e.segments.length<t.segments.length?-1:1}function an(e,t){let n=e.sortKeyById[t];if(n!==void 0)return n;let r=e.valueById[t],i=Yt(r);return e.sortKeyById[t]=i,i}function on(e={}){return{flattenEmptyDirectories:e.flattenEmptyDirectories!==!1,sort:e.sort??`default`}}function sn(e){let t=e.length>0&&e.charCodeAt(e.length-1)===47,n=t?e.length-1:e.length,r=[],i=0;for(let t=0;t<n;t++)e.charCodeAt(t)===47&&(r.push(e.slice(i,t)),i=t+1);return r.push(e.slice(i,n)),{hasTrailingSlash:t,segments:r}}function cn(e){let{hasTrailingSlash:t,segments:n}=sn(e);return{basename:n[n.length-1]??``,isDirectory:t,path:e,segments:n}}function ln(e){if(e.length===0)return{requiresDirectory:!1,segments:[]};let{hasTrailingSlash:t,segments:n}=sn(e);return{requiresDirectory:t,segments:n}}var un=``;function dn(){let e=new Map;return e.set(un,0),{idByValue:e,valueById:[un],sortKeyById:[Yt(un)]}}function fn(e,t){let n=e.idByValue.get(t);if(n!==void 0)return n;let r=e.valueById.length;return e.idByValue.set(t,r),e.valueById.push(t),r}function pn(e,t){let n=e.valueById[t];if(n===void 0)throw Error(`Unknown segment ID: ${String(t)}`);return n}var mn=Symbol(`pathStorePreparedInputKind`);function hn(e,t){return e[mn]=t,e}function gn(e){return{basename:e.basename,depth:e.segments.length,isDirectory:e.isDirectory,path:e.path,segments:e.segments}}function _n(e,t,n){return n==="default"?nn(e,t):n(gn(e),gn(t))}function vn(){return{depthAndFlags:It(0,3,1),nameId:0,parentId:0,subtreeNodeCount:1,visibleSubtreeCount:1}}function yn(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++)if(e[r]!==t[r])return r;return n}function bn(e){return e.isDirectory?e.segments.length:e.segments.length-1}function xn(e){return Array.isArray(e)&&e.every(e=>typeof e==`object`&&!!e&&typeof e.path==`string`&&Array.isArray(e.segments)&&typeof e.basename==`string`&&typeof e.isDirectory==`boolean`)}function Sn(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Cn(e,t={}){return kn(e,t).map(e=>e.path)}function wn(e,t={}){let n=kn(e,t);return hn({paths:n.map(e=>e.path),preparedPaths:n},`prepared`)}function Tn(e){let t=e.length,n=!1;for(let r=0;r<t;r+=1){let t=e[r];if(t.length>0&&t.charCodeAt(t.length-1)===47){n=!0;break}}return hn({paths:e,presortedPaths:e,presortedPathsContainDirectories:n},`presorted`)}function En(e){let t=e,n=t.preparedPaths;if(t[mn]===`prepared`&&n!=null)return n;if(!xn(n))throw Error(`preparedInput must come from PathStore.prepareInput()`);return n}function Dn(e){let t=e;return t[mn]===`presorted`&&t.presortedPaths!=null||Sn(t.presortedPaths)?t.presortedPaths:null}function On(e){let t=e;return typeof t.presortedPathsContainDirectories==`boolean`?t.presortedPathsContainDirectories:null}function kn(e,t={}){let n=on(t),r=Gt(t);Kt(r,`workload.inputFiles`,e.length);let i=H(r,`store.preparePathEntries.parse`,()=>e.map(e=>cn(e)));return H(r,`store.preparePathEntries.sort`,()=>i.sort((e,t)=>_n(e,t,n.sort))),i}var An=class{directories=new Map;directoryStack=[0];presortedDirectoryNodeIds=[];initialExpandedPathSet;createdDirectoriesAllExpanded=!1;createdDirectoryCount=0;lastPreparedPath=null;nodes=[vn()];options;instrumentation;segmentSortKeyCache=new Map;segmentTable=dn();hasDeferredDirectoryIndexes=!1;constructor(e={}){this.instrumentation=Gt(e),this.options=on(e);let t=e.initialExpandedPaths??null;if(t==null||t.length===0)this.initialExpandedPathSet=null;else{let e=new Set,n=t.length;for(let r=0;r<n;r+=1){let n=t[r],i=n.length;e.add(i>0&&n.charCodeAt(i-1)===47?n.slice(0,i-1):n)}this.initialExpandedPathSet=e,this.createdDirectoriesAllExpanded=!0}this.directories.set(0,bt())}appendPaths(e){return H(this.instrumentation,`store.builder.appendPaths.parse`,()=>this.appendPreparedPaths(e.map(e=>cn(e))))}appendPreparedPaths(e,t=!0){return this.createdDirectoriesAllExpanded=!1,H(this.instrumentation,`store.builder.appendPreparedPaths`,()=>{for(let n of e)this.appendPreparedPath(n,t)}),this}appendPresortedPaths(e,t=null){return H(this.instrumentation,`store.builder.appendPresortedPaths`,()=>{if(t===!1){this.appendPresortedFilePaths(e);return}this.createdDirectoriesAllExpanded=!1;let n=null,r=0,i=this.nodes,a=this.segmentTable,o=a.idByValue,s=a.valueById,c=this.directoryStack,l=0,u=``,d=0;for(let t of e){if(n===t)throw Error(`Duplicate path: "${t}"`);let e=t.length>0&&t.charCodeAt(t.length-1)===47,a=e?t.length-1:t.length,f=0,p=0;if(n!=null)if(u.length>0&&t.length>u.length&&t.startsWith(u))f=d,p=u.length;else{let r=Math.min(a,n.length),i=!0;for(let e=0;e<r;e++){let r=t.charCodeAt(e);if(r!==n.charCodeAt(e)){i=!1;break}r===47&&(f++,p=e+1)}i&&e&&r===a&&n.length>a&&n.charCodeAt(a)===47&&(f++,p=a+1)}l=f,r=f;let m=p,h=t.indexOf(`/`,m);for(;h>=0&&h<a;){let e=c[l];if(e===void 0)throw Error(`Directory stack underflow while building the path store`);r++;let n=t.slice(m,h),a=o.get(n);a===void 0&&(a=s.length,o.set(n,a),s.push(n));let u=i.length;i.push({depthAndFlags:It(r,0,1),nameId:a,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),this.recordCreatedDirectoryPath(t.slice(0,h)),l++,c[l]=u,m=h+1,h=t.indexOf(`/`,m)}if(e){if(m<a){let e=c[l];if(e===void 0)throw Error(`Unable to resolve directory parent for "${t}"`);r++;let n=t.slice(m,a),u=o.get(n);u===void 0&&(u=s.length,o.set(n,u),s.push(n));let d=i.length;i.push({depthAndFlags:It(r,0,1),nameId:u,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),l++,c[l]=d}let e=c[l];if(e===void 0)throw Error(`Unable to resolve directory node for "${t}"`);this.promoteDirectoryToExplicit(e,t)}else{let e=c[l];if(e===void 0)throw Error(`Unable to resolve file parent for "${t}"`);let n=t.slice(m),a=o.get(n);a===void 0&&(a=s.length,o.set(n,a),s.push(n)),i.push({depthAndFlags:It(r+1,0),nameId:a,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1})}m!==u.length&&(u=t.substring(0,m),d=r),n=t}c.length=l+1,n!=null&&(this.lastPreparedPath=cn(n)),this.hasDeferredDirectoryIndexes=!0}),this}appendPresortedFilePaths(e){let t=null,n=0,r=this.nodes,i=this.segmentTable,a=i.idByValue,o=i.valueById,s=this.directoryStack,c=0,l=``,u=0;for(let i of e){if(t===i)throw Error(`Duplicate path: "${i}"`);let e=i.length,d=0,f=0;if(t!=null)if(l.length>0&&i.length>l.length&&i.startsWith(l))d=u,f=l.length;else{let n=Math.min(e,t.length);for(let e=0;e<n;e++){let n=i.charCodeAt(e);if(n!==t.charCodeAt(e))break;n===47&&(d++,f=e+1)}}c=d,n=d;let p=f,m=i.indexOf(`/`,p);for(;m>=0;){let e=s[c];if(e===void 0)throw Error(`Directory stack underflow while building the path store`);n++;let t=i.slice(p,m),l=a.get(t);l===void 0&&(l=o.length,a.set(t,l),o.push(t));let u=r.length;r.push({depthAndFlags:It(n,0,1),nameId:l,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),this.recordCreatedDirectoryPath(i.slice(0,m)),this.presortedDirectoryNodeIds.push(u),c++,s[c]=u,p=m+1,m=i.indexOf(`/`,p)}let h=s[c];if(h===void 0)throw Error(`Unable to resolve file parent for "${i}"`);let g=i.slice(p),_=a.get(g);_===void 0&&(_=o.length,a.set(g,_),o.push(g)),r.push({depthAndFlags:It(n+1,0),nameId:_,parentId:h,subtreeNodeCount:1,visibleSubtreeCount:1}),p!==l.length&&(l=i.substring(0,p),u=n),t=i}s.length=c+1,t!=null&&(this.lastPreparedPath=cn(t)),this.hasDeferredDirectoryIndexes=!0}finish(e={}){let t=e.skipSubtreeCountPass===!0;return this.hasDeferredDirectoryIndexes?(H(this.instrumentation,`store.builder.buildDirectoryIndexes`,()=>this.buildPresortedFinish(t)),this.hasDeferredDirectoryIndexes=!1):t||H(this.instrumentation,`store.builder.computeSubtreeCounts`,()=>this.computeSubtreeCounts(0)),{directories:this.directories,nodes:this.nodes,options:this.options,rootId:0,segmentTable:this.segmentTable,presortedDirectoryNodeIds:this.presortedDirectoryNodeIds.length>0?this.presortedDirectoryNodeIds:null}}didMatchAllInitialExpandedPaths(){return this.createdDirectoriesAllExpanded&&this.initialExpandedPathSet!=null&&this.createdDirectoryCount===this.initialExpandedPathSet.size}appendPreparedPath(e,t){if(this.hasDeferredDirectoryIndexes&&=(this.buildDirectoryIndexes(),!1),this.lastPreparedPath!=null){if(e.path===this.lastPreparedPath.path)throw Error(`Duplicate path: "${e.path}"`);if(t&&(this.options.sort==="default"?rn(this.lastPreparedPath,e,this.segmentSortKeyCache):_n(this.lastPreparedPath,e,this.options.sort))>0)throw Error(`Builder input must be sorted before appendPaths(): "${e.path}"`)}let n=this.lastPreparedPath,r=bn(e),i=n==null?0:bn(n),a=n==null?0:yn(n.segments,e.segments),o=Math.min(a,r,i);this.directoryStack.length=o+1;for(let n=o;n<r;n++){let r=this.directoryStack[this.directoryStack.length-1];if(r===void 0)throw Error(`Directory stack underflow while building the path store`);let i=t?this.getOrCreateDirectoryChild(r,e.segments[n]):this.createDirectoryChild(r,e.segments[n]);this.directoryStack.push(i)}if(e.isDirectory){let t=this.directoryStack[this.directoryStack.length-1];if(t===void 0)throw Error(`Unable to resolve directory node for "${e.path}"`);this.promoteDirectoryToExplicit(t,e.path),this.lastPreparedPath=e;return}let s=this.directoryStack[this.directoryStack.length-1];if(s===void 0)throw Error(`Unable to resolve file parent for "${e.path}"`);t?this.createFileChild(s,e.basename,e.path):this.createFileChildUnchecked(s,e.basename),this.lastPreparedPath=e}recordCreatedDirectoryPath(e){!this.createdDirectoriesAllExpanded||this.initialExpandedPathSet==null||(this.createdDirectoryCount+=1,this.initialExpandedPathSet.has(e)||(this.createdDirectoriesAllExpanded=!1))}createFileChild(e,t,n){let r=fn(this.segmentTable,t),i=this.getDirectoryIndex(e),a=i.childIdByNameId;if(a!=null&&a.get(r)!==void 0)throw Error(`Path collides with an existing entry: "${n}"`);let o=this.nodes[e];if(o===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let s=this.nodes.length;return this.nodes.push({depthAndFlags:It(Lt(o)+1,0),nameId:r,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),a?.set(r,s),wt(i,s),s}createFileChildUnchecked(e,t){let n=fn(this.segmentTable,t),r=this.getDirectoryIndex(e),i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:It(Lt(i)+1,0),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),wt(r,a),a}getOrCreateDirectoryChild(e,t){let n=fn(this.segmentTable,t),r=this.getDirectoryIndex(e);if(r.childIdByNameId!=null){let e=r.childIdByNameId.get(n);if(e!==void 0){let n=this.nodes[e];if(n!=null&&!V(n))throw Error(`Path collides with an existing file while creating directory "${t}"`);return e}}let i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:It(Lt(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),wt(r,a),this.directories.set(a,bt()),a}createDirectoryChild(e,t){let n=fn(this.segmentTable,t),r=this.getDirectoryIndex(e),i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:It(Lt(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),wt(r,a),this.directories.set(a,bt()),a}promoteDirectoryToExplicit(e,t){let n=this.nodes[e];if(n===void 0)throw Error(`Unknown directory node ID: ${String(e)}`);if(!V(n))throw Error(`Path is not a directory: "${t}"`);if(Bt(n,1))throw Error(`Duplicate path: "${t}"`);Vt(n,1)}getDirectoryIndex(e){let t=this.directories.get(e);if(t!==void 0)return t;throw Error(`Unknown directory child index for node ${String(e)}`)}buildPresortedFinish(e){let t=this.nodes,n=this.directories;n.set(0,xt());let r=-1,i=null;for(let e=1;e<t.length;e++){let a=t[e];if(a==null)continue;if(V(a)){let t=xt();n.set(e,t),r=e,i=t}let o;a.parentId===r?o=i:(o=n.get(a.parentId),r=a.parentId,i=o??null),o?.childIds.push(e)}if(!e)for(let e=t.length-1;e>=1;e--){let n=t[e];if(n==null)continue;let r=t[n.parentId];r!=null&&(r.subtreeNodeCount+=n.subtreeNodeCount,r.visibleSubtreeCount+=n.visibleSubtreeCount)}}buildDirectoryIndexes(){let e=this.nodes;for(let t=1;t<e.length;t++){let n=e[t];if(n==null)continue;V(n)&&this.directories.set(t,bt());let r=this.directories.get(n.parentId);r!=null&&(r.childIdByNameId!=null&&r.childIdByNameId.set(n.nameId,t),wt(r,t))}}computeSubtreeCounts(e){let t=this.nodes[e];if(t===void 0)throw Error(`Unknown node ID: ${String(e)}`);if(!V(t))return t.subtreeNodeCount=1,t.visibleSubtreeCount=1,1;let n=this.getDirectoryIndex(e),r=1;for(let e of n.childIds)r+=this.computeSubtreeCounts(e);return Et(this.nodes,n),t.subtreeNodeCount=r,t.visibleSubtreeCount=r,r}};function jn(e,t=`closed`,n=null){let r=Nn(t);return{activeNodeCount:e.nodes.length-1,collapsedDirectoryIds:new Set,collapseNewDirectoriesByDefault:!1,defaultExpansion:r,directoriesOpenByDefault:r===`open`,hasCollapsedDirectoryOverrides:!1,directoryLoadInfoById:new Map,expandedDirectoryIds:new Set,instrumentation:n,listeners:new Map,pathCacheByNodeId:new Map([[e.rootId,{path:``,version:0}]]),pathCacheVersion:0,snapshot:e,transactionStack:[]}}function Mn(){return{affectedAncestorIds:new Set,affectedNodeIds:new Set,events:[]}}function Nn(e){if(typeof e!=`number`)return e;if(!Number.isInteger(e)||e<0)throw Error(`initialExpansion must be "open", "closed", or a non-negative integer depth. Received: ${String(e)}`);return e}function Pn(e,t){return Bt(t,2)||e.defaultExpansion===`open`?!0:e.defaultExpansion===`closed`?!1:Lt(t)<=e.defaultExpansion}function Fn(e,t,n=e.snapshot.nodes[t]){return n==null||!V(n)?!1:e.directoriesOpenByDefault&&!e.hasCollapsedDirectoryOverrides?!0:e.collapsedDirectoryIds.has(t)?!1:e.expandedDirectoryIds.has(t)?!0:Pn(e,n)}function In(e,t,n,r=e.snapshot.nodes[t]){if(r==null||!V(r))return;let i=Pn(e,r);if(n){if(i){e.collapsedDirectoryIds.delete(t),e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0;return}e.expandedDirectoryIds.add(t);return}if(i){e.collapsedDirectoryIds.add(t),e.hasCollapsedDirectoryOverrides=!0;return}e.expandedDirectoryIds.delete(t)}function Ln(e,t){let n=e.directoryLoadInfoById.get(t);if(n!=null)return n;let r={activeAttemptId:null,errorMessage:null,nextAttemptId:1,state:`loaded`};return e.directoryLoadInfoById.set(t,r),r}function Rn(e,t){return e.directoryLoadInfoById.get(t)?.state??`loaded`}function zn(e,t){let n=Ln(e,t);if(n.state===`loading`&&n.activeAttemptId!=null)return{attemptId:n.activeAttemptId,nodeId:t,reused:!0};let r=n.nextAttemptId;return n.activeAttemptId=r,n.errorMessage=null,n.nextAttemptId+=1,n.state=`loading`,{attemptId:r,nodeId:t,reused:!1}}function Bn(e,t){let n=Ln(e,t);n.activeAttemptId=null,n.errorMessage=null,n.state=`unloaded`}function Vn(e,t,n){let r=e.directoryLoadInfoById.get(t);return r==null||r.activeAttemptId!==n?!1:(r.activeAttemptId=null,r.errorMessage=null,r.state=`loaded`,!0)}function Hn(e,t,n){return e.directoryLoadInfoById.get(t)?.activeAttemptId===n}function Un(e,t,n,r){let i=e.directoryLoadInfoById.get(t);return i==null||i.activeAttemptId!==n?!1:(i.activeAttemptId=null,i.errorMessage=r??null,i.state=`error`,!0)}function Wn(e,t){e.directoryLoadInfoById.delete(t)}function Gn(e,t,n){let r=n,i=e.listeners.get(t);return i==null?e.listeners.set(t,new Set([r])):i.add(r),()=>{let n=e.listeners.get(t);n!=null&&(n.delete(r),n.size===0&&e.listeners.delete(t))}}function Kn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`add`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function qn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`remove`,path:e.path,projectionChanged:e.projectionChanged,recursive:e.recursive,visibleCountDelta:null}}function Jn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,from:e.from,operation:`move`,projectionChanged:e.projectionChanged,to:e.to,visibleCountDelta:null}}function Yn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`expand`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Xn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`collapse`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Zn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`mark-directory-unloaded`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function Qn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,operation:`begin-child-load`,path:e.path,projectionChanged:e.projectionChanged,reused:e.reused,visibleCountDelta:null}}function $n(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:e.childEvents.some(e=>e.canonicalChanged),childEvents:e.childEvents,operation:`apply-child-patch`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function er(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,operation:`complete-child-load`,path:e.path,projectionChanged:e.projectionChanged,stale:e.stale,visibleCountDelta:null}}function tr(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,errorMessage:e.errorMessage,operation:`fail-child-load`,path:e.path,projectionChanged:e.projectionChanged,stale:e.stale,visibleCountDelta:null}}function nr(e){return{activeNodeCountAfter:e.activeNodeCountAfter,activeNodeCountBefore:e.activeNodeCountBefore,affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],cachedPathEntryCountAfter:e.cachedPathEntryCountAfter,cachedPathEntryCountBefore:e.cachedPathEntryCountBefore,canonicalChanged:!1,idsPreserved:e.idsPreserved,loadInfoEntryCountAfter:e.loadInfoEntryCountAfter,loadInfoEntryCountBefore:e.loadInfoEntryCountBefore,mode:e.mode,operation:`cleanup`,projectionChanged:e.projectionChanged,reclaimedCachedPathEntryCount:e.reclaimedCachedPathEntryCount,reclaimedLoadInfoEntryCount:e.reclaimedLoadInfoEntryCount,reclaimedNodeSlotCount:e.reclaimedNodeSlotCount,reclaimedSegmentCount:e.reclaimedSegmentCount,segmentCountAfter:e.segmentCountAfter,segmentCountBefore:e.segmentCountBefore,totalNodeSlotCountAfter:e.totalNodeSlotCountAfter,totalNodeSlotCountBefore:e.totalNodeSlotCountBefore,visibleCountDelta:null}}function rr(e,t,n){return{...n,visibleCountDelta:mr(e)-t}}function ir(e,t){let n=mr(e),r=Mn();e.transactionStack.push(r);try{t()}catch(t){throw sr(e,r,!1),t}sr(e,r,!0,mr(e)-n)}function ar(e,t){let n=e.instrumentation;if(n==null){or(e,t);return}H(n,`store.events.record`,()=>or(e,t))}function or(e,t){let n=e.transactionStack[e.transactionStack.length-1]??null;if(n==null){fr(e,t);return}n.events.push(t),dr(n,t)}function sr(e,t,n,r=null){if(e.transactionStack.pop()!==t)throw Error(`Transaction stack underflow`);if(!n)return;let i=e.transactionStack[e.transactionStack.length-1]??null;if(i!=null){let n=e.instrumentation;n==null?ur(i,t):H(n,`store.events.batch.merge`,()=>ur(i,t));return}let a=cr(t,r),o=e.instrumentation;if(o==null){fr(e,a);return}H(o,`store.events.batch.commit`,()=>fr(e,a))}function cr(e,t){return{affectedAncestorIds:[...e.affectedAncestorIds],affectedNodeIds:[...e.affectedNodeIds],canonicalChanged:e.events.some(e=>e.canonicalChanged),events:[...e.events],operation:`batch`,projectionChanged:e.events.some(e=>e.projectionChanged),visibleCountDelta:t}}function lr(e,t){for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n);for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n)}function ur(e,t){for(let n of t.events)e.events.push(n);lr(e,t)}function dr(e,t){for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n);for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n)}function fr(e,t){let n=e.instrumentation;if(n==null){pr(e,t);return}H(n,`store.events.emit`,()=>pr(e,t))}function pr(e,t){e.listeners.get(t.operation)?.forEach(e=>e(t)),e.listeners.get(`*`)?.forEach(e=>e(t))}function mr(e){return e.snapshot.nodes[e.snapshot.rootId]?.visibleSubtreeCount??0}function hr(e,t){if(e.snapshot.options.flattenEmptyDirectories!==!0)return null;let n=e.snapshot.nodes[t];if(n==null||!V(n)||Bt(n,2))return null;let r=e.snapshot.directories.get(t);if(r==null||r.childIds.length!==1)return null;let i=r.childIds[0];if(i==null)return null;let a=e.snapshot.nodes[i];return a==null||!V(a)?null:i}function gr(e,t){let n=t;for(;;){let t=hr(e,n);if(t==null)return n;n=t}}function _r(e,t){let n=[t],r=t;for(;;){let t=hr(e,r);if(t==null)return n;n.push(t),r=t}}function vr(e,t){let n=t==null?e.snapshot.rootId:Dr(e,t);return n==null?[]:kr(e,n)}function yr(e,t){let n=cn(t),r=n.isDirectory?n.segments:n.segments.slice(0,-1),i=Wr(e,Ur(e,r)),{createdNodeIds:a,directoryId:o}=Ar(e,r),s=new Set(a),c=o;if(n.isDirectory){let n=G(e,o);if(Bt(n,1))throw Error(`Path already exists: "${t}"`);Vt(n,1),e.pathCacheByNodeId.set(o,{path:t,version:e.pathCacheVersion}),s.add(o)}else c=Mr(e,o,n.basename),s.add(c);wr(e,o);let l=Wr(e,o);return Kn({affectedAncestorIds:Er(e,c),affectedNodeIds:[...s],path:t,projectionChanged:Gr(i,l)})}function br(e,t,n){let r=Dr(e,t);if(r==null)throw Error(`Path does not exist: "${t}"`);let i=G(e,r);if(Bt(i,2))throw Error(`The root node cannot be removed`);if(V(i)&&W(e,r).childIds.length>0&&n.recursive!==!0)throw Error(`Cannot remove a non-empty directory without recursive: "${t}"`);let a=i.parentId,o=Wr(e,a),s=Vr(e,r);Fr(e,a,r,i.nameId),Hr(e,a),wr(e,a);let c=Wr(e,a);return qn({affectedAncestorIds:Er(e,a),affectedNodeIds:s,path:t,projectionChanged:Gr(o,c),recursive:n.recursive===!0})}function xr(e,t,n,r){let i=Dr(e,t);if(i==null)throw Error(`Source path does not exist: "${t}"`);let a=G(e,i);if(Bt(a,2))throw Error(`The root node cannot be moved`);let o=r.collision??`error`,s=zr(e,i,n),c=Wr(e,a.parentId),l=Wr(e,s.parentId),u=pn(e.snapshot.segmentTable,a.nameId),d=fn(e.snapshot.segmentTable,s.basename);if(s.parentId===a.parentId&&u===s.basename)return null;if(V(a)&&Yr(e,i,s.parentId))throw Error(`Cannot move a directory into one of its descendants`);let f=St(e.snapshot.nodes,W(e,s.parentId)).get(d),p=s.existingNodeId??f??null;if(p!=null&&p!==i&&Br(e,p,o,Rt(a))===`skip`)return null;let m=a.parentId;Fr(e,m,i,a.nameId),a.parentId=s.parentId,a.nameId=d,e.pathCacheByNodeId.delete(i),Jr(e,i),Pr(e,s.parentId,i),Hr(e,m),e.pathCacheVersion++,wr(e,m),s.parentId!==m&&wr(e,s.parentId);let h=Wr(e,m),g=Wr(e,s.parentId);return Jn({affectedAncestorIds:[...new Set([...Er(e,m),...Er(e,s.parentId)])],affectedNodeIds:[i],from:t,projectionChanged:Kr([c,l],[h,g]),to:U(e,i)})}function Sr(e,t){let n=e.pathCacheByNodeId.get(t);return n!=null&&n.version===e.pathCacheVersion?n.path:null}function Cr(e,t,n){return e.pathCacheByNodeId.set(t,{path:n,version:e.pathCacheVersion}),n}function U(e,t){let n=G(e,t),r=Sr(e,t);if(r!=null)return r;if(Bt(n,2))return Cr(e,t,``);let i=U(e,n.parentId),a=pn(e.snapshot.segmentTable,n.nameId),o=i.length===0?a:`${i}${a}`;return Cr(e,t,V(n)?`${o}/`:o)}function wr(e,t){let n=e.instrumentation;if(n==null){Zr(e,t);return}H(n,`store.recomputeCountsUpwardFrom`,()=>Zr(e,t))}function Tr(e,t){let n=[[t,0]],{nodes:r,directories:i}=e.snapshot;for(;n.length>0;){let t=n[n.length-1],a=t[0],o=r[a];if(o==null||!V(o)){Xr(e,a,o,!0),n.pop();continue}let s=i.get(a);if(s==null||t[1]>=s.childIds.length){Xr(e,a,o,!0),n.pop();continue}let c=s.childIds[t[1]++];n.push([c,0])}}function Er(e,t){let n=[],r=t;for(;r!=null;){let t=G(e,r);if(n.push(r),r===e.snapshot.rootId)break;r=t.parentId}return n}function Dr(e,t){if(t.length===0)return e.snapshot.rootId;let n=ln(t);return Or(e,n.segments,n.requiresDirectory)}function Or(e,t,n){let r=e.snapshot.rootId;for(let n of t){let t=e.snapshot.segmentTable.idByValue.get(n);if(t===void 0)return null;let i=W(e,r),a=St(e.snapshot.nodes,i).get(t);if(a===void 0)return null;r=a}let i=G(e,r);return n&&!V(i)?null:r}function W(e,t){let n=e.snapshot.directories.get(t);if(n===void 0)throw Error(`Unknown directory child index for node ${String(t)}`);return n}function G(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Bt(n,4))throw Error(`Unknown node ID: ${String(t)}`);return n}function kr(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Bt(n,4))return[];if(!V(n))return[U(e,t)];if(W(e,t).childIds.length===0)return Bt(n,1)&&!Bt(n,2)?[U(e,t)]:[];let r=[],i=[{childIndex:0,nodeId:t}];for(;i.length>0;){let t=i[i.length-1];if(t==null)break;let n=e.snapshot.nodes[t.nodeId];if(n===void 0||Bt(n,4)){i.pop();continue}if(!V(n)){r.push(U(e,t.nodeId)),i.pop();continue}let a=W(e,t.nodeId);if(a.childIds.length===0){Bt(n,1)&&!Bt(n,2)&&r.push(U(e,t.nodeId)),i.pop();continue}let o=a.childIds[t.childIndex];if(o==null){i.pop();continue}t.childIndex++,i.push({childIndex:0,nodeId:o})}return r}function Ar(e,t){let n=[],r=e.snapshot.rootId;for(let i of t){let t=fn(e.snapshot.segmentTable,i),a=W(e,r),o=St(e.snapshot.nodes,a).get(t);if(o!==void 0){if(!V(G(e,o)))throw Error(`Cannot create a directory that collides with an existing file: "${i}"`);r=o;continue}r=jr(e,r,t),n.push(r)}return{createdNodeIds:n,directoryId:r}}function jr(e,t,n){let r=G(e,t),i=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:It(Lt(r)+1,0,1),nameId:n,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),e.snapshot.directories.set(i,bt()),Pr(e,t,i),e.collapseNewDirectoriesByDefault&&(e.collapsedDirectoryIds.add(i),e.hasCollapsedDirectoryOverrides=!0),e.activeNodeCount++,i}function Mr(e,t,n){let r=fn(e.snapshot.segmentTable,n),i=W(e,t);if(St(e.snapshot.nodes,i).has(r))throw Error(`Path already exists: "${$r(e,t,n)}"`);let a=G(e,t),o=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:It(Lt(a)+1,0),nameId:r,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),Pr(e,t,o),e.activeNodeCount++,o}function Nr(e,t,n){let r=0,i=t.childIds.length;for(;r<i;){let a=r+i>>>1,o=t.childIds[a];if(o==null){i=a;continue}Ir(e,n,o)<0?i=a:r=a+1}return r}function Pr(e,t,n){let r=W(e,t),i=G(e,n);St(e.snapshot.nodes,r).set(i.nameId,n),Dt(r,n,i.subtreeNodeCount,i.visibleSubtreeCount);let a=Nr(e,r,n);r.childIds.splice(a,0,n),Tt(r,a),At(e.snapshot.nodes,r)}function Fr(e,t,n,r){let i=W(e,t),a=Ct(i),o=a.get(n)??-1;St(e.snapshot.nodes,i).delete(r),a.delete(n);let s=e.snapshot.nodes[n];s!=null&&Dt(i,n,-s.subtreeNodeCount,-s.visibleSubtreeCount),o>=0&&(i.childIds.splice(o,1),Tt(i,o),At(e.snapshot.nodes,i))}function Ir(e,t,n){let r=e.snapshot.options.sort;return r==="default"?Lr(e,t,n):r(Rr(e,t),Rr(e,n))}function Lr(e,t,n){let r=G(e,t),i=G(e,n),a=V(r);if(a!==V(i))return a?-1:1;let o=Zt(an(e.snapshot.segmentTable,r.nameId),an(e.snapshot.segmentTable,i.nameId));if(o!==0)return o;let s=pn(e.snapshot.segmentTable,r.nameId),c=pn(e.snapshot.segmentTable,i.nameId);return s===c?t<n?-1:1:s<c?-1:1}function Rr(e,t){let n=G(e,t),r=U(e,t),i=V(n),a=i?r.slice(0,-1):r;return{basename:pn(e.snapshot.segmentTable,n.nameId),depth:Lt(n),isDirectory:i,path:r,segments:a.length===0?[]:a.split(`/`)}}function zr(e,t,n){let r=G(e,t),i=Dr(e,n);if(i!=null){let t=G(e,i);if(V(t))return{basename:pn(e.snapshot.segmentTable,r.nameId),existingNodeId:null,parentId:i};let a=ln(n).segments;return{basename:a[a.length-1]??``,existingNodeId:i,parentId:t.parentId}}let a=ln(n),o=a.segments[a.segments.length-1]??``,s=a.segments.slice(0,-1),c=s.length===0?e.snapshot.rootId:Or(e,s,!0);if(c==null)throw Error(`Destination parent does not exist: "${n}"`);return{basename:o,existingNodeId:null,parentId:c}}function Br(e,t,n,r){if(n===`skip`)return`skip`;if(n===`error`)throw Error(`Destination already exists: "${U(e,t)}"`);let i=G(e,t);if(Rt(i)!==r)throw Error(`replace collision requires the same source and destination kinds`);if(V(i)&&W(e,t).childIds.length>0)throw Error(`replace collision does not support non-empty directories`);let a=i.parentId,o=i.nameId;return Vr(e,t),Fr(e,a,t,o),Hr(e,a),wr(e,a),`handled`}function Vr(e,t){let n=[],r=[{nodeId:t,visitedChildren:!1}];for(;r.length>0;){let t=r.pop();if(t==null)break;let i=G(e,t.nodeId);if(t.visitedChildren||!V(i)){V(i)&&e.snapshot.directories.delete(t.nodeId),Vt(i,4),e.pathCacheByNodeId.delete(t.nodeId),e.collapsedDirectoryIds.delete(t.nodeId)&&(e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0),e.expandedDirectoryIds.delete(t.nodeId),Wn(e,t.nodeId),e.activeNodeCount--,n.push(t.nodeId);continue}r.push({nodeId:t.nodeId,visitedChildren:!0});let a=W(e,t.nodeId);for(let e=a.childIds.length-1;e>=0;e--){let t=a.childIds[e];t!=null&&r.push({nodeId:t,visitedChildren:!1})}}return n}function Hr(e,t){let n=t;for(;n!=null;){let t=G(e,n);if(!V(t)||Bt(t,2)||W(e,n).childIds.length>0)return;Vt(t,1),n=t.parentId===n?null:t.parentId}}function Ur(e,t){let n=e.snapshot.rootId;for(let r of t){let t=e.snapshot.segmentTable.idByValue.get(r);if(t==null)break;let i=St(e.snapshot.nodes,W(e,n)).get(t);if(i==null||!V(G(e,i)))break;n=i}return n}function Wr(e,t){let n=qr(e,t);if(n==null)return null;let r=gr(e,n),i=G(e,r),a=n===r?null:_r(e,n).map(t=>U(e,t));return JSON.stringify({flattenedSegmentPaths:a,hasChildren:W(e,r).childIds.length>0,path:U(e,r),terminalKind:Rt(i)})}function Gr(e,t){return Kr([e],[t])}function Kr(e,t){for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r==null||i==null||r!==i)return!0}return!1}function qr(e,t){let n=t;for(;n!=null;){let t=G(e,n);if(!V(t)||Bt(t,2))return null;if(!Fn(e,n,t))return n;n=t.parentId}return null}function Jr(e,t){let n=G(e,t);if(Ht(n,(t===e.snapshot.rootId?-1:Lt(G(e,n.parentId)))+1),!V(n))return;let r=W(e,t);for(let t of r.childIds)Jr(e,t)}function Yr(e,t,n){let r=n;for(;r!=null;){if(r===t)return!0;let n=G(e,r);if(r===e.snapshot.rootId)return!1;r=n.parentId}return!1}function Xr(e,t,n=G(e,t),r=!1){let i=e.instrumentation;if(i==null){Qr(e,t,n,r);return}H(i,`store.recomputeNodeCounts`,()=>Qr(e,t,n,r))}function Zr(e,t){let n=t;for(;n!=null;){let t=G(e,n),r=t.subtreeNodeCount,i=t.visibleSubtreeCount;if(Xr(e,n,t),n===e.snapshot.rootId)return;let a=t.subtreeNodeCount-r,o=t.visibleSubtreeCount-i,s=t.parentId;(a!==0||o!==0)&&Dt(W(e,s),n,a,o),n=s}}function Qr(e,t,n,r){if(!V(n)){n.subtreeNodeCount=1,n.visibleSubtreeCount=1;return}let i=W(e,t);if(r){let t=e.instrumentation;t==null?Et(e.snapshot.nodes,i):H(t,`store.recomputeNodeCounts.rebuildChildAggregates`,()=>Et(e.snapshot.nodes,i))}let a=1+i.totalChildSubtreeNodeCount,o=i.totalChildVisibleSubtreeCount;if(n.subtreeNodeCount=a,Bt(n,2)){n.visibleSubtreeCount=o;return}n.visibleSubtreeCount=hr(e,t)==null?Fn(e,t,n)?1+o:1:o}function $r(e,t,n){let r=U(e,t);return r.length===0?n:`${r}${n}`}function ei(e){return e!=null&&!Bt(e,4)}function ti(e,t){let n=e.snapshot.nodes[t];return!ei(n)||!V(n)||Bt(n,2)?null:n}function ni(e){let t=0;for(let[n,r]of e.pathCacheByNodeId)r.version===e.pathCacheVersion&&ei(e.snapshot.nodes[n])&&(t+=1);return t}function ri(e){return Math.max(0,e.valueById.length-1)}function ii(e){return{activeNodeCount:e.activeNodeCount,cachedPathEntryCount:ni(e),loadInfoEntryCount:e.directoryLoadInfoById.size,segmentCount:ri(e.snapshot.segmentTable),totalNodeSlotCount:Math.max(0,e.snapshot.nodes.length-1)}}function ai(e,t,n,r){return{activeNodeCountAfter:r.activeNodeCount,activeNodeCountBefore:n.activeNodeCount,cachedPathEntryCountAfter:r.cachedPathEntryCount,cachedPathEntryCountBefore:n.cachedPathEntryCount,idsPreserved:t,loadInfoEntryCountAfter:r.loadInfoEntryCount,loadInfoEntryCountBefore:n.loadInfoEntryCount,mode:e,reclaimedCachedPathEntryCount:n.cachedPathEntryCount-r.cachedPathEntryCount,reclaimedLoadInfoEntryCount:n.loadInfoEntryCount-r.loadInfoEntryCount,reclaimedNodeSlotCount:n.totalNodeSlotCount-r.totalNodeSlotCount,reclaimedSegmentCount:n.segmentCount-r.segmentCount,segmentCountAfter:r.segmentCount,segmentCountBefore:n.segmentCount,totalNodeSlotCountAfter:r.totalNodeSlotCount,totalNodeSlotCountBefore:n.totalNodeSlotCount}}function oi(e){let t=[],n=[];for(let n of e.collapsedDirectoryIds)ti(e,n)!=null&&t.push(U(e,n));for(let t of e.expandedDirectoryIds)ti(e,t)!=null&&n.push(U(e,t));return{collapsedPaths:t,expandedPaths:n}}function si(e){let t=[];for(let[n,r]of e.directoryLoadInfoById)ti(e,n)==null||Rn(e,n)===`loaded`||t.push({info:{activeAttemptId:null,errorMessage:r.errorMessage,nextAttemptId:r.nextAttemptId,state:r.state},path:U(e,n)});return t}function ci(e,t){e.collapsedDirectoryIds.clear(),e.hasCollapsedDirectoryOverrides=!1,e.expandedDirectoryIds.clear();for(let n of t.expandedPaths){let t=Dr(e,n);t!=null&&In(e,t,!0,G(e,t))}for(let n of t.collapsedPaths){let t=Dr(e,n);t!=null&&In(e,t,!1,G(e,t))}}function li(e,t){e.directoryLoadInfoById.clear();for(let n of t){let t=Dr(e,n.path);t!=null&&ti(e,t)!=null&&e.directoryLoadInfoById.set(t,{activeAttemptId:null,errorMessage:n.info.errorMessage,nextAttemptId:n.info.nextAttemptId,state:n.info.state})}}function ui(e){e.pathCacheVersion+=1,e.pathCacheByNodeId.clear(),e.pathCacheByNodeId.set(e.snapshot.rootId,{path:``,version:e.pathCacheVersion})}function di(e){let t=e.snapshot.segmentTable,n=dn();for(let r of e.snapshot.nodes)if(ei(r)){if(Bt(r,2)){r.nameId=0;continue}r.nameId=fn(n,pn(t,r.nameId))}e.snapshot.segmentTable=n}function fi(e){for(let[t,n]of e.snapshot.directories){let r=e.snapshot.nodes[t];if(!ei(r)||!V(r)){e.snapshot.directories.delete(t);continue}let i=n.childIds.filter(n=>{let r=e.snapshot.nodes[n];return ei(r)&&r.parentId===t});n.childIds=i,n.childIdByNameId=new Map(i.map(t=>[G(e,t).nameId,t])),n.childPositionById=new Map(i.map((e,t)=>[e,t])),Et(e.snapshot.nodes,n)}}function pi(e){let t=e.snapshot.nodes.length-1;for(;t>e.snapshot.rootId;){let n=e.snapshot.nodes[t];if(ei(n))break;--t}e.snapshot.nodes.length=t+1}function mi(e){let t=oi(e),n=si(e);H(e.instrumentation,`store.cleanup.stable.clearPathCaches`,()=>ui(e)),H(e.instrumentation,`store.cleanup.stable.rebuildSegmentTable`,()=>di(e)),H(e.instrumentation,`store.cleanup.stable.rebuildDirectoryIndexes`,()=>fi(e)),H(e.instrumentation,`store.cleanup.stable.trimTrailingRemovedNodeSlots`,()=>pi(e)),H(e.instrumentation,`store.cleanup.stable.restoreExpansionOverrides`,()=>ci(e,t)),H(e.instrumentation,`store.cleanup.stable.restoreDirectoryLoadInfos`,()=>li(e,n)),H(e.instrumentation,`store.cleanup.stable.recomputeCounts`,()=>Tr(e,e.snapshot.rootId))}function hi(e){let t=oi(e),n=si(e),r=H(e.instrumentation,`store.cleanup.aggressive.listPaths`,()=>vr(e)),i=Wt({...e.snapshot.options},e.instrumentation),a=H(e.instrumentation,`store.cleanup.aggressive.rebuildSnapshot`,()=>{let e=new An(i);return e.appendPaths(r),e.finish()});e.snapshot=a,e.activeNodeCount=a.nodes.length-1,e.pathCacheByNodeId=new Map([[a.rootId,{path:``,version:0}]]),e.pathCacheVersion=0,H(e.instrumentation,`store.cleanup.aggressive.restoreExpansionOverrides`,()=>ci(e,t)),H(e.instrumentation,`store.cleanup.aggressive.restoreDirectoryLoadInfos`,()=>li(e,n)),H(e.instrumentation,`store.cleanup.aggressive.recomputeCounts`,()=>Tr(e,e.snapshot.rootId))}function gi(e){for(let t of e.directoryLoadInfoById.values())if(t.state===`loading`&&t.activeAttemptId!=null)return!0;return!1}function _i(e,t){let n=ii(e);t===`stable`?H(e.instrumentation,`store.cleanup.stable`,()=>mi(e)):H(e.instrumentation,`store.cleanup.aggressive`,()=>hi(e));let r=ii(e);return ai(t,t===`stable`,n,r)}var vi=64;function yi(e,t){let n=t+2;if(n<=e.length)return e;let r=e.length;for(;r<n;)r*=2;let i=new Int32Array(r);return i.fill(-1),i.set(e),i}function bi(e){return G(e,e.snapshot.rootId).visibleSubtreeCount}function xi(e,t,n,r){let i=G(e,t.terminalNodeId),a=Math.max(1,i.visibleSubtreeCount);return Math.min(r-1,n+a-1)}function Si(e,t,n,r){return{ancestorPaths:r,index:t.index,posInSet:t.posInSet,row:Vi(e,t.cursor),setSize:t.setSize,subtreeEndIndex:xi(e,t.cursor,t.index,n)}}function Ci(e,t,n,r,i,a){let o=W(e,t),{childIndex:s,childVisibleIndex:c,localVisibleIndex:l}=Ot(e.snapshot.nodes,o,n),u=o.childIds[s];if(u==null)throw Error(`Visible index ${String(n)} is out of range`);return wi(e,u,l,r+c,i+1,s,o.childIds.length,a)}function wi(e,t,n,r,i,a,o,s){if(!V(G(e,t))){if(n===0)return{ancestors:s,cursor:{headNodeId:t,terminalNodeId:t,visibleDepth:i},index:r,posInSet:a,setSize:o};throw Error(`Visible index ${String(n)} is out of range for file`)}let c=Fi(e,t,i);if(n===0)return{ancestors:s,cursor:c,index:r,posInSet:a,setSize:o};let l=G(e,c.terminalNodeId);if(!V(l)||!Fn(e,c.terminalNodeId,l))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Ci(e,c.terminalNodeId,n-1,r+1,c.visibleDepth,[...s,{cursor:c,index:r,posInSet:a,setSize:o}])}function Ti(e,t){let n=bi(e);if(t<0||t>=n)return null;let r=Ci(e,e.snapshot.rootId,t,0,-1,[]),i=r.ancestors.map(t=>U(e,t.cursor.terminalNodeId)),a=null;return{ancestorPaths:i,get ancestorRows(){if(a!=null)return a;let t=[],i=[];for(let a of r.ancestors){let r=Si(e,a,n,[...i]);t.push(r),i.push(r.row.path)}return a=t,a},index:r.index,posInSet:r.posInSet,row:Vi(e,r.cursor),setSize:r.setSize,subtreeEndIndex:xi(e,r.cursor,r.index,n)}}function Ei(e,t,n){let r=e.instrumentation,i=bi(e);if(i<=0||n<t)return[];let a=Math.max(0,Math.min(t,i-1)),o=Math.max(a,Math.min(n,i-1));if(r==null){if(a===0)return Bi(e,o+1);let t=[],n=Mi(e,a);for(let r=a;r<=o&&n!=null;r++){let r=Vi(e,n);t.push(r),n=Li(e,n)}return t}let s=[],c=0,l=0,u=H(r,`store.getVisibleSlice.selectFirstRow`,()=>Mi(e,a));for(let t=a;t<=o&&u!=null;t++){let t=H(r,`store.getVisibleSlice.materializeRow`,()=>Vi(e,u));s.push(t),t.isFlattened&&(c++,l+=t.flattenedSegments?.length??0),u=H(r,`store.getVisibleSlice.advanceCursor`,()=>Li(e,u))}return Kt(r,`workload.visibleRowsRead`,s.length),Kt(r,`workload.flattenedRowsRead`,c),Kt(r,`workload.flattenedSegmentsRead`,l),s}function Di(e,t=bi(e)){let n=e.instrumentation;return n==null?zi(e,t):H(n,`store.getVisibleTreeProjection`,()=>zi(e,t))}function Oi(e){return Ri(Di(e))}function ki(e,t){let n=Dr(e,t);if(n==null||n===e.snapshot.rootId||V(G(e,n))&&gr(e,n)!==n)return null;let r=0,i=n,{nodes:a,rootId:o}=e.snapshot;for(;i!==o;){let t=G(e,i).parentId,n=W(e,t),s=Ct(n).get(i);if(s==null)throw Error(`Child ${String(i)} was not found in its parent index`);if(r+=kt(a,n,s),t!==o){let n=G(e,t),a=hr(e,t);if(!Fn(e,t,n)&&a!==i)return null;gr(e,t)===t&&(r+=1)}i=t}return r}function Ai(e,t){let n=Dr(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=G(e,n);if(!V(r))throw Error(`Path is not a directory: "${t}"`);return Fn(e,n,r)?null:(In(e,n,!0,r),wr(e,n),Yn({affectedAncestorIds:Er(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0}))}function ji(e,t){let n=Dr(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=G(e,n);if(!V(r))throw Error(`Path is not a directory: "${t}"`);return Fn(e,n,r)?(In(e,n,!1,r),wr(e,n),Xn({affectedAncestorIds:Er(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0})):null}function Mi(e,t){return t<0||t>=bi(e)?null:Ni(e,e.snapshot.rootId,t,-1)}function Ni(e,t,n,r){let i=W(e,t),a=e.instrumentation,{childIndex:o,localVisibleIndex:s}=a==null?Ot(e.snapshot.nodes,i,n):H(a,`store.getVisibleSlice.selectChildIndex`,()=>Ot(e.snapshot.nodes,i,n)),c=i.childIds[o];if(c!=null)return Pi(e,c,s,r+1);throw Error(`Visible index ${String(n)} is out of range`)}function Pi(e,t,n,r){if(!V(G(e,t))){if(n===0)return{headNodeId:t,terminalNodeId:t,visibleDepth:r};throw Error(`Visible index ${String(n)} is out of range for file`)}let i=Fi(e,t,r);if(n===0)return i;let a=G(e,i.terminalNodeId);if(!V(a)||!Fn(e,i.terminalNodeId,a))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Ni(e,i.terminalNodeId,n-1,i.visibleDepth)}function Fi(e,t,n){return V(G(e,t))?e.instrumentation==null?{headNodeId:t,terminalNodeId:gr(e,t),visibleDepth:n}:{headNodeId:t,terminalNodeId:H(e.instrumentation,`store.getVisibleSlice.flatten.resolveTerminalDirectory`,()=>gr(e,t)),visibleDepth:n}:{headNodeId:t,terminalNodeId:t,visibleDepth:n}}function Ii(e,t){let n=G(e,t);if(!V(n))return!0;let r=n.parentId;return r===e.snapshot.rootId?!0:hr(e,r)!==t}function Li(e,t){let n=G(e,t.terminalNodeId);if(V(n)){let r=W(e,t.terminalNodeId);if(Fn(e,t.terminalNodeId,n)&&r.childIds.length>0){let n=r.childIds[0];return n==null?null:Pi(e,n,0,t.visibleDepth+1)}}let r=t.terminalNodeId,i=t.visibleDepth;for(;;){let t=G(e,r);if(r===e.snapshot.rootId)return null;let n=t.parentId,a=W(e,n),o=Ct(a).get(r)??-1;if(o<0)throw Error(`Child ${String(r)} was not found in its parent index`);let s=a.childIds[o+1]??null;if(s!=null)return Pi(e,s,0,i);Ii(e,r)&&i--,r=n}}function Ri(e){let t=e.paths.length,n=Array(t);for(let r=0;r<t;r+=1){let t=e.getParentIndex(r);n[r]={index:r,parentPath:t>=0?e.paths[t]??null:null,path:e.paths[r]??``,posInSet:e.posInSetByIndex[r]??0,setSize:e.setSizeByIndex[r]??0}}return{getParentIndex:e.getParentIndex,rows:n,get visibleIndexByPath(){return e.visibleIndexByPath}}}function zi(e,t){let n=Array(t),r=new Int32Array(t),i=new Int32Array(t),a=new Int32Array(t),o=new Int32Array(vi);o.fill(-1);let s=0,{nodes:c,directories:l,segmentTable:u}=e.snapshot,d=[[l.get(e.snapshot.rootId),0,-1,``]],f=e.snapshot.options.flattenEmptyDirectories,p=e.pathCacheByNodeId,m=e.pathCacheVersion,h=u.valueById;for(;d.length>0&&s<t;){let t=d[d.length-1],u=t[0];if(t[1]>=u.childIds.length){d.pop();continue}let g=t[1],_=u.childIds[t[1]++],v=c[_],y=t[2]+1,b=t[3];o=yi(o,y);let x,S=_;if(V(v))S=f?gr(e,_):_,x=S===_?`${b}${h[v.nameId]}/`:U(e,S);else{let e=p.get(_);x=e!=null&&e.version===m?e.path:`${b}${h[v.nameId]}`}r[s]=o[y],n[s]=x,i[s]=g,a[s]=u.childIds.length,o[y+1]=s,s+=1;let C=c[S];C!=null&&V(C)&&Fn(e,S,C)&&d.push([l.get(S),0,y,x])}s<t&&(n.length=s);let g=r.subarray(0,s),_=i.subarray(0,s),v=a.subarray(0,s),y=null;return{getParentIndex(e){return e<0||e>=s?-1:g[e]??-1},paths:n,posInSetByIndex:_,setSizeByIndex:v,get visibleIndexByPath(){if(y==null){y=new Map;for(let e=0;e<s;e+=1)y.set(n[e]??``,e)}return y}}}function Bi(e,t){let n=Array(t),r=0,{nodes:i,directories:a,segmentTable:o}=e.snapshot,s=[[a.get(e.snapshot.rootId),0,-1]],c=o.valueById,l=e.snapshot.options.flattenEmptyDirectories,u=e.pathCacheByNodeId,d=e.pathCacheVersion;for(;s.length>0&&r<t;){let t=s[s.length-1],o=t[0];if(t[1]>=o.childIds.length){s.pop();continue}let f=o.childIds[t[1]++],p=i[f],m=t[2]+1;if(!V(p)){let t=u.get(f);n[r++]={depth:m,flattenedSegments:void 0,hasChildren:!1,id:f,isExpanded:!1,isFlattened:!1,isLoading:!1,kind:`file`,loadState:void 0,name:c[p.nameId],path:t!=null&&t.version===d?t.path:U(e,f)};continue}let h=l?gr(e,f):f,g={headNodeId:f,terminalNodeId:h,visibleDepth:m};n[r++]=Vi(e,g);let _=i[h];_!=null&&V(_)&&Fn(e,h,_)&&s.push([a.get(h),0,m])}return r<t&&(n.length=r),n}function Vi(e,t){let n=G(e,t.terminalNodeId),r=V(n)?Hi(e,t):null,i=U(e,t.terminalNodeId),a=pn(e.snapshot.segmentTable,n.nameId),o=V(n)&&W(e,t.terminalNodeId).childIds.length>0,s=t.headNodeId!==t.terminalNodeId,c=e.instrumentation,l=s?c==null?_r(e,t.headNodeId).map(n=>{let r=G(e,n);return{isTerminal:n===t.terminalNodeId,name:pn(e.snapshot.segmentTable,r.nameId),nodeId:n,path:U(e,n)}}):H(c,`store.getVisibleSlice.flatten.collectSegments`,()=>_r(e,t.headNodeId).map(n=>{let r=G(e,n);return{isTerminal:n===t.terminalNodeId,name:pn(e.snapshot.segmentTable,r.nameId),nodeId:n,path:U(e,n)}})):void 0;return{depth:t.visibleDepth,flattenedSegments:l,hasChildren:o,id:t.terminalNodeId,isExpanded:V(n)&&Fn(e,t.terminalNodeId,n),isFlattened:s,isLoading:r===`loading`,kind:V(n)?`directory`:`file`,loadState:r==null||r===`loaded`?void 0:r,name:a,path:i}}function Hi(e,t){if(t.headNodeId===t.terminalNodeId)return Rn(e,t.terminalNodeId);let n=_r(e,t.headNodeId),r=!1,i=!1;for(let t of n){let n=Rn(e,t);if(n===`loading`)return`loading`;if(n===`error`){i=!0;continue}n===`unloaded`&&(r=!0)}return i?`error`:r?`unloaded`:`loaded`}function Ui(e){let{directories:t,nodes:n,options:r,rootId:i,presortedDirectoryNodeIds:a}=e.snapshot,o=r.flattenEmptyDirectories===!0,s=e=>{let r=n[e];if(r==null||!V(r))return;let i=t.get(e);if(i==null)throw Error(`Unknown directory child index for node ${String(e)}`);let a=i.childIds,s=a.length,c=0,l=0;for(let e=0;e<s;e++){let t=a[e];if(t==null)continue;let r=n[t];c+=r.subtreeNodeCount,l+=r.visibleSubtreeCount}i.totalChildSubtreeNodeCount=c,i.totalChildVisibleSubtreeCount=l,s>=128&&At(n,i),r.subtreeNodeCount=1+c;let u;if(o&&s===1){let e=n[a[0]];u=e!=null&&V(e)?l:1+l}else u=1+l;r.visibleSubtreeCount=u};if(a!=null)for(let e=a.length-1;e>=0;e--)s(a[e]);else for(let e=n.length-1;e>=1;e--)s(e);let c=n[i],l=t.get(i);if(c==null||l==null)return;let u=l.childIds,d=0,f=0;for(let e=0;e<u.length;e++){let t=u[e];if(t==null)continue;let r=n[t];d+=r.subtreeNodeCount,f+=r.visibleSubtreeCount}l.totalChildSubtreeNodeCount=d,l.totalChildVisibleSubtreeCount=f,At(n,l),c.subtreeNodeCount=1+d,c.visibleSubtreeCount=f}function Wi(e){return e.initialExpansion===`open`&&(e.initialExpandedPaths==null||e.initialExpandedPaths.length===0)}var Gi=class e{#e;constructor(e={}){let t=Gt(e),n=H(t,`store.builder.create`,()=>new An(e));if(e.preparedInput!=null){let t=Dn(e.preparedInput);t==null?n.appendPreparedPaths(En(e.preparedInput),!1):n.appendPresortedPaths(t,On(e.preparedInput))}else{let r=e.paths??[];e.presorted===!0?n.appendPaths(r):n.appendPreparedPaths(H(t,`store.preparePathEntries`,()=>kn(r,e)))}let r=H(t,`store.builder.finish`,()=>n.finish({skipSubtreeCountPass:!0})),i=H(t,`store.state.detectAllDirectoriesExpanded`,()=>(e.initialExpansion??`closed`)===`closed`&&n.didMatchAllInitialExpandedPaths());this.#e=H(t,`store.state.create`,()=>jn(r,i?`open`:e.initialExpansion??`closed`,t)),i&&(this.#e.collapseNewDirectoriesByDefault=!0);let a=i?this.#e.snapshot.directories.size-1:H(t,`store.state.initializeExpandedPaths`,()=>this.initializeExpandedPaths(e.initialExpandedPaths));i||Wi(e)||(e.initialExpansion??`closed`)===`closed`&&a===this.#e.snapshot.directories.size-1||(e.initialExpandedPaths?.length??0)>0&&H(t,`store.state.checkAllDirectoriesExpanded`,()=>this.hasAllDirectoriesExpanded())?H(t,`store.state.initializeOpenVisibleCounts`,()=>Ui(this.#e)):H(t,`store.state.recomputeCounts`,()=>Tr(this.#e,this.#e.snapshot.rootId))}static preparePaths(e,t={}){return Cn(e,t)}static prepareInput(e,t={}){return wn(e,t)}static preparePresortedInput(e){return Tn(e)}list(e){return H(this.#e.instrumentation,`store.list`,()=>vr(this.#e,e))}add(e){H(this.#e.instrumentation,`store.add`,()=>{let t=bi(this.#e);ar(this.#e,rr(this.#e,t,yr(this.#e,e)))})}remove(e,t={}){H(this.#e.instrumentation,`store.remove`,()=>{let n=bi(this.#e);ar(this.#e,rr(this.#e,n,br(this.#e,e,t)))})}move(e,t,n={}){H(this.#e.instrumentation,`store.move`,()=>{let r=bi(this.#e),i=xr(this.#e,e,t,n);i!=null&&ar(this.#e,rr(this.#e,r,i))})}batch(e){ir(this.#e,()=>{if(typeof e==`function`){e(this);return}for(let t of e)switch(t.type){case`add`:this.add(t.path);break;case`remove`:this.remove(t.path,{recursive:t.recursive});break;case`move`:this.move(t.from,t.to,{collision:t.collision});break}})}getVisibleCount(){return H(this.#e.instrumentation,`store.getVisibleCount`,()=>bi(this.#e))}getVisibleSlice(e,t){return H(this.#e.instrumentation,`store.getVisibleSlice`,()=>Ei(this.#e,e,t))}getVisibleRowContext(e){return H(this.#e.instrumentation,`store.getVisibleRowContext`,()=>Ti(this.#e,e))}getVisibleTreeProjection(){return Oi(this.#e)}getVisibleTreeProjectionData(e){return Di(this.#e,e)}getVisibleIndex(e){return H(this.#e.instrumentation,`store.getVisibleIndex`,()=>ki(this.#e,e))}getPathInfo(e){return H(this.#e.instrumentation,`store.getPathInfo`,()=>{let t=Dr(this.#e,e);if(t==null)return null;let n=G(this.#e,t);return{depth:Lt(n),kind:V(n)?`directory`:`file`,path:U(this.#e,t)}})}isExpanded(e){return H(this.#e.instrumentation,`store.isExpanded`,()=>{let t=this.requireDirectoryNodeId(e),n=G(this.#e,t);return Fn(this.#e,t,n)})}expand(e){H(this.#e.instrumentation,`store.expand`,()=>{let t=bi(this.#e),n=Ai(this.#e,e);n!=null&&ar(this.#e,rr(this.#e,t,n))})}collapse(e){H(this.#e.instrumentation,`store.collapse`,()=>{let t=bi(this.#e),n=ji(this.#e,e);n!=null&&ar(this.#e,rr(this.#e,t,n))})}on(e,t){return Gn(this.#e,e,t)}getDirectoryLoadState(e){let t=this.requireDirectoryNodeId(e);return Rn(this.#e,t)}markDirectoryUnloaded(e){H(this.#e.instrumentation,`store.markDirectoryUnloaded`,()=>{let t=this.requireDirectoryNodeId(e);if(W(this.#e,t).childIds.length>0)throw Error(`Cannot mark a directory with known children as unloaded: "${e}"`);let n=bi(this.#e);Bn(this.#e,t),ar(this.#e,rr(this.#e,n,Zn({affectedAncestorIds:Er(this.#e,t),affectedNodeIds:[t],path:e,projectionChanged:this.isDirectoryProjectionVisible(t)})))})}beginChildLoad(e){return H(this.#e.instrumentation,`store.beginChildLoad`,()=>{let t=this.requireDirectoryNodeId(e),n=bi(this.#e),r=zn(this.#e,t);return ar(this.#e,rr(this.#e,n,Qn({affectedAncestorIds:Er(this.#e,t),affectedNodeIds:[t],attemptId:r.attemptId,path:e,projectionChanged:this.isDirectoryProjectionVisible(t),reused:r.reused}))),r})}applyChildPatch(e,t){return H(this.#e.instrumentation,`store.applyChildPatch`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null||Rn(this.#e,n)!==`loading`||!Hn(this.#e,n,e.attemptId))return!1;let r=U(this.#e,n);this.validateChildPatch(r,t);let i=bi(this.#e),a=[];for(let e of t.operations){Ki(r,e);let t=bi(this.#e);switch(e.type){case`add`:a.push(rr(this.#e,t,yr(this.#e,e.path)));break;case`remove`:a.push(rr(this.#e,t,br(this.#e,e.path,{recursive:e.recursive})));break;case`move`:{let n=xr(this.#e,e.from,e.to,{collision:e.collision});n!=null&&a.push(rr(this.#e,t,n));break}}}let o=a.some(e=>e.projectionChanged)||this.isDirectoryProjectionVisible(n);return ar(this.#e,rr(this.#e,i,$n({affectedAncestorIds:Er(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,childEvents:a,path:U(this.#e,n),projectionChanged:o}))),!0})}completeChildLoad(e){return H(this.#e.instrumentation,`store.completeChildLoad`,()=>{let t=this.resolveActiveDirectoryNodeId(e.nodeId);if(t==null)return!1;let n=bi(this.#e),r=Vn(this.#e,t,e.attemptId);return ar(this.#e,rr(this.#e,n,er({affectedAncestorIds:Er(this.#e,t),affectedNodeIds:[t],attemptId:e.attemptId,path:U(this.#e,t),projectionChanged:this.isDirectoryProjectionVisible(t),stale:!r}))),r})}failChildLoad(e,t){return H(this.#e.instrumentation,`store.failChildLoad`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null)return!1;let r=bi(this.#e),i=Un(this.#e,n,e.attemptId,t);return ar(this.#e,rr(this.#e,r,tr({affectedAncestorIds:Er(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,errorMessage:t,path:U(this.#e,n),projectionChanged:this.isDirectoryProjectionVisible(n),stale:!i}))),i})}cleanup(e={}){return H(this.#e.instrumentation,`store.cleanup`,()=>{if(this.#e.transactionStack.length>0)throw Error(`Cleanup cannot run during an open batch or transaction.`);if(gi(this.#e))throw Error(`Cleanup cannot run while directory loads are active.`);let t=bi(this.#e),n=_i(this.#e,e.mode??`stable`);return ar(this.#e,rr(this.#e,t,nr({...n,affectedAncestorIds:[],affectedNodeIds:[],projectionChanged:n.idsPreserved===!1}))),n})}getNodeCount(){return this.#e.activeNodeCount}initializeExpandedPaths(e){if(e==null||e.length===0)return 0;let t=0,n=[],r=[],i=0,a=null,o=this.#e.snapshot.segmentTable,s=o.valueById,c=this.#e.snapshot.nodes,l=new Map;for(let u of e){a!=null&&u<a&&(a=null,i=0,n.length=0,r.length=0);let e=u.length>0&&u.charCodeAt(u.length-1)===47?u.length-1:u.length;if(e===0){a=u,i=e,n.length=0,r.length=0;continue}let d=0,f=0;if(a!=null){let t=Math.min(e,i),n=!0;for(let e=0;e<t;e+=1){let t=u.charCodeAt(e);if(t!==a.charCodeAt(e)){n=!1;break}t===47&&(d+=1,f=e+1)}n&&(t===i&&e>t&&u.charCodeAt(t)===47?(d+=1,f=t+1):t===e&&i>t&&a.charCodeAt(t)===47&&(d+=1,f=e+1)),d=Math.min(d,r.length)}let p=d===0?this.#e.snapshot.rootId:r[d-1]??this.#e.snapshot.rootId,m=d,h=!0,g=f;for(;g<=e;){let t=u.indexOf(`/`,g),i=t===-1||t>e?e:t,a=u.slice(g,i),f=W(this.#e,p).childIds,_=m===d?n[m]??0:0,v=_,y,b=l.get(a)??Yt(a);l.set(a,b);let x=(e,t)=>{for(v=e;v<t;v+=1){let e=f[v],t=c[e],n=s[t.nameId];if(n===a)return y=e,!0;let r=Zt(an(o,t.nameId),b);if(r>0||r===0&&n>a)return!1}return!1};if(!x(_,f.length)&&_>0&&x(0,_),y===void 0){h=!1;break}if(!V(G(this.#e,y))){h=!1;break}if(n[m]=v,r[m]=y,p=y,m+=1,i===e)break;g=i+1}if(a=u,i=e,n.length=m,r.length=m,!h){a=null,i=0,n.length=0,r.length=0;continue}for(let e=d;e<m;e+=1){let n=r[e];if(n==null)continue;let i=G(this.#e,n);Fn(this.#e,n,i)||(In(this.#e,n,!0,i),t+=1)}}return t}hasAllDirectoriesExpanded(){for(let e of this.#e.snapshot.directories.keys()){if(e===this.#e.snapshot.rootId)continue;let t=G(this.#e,e);if(!Fn(this.#e,e,t))return!1}return!0}requireDirectoryNodeId(e){let t=Dr(this.#e,e);if(t==null)throw Error(`Path does not exist: "${e}"`);if(!V(G(this.#e,t)))throw Error(`Path is not a directory: "${e}"`);return t}resolveActiveDirectoryNodeId(e){try{if(!V(G(this.#e,e)))throw Error(`Node is not a directory: ${String(e)}`);return e}catch{return null}}isDirectoryProjectionVisible(e){let t=e;for(;t!==this.#e.snapshot.rootId;){let e=G(this.#e,t).parentId;if(e!==this.#e.snapshot.rootId){let n=G(this.#e,e),r=hr(this.#e,e);if(!Fn(this.#e,e,n)&&r!==t)return!1}t=e}return!0}validateChildPatch(t,n){new e({paths:this.list(t),presorted:!0,sort:this.#e.snapshot.options.sort}).batch(n.operations)}};function Ki(e,t){switch(t.type){case`add`:case`remove`:if(!t.path.startsWith(e)||t.path===e)throw Error(`Child patch operation must stay within ${e}: "${t.path}"`);break;case`move`:if(!t.from.startsWith(e)||!t.to.startsWith(e)||t.from===e||t.to===e)throw Error(`Child patch move must stay within ${e}: "${t.from}" -> "${t.to}"`);break}}var qi={compact:{itemHeight:24,factor:.8},default:{itemHeight:30,factor:1},relaxed:{itemHeight:36,factor:1.2}};function Ji(e,t){if(typeof e==`number`)return{itemHeight:t??qi.default.itemHeight,factor:e};let n=qi[e??`default`];return{itemHeight:t??n.itemHeight,factor:n.factor}}var Yi=qi.default.itemHeight,Xi=`@layer base, theme, unsafe;
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{n as t,r as n,t as r}from"./compiler-runtime-CLAvuQ-D.js";import{D as i,J as a,Mc as o,Q as s,Rc as c,U as l,X as u,Z as d,Zd as f,Zi as p,b as m,cr as h,dl as g,et as _,ft as v,h as y,kc as b,ma as x,n as S,nr as C,o as w,ol as T,ot as E,q as D,rt as O,tt as ee,ut as k,wc as A,zc as j}from"./previewAssetResource-DoobZMvx.js";import{n as M,r as N,t as P}from"./renderFileChildren-BX1mXwW6.js";import{$ as te,$r as ne,Bn as re,Br as ie,Cn as ae,D as oe,Dr as se,E as ce,Fn as le,Gn as ue,Gt as F,Hn as de,Ht as fe,Jt as I,Kn as L,Kr as pe,Kt as me,Lr as he,Mn as ge,Mr as _e,Nr as ve,Or as ye,Qr as be,T as xe,Un as Se,Ut as R,Vn as Ce,Wn as we,Yr as Te,Z as Ee,_r as De,_t as Oe,an as ke,b as Ae,bn as je,br as Me,ct as Ne,d as Pe,et as Fe,f as Ie,fn as Le,fr as Re,gr as ze,gt as Be,hr as Ve,l as He,m as Ue,mr as We,ni as Ge,on as Ke,p as qe,qn as Je,ti as Ye,tt as Xe,u as Ze,v as Qe,w as $e,wn as et,x as tt,y as nt}from"./index-D37C-To4.js";import{a as rt,i as it,n as at,r as z,t as B}from"./fileCommentAnnotations-DzV_o0S3.js";var ot=o(`file-question-mark`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}]]),st=o(`folder-tree`,[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`hod4my`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`w4yl2u`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`,key:`f2jnh7`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`,key:`k8epm1`}]]),ct=`file-tree-container`,lt=`data-file-tree-style`,ut=`data-file-tree-unsafe-css`,dt=`data-file-tree-scrollbar-measure`,ft=`data-file-tree-scrollbar-gutter-measured`,pt=`--trees-scrollbar-gutter-measured`,mt=`header`,ht=`context-menu`,gt=`context-menu-trigger`,_t=5,vt=1<<_t,yt=vt*4;function bt(){return{childIdByNameId:new Map,childIds:[],childPositionById:new Map,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function xt(){return{childIdByNameId:null,childIds:[],childPositionById:null,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function St(e,t){if(t.childIdByNameId!=null)return t.childIdByNameId;let n=new Map;for(let r of t.childIds){let t=e[r];t!=null&&n.set(t.nameId,r)}return t.childIdByNameId=n,n}function Ct(e){if(e.childPositionById!=null)return e.childPositionById;let t=new Map;for(let n=0;n<e.childIds.length;n++){let r=e.childIds[n];r!=null&&t.set(r,n)}return e.childPositionById=t,t}function wt(e,t){e.childPositionById!=null&&e.childPositionById.set(t,e.childIds.length),e.childIds.push(t)}function Tt(e,t){if(e.childPositionById!=null)for(let n=t;n<e.childIds.length;n++){let t=e.childIds[n];t!=null&&e.childPositionById.set(t,n)}}function Et(e,t){let n=0,r=0;for(let i of t.childIds){let t=e[i];t!=null&&(n+=t.subtreeNodeCount,r+=t.visibleSubtreeCount)}t.totalChildSubtreeNodeCount=n,t.totalChildVisibleSubtreeCount=r,At(e,t)}function Dt(e,t,n,r){if(e.totalChildSubtreeNodeCount+=n,e.totalChildVisibleSubtreeCount+=r,e.childVisibleChunkSums==null||r===0)return;let i=Ct(e).get(t);if(i===void 0)return;let a=i>>_t;e.childVisibleChunkSums[a]+=r}function Ot(e,t,n){let r=t.childVisibleChunkSums;if(r!=null){let i=n,a=0;for(let o of r){if(i<o){let r=jt(e,t,a,i);return{...r,childVisibleIndex:n-r.localVisibleIndex}}i-=o,a+=vt}throw Error(`Visible child index ${String(n)} is out of range`)}let i=n;for(let r=0;r<t.childIds.length;r++){let a=t.childIds[r];if(a==null)continue;let o=e[a];if(o!=null){if(i<o.visibleSubtreeCount)return{childIndex:r,childVisibleIndex:n-i,localVisibleIndex:i};i-=o.visibleSubtreeCount}}throw Error(`Visible child index ${String(n)} is out of range`)}function kt(e,t,n){let r=0,i=t.childVisibleChunkSums,a=0;if(i!=null){let e=n>>_t;for(let t=0;t<e;t+=1)r+=i[t]??0;a=e<<_t}for(let i=a;i<n;i+=1){let n=t.childIds[i];if(n==null)continue;let a=e[n];a!=null&&(r+=a.visibleSubtreeCount)}return r}function At(e,t){if(t.childIds.length<yt){t.childVisibleChunkSums=null;return}let n=Math.ceil(t.childIds.length/vt),r=new Int32Array(n);for(let n=0;n<t.childIds.length;n++){let i=t.childIds[n];if(i==null)continue;let a=e[i];a!=null&&(r[n>>_t]+=a.visibleSubtreeCount)}t.childVisibleChunkSums=r}function jt(e,t,n,r){let i=Math.min(t.childIds.length,n+vt),a=r;for(let r=n;r<i;r++){let n=t.childIds[r];if(n==null)continue;let i=e[n];if(i!=null){if(a<i.visibleSubtreeCount)return{childIndex:r,localVisibleIndex:a};a-=i.visibleSubtreeCount}}throw Error(`Visible child index ${String(r)} is out of range`)}var Mt=7,Nt=3,Pt=1<<Nt,Ft=4;function It(e,t,n=0){return e<<Ft|n<<Nt|t}function Lt(e){return e.depthAndFlags>>>Ft}function Rt(e){return(e.depthAndFlags&Pt)>>Nt}function V(e){return(e.depthAndFlags&Pt)!==0}function zt(e){return e.depthAndFlags&Mt}function Bt(e,t){return(zt(e)&t)!==0}function Vt(e,t){e.depthAndFlags|=t}function Ht(e,t){e.depthAndFlags=It(t,zt(e),Rt(e))}var Ut=Symbol(`benchmarkInstrumentation`);function Wt(e,t){return t==null||Object.defineProperty(e,Ut,{configurable:!0,enumerable:!1,value:t,writable:!1}),e}function Gt(e){return e==null?null:e[Ut]??null}function H(e,t,n){return e==null?n():e.measurePhase(t,n)}function Kt(e,t,n){!Number.isFinite(n)||e==null||e.setCounter(t,n)}function qt(e){return e>=48&&e<=57}function Jt(e){let t=[],n=0,r=0;for(;r<e.length;){for(;r<e.length&&!qt(e.charCodeAt(r));)r+=1;if(r>=e.length)break;r>n&&t.push(e.slice(n,r));let i=0;for(;r<e.length&&qt(e.charCodeAt(r));)i=i*10+(e.charCodeAt(r)-48),r+=1;t.push(i),n=r}return(n<e.length||t.length===0)&&t.push(e.slice(n)),t}function Yt(e){let t=e.toLowerCase();return{lowerValue:t,tokens:Jt(t)}}function Xt(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=e[r],i=t[r];if(n===i)continue;if(typeof n==`number`&&typeof i==`number`)return n<i?-1:1;let a=String(n),o=String(i);if(a!==o)return a<o?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function Zt(e,t){if(e.tokens.length===1&&t.tokens.length===1&&typeof e.tokens[0]==`string`&&typeof t.tokens[0]==`string`)return e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1;let n=Xt(e.tokens,t.tokens);return n===0?e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1:n}function Qt(e,t,n){let r=Zt(n(e),n(t));return r===0?e===t?0:e<t?-1:1:r}function $t(e,t){return Qt(e,t,Yt)}function en(e,t){return t===e.segments.length-1?+!!e.isDirectory:1}function tn(e,t){let n=Math.min(e.segments.length,t.segments.length);for(let r=0;r<n;r++){let n=e.segments[r],i=t.segments[r];if(n===i)continue;let a=en(e,r);return a===en(t,r)?$t(n,i):a===1?-1:1}return e.segments.length===t.segments.length?e.isDirectory===t.isDirectory?0:e.isDirectory?-1:1:e.segments.length<t.segments.length?-1:1}function nn(e,t){return tn(e,t)}function rn(e,t,n){let r=e=>{let t=n.get(e);if(t!=null)return t;let r=Yt(e);return n.set(e,r),r},i=Math.min(e.segments.length,t.segments.length);for(let n=0;n<i;n++){let i=e.segments[n],a=t.segments[n];if(i===a)continue;let o=en(e,n);return o===en(t,n)?Qt(i,a,r):o===1?-1:1}return e.segments.length===t.segments.length?e.isDirectory===t.isDirectory?0:e.isDirectory?-1:1:e.segments.length<t.segments.length?-1:1}function an(e,t){let n=e.sortKeyById[t];if(n!==void 0)return n;let r=e.valueById[t],i=Yt(r);return e.sortKeyById[t]=i,i}function on(e={}){return{flattenEmptyDirectories:e.flattenEmptyDirectories!==!1,sort:e.sort??`default`}}function sn(e){let t=e.length>0&&e.charCodeAt(e.length-1)===47,n=t?e.length-1:e.length,r=[],i=0;for(let t=0;t<n;t++)e.charCodeAt(t)===47&&(r.push(e.slice(i,t)),i=t+1);return r.push(e.slice(i,n)),{hasTrailingSlash:t,segments:r}}function cn(e){let{hasTrailingSlash:t,segments:n}=sn(e);return{basename:n[n.length-1]??``,isDirectory:t,path:e,segments:n}}function ln(e){if(e.length===0)return{requiresDirectory:!1,segments:[]};let{hasTrailingSlash:t,segments:n}=sn(e);return{requiresDirectory:t,segments:n}}var un=``;function dn(){let e=new Map;return e.set(un,0),{idByValue:e,valueById:[un],sortKeyById:[Yt(un)]}}function fn(e,t){let n=e.idByValue.get(t);if(n!==void 0)return n;let r=e.valueById.length;return e.idByValue.set(t,r),e.valueById.push(t),r}function pn(e,t){let n=e.valueById[t];if(n===void 0)throw Error(`Unknown segment ID: ${String(t)}`);return n}var mn=Symbol(`pathStorePreparedInputKind`);function hn(e,t){return e[mn]=t,e}function gn(e){return{basename:e.basename,depth:e.segments.length,isDirectory:e.isDirectory,path:e.path,segments:e.segments}}function _n(e,t,n){return n==="default"?nn(e,t):n(gn(e),gn(t))}function vn(){return{depthAndFlags:It(0,3,1),nameId:0,parentId:0,subtreeNodeCount:1,visibleSubtreeCount:1}}function yn(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++)if(e[r]!==t[r])return r;return n}function bn(e){return e.isDirectory?e.segments.length:e.segments.length-1}function xn(e){return Array.isArray(e)&&e.every(e=>typeof e==`object`&&!!e&&typeof e.path==`string`&&Array.isArray(e.segments)&&typeof e.basename==`string`&&typeof e.isDirectory==`boolean`)}function Sn(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Cn(e,t={}){return kn(e,t).map(e=>e.path)}function wn(e,t={}){let n=kn(e,t);return hn({paths:n.map(e=>e.path),preparedPaths:n},`prepared`)}function Tn(e){let t=e.length,n=!1;for(let r=0;r<t;r+=1){let t=e[r];if(t.length>0&&t.charCodeAt(t.length-1)===47){n=!0;break}}return hn({paths:e,presortedPaths:e,presortedPathsContainDirectories:n},`presorted`)}function En(e){let t=e,n=t.preparedPaths;if(t[mn]===`prepared`&&n!=null)return n;if(!xn(n))throw Error(`preparedInput must come from PathStore.prepareInput()`);return n}function Dn(e){let t=e;return t[mn]===`presorted`&&t.presortedPaths!=null||Sn(t.presortedPaths)?t.presortedPaths:null}function On(e){let t=e;return typeof t.presortedPathsContainDirectories==`boolean`?t.presortedPathsContainDirectories:null}function kn(e,t={}){let n=on(t),r=Gt(t);Kt(r,`workload.inputFiles`,e.length);let i=H(r,`store.preparePathEntries.parse`,()=>e.map(e=>cn(e)));return H(r,`store.preparePathEntries.sort`,()=>i.sort((e,t)=>_n(e,t,n.sort))),i}var An=class{directories=new Map;directoryStack=[0];presortedDirectoryNodeIds=[];initialExpandedPathSet;createdDirectoriesAllExpanded=!1;createdDirectoryCount=0;lastPreparedPath=null;nodes=[vn()];options;instrumentation;segmentSortKeyCache=new Map;segmentTable=dn();hasDeferredDirectoryIndexes=!1;constructor(e={}){this.instrumentation=Gt(e),this.options=on(e);let t=e.initialExpandedPaths??null;if(t==null||t.length===0)this.initialExpandedPathSet=null;else{let e=new Set,n=t.length;for(let r=0;r<n;r+=1){let n=t[r],i=n.length;e.add(i>0&&n.charCodeAt(i-1)===47?n.slice(0,i-1):n)}this.initialExpandedPathSet=e,this.createdDirectoriesAllExpanded=!0}this.directories.set(0,bt())}appendPaths(e){return H(this.instrumentation,`store.builder.appendPaths.parse`,()=>this.appendPreparedPaths(e.map(e=>cn(e))))}appendPreparedPaths(e,t=!0){return this.createdDirectoriesAllExpanded=!1,H(this.instrumentation,`store.builder.appendPreparedPaths`,()=>{for(let n of e)this.appendPreparedPath(n,t)}),this}appendPresortedPaths(e,t=null){return H(this.instrumentation,`store.builder.appendPresortedPaths`,()=>{if(t===!1){this.appendPresortedFilePaths(e);return}this.createdDirectoriesAllExpanded=!1;let n=null,r=0,i=this.nodes,a=this.segmentTable,o=a.idByValue,s=a.valueById,c=this.directoryStack,l=0,u=``,d=0;for(let t of e){if(n===t)throw Error(`Duplicate path: "${t}"`);let e=t.length>0&&t.charCodeAt(t.length-1)===47,a=e?t.length-1:t.length,f=0,p=0;if(n!=null)if(u.length>0&&t.length>u.length&&t.startsWith(u))f=d,p=u.length;else{let r=Math.min(a,n.length),i=!0;for(let e=0;e<r;e++){let r=t.charCodeAt(e);if(r!==n.charCodeAt(e)){i=!1;break}r===47&&(f++,p=e+1)}i&&e&&r===a&&n.length>a&&n.charCodeAt(a)===47&&(f++,p=a+1)}l=f,r=f;let m=p,h=t.indexOf(`/`,m);for(;h>=0&&h<a;){let e=c[l];if(e===void 0)throw Error(`Directory stack underflow while building the path store`);r++;let n=t.slice(m,h),a=o.get(n);a===void 0&&(a=s.length,o.set(n,a),s.push(n));let u=i.length;i.push({depthAndFlags:It(r,0,1),nameId:a,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),this.recordCreatedDirectoryPath(t.slice(0,h)),l++,c[l]=u,m=h+1,h=t.indexOf(`/`,m)}if(e){if(m<a){let e=c[l];if(e===void 0)throw Error(`Unable to resolve directory parent for "${t}"`);r++;let n=t.slice(m,a),u=o.get(n);u===void 0&&(u=s.length,o.set(n,u),s.push(n));let d=i.length;i.push({depthAndFlags:It(r,0,1),nameId:u,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),l++,c[l]=d}let e=c[l];if(e===void 0)throw Error(`Unable to resolve directory node for "${t}"`);this.promoteDirectoryToExplicit(e,t)}else{let e=c[l];if(e===void 0)throw Error(`Unable to resolve file parent for "${t}"`);let n=t.slice(m),a=o.get(n);a===void 0&&(a=s.length,o.set(n,a),s.push(n)),i.push({depthAndFlags:It(r+1,0),nameId:a,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1})}m!==u.length&&(u=t.substring(0,m),d=r),n=t}c.length=l+1,n!=null&&(this.lastPreparedPath=cn(n)),this.hasDeferredDirectoryIndexes=!0}),this}appendPresortedFilePaths(e){let t=null,n=0,r=this.nodes,i=this.segmentTable,a=i.idByValue,o=i.valueById,s=this.directoryStack,c=0,l=``,u=0;for(let i of e){if(t===i)throw Error(`Duplicate path: "${i}"`);let e=i.length,d=0,f=0;if(t!=null)if(l.length>0&&i.length>l.length&&i.startsWith(l))d=u,f=l.length;else{let n=Math.min(e,t.length);for(let e=0;e<n;e++){let n=i.charCodeAt(e);if(n!==t.charCodeAt(e))break;n===47&&(d++,f=e+1)}}c=d,n=d;let p=f,m=i.indexOf(`/`,p);for(;m>=0;){let e=s[c];if(e===void 0)throw Error(`Directory stack underflow while building the path store`);n++;let t=i.slice(p,m),l=a.get(t);l===void 0&&(l=o.length,a.set(t,l),o.push(t));let u=r.length;r.push({depthAndFlags:It(n,0,1),nameId:l,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),this.recordCreatedDirectoryPath(i.slice(0,m)),this.presortedDirectoryNodeIds.push(u),c++,s[c]=u,p=m+1,m=i.indexOf(`/`,p)}let h=s[c];if(h===void 0)throw Error(`Unable to resolve file parent for "${i}"`);let g=i.slice(p),_=a.get(g);_===void 0&&(_=o.length,a.set(g,_),o.push(g)),r.push({depthAndFlags:It(n+1,0),nameId:_,parentId:h,subtreeNodeCount:1,visibleSubtreeCount:1}),p!==l.length&&(l=i.substring(0,p),u=n),t=i}s.length=c+1,t!=null&&(this.lastPreparedPath=cn(t)),this.hasDeferredDirectoryIndexes=!0}finish(e={}){let t=e.skipSubtreeCountPass===!0;return this.hasDeferredDirectoryIndexes?(H(this.instrumentation,`store.builder.buildDirectoryIndexes`,()=>this.buildPresortedFinish(t)),this.hasDeferredDirectoryIndexes=!1):t||H(this.instrumentation,`store.builder.computeSubtreeCounts`,()=>this.computeSubtreeCounts(0)),{directories:this.directories,nodes:this.nodes,options:this.options,rootId:0,segmentTable:this.segmentTable,presortedDirectoryNodeIds:this.presortedDirectoryNodeIds.length>0?this.presortedDirectoryNodeIds:null}}didMatchAllInitialExpandedPaths(){return this.createdDirectoriesAllExpanded&&this.initialExpandedPathSet!=null&&this.createdDirectoryCount===this.initialExpandedPathSet.size}appendPreparedPath(e,t){if(this.hasDeferredDirectoryIndexes&&=(this.buildDirectoryIndexes(),!1),this.lastPreparedPath!=null){if(e.path===this.lastPreparedPath.path)throw Error(`Duplicate path: "${e.path}"`);if(t&&(this.options.sort==="default"?rn(this.lastPreparedPath,e,this.segmentSortKeyCache):_n(this.lastPreparedPath,e,this.options.sort))>0)throw Error(`Builder input must be sorted before appendPaths(): "${e.path}"`)}let n=this.lastPreparedPath,r=bn(e),i=n==null?0:bn(n),a=n==null?0:yn(n.segments,e.segments),o=Math.min(a,r,i);this.directoryStack.length=o+1;for(let n=o;n<r;n++){let r=this.directoryStack[this.directoryStack.length-1];if(r===void 0)throw Error(`Directory stack underflow while building the path store`);let i=t?this.getOrCreateDirectoryChild(r,e.segments[n]):this.createDirectoryChild(r,e.segments[n]);this.directoryStack.push(i)}if(e.isDirectory){let t=this.directoryStack[this.directoryStack.length-1];if(t===void 0)throw Error(`Unable to resolve directory node for "${e.path}"`);this.promoteDirectoryToExplicit(t,e.path),this.lastPreparedPath=e;return}let s=this.directoryStack[this.directoryStack.length-1];if(s===void 0)throw Error(`Unable to resolve file parent for "${e.path}"`);t?this.createFileChild(s,e.basename,e.path):this.createFileChildUnchecked(s,e.basename),this.lastPreparedPath=e}recordCreatedDirectoryPath(e){!this.createdDirectoriesAllExpanded||this.initialExpandedPathSet==null||(this.createdDirectoryCount+=1,this.initialExpandedPathSet.has(e)||(this.createdDirectoriesAllExpanded=!1))}createFileChild(e,t,n){let r=fn(this.segmentTable,t),i=this.getDirectoryIndex(e),a=i.childIdByNameId;if(a!=null&&a.get(r)!==void 0)throw Error(`Path collides with an existing entry: "${n}"`);let o=this.nodes[e];if(o===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let s=this.nodes.length;return this.nodes.push({depthAndFlags:It(Lt(o)+1,0),nameId:r,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),a?.set(r,s),wt(i,s),s}createFileChildUnchecked(e,t){let n=fn(this.segmentTable,t),r=this.getDirectoryIndex(e),i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:It(Lt(i)+1,0),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),wt(r,a),a}getOrCreateDirectoryChild(e,t){let n=fn(this.segmentTable,t),r=this.getDirectoryIndex(e);if(r.childIdByNameId!=null){let e=r.childIdByNameId.get(n);if(e!==void 0){let n=this.nodes[e];if(n!=null&&!V(n))throw Error(`Path collides with an existing file while creating directory "${t}"`);return e}}let i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:It(Lt(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),wt(r,a),this.directories.set(a,bt()),a}createDirectoryChild(e,t){let n=fn(this.segmentTable,t),r=this.getDirectoryIndex(e),i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:It(Lt(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),wt(r,a),this.directories.set(a,bt()),a}promoteDirectoryToExplicit(e,t){let n=this.nodes[e];if(n===void 0)throw Error(`Unknown directory node ID: ${String(e)}`);if(!V(n))throw Error(`Path is not a directory: "${t}"`);if(Bt(n,1))throw Error(`Duplicate path: "${t}"`);Vt(n,1)}getDirectoryIndex(e){let t=this.directories.get(e);if(t!==void 0)return t;throw Error(`Unknown directory child index for node ${String(e)}`)}buildPresortedFinish(e){let t=this.nodes,n=this.directories;n.set(0,xt());let r=-1,i=null;for(let e=1;e<t.length;e++){let a=t[e];if(a==null)continue;if(V(a)){let t=xt();n.set(e,t),r=e,i=t}let o;a.parentId===r?o=i:(o=n.get(a.parentId),r=a.parentId,i=o??null),o?.childIds.push(e)}if(!e)for(let e=t.length-1;e>=1;e--){let n=t[e];if(n==null)continue;let r=t[n.parentId];r!=null&&(r.subtreeNodeCount+=n.subtreeNodeCount,r.visibleSubtreeCount+=n.visibleSubtreeCount)}}buildDirectoryIndexes(){let e=this.nodes;for(let t=1;t<e.length;t++){let n=e[t];if(n==null)continue;V(n)&&this.directories.set(t,bt());let r=this.directories.get(n.parentId);r!=null&&(r.childIdByNameId!=null&&r.childIdByNameId.set(n.nameId,t),wt(r,t))}}computeSubtreeCounts(e){let t=this.nodes[e];if(t===void 0)throw Error(`Unknown node ID: ${String(e)}`);if(!V(t))return t.subtreeNodeCount=1,t.visibleSubtreeCount=1,1;let n=this.getDirectoryIndex(e),r=1;for(let e of n.childIds)r+=this.computeSubtreeCounts(e);return Et(this.nodes,n),t.subtreeNodeCount=r,t.visibleSubtreeCount=r,r}};function jn(e,t=`closed`,n=null){let r=Nn(t);return{activeNodeCount:e.nodes.length-1,collapsedDirectoryIds:new Set,collapseNewDirectoriesByDefault:!1,defaultExpansion:r,directoriesOpenByDefault:r===`open`,hasCollapsedDirectoryOverrides:!1,directoryLoadInfoById:new Map,expandedDirectoryIds:new Set,instrumentation:n,listeners:new Map,pathCacheByNodeId:new Map([[e.rootId,{path:``,version:0}]]),pathCacheVersion:0,snapshot:e,transactionStack:[]}}function Mn(){return{affectedAncestorIds:new Set,affectedNodeIds:new Set,events:[]}}function Nn(e){if(typeof e!=`number`)return e;if(!Number.isInteger(e)||e<0)throw Error(`initialExpansion must be "open", "closed", or a non-negative integer depth. Received: ${String(e)}`);return e}function Pn(e,t){return Bt(t,2)||e.defaultExpansion===`open`?!0:e.defaultExpansion===`closed`?!1:Lt(t)<=e.defaultExpansion}function Fn(e,t,n=e.snapshot.nodes[t]){return n==null||!V(n)?!1:e.directoriesOpenByDefault&&!e.hasCollapsedDirectoryOverrides?!0:e.collapsedDirectoryIds.has(t)?!1:e.expandedDirectoryIds.has(t)?!0:Pn(e,n)}function In(e,t,n,r=e.snapshot.nodes[t]){if(r==null||!V(r))return;let i=Pn(e,r);if(n){if(i){e.collapsedDirectoryIds.delete(t),e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0;return}e.expandedDirectoryIds.add(t);return}if(i){e.collapsedDirectoryIds.add(t),e.hasCollapsedDirectoryOverrides=!0;return}e.expandedDirectoryIds.delete(t)}function Ln(e,t){let n=e.directoryLoadInfoById.get(t);if(n!=null)return n;let r={activeAttemptId:null,errorMessage:null,nextAttemptId:1,state:`loaded`};return e.directoryLoadInfoById.set(t,r),r}function Rn(e,t){return e.directoryLoadInfoById.get(t)?.state??`loaded`}function zn(e,t){let n=Ln(e,t);if(n.state===`loading`&&n.activeAttemptId!=null)return{attemptId:n.activeAttemptId,nodeId:t,reused:!0};let r=n.nextAttemptId;return n.activeAttemptId=r,n.errorMessage=null,n.nextAttemptId+=1,n.state=`loading`,{attemptId:r,nodeId:t,reused:!1}}function Bn(e,t){let n=Ln(e,t);n.activeAttemptId=null,n.errorMessage=null,n.state=`unloaded`}function Vn(e,t,n){let r=e.directoryLoadInfoById.get(t);return r==null||r.activeAttemptId!==n?!1:(r.activeAttemptId=null,r.errorMessage=null,r.state=`loaded`,!0)}function Hn(e,t,n){return e.directoryLoadInfoById.get(t)?.activeAttemptId===n}function Un(e,t,n,r){let i=e.directoryLoadInfoById.get(t);return i==null||i.activeAttemptId!==n?!1:(i.activeAttemptId=null,i.errorMessage=r??null,i.state=`error`,!0)}function Wn(e,t){e.directoryLoadInfoById.delete(t)}function Gn(e,t,n){let r=n,i=e.listeners.get(t);return i==null?e.listeners.set(t,new Set([r])):i.add(r),()=>{let n=e.listeners.get(t);n!=null&&(n.delete(r),n.size===0&&e.listeners.delete(t))}}function Kn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`add`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function qn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`remove`,path:e.path,projectionChanged:e.projectionChanged,recursive:e.recursive,visibleCountDelta:null}}function Jn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,from:e.from,operation:`move`,projectionChanged:e.projectionChanged,to:e.to,visibleCountDelta:null}}function Yn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`expand`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Xn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`collapse`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Zn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`mark-directory-unloaded`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function Qn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,operation:`begin-child-load`,path:e.path,projectionChanged:e.projectionChanged,reused:e.reused,visibleCountDelta:null}}function $n(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:e.childEvents.some(e=>e.canonicalChanged),childEvents:e.childEvents,operation:`apply-child-patch`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function er(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,operation:`complete-child-load`,path:e.path,projectionChanged:e.projectionChanged,stale:e.stale,visibleCountDelta:null}}function tr(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,errorMessage:e.errorMessage,operation:`fail-child-load`,path:e.path,projectionChanged:e.projectionChanged,stale:e.stale,visibleCountDelta:null}}function nr(e){return{activeNodeCountAfter:e.activeNodeCountAfter,activeNodeCountBefore:e.activeNodeCountBefore,affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],cachedPathEntryCountAfter:e.cachedPathEntryCountAfter,cachedPathEntryCountBefore:e.cachedPathEntryCountBefore,canonicalChanged:!1,idsPreserved:e.idsPreserved,loadInfoEntryCountAfter:e.loadInfoEntryCountAfter,loadInfoEntryCountBefore:e.loadInfoEntryCountBefore,mode:e.mode,operation:`cleanup`,projectionChanged:e.projectionChanged,reclaimedCachedPathEntryCount:e.reclaimedCachedPathEntryCount,reclaimedLoadInfoEntryCount:e.reclaimedLoadInfoEntryCount,reclaimedNodeSlotCount:e.reclaimedNodeSlotCount,reclaimedSegmentCount:e.reclaimedSegmentCount,segmentCountAfter:e.segmentCountAfter,segmentCountBefore:e.segmentCountBefore,totalNodeSlotCountAfter:e.totalNodeSlotCountAfter,totalNodeSlotCountBefore:e.totalNodeSlotCountBefore,visibleCountDelta:null}}function rr(e,t,n){return{...n,visibleCountDelta:mr(e)-t}}function ir(e,t){let n=mr(e),r=Mn();e.transactionStack.push(r);try{t()}catch(t){throw sr(e,r,!1),t}sr(e,r,!0,mr(e)-n)}function ar(e,t){let n=e.instrumentation;if(n==null){or(e,t);return}H(n,`store.events.record`,()=>or(e,t))}function or(e,t){let n=e.transactionStack[e.transactionStack.length-1]??null;if(n==null){fr(e,t);return}n.events.push(t),dr(n,t)}function sr(e,t,n,r=null){if(e.transactionStack.pop()!==t)throw Error(`Transaction stack underflow`);if(!n)return;let i=e.transactionStack[e.transactionStack.length-1]??null;if(i!=null){let n=e.instrumentation;n==null?ur(i,t):H(n,`store.events.batch.merge`,()=>ur(i,t));return}let a=cr(t,r),o=e.instrumentation;if(o==null){fr(e,a);return}H(o,`store.events.batch.commit`,()=>fr(e,a))}function cr(e,t){return{affectedAncestorIds:[...e.affectedAncestorIds],affectedNodeIds:[...e.affectedNodeIds],canonicalChanged:e.events.some(e=>e.canonicalChanged),events:[...e.events],operation:`batch`,projectionChanged:e.events.some(e=>e.projectionChanged),visibleCountDelta:t}}function lr(e,t){for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n);for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n)}function ur(e,t){for(let n of t.events)e.events.push(n);lr(e,t)}function dr(e,t){for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n);for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n)}function fr(e,t){let n=e.instrumentation;if(n==null){pr(e,t);return}H(n,`store.events.emit`,()=>pr(e,t))}function pr(e,t){e.listeners.get(t.operation)?.forEach(e=>e(t)),e.listeners.get(`*`)?.forEach(e=>e(t))}function mr(e){return e.snapshot.nodes[e.snapshot.rootId]?.visibleSubtreeCount??0}function hr(e,t){if(e.snapshot.options.flattenEmptyDirectories!==!0)return null;let n=e.snapshot.nodes[t];if(n==null||!V(n)||Bt(n,2))return null;let r=e.snapshot.directories.get(t);if(r==null||r.childIds.length!==1)return null;let i=r.childIds[0];if(i==null)return null;let a=e.snapshot.nodes[i];return a==null||!V(a)?null:i}function gr(e,t){let n=t;for(;;){let t=hr(e,n);if(t==null)return n;n=t}}function _r(e,t){let n=[t],r=t;for(;;){let t=hr(e,r);if(t==null)return n;n.push(t),r=t}}function vr(e,t){let n=t==null?e.snapshot.rootId:Dr(e,t);return n==null?[]:kr(e,n)}function yr(e,t){let n=cn(t),r=n.isDirectory?n.segments:n.segments.slice(0,-1),i=Wr(e,Ur(e,r)),{createdNodeIds:a,directoryId:o}=Ar(e,r),s=new Set(a),c=o;if(n.isDirectory){let n=G(e,o);if(Bt(n,1))throw Error(`Path already exists: "${t}"`);Vt(n,1),e.pathCacheByNodeId.set(o,{path:t,version:e.pathCacheVersion}),s.add(o)}else c=Mr(e,o,n.basename),s.add(c);wr(e,o);let l=Wr(e,o);return Kn({affectedAncestorIds:Er(e,c),affectedNodeIds:[...s],path:t,projectionChanged:Gr(i,l)})}function br(e,t,n){let r=Dr(e,t);if(r==null)throw Error(`Path does not exist: "${t}"`);let i=G(e,r);if(Bt(i,2))throw Error(`The root node cannot be removed`);if(V(i)&&W(e,r).childIds.length>0&&n.recursive!==!0)throw Error(`Cannot remove a non-empty directory without recursive: "${t}"`);let a=i.parentId,o=Wr(e,a),s=Vr(e,r);Fr(e,a,r,i.nameId),Hr(e,a),wr(e,a);let c=Wr(e,a);return qn({affectedAncestorIds:Er(e,a),affectedNodeIds:s,path:t,projectionChanged:Gr(o,c),recursive:n.recursive===!0})}function xr(e,t,n,r){let i=Dr(e,t);if(i==null)throw Error(`Source path does not exist: "${t}"`);let a=G(e,i);if(Bt(a,2))throw Error(`The root node cannot be moved`);let o=r.collision??`error`,s=zr(e,i,n),c=Wr(e,a.parentId),l=Wr(e,s.parentId),u=pn(e.snapshot.segmentTable,a.nameId),d=fn(e.snapshot.segmentTable,s.basename);if(s.parentId===a.parentId&&u===s.basename)return null;if(V(a)&&Yr(e,i,s.parentId))throw Error(`Cannot move a directory into one of its descendants`);let f=St(e.snapshot.nodes,W(e,s.parentId)).get(d),p=s.existingNodeId??f??null;if(p!=null&&p!==i&&Br(e,p,o,Rt(a))===`skip`)return null;let m=a.parentId;Fr(e,m,i,a.nameId),a.parentId=s.parentId,a.nameId=d,e.pathCacheByNodeId.delete(i),Jr(e,i),Pr(e,s.parentId,i),Hr(e,m),e.pathCacheVersion++,wr(e,m),s.parentId!==m&&wr(e,s.parentId);let h=Wr(e,m),g=Wr(e,s.parentId);return Jn({affectedAncestorIds:[...new Set([...Er(e,m),...Er(e,s.parentId)])],affectedNodeIds:[i],from:t,projectionChanged:Kr([c,l],[h,g]),to:U(e,i)})}function Sr(e,t){let n=e.pathCacheByNodeId.get(t);return n!=null&&n.version===e.pathCacheVersion?n.path:null}function Cr(e,t,n){return e.pathCacheByNodeId.set(t,{path:n,version:e.pathCacheVersion}),n}function U(e,t){let n=G(e,t),r=Sr(e,t);if(r!=null)return r;if(Bt(n,2))return Cr(e,t,``);let i=U(e,n.parentId),a=pn(e.snapshot.segmentTable,n.nameId),o=i.length===0?a:`${i}${a}`;return Cr(e,t,V(n)?`${o}/`:o)}function wr(e,t){let n=e.instrumentation;if(n==null){Zr(e,t);return}H(n,`store.recomputeCountsUpwardFrom`,()=>Zr(e,t))}function Tr(e,t){let n=[[t,0]],{nodes:r,directories:i}=e.snapshot;for(;n.length>0;){let t=n[n.length-1],a=t[0],o=r[a];if(o==null||!V(o)){Xr(e,a,o,!0),n.pop();continue}let s=i.get(a);if(s==null||t[1]>=s.childIds.length){Xr(e,a,o,!0),n.pop();continue}let c=s.childIds[t[1]++];n.push([c,0])}}function Er(e,t){let n=[],r=t;for(;r!=null;){let t=G(e,r);if(n.push(r),r===e.snapshot.rootId)break;r=t.parentId}return n}function Dr(e,t){if(t.length===0)return e.snapshot.rootId;let n=ln(t);return Or(e,n.segments,n.requiresDirectory)}function Or(e,t,n){let r=e.snapshot.rootId;for(let n of t){let t=e.snapshot.segmentTable.idByValue.get(n);if(t===void 0)return null;let i=W(e,r),a=St(e.snapshot.nodes,i).get(t);if(a===void 0)return null;r=a}let i=G(e,r);return n&&!V(i)?null:r}function W(e,t){let n=e.snapshot.directories.get(t);if(n===void 0)throw Error(`Unknown directory child index for node ${String(t)}`);return n}function G(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Bt(n,4))throw Error(`Unknown node ID: ${String(t)}`);return n}function kr(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Bt(n,4))return[];if(!V(n))return[U(e,t)];if(W(e,t).childIds.length===0)return Bt(n,1)&&!Bt(n,2)?[U(e,t)]:[];let r=[],i=[{childIndex:0,nodeId:t}];for(;i.length>0;){let t=i[i.length-1];if(t==null)break;let n=e.snapshot.nodes[t.nodeId];if(n===void 0||Bt(n,4)){i.pop();continue}if(!V(n)){r.push(U(e,t.nodeId)),i.pop();continue}let a=W(e,t.nodeId);if(a.childIds.length===0){Bt(n,1)&&!Bt(n,2)&&r.push(U(e,t.nodeId)),i.pop();continue}let o=a.childIds[t.childIndex];if(o==null){i.pop();continue}t.childIndex++,i.push({childIndex:0,nodeId:o})}return r}function Ar(e,t){let n=[],r=e.snapshot.rootId;for(let i of t){let t=fn(e.snapshot.segmentTable,i),a=W(e,r),o=St(e.snapshot.nodes,a).get(t);if(o!==void 0){if(!V(G(e,o)))throw Error(`Cannot create a directory that collides with an existing file: "${i}"`);r=o;continue}r=jr(e,r,t),n.push(r)}return{createdNodeIds:n,directoryId:r}}function jr(e,t,n){let r=G(e,t),i=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:It(Lt(r)+1,0,1),nameId:n,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),e.snapshot.directories.set(i,bt()),Pr(e,t,i),e.collapseNewDirectoriesByDefault&&(e.collapsedDirectoryIds.add(i),e.hasCollapsedDirectoryOverrides=!0),e.activeNodeCount++,i}function Mr(e,t,n){let r=fn(e.snapshot.segmentTable,n),i=W(e,t);if(St(e.snapshot.nodes,i).has(r))throw Error(`Path already exists: "${$r(e,t,n)}"`);let a=G(e,t),o=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:It(Lt(a)+1,0),nameId:r,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),Pr(e,t,o),e.activeNodeCount++,o}function Nr(e,t,n){let r=0,i=t.childIds.length;for(;r<i;){let a=r+i>>>1,o=t.childIds[a];if(o==null){i=a;continue}Ir(e,n,o)<0?i=a:r=a+1}return r}function Pr(e,t,n){let r=W(e,t),i=G(e,n);St(e.snapshot.nodes,r).set(i.nameId,n),Dt(r,n,i.subtreeNodeCount,i.visibleSubtreeCount);let a=Nr(e,r,n);r.childIds.splice(a,0,n),Tt(r,a),At(e.snapshot.nodes,r)}function Fr(e,t,n,r){let i=W(e,t),a=Ct(i),o=a.get(n)??-1;St(e.snapshot.nodes,i).delete(r),a.delete(n);let s=e.snapshot.nodes[n];s!=null&&Dt(i,n,-s.subtreeNodeCount,-s.visibleSubtreeCount),o>=0&&(i.childIds.splice(o,1),Tt(i,o),At(e.snapshot.nodes,i))}function Ir(e,t,n){let r=e.snapshot.options.sort;return r==="default"?Lr(e,t,n):r(Rr(e,t),Rr(e,n))}function Lr(e,t,n){let r=G(e,t),i=G(e,n),a=V(r);if(a!==V(i))return a?-1:1;let o=Zt(an(e.snapshot.segmentTable,r.nameId),an(e.snapshot.segmentTable,i.nameId));if(o!==0)return o;let s=pn(e.snapshot.segmentTable,r.nameId),c=pn(e.snapshot.segmentTable,i.nameId);return s===c?t<n?-1:1:s<c?-1:1}function Rr(e,t){let n=G(e,t),r=U(e,t),i=V(n),a=i?r.slice(0,-1):r;return{basename:pn(e.snapshot.segmentTable,n.nameId),depth:Lt(n),isDirectory:i,path:r,segments:a.length===0?[]:a.split(`/`)}}function zr(e,t,n){let r=G(e,t),i=Dr(e,n);if(i!=null){let t=G(e,i);if(V(t))return{basename:pn(e.snapshot.segmentTable,r.nameId),existingNodeId:null,parentId:i};let a=ln(n).segments;return{basename:a[a.length-1]??``,existingNodeId:i,parentId:t.parentId}}let a=ln(n),o=a.segments[a.segments.length-1]??``,s=a.segments.slice(0,-1),c=s.length===0?e.snapshot.rootId:Or(e,s,!0);if(c==null)throw Error(`Destination parent does not exist: "${n}"`);return{basename:o,existingNodeId:null,parentId:c}}function Br(e,t,n,r){if(n===`skip`)return`skip`;if(n===`error`)throw Error(`Destination already exists: "${U(e,t)}"`);let i=G(e,t);if(Rt(i)!==r)throw Error(`replace collision requires the same source and destination kinds`);if(V(i)&&W(e,t).childIds.length>0)throw Error(`replace collision does not support non-empty directories`);let a=i.parentId,o=i.nameId;return Vr(e,t),Fr(e,a,t,o),Hr(e,a),wr(e,a),`handled`}function Vr(e,t){let n=[],r=[{nodeId:t,visitedChildren:!1}];for(;r.length>0;){let t=r.pop();if(t==null)break;let i=G(e,t.nodeId);if(t.visitedChildren||!V(i)){V(i)&&e.snapshot.directories.delete(t.nodeId),Vt(i,4),e.pathCacheByNodeId.delete(t.nodeId),e.collapsedDirectoryIds.delete(t.nodeId)&&(e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0),e.expandedDirectoryIds.delete(t.nodeId),Wn(e,t.nodeId),e.activeNodeCount--,n.push(t.nodeId);continue}r.push({nodeId:t.nodeId,visitedChildren:!0});let a=W(e,t.nodeId);for(let e=a.childIds.length-1;e>=0;e--){let t=a.childIds[e];t!=null&&r.push({nodeId:t,visitedChildren:!1})}}return n}function Hr(e,t){let n=t;for(;n!=null;){let t=G(e,n);if(!V(t)||Bt(t,2)||W(e,n).childIds.length>0)return;Vt(t,1),n=t.parentId===n?null:t.parentId}}function Ur(e,t){let n=e.snapshot.rootId;for(let r of t){let t=e.snapshot.segmentTable.idByValue.get(r);if(t==null)break;let i=St(e.snapshot.nodes,W(e,n)).get(t);if(i==null||!V(G(e,i)))break;n=i}return n}function Wr(e,t){let n=qr(e,t);if(n==null)return null;let r=gr(e,n),i=G(e,r),a=n===r?null:_r(e,n).map(t=>U(e,t));return JSON.stringify({flattenedSegmentPaths:a,hasChildren:W(e,r).childIds.length>0,path:U(e,r),terminalKind:Rt(i)})}function Gr(e,t){return Kr([e],[t])}function Kr(e,t){for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r==null||i==null||r!==i)return!0}return!1}function qr(e,t){let n=t;for(;n!=null;){let t=G(e,n);if(!V(t)||Bt(t,2))return null;if(!Fn(e,n,t))return n;n=t.parentId}return null}function Jr(e,t){let n=G(e,t);if(Ht(n,(t===e.snapshot.rootId?-1:Lt(G(e,n.parentId)))+1),!V(n))return;let r=W(e,t);for(let t of r.childIds)Jr(e,t)}function Yr(e,t,n){let r=n;for(;r!=null;){if(r===t)return!0;let n=G(e,r);if(r===e.snapshot.rootId)return!1;r=n.parentId}return!1}function Xr(e,t,n=G(e,t),r=!1){let i=e.instrumentation;if(i==null){Qr(e,t,n,r);return}H(i,`store.recomputeNodeCounts`,()=>Qr(e,t,n,r))}function Zr(e,t){let n=t;for(;n!=null;){let t=G(e,n),r=t.subtreeNodeCount,i=t.visibleSubtreeCount;if(Xr(e,n,t),n===e.snapshot.rootId)return;let a=t.subtreeNodeCount-r,o=t.visibleSubtreeCount-i,s=t.parentId;(a!==0||o!==0)&&Dt(W(e,s),n,a,o),n=s}}function Qr(e,t,n,r){if(!V(n)){n.subtreeNodeCount=1,n.visibleSubtreeCount=1;return}let i=W(e,t);if(r){let t=e.instrumentation;t==null?Et(e.snapshot.nodes,i):H(t,`store.recomputeNodeCounts.rebuildChildAggregates`,()=>Et(e.snapshot.nodes,i))}let a=1+i.totalChildSubtreeNodeCount,o=i.totalChildVisibleSubtreeCount;if(n.subtreeNodeCount=a,Bt(n,2)){n.visibleSubtreeCount=o;return}n.visibleSubtreeCount=hr(e,t)==null?Fn(e,t,n)?1+o:1:o}function $r(e,t,n){let r=U(e,t);return r.length===0?n:`${r}${n}`}function ei(e){return e!=null&&!Bt(e,4)}function ti(e,t){let n=e.snapshot.nodes[t];return!ei(n)||!V(n)||Bt(n,2)?null:n}function ni(e){let t=0;for(let[n,r]of e.pathCacheByNodeId)r.version===e.pathCacheVersion&&ei(e.snapshot.nodes[n])&&(t+=1);return t}function ri(e){return Math.max(0,e.valueById.length-1)}function ii(e){return{activeNodeCount:e.activeNodeCount,cachedPathEntryCount:ni(e),loadInfoEntryCount:e.directoryLoadInfoById.size,segmentCount:ri(e.snapshot.segmentTable),totalNodeSlotCount:Math.max(0,e.snapshot.nodes.length-1)}}function ai(e,t,n,r){return{activeNodeCountAfter:r.activeNodeCount,activeNodeCountBefore:n.activeNodeCount,cachedPathEntryCountAfter:r.cachedPathEntryCount,cachedPathEntryCountBefore:n.cachedPathEntryCount,idsPreserved:t,loadInfoEntryCountAfter:r.loadInfoEntryCount,loadInfoEntryCountBefore:n.loadInfoEntryCount,mode:e,reclaimedCachedPathEntryCount:n.cachedPathEntryCount-r.cachedPathEntryCount,reclaimedLoadInfoEntryCount:n.loadInfoEntryCount-r.loadInfoEntryCount,reclaimedNodeSlotCount:n.totalNodeSlotCount-r.totalNodeSlotCount,reclaimedSegmentCount:n.segmentCount-r.segmentCount,segmentCountAfter:r.segmentCount,segmentCountBefore:n.segmentCount,totalNodeSlotCountAfter:r.totalNodeSlotCount,totalNodeSlotCountBefore:n.totalNodeSlotCount}}function oi(e){let t=[],n=[];for(let n of e.collapsedDirectoryIds)ti(e,n)!=null&&t.push(U(e,n));for(let t of e.expandedDirectoryIds)ti(e,t)!=null&&n.push(U(e,t));return{collapsedPaths:t,expandedPaths:n}}function si(e){let t=[];for(let[n,r]of e.directoryLoadInfoById)ti(e,n)==null||Rn(e,n)===`loaded`||t.push({info:{activeAttemptId:null,errorMessage:r.errorMessage,nextAttemptId:r.nextAttemptId,state:r.state},path:U(e,n)});return t}function ci(e,t){e.collapsedDirectoryIds.clear(),e.hasCollapsedDirectoryOverrides=!1,e.expandedDirectoryIds.clear();for(let n of t.expandedPaths){let t=Dr(e,n);t!=null&&In(e,t,!0,G(e,t))}for(let n of t.collapsedPaths){let t=Dr(e,n);t!=null&&In(e,t,!1,G(e,t))}}function li(e,t){e.directoryLoadInfoById.clear();for(let n of t){let t=Dr(e,n.path);t!=null&&ti(e,t)!=null&&e.directoryLoadInfoById.set(t,{activeAttemptId:null,errorMessage:n.info.errorMessage,nextAttemptId:n.info.nextAttemptId,state:n.info.state})}}function ui(e){e.pathCacheVersion+=1,e.pathCacheByNodeId.clear(),e.pathCacheByNodeId.set(e.snapshot.rootId,{path:``,version:e.pathCacheVersion})}function di(e){let t=e.snapshot.segmentTable,n=dn();for(let r of e.snapshot.nodes)if(ei(r)){if(Bt(r,2)){r.nameId=0;continue}r.nameId=fn(n,pn(t,r.nameId))}e.snapshot.segmentTable=n}function fi(e){for(let[t,n]of e.snapshot.directories){let r=e.snapshot.nodes[t];if(!ei(r)||!V(r)){e.snapshot.directories.delete(t);continue}let i=n.childIds.filter(n=>{let r=e.snapshot.nodes[n];return ei(r)&&r.parentId===t});n.childIds=i,n.childIdByNameId=new Map(i.map(t=>[G(e,t).nameId,t])),n.childPositionById=new Map(i.map((e,t)=>[e,t])),Et(e.snapshot.nodes,n)}}function pi(e){let t=e.snapshot.nodes.length-1;for(;t>e.snapshot.rootId;){let n=e.snapshot.nodes[t];if(ei(n))break;--t}e.snapshot.nodes.length=t+1}function mi(e){let t=oi(e),n=si(e);H(e.instrumentation,`store.cleanup.stable.clearPathCaches`,()=>ui(e)),H(e.instrumentation,`store.cleanup.stable.rebuildSegmentTable`,()=>di(e)),H(e.instrumentation,`store.cleanup.stable.rebuildDirectoryIndexes`,()=>fi(e)),H(e.instrumentation,`store.cleanup.stable.trimTrailingRemovedNodeSlots`,()=>pi(e)),H(e.instrumentation,`store.cleanup.stable.restoreExpansionOverrides`,()=>ci(e,t)),H(e.instrumentation,`store.cleanup.stable.restoreDirectoryLoadInfos`,()=>li(e,n)),H(e.instrumentation,`store.cleanup.stable.recomputeCounts`,()=>Tr(e,e.snapshot.rootId))}function hi(e){let t=oi(e),n=si(e),r=H(e.instrumentation,`store.cleanup.aggressive.listPaths`,()=>vr(e)),i=Wt({...e.snapshot.options},e.instrumentation),a=H(e.instrumentation,`store.cleanup.aggressive.rebuildSnapshot`,()=>{let e=new An(i);return e.appendPaths(r),e.finish()});e.snapshot=a,e.activeNodeCount=a.nodes.length-1,e.pathCacheByNodeId=new Map([[a.rootId,{path:``,version:0}]]),e.pathCacheVersion=0,H(e.instrumentation,`store.cleanup.aggressive.restoreExpansionOverrides`,()=>ci(e,t)),H(e.instrumentation,`store.cleanup.aggressive.restoreDirectoryLoadInfos`,()=>li(e,n)),H(e.instrumentation,`store.cleanup.aggressive.recomputeCounts`,()=>Tr(e,e.snapshot.rootId))}function gi(e){for(let t of e.directoryLoadInfoById.values())if(t.state===`loading`&&t.activeAttemptId!=null)return!0;return!1}function _i(e,t){let n=ii(e);t===`stable`?H(e.instrumentation,`store.cleanup.stable`,()=>mi(e)):H(e.instrumentation,`store.cleanup.aggressive`,()=>hi(e));let r=ii(e);return ai(t,t===`stable`,n,r)}var vi=64;function yi(e,t){let n=t+2;if(n<=e.length)return e;let r=e.length;for(;r<n;)r*=2;let i=new Int32Array(r);return i.fill(-1),i.set(e),i}function bi(e){return G(e,e.snapshot.rootId).visibleSubtreeCount}function xi(e,t,n,r){let i=G(e,t.terminalNodeId),a=Math.max(1,i.visibleSubtreeCount);return Math.min(r-1,n+a-1)}function Si(e,t,n,r){return{ancestorPaths:r,index:t.index,posInSet:t.posInSet,row:Vi(e,t.cursor),setSize:t.setSize,subtreeEndIndex:xi(e,t.cursor,t.index,n)}}function Ci(e,t,n,r,i,a){let o=W(e,t),{childIndex:s,childVisibleIndex:c,localVisibleIndex:l}=Ot(e.snapshot.nodes,o,n),u=o.childIds[s];if(u==null)throw Error(`Visible index ${String(n)} is out of range`);return wi(e,u,l,r+c,i+1,s,o.childIds.length,a)}function wi(e,t,n,r,i,a,o,s){if(!V(G(e,t))){if(n===0)return{ancestors:s,cursor:{headNodeId:t,terminalNodeId:t,visibleDepth:i},index:r,posInSet:a,setSize:o};throw Error(`Visible index ${String(n)} is out of range for file`)}let c=Fi(e,t,i);if(n===0)return{ancestors:s,cursor:c,index:r,posInSet:a,setSize:o};let l=G(e,c.terminalNodeId);if(!V(l)||!Fn(e,c.terminalNodeId,l))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Ci(e,c.terminalNodeId,n-1,r+1,c.visibleDepth,[...s,{cursor:c,index:r,posInSet:a,setSize:o}])}function Ti(e,t){let n=bi(e);if(t<0||t>=n)return null;let r=Ci(e,e.snapshot.rootId,t,0,-1,[]),i=r.ancestors.map(t=>U(e,t.cursor.terminalNodeId)),a=null;return{ancestorPaths:i,get ancestorRows(){if(a!=null)return a;let t=[],i=[];for(let a of r.ancestors){let r=Si(e,a,n,[...i]);t.push(r),i.push(r.row.path)}return a=t,a},index:r.index,posInSet:r.posInSet,row:Vi(e,r.cursor),setSize:r.setSize,subtreeEndIndex:xi(e,r.cursor,r.index,n)}}function Ei(e,t,n){let r=e.instrumentation,i=bi(e);if(i<=0||n<t)return[];let a=Math.max(0,Math.min(t,i-1)),o=Math.max(a,Math.min(n,i-1));if(r==null){if(a===0)return Bi(e,o+1);let t=[],n=Mi(e,a);for(let r=a;r<=o&&n!=null;r++){let r=Vi(e,n);t.push(r),n=Li(e,n)}return t}let s=[],c=0,l=0,u=H(r,`store.getVisibleSlice.selectFirstRow`,()=>Mi(e,a));for(let t=a;t<=o&&u!=null;t++){let t=H(r,`store.getVisibleSlice.materializeRow`,()=>Vi(e,u));s.push(t),t.isFlattened&&(c++,l+=t.flattenedSegments?.length??0),u=H(r,`store.getVisibleSlice.advanceCursor`,()=>Li(e,u))}return Kt(r,`workload.visibleRowsRead`,s.length),Kt(r,`workload.flattenedRowsRead`,c),Kt(r,`workload.flattenedSegmentsRead`,l),s}function Di(e,t=bi(e)){let n=e.instrumentation;return n==null?zi(e,t):H(n,`store.getVisibleTreeProjection`,()=>zi(e,t))}function Oi(e){return Ri(Di(e))}function ki(e,t){let n=Dr(e,t);if(n==null||n===e.snapshot.rootId||V(G(e,n))&&gr(e,n)!==n)return null;let r=0,i=n,{nodes:a,rootId:o}=e.snapshot;for(;i!==o;){let t=G(e,i).parentId,n=W(e,t),s=Ct(n).get(i);if(s==null)throw Error(`Child ${String(i)} was not found in its parent index`);if(r+=kt(a,n,s),t!==o){let n=G(e,t),a=hr(e,t);if(!Fn(e,t,n)&&a!==i)return null;gr(e,t)===t&&(r+=1)}i=t}return r}function Ai(e,t){let n=Dr(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=G(e,n);if(!V(r))throw Error(`Path is not a directory: "${t}"`);return Fn(e,n,r)?null:(In(e,n,!0,r),wr(e,n),Yn({affectedAncestorIds:Er(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0}))}function ji(e,t){let n=Dr(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=G(e,n);if(!V(r))throw Error(`Path is not a directory: "${t}"`);return Fn(e,n,r)?(In(e,n,!1,r),wr(e,n),Xn({affectedAncestorIds:Er(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0})):null}function Mi(e,t){return t<0||t>=bi(e)?null:Ni(e,e.snapshot.rootId,t,-1)}function Ni(e,t,n,r){let i=W(e,t),a=e.instrumentation,{childIndex:o,localVisibleIndex:s}=a==null?Ot(e.snapshot.nodes,i,n):H(a,`store.getVisibleSlice.selectChildIndex`,()=>Ot(e.snapshot.nodes,i,n)),c=i.childIds[o];if(c!=null)return Pi(e,c,s,r+1);throw Error(`Visible index ${String(n)} is out of range`)}function Pi(e,t,n,r){if(!V(G(e,t))){if(n===0)return{headNodeId:t,terminalNodeId:t,visibleDepth:r};throw Error(`Visible index ${String(n)} is out of range for file`)}let i=Fi(e,t,r);if(n===0)return i;let a=G(e,i.terminalNodeId);if(!V(a)||!Fn(e,i.terminalNodeId,a))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Ni(e,i.terminalNodeId,n-1,i.visibleDepth)}function Fi(e,t,n){return V(G(e,t))?e.instrumentation==null?{headNodeId:t,terminalNodeId:gr(e,t),visibleDepth:n}:{headNodeId:t,terminalNodeId:H(e.instrumentation,`store.getVisibleSlice.flatten.resolveTerminalDirectory`,()=>gr(e,t)),visibleDepth:n}:{headNodeId:t,terminalNodeId:t,visibleDepth:n}}function Ii(e,t){let n=G(e,t);if(!V(n))return!0;let r=n.parentId;return r===e.snapshot.rootId?!0:hr(e,r)!==t}function Li(e,t){let n=G(e,t.terminalNodeId);if(V(n)){let r=W(e,t.terminalNodeId);if(Fn(e,t.terminalNodeId,n)&&r.childIds.length>0){let n=r.childIds[0];return n==null?null:Pi(e,n,0,t.visibleDepth+1)}}let r=t.terminalNodeId,i=t.visibleDepth;for(;;){let t=G(e,r);if(r===e.snapshot.rootId)return null;let n=t.parentId,a=W(e,n),o=Ct(a).get(r)??-1;if(o<0)throw Error(`Child ${String(r)} was not found in its parent index`);let s=a.childIds[o+1]??null;if(s!=null)return Pi(e,s,0,i);Ii(e,r)&&i--,r=n}}function Ri(e){let t=e.paths.length,n=Array(t);for(let r=0;r<t;r+=1){let t=e.getParentIndex(r);n[r]={index:r,parentPath:t>=0?e.paths[t]??null:null,path:e.paths[r]??``,posInSet:e.posInSetByIndex[r]??0,setSize:e.setSizeByIndex[r]??0}}return{getParentIndex:e.getParentIndex,rows:n,get visibleIndexByPath(){return e.visibleIndexByPath}}}function zi(e,t){let n=Array(t),r=new Int32Array(t),i=new Int32Array(t),a=new Int32Array(t),o=new Int32Array(vi);o.fill(-1);let s=0,{nodes:c,directories:l,segmentTable:u}=e.snapshot,d=[[l.get(e.snapshot.rootId),0,-1,``]],f=e.snapshot.options.flattenEmptyDirectories,p=e.pathCacheByNodeId,m=e.pathCacheVersion,h=u.valueById;for(;d.length>0&&s<t;){let t=d[d.length-1],u=t[0];if(t[1]>=u.childIds.length){d.pop();continue}let g=t[1],_=u.childIds[t[1]++],v=c[_],y=t[2]+1,b=t[3];o=yi(o,y);let x,S=_;if(V(v))S=f?gr(e,_):_,x=S===_?`${b}${h[v.nameId]}/`:U(e,S);else{let e=p.get(_);x=e!=null&&e.version===m?e.path:`${b}${h[v.nameId]}`}r[s]=o[y],n[s]=x,i[s]=g,a[s]=u.childIds.length,o[y+1]=s,s+=1;let C=c[S];C!=null&&V(C)&&Fn(e,S,C)&&d.push([l.get(S),0,y,x])}s<t&&(n.length=s);let g=r.subarray(0,s),_=i.subarray(0,s),v=a.subarray(0,s),y=null;return{getParentIndex(e){return e<0||e>=s?-1:g[e]??-1},paths:n,posInSetByIndex:_,setSizeByIndex:v,get visibleIndexByPath(){if(y==null){y=new Map;for(let e=0;e<s;e+=1)y.set(n[e]??``,e)}return y}}}function Bi(e,t){let n=Array(t),r=0,{nodes:i,directories:a,segmentTable:o}=e.snapshot,s=[[a.get(e.snapshot.rootId),0,-1]],c=o.valueById,l=e.snapshot.options.flattenEmptyDirectories,u=e.pathCacheByNodeId,d=e.pathCacheVersion;for(;s.length>0&&r<t;){let t=s[s.length-1],o=t[0];if(t[1]>=o.childIds.length){s.pop();continue}let f=o.childIds[t[1]++],p=i[f],m=t[2]+1;if(!V(p)){let t=u.get(f);n[r++]={depth:m,flattenedSegments:void 0,hasChildren:!1,id:f,isExpanded:!1,isFlattened:!1,isLoading:!1,kind:`file`,loadState:void 0,name:c[p.nameId],path:t!=null&&t.version===d?t.path:U(e,f)};continue}let h=l?gr(e,f):f,g={headNodeId:f,terminalNodeId:h,visibleDepth:m};n[r++]=Vi(e,g);let _=i[h];_!=null&&V(_)&&Fn(e,h,_)&&s.push([a.get(h),0,m])}return r<t&&(n.length=r),n}function Vi(e,t){let n=G(e,t.terminalNodeId),r=V(n)?Hi(e,t):null,i=U(e,t.terminalNodeId),a=pn(e.snapshot.segmentTable,n.nameId),o=V(n)&&W(e,t.terminalNodeId).childIds.length>0,s=t.headNodeId!==t.terminalNodeId,c=e.instrumentation,l=s?c==null?_r(e,t.headNodeId).map(n=>{let r=G(e,n);return{isTerminal:n===t.terminalNodeId,name:pn(e.snapshot.segmentTable,r.nameId),nodeId:n,path:U(e,n)}}):H(c,`store.getVisibleSlice.flatten.collectSegments`,()=>_r(e,t.headNodeId).map(n=>{let r=G(e,n);return{isTerminal:n===t.terminalNodeId,name:pn(e.snapshot.segmentTable,r.nameId),nodeId:n,path:U(e,n)}})):void 0;return{depth:t.visibleDepth,flattenedSegments:l,hasChildren:o,id:t.terminalNodeId,isExpanded:V(n)&&Fn(e,t.terminalNodeId,n),isFlattened:s,isLoading:r===`loading`,kind:V(n)?`directory`:`file`,loadState:r==null||r===`loaded`?void 0:r,name:a,path:i}}function Hi(e,t){if(t.headNodeId===t.terminalNodeId)return Rn(e,t.terminalNodeId);let n=_r(e,t.headNodeId),r=!1,i=!1;for(let t of n){let n=Rn(e,t);if(n===`loading`)return`loading`;if(n===`error`){i=!0;continue}n===`unloaded`&&(r=!0)}return i?`error`:r?`unloaded`:`loaded`}function Ui(e){let{directories:t,nodes:n,options:r,rootId:i,presortedDirectoryNodeIds:a}=e.snapshot,o=r.flattenEmptyDirectories===!0,s=e=>{let r=n[e];if(r==null||!V(r))return;let i=t.get(e);if(i==null)throw Error(`Unknown directory child index for node ${String(e)}`);let a=i.childIds,s=a.length,c=0,l=0;for(let e=0;e<s;e++){let t=a[e];if(t==null)continue;let r=n[t];c+=r.subtreeNodeCount,l+=r.visibleSubtreeCount}i.totalChildSubtreeNodeCount=c,i.totalChildVisibleSubtreeCount=l,s>=128&&At(n,i),r.subtreeNodeCount=1+c;let u;if(o&&s===1){let e=n[a[0]];u=e!=null&&V(e)?l:1+l}else u=1+l;r.visibleSubtreeCount=u};if(a!=null)for(let e=a.length-1;e>=0;e--)s(a[e]);else for(let e=n.length-1;e>=1;e--)s(e);let c=n[i],l=t.get(i);if(c==null||l==null)return;let u=l.childIds,d=0,f=0;for(let e=0;e<u.length;e++){let t=u[e];if(t==null)continue;let r=n[t];d+=r.subtreeNodeCount,f+=r.visibleSubtreeCount}l.totalChildSubtreeNodeCount=d,l.totalChildVisibleSubtreeCount=f,At(n,l),c.subtreeNodeCount=1+d,c.visibleSubtreeCount=f}function Wi(e){return e.initialExpansion===`open`&&(e.initialExpandedPaths==null||e.initialExpandedPaths.length===0)}var Gi=class e{#e;constructor(e={}){let t=Gt(e),n=H(t,`store.builder.create`,()=>new An(e));if(e.preparedInput!=null){let t=Dn(e.preparedInput);t==null?n.appendPreparedPaths(En(e.preparedInput),!1):n.appendPresortedPaths(t,On(e.preparedInput))}else{let r=e.paths??[];e.presorted===!0?n.appendPaths(r):n.appendPreparedPaths(H(t,`store.preparePathEntries`,()=>kn(r,e)))}let r=H(t,`store.builder.finish`,()=>n.finish({skipSubtreeCountPass:!0})),i=H(t,`store.state.detectAllDirectoriesExpanded`,()=>(e.initialExpansion??`closed`)===`closed`&&n.didMatchAllInitialExpandedPaths());this.#e=H(t,`store.state.create`,()=>jn(r,i?`open`:e.initialExpansion??`closed`,t)),i&&(this.#e.collapseNewDirectoriesByDefault=!0);let a=i?this.#e.snapshot.directories.size-1:H(t,`store.state.initializeExpandedPaths`,()=>this.initializeExpandedPaths(e.initialExpandedPaths));i||Wi(e)||(e.initialExpansion??`closed`)===`closed`&&a===this.#e.snapshot.directories.size-1||(e.initialExpandedPaths?.length??0)>0&&H(t,`store.state.checkAllDirectoriesExpanded`,()=>this.hasAllDirectoriesExpanded())?H(t,`store.state.initializeOpenVisibleCounts`,()=>Ui(this.#e)):H(t,`store.state.recomputeCounts`,()=>Tr(this.#e,this.#e.snapshot.rootId))}static preparePaths(e,t={}){return Cn(e,t)}static prepareInput(e,t={}){return wn(e,t)}static preparePresortedInput(e){return Tn(e)}list(e){return H(this.#e.instrumentation,`store.list`,()=>vr(this.#e,e))}add(e){H(this.#e.instrumentation,`store.add`,()=>{let t=bi(this.#e);ar(this.#e,rr(this.#e,t,yr(this.#e,e)))})}remove(e,t={}){H(this.#e.instrumentation,`store.remove`,()=>{let n=bi(this.#e);ar(this.#e,rr(this.#e,n,br(this.#e,e,t)))})}move(e,t,n={}){H(this.#e.instrumentation,`store.move`,()=>{let r=bi(this.#e),i=xr(this.#e,e,t,n);i!=null&&ar(this.#e,rr(this.#e,r,i))})}batch(e){ir(this.#e,()=>{if(typeof e==`function`){e(this);return}for(let t of e)switch(t.type){case`add`:this.add(t.path);break;case`remove`:this.remove(t.path,{recursive:t.recursive});break;case`move`:this.move(t.from,t.to,{collision:t.collision});break}})}getVisibleCount(){return H(this.#e.instrumentation,`store.getVisibleCount`,()=>bi(this.#e))}getVisibleSlice(e,t){return H(this.#e.instrumentation,`store.getVisibleSlice`,()=>Ei(this.#e,e,t))}getVisibleRowContext(e){return H(this.#e.instrumentation,`store.getVisibleRowContext`,()=>Ti(this.#e,e))}getVisibleTreeProjection(){return Oi(this.#e)}getVisibleTreeProjectionData(e){return Di(this.#e,e)}getVisibleIndex(e){return H(this.#e.instrumentation,`store.getVisibleIndex`,()=>ki(this.#e,e))}getPathInfo(e){return H(this.#e.instrumentation,`store.getPathInfo`,()=>{let t=Dr(this.#e,e);if(t==null)return null;let n=G(this.#e,t);return{depth:Lt(n),kind:V(n)?`directory`:`file`,path:U(this.#e,t)}})}isExpanded(e){return H(this.#e.instrumentation,`store.isExpanded`,()=>{let t=this.requireDirectoryNodeId(e),n=G(this.#e,t);return Fn(this.#e,t,n)})}expand(e){H(this.#e.instrumentation,`store.expand`,()=>{let t=bi(this.#e),n=Ai(this.#e,e);n!=null&&ar(this.#e,rr(this.#e,t,n))})}collapse(e){H(this.#e.instrumentation,`store.collapse`,()=>{let t=bi(this.#e),n=ji(this.#e,e);n!=null&&ar(this.#e,rr(this.#e,t,n))})}on(e,t){return Gn(this.#e,e,t)}getDirectoryLoadState(e){let t=this.requireDirectoryNodeId(e);return Rn(this.#e,t)}markDirectoryUnloaded(e){H(this.#e.instrumentation,`store.markDirectoryUnloaded`,()=>{let t=this.requireDirectoryNodeId(e);if(W(this.#e,t).childIds.length>0)throw Error(`Cannot mark a directory with known children as unloaded: "${e}"`);let n=bi(this.#e);Bn(this.#e,t),ar(this.#e,rr(this.#e,n,Zn({affectedAncestorIds:Er(this.#e,t),affectedNodeIds:[t],path:e,projectionChanged:this.isDirectoryProjectionVisible(t)})))})}beginChildLoad(e){return H(this.#e.instrumentation,`store.beginChildLoad`,()=>{let t=this.requireDirectoryNodeId(e),n=bi(this.#e),r=zn(this.#e,t);return ar(this.#e,rr(this.#e,n,Qn({affectedAncestorIds:Er(this.#e,t),affectedNodeIds:[t],attemptId:r.attemptId,path:e,projectionChanged:this.isDirectoryProjectionVisible(t),reused:r.reused}))),r})}applyChildPatch(e,t){return H(this.#e.instrumentation,`store.applyChildPatch`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null||Rn(this.#e,n)!==`loading`||!Hn(this.#e,n,e.attemptId))return!1;let r=U(this.#e,n);this.validateChildPatch(r,t);let i=bi(this.#e),a=[];for(let e of t.operations){Ki(r,e);let t=bi(this.#e);switch(e.type){case`add`:a.push(rr(this.#e,t,yr(this.#e,e.path)));break;case`remove`:a.push(rr(this.#e,t,br(this.#e,e.path,{recursive:e.recursive})));break;case`move`:{let n=xr(this.#e,e.from,e.to,{collision:e.collision});n!=null&&a.push(rr(this.#e,t,n));break}}}let o=a.some(e=>e.projectionChanged)||this.isDirectoryProjectionVisible(n);return ar(this.#e,rr(this.#e,i,$n({affectedAncestorIds:Er(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,childEvents:a,path:U(this.#e,n),projectionChanged:o}))),!0})}completeChildLoad(e){return H(this.#e.instrumentation,`store.completeChildLoad`,()=>{let t=this.resolveActiveDirectoryNodeId(e.nodeId);if(t==null)return!1;let n=bi(this.#e),r=Vn(this.#e,t,e.attemptId);return ar(this.#e,rr(this.#e,n,er({affectedAncestorIds:Er(this.#e,t),affectedNodeIds:[t],attemptId:e.attemptId,path:U(this.#e,t),projectionChanged:this.isDirectoryProjectionVisible(t),stale:!r}))),r})}failChildLoad(e,t){return H(this.#e.instrumentation,`store.failChildLoad`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null)return!1;let r=bi(this.#e),i=Un(this.#e,n,e.attemptId,t);return ar(this.#e,rr(this.#e,r,tr({affectedAncestorIds:Er(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,errorMessage:t,path:U(this.#e,n),projectionChanged:this.isDirectoryProjectionVisible(n),stale:!i}))),i})}cleanup(e={}){return H(this.#e.instrumentation,`store.cleanup`,()=>{if(this.#e.transactionStack.length>0)throw Error(`Cleanup cannot run during an open batch or transaction.`);if(gi(this.#e))throw Error(`Cleanup cannot run while directory loads are active.`);let t=bi(this.#e),n=_i(this.#e,e.mode??`stable`);return ar(this.#e,rr(this.#e,t,nr({...n,affectedAncestorIds:[],affectedNodeIds:[],projectionChanged:n.idsPreserved===!1}))),n})}getNodeCount(){return this.#e.activeNodeCount}initializeExpandedPaths(e){if(e==null||e.length===0)return 0;let t=0,n=[],r=[],i=0,a=null,o=this.#e.snapshot.segmentTable,s=o.valueById,c=this.#e.snapshot.nodes,l=new Map;for(let u of e){a!=null&&u<a&&(a=null,i=0,n.length=0,r.length=0);let e=u.length>0&&u.charCodeAt(u.length-1)===47?u.length-1:u.length;if(e===0){a=u,i=e,n.length=0,r.length=0;continue}let d=0,f=0;if(a!=null){let t=Math.min(e,i),n=!0;for(let e=0;e<t;e+=1){let t=u.charCodeAt(e);if(t!==a.charCodeAt(e)){n=!1;break}t===47&&(d+=1,f=e+1)}n&&(t===i&&e>t&&u.charCodeAt(t)===47?(d+=1,f=t+1):t===e&&i>t&&a.charCodeAt(t)===47&&(d+=1,f=e+1)),d=Math.min(d,r.length)}let p=d===0?this.#e.snapshot.rootId:r[d-1]??this.#e.snapshot.rootId,m=d,h=!0,g=f;for(;g<=e;){let t=u.indexOf(`/`,g),i=t===-1||t>e?e:t,a=u.slice(g,i),f=W(this.#e,p).childIds,_=m===d?n[m]??0:0,v=_,y,b=l.get(a)??Yt(a);l.set(a,b);let x=(e,t)=>{for(v=e;v<t;v+=1){let e=f[v],t=c[e],n=s[t.nameId];if(n===a)return y=e,!0;let r=Zt(an(o,t.nameId),b);if(r>0||r===0&&n>a)return!1}return!1};if(!x(_,f.length)&&_>0&&x(0,_),y===void 0){h=!1;break}if(!V(G(this.#e,y))){h=!1;break}if(n[m]=v,r[m]=y,p=y,m+=1,i===e)break;g=i+1}if(a=u,i=e,n.length=m,r.length=m,!h){a=null,i=0,n.length=0,r.length=0;continue}for(let e=d;e<m;e+=1){let n=r[e];if(n==null)continue;let i=G(this.#e,n);Fn(this.#e,n,i)||(In(this.#e,n,!0,i),t+=1)}}return t}hasAllDirectoriesExpanded(){for(let e of this.#e.snapshot.directories.keys()){if(e===this.#e.snapshot.rootId)continue;let t=G(this.#e,e);if(!Fn(this.#e,e,t))return!1}return!0}requireDirectoryNodeId(e){let t=Dr(this.#e,e);if(t==null)throw Error(`Path does not exist: "${e}"`);if(!V(G(this.#e,t)))throw Error(`Path is not a directory: "${e}"`);return t}resolveActiveDirectoryNodeId(e){try{if(!V(G(this.#e,e)))throw Error(`Node is not a directory: ${String(e)}`);return e}catch{return null}}isDirectoryProjectionVisible(e){let t=e;for(;t!==this.#e.snapshot.rootId;){let e=G(this.#e,t).parentId;if(e!==this.#e.snapshot.rootId){let n=G(this.#e,e),r=hr(this.#e,e);if(!Fn(this.#e,e,n)&&r!==t)return!1}t=e}return!0}validateChildPatch(t,n){new e({paths:this.list(t),presorted:!0,sort:this.#e.snapshot.options.sort}).batch(n.operations)}};function Ki(e,t){switch(t.type){case`add`:case`remove`:if(!t.path.startsWith(e)||t.path===e)throw Error(`Child patch operation must stay within ${e}: "${t.path}"`);break;case`move`:if(!t.from.startsWith(e)||!t.to.startsWith(e)||t.from===e||t.to===e)throw Error(`Child patch move must stay within ${e}: "${t.from}" -> "${t.to}"`);break}}var qi={compact:{itemHeight:24,factor:.8},default:{itemHeight:30,factor:1},relaxed:{itemHeight:36,factor:1.2}};function Ji(e,t){if(typeof e==`number`)return{itemHeight:t??qi.default.itemHeight,factor:e};let n=qi[e??`default`];return{itemHeight:t??n.itemHeight,factor:n.factor}}var Yi=qi.default.itemHeight,Xi=`@layer base, theme, unsafe;
2
2
 
3
3
  @layer base {
4
4
  :host {
@@ -2227,4 +2227,4 @@ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{n as t,r as n,t as r}f
2227
2227
  color: var(--diffs-selection-number-fg) !important;
2228
2228
  }
2229
2229
  `;function Sm(e){let t=(0,Yp.c)(5),n=se(e.environmentId,e.resource),[r,i]=(0,Y.useState)(null);if(n._tag===`Failure`||n._tag===`Success`&&r===n.url){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-6 text-center text-xs leading-relaxed text-destructive`,children:`Unable to load image.`}),t[0]=e):e=t[0],e}let a;return t[1]!==n._tag||t[2]!==n.url||t[3]!==e.alt?(a=n._tag===`Success`?(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center overflow-auto p-4`,children:(0,X.jsx)(`img`,{className:`max-h-full max-w-full object-contain`,src:n.url,alt:e.alt,onError:()=>i(n.url)})}):(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center text-muted-foreground`,children:(0,X.jsx)(A,{className:`size-5 animate-spin`})}),t[1]=n._tag,t[2]=n.url,t[3]=e.alt,t[4]=a):a=t[4],a}function Cm(e,t){let n=1;for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);r===10?n+=1:r===13&&(n+=1,e.charCodeAt(t+1)===10&&(t+=1))}return Math.min(Math.max(1,t),n)}function wm(e,t){let n=e.shadowRoot??e;for(let e of n.querySelectorAll(`[${bm}]`))e.removeAttribute(bm);t!==null&&(n.querySelector(`[data-line="${t}"]`)?.setAttribute(bm,``),n.querySelector(`[data-column-number="${t}"]`)?.setAttribute(bm,``))}function Tm(e,t,n){let r=(0,Yp.c)(7),[i]=(0,Y.useState)(Om),[a]=(0,Y.useState)(Dm),[o]=(0,Y.useState)(Em),s;return r[0]!==i||r[1]!==a||r[2]!==o||r[3]!==e||r[4]!==t||r[5]!==n?(s=(r,s,c)=>{if(e===null)return;let l=()=>{let t=o.get(e);t!==void 0&&(cancelAnimationFrame(t),o.delete(e))};if(c===`unmount`){l();return}let u=t===null?null:Cm(s.file?.contents??``,t);if(wm(r,u),!(s instanceof M))return;if(a.get(e)!==n&&(l(),a.set(e,n)),u===null){r.style.minHeight=``;return}let d=r.closest(`.file-preview-virtualizer`);!d||(r.style.minHeight=`${Math.ceil(Math.max(s.height,d.clientHeight))}px`,i.get(e)===n||o.has(e))||o.set(e,requestAnimationFrame(()=>{if(o.delete(e),a.get(e)!==n||!r.isConnected)return;let t=s.getLinePosition(u);if(!t)return;let c=d.scrollTop+r.getBoundingClientRect().top-d.getBoundingClientRect().top,l=Math.max(0,c+t.top-Math.max(0,(d.clientHeight-t.height)/2)),f=Math.max(0,d.scrollHeight-d.clientHeight);d.scrollTop=Math.min(l,f),i.set(e,n)}))},r[0]=i,r[1]=a,r[2]=o,r[3]=e,r[4]=t,r[5]=n,r[6]=s):s=r[6],s}function Em(){return new Map}function Dm(){return new Map}function Om(){return new Map}function km(e){let t=(0,Yp.c)(19),{environmentId:n,cwd:r,relativePath:i,onPendingChange:a}=e,o=ee(_e.writeFile),s;t[0]!==a||t[1]!==i?(s=e=>a(i,e),t[0]=a,t[1]=i,t[2]=s):s=t[2];let c;t[3]!==r||t[4]!==n||t[5]!==i||t[6]!==o?(c=e=>o({environmentId:n,input:{cwd:r,relativePath:i,contents:e}}),t[3]=r,t[4]=n,t[5]=i,t[6]=o,t[7]=c):c=t[7];let l;t[8]!==r||t[9]!==n||t[10]!==i?(l=e=>{He(n,r,i,e)},t[8]=r,t[9]=n,t[10]=i,t[11]=l):l=t[11];let u;t[12]!==s||t[13]!==c||t[14]!==l?(u=new _m({debounceMs:ym,onPendingChange:s,persist:c,onConfirmed:l}),t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15];let d=u,f,p;return t[16]===d?(f=t[17],p=t[18]):(f=()=>()=>d.dispose(),p=[d],t[16]=d,t[17]=f,t[18]=p),(0,Y.useEffect)(f,p),d}function Am(e){let t=(0,Yp.c)(73),{environmentId:n,cwd:r,relativePath:i,composerDraftTarget:a,contents:o,resolvedTheme:s,revealRequestId:c,wordWrap:l,onPostRender:u,onPendingChange:d}=e,f=C(Lm),p=C(Im),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=[],t[0]=m):m=t[0];let[g,_]=(0,Y.useState)(m),[v,y]=(0,Y.useState)(null),b=v?.revealRequestId===c?v.range:null,x;t[1]===c?x=t[2]:(x=e=>{y({revealRequestId:c,range:e})},t[1]=c,t[2]=x);let S=x,w=(0,Y.useRef)(null),T=(0,Y.useRef)(null),E;t[3]!==r||t[4]!==n||t[5]!==d||t[6]!==i?(E={environmentId:n,cwd:r,relativePath:i,onPendingChange:d},t[3]=r,t[4]=n,t[5]=d,t[6]=i,t[7]=E):E=t[7];let D=km(E),O=(0,Y.useRef)(null),ee;t[8]!==f||t[9]!==a||t[10]!==r||t[11]!==n||t[12]!==i||t[13]!==D?(ee=(e,t)=>{if(Pe(n,r,i,e.contents),D.change(e.contents),t){let n=it(t);_(n);for(let t of n)for(let n of t.metadata.entries)n.kind===`comment`&&f(a,h({id:n.id,filePath:i,startLine:n.startLine,endLine:n.endLine,text:n.text,contents:e.contents}))}},t[8]=f,t[9]=a,t[10]=r,t[11]=n,t[12]=i,t[13]=D,t[14]=ee):ee=t[14];let k=ee,A;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>{let t=new Vp(e);return O.current=t,t},t[15]=A):A=t[15];let j=A,M,N;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>()=>{O.current?.cleanUp(),O.current=null},N=[],t[16]=M,t[17]=N):(M=t[16],N=t[17]),(0,Y.useEffect)(M,N);let P;t[18]!==a||t[19]!==p||t[20]!==S?(P=e=>{S(null),p(a,e),_(t=>t.flatMap(t=>{let n=t.metadata.entries.filter(t=>t.id!==e);return n.length>0?[{...t,metadata:{entries:n}}]:[]}))},t[18]=a,t[19]=p,t[20]=S,t[21]=P):P=t[21];let te=P,ne;t[22]!==f||t[23]!==a||t[24]!==o||t[25]!==g||t[26]!==i||t[27]!==S?(ne=(e,t)=>{S(null);let n=g.flatMap(Fm).find(t=>t.id===e);n&&f(a,h({id:n.id,filePath:i,startLine:n.startLine,endLine:n.endLine,text:t,contents:o})),_(n=>n.map(n=>({...n,metadata:{entries:n.metadata.entries.map(n=>n.id===e?{...n,kind:`comment`,text:t}:n)}})))},t[22]=f,t[23]=a,t[24]=o,t[25]=g,t[26]=i,t[27]=S,t[28]=ne):ne=t[28];let re=ne,ie;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(ie=e=>{let{startLine:t,endLine:n}=z(e),r={id:at(),kind:`draft`,startLine:t,endLine:n,text:``};_(e=>{let t=e.flatMap(Nm),i=t.findIndex(e=>e.lineNumber===n);return i<0?[...t,{lineNumber:n,metadata:{entries:[r]}}]:t.map((e,t)=>t===i?{...e,metadata:{entries:[...e.metadata.entries,r]}}:e)})},t[29]=ie):ie=t[29];let ae=ie,oe;t[30]===g?oe=t[31]:(oe=g.some(jm),t[30]=g,t[31]=oe);let se=oe,ce,le;t[32]!==se||t[33]!==S?(ce=()=>{let e=w.current;if(e)return dm({root:e,resolveEditor:()=>O.current,isBlocked:()=>se,onDismiss:()=>S(null)})},le=[se,S],t[32]=se,t[33]=S,t[34]=ce,t[35]=le):(ce=t[34],le=t[35]),(0,Y.useEffect)(ce,le);let ue;t[36]===S?ue=t[37]:(ue=e=>{S(e),e&&ae(e)},t[36]=S,t[37]=ue);let F=ue,de;t[38]!==u||t[39]!==b?(de=(e,t,n)=>{u(e,t,n),T.current!==null&&(cancelAnimationFrame(T.current),T.current=null),n!==`unmount`&&(T.current=requestAnimationFrame(()=>{T.current=null,e.isConnected&&t.setSelectedLines(b,{notify:!1})}))},t[38]=u,t[39]=b,t[40]=de):de=t[40];let fe=de,I;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(I={overscrollSize:600,intersectionObserverMargin:1200},t[41]=I):I=t[41];let L;t[42]!==o||t[43]!==r||t[44]!==i?(L=pm(r,i,o),t[42]=o,t[43]=r,t[44]=i,t[45]=L):L=t[45];let pe;t[46]!==o||t[47]!==i||t[48]!==L?(pe={name:i,contents:o,cacheKey:L},t[46]=o,t[47]=i,t[48]=L,t[49]=pe):pe=t[49];let me=!se,he=!se,ge=l?`wrap`:`scroll`,_e;t[50]===s?_e=t[51]:(_e=Ne(s),t[50]=s,t[51]=_e);let ve;t[52]!==F||t[53]!==fe||t[54]!==s||t[55]!==S||t[56]!==me||t[57]!==he||t[58]!==ge||t[59]!==_e?(ve={disableFileHeader:!0,enableGutterUtility:me,enableLineSelection:he,onGutterUtilityClick:S,onLineSelectionChange:S,onLineSelectionEnd:F,overflow:ge,theme:_e,themeType:s,unsafeCSS:xm,onPostRender:fe},t[52]=F,t[53]=fe,t[54]=s,t[55]=S,t[56]=me,t[57]=he,t[58]=ge,t[59]=_e,t[60]=ve):ve=t[60];let ye;t[61]!==te||t[62]!==re?(ye=e=>(0,X.jsx)(`div`,{className:`py-1`,children:e.metadata.entries.map(e=>(0,X.jsx)(rt,{kind:e.kind,rangeLabel:B(e.startLine,e.endLine),text:e.text,onCancel:()=>te(e.id),onComment:t=>re(e.id,t),onDelete:()=>te(e.id)},e.id))}),t[61]=te,t[62]=re,t[63]=ye):ye=t[63];let be;t[64]===k?be=t[65]:(be={onChange:k},t[64]=k,t[65]=be);let Se;return t[66]!==g||t[67]!==b||t[68]!==pe||t[69]!==ve||t[70]!==ye||t[71]!==be?(Se=(0,X.jsx)(xe,{createEditor:j,children:(0,X.jsx)(`div`,{ref:w,className:`flex min-h-0 flex-1`,children:(0,X.jsx)(Qe,{className:`file-preview-virtualizer min-h-0 flex-1 overflow-auto`,config:I,children:(0,X.jsx)(ql,{file:pe,options:ve,selectedLines:b,lineAnnotations:g,renderAnnotation:ye,className:`min-h-full`,edit:!0,editorOptions:be})})})}),t[66]=g,t[67]=b,t[68]=pe,t[69]=ve,t[70]=ye,t[71]=be,t[72]=Se):Se=t[72],Se}function jm(e){return e.metadata.entries.some(Mm)}function Mm(e){return e.kind===`draft`}function Nm(e){let t=e.metadata.entries.filter(Pm);return t.length>0?[{...e,metadata:{entries:t}}]:[]}function Pm(e){return e.kind!==`draft`}function Fm(e){return e.metadata.entries}function Im(e){return e.removeReviewComment}function Lm(e){return e.addReviewComment}function Rm(e){let t=(0,Yp.c)(17),{environmentId:n,cwd:r,relativePath:i,contents:a,threadRef:o,readOnly:s,onPendingChange:c}=e,l;t[0]!==r||t[1]!==n||t[2]!==c||t[3]!==i?(l={environmentId:n,cwd:r,relativePath:i,onPendingChange:c},t[0]=r,t[1]=n,t[2]=c,t[3]=i,t[4]=l):l=t[4];let u=km(l),d;t[5]!==a||t[6]!==r||t[7]!==n||t[8]!==s||t[9]!==i||t[10]!==u?(d=s?{}:{onTaskListChange:e=>{let{markerOffset:t,checked:o}=e,s=Ze(n,r,i)?.contents??a,c=gm(s,t,o);c!==s&&(Pe(n,r,i,c),u.change(c))}},t[5]=a,t[6]=r,t[7]=n,t[8]=s,t[9]=i,t[10]=u,t[11]=d):d=t[11];let f;return t[12]!==a||t[13]!==r||t[14]!==d||t[15]!==o?(f=(0,X.jsx)(Me,{className:`min-h-0 flex-1`,children:(0,X.jsx)(te,{text:a,cwd:r,threadRef:o,className:`mx-auto max-w-4xl px-6 py-5`,...d})}),t[12]=a,t[13]=r,t[14]=d,t[15]=o,t[16]=f):f=t[16],f}function zm(){try{return c(vm,f)??!0}catch(e){return console.error(e),!0}}function Bm(e){let t=(0,Yp.c)(103),{environmentId:n,cwd:r,projectName:o,workspaceRoot:c,relativePath:u,absolutePath:f,isOutsideWorkspace:p,threadRef:h,composerDraftTarget:v,keybindings:C,availableEditors:j,revealLine:M,revealRequestId:N,onOpenFile:P,onPendingChange:te}=e,{resolvedTheme:re}=m(),ie=ve(Hm),ae=E(),oe=O(n),se;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(se={reportFailure:!1},t[0]=se):se=t[0];let ce=We(ye.createUrl,se),le;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(le={reportFailure:!1},t[1]=le):le=t[1];let ue=ee(l.open,le),F=n===ae,de;t[2]===u?de=t[3]:(de=u!==null&&w(u),t[2]=u,t[3]=de);let fe=de,I=qe(n,r,u,!fe,f),[L,me]=(0,Y.useState)(zm),[he,ge]=(0,Y.useState)(!1),_e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(_e={path:null,revealRequestId:null},t[4]=_e):_e=t[4];let[be,xe]=(0,Y.useState)(_e),Se=(0,Y.useRef)(null),R;t[5]===u?R=t[6]:(R=u?hm(u):!1,t[5]=u,t[6]=R);let Ce=R,we=Ce&&be.path===u&&(M===null||be.revealRequestId===N),De;t[7]===u?De=t[8]:(De=u!==null&&i()&&Fe(u),t[7]=u,t[8]=De);let Oe=De,ke;t[9]!==r||t[10]!==f||t[11]!==u?(ke=f??(u?y(u,r):null),t[9]=r,t[10]=f,t[11]=u,t[12]=ke):ke=t[12];let Ae=ke,je;t[13]!==Ae||t[14]!==F||t[15]!==h.threadId||t[16]!==c?(je=Ae===null?null:S({filePath:Ae,threadId:h.threadId,workspaceRoot:c,allowLocalFiles:F}),t[13]=Ae,t[14]=F,t[15]=h.threadId,t[16]=c,t[17]=je):je=t[17];let Pe=je,Ie;t[18]!==r||t[19]!==p||t[20]!==o||t[21]!==u?(Ie=u?mm(p?r:o,u):[],t[18]=r,t[19]=p,t[20]=o,t[21]=u,t[22]=Ie):Ie=t[22];let Le=Ie,Re=Tm(u,M,N),ze;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(ze=()=>{(Se.current?.querySelector(`[data-current-file-crumb='true']`))?.scrollIntoView({block:`nearest`,inline:`end`})},t[23]=ze):ze=t[23];let Be;t[24]===u?Be=t[25]:(Be=[u],t[24]=u,t[25]=Be),(0,Y.useEffect)(ze,Be);let Ve;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=()=>{me(Vm)},t[26]=Ve):Ve=t[26];let He=Ve,Ke;t[27]!==Ae||t[28]!==F||t[29]!==ce||t[30]!==oe||t[31]!==ue||t[32]!==re||t[33]!==h||t[34]!==c?(Ke=()=>{!Ae||!oe||(async()=>{let e=await Xe({threadRef:h,filePath:Ae,httpBaseUrl:oe,workspaceRoot:c,allowLocalFiles:F,theme:re,createAssetUrl:ce,openPreview:ue});if(e._tag===`Success`||T(e))return;let t=g(e);D.add(a({type:`error`,title:`Unable to open file in browser`,description:t instanceof Error?t.message:`An error occurred.`}))})()},t[27]=Ae,t[28]=F,t[29]=ce,t[30]=oe,t[31]=ue,t[32]=re,t[33]=h,t[34]=c,t[35]=Ke):Ke=t[35];let Je=Ke,Ze;t[36]!==Ae||t[37]!==F||t[38]!==j||t[39]!==v||t[40]!==r||t[41]!==n||t[42]!==I||t[43]!==Pe||t[44]!==fe||t[45]!==Ce||t[46]!==p||t[47]!==C||t[48]!==Re||t[49]!==te||t[50]!==u||t[51]!==we||t[52]!==re||t[53]!==N||t[54]!==h||t[55]!==ie?(Ze=u&&fe&&Pe?(0,X.jsx)(Sm,{environmentId:n,resource:Pe,alt:u},Ae??u):u&&I.error&&I.data===null?(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-6 text-center text-xs leading-relaxed text-destructive`,children:I.error}):u&&I.data===null?(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center text-muted-foreground`,children:(0,X.jsx)(A,{className:`size-5 animate-spin`})}):u&&I.data?I.data.binary&&Ae?(0,X.jsx)(om,{environmentId:n,keybindings:C,availableEditors:j,absolutePath:Ae,name:u.slice(u.lastIndexOf(`/`)+1),byteLength:I.data.byteLength,canRevealInFileManager:F&&k()}):Ce&&we?(0,X.jsx)(Rm,{environmentId:n,cwd:r,relativePath:u,threadRef:h,contents:I.data.contents,readOnly:p,onPendingChange:te}):I.data.truncated||p?(0,X.jsx)(Qe,{className:`file-preview-virtualizer min-h-0 flex-1 overflow-auto`,config:{overscrollSize:600,intersectionObserverMargin:1200},children:(0,X.jsx)(ql,{file:{name:u,contents:I.data.contents,cacheKey:pm(r,u,I.data.contents)},options:{disableFileHeader:!0,overflow:ie?`wrap`:`scroll`,theme:Ne(re),themeType:re,unsafeCSS:xm,onPostRender:Re},className:`min-h-full`})},`${u}:${re}:${I.data.byteLength}`):(0,X.jsx)(Am,{environmentId:n,cwd:r,relativePath:u,composerDraftTarget:v,contents:I.data.contents,resolvedTheme:re,revealRequestId:N,wordWrap:ie,onPostRender:Re,onPendingChange:te},`${u}:${re}`):null,t[36]=Ae,t[37]=F,t[38]=j,t[39]=v,t[40]=r,t[41]=n,t[42]=I,t[43]=Pe,t[44]=fe,t[45]=Ce,t[46]=p,t[47]=C,t[48]=Re,t[49]=te,t[50]=u,t[51]=we,t[52]=re,t[53]=N,t[54]=h,t[55]=ie,t[56]=Ze):Ze=t[56];let $e=Ze,et;t[57]!==Ae||t[58]!==j||t[59]!==Le||t[60]!==Oe||t[61]!==n||t[62]!==he||t[63]!==L||t[64]!==Je||t[65]!==Ce||t[66]!==C||t[67]!==ae||t[68]!==o||t[69]!==u||t[70]!==we||t[71]!==N?(et=u?(0,X.jsxs)(`div`,{className:`surface-subheader gap-2 px-3`,"data-surface-subheader":!0,children:[(0,X.jsx)(Me,{ref:Se,hideScrollbars:!0,scrollFade:!0,className:`min-w-0 flex-1 rounded-none`,"data-file-breadcrumbs":!0,children:(0,X.jsx)(`div`,{className:`flex h-full w-max min-w-full items-center text-xs`,children:Le.map((e,t)=>(0,X.jsxs)(`div`,{className:`flex min-w-0 shrink-0 items-center`,"data-current-file-crumb":e.kind===`file`,children:[t>0?(0,X.jsx)(b,{className:`mx-1 size-3.5 shrink-0 text-muted-foreground/60`}):null,(0,X.jsx)(`span`,{className:x(`max-w-40 truncate`,e.kind===`file`?`font-medium text-foreground`:`text-muted-foreground`),title:e.path||o,children:e.label})]},e.path||`project`))})}),Ae&&n===ae?(0,X.jsx)(Ue,{environmentId:n,keybindings:C,availableEditors:j,openInCwd:Ae,compact:!0,enableShortcut:!1}):null,Ce?(0,X.jsxs)(d,{children:[(0,X.jsx)(_,{render:(0,X.jsx)(Ee,{className:`shrink-0`,pressed:we,onPressedChange:e=>{xe({path:e?u:null,revealRequestId:e?N:null})},"aria-label":we?`Show markdown source`:`Show rendered markdown`,variant:`ghost`,size:`sm`,children:we?(0,X.jsx)(Ge,{className:`size-3.5`}):(0,X.jsx)(ne,{className:`size-3.5`})})}),(0,X.jsx)(s,{children:we?`Show markdown source`:`Show rendered markdown`})]}):null,Oe?(0,X.jsxs)(d,{children:[(0,X.jsx)(_,{render:(0,X.jsx)(Ee,{className:`shrink-0`,pressed:!1,onPressedChange:Je,"aria-label":`Open file in preview browser`,variant:`ghost`,size:`sm`,children:(0,X.jsx)(Ye,{className:`size-3.5`})})}),(0,X.jsx)(s,{children:`Open file in preview browser`})]}):null,(0,X.jsxs)(d,{children:[(0,X.jsx)(_,{render:(0,X.jsx)(Ee,{className:`shrink-0`,pressed:he,onPressedChange:ge,"aria-label":he?`Collapse file preview`:`Expand file preview`,variant:`ghost`,size:`sm`,children:he?(0,X.jsx)(pe,{className:`size-3.5`}):(0,X.jsx)(Te,{className:`size-3.5`})})}),(0,X.jsx)(s,{children:he?`Collapse file preview`:`Expand file preview`})]}),(0,X.jsxs)(d,{children:[(0,X.jsx)(_,{render:(0,X.jsx)(Ee,{className:`shrink-0`,pressed:L,onPressedChange:He,"aria-label":L?`Hide file explorer`:`Show file explorer`,variant:`ghost`,size:`sm`,children:(0,X.jsx)(st,{className:`size-3.5`})})}),(0,X.jsx)(s,{children:L?`Hide file explorer`:`Show file explorer`})]})]}):null,t[57]=Ae,t[58]=j,t[59]=Le,t[60]=Oe,t[61]=n,t[62]=he,t[63]=L,t[64]=Je,t[65]=Ce,t[66]=C,t[67]=ae,t[68]=o,t[69]=u,t[70]=we,t[71]=N,t[72]=et):et=t[72];let tt;t[73]!==I||t[74]!==u?(tt=u&&I.data?.truncated?(0,X.jsxs)(`div`,{className:`shrink-0 border-b border-amber-500/20 bg-amber-500/8 px-3 py-1.5 text-[11px] text-amber-700 dark:text-amber-300`,children:[`Preview limited to the first 1 MB of a `,I.data.byteLength.toLocaleString(),` byte file.`]}):null,t[73]=I,t[74]=u,t[75]=tt):tt=t[75];let nt=u?`flex`:`hidden`,rt;t[76]===nt?rt=t[77]:(rt=x(`min-w-0 flex-1 flex-col overflow-hidden`,nt),t[76]=nt,t[77]=rt);let it;t[78]!==he||t[79]!==$e?(it=he?(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-6 text-center text-xs text-muted-foreground`,children:`Shown in the expanded view.`}):$e,t[78]=he,t[79]=$e,t[80]=it):it=t[80];let at;t[81]!==rt||t[82]!==it?(at=(0,X.jsx)(`div`,{className:rt,children:it}),t[81]=rt,t[82]=it,t[83]=at):at=t[83];let z;t[84]!==r||t[85]!==n||t[86]!==L||t[87]!==P||t[88]!==o||t[89]!==u?(z=L||u===null?(0,X.jsx)(`aside`,{className:x(`flex min-h-0 shrink-0 bg-background`,u?`w-[min(22rem,46%)] min-w-64 border-l border-border/60`:`min-w-0 flex-1`),children:(0,X.jsx)(em,{environmentId:n,cwd:r,projectName:o,onOpenFile:P},`${n}:${r}`)}):null,t[84]=r,t[85]=n,t[86]=L,t[87]=P,t[88]=o,t[89]=u,t[90]=z):z=t[90];let B;t[91]!==at||t[92]!==z?(B=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[at,z]}),t[91]=at,t[92]=z,t[93]=B):B=t[93];let ot=he&&u!==null,ct=u??``,lt;t[94]!==$e||t[95]!==ot||t[96]!==ct?(lt=(0,X.jsx)(tm,{open:ot,title:ct,onOpenChange:ge,children:$e}),t[94]=$e,t[95]=ot,t[96]=ct,t[97]=lt):lt=t[97];let ut;return t[98]!==et||t[99]!==tt||t[100]!==B||t[101]!==lt?(ut=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden bg-background`,children:[et,tt,B,lt]}),t[98]=et,t[99]=tt,t[100]=B,t[101]=lt,t[102]=ut):ut=t[102],ut}function Vm(e){let t=!e;try{j(vm,t,f)}catch(e){console.error(e)}return t}function Hm(e){return e.wordWrap}export{Bm as default};
2230
- //# sourceMappingURL=FilePreviewPanel-BvPFmgV6.js.map
2230
+ //# sourceMappingURL=FilePreviewPanel-C3qsh6o7.js.map