@memberjunction/cli 6.2.0-edge.7 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/diag/export.d.ts +16 -0
- package/dist/commands/diag/export.d.ts.map +1 -0
- package/dist/commands/diag/export.js +37 -0
- package/dist/commands/diag/export.js.map +1 -0
- package/dist/commands/diag/inspect.d.ts +14 -0
- package/dist/commands/diag/inspect.d.ts.map +1 -0
- package/dist/commands/diag/inspect.js +45 -0
- package/dist/commands/diag/inspect.js.map +1 -0
- package/dist/commands/diag/keygen.d.ts +11 -0
- package/dist/commands/diag/keygen.d.ts.map +1 -0
- package/dist/commands/diag/keygen.js +36 -0
- package/dist/commands/diag/keygen.js.map +1 -0
- package/dist/commands/diag/scrub.d.ts +15 -0
- package/dist/commands/diag/scrub.d.ts.map +1 -0
- package/dist/commands/diag/scrub.js +34 -0
- package/dist/commands/diag/scrub.js.map +1 -0
- package/dist/commands/diag/slow.d.ts +14 -0
- package/dist/commands/diag/slow.d.ts.map +1 -0
- package/dist/commands/diag/slow.js +32 -0
- package/dist/commands/diag/slow.js.map +1 -0
- package/dist/commands/diag/timeline.d.ts +14 -0
- package/dist/commands/diag/timeline.d.ts.map +1 -0
- package/dist/commands/diag/timeline.js +29 -0
- package/dist/commands/diag/timeline.js.map +1 -0
- package/dist/commands/install/index.d.ts +12 -0
- package/dist/commands/install/index.d.ts.map +1 -1
- package/dist/commands/install/index.js +32 -5
- package/dist/commands/install/index.js.map +1 -1
- package/dist/commands/migrate/index.d.ts +26 -6
- package/dist/commands/migrate/index.d.ts.map +1 -1
- package/dist/commands/migrate/index.js +93 -21
- package/dist/commands/migrate/index.js.map +1 -1
- package/dist/commands/test/suite.d.ts +2 -0
- package/dist/commands/test/suite.d.ts.map +1 -1
- package/dist/commands/test/suite.js +10 -0
- package/dist/commands/test/suite.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/lib/db-version.d.ts +34 -7
- package/dist/lib/db-version.d.ts.map +1 -1
- package/dist/lib/db-version.js +45 -17
- package/dist/lib/db-version.js.map +1 -1
- package/dist/lib/migration-fetch.d.ts +17 -14
- package/dist/lib/migration-fetch.d.ts.map +1 -1
- package/dist/lib/migration-fetch.js +35 -25
- package/dist/lib/migration-fetch.js.map +1 -1
- package/dist/lib/migration-timeout.d.ts +15 -0
- package/dist/lib/migration-timeout.d.ts.map +1 -0
- package/dist/lib/migration-timeout.js +23 -0
- package/dist/lib/migration-timeout.js.map +1 -0
- package/dist/lib/out-of-order.d.ts +56 -0
- package/dist/lib/out-of-order.d.ts.map +1 -0
- package/dist/lib/out-of-order.js +37 -0
- package/dist/lib/out-of-order.js.map +1 -0
- package/dist/light-commands.d.ts.map +1 -1
- package/dist/light-commands.js +13 -0
- package/dist/light-commands.js.map +1 -1
- package/dist/utils/diag-utils.d.ts +34 -0
- package/dist/utils/diag-utils.d.ts.map +1 -0
- package/dist/utils/diag-utils.js +147 -0
- package/dist/utils/diag-utils.js.map +1 -0
- package/oclif.manifest.json +901 -564
- package/package.json +28 -27
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DiagExport extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
file: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
'private-key': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
9
|
+
'private-key-file': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
perfetto: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
12
|
+
otlp: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/commands/diag/export.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAQnD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC3C,MAAM,CAAC,WAAW,SAAuF;IAEzG,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;MAeV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAQpC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
3
|
+
import { LoadAndVerifyDiagnosticBundle, ExportBundleTraces, DiagPrivateKeyFlags, ResolveDiagnosticPrivateKey, } from '../../utils/diag-utils.js';
|
|
4
|
+
export default class DiagExport extends Command {
|
|
5
|
+
static { this.description = 'Export .mjdiag traces to Chrome Trace Event (Perfetto) or OpenTelemetry OTLP JSON'; }
|
|
6
|
+
static { this.args = {
|
|
7
|
+
file: Args.string({
|
|
8
|
+
description: 'Path to the .mjdiag bundle archive',
|
|
9
|
+
required: true,
|
|
10
|
+
}),
|
|
11
|
+
}; }
|
|
12
|
+
static { this.flags = {
|
|
13
|
+
output: Flags.string({
|
|
14
|
+
char: 'o',
|
|
15
|
+
description: 'Output JSON file path',
|
|
16
|
+
required: true,
|
|
17
|
+
}),
|
|
18
|
+
perfetto: Flags.boolean({
|
|
19
|
+
description: 'Export in Chrome Trace Event format for ui.perfetto.dev',
|
|
20
|
+
default: false,
|
|
21
|
+
}),
|
|
22
|
+
otlp: Flags.boolean({
|
|
23
|
+
description: 'Export in OpenTelemetry OTLP JSON format',
|
|
24
|
+
default: false,
|
|
25
|
+
}),
|
|
26
|
+
...DiagPrivateKeyFlags,
|
|
27
|
+
}; }
|
|
28
|
+
async run() {
|
|
29
|
+
const { args, flags } = await this.parse(DiagExport);
|
|
30
|
+
const format = flags.otlp ? 'otlp' : 'perfetto';
|
|
31
|
+
const loaded = await LoadAndVerifyDiagnosticBundle(args.file, ResolveDiagnosticPrivateKey(flags));
|
|
32
|
+
const exportedJson = ExportBundleTraces(loaded.Data, format);
|
|
33
|
+
fs.writeFileSync(flags.output, exportedJson, 'utf8');
|
|
34
|
+
this.log(`Exported ${format.toUpperCase()} trace to ${flags.output}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/diag/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACH,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,GAC9B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;aACpC,gBAAW,GAAG,mFAAmF,CAAC;aAElG,SAAI,GAAG;QACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL,CAAC;aAEK,UAAK,GAAG;QACX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,yDAAyD;YACtE,OAAO,EAAE,KAAK;SACjB,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,WAAW,EAAE,0CAA0C;YACvD,OAAO,EAAE,KAAK;SACjB,CAAC;QACF,GAAG,mBAAmB;KACzB,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,MAAM,GAAwB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;QAClG,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,WAAW,EAAE,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DiagInspect extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
file: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
9
|
+
'private-key': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
'private-key-file': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=inspect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/commands/diag/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAOnD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAAmE;IAErF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;MAMV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuCpC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
2
|
+
import { LoadAndVerifyDiagnosticBundle, DiagPrivateKeyFlags, ResolveDiagnosticPrivateKey, } from '../../utils/diag-utils.js';
|
|
3
|
+
export default class DiagInspect extends Command {
|
|
4
|
+
static { this.description = 'Verify and inspect a MemberJunction .mjdiag diagnostic bundle'; }
|
|
5
|
+
static { this.args = {
|
|
6
|
+
file: Args.string({
|
|
7
|
+
description: 'Path to the .mjdiag bundle archive',
|
|
8
|
+
required: true,
|
|
9
|
+
}),
|
|
10
|
+
}; }
|
|
11
|
+
static { this.flags = {
|
|
12
|
+
...DiagPrivateKeyFlags,
|
|
13
|
+
json: Flags.boolean({
|
|
14
|
+
description: 'Emit machine-readable JSON output',
|
|
15
|
+
default: false,
|
|
16
|
+
}),
|
|
17
|
+
}; }
|
|
18
|
+
async run() {
|
|
19
|
+
const { args, flags } = await this.parse(DiagInspect);
|
|
20
|
+
const loaded = await LoadAndVerifyDiagnosticBundle(args.file, ResolveDiagnosticPrivateKey(flags));
|
|
21
|
+
const { Manifest: manifest, Data: data } = loaded;
|
|
22
|
+
if (flags.json) {
|
|
23
|
+
this.log(JSON.stringify({
|
|
24
|
+
wasEncrypted: loaded.WasEncrypted,
|
|
25
|
+
manifest,
|
|
26
|
+
findings: data.findings,
|
|
27
|
+
}, null, 2));
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.log(`Bundle ID: ${manifest.bundleId}`);
|
|
31
|
+
this.log(`Created At: ${manifest.createdAt}`);
|
|
32
|
+
this.log(`Reason / Scrub: ${manifest.captureReason} / ${manifest.scrubberProfile}`);
|
|
33
|
+
this.log(`MJ Version: ${data.environment.mjVersion}`);
|
|
34
|
+
this.log(`Encrypted: ${loaded.WasEncrypted ? 'Yes (MJDB v1 verified)' : 'No'}`);
|
|
35
|
+
this.log(`Counts: clientWaterfall=${data.clientWaterfall.length}, serverSpans=${data.serverTraces.length}, sqlEvents=${data.serverSql.length}, findings=${data.findings.length}`);
|
|
36
|
+
this.log(`Redactions: credentials=${manifest.redactionSummary.credentialsScrubbedCount}, sqlNormalized=${manifest.redactionSummary.sqlLiteralsNormalizedCount}, custom=${manifest.redactionSummary.customPatternsAppliedCount}`);
|
|
37
|
+
if (data.findings.length > 0) {
|
|
38
|
+
this.log('\nFindings:');
|
|
39
|
+
for (const f of data.findings) {
|
|
40
|
+
this.log(` - [${f.severity.toUpperCase()}] (${f.category}) ${f.title}: ${f.summary}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=inspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/commands/diag/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACH,6BAA6B,EAC7B,mBAAmB,EACnB,2BAA2B,GAC9B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;aACrC,gBAAW,GAAG,+DAA+D,CAAC;aAE9E,SAAI,GAAG;QACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL,CAAC;aAEK,UAAK,GAAG;QACX,GAAG,mBAAmB;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,KAAK;SACjB,CAAC;KACL,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;QAClG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAElD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CACJ,IAAI,CAAC,SAAS,CACV;gBACI,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,QAAQ;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;aAC1B,EACD,IAAI,EACJ,CAAC,CACJ,CACJ,CAAC;YACF,OAAO;QACX,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,qBAAqB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,qBAAqB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,qBAAqB,QAAQ,CAAC,aAAa,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CACJ,qCAAqC,IAAI,CAAC,eAAe,CAAC,MAAM,iBAAiB,IAAI,CAAC,YAAY,CAAC,MAAM,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,cAAc,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CACpL,CAAC;QACF,IAAI,CAAC,GAAG,CACJ,iCAAiC,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,mBAAmB,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,YAAY,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,CAC/N,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3F,CAAC;QACL,CAAC;IACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DiagKeygen extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
'key-id': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
6
|
+
signing: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=keygen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keygen.d.ts","sourceRoot":"","sources":["../../../src/commands/diag/keygen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAG7C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC3C,MAAM,CAAC,WAAW,SACuG;IAEzH,MAAM,CAAC,KAAK;;;;MAaV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkBpC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { GenerateDiagnosticKeyPair } from '@memberjunction/diagnostics';
|
|
3
|
+
export default class DiagKeygen extends Command {
|
|
4
|
+
static { this.description = 'Generate an X25519 collector keypair (and optional Ed25519 signing keypair) for a Diagnostic Bundles Intake server'; }
|
|
5
|
+
static { this.flags = {
|
|
6
|
+
'key-id': Flags.string({
|
|
7
|
+
description: 'Key identifier (kid) embedded in MJDB envelope headers',
|
|
8
|
+
default: `mjc-intake-${new Date().getUTCFullYear()}-01`,
|
|
9
|
+
}),
|
|
10
|
+
signing: Flags.boolean({
|
|
11
|
+
description: 'Also generate an Ed25519 keypair for signing public key manifests or sender envelopes',
|
|
12
|
+
default: false,
|
|
13
|
+
}),
|
|
14
|
+
json: Flags.boolean({
|
|
15
|
+
description: 'Emit JSON output',
|
|
16
|
+
default: false,
|
|
17
|
+
}),
|
|
18
|
+
}; }
|
|
19
|
+
async run() {
|
|
20
|
+
const { flags } = await this.parse(DiagKeygen);
|
|
21
|
+
const collectorKey = await GenerateDiagnosticKeyPair('X25519', flags['key-id']);
|
|
22
|
+
const signingKey = flags.signing ? await GenerateDiagnosticKeyPair('Ed25519', `${flags['key-id']}-sign`) : undefined;
|
|
23
|
+
if (flags.json) {
|
|
24
|
+
this.log(JSON.stringify({ collectorKey, signingKey }, null, 2));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.log(`Collector X25519 Key ID: ${collectorKey.keyId}`);
|
|
28
|
+
this.log(`Collector Public Key (SPKI b64): ${collectorKey.publicKeyBase64}`);
|
|
29
|
+
this.log(`Collector Private Key (PKCS8): ${collectorKey.privateKeyBase64}`);
|
|
30
|
+
if (signingKey) {
|
|
31
|
+
this.log(`Ed25519 Public Key (SPKI b64): ${signingKey.publicKeyBase64}`);
|
|
32
|
+
this.log(`Ed25519 Private Key (PKCS8): ${signingKey.privateKeyBase64}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=keygen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keygen.js","sourceRoot":"","sources":["../../../src/commands/diag/keygen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;aACpC,gBAAW,GACd,oHAAoH,CAAC;aAElH,UAAK,GAAG;QACX,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,wDAAwD;YACrE,OAAO,EAAE,cAAc,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK;SAC1D,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,uFAAuF;YACpG,OAAO,EAAE,KAAK;SACjB,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE,KAAK;SACjB,CAAC;KACL,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,yBAAyB,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAErH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAChE,OAAO;QACX,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,oCAAoC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,oCAAoC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,oCAAoC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9E,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,oCAAoC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,oCAAoC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAChF,CAAC;IACL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DiagScrub extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
file: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
'private-key': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
9
|
+
'private-key-file': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
profile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=scrub.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrub.d.ts","sourceRoot":"","sources":["../../../src/commands/diag/scrub.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AASnD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAAgF;IAElG,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;MAYV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAQpC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
3
|
+
import { LoadAndVerifyDiagnosticBundle, RescrubDiagnosticBundle, DiagPrivateKeyFlags, ResolveDiagnosticPrivateKey, } from '../../utils/diag-utils.js';
|
|
4
|
+
export default class DiagScrub extends Command {
|
|
5
|
+
static { this.description = 'Re-scrub an existing .mjdiag bundle archive at Standard or FullRaw profile'; }
|
|
6
|
+
static { this.args = {
|
|
7
|
+
file: Args.string({
|
|
8
|
+
description: 'Path to the source .mjdiag bundle archive',
|
|
9
|
+
required: true,
|
|
10
|
+
}),
|
|
11
|
+
}; }
|
|
12
|
+
static { this.flags = {
|
|
13
|
+
output: Flags.string({
|
|
14
|
+
char: 'o',
|
|
15
|
+
description: 'Output path for the scrubbed .mjdiag archive',
|
|
16
|
+
required: true,
|
|
17
|
+
}),
|
|
18
|
+
profile: Flags.string({
|
|
19
|
+
description: 'Scrubber profile to apply (Standard or FullRaw)',
|
|
20
|
+
options: ['Standard', 'FullRaw'],
|
|
21
|
+
default: 'Standard',
|
|
22
|
+
}),
|
|
23
|
+
...DiagPrivateKeyFlags,
|
|
24
|
+
}; }
|
|
25
|
+
async run() {
|
|
26
|
+
const { args, flags } = await this.parse(DiagScrub);
|
|
27
|
+
const loaded = await LoadAndVerifyDiagnosticBundle(args.file, ResolveDiagnosticPrivateKey(flags));
|
|
28
|
+
const profile = flags.profile === 'FullRaw' ? 'FullRaw' : 'Standard';
|
|
29
|
+
const rescrubbedBytes = await RescrubDiagnosticBundle(loaded.Manifest, loaded.Data, profile);
|
|
30
|
+
fs.writeFileSync(flags.output, rescrubbedBytes);
|
|
31
|
+
this.log(`Wrote scrubbed .mjdiag archive (${rescrubbedBytes.byteLength} bytes, profile=${profile}) to ${flags.output}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=scrub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrub.js","sourceRoot":"","sources":["../../../src/commands/diag/scrub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EACH,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,GAC9B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;aACnC,gBAAW,GAAG,4EAA4E,CAAC;aAE3F,SAAI,GAAG;QACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL,CAAC;aAEK,UAAK,GAAG;QACX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,iDAAiD;YAC9D,OAAO,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;YAChC,OAAO,EAAE,UAAU;SACtB,CAAC;QACF,GAAG,mBAAmB;KACzB,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;QAClG,MAAM,OAAO,GAA8B,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAChG,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7F,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,mCAAmC,eAAe,CAAC,UAAU,mBAAmB,OAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5H,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DiagSlow extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
file: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
'private-key': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
9
|
+
'private-key-file': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
threshold: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=slow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slow.d.ts","sourceRoot":"","sources":["../../../src/commands/diag/slow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAQnD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAAyE;IAE3F,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;MAOV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAcpC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
2
|
+
import { LoadAndVerifyDiagnosticBundle, FindSlowBundleOperations, DiagPrivateKeyFlags, ResolveDiagnosticPrivateKey, } from '../../utils/diag-utils.js';
|
|
3
|
+
export default class DiagSlow extends Command {
|
|
4
|
+
static { this.description = 'List slow client/server spans and SQL queries from a .mjdiag bundle'; }
|
|
5
|
+
static { this.args = {
|
|
6
|
+
file: Args.string({
|
|
7
|
+
description: 'Path to the .mjdiag bundle archive',
|
|
8
|
+
required: true,
|
|
9
|
+
}),
|
|
10
|
+
}; }
|
|
11
|
+
static { this.flags = {
|
|
12
|
+
threshold: Flags.integer({
|
|
13
|
+
char: 't',
|
|
14
|
+
description: 'Minimum duration in milliseconds',
|
|
15
|
+
default: 500,
|
|
16
|
+
}),
|
|
17
|
+
...DiagPrivateKeyFlags,
|
|
18
|
+
}; }
|
|
19
|
+
async run() {
|
|
20
|
+
const { args, flags } = await this.parse(DiagSlow);
|
|
21
|
+
const loaded = await LoadAndVerifyDiagnosticBundle(args.file, ResolveDiagnosticPrivateKey(flags));
|
|
22
|
+
const slowOps = FindSlowBundleOperations(loaded.Data, flags.threshold);
|
|
23
|
+
if (slowOps.length === 0) {
|
|
24
|
+
this.log(`No operations found exceeding ${flags.threshold}ms.`);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
for (const op of slowOps) {
|
|
28
|
+
this.log(`${String(op.DurationMs.toFixed(1)).padStart(8)}ms | ${op.Source.padEnd(11)} | ${op.Label}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=slow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slow.js","sourceRoot":"","sources":["../../../src/commands/diag/slow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,GAC9B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;aAClC,gBAAW,GAAG,qEAAqE,CAAC;aAEpF,SAAI,GAAG;QACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL,CAAC;aAEK,UAAK,GAAG;QACX,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE,GAAG;SACf,CAAC;QACF,GAAG,mBAAmB;KACzB,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;QAClG,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAEvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,iCAAiC,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC;YAChE,OAAO;QACX,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1G,CAAC;IACL,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DiagTimeline extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
file: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
'private-key': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
9
|
+
'private-key-file': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
limit: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../../src/commands/diag/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAQnD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAAsG;IAExH,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;MAOV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAUpC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
2
|
+
import { LoadAndVerifyDiagnosticBundle, BuildBundleTimeline, DiagPrivateKeyFlags, ResolveDiagnosticPrivateKey, } from '../../utils/diag-utils.js';
|
|
3
|
+
export default class DiagTimeline extends Command {
|
|
4
|
+
static { this.description = 'Print a merged chronological timeline of client spans, server spans, SQL queries and breadcrumbs'; }
|
|
5
|
+
static { this.args = {
|
|
6
|
+
file: Args.string({
|
|
7
|
+
description: 'Path to the .mjdiag bundle archive',
|
|
8
|
+
required: true,
|
|
9
|
+
}),
|
|
10
|
+
}; }
|
|
11
|
+
static { this.flags = {
|
|
12
|
+
limit: Flags.integer({
|
|
13
|
+
char: 'n',
|
|
14
|
+
description: 'Maximum number of timeline rows to display',
|
|
15
|
+
default: 50,
|
|
16
|
+
}),
|
|
17
|
+
...DiagPrivateKeyFlags,
|
|
18
|
+
}; }
|
|
19
|
+
async run() {
|
|
20
|
+
const { args, flags } = await this.parse(DiagTimeline);
|
|
21
|
+
const loaded = await LoadAndVerifyDiagnosticBundle(args.file, ResolveDiagnosticPrivateKey(flags));
|
|
22
|
+
const rows = BuildBundleTimeline(loaded.Data, flags.limit);
|
|
23
|
+
for (const r of rows) {
|
|
24
|
+
const iso = r.TimestampUnixMs > 0 ? new Date(r.TimestampUnixMs).toISOString() : 'n/a';
|
|
25
|
+
this.log(`${iso} | ${r.Source.padEnd(11)} | ${String(r.DurationMs.toFixed(1)).padStart(8)}ms | ${r.Label}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../../src/commands/diag/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACH,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,GAC9B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;aACtC,gBAAW,GAAG,kGAAkG,CAAC;aAEjH,SAAI,GAAG;QACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL,CAAC;aAEK,UAAK,GAAG;QACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,EAAE;SACd,CAAC;QACF,GAAG,mBAAmB;KACzB,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3D,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACtF,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAChH,CAAC;IACL,CAAC"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* The resume guidance printed after a failed install. It names the absolute
|
|
4
|
+
* install directory, because a bare `mj install` resumes into the current
|
|
5
|
+
* directory. Inside a monorepo scaffold, `mj` / `npx mj` resolves to the
|
|
6
|
+
* workspace's own CLI package, which is not built until the install finishes
|
|
7
|
+
* (it fails with `command install not found`), so the resume must run from
|
|
8
|
+
* outside that directory with the CLI used for the first attempt.
|
|
9
|
+
*
|
|
10
|
+
* @param dir - Absolute install directory.
|
|
11
|
+
* @param monorepoScaffold - Whether `dir` holds a full source (monorepo) checkout.
|
|
12
|
+
*/
|
|
13
|
+
export declare function ResumeInstructions(dir: string, monorepoScaffold: boolean): string[];
|
|
2
14
|
export default class Install extends Command {
|
|
3
15
|
static description: string;
|
|
4
16
|
static examples: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/install/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/install/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAuB7C;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM,EAAE,CAWnF;AAED,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAAkD;IAEpE,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;MAiDV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAuBZ,gBAAgB;IAsE9B,OAAO,CAAC,iBAAiB;IAwDzB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAahC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;YAOd,iBAAiB;IAwD/B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,cAAc;CAQvB"}
|
|
@@ -1,9 +1,31 @@
|
|
|
1
1
|
import { select, confirm, input, password } from '@inquirer/prompts';
|
|
2
2
|
import { Command, Flags } from '@oclif/core';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
|
+
import { existsSync } from 'node:fs';
|
|
5
|
+
import path from 'node:path';
|
|
4
6
|
import { InstallerEngine, } from '@memberjunction/installer';
|
|
5
7
|
import { LegacyInstaller } from '../../lib/legacy-install.js';
|
|
6
8
|
import { NonInteractiveError, FailOnNonInteractive, requireInteractive, WithNonInteractiveHandling, } from '../../lib/interactive-guard.js';
|
|
9
|
+
/**
|
|
10
|
+
* The resume guidance printed after a failed install. It names the absolute
|
|
11
|
+
* install directory, because a bare `mj install` resumes into the current
|
|
12
|
+
* directory. Inside a monorepo scaffold, `mj` / `npx mj` resolves to the
|
|
13
|
+
* workspace's own CLI package, which is not built until the install finishes
|
|
14
|
+
* (it fails with `command install not found`), so the resume must run from
|
|
15
|
+
* outside that directory with the CLI used for the first attempt.
|
|
16
|
+
*
|
|
17
|
+
* @param dir - Absolute install directory.
|
|
18
|
+
* @param monorepoScaffold - Whether `dir` holds a full source (monorepo) checkout.
|
|
19
|
+
*/
|
|
20
|
+
export function ResumeInstructions(dir, monorepoScaffold) {
|
|
21
|
+
const dirArg = /\s/.test(dir) ? `'${dir}'` : dir;
|
|
22
|
+
const lines = [`Run "mj install --dir ${dirArg}" to resume from the last checkpoint.`];
|
|
23
|
+
if (monorepoScaffold) {
|
|
24
|
+
lines.push(' Run it from outside that directory, with the same mj CLI you just used (global install or npx @memberjunction/cli):', ' inside the monorepo, mj resolves to the workspace CLI, which is not built yet.');
|
|
25
|
+
}
|
|
26
|
+
lines.push(`Run "mj install --dir ${dirArg} --no-resume" to start fresh.`);
|
|
27
|
+
return lines;
|
|
28
|
+
}
|
|
7
29
|
export default class Install extends Command {
|
|
8
30
|
static { this.description = 'Install MemberJunction from a GitHub release'; }
|
|
9
31
|
static { this.examples = [
|
|
@@ -80,12 +102,15 @@ export default class Install extends Command {
|
|
|
80
102
|
// ---------------------------------------------------------------------------
|
|
81
103
|
async runEngineInstall(flags) {
|
|
82
104
|
const engine = new InstallerEngine();
|
|
105
|
+
// Resolve once: phases join paths onto the plan's Dir, and a relative Dir
|
|
106
|
+
// gets doubled when a phase later runs a child process with Cwd = Dir (#4478).
|
|
107
|
+
const dir = path.resolve(flags.dir);
|
|
83
108
|
const fast = flags.fast ?? false;
|
|
84
109
|
const yes = flags.yes ?? false;
|
|
85
110
|
this.wireEventHandlers(engine, flags.verbose ?? false, yes);
|
|
86
111
|
const plan = await engine.CreatePlan({
|
|
87
112
|
Tag: flags.tag,
|
|
88
|
-
Dir:
|
|
113
|
+
Dir: dir,
|
|
89
114
|
SkipDB: flags['skip-db'],
|
|
90
115
|
SkipStart: flags['skip-start'],
|
|
91
116
|
Fast: fast,
|
|
@@ -117,7 +142,7 @@ export default class Install extends Command {
|
|
|
117
142
|
OverwriteConfig: flags['overwrite-config'],
|
|
118
143
|
Config: flags.monorepo ? { InstallMode: 'monorepo' } : undefined,
|
|
119
144
|
});
|
|
120
|
-
this.renderResult(result, fast);
|
|
145
|
+
this.renderResult(result, dir, fast);
|
|
121
146
|
}
|
|
122
147
|
// ---------------------------------------------------------------------------
|
|
123
148
|
// Event wiring — bridges engine events to CLI output + inquirer prompts
|
|
@@ -263,7 +288,7 @@ export default class Install extends Command {
|
|
|
263
288
|
this.log('');
|
|
264
289
|
this.log(chalk.dim('Run without --dry-run to execute this plan.'));
|
|
265
290
|
}
|
|
266
|
-
renderResult(result, fast = false) {
|
|
291
|
+
renderResult(result, dir, fast = false) {
|
|
267
292
|
this.log('');
|
|
268
293
|
if (result.Success) {
|
|
269
294
|
this.log(chalk.green.bold('Installation completed successfully!'));
|
|
@@ -289,8 +314,10 @@ export default class Install extends Command {
|
|
|
289
314
|
this.log(chalk.cyan(' A diagnostic report has been saved to mj-diagnostic-report.md'));
|
|
290
315
|
this.log(chalk.cyan(' Share this file when requesting installation support.'));
|
|
291
316
|
this.log('');
|
|
292
|
-
|
|
293
|
-
|
|
317
|
+
const monorepoScaffold = existsSync(path.join(dir, 'packages', 'MJCLI', 'package.json'));
|
|
318
|
+
for (const line of ResumeInstructions(dir, monorepoScaffold)) {
|
|
319
|
+
this.log(chalk.yellow(line));
|
|
320
|
+
}
|
|
294
321
|
this.log(chalk.yellow('Run "mj doctor" to diagnose issues.'));
|
|
295
322
|
this.log(chalk.yellow('Run "mj doctor --report" to regenerate the diagnostic report.'));
|
|
296
323
|
this.log(chalk.yellow('Run "mj doctor --report_extended" for a detailed report with config snapshots and service logs.'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/install/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/install/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,18 +12,36 @@ export default class Migrate extends Command {
|
|
|
12
12
|
};
|
|
13
13
|
run(): Promise<void>;
|
|
14
14
|
/**
|
|
15
|
-
* Reads the database
|
|
16
|
-
*
|
|
17
|
-
* database, or baseline + tail for a fresh one.
|
|
15
|
+
* Reads what the database has applied, logs it, then fetches the minimal slice to reach
|
|
16
|
+
* `ref`: the versioned migrations not yet applied (above the baseline floor) for an
|
|
17
|
+
* existing database, or baseline + tail for a fresh one.
|
|
18
18
|
*/
|
|
19
19
|
private fetchSliceForRef;
|
|
20
20
|
/**
|
|
21
|
-
* Connects to read the
|
|
22
|
-
*
|
|
21
|
+
* Connects to read the applied versions and baseline floor from Skyway's history table.
|
|
22
|
+
* Returns null for a fresh database (no history table yet).
|
|
23
23
|
*/
|
|
24
|
-
private
|
|
24
|
+
private readAppliedState;
|
|
25
25
|
/** Surfaces the detected installed version so the user sees what's being upgraded from. */
|
|
26
26
|
private logInstalledVersion;
|
|
27
|
+
/**
|
|
28
|
+
* Turns on `outOfOrder` for this run when the core schema has pending migrations older
|
|
29
|
+
* than its highest applied version and the config file does not set `outOfOrder`. That
|
|
30
|
+
* is the normal state of a database upgraded from a release line, where backported
|
|
31
|
+
* migrations were applied ahead of older files that only exist on the newer line.
|
|
32
|
+
* Each such file is logged. An explicit `outOfOrder` in config is honoured as written.
|
|
33
|
+
*
|
|
34
|
+
* SIDE EFFECTS: reads the history table through a separate provider; mutates
|
|
35
|
+
* `skywayConfig.Migrations.OutOfOrder`.
|
|
36
|
+
*/
|
|
37
|
+
private applyOutOfOrderPolicy;
|
|
38
|
+
/**
|
|
39
|
+
* Asks Skyway which versioned files it would refuse as out of order (State IGNORED).
|
|
40
|
+
* Returns null when the probe fails; the run then proceeds with the configured setting
|
|
41
|
+
* and Skyway reports any problem itself.
|
|
42
|
+
*/
|
|
43
|
+
private probeOutOfOrderPending;
|
|
44
|
+
private logOutOfOrderFiles;
|
|
27
45
|
/**
|
|
28
46
|
* Verify the database is reachable with the configured TLS/auth settings before
|
|
29
47
|
* running migrations. On failure, prints a classified message (and an actionable
|
|
@@ -69,6 +87,8 @@ export default class Migrate extends Command {
|
|
|
69
87
|
* must never throw while reporting a failure.
|
|
70
88
|
*/
|
|
71
89
|
private printMigrationError;
|
|
90
|
+
/** Prints a hint naming MJ_MIGRATION_REQUEST_TIMEOUT when the failure was a request timeout. */
|
|
91
|
+
private printTimeoutHint;
|
|
72
92
|
/**
|
|
73
93
|
* Prints error details captured by OnProgress callbacks.
|
|
74
94
|
* Used when Skyway's result.Details is empty (transaction-level errors).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAgB7C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAA4W;IAE9X,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC1B;;;;OAIG;YACW,gBAAgB;IAW9B;;;OAGG;YACW,gBAAgB;IAM9B,2FAA2F;IAC3F,OAAO,CAAC,mBAAmB;IAW3B;;;;;;;;;OASG;YACW,qBAAqB;IAsBnC;;;;OAIG;YACW,sBAAsB;IAepC,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;YACW,mBAAmB;IAWjC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,eAAe;IASvB,uEAAuE;YACzD,gBAAgB;IA2H9B;;;;;;;OAOG;YACW,gBAAgB;IAU9B;;;;;;;OAOG;YACW,kCAAkC;IA+BhD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IA+C3B,gGAAgG;IAChG,OAAO,CAAC,gBAAgB;IAKxB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CA+B5B"}
|