@kythin/stackydo 0.9.2

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/binary.js ADDED
@@ -0,0 +1,128 @@
1
+ const { Package } = require("./binary-install");
2
+ const os = require("os");
3
+ const cTable = require("console.table");
4
+ const libc = require("detect-libc");
5
+ const { configureProxy } = require("axios-proxy-builder");
6
+
7
+ const error = (msg) => {
8
+ console.error(msg);
9
+ process.exit(1);
10
+ };
11
+
12
+ const {
13
+ name,
14
+ artifactDownloadUrls,
15
+ supportedPlatforms,
16
+ glibcMinimum,
17
+ } = require("./package.json");
18
+
19
+ // FIXME: implement NPM installer handling of fallback download URLs
20
+ const artifactDownloadUrl = artifactDownloadUrls[0];
21
+ const builderGlibcMajorVersion = glibcMinimum.major;
22
+ const builderGlibcMinorVersion = glibcMinimum.series;
23
+
24
+ const getPlatform = () => {
25
+ const rawOsType = os.type();
26
+ const rawArchitecture = os.arch();
27
+
28
+ // We want to use rust-style target triples as the canonical key
29
+ // for a platform, so translate the "os" library's concepts into rust ones
30
+ let osType = "";
31
+ switch (rawOsType) {
32
+ case "Windows_NT":
33
+ osType = "pc-windows-msvc";
34
+ break;
35
+ case "Darwin":
36
+ osType = "apple-darwin";
37
+ break;
38
+ case "Linux":
39
+ osType = "unknown-linux-gnu";
40
+ break;
41
+ }
42
+
43
+ let arch = "";
44
+ switch (rawArchitecture) {
45
+ case "x64":
46
+ arch = "x86_64";
47
+ break;
48
+ case "arm64":
49
+ arch = "aarch64";
50
+ break;
51
+ }
52
+
53
+ if (rawOsType === "Linux") {
54
+ if (libc.familySync() == "musl") {
55
+ osType = "unknown-linux-musl-dynamic";
56
+ } else if (libc.isNonGlibcLinuxSync()) {
57
+ console.warn(
58
+ "Your libc is neither glibc nor musl; trying static musl binary instead",
59
+ );
60
+ osType = "unknown-linux-musl-static";
61
+ } else {
62
+ let libcVersion = libc.versionSync();
63
+ let splitLibcVersion = libcVersion.split(".");
64
+ let libcMajorVersion = splitLibcVersion[0];
65
+ let libcMinorVersion = splitLibcVersion[1];
66
+ if (
67
+ libcMajorVersion != builderGlibcMajorVersion ||
68
+ libcMinorVersion < builderGlibcMinorVersion
69
+ ) {
70
+ // We can't run the glibc binaries, but we can run the static musl ones
71
+ // if they exist
72
+ console.warn(
73
+ "Your glibc isn't compatible; trying static musl binary instead",
74
+ );
75
+ osType = "unknown-linux-musl-static";
76
+ }
77
+ }
78
+ }
79
+
80
+ // Assume the above succeeded and build a target triple to look things up with.
81
+ // If any of it failed, this lookup will fail and we'll handle it like normal.
82
+ let targetTriple = `${arch}-${osType}`;
83
+ let platform = supportedPlatforms[targetTriple];
84
+
85
+ if (!platform) {
86
+ error(
87
+ `Platform with type "${rawOsType}" and architecture "${rawArchitecture}" is not supported by ${name}.\nYour system must be one of the following:\n\n${Object.keys(
88
+ supportedPlatforms,
89
+ ).join(",")}`,
90
+ );
91
+ }
92
+
93
+ return platform;
94
+ };
95
+
96
+ const getPackage = () => {
97
+ const platform = getPlatform();
98
+ const url = `${artifactDownloadUrl}/${platform.artifactName}`;
99
+ let filename = platform.artifactName;
100
+ let ext = platform.zipExt;
101
+ let binary = new Package(platform, name, url, filename, ext, platform.bins);
102
+
103
+ return binary;
104
+ };
105
+
106
+ const install = (suppressLogs) => {
107
+ if (!artifactDownloadUrl || artifactDownloadUrl.length === 0) {
108
+ console.warn("in demo mode, not installing binaries");
109
+ return;
110
+ }
111
+ const package = getPackage();
112
+ const proxy = configureProxy(package.url);
113
+
114
+ return package.install(proxy, suppressLogs);
115
+ };
116
+
117
+ const run = (binaryName) => {
118
+ const package = getPackage();
119
+ const proxy = configureProxy(package.url);
120
+
121
+ package.run(binaryName, proxy);
122
+ };
123
+
124
+ module.exports = {
125
+ install,
126
+ run,
127
+ getPackage,
128
+ };
package/install.js ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { install } = require("./binary");
4
+ install(false);
@@ -0,0 +1,547 @@
1
+ {
2
+ "lockfileVersion": 3,
3
+ "name": "@kythin/stackydo",
4
+ "packages": {
5
+ "": {
6
+ "bin": {
7
+ "stackydo": "run-stackydo.js",
8
+ "stackydo-mcp": "run-stackydo-mcp.js"
9
+ },
10
+ "dependencies": {
11
+ "axios": "^1.13.5",
12
+ "axios-proxy-builder": "^0.1.2",
13
+ "console.table": "^0.10.0",
14
+ "detect-libc": "^2.1.2",
15
+ "rimraf": "^6.1.3"
16
+ },
17
+ "devDependencies": {
18
+ "prettier": "^3.8.1"
19
+ },
20
+ "engines": {
21
+ "node": ">=14",
22
+ "npm": ">=6"
23
+ },
24
+ "hasInstallScript": true,
25
+ "license": "MIT",
26
+ "name": "@kythin/stackydo",
27
+ "version": "0.9.2"
28
+ },
29
+ "node_modules/@isaacs/cliui": {
30
+ "engines": {
31
+ "node": ">=18"
32
+ },
33
+ "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==",
34
+ "license": "BlueOak-1.0.0",
35
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz",
36
+ "version": "9.0.0"
37
+ },
38
+ "node_modules/asynckit": {
39
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
40
+ "license": "MIT",
41
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
42
+ "version": "0.4.0"
43
+ },
44
+ "node_modules/axios": {
45
+ "dependencies": {
46
+ "follow-redirects": "^1.15.11",
47
+ "form-data": "^4.0.5",
48
+ "proxy-from-env": "^1.1.0"
49
+ },
50
+ "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==",
51
+ "license": "MIT",
52
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz",
53
+ "version": "1.13.5"
54
+ },
55
+ "node_modules/axios-proxy-builder": {
56
+ "dependencies": {
57
+ "tunnel": "^0.0.6"
58
+ },
59
+ "integrity": "sha512-6uBVsBZzkB3tCC8iyx59mCjQckhB8+GQrI9Cop8eC7ybIsvs/KtnNgEBfRMSEa7GqK2VBGUzgjNYMdPIfotyPA==",
60
+ "license": "MIT",
61
+ "resolved": "https://registry.npmjs.org/axios-proxy-builder/-/axios-proxy-builder-0.1.2.tgz",
62
+ "version": "0.1.2"
63
+ },
64
+ "node_modules/balanced-match": {
65
+ "dependencies": {
66
+ "jackspeak": "^4.2.3"
67
+ },
68
+ "engines": {
69
+ "node": "20 || >=22"
70
+ },
71
+ "integrity": "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==",
72
+ "license": "MIT",
73
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.2.tgz",
74
+ "version": "4.0.2"
75
+ },
76
+ "node_modules/brace-expansion": {
77
+ "dependencies": {
78
+ "balanced-match": "^4.0.2"
79
+ },
80
+ "engines": {
81
+ "node": "20 || >=22"
82
+ },
83
+ "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==",
84
+ "license": "MIT",
85
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz",
86
+ "version": "5.0.2"
87
+ },
88
+ "node_modules/call-bind-apply-helpers": {
89
+ "dependencies": {
90
+ "es-errors": "^1.3.0",
91
+ "function-bind": "^1.1.2"
92
+ },
93
+ "engines": {
94
+ "node": ">= 0.4"
95
+ },
96
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
97
+ "license": "MIT",
98
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
99
+ "version": "1.0.2"
100
+ },
101
+ "node_modules/clone": {
102
+ "engines": {
103
+ "node": ">=0.8"
104
+ },
105
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
106
+ "license": "MIT",
107
+ "optional": true,
108
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
109
+ "version": "1.0.4"
110
+ },
111
+ "node_modules/combined-stream": {
112
+ "dependencies": {
113
+ "delayed-stream": "~1.0.0"
114
+ },
115
+ "engines": {
116
+ "node": ">= 0.8"
117
+ },
118
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
119
+ "license": "MIT",
120
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
121
+ "version": "1.0.8"
122
+ },
123
+ "node_modules/console.table": {
124
+ "dependencies": {
125
+ "easy-table": "1.1.0"
126
+ },
127
+ "engines": {
128
+ "node": "> 0.10"
129
+ },
130
+ "integrity": "sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==",
131
+ "license": "MIT",
132
+ "resolved": "https://registry.npmjs.org/console.table/-/console.table-0.10.0.tgz",
133
+ "version": "0.10.0"
134
+ },
135
+ "node_modules/defaults": {
136
+ "dependencies": {
137
+ "clone": "^1.0.2"
138
+ },
139
+ "funding": {
140
+ "url": "https://github.com/sponsors/sindresorhus"
141
+ },
142
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
143
+ "license": "MIT",
144
+ "optional": true,
145
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
146
+ "version": "1.0.4"
147
+ },
148
+ "node_modules/delayed-stream": {
149
+ "engines": {
150
+ "node": ">=0.4.0"
151
+ },
152
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
153
+ "license": "MIT",
154
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
155
+ "version": "1.0.0"
156
+ },
157
+ "node_modules/detect-libc": {
158
+ "engines": {
159
+ "node": ">=8"
160
+ },
161
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
162
+ "license": "Apache-2.0",
163
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
164
+ "version": "2.1.2"
165
+ },
166
+ "node_modules/dunder-proto": {
167
+ "dependencies": {
168
+ "call-bind-apply-helpers": "^1.0.1",
169
+ "es-errors": "^1.3.0",
170
+ "gopd": "^1.2.0"
171
+ },
172
+ "engines": {
173
+ "node": ">= 0.4"
174
+ },
175
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
176
+ "license": "MIT",
177
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
178
+ "version": "1.0.1"
179
+ },
180
+ "node_modules/easy-table": {
181
+ "integrity": "sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==",
182
+ "license": "MIT",
183
+ "optionalDependencies": {
184
+ "wcwidth": ">=1.0.1"
185
+ },
186
+ "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz",
187
+ "version": "1.1.0"
188
+ },
189
+ "node_modules/es-define-property": {
190
+ "engines": {
191
+ "node": ">= 0.4"
192
+ },
193
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
194
+ "license": "MIT",
195
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
196
+ "version": "1.0.1"
197
+ },
198
+ "node_modules/es-errors": {
199
+ "engines": {
200
+ "node": ">= 0.4"
201
+ },
202
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
203
+ "license": "MIT",
204
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
205
+ "version": "1.3.0"
206
+ },
207
+ "node_modules/es-object-atoms": {
208
+ "dependencies": {
209
+ "es-errors": "^1.3.0"
210
+ },
211
+ "engines": {
212
+ "node": ">= 0.4"
213
+ },
214
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
215
+ "license": "MIT",
216
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
217
+ "version": "1.1.1"
218
+ },
219
+ "node_modules/es-set-tostringtag": {
220
+ "dependencies": {
221
+ "es-errors": "^1.3.0",
222
+ "get-intrinsic": "^1.2.6",
223
+ "has-tostringtag": "^1.0.2",
224
+ "hasown": "^2.0.2"
225
+ },
226
+ "engines": {
227
+ "node": ">= 0.4"
228
+ },
229
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
230
+ "license": "MIT",
231
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
232
+ "version": "2.1.0"
233
+ },
234
+ "node_modules/follow-redirects": {
235
+ "engines": {
236
+ "node": ">=4.0"
237
+ },
238
+ "funding": [
239
+ {
240
+ "type": "individual",
241
+ "url": "https://github.com/sponsors/RubenVerborgh"
242
+ }
243
+ ],
244
+ "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
245
+ "license": "MIT",
246
+ "peerDependenciesMeta": {
247
+ "debug": {
248
+ "optional": true
249
+ }
250
+ },
251
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
252
+ "version": "1.15.11"
253
+ },
254
+ "node_modules/form-data": {
255
+ "dependencies": {
256
+ "asynckit": "^0.4.0",
257
+ "combined-stream": "^1.0.8",
258
+ "es-set-tostringtag": "^2.1.0",
259
+ "hasown": "^2.0.2",
260
+ "mime-types": "^2.1.12"
261
+ },
262
+ "engines": {
263
+ "node": ">= 6"
264
+ },
265
+ "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
266
+ "license": "MIT",
267
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
268
+ "version": "4.0.5"
269
+ },
270
+ "node_modules/function-bind": {
271
+ "funding": {
272
+ "url": "https://github.com/sponsors/ljharb"
273
+ },
274
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
275
+ "license": "MIT",
276
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
277
+ "version": "1.1.2"
278
+ },
279
+ "node_modules/get-intrinsic": {
280
+ "dependencies": {
281
+ "call-bind-apply-helpers": "^1.0.2",
282
+ "es-define-property": "^1.0.1",
283
+ "es-errors": "^1.3.0",
284
+ "es-object-atoms": "^1.1.1",
285
+ "function-bind": "^1.1.2",
286
+ "get-proto": "^1.0.1",
287
+ "gopd": "^1.2.0",
288
+ "has-symbols": "^1.1.0",
289
+ "hasown": "^2.0.2",
290
+ "math-intrinsics": "^1.1.0"
291
+ },
292
+ "engines": {
293
+ "node": ">= 0.4"
294
+ },
295
+ "funding": {
296
+ "url": "https://github.com/sponsors/ljharb"
297
+ },
298
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
299
+ "license": "MIT",
300
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
301
+ "version": "1.3.0"
302
+ },
303
+ "node_modules/get-proto": {
304
+ "dependencies": {
305
+ "dunder-proto": "^1.0.1",
306
+ "es-object-atoms": "^1.0.0"
307
+ },
308
+ "engines": {
309
+ "node": ">= 0.4"
310
+ },
311
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
312
+ "license": "MIT",
313
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
314
+ "version": "1.0.1"
315
+ },
316
+ "node_modules/glob": {
317
+ "dependencies": {
318
+ "minimatch": "^10.2.0",
319
+ "minipass": "^7.1.2",
320
+ "path-scurry": "^2.0.0"
321
+ },
322
+ "engines": {
323
+ "node": "20 || >=22"
324
+ },
325
+ "funding": {
326
+ "url": "https://github.com/sponsors/isaacs"
327
+ },
328
+ "integrity": "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA==",
329
+ "license": "BlueOak-1.0.0",
330
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.3.tgz",
331
+ "version": "13.0.3"
332
+ },
333
+ "node_modules/gopd": {
334
+ "engines": {
335
+ "node": ">= 0.4"
336
+ },
337
+ "funding": {
338
+ "url": "https://github.com/sponsors/ljharb"
339
+ },
340
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
341
+ "license": "MIT",
342
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
343
+ "version": "1.2.0"
344
+ },
345
+ "node_modules/has-symbols": {
346
+ "engines": {
347
+ "node": ">= 0.4"
348
+ },
349
+ "funding": {
350
+ "url": "https://github.com/sponsors/ljharb"
351
+ },
352
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
353
+ "license": "MIT",
354
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
355
+ "version": "1.1.0"
356
+ },
357
+ "node_modules/has-tostringtag": {
358
+ "dependencies": {
359
+ "has-symbols": "^1.0.3"
360
+ },
361
+ "engines": {
362
+ "node": ">= 0.4"
363
+ },
364
+ "funding": {
365
+ "url": "https://github.com/sponsors/ljharb"
366
+ },
367
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
368
+ "license": "MIT",
369
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
370
+ "version": "1.0.2"
371
+ },
372
+ "node_modules/hasown": {
373
+ "dependencies": {
374
+ "function-bind": "^1.1.2"
375
+ },
376
+ "engines": {
377
+ "node": ">= 0.4"
378
+ },
379
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
380
+ "license": "MIT",
381
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
382
+ "version": "2.0.2"
383
+ },
384
+ "node_modules/jackspeak": {
385
+ "dependencies": {
386
+ "@isaacs/cliui": "^9.0.0"
387
+ },
388
+ "engines": {
389
+ "node": "20 || >=22"
390
+ },
391
+ "funding": {
392
+ "url": "https://github.com/sponsors/isaacs"
393
+ },
394
+ "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==",
395
+ "license": "BlueOak-1.0.0",
396
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz",
397
+ "version": "4.2.3"
398
+ },
399
+ "node_modules/lru-cache": {
400
+ "engines": {
401
+ "node": "20 || >=22"
402
+ },
403
+ "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==",
404
+ "license": "BlueOak-1.0.0",
405
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz",
406
+ "version": "11.2.6"
407
+ },
408
+ "node_modules/math-intrinsics": {
409
+ "engines": {
410
+ "node": ">= 0.4"
411
+ },
412
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
413
+ "license": "MIT",
414
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
415
+ "version": "1.1.0"
416
+ },
417
+ "node_modules/mime-db": {
418
+ "engines": {
419
+ "node": ">= 0.6"
420
+ },
421
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
422
+ "license": "MIT",
423
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
424
+ "version": "1.52.0"
425
+ },
426
+ "node_modules/mime-types": {
427
+ "dependencies": {
428
+ "mime-db": "1.52.0"
429
+ },
430
+ "engines": {
431
+ "node": ">= 0.6"
432
+ },
433
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
434
+ "license": "MIT",
435
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
436
+ "version": "2.1.35"
437
+ },
438
+ "node_modules/minimatch": {
439
+ "dependencies": {
440
+ "brace-expansion": "^5.0.2"
441
+ },
442
+ "engines": {
443
+ "node": "20 || >=22"
444
+ },
445
+ "funding": {
446
+ "url": "https://github.com/sponsors/isaacs"
447
+ },
448
+ "integrity": "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==",
449
+ "license": "BlueOak-1.0.0",
450
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.0.tgz",
451
+ "version": "10.2.0"
452
+ },
453
+ "node_modules/minipass": {
454
+ "engines": {
455
+ "node": ">=16 || 14 >=14.17"
456
+ },
457
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
458
+ "license": "ISC",
459
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
460
+ "version": "7.1.2"
461
+ },
462
+ "node_modules/package-json-from-dist": {
463
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
464
+ "license": "BlueOak-1.0.0",
465
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
466
+ "version": "1.0.1"
467
+ },
468
+ "node_modules/path-scurry": {
469
+ "dependencies": {
470
+ "lru-cache": "^11.0.0",
471
+ "minipass": "^7.1.2"
472
+ },
473
+ "engines": {
474
+ "node": "20 || >=22"
475
+ },
476
+ "funding": {
477
+ "url": "https://github.com/sponsors/isaacs"
478
+ },
479
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
480
+ "license": "BlueOak-1.0.0",
481
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
482
+ "version": "2.0.1"
483
+ },
484
+ "node_modules/prettier": {
485
+ "bin": {
486
+ "prettier": "bin/prettier.cjs"
487
+ },
488
+ "dev": true,
489
+ "engines": {
490
+ "node": ">=14"
491
+ },
492
+ "funding": {
493
+ "url": "https://github.com/prettier/prettier?sponsor=1"
494
+ },
495
+ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
496
+ "license": "MIT",
497
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
498
+ "version": "3.8.1"
499
+ },
500
+ "node_modules/proxy-from-env": {
501
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
502
+ "license": "MIT",
503
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
504
+ "version": "1.1.0"
505
+ },
506
+ "node_modules/rimraf": {
507
+ "bin": {
508
+ "rimraf": "dist/esm/bin.mjs"
509
+ },
510
+ "dependencies": {
511
+ "glob": "^13.0.3",
512
+ "package-json-from-dist": "^1.0.1"
513
+ },
514
+ "engines": {
515
+ "node": "20 || >=22"
516
+ },
517
+ "funding": {
518
+ "url": "https://github.com/sponsors/isaacs"
519
+ },
520
+ "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==",
521
+ "license": "BlueOak-1.0.0",
522
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz",
523
+ "version": "6.1.3"
524
+ },
525
+ "node_modules/tunnel": {
526
+ "engines": {
527
+ "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
528
+ },
529
+ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
530
+ "license": "MIT",
531
+ "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
532
+ "version": "0.0.6"
533
+ },
534
+ "node_modules/wcwidth": {
535
+ "dependencies": {
536
+ "defaults": "^1.0.3"
537
+ },
538
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
539
+ "license": "MIT",
540
+ "optional": true,
541
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
542
+ "version": "1.0.1"
543
+ }
544
+ },
545
+ "requires": true,
546
+ "version": "0.9.2"
547
+ }