@ykdz/template 0.0.37 → 0.0.40
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/application.d.ts +1 -52
- package/dist/application.js +0 -81
- package/dist/cli.js +14 -28
- package/dist/input-schemas.d.ts +30 -0
- package/dist/input-schemas.js +75 -0
- package/dist/main.d.ts +3 -14
- package/dist/main.js +496 -378
- package/dist/result-schemas.d.ts +222 -0
- package/dist/result-schemas.js +74 -0
- package/dist/standard-schema.d.ts +3 -0
- package/dist/standard-schema.js +29 -0
- package/node_modules/@standard-schema/spec/LICENSE +21 -0
- package/node_modules/@standard-schema/spec/README.md +198 -0
- package/node_modules/@standard-schema/spec/dist/index.cjs +18 -0
- package/node_modules/@standard-schema/spec/dist/index.d.cts +119 -0
- package/node_modules/@standard-schema/spec/dist/index.d.ts +119 -0
- package/node_modules/@standard-schema/spec/dist/index.js +0 -0
- package/node_modules/@standard-schema/spec/package.json +52 -0
- package/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@types/node/README.md +15 -0
- package/node_modules/@types/node/assert/strict.d.ts +111 -0
- package/node_modules/@types/node/assert.d.ts +1115 -0
- package/node_modules/@types/node/async_hooks.d.ts +619 -0
- package/node_modules/@types/node/buffer.buffer.d.ts +477 -0
- package/node_modules/@types/node/buffer.d.ts +1941 -0
- package/node_modules/@types/node/child_process.d.ts +1480 -0
- package/node_modules/@types/node/cluster.d.ts +578 -0
- package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/node_modules/@types/node/console.d.ts +453 -0
- package/node_modules/@types/node/constants.d.ts +21 -0
- package/node_modules/@types/node/crypto.d.ts +5484 -0
- package/node_modules/@types/node/dgram.d.ts +715 -0
- package/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
- package/node_modules/@types/node/dns/promises.d.ts +503 -0
- package/node_modules/@types/node/dns.d.ts +923 -0
- package/node_modules/@types/node/domain.d.ts +166 -0
- package/node_modules/@types/node/events.d.ts +967 -0
- package/node_modules/@types/node/fs/promises.d.ts +1354 -0
- package/node_modules/@types/node/fs.d.ts +4777 -0
- package/node_modules/@types/node/globals.d.ts +170 -0
- package/node_modules/@types/node/globals.typedarray.d.ts +41 -0
- package/node_modules/@types/node/http.d.ts +2246 -0
- package/node_modules/@types/node/http2.d.ts +2882 -0
- package/node_modules/@types/node/https.d.ts +585 -0
- package/node_modules/@types/node/index.d.ts +101 -0
- package/node_modules/@types/node/inspector.d.ts +323 -0
- package/node_modules/@types/node/inspector.generated.d.ts +4406 -0
- package/node_modules/@types/node/module.d.ts +844 -0
- package/node_modules/@types/node/net.d.ts +1197 -0
- package/node_modules/@types/node/os.d.ts +507 -0
- package/node_modules/@types/node/package.json +140 -0
- package/node_modules/@types/node/path.d.ts +200 -0
- package/node_modules/@types/node/perf_hooks.d.ts +1054 -0
- package/node_modules/@types/node/process.d.ts +2101 -0
- package/node_modules/@types/node/punycode.d.ts +117 -0
- package/node_modules/@types/node/querystring.d.ts +152 -0
- package/node_modules/@types/node/readline/promises.d.ts +161 -0
- package/node_modules/@types/node/readline.d.ts +600 -0
- package/node_modules/@types/node/repl.d.ts +438 -0
- package/node_modules/@types/node/sea.d.ts +162 -0
- package/node_modules/@types/node/sqlite.d.ts +1182 -0
- package/node_modules/@types/node/stream/consumers.d.ts +45 -0
- package/node_modules/@types/node/stream/promises.d.ts +90 -0
- package/node_modules/@types/node/stream/web.d.ts +596 -0
- package/node_modules/@types/node/stream.d.ts +1707 -0
- package/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/node_modules/@types/node/test.d.ts +2656 -0
- package/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/node_modules/@types/node/timers.d.ts +285 -0
- package/node_modules/@types/node/tls.d.ts +1314 -0
- package/node_modules/@types/node/trace_events.d.ts +197 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +473 -0
- package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +103 -0
- package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +103 -0
- package/node_modules/@types/node/tty.d.ts +209 -0
- package/node_modules/@types/node/url.d.ts +1103 -0
- package/node_modules/@types/node/util.d.ts +2376 -0
- package/node_modules/@types/node/v8.d.ts +1010 -0
- package/node_modules/@types/node/vm.d.ts +1160 -0
- package/node_modules/@types/node/wasi.d.ts +202 -0
- package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
- package/node_modules/@types/node/web-globals/crypto.d.ts +32 -0
- package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/node_modules/@types/node/web-globals/events.d.ts +97 -0
- package/node_modules/@types/node/web-globals/fetch.d.ts +62 -0
- package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/@types/node/web-globals/streams.d.ts +22 -0
- package/node_modules/@types/node/worker_threads.d.ts +894 -0
- package/node_modules/@types/node/zlib.d.ts +768 -0
- package/node_modules/@valibot/to-json-schema/LICENSE.md +9 -0
- package/node_modules/@valibot/to-json-schema/README.md +475 -0
- package/node_modules/@valibot/to-json-schema/dist/index.cjs +800 -0
- package/node_modules/@valibot/to-json-schema/dist/index.d.cts +991 -0
- package/node_modules/@valibot/to-json-schema/dist/index.d.mts +991 -0
- package/node_modules/@valibot/to-json-schema/dist/index.min.cjs +1 -0
- package/node_modules/@valibot/to-json-schema/dist/index.min.mjs +1 -0
- package/node_modules/@valibot/to-json-schema/dist/index.mjs +795 -0
- package/node_modules/@valibot/to-json-schema/package.json +75 -0
- package/node_modules/@ykdz/cli-contract/LICENSE +21 -0
- package/node_modules/@ykdz/cli-contract/dist/atomic-variant-compiler.d.ts +17 -0
- package/node_modules/@ykdz/cli-contract/dist/atomic-variant-compiler.js +55 -0
- package/node_modules/@ykdz/cli-contract/dist/cli-contract.d.ts +1164 -0
- package/node_modules/@ykdz/cli-contract/dist/cli-contract.js +1408 -0
- package/node_modules/@ykdz/cli-contract/dist/cli-execution.d.ts +54 -0
- package/node_modules/@ykdz/cli-contract/dist/cli-execution.js +708 -0
- package/node_modules/@ykdz/cli-contract/dist/cli-invocation.d.ts +174 -0
- package/node_modules/@ykdz/cli-contract/dist/cli-invocation.js +524 -0
- package/node_modules/@ykdz/cli-contract/dist/cli-write-error.d.ts +10 -0
- package/node_modules/@ykdz/cli-contract/dist/cli-write-error.js +14 -0
- package/node_modules/@ykdz/cli-contract/dist/contract-definition-error.d.ts +260 -0
- package/node_modules/@ykdz/cli-contract/dist/contract-definition-error.js +130 -0
- package/node_modules/@ykdz/cli-contract/dist/contract-execution-error.d.ts +63 -0
- package/node_modules/@ykdz/cli-contract/dist/contract-execution-error.js +17 -0
- package/node_modules/@ykdz/cli-contract/dist/contract-schema-compiler.d.ts +6 -0
- package/node_modules/@ykdz/cli-contract/dist/contract-schema-compiler.js +532 -0
- package/node_modules/@ykdz/cli-contract/dist/contract-schema.d.ts +14 -0
- package/node_modules/@ykdz/cli-contract/dist/contract-schema.js +1 -0
- package/node_modules/@ykdz/cli-contract/dist/description.d.ts +2 -0
- package/node_modules/@ykdz/cli-contract/dist/description.js +13 -0
- package/node_modules/@ykdz/cli-contract/dist/index.d.ts +8 -0
- package/node_modules/@ykdz/cli-contract/dist/index.js +7 -0
- package/node_modules/@ykdz/cli-contract/dist/json-value.d.ts +4 -0
- package/node_modules/@ykdz/cli-contract/dist/json-value.js +64 -0
- package/node_modules/@ykdz/cli-contract/dist/node.d.ts +21 -0
- package/node_modules/@ykdz/cli-contract/dist/node.js +109 -0
- package/node_modules/@ykdz/cli-contract/dist/outcome-fact.d.ts +162 -0
- package/node_modules/@ykdz/cli-contract/dist/outcome-fact.js +113 -0
- package/node_modules/@ykdz/cli-contract/dist/outcome-wire.d.ts +53 -0
- package/node_modules/@ykdz/cli-contract/dist/outcome-wire.js +189 -0
- package/node_modules/@ykdz/cli-contract/dist/stream-variant-compiler.d.ts +16 -0
- package/node_modules/@ykdz/cli-contract/dist/stream-variant-compiler.js +45 -0
- package/node_modules/@ykdz/cli-contract/package.json +69 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.d.ts +20 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.js +27 -28
- package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.d.ts +19 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.js +1 -1
- package/node_modules/@ykdz/template-builtin-presets/dist/src/index.d.ts +2 -1
- package/node_modules/@ykdz/template-builtin-presets/dist/src/index.js +2 -1
- package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-cli/definition.js +9 -5
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.js +0 -4
- package/node_modules/@ykdz/template-builtin-presets/package.json +2 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/AGENTS.md.template +10 -4
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/devcontainer.json +3 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/artifact.ts +128 -59
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/handoff.ts +80 -8
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/readiness.ts +7 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/src/cli.ts +9 -19
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/src/main.ts +144 -60
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/src/standard-schema.ts +37 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/test/e2e/journeys/lookup.journey.ts +71 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/test/integration/command.test.ts +118 -59
- package/node_modules/@ykdz/template-core/dist/package-contribution.d.ts +0 -1
- package/node_modules/@ykdz/template-core/dist/pnpm-workspace.yaml +2 -1
- package/node_modules/@ykdz/template-core/dist/project-blueprint.d.ts +15 -0
- package/node_modules/@ykdz/template-core/dist/project-blueprint.js +1 -1
- package/node_modules/@ykdz/template-core/dist/project-github.d.ts +1 -1
- package/node_modules/undici-types/LICENSE +21 -0
- package/node_modules/undici-types/README.md +6 -0
- package/node_modules/undici-types/agent.d.ts +32 -0
- package/node_modules/undici-types/api.d.ts +43 -0
- package/node_modules/undici-types/balanced-pool.d.ts +30 -0
- package/node_modules/undici-types/cache-interceptor.d.ts +179 -0
- package/node_modules/undici-types/cache.d.ts +36 -0
- package/node_modules/undici-types/client-stats.d.ts +15 -0
- package/node_modules/undici-types/client.d.ts +123 -0
- package/node_modules/undici-types/connector.d.ts +36 -0
- package/node_modules/undici-types/content-type.d.ts +21 -0
- package/node_modules/undici-types/cookies.d.ts +30 -0
- package/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/node_modules/undici-types/dispatcher.d.ts +279 -0
- package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/node_modules/undici-types/errors.d.ts +177 -0
- package/node_modules/undici-types/eventsource.d.ts +66 -0
- package/node_modules/undici-types/fetch.d.ts +211 -0
- package/node_modules/undici-types/formdata.d.ts +108 -0
- package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/node_modules/undici-types/global-origin.d.ts +7 -0
- package/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/node_modules/undici-types/handlers.d.ts +15 -0
- package/node_modules/undici-types/header.d.ts +160 -0
- package/node_modules/undici-types/index.d.ts +91 -0
- package/node_modules/undici-types/interceptors.d.ts +80 -0
- package/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/node_modules/undici-types/mock-client.d.ts +27 -0
- package/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/node_modules/undici-types/package.json +55 -0
- package/node_modules/undici-types/patch.d.ts +29 -0
- package/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/node_modules/undici-types/pool.d.ts +41 -0
- package/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/node_modules/undici-types/readable.d.ts +68 -0
- package/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/node_modules/undici-types/round-robin-pool.d.ts +41 -0
- package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
- package/node_modules/undici-types/util.d.ts +18 -0
- package/node_modules/undici-types/utility.d.ts +7 -0
- package/node_modules/undici-types/webidl.d.ts +347 -0
- package/node_modules/undici-types/websocket.d.ts +188 -0
- package/package.json +5 -3
- package/dist/command-result.d.ts +0 -9
- package/dist/command-result.js +0 -231
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/test/e2e/journeys/greet.journey.ts +0 -46
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/test/unit/greet.test.ts +0 -15
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/devcontainer/docker-client.Dockerfile +0 -3
- package/node_modules/commander/LICENSE +0 -22
- package/node_modules/commander/Readme.md +0 -1172
- package/node_modules/commander/index.js +0 -21
- package/node_modules/commander/lib/argument.js +0 -147
- package/node_modules/commander/lib/command.js +0 -2790
- package/node_modules/commander/lib/error.js +0 -36
- package/node_modules/commander/lib/help.js +0 -731
- package/node_modules/commander/lib/option.js +0 -377
- package/node_modules/commander/lib/suggestSimilar.js +0 -99
- package/node_modules/commander/package-support.json +0 -19
- package/node_modules/commander/package.json +0 -64
- package/node_modules/commander/typings/index.d.ts +0 -1113
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { type CliContract, type CliContractRawInput, type CliContractRoot } from "#/cli-contract";
|
|
2
|
+
declare const cliInvocationType: unique symbol;
|
|
3
|
+
/**
|
|
4
|
+
* 已通过调用语法检查的原始输入;契约模式尚未验证、转换或填充默认值。
|
|
5
|
+
* 业务处理器应使用执行内核交付的已验证输入,而不是直接消费此处的 input。
|
|
6
|
+
*/
|
|
7
|
+
export interface ParsedInvocation<Command extends string, Input = unknown> {
|
|
8
|
+
readonly kind: "parsed";
|
|
9
|
+
readonly command: Command;
|
|
10
|
+
readonly input: Input;
|
|
11
|
+
readonly outputFormat: "structured" | "text";
|
|
12
|
+
}
|
|
13
|
+
export interface HelpRequest<Command extends string> {
|
|
14
|
+
readonly kind: "help";
|
|
15
|
+
readonly command: Command;
|
|
16
|
+
}
|
|
17
|
+
export interface VersionRequest<Command extends string> {
|
|
18
|
+
readonly kind: "version";
|
|
19
|
+
readonly command: Command;
|
|
20
|
+
}
|
|
21
|
+
export interface UnexpectedPositionalIssue {
|
|
22
|
+
readonly code: "unexpectedPositional";
|
|
23
|
+
readonly position: number;
|
|
24
|
+
readonly value: string;
|
|
25
|
+
}
|
|
26
|
+
export interface UnknownOptionIssue {
|
|
27
|
+
readonly code: "unknownOption";
|
|
28
|
+
readonly position: number;
|
|
29
|
+
readonly option: string;
|
|
30
|
+
readonly suggestedOption?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface UnknownCommandIssue {
|
|
33
|
+
readonly code: "unknownCommand";
|
|
34
|
+
readonly position: number;
|
|
35
|
+
readonly command: string;
|
|
36
|
+
readonly suggestedCommand?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface MissingOptionValueIssue {
|
|
39
|
+
readonly code: "missingOptionValue";
|
|
40
|
+
readonly position: number;
|
|
41
|
+
readonly field: string;
|
|
42
|
+
readonly option: string;
|
|
43
|
+
}
|
|
44
|
+
export interface UnexpectedOptionValueIssue {
|
|
45
|
+
readonly code: "unexpectedOptionValue";
|
|
46
|
+
readonly position: number;
|
|
47
|
+
readonly field: string;
|
|
48
|
+
readonly option: string;
|
|
49
|
+
readonly value: string;
|
|
50
|
+
}
|
|
51
|
+
export interface OptionOccurrenceEvidence {
|
|
52
|
+
readonly position: number;
|
|
53
|
+
readonly option: string;
|
|
54
|
+
}
|
|
55
|
+
export interface MissingRequiredFieldIssue {
|
|
56
|
+
readonly code: "missingRequiredField";
|
|
57
|
+
readonly field: string;
|
|
58
|
+
}
|
|
59
|
+
export interface RepeatedOptionIssue {
|
|
60
|
+
readonly code: "repeatedOption";
|
|
61
|
+
readonly field: string;
|
|
62
|
+
readonly occurrences: readonly [
|
|
63
|
+
OptionOccurrenceEvidence,
|
|
64
|
+
OptionOccurrenceEvidence,
|
|
65
|
+
...OptionOccurrenceEvidence[]
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
export interface ConflictingFlagIssue {
|
|
69
|
+
readonly code: "conflictingFlag";
|
|
70
|
+
readonly field: string;
|
|
71
|
+
readonly positiveOccurrences: readonly [
|
|
72
|
+
OptionOccurrenceEvidence,
|
|
73
|
+
...OptionOccurrenceEvidence[]
|
|
74
|
+
];
|
|
75
|
+
readonly negativeOccurrences: readonly [
|
|
76
|
+
OptionOccurrenceEvidence,
|
|
77
|
+
...OptionOccurrenceEvidence[]
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
export interface RequiredByUsageConstraintIssue {
|
|
81
|
+
readonly code: "requiredByUsageConstraint";
|
|
82
|
+
readonly field: string;
|
|
83
|
+
readonly requires: string;
|
|
84
|
+
}
|
|
85
|
+
export interface ExclusiveUsageConstraintIssue {
|
|
86
|
+
readonly code: "exclusiveUsageConstraint";
|
|
87
|
+
readonly fields: readonly [string, string, ...string[]];
|
|
88
|
+
}
|
|
89
|
+
export interface ForbiddenUsageCombinationIssue {
|
|
90
|
+
readonly code: "forbiddenUsageCombination";
|
|
91
|
+
readonly values: readonly [
|
|
92
|
+
Readonly<{
|
|
93
|
+
readonly field: string;
|
|
94
|
+
readonly value: boolean | string;
|
|
95
|
+
}>,
|
|
96
|
+
Readonly<{
|
|
97
|
+
readonly field: string;
|
|
98
|
+
readonly value: boolean | string;
|
|
99
|
+
}>,
|
|
100
|
+
...Readonly<{
|
|
101
|
+
readonly field: string;
|
|
102
|
+
readonly value: boolean | string;
|
|
103
|
+
}>[]
|
|
104
|
+
];
|
|
105
|
+
}
|
|
106
|
+
export interface SchemaIssueEvidence {
|
|
107
|
+
readonly message: string;
|
|
108
|
+
readonly path?: readonly (number | string)[];
|
|
109
|
+
}
|
|
110
|
+
export interface InputRejectedIssue {
|
|
111
|
+
readonly code: "inputRejected";
|
|
112
|
+
readonly evidence: readonly SchemaIssueEvidence[];
|
|
113
|
+
}
|
|
114
|
+
export interface InvalidFieldChoiceIssue {
|
|
115
|
+
readonly code: "invalidFieldChoice";
|
|
116
|
+
readonly position: number;
|
|
117
|
+
readonly field: string;
|
|
118
|
+
readonly value: string;
|
|
119
|
+
readonly choices: readonly string[];
|
|
120
|
+
}
|
|
121
|
+
export interface InvalidOutputFormatIssue {
|
|
122
|
+
readonly code: "invalidOutputFormat";
|
|
123
|
+
readonly position: number;
|
|
124
|
+
readonly option: string;
|
|
125
|
+
readonly received: string | null;
|
|
126
|
+
}
|
|
127
|
+
export interface ConflictingOutputFormatIssue {
|
|
128
|
+
readonly code: "conflictingOutputFormat";
|
|
129
|
+
readonly occurrences: readonly [
|
|
130
|
+
Readonly<{
|
|
131
|
+
readonly position: number;
|
|
132
|
+
readonly option: string;
|
|
133
|
+
readonly format: "structured" | "text";
|
|
134
|
+
}>,
|
|
135
|
+
Readonly<{
|
|
136
|
+
readonly position: number;
|
|
137
|
+
readonly option: string;
|
|
138
|
+
readonly format: "structured" | "text";
|
|
139
|
+
}>,
|
|
140
|
+
...Readonly<{
|
|
141
|
+
readonly position: number;
|
|
142
|
+
readonly option: string;
|
|
143
|
+
readonly format: "structured" | "text";
|
|
144
|
+
}>[]
|
|
145
|
+
];
|
|
146
|
+
}
|
|
147
|
+
export type UsageIssue = ConflictingFlagIssue | ConflictingOutputFormatIssue | ExclusiveUsageConstraintIssue | ForbiddenUsageCombinationIssue | InputRejectedIssue | InvalidFieldChoiceIssue | InvalidOutputFormatIssue | MissingOptionValueIssue | MissingRequiredFieldIssue | RepeatedOptionIssue | RequiredByUsageConstraintIssue | UnexpectedOptionValueIssue | UnexpectedPositionalIssue | UnknownCommandIssue | UnknownOptionIssue;
|
|
148
|
+
export type NonEmptyUsageIssues = readonly [UsageIssue, ...UsageIssue[]];
|
|
149
|
+
export interface CommandUsage<Command extends string> {
|
|
150
|
+
readonly command: Command;
|
|
151
|
+
readonly synopsis: string;
|
|
152
|
+
}
|
|
153
|
+
export interface UsageFailure<Command extends string> {
|
|
154
|
+
readonly kind: "usageFailure";
|
|
155
|
+
readonly command: Command;
|
|
156
|
+
readonly issues: NonEmptyUsageIssues;
|
|
157
|
+
readonly usage: CommandUsage<Command>;
|
|
158
|
+
}
|
|
159
|
+
/** 解析器签发的闭合调用事实,只能交还产生它的同一个契约执行;不要自行拼装。 */
|
|
160
|
+
export type CliInvocation<Contract extends CliContract = CliContract> = UnboundCliInvocation<Contract> & {
|
|
161
|
+
readonly [cliInvocationType]: Contract;
|
|
162
|
+
};
|
|
163
|
+
type UnboundCliInvocation<Contract extends CliContract> = ParsedInvocation<CliContractRoot<Contract>, CliContractRawInput<Contract>> | HelpRequest<CliContractRoot<Contract>> | VersionRequest<CliContractRoot<Contract>> | UsageFailure<CliContractRoot<Contract>>;
|
|
164
|
+
/**
|
|
165
|
+
* 将宿主提供的参数 token 同步、无副作用地解析为同一契约的调用事实。
|
|
166
|
+
* 参数从命令路径或字段开始,不包含 Node 可执行文件和脚本路径;来源与 shell 拆词由宿主负责。
|
|
167
|
+
*
|
|
168
|
+
* 解析器检查调用语法与用法约束,保留帮助、版本和用法失败等闭合分支;
|
|
169
|
+
* 已解析的 raw input 尚未经过契约模式验证。它不读取进程或环境,不执行 handler,也不写输出。
|
|
170
|
+
* 将返回值交给 {@link executeCli},由执行内核完成后续验证与投影。
|
|
171
|
+
*/
|
|
172
|
+
export declare function parseCliInvocation<const Contract extends CliContract>(cliContract: Contract, argv: readonly string[]): CliInvocation<Contract>;
|
|
173
|
+
export declare function invocationBelongsTo(invocation: object, contract: object): boolean;
|
|
174
|
+
export {};
|