@seawork/server 1.0.20-rc.1 → 1.0.20-rc.3

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.
@@ -15,6 +15,7 @@ export interface FileExplorerEntry {
15
15
  kind: ExplorerEntryKind;
16
16
  size: number;
17
17
  modifiedAt: string;
18
+ isSymbolicLink?: boolean;
18
19
  }
19
20
  export interface FileExplorerDirectory {
20
21
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/server/file-explorer/service.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AA6BD,wBAAsB,oBAAoB,CAAC,EACzC,IAAI,EACJ,YAAkB,GACnB,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6CtD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,YAAY,GACb,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2C5C;AAED,wBAAsB,uBAAuB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAkCD"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/server/file-explorer/service.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAqCD,wBAAsB,oBAAoB,CAAC,EACzC,IAAI,EACJ,YAAkB,GACnB,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAoDtD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,YAAY,GACb,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2C5C;AAED,wBAAsB,uBAAuB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAkCD"}
@@ -18,16 +18,23 @@ export async function listDirectoryEntries({ root, relativePath = ".", }) {
18
18
  if (!stats.isDirectory()) {
19
19
  throw new Error("Requested path is not a directory");
20
20
  }
21
- const dirents = await fs.readdir(directoryPath, { withFileTypes: true });
22
- const entriesWithNulls = await Promise.all(dirents.map(async (dirent) => {
23
- const targetPath = path.join(directoryPath, dirent.name);
24
- const kind = dirent.isDirectory() ? "directory" : "file";
21
+ const names = await fs.readdir(directoryPath);
22
+ const realRoot = await fs.realpath(path.resolve(root));
23
+ const realParent = await fs.realpath(directoryPath);
24
+ const entriesWithNulls = await Promise.all(names.map(async (name) => {
25
+ const targetPath = path.join(directoryPath, name);
25
26
  try {
26
- return await buildEntryPayload({
27
+ const resolved = await resolveEntryKind({ targetPath, realRoot, realParent });
28
+ if (resolved === null) {
29
+ return null;
30
+ }
31
+ return buildEntryPayload({
27
32
  root,
28
33
  targetPath,
29
- name: dirent.name,
30
- kind,
34
+ name,
35
+ kind: resolved.kind,
36
+ isSymbolicLink: resolved.isSymbolicLink,
37
+ stats: resolved.stats,
31
38
  });
32
39
  }
33
40
  catch (error) {
@@ -148,15 +155,59 @@ async function resolveScopedPath({ root, relativePath = "." }) {
148
155
  throw error;
149
156
  }
150
157
  }
151
- async function buildEntryPayload({ root, targetPath, name, kind, }) {
152
- const stats = await fs.stat(targetPath);
153
- return {
158
+ function buildEntryPayload({ root, targetPath, name, kind, isSymbolicLink, stats, }) {
159
+ const entry = {
154
160
  name,
155
161
  path: normalizeRelativePath({ root, targetPath }),
156
162
  kind,
157
163
  size: stats.size,
158
164
  modifiedAt: stats.mtime.toISOString(),
159
165
  };
166
+ if (isSymbolicLink) {
167
+ entry.isSymbolicLink = true;
168
+ }
169
+ return entry;
170
+ }
171
+ // Classify each entry from a fresh lstat instead of trusting the readdir snapshot,
172
+ // so a name that got swapped to a symlink between readdir and stat is still
173
+ // detected as a link and goes through the workspace-boundary check. For links
174
+ // we follow via fs.realpath (one follow, boundary-checked), then stat the
175
+ // validated realpath — the kind/size/mtime returned to the client always come
176
+ // from the same target we approved. Windows junctions and POSIX/Windows dir
177
+ // symlinks all surface as lstat.isSymbolicLink()=true here.
178
+ // Returns null when the resolved target is outside the workspace so the UI
179
+ // never offers an "expandable" affordance the scope check would later refuse.
180
+ async function resolveEntryKind({ targetPath, realRoot, realParent, }) {
181
+ const linkStats = await fs.lstat(targetPath);
182
+ if (linkStats.isSymbolicLink()) {
183
+ const realTarget = await fs.realpath(targetPath);
184
+ const relative = path.relative(realRoot, realTarget);
185
+ if (relative !== "" && (relative.startsWith("..") || path.isAbsolute(relative))) {
186
+ return null;
187
+ }
188
+ const stats = await fs.stat(realTarget);
189
+ // Drop directory symlinks that point at the listing directory itself or any
190
+ // of its ancestors. Expanding them creates infinite phantom paths
191
+ // (`loop/loop/loop/…`, `up/up/up/…`) without revealing anything new.
192
+ if (stats.isDirectory() && isAncestorOrSelf({ ancestor: realTarget, descendant: realParent })) {
193
+ return null;
194
+ }
195
+ return {
196
+ kind: stats.isDirectory() ? "directory" : "file",
197
+ stats,
198
+ isSymbolicLink: true,
199
+ };
200
+ }
201
+ return {
202
+ kind: linkStats.isDirectory() ? "directory" : "file",
203
+ stats: linkStats,
204
+ isSymbolicLink: false,
205
+ };
206
+ }
207
+ function isAncestorOrSelf({ ancestor, descendant, }) {
208
+ const rel = path.relative(ancestor, descendant);
209
+ // rel === "" → same path; rel without ".." and not absolute → descendant is inside ancestor.
210
+ return rel === "" || (!rel.startsWith("..") && !path.isAbsolute(rel));
160
211
  }
161
212
  function isMissingEntryError(error) {
162
213
  const code = error?.code;
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/server/file-explorer/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/server/file-explorer/service.ts"],"names":[],"mappings":"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"}
@@ -22607,18 +22607,21 @@ export declare const FileExplorerResponseSchema: z.ZodObject<{
22607
22607
  kind: z.ZodEnum<["file", "directory"]>;
22608
22608
  size: z.ZodNumber;
22609
22609
  modifiedAt: z.ZodString;
22610
+ isSymbolicLink: z.ZodOptional<z.ZodBoolean>;
22610
22611
  }, "strip", z.ZodTypeAny, {
22611
22612
  name: string;
22612
22613
  path: string;
22613
22614
  kind: "directory" | "file";
22614
22615
  size: number;
22615
22616
  modifiedAt: string;
22617
+ isSymbolicLink?: boolean | undefined;
22616
22618
  }, {
22617
22619
  name: string;
22618
22620
  path: string;
22619
22621
  kind: "directory" | "file";
22620
22622
  size: number;
22621
22623
  modifiedAt: string;
22624
+ isSymbolicLink?: boolean | undefined;
22622
22625
  }>, "many">;
22623
22626
  }, "strip", z.ZodTypeAny, {
22624
22627
  entries: {
@@ -22627,6 +22630,7 @@ export declare const FileExplorerResponseSchema: z.ZodObject<{
22627
22630
  kind: "directory" | "file";
22628
22631
  size: number;
22629
22632
  modifiedAt: string;
22633
+ isSymbolicLink?: boolean | undefined;
22630
22634
  }[];
22631
22635
  path: string;
22632
22636
  }, {
@@ -22636,6 +22640,7 @@ export declare const FileExplorerResponseSchema: z.ZodObject<{
22636
22640
  kind: "directory" | "file";
22637
22641
  size: number;
22638
22642
  modifiedAt: string;
22643
+ isSymbolicLink?: boolean | undefined;
22639
22644
  }[];
22640
22645
  path: string;
22641
22646
  }>>;
@@ -22678,6 +22683,7 @@ export declare const FileExplorerResponseSchema: z.ZodObject<{
22678
22683
  kind: "directory" | "file";
22679
22684
  size: number;
22680
22685
  modifiedAt: string;
22686
+ isSymbolicLink?: boolean | undefined;
22681
22687
  }[];
22682
22688
  path: string;
22683
22689
  } | null;
@@ -22703,6 +22709,7 @@ export declare const FileExplorerResponseSchema: z.ZodObject<{
22703
22709
  kind: "directory" | "file";
22704
22710
  size: number;
22705
22711
  modifiedAt: string;
22712
+ isSymbolicLink?: boolean | undefined;
22706
22713
  }[];
22707
22714
  path: string;
22708
22715
  } | null;
@@ -22731,6 +22738,7 @@ export declare const FileExplorerResponseSchema: z.ZodObject<{
22731
22738
  kind: "directory" | "file";
22732
22739
  size: number;
22733
22740
  modifiedAt: string;
22741
+ isSymbolicLink?: boolean | undefined;
22734
22742
  }[];
22735
22743
  path: string;
22736
22744
  } | null;
@@ -22759,6 +22767,7 @@ export declare const FileExplorerResponseSchema: z.ZodObject<{
22759
22767
  kind: "directory" | "file";
22760
22768
  size: number;
22761
22769
  modifiedAt: string;
22770
+ isSymbolicLink?: boolean | undefined;
22762
22771
  }[];
22763
22772
  path: string;
22764
22773
  } | null;
@@ -34842,18 +34851,21 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<"type
34842
34851
  kind: z.ZodEnum<["file", "directory"]>;
34843
34852
  size: z.ZodNumber;
34844
34853
  modifiedAt: z.ZodString;
34854
+ isSymbolicLink: z.ZodOptional<z.ZodBoolean>;
34845
34855
  }, "strip", z.ZodTypeAny, {
34846
34856
  name: string;
34847
34857
  path: string;
34848
34858
  kind: "directory" | "file";
34849
34859
  size: number;
34850
34860
  modifiedAt: string;
34861
+ isSymbolicLink?: boolean | undefined;
34851
34862
  }, {
34852
34863
  name: string;
34853
34864
  path: string;
34854
34865
  kind: "directory" | "file";
34855
34866
  size: number;
34856
34867
  modifiedAt: string;
34868
+ isSymbolicLink?: boolean | undefined;
34857
34869
  }>, "many">;
34858
34870
  }, "strip", z.ZodTypeAny, {
34859
34871
  entries: {
@@ -34862,6 +34874,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<"type
34862
34874
  kind: "directory" | "file";
34863
34875
  size: number;
34864
34876
  modifiedAt: string;
34877
+ isSymbolicLink?: boolean | undefined;
34865
34878
  }[];
34866
34879
  path: string;
34867
34880
  }, {
@@ -34871,6 +34884,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<"type
34871
34884
  kind: "directory" | "file";
34872
34885
  size: number;
34873
34886
  modifiedAt: string;
34887
+ isSymbolicLink?: boolean | undefined;
34874
34888
  }[];
34875
34889
  path: string;
34876
34890
  }>>;
@@ -34913,6 +34927,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<"type
34913
34927
  kind: "directory" | "file";
34914
34928
  size: number;
34915
34929
  modifiedAt: string;
34930
+ isSymbolicLink?: boolean | undefined;
34916
34931
  }[];
34917
34932
  path: string;
34918
34933
  } | null;
@@ -34938,6 +34953,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<"type
34938
34953
  kind: "directory" | "file";
34939
34954
  size: number;
34940
34955
  modifiedAt: string;
34956
+ isSymbolicLink?: boolean | undefined;
34941
34957
  }[];
34942
34958
  path: string;
34943
34959
  } | null;
@@ -34966,6 +34982,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<"type
34966
34982
  kind: "directory" | "file";
34967
34983
  size: number;
34968
34984
  modifiedAt: string;
34985
+ isSymbolicLink?: boolean | undefined;
34969
34986
  }[];
