@socketsecurity/lib 6.0.7 → 6.0.8

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 (263) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +1 -1
  3. package/dist/ai/agent-context.d.mts +103 -0
  4. package/dist/ai/agent-context.js +157 -0
  5. package/dist/ai/backends.d.mts +83 -0
  6. package/dist/ai/backends.js +173 -0
  7. package/dist/ai/credentials.d.mts +49 -0
  8. package/dist/ai/credentials.js +82 -0
  9. package/dist/ai/discover.d.mts +4 -0
  10. package/dist/ai/discover.js +1 -1
  11. package/dist/ai/exec.d.mts +52 -0
  12. package/dist/ai/exec.js +92 -0
  13. package/dist/ai/http.d.mts +132 -0
  14. package/dist/ai/http.js +130 -0
  15. package/dist/ai/profiles.d.mts +41 -6
  16. package/dist/ai/profiles.js +52 -10
  17. package/dist/ai/route.d.mts +69 -0
  18. package/dist/ai/route.js +156 -0
  19. package/dist/ai/spawn.d.mts +10 -2
  20. package/dist/ai/spawn.js +55 -31
  21. package/dist/ai/subagent-status.d.mts +48 -0
  22. package/dist/ai/subagent-status.js +57 -0
  23. package/dist/ai/tier.d.mts +60 -0
  24. package/dist/ai/tier.js +53 -0
  25. package/dist/ai/types.d.mts +15 -2
  26. package/dist/ai/worktree.js +4 -0
  27. package/dist/archives/tar.js +1 -1
  28. package/dist/archives/zip.js +2 -2
  29. package/dist/argv/parse.d.ts +19 -2
  30. package/dist/argv/parse.js +1 -1
  31. package/dist/arrays/join.js +4 -0
  32. package/dist/bin/find.js +4 -4
  33. package/dist/bin/prim.cjs +3915 -3781
  34. package/dist/bin/resolve.js +1 -1
  35. package/dist/cache/ttl/store.js +1 -1
  36. package/dist/cli/check-primordials.d.ts +8 -3
  37. package/dist/cli/check-primordials.js +4 -4
  38. package/dist/compression/_internal.js +1 -1
  39. package/dist/compression/brotli.d.ts +1 -2
  40. package/dist/compression/brotli.js +6 -2
  41. package/dist/compression/gzip.js +6 -2
  42. package/dist/constants/packages.d.ts +3 -0
  43. package/dist/constants/packages.js +2 -1
  44. package/dist/constants/socket.d.ts +2 -6
  45. package/dist/constants/socket.js +12 -14
  46. package/dist/cover/code.js +2 -2
  47. package/dist/crypto/hash.d.ts +4 -1
  48. package/dist/crypto/hash.js +4 -1
  49. package/dist/debug/caller-info.js +1 -1
  50. package/dist/dlx/arborist.js +13 -3
  51. package/dist/dlx/binary-cache.js +1 -1
  52. package/dist/dlx/binary-resolution.js +1 -1
  53. package/dist/dlx/detect.d.ts +8 -0
  54. package/dist/dlx/firewall.d.ts +8 -0
  55. package/dist/dlx/firewall.js +1 -1
  56. package/dist/dlx/lockfile.js +4 -1
  57. package/dist/dlx/manifest.js +1 -1
  58. package/dist/dlx/package.js +4 -0
  59. package/dist/eco/cargo/parse-lockfile.d.ts +1 -2
  60. package/dist/eco/cargo/parse-lockfile.js +3 -3
  61. package/dist/eco/manifest/detect-format.js +1 -1
  62. package/dist/eco/npm/npm/parse-lockfile.d.ts +3 -4
  63. package/dist/eco/npm/npm/parse-lockfile.js +2 -2
  64. package/dist/eco/npm/parse-package-json.d.ts +11 -0
  65. package/dist/eco/npm/parse-package-json.js +1 -1
  66. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +5 -3
  67. package/dist/eco/npm/pnpm/parse-lockfile.js +3 -3
  68. package/dist/eco/npm/yarnpkg/yarn/exec.js +1 -1
  69. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +1 -2
  70. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +1 -1
  71. package/dist/env/proxy.js +1 -1
  72. package/dist/env/rewire.d.ts +1 -0
  73. package/dist/env/rewire.js +1 -1
  74. package/dist/env/socket.d.ts +7 -0
  75. package/dist/env/socket.js +10 -0
  76. package/dist/errors/predicates.js +1 -1
  77. package/dist/external/@npmcli/promise-spawn.js +3 -1
  78. package/dist/external/pico-pack.js +4 -2
  79. package/dist/external/which.js +3 -1
  80. package/dist/external-tools/bazel/asset-names.d.ts +1 -1
  81. package/dist/external-tools/bazel/asset-names.js +5 -2
  82. package/dist/external-tools/bazel/from-download.d.ts +1 -1
  83. package/dist/external-tools/bazel/from-download.js +5 -2
  84. package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
  85. package/dist/external-tools/bazel/resolve.d.ts +3 -3
  86. package/dist/external-tools/bazel/resolve.js +16 -8
  87. package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
  88. package/dist/external-tools/cdxgen/asset-names.js +5 -2
  89. package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
  90. package/dist/external-tools/cdxgen/from-download.js +7 -4
  91. package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
  92. package/dist/external-tools/cdxgen/resolve.js +16 -8
  93. package/dist/external-tools/from-download.d.ts +2 -2
  94. package/dist/external-tools/from-download.js +11 -5
  95. package/dist/external-tools/from-pip-venv.d.ts +1 -1
  96. package/dist/external-tools/from-pip-venv.js +12 -5
  97. package/dist/external-tools/janus/asset-names.d.ts +1 -1
  98. package/dist/external-tools/janus/asset-names.js +5 -2
  99. package/dist/external-tools/janus/from-download.d.ts +1 -1
  100. package/dist/external-tools/janus/from-download.js +5 -2
  101. package/dist/external-tools/janus/resolve.d.ts +3 -3
  102. package/dist/external-tools/janus/resolve.js +16 -8
  103. package/dist/external-tools/jre/asset-names.d.ts +1 -1
  104. package/dist/external-tools/jre/asset-names.js +5 -2
  105. package/dist/external-tools/jre/from-download.d.ts +1 -1
  106. package/dist/external-tools/jre/from-download.js +7 -4
  107. package/dist/external-tools/jre/from-java-home.js +2 -2
  108. package/dist/external-tools/jre/from-vfs.js +2 -2
  109. package/dist/external-tools/jre/resolve.d.ts +3 -3
  110. package/dist/external-tools/jre/resolve.js +16 -8
  111. package/dist/external-tools/manifest.d.ts +18 -0
  112. package/dist/external-tools/manifest.js +1 -1
  113. package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
  114. package/dist/external-tools/opengrep/asset-names.js +5 -2
  115. package/dist/external-tools/opengrep/from-download.d.ts +1 -1
  116. package/dist/external-tools/opengrep/from-download.js +5 -2
  117. package/dist/external-tools/opengrep/resolve.d.ts +3 -3
  118. package/dist/external-tools/opengrep/resolve.js +16 -8
  119. package/dist/external-tools/python/asset-names.d.ts +1 -1
  120. package/dist/external-tools/python/asset-names.js +10 -3
  121. package/dist/external-tools/python/dlx.d.ts +3 -3
  122. package/dist/external-tools/python/dlx.js +20 -9
  123. package/dist/external-tools/python/from-download.d.ts +1 -1
  124. package/dist/external-tools/python/from-download.js +12 -5
  125. package/dist/external-tools/python/pin.js +6 -3
  126. package/dist/external-tools/python/pip-install.js +6 -3
  127. package/dist/external-tools/python/resolve.d.ts +3 -3
  128. package/dist/external-tools/python/resolve.js +19 -11
  129. package/dist/external-tools/sbt/asset-names.d.ts +1 -1
  130. package/dist/external-tools/sbt/asset-names.js +5 -2
  131. package/dist/external-tools/sbt/from-download.d.ts +1 -1
  132. package/dist/external-tools/sbt/from-download.js +5 -2
  133. package/dist/external-tools/sbt/resolve.d.ts +3 -3
  134. package/dist/external-tools/sbt/resolve.js +16 -8
  135. package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
  136. package/dist/external-tools/skillspector/from-dlx.js +10 -3
  137. package/dist/external-tools/skillspector/resolve.d.ts +2 -2
  138. package/dist/external-tools/skillspector/resolve.js +14 -6
  139. package/dist/external-tools/synp/asset-names.d.ts +1 -1
  140. package/dist/external-tools/synp/asset-names.js +6 -2
  141. package/dist/external-tools/synp/from-download.d.ts +1 -1
  142. package/dist/external-tools/synp/from-download.js +5 -2
  143. package/dist/external-tools/synp/resolve.d.ts +3 -3
  144. package/dist/external-tools/synp/resolve.js +16 -8
  145. package/dist/external-tools/trivy/asset-names.d.ts +1 -1
  146. package/dist/external-tools/trivy/asset-names.js +5 -2
  147. package/dist/external-tools/trivy/from-download.d.ts +1 -1
  148. package/dist/external-tools/trivy/from-download.js +7 -4
  149. package/dist/external-tools/trivy/resolve.d.ts +3 -3
  150. package/dist/external-tools/trivy/resolve.js +16 -8
  151. package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
  152. package/dist/external-tools/trufflehog/asset-names.js +5 -2
  153. package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
  154. package/dist/external-tools/trufflehog/from-download.js +7 -4
  155. package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
  156. package/dist/external-tools/trufflehog/resolve.js +16 -8
  157. package/dist/fs/allowed-dirs-cache.d.ts +27 -1
  158. package/dist/fs/allowed-dirs-cache.js +38 -3
  159. package/dist/fs/find.js +1 -1
  160. package/dist/fs/read-json-cache.d.ts +7 -0
  161. package/dist/fs/resolve-module.js +6 -2
  162. package/dist/fs/safe.js +1 -1
  163. package/dist/git/_internal.js +2 -2
  164. package/dist/git/repo.js +2 -4
  165. package/dist/git/staged.js +8 -0
  166. package/dist/git/tracked.d.ts +84 -0
  167. package/dist/git/tracked.js +163 -0
  168. package/dist/git/unstaged.js +8 -0
  169. package/dist/github/refs-graphql.js +4 -0
  170. package/dist/github/refs-rest.js +4 -0
  171. package/dist/github/refs.js +15 -10
  172. package/dist/globs/_internal.js +1 -1
  173. package/dist/globs/match.js +9 -1
  174. package/dist/globs/matcher.js +5 -1
  175. package/dist/http-request/browser.js +6 -2
  176. package/dist/http-request/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
  177. package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
  178. package/dist/http-request/headers.js +1 -1
  179. package/dist/http-request/request-attempt.js +2 -2
  180. package/dist/http-request/user-agent.js +1 -1
  181. package/dist/integrity.d.ts +10 -4
  182. package/dist/integrity.js +10 -4
  183. package/dist/json/edit.js +38 -30
  184. package/dist/json/format.js +1 -1
  185. package/dist/native-messaging/install.d.ts +1 -1
  186. package/dist/native-messaging/install.js +7 -4
  187. package/dist/native-messaging/rate-limit.d.ts +7 -0
  188. package/dist/native-messaging/rate-limit.js +4 -0
  189. package/dist/node/async-hooks.js +1 -1
  190. package/dist/node/child-process.js +1 -1
  191. package/dist/node/crypto.js +1 -1
  192. package/dist/node/events.js +1 -1
  193. package/dist/node/fs-promises.js +1 -1
  194. package/dist/node/fs.d.ts +22 -6
  195. package/dist/node/fs.js +16 -3
  196. package/dist/node/http.js +1 -1
  197. package/dist/node/https.js +1 -1
  198. package/dist/node/module.js +1 -1
  199. package/dist/node/os.d.ts +10 -2
  200. package/dist/node/os.js +11 -4
  201. package/dist/node/path.d.ts +11 -2
  202. package/dist/node/path.js +17 -4
  203. package/dist/node/timers-promises.js +1 -1
  204. package/dist/node/url.js +1 -1
  205. package/dist/node/util.js +1 -1
  206. package/dist/objects/getters.js +1 -1
  207. package/dist/objects/mutate.js +2 -2
  208. package/dist/objects/predicates.js +1 -1
  209. package/dist/packages/edit-class.d.ts +2 -3
  210. package/dist/packages/edit-class.js +41 -35
  211. package/dist/packages/exports.js +4 -4
  212. package/dist/packages/fetch.js +1 -1
  213. package/dist/packages/isolation.js +1 -1
  214. package/dist/packages/licenses.js +2 -2
  215. package/dist/packages/manifest.js +4 -4
  216. package/dist/packages/normalize.js +1 -1
  217. package/dist/packages/provenance.js +2 -2
  218. package/dist/packages/specs.js +1 -1
  219. package/dist/packages/tarball.js +4 -2
  220. package/dist/packages/types.d.ts +1 -2
  221. package/dist/paths/dirnames.d.ts +1 -0
  222. package/dist/paths/dirnames.js +2 -0
  223. package/dist/paths/resolve.js +14 -19
  224. package/dist/paths/rewire.d.ts +5 -0
  225. package/dist/paths/socket.d.ts +74 -111
  226. package/dist/paths/socket.js +99 -132
  227. package/dist/primordials/process.d.ts +88 -0
  228. package/dist/primordials/process.js +132 -0
  229. package/dist/primordials/uncurry.d.ts +1 -2
  230. package/dist/process/spawn/child.js +8 -2
  231. package/dist/process/spawn/errors.js +1 -1
  232. package/dist/regexps/spec.js +1 -1
  233. package/dist/releases/github-archives.js +1 -1
  234. package/dist/releases/github-listing.d.ts +1 -2
  235. package/dist/schema/types.d.ts +3 -4
  236. package/dist/schema/validate.js +1 -1
  237. package/dist/secrets/find.d.ts +2 -2
  238. package/dist/secrets/find.js +10 -4
  239. package/dist/secrets/keychain.d.ts +1 -1
  240. package/dist/secrets/linux.js +32 -44
  241. package/dist/secrets/macos.d.ts +1 -2
  242. package/dist/secrets/macos.js +20 -29
  243. package/dist/secrets/rc.d.ts +2 -2
  244. package/dist/secrets/rc.js +21 -13
  245. package/dist/secrets/socket-api-token.js +8 -0
  246. package/dist/secrets/windows.js +27 -33
  247. package/dist/shell/parse.d.ts +32 -0
  248. package/dist/shell/parse.js +60 -0
  249. package/dist/spinner/create-spinner-class.js +2 -2
  250. package/dist/spinner/spinner-internals.d.ts +1 -1
  251. package/dist/spinner/spinner-internals.js +9 -5
  252. package/dist/spinner/spinner.d.ts +4 -0
  253. package/dist/spinner/spinner.js +1 -1
  254. package/dist/stdio/progress.js +5 -1
  255. package/dist/stdio/prompts.d.ts +2 -2
  256. package/dist/stdio/prompts.js +1 -1
  257. package/dist/temporal/instant.js +2 -2
  258. package/dist/url/assert-safe.d.ts +29 -0
  259. package/dist/url/assert-safe.js +54 -0
  260. package/dist/url/predicates.d.ts +31 -1
  261. package/dist/url/predicates.js +42 -1
  262. package/dist/url/types.d.ts +4 -0
  263. package/package.json +177 -115
