@mimir-labs/cli 0.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/LICENSE +21 -0
- package/README.md +498 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +45 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/context.d.ts +2 -0
- package/dist/commands/context.js +54 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/discover.d.ts +2 -0
- package/dist/commands/discover.js +64 -0
- package/dist/commands/discover.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.js +69 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/generate.d.ts +2 -0
- package/dist/commands/generate.js +94 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/governance.d.ts +2 -0
- package/dist/commands/governance.js +58 -0
- package/dist/commands/governance.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.js +68 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/sync.d.ts +2 -0
- package/dist/commands/sync.js +72 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/validate.d.ts +2 -0
- package/dist/commands/validate.js +59 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/dx/about/command.d.ts +2 -0
- package/dist/dx/about/command.js +69 -0
- package/dist/dx/about/command.js.map +1 -0
- package/dist/dx/branding/constants.d.ts +6 -0
- package/dist/dx/branding/constants.js +13 -0
- package/dist/dx/branding/constants.js.map +1 -0
- package/dist/dx/command-registry/index.d.ts +25 -0
- package/dist/dx/command-registry/index.js +234 -0
- package/dist/dx/command-registry/index.js.map +1 -0
- package/dist/dx/completion/command.d.ts +2 -0
- package/dist/dx/completion/command.js +45 -0
- package/dist/dx/completion/command.js.map +1 -0
- package/dist/dx/completion/scripts.d.ts +4 -0
- package/dist/dx/completion/scripts.js +143 -0
- package/dist/dx/completion/scripts.js.map +1 -0
- package/dist/dx/help/attach-command-help.d.ts +2 -0
- package/dist/dx/help/attach-command-help.js +13 -0
- package/dist/dx/help/attach-command-help.js.map +1 -0
- package/dist/dx/help/command.d.ts +2 -0
- package/dist/dx/help/command.js +75 -0
- package/dist/dx/help/command.js.map +1 -0
- package/dist/dx/help/formatter.d.ts +2 -0
- package/dist/dx/help/formatter.js +52 -0
- package/dist/dx/help/formatter.js.map +1 -0
- package/dist/dx/output/cli-output.d.ts +11 -0
- package/dist/dx/output/cli-output.js +62 -0
- package/dist/dx/output/cli-output.js.map +1 -0
- package/dist/dx/runtime/options.d.ts +10 -0
- package/dist/dx/runtime/options.js +31 -0
- package/dist/dx/runtime/options.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/dx/about/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const CLI_BRAND = "Mimir CLI";
|
|
2
|
+
export declare const CLI_BINARY_NAME = "mimir";
|
|
3
|
+
export declare const CLI_PROTOCOL_NAME = "APS Protocol";
|
|
4
|
+
export declare const CLI_REPOSITORY_URL = "https://github.com/SeaBassLab/mimir";
|
|
5
|
+
export declare const CLI_DOC_RELATIVE_PATH = "README.md";
|
|
6
|
+
export declare function cliCommand(command?: string): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CLI_DOC_RELATIVE_PATH = exports.CLI_REPOSITORY_URL = exports.CLI_PROTOCOL_NAME = exports.CLI_BINARY_NAME = exports.CLI_BRAND = void 0;
|
|
4
|
+
exports.cliCommand = cliCommand;
|
|
5
|
+
exports.CLI_BRAND = "Mimir CLI";
|
|
6
|
+
exports.CLI_BINARY_NAME = "mimir";
|
|
7
|
+
exports.CLI_PROTOCOL_NAME = "APS Protocol";
|
|
8
|
+
exports.CLI_REPOSITORY_URL = "https://github.com/SeaBassLab/mimir";
|
|
9
|
+
exports.CLI_DOC_RELATIVE_PATH = "README.md";
|
|
10
|
+
function cliCommand(command) {
|
|
11
|
+
return command ? `${exports.CLI_BINARY_NAME} ${command}` : exports.CLI_BINARY_NAME;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dx/branding/constants.ts"],"names":[],"mappings":";;;AAMA,gCAEC;AARY,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,eAAe,GAAG,OAAO,CAAC;AAC1B,QAAA,iBAAiB,GAAG,cAAc,CAAC;AACnC,QAAA,kBAAkB,GAAG,qCAAqC,CAAC;AAC3D,QAAA,qBAAqB,GAAG,WAAW,CAAC;AAEjD,SAAgB,UAAU,CAAC,OAAgB;IACzC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,uBAAe,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,uBAAe,CAAC;AACrE,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type DxFlag = {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
};
|
|
5
|
+
export type DxExitCode = {
|
|
6
|
+
code: number;
|
|
7
|
+
meaning: string;
|
|
8
|
+
};
|
|
9
|
+
export type DxCommandMeta = {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
usage: string;
|
|
13
|
+
examples: string[];
|
|
14
|
+
flags: DxFlag[];
|
|
15
|
+
aliases: string[];
|
|
16
|
+
hidden: boolean;
|
|
17
|
+
category: "core" | "diagnostics" | "workflow" | "dx";
|
|
18
|
+
notes: string[];
|
|
19
|
+
exitCodes: DxExitCode[];
|
|
20
|
+
subcommands: string[];
|
|
21
|
+
};
|
|
22
|
+
export declare function getCommandRegistry(): DxCommandMeta[];
|
|
23
|
+
export declare function findCommandMeta(commandName: string): DxCommandMeta | undefined;
|
|
24
|
+
export declare function listVisibleCommandNames(): string[];
|
|
25
|
+
export declare function listAllFlags(): string[];
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCommandRegistry = getCommandRegistry;
|
|
4
|
+
exports.findCommandMeta = findCommandMeta;
|
|
5
|
+
exports.listVisibleCommandNames = listVisibleCommandNames;
|
|
6
|
+
exports.listAllFlags = listAllFlags;
|
|
7
|
+
const constants_1 = require("../branding/constants");
|
|
8
|
+
const COMMANDS = [
|
|
9
|
+
{
|
|
10
|
+
name: "init",
|
|
11
|
+
description: "Initialize APS support in package.json",
|
|
12
|
+
usage: `${(0, constants_1.cliCommand)("init")} [--json] [--dry-run]`,
|
|
13
|
+
examples: [(0, constants_1.cliCommand)("init"), `${(0, constants_1.cliCommand)("init")} --dry-run`, `${(0, constants_1.cliCommand)("init")} --json`],
|
|
14
|
+
flags: [{ name: "--json", description: "Emit deterministic machine-readable result." }],
|
|
15
|
+
aliases: [],
|
|
16
|
+
hidden: false,
|
|
17
|
+
category: "core",
|
|
18
|
+
notes: ["Creates or completes the aps section in package.json."],
|
|
19
|
+
exitCodes: [
|
|
20
|
+
{ code: 0, meaning: "APS config initialized or already present." },
|
|
21
|
+
{ code: 1, meaning: "Initialization failed (missing package.json or invalid JSON)." }
|
|
22
|
+
],
|
|
23
|
+
subcommands: []
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "generate",
|
|
27
|
+
description: "Generate APS resources from package evidence",
|
|
28
|
+
usage: `${(0, constants_1.cliCommand)("generate")} [--json] [--force]`,
|
|
29
|
+
examples: [(0, constants_1.cliCommand)("generate"), `${(0, constants_1.cliCommand)("generate")} --force`, `${(0, constants_1.cliCommand)("generate")} --json`],
|
|
30
|
+
flags: [
|
|
31
|
+
{ name: "--json", description: "Emit machine-readable generation report." },
|
|
32
|
+
{ name: "--force", description: "Replace existing generated resources in dist/aps." }
|
|
33
|
+
],
|
|
34
|
+
aliases: [],
|
|
35
|
+
hidden: false,
|
|
36
|
+
category: "workflow",
|
|
37
|
+
notes: ["Does not overwrite existing generated output unless --force is provided."],
|
|
38
|
+
exitCodes: [
|
|
39
|
+
{ code: 0, meaning: "Generation completed and validation passed." },
|
|
40
|
+
{ code: 1, meaning: "Generation failed or validation failed." }
|
|
41
|
+
],
|
|
42
|
+
subcommands: []
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "discover",
|
|
46
|
+
description: "Discover APS-enabled dependencies and load APS manifests",
|
|
47
|
+
usage: `${(0, constants_1.cliCommand)("discover")} [--json]`,
|
|
48
|
+
examples: [(0, constants_1.cliCommand)("discover"), `${(0, constants_1.cliCommand)("discover")} --json`],
|
|
49
|
+
flags: [{ name: "--json", description: "Emit deterministic machine-readable discovery result." }],
|
|
50
|
+
aliases: [],
|
|
51
|
+
hidden: false,
|
|
52
|
+
category: "core",
|
|
53
|
+
notes: ["Inspects dependencies and devDependencies from package.json."],
|
|
54
|
+
exitCodes: [
|
|
55
|
+
{ code: 0, meaning: "Discovery completed." },
|
|
56
|
+
{ code: 1, meaning: "Discovery failed." }
|
|
57
|
+
],
|
|
58
|
+
subcommands: []
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "validate",
|
|
62
|
+
description: "Validate APS compliance for current package",
|
|
63
|
+
usage: `${(0, constants_1.cliCommand)("validate")} [--json]`,
|
|
64
|
+
examples: [(0, constants_1.cliCommand)("validate"), `${(0, constants_1.cliCommand)("validate")} --json`],
|
|
65
|
+
flags: [{ name: "--json", description: "Emit deterministic machine-readable validation result." }],
|
|
66
|
+
aliases: [],
|
|
67
|
+
hidden: false,
|
|
68
|
+
category: "core",
|
|
69
|
+
notes: ["Checks package APS config, manifest schema, and declared resource paths."],
|
|
70
|
+
exitCodes: [
|
|
71
|
+
{ code: 0, meaning: "Validation passed." },
|
|
72
|
+
{ code: 1, meaning: "Validation failed." }
|
|
73
|
+
],
|
|
74
|
+
subcommands: []
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "governance",
|
|
78
|
+
description: "Validate provenance, evidence, lifecycle and trust rules for published knowledge",
|
|
79
|
+
usage: `${(0, constants_1.cliCommand)("governance")} [--json]`,
|
|
80
|
+
examples: [(0, constants_1.cliCommand)("governance"), `${(0, constants_1.cliCommand)("governance")} --json`],
|
|
81
|
+
flags: [{ name: "--json", description: "Emit machine-readable governance result." }],
|
|
82
|
+
aliases: [],
|
|
83
|
+
hidden: false,
|
|
84
|
+
category: "diagnostics",
|
|
85
|
+
notes: ["Runs governance validators over the configured APS manifest."],
|
|
86
|
+
exitCodes: [
|
|
87
|
+
{ code: 0, meaning: "Governance validation passed." },
|
|
88
|
+
{ code: 1, meaning: "Governance validation failed." }
|
|
89
|
+
],
|
|
90
|
+
subcommands: []
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: "doctor",
|
|
94
|
+
description: "Evaluate APS provider maturity (L0-L3)",
|
|
95
|
+
usage: `${(0, constants_1.cliCommand)("doctor")} [--json]`,
|
|
96
|
+
examples: [(0, constants_1.cliCommand)("doctor"), `${(0, constants_1.cliCommand)("doctor")} --json`],
|
|
97
|
+
flags: [{ name: "--json", description: "Emit machine-readable doctor report." }],
|
|
98
|
+
aliases: [],
|
|
99
|
+
hidden: false,
|
|
100
|
+
category: "diagnostics",
|
|
101
|
+
notes: ["Returns non-zero when maturity is below maximum."],
|
|
102
|
+
exitCodes: [
|
|
103
|
+
{ code: 0, meaning: "All discovered providers reached maximum maturity." },
|
|
104
|
+
{ code: 1, meaning: "At least one provider is below maximum maturity or execution failed." }
|
|
105
|
+
],
|
|
106
|
+
subcommands: []
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "sync",
|
|
110
|
+
description: "Synchronize APS context to configured AI agent adapters",
|
|
111
|
+
usage: `${(0, constants_1.cliCommand)("sync")} [--json] [--dry-run]`,
|
|
112
|
+
examples: [(0, constants_1.cliCommand)("sync"), `${(0, constants_1.cliCommand)("sync")} --dry-run`, `${(0, constants_1.cliCommand)("sync")} --json`],
|
|
113
|
+
flags: [{ name: "--json", description: "Emit deterministic machine-readable sync result." }],
|
|
114
|
+
aliases: [],
|
|
115
|
+
hidden: false,
|
|
116
|
+
category: "workflow",
|
|
117
|
+
notes: ["Sync reports adapter status and keeps user-authored content untouched."],
|
|
118
|
+
exitCodes: [
|
|
119
|
+
{ code: 0, meaning: "Sync completed." },
|
|
120
|
+
{ code: 1, meaning: "Sync failed." }
|
|
121
|
+
],
|
|
122
|
+
subcommands: []
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "context",
|
|
126
|
+
description: "Generate AI agent context from discovered APS packages",
|
|
127
|
+
usage: `${(0, constants_1.cliCommand)("context")} [--json] [--dry-run]`,
|
|
128
|
+
examples: [(0, constants_1.cliCommand)("context"), `${(0, constants_1.cliCommand)("context")} --dry-run`, `${(0, constants_1.cliCommand)("context")} --json`],
|
|
129
|
+
flags: [{ name: "--json", description: "Emit deterministic machine-readable context result." }],
|
|
130
|
+
aliases: [],
|
|
131
|
+
hidden: false,
|
|
132
|
+
category: "workflow",
|
|
133
|
+
notes: ["Generates local context files and updates AGENTS.md managed section."],
|
|
134
|
+
exitCodes: [
|
|
135
|
+
{ code: 0, meaning: "Context generation completed." },
|
|
136
|
+
{ code: 1, meaning: "Context generation failed." }
|
|
137
|
+
],
|
|
138
|
+
subcommands: []
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: "completion",
|
|
142
|
+
description: "Print shell completion scripts",
|
|
143
|
+
usage: `${(0, constants_1.cliCommand)("completion")} <bash|zsh|fish|powershell>`,
|
|
144
|
+
examples: [
|
|
145
|
+
`${(0, constants_1.cliCommand)("completion")} bash`,
|
|
146
|
+
`${(0, constants_1.cliCommand)("completion")} zsh`,
|
|
147
|
+
`${(0, constants_1.cliCommand)("completion")} fish`,
|
|
148
|
+
`${(0, constants_1.cliCommand)("completion")} powershell`
|
|
149
|
+
],
|
|
150
|
+
flags: [],
|
|
151
|
+
aliases: [],
|
|
152
|
+
hidden: false,
|
|
153
|
+
category: "dx",
|
|
154
|
+
notes: ["Prints completion scripts to stdout; does not install automatically."],
|
|
155
|
+
exitCodes: [
|
|
156
|
+
{ code: 0, meaning: "Script printed successfully." },
|
|
157
|
+
{ code: 2, meaning: "Unsupported or missing shell argument." }
|
|
158
|
+
],
|
|
159
|
+
subcommands: ["bash", "zsh", "fish", "powershell"]
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
name: "about",
|
|
163
|
+
description: "Show an overview of APS Protocol and Mimir CLI workflows",
|
|
164
|
+
usage: `${(0, constants_1.cliCommand)("about")} [--json]`,
|
|
165
|
+
examples: [(0, constants_1.cliCommand)("about"), `${(0, constants_1.cliCommand)("about")} --json`],
|
|
166
|
+
flags: [{ name: "--json", description: "Emit machine-readable about information." }],
|
|
167
|
+
aliases: [],
|
|
168
|
+
hidden: false,
|
|
169
|
+
category: "dx",
|
|
170
|
+
notes: ["Good starting point for first-time CLI users."],
|
|
171
|
+
exitCodes: [
|
|
172
|
+
{ code: 0, meaning: "About information displayed." },
|
|
173
|
+
{ code: 1, meaning: "About command failed unexpectedly." }
|
|
174
|
+
],
|
|
175
|
+
subcommands: []
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
name: "help",
|
|
179
|
+
description: "Show Mimir CLI help",
|
|
180
|
+
usage: `${(0, constants_1.cliCommand)("help")} [command]`,
|
|
181
|
+
examples: [(0, constants_1.cliCommand)("help"), `${(0, constants_1.cliCommand)("help")} generate`, `${(0, constants_1.cliCommand)("help")} completion`],
|
|
182
|
+
flags: [],
|
|
183
|
+
aliases: [],
|
|
184
|
+
hidden: false,
|
|
185
|
+
category: "dx",
|
|
186
|
+
notes: [`Use ${constants_1.CLI_BINARY_NAME} <command> --help for command-specific quick help.`],
|
|
187
|
+
exitCodes: [
|
|
188
|
+
{ code: 0, meaning: "Help displayed." },
|
|
189
|
+
{ code: 2, meaning: "Unknown command name provided." }
|
|
190
|
+
],
|
|
191
|
+
subcommands: [
|
|
192
|
+
"init",
|
|
193
|
+
"generate",
|
|
194
|
+
"discover",
|
|
195
|
+
"validate",
|
|
196
|
+
"governance",
|
|
197
|
+
"doctor",
|
|
198
|
+
"sync",
|
|
199
|
+
"context",
|
|
200
|
+
"completion",
|
|
201
|
+
"about",
|
|
202
|
+
"help"
|
|
203
|
+
]
|
|
204
|
+
}
|
|
205
|
+
];
|
|
206
|
+
function getCommandRegistry() {
|
|
207
|
+
return [...COMMANDS];
|
|
208
|
+
}
|
|
209
|
+
function findCommandMeta(commandName) {
|
|
210
|
+
const normalized = commandName.trim().toLowerCase();
|
|
211
|
+
return COMMANDS.find((command) => command.name === normalized || command.aliases.includes(normalized));
|
|
212
|
+
}
|
|
213
|
+
function listVisibleCommandNames() {
|
|
214
|
+
return COMMANDS.filter((command) => !command.hidden)
|
|
215
|
+
.map((command) => command.name)
|
|
216
|
+
.sort((a, b) => a.localeCompare(b));
|
|
217
|
+
}
|
|
218
|
+
function listAllFlags() {
|
|
219
|
+
const flags = new Set([
|
|
220
|
+
"--help",
|
|
221
|
+
"--version",
|
|
222
|
+
"--json",
|
|
223
|
+
"--dry-run",
|
|
224
|
+
"--verbose",
|
|
225
|
+
"--quiet"
|
|
226
|
+
]);
|
|
227
|
+
for (const command of COMMANDS) {
|
|
228
|
+
for (const flag of command.flags) {
|
|
229
|
+
flags.add(flag.name);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
return [...flags].sort((a, b) => a.localeCompare(b));
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dx/command-registry/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerCompletionCommand = registerCompletionCommand;
|
|
4
|
+
const attach_command_help_1 = require("../help/attach-command-help");
|
|
5
|
+
const scripts_1 = require("./scripts");
|
|
6
|
+
const constants_1 = require("../branding/constants");
|
|
7
|
+
const cli_output_1 = require("../output/cli-output");
|
|
8
|
+
function isSupportedShell(value) {
|
|
9
|
+
return value === "bash" || value === "zsh" || value === "fish" || value === "powershell";
|
|
10
|
+
}
|
|
11
|
+
function buildScript(shell) {
|
|
12
|
+
switch (shell) {
|
|
13
|
+
case "bash":
|
|
14
|
+
return (0, scripts_1.buildBashCompletionScript)();
|
|
15
|
+
case "zsh":
|
|
16
|
+
return (0, scripts_1.buildZshCompletionScript)();
|
|
17
|
+
case "fish":
|
|
18
|
+
return (0, scripts_1.buildFishCompletionScript)();
|
|
19
|
+
case "powershell":
|
|
20
|
+
return (0, scripts_1.buildPowerShellCompletionScript)();
|
|
21
|
+
default:
|
|
22
|
+
return "";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function registerCompletionCommand(program) {
|
|
26
|
+
const command = program
|
|
27
|
+
.command("completion [shell]")
|
|
28
|
+
.description("Print shell completion scripts")
|
|
29
|
+
.action((shell) => {
|
|
30
|
+
if (!shell) {
|
|
31
|
+
(0, cli_output_1.errorMessage)(`missing shell argument. Use '${constants_1.CLI_BINARY_NAME} completion <bash|zsh|fish|powershell>'.`);
|
|
32
|
+
(0, cli_output_1.setExitCode)(cli_output_1.EXIT_CODES.USAGE_ERROR);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const normalized = shell.trim().toLowerCase();
|
|
36
|
+
if (!isSupportedShell(normalized)) {
|
|
37
|
+
(0, cli_output_1.errorMessage)(`unsupported shell '${shell}'. Expected: bash, zsh, fish, powershell.`);
|
|
38
|
+
(0, cli_output_1.setExitCode)(cli_output_1.EXIT_CODES.USAGE_ERROR);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
console.log(buildScript(normalized));
|
|
42
|
+
});
|
|
43
|
+
(0, attach_command_help_1.attachCommandHelp)(command, "completion");
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/dx/completion/command.ts"],"names":[],"mappings":";;AAgCA,8DAsBC;AArDD,qEAAgE;AAChE,uCAKmB;AACnB,qDAAwD;AACxD,qDAA6E;AAI7E,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,YAAY,CAAC;AAC3F,CAAC;AAED,SAAS,WAAW,CAAC,KAAqB;IACxC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,IAAA,mCAAyB,GAAE,CAAC;QACrC,KAAK,KAAK;YACR,OAAO,IAAA,kCAAwB,GAAE,CAAC;QACpC,KAAK,MAAM;YACT,OAAO,IAAA,mCAAyB,GAAE,CAAC;QACrC,KAAK,YAAY;YACf,OAAO,IAAA,yCAA+B,GAAE,CAAC;QAC3C;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,CAAC,KAAc,EAAE,EAAE;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAA,yBAAY,EAAC,gCAAgC,2BAAe,0CAA0C,CAAC,CAAC;YACxG,IAAA,wBAAW,EAAC,uBAAU,CAAC,WAAW,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,IAAA,yBAAY,EAAC,sBAAsB,KAAK,2CAA2C,CAAC,CAAC;YACrF,IAAA,wBAAW,EAAC,uBAAU,CAAC,WAAW,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEL,IAAA,uCAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildBashCompletionScript = buildBashCompletionScript;
|
|
4
|
+
exports.buildZshCompletionScript = buildZshCompletionScript;
|
|
5
|
+
exports.buildFishCompletionScript = buildFishCompletionScript;
|
|
6
|
+
exports.buildPowerShellCompletionScript = buildPowerShellCompletionScript;
|
|
7
|
+
const command_registry_1 = require("../command-registry");
|
|
8
|
+
const constants_1 = require("../branding/constants");
|
|
9
|
+
function escapeForSingleQuotes(value) {
|
|
10
|
+
return value.replace(/'/g, "''");
|
|
11
|
+
}
|
|
12
|
+
function buildCommandFlagsMapShell() {
|
|
13
|
+
const entries = (0, command_registry_1.getCommandRegistry)()
|
|
14
|
+
.map((command) => {
|
|
15
|
+
const flags = command.flags.map((flag) => flag.name).join(" ");
|
|
16
|
+
const subcommands = command.subcommands.join(" ");
|
|
17
|
+
return ` ${command.name}) echo \"${[flags, subcommands].filter(Boolean).join(" ")}\" ;;`;
|
|
18
|
+
})
|
|
19
|
+
.join("\n");
|
|
20
|
+
return entries;
|
|
21
|
+
}
|
|
22
|
+
function buildBashCompletionScript() {
|
|
23
|
+
const commands = (0, command_registry_1.listVisibleCommandNames)().join(" ");
|
|
24
|
+
const globalFlags = (0, command_registry_1.listAllFlags)().join(" ");
|
|
25
|
+
return `# Mimir completion for bash
|
|
26
|
+
_mimir_completion() {
|
|
27
|
+
local cur prev first
|
|
28
|
+
COMPREPLY=()
|
|
29
|
+
cur="${"${COMP_WORDS[COMP_CWORD]}"}"
|
|
30
|
+
prev="${"${COMP_WORDS[COMP_CWORD-1]}"}"
|
|
31
|
+
first="${"${COMP_WORDS[1]}"}"
|
|
32
|
+
|
|
33
|
+
if [[ $COMP_CWORD -eq 1 ]]; then
|
|
34
|
+
COMPREPLY=( $(compgen -W "${commands} ${globalFlags}" -- "$cur") )
|
|
35
|
+
return 0
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
local cmd_flags
|
|
39
|
+
case "$first" in
|
|
40
|
+
${buildCommandFlagsMapShell()}
|
|
41
|
+
*) cmd_flags="" ;;
|
|
42
|
+
esac
|
|
43
|
+
|
|
44
|
+
COMPREPLY=( $(compgen -W "$cmd_flags ${globalFlags}" -- "$cur") )
|
|
45
|
+
return 0
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
complete -F _mimir_completion ${constants_1.CLI_BINARY_NAME}
|
|
49
|
+
`;
|
|
50
|
+
}
|
|
51
|
+
function buildZshCompletionScript() {
|
|
52
|
+
const commands = (0, command_registry_1.listVisibleCommandNames)()
|
|
53
|
+
.map((command) => `'${command}:${command}'`)
|
|
54
|
+
.join(" ");
|
|
55
|
+
const commandCase = (0, command_registry_1.getCommandRegistry)()
|
|
56
|
+
.map((command) => {
|
|
57
|
+
const allArgs = [...command.flags.map((flag) => flag.name), ...command.subcommands];
|
|
58
|
+
if (allArgs.length === 0) {
|
|
59
|
+
return ` ${command.name}) _values 'options' ;;`;
|
|
60
|
+
}
|
|
61
|
+
return ` ${command.name}) _values 'options' ${allArgs
|
|
62
|
+
.map((item) => `'${item}[${item}]'`)
|
|
63
|
+
.join(" ")} ;;`;
|
|
64
|
+
})
|
|
65
|
+
.join("\n");
|
|
66
|
+
return `#compdef ${constants_1.CLI_BINARY_NAME}
|
|
67
|
+
|
|
68
|
+
_mimir() {
|
|
69
|
+
local -a commands
|
|
70
|
+
commands=(${commands})
|
|
71
|
+
|
|
72
|
+
if (( CURRENT == 2 )); then
|
|
73
|
+
_describe 'command' commands
|
|
74
|
+
return
|
|
75
|
+
fi
|
|
76
|
+
|
|
77
|
+
local cmd="$words[2]"
|
|
78
|
+
case "$cmd" in
|
|
79
|
+
${commandCase}
|
|
80
|
+
*) _values 'global options' '--help[Show help]' '--version[Show version]' ;;
|
|
81
|
+
esac
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
_mimir "$@"
|
|
85
|
+
`;
|
|
86
|
+
}
|
|
87
|
+
function buildFishCompletionScript() {
|
|
88
|
+
const commandLines = (0, command_registry_1.listVisibleCommandNames)()
|
|
89
|
+
.map((command) => `complete -c ${constants_1.CLI_BINARY_NAME} -f -n '__fish_use_subcommand' -a '${command}'`)
|
|
90
|
+
.join("\n");
|
|
91
|
+
const argumentLines = (0, command_registry_1.getCommandRegistry)()
|
|
92
|
+
.flatMap((command) => {
|
|
93
|
+
const items = [...command.flags.map((flag) => flag.name), ...command.subcommands];
|
|
94
|
+
return items.map((item) => `complete -c ${constants_1.CLI_BINARY_NAME} -f -n '__fish_seen_subcommand_from ${command.name}' -a '${escapeForSingleQuotes(item)}'`);
|
|
95
|
+
})
|
|
96
|
+
.join("\n");
|
|
97
|
+
return `# Mimir completion for fish
|
|
98
|
+
${commandLines}
|
|
99
|
+
|
|
100
|
+
${argumentLines}
|
|
101
|
+
`;
|
|
102
|
+
}
|
|
103
|
+
function buildPowerShellCompletionScript() {
|
|
104
|
+
const commands = (0, command_registry_1.listVisibleCommandNames)();
|
|
105
|
+
const commandMap = (0, command_registry_1.getCommandRegistry)().reduce((acc, command) => {
|
|
106
|
+
acc[command.name] = [...command.flags.map((flag) => flag.name), ...command.subcommands];
|
|
107
|
+
return acc;
|
|
108
|
+
}, {});
|
|
109
|
+
const commandArray = commands.map((command) => `'${command}'`).join(", ");
|
|
110
|
+
const commandCases = commands
|
|
111
|
+
.map((command) => {
|
|
112
|
+
const items = (commandMap[command] ?? []).map((item) => `'${item}'`).join(", ");
|
|
113
|
+
return ` '${command}' { $suggestions = @(${items}) }`;
|
|
114
|
+
})
|
|
115
|
+
.join("\n");
|
|
116
|
+
return `Register-ArgumentCompleter -Native -CommandName ${constants_1.CLI_BINARY_NAME} -ScriptBlock {
|
|
117
|
+
param($wordToComplete, $commandAst, $cursorPosition)
|
|
118
|
+
|
|
119
|
+
$tokens = $commandAst.CommandElements | ForEach-Object { $_.Extent.Text }
|
|
120
|
+
$commands = @(${commandArray})
|
|
121
|
+
|
|
122
|
+
if ($tokens.Count -le 2) {
|
|
123
|
+
$commands | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
|
124
|
+
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
|
|
125
|
+
}
|
|
126
|
+
return
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
$command = $tokens[1]
|
|
130
|
+
$suggestions = @()
|
|
131
|
+
|
|
132
|
+
switch ($command) {
|
|
133
|
+
${commandCases}
|
|
134
|
+
default { $suggestions = @('--help', '--version') }
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
$suggestions | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
|
138
|
+
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
`;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=scripts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/dx/completion/scripts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.attachCommandHelp = attachCommandHelp;
|
|
4
|
+
const command_registry_1 = require("../command-registry");
|
|
5
|
+
const formatter_1 = require("./formatter");
|
|
6
|
+
function attachCommandHelp(command, commandName) {
|
|
7
|
+
const meta = (0, command_registry_1.findCommandMeta)(commandName);
|
|
8
|
+
if (!meta) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
command.addHelpText("after", (0, formatter_1.formatDetailedHelp)(meta));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=attach-command-help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach-command-help.js","sourceRoot":"","sources":["../../../src/dx/help/attach-command-help.ts"],"names":[],"mappings":";;AAIA,8CAOC;AAVD,0DAAsD;AACtD,2CAAiD;AAEjD,SAAgB,iBAAiB,CAAC,OAAgB,EAAE,WAAmB;IACrE,MAAM,IAAI,GAAG,IAAA,kCAAe,EAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAA,8BAAkB,EAAC,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerHelpCommand = registerHelpCommand;
|
|
4
|
+
const attach_command_help_1 = require("./attach-command-help");
|
|
5
|
+
const command_registry_1 = require("../command-registry");
|
|
6
|
+
const formatter_1 = require("./formatter");
|
|
7
|
+
const constants_1 = require("../branding/constants");
|
|
8
|
+
const cli_output_1 = require("../output/cli-output");
|
|
9
|
+
function printGeneralHelp() {
|
|
10
|
+
const registry = (0, command_registry_1.getCommandRegistry)().filter((command) => !command.hidden);
|
|
11
|
+
console.log(constants_1.CLI_BRAND);
|
|
12
|
+
console.log(`Reference implementation CLI for the ${constants_1.CLI_PROTOCOL_NAME}`);
|
|
13
|
+
console.log("");
|
|
14
|
+
console.log("Commands:");
|
|
15
|
+
const maxLen = Math.max(...registry.map((command) => command.name.length));
|
|
16
|
+
for (const command of registry) {
|
|
17
|
+
const padded = command.name.padEnd(maxLen, " ");
|
|
18
|
+
console.log(`- ${padded} ${command.description}`);
|
|
19
|
+
}
|
|
20
|
+
console.log("");
|
|
21
|
+
console.log("Quick examples:");
|
|
22
|
+
console.log(`- ${(0, constants_1.cliCommand)("about")}`);
|
|
23
|
+
console.log(`- ${(0, constants_1.cliCommand)("init")}`);
|
|
24
|
+
console.log(`- ${(0, constants_1.cliCommand)("generate")} --force`);
|
|
25
|
+
console.log(`- ${(0, constants_1.cliCommand)("validate")}`);
|
|
26
|
+
console.log(`- ${(0, constants_1.cliCommand)("governance")} --json`);
|
|
27
|
+
console.log(`- ${(0, constants_1.cliCommand)("doctor")} --json`);
|
|
28
|
+
console.log(`- ${(0, constants_1.cliCommand)("completion")} zsh`);
|
|
29
|
+
console.log("");
|
|
30
|
+
console.log("Docs:");
|
|
31
|
+
console.log(`- ${constants_1.CLI_DOC_RELATIVE_PATH}`);
|
|
32
|
+
console.log("");
|
|
33
|
+
console.log("Global options:");
|
|
34
|
+
console.log("- --json Emit deterministic JSON output");
|
|
35
|
+
console.log("- --dry-run Show planned actions without changing files");
|
|
36
|
+
console.log("- --verbose Enable verbose output");
|
|
37
|
+
console.log("- --quiet Suppress non-error output");
|
|
38
|
+
console.log("");
|
|
39
|
+
console.log(`Use '${(0, constants_1.cliCommand)("help")} <command>' for detailed command help.`);
|
|
40
|
+
}
|
|
41
|
+
function registerHelpCommand(program) {
|
|
42
|
+
const command = program
|
|
43
|
+
.command("help [commandName]")
|
|
44
|
+
.description("Show Mimir CLI help")
|
|
45
|
+
.action((commandName) => {
|
|
46
|
+
if (!commandName || commandName.trim() === "") {
|
|
47
|
+
printGeneralHelp();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const target = program.commands.find((candidate) => candidate.name() === commandName ||
|
|
51
|
+
candidate.aliases().includes(commandName) ||
|
|
52
|
+
(commandName === "help" && candidate.name() === "help"));
|
|
53
|
+
if (!target) {
|
|
54
|
+
(0, cli_output_1.errorMessage)(`unknown command '${commandName}'.`);
|
|
55
|
+
console.error(`Available commands: ${(0, command_registry_1.listVisibleCommandNames)().join(", ")}`);
|
|
56
|
+
(0, cli_output_1.setExitCode)(cli_output_1.EXIT_CODES.USAGE_ERROR);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const baseHelp = target.helpInformation();
|
|
60
|
+
const meta = (0, command_registry_1.findCommandMeta)(commandName);
|
|
61
|
+
if (!meta) {
|
|
62
|
+
console.log(baseHelp);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const details = (0, formatter_1.formatDetailedHelp)(meta);
|
|
66
|
+
const alreadyIncludesDetails = baseHelp.includes(`Name: ${constants_1.CLI_BINARY_NAME} ${meta.name}`);
|
|
67
|
+
if (alreadyIncludesDetails) {
|
|
68
|
+
console.log(baseHelp);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
console.log(`${baseHelp.trimEnd()}\n${details}`);
|
|
72
|
+
});
|
|
73
|
+
(0, attach_command_help_1.attachCommandHelp)(command, "help");
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/dx/help/command.ts"],"names":[],"mappings":"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"}
|