34970
34987
  path: string;
34971
34988
  } | null;
@@ -34994,6 +35011,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<"type
34994
35011
  kind: "directory" | "file";
34995
35012
  size: number;
34996
35013
  modifiedAt: string;
35014
+ isSymbolicLink?: boolean | undefined;
34997
35015
  }[];
34998
35016
  path: string;
34999
35017
  } | null;
@@ -57483,18 +57501,21 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
57483
57501
  kind: z.ZodEnum<["file", "directory"]>;
57484
57502
  size: z.ZodNumber;
57485
57503
  modifiedAt: z.ZodString;
57504
+ isSymbolicLink: z.ZodOptional<z.ZodBoolean>;
57486
57505
  }, "strip", z.ZodTypeAny, {
57487
57506
  name: string;
57488
57507
  path: string;
57489
57508
  kind: "directory" | "file";
57490
57509
  size: number;
57491
57510
  modifiedAt: string;
57511
+ isSymbolicLink?: boolean | undefined;
57492
57512
  }, {
57493
57513
  name: string;
57494
57514
  path: string;
57495
57515
  kind: "directory" | "file";
57496
57516
  size: number;
57497
57517
  modifiedAt: string;
57518
+ isSymbolicLink?: boolean | undefined;
57498
57519
  }>, "many">;