package/dist/json/edit.js CHANGED
@@ -33,21 +33,21 @@ let editableJsonClass;
33
33
  */
34
34
  function getEditableJsonClass() {
35
35
  if (editableJsonClass === void 0) editableJsonClass = class EditableJson {
36
- _canSave = true;
37
- _content = {};
38
- _path = void 0;
39
- _readFileContent = "";
40
- _readFileJson = void 0;
36
+ canSave = true;
37
+ contentData = {};
38
+ pathValue = void 0;
39
+ readFileContent = "";
40
+ readFileJson = void 0;
41
41
  get content() {
42
- return this._content;
42
+ return this.contentData;
43
43
  }
44
44
  get filename() {
45
- const path = this._path;
45
+ const path = this.pathValue;
46
46
  if (!path) return "";
47
47
  return path;
48
48
  }
49
49
  get path() {
50
- return this._path;
50
+ return this.pathValue;
51
51
  }
52
52
  static async create(path, opts = { __proto__: null }) {
53
53
  const instance = new EditableJson();
@@ -66,14 +66,14 @@ function getEditableJsonClass() {
66
66
  /* c8 ignore stop */
67
67
  }
68
68
  create(path) {
69
- this._path = path;
70
- this._content = {};
71
- this._canSave = true;
69
+ this.pathValue = path;
70
+ this.contentData = {};
71
+ this.canSave = true;
72
72
  return this;
73
73
  }
74
74
  fromContent(data) {
75
- this._content = data;
76
- this._canSave = false;
75
+ this.contentData = data;
76
+ this.canSave = false;
77
77
  return this;
78
78
  }
79
79
  fromJSON(data) {
@@ -82,46 +82,54 @@ function getEditableJsonClass() {
82
82
  const newline = require_json_format.detectNewline(data);
83
83
  parsed[identSymbol] = indent;
84
84
  parsed[newlineSymbol] = newline;
85
- this._content = parsed;
85
+ this.contentData = parsed;
86
86
  return this;
87
87
  }
88
88
  async load(path) {
89
- this._path = path;
90
- this._readFileContent = await readFile(this.filename);
91
- this.fromJSON(this._readFileContent);
92
- this._readFileJson = require_primordials_json.JSONParse(this._readFileContent);
89
+ this.pathValue = path;
90
+ this.readFileContent = await readFile(this.filename);
91
+ this.fromJSON(this.readFileContent);
92
+ this.readFileJson = require_primordials_json.JSONParse(this.readFileContent);
93
93
  return this;
94
94
  }
95
95
  async save(options) {
96
- if (!this._canSave || this.content === void 0) throw new require_primordials_error.ErrorCtor("No file path to save to");
97
- if (!require_json_format.shouldSave(this.content, this._readFileJson, this._readFileContent, options)) return false;
96
+ options = {
97
+ __proto__: null,
98
+ ...options
99
+ };
100
+ if (!this.canSave || this.content === void 0) throw new require_primordials_error.ErrorCtor("No file path to save to");
101
+ if (!require_json_format.shouldSave(this.content, this.readFileJson, this.readFileContent, options)) return false;
98
102
  const content = require_json_format.stripFormattingSymbols(this.content);
99
103
  const fileContent = require_json_format.stringifyWithFormatting(options?.sort ? require_json_format.sortKeys(content) : content, require_json_format.getFormattingFromContent(this.content));
100
104
  await retryWrite(this.filename, fileContent);
101
- this._readFileContent = fileContent;
102
- this._readFileJson = require_primordials_json.JSONParse(fileContent);
105
+ this.readFileContent = fileContent;
106
+ this.readFileJson = require_primordials_json.JSONParse(fileContent);
103
107
  return true;
104
108
  }
105
109
  saveSync(options) {
106
- if (!this._canSave || this.content === void 0) throw new require_primordials_error.ErrorCtor("No file path to save to");
107
- if (!require_json_format.shouldSave(this.content, this._readFileJson, this._readFileContent, options)) return false;
110
+ options = {
111
+ __proto__: null,
112
+ ...options
113
+ };
114
+ if (!this.canSave || this.content === void 0) throw new require_primordials_error.ErrorCtor("No file path to save to");
115
+ if (!require_json_format.shouldSave(this.content, this.readFileJson, this.readFileContent, options)) return false;
108
116
  const content = require_json_format.stripFormattingSymbols(this.content);
109
117
  const fileContent = require_json_format.stringifyWithFormatting(options?.sort ? require_json_format.sortKeys(content) : content, require_json_format.getFormattingFromContent(this.content));
110
118
  require_node_fs.getNodeFs().writeFileSync(this.filename, fileContent);
111
- this._readFileContent = fileContent;
112
- this._readFileJson = require_primordials_json.JSONParse(fileContent);
119
+ this.readFileContent = fileContent;
120
+ this.readFileJson = require_primordials_json.JSONParse(fileContent);
113
121
  return true;
114
122
  }
115
123
  update(content) {
116
- this._content = {
117
- ...this._content,
124
+ this.contentData = {
125
+ ...this.contentData,
118
126
  ...content
119
127
  };
120
128
  return this;
121
129
  }
122
130
  willSave(options) {
123
- if (!this._canSave || this.content === void 0) return false;
124
- return require_json_format.shouldSave(this.content, this._readFileJson, this._readFileContent, options);
131
+ if (!this.canSave || this.content === void 0) return false;
132
+ return require_json_format.shouldSave(this.content, this.readFileJson, this.readFileContent, options);
125
133
  }
126
134
  };
127
135
  return editableJsonClass;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_json = require('../primordials/json.js');
5
4
  const require_primordials_object = require('../primordials/object.js');
5
+ const require_primordials_json = require('../primordials/json.js');
6
6
 
7
7
  //#region src/json/format.ts
8
8
  /**
@@ -53,7 +53,7 @@ export interface InstallResult {
53
53
  export declare function assertNodeStripTypesSupported(): void;
54
54
  export declare function buildManifest(wrapperPath: string, allowedOrigins: string[]): object;
55
55
  export declare function chromeManifestDirs(): string[];
56
- export declare function installNativeHost(opts: InstallOptions): InstallResult;
56
+ export declare function installNativeHost(options: InstallOptions): InstallResult;
57
57
  export declare function registerWindows(manifestPath: string): void;
58
58
  export declare function stripTypesFlag(): string;
59
59
  export declare function writeWrapperPosix(wrapperPath: string): void;
@@ -9,11 +9,11 @@ const require_env_windows = require('../env/windows.js');
9
9
  const require_constants_node = require('../constants/node.js');
10
10
  const require_env_node_version_managers = require('../env/node-version-managers.js');
11
11
  let node_fs = require("node:fs");
12
+ let node_process = require("node:process");
13
+ node_process = require_runtime.__toESM(node_process);
12
14
  let node_path = require("node:path");
13
15
  node_path = require_runtime.__toESM(node_path);
14
16
  let node_url = require("node:url");
15
- let node_process = require("node:process");
16
- node_process = require_runtime.__toESM(node_process);
17
17
  let _socketsecurity_lib_stable_process_spawn_child = require("@socketsecurity/lib-stable/process/spawn/child");
18
18
 
19
19
  //#region src/native-messaging/install.ts
@@ -78,9 +78,12 @@ function chromeManifestDirs() {
78
78
  const config = node_process.default.env["XDG_CONFIG_HOME"] ?? node_path.default.join(home, ".config");
79
79
  return [node_path.default.join(config, "google-chrome", "NativeMessagingHosts"), node_path.default.join(config, "chromium", "NativeMessagingHosts")];
80
80
  }
81
- function installNativeHost(opts) {
81
+ function installNativeHost(options) {
82
82
  assertNodeStripTypesSupported();
83
- const { allowedOrigins, production = false, wrapperDir = __dirname$1 } = opts;
83
+ const { allowedOrigins, production = false, wrapperDir = __dirname$1 } = {
84
+ __proto__: null,
85
+ ...options
86
+ };
84
87
  if (production && allowedOrigins.includes("*")) throw new require_primordials_error.ErrorCtor("production mode rejects allowedOrigins '*' — pin to specific chrome-extension://<id>/ origins");
85
88
  if (allowedOrigins.length === 0) throw new require_primordials_error.ErrorCtor("allowedOrigins must contain at least one origin; pass ['*'] for development");
86
89
  const wrapperName = require_constants_platform.WIN32 ? `${HOST_NAME}.cmd` : `${HOST_NAME}.sh`;
@@ -38,6 +38,13 @@ export interface TokenBucketOptions {
38
38
  */
39
39
  maxKeys: number;
40
40
  }
41
+ export interface BucketEntry {
42
+ tokens: number;
43
+ lastRefillAt: number;
44
+ newer: BucketEntry | undefined;
45
+ older: BucketEntry | undefined;
46
+ key: string;
47
+ }
41
48
  export declare class TokenBucketLimiter {
42
49
  #private;
43
50
  constructor(options: TokenBucketOptions);
@@ -31,6 +31,10 @@ var TokenBucketLimiter = class {
31
31
  #newest = void 0;
32
32
  #oldest = void 0;
33
33
  constructor(options) {
34
+ options = {
35
+ __proto__: null,
36
+ ...options
37
+ };
34
38
  if (options.capacity < 1) throw new require_primordials_error.ErrorCtor("capacity must be >= 1");
35
39
  if (options.refillIntervalMs <= 0) throw new require_primordials_error.ErrorCtor("refillIntervalMs must be > 0");
36
40
  if (options.maxKeys < 1) throw new require_primordials_error.ErrorCtor("maxKeys must be >= 1");
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let asyncHooks;
8
8
  function getNodeAsyncHooks() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return asyncHooks ??= /*@__PURE__*/ require("node:async_hooks");
10
+ return asyncHooks ??= /*@__PURE__*/ require("async_hooks");
11
11
  }
12
12
 
13
13
  //#endregion
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let childProcess;
8
8
  function getNodeChildProcess() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return childProcess ??= /*@__PURE__*/ require("node:child_process");
10
+ return childProcess ??= /*@__PURE__*/ require("child_process");
11
11
  }
12
12
 
13
13
  //#endregion
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let crypto;
8
8
  function getNodeCrypto() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return crypto ??= /*@__PURE__*/ require("node:crypto");
10
+ return crypto ??= /*@__PURE__*/ require("crypto");
11
11
  }
12
12
 
13
13
  //#endregion
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let events;
8
8
  function getNodeEvents() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return events ??= /*@__PURE__*/ require("node:events");
10
+ return events ??= /*@__PURE__*/ require("events");
11
11
  }
12
12
 
13
13
  //#endregion
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let fsPromises;
8
8
  function getNodeFsPromises() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return fsPromises ??= /*@__PURE__*/ require("node:fs/promises");
10
+ return fsPromises ??= /*@__PURE__*/ require("fs/promises");
11
11
  }
12
12
 
13
13
  //#endregion
package/dist/node/fs.d.ts CHANGED
@@ -1,10 +1,26 @@
1
1
  /**
2
- * @file Lazy-loader for `node:fs`. Bundlers (Webpack/Rollup/esbuild) targeting
3
- * browsers can't statically resolve `require('node:fs')` — but they CAN drop
4
- * the call entirely if it's wrapped in a `/*@__NO_SIDE_EFFECTS__*\/`-marked
5
- * function and never called. So we always go through `getFs()` instead of
6
- * importing top-level. Cache slot is module-local: first call resolves the
7
- * require, every subsequent call returns the cached reference.
2
+ * @file Early-snapshot accessor for `node:fs`. The `require('fs')` runs at
3
+ * module load, but ONLY inside the `IS_NODE` runtime guard in a browser
4
+ * `IS_NODE` is `false`, so the require branch never executes (bundlers mark
5
+ * `node:` builtins external, so the call survives in the output but is
6
+ * unreachable at runtime). In Node the module is captured at load: a
7
+ * primordial-style snapshot, so a later tamper of the `node:fs` cache entry
8
+ * can't redirect what we already hold. `getNodeFs()` returns the captured
9
+ * reference; the `/*@__PURE__*\/` lets a Node-targeted minifier strip the
10
+ * capture when `getNodeFs` is unused. Was a lazy first-call loader; the
11
+ * eager-but-guarded form keeps the browser-safe behavior while gaining the
12
+ * load-time snapshot. Two surfaces: `getNodeFs()` returns the module object
13
+ * with LATE method lookup (spy-able — the test seam); the `fs<Method>` consts
14
+ * (`fsExistsSync`, `fsReadFileSync`, …) are method references FROZEN at load
15
+ * (tamper-proof against a method swap, not spy-able), for the fleet's hot fs
16
+ * calls. Both stay browser-safe behind IS_NODE + `/*@__PURE__*\/`.
8
17
  */
9
18
  import type * as NodeFs from 'node:fs';
10
19
  export declare function getNodeFs(): typeof NodeFs;
20
+ export declare const fsAccessSync: any;
21
+ export declare const fsExistsSync: any;
22
+ export declare const fsMkdirSync: any;
23
+ export declare const fsReadFileSync: any;
24
+ export declare const fsRealpathSync: any;
25
+ export declare const fsStatSync: any;
26
+ export declare const fsWriteFileSync: any;
package/dist/node/fs.js CHANGED
@@ -4,11 +4,24 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_constants_runtime = require('../constants/runtime.js');
5
5
 
6
6
  //#region src/node/fs.ts
7
- let cachedFs;
7
+ const nodeFs = require_constants_runtime.IS_NODE ? /*@__PURE__*/ require("fs") : void 0;
8
8
  function getNodeFs() {
9
- if (!require_constants_runtime.IS_NODE) return;
10
- return cachedFs ??= /*@__PURE__*/ require("node:fs");
9
+ return nodeFs;
11
10
  }
11
+ const fsAccessSync = nodeFs?.accessSync;
12
+ const fsExistsSync = nodeFs?.existsSync;
13
+ const fsMkdirSync = nodeFs?.mkdirSync;
14
+ const fsReadFileSync = nodeFs?.readFileSync;
15
+ const fsRealpathSync = nodeFs?.realpathSync;
16
+ const fsStatSync = nodeFs?.statSync;
17
+ const fsWriteFileSync = nodeFs?.writeFileSync;
12
18
 
13
19
  //#endregion
20
+ exports.fsAccessSync = fsAccessSync;
21
+ exports.fsExistsSync = fsExistsSync;
22
+ exports.fsMkdirSync = fsMkdirSync;
23
+ exports.fsReadFileSync = fsReadFileSync;
24
+ exports.fsRealpathSync = fsRealpathSync;
25
+ exports.fsStatSync = fsStatSync;
26
+ exports.fsWriteFileSync = fsWriteFileSync;
14
27
  exports.getNodeFs = getNodeFs;
package/dist/node/http.js CHANGED
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let cachedHttp;
8
8
  function getNodeHttp() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return cachedHttp ??= /*@__PURE__*/ require("node:http");
10
+ return cachedHttp ??= /*@__PURE__*/ require("http");
11
11
  }
