@memberjunction/cli 5.10.0 → 5.11.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.
Files changed (2) hide show
  1. package/oclif.manifest.json +486 -486
  2. package/package.json +13 -13
@@ -22,110 +22,6 @@
22
22
  "index.js"
23
23
  ]
24
24
  },
25
- "bump": {
26
- "aliases": [],
27
- "args": {},
28
- "description": "Bumps MemberJunction dependency versions",
29
- "examples": [
30
- {
31
- "command": "<%= config.bin %> <%= command.id %>",
32
- "description": "Bump all @memberjunction/* dependencies in the current directory's package.json to the CLI version"
33
- },
34
- {
35
- "command": "<%= config.bin %> <%= command.id %> -rdv",
36
- "description": "Preview all recursive packages bumps without writing any changes."
37
- },
38
- {
39
- "command": "<%= config.bin %> <%= command.id %> -rqt v2.10.0 | xargs -n1 -I{} npm install --prefix {}",
40
- "description": "Recursively bump all @memberjunction/* dependencies in all packages to version v2.10.0 and output only the paths containing the updated package.json files. Pipe the output to xargs to run npm install in each directory and update the package-lock.json files as well."
41
- }
42
- ],
43
- "flags": {
44
- "verbose": {
45
- "char": "v",
46
- "description": "Enable additional logging",
47
- "name": "verbose",
48
- "allowNo": false,
49
- "type": "boolean"
50
- },
51
- "recursive": {
52
- "char": "r",
53
- "description": "Bump version in current directory and all subdirectories",
54
- "name": "recursive",
55
- "allowNo": false,
56
- "type": "boolean"
57
- },
58
- "tag": {
59
- "char": "t",
60
- "description": "Version tag to bump target for bump (e.g. v2.10.0), defaults to the CLI version",
61
- "name": "tag",
62
- "hasDynamicHelp": false,
63
- "multiple": false,
64
- "type": "option"
65
- },
66
- "quiet": {
67
- "char": "q",
68
- "description": "Only output paths for updated packages",
69
- "name": "quiet",
70
- "allowNo": false,
71
- "type": "boolean"
72
- },
73
- "dry": {
74
- "char": "d",
75
- "description": "Dry run, do not write changes to package.json files",
76
- "name": "dry",
77
- "allowNo": false,
78
- "type": "boolean"
79
- }
80
- },
81
- "hasDynamicHelp": false,
82
- "hiddenAliases": [],
83
- "id": "bump",
84
- "pluginAlias": "@memberjunction/cli",
85
- "pluginName": "@memberjunction/cli",
86
- "pluginType": "core",
87
- "strict": true,
88
- "enableJsonFlag": false,
89
- "isESM": true,
90
- "relativePath": [
91
- "dist",
92
- "commands",
93
- "bump",
94
- "index.js"
95
- ]
96
- },
97
- "clean": {
98
- "aliases": [],
99
- "args": {},
100
- "description": "Resets the MemberJunction database to a pre-installation state",
101
- "examples": [
102
- "<%= config.bin %> <%= command.id %>\n"
103
- ],
104
- "flags": {
105
- "verbose": {
106
- "char": "v",
107
- "description": "Enable additional logging",
108
- "name": "verbose",
109
- "allowNo": false,
110
- "type": "boolean"
111
- }
112
- },
113
- "hasDynamicHelp": false,
114
- "hiddenAliases": [],
115
- "id": "clean",
116
- "pluginAlias": "@memberjunction/cli",
117
- "pluginName": "@memberjunction/cli",
118
- "pluginType": "core",
119
- "strict": true,
120
- "enableJsonFlag": false,
121
- "isESM": true,
122
- "relativePath": [
123
- "dist",
124
- "commands",
125
- "clean",
126
- "index.js"
127
- ]
128
- },
129
25
  "app:check-updates": {
130
26
  "aliases": [],
131
27
  "args": {},
@@ -424,6 +320,110 @@
424
320
  "upgrade.js"
425
321
  ]
426
322
  },
