@memberjunction/cli 6.2.0-edge.0 → 6.2.0-edge.1
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/baseline/cli-helpers.d.ts +4 -0
- package/dist/baseline/cli-helpers.d.ts.map +1 -1
- package/dist/baseline/cli-helpers.js +18 -10
- package/dist/baseline/cli-helpers.js.map +1 -1
- package/dist/baseline/comparator.d.ts +5 -3
- package/dist/baseline/comparator.d.ts.map +1 -1
- package/dist/baseline/comparator.js +142 -138
- package/dist/baseline/comparator.js.map +1 -1
- package/dist/baseline/connection.d.ts +8 -6
- package/dist/baseline/connection.d.ts.map +1 -1
- package/dist/baseline/connection.js +16 -12
- package/dist/baseline/connection.js.map +1 -1
- package/dist/baseline/data-dumper.d.ts +7 -3
- package/dist/baseline/data-dumper.d.ts.map +1 -1
- package/dist/baseline/data-dumper.js +33 -25
- package/dist/baseline/data-dumper.js.map +1 -1
- package/dist/baseline/emitter.d.ts +5 -3
- package/dist/baseline/emitter.d.ts.map +1 -1
- package/dist/baseline/emitter.js +114 -110
- package/dist/baseline/emitter.js.map +1 -1
- package/dist/baseline/index.d.ts +7 -7
- package/dist/baseline/index.d.ts.map +1 -1
- package/dist/baseline/index.js +7 -7
- package/dist/baseline/index.js.map +1 -1
- package/dist/baseline/introspector-mssql.d.ts +2 -0
- package/dist/baseline/introspector-mssql.d.ts.map +1 -1
- package/dist/baseline/introspector-mssql.js +68 -64
- package/dist/baseline/introspector-mssql.js.map +1 -1
- package/dist/baseline/introspector-postgres.d.ts +2 -0
- package/dist/baseline/introspector-postgres.d.ts.map +1 -1
- package/dist/baseline/introspector-postgres.js +34 -30
- package/dist/baseline/introspector-postgres.js.map +1 -1
- package/dist/baseline/report.d.ts +4 -0
- package/dist/baseline/report.d.ts.map +1 -1
- package/dist/baseline/report.js +25 -17
- package/dist/baseline/report.js.map +1 -1
- package/dist/baseline/types.d.ts +71 -71
- package/dist/baseline/util.d.ts +54 -6
- package/dist/baseline/util.d.ts.map +1 -1
- package/dist/baseline/util.js +112 -36
- package/dist/baseline/util.js.map +1 -1
- package/dist/commands/ai/actions/list.js +7 -7
- package/dist/commands/ai/actions/run.js +7 -7
- package/dist/commands/ai/agents/list.js +7 -7
- package/dist/commands/ai/agents/run.js +9 -9
- package/dist/commands/ai/audit/agent-run.js +7 -7
- package/dist/commands/ai/prompts/run.js +7 -7
- package/dist/commands/app/check-updates.js +5 -5
- package/dist/commands/app/disable.js +2 -2
- package/dist/commands/app/enable.js +2 -2
- package/dist/commands/app/info.js +2 -2
- package/dist/commands/app/install.js +2 -2
- package/dist/commands/app/list.js +2 -2
- package/dist/commands/app/remove.js +4 -4
- package/dist/commands/app/upgrade.js +2 -2
- package/dist/commands/artifacts/reclassify.js +2 -2
- package/dist/commands/baseline/build.js +31 -31
- package/dist/commands/baseline/build.js.map +1 -1
- package/dist/commands/baseline/compare.js +36 -36
- package/dist/commands/baseline/roundtrip.js +56 -54
- package/dist/commands/baseline/roundtrip.js.map +1 -1
- package/dist/commands/bundle/index.js +4 -4
- package/dist/commands/clean/index.js +3 -3
- package/dist/commands/codegen/manifest.d.ts +2 -0
- package/dist/commands/codegen/manifest.d.ts.map +1 -1
- package/dist/commands/codegen/manifest.js +8 -4
- package/dist/commands/codegen/manifest.js.map +1 -1
- package/dist/commands/dev/workspace/index.d.ts +2 -0
- package/dist/commands/dev/workspace/index.d.ts.map +1 -1
- package/dist/commands/dev/workspace/index.js +8 -4
- package/dist/commands/dev/workspace/index.js.map +1 -1
- package/dist/commands/install/claude.d.ts +2 -0
- package/dist/commands/install/claude.d.ts.map +1 -1
- package/dist/commands/install/claude.js +11 -7
- package/dist/commands/install/claude.js.map +1 -1
- package/dist/commands/install/index.js +3 -3
- package/dist/commands/migrate/convert.d.ts +21 -0
- package/dist/commands/migrate/convert.d.ts.map +1 -1
- package/dist/commands/migrate/convert.js +22 -6
- package/dist/commands/migrate/convert.js.map +1 -1
- package/dist/commands/migrate/create.js +2 -2
- package/dist/commands/migrate/index.js +16 -16
- package/dist/commands/sync/file-reset.js +2 -2
- package/dist/commands/sync/init.js +3 -3
- package/dist/commands/test/compare.js +6 -6
- package/dist/commands/test/history.js +6 -6
- package/dist/commands/test/list.js +6 -6
- package/dist/commands/test/regression/build.js +5 -5
- package/dist/commands/test/regression/compare.js +3 -3
- package/dist/commands/test/regression/down.js +4 -4
- package/dist/commands/test/regression/export.js +4 -4
- package/dist/commands/test/regression/gen-forms.js +3 -3
- package/dist/commands/test/regression/remote.js +10 -10
- package/dist/commands/test/regression/up.js +6 -6
- package/dist/commands/test/run.js +6 -6
- package/dist/commands/test/suite.js +6 -6
- package/dist/commands/test/validate.js +6 -6
- package/dist/commands/translate-sql/index.js +25 -25
- package/dist/commands/update/claude.js +7 -7
- package/dist/commands/usage.js +4 -4
- package/dist/config.d.ts +175 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -9
- package/dist/config.js.map +1 -1
- package/dist/hooks/postrun.js +2 -2
- package/dist/hooks/prerun.js +2 -2
- package/dist/hooks/prerun.js.map +1 -1
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts +6 -0
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts.map +1 -1
- package/dist/lib/claude-pack/ManagedBlockEditor.js +18 -6
- package/dist/lib/claude-pack/ManagedBlockEditor.js.map +1 -1
- package/dist/lib/claude-pack/PackFetcher.d.ts +8 -3
- package/dist/lib/claude-pack/PackFetcher.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackFetcher.js +26 -18
- package/dist/lib/claude-pack/PackFetcher.js.map +1 -1
- package/dist/lib/claude-pack/PackInstaller.d.ts +6 -2
- package/dist/lib/claude-pack/PackInstaller.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackInstaller.js +19 -13
- package/dist/lib/claude-pack/PackInstaller.js.map +1 -1
- package/dist/lib/claude-pack/PackMerger.d.ts +8 -0
- package/dist/lib/claude-pack/PackMerger.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackMerger.js +63 -57
- package/dist/lib/claude-pack/PackMerger.js.map +1 -1
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts +4 -0
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackOutputFormatter.js +10 -2
- package/dist/lib/claude-pack/PackOutputFormatter.js.map +1 -1
- package/dist/lib/claude-pack/PackPaths.d.ts +12 -0
- package/dist/lib/claude-pack/PackPaths.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackPaths.js +31 -7
- package/dist/lib/claude-pack/PackPaths.js.map +1 -1
- package/dist/lib/claude-pack/PackTypes.d.ts +18 -14
- package/dist/lib/claude-pack/PackTypes.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackTypes.js +11 -3
- package/dist/lib/claude-pack/PackTypes.js.map +1 -1
- package/dist/lib/claude-pack/SettingsMerger.d.ts +10 -0
- package/dist/lib/claude-pack/SettingsMerger.d.ts.map +1 -1
- package/dist/lib/claude-pack/SettingsMerger.js +36 -16
- package/dist/lib/claude-pack/SettingsMerger.js.map +1 -1
- package/dist/lib/cli-plugins.d.ts +2 -0
- package/dist/lib/cli-plugins.d.ts.map +1 -1
- package/dist/lib/cli-plugins.js +8 -4
- package/dist/lib/cli-plugins.js.map +1 -1
- package/dist/lib/db-preflight.d.ts +2 -0
- package/dist/lib/db-preflight.d.ts.map +1 -1
- package/dist/lib/db-preflight.js +12 -8
- package/dist/lib/db-preflight.js.map +1 -1
- package/dist/lib/db-version.d.ts +2 -0
- package/dist/lib/db-version.d.ts.map +1 -1
- package/dist/lib/db-version.js +5 -1
- package/dist/lib/db-version.js.map +1 -1
- package/dist/lib/derived-usage.d.ts +14 -8
- package/dist/lib/derived-usage.d.ts.map +1 -1
- package/dist/lib/derived-usage.js +30 -18
- package/dist/lib/derived-usage.js.map +1 -1
- package/dist/lib/domain-profiles.d.ts +4 -2
- package/dist/lib/domain-profiles.d.ts.map +1 -1
- package/dist/lib/domain-profiles.js +53 -49
- package/dist/lib/domain-profiles.js.map +1 -1
- package/dist/lib/domain-usage-command.js +4 -4
- package/dist/lib/dynamic-packages.d.ts +4 -2
- package/dist/lib/dynamic-packages.d.ts.map +1 -1
- package/dist/lib/dynamic-packages.js +9 -5
- package/dist/lib/dynamic-packages.js.map +1 -1
- package/dist/lib/format-compat.d.ts +9 -7
- package/dist/lib/format-compat.d.ts.map +1 -1
- package/dist/lib/format-compat.js +12 -8
- package/dist/lib/format-compat.js.map +1 -1
- package/dist/lib/interactive-guard.d.ts +16 -0
- package/dist/lib/interactive-guard.d.ts.map +1 -1
- package/dist/lib/interactive-guard.js +18 -6
- package/dist/lib/interactive-guard.js.map +1 -1
- package/dist/lib/migration-fetch.d.ts +16 -4
- package/dist/lib/migration-fetch.d.ts.map +1 -1
- package/dist/lib/migration-fetch.js +30 -18
- package/dist/lib/migration-fetch.js.map +1 -1
- package/dist/lib/regression/docker-helpers.d.ts +24 -0
- package/dist/lib/regression/docker-helpers.d.ts.map +1 -1
- package/dist/lib/regression/docker-helpers.js +46 -10
- package/dist/lib/regression/docker-helpers.js.map +1 -1
- package/dist/lib/usage-render.d.ts +6 -0
- package/dist/lib/usage-render.d.ts.map +1 -1
- package/dist/lib/usage-render.js +15 -3
- package/dist/lib/usage-render.js.map +1 -1
- package/dist/translate-sql/groundTruth.d.ts +3 -3
- package/dist/translate-sql/groundTruth.js +40 -40
- package/dist/translate-sql/reportGenerator.d.ts +7 -7
- package/dist/translate-sql/reportGenerator.js +18 -18
- package/dist/translate-sql/ruleTranslator.d.ts +3 -3
- package/dist/translate-sql/ruleTranslator.js +8 -8
- package/dist/translate-sql/ruleTranslator.js.map +1 -1
- package/dist/utils/open-app-context.d.ts +21 -0
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +26 -10
- package/dist/utils/open-app-context.js.map +1 -1
- package/oclif.manifest.json +1185 -1185
- package/package.json +22 -22
package/dist/baseline/util.js
CHANGED
|
@@ -7,19 +7,31 @@
|
|
|
7
7
|
import * as fs from 'node:fs';
|
|
8
8
|
import * as path from 'node:path';
|
|
9
9
|
/** Lower-case schema-qualified name used for sort keys and sets. */
|
|
10
|
-
export function
|
|
10
|
+
export function Qname(schema, name) {
|
|
11
11
|
return `${schema}.${name}`.toLowerCase();
|
|
12
12
|
}
|
|
13
|
+
/** @deprecated Use {@link Qname}. */
|
|
14
|
+
export function qname(schema, name) {
|
|
15
|
+
return Qname(schema, name);
|
|
16
|
+
}
|
|
13
17
|
/** Quote a T-SQL identifier with brackets, escaping any embedded `]`. */
|
|
14
|
-
export function
|
|
18
|
+
export function QuoteIdent(name) {
|
|
15
19
|
return `[${name.replace(/]/g, ']]')}]`;
|
|
16
20
|
}
|
|
21
|
+
/** @deprecated Use {@link QuoteIdent}. */
|
|
22
|
+
export function quoteIdent(name) {
|
|
23
|
+
return QuoteIdent(name);
|
|
24
|
+
}
|
|
17
25
|
/** Quote a T-SQL string literal, escaping single quotes. */
|
|
18
|
-
export function
|
|
26
|
+
export function QuoteString(value) {
|
|
19
27
|
return `N'${value.replace(/'/g, "''")}'`;
|
|
20
28
|
}
|
|
29
|
+
/** @deprecated Use {@link QuoteString}. */
|
|
30
|
+
export function quoteString(value) {
|
|
31
|
+
return QuoteString(value);
|
|
32
|
+
}
|
|
21
33
|
/** Stable sort by a key extractor; preserves input order for ties. */
|
|
22
|
-
export function
|
|
34
|
+
export function StableSortBy(items, key) {
|
|
23
35
|
return items
|
|
24
36
|
.map((item, index) => ({ item, index, key: key(item) }))
|
|
25
37
|
.sort((a, b) => {
|
|
@@ -31,6 +43,10 @@ export function stableSortBy(items, key) {
|
|
|
31
43
|
})
|
|
32
44
|
.map((wrapped) => wrapped.item);
|
|
33
45
|
}
|
|
46
|
+
/** @deprecated Use {@link StableSortBy}. */
|
|
47
|
+
export function stableSortBy(items, key) {
|
|
48
|
+
return StableSortBy(items, key);
|
|
49
|
+
}
|
|
34
50
|
/** Cross-platform line endings: emit LF only. Caller normalizes if needed. */
|
|
35
51
|
export const NL = '\n';
|
|
36
52
|
/**
|
|
@@ -41,15 +57,23 @@ export const NL = '\n';
|
|
|
41
57
|
*/
|
|
42
58
|
export const EXCLUDED_TABLE_NAMES = new Set(['flyway_schema_history']);
|
|
43
59
|
/** Returns true if a table (by bare name) is one we never emit in a baseline. */
|
|
44
|
-
export function
|
|
60
|
+
export function IsExcludedTable(name) {
|
|
45
61
|
return EXCLUDED_TABLE_NAMES.has(name.toLowerCase());
|
|
46
62
|
}
|
|
63
|
+
/** @deprecated Use {@link IsExcludedTable}. */
|
|
64
|
+
export function isExcludedTable(name) {
|
|
65
|
+
return IsExcludedTable(name);
|
|
66
|
+
}
|
|
47
67
|
/** Canonical ISO-8601 UTC stamp without milliseconds: 2026-05-02T19:47:00Z. */
|
|
48
|
-
export function
|
|
68
|
+
export function IsoUtcSeconds(date) {
|
|
49
69
|
return date.toISOString().replace(/\.\d{3}Z$/, 'Z');
|
|
50
70
|
}
|
|
71
|
+
/** @deprecated Use {@link IsoUtcSeconds}. */
|
|
72
|
+
export function isoUtcSeconds(date) {
|
|
73
|
+
return IsoUtcSeconds(date);
|
|
74
|
+
}
|
|
51
75
|
/** Filename timestamp: YYYYMMDDHHMM in UTC. */
|
|
52
|
-
export function
|
|
76
|
+
export function FileStamp(date) {
|
|
53
77
|
const pad = (n) => String(n).padStart(2, '0');
|
|
54
78
|
return (date.getUTCFullYear().toString() +
|
|
55
79
|
pad(date.getUTCMonth() + 1) +
|
|
@@ -57,12 +81,20 @@ export function fileStamp(date) {
|
|
|
57
81
|
pad(date.getUTCHours()) +
|
|
58
82
|
pad(date.getUTCMinutes()));
|
|
59
83
|
}
|
|
84
|
+
/** @deprecated Use {@link FileStamp}. */
|
|
85
|
+
export function fileStamp(date) {
|
|
86
|
+
return FileStamp(date);
|
|
87
|
+
}
|
|
60
88
|
/** Build the canonical filename for a baseline migration. */
|
|
89
|
+
export function BaselineFilename(opts) {
|
|
90
|
+
return `B${FileStamp(opts.generatedAtUtc)}__v${opts.baselineVersion}.x__Baseline.sql`;
|
|
91
|
+
}
|
|
92
|
+
/** @deprecated Use {@link BaselineFilename}. */
|
|
61
93
|
export function baselineFilename(opts) {
|
|
62
|
-
return
|
|
94
|
+
return BaselineFilename(opts);
|
|
63
95
|
}
|
|
64
96
|
/** Inverse of {@link fileStamp}: parses a YYYYMMDDHHMM string into a UTC Date. */
|
|
65
|
-
export function
|
|
97
|
+
export function ParseFileStamp(stamp) {
|
|
66
98
|
if (!/^\d{12}$/.test(stamp)) {
|
|
67
99
|
throw new Error(`Invalid YYYYMMDDHHMM stamp: ${stamp}`);
|
|
68
100
|
}
|
|
@@ -73,23 +105,35 @@ export function parseFileStamp(stamp) {
|
|
|
73
105
|
const mi = Number(stamp.slice(10, 12));
|
|
74
106
|
return new Date(Date.UTC(y, mo, d, h, mi));
|
|
75
107
|
}
|
|
108
|
+
/** @deprecated Use {@link ParseFileStamp}. */
|
|
109
|
+
export function parseFileStamp(stamp) {
|
|
110
|
+
return ParseFileStamp(stamp);
|
|
111
|
+
}
|
|
76
112
|
/** Return a new Date offset by N minutes (negative for past). */
|
|
77
|
-
export function
|
|
113
|
+
export function AddMinutes(date, minutes) {
|
|
78
114
|
return new Date(date.getTime() + minutes * 60_000);
|
|
79
115
|
}
|
|
80
|
-
|
|
116
|
+
/** @deprecated Use {@link AddMinutes}. */
|
|
117
|
+
export function addMinutes(date, minutes) {
|
|
118
|
+
return AddMinutes(date, minutes);
|
|
119
|
+
}
|
|
120
|
+
export function ParseMigrationFilename(filename) {
|
|
81
121
|
const match = /^([VB])(\d{12})__v(\d+)\.(\d+)/.exec(filename);
|
|
82
122
|
if (!match)
|
|
83
123
|
return null;
|
|
84
124
|
return {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
filename,
|
|
125
|
+
Kind: match[1],
|
|
126
|
+
Timestamp: match[2],
|
|
127
|
+
Major: Number(match[3]),
|
|
128
|
+
Minor: Number(match[4]),
|
|
129
|
+
MajorMinor: `${match[3]}.${match[4]}`,
|
|
130
|
+
Filename: filename,
|
|
91
131
|
};
|
|
92
132
|
}
|
|
133
|
+
/** @deprecated Use {@link ParseMigrationFilename}. */
|
|
134
|
+
export function parseMigrationFilename(filename) {
|
|
135
|
+
return ParseMigrationFilename(filename);
|
|
136
|
+
}
|
|
93
137
|
/**
|
|
94
138
|
* Scan a migrations source directory and return the latest V-file by timestamp.
|
|
95
139
|
* Files that don't match the expected shape are silently ignored.
|
|
@@ -97,7 +141,7 @@ export function parseMigrationFilename(filename) {
|
|
|
97
141
|
* Used by within-major rebaseline to derive the new baseline's version + timestamp
|
|
98
142
|
* from the head of the existing V-stack.
|
|
99
143
|
*/
|
|
100
|
-
export function
|
|
144
|
+
export function FindLatestVersionedMigration(sourceDir) {
|
|
101
145
|
if (!fs.existsSync(sourceDir) || !fs.statSync(sourceDir).isDirectory()) {
|
|
102
146
|
return null;
|
|
103
147
|
}
|
|
@@ -106,16 +150,20 @@ export function findLatestVersionedMigration(sourceDir) {
|
|
|
106
150
|
for (const name of entries) {
|
|
107
151
|
if (!name.toLowerCase().endsWith('.sql'))
|
|
108
152
|
continue;
|
|
109
|
-
const parsed =
|
|
110
|
-
if (!parsed || parsed.
|
|
153
|
+
const parsed = ParseMigrationFilename(name);
|
|
154
|
+
if (!parsed || parsed.Kind !== 'V')
|
|
111
155
|
continue;
|
|
112
|
-
if (!best || parsed.
|
|
156
|
+
if (!best || parsed.Timestamp > best.Timestamp)
|
|
113
157
|
best = parsed;
|
|
114
158
|
}
|
|
115
159
|
return best;
|
|
116
160
|
}
|
|
161
|
+
/** @deprecated Use {@link FindLatestVersionedMigration}. */
|
|
162
|
+
export function findLatestVersionedMigration(sourceDir) {
|
|
163
|
+
return FindLatestVersionedMigration(sourceDir);
|
|
164
|
+
}
|
|
117
165
|
/** Same as {@link findLatestVersionedMigration} but for `B`-prefixed baseline files. */
|
|
118
|
-
export function
|
|
166
|
+
export function FindLatestBaselineMigration(sourceDir) {
|
|
119
167
|
if (!fs.existsSync(sourceDir) || !fs.statSync(sourceDir).isDirectory()) {
|
|
120
168
|
return null;
|
|
121
169
|
}
|
|
@@ -124,14 +172,18 @@ export function findLatestBaselineMigration(sourceDir) {
|
|
|
124
172
|
for (const name of entries) {
|
|
125
173
|
if (!name.toLowerCase().endsWith('.sql'))
|
|
126
174
|
continue;
|
|
127
|
-
const parsed =
|
|
128
|
-
if (!parsed || parsed.
|
|
175
|
+
const parsed = ParseMigrationFilename(name);
|
|
176
|
+
if (!parsed || parsed.Kind !== 'B')
|
|
129
177
|
continue;
|
|
130
|
-
if (!best || parsed.
|
|
178
|
+
if (!best || parsed.Timestamp > best.Timestamp)
|
|
131
179
|
best = parsed;
|
|
132
180
|
}
|
|
133
181
|
return best;
|
|
134
182
|
}
|
|
183
|
+
/** @deprecated Use {@link FindLatestBaselineMigration}. */
|
|
184
|
+
export function findLatestBaselineMigration(sourceDir) {
|
|
185
|
+
return FindLatestBaselineMigration(sourceDir);
|
|
186
|
+
}
|
|
135
187
|
/**
|
|
136
188
|
* Walk up from `cwd` looking for a `migrations/` directory, then return the path
|
|
137
189
|
* to the highest-numbered `vN/` subdirectory inside it. Returns null if nothing
|
|
@@ -140,7 +192,7 @@ export function findLatestBaselineMigration(sourceDir) {
|
|
|
140
192
|
* Stops walking at the filesystem root. Used so the CLI can auto-locate the
|
|
141
193
|
* source dir for within-major rebaseline without forcing the caller to pass `--source-dir`.
|
|
142
194
|
*/
|
|
143
|
-
export function
|
|
195
|
+
export function DiscoverMigrationsSourceDir(cwd) {
|
|
144
196
|
let dir = path.resolve(cwd);
|
|
145
197
|
for (let i = 0; i < 16; i++) {
|
|
146
198
|
const candidate = path.join(dir, 'migrations');
|
|
@@ -161,22 +213,30 @@ export function discoverMigrationsSourceDir(cwd) {
|
|
|
161
213
|
}
|
|
162
214
|
return null;
|
|
163
215
|
}
|
|
216
|
+
/** @deprecated Use {@link DiscoverMigrationsSourceDir}. */
|
|
217
|
+
export function discoverMigrationsSourceDir(cwd) {
|
|
218
|
+
return DiscoverMigrationsSourceDir(cwd);
|
|
219
|
+
}
|
|
164
220
|
/**
|
|
165
221
|
* Compute the canonical generated-at timestamp for a within-major rebaseline.
|
|
166
222
|
* The new baseline's filename timestamp is exactly 1 minute after the latest
|
|
167
223
|
* V-file's timestamp — guaranteeing the new B-file sorts after the V-stack it
|
|
168
224
|
* succeeds, while remaining deterministic across re-runs against the same input.
|
|
169
225
|
*/
|
|
226
|
+
export function ComputeAutoBaselineStamp(latestVTimestamp) {
|
|
227
|
+
const parsed = ParseFileStamp(latestVTimestamp);
|
|
228
|
+
const next = AddMinutes(parsed, 1);
|
|
229
|
+
return { generatedAtUtc: next, fileStamp: FileStamp(next) };
|
|
230
|
+
}
|
|
231
|
+
/** @deprecated Use {@link ComputeAutoBaselineStamp}. */
|
|
170
232
|
export function computeAutoBaselineStamp(latestVTimestamp) {
|
|
171
|
-
|
|
172
|
-
const next = addMinutes(parsed, 1);
|
|
173
|
-
return { generatedAtUtc: next, fileStamp: fileStamp(next) };
|
|
233
|
+
return ComputeAutoBaselineStamp(latestVTimestamp);
|
|
174
234
|
}
|
|
175
235
|
/**
|
|
176
236
|
* Format a JS value as a T-SQL literal. Used by the data dumper.
|
|
177
237
|
* Returns `NULL` for null/undefined, otherwise a typed literal.
|
|
178
238
|
*/
|
|
179
|
-
export function
|
|
239
|
+
export function FormatTsqlValue(value) {
|
|
180
240
|
if (value === null || value === undefined)
|
|
181
241
|
return 'NULL';
|
|
182
242
|
if (typeof value === 'boolean')
|
|
@@ -202,15 +262,19 @@ export function formatTsqlValue(value) {
|
|
|
202
262
|
return '0x' + Buffer.from(value).toString('hex').toUpperCase();
|
|
203
263
|
}
|
|
204
264
|
if (typeof value === 'string')
|
|
205
|
-
return
|
|
265
|
+
return QuoteString(value);
|
|
206
266
|
if (typeof value === 'object') {
|
|
207
267
|
// Fallback: JSON-serialize objects (rare; mssql driver returns primitives)
|
|
208
|
-
return
|
|
268
|
+
return QuoteString(JSON.stringify(value));
|
|
209
269
|
}
|
|
210
270
|
throw new Error(`Unsupported value type for T-SQL literal: ${typeof value}`);
|
|
211
271
|
}
|
|
272
|
+
/** @deprecated Use {@link FormatTsqlValue}. */
|
|
273
|
+
export function formatTsqlValue(value) {
|
|
274
|
+
return FormatTsqlValue(value);
|
|
275
|
+
}
|
|
212
276
|
/** Strict equality used by the comparator for column values. */
|
|
213
|
-
export function
|
|
277
|
+
export function DeepValueEqual(a, b) {
|
|
214
278
|
if (a === b)
|
|
215
279
|
return true;
|
|
216
280
|
if (a === null || a === undefined)
|
|
@@ -241,10 +305,18 @@ export function deepValueEqual(a, b) {
|
|
|
241
305
|
}
|
|
242
306
|
return false;
|
|
243
307
|
}
|
|
308
|
+
/** @deprecated Use {@link DeepValueEqual}. */
|
|
309
|
+
export function deepValueEqual(a, b) {
|
|
310
|
+
return DeepValueEqual(a, b);
|
|
311
|
+
}
|
|
244
312
|
/** Truncate a string with an ellipsis for diff output. */
|
|
245
|
-
export function
|
|
313
|
+
export function Ellipsize(value, max = 80) {
|
|
246
314
|
return value.length <= max ? value : value.slice(0, max - 1) + '…';
|
|
247
315
|
}
|
|
316
|
+
/** @deprecated Use {@link Ellipsize}. */
|
|
317
|
+
export function ellipsize(value, max = 80) {
|
|
318
|
+
return Ellipsize(value, max);
|
|
319
|
+
}
|
|
248
320
|
/**
|
|
249
321
|
* Topologically sort a list of SQL routines (views/functions/procs/triggers)
|
|
250
322
|
* by inferred dependencies. A routine A depends on B if A's `definition` text
|
|
@@ -257,12 +329,12 @@ export function ellipsize(value, max = 80) {
|
|
|
257
329
|
* MSSQL `CREATE VIEW`/`CREATE FUNCTION` reject forward references at create
|
|
258
330
|
* time, so without this sort we hit `Invalid object name` errors on apply.
|
|
259
331
|
*/
|
|
260
|
-
export function
|
|
332
|
+
export function TopoSortRoutinesByDefinition(items) {
|
|
261
333
|
if (items.length <= 1)
|
|
262
334
|
return items.slice();
|
|
263
335
|
const byKey = new Map();
|
|
264
336
|
for (const r of items)
|
|
265
|
-
byKey.set(
|
|
337
|
+
byKey.set(Qname(r.schema, r.name), r);
|
|
266
338
|
// Precompute lowercased bodies, with bracket-quoted identifiers normalized
|
|
267
339
|
// so that `[__mj].[vwEntities]` matches the qname `__mj.vwentities`. Without
|
|
268
340
|
// this we miss bracket-style references — which is the form MSSQL routines
|
|
@@ -312,6 +384,10 @@ export function topoSortRoutinesByDefinition(items) {
|
|
|
312
384
|
}
|
|
313
385
|
return result;
|
|
314
386
|
}
|
|
387
|
+
/** @deprecated Use {@link TopoSortRoutinesByDefinition}. */
|
|
388
|
+
export function topoSortRoutinesByDefinition(items) {
|
|
389
|
+
return TopoSortRoutinesByDefinition(items);
|
|
390
|
+
}
|
|
315
391
|
/** Word-boundary substring search (lowercased input only). */
|
|
316
392
|
function matchBareWord(haystack, needle) {
|
|
317
393
|
if (!needle)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/baseline/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/baseline/util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,oEAAoE;AACpE,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,IAAY;IAChD,OAAO,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,IAAY;IAChD,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACzC,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAI,KAAmB,EAAE,GAAwB;IAC3E,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3B,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,YAAY,CAAI,KAAmB,EAAE,GAAwB;IAC3E,OAAO,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAE5F,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,CACL,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE;QAChC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,gBAAgB,CAAC,IAAuD;IACtF,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,eAAe,kBAAkB,CAAC;AACxF,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,gBAAgB,CAAC,IAAuD;IACtF,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,OAAe;IACpD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,OAAe;IACpD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAmBD,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAc;QAC3B,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QACrC,QAAQ,EAAE,QAAQ;KACnB,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAiB;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,IAAI,GAAmC,IAAI,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QACnD,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG;YAAE,SAAS;QAC7C,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;YAAE,IAAI,GAAG,MAAM,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,4BAA4B,CAAC,SAAiB;IAC5D,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,2BAA2B,CAAC,SAAiB;IAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,IAAI,GAAmC,IAAI,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QACnD,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG;YAAE,SAAS;QAC7C,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;YAAE,IAAI,GAAG,MAAM,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,2BAA2B,CAAC,SAAiB;IAC3D,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAW;IACrD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACrE,MAAM,SAAS,GAAG,EAAE;iBACjB,WAAW,CAAC,SAAS,CAAC;iBACtB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,2BAA2B,CAAC,GAAW;IACrD,OAAO,2BAA2B,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,gBAAwB;IAI/D,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,wBAAwB,CAAC,gBAAwB;IAI/D,OAAO,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACzD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,gCAAgC;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAa,2BAA2B;QACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO,KAAK,QAAQ,GAAG,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,2EAA2E;QAC3E,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,KAAK,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,CAAU,EAAE,CAAU;IACnD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC;IACxE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI;QAAE,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/E,qFAAqF;IACrF,oFAAoF;IACpF,wFAAwF;IACxF,IAAI,CAAC,YAAY,UAAU,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,0EAA0E;IAC1E,8CAA8C;IAC9C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,cAAc,CAAC,CAAU,EAAE,CAAU;IACnD,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,GAAG,GAAG,EAAE;IAC/C,OAAO,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACrE,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,GAAG,GAAG,EAAE;IAC/C,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAE1C,KAAmB;IACnB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IAE5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAa,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7D,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;QAC7B,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,8DAA8D;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,OAAO;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;IAE5D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACjC,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,IAAI,QAAQ,KAAK,GAAG;gBAAE,SAAS;YAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/F,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;QAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACf,IAAI,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,uEAAuE;YACvE,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC;YACzE,MAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC;YAC3B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,4BAA4B,CAE1C,KAAmB;IACnB,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,8DAA8D;AAC9D,SAAS,aAAa,CAAC,QAAgB,EAAE,MAAc;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,cAAc,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AACD,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Command, Flags } from '@oclif/core';
|
|
2
2
|
import ora from 'ora-classic';
|
|
3
|
-
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG,
|
|
3
|
+
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG, ResolveLegacyFormat } from '../../../lib/format-compat.js';
|
|
4
4
|
export default class ActionsList extends Command {
|
|
5
5
|
static { this.description = 'List available AI actions'; }
|
|
6
6
|
static { this.examples = [
|
|
@@ -27,12 +27,12 @@ export default class ActionsList extends Command {
|
|
|
27
27
|
const service = new ActionService();
|
|
28
28
|
const actions = await service.listActions();
|
|
29
29
|
spinner.stop();
|
|
30
|
-
const formatter = new OutputFormatter(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
const formatter = new OutputFormatter(ResolveLegacyFormat({
|
|
31
|
+
Format: flags.format,
|
|
32
|
+
Legacy: flags.output,
|
|
33
|
+
LegacyDefault: 'compact',
|
|
34
|
+
LegacyWasExplicit: metadata.flags.output?.setFromDefault === false,
|
|
35
|
+
Map: AI_FORMAT_MAP,
|
|
36
36
|
}));
|
|
37
37
|
this.log(formatter.formatActionList(actions));
|
|
38
38
|
// Force exit after completion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Command, Flags } from '@oclif/core';
|
|
2
2
|
import ora from 'ora-classic';
|
|
3
|
-
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG,
|
|
3
|
+
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG, ResolveLegacyFormat } from '../../../lib/format-compat.js';
|
|
4
4
|
export default class ActionsRun extends Command {
|
|
5
5
|
static { this.description = 'Execute an AI action with parameters'; }
|
|
6
6
|
static { this.examples = [
|
|
@@ -44,12 +44,12 @@ export default class ActionsRun extends Command {
|
|
|
44
44
|
const { ActionService, OutputFormatter } = await import('@memberjunction/ai-cli');
|
|
45
45
|
const { flags, metadata } = await this.parse(ActionsRun);
|
|
46
46
|
const service = new ActionService();
|
|
47
|
-
const formatter = new OutputFormatter(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
const formatter = new OutputFormatter(ResolveLegacyFormat({
|
|
48
|
+
Format: flags.format,
|
|
49
|
+
Legacy: flags.output,
|
|
50
|
+
LegacyDefault: 'compact',
|
|
51
|
+
LegacyWasExplicit: metadata.flags.output?.setFromDefault === false,
|
|
52
|
+
Map: AI_FORMAT_MAP,
|
|
53
53
|
}));
|
|
54
54
|
// Parse parameters
|
|
55
55
|
const params = {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Command, Flags } from '@oclif/core';
|
|
2
2
|
import ora from 'ora-classic';
|
|
3
|
-
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG,
|
|
3
|
+
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG, ResolveLegacyFormat } from '../../../lib/format-compat.js';
|
|
4
4
|
export default class AgentsList extends Command {
|
|
5
5
|
static { this.description = 'List available AI agents'; }
|
|
6
6
|
static { this.examples = [
|
|
@@ -27,12 +27,12 @@ export default class AgentsList extends Command {
|
|
|
27
27
|
const service = new AgentService();
|
|
28
28
|
const agents = await service.listAgents();
|
|
29
29
|
spinner.stop();
|
|
30
|
-
const formatter = new OutputFormatter(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
const formatter = new OutputFormatter(ResolveLegacyFormat({
|
|
31
|
+
Format: flags.format,
|
|
32
|
+
Legacy: flags.output,
|
|
33
|
+
LegacyDefault: 'compact',
|
|
34
|
+
LegacyWasExplicit: metadata.flags.output?.setFromDefault === false,
|
|
35
|
+
Map: AI_FORMAT_MAP,
|
|
36
36
|
}));
|
|
37
37
|
this.log(formatter.formatAgentList(agents));
|
|
38
38
|
// Force exit after completion
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Command, Flags } from '@oclif/core';
|
|
2
2
|
import ora from 'ora-classic';
|
|
3
|
-
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG,
|
|
4
|
-
import {
|
|
3
|
+
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG, ResolveLegacyFormat } from '../../../lib/format-compat.js';
|
|
4
|
+
import { FailOnNonInteractive, requireInteractive } from '../../../lib/interactive-guard.js';
|
|
5
5
|
export default class AgentsRun extends Command {
|
|
6
6
|
static { this.description = 'Execute an AI agent with a prompt or start interactive chat'; }
|
|
7
7
|
static { this.examples = [
|
|
@@ -57,17 +57,17 @@ export default class AgentsRun extends Command {
|
|
|
57
57
|
requireInteractive('Interactive chat mode', 'Use --prompt "<your prompt>" for a single non-interactive execution, or re-run --chat at an interactive terminal.');
|
|
58
58
|
}
|
|
59
59
|
catch (error) {
|
|
60
|
-
|
|
60
|
+
FailOnNonInteractive(this, error);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
const { AgentService, OutputFormatter, ConversationService } = await import('@memberjunction/ai-cli');
|
|
64
64
|
const service = new AgentService();
|
|
65
|
-
const formatter = new OutputFormatter(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
const formatter = new OutputFormatter(ResolveLegacyFormat({
|
|
66
|
+
Format: flags.format,
|
|
67
|
+
Legacy: flags.output,
|
|
68
|
+
LegacyDefault: 'compact',
|
|
69
|
+
LegacyWasExplicit: metadata.flags.output?.setFromDefault === false,
|
|
70
|
+
Map: AI_FORMAT_MAP,
|
|
71
71
|
}));
|
|
72
72
|
try {
|
|
73
73
|
if (flags.chat) {
|
|
@@ -2,7 +2,7 @@ import { Command, Flags, Args } from '@oclif/core';
|
|
|
2
2
|
import ora from 'ora-classic';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import * as fs from 'fs/promises';
|
|
5
|
-
import { CANONICAL_FORMAT_FLAG,
|
|
5
|
+
import { CANONICAL_FORMAT_FLAG, ResolveLegacyFormat } from '../../../lib/format-compat.js';
|
|
6
6
|
export default class AgentRun extends Command {
|
|
7
7
|
static { this.description = 'Audit and analyze AI agent execution runs for debugging and performance analysis'; }
|
|
8
8
|
static { this.examples = [
|
|
@@ -111,12 +111,12 @@ export default class AgentRun extends Command {
|
|
|
111
111
|
const spinner = ora();
|
|
112
112
|
// One typed resolution for all four render sites below — replaces the `as any`
|
|
113
113
|
// casts and applies the same --format/pipe rules as the rest of the CLI.
|
|
114
|
-
const outputFormat =
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
114
|
+
const outputFormat = ResolveLegacyFormat({
|
|
115
|
+
Format: flags.format,
|
|
116
|
+
Legacy: flags.output,
|
|
117
|
+
LegacyDefault: 'compact',
|
|
118
|
+
LegacyWasExplicit: metadata.flags.output?.setFromDefault === false,
|
|
119
|
+
Map: { text: 'compact', json: 'json', md: 'markdown' },
|
|
120
120
|
});
|
|
121
121
|
try {
|
|
122
122
|
const service = new AgentAuditService();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Command, Flags } from '@oclif/core';
|
|
2
2
|
import ora from 'ora-classic';
|
|
3
|
-
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG,
|
|
3
|
+
import { AI_FORMAT_MAP, CANONICAL_FORMAT_FLAG, ResolveLegacyFormat } from '../../../lib/format-compat.js';
|
|
4
4
|
export default class PromptsRun extends Command {
|
|
5
5
|
static { this.description = 'Execute a direct prompt with an AI model'; }
|
|
6
6
|
static { this.examples = [
|
|
@@ -55,12 +55,12 @@ export default class PromptsRun extends Command {
|
|
|
55
55
|
const { PromptService, OutputFormatter } = await import('@memberjunction/ai-cli');
|
|
56
56
|
const { flags, metadata } = await this.parse(PromptsRun);
|
|
57
57
|
const service = new PromptService();
|
|
58
|
-
const formatter = new OutputFormatter(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
58
|
+
const formatter = new OutputFormatter(ResolveLegacyFormat({
|
|
59
|
+
Format: flags.format,
|
|
60
|
+
Legacy: flags.output,
|
|
61
|
+
LegacyDefault: 'compact',
|
|
62
|
+
LegacyWasExplicit: metadata.flags.output?.setFromDefault === false,
|
|
63
|
+
Map: AI_FORMAT_MAP,
|
|
64
64
|
}));
|
|
65
65
|
try {
|
|
66
66
|
const spinner = ora();
|
|
@@ -2,9 +2,9 @@ import { Command } from '@oclif/core';
|
|
|
2
2
|
import { ListInstalledApps, GetLatestVersion } from '@memberjunction/open-app-engine';
|
|
3
3
|
import ora from 'ora-classic';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
-
import {
|
|
5
|
+
import { BuildContextUser, BuildGitHubOptions } from '../../utils/open-app-context.js';
|
|
6
6
|
import { CheckAppsForUpdates, FormatUpdateCheckReport } from '../../utils/update-check.js';
|
|
7
|
-
import {
|
|
7
|
+
import { GetValidatedConfig } from '../../config.js';
|
|
8
8
|
/**
|
|
9
9
|
* CLI command: `mj app check-updates`.
|
|
10
10
|
*
|
|
@@ -19,8 +19,8 @@ export default class AppCheckUpdates extends Command {
|
|
|
19
19
|
async run() {
|
|
20
20
|
const spinner = ora('Checking for updates...').start();
|
|
21
21
|
try {
|
|
22
|
-
const config =
|
|
23
|
-
const contextUser = await
|
|
22
|
+
const config = GetValidatedConfig();
|
|
23
|
+
const contextUser = await BuildContextUser();
|
|
24
24
|
const apps = await ListInstalledApps(contextUser);
|
|
25
25
|
if (apps.length === 0) {
|
|
26
26
|
spinner.info('No Open Apps installed.');
|
|
@@ -29,7 +29,7 @@ export default class AppCheckUpdates extends Command {
|
|
|
29
29
|
// Same options `mj app install` / `upgrade` use, so a repo reachable there is reachable here.
|
|
30
30
|
// A bare `{ Token }` dropped the per-repo TokenMap, and every private repo whose token lives
|
|
31
31
|
// there reported "up to date" forever.
|
|
32
|
-
const githubOptions =
|
|
32
|
+
const githubOptions = BuildGitHubOptions(config);
|
|
33
33
|
const report = await CheckAppsForUpdates(apps, (repoUrl, subpath) => GetLatestVersion(repoUrl, githubOptions, subpath));
|
|
34
34
|
spinner.stop();
|
|
35
35
|
// WHICH lines get printed is decided by FormatUpdateCheckReport — in particular the rule
|
|
@@ -2,7 +2,7 @@ import { Args, Command } from '@oclif/core';
|
|
|
2
2
|
import { DisableApp } from '@memberjunction/open-app-engine';
|
|
3
3
|
import ora from 'ora-classic';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
-
import {
|
|
5
|
+
import { BuildOrchestratorContext } from '../../utils/open-app-context.js';
|
|
6
6
|
/**
|
|
7
7
|
* CLI command: `mj app disable <name>`.
|
|
8
8
|
*
|
|
@@ -24,7 +24,7 @@ export default class AppDisable extends Command {
|
|
|
24
24
|
const { args } = await this.parse(AppDisable);
|
|
25
25
|
const spinner = ora(`Disabling ${args.name}...`).start();
|
|
26
26
|
try {
|
|
27
|
-
const context = await
|
|
27
|
+
const context = await BuildOrchestratorContext(this);
|
|
28
28
|
const result = await DisableApp(args.name, context);
|
|
29
29
|
if (result.Success) {
|
|
30
30
|
spinner.succeed(chalk.green(`Disabled ${args.name}`));
|
|
@@ -2,7 +2,7 @@ import { Args, Command } from '@oclif/core';
|
|
|
2
2
|
import { EnableApp } from '@memberjunction/open-app-engine';
|
|
3
3
|
import ora from 'ora-classic';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
-
import {
|
|
5
|
+
import { BuildOrchestratorContext } from '../../utils/open-app-context.js';
|
|
6
6
|
/**
|
|
7
7
|
* CLI command: `mj app enable <name>`.
|
|
8
8
|
*
|
|
@@ -24,7 +24,7 @@ export default class AppEnable extends Command {
|
|
|
24
24
|
const { args } = await this.parse(AppEnable);
|
|
25
25
|
const spinner = ora(`Enabling ${args.name}...`).start();
|
|
26
26
|
try {
|
|
27
|
-
const context = await
|
|
27
|
+
const context = await BuildOrchestratorContext(this);
|
|
28
28
|
const result = await EnableApp(args.name, context);
|
|
29
29
|
if (result.Success) {
|
|
30
30
|
spinner.succeed(chalk.green(`Enabled ${args.name}`));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Args, Command } from '@oclif/core';
|
|
2
2
|
import { FindInstalledApp } from '@memberjunction/open-app-engine';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
|
-
import {
|
|
4
|
+
import { BuildContextUser } from '../../utils/open-app-context.js';
|
|
5
5
|
/**
|
|
6
6
|
* CLI command: `mj app info <name>`.
|
|
7
7
|
*
|
|
@@ -22,7 +22,7 @@ export default class AppInfo extends Command {
|
|
|
22
22
|
async run() {
|
|
23
23
|
const { args } = await this.parse(AppInfo);
|
|
24
24
|
try {
|
|
25
|
-
const contextUser = await
|
|
25
|
+
const contextUser = await BuildContextUser();
|
|
26
26
|
const app = await FindInstalledApp(contextUser, args.name);
|
|
27
27
|
if (!app) {
|
|
28
28
|
this.error(`App '${args.name}' is not installed.`);
|
|
@@ -2,7 +2,7 @@ import { Args, Command, Flags } from '@oclif/core';
|
|
|
2
2
|
import { InstallApp } from '@memberjunction/open-app-engine';
|
|
3
3
|
import ora from 'ora-classic';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
-
import {
|
|
5
|
+
import { BuildOrchestratorContext } from '../../utils/open-app-context.js';
|
|
6
6
|
/**
|
|
7
7
|
* CLI command: `mj app install <source>`.
|
|
8
8
|
*
|
|
@@ -41,7 +41,7 @@ export default class AppInstall extends Command {
|
|
|
41
41
|
const { args, flags } = await this.parse(AppInstall);
|
|
42
42
|
const spinner = ora();
|
|
43
43
|
try {
|
|
44
|
-
const context = await
|
|
44
|
+
const context = await BuildOrchestratorContext(this, flags.verbose, !flags['non-interactive']);
|
|
45
45
|
const result = await InstallApp({
|
|
46
46
|
Source: args.source,
|
|
47
47
|
Version: flags.version,
|