12
12
 
13
13
  //#endregion
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let cachedHttps;
8
8
  function getNodeHttps() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return cachedHttps ??= /*@__PURE__*/ require("node:https");
10
+ return cachedHttps ??= /*@__PURE__*/ require("https");
11
11
  }
12
12
 
13
13
  //#endregion
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let cachedModule;
8
8
  function getNodeModule() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return cachedModule ??= /*@__PURE__*/ require("node:module");
10
+ return cachedModule ??= /*@__PURE__*/ require("module");
11
11
  }
12
12
  /**
13
13
  * Lazy + cached reference to `node:module`'s `isBuiltin(name)`. First call
package/dist/node/os.d.ts CHANGED
@@ -1,6 +1,14 @@
1
1
  /**
2
- * @file Lazy-loader for `node:os`. See `node/fs.ts` for the design rationale
3
- * shared across all `node/*.ts` lazy-loaders.
2
+ * @file Early-snapshot accessor for `node:os`. See `node/fs.ts` for the shared
3
+ * rationale: the `require` runs at module load behind the runtime `IS_NODE`
4
+ * guard (false in browsers → never executes there), giving a load-time
5
+ * snapshot in Node while staying browser-safe. `getNodeOs()` returns the
6
+ * module object (late method lookup, spy-able); the frozen `os<Method>`
7
+ * snapshots below are the tamper-proof hot-path twin.
4
8
  */