323
+ "bump": {
324
+ "aliases": [],
325
+ "args": {},
326
+ "description": "Bumps MemberJunction dependency versions",
327
+ "examples": [
328
+ {
329
+ "command": "<%= config.bin %> <%= command.id %>",
330
+ "description": "Bump all @memberjunction/* dependencies in the current directory's package.json to the CLI version"
331
+ },
332
+ {
333
+ "command": "<%= config.bin %> <%= command.id %> -rdv",
334
+ "description": "Preview all recursive packages bumps without writing any changes."
335
+ },
336
+ {
337
+ "command": "<%= config.bin %> <%= command.id %> -rqt v2.10.0 | xargs -n1 -I{} npm install --prefix {}",
338
+ "description": "Recursively bump all @memberjunction/* dependencies in all packages to version v2.10.0 and output only the paths containing the updated package.json files. Pipe the output to xargs to run npm install in each directory and update the package-lock.json files as well."
339
+ }
340
+ ],
341
+ "flags": {
342
+ "verbose": {
343
+ "char": "v",
344
+ "description": "Enable additional logging",
345
+ "name": "verbose",
346
+ "allowNo": false,
347
+ "type": "boolean"
348
+ },
349
+ "recursive": {
350
+ "char": "r",
351
+ "description": "Bump version in current directory and all subdirectories",
352
+ "name": "recursive",
353
+ "allowNo": false,
354
+ "type": "boolean"
355
+ },
356
+ "tag": {
357
+ "char": "t",
358
+ "description": "Version tag to bump target for bump (e.g. v2.10.0), defaults to the CLI version",
359
+ "name": "tag",
360
+ "hasDynamicHelp": false,
361
+ "multiple": false,
362
+ "type": "option"
363
+ },
364
+ "quiet": {
365
+ "char": "q",
366
+ "description": "Only output paths for updated packages",
367
+ "name": "quiet",
368
+ "allowNo": false,
369
+ "type": "boolean"
370
+ },
371
+ "dry": {
372
+ "char": "d",
373
+ "description": "Dry run, do not write changes to package.json files",
374
+ "name": "dry",
375
+ "allowNo": false,
376
+ "type": "boolean"
377
+ }
378
+ },
379
+ "hasDynamicHelp": false,
380
+ "hiddenAliases": [],
381
+ "id": "bump",
382
+ "pluginAlias": "@memberjunction/cli",
383
+ "pluginName": "@memberjunction/cli",
384
+ "pluginType": "core",
385
+ "strict": true,
386
+ "enableJsonFlag": false,
387
+ "isESM": true,
388
+ "relativePath": [
389
+ "dist",
390
+ "commands",
391
+ "bump",
392
+ "index.js"
393
+ ]
394
+ },
395
+ "clean": {
396
+ "aliases": [],
397
+ "args": {},
398
+ "description": "Resets the MemberJunction database to a pre-installation state",
399
+ "examples": [
400
+ "<%= config.bin %> <%= command.id %>\n"
401
+ ],
402
+ "flags": {
403
+ "verbose": {
404
+ "char": "v",
405
+ "description": "Enable additional logging",
406
+ "name": "verbose",
407
+ "allowNo": false,
408
+ "type": "boolean"
409
+ }
410
+ },
411
+ "hasDynamicHelp": false,
412
+ "hiddenAliases": [],
413
+ "id": "clean",
414
+ "pluginAlias": "@memberjunction/cli",
415
+ "pluginName": "@memberjunction/cli",
416
+ "pluginType": "core",
417
+ "strict": true,
418
+ "enableJsonFlag": false,
419
+ "isESM": true,
420
+ "relativePath": [
421
+ "dist",
422
+ "commands",
423
+ "clean",
424
+ "index.js"
425
+ ]
426
+ },
427
427
  "codegen:5-0-fix-entity-names": {
428
428
  "aliases": [],
429
429
  "args": {},
@@ -794,6 +794,48 @@
794
794
  "manifest.js"
795
795
  ]
796
796
  },
797
+ "doctor": {
798
+ "aliases": [],
799
+ "args": {},
800
+ "description": "Diagnose a MemberJunction installation",
801
+ "examples": [
802
+ "<%= config.bin %> <%= command.id %>",
803
+ "<%= config.bin %> <%= command.id %> --dir ./my-mj-project",
804
+ "<%= config.bin %> <%= command.id %> --verbose"
805
+ ],
806
+ "flags": {
807
+ "dir": {
808
+ "description": "Target directory to diagnose",
809
+ "name": "dir",
810
+ "default": ".",
811
+ "hasDynamicHelp": false,
812
+ "multiple": false,
813
+ "type": "option"
814
+ },
815
+ "verbose": {
816
+ "char": "v",
817
+ "description": "Show detailed output including suggested fixes inline",
818
+ "name": "verbose",
819
+ "allowNo": false,
820
+ "type": "boolean"
821
+ }
822
+ },
823
+ "hasDynamicHelp": false,
824
+ "hiddenAliases": [],
825
+ "id": "doctor",
826
+ "pluginAlias": "@memberjunction/cli",
827
+ "pluginName": "@memberjunction/cli",
828
+ "pluginType": "core",
829
+ "strict": true,
830
+ "enableJsonFlag": false,
831
+ "isESM": true,
832
+ "relativePath": [
833
+ "dist",
834
+ "commands",
835
+ "doctor",
836
+ "index.js"
837
+ ]
838
+ },
797
839
  "dbdoc:analyze": {
798
840
  "aliases": [],
799
841
  "args": {},
@@ -1231,35 +1273,96 @@
1231
1273
  "status.js"
1232
1274
  ]
1233
1275
  },