57499
57520
  }, "strip", z.ZodTypeAny, {
57500
57521
  entries: {
@@ -57503,6 +57524,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
57503
57524
  kind: "directory" | "file";
57504
57525
  size: number;
57505
57526
  modifiedAt: string;
57527
+ isSymbolicLink?: boolean | undefined;
57506
57528
  }[];
57507
57529
  path: string;
57508
57530
  }, {
@@ -57512,6 +57534,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
57512
57534
  kind: "directory" | "file";
57513
57535
  size: number;
57514
57536
  modifiedAt: string;
57537
+ isSymbolicLink?: boolean | undefined;
57515
57538
  }[];
57516
57539
  path: string;
57517
57540
  }>>;
@@ -57554,6 +57577,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
57554
57577
  kind: "directory" | "file";
57555
57578
  size: number;
57556
57579
  modifiedAt: string;
57580
+ isSymbolicLink?: boolean | undefined;
57557
57581
  }[];
57558
57582
  path: string;
57559
57583
  } | null;
@@ -57579,6 +57603,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
57579
57603
  kind: "directory" | "file";
57580
57604
  size: number;
57581
57605
  modifiedAt: string;
57606
+ isSymbolicLink?: boolean | undefined;
57582
57607
  }[];
57583
57608
  path: string;
57584
57609
  } | null;
@@ -57607,6 +57632,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
57607
57632
  kind: "directory" | "file";
