@vltpkg/cli-js 1.5.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/{access-QPX4QXV4.js → access-YSLEWR2C.js} +8 -8
  2. package/{bugs-TLOECXEM.js → bugs-S6CRUEA2.js} +23 -19
  3. package/{build-IQOS3LKO.js → build-SG3KPX3W.js} +49 -14
  4. package/{cache-O5IBYYSB.js → cache-HA77ROM7.js} +16 -13
  5. package/cache-unzip-src-unzip.js +23 -4
  6. package/{chunk-3S3W7QEM.js → chunk-3E3ISOYM.js} +10 -5
  7. package/{chunk-43EJ4Q42.js → chunk-3JIN46K5.js} +1 -1
  8. package/{chunk-5KW6AOTT.js → chunk-4GMNWW4C.js} +1 -1
  9. package/{chunk-6W5XMVIZ.js → chunk-4UAIPIAV.js} +7 -7
  10. package/{chunk-7UWRR6EE.js → chunk-5Q2HSLVV.js} +1 -1
  11. package/{chunk-LUVDMEW4.js → chunk-6D3QAFNZ.js} +1 -1
  12. package/{chunk-LH7J5BDU.js → chunk-6XVW7CWJ.js} +3 -3
  13. package/{chunk-UZ6ICZE3.js → chunk-7M2VTFLP.js} +12 -1
  14. package/{chunk-XCQCYB6G.js → chunk-AEVT3CHK.js} +142 -16
  15. package/{chunk-SMXXFQPI.js → chunk-AHLBPSGQ.js} +3 -3
  16. package/{chunk-6LZM3I4Q.js → chunk-BF5DRGRZ.js} +25 -4
  17. package/chunk-BH5CVXNY.js +115 -0
  18. package/{chunk-CS6AYPY5.js → chunk-BQMHDAYL.js} +6 -13
  19. package/{chunk-2U4PVHP4.js → chunk-C4RJ4NNS.js} +137 -47
  20. package/{chunk-F7NPYSI2.js → chunk-CAV7FKWQ.js} +2 -2
  21. package/chunk-DXED4ARV.js +436 -0
  22. package/chunk-E74WGW5C.js +49 -0
  23. package/{chunk-CMLDLZZ3.js → chunk-EFHOWRKU.js} +56 -0
  24. package/{chunk-IFEZ6BFV.js → chunk-EMTGRCSE.js} +2 -2
  25. package/{chunk-4TSHLSRK.js → chunk-EYGOEAJM.js} +1 -1
  26. package/{chunk-DBANBIL2.js → chunk-FZCPQWCJ.js} +1 -0
  27. package/chunk-GCTREKA4.js +115 -0
  28. package/{chunk-CW56EJIL.js → chunk-HT6FS4VB.js} +1 -1
  29. package/{chunk-VR7NRWAD.js → chunk-IHERL3TA.js} +17 -16
  30. package/chunk-JV5XR5JQ.js +349 -0
  31. package/{chunk-T5EP7QEF.js → chunk-JZXNHIQE.js} +28 -28
  32. package/{chunk-IJUVVD7E.js → chunk-KD5ZK72K.js} +1 -1
  33. package/{chunk-C6ZVVEFV.js → chunk-KURQHX54.js} +5 -3
  34. package/{chunk-GUP55DM6.js → chunk-L3ZF7OYM.js} +2 -2
  35. package/{chunk-X6JKMIOU.js → chunk-LGQVZTYR.js} +4 -36
  36. package/{chunk-G3FZ2ZJK.js → chunk-M242QVJS.js} +1 -1
  37. package/chunk-MCDLJZXT.js +82 -0
  38. package/{chunk-WHWPAYZY.js → chunk-MSWOR3FV.js} +35 -7
  39. package/chunk-N3V6EK5I.js +77 -0
  40. package/{chunk-ISAMD2FE.js → chunk-N6HV7JWC.js} +1 -1
  41. package/{chunk-MYX4JCIJ.js → chunk-NO53Y3QO.js} +1 -1
  42. package/chunk-O6MQ7NN6.js +1155 -0
  43. package/{chunk-XCSNI6AO.js → chunk-OWL5G4K4.js} +4 -4
  44. package/{chunk-35EG6T3J.js → chunk-Q2UEILN6.js} +21 -9
  45. package/{chunk-Z5D5KODU.js → chunk-VGPLFOJO.js} +4 -2
  46. package/{chunk-ARE7FKDG.js → chunk-W24SBFY5.js} +5 -5
  47. package/{chunk-XD5KUDXX.js → chunk-WMMKUVAT.js} +10 -8
  48. package/{chunk-4UH3KMTD.js → chunk-ZJE3OTP3.js} +258 -451
  49. package/{ci-ESVUMOZO.js → ci-GVLL72SS.js} +21 -17
  50. package/cli-package.json +3 -1
  51. package/{config-ZVVLFKR7.js → config-KH6AEMHI.js} +13 -12
  52. package/{config-TMB2X6DW.js → config-TIPKOPYS.js} +10 -9
  53. package/{create-BLTNKSBQ.js → create-SKNEZEZY.js} +28 -24
  54. package/{deprecate-VA6PGHYL.js → deprecate-RFRLJZVL.js} +12 -12
  55. package/{dist-tag-OYJREFO2.js → dist-tag-LVYOTJHJ.js} +8 -8
  56. package/{docs-6OC3OQNM.js → docs-INXRFEGY.js} +23 -19
  57. package/{exec-AZPGFVRY.js → exec-5MA5XRPZ.js} +28 -24
  58. package/{exec-cache-D75UY2WI.js → exec-cache-7GS4KLWJ.js} +24 -20
  59. package/{exec-local-E2JKB4X4.js → exec-local-RE4KVTMN.js} +22 -18
  60. package/{help-UPW77X5N.js → help-JHLP565L.js} +5 -4
  61. package/{init-SNO6QL7C.js → init-4UFHO67B.js} +13 -12
  62. package/{install-TEJM2YVX.js → install-Z33YVCDK.js} +108 -52
  63. package/{list-NHCC2RNB.js → list-XAMKR6TL.js} +29 -22
  64. package/{login-XNZXCGFD.js → login-6NXUO5FF.js} +14 -13
  65. package/{logout-YCM7O36Q.js → logout-6P7LWTAY.js} +8 -8
  66. package/{outdated-4LA7N63W.js → outdated-YNUSWZJD.js} +18 -17
  67. package/{pack-RC4CZSWF.js → pack-LMQYH75V.js} +15 -14
  68. package/package.json +1 -1
  69. package/{ping-RLVAZGDL.js → ping-VLFZ3WCY.js} +8 -8
  70. package/{pkg-FED5C6TP.js → pkg-JMPBHKSW.js} +16 -15
  71. package/{profile-DJZNLQPG.js → profile-PJJAA2YM.js} +8 -8
  72. package/{publish-54AMVMTQ.js → publish-33RFJ2HJ.js} +24 -20
  73. package/{query-ZQLMSJ7O.js → query-LUUOK57K.js} +29 -22
  74. package/{registry-6HKQYSZX.js → registry-ZGGWVLBM.js} +5 -5
  75. package/registry-client-src-revalidate.js +41 -11
  76. package/{repo-ITA4BLZ4.js → repo-VLHLQP2S.js} +23 -19
  77. package/{reporter-UYVR2WMB.js → reporter-SNSM2TDC.js} +61 -15
  78. package/{run-TP2HTJRN.js → run-USWK7R3N.js} +22 -18
  79. package/{run-exec-UGCC53DV.js → run-exec-PHE44AWW.js} +22 -18
  80. package/security-archive-src-update-expired.js +24 -5
  81. package/{setup-XPAM5U3Z.js → setup-JMY47ERY.js} +206 -27
  82. package/{skills-YD2TB2VD.js → skills-7PYMTDER.js} +41 -56
  83. package/{skills-LR6GXW3X.js → skills-YMMV6TMN.js} +24 -21
  84. package/{src-34D4DOOH.js → src-2ZS4VHJP.js} +25 -19
  85. package/{src-H6DFCAPH.js → src-A5ZJNOHN.js} +6 -4
  86. package/{src-LHDC4NJO.js → src-W2VQULRG.js} +2 -2
  87. package/{token-OF63PFTQ.js → token-YKHELNVQ.js} +10 -9
  88. package/{uninstall-B54FQ5KQ.js → uninstall-Q46HWR5S.js} +53 -17
  89. package/{unpublish-CSHIGMDQ.js → unpublish-LBANPSJ5.js} +8 -8
  90. package/{update-HS4VJ5ZG.js → update-B2EGLZHI.js} +19 -17
  91. package/{version-L7S3DHUS.js → version-IEOBL3NN.js} +14 -13
  92. package/{view-NWKKWFVA.js → view-JCA5VT6F.js} +13 -13
  93. package/vlr.js +1 -1
  94. package/vlrx.js +1 -1
  95. package/vlt.js +1 -1
  96. package/vlx.js +1 -1
  97. package/vlxl.js +1 -1
  98. package/{whoami-65K35VGW.js → whoami-OWJUPO3X.js} +8 -8
  99. package/chunk-T2VBCUF5.js +0 -77