1234
- "doctor": {
1276
+ "install": {
1235
1277
  "aliases": [],
1236
1278
  "args": {},
1237
- "description": "Diagnose a MemberJunction installation",
1279
+ "description": "Install MemberJunction from a GitHub release",
1238
1280
  "examples": [
1239
1281
  "<%= config.bin %> <%= command.id %>",
1240
- "<%= config.bin %> <%= command.id %> --dir ./my-mj-project",
1241
- "<%= config.bin %> <%= command.id %> --verbose"
1282
+ "<%= config.bin %> <%= command.id %> -t v4.3.0",
1283
+ "<%= config.bin %> <%= command.id %> --dry-run",
1284
+ "<%= config.bin %> <%= command.id %> --yes"
1242
1285
  ],
1243
1286
  "flags": {
1287
+ "tag": {
1288
+ "char": "t",
1289
+ "description": "Release tag to install (e.g. v4.3.0). If omitted, shows a version picker.",
1290
+ "name": "tag",
1291
+ "hasDynamicHelp": false,
1292
+ "multiple": false,
1293
+ "type": "option"
1294
+ },
1244
1295
  "dir": {
1245
- "description": "Target directory to diagnose",
1296
+ "description": "Target directory for the installation",
1246
1297
  "name": "dir",
1247
1298
  "default": ".",
1248
1299
  "hasDynamicHelp": false,
1249
1300
  "multiple": false,
1250
1301
  "type": "option"
1251
1302
  },
1303
+ "config": {
1304
+ "char": "c",
1305
+ "description": "Path to JSON config file with install settings (database, auth, ports, etc.)",
1306
+ "name": "config",
1307
+ "hasDynamicHelp": false,
1308
+ "multiple": false,
1309
+ "type": "option"
1310
+ },
1311
+ "legacy": {
1312
+ "description": "Use the legacy interactive installer (ZIP-only distribution)",
1313
+ "hidden": true,
1314
+ "name": "legacy",
1315
+ "allowNo": false,
1316
+ "type": "boolean"
1317
+ },
1318
+ "dry-run": {
1319
+ "description": "Show the install plan without executing it",
1320
+ "name": "dry-run",
1321
+ "allowNo": false,
1322
+ "type": "boolean"
1323
+ },
1324
+ "yes": {
1325
+ "char": "y",
1326
+ "description": "Non-interactive mode: auto-select latest version and accept defaults",
1327
+ "name": "yes",
1328
+ "allowNo": false,
1329
+ "type": "boolean"
1330
+ },
1252
1331
  "verbose": {
1253
1332
  "char": "v",
1254
- "description": "Show detailed output including suggested fixes inline",
1333
+ "description": "Show detailed output",
1255
1334
  "name": "verbose",
1256
1335
  "allowNo": false,
1257
1336
  "type": "boolean"
1337
+ },
1338
+ "skip-db": {
1339
+ "description": "Skip database provisioning phases",
1340
+ "name": "skip-db",
1341
+ "allowNo": false,
1342
+ "type": "boolean"
1343
+ },
1344
+ "skip-start": {
1345
+ "description": "Skip service startup and smoke tests",
1346
+ "name": "skip-start",
1347
+ "allowNo": false,
1348
+ "type": "boolean"
1349
+ },
1350
+ "no-resume": {
1351
+ "description": "Ignore any existing checkpoint and start fresh",
1352
+ "name": "no-resume",
1353
+ "allowNo": false,
1354
+ "type": "boolean"
1355
+ },
1356
+ "fast": {
1357
+ "description": "Fast mode: skip smoke test and optimize post-codegen steps. Re-run without --fast if you encounter issues.",
1358
+ "name": "fast",
1359
+ "allowNo": false,
1360
+ "type": "boolean"
1258
1361
  }
1259
1362
  },
1260
1363
  "hasDynamicHelp": false,
1261
1364
  "hiddenAliases": [],
1262
- "id": "doctor",
1365
+ "id": "install",
1263
1366
  "pluginAlias": "@memberjunction/cli",
1264
1367
  "pluginName": "@memberjunction/cli",
1265
1368
  "pluginType": "core",
@@ -1269,7 +1372,7 @@
1269
1372
  "relativePath": [
1270
1373
  "dist",
1271
1374
  "commands",
1272
- "doctor",
1375
+ "install",
1273
1376
  "index.js"
1274
1377
  ]
1275
1378
  },
@@ -1330,96 +1433,60 @@
1330
1433
  "index.js"
1331
1434
  ]
1332
1435
  },