57608
57633
  size: number;
57609
57634
  modifiedAt: string;
57635
+ isSymbolicLink?: boolean | undefined;
57610
57636
  }[];
57611
57637
  path: string;
57612
57638
  } | null;
@@ -57635,6 +57661,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
57635
57661
  kind: "directory" | "file";
57636
57662
  size: number;
57637
57663
  modifiedAt: string;
57664
+ isSymbolicLink?: boolean | undefined;
57638
57665
  }[];
57639
57666
  path: string;
57640
57667
  } | null;
@@ -65947,6 +65974,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
65947
65974
  kind: "directory" | "file";
65948
65975
  size: number;
65949
65976
  modifiedAt: string;
65977
+ isSymbolicLink?: boolean | undefined;
65950
65978
  }[];
65951
65979
  path: string;
65952
65980
  } | null;
@@ -68393,6 +68421,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
68393
68421
  kind: "directory" | "file";
68394
68422
  size: number;
68395
68423
  modifiedAt: string;
68424
+ isSymbolicLink?: boolean | undefined;
68396
68425
  }[];
68397
68426
  path: string;
68398
68427
  } | null;
@@ -84797,18 +84826,21 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<"type", [z
84797
84826
  kind: z.ZodEnum<["file", "directory"]>;
84798
84827
  size: z.ZodNumber;
84799
84828
  modifiedAt: z.ZodString;
84829
+ isSymbolicLink: z.ZodOptional<z.ZodBoolean>;
84800
84830
  }, "strip", z.ZodTypeAny, {
84801
84831
  name: string;
84802
84832
  path: string;
84803
84833
  kind: "directory" | "file";
84804
84834
  size: number;
84805
84835
  modifiedAt: string;
84836
+ isSymbolicLink?: boolean | undefined;
84806
84837
  }, {
84807
84838
  name: string;
84808
84839
  path: string;
84809
84840
  kind: "directory" | "file";
84810
84841
  size: number;
84811
84842
  modifiedAt: string;
84843
+ isSymbolicLink?: boolean | undefined;
84812
84844
  }>, "many">;
84813
84845
  }, "strip", z.ZodTypeAny, {
84814
84846
  entries: {
@@ -84817,6 +84849,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<"type", [z
84817
84849
  kind: "directory" | "file";
84818
84850
  size: number;
84819
84851
  modifiedAt: string;
84852
+ isSymbolicLink?: boolean | undefined;
84820
84853
  }[];
84821
84854
  path: string;
84822
84855
  }, {
@@ -84826,6 +84859,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<"type", [z
84826
84859
  kind: "directory" | "file";
84827
84860
  size: number;
84828
84861
  modifiedAt: string;
84862
+ isSymbolicLink?: boolean | undefined;
84829
84863
  }[];
84830
84864
  path: string;
84831
84865
  }>>;
@@ -84868,6 +84902,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<"type", [z
84868
84902
  kind: "directory" | "file";
84869
84903
  size: number;
84870
84904
  modifiedAt: string;
84905
+ isSymbolicLink?: boolean | undefined;
84871
84906
  }[];
84872
84907
  path: string;
84873
84908
  } | null;
@@ -84893,6 +84928,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<"type", [z
84893
84928
  kind: "directory" | "file";
84894
84929
  size: number;
84895
84930
  modifiedAt: string;
84931
+ isSymbolicLink?: boolean | undefined;
84896
84932
  }[];
84897
84933
  path: string;
84898
84934
  } | null;
@@ -84921,6 +84957,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<"type", [z
84921
84957
  kind: "directory" | "file";
84922
84958
  size: number;
84923
84959
  modifiedAt: string;
84960
+ isSymbolicLink?: boolean | undefined;
84924
84961
  }[];
84925
84962
  path: string;
84926
84963
  } | null;
@@ -84949,6 +84986,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<"type", [z
84949
84986
  kind: "directory" | "file";
84950
84987
  size: number;
84951
84988
  modifiedAt: string;
84989
+ isSymbolicLink?: boolean | undefined;
84952
84990
  }[];
84953
84991
  path: string;
84954
84992
  } | null;
@@ -93261,6 +93299,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<"type", [z
93261
93299
  kind: "directory" | "file";
93262
93300
  size: number;
93263
93301
  modifiedAt: string;
93302
+ isSymbolicLink?: boolean | undefined;
93264
93303
  }[];
93265
93304
  path: string;
93266
93305
  } | null;
@@ -95707,6 +95746,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<"type", [z
95707
95746
  kind: "directory" | "file";
95708
95747
  size: number;
95709
95748
  modifiedAt: string;
95749
+ isSymbolicLink?: boolean | undefined;
95710
95750
  }[];
95711
95751
  path: string;
95712
95752
  } | null;