5
9
  import type * as NodeOs from 'node:os';
6
10
  export declare function getNodeOs(): typeof NodeOs;
11
+ export declare const osArch: any;
12
+ export declare const osHomedir: any;
13
+ export declare const osPlatform: any;
14
+ export declare const osTmpdir: any;
package/dist/node/os.js CHANGED
@@ -4,11 +4,18 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_constants_runtime = require('../constants/runtime.js');
5
5
 
6
6
  //#region src/node/os.ts
7
- let cachedOs;
7
+ const nodeOs = require_constants_runtime.IS_NODE ? /*@__PURE__*/ require("os") : void 0;
8
8
  function getNodeOs() {
9
- if (!require_constants_runtime.IS_NODE) return;
10
- return cachedOs ??= /*@__PURE__*/ require("node:os");
9
+ return nodeOs;
11
10
  }
11
+ const osArch = nodeOs?.arch;
12
+ const osHomedir = nodeOs?.homedir;
13
+ const osPlatform = nodeOs?.platform;
14
+ const osTmpdir = nodeOs?.tmpdir;
12
15
 
13
16
  //#endregion
14
- exports.getNodeOs = getNodeOs;
17
+ exports.getNodeOs = getNodeOs;
18
+ exports.osArch = osArch;
19
+ exports.osHomedir = osHomedir;
20
+ exports.osPlatform = osPlatform;
21
+ exports.osTmpdir = osTmpdir;
@@ -1,6 +1,15 @@
1
1
  /**
2
- * @file Lazy-loader for `node:path`. See `node/fs.ts` for the design rationale
3
- * shared across all `node/*.ts` lazy-loaders.
2
+ * @file Early-snapshot accessor for `node:path`. See `node/fs.ts` for the
3
+ * shared rationale: the `require` runs at module load behind the runtime
4
+ * `IS_NODE` guard (false in browsers → never executes there), giving a
5
+ * load-time snapshot in Node while staying browser-safe.
4
6
  */
