@memberjunction/cli 6.1.0-edge.4 → 6.1.0-edge.6
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/README.md +104 -0
- package/dist/commands/ai/actions/list.d.ts +2 -1
- package/dist/commands/ai/actions/list.d.ts.map +1 -1
- package/dist/commands/ai/actions/list.js +12 -3
- package/dist/commands/ai/actions/list.js.map +1 -1
- package/dist/commands/ai/actions/run.d.ts +7 -6
- package/dist/commands/ai/actions/run.d.ts.map +1 -1
- package/dist/commands/ai/actions/run.js +15 -16
- package/dist/commands/ai/actions/run.js.map +1 -1
- package/dist/commands/ai/agents/list.d.ts +2 -1
- package/dist/commands/ai/agents/list.d.ts.map +1 -1
- package/dist/commands/ai/agents/list.js +12 -3
- package/dist/commands/ai/agents/list.js.map +1 -1
- package/dist/commands/ai/agents/run.d.ts +7 -6
- package/dist/commands/ai/agents/run.d.ts.map +1 -1
- package/dist/commands/ai/agents/run.js +27 -5
- package/dist/commands/ai/agents/run.js.map +1 -1
- package/dist/commands/ai/audit/agent-run.d.ts +15 -14
- package/dist/commands/ai/audit/agent-run.d.ts.map +1 -1
- package/dist/commands/ai/audit/agent-run.js +18 -6
- package/dist/commands/ai/audit/agent-run.js.map +1 -1
- package/dist/commands/ai/prompts/run.d.ts +10 -9
- package/dist/commands/ai/prompts/run.d.ts.map +1 -1
- package/dist/commands/ai/prompts/run.js +12 -3
- package/dist/commands/ai/prompts/run.js.map +1 -1
- package/dist/commands/ai/usage.d.ts +7 -0
- package/dist/commands/ai/usage.d.ts.map +1 -0
- package/dist/commands/ai/usage.js +10 -0
- package/dist/commands/ai/usage.js.map +1 -0
- package/dist/commands/app/check-updates.d.ts.map +1 -1
- package/dist/commands/app/check-updates.js +55 -17
- package/dist/commands/app/check-updates.js.map +1 -1
- package/dist/commands/app/remove.d.ts.map +1 -1
- package/dist/commands/app/remove.js +12 -4
- package/dist/commands/app/remove.js.map +1 -1
- package/dist/commands/app/usage.d.ts +7 -0
- package/dist/commands/app/usage.d.ts.map +1 -0
- package/dist/commands/app/usage.js +10 -0
- package/dist/commands/app/usage.js.map +1 -0
- package/dist/commands/artifacts/usage.d.ts +7 -0
- package/dist/commands/artifacts/usage.d.ts.map +1 -0
- package/dist/commands/artifacts/usage.js +10 -0
- package/dist/commands/artifacts/usage.js.map +1 -0
- package/dist/commands/baseline/usage.d.ts +7 -0
- package/dist/commands/baseline/usage.d.ts.map +1 -0
- package/dist/commands/baseline/usage.js +10 -0
- package/dist/commands/baseline/usage.js.map +1 -0
- package/dist/commands/bump/usage.d.ts +7 -0
- package/dist/commands/bump/usage.d.ts.map +1 -0
- package/dist/commands/bump/usage.js +10 -0
- package/dist/commands/bump/usage.js.map +1 -0
- package/dist/commands/bundle/usage.d.ts +7 -0
- package/dist/commands/bundle/usage.d.ts.map +1 -0
- package/dist/commands/bundle/usage.js +10 -0
- package/dist/commands/bundle/usage.js.map +1 -0
- package/dist/commands/clean/usage.d.ts +7 -0
- package/dist/commands/clean/usage.d.ts.map +1 -0
- package/dist/commands/clean/usage.js +10 -0
- package/dist/commands/clean/usage.js.map +1 -0
- package/dist/commands/dbdoc/usage.d.ts +7 -0
- package/dist/commands/dbdoc/usage.d.ts.map +1 -0
- package/dist/commands/dbdoc/usage.js +10 -0
- package/dist/commands/dbdoc/usage.js.map +1 -0
- package/dist/commands/dev/workspace/index.d.ts.map +1 -1
- package/dist/commands/dev/workspace/index.js +7 -2
- package/dist/commands/dev/workspace/index.js.map +1 -1
- package/dist/commands/doctor/usage.d.ts +7 -0
- package/dist/commands/doctor/usage.d.ts.map +1 -0
- package/dist/commands/doctor/usage.js +10 -0
- package/dist/commands/doctor/usage.js.map +1 -0
- package/dist/commands/install/index.d.ts +20 -0
- package/dist/commands/install/index.d.ts.map +1 -1
- package/dist/commands/install/index.js +80 -10
- package/dist/commands/install/index.js.map +1 -1
- package/dist/commands/install/usage.d.ts +7 -0
- package/dist/commands/install/usage.d.ts.map +1 -0
- package/dist/commands/install/usage.js +10 -0
- package/dist/commands/install/usage.js.map +1 -0
- package/dist/commands/migrate/convert.d.ts +1 -0
- package/dist/commands/migrate/convert.d.ts.map +1 -1
- package/dist/commands/migrate/convert.js +54 -5
- package/dist/commands/migrate/convert.js.map +1 -1
- package/dist/commands/migrate/rebake.d.ts +1 -0
- package/dist/commands/migrate/rebake.d.ts.map +1 -1
- package/dist/commands/migrate/rebake.js +16 -6
- package/dist/commands/migrate/rebake.js.map +1 -1
- package/dist/commands/migrate/usage.d.ts +7 -0
- package/dist/commands/migrate/usage.d.ts.map +1 -0
- package/dist/commands/migrate/usage.js +10 -0
- package/dist/commands/migrate/usage.js.map +1 -0
- package/dist/commands/plugin/usage.d.ts +7 -0
- package/dist/commands/plugin/usage.d.ts.map +1 -0
- package/dist/commands/plugin/usage.js +10 -0
- package/dist/commands/plugin/usage.js.map +1 -0
- package/dist/commands/querygen/usage.d.ts +7 -0
- package/dist/commands/querygen/usage.d.ts.map +1 -0
- package/dist/commands/querygen/usage.js +10 -0
- package/dist/commands/querygen/usage.js.map +1 -0
- package/dist/commands/sql-audit/usage.d.ts +7 -0
- package/dist/commands/sql-audit/usage.d.ts.map +1 -0
- package/dist/commands/sql-audit/usage.js +10 -0
- package/dist/commands/sql-audit/usage.js.map +1 -0
- package/dist/commands/sql-convert/usage.d.ts +7 -0
- package/dist/commands/sql-convert/usage.d.ts.map +1 -0
- package/dist/commands/sql-convert/usage.js +10 -0
- package/dist/commands/sql-convert/usage.js.map +1 -0
- package/dist/commands/standards/usage.d.ts +7 -0
- package/dist/commands/standards/usage.d.ts.map +1 -0
- package/dist/commands/standards/usage.js +10 -0
- package/dist/commands/standards/usage.js.map +1 -0
- package/dist/commands/sync/file-reset.d.ts +6 -6
- package/dist/commands/sync/file-reset.d.ts.map +1 -1
- package/dist/commands/sync/file-reset.js +151 -127
- package/dist/commands/sync/file-reset.js.map +1 -1
- package/dist/commands/sync/init.d.ts +10 -1
- package/dist/commands/sync/init.d.ts.map +1 -1
- package/dist/commands/sync/init.js +127 -78
- package/dist/commands/sync/init.js.map +1 -1
- package/dist/commands/test/compare.d.ts +11 -11
- package/dist/commands/test/compare.d.ts.map +1 -1
- package/dist/commands/test/compare.js +8 -7
- package/dist/commands/test/compare.js.map +1 -1
- package/dist/commands/test/history.d.ts +7 -7
- package/dist/commands/test/history.d.ts.map +1 -1
- package/dist/commands/test/history.js +8 -7
- package/dist/commands/test/history.js.map +1 -1
- package/dist/commands/test/list.d.ts +8 -8
- package/dist/commands/test/list.d.ts.map +1 -1
- package/dist/commands/test/list.js +8 -7
- package/dist/commands/test/list.js.map +1 -1
- package/dist/commands/test/regression/compare.d.ts.map +1 -1
- package/dist/commands/test/regression/compare.js +5 -7
- package/dist/commands/test/regression/compare.js.map +1 -1
- package/dist/commands/test/run.d.ts +9 -9
- package/dist/commands/test/run.d.ts.map +1 -1
- package/dist/commands/test/run.js +8 -7
- package/dist/commands/test/run.js.map +1 -1
- package/dist/commands/test/suite.d.ts +11 -11
- package/dist/commands/test/suite.d.ts.map +1 -1
- package/dist/commands/test/suite.js +8 -7
- package/dist/commands/test/suite.js.map +1 -1
- package/dist/commands/test/usage.d.ts +7 -0
- package/dist/commands/test/usage.d.ts.map +1 -0
- package/dist/commands/test/usage.js +10 -0
- package/dist/commands/test/usage.js.map +1 -0
- package/dist/commands/test/validate.d.ts +7 -7
- package/dist/commands/test/validate.d.ts.map +1 -1
- package/dist/commands/test/validate.js +8 -7
- package/dist/commands/test/validate.js.map +1 -1
- package/dist/commands/translate-sql/usage.d.ts +7 -0
- package/dist/commands/translate-sql/usage.d.ts.map +1 -0
- package/dist/commands/translate-sql/usage.js +10 -0
- package/dist/commands/translate-sql/usage.js.map +1 -0
- package/dist/commands/update/usage.d.ts +7 -0
- package/dist/commands/update/usage.d.ts.map +1 -0
- package/dist/commands/update/usage.js +10 -0
- package/dist/commands/update/usage.js.map +1 -0
- package/dist/commands/usage.d.ts.map +1 -1
- package/dist/commands/usage.js +9 -4
- package/dist/commands/usage.js.map +1 -1
- package/dist/config.d.ts +127 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +24 -2
- package/dist/config.js.map +1 -1
- package/dist/hooks/prerun.d.ts +6 -0
- package/dist/hooks/prerun.d.ts.map +1 -1
- package/dist/hooks/prerun.js +91 -32
- package/dist/hooks/prerun.js.map +1 -1
- package/dist/lib/cli-plugins.d.ts +8 -1
- package/dist/lib/cli-plugins.d.ts.map +1 -1
- package/dist/lib/cli-plugins.js +17 -1
- package/dist/lib/cli-plugins.js.map +1 -1
- package/dist/lib/derived-usage.d.ts +68 -0
- package/dist/lib/derived-usage.d.ts.map +1 -0
- package/dist/lib/derived-usage.js +121 -0
- package/dist/lib/derived-usage.js.map +1 -0
- package/dist/lib/domain-profiles.d.ts +42 -0
- package/dist/lib/domain-profiles.d.ts.map +1 -0
- package/dist/lib/domain-profiles.js +118 -0
- package/dist/lib/domain-profiles.js.map +1 -0
- package/dist/lib/domain-usage-command.d.ts.map +1 -1
- package/dist/lib/domain-usage-command.js +9 -4
- package/dist/lib/domain-usage-command.js.map +1 -1
- package/dist/lib/dynamic-packages.d.ts +31 -0
- package/dist/lib/dynamic-packages.d.ts.map +1 -0
- package/dist/lib/dynamic-packages.js +56 -0
- package/dist/lib/dynamic-packages.js.map +1 -0
- package/dist/lib/format-compat.d.ts +68 -0
- package/dist/lib/format-compat.d.ts.map +1 -0
- package/dist/lib/format-compat.js +111 -0
- package/dist/lib/format-compat.js.map +1 -0
- package/dist/lib/interactive-guard.d.ts +56 -0
- package/dist/lib/interactive-guard.d.ts.map +1 -0
- package/dist/lib/interactive-guard.js +60 -0
- package/dist/lib/interactive-guard.js.map +1 -0
- package/dist/lib/legacy-install.d.ts.map +1 -1
- package/dist/lib/legacy-install.js +4 -0
- package/dist/lib/legacy-install.js.map +1 -1
- package/dist/lib/usage-render.d.ts +2 -2
- package/dist/lib/usage-render.d.ts.map +1 -1
- package/dist/lib/usage-render.js +2 -1
- package/dist/lib/usage-render.js.map +1 -1
- package/dist/light-commands.d.ts.map +1 -1
- package/dist/light-commands.js +43 -0
- package/dist/light-commands.js.map +1 -1
- package/dist/utils/open-app-context.d.ts +24 -0
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +21 -6
- package/dist/utils/open-app-context.js.map +1 -1
- package/dist/utils/update-check.d.ts +86 -0
- package/dist/utils/update-check.d.ts.map +1 -0
- package/dist/utils/update-check.js +98 -0
- package/dist/utils/update-check.js.map +1 -0
- package/oclif.manifest.json +1158 -245
- package/package.json +22 -21
package/dist/config.js
CHANGED
|
@@ -53,8 +53,15 @@ const dynamicPackageEntrySchema = z.object({
|
|
|
53
53
|
// entries are pure side-effect imports (their @RegisterClass decorators fire on
|
|
54
54
|
// load), so StartupExport is optional and unset for the client array.
|
|
55
55
|
StartupExport: z.string().optional(),
|
|
56
|
-
|
|
56
|
+
// Written by `mj app install`; hand-authored entries (see @memberjunction/dynamic-packages
|
|
57
|
+
// README) need not carry it, and the loader treats it as optional — so must this schema, or
|
|
58
|
+
// every getValidatedConfig() command aborts with a misleading "credentials missing" error.
|
|
59
|
+
AppName: z.string().optional(),
|
|
57
60
|
Enabled: z.boolean().default(true),
|
|
61
|
+
// Hand-authored per-process scoping, read by @memberjunction/dynamic-packages: process IDs
|
|
62
|
+
// (or prefixes — `cli:sync` covers every `mj sync` command) the entry loads in / never loads in.
|
|
63
|
+
Processes: z.array(z.string()).optional(),
|
|
64
|
+
ExcludeProcesses: z.array(z.string()).optional(),
|
|
58
65
|
});
|
|
59
66
|
// Schema for Open App configuration section
|
|
60
67
|
const openAppsConfigSchema = z.object({
|
|
@@ -93,9 +100,15 @@ const openAppsConfigSchema = z.object({
|
|
|
93
100
|
// `server` is consumed by @memberjunction/server-bootstrap at MJAPI boot (B1).
|
|
94
101
|
// `client` is consumed by `mj codegen manifest --open-app-client-bootstrap`, which
|
|
95
102
|
// appends a side-effect import per entry to MJExplorer's class-registrations manifest.
|
|
96
|
-
const dynamicPackagesSchema = z.object({
|
|
103
|
+
export const dynamicPackagesSchema = z.object({
|
|
97
104
|
server: z.array(dynamicPackageEntrySchema).optional(),
|
|
98
105
|
client: z.array(dynamicPackageEntrySchema).optional(),
|
|
106
|
+
// Per-process on/off switch keyed by process ID or prefix (`{ 'cli:codegen': 'none' }`);
|
|
107
|
+
// the most specific key wins. MJ_DYNAMIC_PACKAGES / --no-app-packages override it.
|
|
108
|
+
// Values are validated by the loader's own parser (which also accepts the env-var synonyms
|
|
109
|
+
// `off`/`skip`/`0`/`on`/`1`/…, and warns on anything else), not narrowed here — a stricter
|
|
110
|
+
// schema than the loader turns a harmless typo into a hard failure of unrelated commands.
|
|
111
|
+
policy: z.record(z.string(), z.string()).optional(),
|
|
99
112
|
}).optional();
|
|
100
113
|
// Schema for database-dependent config (required fields)
|
|
101
114
|
const mjConfigSchema = z.object({
|
|
@@ -171,6 +184,15 @@ const mjConfigSchemaOptional = z.object({
|
|
|
171
184
|
});
|
|
172
185
|
// Don't validate at module load - let commands decide when they need validated config
|
|
173
186
|
export const config = result?.config;
|
|
187
|
+
/**
|
|
188
|
+
* The discovered mj.config.cjs BEFORE any Zod parse, plus its path. The dynamic-package loader
|
|
189
|
+
* needs the raw object (a parsed config keeps only the keys its schema names) and the file path
|
|
190
|
+
* (the resolution anchor for packages the host, not the CLI, declares).
|
|
191
|
+
*/
|
|
192
|
+
export const getRawConfig = () => ({
|
|
193
|
+
config: result?.config,
|
|
194
|
+
configFilePath: result?.filepath || undefined,
|
|
195
|
+
});
|
|
174
196
|
/**
|
|
175
197
|
* Get validated config for commands that require database connection.
|
|
176
198
|
* Throws error if config is invalid.
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/prerun.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { Hook } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* Mirror of `DYNAMIC_PACKAGES_MODE_ENV_VAR` from @memberjunction/dynamic-packages, inlined so
|
|
4
|
+
* LIGHT commands (version, help, migrate, …) do not pay for that package — and its cosmiconfig
|
|
5
|
+
* import — at startup. `dynamic-packages.test.ts` asserts the two stay equal.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DYNAMIC_PACKAGES_MODE_ENV_VAR = "MJ_DYNAMIC_PACKAGES";
|
|
2
8
|
declare const hook: Hook<'prerun'>;
|
|
3
9
|
export default hook;
|
|
4
10
|
//# sourceMappingURL=prerun.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerun.d.ts","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"prerun.d.ts","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAKnC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AA6BnE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,CAqFxB,CAAC;AA0BF,eAAe,IAAI,CAAC"}
|
package/dist/hooks/prerun.js
CHANGED
|
@@ -1,41 +1,88 @@
|
|
|
1
1
|
import figlet from 'figlet';
|
|
2
|
+
import { INTERACTIVE_ENV, ResolveOutputFormat, ShouldSuppressChrome } from '@memberjunction/cli-core';
|
|
2
3
|
import { LIGHT_COMMANDS } from '../light-commands.js';
|
|
4
|
+
/**
|
|
5
|
+
* Mirror of `DYNAMIC_PACKAGES_MODE_ENV_VAR` from @memberjunction/dynamic-packages, inlined so
|
|
6
|
+
* LIGHT commands (version, help, migrate, …) do not pay for that package — and its cosmiconfig
|
|
7
|
+
* import — at startup. `dynamic-packages.test.ts` asserts the two stay equal.
|
|
8
|
+
*/
|
|
9
|
+
export const DYNAMIC_PACKAGES_MODE_ENV_VAR = 'MJ_DYNAMIC_PACKAGES';
|
|
10
|
+
/**
|
|
11
|
+
* Strips a global boolean flag from argv in place and reports whether it was there.
|
|
12
|
+
*
|
|
13
|
+
* Global chrome flags have to work on ANY command, including the ~80 that are still
|
|
14
|
+
* plain oclif `Command`s and don't declare them — oclif's strict parser would reject
|
|
15
|
+
* an undeclared flag with "Nonexistent flag". So the hook consumes them here and
|
|
16
|
+
* signals downstream through the environment instead.
|
|
17
|
+
*/
|
|
18
|
+
function takeGlobalFlag(argv, flag) {
|
|
19
|
+
let found = false;
|
|
20
|
+
for (let i = argv.length - 1; i >= 0; i--) {
|
|
21
|
+
if (argv[i] === flag) {
|
|
22
|
+
argv.splice(i, 1);
|
|
23
|
+
found = true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return found;
|
|
27
|
+
}
|
|
28
|
+
/** Reads `--format=x` or `--format x` out of raw argv, before any command has parsed it. */
|
|
29
|
+
function readFormatArg(argv) {
|
|
30
|
+
const eq = argv.find((a) => a.startsWith('--format='));
|
|
31
|
+
if (eq)
|
|
32
|
+
return eq.slice('--format='.length);
|
|
33
|
+
const i = argv.indexOf('--format');
|
|
34
|
+
return i >= 0 ? argv[i + 1] : undefined;
|
|
35
|
+
}
|
|
3
36
|
const hook = async function (options) {
|
|
4
37
|
const argv = options.argv ?? [];
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// commands still gate their runtime advisory) and strip the flag from argv in place
|
|
21
|
-
// so the per-command parser never sees an undeclared flag.
|
|
38
|
+
// `--interactive` / `--no-interactive` override the terminal detection that decides
|
|
39
|
+
// whether a command may prompt. Like `--no-banner` they must work on every command,
|
|
40
|
+
// including the ~80 that don't declare them, so they are consumed here and forwarded
|
|
41
|
+
// via env to both BaseCLIPlugin and the unmigrated commands' interactive guards.
|
|
42
|
+
// BOTH are stripped unconditionally before either is acted on: short-circuiting the
|
|
43
|
+
// second strip would leave the losing flag in argv, where oclif's strict parser
|
|
44
|
+
// rejects it as a nonexistent flag on any command that doesn't declare it.
|
|
45
|
+
const forceOff = takeGlobalFlag(argv, '--no-interactive');
|
|
46
|
+
const forceOn = takeGlobalFlag(argv, '--interactive');
|
|
47
|
+
// Passing both resolves to off — the safe answer when the caller contradicts itself.
|
|
48
|
+
if (forceOff)
|
|
49
|
+
process.env[INTERACTIVE_ENV] = '0';
|
|
50
|
+
else if (forceOn)
|
|
51
|
+
process.env[INTERACTIVE_ENV] = '1';
|
|
52
|
+
const noBanner = takeGlobalFlag(argv, '--no-banner');
|
|
22
53
|
if (noBanner) {
|
|
23
54
|
process.env.MJ_CLI_NO_BANNER = '1';
|
|
24
|
-
for (let i = argv.length - 1; i >= 0; i--) {
|
|
25
|
-
if (argv[i] === '--no-banner')
|
|
26
|
-
argv.splice(i, 1);
|
|
27
|
-
}
|
|
28
55
|
}
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
56
|
+
// `--no-app-packages` skips loading the installed Open Apps' server packages (and the host's
|
|
57
|
+
// generated packages) for this one invocation, so e.g. `mj sync push` writes with the generic
|
|
58
|
+
// BaseEntity — no custom Save() logic, no lifecycle hooks. It rides the same env var the
|
|
59
|
+
// loader honours everywhere (`MJ_DYNAMIC_PACKAGES=none`), so scripts can set either.
|
|
60
|
+
if (takeGlobalFlag(argv, '--no-app-packages')) {
|
|
61
|
+
process.env[DYNAMIC_PACKAGES_MODE_ENV_VAR] = 'none';
|
|
33
62
|
}
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
63
|
+
// Decide chrome with the SAME resolver the commands themselves use, rather than
|
|
64
|
+
// re-deriving the format from argv here. The two views drifting is not hypothetical:
|
|
65
|
+
// while this hook only looked for `--format` in argv, `MJ_CLI_FORMAT=json mj codegen`
|
|
66
|
+
// at a terminal printed a figlet banner and *then* a JSON envelope — the env var the
|
|
67
|
+
// command honours was invisible to the banner decision, and the pipe check that would
|
|
68
|
+
// otherwise have saved us does not fire on a TTY. Routing both through
|
|
69
|
+
// ResolveOutputFormat makes that class of mismatch unrepresentable, and picks up the
|
|
70
|
+
// format aliases (`markdown`, `console`, …) for free.
|
|
71
|
+
const { format } = ResolveOutputFormat({
|
|
72
|
+
formatFlag: readFormatArg(argv),
|
|
73
|
+
// oclif's own `--json` boolean, declared by install:claude / update:claude.
|
|
74
|
+
jsonFlag: argv.includes('--json'),
|
|
75
|
+
});
|
|
76
|
+
const quiet = argv.some((arg) => arg === '--quiet' || (/^-[^-]+/.test(arg) && arg.includes('q')));
|
|
77
|
+
// ShouldSuppressChrome covers both machine formats and a redirected stdout: a caller
|
|
78
|
+
// that piped us has already said it is a machine, and a banner in its capture buffer
|
|
79
|
+
// is pure noise.
|
|
80
|
+
const verbose = argv.includes('--verbose') || argv.includes('-v');
|
|
81
|
+
if (noBanner || quiet || ShouldSuppressChrome(format)) {
|
|
82
|
+
// Still conditionally load bootstrap — just no decorative output. (The old `--json`
|
|
83
|
+
// branch returned *without* loading it, which would have silently skipped class
|
|
84
|
+
// registration for any heavy command that later grew a `--json` flag.)
|
|
85
|
+
return await maybeLoadBootstrap(options, verbose);
|
|
39
86
|
}
|
|
40
87
|
// Suppress the large figlet banner for hot-path, frequently-run commands (e.g. `mj sync *`)
|
|
41
88
|
// and the agent-facing usage commands, where it's pure scrollback cost. The
|
|
@@ -59,17 +106,29 @@ const hook = async function (options) {
|
|
|
59
106
|
if (options.Command.id !== 'version' && !isUsageCommand) {
|
|
60
107
|
options.context.log(options.config.userAgent + '\n');
|
|
61
108
|
}
|
|
62
|
-
await maybeLoadBootstrap(options);
|
|
109
|
+
await maybeLoadBootstrap(options, verbose);
|
|
63
110
|
};
|
|
64
111
|
/**
|
|
65
112
|
* Conditionally load MJ bootstrap for heavy commands. Light commands (version,
|
|
66
113
|
* help, bump, migrate, clean, install, dbdoc/*, usage/*) skip the ~1,400 class
|
|
67
114
|
* registrations for instant startup.
|
|
115
|
+
*
|
|
116
|
+
* Heavy commands then load the installed Open Apps' server packages (and the host's generated
|
|
117
|
+
* packages) through @memberjunction/dynamic-packages — AFTER the manifest, so an app's
|
|
118
|
+
* @RegisterClass wins via load-order priority, and BEFORE the command opens a database
|
|
119
|
+
* provider, the same ordering MJAPI uses. This is what makes `mj sync push`, `mj app …`,
|
|
120
|
+
* `mj test` and every other command construct an app's real entity subclasses instead of
|
|
121
|
+
* falling back to BaseEntity (issue #4199). The process ID is `cli:<command id>`, so entries
|
|
122
|
+
* can be scoped to `cli`, `cli:sync`, or one command.
|
|
68
123
|
*/
|
|
69
|
-
async function maybeLoadBootstrap(options) {
|
|
124
|
+
async function maybeLoadBootstrap(options, verbose = false) {
|
|
70
125
|
const commandId = options.Command.id ?? '';
|
|
71
126
|
if (!LIGHT_COMMANDS.has(commandId)) {
|
|
127
|
+
// Both modules are dynamic-imported so light commands keep their instant startup (the
|
|
128
|
+
// config module's cosmiconfig search runs at import time).
|
|
72
129
|
await import('@memberjunction/server-bootstrap-lite/mj-class-registrations');
|
|
130
|
+
const { loadDynamicPackagesForCommand } = await import('../lib/dynamic-packages.js');
|
|
131
|
+
await loadDynamicPackagesForCommand(commandId, { verbose });
|
|
73
132
|
}
|
|
74
133
|
}
|
|
75
134
|
export default hook;
|
package/dist/hooks/prerun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,
|
|
1
|
+
{"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type OclifCommandShape } from './derived-usage.js';
|
|
1
2
|
/**
|
|
2
3
|
* Loads all CLI plugins so their `@RegisterClass(BaseCLIPlugin, …)` decorators
|
|
3
4
|
* populate the ClassFactory — the basis for the `mj usage` / `mj <domain> usage`
|
|
@@ -11,6 +12,12 @@
|
|
|
11
12
|
* These plugin modules are intentionally light — they static-import only
|
|
12
13
|
* cli-core + oclif + global and dynamic-import their heavy engines at execution
|
|
13
14
|
* time — so loading them here for usage composition is cheap.
|
|
15
|
+
*
|
|
16
|
+
* Finally, when the caller passes oclif's own command list, every command that no
|
|
17
|
+
* plugin declared gets a usage entry derived from oclif's manifest. Registration
|
|
18
|
+
* order is load-bearing: plugin metadata is read first and `RegisterUsage` is
|
|
19
|
+
* first-wins, so a migrated command keeps its curated entry and only the rest fall
|
|
20
|
+
* back to derivation.
|
|
14
21
|
*/
|
|
15
|
-
export declare function loadAllCliPlugins(searchFrom?: string): Promise<void>;
|
|
22
|
+
export declare function loadAllCliPlugins(searchFrom?: string, oclifCommands?: readonly OclifCommandShape[]): Promise<void>;
|
|
16
23
|
//# sourceMappingURL=cli-plugins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-plugins.d.ts","sourceRoot":"","sources":["../../src/lib/cli-plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-plugins.d.ts","sourceRoot":"","sources":["../../src/lib/cli-plugins.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGlF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,GAAE,MAAsB,EAClC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
package/dist/lib/cli-plugins.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { CLIPluginRegistry } from '@memberjunction/cli-core';
|
|
2
2
|
import { RegisterDevWorkspaceUsage } from './dev-workspace/usage.js';
|
|
3
|
+
import { registerDerivedUsage } from './derived-usage.js';
|
|
4
|
+
import { DOMAIN_PROFILES } from './domain-profiles.js';
|
|
3
5
|
/**
|
|
4
6
|
* Loads all CLI plugins so their `@RegisterClass(BaseCLIPlugin, …)` decorators
|
|
5
7
|
* populate the ClassFactory — the basis for the `mj usage` / `mj <domain> usage`
|
|
@@ -13,8 +15,14 @@ import { RegisterDevWorkspaceUsage } from './dev-workspace/usage.js';
|
|
|
13
15
|
* These plugin modules are intentionally light — they static-import only
|
|
14
16
|
* cli-core + oclif + global and dynamic-import their heavy engines at execution
|
|
15
17
|
* time — so loading them here for usage composition is cheap.
|
|
18
|
+
*
|
|
19
|
+
* Finally, when the caller passes oclif's own command list, every command that no
|
|
20
|
+
* plugin declared gets a usage entry derived from oclif's manifest. Registration
|
|
21
|
+
* order is load-bearing: plugin metadata is read first and `RegisterUsage` is
|
|
22
|
+
* first-wins, so a migrated command keeps its curated entry and only the rest fall
|
|
23
|
+
* back to derivation.
|
|
16
24
|
*/
|
|
17
|
-
export async function loadAllCliPlugins(searchFrom = process.cwd()) {
|
|
25
|
+
export async function loadAllCliPlugins(searchFrom = process.cwd(), oclifCommands) {
|
|
18
26
|
await import('@memberjunction/metadata-sync/plugins');
|
|
19
27
|
await import('@memberjunction/codegen-lib/plugins');
|
|
20
28
|
// The `dev` domain ships inside this CLI as plain oclif commands (they must stay
|
|
@@ -27,5 +35,13 @@ export async function loadAllCliPlugins(searchFrom = process.cwd()) {
|
|
|
27
35
|
for (const f of failed) {
|
|
28
36
|
process.stderr.write(`Warning: could not load CLI plugin "${f.specifier}": ${f.error}\n`);
|
|
29
37
|
}
|
|
38
|
+
// Tier-1 domain summaries: a hand-written line beats one synthesized from N command
|
|
39
|
+
// summaries. Registered for every profiled domain, including plugin-backed ones —
|
|
40
|
+
// first-wins means a plugin that already declared one keeps it.
|
|
41
|
+
for (const [domain, profile] of Object.entries(DOMAIN_PROFILES)) {
|
|
42
|
+
CLIPluginRegistry.RegisterDomainSummary(domain, profile.summary);
|
|
43
|
+
}
|
|
44
|
+
if (oclifCommands?.length)
|
|
45
|
+
registerDerivedUsage(oclifCommands);
|
|
30
46
|
}
|
|
31
47
|
//# sourceMappingURL=cli-plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-plugins.js","sourceRoot":"","sources":["../../src/lib/cli-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-plugins.js","sourceRoot":"","sources":["../../src/lib/cli-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,aAAqB,OAAO,CAAC,GAAG,EAAE,EAClC,aAA4C;IAE5C,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;IACtD,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;IACpD,iFAAiF;IACjF,oFAAoF;IACpF,2DAA2D;IAC3D,yBAAyB,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7E,6EAA6E;IAC7E,oDAAoD;IACpD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED,oFAAoF;IACpF,kFAAkF;IAClF,gEAAgE;IAChE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAChE,iBAAiB,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,aAAa,EAAE,MAAM;QAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derives `mj usage` entries for the commands that are still plain oclif
|
|
3
|
+
* `Command`s, straight from oclif's own manifest.
|
|
4
|
+
*
|
|
5
|
+
* Why derive rather than hand-write: `mj usage` tier 1 tells an agent
|
|
6
|
+
* *"Run `mj <domain> usage` before invoking. Do NOT guess flags."* — so a domain
|
|
7
|
+
* absent from that map reads as "this domain does not exist". Before this, only the
|
|
8
|
+
* handful of `BaseCLIPlugin` domains were registered, and the map confidently
|
|
9
|
+
* advertised a fraction of the CLI. A map that lies by omission is worse than no map,
|
|
10
|
+
* because an agent has no way to tell the difference.
|
|
11
|
+
*
|
|
12
|
+
* Hand-writing 80-odd `PluginUsage` literals would have fixed it once and rotted
|
|
13
|
+
* immediately. oclif already holds every command's description, flags, and examples
|
|
14
|
+
* and cannot fall out of sync with itself, so the only thing left to hand-maintain
|
|
15
|
+
* is what oclif genuinely doesn't know: the runtime budget (see `domain-profiles.ts`).
|
|
16
|
+
*
|
|
17
|
+
* Registration is additive and never overwrites: `CLIPluginRegistry.RegisterUsage`
|
|
18
|
+
* keeps the first entry per command key, and plugin-declared `static Usage` is read
|
|
19
|
+
* first, so a migrated command always keeps its richer, curated metadata.
|
|
20
|
+
*/
|
|
21
|
+
import { type PluginUsage } from '@memberjunction/cli-core';
|
|
22
|
+
/**
|
|
23
|
+
* The slice of oclif's `Command.Loadable` this module reads.
|
|
24
|
+
*
|
|
25
|
+
* Declared structurally rather than imported so the derivation can be unit-tested
|
|
26
|
+
* with plain literals, and so a future oclif shape change surfaces here rather than
|
|
27
|
+
* in every caller.
|
|
28
|
+
*/
|
|
29
|
+
export interface OclifCommandShape {
|
|
30
|
+
id: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
summary?: string;
|
|
33
|
+
hidden?: boolean;
|
|
34
|
+
flags?: Record<string, OclifFlagShape | undefined>;
|
|
35
|
+
examples?: ReadonlyArray<string | {
|
|
36
|
+
command?: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
40
|
+
/** The slice of an oclif flag definition this module reads. */
|
|
41
|
+
export interface OclifFlagShape {
|
|
42
|
+
type?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
char?: string;
|
|
45
|
+
options?: readonly string[];
|
|
46
|
+
required?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/** The domain is the first segment: `sync:push` → `sync`, `codegen` → `codegen`. */
|
|
49
|
+
export declare function domainOf(commandId: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Synthesizes a {@link PluginUsage} from one oclif command definition.
|
|
52
|
+
*
|
|
53
|
+
* Exported for testing — the registration path below is what production calls.
|
|
54
|
+
*/
|
|
55
|
+
export declare function deriveUsage(command: OclifCommandShape): PluginUsage;
|
|
56
|
+
/**
|
|
57
|
+
* Registers derived usage for every visible oclif command.
|
|
58
|
+
*
|
|
59
|
+
* Hidden commands and oclif's own built-ins (`help`, `version`) are skipped — the
|
|
60
|
+
* former are hidden from humans, so advertising them to an agent would be a strictly
|
|
61
|
+
* worse kind of surprise; the latter are not MJ domains. Already-registered commands
|
|
62
|
+
* (plugins, and the `dev` domain's explicit registrations) are left alone by
|
|
63
|
+
* `RegisterUsage`'s first-wins rule.
|
|
64
|
+
*
|
|
65
|
+
* Returns the keys it registered, so a caller or test can assert coverage.
|
|
66
|
+
*/
|
|
67
|
+
export declare function registerDerivedUsage(commands: readonly OclifCommandShape[]): string[];
|
|
68
|
+
//# sourceMappingURL=derived-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived-usage.d.ts","sourceRoot":"","sources":["../../src/lib/derived-usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAqB,KAAK,WAAW,EAAwB,MAAM,0BAA0B,CAAC;AAGrG;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElD;AAsCD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,CAenE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAUrF"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derives `mj usage` entries for the commands that are still plain oclif
|
|
3
|
+
* `Command`s, straight from oclif's own manifest.
|
|
4
|
+
*
|
|
5
|
+
* Why derive rather than hand-write: `mj usage` tier 1 tells an agent
|
|
6
|
+
* *"Run `mj <domain> usage` before invoking. Do NOT guess flags."* — so a domain
|
|
7
|
+
* absent from that map reads as "this domain does not exist". Before this, only the
|
|
8
|
+
* handful of `BaseCLIPlugin` domains were registered, and the map confidently
|
|
9
|
+
* advertised a fraction of the CLI. A map that lies by omission is worse than no map,
|
|
10
|
+
* because an agent has no way to tell the difference.
|
|
11
|
+
*
|
|
12
|
+
* Hand-writing 80-odd `PluginUsage` literals would have fixed it once and rotted
|
|
13
|
+
* immediately. oclif already holds every command's description, flags, and examples
|
|
14
|
+
* and cannot fall out of sync with itself, so the only thing left to hand-maintain
|
|
15
|
+
* is what oclif genuinely doesn't know: the runtime budget (see `domain-profiles.ts`).
|
|
16
|
+
*
|
|
17
|
+
* Registration is additive and never overwrites: `CLIPluginRegistry.RegisterUsage`
|
|
18
|
+
* keeps the first entry per command key, and plugin-declared `static Usage` is read
|
|
19
|
+
* first, so a migrated command always keeps its richer, curated metadata.
|
|
20
|
+
*/
|
|
21
|
+
import { CLIPluginRegistry } from '@memberjunction/cli-core';
|
|
22
|
+
import { getDomainProfile } from './domain-profiles.js';
|
|
23
|
+
/**
|
|
24
|
+
* oclif's own built-in plugin commands. They are real commands, but they are not part
|
|
25
|
+
* of MJ's surface — advertising `help` and `version` as top-level *domains* in the
|
|
26
|
+
* tier-1 map would push two non-domains ahead of real ones for no benefit.
|
|
27
|
+
*/
|
|
28
|
+
const BUILT_IN_COMMANDS = new Set(['help', 'version']);
|
|
29
|
+
/** oclif ids are colon-separated internally but render with the configured separator. */
|
|
30
|
+
function normalizeCommandKey(id) {
|
|
31
|
+
return id.trim().replace(/[\s:]+/g, ':');
|
|
32
|
+
}
|
|
33
|
+
/** The domain is the first segment: `sync:push` → `sync`, `codegen` → `codegen`. */
|
|
34
|
+
export function domainOf(commandId) {
|
|
35
|
+
return normalizeCommandKey(commandId).split(':')[0] ?? commandId;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* First sentence (or first line) of a description, for the one-line summary.
|
|
39
|
+
* oclif descriptions are frequently multi-paragraph; the tier-1 map has room for one line.
|
|
40
|
+
*/
|
|
41
|
+
function firstLine(text) {
|
|
42
|
+
if (!text)
|
|
43
|
+
return undefined;
|
|
44
|
+
const line = text.split('\n').map((l) => l.trim()).find((l) => l.length > 0);
|
|
45
|
+
if (!line)
|
|
46
|
+
return undefined;
|
|
47
|
+
const sentence = /^(.*?[.!?])(\s|$)/.exec(line);
|
|
48
|
+
return (sentence?.[1] ?? line).trim();
|
|
49
|
+
}
|
|
50
|
+
/** oclif accepts examples as strings or `{command, description}` objects. */
|
|
51
|
+
function normalizeExamples(examples) {
|
|
52
|
+
if (!examples?.length)
|
|
53
|
+
return undefined;
|
|
54
|
+
const out = examples
|
|
55
|
+
.map((e) => (typeof e === 'string' ? e : e.command))
|
|
56
|
+
.filter((e) => typeof e === 'string' && e.length > 0);
|
|
57
|
+
return out.length > 0 ? out : undefined;
|
|
58
|
+
}
|
|
59
|
+
/** Converts oclif's flag record to the usage surface's flag list, options included. */
|
|
60
|
+
function normalizeFlags(flags) {
|
|
61
|
+
if (!flags)
|
|
62
|
+
return undefined;
|
|
63
|
+
const out = [];
|
|
64
|
+
for (const [name, def] of Object.entries(flags)) {
|
|
65
|
+
if (!def)
|
|
66
|
+
continue;
|
|
67
|
+
const type = def.options?.length ? def.options.join('|') : (def.type ?? 'string');
|
|
68
|
+
const parts = [def.description ?? ''];
|
|
69
|
+
if (def.char)
|
|
70
|
+
parts.push(`(-${def.char})`);
|
|
71
|
+
if (def.required)
|
|
72
|
+
parts.push('(required)');
|
|
73
|
+
out.push({ name: `--${name}`, type, description: parts.filter(Boolean).join(' ').trim() });
|
|
74
|
+
}
|
|
75
|
+
return out.length > 0 ? out : undefined;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Synthesizes a {@link PluginUsage} from one oclif command definition.
|
|
79
|
+
*
|
|
80
|
+
* Exported for testing — the registration path below is what production calls.
|
|
81
|
+
*/
|
|
82
|
+
export function deriveUsage(command) {
|
|
83
|
+
const key = normalizeCommandKey(command.id);
|
|
84
|
+
const domain = domainOf(key);
|
|
85
|
+
const profile = getDomainProfile(domain);
|
|
86
|
+
const description = command.description ?? command.summary;
|
|
87
|
+
return {
|
|
88
|
+
domain,
|
|
89
|
+
command: key,
|
|
90
|
+
summary: command.summary ?? firstLine(description) ?? `mj ${key.replace(/:/g, ' ')}`,
|
|
91
|
+
description,
|
|
92
|
+
flags: normalizeFlags(command.flags),
|
|
93
|
+
examples: normalizeExamples(command.examples),
|
|
94
|
+
runtime: profile.runtime,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Registers derived usage for every visible oclif command.
|
|
99
|
+
*
|
|
100
|
+
* Hidden commands and oclif's own built-ins (`help`, `version`) are skipped — the
|
|
101
|
+
* former are hidden from humans, so advertising them to an agent would be a strictly
|
|
102
|
+
* worse kind of surprise; the latter are not MJ domains. Already-registered commands
|
|
103
|
+
* (plugins, and the `dev` domain's explicit registrations) are left alone by
|
|
104
|
+
* `RegisterUsage`'s first-wins rule.
|
|
105
|
+
*
|
|
106
|
+
* Returns the keys it registered, so a caller or test can assert coverage.
|
|
107
|
+
*/
|
|
108
|
+
export function registerDerivedUsage(commands) {
|
|
109
|
+
const registered = [];
|
|
110
|
+
for (const command of commands) {
|
|
111
|
+
if (!command?.id || command.hidden)
|
|
112
|
+
continue;
|
|
113
|
+
if (BUILT_IN_COMMANDS.has(normalizeCommandKey(command.id)))
|
|
114
|
+
continue;
|
|
115
|
+
const usage = deriveUsage(command);
|
|
116
|
+
CLIPluginRegistry.RegisterUsage(usage);
|
|
117
|
+
registered.push(usage.command);
|
|
118
|
+
}
|
|
119
|
+
return registered;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=derived-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived-usage.js","sourceRoot":"","sources":["../../src/lib/derived-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { RuntimeHint } from '@memberjunction/cli-core';
|
|
2
|
+
/**
|
|
3
|
+
* Per-domain runtime + summary for the commands that are still plain oclif
|
|
4
|
+
* `Command`s rather than `BaseCLIPlugin` subclasses.
|
|
5
|
+
*
|
|
6
|
+
* This table is deliberately the ONLY hand-maintained part of the usage surface.
|
|
7
|
+
* Everything else about an unmigrated command — its description, flags, and
|
|
8
|
+
* examples — is derived from oclif's own manifest at runtime (see
|
|
9
|
+
* `derived-usage.ts`), so it cannot drift from the actual command.
|
|
10
|
+
*
|
|
11
|
+
* What lives here is exactly what oclif does not know: how long a command tends to
|
|
12
|
+
* run (so an agent can budget a timeout) and a one-line domain summary for the
|
|
13
|
+
* tier-1 map. A domain missing from this table still appears — it just falls back
|
|
14
|
+
* to {@link DEFAULT_DOMAIN_PROFILE}, so adding a command can never make `mj usage`
|
|
15
|
+
* lie by omission.
|
|
16
|
+
*/
|
|
17
|
+
export interface DomainProfile {
|
|
18
|
+
/** One line for the tier-1 `mj usage` map. */
|
|
19
|
+
summary: string;
|
|
20
|
+
/** Timeout budget for the slowest command in the domain. */
|
|
21
|
+
runtime: RuntimeHint;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Applied to any domain not listed below. `variable` is the honest answer for an
|
|
25
|
+
* undocumented command — it tells an agent "I don't know, don't set a tight timeout"
|
|
26
|
+
* rather than implying a fast run.
|
|
27
|
+
*/
|
|
28
|
+
export declare const DEFAULT_DOMAIN_PROFILE: DomainProfile;
|
|
29
|
+
/**
|
|
30
|
+
* Per-domain profiles.
|
|
31
|
+
*
|
|
32
|
+
* Domains whose commands ship as `BaseCLIPlugin` plugins (`sync`, `codegen`) still
|
|
33
|
+
* appear here: a plugin declares usage per COMMAND, and the tier-1 map needs a line
|
|
34
|
+
* for the DOMAIN. Without one, a multi-command domain renders as one command's
|
|
35
|
+
* summary plus "(+7 more commands)", which tells an agent nothing about what the
|
|
36
|
+
* domain is for. The per-command metadata those plugins declare is untouched —
|
|
37
|
+
* `RegisterUsage` is first-wins and reads plugin metadata first.
|
|
38
|
+
*/
|
|
39
|
+
export declare const DOMAIN_PROFILES: Readonly<Record<string, DomainProfile>>;
|
|
40
|
+
/** The profile for a domain, falling back to {@link DEFAULT_DOMAIN_PROFILE}. */
|
|
41
|
+
export declare function getDomainProfile(domain: string): DomainProfile;
|
|
42
|
+
//# sourceMappingURL=domain-profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-profiles.d.ts","sourceRoot":"","sources":["../../src/lib/domain-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAGpC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CA6FnE,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAE9D"}
|