1333
- "install": {
1436
+ "sql-audit": {
1334
1437
  "aliases": [],
1335
1438
  "args": {},
1336
- "description": "Install MemberJunction from a GitHub release",
1439
+ "description": "Compare source and target databases for migration verification",
1337
1440
  "examples": [
1338
- "<%= config.bin %> <%= command.id %>",
1339
- "<%= config.bin %> <%= command.id %> -t v4.3.0",
1340
- "<%= config.bin %> <%= command.id %> --dry-run",
1341
- "<%= config.bin %> <%= command.id %> --yes"
1441
+ "<%= config.bin %> sql-audit --source \"mssql://sa:pass@host/db\" --target \"postgres://user:pass@host:5432/db\"",
1442
+ "<%= config.bin %> sql-audit --source \"mssql://sa:pass@host/db\" --target \"postgres://user:pass@host:5432/db\" --output report.txt",
1443
+ "<%= config.bin %> sql-audit --source \"mssql://sa:pass@host/db\" --target \"postgres://user:pass@host:5432/db\" --source-schema __mj --target-schema __mj"
1342
1444
  ],
1343
1445
  "flags": {
1344
- "tag": {
1345
- "char": "t",
1346
- "description": "Release tag to install (e.g. v4.3.0). If omitted, shows a version picker.",
1347
- "name": "tag",
1446
+ "source": {
1447
+ "description": "Source database connection string (mssql://... or postgres://...)",
1448
+ "name": "source",
1449
+ "required": true,
1348
1450
  "hasDynamicHelp": false,
1349
1451
  "multiple": false,
1350
1452
  "type": "option"
1351
1453
  },
1352
- "dir": {
1353
- "description": "Target directory for the installation",
1354
- "name": "dir",
1355
- "default": ".",
1454
+ "target": {
1455
+ "description": "Target database connection string (mssql://... or postgres://...)",
1456
+ "name": "target",
1457
+ "required": true,
1356
1458
  "hasDynamicHelp": false,
1357
1459
  "multiple": false,
1358
1460
  "type": "option"
1359
1461
  },
1360
- "config": {
1361
- "char": "c",
1362
- "description": "Path to JSON config file with install settings (database, auth, ports, etc.)",
1363
- "name": "config",
1462
+ "source-schema": {
1463
+ "description": "Source schema name",
1464
+ "name": "source-schema",
1465
+ "default": "__mj",
1364
1466
  "hasDynamicHelp": false,
1365
1467
  "multiple": false,
1366
1468
  "type": "option"
1367
1469
  },
1368
- "legacy": {
1369
- "description": "Use the legacy interactive installer (ZIP-only distribution)",
1370
- "hidden": true,
1371
- "name": "legacy",
1372
- "allowNo": false,
1373
- "type": "boolean"
1374
- },
1375
- "dry-run": {
1376
- "description": "Show the install plan without executing it",
1377
- "name": "dry-run",
1378
- "allowNo": false,
1379
- "type": "boolean"
1380
- },
1381
- "yes": {
1382
- "char": "y",
1383
- "description": "Non-interactive mode: auto-select latest version and accept defaults",
1384
- "name": "yes",
1385
- "allowNo": false,
1386
- "type": "boolean"
1387
- },
1388
- "verbose": {
1389
- "char": "v",
1390
- "description": "Show detailed output",
1391
- "name": "verbose",
1392
- "allowNo": false,
1393
- "type": "boolean"
1394
- },
1395
- "skip-db": {
1396
- "description": "Skip database provisioning phases",
1397
- "name": "skip-db",
1398
- "allowNo": false,
1399
- "type": "boolean"
1400
- },
1401
- "skip-start": {
1402
- "description": "Skip service startup and smoke tests",
1403
- "name": "skip-start",
1404
- "allowNo": false,
1405
- "type": "boolean"
1406
- },
1407
- "no-resume": {
1408
- "description": "Ignore any existing checkpoint and start fresh",
1409
- "name": "no-resume",
1410
- "allowNo": false,
1411
- "type": "boolean"
1470
+ "target-schema": {
1471
+ "description": "Target schema name",
1472
+ "name": "target-schema",
1473
+ "default": "__mj",
1474
+ "hasDynamicHelp": false,
1475
+ "multiple": false,
1476
+ "type": "option"
1412
1477
  },
1413
- "fast": {
1414
- "description": "Fast mode: skip smoke test and optimize post-codegen steps. Re-run without --fast if you encounter issues.",
1415
- "name": "fast",
1416
- "allowNo": false,
1417
- "type": "boolean"
1478
+ "output": {
1479
+ "char": "o",
1480
+ "description": "Save report to file",
1481
+ "name": "output",
1482
+ "hasDynamicHelp": false,
1483
+ "multiple": false,
1484
+ "type": "option"
1418
1485
  }
1419
1486
  },
1420
1487
  "hasDynamicHelp": false,
1421
1488
  "hiddenAliases": [],
1422
- "id": "install",
1489
+ "id": "sql-audit",
1423
1490
  "pluginAlias": "@memberjunction/cli",
1424
1491
  "pluginName": "@memberjunction/cli",
1425
1492
  "pluginType": "core",
@@ -1429,7 +1496,7 @@
1429
1496
  "relativePath": [
1430
1497
  "dist",
1431
1498
  "commands",
1432
- "install",
1499
+ "sql-audit",
1433
1500
  "index.js"
1434
1501
  ]
1435
1502
  },
@@ -1648,73 +1715,6 @@
1648
1715
  "validate.js"
1649
1716
  ]
1650
1717
  },
1651
- "sql-audit": {
1652
- "aliases": [],
1653
- "args": {},
1654
- "description": "Compare source and target databases for migration verification",
1655
- "examples": [
1656
- "<%= config.bin %> sql-audit --source \"mssql://sa:pass@host/db\" --target \"postgres://user:pass@host:5432/db\"",
1657
- "<%= config.bin %> sql-audit --source \"mssql://sa:pass@host/db\" --target \"postgres://user:pass@host:5432/db\" --output report.txt",
1658
- "<%= config.bin %> sql-audit --source \"mssql://sa:pass@host/db\" --target \"postgres://user:pass@host:5432/db\" --source-schema __mj --target-schema __mj"
1659
- ],
1660
- "flags": {
1661
- "source": {
1662
- "description": "Source database connection string (mssql://... or postgres://...)",
1663
- "name": "source",
1664
- "required": true,
1665
- "hasDynamicHelp": false,
1666
- "multiple": false,
1667
- "type": "option"
1668
- },
1669
- "target": {
1670
- "description": "Target database connection string (mssql://... or postgres://...)",
1671
- "name": "target",
1672
- "required": true,
1673
- "hasDynamicHelp": false,
1674
- "multiple": false,
1675
- "type": "option"
1676
- },
1677
- "source-schema": {
1678
- "description": "Source schema name",
1679
- "name": "source-schema",
1680
- "default": "__mj",
1681
- "hasDynamicHelp": false,
1682
- "multiple": false,
1683
- "type": "option"
1684
- },
1685
- "target-schema": {
1686
- "description": "Target schema name",
1687
- "name": "target-schema",
1688
- "default": "__mj",
1689
- "hasDynamicHelp": false,
1690
- "multiple": false,
1691
- "type": "option"
1692
- },
1693
- "output": {
1694
- "char": "o",
1695
- "description": "Save report to file",
1696
- "name": "output",
1697
- "hasDynamicHelp": false,
1698
- "multiple": false,
1699
- "type": "option"
1700
- }
1701
- },
1702
- "hasDynamicHelp": false,
1703
- "hiddenAliases": [],
1704
- "id": "sql-audit",
1705
- "pluginAlias": "@memberjunction/cli",
1706
- "pluginName": "@memberjunction/cli",
1707
- "pluginType": "core",
1708
- "strict": true,
1709
- "enableJsonFlag": false,
1710
- "isESM": true,
1711
- "relativePath": [
1712
- "dist",
1713
- "commands",
1714
- "sql-audit",
1715
- "index.js"
1716
- ]
1717
- },
1718
1718
  "sql-convert": {
1719
1719
  "aliases": [],
1720
1720
  "args": {
@@ -2274,22 +2274,121 @@
2274
2274
  "watch.js"
2275
2275
  ]
2276
2276
  },
2277
- "test:compare": {
2277
+ "translate-sql": {
2278
2278
  "aliases": [],
2279
- "args": {
2280
- "runId1": {
2281
- "description": "First test run ID to compare",
2282
- "name": "runId1",
2283
- "required": false
2284
- },
2285
- "runId2": {
2286
- "description": "Second test run ID to compare",
2287
- "name": "runId2",
2288
- "required": false
2289
- }
2290
- },
2291
- "description": "Compare test runs for regression detection",
2292
- "examples": [
2279
+ "args": {},
2280
+ "description": "Translate SQL fragments between database dialects (SQL Server ↔ PostgreSQL)",
2281
+ "examples": [
2282
+ "<%= config.bin %> translate-sql --from sqlserver --to postgresql --dry-run",
2283
+ "<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope queries",
2284
+ "<%= config.bin %> translate-sql --from sqlserver --to postgresql --sql \"SELECT TOP 10 [Name] FROM [Users]\"",
2285
+ "<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope all --output ./reports"
2286
+ ],
2287
+ "flags": {
2288
+ "from": {
2289
+ "description": "Source SQL dialect",
2290
+ "name": "from",
2291
+ "required": true,
2292
+ "hasDynamicHelp": false,
2293
+ "multiple": false,
2294
+ "options": [
2295
+ "sqlserver",
2296
+ "postgresql"
2297
+ ],
2298
+ "type": "option"
2299
+ },
2300
+ "to": {
2301
+ "description": "Target SQL dialect",
2302
+ "name": "to",
2303
+ "required": true,
2304
+ "hasDynamicHelp": false,
2305
+ "multiple": false,
2306
+ "options": [
2307
+ "sqlserver",
2308
+ "postgresql"
2309
+ ],
2310
+ "type": "option"
2311
+ },
2312
+ "scope": {
2313
+ "description": "What to scan for translation",
2314
+ "name": "scope",
2315
+ "default": "all",
2316
+ "hasDynamicHelp": false,
2317
+ "multiple": false,
2318
+ "options": [
2319
+ "queries",
2320
+ "views",
2321
+ "filters",
2322
+ "all"
2323
+ ],
2324
+ "type": "option"
2325
+ },
2326
+ "sql": {
2327
+ "description": "Translate a single SQL fragment (inline mode)",
2328
+ "name": "sql",
2329
+ "hasDynamicHelp": false,
2330
+ "multiple": false,
2331
+ "type": "option"
2332
+ },
2333
+ "dry-run": {
2334
+ "description": "Show what would be translated without making changes",
2335
+ "name": "dry-run",
2336
+ "allowNo": false,
2337
+ "type": "boolean"
2338
+ },
2339
+ "review": {
2340
+ "description": "Generate review report only (no writes to database)",
2341
+ "name": "review",
2342
+ "allowNo": false,
2343
+ "type": "boolean"
2344
+ },
2345
+ "output": {
2346
+ "char": "o",
2347
+ "description": "Output directory for the translation report",
2348
+ "name": "output",
2349
+ "hasDynamicHelp": false,
2350
+ "multiple": false,
2351
+ "type": "option"
2352
+ },
2353
+ "force": {
2354
+ "description": "Re-translate even if platform variants already exist",
2355
+ "name": "force",
2356
+ "allowNo": false,
2357
+ "type": "boolean"
2358
+ }
2359
+ },
2360
+ "hasDynamicHelp": false,
2361
+ "hiddenAliases": [],
2362
+ "id": "translate-sql",
2363
+ "pluginAlias": "@memberjunction/cli",
2364
+ "pluginName": "@memberjunction/cli",
2365
+ "pluginType": "core",
2366
+ "strict": true,
2367
+ "enableJsonFlag": false,
2368
+ "isESM": true,
2369
+ "relativePath": [
2370
+ "dist",
2371
+ "commands",
2372
+ "translate-sql",
2373
+ "index.js"
2374
+ ]
2375
+ },
2376
+ "test:compare": {
2377
+ "aliases": [],
2378
+ "args": {
2379
+ "runId1": {
2380
+ "description": "First test run ID to compare",
2381
+ "name": "runId1",
2382
+ "required": false
2383
+ },
2384
+ "runId2": {
2385
+ "description": "Second test run ID to compare",
2386
+ "name": "runId2",
2387
+ "required": false
2388
+ }
2389
+ },
2390
+ "description": "Compare test runs for regression detection",
2391
+ "examples": [
2293
2392
  "<%= config.bin %> <%= command.id %> <run-id-1> <run-id-2>",
2294
2393
  "<%= config.bin %> <%= command.id %> --baseline=<run-id> --current=<run-id>",
2295
2394
  "<%= config.bin %> <%= command.id %> --suite=<suite-id> --since=\"2024-01-01\"",
@@ -2817,228 +2916,6 @@
2817
2916
  "validate.js"
2818
2917
  ]
2819
2918
  },
2820
- "translate-sql": {
2821
- "aliases": [],
2822
- "args": {},
2823
- "description": "Translate SQL fragments between database dialects (SQL Server ↔ PostgreSQL)",
2824
- "examples": [
2825
- "<%= config.bin %> translate-sql --from sqlserver --to postgresql --dry-run",
2826
- "<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope queries",
2827
- "<%= config.bin %> translate-sql --from sqlserver --to postgresql --sql \"SELECT TOP 10 [Name] FROM [Users]\"",
2828
- "<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope all --output ./reports"
2829
- ],
2830
- "flags": {
2831
- "from": {
2832
- "description": "Source SQL dialect",
2833
- "name": "from",
2834
- "required": true,
2835
- "hasDynamicHelp": false,
2836
- "multiple": false,
2837
- "options": [
2838
- "sqlserver",
2839
- "postgresql"
2840
- ],
2841
- "type": "option"
2842
- },
2843
- "to": {
2844
- "description": "Target SQL dialect",
2845
- "name": "to",
2846
- "required": true,
2847
- "hasDynamicHelp": false,
2848
- "multiple": false,
2849
- "options": [
2850
- "sqlserver",
2851
- "postgresql"
2852
- ],
2853
- "type": "option"
2854
- },
2855
- "scope": {
2856
- "description": "What to scan for translation",
2857
- "name": "scope",
2858
- "default": "all",
2859
- "hasDynamicHelp": false,
2860
- "multiple": false,
2861
- "options": [
2862
- "queries",
2863
- "views",
2864
- "filters",
2865
- "all"
2866
- ],
2867
- "type": "option"
2868
- },
2869
- "sql": {
2870
- "description": "Translate a single SQL fragment (inline mode)",
2871
- "name": "sql",
2872
- "hasDynamicHelp": false,
2873
- "multiple": false,
2874
- "type": "option"
2875
- },
2876
- "dry-run": {
2877
- "description": "Show what would be translated without making changes",
2878
- "name": "dry-run",
2879
- "allowNo": false,
2880
- "type": "boolean"
2881
- },
2882
- "review": {
2883
- "description": "Generate review report only (no writes to database)",
2884
- "name": "review",
2885
- "allowNo": false,
2886
- "type": "boolean"
2887
- },
2888
- "output": {
2889
- "char": "o",
2890
- "description": "Output directory for the translation report",
2891
- "name": "output",
2892
- "hasDynamicHelp": false,
2893
- "multiple": false,
2894
- "type": "option"
2895
- },
2896
- "force": {
2897
- "description": "Re-translate even if platform variants already exist",
2898
- "name": "force",
2899
- "allowNo": false,
2900
- "type": "boolean"
2901
- }
2902
- },
2903
- "hasDynamicHelp": false,
2904
- "hiddenAliases": [],
2905
- "id": "translate-sql",
2906
- "pluginAlias": "@memberjunction/cli",
2907
- "pluginName": "@memberjunction/cli",
2908
- "pluginType": "core",
2909
- "strict": true,
2910
- "enableJsonFlag": false,
2911
- "isESM": true,
2912
- "relativePath": [
2913
- "dist",
2914
- "commands",
2915
- "translate-sql",
2916
- "index.js"
2917
- ]
2918
- },
2919
- "ai:actions:list": {
2920
- "aliases": [],
2921
- "args": {},
2922
- "description": "List available AI actions",
2923
- "examples": [
2924
- "<%= config.bin %> <%= command.id %>",
2925
- "<%= config.bin %> <%= command.id %> --output=table",
2926
- "<%= config.bin %> <%= command.id %> --output=json"
2927
- ],
2928
- "flags": {
2929
- "output": {
2930
- "char": "o",
2931
- "description": "Output format",
2932
- "name": "output",
2933
- "default": "compact",
2934
- "hasDynamicHelp": false,
2935
- "multiple": false,
2936
- "options": [
2937
- "compact",
2938
- "json",
2939
- "table"
2940
- ],
2941
- "type": "option"
2942
- }
2943
- },
2944
- "hasDynamicHelp": false,
2945
- "hiddenAliases": [],
2946
- "id": "ai:actions:list",
2947
- "pluginAlias": "@memberjunction/cli",
2948
- "pluginName": "@memberjunction/cli",
2949
- "pluginType": "core",
2950
- "strict": true,
2951
- "enableJsonFlag": false,
2952
- "isESM": true,
2953
- "relativePath": [
2954
- "dist",
2955
- "commands",
2956
- "ai",
2957
- "actions",
2958
- "list.js"
2959
- ]
2960
- },
2961
- "ai:actions:run": {
2962
- "aliases": [],
2963
- "args": {},
2964
- "description": "Execute an AI action with parameters",
2965
- "examples": [
2966
- "<%= config.bin %> <%= command.id %> -n \"Get Weather\" --param \"Location=Boston\"",
2967
- "<%= config.bin %> <%= command.id %> -n \"Get Stock Price\" --param \"Ticker=AAPL\"",
2968
- "<%= config.bin %> <%= command.id %> -n \"Send Single Message\" --param \"To=user@example.com\" --param \"Subject=Test\" --param \"Body=Hello\" --param \"MessageType=Email\" --param \"Provider=SendGrid\"",
2969
- "<%= config.bin %> <%= command.id %> -n \"Calculate Expression\" --param \"Expression=2+2*3\" --dry-run"
2970
- ],
2971
- "flags": {
2972
- "name": {
2973
- "char": "n",
2974
- "description": "Action name",
2975
- "name": "name",
2976
- "required": true,
2977
- "hasDynamicHelp": false,
2978
- "multiple": false,
2979
- "type": "option"
2980
- },
2981
- "param": {
2982
- "char": "p",
2983
- "description": "Action parameters in key=value format",
2984
- "name": "param",
2985
- "hasDynamicHelp": false,
2986
- "multiple": true,
2987
- "type": "option"
2988
- },
2989
- "dry-run": {
2990
- "description": "Validate without executing",
2991
- "name": "dry-run",
2992
- "allowNo": false,
2993
- "type": "boolean"
2994
- },
2995
- "output": {
2996
- "char": "o",
2997
- "description": "Output format",
2998
- "name": "output",
2999
- "default": "compact",
3000
- "hasDynamicHelp": false,
3001
- "multiple": false,
3002
- "options": [
3003
- "compact",
3004
- "json",
3005
- "table"
3006
- ],
3007
- "type": "option"
3008
- },
3009
- "verbose": {
3010
- "char": "v",
3011
- "description": "Show detailed execution information",
3012
- "name": "verbose",
3013
- "allowNo": false,
3014
- "type": "boolean"
3015
- },
3016
- "timeout": {
3017
- "description": "Execution timeout in milliseconds",
3018
- "name": "timeout",
3019
- "default": 300000,
3020
- "hasDynamicHelp": false,
3021
- "multiple": false,
3022
- "type": "option"
3023
- }
3024
- },
3025
- "hasDynamicHelp": false,
3026
- "hiddenAliases": [],
3027
- "id": "ai:actions:run",
3028
- "pluginAlias": "@memberjunction/cli",
3029
- "pluginName": "@memberjunction/cli",
3030
- "pluginType": "core",
3031
- "strict": true,
3032
- "enableJsonFlag": false,
3033
- "isESM": true,
3034
- "relativePath": [
3035
- "dist",
3036
- "commands",
3037
- "ai",
3038
- "actions",
3039
- "run.js"
3040
- ]
3041
- },
3042
2919
  "ai:agents:list": {
3043
2920
  "aliases": [],
3044
2921
  "args": {},
@@ -3384,6 +3261,129 @@
3384
3261
  "index.js"
3385
3262
  ]
3386
3263
  },
3264
+ "ai:actions:list": {
3265
+ "aliases": [],
3266
+ "args": {},
3267
+ "description": "List available AI actions",
3268
+ "examples": [
3269
+ "<%= config.bin %> <%= command.id %>",
3270
+ "<%= config.bin %> <%= command.id %> --output=table",
3271
+ "<%= config.bin %> <%= command.id %> --output=json"
3272
+ ],
3273
+ "flags": {
3274
+ "output": {
3275
+ "char": "o",
3276
+ "description": "Output format",
3277
+ "name": "output",
3278
+ "default": "compact",
3279
+ "hasDynamicHelp": false,
3280
+ "multiple": false,
3281
+ "options": [
3282
+ "compact",
3283
+ "json",
3284
+ "table"
3285
+ ],
3286
+ "type": "option"
3287
+ }
3288
+ },
3289
+ "hasDynamicHelp": false,
3290
+ "hiddenAliases": [],
3291
+ "id": "ai:actions:list",
3292
+ "pluginAlias": "@memberjunction/cli",
3293
+ "pluginName": "@memberjunction/cli",
3294
+ "pluginType": "core",
3295
+ "strict": true,
3296
+ "enableJsonFlag": false,
3297
+ "isESM": true,
3298
+ "relativePath": [
3299
+ "dist",
3300
+ "commands",
3301
+ "ai",
3302
+ "actions",
3303
+ "list.js"
3304
+ ]
3305
+ },
3306
+ "ai:actions:run": {
3307
+ "aliases": [],
3308
+ "args": {},
3309
+ "description": "Execute an AI action with parameters",
3310
+ "examples": [
3311
+ "<%= config.bin %> <%= command.id %> -n \"Get Weather\" --param \"Location=Boston\"",
3312
+ "<%= config.bin %> <%= command.id %> -n \"Get Stock Price\" --param \"Ticker=AAPL\"",
3313
+ "<%= config.bin %> <%= command.id %> -n \"Send Single Message\" --param \"To=user@example.com\" --param \"Subject=Test\" --param \"Body=Hello\" --param \"MessageType=Email\" --param \"Provider=SendGrid\"",
3314
+ "<%= config.bin %> <%= command.id %> -n \"Calculate Expression\" --param \"Expression=2+2*3\" --dry-run"
3315
+ ],
3316
+ "flags": {
3317
+ "name": {
3318
+ "char": "n",
3319
+ "description": "Action name",
3320
+ "name": "name",
3321
+ "required": true,
3322
+ "hasDynamicHelp": false,
3323
+ "multiple": false,
3324
+ "type": "option"
3325
+ },
3326
+ "param": {
3327
+ "char": "p",
3328
+ "description": "Action parameters in key=value format",
3329
+ "name": "param",
3330
+ "hasDynamicHelp": false,
3331
+ "multiple": true,
3332
+ "type": "option"
3333
+ },
3334
+ "dry-run": {
3335
+ "description": "Validate without executing",
3336
+ "name": "dry-run",
3337
+ "allowNo": false,
3338
+ "type": "boolean"
3339
+ },
3340
+ "output": {
3341
+ "char": "o",
3342
+ "description": "Output format",
3343
+ "name": "output",
3344
+ "default": "compact",
3345
+ "hasDynamicHelp": false,
3346
+ "multiple": false,
3347
+ "options": [
3348
+ "compact",
3349
+ "json",
3350
+ "table"
3351
+ ],
3352
+ "type": "option"
3353
+ },
3354
+ "verbose": {
3355
+ "char": "v",
3356
+ "description": "Show detailed execution information",
3357
+ "name": "verbose",
3358
+ "allowNo": false,
3359
+ "type": "boolean"
3360
+ },
3361
+ "timeout": {
3362
+ "description": "Execution timeout in milliseconds",
3363
+ "name": "timeout",
3364
+ "default": 300000,
3365
+ "hasDynamicHelp": false,
3366
+ "multiple": false,
3367
+ "type": "option"
3368
+ }
3369
+ },
3370
+ "hasDynamicHelp": false,
3371
+ "hiddenAliases": [],
3372
+ "id": "ai:actions:run",
3373
+ "pluginAlias": "@memberjunction/cli",
3374
+ "pluginName": "@memberjunction/cli",
3375
+ "pluginType": "core",
3376
+ "strict": true,
3377
+ "enableJsonFlag": false,
3378
+ "isESM": true,
3379
+ "relativePath": [
3380
+ "dist",
3381
+ "commands",
3382
+ "ai",
3383
+ "actions",
3384
+ "run.js"
3385
+ ]
3386
+ },
3387
3387
  "ai:prompts:list": {
3388
3388
  "aliases": [],
3389
3389
  "args": {},
@@ -3524,5 +3524,5 @@
3524
3524
  ]
3525
3525
  }
3526
3526
  },
3527
- "version": "5.10.0"
3527
+ "version": "5.11.0"
3528
3528
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/cli",
3
3
  "type": "module",
4
- "version": "5.10.0",
4
+ "version": "5.11.0",
5
5
  "description": "MemberJunction command line tools",
6
6
  "keywords": [
7
7
  "oclif"
@@ -53,19 +53,19 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@inquirer/prompts": "^8.2.0",
56
- "@memberjunction/ai-cli": "5.10.0",
57
- "@memberjunction/codegen-lib": "5.10.0",
58
- "@memberjunction/config": "5.10.0",
59
- "@memberjunction/core": "5.10.0",
60
- "@memberjunction/installer": "5.10.0",
61
- "@memberjunction/db-auto-doc": "5.10.0",
62
- "@memberjunction/metadata-sync": "5.10.0",
63
- "@memberjunction/query-gen": "5.10.0",
64
- "@memberjunction/server-bootstrap-lite": "5.10.0",
56
+ "@memberjunction/ai-cli": "5.11.0",
57
+ "@memberjunction/codegen-lib": "5.11.0",
58
+ "@memberjunction/config": "5.11.0",
59
+ "@memberjunction/core": "5.11.0",
60
+ "@memberjunction/installer": "5.11.0",
61
+ "@memberjunction/db-auto-doc": "5.11.0",
62
+ "@memberjunction/metadata-sync": "5.11.0",
63
+ "@memberjunction/query-gen": "5.11.0",
64
+ "@memberjunction/server-bootstrap-lite": "5.11.0",
65
65
  "@memberjunction/skyway-core": "^0.5.3",
66
- "@memberjunction/sql-converter": "5.10.0",
67
- "@memberjunction/sqlserver-dataprovider": "5.10.0",
68
- "@memberjunction/testing-cli": "5.10.0",
66
+ "@memberjunction/sql-converter": "5.11.0",
67
+ "@memberjunction/sqlserver-dataprovider": "5.11.0",
68
+ "@memberjunction/testing-cli": "5.11.0",
69
69
  "@oclif/core": "^3.27.0",
70
70
  "@oclif/plugin-help": "^6.2.37",
71
71
  "@oclif/plugin-version": "^2.2.36",