@@ -14,12 +14,12 @@ import {
14
14
  SecurityArchive,
15
15
  pRetry,
16
16
  usesNpmRegistry
17
- } from "./chunk-SMXXFQPI.js";
17
+ } from "./chunk-AHLBPSGQ.js";
18
18
  import {
19
19
  Monorepo,
20
20
  PackageJson,
21
21
  minimatch
22
- } from "./chunk-C6ZVVEFV.js";
22
+ } from "./chunk-KURQHX54.js";
23
23
  import {
24
24
  asDepID,
25
25
  baseDepID,
@@ -33,13 +33,13 @@ import {
33
33
  joinExtra,
34
34
  splitDepID,
35
35
  splitExtra
36
- } from "./chunk-F7NPYSI2.js";
36
+ } from "./chunk-CAV7FKWQ.js";
37
37
  import {
38
38
  Spec as Spec2
39
- } from "./chunk-LUVDMEW4.js";
39
+ } from "./chunk-6D3QAFNZ.js";
40
40
  import {
41
41
  userAgentHeaders
42
- } from "./chunk-G3FZ2ZJK.js";
42
+ } from "./chunk-M242QVJS.js";
43
43
  import {
44
44
  graphStep
45
45
  } from "./chunk-B6RIGNEO.js";
@@ -83,7 +83,7 @@ import {
83
83
  shortDependencyTypes,
84
84
  subset,
85
85
  tarballFormat
86
- } from "./chunk-6LZM3I4Q.js";
86
+ } from "./chunk-BF5DRGRZ.js";
87
87
  import {
88
88
  error,
89
89
  syntaxError,
@@ -4296,6 +4296,9 @@ var Node = class _Node {
4296
4296
  case "registry":
4297
4297
  this.#registryNodeResolved(tuple);
4298
4298
  break;
4299
+ case "git":
4300
+ this.resolved = hydrateTuple(tuple, this.#name, this.#options).final.remoteURL ?? resolved;
4301
+ break;
4299
4302
  default:
4300
4303
  this.resolved = resolved;
4301
4304
  break;
@@ -5009,21 +5012,21 @@ var Graph = class {
5009
5012
  const rest = [];
5010
5013
  const importers = this.importers.values();
5011
5014
  let seenImporters = 0;
5012
- let sorted = true;
5015
+ let sorted2 = true;
5013
5016
  let prev;
5014
5017
  for (const node of this.nodes.values()) {
5015
5018
  if (this.importers.has(node)) {
5016
5019
  if (rest.length || importers.next().value !== node) {
5017
- sorted = false;
5020
+ sorted2 = false;
5018
5021
  }
5019
5022
  seenImporters++;
5020
5023
  continue;
5021
5024
  }
5022
- if (sorted && prev && cmp(prev, node) > 0) sorted = false;
5025
+ if (sorted2 && prev && cmp(prev, node) > 0) sorted2 = false;
5023
5026
  prev = node;
5024
5027
  rest.push(node);
5025
5028
  }
5026
- if (sorted && seenImporters === this.importers.size) return;
5029
+ if (sorted2 && seenImporters === this.importers.size) return;
5027
5030
  rest.sort(cmp);
5028
5031
  const nodes = /* @__PURE__ */ new Map();
5029
5032
  for (const node of this.importers) nodes.set(node.id, node);
@@ -5064,6 +5067,7 @@ var Graph = class {
5064
5067
  }
5065
5068
  return edge;
5066
5069
  }
5070
+ edge.to?.edgesIn.delete(edge);
5067
5071
  this.edges.delete(edge);
5068
5072
  }
5069
5073
  this.mutations++;
@@ -5505,10 +5509,9 @@ var loadNodes = (graph, nodes, options, actual, throwOnMissingManifest) => {
5505
5509
  node.dev = dev2;
5506
5510
  node.optional = optional2;
5507
5511
  node.brotli = brotli;
5508
- node.integrity = integrity ?? referenceNode?.integrity;
5509
- const refResolved = referenceNode?.resolved;
5510
- const refResolvedUsable = !integrity || !refResolved || tarballFormat(refResolved) === "brotli" === brotli;
5511
- node.resolved = type2 === "remote" ? filepath : resolved ?? (refResolvedUsable ? refResolved : void 0);
5512
+ const ref = !!referenceNode?.brotli === brotli ? referenceNode : void 0;
5513
+ node.integrity = integrity ?? ref?.integrity;
5514
+ node.resolved = type2 === "remote" ? filepath : resolved ?? ref?.resolved;
5512
5515
  node.resolvedFromLockfile = !!(node.integrity && node.resolved);
5513
5516
  node.projectRoot = graph.projectRoot;
5514
5517
  if (!node.resolved) node.setResolved();
@@ -6760,14 +6763,19 @@ var id = async (state) => {
6760
6763
  if (!value) {
6761
6764
  throw error("Missing identifier name");
6762
6765
  }
6766
+ const unlinked = /* @__PURE__ */ new Set();
6763
6767
  for (const edge of state.partial.edges) {
6764
6768
  if (edge.name !== value) {
6765
6769
  state.partial.edges.delete(edge);
6766
- if (edge.to) {
6767
- state.partial.nodes.delete(edge.to);
6768
- }
6770
+ if (edge.to) unlinked.add(edge.to);
6769
6771
  }
6770
6772
  }
6773
+ for (const edge of state.partial.edges) {
6774
+ if (edge.to) unlinked.delete(edge.to);
6775
+ }
6776
+ for (const node of unlinked) {
6777
+ state.partial.nodes.delete(node);
6778
+ }
6771
6779
  for (const node of state.partial.nodes) {
6772
6780
  if (node.edgesIn.size === 0 && node.name !== value && state.partial.nodes.has(node)) {
6773
6781
  state.partial.nodes.delete(node);
@@ -9805,7 +9813,7 @@ var Query = class {
9805
9813
  };
9806
9814
 
9807
9815
  // ../../src/graph/src/skills/lazy.ts
9808
- var load3 = () => import("./skills-YD2TB2VD.js");
9816
+ var load3 = () => import("./skills-7PYMTDER.js");
9809
9817
  var listSkills = async (o) => (await load3()).listSkills(o);
9810
9818
  var linkSkills = async (o) => (await load3()).linkSkills(o);
9811
9819
  var hasSkills = async (node) => isNode(node) && (await load3()).shipsSkills(node);
@@ -9889,15 +9897,79 @@ var assertQuery = async (selector, flag, partSelectors) => {
9889
9897
  }
9890
9898
  };
9891
9899
 
9900
+ // ../../src/graph/src/skills/gitignore.ts
9901
+ import { lstatSync as lstatSync2, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "node:fs";
9902
+ import { join as join2 } from "node:path";
9903
+ var GITIGNORE_BEGIN = "# >>> vlt agent skills (links into node_modules)";
9904
+ var GITIGNORE_END = "# <<< vlt agent skills";
9905
+ var sorted = (names) => [...names].sort((a, b) => a.localeCompare(b, "en")).map((n) => `/${n}`);
9906
+ var findBlock = (lines) => {
9907
+ const begin = lines.findIndex((l) => l.trim() === GITIGNORE_BEGIN);
9908
+ const end = lines.findIndex(
9909
+ (l, i) => begin !== -1 && i > begin && l.trim() === GITIGNORE_END
9910
+ );
9911
+ return { begin, end };
9912
+ };
9913
+ var update = (file, { add, remove }) => {
9914
+ const st = lstatSync2(file, { throwIfNoEntry: false });
9915
+ if (st && !st.isFile()) return "refused";
9916
+ const text = st ? readFileSync3(file, "utf8") : "";
9917
+ const eol = text.includes("\r\n") ? "\r\n" : "\n";
9918
+ const lines = text.split(eol);
9919
+ const { begin, end } = findBlock(lines);
9920
+ let out;
9921
+ if (end === -1) {
9922
+ if (!add.length) return "ok";
9923
+ out = (text && !text.endsWith(eol) ? text + eol : text) + [GITIGNORE_BEGIN, ...sorted(add), GITIGNORE_END].join(eol) + eol;
9924
+ } else {
9925
+ const rm2 = new Set(sorted(remove));
9926
+ const block = lines.slice(begin + 1, end).filter((l) => !rm2.has(l.trim()));
9927
+ const have = new Set(block.map((l) => l.trim()));
9928
+ lines.splice(
9929
+ begin + 1,
9930
+ end - begin - 1,
9931
+ ...block,
9932
+ ...sorted(add).filter((l) => !have.has(l))
9933
+ );
9934
+ out = lines.join(eol);
9935
+ }
9936
+ if (out !== text) writeFileSync2(file, out);
9937
+ return "ok";
9938
+ };
9939
+ var editGitignore = (dir, edit) => {
9940
+ try {
9941
+ return update(join2(dir, ".gitignore"), edit);
9942
+ } catch {
9943
+ return "refused";
9944
+ }
9945
+ };
9946
+ var gitignoreNames = (dir) => {
9947
+ try {
9948
+ const file = join2(dir, ".gitignore");
9949
+ if (!lstatSync2(file, { throwIfNoEntry: false })?.isFile()) {
9950
+ return /* @__PURE__ */ new Set();
9951
+ }
9952
+ const lines = readFileSync3(file, "utf8").split(/\r?\n/);
9953
+ const { begin, end } = findBlock(lines);
9954
+ if (end === -1) return /* @__PURE__ */ new Set();
9955
+ return new Set(
9956
+ lines.slice(begin + 1, end).map((l) => l.trim()).filter((l) => l.startsWith("/")).map((l) => l.slice(1))
9957
+ );
9958
+ } catch {
9959
+ return /* @__PURE__ */ new Set();
9960
+ }
9961
+ };
9962
+
9892
9963
  // ../../src/graph/src/skills/mounts.ts
9893
9964
  import {
9894
- lstatSync as lstatSync2,
9965
+ existsSync as existsSync2,
9966
+ lstatSync as lstatSync3,
9895
9967
  readdirSync as readdirSync2,
9896
9968
  readlinkSync,
9897
9969
  realpathSync,
9898
9970
  unlinkSync
9899
9971
  } from "node:fs";
9900
- import { dirname as dirname3, join as join2, relative as relative2, resolve as resolve5, sep } from "node:path";
9972
+ import { dirname as dirname3, join as join3, relative as relative2, resolve as resolve5, sep } from "node:path";
9901
9973
 
9902
9974
  // ../../src/graph/src/reify/symlink-sync.ts
9903
9975
  import { mkdirSync as mkdirSync2, symlinkSync } from "node:fs";
@@ -9915,7 +9987,7 @@ var symlinkSyncMkdirp = (target, link2, type2) => {
9915
9987
  // ../../src/graph/src/skills/mounts.ts
9916
9988
  var lstat = (path2) => {
9917
9989
  try {
9918
- return lstatSync2(path2, { throwIfNoEntry: false });
9990
+ return lstatSync3(path2, { throwIfNoEntry: false });
9919
9991
  } catch {
9920
9992
  return void 0;
9921
9993
  }
@@ -9933,12 +10005,22 @@ var realOr = (p) => {
9933
10005
  };
9934
10006
  var samePath = (a, b) => norm(realOr(a)) === norm(realOr(b));
9935
10007
  var storeSeg = `${sep}node_modules${sep}.vlt${sep}`;
9936
- var mountTarget = (link2) => {
10008
+ var linkTarget = (link2) => {
9937
10009
  if (!lstat(link2)?.isSymbolicLink()) return void 0;
9938
10010
  let raw = readlinkSync(link2);
9939
10011
  if (raw.startsWith("\\\\?\\")) raw = raw.slice(4);
9940
- const target = resolve5(dirname3(link2), raw);
9941
- return norm(target).includes(storeSeg) ? target : void 0;
10012
+ return resolve5(dirname3(link2), raw);
10013
+ };
10014
+ var mountTarget = (link2) => {
10015
+ const target = linkTarget(link2);
10016
+ return target && norm(target).includes(storeSeg) ? target : void 0;
10017
+ };
10018
+ var workspaceOf = (target, workspaces) => {
10019
+ const t = norm(realOr(target));
10020
+ return workspaces.filter(({ path: path2 }) => {
10021
+ const p = norm(path2);
10022
+ return t === p || t.startsWith(p + sep);
10023
+ }).sort((a, b) => b.path.length - a.path.length)[0];
9942
10024
  };
9943
10025
  var ownerOf = (target) => {
9944
10026
  const parts = target.split(sep);
@@ -9962,7 +10044,10 @@ var packageKey = (id2) => {
9962
10044
  at > 0 ? spec2.slice(0, at) : spec2
9963
10045
  ]);
9964
10046
  };
9965
- var readMounts = (scan) => {
10047
+ var readMounts = (scan, {
10048
+ workspaces = [],
10049
+ made
10050
+ } = {}) => {
9966
10051
  const mounts = [];
9967
10052
  for (const dir of scan) {
9968
10053
  let entries;
@@ -9971,29 +10056,33 @@ var readMounts = (scan) => {
9971
10056
  } catch {
9972
10057
  continue;
9973
10058
  }
10059
+ const listed = gitignoreNames(dir.real);
9974
10060
  for (const name of entries) {
9975
- const link2 = join2(dir.real, name);
10061
+ const link2 = join3(dir.real, name);
10062
+ const mount = `${dir.dir}/${name}`;
10063
+ const m = { dir, name, mount, link: link2 };
9976
10064
  const target = mountTarget(link2);
9977
10065
  if (target) {
9978
- mounts.push({
9979
- dir,
9980
- name,
9981
- mount: `${dir.dir}/${name}`,
9982
- link: link2,
9983
- target,
9984
- owner: ownerOf(target)
9985
- });
10066
+ mounts.push({ ...m, target, owner: ownerOf(target) });
10067
+ continue;
10068
+ }
10069
+ const wsTarget = (listed.has(name) || made?.has(mount)) && linkTarget(link2);
10070
+ if (!wsTarget) continue;
10071
+ if (!existsSync2(wsTarget)) {
10072
+ mounts.push({ ...m, target: wsTarget });
10073
+ continue;
9986
10074
  }
10075
+ const ws = workspaceOf(wsTarget, workspaces);
10076
+ if (ws) mounts.push({ ...m, target: wsTarget, owner: ws.id });
9987
10077
  }
9988
10078
  }
9989
10079
  return mounts.sort((a, b) => a.mount.localeCompare(b.mount, "en"));
9990
10080
  };
9991
- var mountSkill = (skill2, dir) => {
9992
- const link2 = join2(dir.real, skill2.skill);
10081
+ var mountSkill = (skill2, dir, owned = false) => {
10082
+ const link2 = join3(dir.real, skill2.skill);
9993
10083
  if (lstat(link2)) {
9994
- const target = mountTarget(link2);
9995
- if (!target) return "conflict";
9996
- if (samePath(target, skill2.path)) return "unchanged";
10084
+ if (samePath(link2, skill2.path)) return "unchanged";
10085
+ if (!owned && !mountTarget(link2)) return "conflict";
9997
10086
  unlinkSync(link2);
9998
10087
  }
9999
10088
  if (process.platform === "win32") {
@@ -10009,13 +10098,13 @@ var unmountSkill = (m) => {
10009
10098
 
10010
10099
  // ../../src/graph/src/skills/dirs.ts
10011
10100
  import {
10012
- lstatSync as lstatSync3,
10101
+ lstatSync as lstatSync4,
10013
10102
  mkdirSync as mkdirSync3,
10014
10103
  readdirSync as readdirSync3,
10015
10104
  realpathSync as realpathSync2,
10016
10105
  statSync
10017
10106
  } from "node:fs";
10018
- import { isAbsolute, join as join3, relative as relative3, resolve as resolve6, sep as sep2 } from "node:path";
10107
+ import { isAbsolute, join as join4, relative as relative3, resolve as resolve6, sep as sep2 } from "node:path";
10019
10108
  var AGENTS_SKILLS = ".agents/skills";
10020
10109
  var CLAUDE_ENV = ["CLAUDECODE", "CLAUDE_CODE"];
10021
10110
  var AGENT_ROOTS = [
@@ -10147,18 +10236,18 @@ var walk2 = (realRoot, dir, create) => {
10147
10236
  let real = realRoot;
10148
10237
  try {
10149
10238
  for (const [i, part] of parts.entries()) {
10150
- const next = join3(real, part);
10151
- let st = lstatSync3(next, { throwIfNoEntry: false });
10239
+ const next = join4(real, part);
10240
+ let st = lstatSync4(next, { throwIfNoEntry: false });
10152
10241
  if (!st) {
10153
10242
  if (!create)
10154
- return { dir, real: join3(real, ...parts.slice(i)) };
10243
+ return { dir, real: join4(real, ...parts.slice(i)) };
10155
10244
  try {
10156
10245
  mkdirSync3(next);
10157
10246
  } catch (er) {
10158
10247
  if (er.code !== "EEXIST")
10159
10248
  throw er;
10160
10249
  }
10161
- st = lstatSync3(next);
10250
+ st = lstatSync4(next);
10162
10251
  }
10163
10252
  if (st.isSymbolicLink()) {
10164
10253
  let r;
@@ -10199,11 +10288,11 @@ var skillsDirs = ({
10199
10288
  } else {
10200
10289
  const found = /* @__PURE__ */ new Set();
10201
10290
  for (const [marker, d] of AGENT_ROOTS) {
10202
- if (isDir(join3(realRoot, marker))) found.add(d);
10291
+ if (isDir(join4(realRoot, marker))) found.add(d);
10203
10292
  }
10204
10293
  if (CLAUDE_ENV.some((k) => env2[k])) found.add(".claude/skills");
10205
10294
  for (const d of dots) {
10206
- if (isDir(join3(realRoot, d))) found.add(d);
10295
+ if (isDir(join4(realRoot, d))) found.add(d);
10207
10296
  }
10208
10297
  list = [
10209
10298
  AGENTS_SKILLS,
@@ -10282,6 +10371,7 @@ export {
10282
10371
  filterNodesByQueryParts,
10283
10372
  assertQuery,
10284
10373
  symlinkSyncMkdirp,
10374
+ editGitignore,
10285
10375
  lstat,
10286
10376
  norm,
10287
10377
  realOr,
@@ -11,12 +11,12 @@ import {createRequire as _vlt_createRequire} from "node:module";
11
11
  var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  Spec as Spec2
14
- } from "./chunk-LUVDMEW4.js";
14
+ } from "./chunk-6D3QAFNZ.js";
15
15
  import {
16
16
  Spec,
17
17
  currentDefaultRegistryName,
18
18
  defaultRegistryName
19
- } from "./chunk-6LZM3I4Q.js";
19
+ } from "./chunk-BF5DRGRZ.js";
20
20
  import {
21
21
  error
22
22
  } from "./chunk-WZWDS3W4.js";