@p4code/cli 0.3.25 → 0.3.26
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 +104 -7
- package/dist/client/assets/{DiffPanel-DyRCsN-L.js → DiffPanel-Cp9ZchPD.js} +2 -2
- package/dist/client/assets/{FilePreviewPanel-BcFsJ3NC.js → FilePreviewPanel-BSEYlFH_.js} +2 -2
- package/dist/client/assets/{PreviewPanel-CMq9oYbH.js → PreviewPanel-D9gIr3nZ.js} +2 -2
- package/dist/client/assets/{PullRequestCodeTab-BgxA0nct.js → PullRequestCodeTab-DREOEFKL.js} +2 -2
- package/dist/client/assets/{fileCommentAnnotations-BeZLWoIj.js → fileCommentAnnotations-DktOAoZq.js} +2 -2
- package/dist/client/assets/{index-BIKAuS5A.js → index-DQk2JhL0.js} +11 -6
- package/dist/client/assets/{renderFileChildren-C8ONtcgR.js → renderFileChildren-C8xF9yZB.js} +2 -2
- package/dist/client/assets/{toggle-group-D3d10cVi.js → toggle-group-oAiXdJRV.js} +2 -2
- package/dist/client/index.html +1 -1
- package/package.json +1 -1
package/dist/bin.mjs
CHANGED
|
@@ -239,7 +239,7 @@ const make$92 = () => {
|
|
|
239
239
|
const layer$82 = Layer.sync(NetService, make$92);
|
|
240
240
|
//#endregion
|
|
241
241
|
//#region package.json
|
|
242
|
-
var version = "0.3.
|
|
242
|
+
var version = "0.3.26";
|
|
243
243
|
//#endregion
|
|
244
244
|
//#region src/config.ts
|
|
245
245
|
/**
|
|
@@ -56312,6 +56312,16 @@ function resolveWorkspaceCleanupRefusal(input) {
|
|
|
56312
56312
|
if (!input.isMerged) return "Cleanup refused because branch is not merged into default branch.";
|
|
56313
56313
|
return null;
|
|
56314
56314
|
}
|
|
56315
|
+
/**
|
|
56316
|
+
* A thread on a detached HEAD has no branch to merge, so its worktree is safe
|
|
56317
|
+
* to drop as soon as nothing in it is unsaved and every commit it points at is
|
|
56318
|
+
* already on the default branch.
|
|
56319
|
+
*/
|
|
56320
|
+
function resolveDetachedWorkspaceCleanupRefusal(input) {
|
|
56321
|
+
if (input.hasUncommittedChanges) return "Cleanup refused because worktree has uncommitted changes.";
|
|
56322
|
+
if (!input.headIsAncestorOfDefault) return "Cleanup refused because the detached worktree has commits that are not on the default branch.";
|
|
56323
|
+
return null;
|
|
56324
|
+
}
|
|
56315
56325
|
function resolveMergedWorkspaceContext(input) {
|
|
56316
56326
|
const pullRequest = input.pullRequest;
|
|
56317
56327
|
if (input.branchIsAncestor && input.branchCommitSha !== null) return {
|
|
@@ -56352,6 +56362,72 @@ const make$29 = Effect.gen(function* () {
|
|
|
56352
56362
|
}))), { discard: true });
|
|
56353
56363
|
});
|
|
56354
56364
|
const record = (input) => recordRaw(input).pipe(mapLifecycleError);
|
|
56365
|
+
const cleanupDetachedWorktree = Effect.fn("threadWorkspaceLifecycle.cleanupDetached")(function* (input) {
|
|
56366
|
+
const { threadIds, project, worktreePath, refusal, now } = input;
|
|
56367
|
+
if ((yield* git.statusDetailsLocal(worktreePath).pipe(Effect.mapError((cause) => new ThreadWorkspaceLifecycleError({
|
|
56368
|
+
detail: "Could not inspect thread worktree before cleanup.",
|
|
56369
|
+
cause
|
|
56370
|
+
})))).hasWorkingTreeChanges) return yield* refusal(resolveDetachedWorkspaceCleanupRefusal({
|
|
56371
|
+
hasUncommittedChanges: true,
|
|
56372
|
+
headIsAncestorOfDefault: true
|
|
56373
|
+
}));
|
|
56374
|
+
const defaultRef = (yield* gitWorkflow.listRefs({
|
|
56375
|
+
cwd: project.workspaceRoot,
|
|
56376
|
+
includeMatchingRemoteRefs: true,
|
|
56377
|
+
refresh: true
|
|
56378
|
+
})).refs.find((ref) => ref.isRemote === true && ref.isDefault);
|
|
56379
|
+
if (defaultRef === void 0 || defaultRef.remoteName === void 0) return yield* refusal("Cleanup refused because the default remote branch could not be resolved.");
|
|
56380
|
+
yield* gitWorkflow.fetchRemote({
|
|
56381
|
+
cwd: project.workspaceRoot,
|
|
56382
|
+
remoteName: defaultRef.remoteName
|
|
56383
|
+
});
|
|
56384
|
+
const ancestorResult = yield* git.execute({
|
|
56385
|
+
operation: "ThreadWorkspaceLifecycle.detachedMergeBase",
|
|
56386
|
+
cwd: worktreePath,
|
|
56387
|
+
args: [
|
|
56388
|
+
"merge-base",
|
|
56389
|
+
"--is-ancestor",
|
|
56390
|
+
"HEAD",
|
|
56391
|
+
`refs/remotes/${defaultRef.name}`
|
|
56392
|
+
],
|
|
56393
|
+
allowNonZeroExit: true
|
|
56394
|
+
});
|
|
56395
|
+
if (ancestorResult.exitCode !== 0 && ancestorResult.exitCode !== 1) return yield* refusal("Cleanup refused because worktree ancestry could not be verified.");
|
|
56396
|
+
const ancestryRefusal = resolveDetachedWorkspaceCleanupRefusal({
|
|
56397
|
+
hasUncommittedChanges: false,
|
|
56398
|
+
headIsAncestorOfDefault: ancestorResult.exitCode === 0
|
|
56399
|
+
});
|
|
56400
|
+
if (ancestryRefusal !== null) return yield* refusal(ancestryRefusal);
|
|
56401
|
+
yield* record({
|
|
56402
|
+
threadIds,
|
|
56403
|
+
lifecycle: {
|
|
56404
|
+
status: "cleanup-pending",
|
|
56405
|
+
detail: "Detached worktree verified; workspace cleanup is pending.",
|
|
56406
|
+
pullRequestNumber: null,
|
|
56407
|
+
mergeCommitSha: null,
|
|
56408
|
+
updatedAt: now
|
|
56409
|
+
}
|
|
56410
|
+
});
|
|
56411
|
+
yield* gitWorkflow.removeWorktree({
|
|
56412
|
+
cwd: project.workspaceRoot,
|
|
56413
|
+
path: worktreePath
|
|
56414
|
+
});
|
|
56415
|
+
const detail = "Detached worktree removed; thread context preserved.";
|
|
56416
|
+
yield* record({
|
|
56417
|
+
threadIds,
|
|
56418
|
+
lifecycle: {
|
|
56419
|
+
status: "cleaned",
|
|
56420
|
+
detail,
|
|
56421
|
+
pullRequestNumber: null,
|
|
56422
|
+
mergeCommitSha: null,
|
|
56423
|
+
updatedAt: DateTime.formatIso(yield* DateTime.now)
|
|
56424
|
+
}
|
|
56425
|
+
});
|
|
56426
|
+
return {
|
|
56427
|
+
outcome: "cleaned",
|
|
56428
|
+
detail
|
|
56429
|
+
};
|
|
56430
|
+
});
|
|
56355
56431
|
const cleanupRaw = Effect.fn("threadWorkspaceLifecycle.cleanup")(function* (threadId) {
|
|
56356
56432
|
const snapshot = yield* snapshots.getCommandReadModel();
|
|
56357
56433
|
const threadIds = activePairThreadIds(threadId, snapshot.threadPairs ?? []);
|
|
@@ -56387,8 +56463,15 @@ const make$29 = Effect.gen(function* () {
|
|
|
56387
56463
|
if (threads.some((thread) => thread.archivedAt === null)) return yield* refusal("Cleanup refused because thread is not archived.");
|
|
56388
56464
|
const branch = requestedThread.branch;
|
|
56389
56465
|
const worktreePath = requestedThread.worktreePath;
|
|
56390
|
-
if (
|
|
56466
|
+
if (worktreePath === null) return yield* refusal("Cleanup refused because thread has no worktree.");
|
|
56391
56467
|
if (threads.some((thread) => thread.branch !== branch || thread.worktreePath !== worktreePath)) return yield* refusal("Cleanup refused because Fusion threads do not share one workspace.");
|
|
56468
|
+
if (branch === null) return yield* cleanupDetachedWorktree({
|
|
56469
|
+
threadIds,
|
|
56470
|
+
project,
|
|
56471
|
+
worktreePath,
|
|
56472
|
+
refusal,
|
|
56473
|
+
now
|
|
56474
|
+
});
|
|
56392
56475
|
const dirtyRefusal = resolveWorkspaceCleanupRefusal({
|
|
56393
56476
|
hasLiveSession: false,
|
|
56394
56477
|
hasUncommittedChanges: (yield* git.statusDetailsLocal(worktreePath).pipe(Effect.mapError((cause) => new ThreadWorkspaceLifecycleError({
|
|
@@ -92560,10 +92643,15 @@ function collabTaskEvents(event, canonicalThreadId, item, defaults) {
|
|
|
92560
92643
|
}
|
|
92561
92644
|
return events;
|
|
92562
92645
|
}
|
|
92563
|
-
function itemTitle(itemType, item) {
|
|
92646
|
+
function itemTitle(itemType, item, agentNames) {
|
|
92564
92647
|
if (itemType === "mcp_tool_call" && item?.type === "mcpToolCall") return `${item.server} · ${item.tool}`;
|
|
92565
92648
|
if (item?.type === "collabAgentToolCall") {
|
|
92566
92649
|
const title = COLLAB_TOOL_TITLES[item.tool] ?? "Agent tool call";
|
|
92650
|
+
const names = item.receiverThreadIds.flatMap((threadId) => {
|
|
92651
|
+
const name = agentNames?.get(threadId);
|
|
92652
|
+
return name ? [name] : [];
|
|
92653
|
+
});
|
|
92654
|
+
if (names.length > 0) return `${title} · ${names.join(", ")}`;
|
|
92567
92655
|
const model = trimText$1(item.model);
|
|
92568
92656
|
return model ? `${title} · ${model}` : title;
|
|
92569
92657
|
}
|
|
@@ -92715,12 +92803,13 @@ function runtimeEventBase(event, canonicalThreadId) {
|
|
|
92715
92803
|
}
|
|
92716
92804
|
};
|
|
92717
92805
|
}
|
|
92718
|
-
function mapItemLifecycle(event, canonicalThreadId, lifecycle) {
|
|
92806
|
+
function mapItemLifecycle(event, canonicalThreadId, lifecycle, agentNames) {
|
|
92719
92807
|
const item = (readPayload(V2ItemStartedNotification, event.payload) ?? readPayload(V2ItemCompletedNotification, event.payload))?.item;
|
|
92720
92808
|
if (!item) return;
|
|
92721
92809
|
const itemType = toCanonicalItemType(item.type);
|
|
92722
92810
|
if (itemType === "unknown" && lifecycle !== "item.updated") return;
|
|
92723
92811
|
const detail = itemDetail(itemType, item);
|
|
92812
|
+
const title = itemTitle(itemType, item, agentNames);
|
|
92724
92813
|
const status = lifecycle === "item.started" ? "inProgress" : lifecycle === "item.completed" ? "completed" : void 0;
|
|
92725
92814
|
return {
|
|
92726
92815
|
...runtimeEventBase(event, canonicalThreadId),
|
|
@@ -92728,12 +92817,17 @@ function mapItemLifecycle(event, canonicalThreadId, lifecycle) {
|
|
|
92728
92817
|
payload: {
|
|
92729
92818
|
itemType,
|
|
92730
92819
|
...status ? { status } : {},
|
|
92731
|
-
...
|
|
92820
|
+
...title ? { title } : {},
|
|
92732
92821
|
...detail ? { detail } : {},
|
|
92733
92822
|
...event.payload !== void 0 ? { data: event.payload } : {}
|
|
92734
92823
|
}
|
|
92735
92824
|
};
|
|
92736
92825
|
}
|
|
92826
|
+
function rememberAgentName(item, collabDefaults) {
|
|
92827
|
+
if (item.type !== "subAgentActivity" || collabDefaults === void 0) return;
|
|
92828
|
+
const name = agentNameFromPath(item.agentPath);
|
|
92829
|
+
if (name) collabDefaults.agentNames.set(item.agentThreadId, name);
|
|
92830
|
+
}
|
|
92737
92831
|
function mapToRuntimeEvents(event, canonicalThreadId, collabDefaults) {
|
|
92738
92832
|
if (event.kind === "error") {
|
|
92739
92833
|
if (!event.message) return [];
|
|
@@ -92926,8 +93020,9 @@ function mapToRuntimeEvents(event, canonicalThreadId, collabDefaults) {
|
|
|
92926
93020
|
}];
|
|
92927
93021
|
}
|
|
92928
93022
|
if (event.method === "item/started") {
|
|
92929
|
-
const started = mapItemLifecycle(event, canonicalThreadId, "item.started");
|
|
92930
93023
|
const item = readPayload(V2ItemStartedNotification, event.payload)?.item;
|
|
93024
|
+
if (item) rememberAgentName(item, collabDefaults);
|
|
93025
|
+
const started = mapItemLifecycle(event, canonicalThreadId, "item.started", collabDefaults?.agentNames);
|
|
92931
93026
|
const taskEvents = item ? collabTaskEvents(event, canonicalThreadId, item, collabDefaults) : [];
|
|
92932
93027
|
return started ? [started, ...taskEvents] : taskEvents;
|
|
92933
93028
|
}
|
|
@@ -92944,7 +93039,8 @@ function mapToRuntimeEvents(event, canonicalThreadId, collabDefaults) {
|
|
|
92944
93039
|
payload: { planMarkdown: detail }
|
|
92945
93040
|
}];
|
|
92946
93041
|
}
|
|
92947
|
-
|
|
93042
|
+
rememberAgentName(item, collabDefaults);
|
|
93043
|
+
const completed = mapItemLifecycle(event, canonicalThreadId, "item.completed", collabDefaults?.agentNames);
|
|
92948
93044
|
const taskEvents = collabTaskEvents(event, canonicalThreadId, item, collabDefaults);
|
|
92949
93045
|
return completed ? [completed, ...taskEvents] : taskEvents;
|
|
92950
93046
|
}
|
|
@@ -93318,6 +93414,7 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
|
|
|
93318
93414
|
cause
|
|
93319
93415
|
})));
|
|
93320
93416
|
const collabDefaults = {
|
|
93417
|
+
agentNames: /* @__PURE__ */ new Map(),
|
|
93321
93418
|
model: input.modelSelection?.instanceId === boundInstanceId ? input.modelSelection.model : void 0,
|
|
93322
93419
|
reasoningEffort: input.modelSelection?.instanceId === boundInstanceId ? getModelSelectionStringOptionValue(input.modelSelection, "reasoningEffort") : void 0
|
|
93323
93420
|
};
|
|
@@ -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{$c as i,Ca as a,Cl as o,Da as s,Et as c,Fa as l,Fr as u,Ia as d,La as f,Na as p,Oa as m,Pa as ee,Pl as h,Qc as g,_n as te,b as _,ba as v,cu as y,el as ne,gt as b,h as x,ht as S,kl as C,kr as re,st as w,tl as T,vl as ie,vt as E,wr as D,xn as O,zl as ae}from"./previewAssetResource-xr2rxKjm.js";import{a as k,i as oe,n as A,o as j,r as M,s as N,t as se}from"./toggle-group-
|
|
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{$c as i,Ca as a,Cl as o,Da as s,Et as c,Fa as l,Fr as u,Ia as d,La as f,Na as p,Oa as m,Pa as ee,Pl as h,Qc as g,_n as te,b as _,ba as v,cu as y,el as ne,gt as b,h as x,ht as S,kl as C,kr as re,st as w,tl as T,vl as ie,vt as E,wr as D,xn as O,zl as ae}from"./previewAssetResource-xr2rxKjm.js";import{a as k,i as oe,n as A,o as j,r as M,s as N,t as se}from"./toggle-group-oAiXdJRV.js";import{F as ce,Fr as le,I as ue,J as de,L as fe,Lr as pe,Mr as me,Nr as he,R as P,Y as ge,_ as _e,at as ve,ci as ye,cr as be,ct as xe,dr as Se,fr as Ce,gr as we,h as Te,it as Ee,jr as De,lr as Oe,lt as ke,mr as Ae,oi as je,or as Me,ot as Ne,pr as Pe,rt as Fe,si as Ie,sr as Le,st as Re,ur as ze,yr as Be,zr as Ve}from"./index-DQk2JhL0.js";import{a as He,n as Ue}from"./fileCommentAnnotations-DktOAoZq.js";var We=T(`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`}]]),F=e(n(),1);function Ge({threadRef:e,filePath:t,activeCwd:n,openInEditor:r,openFileSurface:i}){if(e){if(i){i(t);return}w.getState().openFile(e,t);return}r(n?x(t,n):t)}var I=r();function Ke(e,t){let n=(0,I.c)(4),r=we(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 L=t(),qe=[];function Je(e){return(e.endSide??e.side)===`deletions`?`deletions`:`additions`}function R(e,t,n){let r=Je(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 Ye(e){let t=(0,I.c)(50),{files:n,sectionId:r,sectionTitle:i,composerDraftTarget:a,options:o,viewerRef:s,className:c,renderHeaderPrefix:l}=e,d=D(Qe),f=D(B),p;t[0]===a?p=t[1]:(p=e=>e.getComposerDraft(a)?.reviewComments??qe,t[0]=a,t[1]=p);let m=D(p),[ee,h]=(0,F.useState)(null),[g,te]=(0,F.useState)(null),_;t[2]===n?_=t[3]:(_=new Map(n.map(Ze)),t[2]=n,t[3]=_);let v=_,y;if(t[4]!==g||t[5]!==n||t[6]!==m||t[7]!==r){let e;t[9]!==g||t[10]!==m||t[11]!==r?(e=e=>{let{fileDiff:t,filePath:n,fileKey:i,collapsed:a}=e,o=m.filter(e=>e.sectionId===r&&e.filePath===n&&(e.fenceLanguage??`diff`)===`diff`).reduce((e,n)=>{let r=u(t,n);return r?R(e,r,{id:n.id,kind:`comment`,range:r,rangeLabel:n.rangeLabel,text:n.text}):e},[]),s=g?.fileKey===i?[...o,g.annotation]:o;return{id:i,type:`diff`,fileDiff:t,annotations:s,collapsed:a,version:Ee(`${a?`1`:`0`}:${s.flatMap(z).join(`:`)}`)}},t[9]=g,t[10]=m,t[11]=r,t[12]=e):e=t[12],y=n.map(e),t[4]=g,t[5]=n,t[6]=m,t[7]=r,t[8]=y}else y=t[8];let ne=y,b;t[13]!==a||t[14]!==g?.annotation||t[15]!==f?(b=e=>{h(null),g?.annotation.metadata.entries.some(t=>t.id===e)?te(null):f(a,e)},t[13]=a,t[14]=g?.annotation,t[15]=f,t[16]=b):b=t[16];let x=b,S;t[17]!==d||t[18]!==a||t[19]!==g||t[20]!==v||t[21]!==r||t[22]!==i?(S=(e,t)=>{let n=g?.annotation.metadata.entries.find(t=>t.id===e),o=g?v.get(g.fileKey):void 0;if(!n||!o)return;let s=re({id:n.id,sectionId:r,sectionTitle:i,filePath:o.filePath,fileDiff:o.fileDiff,range:n.range,text:t});s&&d(a,s),h(null),te(null)},t[17]=d,t[18]=a,t[19]=g,t[20]=v,t[21]=r,t[22]=i,t[23]=S):S=t[23];let C=S,w;t[24]!==v||t[25]!==r||t[26]!==i?(w=(e,t)=>{if(!e)return;let n=t.item;if(n.type!==`diff`)return;let a=v.get(n.id);if(!a)return;let o=Ue(),s=re({id:o,sectionId:r,sectionTitle:i,filePath:a.filePath,fileDiff:a.fileDiff,range:e,text:``});s&&te({fileKey:n.id,annotation:{side:Je(e),lineNumber:e.end,metadata:{entries:[{id:o,kind:`draft`,range:e,rangeLabel:s.rangeLabel,text:``}]}}})},t[24]=v,t[25]=r,t[26]=i,t[27]=w):w=t[27];let T=w,ie=g!==null,E;t[28]===s?E=t[29]:(E=s?{ref:s}:{},t[28]=s,t[29]=E);let O;t[30]===c?O=t[31]:(O=c?{className:c}:{},t[30]=c,t[31]=O);let ae=!ie,oe=!ie,A;t[32]!==T||t[33]!==o||t[34]!==oe||t[35]!==ae?(A={...o,enableGutterUtility:ae,enableLineSelection:oe,onLineSelectionEnd:T},t[32]=T,t[33]=o,t[34]=oe,t[35]=ae,t[36]=A):A=t[36];let j;t[37]===l?j=t[38]:(j=e=>e.type===`diff`?l(e.fileDiff,e.id,e.collapsed===!0):null,t[37]=l,t[38]=j);let M;t[39]!==x||t[40]!==C?(M=e=>(0,L.jsx)(`div`,{className:`py-1`,children:e.metadata.entries.map(e=>(0,L.jsx)(He,{kind:e.kind,rangeLabel:e.rangeLabel,text:e.text,onCancel:()=>x(e.id),onComment:t=>C(e.id,t),onDelete:()=>x(e.id)},e.id))}),t[39]=x,t[40]=C,t[41]=M):M=t[41];let N;return t[42]!==ne||t[43]!==ee||t[44]!==A||t[45]!==j||t[46]!==M||t[47]!==E||t[48]!==O?(N=(0,L.jsx)(k,{...E,...O,items:ne,selectedLines:ee,onSelectedLinesChange:h,options:A,renderHeaderPrefix:j,renderAnnotation:M}),t[42]=ne,t[43]=ee,t[44]=A,t[45]=j,t[46]=M,t[47]=E,t[48]=O,t[49]=N):N=t[49],N}function z(e){return e.metadata.entries.map(Xe)}function Xe(e){return`${e.id}:${e.rangeLabel}:${e.text}`}function Ze(e){return[e.fileKey,e]}function B(e){return e.removeReviewComment}function Qe(e){return e.addReviewComment}function $e(e){return{diffPreview:o(e,{label:`environment-data:review:diff-preview`,tag:y.reviewGetDiffPreview,staleTimeMs:5e3})}}var et=$e(O);function V(e){return e.remoteName&&e.name.startsWith(`${e.remoteName}/`)?e.name.slice(e.remoteName.length+1):e.name}function tt(e,t){let n=new Set(t),r=e.map(e=>{let r=t.filter(t=>n.has(t)&&V(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 nt(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 H=`__automatic_base_ref__`,rt=new Set,it=`
|
|
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 U({mode:e=`inline`,composerDraftTarget:t,initialGitScope:n,threadRef:r}){let{resolvedTheme:o}=_(),u=le(),[y]=(0,F.useState)(n),[x,re]=(0,F.useState)(`stacked`),[w,T]=(0,F.useState)(u.wordWrap),[D,O]=(0,F.useState)(u.diffIgnoreWhitespace),[k,_e]=(0,F.useState)(``),[we,Ee]=(0,F.useState)(()=>({scopeKey:null,fileKeys:rt})),He=(0,F.useRef)(null),Ue=r.threadId,I=he(r),qe=I?.projectId??null,Je=me(I&&qe?{environmentId:I.environmentId,projectId:qe}:null),R=I?.worktreePath??Je?.workspaceRoot,z=ie(te.configValueAtom(I?.environmentId??null)),Xe=Ae(I?.environmentId??null,z?.availableEditors??[]),Ze=c(I!=null&&R!=null?De.status({environmentId:I.environmentId,input:{cwd:R}}):null),B=P(e=>fe(e.byThreadKey,r,y===`unstaged`)),Qe=Ze.data?.isRepo??!0,{turnDiffSummaries:$e,inferredCheckpointTurnCountByTurnId:V}=ue(I),U=(0,F.useMemo)(()=>[...$e].toSorted((e,t)=>{let n=e.checkpointTurnCount??V[e.turnId]??0,r=t.checkpointTurnCount??V[t.turnId]??0;return n===r?t.completedAt.localeCompare(e.completedAt):r-n}),[V,$e]);(0,F.useEffect)(()=>{B.kind===`turn`&&P.getState().reconcileTurnSelection(r,U.map(e=>e.turnId))},[B,U,r]);let W=B.kind===`turn`?B.turnId:null,G=B.kind===`unstaged`?`unstaged`:`branch`,K=B.kind===`branch`?B.baseRef:null,at=B.kind===`turn`?B.filePath:null,ot=B.kind===`turn`?B.revealRequestId:0,q=W===null?void 0:U.find(e=>e.turnId===W)??U[0],J=q&&(q.checkpointTurnCount??V[q.turnId]),st=U[0],ct=W===null?G===`unstaged`?`Working tree`:`Branch changes`:q?.turnId===st?.turnId?`Latest turn`:`Turn ${J??`?`}`,lt=q?`turn:${q.turnId}`:G,Y=`${r.environmentId}:${r.threadId}:${lt}`,ut=we.scopeKey===Y?we.fileKeys:rt,dt=q?`Turn ${J??`?`}`:G===`unstaged`?`Working tree`:`Branch changes`,ft=(0,F.useMemo)(()=>typeof J==`number`?{fromTurnCount:Math.max(0,J-1),toTurnCount:J}:null,[J]),pt=Ke({environmentId:I?.environmentId??null,threadId:Ue,fromTurnCount:ft?.fromTurnCount??null,toTurnCount:ft?.toTurnCount??null,ignoreWhitespace:D,cacheScope:q?`turn:${q.turnId}`:null},{enabled:Qe&&q!==void 0}),mt=c(W===null&&I&&R?et.diffPreview({environmentId:I.environmentId,input:{cwd:R,...K?{baseRef:K}:{},ignoreWhitespace:D}}):null),ht=W===null&&mt.error?.includes(`configured workspace root`)===!0&&z?.cwd!==void 0&&z.cwd!==R,gt=c(ht&&I&&z?et.diffPreview({environmentId:I.environmentId,input:{cwd:z.cwd,...K?{baseRef:K}:{},ignoreWhitespace:D}}):null),X=ht?gt:mt,Z=X.data?.sources.find(e=>e.kind===(G===`unstaged`?`working-tree`:`branch-range`)),_t=c(W===null&&G===`branch`&&I&&X.data?.cwd?De.listRefs({environmentId:I.environmentId,input:{cwd:X.data.cwd,includeMatchingRemoteRefs:!0,refKind:`local`,...k.trim().length>0?{query:k.trim()}:{},limit:100}}):null),vt=c(W===null&&G===`branch`&&I&&X.data?.cwd?De.listRefs({environmentId:I.environmentId,input:{cwd:X.data.cwd,includeMatchingRemoteRefs:!0,refKind:`remote`,...k.trim().length>0?{query:k.trim()}:{},limit:100}}):null),yt=tt(_t.data?.refs.filter(e=>e.name!==Z?.headRef)??[],vt.data?.refs??[]),bt=nt(yt,k),xt=e=>K&&K===e.remote?.name?K:e.local?.name??e.remote?.name??e.id,St=[H,...yt.map(xt)],Ct=[...k.trim().length===0?[H]:[],...bt.map(xt)],wt=Z?.diff,Tt=q?pt.data?.diff:wt,Et=!q&&Z?.truncated===!0,Dt=q?pt.isPending:X.isPending,Ot=q?pt.error:X.error,kt=typeof Tt==`string`&&Tt.trim().length===0,Q=(0,F.useMemo)(()=>Re(Tt,`diff-panel:${o}`,{compactPartialHunkOffsets:W===null}),[o,Tt,W]),At=(0,F.useMemo)(()=>!Q||Q.kind!==`files`?[]:Q.files.toSorted((e,t)=>ke(e).localeCompare(ke(t),void 0,{numeric:!0,sensitivity:`base`})),[Q]),$=(0,F.useMemo)(()=>At.map(e=>{let t=Fe(e);return{fileDiff:e,filePath:ke(e),fileKey:t,collapsed:ut.has(t)}}),[ut,At]),jt=(0,F.useMemo)(()=>$.map(e=>e.fileKey),[$]),Mt=M(jt,ut),Nt=(0,F.useMemo)(()=>Ne(At),[At]);(0,F.useEffect)(()=>{if(!at)return;let e=$.find(e=>e.filePath===at);e&&He.current?.scrollTo({type:`item`,id:e.fileKey,align:`start`})},[$,at,ot]);let Pt=ce({threadRef:r,workspaceRoot:R??null}),Ft=(0,F.useCallback)(e=>{Ge({threadRef:r,filePath:e,activeCwd:R,openFileSurface:Pt,openInEditor:e=>{(async()=>{let t=await Xe(e);t._tag===`Failure`&&!C(t)&&console.warn(`Failed to open diff file in editor.`,{operation:`open-diff-file`,environmentId:r.environmentId,threadId:r.threadId,...ae(h(t))})})()}})},[R,Pt,Xe,r]),It=(0,F.useCallback)(e=>{Ee(t=>{let n=new Set(t.scopeKey===Y?t.fileKeys:[]);return n.has(e)?n.delete(e):n.add(e),{scopeKey:Y,fileKeys:n}})},[Y]),Lt=(0,F.useCallback)(()=>{Ee(e=>{let t=e.scopeKey===Y?e.fileKeys:rt;return{scopeKey:Y,fileKeys:oe(jt,t)}})},[Y,jt]),Rt=e=>{P.getState().selectTurn(r,e)},zt=e=>{P.getState().selectGitScope(r,e)},Bt=e=>{P.getState().selectBranchBaseRef(r,e)};return(0,L.jsx)(ge,{mode:e,header:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3 [-webkit-app-region:no-drag]`,children:[(0,L.jsxs)(a,{children:[(0,L.jsxs)(d,{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: ${ct}`,children:[(0,L.jsx)(`span`,{className:`truncate`,children:ct}),(0,L.jsx)(i,{className:`size-3.5 shrink-0 text-muted-foreground`})]}),(0,L.jsxs)(m,{align:`start`,className:`w-60`,children:[(0,L.jsx)(s,{className:W===null&&G===`unstaged`?`bg-foreground/[0.08]`:void 0,onClick:()=>zt(`unstaged`),children:(0,L.jsx)(`span`,{children:`Working tree`})}),(0,L.jsx)(s,{className:W===null&&G===`branch`?`bg-foreground/[0.08]`:void 0,onClick:()=>zt(`branch`),children:(0,L.jsx)(`span`,{children:`Branch changes`})}),(0,L.jsx)(s,{className:W!==null&&q?.turnId===st?.turnId?`bg-foreground/[0.08]`:void 0,onClick:()=>{st&&Rt(st.turnId)},children:(0,L.jsx)(`span`,{children:`Latest turn`})}),(0,L.jsxs)(p,{children:[(0,L.jsx)(l,{children:`Turn`}),(0,L.jsx)(ee,{className:`w-64`,children:U.map(e=>{let t=e.checkpointTurnCount??V[e.turnId]??`?`;return(0,L.jsxs)(s,{className:e.turnId===q?.turnId?`bg-foreground/[0.08]`:void 0,onClick:()=>Rt(e.turnId),children:[(0,L.jsxs)(`span`,{children:[`Turn `,t]}),(0,L.jsx)(`span`,{className:`ml-auto text-xs tabular-nums text-muted-foreground`,children:Be(e.completedAt,u.timestampFormat)})]},e.turnId)})})]})]})]}),W===null&&G===`branch`&&Z?.baseRef&&(0,L.jsxs)(`div`,{className:`flex min-w-0 max-w-full items-center gap-2 overflow-hidden text-xs text-muted-foreground`,title:`${Z.headRef??`HEAD`} → ${Z.baseRef}`,"aria-label":`Comparing ${Z.headRef??`HEAD`} against ${Z.baseRef}`,children:[(0,L.jsx)(`span`,{className:`min-w-0 max-w-48 truncate`,children:Z.headRef??`HEAD`}),(0,L.jsx)(ye,{className:`size-3.5 shrink-0 opacity-70`}),(0,L.jsxs)(Le,{items:St,filteredItems:Ct,value:K??H,onOpenChange:e=>{e||_e(``)},onValueChange:e=>{e&&Bt(e===H?null:e)},children:[(0,L.jsxs)(Pe,{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 ${Z.baseRef}`,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:Z.baseRef}),(0,L.jsx)(i,{className:`size-3.5 shrink-0 opacity-70`})]}),(0,L.jsxs)(Ce,{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,L.jsx)(`div`,{className:`min-w-0 shrink-0 px-3 pt-2.5`,children:(0,L.jsxs)(`div`,{className:`relative -translate-y-px border-b border-border/70 pb-1.5 transition-colors focus-within:border-ring`,children:[(0,L.jsx)(Ve,{"aria-hidden":`true`,className:`pointer-events-none absolute top-1.5 left-0 size-4 shrink-0 text-muted-foreground/55`}),(0,L.jsx)(Oe,{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:k,onChange:e=>_e(e.target.value)})]})}),(0,L.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,L.jsx)(`span`,{"aria-hidden":`true`}),(0,L.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(0,1fr)_2rem] items-center`,children:[(0,L.jsx)(`span`,{children:`Branch`}),(0,L.jsx)(`span`,{className:`text-right`,children:`Remote`})]})]}),(0,L.jsx)(be,{children:`No matching refs.`}),(0,L.jsxs)(Se,{className:`max-h-64 min-w-0 overflow-x-hidden`,children:[(0,L.jsx)(ze,{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:H,children:(0,L.jsx)(`span`,{className:`block min-w-0 truncate`,children:`Automatic`})}),yt.map(e=>{let t=xt(e),n=e.local!==null&&e.remote!==null,r=e.remote?.name===t;return(0,L.jsx)(ze,{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,L.jsxs)(`div`,{className:`grid w-full min-w-0 grid-cols-[minmax(0,1fr)_2rem] items-center overflow-hidden`,children:[(0,L.jsx)(`span`,{className:`block min-w-0 truncate pe-2`,children:e.label}),n?(0,L.jsx)(`div`,{className:`flex justify-end`,onClick:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:(0,L.jsx)(Me,{"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&&Bt(n)}})}):e.remote?(0,L.jsx)(`span`,{className:`flex justify-end text-muted-foreground`,title:`Remote only`,children:(0,L.jsx)(ne,{"aria-hidden":`true`,className:`size-3`})}):null]})},e.id)})]})]})]})]})]}),(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[$.length>0&&(0,L.jsx)(Te,{additions:Nt.additions,deletions:Nt.deletions,className:`mr-1 text-[11px]`,layout:`inline`}),$.length>0&&(0,L.jsxs)(S,{children:[(0,L.jsx)(E,{render:(0,L.jsx)(v,{type:`button`,size:`icon-xs`,variant:`outline`,"aria-label":Mt?`Expand all files`:`Collapse all files`,onClick:Lt}),children:Mt?(0,L.jsx)(je,{className:`size-3`}):(0,L.jsx)(Ie,{className:`size-3`})}),(0,L.jsx)(b,{side:`top`,children:Mt?`Expand all files`:`Collapse all files`})]}),(0,L.jsxs)(A,{className:`shrink-0`,variant:`outline`,size:`xs`,value:[x],onValueChange:e=>{let t=e[0];(t===`stacked`||t===`split`)&&re(t)},children:[(0,L.jsx)(se,{"aria-label":`Stacked diff view`,value:`stacked`,children:(0,L.jsx)(j,{className:`size-3`})}),(0,L.jsx)(se,{"aria-label":`Split diff view`,value:`split`,children:(0,L.jsx)(N,{className:`size-3`})})]}),(0,L.jsxs)(S,{children:[(0,L.jsx)(E,{render:(0,L.jsx)(se,{"aria-label":w?`Disable diff line wrapping`:`Enable diff line wrapping`,variant:`outline`,size:`xs`,pressed:w,onPressedChange:e=>{T(!!e)}}),children:(0,L.jsx)(pe,{className:`size-3`})}),(0,L.jsx)(b,{side:`top`,children:w?`Disable line wrapping`:`Enable line wrapping`})]}),(0,L.jsxs)(S,{children:[(0,L.jsx)(E,{render:(0,L.jsx)(se,{"aria-label":D?`Show whitespace changes`:`Hide whitespace changes`,variant:`outline`,size:`xs`,pressed:D,onPressedChange:e=>{O(!!e)}}),children:(0,L.jsx)(We,{className:`size-3`})}),(0,L.jsx)(b,{side:`top`,children:D?`Show whitespace changes`:`Hide whitespace changes`})]})]})]}),children:I?Qe?W!==null&&U.length===0?(0,L.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,L.jsx)(L.Fragment,{children:(0,L.jsxs)(`div`,{className:`diff-panel-viewport flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[Et&&(0,L.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.`}),Ot&&!Q&&(0,L.jsx)(`div`,{className:`px-3`,children:(0,L.jsx)(`p`,{className:`mb-2 text-[11px] text-red-500/80`,children:Ot})}),Q?Q.kind===`files`?(0,L.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&&Ft(t)},children:(0,L.jsx)(Ye,{viewerRef:He,className:`diff-render-surface h-full min-h-0 overflow-auto`,files:$,sectionId:lt,sectionTitle:dt,composerDraftTarget:t,renderHeaderPrefix:(e,t,n)=>{let r=ke(e);return(0,L.jsxs)(S,{children:[(0,L.jsx)(E,{render:(0,L.jsx)(`button`,{type:`button`,className:f(`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`,ve(e)),"aria-label":n?`Expand ${r}`:`Collapse ${r}`,"aria-expanded":!n,onClick:e=>{e.stopPropagation(),It(t)}}),children:n?(0,L.jsx)(g,{className:`size-4`}):(0,L.jsx)(i,{className:`size-4`})}),(0,L.jsx)(b,{side:`top`,children:n?`Expand diff`:`Collapse diff`})]})},options:{diffStyle:x===`split`?`split`:`unified`,lineDiffType:`none`,overflow:w?`wrap`:`scroll`,theme:xe(o),themeType:o,unsafeCSS:it,stickyHeaders:!0,itemMetrics:{diffHeaderHeight:33},layout:{paddingTop:0,paddingBottom:8,gap:8}}},Y??lt)}):(0,L.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto p-2`,children:(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:Q.reason}),(0,L.jsx)(`pre`,{className:f(`max-h-[72vh] rounded-md border border-border/70 bg-background/70 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,w?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:Q.text})]})}):Dt?(0,L.jsx)(de,{label:q?`Loading checkpoint diff...`:G===`unstaged`?`Loading working tree diff...`:`Loading branch diff...`}):(0,L.jsx)(`div`,{className:`flex h-full items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,L.jsx)(`p`,{children:kt?`No net changes in this selection.`:`No patch available for this selection.`})})]})}):(0,L.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,L.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{_e as DiffWorkerPoolProvider,U as default};
|
|
98
|
-
//# sourceMappingURL=DiffPanel-
|
|
98
|
+
//# sourceMappingURL=DiffPanel-Cp9ZchPD.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{Ar as i,At as a,Ef as o,La as s,Ot as c,Pl as l,Q as u,Qc as d,U as f,b as p,ba as m,cl as h,dt as g,ft as _,gt as v,h as y,ht as b,kl as x,mt as S,n as C,o as w,qc as T,sl as E,tl as D,vt as O,wr as k,wt as A,xt as ee,yt as j}from"./previewAssetResource-xr2rxKjm.js";import{n as M,r as N,t as P}from"./renderFileChildren-C8ONtcgR.js";import{$ as te,Ar as ne,Bn as re,Cn as ie,D as ae,Dr as oe,E as se,Er as ce,Fn as le,Fr as ue,Gn as de,Gt as fe,Hn as pe,Hr as me,Ht as F,Jr as he,Jt as I,Kn as ge,Kt as _e,Mn as ve,Or as ye,Pr as be,T as xe,Tr as Se,Un as Ce,Ut as L,Vn as we,Wn as Te,Z as Ee,Zr as De,_r as Oe,_t as ke,an as Ae,b as je,bn as Me,ct as Ne,d as Pe,ei as Fe,et as Ie,f as Le,fn as Re,gt as ze,hr as Be,ii as Ve,kr as He,l as Ue,m as We,on as Ge,p as Ke,qn as qe,ri 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,zr as rt}from"./index-BIKAuS5A.js";import{a as it,i as at,n as ot,r as R,t as z}from"./fileCommentAnnotations-BeZLWoIj.js";var st=D(`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`}]]),ct=D(`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`}]]),lt=`file-tree-container`,ut=`data-file-tree-style`,dt=`data-file-tree-unsafe-css`,ft=`data-file-tree-scrollbar-measure`,pt=`data-file-tree-scrollbar-gutter-measured`,mt=`--trees-scrollbar-gutter-measured`,ht=`header`,gt=`context-menu`,_t=`context-menu-trigger`,vt=5,yt=1<<vt,bt=yt*4;function xt(){return{childIdByNameId:new Map,childIds:[],childPositionById:new Map,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function St(){return{childIdByNameId:null,childIds:[],childPositionById:null,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function Ct(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 wt(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 Tt(e,t){e.childPositionById!=null&&e.childPositionById.set(t,e.childIds.length),e.childIds.push(t)}function Et(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 Dt(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,jt(e,t)}function Ot(e,t,n,r){if(e.totalChildSubtreeNodeCount+=n,e.totalChildVisibleSubtreeCount+=r,e.childVisibleChunkSums==null||r===0)return;let i=wt(e).get(t);if(i===void 0)return;let a=i>>vt;e.childVisibleChunkSums[a]+=r}function kt(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=Mt(e,t,a,i);return{...r,childVisibleIndex:n-r.localVisibleIndex}}i-=o,a+=yt}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 At(e,t,n){let r=0,i=t.childVisibleChunkSums,a=0;if(i!=null){let e=n>>vt;for(let t=0;t<e;t+=1)r+=i[t]??0;a=e<<vt}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 jt(e,t){if(t.childIds.length<bt){t.childVisibleChunkSums=null;return}let n=Math.ceil(t.childIds.length/yt),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>>vt]+=a.visibleSubtreeCount)}t.childVisibleChunkSums=r}function Mt(e,t,n,r){let i=Math.min(t.childIds.length,n+yt),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 Nt=7,Pt=3,Ft=1<<Pt,It=4;function Lt(e,t,n=0){return e<<It|n<<Pt|t}function Rt(e){return e.depthAndFlags>>>It}function zt(e){return(e.depthAndFlags&Ft)>>Pt}function B(e){return(e.depthAndFlags&Ft)!==0}function Bt(e){return e.depthAndFlags&Nt}function Vt(e,t){return(Bt(e)&t)!==0}function Ht(e,t){e.depthAndFlags|=t}function Ut(e,t){e.depthAndFlags=Lt(t,Bt(e),zt(e))}var Wt=Symbol(`benchmarkInstrumentation`);function Gt(e,t){return t==null||Object.defineProperty(e,Wt,{configurable:!0,enumerable:!1,value:t,writable:!1}),e}function Kt(e){return e==null?null:e[Wt]??null}function V(e,t,n){return e==null?n():e.measurePhase(t,n)}function qt(e,t,n){!Number.isFinite(n)||e==null||e.setCounter(t,n)}function Jt(e){return e>=48&&e<=57}function Yt(e){let t=[],n=0,r=0;for(;r<e.length;){for(;r<e.length&&!Jt(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&&Jt(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 Xt(e){let t=e.toLowerCase();return{lowerValue:t,tokens:Yt(t)}}function Zt(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 Qt(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=Zt(e.tokens,t.tokens);return n===0?e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1:n}function $t(e,t,n){let r=Qt(n(e),n(t));return r===0?e===t?0:e<t?-1:1:r}function en(e,t){return $t(e,t,Xt)}function tn(e,t){return t===e.segments.length-1?+!!e.isDirectory:1}function nn(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=tn(e,r);return a===tn(t,r)?en(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 rn(e,t){return nn(e,t)}function an(e,t,n){let r=e=>{let t=n.get(e);if(t!=null)return t;let r=Xt(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=tn(e,n);return o===tn(t,n)?$t(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 on(e,t){let n=e.sortKeyById[t];if(n!==void 0)return n;let r=e.valueById[t],i=Xt(r);return e.sortKeyById[t]=i,i}function sn(e={}){return{flattenEmptyDirectories:e.flattenEmptyDirectories!==!1,sort:e.sort??`default`}}function cn(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 ln(e){let{hasTrailingSlash:t,segments:n}=cn(e);return{basename:n[n.length-1]??``,isDirectory:t,path:e,segments:n}}function un(e){if(e.length===0)return{requiresDirectory:!1,segments:[]};let{hasTrailingSlash:t,segments:n}=cn(e);return{requiresDirectory:t,segments:n}}var dn=``;function fn(){let e=new Map;return e.set(dn,0),{idByValue:e,valueById:[dn],sortKeyById:[Xt(dn)]}}function pn(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 mn(e,t){let n=e.valueById[t];if(n===void 0)throw Error(`Unknown segment ID: ${String(t)}`);return n}var hn=Symbol(`pathStorePreparedInputKind`);function gn(e,t){return e[hn]=t,e}function _n(e){return{basename:e.basename,depth:e.segments.length,isDirectory:e.isDirectory,path:e.path,segments:e.segments}}function vn(e,t,n){return n==="default"?rn(e,t):n(_n(e),_n(t))}function yn(){return{depthAndFlags:Lt(0,3,1),nameId:0,parentId:0,subtreeNodeCount:1,visibleSubtreeCount:1}}function bn(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 xn(e){return e.isDirectory?e.segments.length:e.segments.length-1}function Sn(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 Cn(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function wn(e,t={}){return An(e,t).map(e=>e.path)}function Tn(e,t={}){let n=An(e,t);return gn({paths:n.map(e=>e.path),preparedPaths:n},`prepared`)}function En(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 gn({paths:e,presortedPaths:e,presortedPathsContainDirectories:n},`presorted`)}function Dn(e){let t=e,n=t.preparedPaths;if(t[hn]===`prepared`&&n!=null)return n;if(!Sn(n))throw Error(`preparedInput must come from PathStore.prepareInput()`);return n}function On(e){let t=e;return t[hn]===`presorted`&&t.presortedPaths!=null||Cn(t.presortedPaths)?t.presortedPaths:null}function kn(e){let t=e;return typeof t.presortedPathsContainDirectories==`boolean`?t.presortedPathsContainDirectories:null}function An(e,t={}){let n=sn(t),r=Kt(t);qt(r,`workload.inputFiles`,e.length);let i=V(r,`store.preparePathEntries.parse`,()=>e.map(e=>ln(e)));return V(r,`store.preparePathEntries.sort`,()=>i.sort((e,t)=>vn(e,t,n.sort))),i}var jn=class{directories=new Map;directoryStack=[0];presortedDirectoryNodeIds=[];initialExpandedPathSet;createdDirectoriesAllExpanded=!1;createdDirectoryCount=0;lastPreparedPath=null;nodes=[yn()];options;instrumentation;segmentSortKeyCache=new Map;segmentTable=fn();hasDeferredDirectoryIndexes=!1;constructor(e={}){this.instrumentation=Kt(e),this.options=sn(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,xt())}appendPaths(e){return V(this.instrumentation,`store.builder.appendPaths.parse`,()=>this.appendPreparedPaths(e.map(e=>ln(e))))}appendPreparedPaths(e,t=!0){return this.createdDirectoriesAllExpanded=!1,V(this.instrumentation,`store.builder.appendPreparedPaths`,()=>{for(let n of e)this.appendPreparedPath(n,t)}),this}appendPresortedPaths(e,t=null){return V(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:Lt(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:Lt(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:Lt(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=ln(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:Lt(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:Lt(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=ln(t)),this.hasDeferredDirectoryIndexes=!0}finish(e={}){let t=e.skipSubtreeCountPass===!0;return this.hasDeferredDirectoryIndexes?(V(this.instrumentation,`store.builder.buildDirectoryIndexes`,()=>this.buildPresortedFinish(t)),this.hasDeferredDirectoryIndexes=!1):t||V(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"?an(this.lastPreparedPath,e,this.segmentSortKeyCache):vn(this.lastPreparedPath,e,this.options.sort))>0)throw Error(`Builder input must be sorted before appendPaths(): "${e.path}"`)}let n=this.lastPreparedPath,r=xn(e),i=n==null?0:xn(n),a=n==null?0:bn(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=pn(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:Lt(Rt(o)+1,0),nameId:r,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),a?.set(r,s),Tt(i,s),s}createFileChildUnchecked(e,t){let n=pn(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:Lt(Rt(i)+1,0),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),Tt(r,a),a}getOrCreateDirectoryChild(e,t){let n=pn(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&&!B(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:Lt(Rt(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),Tt(r,a),this.directories.set(a,xt()),a}createDirectoryChild(e,t){let n=pn(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:Lt(Rt(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),Tt(r,a),this.directories.set(a,xt()),a}promoteDirectoryToExplicit(e,t){let n=this.nodes[e];if(n===void 0)throw Error(`Unknown directory node ID: ${String(e)}`);if(!B(n))throw Error(`Path is not a directory: "${t}"`);if(Vt(n,1))throw Error(`Duplicate path: "${t}"`);Ht(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,St());let r=-1,i=null;for(let e=1;e<t.length;e++){let a=t[e];if(a==null)continue;if(B(a)){let t=St();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;B(n)&&this.directories.set(t,xt());let r=this.directories.get(n.parentId);r!=null&&(r.childIdByNameId!=null&&r.childIdByNameId.set(n.nameId,t),Tt(r,t))}}computeSubtreeCounts(e){let t=this.nodes[e];if(t===void 0)throw Error(`Unknown node ID: ${String(e)}`);if(!B(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 Dt(this.nodes,n),t.subtreeNodeCount=r,t.visibleSubtreeCount=r,r}};function Mn(e,t=`closed`,n=null){let r=Pn(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 Nn(){return{affectedAncestorIds:new Set,affectedNodeIds:new Set,events:[]}}function Pn(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 Fn(e,t){return Vt(t,2)||e.defaultExpansion===`open`?!0:e.defaultExpansion===`closed`?!1:Rt(t)<=e.defaultExpansion}function In(e,t,n=e.snapshot.nodes[t]){return n==null||!B(n)?!1:e.directoriesOpenByDefault&&!e.hasCollapsedDirectoryOverrides?!0:e.collapsedDirectoryIds.has(t)?!1:e.expandedDirectoryIds.has(t)?!0:Fn(e,n)}function Ln(e,t,n,r=e.snapshot.nodes[t]){if(r==null||!B(r))return;let i=Fn(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 Rn(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 zn(e,t){return e.directoryLoadInfoById.get(t)?.state??`loaded`}function Bn(e,t){let n=Rn(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 Vn(e,t){let n=Rn(e,t);n.activeAttemptId=null,n.errorMessage=null,n.state=`unloaded`}function Hn(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 Un(e,t,n){return e.directoryLoadInfoById.get(t)?.activeAttemptId===n}function Wn(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 Gn(e,t){e.directoryLoadInfoById.delete(t)}function Kn(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 qn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`add`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function Jn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`remove`,path:e.path,projectionChanged:e.projectionChanged,recursive:e.recursive,visibleCountDelta:null}}function Yn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,from:e.from,operation:`move`,projectionChanged:e.projectionChanged,to:e.to,visibleCountDelta:null}}function Xn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`expand`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Zn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`collapse`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Qn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`mark-directory-unloaded`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function $n(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 er(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 tr(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 nr(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 rr(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 ir(e,t,n){return{...n,visibleCountDelta:hr(e)-t}}function ar(e,t){let n=hr(e),r=Nn();e.transactionStack.push(r);try{t()}catch(t){throw cr(e,r,!1),t}cr(e,r,!0,hr(e)-n)}function or(e,t){let n=e.instrumentation;if(n==null){sr(e,t);return}V(n,`store.events.record`,()=>sr(e,t))}function sr(e,t){let n=e.transactionStack[e.transactionStack.length-1]??null;if(n==null){pr(e,t);return}n.events.push(t),fr(n,t)}function cr(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?dr(i,t):V(n,`store.events.batch.merge`,()=>dr(i,t));return}let a=lr(t,r),o=e.instrumentation;if(o==null){pr(e,a);return}V(o,`store.events.batch.commit`,()=>pr(e,a))}function lr(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 ur(e,t){for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n);for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n)}function dr(e,t){for(let n of t.events)e.events.push(n);ur(e,t)}function fr(e,t){for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n);for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n)}function pr(e,t){let n=e.instrumentation;if(n==null){mr(e,t);return}V(n,`store.events.emit`,()=>mr(e,t))}function mr(e,t){e.listeners.get(t.operation)?.forEach(e=>e(t)),e.listeners.get(`*`)?.forEach(e=>e(t))}function hr(e){return e.snapshot.nodes[e.snapshot.rootId]?.visibleSubtreeCount??0}function gr(e,t){if(e.snapshot.options.flattenEmptyDirectories!==!0)return null;let n=e.snapshot.nodes[t];if(n==null||!B(n)||Vt(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||!B(a)?null:i}function _r(e,t){let n=t;for(;;){let t=gr(e,n);if(t==null)return n;n=t}}function vr(e,t){let n=[t],r=t;for(;;){let t=gr(e,r);if(t==null)return n;n.push(t),r=t}}function yr(e,t){let n=t==null?e.snapshot.rootId:Or(e,t);return n==null?[]:Ar(e,n)}function br(e,t){let n=ln(t),r=n.isDirectory?n.segments:n.segments.slice(0,-1),i=Gr(e,Wr(e,r)),{createdNodeIds:a,directoryId:o}=jr(e,r),s=new Set(a),c=o;if(n.isDirectory){let n=W(e,o);if(Vt(n,1))throw Error(`Path already exists: "${t}"`);Ht(n,1),e.pathCacheByNodeId.set(o,{path:t,version:e.pathCacheVersion}),s.add(o)}else c=Nr(e,o,n.basename),s.add(c);Tr(e,o);let l=Gr(e,o);return qn({affectedAncestorIds:Dr(e,c),affectedNodeIds:[...s],path:t,projectionChanged:Kr(i,l)})}function xr(e,t,n){let r=Or(e,t);if(r==null)throw Error(`Path does not exist: "${t}"`);let i=W(e,r);if(Vt(i,2))throw Error(`The root node cannot be removed`);if(B(i)&&U(e,r).childIds.length>0&&n.recursive!==!0)throw Error(`Cannot remove a non-empty directory without recursive: "${t}"`);let a=i.parentId,o=Gr(e,a),s=Hr(e,r);Ir(e,a,r,i.nameId),Ur(e,a),Tr(e,a);let c=Gr(e,a);return Jn({affectedAncestorIds:Dr(e,a),affectedNodeIds:s,path:t,projectionChanged:Kr(o,c),recursive:n.recursive===!0})}function Sr(e,t,n,r){let i=Or(e,t);if(i==null)throw Error(`Source path does not exist: "${t}"`);let a=W(e,i);if(Vt(a,2))throw Error(`The root node cannot be moved`);let o=r.collision??`error`,s=Br(e,i,n),c=Gr(e,a.parentId),l=Gr(e,s.parentId),u=mn(e.snapshot.segmentTable,a.nameId),d=pn(e.snapshot.segmentTable,s.basename);if(s.parentId===a.parentId&&u===s.basename)return null;if(B(a)&&Xr(e,i,s.parentId))throw Error(`Cannot move a directory into one of its descendants`);let f=Ct(e.snapshot.nodes,U(e,s.parentId)).get(d),p=s.existingNodeId??f??null;if(p!=null&&p!==i&&Vr(e,p,o,zt(a))===`skip`)return null;let m=a.parentId;Ir(e,m,i,a.nameId),a.parentId=s.parentId,a.nameId=d,e.pathCacheByNodeId.delete(i),Yr(e,i),Fr(e,s.parentId,i),Ur(e,m),e.pathCacheVersion++,Tr(e,m),s.parentId!==m&&Tr(e,s.parentId);let h=Gr(e,m),g=Gr(e,s.parentId);return Yn({affectedAncestorIds:[...new Set([...Dr(e,m),...Dr(e,s.parentId)])],affectedNodeIds:[i],from:t,projectionChanged:qr([c,l],[h,g]),to:H(e,i)})}function Cr(e,t){let n=e.pathCacheByNodeId.get(t);return n!=null&&n.version===e.pathCacheVersion?n.path:null}function wr(e,t,n){return e.pathCacheByNodeId.set(t,{path:n,version:e.pathCacheVersion}),n}function H(e,t){let n=W(e,t),r=Cr(e,t);if(r!=null)return r;if(Vt(n,2))return wr(e,t,``);let i=H(e,n.parentId),a=mn(e.snapshot.segmentTable,n.nameId),o=i.length===0?a:`${i}${a}`;return wr(e,t,B(n)?`${o}/`:o)}function Tr(e,t){let n=e.instrumentation;if(n==null){Qr(e,t);return}V(n,`store.recomputeCountsUpwardFrom`,()=>Qr(e,t))}function Er(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||!B(o)){Zr(e,a,o,!0),n.pop();continue}let s=i.get(a);if(s==null||t[1]>=s.childIds.length){Zr(e,a,o,!0),n.pop();continue}let c=s.childIds[t[1]++];n.push([c,0])}}function Dr(e,t){let n=[],r=t;for(;r!=null;){let t=W(e,r);if(n.push(r),r===e.snapshot.rootId)break;r=t.parentId}return n}function Or(e,t){if(t.length===0)return e.snapshot.rootId;let n=un(t);return kr(e,n.segments,n.requiresDirectory)}function kr(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=U(e,r),a=Ct(e.snapshot.nodes,i).get(t);if(a===void 0)return null;r=a}let i=W(e,r);return n&&!B(i)?null:r}function U(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 W(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Vt(n,4))throw Error(`Unknown node ID: ${String(t)}`);return n}function Ar(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Vt(n,4))return[];if(!B(n))return[H(e,t)];if(U(e,t).childIds.length===0)return Vt(n,1)&&!Vt(n,2)?[H(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||Vt(n,4)){i.pop();continue}if(!B(n)){r.push(H(e,t.nodeId)),i.pop();continue}let a=U(e,t.nodeId);if(a.childIds.length===0){Vt(n,1)&&!Vt(n,2)&&r.push(H(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 jr(e,t){let n=[],r=e.snapshot.rootId;for(let i of t){let t=pn(e.snapshot.segmentTable,i),a=U(e,r),o=Ct(e.snapshot.nodes,a).get(t);if(o!==void 0){if(!B(W(e,o)))throw Error(`Cannot create a directory that collides with an existing file: "${i}"`);r=o;continue}r=Mr(e,r,t),n.push(r)}return{createdNodeIds:n,directoryId:r}}function Mr(e,t,n){let r=W(e,t),i=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Lt(Rt(r)+1,0,1),nameId:n,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),e.snapshot.directories.set(i,xt()),Fr(e,t,i),e.collapseNewDirectoriesByDefault&&(e.collapsedDirectoryIds.add(i),e.hasCollapsedDirectoryOverrides=!0),e.activeNodeCount++,i}function Nr(e,t,n){let r=pn(e.snapshot.segmentTable,n),i=U(e,t);if(Ct(e.snapshot.nodes,i).has(r))throw Error(`Path already exists: "${ei(e,t,n)}"`);let a=W(e,t),o=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Lt(Rt(a)+1,0),nameId:r,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),Fr(e,t,o),e.activeNodeCount++,o}function Pr(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}Lr(e,n,o)<0?i=a:r=a+1}return r}function Fr(e,t,n){let r=U(e,t),i=W(e,n);Ct(e.snapshot.nodes,r).set(i.nameId,n),Ot(r,n,i.subtreeNodeCount,i.visibleSubtreeCount);let a=Pr(e,r,n);r.childIds.splice(a,0,n),Et(r,a),jt(e.snapshot.nodes,r)}function Ir(e,t,n,r){let i=U(e,t),a=wt(i),o=a.get(n)??-1;Ct(e.snapshot.nodes,i).delete(r),a.delete(n);let s=e.snapshot.nodes[n];s!=null&&Ot(i,n,-s.subtreeNodeCount,-s.visibleSubtreeCount),o>=0&&(i.childIds.splice(o,1),Et(i,o),jt(e.snapshot.nodes,i))}function Lr(e,t,n){let r=e.snapshot.options.sort;return r==="default"?Rr(e,t,n):r(zr(e,t),zr(e,n))}function Rr(e,t,n){let r=W(e,t),i=W(e,n),a=B(r);if(a!==B(i))return a?-1:1;let o=Qt(on(e.snapshot.segmentTable,r.nameId),on(e.snapshot.segmentTable,i.nameId));if(o!==0)return o;let s=mn(e.snapshot.segmentTable,r.nameId),c=mn(e.snapshot.segmentTable,i.nameId);return s===c?t<n?-1:1:s<c?-1:1}function zr(e,t){let n=W(e,t),r=H(e,t),i=B(n),a=i?r.slice(0,-1):r;return{basename:mn(e.snapshot.segmentTable,n.nameId),depth:Rt(n),isDirectory:i,path:r,segments:a.length===0?[]:a.split(`/`)}}function Br(e,t,n){let r=W(e,t),i=Or(e,n);if(i!=null){let t=W(e,i);if(B(t))return{basename:mn(e.snapshot.segmentTable,r.nameId),existingNodeId:null,parentId:i};let a=un(n).segments;return{basename:a[a.length-1]??``,existingNodeId:i,parentId:t.parentId}}let a=un(n),o=a.segments[a.segments.length-1]??``,s=a.segments.slice(0,-1),c=s.length===0?e.snapshot.rootId:kr(e,s,!0);if(c==null)throw Error(`Destination parent does not exist: "${n}"`);return{basename:o,existingNodeId:null,parentId:c}}function Vr(e,t,n,r){if(n===`skip`)return`skip`;if(n===`error`)throw Error(`Destination already exists: "${H(e,t)}"`);let i=W(e,t);if(zt(i)!==r)throw Error(`replace collision requires the same source and destination kinds`);if(B(i)&&U(e,t).childIds.length>0)throw Error(`replace collision does not support non-empty directories`);let a=i.parentId,o=i.nameId;return Hr(e,t),Ir(e,a,t,o),Ur(e,a),Tr(e,a),`handled`}function Hr(e,t){let n=[],r=[{nodeId:t,visitedChildren:!1}];for(;r.length>0;){let t=r.pop();if(t==null)break;let i=W(e,t.nodeId);if(t.visitedChildren||!B(i)){B(i)&&e.snapshot.directories.delete(t.nodeId),Ht(i,4),e.pathCacheByNodeId.delete(t.nodeId),e.collapsedDirectoryIds.delete(t.nodeId)&&(e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0),e.expandedDirectoryIds.delete(t.nodeId),Gn(e,t.nodeId),e.activeNodeCount--,n.push(t.nodeId);continue}r.push({nodeId:t.nodeId,visitedChildren:!0});let a=U(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 Ur(e,t){let n=t;for(;n!=null;){let t=W(e,n);if(!B(t)||Vt(t,2)||U(e,n).childIds.length>0)return;Ht(t,1),n=t.parentId===n?null:t.parentId}}function Wr(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=Ct(e.snapshot.nodes,U(e,n)).get(t);if(i==null||!B(W(e,i)))break;n=i}return n}function Gr(e,t){let n=Jr(e,t);if(n==null)return null;let r=_r(e,n),i=W(e,r),a=n===r?null:vr(e,n).map(t=>H(e,t));return JSON.stringify({flattenedSegmentPaths:a,hasChildren:U(e,r).childIds.length>0,path:H(e,r),terminalKind:zt(i)})}function Kr(e,t){return qr([e],[t])}function qr(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 Jr(e,t){let n=t;for(;n!=null;){let t=W(e,n);if(!B(t)||Vt(t,2))return null;if(!In(e,n,t))return n;n=t.parentId}return null}function Yr(e,t){let n=W(e,t);if(Ut(n,(t===e.snapshot.rootId?-1:Rt(W(e,n.parentId)))+1),!B(n))return;let r=U(e,t);for(let t of r.childIds)Yr(e,t)}function Xr(e,t,n){let r=n;for(;r!=null;){if(r===t)return!0;let n=W(e,r);if(r===e.snapshot.rootId)return!1;r=n.parentId}return!1}function Zr(e,t,n=W(e,t),r=!1){let i=e.instrumentation;if(i==null){$r(e,t,n,r);return}V(i,`store.recomputeNodeCounts`,()=>$r(e,t,n,r))}function Qr(e,t){let n=t;for(;n!=null;){let t=W(e,n),r=t.subtreeNodeCount,i=t.visibleSubtreeCount;if(Zr(e,n,t),n===e.snapshot.rootId)return;let a=t.subtreeNodeCount-r,o=t.visibleSubtreeCount-i,s=t.parentId;(a!==0||o!==0)&&Ot(U(e,s),n,a,o),n=s}}function $r(e,t,n,r){if(!B(n)){n.subtreeNodeCount=1,n.visibleSubtreeCount=1;return}let i=U(e,t);if(r){let t=e.instrumentation;t==null?Dt(e.snapshot.nodes,i):V(t,`store.recomputeNodeCounts.rebuildChildAggregates`,()=>Dt(e.snapshot.nodes,i))}let a=1+i.totalChildSubtreeNodeCount,o=i.totalChildVisibleSubtreeCount;if(n.subtreeNodeCount=a,Vt(n,2)){n.visibleSubtreeCount=o;return}n.visibleSubtreeCount=gr(e,t)==null?In(e,t,n)?1+o:1:o}function ei(e,t,n){let r=H(e,t);return r.length===0?n:`${r}${n}`}function ti(e){return e!=null&&!Vt(e,4)}function ni(e,t){let n=e.snapshot.nodes[t];return!ti(n)||!B(n)||Vt(n,2)?null:n}function ri(e){let t=0;for(let[n,r]of e.pathCacheByNodeId)r.version===e.pathCacheVersion&&ti(e.snapshot.nodes[n])&&(t+=1);return t}function ii(e){return Math.max(0,e.valueById.length-1)}function ai(e){return{activeNodeCount:e.activeNodeCount,cachedPathEntryCount:ri(e),loadInfoEntryCount:e.directoryLoadInfoById.size,segmentCount:ii(e.snapshot.segmentTable),totalNodeSlotCount:Math.max(0,e.snapshot.nodes.length-1)}}function oi(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 si(e){let t=[],n=[];for(let n of e.collapsedDirectoryIds)ni(e,n)!=null&&t.push(H(e,n));for(let t of e.expandedDirectoryIds)ni(e,t)!=null&&n.push(H(e,t));return{collapsedPaths:t,expandedPaths:n}}function ci(e){let t=[];for(let[n,r]of e.directoryLoadInfoById)ni(e,n)==null||zn(e,n)===`loaded`||t.push({info:{activeAttemptId:null,errorMessage:r.errorMessage,nextAttemptId:r.nextAttemptId,state:r.state},path:H(e,n)});return t}function li(e,t){e.collapsedDirectoryIds.clear(),e.hasCollapsedDirectoryOverrides=!1,e.expandedDirectoryIds.clear();for(let n of t.expandedPaths){let t=Or(e,n);t!=null&&Ln(e,t,!0,W(e,t))}for(let n of t.collapsedPaths){let t=Or(e,n);t!=null&&Ln(e,t,!1,W(e,t))}}function ui(e,t){e.directoryLoadInfoById.clear();for(let n of t){let t=Or(e,n.path);t!=null&&ni(e,t)!=null&&e.directoryLoadInfoById.set(t,{activeAttemptId:null,errorMessage:n.info.errorMessage,nextAttemptId:n.info.nextAttemptId,state:n.info.state})}}function di(e){e.pathCacheVersion+=1,e.pathCacheByNodeId.clear(),e.pathCacheByNodeId.set(e.snapshot.rootId,{path:``,version:e.pathCacheVersion})}function fi(e){let t=e.snapshot.segmentTable,n=fn();for(let r of e.snapshot.nodes)if(ti(r)){if(Vt(r,2)){r.nameId=0;continue}r.nameId=pn(n,mn(t,r.nameId))}e.snapshot.segmentTable=n}function pi(e){for(let[t,n]of e.snapshot.directories){let r=e.snapshot.nodes[t];if(!ti(r)||!B(r)){e.snapshot.directories.delete(t);continue}let i=n.childIds.filter(n=>{let r=e.snapshot.nodes[n];return ti(r)&&r.parentId===t});n.childIds=i,n.childIdByNameId=new Map(i.map(t=>[W(e,t).nameId,t])),n.childPositionById=new Map(i.map((e,t)=>[e,t])),Dt(e.snapshot.nodes,n)}}function mi(e){let t=e.snapshot.nodes.length-1;for(;t>e.snapshot.rootId;){let n=e.snapshot.nodes[t];if(ti(n))break;--t}e.snapshot.nodes.length=t+1}function hi(e){let t=si(e),n=ci(e);V(e.instrumentation,`store.cleanup.stable.clearPathCaches`,()=>di(e)),V(e.instrumentation,`store.cleanup.stable.rebuildSegmentTable`,()=>fi(e)),V(e.instrumentation,`store.cleanup.stable.rebuildDirectoryIndexes`,()=>pi(e)),V(e.instrumentation,`store.cleanup.stable.trimTrailingRemovedNodeSlots`,()=>mi(e)),V(e.instrumentation,`store.cleanup.stable.restoreExpansionOverrides`,()=>li(e,t)),V(e.instrumentation,`store.cleanup.stable.restoreDirectoryLoadInfos`,()=>ui(e,n)),V(e.instrumentation,`store.cleanup.stable.recomputeCounts`,()=>Er(e,e.snapshot.rootId))}function gi(e){let t=si(e),n=ci(e),r=V(e.instrumentation,`store.cleanup.aggressive.listPaths`,()=>yr(e)),i=Gt({...e.snapshot.options},e.instrumentation),a=V(e.instrumentation,`store.cleanup.aggressive.rebuildSnapshot`,()=>{let e=new jn(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,V(e.instrumentation,`store.cleanup.aggressive.restoreExpansionOverrides`,()=>li(e,t)),V(e.instrumentation,`store.cleanup.aggressive.restoreDirectoryLoadInfos`,()=>ui(e,n)),V(e.instrumentation,`store.cleanup.aggressive.recomputeCounts`,()=>Er(e,e.snapshot.rootId))}function _i(e){for(let t of e.directoryLoadInfoById.values())if(t.state===`loading`&&t.activeAttemptId!=null)return!0;return!1}function vi(e,t){let n=ai(e);t===`stable`?V(e.instrumentation,`store.cleanup.stable`,()=>hi(e)):V(e.instrumentation,`store.cleanup.aggressive`,()=>gi(e));let r=ai(e);return oi(t,t===`stable`,n,r)}var yi=64;function bi(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 xi(e){return W(e,e.snapshot.rootId).visibleSubtreeCount}function Si(e,t,n,r){let i=W(e,t.terminalNodeId),a=Math.max(1,i.visibleSubtreeCount);return Math.min(r-1,n+a-1)}function Ci(e,t,n,r){return{ancestorPaths:r,index:t.index,posInSet:t.posInSet,row:Hi(e,t.cursor),setSize:t.setSize,subtreeEndIndex:Si(e,t.cursor,t.index,n)}}function wi(e,t,n,r,i,a){let o=U(e,t),{childIndex:s,childVisibleIndex:c,localVisibleIndex:l}=kt(e.snapshot.nodes,o,n),u=o.childIds[s];if(u==null)throw Error(`Visible index ${String(n)} is out of range`);return Ti(e,u,l,r+c,i+1,s,o.childIds.length,a)}function Ti(e,t,n,r,i,a,o,s){if(!B(W(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=Ii(e,t,i);if(n===0)return{ancestors:s,cursor:c,index:r,posInSet:a,setSize:o};let l=W(e,c.terminalNodeId);if(!B(l)||!In(e,c.terminalNodeId,l))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return wi(e,c.terminalNodeId,n-1,r+1,c.visibleDepth,[...s,{cursor:c,index:r,posInSet:a,setSize:o}])}function Ei(e,t){let n=xi(e);if(t<0||t>=n)return null;let r=wi(e,e.snapshot.rootId,t,0,-1,[]),i=r.ancestors.map(t=>H(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=Ci(e,a,n,[...i]);t.push(r),i.push(r.row.path)}return a=t,a},index:r.index,posInSet:r.posInSet,row:Hi(e,r.cursor),setSize:r.setSize,subtreeEndIndex:Si(e,r.cursor,r.index,n)}}function Di(e,t,n){let r=e.instrumentation,i=xi(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 Vi(e,o+1);let t=[],n=Ni(e,a);for(let r=a;r<=o&&n!=null;r++){let r=Hi(e,n);t.push(r),n=Ri(e,n)}return t}let s=[],c=0,l=0,u=V(r,`store.getVisibleSlice.selectFirstRow`,()=>Ni(e,a));for(let t=a;t<=o&&u!=null;t++){let t=V(r,`store.getVisibleSlice.materializeRow`,()=>Hi(e,u));s.push(t),t.isFlattened&&(c++,l+=t.flattenedSegments?.length??0),u=V(r,`store.getVisibleSlice.advanceCursor`,()=>Ri(e,u))}return qt(r,`workload.visibleRowsRead`,s.length),qt(r,`workload.flattenedRowsRead`,c),qt(r,`workload.flattenedSegmentsRead`,l),s}function Oi(e,t=xi(e)){let n=e.instrumentation;return n==null?Bi(e,t):V(n,`store.getVisibleTreeProjection`,()=>Bi(e,t))}function ki(e){return zi(Oi(e))}function Ai(e,t){let n=Or(e,t);if(n==null||n===e.snapshot.rootId||B(W(e,n))&&_r(e,n)!==n)return null;let r=0,i=n,{nodes:a,rootId:o}=e.snapshot;for(;i!==o;){let t=W(e,i).parentId,n=U(e,t),s=wt(n).get(i);if(s==null)throw Error(`Child ${String(i)} was not found in its parent index`);if(r+=At(a,n,s),t!==o){let n=W(e,t),a=gr(e,t);if(!In(e,t,n)&&a!==i)return null;_r(e,t)===t&&(r+=1)}i=t}return r}function ji(e,t){let n=Or(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=W(e,n);if(!B(r))throw Error(`Path is not a directory: "${t}"`);return In(e,n,r)?null:(Ln(e,n,!0,r),Tr(e,n),Xn({affectedAncestorIds:Dr(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0}))}function Mi(e,t){let n=Or(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=W(e,n);if(!B(r))throw Error(`Path is not a directory: "${t}"`);return In(e,n,r)?(Ln(e,n,!1,r),Tr(e,n),Zn({affectedAncestorIds:Dr(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0})):null}function Ni(e,t){return t<0||t>=xi(e)?null:Pi(e,e.snapshot.rootId,t,-1)}function Pi(e,t,n,r){let i=U(e,t),a=e.instrumentation,{childIndex:o,localVisibleIndex:s}=a==null?kt(e.snapshot.nodes,i,n):V(a,`store.getVisibleSlice.selectChildIndex`,()=>kt(e.snapshot.nodes,i,n)),c=i.childIds[o];if(c!=null)return Fi(e,c,s,r+1);throw Error(`Visible index ${String(n)} is out of range`)}function Fi(e,t,n,r){if(!B(W(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=Ii(e,t,r);if(n===0)return i;let a=W(e,i.terminalNodeId);if(!B(a)||!In(e,i.terminalNodeId,a))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Pi(e,i.terminalNodeId,n-1,i.visibleDepth)}function Ii(e,t,n){return B(W(e,t))?e.instrumentation==null?{headNodeId:t,terminalNodeId:_r(e,t),visibleDepth:n}:{headNodeId:t,terminalNodeId:V(e.instrumentation,`store.getVisibleSlice.flatten.resolveTerminalDirectory`,()=>_r(e,t)),visibleDepth:n}:{headNodeId:t,terminalNodeId:t,visibleDepth:n}}function Li(e,t){let n=W(e,t);if(!B(n))return!0;let r=n.parentId;return r===e.snapshot.rootId?!0:gr(e,r)!==t}function Ri(e,t){let n=W(e,t.terminalNodeId);if(B(n)){let r=U(e,t.terminalNodeId);if(In(e,t.terminalNodeId,n)&&r.childIds.length>0){let n=r.childIds[0];return n==null?null:Fi(e,n,0,t.visibleDepth+1)}}let r=t.terminalNodeId,i=t.visibleDepth;for(;;){let t=W(e,r);if(r===e.snapshot.rootId)return null;let n=t.parentId,a=U(e,n),o=wt(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 Fi(e,s,0,i);Li(e,r)&&i--,r=n}}function zi(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 Bi(e,t){let n=Array(t),r=new Int32Array(t),i=new Int32Array(t),a=new Int32Array(t),o=new Int32Array(yi);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=bi(o,y);let x,S=_;if(B(v))S=f?_r(e,_):_,x=S===_?`${b}${h[v.nameId]}/`:H(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&&B(C)&&In(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 Vi(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(!B(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:H(e,f)};continue}let h=l?_r(e,f):f,g={headNodeId:f,terminalNodeId:h,visibleDepth:m};n[r++]=Hi(e,g);let _=i[h];_!=null&&B(_)&&In(e,h,_)&&s.push([a.get(h),0,m])}return r<t&&(n.length=r),n}function Hi(e,t){let n=W(e,t.terminalNodeId),r=B(n)?Ui(e,t):null,i=H(e,t.terminalNodeId),a=mn(e.snapshot.segmentTable,n.nameId),o=B(n)&&U(e,t.terminalNodeId).childIds.length>0,s=t.headNodeId!==t.terminalNodeId,c=e.instrumentation,l=s?c==null?vr(e,t.headNodeId).map(n=>{let r=W(e,n);return{isTerminal:n===t.terminalNodeId,name:mn(e.snapshot.segmentTable,r.nameId),nodeId:n,path:H(e,n)}}):V(c,`store.getVisibleSlice.flatten.collectSegments`,()=>vr(e,t.headNodeId).map(n=>{let r=W(e,n);return{isTerminal:n===t.terminalNodeId,name:mn(e.snapshot.segmentTable,r.nameId),nodeId:n,path:H(e,n)}})):void 0;return{depth:t.visibleDepth,flattenedSegments:l,hasChildren:o,id:t.terminalNodeId,isExpanded:B(n)&&In(e,t.terminalNodeId,n),isFlattened:s,isLoading:r===`loading`,kind:B(n)?`directory`:`file`,loadState:r==null||r===`loaded`?void 0:r,name:a,path:i}}function Ui(e,t){if(t.headNodeId===t.terminalNodeId)return zn(e,t.terminalNodeId);let n=vr(e,t.headNodeId),r=!1,i=!1;for(let t of n){let n=zn(e,t);if(n===`loading`)return`loading`;if(n===`error`){i=!0;continue}n===`unloaded`&&(r=!0)}return i?`error`:r?`unloaded`:`loaded`}function Wi(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||!B(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&&jt(n,i),r.subtreeNodeCount=1+c;let u;if(o&&s===1){let e=n[a[0]];u=e!=null&&B(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,jt(n,l),c.subtreeNodeCount=1+d,c.visibleSubtreeCount=f}function Gi(e){return e.initialExpansion===`open`&&(e.initialExpandedPaths==null||e.initialExpandedPaths.length===0)}var Ki=class e{#e;constructor(e={}){let t=Kt(e),n=V(t,`store.builder.create`,()=>new jn(e));if(e.preparedInput!=null){let t=On(e.preparedInput);t==null?n.appendPreparedPaths(Dn(e.preparedInput),!1):n.appendPresortedPaths(t,kn(e.preparedInput))}else{let r=e.paths??[];e.presorted===!0?n.appendPaths(r):n.appendPreparedPaths(V(t,`store.preparePathEntries`,()=>An(r,e)))}let r=V(t,`store.builder.finish`,()=>n.finish({skipSubtreeCountPass:!0})),i=V(t,`store.state.detectAllDirectoriesExpanded`,()=>(e.initialExpansion??`closed`)===`closed`&&n.didMatchAllInitialExpandedPaths());this.#e=V(t,`store.state.create`,()=>Mn(r,i?`open`:e.initialExpansion??`closed`,t)),i&&(this.#e.collapseNewDirectoriesByDefault=!0);let a=i?this.#e.snapshot.directories.size-1:V(t,`store.state.initializeExpandedPaths`,()=>this.initializeExpandedPaths(e.initialExpandedPaths));i||Gi(e)||(e.initialExpansion??`closed`)===`closed`&&a===this.#e.snapshot.directories.size-1||(e.initialExpandedPaths?.length??0)>0&&V(t,`store.state.checkAllDirectoriesExpanded`,()=>this.hasAllDirectoriesExpanded())?V(t,`store.state.initializeOpenVisibleCounts`,()=>Wi(this.#e)):V(t,`store.state.recomputeCounts`,()=>Er(this.#e,this.#e.snapshot.rootId))}static preparePaths(e,t={}){return wn(e,t)}static prepareInput(e,t={}){return Tn(e,t)}static preparePresortedInput(e){return En(e)}list(e){return V(this.#e.instrumentation,`store.list`,()=>yr(this.#e,e))}add(e){V(this.#e.instrumentation,`store.add`,()=>{let t=xi(this.#e);or(this.#e,ir(this.#e,t,br(this.#e,e)))})}remove(e,t={}){V(this.#e.instrumentation,`store.remove`,()=>{let n=xi(this.#e);or(this.#e,ir(this.#e,n,xr(this.#e,e,t)))})}move(e,t,n={}){V(this.#e.instrumentation,`store.move`,()=>{let r=xi(this.#e),i=Sr(this.#e,e,t,n);i!=null&&or(this.#e,ir(this.#e,r,i))})}batch(e){ar(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 V(this.#e.instrumentation,`store.getVisibleCount`,()=>xi(this.#e))}getVisibleSlice(e,t){return V(this.#e.instrumentation,`store.getVisibleSlice`,()=>Di(this.#e,e,t))}getVisibleRowContext(e){return V(this.#e.instrumentation,`store.getVisibleRowContext`,()=>Ei(this.#e,e))}getVisibleTreeProjection(){return ki(this.#e)}getVisibleTreeProjectionData(e){return Oi(this.#e,e)}getVisibleIndex(e){return V(this.#e.instrumentation,`store.getVisibleIndex`,()=>Ai(this.#e,e))}getPathInfo(e){return V(this.#e.instrumentation,`store.getPathInfo`,()=>{let t=Or(this.#e,e);if(t==null)return null;let n=W(this.#e,t);return{depth:Rt(n),kind:B(n)?`directory`:`file`,path:H(this.#e,t)}})}isExpanded(e){return V(this.#e.instrumentation,`store.isExpanded`,()=>{let t=this.requireDirectoryNodeId(e),n=W(this.#e,t);return In(this.#e,t,n)})}expand(e){V(this.#e.instrumentation,`store.expand`,()=>{let t=xi(this.#e),n=ji(this.#e,e);n!=null&&or(this.#e,ir(this.#e,t,n))})}collapse(e){V(this.#e.instrumentation,`store.collapse`,()=>{let t=xi(this.#e),n=Mi(this.#e,e);n!=null&&or(this.#e,ir(this.#e,t,n))})}on(e,t){return Kn(this.#e,e,t)}getDirectoryLoadState(e){let t=this.requireDirectoryNodeId(e);return zn(this.#e,t)}markDirectoryUnloaded(e){V(this.#e.instrumentation,`store.markDirectoryUnloaded`,()=>{let t=this.requireDirectoryNodeId(e);if(U(this.#e,t).childIds.length>0)throw Error(`Cannot mark a directory with known children as unloaded: "${e}"`);let n=xi(this.#e);Vn(this.#e,t),or(this.#e,ir(this.#e,n,Qn({affectedAncestorIds:Dr(this.#e,t),affectedNodeIds:[t],path:e,projectionChanged:this.isDirectoryProjectionVisible(t)})))})}beginChildLoad(e){return V(this.#e.instrumentation,`store.beginChildLoad`,()=>{let t=this.requireDirectoryNodeId(e),n=xi(this.#e),r=Bn(this.#e,t);return or(this.#e,ir(this.#e,n,$n({affectedAncestorIds:Dr(this.#e,t),affectedNodeIds:[t],attemptId:r.attemptId,path:e,projectionChanged:this.isDirectoryProjectionVisible(t),reused:r.reused}))),r})}applyChildPatch(e,t){return V(this.#e.instrumentation,`store.applyChildPatch`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null||zn(this.#e,n)!==`loading`||!Un(this.#e,n,e.attemptId))return!1;let r=H(this.#e,n);this.validateChildPatch(r,t);let i=xi(this.#e),a=[];for(let e of t.operations){qi(r,e);let t=xi(this.#e);switch(e.type){case`add`:a.push(ir(this.#e,t,br(this.#e,e.path)));break;case`remove`:a.push(ir(this.#e,t,xr(this.#e,e.path,{recursive:e.recursive})));break;case`move`:{let n=Sr(this.#e,e.from,e.to,{collision:e.collision});n!=null&&a.push(ir(this.#e,t,n));break}}}let o=a.some(e=>e.projectionChanged)||this.isDirectoryProjectionVisible(n);return or(this.#e,ir(this.#e,i,er({affectedAncestorIds:Dr(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,childEvents:a,path:H(this.#e,n),projectionChanged:o}))),!0})}completeChildLoad(e){return V(this.#e.instrumentation,`store.completeChildLoad`,()=>{let t=this.resolveActiveDirectoryNodeId(e.nodeId);if(t==null)return!1;let n=xi(this.#e),r=Hn(this.#e,t,e.attemptId);return or(this.#e,ir(this.#e,n,tr({affectedAncestorIds:Dr(this.#e,t),affectedNodeIds:[t],attemptId:e.attemptId,path:H(this.#e,t),projectionChanged:this.isDirectoryProjectionVisible(t),stale:!r}))),r})}failChildLoad(e,t){return V(this.#e.instrumentation,`store.failChildLoad`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null)return!1;let r=xi(this.#e),i=Wn(this.#e,n,e.attemptId,t);return or(this.#e,ir(this.#e,r,nr({affectedAncestorIds:Dr(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,errorMessage:t,path:H(this.#e,n),projectionChanged:this.isDirectoryProjectionVisible(n),stale:!i}))),i})}cleanup(e={}){return V(this.#e.instrumentation,`store.cleanup`,()=>{if(this.#e.transactionStack.length>0)throw Error(`Cleanup cannot run during an open batch or transaction.`);if(_i(this.#e))throw Error(`Cleanup cannot run while directory loads are active.`);let t=xi(this.#e),n=vi(this.#e,e.mode??`stable`);return or(this.#e,ir(this.#e,t,rr({...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=U(this.#e,p).childIds,_=m===d?n[m]??0:0,v=_,y,b=l.get(a)??Xt(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=Qt(on(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(!B(W(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=W(this.#e,n);In(this.#e,n,i)||(Ln(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=W(this.#e,e);if(!In(this.#e,e,t))return!1}return!0}requireDirectoryNodeId(e){let t=Or(this.#e,e);if(t==null)throw Error(`Path does not exist: "${e}"`);if(!B(W(this.#e,t)))throw Error(`Path is not a directory: "${e}"`);return t}resolveActiveDirectoryNodeId(e){try{if(!B(W(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=W(this.#e,t).parentId;if(e!==this.#e.snapshot.rootId){let n=W(this.#e,e),r=gr(this.#e,e);if(!In(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 qi(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 Ji={compact:{itemHeight:24,factor:.8},default:{itemHeight:30,factor:1},relaxed:{itemHeight:36,factor:1.2}};function Yi(e,t){if(typeof e==`number`)return{itemHeight:t??Ji.default.itemHeight,factor:e};let n=Ji[e??`default`];return{itemHeight:t??n.itemHeight,factor:n.factor}}var Xi=Ji.default.itemHeight,Zi=`@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{Ar as i,At as a,Ef as o,La as s,Ot as c,Pl as l,Q as u,Qc as d,U as f,b as p,ba as m,cl as h,dt as g,ft as _,gt as v,h as y,ht as b,kl as x,mt as S,n as C,o as w,qc as T,sl as E,tl as D,vt as O,wr as k,wt as A,xt as ee,yt as j}from"./previewAssetResource-xr2rxKjm.js";import{n as M,r as N,t as P}from"./renderFileChildren-C8xF9yZB.js";import{$ as te,Ar as ne,Bn as re,Cn as ie,D as ae,Dr as oe,E as se,Er as ce,Fn as le,Fr as ue,Gn as de,Gt as fe,Hn as pe,Hr as me,Ht as F,Jr as he,Jt as I,Kn as ge,Kt as _e,Mn as ve,Or as ye,Pr as be,T as xe,Tr as Se,Un as Ce,Ut as L,Vn as we,Wn as Te,Z as Ee,Zr as De,_r as Oe,_t as ke,an as Ae,b as je,bn as Me,ct as Ne,d as Pe,ei as Fe,et as Ie,f as Le,fn as Re,gt as ze,hr as Be,ii as Ve,kr as He,l as Ue,m as We,on as Ge,p as Ke,qn as qe,ri 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,zr as rt}from"./index-DQk2JhL0.js";import{a as it,i as at,n as ot,r as R,t as z}from"./fileCommentAnnotations-DktOAoZq.js";var st=D(`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`}]]),ct=D(`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`}]]),lt=`file-tree-container`,ut=`data-file-tree-style`,dt=`data-file-tree-unsafe-css`,ft=`data-file-tree-scrollbar-measure`,pt=`data-file-tree-scrollbar-gutter-measured`,mt=`--trees-scrollbar-gutter-measured`,ht=`header`,gt=`context-menu`,_t=`context-menu-trigger`,vt=5,yt=1<<vt,bt=yt*4;function xt(){return{childIdByNameId:new Map,childIds:[],childPositionById:new Map,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function St(){return{childIdByNameId:null,childIds:[],childPositionById:null,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function Ct(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 wt(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 Tt(e,t){e.childPositionById!=null&&e.childPositionById.set(t,e.childIds.length),e.childIds.push(t)}function Et(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 Dt(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,jt(e,t)}function Ot(e,t,n,r){if(e.totalChildSubtreeNodeCount+=n,e.totalChildVisibleSubtreeCount+=r,e.childVisibleChunkSums==null||r===0)return;let i=wt(e).get(t);if(i===void 0)return;let a=i>>vt;e.childVisibleChunkSums[a]+=r}function kt(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=Mt(e,t,a,i);return{...r,childVisibleIndex:n-r.localVisibleIndex}}i-=o,a+=yt}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 At(e,t,n){let r=0,i=t.childVisibleChunkSums,a=0;if(i!=null){let e=n>>vt;for(let t=0;t<e;t+=1)r+=i[t]??0;a=e<<vt}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 jt(e,t){if(t.childIds.length<bt){t.childVisibleChunkSums=null;return}let n=Math.ceil(t.childIds.length/yt),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>>vt]+=a.visibleSubtreeCount)}t.childVisibleChunkSums=r}function Mt(e,t,n,r){let i=Math.min(t.childIds.length,n+yt),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 Nt=7,Pt=3,Ft=1<<Pt,It=4;function Lt(e,t,n=0){return e<<It|n<<Pt|t}function Rt(e){return e.depthAndFlags>>>It}function zt(e){return(e.depthAndFlags&Ft)>>Pt}function B(e){return(e.depthAndFlags&Ft)!==0}function Bt(e){return e.depthAndFlags&Nt}function Vt(e,t){return(Bt(e)&t)!==0}function Ht(e,t){e.depthAndFlags|=t}function Ut(e,t){e.depthAndFlags=Lt(t,Bt(e),zt(e))}var Wt=Symbol(`benchmarkInstrumentation`);function Gt(e,t){return t==null||Object.defineProperty(e,Wt,{configurable:!0,enumerable:!1,value:t,writable:!1}),e}function Kt(e){return e==null?null:e[Wt]??null}function V(e,t,n){return e==null?n():e.measurePhase(t,n)}function qt(e,t,n){!Number.isFinite(n)||e==null||e.setCounter(t,n)}function Jt(e){return e>=48&&e<=57}function Yt(e){let t=[],n=0,r=0;for(;r<e.length;){for(;r<e.length&&!Jt(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&&Jt(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 Xt(e){let t=e.toLowerCase();return{lowerValue:t,tokens:Yt(t)}}function Zt(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 Qt(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=Zt(e.tokens,t.tokens);return n===0?e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1:n}function $t(e,t,n){let r=Qt(n(e),n(t));return r===0?e===t?0:e<t?-1:1:r}function en(e,t){return $t(e,t,Xt)}function tn(e,t){return t===e.segments.length-1?+!!e.isDirectory:1}function nn(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=tn(e,r);return a===tn(t,r)?en(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 rn(e,t){return nn(e,t)}function an(e,t,n){let r=e=>{let t=n.get(e);if(t!=null)return t;let r=Xt(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=tn(e,n);return o===tn(t,n)?$t(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 on(e,t){let n=e.sortKeyById[t];if(n!==void 0)return n;let r=e.valueById[t],i=Xt(r);return e.sortKeyById[t]=i,i}function sn(e={}){return{flattenEmptyDirectories:e.flattenEmptyDirectories!==!1,sort:e.sort??`default`}}function cn(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 ln(e){let{hasTrailingSlash:t,segments:n}=cn(e);return{basename:n[n.length-1]??``,isDirectory:t,path:e,segments:n}}function un(e){if(e.length===0)return{requiresDirectory:!1,segments:[]};let{hasTrailingSlash:t,segments:n}=cn(e);return{requiresDirectory:t,segments:n}}var dn=``;function fn(){let e=new Map;return e.set(dn,0),{idByValue:e,valueById:[dn],sortKeyById:[Xt(dn)]}}function pn(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 mn(e,t){let n=e.valueById[t];if(n===void 0)throw Error(`Unknown segment ID: ${String(t)}`);return n}var hn=Symbol(`pathStorePreparedInputKind`);function gn(e,t){return e[hn]=t,e}function _n(e){return{basename:e.basename,depth:e.segments.length,isDirectory:e.isDirectory,path:e.path,segments:e.segments}}function vn(e,t,n){return n==="default"?rn(e,t):n(_n(e),_n(t))}function yn(){return{depthAndFlags:Lt(0,3,1),nameId:0,parentId:0,subtreeNodeCount:1,visibleSubtreeCount:1}}function bn(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 xn(e){return e.isDirectory?e.segments.length:e.segments.length-1}function Sn(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 Cn(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function wn(e,t={}){return An(e,t).map(e=>e.path)}function Tn(e,t={}){let n=An(e,t);return gn({paths:n.map(e=>e.path),preparedPaths:n},`prepared`)}function En(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 gn({paths:e,presortedPaths:e,presortedPathsContainDirectories:n},`presorted`)}function Dn(e){let t=e,n=t.preparedPaths;if(t[hn]===`prepared`&&n!=null)return n;if(!Sn(n))throw Error(`preparedInput must come from PathStore.prepareInput()`);return n}function On(e){let t=e;return t[hn]===`presorted`&&t.presortedPaths!=null||Cn(t.presortedPaths)?t.presortedPaths:null}function kn(e){let t=e;return typeof t.presortedPathsContainDirectories==`boolean`?t.presortedPathsContainDirectories:null}function An(e,t={}){let n=sn(t),r=Kt(t);qt(r,`workload.inputFiles`,e.length);let i=V(r,`store.preparePathEntries.parse`,()=>e.map(e=>ln(e)));return V(r,`store.preparePathEntries.sort`,()=>i.sort((e,t)=>vn(e,t,n.sort))),i}var jn=class{directories=new Map;directoryStack=[0];presortedDirectoryNodeIds=[];initialExpandedPathSet;createdDirectoriesAllExpanded=!1;createdDirectoryCount=0;lastPreparedPath=null;nodes=[yn()];options;instrumentation;segmentSortKeyCache=new Map;segmentTable=fn();hasDeferredDirectoryIndexes=!1;constructor(e={}){this.instrumentation=Kt(e),this.options=sn(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,xt())}appendPaths(e){return V(this.instrumentation,`store.builder.appendPaths.parse`,()=>this.appendPreparedPaths(e.map(e=>ln(e))))}appendPreparedPaths(e,t=!0){return this.createdDirectoriesAllExpanded=!1,V(this.instrumentation,`store.builder.appendPreparedPaths`,()=>{for(let n of e)this.appendPreparedPath(n,t)}),this}appendPresortedPaths(e,t=null){return V(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:Lt(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:Lt(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:Lt(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=ln(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:Lt(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:Lt(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=ln(t)),this.hasDeferredDirectoryIndexes=!0}finish(e={}){let t=e.skipSubtreeCountPass===!0;return this.hasDeferredDirectoryIndexes?(V(this.instrumentation,`store.builder.buildDirectoryIndexes`,()=>this.buildPresortedFinish(t)),this.hasDeferredDirectoryIndexes=!1):t||V(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"?an(this.lastPreparedPath,e,this.segmentSortKeyCache):vn(this.lastPreparedPath,e,this.options.sort))>0)throw Error(`Builder input must be sorted before appendPaths(): "${e.path}"`)}let n=this.lastPreparedPath,r=xn(e),i=n==null?0:xn(n),a=n==null?0:bn(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=pn(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:Lt(Rt(o)+1,0),nameId:r,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),a?.set(r,s),Tt(i,s),s}createFileChildUnchecked(e,t){let n=pn(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:Lt(Rt(i)+1,0),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),Tt(r,a),a}getOrCreateDirectoryChild(e,t){let n=pn(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&&!B(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:Lt(Rt(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),Tt(r,a),this.directories.set(a,xt()),a}createDirectoryChild(e,t){let n=pn(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:Lt(Rt(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),Tt(r,a),this.directories.set(a,xt()),a}promoteDirectoryToExplicit(e,t){let n=this.nodes[e];if(n===void 0)throw Error(`Unknown directory node ID: ${String(e)}`);if(!B(n))throw Error(`Path is not a directory: "${t}"`);if(Vt(n,1))throw Error(`Duplicate path: "${t}"`);Ht(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,St());let r=-1,i=null;for(let e=1;e<t.length;e++){let a=t[e];if(a==null)continue;if(B(a)){let t=St();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;B(n)&&this.directories.set(t,xt());let r=this.directories.get(n.parentId);r!=null&&(r.childIdByNameId!=null&&r.childIdByNameId.set(n.nameId,t),Tt(r,t))}}computeSubtreeCounts(e){let t=this.nodes[e];if(t===void 0)throw Error(`Unknown node ID: ${String(e)}`);if(!B(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 Dt(this.nodes,n),t.subtreeNodeCount=r,t.visibleSubtreeCount=r,r}};function Mn(e,t=`closed`,n=null){let r=Pn(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 Nn(){return{affectedAncestorIds:new Set,affectedNodeIds:new Set,events:[]}}function Pn(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 Fn(e,t){return Vt(t,2)||e.defaultExpansion===`open`?!0:e.defaultExpansion===`closed`?!1:Rt(t)<=e.defaultExpansion}function In(e,t,n=e.snapshot.nodes[t]){return n==null||!B(n)?!1:e.directoriesOpenByDefault&&!e.hasCollapsedDirectoryOverrides?!0:e.collapsedDirectoryIds.has(t)?!1:e.expandedDirectoryIds.has(t)?!0:Fn(e,n)}function Ln(e,t,n,r=e.snapshot.nodes[t]){if(r==null||!B(r))return;let i=Fn(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 Rn(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 zn(e,t){return e.directoryLoadInfoById.get(t)?.state??`loaded`}function Bn(e,t){let n=Rn(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 Vn(e,t){let n=Rn(e,t);n.activeAttemptId=null,n.errorMessage=null,n.state=`unloaded`}function Hn(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 Un(e,t,n){return e.directoryLoadInfoById.get(t)?.activeAttemptId===n}function Wn(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 Gn(e,t){e.directoryLoadInfoById.delete(t)}function Kn(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 qn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`add`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function Jn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`remove`,path:e.path,projectionChanged:e.projectionChanged,recursive:e.recursive,visibleCountDelta:null}}function Yn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,from:e.from,operation:`move`,projectionChanged:e.projectionChanged,to:e.to,visibleCountDelta:null}}function Xn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`expand`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Zn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`collapse`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Qn(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`mark-directory-unloaded`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function $n(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 er(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 tr(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 nr(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 rr(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 ir(e,t,n){return{...n,visibleCountDelta:hr(e)-t}}function ar(e,t){let n=hr(e),r=Nn();e.transactionStack.push(r);try{t()}catch(t){throw cr(e,r,!1),t}cr(e,r,!0,hr(e)-n)}function or(e,t){let n=e.instrumentation;if(n==null){sr(e,t);return}V(n,`store.events.record`,()=>sr(e,t))}function sr(e,t){let n=e.transactionStack[e.transactionStack.length-1]??null;if(n==null){pr(e,t);return}n.events.push(t),fr(n,t)}function cr(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?dr(i,t):V(n,`store.events.batch.merge`,()=>dr(i,t));return}let a=lr(t,r),o=e.instrumentation;if(o==null){pr(e,a);return}V(o,`store.events.batch.commit`,()=>pr(e,a))}function lr(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 ur(e,t){for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n);for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n)}function dr(e,t){for(let n of t.events)e.events.push(n);ur(e,t)}function fr(e,t){for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n);for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n)}function pr(e,t){let n=e.instrumentation;if(n==null){mr(e,t);return}V(n,`store.events.emit`,()=>mr(e,t))}function mr(e,t){e.listeners.get(t.operation)?.forEach(e=>e(t)),e.listeners.get(`*`)?.forEach(e=>e(t))}function hr(e){return e.snapshot.nodes[e.snapshot.rootId]?.visibleSubtreeCount??0}function gr(e,t){if(e.snapshot.options.flattenEmptyDirectories!==!0)return null;let n=e.snapshot.nodes[t];if(n==null||!B(n)||Vt(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||!B(a)?null:i}function _r(e,t){let n=t;for(;;){let t=gr(e,n);if(t==null)return n;n=t}}function vr(e,t){let n=[t],r=t;for(;;){let t=gr(e,r);if(t==null)return n;n.push(t),r=t}}function yr(e,t){let n=t==null?e.snapshot.rootId:Or(e,t);return n==null?[]:Ar(e,n)}function br(e,t){let n=ln(t),r=n.isDirectory?n.segments:n.segments.slice(0,-1),i=Gr(e,Wr(e,r)),{createdNodeIds:a,directoryId:o}=jr(e,r),s=new Set(a),c=o;if(n.isDirectory){let n=W(e,o);if(Vt(n,1))throw Error(`Path already exists: "${t}"`);Ht(n,1),e.pathCacheByNodeId.set(o,{path:t,version:e.pathCacheVersion}),s.add(o)}else c=Nr(e,o,n.basename),s.add(c);Tr(e,o);let l=Gr(e,o);return qn({affectedAncestorIds:Dr(e,c),affectedNodeIds:[...s],path:t,projectionChanged:Kr(i,l)})}function xr(e,t,n){let r=Or(e,t);if(r==null)throw Error(`Path does not exist: "${t}"`);let i=W(e,r);if(Vt(i,2))throw Error(`The root node cannot be removed`);if(B(i)&&U(e,r).childIds.length>0&&n.recursive!==!0)throw Error(`Cannot remove a non-empty directory without recursive: "${t}"`);let a=i.parentId,o=Gr(e,a),s=Hr(e,r);Ir(e,a,r,i.nameId),Ur(e,a),Tr(e,a);let c=Gr(e,a);return Jn({affectedAncestorIds:Dr(e,a),affectedNodeIds:s,path:t,projectionChanged:Kr(o,c),recursive:n.recursive===!0})}function Sr(e,t,n,r){let i=Or(e,t);if(i==null)throw Error(`Source path does not exist: "${t}"`);let a=W(e,i);if(Vt(a,2))throw Error(`The root node cannot be moved`);let o=r.collision??`error`,s=Br(e,i,n),c=Gr(e,a.parentId),l=Gr(e,s.parentId),u=mn(e.snapshot.segmentTable,a.nameId),d=pn(e.snapshot.segmentTable,s.basename);if(s.parentId===a.parentId&&u===s.basename)return null;if(B(a)&&Xr(e,i,s.parentId))throw Error(`Cannot move a directory into one of its descendants`);let f=Ct(e.snapshot.nodes,U(e,s.parentId)).get(d),p=s.existingNodeId??f??null;if(p!=null&&p!==i&&Vr(e,p,o,zt(a))===`skip`)return null;let m=a.parentId;Ir(e,m,i,a.nameId),a.parentId=s.parentId,a.nameId=d,e.pathCacheByNodeId.delete(i),Yr(e,i),Fr(e,s.parentId,i),Ur(e,m),e.pathCacheVersion++,Tr(e,m),s.parentId!==m&&Tr(e,s.parentId);let h=Gr(e,m),g=Gr(e,s.parentId);return Yn({affectedAncestorIds:[...new Set([...Dr(e,m),...Dr(e,s.parentId)])],affectedNodeIds:[i],from:t,projectionChanged:qr([c,l],[h,g]),to:H(e,i)})}function Cr(e,t){let n=e.pathCacheByNodeId.get(t);return n!=null&&n.version===e.pathCacheVersion?n.path:null}function wr(e,t,n){return e.pathCacheByNodeId.set(t,{path:n,version:e.pathCacheVersion}),n}function H(e,t){let n=W(e,t),r=Cr(e,t);if(r!=null)return r;if(Vt(n,2))return wr(e,t,``);let i=H(e,n.parentId),a=mn(e.snapshot.segmentTable,n.nameId),o=i.length===0?a:`${i}${a}`;return wr(e,t,B(n)?`${o}/`:o)}function Tr(e,t){let n=e.instrumentation;if(n==null){Qr(e,t);return}V(n,`store.recomputeCountsUpwardFrom`,()=>Qr(e,t))}function Er(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||!B(o)){Zr(e,a,o,!0),n.pop();continue}let s=i.get(a);if(s==null||t[1]>=s.childIds.length){Zr(e,a,o,!0),n.pop();continue}let c=s.childIds[t[1]++];n.push([c,0])}}function Dr(e,t){let n=[],r=t;for(;r!=null;){let t=W(e,r);if(n.push(r),r===e.snapshot.rootId)break;r=t.parentId}return n}function Or(e,t){if(t.length===0)return e.snapshot.rootId;let n=un(t);return kr(e,n.segments,n.requiresDirectory)}function kr(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=U(e,r),a=Ct(e.snapshot.nodes,i).get(t);if(a===void 0)return null;r=a}let i=W(e,r);return n&&!B(i)?null:r}function U(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 W(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Vt(n,4))throw Error(`Unknown node ID: ${String(t)}`);return n}function Ar(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Vt(n,4))return[];if(!B(n))return[H(e,t)];if(U(e,t).childIds.length===0)return Vt(n,1)&&!Vt(n,2)?[H(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||Vt(n,4)){i.pop();continue}if(!B(n)){r.push(H(e,t.nodeId)),i.pop();continue}let a=U(e,t.nodeId);if(a.childIds.length===0){Vt(n,1)&&!Vt(n,2)&&r.push(H(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 jr(e,t){let n=[],r=e.snapshot.rootId;for(let i of t){let t=pn(e.snapshot.segmentTable,i),a=U(e,r),o=Ct(e.snapshot.nodes,a).get(t);if(o!==void 0){if(!B(W(e,o)))throw Error(`Cannot create a directory that collides with an existing file: "${i}"`);r=o;continue}r=Mr(e,r,t),n.push(r)}return{createdNodeIds:n,directoryId:r}}function Mr(e,t,n){let r=W(e,t),i=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Lt(Rt(r)+1,0,1),nameId:n,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),e.snapshot.directories.set(i,xt()),Fr(e,t,i),e.collapseNewDirectoriesByDefault&&(e.collapsedDirectoryIds.add(i),e.hasCollapsedDirectoryOverrides=!0),e.activeNodeCount++,i}function Nr(e,t,n){let r=pn(e.snapshot.segmentTable,n),i=U(e,t);if(Ct(e.snapshot.nodes,i).has(r))throw Error(`Path already exists: "${ei(e,t,n)}"`);let a=W(e,t),o=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Lt(Rt(a)+1,0),nameId:r,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),Fr(e,t,o),e.activeNodeCount++,o}function Pr(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}Lr(e,n,o)<0?i=a:r=a+1}return r}function Fr(e,t,n){let r=U(e,t),i=W(e,n);Ct(e.snapshot.nodes,r).set(i.nameId,n),Ot(r,n,i.subtreeNodeCount,i.visibleSubtreeCount);let a=Pr(e,r,n);r.childIds.splice(a,0,n),Et(r,a),jt(e.snapshot.nodes,r)}function Ir(e,t,n,r){let i=U(e,t),a=wt(i),o=a.get(n)??-1;Ct(e.snapshot.nodes,i).delete(r),a.delete(n);let s=e.snapshot.nodes[n];s!=null&&Ot(i,n,-s.subtreeNodeCount,-s.visibleSubtreeCount),o>=0&&(i.childIds.splice(o,1),Et(i,o),jt(e.snapshot.nodes,i))}function Lr(e,t,n){let r=e.snapshot.options.sort;return r==="default"?Rr(e,t,n):r(zr(e,t),zr(e,n))}function Rr(e,t,n){let r=W(e,t),i=W(e,n),a=B(r);if(a!==B(i))return a?-1:1;let o=Qt(on(e.snapshot.segmentTable,r.nameId),on(e.snapshot.segmentTable,i.nameId));if(o!==0)return o;let s=mn(e.snapshot.segmentTable,r.nameId),c=mn(e.snapshot.segmentTable,i.nameId);return s===c?t<n?-1:1:s<c?-1:1}function zr(e,t){let n=W(e,t),r=H(e,t),i=B(n),a=i?r.slice(0,-1):r;return{basename:mn(e.snapshot.segmentTable,n.nameId),depth:Rt(n),isDirectory:i,path:r,segments:a.length===0?[]:a.split(`/`)}}function Br(e,t,n){let r=W(e,t),i=Or(e,n);if(i!=null){let t=W(e,i);if(B(t))return{basename:mn(e.snapshot.segmentTable,r.nameId),existingNodeId:null,parentId:i};let a=un(n).segments;return{basename:a[a.length-1]??``,existingNodeId:i,parentId:t.parentId}}let a=un(n),o=a.segments[a.segments.length-1]??``,s=a.segments.slice(0,-1),c=s.length===0?e.snapshot.rootId:kr(e,s,!0);if(c==null)throw Error(`Destination parent does not exist: "${n}"`);return{basename:o,existingNodeId:null,parentId:c}}function Vr(e,t,n,r){if(n===`skip`)return`skip`;if(n===`error`)throw Error(`Destination already exists: "${H(e,t)}"`);let i=W(e,t);if(zt(i)!==r)throw Error(`replace collision requires the same source and destination kinds`);if(B(i)&&U(e,t).childIds.length>0)throw Error(`replace collision does not support non-empty directories`);let a=i.parentId,o=i.nameId;return Hr(e,t),Ir(e,a,t,o),Ur(e,a),Tr(e,a),`handled`}function Hr(e,t){let n=[],r=[{nodeId:t,visitedChildren:!1}];for(;r.length>0;){let t=r.pop();if(t==null)break;let i=W(e,t.nodeId);if(t.visitedChildren||!B(i)){B(i)&&e.snapshot.directories.delete(t.nodeId),Ht(i,4),e.pathCacheByNodeId.delete(t.nodeId),e.collapsedDirectoryIds.delete(t.nodeId)&&(e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0),e.expandedDirectoryIds.delete(t.nodeId),Gn(e,t.nodeId),e.activeNodeCount--,n.push(t.nodeId);continue}r.push({nodeId:t.nodeId,visitedChildren:!0});let a=U(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 Ur(e,t){let n=t;for(;n!=null;){let t=W(e,n);if(!B(t)||Vt(t,2)||U(e,n).childIds.length>0)return;Ht(t,1),n=t.parentId===n?null:t.parentId}}function Wr(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=Ct(e.snapshot.nodes,U(e,n)).get(t);if(i==null||!B(W(e,i)))break;n=i}return n}function Gr(e,t){let n=Jr(e,t);if(n==null)return null;let r=_r(e,n),i=W(e,r),a=n===r?null:vr(e,n).map(t=>H(e,t));return JSON.stringify({flattenedSegmentPaths:a,hasChildren:U(e,r).childIds.length>0,path:H(e,r),terminalKind:zt(i)})}function Kr(e,t){return qr([e],[t])}function qr(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 Jr(e,t){let n=t;for(;n!=null;){let t=W(e,n);if(!B(t)||Vt(t,2))return null;if(!In(e,n,t))return n;n=t.parentId}return null}function Yr(e,t){let n=W(e,t);if(Ut(n,(t===e.snapshot.rootId?-1:Rt(W(e,n.parentId)))+1),!B(n))return;let r=U(e,t);for(let t of r.childIds)Yr(e,t)}function Xr(e,t,n){let r=n;for(;r!=null;){if(r===t)return!0;let n=W(e,r);if(r===e.snapshot.rootId)return!1;r=n.parentId}return!1}function Zr(e,t,n=W(e,t),r=!1){let i=e.instrumentation;if(i==null){$r(e,t,n,r);return}V(i,`store.recomputeNodeCounts`,()=>$r(e,t,n,r))}function Qr(e,t){let n=t;for(;n!=null;){let t=W(e,n),r=t.subtreeNodeCount,i=t.visibleSubtreeCount;if(Zr(e,n,t),n===e.snapshot.rootId)return;let a=t.subtreeNodeCount-r,o=t.visibleSubtreeCount-i,s=t.parentId;(a!==0||o!==0)&&Ot(U(e,s),n,a,o),n=s}}function $r(e,t,n,r){if(!B(n)){n.subtreeNodeCount=1,n.visibleSubtreeCount=1;return}let i=U(e,t);if(r){let t=e.instrumentation;t==null?Dt(e.snapshot.nodes,i):V(t,`store.recomputeNodeCounts.rebuildChildAggregates`,()=>Dt(e.snapshot.nodes,i))}let a=1+i.totalChildSubtreeNodeCount,o=i.totalChildVisibleSubtreeCount;if(n.subtreeNodeCount=a,Vt(n,2)){n.visibleSubtreeCount=o;return}n.visibleSubtreeCount=gr(e,t)==null?In(e,t,n)?1+o:1:o}function ei(e,t,n){let r=H(e,t);return r.length===0?n:`${r}${n}`}function ti(e){return e!=null&&!Vt(e,4)}function ni(e,t){let n=e.snapshot.nodes[t];return!ti(n)||!B(n)||Vt(n,2)?null:n}function ri(e){let t=0;for(let[n,r]of e.pathCacheByNodeId)r.version===e.pathCacheVersion&&ti(e.snapshot.nodes[n])&&(t+=1);return t}function ii(e){return Math.max(0,e.valueById.length-1)}function ai(e){return{activeNodeCount:e.activeNodeCount,cachedPathEntryCount:ri(e),loadInfoEntryCount:e.directoryLoadInfoById.size,segmentCount:ii(e.snapshot.segmentTable),totalNodeSlotCount:Math.max(0,e.snapshot.nodes.length-1)}}function oi(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 si(e){let t=[],n=[];for(let n of e.collapsedDirectoryIds)ni(e,n)!=null&&t.push(H(e,n));for(let t of e.expandedDirectoryIds)ni(e,t)!=null&&n.push(H(e,t));return{collapsedPaths:t,expandedPaths:n}}function ci(e){let t=[];for(let[n,r]of e.directoryLoadInfoById)ni(e,n)==null||zn(e,n)===`loaded`||t.push({info:{activeAttemptId:null,errorMessage:r.errorMessage,nextAttemptId:r.nextAttemptId,state:r.state},path:H(e,n)});return t}function li(e,t){e.collapsedDirectoryIds.clear(),e.hasCollapsedDirectoryOverrides=!1,e.expandedDirectoryIds.clear();for(let n of t.expandedPaths){let t=Or(e,n);t!=null&&Ln(e,t,!0,W(e,t))}for(let n of t.collapsedPaths){let t=Or(e,n);t!=null&&Ln(e,t,!1,W(e,t))}}function ui(e,t){e.directoryLoadInfoById.clear();for(let n of t){let t=Or(e,n.path);t!=null&&ni(e,t)!=null&&e.directoryLoadInfoById.set(t,{activeAttemptId:null,errorMessage:n.info.errorMessage,nextAttemptId:n.info.nextAttemptId,state:n.info.state})}}function di(e){e.pathCacheVersion+=1,e.pathCacheByNodeId.clear(),e.pathCacheByNodeId.set(e.snapshot.rootId,{path:``,version:e.pathCacheVersion})}function fi(e){let t=e.snapshot.segmentTable,n=fn();for(let r of e.snapshot.nodes)if(ti(r)){if(Vt(r,2)){r.nameId=0;continue}r.nameId=pn(n,mn(t,r.nameId))}e.snapshot.segmentTable=n}function pi(e){for(let[t,n]of e.snapshot.directories){let r=e.snapshot.nodes[t];if(!ti(r)||!B(r)){e.snapshot.directories.delete(t);continue}let i=n.childIds.filter(n=>{let r=e.snapshot.nodes[n];return ti(r)&&r.parentId===t});n.childIds=i,n.childIdByNameId=new Map(i.map(t=>[W(e,t).nameId,t])),n.childPositionById=new Map(i.map((e,t)=>[e,t])),Dt(e.snapshot.nodes,n)}}function mi(e){let t=e.snapshot.nodes.length-1;for(;t>e.snapshot.rootId;){let n=e.snapshot.nodes[t];if(ti(n))break;--t}e.snapshot.nodes.length=t+1}function hi(e){let t=si(e),n=ci(e);V(e.instrumentation,`store.cleanup.stable.clearPathCaches`,()=>di(e)),V(e.instrumentation,`store.cleanup.stable.rebuildSegmentTable`,()=>fi(e)),V(e.instrumentation,`store.cleanup.stable.rebuildDirectoryIndexes`,()=>pi(e)),V(e.instrumentation,`store.cleanup.stable.trimTrailingRemovedNodeSlots`,()=>mi(e)),V(e.instrumentation,`store.cleanup.stable.restoreExpansionOverrides`,()=>li(e,t)),V(e.instrumentation,`store.cleanup.stable.restoreDirectoryLoadInfos`,()=>ui(e,n)),V(e.instrumentation,`store.cleanup.stable.recomputeCounts`,()=>Er(e,e.snapshot.rootId))}function gi(e){let t=si(e),n=ci(e),r=V(e.instrumentation,`store.cleanup.aggressive.listPaths`,()=>yr(e)),i=Gt({...e.snapshot.options},e.instrumentation),a=V(e.instrumentation,`store.cleanup.aggressive.rebuildSnapshot`,()=>{let e=new jn(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,V(e.instrumentation,`store.cleanup.aggressive.restoreExpansionOverrides`,()=>li(e,t)),V(e.instrumentation,`store.cleanup.aggressive.restoreDirectoryLoadInfos`,()=>ui(e,n)),V(e.instrumentation,`store.cleanup.aggressive.recomputeCounts`,()=>Er(e,e.snapshot.rootId))}function _i(e){for(let t of e.directoryLoadInfoById.values())if(t.state===`loading`&&t.activeAttemptId!=null)return!0;return!1}function vi(e,t){let n=ai(e);t===`stable`?V(e.instrumentation,`store.cleanup.stable`,()=>hi(e)):V(e.instrumentation,`store.cleanup.aggressive`,()=>gi(e));let r=ai(e);return oi(t,t===`stable`,n,r)}var yi=64;function bi(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 xi(e){return W(e,e.snapshot.rootId).visibleSubtreeCount}function Si(e,t,n,r){let i=W(e,t.terminalNodeId),a=Math.max(1,i.visibleSubtreeCount);return Math.min(r-1,n+a-1)}function Ci(e,t,n,r){return{ancestorPaths:r,index:t.index,posInSet:t.posInSet,row:Hi(e,t.cursor),setSize:t.setSize,subtreeEndIndex:Si(e,t.cursor,t.index,n)}}function wi(e,t,n,r,i,a){let o=U(e,t),{childIndex:s,childVisibleIndex:c,localVisibleIndex:l}=kt(e.snapshot.nodes,o,n),u=o.childIds[s];if(u==null)throw Error(`Visible index ${String(n)} is out of range`);return Ti(e,u,l,r+c,i+1,s,o.childIds.length,a)}function Ti(e,t,n,r,i,a,o,s){if(!B(W(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=Ii(e,t,i);if(n===0)return{ancestors:s,cursor:c,index:r,posInSet:a,setSize:o};let l=W(e,c.terminalNodeId);if(!B(l)||!In(e,c.terminalNodeId,l))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return wi(e,c.terminalNodeId,n-1,r+1,c.visibleDepth,[...s,{cursor:c,index:r,posInSet:a,setSize:o}])}function Ei(e,t){let n=xi(e);if(t<0||t>=n)return null;let r=wi(e,e.snapshot.rootId,t,0,-1,[]),i=r.ancestors.map(t=>H(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=Ci(e,a,n,[...i]);t.push(r),i.push(r.row.path)}return a=t,a},index:r.index,posInSet:r.posInSet,row:Hi(e,r.cursor),setSize:r.setSize,subtreeEndIndex:Si(e,r.cursor,r.index,n)}}function Di(e,t,n){let r=e.instrumentation,i=xi(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 Vi(e,o+1);let t=[],n=Ni(e,a);for(let r=a;r<=o&&n!=null;r++){let r=Hi(e,n);t.push(r),n=Ri(e,n)}return t}let s=[],c=0,l=0,u=V(r,`store.getVisibleSlice.selectFirstRow`,()=>Ni(e,a));for(let t=a;t<=o&&u!=null;t++){let t=V(r,`store.getVisibleSlice.materializeRow`,()=>Hi(e,u));s.push(t),t.isFlattened&&(c++,l+=t.flattenedSegments?.length??0),u=V(r,`store.getVisibleSlice.advanceCursor`,()=>Ri(e,u))}return qt(r,`workload.visibleRowsRead`,s.length),qt(r,`workload.flattenedRowsRead`,c),qt(r,`workload.flattenedSegmentsRead`,l),s}function Oi(e,t=xi(e)){let n=e.instrumentation;return n==null?Bi(e,t):V(n,`store.getVisibleTreeProjection`,()=>Bi(e,t))}function ki(e){return zi(Oi(e))}function Ai(e,t){let n=Or(e,t);if(n==null||n===e.snapshot.rootId||B(W(e,n))&&_r(e,n)!==n)return null;let r=0,i=n,{nodes:a,rootId:o}=e.snapshot;for(;i!==o;){let t=W(e,i).parentId,n=U(e,t),s=wt(n).get(i);if(s==null)throw Error(`Child ${String(i)} was not found in its parent index`);if(r+=At(a,n,s),t!==o){let n=W(e,t),a=gr(e,t);if(!In(e,t,n)&&a!==i)return null;_r(e,t)===t&&(r+=1)}i=t}return r}function ji(e,t){let n=Or(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=W(e,n);if(!B(r))throw Error(`Path is not a directory: "${t}"`);return In(e,n,r)?null:(Ln(e,n,!0,r),Tr(e,n),Xn({affectedAncestorIds:Dr(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0}))}function Mi(e,t){let n=Or(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=W(e,n);if(!B(r))throw Error(`Path is not a directory: "${t}"`);return In(e,n,r)?(Ln(e,n,!1,r),Tr(e,n),Zn({affectedAncestorIds:Dr(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0})):null}function Ni(e,t){return t<0||t>=xi(e)?null:Pi(e,e.snapshot.rootId,t,-1)}function Pi(e,t,n,r){let i=U(e,t),a=e.instrumentation,{childIndex:o,localVisibleIndex:s}=a==null?kt(e.snapshot.nodes,i,n):V(a,`store.getVisibleSlice.selectChildIndex`,()=>kt(e.snapshot.nodes,i,n)),c=i.childIds[o];if(c!=null)return Fi(e,c,s,r+1);throw Error(`Visible index ${String(n)} is out of range`)}function Fi(e,t,n,r){if(!B(W(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=Ii(e,t,r);if(n===0)return i;let a=W(e,i.terminalNodeId);if(!B(a)||!In(e,i.terminalNodeId,a))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Pi(e,i.terminalNodeId,n-1,i.visibleDepth)}function Ii(e,t,n){return B(W(e,t))?e.instrumentation==null?{headNodeId:t,terminalNodeId:_r(e,t),visibleDepth:n}:{headNodeId:t,terminalNodeId:V(e.instrumentation,`store.getVisibleSlice.flatten.resolveTerminalDirectory`,()=>_r(e,t)),visibleDepth:n}:{headNodeId:t,terminalNodeId:t,visibleDepth:n}}function Li(e,t){let n=W(e,t);if(!B(n))return!0;let r=n.parentId;return r===e.snapshot.rootId?!0:gr(e,r)!==t}function Ri(e,t){let n=W(e,t.terminalNodeId);if(B(n)){let r=U(e,t.terminalNodeId);if(In(e,t.terminalNodeId,n)&&r.childIds.length>0){let n=r.childIds[0];return n==null?null:Fi(e,n,0,t.visibleDepth+1)}}let r=t.terminalNodeId,i=t.visibleDepth;for(;;){let t=W(e,r);if(r===e.snapshot.rootId)return null;let n=t.parentId,a=U(e,n),o=wt(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 Fi(e,s,0,i);Li(e,r)&&i--,r=n}}function zi(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 Bi(e,t){let n=Array(t),r=new Int32Array(t),i=new Int32Array(t),a=new Int32Array(t),o=new Int32Array(yi);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=bi(o,y);let x,S=_;if(B(v))S=f?_r(e,_):_,x=S===_?`${b}${h[v.nameId]}/`:H(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&&B(C)&&In(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 Vi(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(!B(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:H(e,f)};continue}let h=l?_r(e,f):f,g={headNodeId:f,terminalNodeId:h,visibleDepth:m};n[r++]=Hi(e,g);let _=i[h];_!=null&&B(_)&&In(e,h,_)&&s.push([a.get(h),0,m])}return r<t&&(n.length=r),n}function Hi(e,t){let n=W(e,t.terminalNodeId),r=B(n)?Ui(e,t):null,i=H(e,t.terminalNodeId),a=mn(e.snapshot.segmentTable,n.nameId),o=B(n)&&U(e,t.terminalNodeId).childIds.length>0,s=t.headNodeId!==t.terminalNodeId,c=e.instrumentation,l=s?c==null?vr(e,t.headNodeId).map(n=>{let r=W(e,n);return{isTerminal:n===t.terminalNodeId,name:mn(e.snapshot.segmentTable,r.nameId),nodeId:n,path:H(e,n)}}):V(c,`store.getVisibleSlice.flatten.collectSegments`,()=>vr(e,t.headNodeId).map(n=>{let r=W(e,n);return{isTerminal:n===t.terminalNodeId,name:mn(e.snapshot.segmentTable,r.nameId),nodeId:n,path:H(e,n)}})):void 0;return{depth:t.visibleDepth,flattenedSegments:l,hasChildren:o,id:t.terminalNodeId,isExpanded:B(n)&&In(e,t.terminalNodeId,n),isFlattened:s,isLoading:r===`loading`,kind:B(n)?`directory`:`file`,loadState:r==null||r===`loaded`?void 0:r,name:a,path:i}}function Ui(e,t){if(t.headNodeId===t.terminalNodeId)return zn(e,t.terminalNodeId);let n=vr(e,t.headNodeId),r=!1,i=!1;for(let t of n){let n=zn(e,t);if(n===`loading`)return`loading`;if(n===`error`){i=!0;continue}n===`unloaded`&&(r=!0)}return i?`error`:r?`unloaded`:`loaded`}function Wi(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||!B(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&&jt(n,i),r.subtreeNodeCount=1+c;let u;if(o&&s===1){let e=n[a[0]];u=e!=null&&B(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,jt(n,l),c.subtreeNodeCount=1+d,c.visibleSubtreeCount=f}function Gi(e){return e.initialExpansion===`open`&&(e.initialExpandedPaths==null||e.initialExpandedPaths.length===0)}var Ki=class e{#e;constructor(e={}){let t=Kt(e),n=V(t,`store.builder.create`,()=>new jn(e));if(e.preparedInput!=null){let t=On(e.preparedInput);t==null?n.appendPreparedPaths(Dn(e.preparedInput),!1):n.appendPresortedPaths(t,kn(e.preparedInput))}else{let r=e.paths??[];e.presorted===!0?n.appendPaths(r):n.appendPreparedPaths(V(t,`store.preparePathEntries`,()=>An(r,e)))}let r=V(t,`store.builder.finish`,()=>n.finish({skipSubtreeCountPass:!0})),i=V(t,`store.state.detectAllDirectoriesExpanded`,()=>(e.initialExpansion??`closed`)===`closed`&&n.didMatchAllInitialExpandedPaths());this.#e=V(t,`store.state.create`,()=>Mn(r,i?`open`:e.initialExpansion??`closed`,t)),i&&(this.#e.collapseNewDirectoriesByDefault=!0);let a=i?this.#e.snapshot.directories.size-1:V(t,`store.state.initializeExpandedPaths`,()=>this.initializeExpandedPaths(e.initialExpandedPaths));i||Gi(e)||(e.initialExpansion??`closed`)===`closed`&&a===this.#e.snapshot.directories.size-1||(e.initialExpandedPaths?.length??0)>0&&V(t,`store.state.checkAllDirectoriesExpanded`,()=>this.hasAllDirectoriesExpanded())?V(t,`store.state.initializeOpenVisibleCounts`,()=>Wi(this.#e)):V(t,`store.state.recomputeCounts`,()=>Er(this.#e,this.#e.snapshot.rootId))}static preparePaths(e,t={}){return wn(e,t)}static prepareInput(e,t={}){return Tn(e,t)}static preparePresortedInput(e){return En(e)}list(e){return V(this.#e.instrumentation,`store.list`,()=>yr(this.#e,e))}add(e){V(this.#e.instrumentation,`store.add`,()=>{let t=xi(this.#e);or(this.#e,ir(this.#e,t,br(this.#e,e)))})}remove(e,t={}){V(this.#e.instrumentation,`store.remove`,()=>{let n=xi(this.#e);or(this.#e,ir(this.#e,n,xr(this.#e,e,t)))})}move(e,t,n={}){V(this.#e.instrumentation,`store.move`,()=>{let r=xi(this.#e),i=Sr(this.#e,e,t,n);i!=null&&or(this.#e,ir(this.#e,r,i))})}batch(e){ar(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 V(this.#e.instrumentation,`store.getVisibleCount`,()=>xi(this.#e))}getVisibleSlice(e,t){return V(this.#e.instrumentation,`store.getVisibleSlice`,()=>Di(this.#e,e,t))}getVisibleRowContext(e){return V(this.#e.instrumentation,`store.getVisibleRowContext`,()=>Ei(this.#e,e))}getVisibleTreeProjection(){return ki(this.#e)}getVisibleTreeProjectionData(e){return Oi(this.#e,e)}getVisibleIndex(e){return V(this.#e.instrumentation,`store.getVisibleIndex`,()=>Ai(this.#e,e))}getPathInfo(e){return V(this.#e.instrumentation,`store.getPathInfo`,()=>{let t=Or(this.#e,e);if(t==null)return null;let n=W(this.#e,t);return{depth:Rt(n),kind:B(n)?`directory`:`file`,path:H(this.#e,t)}})}isExpanded(e){return V(this.#e.instrumentation,`store.isExpanded`,()=>{let t=this.requireDirectoryNodeId(e),n=W(this.#e,t);return In(this.#e,t,n)})}expand(e){V(this.#e.instrumentation,`store.expand`,()=>{let t=xi(this.#e),n=ji(this.#e,e);n!=null&&or(this.#e,ir(this.#e,t,n))})}collapse(e){V(this.#e.instrumentation,`store.collapse`,()=>{let t=xi(this.#e),n=Mi(this.#e,e);n!=null&&or(this.#e,ir(this.#e,t,n))})}on(e,t){return Kn(this.#e,e,t)}getDirectoryLoadState(e){let t=this.requireDirectoryNodeId(e);return zn(this.#e,t)}markDirectoryUnloaded(e){V(this.#e.instrumentation,`store.markDirectoryUnloaded`,()=>{let t=this.requireDirectoryNodeId(e);if(U(this.#e,t).childIds.length>0)throw Error(`Cannot mark a directory with known children as unloaded: "${e}"`);let n=xi(this.#e);Vn(this.#e,t),or(this.#e,ir(this.#e,n,Qn({affectedAncestorIds:Dr(this.#e,t),affectedNodeIds:[t],path:e,projectionChanged:this.isDirectoryProjectionVisible(t)})))})}beginChildLoad(e){return V(this.#e.instrumentation,`store.beginChildLoad`,()=>{let t=this.requireDirectoryNodeId(e),n=xi(this.#e),r=Bn(this.#e,t);return or(this.#e,ir(this.#e,n,$n({affectedAncestorIds:Dr(this.#e,t),affectedNodeIds:[t],attemptId:r.attemptId,path:e,projectionChanged:this.isDirectoryProjectionVisible(t),reused:r.reused}))),r})}applyChildPatch(e,t){return V(this.#e.instrumentation,`store.applyChildPatch`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null||zn(this.#e,n)!==`loading`||!Un(this.#e,n,e.attemptId))return!1;let r=H(this.#e,n);this.validateChildPatch(r,t);let i=xi(this.#e),a=[];for(let e of t.operations){qi(r,e);let t=xi(this.#e);switch(e.type){case`add`:a.push(ir(this.#e,t,br(this.#e,e.path)));break;case`remove`:a.push(ir(this.#e,t,xr(this.#e,e.path,{recursive:e.recursive})));break;case`move`:{let n=Sr(this.#e,e.from,e.to,{collision:e.collision});n!=null&&a.push(ir(this.#e,t,n));break}}}let o=a.some(e=>e.projectionChanged)||this.isDirectoryProjectionVisible(n);return or(this.#e,ir(this.#e,i,er({affectedAncestorIds:Dr(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,childEvents:a,path:H(this.#e,n),projectionChanged:o}))),!0})}completeChildLoad(e){return V(this.#e.instrumentation,`store.completeChildLoad`,()=>{let t=this.resolveActiveDirectoryNodeId(e.nodeId);if(t==null)return!1;let n=xi(this.#e),r=Hn(this.#e,t,e.attemptId);return or(this.#e,ir(this.#e,n,tr({affectedAncestorIds:Dr(this.#e,t),affectedNodeIds:[t],attemptId:e.attemptId,path:H(this.#e,t),projectionChanged:this.isDirectoryProjectionVisible(t),stale:!r}))),r})}failChildLoad(e,t){return V(this.#e.instrumentation,`store.failChildLoad`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null)return!1;let r=xi(this.#e),i=Wn(this.#e,n,e.attemptId,t);return or(this.#e,ir(this.#e,r,nr({affectedAncestorIds:Dr(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,errorMessage:t,path:H(this.#e,n),projectionChanged:this.isDirectoryProjectionVisible(n),stale:!i}))),i})}cleanup(e={}){return V(this.#e.instrumentation,`store.cleanup`,()=>{if(this.#e.transactionStack.length>0)throw Error(`Cleanup cannot run during an open batch or transaction.`);if(_i(this.#e))throw Error(`Cleanup cannot run while directory loads are active.`);let t=xi(this.#e),n=vi(this.#e,e.mode??`stable`);return or(this.#e,ir(this.#e,t,rr({...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=U(this.#e,p).childIds,_=m===d?n[m]??0:0,v=_,y,b=l.get(a)??Xt(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=Qt(on(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(!B(W(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=W(this.#e,n);In(this.#e,n,i)||(Ln(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=W(this.#e,e);if(!In(this.#e,e,t))return!1}return!0}requireDirectoryNodeId(e){let t=Or(this.#e,e);if(t==null)throw Error(`Path does not exist: "${e}"`);if(!B(W(this.#e,t)))throw Error(`Path is not a directory: "${e}"`);return t}resolveActiveDirectoryNodeId(e){try{if(!B(W(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=W(this.#e,t).parentId;if(e!==this.#e.snapshot.rootId){let n=W(this.#e,e),r=gr(this.#e,e);if(!In(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 qi(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 Ji={compact:{itemHeight:24,factor:.8},default:{itemHeight:30,factor:1},relaxed:{itemHeight:36,factor:1.2}};function Yi(e,t){if(typeof e==`number`)return{itemHeight:t??Ji.default.itemHeight,factor:e};let n=Ji[e??`default`];return{itemHeight:t??n.itemHeight,factor:n.factor}}var Xi=Ji.default.itemHeight,Zi=`@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=He(e.environmentId,e.resource),[r,i]=(0,J.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,Y.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,Y.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center overflow-auto p-4`,children:(0,Y.jsx)(`img`,{className:`max-h-full max-w-full object-contain`,src:n.url,alt:e.alt,onError:()=>i(n.url)})}):(0,Y.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center text-muted-foreground`,children:(0,Y.jsx)(T,{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,J.useState)(Om),[a]=(0,J.useState)(Dm),[o]=(0,J.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=j(be.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=>{Ue(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,J.useEffect)(f,p),d}function Am(e){let t=(0,Yp.c)(73),{environmentId:n,cwd:r,relativePath:a,composerDraftTarget:o,contents:s,resolvedTheme:c,revealRequestId:l,wordWrap:u,onPostRender:d,onPendingChange:f}=e,p=k(Lm),m=k(Im),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[0]=h):h=t[0];let[g,_]=(0,J.useState)(h),[v,y]=(0,J.useState)(null),b=v?.revealRequestId===l?v.range:null,x;t[1]===l?x=t[2]:(x=e=>{y({revealRequestId:l,range:e})},t[1]=l,t[2]=x);let S=x,C=(0,J.useRef)(null),w=(0,J.useRef)(null),T;t[3]!==r||t[4]!==n||t[5]!==f||t[6]!==a?(T={environmentId:n,cwd:r,relativePath:a,onPendingChange:f},t[3]=r,t[4]=n,t[5]=f,t[6]=a,t[7]=T):T=t[7];let E=km(T),D=(0,J.useRef)(null),O;t[8]!==p||t[9]!==o||t[10]!==r||t[11]!==n||t[12]!==a||t[13]!==E?(O=(e,t)=>{if(Pe(n,r,a,e.contents),E.change(e.contents),t){let n=at(t);_(n);for(let t of n)for(let n of t.metadata.entries)n.kind===`comment`&&p(o,i({id:n.id,filePath:a,startLine:n.startLine,endLine:n.endLine,text:n.text,contents:e.contents}))}},t[8]=p,t[9]=o,t[10]=r,t[11]=n,t[12]=a,t[13]=E,t[14]=O):O=t[14];let A=O,ee;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(ee=e=>{let t=new Vp(e);return D.current=t,t},t[15]=ee):ee=t[15];let j=ee,M,N;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>()=>{D.current?.cleanUp(),D.current=null},N=[],t[16]=M,t[17]=N):(M=t[16],N=t[17]),(0,J.useEffect)(M,N);let P;t[18]!==o||t[19]!==m||t[20]!==S?(P=e=>{S(null),m(o,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]=o,t[19]=m,t[20]=S,t[21]=P):P=t[21];let te=P,ne;t[22]!==p||t[23]!==o||t[24]!==s||t[25]!==g||t[26]!==a||t[27]!==S?(ne=(e,t)=>{S(null);let n=g.flatMap(Fm).find(t=>t.id===e);n&&p(o,i({id:n.id,filePath:a,startLine:n.startLine,endLine:n.endLine,text:t,contents:s})),_(n=>n.map(n=>({...n,metadata:{entries:n.metadata.entries.map(n=>n.id===e?{...n,kind:`comment`,text:t}:n)}})))},t[22]=p,t[23]=o,t[24]=s,t[25]=g,t[26]=a,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}=R(e),r={id:ot(),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=C.current;if(e)return dm({root:e,resolveEditor:()=>D.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,J.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 de=ue,fe;t[38]!==d||t[39]!==b?(fe=(e,t,n)=>{d(e,t,n),w.current!==null&&(cancelAnimationFrame(w.current),w.current=null),n!==`unmount`&&(w.current=requestAnimationFrame(()=>{w.current=null,e.isConnected&&t.setSelectedLines(b,{notify:!1})}))},t[38]=d,t[39]=b,t[40]=fe):fe=t[40];let pe=fe,me;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(me={overscrollSize:600,intersectionObserverMargin:1200},t[41]=me):me=t[41];let F;t[42]!==s||t[43]!==r||t[44]!==a?(F=pm(r,a,s),t[42]=s,t[43]=r,t[44]=a,t[45]=F):F=t[45];let he;t[46]!==s||t[47]!==a||t[48]!==F?(he={name:a,contents:s,cacheKey:F},t[46]=s,t[47]=a,t[48]=F,t[49]=he):he=t[49];let I=!se,ge=!se,_e=u?`wrap`:`scroll`,ve;t[50]===c?ve=t[51]:(ve=Ne(c),t[50]=c,t[51]=ve);let ye;t[52]!==de||t[53]!==pe||t[54]!==c||t[55]!==S||t[56]!==I||t[57]!==ge||t[58]!==_e||t[59]!==ve?(ye={disableFileHeader:!0,enableGutterUtility:I,enableLineSelection:ge,onGutterUtilityClick:S,onLineSelectionChange:S,onLineSelectionEnd:de,overflow:_e,theme:ve,themeType:c,unsafeCSS:xm,onPostRender:pe},t[52]=de,t[53]=pe,t[54]=c,t[55]=S,t[56]=I,t[57]=ge,t[58]=_e,t[59]=ve,t[60]=ye):ye=t[60];let be;t[61]!==te||t[62]!==re?(be=e=>(0,Y.jsx)(`div`,{className:`py-1`,children:e.metadata.entries.map(e=>(0,Y.jsx)(it,{kind:e.kind,rangeLabel:z(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]=be):be=t[63];let Se;t[64]===A?Se=t[65]:(Se={onChange:A},t[64]=A,t[65]=Se);let Ce;return t[66]!==g||t[67]!==b||t[68]!==he||t[69]!==ye||t[70]!==be||t[71]!==Se?(Ce=(0,Y.jsx)(xe,{createEditor:j,children:(0,Y.jsx)(`div`,{ref:C,className:`flex min-h-0 flex-1`,children:(0,Y.jsx)(Qe,{className:`file-preview-virtualizer min-h-0 flex-1 overflow-auto`,config:me,children:(0,Y.jsx)(Jl,{file:he,options:ye,selectedLines:b,lineAnnotations:g,renderAnnotation:be,className:`min-h-full`,edit:!0,editorOptions:Se})})})}),t[66]=g,t[67]=b,t[68]=he,t[69]=ye,t[70]=be,t[71]=Se,t[72]=Ce):Ce=t[72],Ce}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,Y.jsx)(ye,{className:`min-h-0 flex-1`,children:(0,Y.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 E(vm,o)??!0}catch(e){return console.error(e),!0}}function Bm(e){let t=(0,Yp.c)(103),{environmentId:n,cwd:r,projectName:i,workspaceRoot:a,relativePath:o,absolutePath:m,isOutsideWorkspace:h,threadRef:S,composerDraftTarget:E,keybindings:D,availableEditors:k,revealLine:M,revealRequestId:N,onOpenFile:P,onPendingChange:te}=e,{resolvedTheme:re}=p(),ie=ue(Hm),ae=A(),oe=ee(n),se;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(se={reportFailure:!1},t[0]=se):se=t[0];let ce=Oe(ne.createUrl,se),le;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(le={reportFailure:!1},t[1]=le):le=t[1];let de=j(u.open,le),fe=n===ae,pe;t[2]===o?pe=t[3]:(pe=o!==null&&w(o),t[2]=o,t[3]=pe);let me=pe,F=Ke(n,r,o,!me,m),[I,ge]=(0,J.useState)(zm),[_e,ve]=(0,J.useState)(!1),be;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(be={path:null,revealRequestId:null},t[4]=be):be=t[4];let[xe,Se]=(0,J.useState)(be),Ce=(0,J.useRef)(null),L;t[5]===o?L=t[6]:(L=o?hm(o):!1,t[5]=o,t[6]=L);let we=L,Te=we&&xe.path===o&&(M===null||xe.revealRequestId===N),ke;t[7]===o?ke=t[8]:(ke=o!==null&&f()&&Ie(o),t[7]=o,t[8]=ke);let Ae=ke,je;t[9]!==r||t[10]!==m||t[11]!==o?(je=m??(o?y(o,r):null),t[9]=r,t[10]=m,t[11]=o,t[12]=je):je=t[12];let Me=je,Pe;t[13]!==Me||t[14]!==fe||t[15]!==S.threadId||t[16]!==a?(Pe=Me===null?null:C({filePath:Me,threadId:S.threadId,workspaceRoot:a,allowLocalFiles:fe}),t[13]=Me,t[14]=fe,t[15]=S.threadId,t[16]=a,t[17]=Pe):Pe=t[17];let Fe=Pe,Le;t[18]!==r||t[19]!==h||t[20]!==i||t[21]!==o?(Le=o?mm(h?r:i,o):[],t[18]=r,t[19]=h,t[20]=i,t[21]=o,t[22]=Le):Le=t[22];let Re=Le,ze=Tm(o,M,N),Be;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(Be=()=>{(Ce.current?.querySelector(`[data-current-file-crumb='true']`))?.scrollIntoView({block:`nearest`,inline:`end`})},t[23]=Be):Be=t[23];let He;t[24]===o?He=t[25]:(He=[o],t[24]=o,t[25]=He),(0,J.useEffect)(Be,He);let Ue;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=()=>{ge(Vm)},t[26]=Ue):Ue=t[26];let Ge=Ue,qe;t[27]!==Me||t[28]!==fe||t[29]!==ce||t[30]!==oe||t[31]!==de||t[32]!==re||t[33]!==S||t[34]!==a?(qe=()=>{!Me||!oe||(async()=>{let e=await Xe({threadRef:S,filePath:Me,httpBaseUrl:oe,workspaceRoot:a,allowLocalFiles:fe,theme:re,createAssetUrl:ce,openPreview:de});if(e._tag===`Success`||x(e))return;let t=l(e);g.add(_({type:`error`,title:`Unable to open file in browser`,description:t instanceof Error?t.message:`An error occurred.`}))})()},t[27]=Me,t[28]=fe,t[29]=ce,t[30]=oe,t[31]=de,t[32]=re,t[33]=S,t[34]=a,t[35]=qe):qe=t[35];let Ze=qe,$e;t[36]!==Me||t[37]!==fe||t[38]!==k||t[39]!==E||t[40]!==r||t[41]!==n||t[42]!==F||t[43]!==Fe||t[44]!==me||t[45]!==we||t[46]!==h||t[47]!==D||t[48]!==ze||t[49]!==te||t[50]!==o||t[51]!==Te||t[52]!==re||t[53]!==N||t[54]!==S||t[55]!==ie?($e=o&&me&&Fe?(0,Y.jsx)(Sm,{environmentId:n,resource:Fe,alt:o},Me??o):o&&F.error&&F.data===null?(0,Y.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-6 text-center text-xs leading-relaxed text-destructive`,children:F.error}):o&&F.data===null?(0,Y.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center text-muted-foreground`,children:(0,Y.jsx)(T,{className:`size-5 animate-spin`})}):o&&F.data?F.data.binary&&Me?(0,Y.jsx)(om,{environmentId:n,keybindings:D,availableEditors:k,absolutePath:Me,name:o.slice(o.lastIndexOf(`/`)+1),byteLength:F.data.byteLength,canRevealInFileManager:fe&&c()}):we&&Te?(0,Y.jsx)(Rm,{environmentId:n,cwd:r,relativePath:o,threadRef:S,contents:F.data.contents,readOnly:h,onPendingChange:te}):F.data.truncated||h?(0,Y.jsx)(Qe,{className:`file-preview-virtualizer min-h-0 flex-1 overflow-auto`,config:{overscrollSize:600,intersectionObserverMargin:1200},children:(0,Y.jsx)(Jl,{file:{name:o,contents:F.data.contents,cacheKey:pm(r,o,F.data.contents)},options:{disableFileHeader:!0,overflow:ie?`wrap`:`scroll`,theme:Ne(re),themeType:re,unsafeCSS:xm,onPostRender:ze},className:`min-h-full`})},`${o}:${re}:${F.data.byteLength}`):(0,Y.jsx)(Am,{environmentId:n,cwd:r,relativePath:o,composerDraftTarget:E,contents:F.data.contents,resolvedTheme:re,revealRequestId:N,wordWrap:ie,onPostRender:ze,onPendingChange:te},`${o}:${re}`):null,t[36]=Me,t[37]=fe,t[38]=k,t[39]=E,t[40]=r,t[41]=n,t[42]=F,t[43]=Fe,t[44]=me,t[45]=we,t[46]=h,t[47]=D,t[48]=ze,t[49]=te,t[50]=o,t[51]=Te,t[52]=re,t[53]=N,t[54]=S,t[55]=ie,t[56]=$e):$e=t[56];let et=$e,tt;t[57]!==Me||t[58]!==k||t[59]!==Re||t[60]!==Ae||t[61]!==n||t[62]!==_e||t[63]!==I||t[64]!==Ze||t[65]!==we||t[66]!==D||t[67]!==ae||t[68]!==i||t[69]!==o||t[70]!==Te||t[71]!==N?(tt=o?(0,Y.jsxs)(`div`,{className:`surface-subheader gap-2 px-3`,"data-surface-subheader":!0,children:[(0,Y.jsx)(ye,{ref:Ce,hideScrollbars:!0,scrollFade:!0,className:`min-w-0 flex-1 rounded-none`,"data-file-breadcrumbs":!0,children:(0,Y.jsx)(`div`,{className:`flex h-full w-max min-w-full items-center text-xs`,children:Re.map((e,t)=>(0,Y.jsxs)(`div`,{className:`flex min-w-0 shrink-0 items-center`,"data-current-file-crumb":e.kind===`file`,children:[t>0?(0,Y.jsx)(d,{className:`mx-1 size-3.5 shrink-0 text-muted-foreground/60`}):null,(0,Y.jsx)(`span`,{className:s(`max-w-40 truncate`,e.kind===`file`?`font-medium text-foreground`:`text-muted-foreground`),title:e.path||i,children:e.label})]},e.path||`project`))})}),Me&&n===ae?(0,Y.jsx)(We,{environmentId:n,keybindings:D,availableEditors:k,openInCwd:Me,compact:!0,enableShortcut:!1}):null,we?(0,Y.jsxs)(b,{children:[(0,Y.jsx)(O,{render:(0,Y.jsx)(Ee,{className:`shrink-0`,pressed:Te,onPressedChange:e=>{Se({path:e?o:null,revealRequestId:e?N:null})},"aria-label":Te?`Show markdown source`:`Show rendered markdown`,variant:`ghost`,size:`sm`,children:Te?(0,Y.jsx)(Ve,{className:`size-3.5`}):(0,Y.jsx)(Ye,{className:`size-3.5`})})}),(0,Y.jsx)(v,{children:Te?`Show markdown source`:`Show rendered markdown`})]}):null,Ae?(0,Y.jsxs)(b,{children:[(0,Y.jsx)(O,{render:(0,Y.jsx)(Ee,{className:`shrink-0`,pressed:!1,onPressedChange:Ze,"aria-label":`Open file in preview browser`,variant:`ghost`,size:`sm`,children:(0,Y.jsx)(Je,{className:`size-3.5`})})}),(0,Y.jsx)(v,{children:`Open file in preview browser`})]}):null,(0,Y.jsxs)(b,{children:[(0,Y.jsx)(O,{render:(0,Y.jsx)(Ee,{className:`shrink-0`,pressed:_e,onPressedChange:ve,"aria-label":_e?`Collapse file preview`:`Expand file preview`,variant:`ghost`,size:`sm`,children:_e?(0,Y.jsx)(he,{className:`size-3.5`}):(0,Y.jsx)(De,{className:`size-3.5`})})}),(0,Y.jsx)(v,{children:_e?`Collapse file preview`:`Expand file preview`})]}),(0,Y.jsxs)(b,{children:[(0,Y.jsx)(O,{render:(0,Y.jsx)(Ee,{className:`shrink-0`,pressed:I,onPressedChange:Ge,"aria-label":I?`Hide file explorer`:`Show file explorer`,variant:`ghost`,size:`sm`,children:(0,Y.jsx)(ct,{className:`size-3.5`})})}),(0,Y.jsx)(v,{children:I?`Hide file explorer`:`Show file explorer`})]})]}):null,t[57]=Me,t[58]=k,t[59]=Re,t[60]=Ae,t[61]=n,t[62]=_e,t[63]=I,t[64]=Ze,t[65]=we,t[66]=D,t[67]=ae,t[68]=i,t[69]=o,t[70]=Te,t[71]=N,t[72]=tt):tt=t[72];let nt;t[73]!==F||t[74]!==o?(nt=o&&F.data?.truncated?(0,Y.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 `,F.data.byteLength.toLocaleString(),` byte file.`]}):null,t[73]=F,t[74]=o,t[75]=nt):nt=t[75];let rt=o?`flex`:`hidden`,it;t[76]===rt?it=t[77]:(it=s(`min-w-0 flex-1 flex-col overflow-hidden`,rt),t[76]=rt,t[77]=it);let at;t[78]!==_e||t[79]!==et?(at=_e?(0,Y.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.`}):et,t[78]=_e,t[79]=et,t[80]=at):at=t[80];let ot;t[81]!==it||t[82]!==at?(ot=(0,Y.jsx)(`div`,{className:it,children:at}),t[81]=it,t[82]=at,t[83]=ot):ot=t[83];let R;t[84]!==r||t[85]!==n||t[86]!==I||t[87]!==P||t[88]!==i||t[89]!==o?(R=I||o===null?(0,Y.jsx)(`aside`,{className:s(`flex min-h-0 shrink-0 bg-background`,o?`w-[min(22rem,46%)] min-w-64 border-l border-border/60`:`min-w-0 flex-1`),children:(0,Y.jsx)(em,{environmentId:n,cwd:r,projectName:i,onOpenFile:P},`${n}:${r}`)}):null,t[84]=r,t[85]=n,t[86]=I,t[87]=P,t[88]=i,t[89]=o,t[90]=R):R=t[90];let z;t[91]!==ot||t[92]!==R?(z=(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[ot,R]}),t[91]=ot,t[92]=R,t[93]=z):z=t[93];let st=_e&&o!==null,lt=o??``,ut;t[94]!==et||t[95]!==st||t[96]!==lt?(ut=(0,Y.jsx)(tm,{open:st,title:lt,onOpenChange:ve,children:et}),t[94]=et,t[95]=st,t[96]=lt,t[97]=ut):ut=t[97];let dt;return t[98]!==tt||t[99]!==nt||t[100]!==z||t[101]!==ut?(dt=(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden bg-background`,children:[tt,nt,z,ut]}),t[98]=tt,t[99]=nt,t[100]=z,t[101]=ut,t[102]=dt):dt=t[102],dt}function Vm(e){let t=!e;try{h(vm,t,o)}catch(e){console.error(e)}return t}function Hm(e){return e.wordWrap}export{Bm as default};
|
|
2230
|
-
//# sourceMappingURL=FilePreviewPanel-
|
|
2230
|
+
//# sourceMappingURL=FilePreviewPanel-BSEYlFH_.js.map
|