5
7
  import type * as NodePath from 'node:path';
6
8
  export declare function getNodePath(): typeof NodePath;
9
+ export declare const pathBasename: any;
10
+ export declare const pathDirname: any;
11
+ export declare const pathExtname: any;
12
+ export declare const pathIsAbsolute: any;
13
+ export declare const pathJoin: any;
14
+ export declare const pathRelative: any;
15
+ export declare const pathResolve: any;
package/dist/node/path.js CHANGED
@@ -4,11 +4,24 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_constants_runtime = require('../constants/runtime.js');
5
5
 
6
6
  //#region src/node/path.ts
7
- let cachedPath;
7
+ const nodePath = require_constants_runtime.IS_NODE ? /*@__PURE__*/ require("path") : void 0;
8
8
  function getNodePath() {
9
- if (!require_constants_runtime.IS_NODE) return;
10
- return cachedPath ??= /*@__PURE__*/ require("node:path");
9
+ return nodePath;
11
10
  }
11
+ const pathBasename = nodePath?.basename;
12
+ const pathDirname = nodePath?.dirname;
13
+ const pathExtname = nodePath?.extname;
14
+ const pathIsAbsolute = nodePath?.isAbsolute;
15
+ const pathJoin = nodePath?.join;
16
+ const pathRelative = nodePath?.relative;
17
+ const pathResolve = nodePath?.resolve;
12
18
 
