chatroom-cli 1.95.0 → 1.96.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.
- package/dist/index.js +161 -177
- package/dist/index.js.map +10 -10
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -32087,10 +32087,10 @@ var init_cursor_sdk = __esm(() => {
|
|
|
32087
32087
|
init_cursor_sdk_stream_adapter();
|
|
32088
32088
|
});
|
|
32089
32089
|
|
|
32090
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32090
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/types.gen.js
|
|
32091
32091
|
var init_types_gen = () => {};
|
|
32092
32092
|
|
|
32093
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32093
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js
|
|
32094
32094
|
var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }) => {
|
|
32095
32095
|
let lastEventId;
|
|
32096
32096
|
const sleep5 = sseSleepFn ?? ((ms) => new Promise((resolve2) => setTimeout(resolve2, ms)));
|
|
@@ -32199,7 +32199,7 @@ var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseVa
|
|
|
32199
32199
|
return { stream };
|
|
32200
32200
|
};
|
|
32201
32201
|
|
|
32202
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32202
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/auth.gen.js
|
|
32203
32203
|
var getAuthToken = async (auth, callback) => {
|
|
32204
32204
|
const token = typeof callback === "function" ? await callback(auth) : callback;
|
|
32205
32205
|
if (!token) {
|
|
@@ -32214,7 +32214,7 @@ var getAuthToken = async (auth, callback) => {
|
|
|
32214
32214
|
return token;
|
|
32215
32215
|
};
|
|
32216
32216
|
|
|
32217
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32217
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/bodySerializer.gen.js
|
|
32218
32218
|
var jsonBodySerializer;
|
|
32219
32219
|
var init_bodySerializer_gen = __esm(() => {
|
|
32220
32220
|
jsonBodySerializer = {
|
|
@@ -32222,7 +32222,7 @@ var init_bodySerializer_gen = __esm(() => {
|
|
|
32222
32222
|
};
|
|
32223
32223
|
});
|
|
32224
32224
|
|
|
32225
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32225
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/pathSerializer.gen.js
|
|
32226
32226
|
var separatorArrayExplode = (style) => {
|
|
32227
32227
|
switch (style) {
|
|
32228
32228
|
case "label":
|
|
@@ -32320,7 +32320,7 @@ var separatorArrayExplode = (style) => {
|
|
|
32320
32320
|
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
|
|
32321
32321
|
};
|
|
32322
32322
|
|
|
32323
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32323
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/utils.gen.js
|
|
32324
32324
|
var PATH_PARAM_RE, defaultPathSerializer = ({ path, url: _url }) => {
|
|
32325
32325
|
let url = _url;
|
|
32326
32326
|
const matches = _url.match(PATH_PARAM_RE);
|
|
@@ -32389,7 +32389,7 @@ var init_utils_gen = __esm(() => {
|
|
|
32389
32389
|
PATH_PARAM_RE = /\{[^{}]+\}/g;
|
|
32390
32390
|
});
|
|
32391
32391
|
|
|
32392
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32392
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/client/utils.gen.js
|
|
32393
32393
|
class Interceptors {
|
|
32394
32394
|
_fns;
|
|
32395
32395
|
constructor() {
|
|
@@ -32592,7 +32592,7 @@ var init_utils_gen2 = __esm(() => {
|
|
|
32592
32592
|
};
|
|
32593
32593
|
});
|
|
32594
32594
|
|
|
32595
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32595
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/client/client.gen.js
|
|
32596
32596
|
var createClient = (config2 = {}) => {
|
|
32597
32597
|
let _config = mergeConfigs(createConfig(), config2);
|
|
32598
32598
|
const getConfig2 = () => ({ ..._config });
|
|
@@ -32743,7 +32743,7 @@ var init_client_gen = __esm(() => {
|
|
|
32743
32743
|
init_utils_gen2();
|
|
32744
32744
|
});
|
|
32745
32745
|
|
|
32746
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32746
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/params.gen.js
|
|
32747
32747
|
var extraPrefixesMap, extraPrefixes;
|
|
32748
32748
|
var init_params_gen = __esm(() => {
|
|
32749
32749
|
extraPrefixesMap = {
|
|
@@ -32755,7 +32755,7 @@ var init_params_gen = __esm(() => {
|
|
|
32755
32755
|
extraPrefixes = Object.entries(extraPrefixesMap);
|
|
32756
32756
|
});
|
|
32757
32757
|
|
|
32758
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32758
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/client/index.js
|
|
32759
32759
|
var init_client3 = __esm(() => {
|
|
32760
32760
|
init_bodySerializer_gen();
|
|
32761
32761
|
init_params_gen();
|
|
@@ -32763,7 +32763,7 @@ var init_client3 = __esm(() => {
|
|
|
32763
32763
|
init_utils_gen2();
|
|
32764
32764
|
});
|
|
32765
32765
|
|
|
32766
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32766
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/client.gen.js
|
|
32767
32767
|
var client2;
|
|
32768
32768
|
var init_client_gen2 = __esm(() => {
|
|
32769
32769
|
init_client3();
|
|
@@ -32772,7 +32772,7 @@ var init_client_gen2 = __esm(() => {
|
|
|
32772
32772
|
}));
|
|
32773
32773
|
});
|
|
32774
32774
|
|
|
32775
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
32775
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/sdk.gen.js
|
|
32776
32776
|
class _HeyApiClient {
|
|
32777
32777
|
_client = client2;
|
|
32778
32778
|
constructor(args2) {
|
|
@@ -33423,7 +33423,7 @@ var init_sdk_gen = __esm(() => {
|
|
|
33423
33423
|
};
|
|
33424
33424
|
});
|
|
33425
33425
|
|
|
33426
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
33426
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/error-interceptor.js
|
|
33427
33427
|
function wrapClientError(error, response, request2, opts) {
|
|
33428
33428
|
if (!opts?.throwOnError)
|
|
33429
33429
|
return error;
|
|
@@ -33450,7 +33450,7 @@ function describe(request2, response) {
|
|
|
33450
33450
|
return `${method} ${url}${status3 ? " → " + status3 : ""}${statusText ? " " + statusText : ""}`;
|
|
33451
33451
|
}
|
|
33452
33452
|
|
|
33453
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
33453
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/client.js
|
|
33454
33454
|
function pick3(value, fallback) {
|
|
33455
33455
|
if (!value)
|
|
33456
33456
|
return;
|
|
@@ -33960,17 +33960,17 @@ var require_cross_spawn = __commonJS((exports, module) => {
|
|
|
33960
33960
|
module.exports._enoent = enoent;
|
|
33961
33961
|
});
|
|
33962
33962
|
|
|
33963
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
33963
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/process.js
|
|
33964
33964
|
var init_process2 = () => {};
|
|
33965
33965
|
|
|
33966
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
33966
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/server.js
|
|
33967
33967
|
var import_cross_spawn;
|
|
33968
33968
|
var init_server2 = __esm(() => {
|
|
33969
33969
|
init_process2();
|
|
33970
33970
|
import_cross_spawn = __toESM(require_cross_spawn(), 1);
|
|
33971
33971
|
});
|
|
33972
33972
|
|
|
33973
|
-
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.
|
|
33973
|
+
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/index.js
|
|
33974
33974
|
var init_dist = __esm(() => {
|
|
33975
33975
|
init_client4();
|
|
33976
33976
|
init_server2();
|
|
@@ -42724,13 +42724,13 @@ var require_detect_libc = __commonJS((exports, module) => {
|
|
|
42724
42724
|
};
|
|
42725
42725
|
});
|
|
42726
42726
|
|
|
42727
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
42727
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/debug.js
|
|
42728
42728
|
var require_debug = __commonJS((exports, module) => {
|
|
42729
42729
|
var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args2) => console.error("SEMVER", ...args2) : () => {};
|
|
42730
42730
|
module.exports = debug;
|
|
42731
42731
|
});
|
|
42732
42732
|
|
|
42733
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
42733
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js
|
|
42734
42734
|
var require_constants2 = __commonJS((exports, module) => {
|
|
42735
42735
|
var SEMVER_SPEC_VERSION = "2.0.0";
|
|
42736
42736
|
var MAX_LENGTH = 256;
|
|
@@ -42758,7 +42758,7 @@ var require_constants2 = __commonJS((exports, module) => {
|
|
|
42758
42758
|
};
|
|
42759
42759
|
});
|
|
42760
42760
|
|
|
42761
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
42761
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/re.js
|
|
42762
42762
|
var require_re = __commonJS((exports, module) => {
|
|
42763
42763
|
var {
|
|
42764
42764
|
MAX_SAFE_COMPONENT_LENGTH,
|
|
@@ -42843,7 +42843,7 @@ var require_re = __commonJS((exports, module) => {
|
|
|
42843
42843
|
createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
|
|
42844
42844
|
});
|
|
42845
42845
|
|
|
42846
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
42846
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/parse-options.js
|
|
42847
42847
|
var require_parse_options = __commonJS((exports, module) => {
|
|
42848
42848
|
var looseOption = Object.freeze({ loose: true });
|
|
42849
42849
|
var emptyOpts = Object.freeze({});
|
|
@@ -42859,7 +42859,7 @@ var require_parse_options = __commonJS((exports, module) => {
|
|
|
42859
42859
|
module.exports = parseOptions;
|
|
42860
42860
|
});
|
|
42861
42861
|
|
|
42862
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
42862
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/identifiers.js
|
|
42863
42863
|
var require_identifiers = __commonJS((exports, module) => {
|
|
42864
42864
|
var numeric = /^[0-9]+$/;
|
|
42865
42865
|
var compareIdentifiers = (a, b) => {
|
|
@@ -42881,13 +42881,25 @@ var require_identifiers = __commonJS((exports, module) => {
|
|
|
42881
42881
|
};
|
|
42882
42882
|
});
|
|
42883
42883
|
|
|
42884
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
42884
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/semver.js
|
|
42885
42885
|
var require_semver = __commonJS((exports, module) => {
|
|
42886
42886
|
var debug = require_debug();
|
|
42887
42887
|
var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants2();
|
|
42888
42888
|
var { safeRe: re, t } = require_re();
|
|
42889
42889
|
var parseOptions = require_parse_options();
|
|
42890
42890
|
var { compareIdentifiers } = require_identifiers();
|
|
42891
|
+
var isPrereleaseIdentifier = (prerelease, identifier2) => {
|
|
42892
|
+
const identifiers = identifier2.split(".");
|
|
42893
|
+
if (identifiers.length > prerelease.length) {
|
|
42894
|
+
return false;
|
|
42895
|
+
}
|
|
42896
|
+
for (let i2 = 0;i2 < identifiers.length; i2++) {
|
|
42897
|
+
if (compareIdentifiers(prerelease[i2], identifiers[i2]) !== 0) {
|
|
42898
|
+
return false;
|
|
42899
|
+
}
|
|
42900
|
+
}
|
|
42901
|
+
return true;
|
|
42902
|
+
};
|
|
42891
42903
|
|
|
42892
42904
|
class SemVer {
|
|
42893
42905
|
constructor(version2, options) {
|
|
@@ -43127,8 +43139,9 @@ var require_semver = __commonJS((exports, module) => {
|
|
|
43127
43139
|
if (identifierBase === false) {
|
|
43128
43140
|
prerelease = [identifier2];
|
|
43129
43141
|
}
|
|
43130
|
-
if (
|
|
43131
|
-
|
|
43142
|
+
if (isPrereleaseIdentifier(this.prerelease, identifier2)) {
|
|
43143
|
+
const prereleaseBase = this.prerelease[identifier2.split(".").length];
|
|
43144
|
+
if (isNaN(prereleaseBase)) {
|
|
43132
43145
|
this.prerelease = prerelease;
|
|
43133
43146
|
}
|
|
43134
43147
|
} else {
|
|
@@ -43150,7 +43163,7 @@ var require_semver = __commonJS((exports, module) => {
|
|
|
43150
43163
|
module.exports = SemVer;
|
|
43151
43164
|
});
|
|
43152
43165
|
|
|
43153
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43166
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/parse.js
|
|
43154
43167
|
var require_parse2 = __commonJS((exports, module) => {
|
|
43155
43168
|
var SemVer = require_semver();
|
|
43156
43169
|
var parse2 = (version2, options, throwErrors = false) => {
|
|
@@ -43169,7 +43182,7 @@ var require_parse2 = __commonJS((exports, module) => {
|
|
|
43169
43182
|
module.exports = parse2;
|
|
43170
43183
|
});
|
|
43171
43184
|
|
|
43172
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43185
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/coerce.js
|
|
43173
43186
|
var require_coerce = __commonJS((exports, module) => {
|
|
43174
43187
|
var SemVer = require_semver();
|
|
43175
43188
|
var parse2 = require_parse2();
|
|
@@ -43212,21 +43225,21 @@ var require_coerce = __commonJS((exports, module) => {
|
|
|
43212
43225
|
module.exports = coerce;
|
|
43213
43226
|
});
|
|
43214
43227
|
|
|
43215
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43228
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare.js
|
|
43216
43229
|
var require_compare = __commonJS((exports, module) => {
|
|
43217
43230
|
var SemVer = require_semver();
|
|
43218
43231
|
var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
|
|
43219
43232
|
module.exports = compare;
|
|
43220
43233
|
});
|
|
43221
43234
|
|
|
43222
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43235
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gte.js
|
|
43223
43236
|
var require_gte = __commonJS((exports, module) => {
|
|
43224
43237
|
var compare = require_compare();
|
|
43225
43238
|
var gte = (a, b, loose) => compare(a, b, loose) >= 0;
|
|
43226
43239
|
module.exports = gte;
|
|
43227
43240
|
});
|
|
43228
43241
|
|
|
43229
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43242
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/lrucache.js
|
|
43230
43243
|
var require_lrucache = __commonJS((exports, module) => {
|
|
43231
43244
|
class LRUCache {
|
|
43232
43245
|
constructor() {
|
|
@@ -43261,42 +43274,42 @@ var require_lrucache = __commonJS((exports, module) => {
|
|
|
43261
43274
|
module.exports = LRUCache;
|
|
43262
43275
|
});
|
|
43263
43276
|
|
|
43264
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43277
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/eq.js
|
|
43265
43278
|
var require_eq = __commonJS((exports, module) => {
|
|
43266
43279
|
var compare = require_compare();
|
|
43267
43280
|
var eq = (a, b, loose) => compare(a, b, loose) === 0;
|
|
43268
43281
|
module.exports = eq;
|
|
43269
43282
|
});
|
|
43270
43283
|
|
|
43271
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43284
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/neq.js
|
|
43272
43285
|
var require_neq = __commonJS((exports, module) => {
|
|
43273
43286
|
var compare = require_compare();
|
|
43274
43287
|
var neq = (a, b, loose) => compare(a, b, loose) !== 0;
|
|
43275
43288
|
module.exports = neq;
|
|
43276
43289
|
});
|
|
43277
43290
|
|
|
43278
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43291
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gt.js
|
|
43279
43292
|
var require_gt = __commonJS((exports, module) => {
|
|
43280
43293
|
var compare = require_compare();
|
|
43281
43294
|
var gt = (a, b, loose) => compare(a, b, loose) > 0;
|
|
43282
43295
|
module.exports = gt;
|
|
43283
43296
|
});
|
|
43284
43297
|
|
|
43285
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43298
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lt.js
|
|
43286
43299
|
var require_lt = __commonJS((exports, module) => {
|
|
43287
43300
|
var compare = require_compare();
|
|
43288
43301
|
var lt = (a, b, loose) => compare(a, b, loose) < 0;
|
|
43289
43302
|
module.exports = lt;
|
|
43290
43303
|
});
|
|
43291
43304
|
|
|
43292
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43305
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lte.js
|
|
43293
43306
|
var require_lte = __commonJS((exports, module) => {
|
|
43294
43307
|
var compare = require_compare();
|
|
43295
43308
|
var lte = (a, b, loose) => compare(a, b, loose) <= 0;
|
|
43296
43309
|
module.exports = lte;
|
|
43297
43310
|
});
|
|
43298
43311
|
|
|
43299
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43312
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/cmp.js
|
|
43300
43313
|
var require_cmp = __commonJS((exports, module) => {
|
|
43301
43314
|
var eq = require_eq();
|
|
43302
43315
|
var neq = require_neq();
|
|
@@ -43343,7 +43356,7 @@ var require_cmp = __commonJS((exports, module) => {
|
|
|
43343
43356
|
module.exports = cmp;
|
|
43344
43357
|
});
|
|
43345
43358
|
|
|
43346
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43359
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/comparator.js
|
|
43347
43360
|
var require_comparator = __commonJS((exports, module) => {
|
|
43348
43361
|
var ANY = Symbol("SemVer ANY");
|
|
43349
43362
|
|
|
@@ -43454,7 +43467,7 @@ var require_comparator = __commonJS((exports, module) => {
|
|
|
43454
43467
|
var Range = require_range();
|
|
43455
43468
|
});
|
|
43456
43469
|
|
|
43457
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43470
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/range.js
|
|
43458
43471
|
var require_range = __commonJS((exports, module) => {
|
|
43459
43472
|
var SPACE_CHARACTERS = /\s+/g;
|
|
43460
43473
|
|
|
@@ -43523,6 +43536,7 @@ var require_range = __commonJS((exports, module) => {
|
|
|
43523
43536
|
return this.range;
|
|
43524
43537
|
}
|
|
43525
43538
|
parseRange(range) {
|
|
43539
|
+
range = range.replace(BUILDSTRIPRE, "");
|
|
43526
43540
|
const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
|
|
43527
43541
|
const memoKey = memoOpts + ":" + range;
|
|
43528
43542
|
const cached4 = cache.get(memoKey);
|
|
@@ -43604,12 +43618,14 @@ var require_range = __commonJS((exports, module) => {
|
|
|
43604
43618
|
var SemVer = require_semver();
|
|
43605
43619
|
var {
|
|
43606
43620
|
safeRe: re,
|
|
43621
|
+
src,
|
|
43607
43622
|
t,
|
|
43608
43623
|
comparatorTrimReplace,
|
|
43609
43624
|
tildeTrimReplace,
|
|
43610
43625
|
caretTrimReplace
|
|
43611
43626
|
} = require_re();
|
|
43612
43627
|
var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants2();
|
|
43628
|
+
var BUILDSTRIPRE = new RegExp(src[t.BUILD], "g");
|
|
43613
43629
|
var isNullSet = (c) => c.value === "<0.0.0-0";
|
|
43614
43630
|
var isAny = (c) => c.value === "";
|
|
43615
43631
|
var isSatisfiable = (comparators, options) => {
|
|
@@ -43638,20 +43654,22 @@ var require_range = __commonJS((exports, module) => {
|
|
|
43638
43654
|
return comp;
|
|
43639
43655
|
};
|
|
43640
43656
|
var isX = (id3) => !id3 || id3.toLowerCase() === "x" || id3 === "*";
|
|
43657
|
+
var invalidXRangeOrder = (M, m, p) => isX(M) && !isX(m) || isX(m) && p && !isX(p);
|
|
43641
43658
|
var replaceTildes = (comp, options) => {
|
|
43642
43659
|
return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
|
|
43643
43660
|
};
|
|
43644
43661
|
var replaceTilde = (comp, options) => {
|
|
43645
43662
|
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
43663
|
+
const z = options.includePrerelease ? "-0" : "";
|
|
43646
43664
|
return comp.replace(r, (_, M, m, p, pr) => {
|
|
43647
43665
|
debug("tilde", comp, _, M, m, p, pr);
|
|
43648
43666
|
let ret;
|
|
43649
43667
|
if (isX(M)) {
|
|
43650
43668
|
ret = "";
|
|
43651
43669
|
} else if (isX(m)) {
|
|
43652
|
-
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
|
|
43670
|
+
ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
|
|
43653
43671
|
} else if (isX(p)) {
|
|
43654
|
-
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
|
|
43672
|
+
ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
|
|
43655
43673
|
} else if (pr) {
|
|
43656
43674
|
debug("replaceTilde pr", pr);
|
|
43657
43675
|
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
|
|
@@ -43697,9 +43715,9 @@ var require_range = __commonJS((exports, module) => {
|
|
|
43697
43715
|
debug("no pr");
|
|
43698
43716
|
if (M === "0") {
|
|
43699
43717
|
if (m === "0") {
|
|
43700
|
-
ret = `>=${M}.${m}.${p}
|
|
43718
|
+
ret = `>=${M}.${m}.${p} <${M}.${m}.${+p + 1}-0`;
|
|
43701
43719
|
} else {
|
|
43702
|
-
ret = `>=${M}.${m}.${p}
|
|
43720
|
+
ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
|
|
43703
43721
|
}
|
|
43704
43722
|
} else {
|
|
43705
43723
|
ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
|
|
@@ -43718,6 +43736,9 @@ var require_range = __commonJS((exports, module) => {
|
|
|
43718
43736
|
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
43719
43737
|
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
|
|
43720
43738
|
debug("xRange", comp, ret, gtlt, M, m, p, pr);
|
|
43739
|
+
if (invalidXRangeOrder(M, m, p)) {
|
|
43740
|
+
return comp;
|
|
43741
|
+
}
|
|
43721
43742
|
const xM = isX(M);
|
|
43722
43743
|
const xm = xM || isX(m);
|
|
43723
43744
|
const xp = xm || isX(p);
|
|
@@ -43828,7 +43849,7 @@ var require_range = __commonJS((exports, module) => {
|
|
|
43828
43849
|
};
|
|
43829
43850
|
});
|
|
43830
43851
|
|
|
43831
|
-
// ../../node_modules/.pnpm/semver@7.
|
|
43852
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/satisfies.js
|
|
43832
43853
|
var require_satisfies = __commonJS((exports, module) => {
|
|
43833
43854
|
var Range = require_range();
|
|
43834
43855
|
var satisfies = (version2, range, options) => {
|
|
@@ -79075,84 +79096,22 @@ function renderWebappUxHandoffReference() {
|
|
|
79075
79096
|
"### UX review checklist",
|
|
79076
79097
|
'Complete the optional **UX** section in your output when the planner proposes UI changes. Write exactly "Not Applicable." for non-UI tasks. Put code snippets in **Suggested edits** only.',
|
|
79077
79098
|
"",
|
|
79078
|
-
"1. **Flows** — primary
|
|
79079
|
-
"2. **Patterns** —
|
|
79080
|
-
"3. **Layout** —
|
|
79081
|
-
"4. **Shortcuts** —
|
|
79082
|
-
"5. **States** — loading
|
|
79083
|
-
"6. **Error boundaries** —
|
|
79084
|
-
"7. **
|
|
79085
|
-
|
|
79086
|
-
"9. **Destructive actions** —
|
|
79087
|
-
"10. **Bulk actions** —
|
|
79088
|
-
"",
|
|
79089
|
-
"### Flow complexity",
|
|
79090
|
-
"- Primary action ≤3 clicks from entry point",
|
|
79091
|
-
"- Extend existing surfaces (palette, settings tab, row action) before new navigation",
|
|
79092
|
-
"- Avoid nested modal chains and unjustified multi-step wizards",
|
|
79093
|
-
"- Prefer inline actions over navigate-away-and-back",
|
|
79099
|
+
"1. **Flows** — is the primary path straightforward? simpler alternatives exist?",
|
|
79100
|
+
"2. **Patterns** — consistent with existing project components and conventions? recommend one when multiple exist.",
|
|
79101
|
+
"3. **Layout** — unnecessary complexity or wrappers? layout stable across loading/empty/error transitions (no layout shift when async content arrives or state changes)?",
|
|
79102
|
+
"4. **Shortcuts** — aligned with the project keyboard/shortcut conventions? gaps or conflicts?",
|
|
79103
|
+
"5. **States** — loading, error, and empty states explicitly handled for async surfaces (no blank panels, silent failures, or missing retry affordances)?",
|
|
79104
|
+
"6. **Error boundaries** — failures scoped so one subtree does not crash the whole app?",
|
|
79105
|
+
"7. **Feedback** — timely response for async user actions?",
|
|
79106
|
+
"8. **Interaction affordance** — clickable/interactive elements use pointer cursor (or the project's established equivalent) where applicable?",
|
|
79107
|
+
"9. **Destructive actions** — irreversible or high-impact single actions gated by confirmation?",
|
|
79108
|
+
"10. **Bulk actions** — batch/multi-item operations confirmed with scope or impact summary?",
|
|
79094
79109
|
"",
|
|
79095
|
-
"###
|
|
79096
|
-
"-
|
|
79097
|
-
"-
|
|
79098
|
-
"-
|
|
79099
|
-
"-
|
|
79100
|
-
"- **Hide/show:** responsive utility classes or equivalent for alternate chrome per viewport",
|
|
79101
|
-
"- **Mobile overlay:** full-screen or sheet overlay with backdrop when desktop uses persistent panels",
|
|
79102
|
-
"- **Separate mobile UI:** dedicated mobile modal/picker when desktop uses side panel or split view",
|
|
79103
|
-
"- **Shared responsive density:** same component with size/density variants per breakpoint",
|
|
79104
|
-
"- **Command/search dialogs:** match existing modal/dialog styling; sensible max-width on small screens",
|
|
79105
|
-
"",
|
|
79106
|
-
"### Layout simplification",
|
|
79107
|
-
"- Review card/section layouts for unnecessary rows, nested wrappers, or misaligned actions",
|
|
79108
|
-
"- Prefer compact rows: title and overflow menu on one line via flex/grid",
|
|
79109
|
-
"- Description on the next line; primary CTA on a trailing row aligned end",
|
|
79110
|
-
"- Canonical simplified card pattern:",
|
|
79111
|
-
" ```",
|
|
79112
|
-
" <title> <overflow-menu>",
|
|
79113
|
-
" <description>",
|
|
79114
|
-
" <primary-cta aligned end>",
|
|
79115
|
-
" ```",
|
|
79116
|
-
"- Use header + action grid or equivalent flex `justify-between`",
|
|
79117
|
-
"- Flag multi-row chrome that could collapse (menu on its own row, CTA misaligned vs similar cards)",
|
|
79118
|
-
"",
|
|
79119
|
-
"### Error & loading states",
|
|
79120
|
-
"- Initial fetch: centered loader or skeleton for the content area",
|
|
79121
|
-
"- Pagination/infinite scroll: inline loader at scroll edge",
|
|
79122
|
-
"- Save/submit mutations: inline success/error feedback beside the trigger control",
|
|
79123
|
-
"- Never leave blank panels on fetch failure — show error message or retry affordance",
|
|
79124
|
-
"- Disable interactive controls while loading or pending",
|
|
79125
|
-
"",
|
|
79126
|
-
"### Error boundaries",
|
|
79127
|
-
"- Wrap data-dependent or third-party subtrees with error boundaries so a single failure does not unmount the whole app",
|
|
79128
|
-
"- Scope boundaries to the failing panel/section, not the entire shell",
|
|
79129
|
-
"- Provide fallback UI with a recovery action (retry, reload, or navigate away)",
|
|
79130
|
-
"",
|
|
79131
|
-
"### Alignment & component hierarchy",
|
|
79132
|
-
"- Before styling a leaf component, trace parent flex/grid context",
|
|
79133
|
-
"- Match sibling heights and vertical rhythm",
|
|
79134
|
-
"- Flag absolute positioning or fixed heights that fight parent layout",
|
|
79135
|
-
"- When hierarchy is unclear, inspect the rendered component tree (e.g. DOM inspector or component test snapshot) before deciding leaf styles",
|
|
79136
|
-
"",
|
|
79137
|
-
"### Fast user feedback",
|
|
79138
|
-
"- Async actions triggered by keyboard shortcut or click must show **immediate** UI response",
|
|
79139
|
-
'- Canonical pattern: pending local state → button label changes (e.g. "Saving..."), control disabled while in flight',
|
|
79140
|
-
"- Show inline error on failure; brief success confirmation optional",
|
|
79141
|
-
"- Pair shortcut hints with pending state only when the action shows pending feedback",
|
|
79142
|
-
"",
|
|
79143
|
-
"### Destructive & bulk action safeguards",
|
|
79144
|
-
"- **Destructive actions** (delete, remove, archive, reset, clear, disable) require an explicit confirmation step — never fire immediately from a menu item or button without a dialog",
|
|
79145
|
-
"- Use the project's standard confirmation dialog/modal pattern",
|
|
79146
|
-
"- Confirmation includes clear title + description of what will happen; primary action styled as destructive when appropriate",
|
|
79147
|
-
"- **Bulk actions** (multi-select delete, batch disable, clear-all) require confirmation before execution — show how many items are affected",
|
|
79148
|
-
'- Bulk confirm should summarize scope (e.g. "Delete 12 items?") and list material impact when non-obvious',
|
|
79149
|
-
"- Flag plans that wire bulk/destructive handlers directly to mutations/API calls without a confirm gate",
|
|
79150
|
-
"",
|
|
79151
|
-
"### Keyboard shortcuts",
|
|
79152
|
-
"- Align proposed shortcuts with the project's existing shortcut catalog and platform conventions (⌘ on macOS, Ctrl on Windows/Linux)",
|
|
79153
|
-
"- Avoid conflicting bindings; document new shortcuts when introducing them",
|
|
79154
|
-
"- Common patterns: modifier+letter for global commands, Enter to confirm in dialogs, Escape to cancel/close, Shift+Enter for multiline input where applicable",
|
|
79155
|
-
"- Flag plans that add shortcuts without checking for conflicts or omit keyboard access for primary actions"
|
|
79110
|
+
"### Review principles",
|
|
79111
|
+
"- Ground feedback in the planner check-in and the project codebase — cite existing patterns rather than inventing generic UI preferences.",
|
|
79112
|
+
"- Flag missing states, layout-shift risk, and missing interaction affordances when the plan omits them; recommend consistency with established project conventions.",
|
|
79113
|
+
"- Do **not** prescribe style choices the project has not adopted (e.g. specific flex layouts, canonical card chrome, responsive utility patterns, button label copy).",
|
|
79114
|
+
"- When multiple valid patterns exist in the codebase, recommend one and explain the tradeoff."
|
|
79156
79115
|
].join(`
|
|
79157
79116
|
`);
|
|
79158
79117
|
}
|
|
@@ -79182,16 +79141,16 @@ function getEnhancerFeedbackTemplateBody() {
|
|
|
79182
79141
|
<handoff-ux>
|
|
79183
79142
|
<!-- Optional — write exactly "Not Applicable." when no UI changes are proposed -->
|
|
79184
79143
|
<!-- When UI is proposed: specific findings tied to the planner's proposal. No code blocks (use Suggested edits). -->
|
|
79185
|
-
- **Flows:** <
|
|
79186
|
-
- **Patterns:** <
|
|
79187
|
-
- **Layout:** <
|
|
79144
|
+
- **Flows:** <click count, nested modals, simpler alternatives>
|
|
79145
|
+
- **Patterns:** <consistency with existing project components; recommend one when multiple>
|
|
79146
|
+
- **Layout:** <complexity, wrappers, layout stable across state transitions — no layout shift>
|
|
79188
79147
|
- **Shortcuts:** <alignment with catalog; gaps or conflicts>
|
|
79189
|
-
- **States:** <loading/error/empty
|
|
79148
|
+
- **States:** <loading/error/empty explicitly handled; no blank panels or silent failures>
|
|
79190
79149
|
- **Error boundaries:** <error boundary placement; failure isolated from the whole app>
|
|
79191
|
-
- **
|
|
79192
|
-
- **
|
|
79193
|
-
- **Destructive safeguards:** <
|
|
79194
|
-
- **Bulk safeguards:** <
|
|
79150
|
+
- **Feedback:** <timely response for async actions>
|
|
79151
|
+
- **Interaction affordance:** <pointer cursor or project equivalent on clickable elements where applicable>
|
|
79152
|
+
- **Destructive safeguards:** <confirmation before irreversible/high-impact actions>
|
|
79153
|
+
- **Bulk safeguards:** <confirmation with scope summary for batch operations>
|
|
79195
79154
|
</handoff-ux>
|
|
79196
79155
|
|
|
79197
79156
|
<handoff-defragmentation>
|
|
@@ -110577,16 +110536,14 @@ var init_git_workspace_hierarchy = __esm(() => {
|
|
|
110577
110536
|
init_run_command();
|
|
110578
110537
|
});
|
|
110579
110538
|
|
|
110580
|
-
// ../../node_modules/.pnpm/readdirp@5.
|
|
110539
|
+
// ../../node_modules/.pnpm/readdirp@5.1.1/node_modules/readdirp/index.js
|
|
110581
110540
|
import { lstat, readdir as readdir2, realpath as realpath2, stat as stat4 } from "node:fs/promises";
|
|
110582
|
-
import { join as pjoin,
|
|
110541
|
+
import { join as pjoin, resolve as presolve, sep as psep } from "node:path";
|
|
110583
110542
|
import { Readable as Readable4 } from "node:stream";
|
|
110584
110543
|
function readdirp(root, options = {}) {
|
|
110585
110544
|
let type = options.entryType || options.type;
|
|
110586
110545
|
if (type === "both")
|
|
110587
110546
|
type = EntryTypes.FILE_DIR_TYPE;
|
|
110588
|
-
if (type)
|
|
110589
|
-
options.type = type;
|
|
110590
110547
|
if (!root) {
|
|
110591
110548
|
throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");
|
|
110592
110549
|
} else if (typeof root !== "string") {
|
|
@@ -110594,8 +110551,10 @@ function readdirp(root, options = {}) {
|
|
|
110594
110551
|
} else if (type && !ALL_TYPES.includes(type)) {
|
|
110595
110552
|
throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(", ")}`);
|
|
110596
110553
|
}
|
|
110597
|
-
|
|
110598
|
-
|
|
110554
|
+
const opts = { ...options, root };
|
|
110555
|
+
if (type)
|
|
110556
|
+
opts.type = type;
|
|
110557
|
+
return new ReaddirpStream(opts);
|
|
110599
110558
|
}
|
|
110600
110559
|
var EntryTypes, defaultOptions, RECURSIVE_ERROR_CODE = "READDIRP_RECURSIVE_ERROR", NORMAL_FLOW_ERRORS, ALL_TYPES, DIR_TYPES, FILE_TYPES, isNormalFlowError = (error51) => NORMAL_FLOW_ERRORS.has(error51.code), wantBigintFsStats, emptyFn = (_entryInfo) => true, normalizeFilter = (filter9) => {
|
|
110601
110560
|
if (filter9 === undefined)
|
|
@@ -110627,7 +110586,7 @@ var init_readdirp = __esm(() => {
|
|
|
110627
110586
|
lstat: false,
|
|
110628
110587
|
depth: 2147483648,
|
|
110629
110588
|
alwaysStat: false,
|
|
110630
|
-
highWaterMark:
|
|
110589
|
+
highWaterMark: 256
|
|
110631
110590
|
};
|
|
110632
110591
|
Object.freeze(defaultOptions);
|
|
110633
110592
|
NORMAL_FLOW_ERRORS = new Set(["ENOENT", "EPERM", "EACCES", "ELOOP", RECURSIVE_ERROR_CODE]);
|
|
@@ -110663,14 +110622,16 @@ var init_readdirp = __esm(() => {
|
|
|
110663
110622
|
_rdOptions;
|
|
110664
110623
|
_fileFilter;
|
|
110665
110624
|
_directoryFilter;
|
|
110625
|
+
_relStart;
|
|
110666
110626
|
constructor(options = {}) {
|
|
110667
110627
|
super({
|
|
110668
110628
|
objectMode: true,
|
|
110669
110629
|
autoDestroy: true,
|
|
110670
|
-
highWaterMark: options.highWaterMark
|
|
110630
|
+
highWaterMark: options.highWaterMark ?? defaultOptions.highWaterMark
|
|
110671
110631
|
});
|
|
110672
110632
|
const opts = { ...defaultOptions, ...options };
|
|
110673
|
-
const
|
|
110633
|
+
const root = opts.root ?? defaultOptions.root;
|
|
110634
|
+
const type = opts.type ?? defaultOptions.type;
|
|
110674
110635
|
this._fileFilter = normalizeFilter(opts.fileFilter);
|
|
110675
110636
|
this._directoryFilter = normalizeFilter(opts.directoryFilter);
|
|
110676
110637
|
const statMethod = opts.lstat ? lstat : stat4;
|
|
@@ -110680,14 +110641,17 @@ var init_readdirp = __esm(() => {
|
|
|
110680
110641
|
this._stat = statMethod;
|
|
110681
110642
|
}
|
|
110682
110643
|
this._maxDepth = opts.depth != null && Number.isSafeInteger(opts.depth) ? opts.depth : defaultOptions.depth;
|
|
110683
|
-
this._wantsDir =
|
|
110684
|
-
this._wantsFile =
|
|
110644
|
+
this._wantsDir = DIR_TYPES.has(type);
|
|
110645
|
+
this._wantsFile = FILE_TYPES.has(type);
|
|
110685
110646
|
this._wantsEverything = type === EntryTypes.EVERYTHING_TYPE;
|
|
110686
110647
|
this._root = presolve(root);
|
|
110648
|
+
this._relStart = this._root.endsWith(psep) ? this._root.length : this._root.length + 1;
|
|
110687
110649
|
this._isDirent = !opts.alwaysStat;
|
|
110688
110650
|
this._statsProp = this._isDirent ? "dirent" : "stats";
|
|
110689
110651
|
this._rdOptions = { encoding: "utf8", withFileTypes: this._isDirent };
|
|
110690
|
-
|
|
110652
|
+
const rootDir = { path: this._root, depth: 1 };
|
|
110653
|
+
rootDir.pending = this._exploreDir(this._root, 1);
|
|
110654
|
+
this.parents = [rootDir];
|
|
110691
110655
|
this.reading = false;
|
|
110692
110656
|
this.parent = undefined;
|
|
110693
110657
|
}
|
|
@@ -110702,16 +110666,18 @@ var init_readdirp = __esm(() => {
|
|
|
110702
110666
|
if (fil && fil.length > 0) {
|
|
110703
110667
|
const { path: path6, depth } = par2;
|
|
110704
110668
|
const slice = fil.splice(0, batch).map((dirent) => this._formatEntry(dirent, path6));
|
|
110705
|
-
const awaited = await Promise.all(slice);
|
|
110669
|
+
const awaited = this._isDirent ? slice : await Promise.all(slice);
|
|
110706
110670
|
for (const entry of awaited) {
|
|
110707
110671
|
if (!entry)
|
|
110708
110672
|
continue;
|
|
110709
110673
|
if (this.destroyed)
|
|
110710
110674
|
return;
|
|
110711
|
-
|
|
110675
|
+
let entryType = this._getEntryType(entry);
|
|
110676
|
+
if (typeof entryType !== "string")
|
|
110677
|
+
entryType = await entryType;
|
|
110712
110678
|
if (entryType === "directory" && this._directoryFilter(entry)) {
|
|
110713
110679
|
if (depth <= this._maxDepth) {
|
|
110714
|
-
this.parents.push(
|
|
110680
|
+
this.parents.push({ path: entry.fullPath, depth: depth + 1 });
|
|
110715
110681
|
}
|
|
110716
110682
|
if (this._wantsDir) {
|
|
110717
110683
|
this.push(entry);
|
|
@@ -110730,7 +110696,12 @@ var init_readdirp = __esm(() => {
|
|
|
110730
110696
|
this.push(null);
|
|
110731
110697
|
break;
|
|
110732
110698
|
}
|
|
110733
|
-
|
|
110699
|
+
const dir = parent.pending ?? this._exploreDir(parent.path, parent.depth);
|
|
110700
|
+
const next4 = this.parents[this.parents.length - 1];
|
|
110701
|
+
if (next4 && !next4.pending) {
|
|
110702
|
+
next4.pending = this._exploreDir(next4.path, next4.depth);
|
|
110703
|
+
}
|
|
110704
|
+
this.parent = await dir;
|
|
110734
110705
|
if (this.destroyed)
|
|
110735
110706
|
return;
|
|
110736
110707
|
}
|
|
@@ -110750,18 +110721,21 @@ var init_readdirp = __esm(() => {
|
|
|
110750
110721
|
}
|
|
110751
110722
|
return { files, depth, path: path6 };
|
|
110752
110723
|
}
|
|
110753
|
-
|
|
110754
|
-
let entry;
|
|
110724
|
+
_formatEntry(dirent, path6) {
|
|
110755
110725
|
const basename3 = this._isDirent ? dirent.name : dirent;
|
|
110756
|
-
|
|
110757
|
-
|
|
110758
|
-
|
|
110759
|
-
entry
|
|
110760
|
-
|
|
110726
|
+
const fullPath = pjoin(path6, basename3);
|
|
110727
|
+
const entry = { path: fullPath.slice(this._relStart), fullPath, basename: basename3 };
|
|
110728
|
+
if (this._isDirent) {
|
|
110729
|
+
entry.dirent = dirent;
|
|
110730
|
+
return entry;
|
|
110731
|
+
}
|
|
110732
|
+
return this._stat(fullPath).then((stats) => {
|
|
110733
|
+
entry.stats = stats;
|
|
110734
|
+
return entry;
|
|
110735
|
+
}, (err) => {
|
|
110761
110736
|
this._onError(err);
|
|
110762
110737
|
return;
|
|
110763
|
-
}
|
|
110764
|
-
return entry;
|
|
110738
|
+
});
|
|
110765
110739
|
}
|
|
110766
110740
|
_onError(err) {
|
|
110767
110741
|
if (isNormalFlowError(err) && !this.destroyed) {
|
|
@@ -110770,8 +110744,8 @@ var init_readdirp = __esm(() => {
|
|
|
110770
110744
|
this.destroy(err);
|
|
110771
110745
|
}
|
|
110772
110746
|
}
|
|
110773
|
-
|
|
110774
|
-
if (!entry
|
|
110747
|
+
_getEntryType(entry) {
|
|
110748
|
+
if (!entry || !(this._statsProp in entry)) {
|
|
110775
110749
|
return "";
|
|
110776
110750
|
}
|
|
110777
110751
|
const stats = entry[this._statsProp];
|
|
@@ -110779,28 +110753,32 @@ var init_readdirp = __esm(() => {
|
|
|
110779
110753
|
return "file";
|
|
110780
110754
|
if (stats.isDirectory())
|
|
110781
110755
|
return "directory";
|
|
110782
|
-
if (stats
|
|
110783
|
-
|
|
110784
|
-
|
|
110785
|
-
|
|
110786
|
-
|
|
110787
|
-
|
|
110788
|
-
|
|
110789
|
-
|
|
110790
|
-
|
|
110791
|
-
|
|
110792
|
-
|
|
110793
|
-
|
|
110794
|
-
|
|
110795
|
-
|
|
110796
|
-
|
|
110797
|
-
|
|
110756
|
+
if (stats.isSymbolicLink())
|
|
110757
|
+
return this._getSymlinkEntryType(entry);
|
|
110758
|
+
return "";
|
|
110759
|
+
}
|
|
110760
|
+
async _getSymlinkEntryType(entry) {
|
|
110761
|
+
const full = entry.fullPath;
|
|
110762
|
+
try {
|
|
110763
|
+
const entryRealPath = await realpath2(full);
|
|
110764
|
+
const entryRealPathStats = await lstat(entryRealPath);
|
|
110765
|
+
if (entryRealPathStats.isFile()) {
|
|
110766
|
+
return "file";
|
|
110767
|
+
}
|
|
110768
|
+
if (entryRealPathStats.isDirectory()) {
|
|
110769
|
+
const len2 = entryRealPath.length;
|
|
110770
|
+
if (full.startsWith(entryRealPath) && full[len2] === psep) {
|
|
110771
|
+
const recursiveError = new Error(`Circular symlink detected: "${full}" points to "${entryRealPath}"`);
|
|
110772
|
+
recursiveError.code = RECURSIVE_ERROR_CODE;
|
|
110773
|
+
this._onError(recursiveError);
|
|
110774
|
+
return "";
|
|
110798
110775
|
}
|
|
110799
|
-
|
|
110800
|
-
this._onError(error51);
|
|
110801
|
-
return "";
|
|
110776
|
+
return "directory";
|
|
110802
110777
|
}
|
|
110778
|
+
} catch (error51) {
|
|
110779
|
+
this._onError(error51);
|
|
110803
110780
|
}
|
|
110781
|
+
return "";
|
|
110804
110782
|
}
|
|
110805
110783
|
_includeAsFile(entry) {
|
|
110806
110784
|
const stats = entry && entry[this._statsProp];
|
|
@@ -127723,8 +127701,14 @@ async function startLocalWebServer(config4, deps = {}) {
|
|
|
127723
127701
|
streamHub,
|
|
127724
127702
|
stop() {
|
|
127725
127703
|
return new Promise((resolve8, reject) => {
|
|
127726
|
-
io2.close()
|
|
127727
|
-
|
|
127704
|
+
io2.close((err) => {
|
|
127705
|
+
if (err) {
|
|
127706
|
+
reject(err);
|
|
127707
|
+
return;
|
|
127708
|
+
}
|
|
127709
|
+
resolve8();
|
|
127710
|
+
});
|
|
127711
|
+
server2.closeAllConnections();
|
|
127728
127712
|
});
|
|
127729
127713
|
}
|
|
127730
127714
|
};
|
|
@@ -129025,4 +129009,4 @@ program2.hook("preAction", async (_thisCommand, actionCommand) => {
|
|
|
129025
129009
|
});
|
|
129026
129010
|
program2.parse();
|
|
129027
129011
|
|
|
129028
|
-
//# debugId=
|
|
129012
|
+
//# debugId=BCEF43321DDB187C64756E2164756E21
|