@zaowu-labs/cli 1.0.5 → 1.1.0
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/args.d.ts +1 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +11 -3
- package/dist/args.js.map +1 -1
- package/dist/handler-utils.d.ts +2 -0
- package/dist/handler-utils.d.ts.map +1 -1
- package/dist/handler-utils.js +56 -44
- package/dist/handler-utils.js.map +1 -1
- package/dist/handlers/ai-handlers.d.ts.map +1 -1
- package/dist/handlers/ai-handlers.js +30 -29
- package/dist/handlers/ai-handlers.js.map +1 -1
- package/dist/handlers/config-handlers.d.ts.map +1 -1
- package/dist/handlers/config-handlers.js +26 -1
- package/dist/handlers/config-handlers.js.map +1 -1
- package/dist/handlers/data-handlers.d.ts.map +1 -1
- package/dist/handlers/data-handlers.js +4 -3
- package/dist/handlers/data-handlers.js.map +1 -1
- package/dist/handlers/dev-handlers.d.ts.map +1 -1
- package/dist/handlers/dev-handlers.js +38 -15
- package/dist/handlers/dev-handlers.js.map +1 -1
- package/dist/handlers/doc-handlers.d.ts.map +1 -1
- package/dist/handlers/doc-handlers.js +8 -2
- package/dist/handlers/doc-handlers.js.map +1 -1
- package/dist/help-text.d.ts.map +1 -1
- package/dist/help-text.js +7 -4
- package/dist/help-text.js.map +1 -1
- package/dist/input-validation.d.ts +6 -0
- package/dist/input-validation.d.ts.map +1 -0
- package/dist/input-validation.js +68 -0
- package/dist/input-validation.js.map +1 -0
- package/dist/option-validation.d.ts.map +1 -1
- package/dist/option-validation.js +2 -5
- package/dist/option-validation.js.map +1 -1
- package/dist/root-doctor.d.ts +1 -0
- package/dist/root-doctor.d.ts.map +1 -1
- package/dist/root-doctor.js +35 -10
- package/dist/root-doctor.js.map +1 -1
- package/dist/root-help.d.ts.map +1 -1
- package/dist/root-help.js +16 -5
- package/dist/root-help.js.map +1 -1
- package/dist/root-init.d.ts.map +1 -1
- package/dist/root-init.js +27 -11
- package/dist/root-init.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +28 -8
- package/dist/run.js.map +1 -1
- package/dist/system-command.d.ts.map +1 -1
- package/dist/system-command.js +10 -4
- package/dist/system-command.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -11
package/dist/root-help.js
CHANGED
|
@@ -6,7 +6,7 @@ export const formatHelp = () => {
|
|
|
6
6
|
const commands = formatRows([
|
|
7
7
|
['zw init', 'Preview or create a ZaoWu config file'],
|
|
8
8
|
['zw doctor', 'Check local environment health'],
|
|
9
|
-
['zw help', '
|
|
9
|
+
['zw help [domain] [action]', 'Find command help without running a command'],
|
|
10
10
|
]);
|
|
11
11
|
const domains = formatRows(DOMAIN_DEFINITIONS.map((domain) => [`zw ${domain.name}`, domain.summary]));
|
|
12
12
|
return `ZaoWu / 造物
|
|
@@ -20,12 +20,12 @@ ${commands}
|
|
|
20
20
|
Domains:
|
|
21
21
|
${domains}
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
--help
|
|
25
|
-
--version
|
|
23
|
+
Common options (support varies by command):
|
|
24
|
+
-h, --help Show help
|
|
25
|
+
-V, --version Show version
|
|
26
26
|
--json Output machine-readable JSON
|
|
27
27
|
--dry-run Preview without applying changes
|
|
28
|
-
--yes
|
|
28
|
+
--yes Confirm an action supported by the command
|
|
29
29
|
--plan-fingerprint <hash>
|
|
30
30
|
Require confirmed actions to match a previewed plan
|
|
31
31
|
|
|
@@ -35,6 +35,17 @@ Examples:
|
|
|
35
35
|
zw init --dry-run
|
|
36
36
|
zw init --yes
|
|
37
37
|
zw dev --help
|
|
38
|
+
zw help data schema
|
|
39
|
+
|
|
40
|
+
First steps:
|
|
41
|
+
1. Run zw init to preview a project config, then zw init --yes to create it.
|
|
42
|
+
2. Run zw doctor to inspect setup and zw ai providers to choose a provider.
|
|
43
|
+
3. Try zw doc summary <file> or zw data schema <file> for local results.
|
|
44
|
+
|
|
45
|
+
Safety:
|
|
46
|
+
Sensitive commands preview by default or require confirmation.
|
|
47
|
+
Use --dry-run to keep a confirmed command in preview mode.
|
|
48
|
+
Echo is a local input demonstration; model inference needs a configured provider.
|
|
38
49
|
|
|
39
50
|
Documentation:
|
|
40
51
|
https://github.com/zaowu-labs/zaowu#quick-start
|
package/dist/root-help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-help.js","sourceRoot":"","sources":["../src/root-help.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAEnG,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE;IACrC,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC1B,CAAC,SAAS,EAAE,uCAAuC,CAAC;QACpD,CAAC,WAAW,EAAE,gCAAgC,CAAC;QAC/C,CAAC,
|
|
1
|
+
{"version":3,"file":"root-help.js","sourceRoot":"","sources":["../src/root-help.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAEnG,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE;IACrC,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC1B,CAAC,SAAS,EAAE,uCAAuC,CAAC;QACpD,CAAC,WAAW,EAAE,gCAAgC,CAAC;QAC/C,CAAC,2BAA2B,EAAE,6CAA6C,CAAC;KAC7E,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,UAAU,CACxB,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAC1E,CAAC;IAEF,OAAO;;;;;;EAMP,QAAQ;;;EAGR,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CAiCoC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAwB,EAAU,EAAE;IACnE,MAAM,QAAQ,GAAG,UAAU,CACzB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;aACxE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CACH,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;QACtC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ;QAC3B,CAAC,CAAC,QAAQ,CAAC;IAEb,OAAO,SAAS,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;;;OAGnC,MAAM,CAAC,IAAI;;;IAGd,MAAM,CAAC,OAAO;;;EAGhB,QAAQ;;;EAGR,YAAY;;;;;;mDAMqC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAwB,EAAE,MAAc,EAAU,EAAE,CACnF,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IAClC,SAAS,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC;;;OAGnD,MAAM,CAAC,IAAI,IAAI,MAAM;;;;kDAIsB,CAAC;AAEnD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;iBAqB3B,CAAC;AAElB,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;mBAc3B,CAAC"}
|
package/dist/root-init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-init.d.ts","sourceRoot":"","sources":["../src/root-init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"root-init.d.ts","sourceRoot":"","sources":["../src/root-init.ts"],"names":[],"mappings":"AASA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjE,eAAO,MAAM,wBAAwB,WAAW,CAAC;AA+CjD,eAAO,MAAM,UAAU,GACrB,QAAQ,UAAU,EAClB,SAAS,mBAAmB,EAC5B,MAAM,OAAO,KACZ,OAAO,CAAC,SAAS,CAoEnB,CAAC"}
|
package/dist/root-init.js
CHANGED
|
@@ -1,12 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { writeFile } from 'node:fs/promises';
|
|
1
|
+
import { lstat, writeFile } from 'node:fs/promises';
|
|
3
2
|
import path from 'node:path';
|
|
4
|
-
import { getDefaultConfigContent } from '@zaowu-labs/config';
|
|
3
|
+
import { CONFIG_FILE_NAMES, getDefaultConfigContent } from '@zaowu-labs/config';
|
|
5
4
|
import { assertOperationPlanFingerprint, createContentOperationSubjects, createOperationPlan, ZaoWuError, } from '@zaowu-labs/core';
|
|
6
5
|
import { getValue, hasFlag } from './args.js';
|
|
7
6
|
import { formatOperationPlan } from './handler-utils.js';
|
|
8
7
|
import { createResult } from './output.js';
|
|
9
8
|
export const DEFAULT_CONFIG_FILE_NAME = 'zw.yml';
|
|
9
|
+
const assertNoLocalConfig = async (cwd) => {
|
|
10
|
+
for (const name of CONFIG_FILE_NAMES) {
|
|
11
|
+
try {
|
|
12
|
+
await lstat(path.join(cwd, name));
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
if (error.code === 'ENOENT')
|
|
16
|
+
continue;
|
|
17
|
+
throw new ZaoWuError({
|
|
18
|
+
code: 'CONFIG_WRITE_FAILED',
|
|
19
|
+
message: 'Could not inspect existing ZaoWu config.',
|
|
20
|
+
why: `The file system rejected checking ${name} in the current directory.`,
|
|
21
|
+
fix: 'Check directory permissions before running `zw init` again.',
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
throw new ZaoWuError({
|
|
25
|
+
code: 'CONFIG_ALREADY_EXISTS',
|
|
26
|
+
message: 'ZaoWu config already exists.',
|
|
27
|
+
why: `${name} already exists in the current directory; creating zw.yml could shadow it.`,
|
|
28
|
+
fix: 'Use the existing config and run `zw config validate` or `zw doctor` to check it.',
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
};
|
|
10
32
|
const formatInitPreview = (configPath, content, operationPlan) => `ZaoWu Init
|
|
11
33
|
|
|
12
34
|
No files were written.
|
|
@@ -31,21 +53,15 @@ export const handleInit = async (parsed, options, json) => {
|
|
|
31
53
|
const yes = hasFlag(parsed, '--yes');
|
|
32
54
|
const configPath = path.join(cwd, DEFAULT_CONFIG_FILE_NAME);
|
|
33
55
|
const content = getDefaultConfigContent(configPath);
|
|
56
|
+
await assertNoLocalConfig(cwd);
|
|
34
57
|
const operationPlan = createOperationPlan({
|
|
35
58
|
risk: 'medium',
|
|
36
59
|
confirmationRequired: !yes || dryRun,
|
|
37
60
|
subjects: [`init:${configPath}`, ...createContentOperationSubjects(content)],
|
|
38
61
|
writes: [configPath],
|
|
62
|
+
reads: CONFIG_FILE_NAMES.map((name) => path.join(cwd, name)),
|
|
39
63
|
notes: ['Init creates a config file only when --yes is provided and --dry-run is absent.'],
|
|
40
64
|
});
|
|
41
|
-
if (existsSync(configPath)) {
|
|
42
|
-
throw new ZaoWuError({
|
|
43
|
-
code: 'CONFIG_ALREADY_EXISTS',
|
|
44
|
-
message: 'ZaoWu config already exists.',
|
|
45
|
-
why: `${DEFAULT_CONFIG_FILE_NAME} already exists in the current directory.`,
|
|
46
|
-
fix: 'Open the existing config file or run `zw doctor` to check it.',
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
65
|
if (dryRun || !yes) {
|
|
50
66
|
const payload = {
|
|
51
67
|
schemaVersion: 1,
|
package/dist/root-init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-init.js","sourceRoot":"","sources":["../src/root-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"root-init.js","sourceRoot":"","sources":["../src/root-init.ts"],"names":[],"mappings":"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"}
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAc,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAc,MAAM,cAAc,CAAC;AAgB9D,OAAO,EAAE,wBAAwB,EAAc,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIjE,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,CAAC;AAkDxD,eAAO,MAAM,UAAU,GACrB,MAAM,SAAS,MAAM,EAAE,EACvB,UAAS,mBAAwB,KAChC,OAAO,CAAC,SAAS,CAgJnB,CAAC;AAEF,eAAO,MAAM,MAAM,GAAU,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CA0BpE,CAAC"}
|
package/dist/run.js
CHANGED
|
@@ -2,6 +2,7 @@ import { findDomainCommand, isZaoWuError, ZaoWuError } from '@zaowu-labs/core';
|
|
|
2
2
|
import { getValue, hasFlag, parseArgs } from './args.js';
|
|
3
3
|
import { getDomainActionHandler } from './domain-handlers.js';
|
|
4
4
|
import { DOMAIN_DEFINITIONS, findDomain } from './domains.js';
|
|
5
|
+
import { assertBooleanFlags, assertTargetCount } from './input-validation.js';
|
|
5
6
|
import { assertNoMissingOptionValues, assertSupportedOptions, assertValidOptionValues, } from './option-validation.js';
|
|
6
7
|
import { createResult } from './output.js';
|
|
7
8
|
import { buildDoctorResult, formatDoctorHuman } from './root-doctor.js';
|
|
@@ -45,20 +46,24 @@ const createHelpResult = (help, json, details = {}) => createResult(0, json ? JS
|
|
|
45
46
|
export const executeCli = async (args, options = {}) => {
|
|
46
47
|
const parsed = parseArgs(args);
|
|
47
48
|
const json = hasFlag(parsed, '--json');
|
|
48
|
-
const
|
|
49
|
+
const helpQuery = parsed.positionals[0] === 'help';
|
|
50
|
+
const wantsHelp = hasFlag(parsed, '--help') || helpQuery;
|
|
49
51
|
const wantsVersion = hasFlag(parsed, '--version');
|
|
50
|
-
const commandArgs = parsed.positionals;
|
|
52
|
+
const commandArgs = helpQuery ? parsed.positionals.slice(1) : parsed.positionals;
|
|
51
53
|
const command = commandArgs[0];
|
|
52
54
|
const domain = command ? findDomain(command) : undefined;
|
|
53
55
|
const cwd = options.cwd ?? process.cwd();
|
|
54
56
|
const commandRunner = options.commandRunner ?? runSystemCommand;
|
|
55
57
|
try {
|
|
58
|
+
assertBooleanFlags(parsed);
|
|
56
59
|
if (wantsVersion || command === 'version') {
|
|
57
60
|
return createResult(0, json
|
|
58
61
|
? JSON.stringify({ schemaVersion: 1, status: 'ok', version: ZAOWU_CLI_VERSION })
|
|
59
62
|
: ZAOWU_CLI_VERSION);
|
|
60
63
|
}
|
|
61
|
-
if (!command
|
|
64
|
+
if (!command) {
|
|
65
|
+
assertNoMissingOptionValues(parsed.missingValues);
|
|
66
|
+
assertSupportedOptions(parsed, []);
|
|
62
67
|
return createHelpResult(formatHelp(), json);
|
|
63
68
|
}
|
|
64
69
|
if (wantsHelp) {
|
|
@@ -96,6 +101,7 @@ export const executeCli = async (args, options = {}) => {
|
|
|
96
101
|
throw unknownDomainActionError(domain.name, commandArgs[1]);
|
|
97
102
|
}
|
|
98
103
|
assertNoMissingOptionValues(parsed.missingValues);
|
|
104
|
+
assertTargetCount(commandArgs);
|
|
99
105
|
assertSupportedOptions(parsed, commandArgs);
|
|
100
106
|
assertValidOptionValues(parsed, commandArgs);
|
|
101
107
|
if (command === 'doctor') {
|
|
@@ -137,6 +143,7 @@ export const executeCli = async (args, options = {}) => {
|
|
|
137
143
|
parsed,
|
|
138
144
|
yes: hasFlag(parsed, '--yes') && !hasFlag(parsed, '--dry-run'),
|
|
139
145
|
onChunk: options.onChunk,
|
|
146
|
+
signal: options.signal,
|
|
140
147
|
});
|
|
141
148
|
}
|
|
142
149
|
throw new ZaoWuError({
|
|
@@ -154,11 +161,24 @@ export const executeCli = async (args, options = {}) => {
|
|
|
154
161
|
}
|
|
155
162
|
};
|
|
156
163
|
export const runCli = async (args) => {
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
164
|
+
const controller = new AbortController();
|
|
165
|
+
const cancel = () => controller.abort();
|
|
166
|
+
const cancellable = args[0] === 'ai' || (args[0] === 'dev' && args.includes('--ai'));
|
|
167
|
+
if (cancellable)
|
|
168
|
+
process.on('SIGINT', cancel);
|
|
169
|
+
let result;
|
|
170
|
+
try {
|
|
171
|
+
result = await executeCli(args, {
|
|
172
|
+
signal: controller.signal,
|
|
173
|
+
onChunk: (chunk) => {
|
|
174
|
+
process.stdout.write(chunk);
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
if (cancellable)
|
|
180
|
+
process.removeListener('SIGINT', cancel);
|
|
181
|
+
}
|
|
162
182
|
if (result.stdout) {
|
|
163
183
|
process.stdout.write(`${result.stdout}\n`);
|
|
164
184
|
}
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-command.d.ts","sourceRoot":"","sources":["../src/system-command.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAAE,KAAG,MAe3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"system-command.d.ts","sourceRoot":"","sources":["../src/system-command.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAAE,KAAG,MAe3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAgB9B,CAAC"}
|
package/dist/system-command.js
CHANGED
|
@@ -17,12 +17,18 @@ export const toWindowsCommand = (command, args) => {
|
|
|
17
17
|
return parts.join(' ');
|
|
18
18
|
};
|
|
19
19
|
export const runSystemCommand = (command, args, options) => {
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
20
|
+
const batchCommand = process.platform === 'win32' && /(?:^|[/\\])(?:corepack|pnpm|npm)(?:\.cmd)?$/i.test(command);
|
|
21
|
+
const executable = batchCommand ? 'cmd.exe' : command;
|
|
22
|
+
const commandArgs = batchCommand
|
|
23
|
+
? ['/d', '/s', '/c', toWindowsCommand(command, args)]
|
|
24
|
+
: [...args];
|
|
25
|
+
const output = execFileSync(executable, commandArgs, {
|
|
23
26
|
cwd: options?.cwd,
|
|
27
|
+
env: options?.env ? { ...process.env, ...options.env } : undefined,
|
|
28
|
+
timeout: options?.timeout,
|
|
24
29
|
encoding: 'utf8',
|
|
25
30
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
26
|
-
})
|
|
31
|
+
});
|
|
32
|
+
return output.includes('\0') ? output : output.trim();
|
|
27
33
|
};
|
|
28
34
|
//# sourceMappingURL=system-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-command.js","sourceRoot":"","sources":["../src/system-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AAE/D,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,IAAuB,EAAU,EAAE;IACnF,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,qDAAqD;gBAC9D,GAAG,EAAE,sBAAsB,IAAI,6CAA6C;gBAC5E,GAAG,EAAE,oFAAoF;aAC1F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACxE,MAAM,
|
|
1
|
+
{"version":3,"file":"system-command.js","sourceRoot":"","sources":["../src/system-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AAE/D,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,IAAuB,EAAU,EAAE;IACnF,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,qDAAqD;gBAC9D,GAAG,EAAE,sBAAsB,IAAI,6CAA6C;gBAC5E,GAAG,EAAE,oFAAoF;aAC1F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACxE,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,8CAA8C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE;QACnD,GAAG,EAAE,OAAO,EAAE,GAAG;QACjB,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;QAClE,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface CliResult {
|
|
|
5
5
|
}
|
|
6
6
|
export interface CommandRunnerOptions {
|
|
7
7
|
cwd?: string;
|
|
8
|
+
env?: NodeJS.ProcessEnv;
|
|
9
|
+
timeout?: number;
|
|
8
10
|
}
|
|
9
11
|
export type CommandRunner = (command: string, args: readonly string[], options?: CommandRunnerOptions) => string;
|
|
10
12
|
export interface CliExecutionOptions {
|
|
@@ -12,5 +14,6 @@ export interface CliExecutionOptions {
|
|
|
12
14
|
nodeVersion?: string;
|
|
13
15
|
commandRunner?: CommandRunner;
|
|
14
16
|
onChunk?: (chunk: string) => void;
|
|
17
|
+
signal?: AbortSignal;
|
|
15
18
|
}
|
|
16
19
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,MAAM,CAAC;AAEZ,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zaowu-labs/cli",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "ZaoWu command-line interface",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@zaowu-labs/ai": "1.0
|
|
27
|
-
"@zaowu-labs/
|
|
28
|
-
"@zaowu-labs/
|
|
29
|
-
"@zaowu-labs/
|
|
30
|
-
"@zaowu-labs/
|
|
31
|
-
"@zaowu-labs/doc": "1.0
|
|
32
|
-
"@zaowu-labs/plugin": "1.0
|
|
33
|
-
"@zaowu-labs/
|
|
34
|
-
"@zaowu-labs/
|
|
35
|
-
"@zaowu-labs/
|
|
26
|
+
"@zaowu-labs/ai": "1.1.0",
|
|
27
|
+
"@zaowu-labs/auto": "1.1.0",
|
|
28
|
+
"@zaowu-labs/core": "1.1.0",
|
|
29
|
+
"@zaowu-labs/config": "1.1.0",
|
|
30
|
+
"@zaowu-labs/data": "1.1.0",
|
|
31
|
+
"@zaowu-labs/doc": "1.1.0",
|
|
32
|
+
"@zaowu-labs/plugin": "1.1.0",
|
|
33
|
+
"@zaowu-labs/dev": "1.1.0",
|
|
34
|
+
"@zaowu-labs/teach": "1.1.0",
|
|
35
|
+
"@zaowu-labs/web": "1.1.0"
|
|
36
36
|
},
|
|
37
37
|
"keywords": [
|
|
38
38
|
"zaowu",
|