13
19
  //#endregion
14
- exports.getNodePath = getNodePath;
20
+ exports.getNodePath = getNodePath;
21
+ exports.pathBasename = pathBasename;
22
+ exports.pathDirname = pathDirname;
23
+ exports.pathExtname = pathExtname;
24
+ exports.pathIsAbsolute = pathIsAbsolute;
25
+ exports.pathJoin = pathJoin;
26
+ exports.pathRelative = pathRelative;
27
+ exports.pathResolve = pathResolve;
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let timersPromises;
8
8
  function getNodeTimersPromises() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return timersPromises ??= /*@__PURE__*/ require("node:timers/promises");
10
+ return timersPromises ??= /*@__PURE__*/ require("timers/promises");
11
11
  }
12
12
 
13
13
  //#endregion
package/dist/node/url.js CHANGED
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let cachedUrl;
8
8
  function getNodeUrl() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return cachedUrl ??= /*@__PURE__*/ require("node:url");
10
+ return cachedUrl ??= /*@__PURE__*/ require("url");
11
11
  }
12
12
 
13
13
  //#endregion
package/dist/node/util.js CHANGED
@@ -7,7 +7,7 @@ const require_constants_runtime = require('../constants/runtime.js');
7
7
  let cachedUtil;
8
8
  function getNodeUtil() {
9
9
  if (!require_constants_runtime.IS_NODE) return;
10
- return cachedUtil ??= /*@__PURE__*/ require("node:util");
10
+ return cachedUtil ??= /*@__PURE__*/ require("util");
11
11
  }
