@aiscene/shared 8.0.2 → 8.0.4
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/es/agent-tools/agent-behavior-init-args.mjs +44 -0
- package/dist/es/agent-tools/base-tools.mjs +163 -0
- package/dist/es/agent-tools/chrome-path.mjs +50 -0
- package/dist/es/agent-tools/cli-report-session.mjs +78 -0
- package/dist/es/agent-tools/error-formatter.mjs +106 -0
- package/dist/es/agent-tools/index.mjs +9 -0
- package/dist/es/agent-tools/init-arg-utils.mjs +38 -0
- package/dist/es/agent-tools/observation-artifact.mjs +5 -0
- package/dist/es/agent-tools/observation-record.mjs +248 -0
- package/dist/es/agent-tools/tool-defaults.mjs +54 -0
- package/dist/es/agent-tools/tool-generator.mjs +529 -0
- package/dist/es/agent-tools/types.mjs +3 -0
- package/dist/es/agent-tools/user-prompt.mjs +66 -0
- package/dist/es/cli/cli-args.mjs +95 -0
- package/dist/es/cli/cli-error.mjs +24 -0
- package/dist/es/cli/cli-runner.mjs +10 -40
- package/dist/es/cli/index.mjs +4 -2
- package/dist/es/cli/interrupt.mjs +116 -0
- package/dist/es/cli/record-command.mjs +130 -0
- package/dist/es/cli/screenshot-file.mjs +24 -0
- package/dist/es/cli/verbose-ai-act.mjs +230 -0
- package/dist/es/cli/verbose-screenshot.mjs +134 -0
- package/dist/es/cli/verbose.mjs +404 -0
- package/dist/es/constants/example-code.mjs +2 -2
- package/dist/es/constants/index.mjs +6 -1
- package/dist/es/env/model-config-manager.mjs +3 -0
- package/dist/es/env/parse-model-config.mjs +6 -1
- package/dist/es/env/types.mjs +4 -1
- package/dist/es/env/utils.mjs +1 -9
- package/dist/es/extractor/index.mjs +2 -2
- package/dist/es/img/index.mjs +2 -2
- package/dist/es/img/info.mjs +58 -17
- package/dist/es/img/photon-loader.mjs +4 -0
- package/dist/es/key-alias-utils.mjs +19 -0
- package/dist/es/mcp/base-server.mjs +10 -9
- package/dist/es/mcp/base-tools.mjs +72 -4
- package/dist/es/mcp/cli-report-session.mjs +78 -0
- package/dist/es/mcp/error-formatter.mjs +19 -0
- package/dist/es/mcp/index.mjs +2 -0
- package/dist/es/mcp/init-arg-utils.mjs +38 -0
- package/dist/es/mcp/inject-report-html-plugin.mjs +1 -1
- package/dist/es/mcp/tool-generator.mjs +65 -17
- package/dist/es/node/fs.mjs +1 -1
- package/dist/es/recorder.mjs +249 -0
- package/dist/lib/agent-tools/agent-behavior-init-args.js +87 -0
- package/dist/lib/agent-tools/base-tools.js +197 -0
- package/dist/lib/agent-tools/chrome-path.js +87 -0
- package/dist/lib/agent-tools/cli-report-session.js +121 -0
- package/dist/lib/agent-tools/error-formatter.js +149 -0
- package/dist/lib/agent-tools/index.js +114 -0
- package/dist/lib/agent-tools/init-arg-utils.js +78 -0
- package/dist/lib/agent-tools/observation-artifact.js +42 -0
- package/dist/lib/agent-tools/observation-record.js +297 -0
- package/dist/lib/agent-tools/tool-defaults.js +97 -0
- package/dist/lib/agent-tools/tool-generator.js +569 -0
- package/dist/lib/agent-tools/types.js +40 -0
- package/dist/lib/agent-tools/user-prompt.js +103 -0
- package/dist/lib/cli/cli-args.js +138 -0
- package/dist/lib/cli/cli-error.js +61 -0
- package/dist/lib/cli/cli-runner.js +19 -46
- package/dist/lib/cli/index.js +8 -3
- package/dist/lib/cli/interrupt.js +156 -0
- package/dist/lib/cli/record-command.js +164 -0
- package/dist/lib/cli/screenshot-file.js +58 -0
- package/dist/lib/cli/verbose-ai-act.js +273 -0
- package/dist/lib/cli/verbose-screenshot.js +177 -0
- package/dist/lib/cli/verbose.js +465 -0
- package/dist/lib/constants/example-code.js +2 -2
- package/dist/lib/constants/index.js +23 -3
- package/dist/lib/env/model-config-manager.js +3 -0
- package/dist/lib/env/parse-model-config.js +6 -1
- package/dist/lib/env/types.js +9 -0
- package/dist/lib/env/utils.js +0 -11
- package/dist/lib/extractor/index.js +3 -0
- package/dist/lib/img/index.js +3 -0
- package/dist/lib/img/info.js +65 -18
- package/dist/lib/img/photon-loader.js +38 -0
- package/dist/lib/key-alias-utils.js +62 -0
- package/dist/lib/mcp/base-server.js +11 -10
- package/dist/lib/mcp/base-tools.js +74 -6
- package/dist/lib/mcp/cli-report-session.js +121 -0
- package/dist/lib/mcp/error-formatter.js +53 -0
- package/dist/lib/mcp/index.js +24 -10
- package/dist/lib/mcp/init-arg-utils.js +78 -0
- package/dist/lib/mcp/inject-report-html-plugin.js +1 -1
- package/dist/lib/mcp/tool-generator.js +74 -26
- package/dist/lib/node/fs.js +1 -1
- package/dist/lib/recorder.js +307 -0
- package/dist/types/agent-tools/agent-behavior-init-args.d.ts +17 -0
- package/dist/types/agent-tools/base-tools.d.ts +158 -0
- package/dist/types/agent-tools/chrome-path.d.ts +2 -0
- package/dist/types/agent-tools/cli-report-session.d.ts +12 -0
- package/dist/types/agent-tools/error-formatter.d.ts +30 -0
- package/dist/types/agent-tools/index.d.ts +9 -0
- package/dist/types/agent-tools/init-arg-utils.d.ts +13 -0
- package/dist/types/agent-tools/observation-artifact.d.ts +10 -0
- package/dist/types/agent-tools/observation-record.d.ts +38 -0
- package/dist/types/agent-tools/tool-defaults.d.ts +63 -0
- package/dist/types/agent-tools/tool-generator.d.ts +13 -0
- package/dist/types/agent-tools/types.d.ts +213 -0
- package/dist/types/agent-tools/user-prompt.d.ts +13 -0
- package/dist/types/cli/cli-args.d.ts +8 -0
- package/dist/types/cli/cli-error.d.ts +5 -0
- package/dist/types/cli/cli-runner.d.ts +4 -7
- package/dist/types/cli/index.d.ts +3 -1
- package/dist/types/cli/interrupt.d.ts +49 -0
- package/dist/types/cli/record-command.d.ts +3 -0
- package/dist/types/cli/screenshot-file.d.ts +10 -0
- package/dist/types/cli/verbose-ai-act.d.ts +44 -0
- package/dist/types/cli/verbose-screenshot.d.ts +10 -0
- package/dist/types/cli/verbose.d.ts +40 -0
- package/dist/types/constants/example-code.d.ts +1 -1
- package/dist/types/constants/index.d.ts +5 -0
- package/dist/types/env/types.d.ts +14 -5
- package/dist/types/env/utils.d.ts +0 -31
- package/dist/types/extractor/index.d.ts +1 -1
- package/dist/types/img/index.d.ts +1 -1
- package/dist/types/img/info.d.ts +7 -0
- package/dist/types/img/photon-loader.d.ts +2 -0
- package/dist/types/key-alias-utils.d.ts +9 -0
- package/dist/types/mcp/base-tools.d.ts +74 -5
- package/dist/types/mcp/cli-report-session.d.ts +12 -0
- package/dist/types/mcp/error-formatter.d.ts +12 -0
- package/dist/types/mcp/index.d.ts +2 -0
- package/dist/types/mcp/init-arg-utils.d.ts +13 -0
- package/dist/types/mcp/inject-report-html-plugin.d.ts +2 -2
- package/dist/types/mcp/launcher-helper.d.ts +3 -3
- package/dist/types/mcp/tool-generator.d.ts +3 -3
- package/dist/types/mcp/types.d.ts +10 -0
- package/dist/types/recorder.d.ts +113 -0
- package/package.json +1 -1
- package/src/agent-tools/agent-behavior-init-args.ts +109 -0
- package/src/agent-tools/base-tools.ts +399 -0
- package/src/agent-tools/chrome-path.ts +74 -0
- package/src/agent-tools/cli-report-session.ts +130 -0
- package/src/agent-tools/error-formatter.ts +177 -0
- package/src/agent-tools/index.ts +9 -0
- package/src/agent-tools/init-arg-utils.ts +105 -0
- package/src/agent-tools/observation-artifact.ts +29 -0
- package/src/agent-tools/observation-record.ts +331 -0
- package/src/agent-tools/tool-defaults.ts +119 -0
- package/src/agent-tools/tool-generator.ts +866 -0
- package/src/agent-tools/types.ts +250 -0
- package/src/agent-tools/user-prompt.ts +102 -0
- package/src/cli/cli-args.ts +173 -0
- package/src/cli/cli-error.ts +24 -0
- package/src/cli/cli-runner.ts +37 -56
- package/src/cli/index.ts +3 -7
- package/src/cli/interrupt.ts +207 -0
- package/src/cli/record-command.ts +177 -0
- package/src/cli/screenshot-file.ts +61 -0
- package/src/cli/verbose-ai-act.ts +387 -0
- package/src/cli/verbose-screenshot.ts +269 -0
- package/src/cli/verbose.ts +753 -0
- package/src/constants/example-code.ts +2 -2
- package/src/constants/index.ts +10 -0
- package/src/env/model-config-manager.ts +3 -0
- package/src/env/parse-model-config.ts +19 -1
- package/src/env/types.ts +13 -2
- package/src/env/utils.ts +0 -50
- package/src/extractor/index.ts +1 -1
- package/src/img/index.ts +14 -0
- package/src/img/info.ts +97 -45
- package/src/img/photon-loader.ts +5 -0
- package/src/img/transform.ts +261 -2
- package/src/key-alias-utils.ts +23 -0
- package/src/mcp/base-server.ts +10 -12
- package/src/mcp/base-tools.ts +218 -11
- package/src/mcp/cli-report-session.ts +130 -0
- package/src/mcp/error-formatter.ts +52 -0
- package/src/mcp/index.ts +2 -0
- package/src/mcp/init-arg-utils.ts +105 -0
- package/src/mcp/inject-report-html-plugin.ts +3 -3
- package/src/mcp/launcher-helper.ts +3 -3
- package/src/mcp/tool-generator.ts +98 -20
- package/src/mcp/types.ts +18 -1
- package/src/recorder.ts +625 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
promptInputExtraSchema: ()=>promptInputExtraSchema,
|
|
28
|
+
composeUserPrompt: ()=>composeUserPrompt
|
|
29
|
+
});
|
|
30
|
+
const external_zod_namespaceObject = require("zod");
|
|
31
|
+
function normalizeStringList(raw, fieldName) {
|
|
32
|
+
if (null == raw) return [];
|
|
33
|
+
if ('string' == typeof raw) {
|
|
34
|
+
const trimmed = raw.trim();
|
|
35
|
+
return trimmed ? [
|
|
36
|
+
trimmed
|
|
37
|
+
] : [];
|
|
38
|
+
}
|
|
39
|
+
if (Array.isArray(raw)) return raw.map((item, index)=>{
|
|
40
|
+
if ('string' != typeof item) throw new Error(`${fieldName}[${index}]: expected a string.`);
|
|
41
|
+
return item.trim();
|
|
42
|
+
});
|
|
43
|
+
throw new Error(`${fieldName}: expected a string or string array, got ${typeof raw}.`);
|
|
44
|
+
}
|
|
45
|
+
function composeImages(input) {
|
|
46
|
+
const urls = normalizeStringList(input.image, 'image');
|
|
47
|
+
const names = normalizeStringList(input.imageName, 'imageName');
|
|
48
|
+
if (urls.length !== names.length) throw new Error(`image/imageName: expected the same number of --image and --image-name values, got ${urls.length} image(s) and ${names.length} image name(s).`);
|
|
49
|
+
return urls.map((url, index)=>({
|
|
50
|
+
name: names[index],
|
|
51
|
+
url
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
function coerceBoolean(value) {
|
|
55
|
+
if (null == value) return;
|
|
56
|
+
if ('boolean' == typeof value) return value;
|
|
57
|
+
if ('string' == typeof value) {
|
|
58
|
+
const trimmed = value.trim();
|
|
59
|
+
if (!trimmed) return;
|
|
60
|
+
const v = trimmed.toLowerCase();
|
|
61
|
+
if ('true' === v || '1' === v) return true;
|
|
62
|
+
if ('false' === v || '0' === v) return false;
|
|
63
|
+
throw new Error(`convertHttpImage2Base64: expected "true", "false", "1", or "0"; got ${JSON.stringify(value)}.`);
|
|
64
|
+
}
|
|
65
|
+
throw new Error(`convertHttpImage2Base64: expected a boolean, got ${typeof value}.`);
|
|
66
|
+
}
|
|
67
|
+
function composeUserPrompt(input) {
|
|
68
|
+
const images = composeImages({
|
|
69
|
+
image: input.image,
|
|
70
|
+
imageName: input.imageName
|
|
71
|
+
});
|
|
72
|
+
const convertFlag = coerceBoolean(input.convertHttpImage2Base64);
|
|
73
|
+
if (0 === images.length && void 0 === convertFlag) return input.prompt;
|
|
74
|
+
const payload = {
|
|
75
|
+
prompt: input.prompt
|
|
76
|
+
};
|
|
77
|
+
if (images.length > 0) payload.images = images;
|
|
78
|
+
if (void 0 !== convertFlag) payload.convertHttpImage2Base64 = convertFlag;
|
|
79
|
+
return payload;
|
|
80
|
+
}
|
|
81
|
+
const promptInputExtraSchema = {
|
|
82
|
+
image: external_zod_namespaceObject.z.union([
|
|
83
|
+
external_zod_namespaceObject.z.string(),
|
|
84
|
+
external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string())
|
|
85
|
+
]).optional().describe('Reference image URL/path. Repeat --image for multiple images.'),
|
|
86
|
+
imageName: external_zod_namespaceObject.z.union([
|
|
87
|
+
external_zod_namespaceObject.z.string(),
|
|
88
|
+
external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string())
|
|
89
|
+
]).optional().describe('Reference image name. Repeat --image-name; must align with --image order.'),
|
|
90
|
+
convertHttpImage2Base64: external_zod_namespaceObject.z.union([
|
|
91
|
+
external_zod_namespaceObject.z.boolean(),
|
|
92
|
+
external_zod_namespaceObject.z.string()
|
|
93
|
+
]).optional().describe('If true, convert http(s) image URLs to base64 before sending to the model.')
|
|
94
|
+
};
|
|
95
|
+
exports.composeUserPrompt = __webpack_exports__.composeUserPrompt;
|
|
96
|
+
exports.promptInputExtraSchema = __webpack_exports__.promptInputExtraSchema;
|
|
97
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
98
|
+
"composeUserPrompt",
|
|
99
|
+
"promptInputExtraSchema"
|
|
100
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
101
|
+
Object.defineProperty(exports, '__esModule', {
|
|
102
|
+
value: true
|
|
103
|
+
});
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
parseCliArgs: ()=>parseCliArgs,
|
|
28
|
+
parseValue: ()=>parseValue,
|
|
29
|
+
formatCliValidationError: ()=>formatCliValidationError,
|
|
30
|
+
getCliOptionDisplay: ()=>getCliOptionDisplay
|
|
31
|
+
});
|
|
32
|
+
const external_zod_namespaceObject = require("zod");
|
|
33
|
+
const external_key_alias_utils_js_namespaceObject = require("../key-alias-utils.js");
|
|
34
|
+
function parseValue(raw) {
|
|
35
|
+
if (raw.startsWith('{') || raw.startsWith('[')) try {
|
|
36
|
+
return JSON.parse(raw);
|
|
37
|
+
} catch {}
|
|
38
|
+
if (/^-?\d+(\.\d+)?$/.test(raw)) return Number(raw);
|
|
39
|
+
return raw;
|
|
40
|
+
}
|
|
41
|
+
function walkCliArgs(args, setArgValue) {
|
|
42
|
+
for(let i = 0; i < args.length; i++){
|
|
43
|
+
const arg = args[i];
|
|
44
|
+
if (!arg.startsWith('--')) continue;
|
|
45
|
+
const body = arg.slice(2);
|
|
46
|
+
const eqIdx = body.indexOf('=');
|
|
47
|
+
if (eqIdx >= 0) setArgValue(body.slice(0, eqIdx), parseValue(body.slice(eqIdx + 1)));
|
|
48
|
+
else if (args[i + 1] && !args[i + 1].startsWith('--')) {
|
|
49
|
+
i++;
|
|
50
|
+
setArgValue(body, parseValue(args[i]));
|
|
51
|
+
} else setArgValue(body, true);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function parseCliArgs(args) {
|
|
55
|
+
const result = {};
|
|
56
|
+
walkCliArgs(args, (key, value)=>{
|
|
57
|
+
result[key] = value;
|
|
58
|
+
});
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
function formatCliOptionName(name) {
|
|
62
|
+
return `--${name}`;
|
|
63
|
+
}
|
|
64
|
+
function getCliOptionDisplay(key, cliOption) {
|
|
65
|
+
const label = formatCliOptionName(cliOption?.preferredName ?? key);
|
|
66
|
+
const aliases = [
|
|
67
|
+
...new Set(cliOption?.aliases ?? [])
|
|
68
|
+
].map((alias)=>formatCliOptionName(alias)).filter((alias)=>alias !== label);
|
|
69
|
+
return {
|
|
70
|
+
label,
|
|
71
|
+
aliases
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function getAcceptedCliOptionNames(key, cliOption) {
|
|
75
|
+
return [
|
|
76
|
+
...new Set(cliOption ? [
|
|
77
|
+
cliOption.preferredName ?? key,
|
|
78
|
+
...cliOption.aliases ?? []
|
|
79
|
+
] : [
|
|
80
|
+
key,
|
|
81
|
+
...(0, external_key_alias_utils_js_namespaceObject.getKeyAliases)(key)
|
|
82
|
+
])
|
|
83
|
+
];
|
|
84
|
+
}
|
|
85
|
+
function toOptionalCliSchemaField(field) {
|
|
86
|
+
if ('object' == typeof field && null !== field && 'function' == typeof field.optional) return field.optional();
|
|
87
|
+
const description = 'object' == typeof field && null !== field && "description" in field && 'string' == typeof field.description ? field.description : void 0;
|
|
88
|
+
return description ? external_zod_namespaceObject.z.any().describe(description) : external_zod_namespaceObject.z.any();
|
|
89
|
+
}
|
|
90
|
+
function buildCliArgSchema(def) {
|
|
91
|
+
return Object.fromEntries(Object.entries(def.schema).flatMap(([key, zodType])=>getAcceptedCliOptionNames(key, def.cli?.options?.[key]).map((cliKey)=>[
|
|
92
|
+
cliKey,
|
|
93
|
+
toOptionalCliSchemaField(zodType)
|
|
94
|
+
])));
|
|
95
|
+
}
|
|
96
|
+
function buildDisallowedCliSpellings(def) {
|
|
97
|
+
const disallowedSpellings = new Set();
|
|
98
|
+
for (const [key] of Object.entries(def.schema)){
|
|
99
|
+
const cliOption = def.cli?.options?.[key];
|
|
100
|
+
const acceptedNames = new Set(getAcceptedCliOptionNames(key, cliOption));
|
|
101
|
+
const knownSpellings = new Set([
|
|
102
|
+
key,
|
|
103
|
+
...(0, external_key_alias_utils_js_namespaceObject.getKeyAliases)(key),
|
|
104
|
+
...cliOption?.preferredName ? (0, external_key_alias_utils_js_namespaceObject.getKeyAliases)(cliOption.preferredName) : [],
|
|
105
|
+
...cliOption?.aliases ?? []
|
|
106
|
+
]);
|
|
107
|
+
for (const spelling of knownSpellings)if (!acceptedNames.has(spelling)) disallowedSpellings.add(spelling);
|
|
108
|
+
}
|
|
109
|
+
return disallowedSpellings;
|
|
110
|
+
}
|
|
111
|
+
function formatCliValidationError(scriptName, commandName, def, rawArgs) {
|
|
112
|
+
if (0 === Object.keys(def.schema).length) return;
|
|
113
|
+
const cliSchema = external_zod_namespaceObject.z.object(buildCliArgSchema(def)).strict();
|
|
114
|
+
const parsed = cliSchema.safeParse(rawArgs);
|
|
115
|
+
if (parsed.success) return;
|
|
116
|
+
const disallowedSpellings = buildDisallowedCliSpellings(def);
|
|
117
|
+
const unknownKeys = parsed.error.issues.flatMap((issue)=>'unrecognized_keys' === issue.code ? issue.keys : []);
|
|
118
|
+
if (unknownKeys.length > 0) return unknownKeys.map((key)=>{
|
|
119
|
+
if (disallowedSpellings.has(key)) return `Unsupported option "--${key}" for ${scriptName} ${commandName}.`;
|
|
120
|
+
return `Unknown option "--${key}" for ${scriptName} ${commandName}.`;
|
|
121
|
+
}).join('\n');
|
|
122
|
+
const [issue] = parsed.error.issues;
|
|
123
|
+
const optionName = 'string' == typeof issue?.path[0] ? `--${issue.path[0]}` : 'CLI arguments';
|
|
124
|
+
return `Invalid value for "${optionName}" in ${scriptName} ${commandName}: ${issue?.message ?? parsed.error.message}`;
|
|
125
|
+
}
|
|
126
|
+
exports.formatCliValidationError = __webpack_exports__.formatCliValidationError;
|
|
127
|
+
exports.getCliOptionDisplay = __webpack_exports__.getCliOptionDisplay;
|
|
128
|
+
exports.parseCliArgs = __webpack_exports__.parseCliArgs;
|
|
129
|
+
exports.parseValue = __webpack_exports__.parseValue;
|
|
130
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
131
|
+
"formatCliValidationError",
|
|
132
|
+
"getCliOptionDisplay",
|
|
133
|
+
"parseCliArgs",
|
|
134
|
+
"parseValue"
|
|
135
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
136
|
+
Object.defineProperty(exports, '__esModule', {
|
|
137
|
+
value: true
|
|
138
|
+
});
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
CLIError: ()=>CLIError,
|
|
28
|
+
reportCLIError: ()=>reportCLIError
|
|
29
|
+
});
|
|
30
|
+
function _define_property(obj, key, value) {
|
|
31
|
+
if (key in obj) Object.defineProperty(obj, key, {
|
|
32
|
+
value: value,
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
writable: true
|
|
36
|
+
});
|
|
37
|
+
else obj[key] = value;
|
|
38
|
+
return obj;
|
|
39
|
+
}
|
|
40
|
+
class CLIError extends Error {
|
|
41
|
+
constructor(message, exitCode = 1){
|
|
42
|
+
super(message), _define_property(this, "exitCode", void 0), this.exitCode = exitCode;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function reportCLIError(error, log = console.error) {
|
|
46
|
+
if (error instanceof CLIError) {
|
|
47
|
+
log(error.message);
|
|
48
|
+
return error.exitCode;
|
|
49
|
+
}
|
|
50
|
+
log(error);
|
|
51
|
+
return 1;
|
|
52
|
+
}
|
|
53
|
+
exports.CLIError = __webpack_exports__.CLIError;
|
|
54
|
+
exports.reportCLIError = __webpack_exports__.reportCLIError;
|
|
55
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
56
|
+
"CLIError",
|
|
57
|
+
"reportCLIError"
|
|
58
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
59
|
+
Object.defineProperty(exports, '__esModule', {
|
|
60
|
+
value: true
|
|
61
|
+
});
|
|
@@ -33,10 +33,11 @@ var __webpack_require__ = {};
|
|
|
33
33
|
var __webpack_exports__ = {};
|
|
34
34
|
__webpack_require__.r(__webpack_exports__);
|
|
35
35
|
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
-
CLIError: ()=>CLIError,
|
|
37
|
-
parseCliArgs: ()=>parseCliArgs,
|
|
38
|
-
parseValue: ()=>parseValue,
|
|
36
|
+
CLIError: ()=>external_cli_error_js_namespaceObject.CLIError,
|
|
37
|
+
parseCliArgs: ()=>external_cli_args_js_namespaceObject.parseCliArgs,
|
|
38
|
+
parseValue: ()=>external_cli_args_js_namespaceObject.parseValue,
|
|
39
39
|
runToolsCLI: ()=>runToolsCLI,
|
|
40
|
+
reportCLIError: ()=>external_cli_error_js_namespaceObject.reportCLIError,
|
|
40
41
|
removePrefix: ()=>removePrefix
|
|
41
42
|
});
|
|
42
43
|
const external_node_fs_namespaceObject = require("node:fs");
|
|
@@ -45,44 +46,9 @@ const external_node_path_namespaceObject = require("node:path");
|
|
|
45
46
|
const external_dotenv_namespaceObject = require("dotenv");
|
|
46
47
|
var external_dotenv_default = /*#__PURE__*/ __webpack_require__.n(external_dotenv_namespaceObject);
|
|
47
48
|
const external_logger_js_namespaceObject = require("../logger.js");
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
value: value,
|
|
51
|
-
enumerable: true,
|
|
52
|
-
configurable: true,
|
|
53
|
-
writable: true
|
|
54
|
-
});
|
|
55
|
-
else obj[key] = value;
|
|
56
|
-
return obj;
|
|
57
|
-
}
|
|
49
|
+
const external_cli_args_js_namespaceObject = require("./cli-args.js");
|
|
50
|
+
const external_cli_error_js_namespaceObject = require("./cli-error.js");
|
|
58
51
|
const debug = (0, external_logger_js_namespaceObject.getDebug)('cli-runner');
|
|
59
|
-
class CLIError extends Error {
|
|
60
|
-
constructor(message, exitCode = 1){
|
|
61
|
-
super(message), _define_property(this, "exitCode", void 0), this.exitCode = exitCode;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
function parseValue(raw) {
|
|
65
|
-
if (raw.startsWith('{') || raw.startsWith('[')) try {
|
|
66
|
-
return JSON.parse(raw);
|
|
67
|
-
} catch {}
|
|
68
|
-
if (/^-?\d+(\.\d+)?$/.test(raw)) return Number(raw);
|
|
69
|
-
return raw;
|
|
70
|
-
}
|
|
71
|
-
function parseCliArgs(args) {
|
|
72
|
-
const result = {};
|
|
73
|
-
for(let i = 0; i < args.length; i++){
|
|
74
|
-
const arg = args[i];
|
|
75
|
-
if (!arg.startsWith('--')) continue;
|
|
76
|
-
const body = arg.slice(2);
|
|
77
|
-
const eqIdx = body.indexOf('=');
|
|
78
|
-
if (eqIdx >= 0) result[body.slice(0, eqIdx)] = parseValue(body.slice(eqIdx + 1));
|
|
79
|
-
else if (args[i + 1] && !args[i + 1].startsWith('--')) {
|
|
80
|
-
i++;
|
|
81
|
-
result[body] = parseValue(args[i]);
|
|
82
|
-
} else result[body] = true;
|
|
83
|
-
}
|
|
84
|
-
return result;
|
|
85
|
-
}
|
|
86
52
|
function outputContentItem(item, isError) {
|
|
87
53
|
switch(item.type){
|
|
88
54
|
case 'text':
|
|
@@ -114,10 +80,13 @@ function printCommandHelp(scriptName, cmd) {
|
|
|
114
80
|
console.log(def.description);
|
|
115
81
|
const schemaEntries = Object.entries(def.schema);
|
|
116
82
|
if (schemaEntries.length > 0) {
|
|
83
|
+
const optionWidth = Math.max(22, ...schemaEntries.map(([key])=>(0, external_cli_args_js_namespaceObject.getCliOptionDisplay)(key, def.cli?.options?.[key]).label.length));
|
|
117
84
|
console.log('\nOptions:');
|
|
118
85
|
for (const [key, zodType] of schemaEntries){
|
|
86
|
+
const { label, aliases } = (0, external_cli_args_js_namespaceObject.getCliOptionDisplay)(key, def.cli?.options?.[key]);
|
|
119
87
|
const desc = zodType.description ?? '';
|
|
120
|
-
|
|
88
|
+
const aliasText = aliases.length > 0 ? ` (aliases: ${aliases.join(', ')})` : '';
|
|
89
|
+
console.log(` ${label.padEnd(optionWidth)} ${desc}${aliasText}`);
|
|
121
90
|
}
|
|
122
91
|
}
|
|
123
92
|
}
|
|
@@ -167,7 +136,7 @@ async function runToolsCLI(tools, scriptName, options) {
|
|
|
167
136
|
return;
|
|
168
137
|
}
|
|
169
138
|
if ('--version' === commandName || '-v' === commandName || 'version' === commandName.toLowerCase()) {
|
|
170
|
-
if (!cliVersion) throw new CLIError('Failed to determine CLI version');
|
|
139
|
+
if (!cliVersion) throw new external_cli_error_js_namespaceObject.CLIError('Failed to determine CLI version');
|
|
171
140
|
printVersion(scriptName, cliVersion);
|
|
172
141
|
return;
|
|
173
142
|
}
|
|
@@ -176,31 +145,35 @@ async function runToolsCLI(tools, scriptName, options) {
|
|
|
176
145
|
debug('unknown command: %s', commandName);
|
|
177
146
|
console.error(`Unknown command: ${commandName}`);
|
|
178
147
|
printHelp(scriptName, commands, cliVersion);
|
|
179
|
-
throw new CLIError(`Unknown command: ${commandName}`);
|
|
148
|
+
throw new external_cli_error_js_namespaceObject.CLIError(`Unknown command: ${commandName}`);
|
|
180
149
|
}
|
|
181
|
-
const parsedArgs = parseCliArgs(restArgs);
|
|
182
|
-
debug('command: %s, args: %s', match.name, JSON.stringify(parsedArgs));
|
|
150
|
+
const parsedArgs = (0, external_cli_args_js_namespaceObject.parseCliArgs)(restArgs);
|
|
183
151
|
if (true === parsedArgs.help) {
|
|
184
152
|
debug('showing command help for: %s', match.name);
|
|
185
153
|
printCommandHelp(scriptName, match);
|
|
186
154
|
return;
|
|
187
155
|
}
|
|
156
|
+
const cliValidationError = (0, external_cli_args_js_namespaceObject.formatCliValidationError)(scriptName, match.name, match.def, parsedArgs);
|
|
157
|
+
if (cliValidationError) throw new external_cli_error_js_namespaceObject.CLIError(cliValidationError);
|
|
158
|
+
debug('command: %s, args: %s', match.name, JSON.stringify(parsedArgs));
|
|
188
159
|
const result = await match.def.handler(parsedArgs);
|
|
189
160
|
debug('command %s completed, isError: %s', match.name, result.isError ?? false);
|
|
190
161
|
outputResult(result);
|
|
191
162
|
await tools.destroy();
|
|
192
|
-
if (result.isError) throw new CLIError('Command failed', 1);
|
|
163
|
+
if (result.isError) throw new external_cli_error_js_namespaceObject.CLIError('Command failed', 1);
|
|
193
164
|
}
|
|
194
165
|
exports.CLIError = __webpack_exports__.CLIError;
|
|
195
166
|
exports.parseCliArgs = __webpack_exports__.parseCliArgs;
|
|
196
167
|
exports.parseValue = __webpack_exports__.parseValue;
|
|
197
168
|
exports.removePrefix = __webpack_exports__.removePrefix;
|
|
169
|
+
exports.reportCLIError = __webpack_exports__.reportCLIError;
|
|
198
170
|
exports.runToolsCLI = __webpack_exports__.runToolsCLI;
|
|
199
171
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
200
172
|
"CLIError",
|
|
201
173
|
"parseCliArgs",
|
|
202
174
|
"parseValue",
|
|
203
175
|
"removePrefix",
|
|
176
|
+
"reportCLIError",
|
|
204
177
|
"runToolsCLI"
|
|
205
178
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
206
179
|
Object.defineProperty(exports, '__esModule', {
|
package/dist/lib/cli/index.js
CHANGED
|
@@ -24,23 +24,28 @@ var __webpack_require__ = {};
|
|
|
24
24
|
var __webpack_exports__ = {};
|
|
25
25
|
__webpack_require__.r(__webpack_exports__);
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
CLIError: ()=>
|
|
28
|
-
parseCliArgs: ()=>
|
|
29
|
-
parseValue: ()=>
|
|
27
|
+
CLIError: ()=>external_cli_error_js_namespaceObject.CLIError,
|
|
28
|
+
parseCliArgs: ()=>external_cli_args_js_namespaceObject.parseCliArgs,
|
|
29
|
+
parseValue: ()=>external_cli_args_js_namespaceObject.parseValue,
|
|
30
30
|
runToolsCLI: ()=>external_cli_runner_js_namespaceObject.runToolsCLI,
|
|
31
|
+
reportCLIError: ()=>external_cli_error_js_namespaceObject.reportCLIError,
|
|
31
32
|
removePrefix: ()=>external_cli_runner_js_namespaceObject.removePrefix
|
|
32
33
|
});
|
|
34
|
+
const external_cli_error_js_namespaceObject = require("./cli-error.js");
|
|
35
|
+
const external_cli_args_js_namespaceObject = require("./cli-args.js");
|
|
33
36
|
const external_cli_runner_js_namespaceObject = require("./cli-runner.js");
|
|
34
37
|
exports.CLIError = __webpack_exports__.CLIError;
|
|
35
38
|
exports.parseCliArgs = __webpack_exports__.parseCliArgs;
|
|
36
39
|
exports.parseValue = __webpack_exports__.parseValue;
|
|
37
40
|
exports.removePrefix = __webpack_exports__.removePrefix;
|
|
41
|
+
exports.reportCLIError = __webpack_exports__.reportCLIError;
|
|
38
42
|
exports.runToolsCLI = __webpack_exports__.runToolsCLI;
|
|
39
43
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
40
44
|
"CLIError",
|
|
41
45
|
"parseCliArgs",
|
|
42
46
|
"parseValue",
|
|
43
47
|
"removePrefix",
|
|
48
|
+
"reportCLIError",
|
|
44
49
|
"runToolsCLI"
|
|
45
50
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
46
51
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
createCliInterruptWaiter: ()=>createCliInterruptWaiter,
|
|
28
|
+
hasActiveCliInterruptWaiter: ()=>hasActiveCliInterruptWaiter,
|
|
29
|
+
waitForCliInterrupt: ()=>waitForCliInterrupt
|
|
30
|
+
});
|
|
31
|
+
const activeInterruptWaiters = new WeakMap();
|
|
32
|
+
const noop = ()=>{};
|
|
33
|
+
const sigintExitCode = 130;
|
|
34
|
+
function guardTerminalCtrlC(input, onInterrupt) {
|
|
35
|
+
if (!input?.isTTY || !input.setRawMode) return noop;
|
|
36
|
+
const wasRaw = true === input.isRaw;
|
|
37
|
+
const wasFlowing = true === input.readableFlowing;
|
|
38
|
+
const onData = (chunk)=>{
|
|
39
|
+
const includesCtrlC = 'string' == typeof chunk && chunk.includes('\u0003') || chunk instanceof Uint8Array && chunk.includes(3);
|
|
40
|
+
if (includesCtrlC) onInterrupt();
|
|
41
|
+
};
|
|
42
|
+
const dispose = ()=>{
|
|
43
|
+
input.removeListener('data', onData);
|
|
44
|
+
try {
|
|
45
|
+
if (!wasFlowing) input.pause?.();
|
|
46
|
+
} finally{
|
|
47
|
+
if (!wasRaw) input.setRawMode?.(false);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
input.setRawMode(true);
|
|
51
|
+
try {
|
|
52
|
+
input.on('data', onData);
|
|
53
|
+
} catch (error) {
|
|
54
|
+
dispose();
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
return dispose;
|
|
58
|
+
}
|
|
59
|
+
function registerCliInterruptWaiter(source) {
|
|
60
|
+
const key = source;
|
|
61
|
+
activeInterruptWaiters.set(key, (activeInterruptWaiters.get(key) ?? 0) + 1);
|
|
62
|
+
let active = true;
|
|
63
|
+
return ()=>{
|
|
64
|
+
if (!active) return;
|
|
65
|
+
active = false;
|
|
66
|
+
const remaining = (activeInterruptWaiters.get(key) ?? 1) - 1;
|
|
67
|
+
if (remaining > 0) activeInterruptWaiters.set(key, remaining);
|
|
68
|
+
else activeInterruptWaiters.delete(key);
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function hasActiveCliInterruptWaiter(source = process) {
|
|
72
|
+
return (activeInterruptWaiters.get(source) ?? 0) > 0;
|
|
73
|
+
}
|
|
74
|
+
function createCliInterruptWaiter(watchdogMs, options = {}) {
|
|
75
|
+
const source = options.source ?? process;
|
|
76
|
+
const input = options.input ?? (source === process ? process.stdin : void 0);
|
|
77
|
+
const forceExit = options.forceExit ?? (source === process ? (exitCode)=>{
|
|
78
|
+
process.exit(exitCode);
|
|
79
|
+
} : void 0);
|
|
80
|
+
const unregisterWaiter = registerCliInterruptWaiter(source);
|
|
81
|
+
let timer;
|
|
82
|
+
let finished = false;
|
|
83
|
+
let disposed = false;
|
|
84
|
+
let disposeInput = noop;
|
|
85
|
+
let resolveResult;
|
|
86
|
+
let rejectResult;
|
|
87
|
+
const result = new Promise((resolve, reject)=>{
|
|
88
|
+
resolveResult = resolve;
|
|
89
|
+
rejectResult = reject;
|
|
90
|
+
});
|
|
91
|
+
const finish = (reason)=>{
|
|
92
|
+
if (finished) return;
|
|
93
|
+
finished = true;
|
|
94
|
+
if (timer) {
|
|
95
|
+
clearTimeout(timer);
|
|
96
|
+
timer = void 0;
|
|
97
|
+
}
|
|
98
|
+
resolveResult(reason);
|
|
99
|
+
};
|
|
100
|
+
const onSigint = ()=>finish('sigint');
|
|
101
|
+
const onSigterm = ()=>finish('sigterm');
|
|
102
|
+
const onSighup = ()=>finish('sighup');
|
|
103
|
+
function dispose() {
|
|
104
|
+
if (disposed) return;
|
|
105
|
+
disposed = true;
|
|
106
|
+
source.removeListener('SIGINT', onSigint);
|
|
107
|
+
source.removeListener('SIGTERM', onSigterm);
|
|
108
|
+
source.removeListener('SIGHUP', onSighup);
|
|
109
|
+
try {
|
|
110
|
+
disposeInput();
|
|
111
|
+
} finally{
|
|
112
|
+
if (timer) {
|
|
113
|
+
clearTimeout(timer);
|
|
114
|
+
timer = void 0;
|
|
115
|
+
}
|
|
116
|
+
unregisterWaiter();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const onTerminalCtrlC = ()=>{
|
|
120
|
+
if (!finished) return void finish('sigint');
|
|
121
|
+
dispose();
|
|
122
|
+
forceExit?.(sigintExitCode);
|
|
123
|
+
};
|
|
124
|
+
try {
|
|
125
|
+
source.on('SIGINT', onSigint);
|
|
126
|
+
source.on('SIGTERM', onSigterm);
|
|
127
|
+
source.on('SIGHUP', onSighup);
|
|
128
|
+
disposeInput = guardTerminalCtrlC(input, onTerminalCtrlC);
|
|
129
|
+
if (watchdogMs > 0) timer = setTimeout(()=>finish('watchdog'), watchdogMs);
|
|
130
|
+
} catch (error) {
|
|
131
|
+
dispose();
|
|
132
|
+
rejectResult(error);
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
result,
|
|
136
|
+
dispose
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
function waitForCliInterrupt(watchdogMs, source = process, input = source === process ? process.stdin : void 0) {
|
|
140
|
+
const waiter = createCliInterruptWaiter(watchdogMs, {
|
|
141
|
+
source,
|
|
142
|
+
input
|
|
143
|
+
});
|
|
144
|
+
return waiter.result.finally(waiter.dispose);
|
|
145
|
+
}
|
|
146
|
+
exports.createCliInterruptWaiter = __webpack_exports__.createCliInterruptWaiter;
|
|
147
|
+
exports.hasActiveCliInterruptWaiter = __webpack_exports__.hasActiveCliInterruptWaiter;
|
|
148
|
+
exports.waitForCliInterrupt = __webpack_exports__.waitForCliInterrupt;
|
|
149
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
150
|
+
"createCliInterruptWaiter",
|
|
151
|
+
"hasActiveCliInterruptWaiter",
|
|
152
|
+
"waitForCliInterrupt"
|
|
153
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
154
|
+
Object.defineProperty(exports, '__esModule', {
|
|
155
|
+
value: true
|
|
156
|
+
});
|