12
12
 
13
13
  //#endregion
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_map_set = require('../primordials/map-set.js');
5
4
  const require_primordials_object = require('../primordials/object.js');
5
+ const require_primordials_map_set = require('../primordials/map-set.js');
6
6
  const require_constants_sentinels = require('../constants/sentinels.js');
7
7
  const require_primordials_reflect = require('../primordials/reflect.js');
8
8
  const require_objects_sort = require('./sort.js');
@@ -2,10 +2,10 @@
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_primordials_error = require('../primordials/error.js');
5
- const require_constants_sentinels = require('../constants/sentinels.js');
6
- const require_primordials_reflect = require('../primordials/reflect.js');
7
5
  const require_arrays_predicates = require('../arrays/predicates.js');
8
6
  const require_objects_predicates = require('./predicates.js');
7
+ const require_constants_sentinels = require('../constants/sentinels.js');
8
+ const require_primordials_reflect = require('../primordials/reflect.js');
9
9
 
10
10
  //#region src/objects/mutate.ts
11
11
  /**
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
- const require_primordials_object = require('../primordials/object.js');
5
4
  const require_arrays_predicates = require('../arrays/predicates.js');
5
+ const require_primordials_object = require('../primordials/object.js');
6
6
 
7
7
  //#region src/objects/predicates.ts
8
8
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @file The `EditablePackageJson` class factory. Split out of
3
3
  * `packages/edit.ts` for size hygiene. Wraps `@npmcli/package-json` with
4
- * Socket-specific knobs: path tracking, a `_canSave` guard for content-only
4
+ * Socket-specific knobs: path tracking, a `canSave` guard for content-only
5
5
  * instances, async + sync save paths that honor `EditablePackageJsonOptions`
6
6
  * formatting.
7
7
  *
@@ -14,7 +14,7 @@ import type { EditablePackageJsonInstance } from './edit';
14
14
  * class. Not exported because consumers go through
15
15
  * `getEditablePackageJsonClass()`.
16
16
  */
17
- interface EditablePackageJsonConstructor {
17
+ export interface EditablePackageJsonConstructor {
18
18
  new (): EditablePackageJsonInstance;
19
19
  fixSteps: unknown[];
20
20
  normalizeSteps: unknown[];
@@ -36,4 +36,3 @@ interface EditablePackageJsonConstructor {
36
36
  * ```
37
37
  */
38
38
  export declare function getEditablePackageJsonClass(): EditablePackageJsonConstructor;
39
- export {};