@memberjunction/cli 5.29.0 → 5.30.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/README.md +46 -0
- package/dist/commands/app/check-updates.d.ts.map +1 -1
- package/dist/commands/app/check-updates.js +1 -1
- package/dist/commands/app/check-updates.js.map +1 -1
- package/dist/commands/app/disable.d.ts.map +1 -1
- package/dist/commands/app/disable.js +1 -1
- package/dist/commands/app/disable.js.map +1 -1
- package/dist/commands/app/enable.d.ts.map +1 -1
- package/dist/commands/app/enable.js +1 -1
- package/dist/commands/app/enable.js.map +1 -1
- package/dist/commands/app/info.d.ts.map +1 -1
- package/dist/commands/app/info.js +1 -1
- package/dist/commands/app/info.js.map +1 -1
- package/dist/commands/app/install.d.ts +1 -0
- package/dist/commands/app/install.d.ts.map +1 -1
- package/dist/commands/app/install.js +11 -2
- package/dist/commands/app/install.js.map +1 -1
- package/dist/commands/app/list.d.ts.map +1 -1
- package/dist/commands/app/list.js +1 -1
- package/dist/commands/app/list.js.map +1 -1
- package/dist/commands/app/remove.d.ts +1 -0
- package/dist/commands/app/remove.d.ts.map +1 -1
- package/dist/commands/app/remove.js +12 -2
- package/dist/commands/app/remove.js.map +1 -1
- package/dist/commands/app/upgrade.d.ts +1 -0
- package/dist/commands/app/upgrade.d.ts.map +1 -1
- package/dist/commands/app/upgrade.js +11 -2
- package/dist/commands/app/upgrade.js.map +1 -1
- package/dist/commands/codegen/index.d.ts +2 -1
- package/dist/commands/codegen/index.d.ts.map +1 -1
- package/dist/commands/codegen/index.js +28 -2
- package/dist/commands/codegen/index.js.map +1 -1
- package/dist/config.d.ts +14 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/hooks/postrun.d.ts +15 -0
- package/dist/hooks/postrun.d.ts.map +1 -0
- package/dist/hooks/postrun.js +11 -0
- package/dist/hooks/postrun.js.map +1 -0
- package/dist/utils/open-app-context.d.ts +4 -1
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +18 -0
- package/dist/utils/open-app-context.js.map +1 -1
- package/oclif.manifest.json +372 -344
- package/package.json +16 -14
package/oclif.manifest.json
CHANGED
|
@@ -165,6 +165,12 @@
|
|
|
165
165
|
"name": "verbose",
|
|
166
166
|
"allowNo": false,
|
|
167
167
|
"type": "boolean"
|
|
168
|
+
},
|
|
169
|
+
"dangerously-ignore-dbl-underscore-schema-rule": {
|
|
170
|
+
"hidden": true,
|
|
171
|
+
"name": "dangerously-ignore-dbl-underscore-schema-rule",
|
|
172
|
+
"allowNo": false,
|
|
173
|
+
"type": "boolean"
|
|
168
174
|
}
|
|
169
175
|
},
|
|
170
176
|
"hasDynamicHelp": false,
|
|
@@ -256,6 +262,12 @@
|
|
|
256
262
|
"name": "verbose",
|
|
257
263
|
"allowNo": false,
|
|
258
264
|
"type": "boolean"
|
|
265
|
+
},
|
|
266
|
+
"dangerously-ignore-dbl-underscore-schema-rule": {
|
|
267
|
+
"hidden": true,
|
|
268
|
+
"name": "dangerously-ignore-dbl-underscore-schema-rule",
|
|
269
|
+
"allowNo": false,
|
|
270
|
+
"type": "boolean"
|
|
259
271
|
}
|
|
260
272
|
},
|
|
261
273
|
"hasDynamicHelp": false,
|
|
@@ -302,6 +314,12 @@
|
|
|
302
314
|
"name": "verbose",
|
|
303
315
|
"allowNo": false,
|
|
304
316
|
"type": "boolean"
|
|
317
|
+
},
|
|
318
|
+
"dangerously-ignore-dbl-underscore-schema-rule": {
|
|
319
|
+
"hidden": true,
|
|
320
|
+
"name": "dangerously-ignore-dbl-underscore-schema-rule",
|
|
321
|
+
"allowNo": false,
|
|
322
|
+
"type": "boolean"
|
|
305
323
|
}
|
|
306
324
|
},
|
|
307
325
|
"hasDynamicHelp": false,
|
|
@@ -652,7 +670,7 @@
|
|
|
652
670
|
"codegen": {
|
|
653
671
|
"aliases": [],
|
|
654
672
|
"args": {},
|
|
655
|
-
"description": "Run the full MemberJunction code generation pipeline.\n\nAnalyzes your SQL Server database schema, updates MemberJunction metadata, and\ngenerates synchronized code across the entire stack:\n\n - SQL views, stored procedures, indexes, and permissions\n - TypeScript entity classes with Zod validation schemas\n - Angular form components with AI-driven layouts\n - GraphQL resolvers and type definitions\n - Action subclasses and DB schema JSON\n\nConfiguration is loaded from mj.config.cjs in the current directory (or parent\ndirectories). Database connection can also be set via environment variables:\nDB_HOST, DB_DATABASE, CODEGEN_DB_USERNAME, CODEGEN_DB_PASSWORD.\n\nUse --skipdb to skip all database operations (metadata sync, SQL object\ngeneration) and only regenerate TypeScript, Angular, and GraphQL output from\nexisting metadata.\n\nUse --skipfiles to skip all file-generation operations (TypeScript entities,\nAngular components, GraphQL resolvers, action subclasses, DB schema JSON) and\nonly run database-side operations (metadata sync, SQL object generation,\npermissions, custom SQL scripts).\n\n--skipdb and --skipfiles are independent and can be combined in any mix.",
|
|
673
|
+
"description": "Run the full MemberJunction code generation pipeline.\n\nAnalyzes your SQL Server database schema, updates MemberJunction metadata, and\ngenerates synchronized code across the entire stack:\n\n - SQL views, stored procedures, indexes, and permissions\n - TypeScript entity classes with Zod validation schemas\n - Angular form components with AI-driven layouts\n - GraphQL resolvers and type definitions\n - Action subclasses and DB schema JSON\n\nConfiguration is loaded from mj.config.cjs in the current directory (or parent\ndirectories). Database connection can also be set via environment variables:\nDB_HOST, DB_DATABASE, CODEGEN_DB_USERNAME, CODEGEN_DB_PASSWORD.\n\nUse --skipdb to skip all database operations (metadata sync, SQL object\ngeneration) and only regenerate TypeScript, Angular, and GraphQL output from\nexisting metadata.\n\nUse --skipfiles to skip all file-generation operations (TypeScript entities,\nAngular components, GraphQL resolvers, action subclasses, DB schema JSON) and\nonly run database-side operations (metadata sync, SQL object generation,\npermissions, custom SQL scripts).\n\n--skipdb and --skipfiles are independent and can be combined in any mix.\n\nUse --force-advanced-gen to bypass Pass 2 entity scoping and re-run the LLM-driven\nadvanced generation (smart fields, form layout) for ALL entities. Useful when AI\nprompts have changed and you want unchanged entities re-evaluated.",
|
|
656
674
|
"examples": [
|
|
657
675
|
{
|
|
658
676
|
"command": "<%= config.bin %> <%= command.id %>",
|
|
@@ -665,6 +683,10 @@
|
|
|
665
683
|
{
|
|
666
684
|
"command": "<%= config.bin %> <%= command.id %> --skipfiles",
|
|
667
685
|
"description": "Run database-side operations only, without regenerating any code files"
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"command": "<%= config.bin %> <%= command.id %> --force-advanced-gen",
|
|
689
|
+
"description": "Re-run advanced generation for all entities (bypasses changed-entity scoping)"
|
|
668
690
|
}
|
|
669
691
|
],
|
|
670
692
|
"flags": {
|
|
@@ -679,6 +701,12 @@
|
|
|
679
701
|
"name": "skipfiles",
|
|
680
702
|
"allowNo": false,
|
|
681
703
|
"type": "boolean"
|
|
704
|
+
},
|
|
705
|
+
"force-advanced-gen": {
|
|
706
|
+
"description": "Bypass entity scoping in Pass 2 and force advanced generation to re-run for all entities. Used when AI prompts have changed and unchanged entities should be re-evaluated.",
|
|
707
|
+
"name": "force-advanced-gen",
|
|
708
|
+
"allowNo": false,
|
|
709
|
+
"type": "boolean"
|
|
682
710
|
}
|
|
683
711
|
},
|
|
684
712
|
"hasDynamicHelp": false,
|
|
@@ -1254,6 +1282,63 @@
|
|
|
1254
1282
|
"status.js"
|
|
1255
1283
|
]
|
|
1256
1284
|
},
|
|
1285
|
+
"doctor": {
|
|
1286
|
+
"aliases": [],
|
|
1287
|
+
"args": {},
|
|
1288
|
+
"description": "Diagnose a MemberJunction installation",
|
|
1289
|
+
"examples": [
|
|
1290
|
+
"<%= config.bin %> <%= command.id %>",
|
|
1291
|
+
"<%= config.bin %> <%= command.id %> --dir ./my-mj-project",
|
|
1292
|
+
"<%= config.bin %> <%= command.id %> --verbose",
|
|
1293
|
+
"<%= config.bin %> <%= command.id %> --report",
|
|
1294
|
+
"<%= config.bin %> <%= command.id %> --report_extended"
|
|
1295
|
+
],
|
|
1296
|
+
"flags": {
|
|
1297
|
+
"dir": {
|
|
1298
|
+
"description": "Target directory to diagnose",
|
|
1299
|
+
"name": "dir",
|
|
1300
|
+
"default": ".",
|
|
1301
|
+
"hasDynamicHelp": false,
|
|
1302
|
+
"multiple": false,
|
|
1303
|
+
"type": "option"
|
|
1304
|
+
},
|
|
1305
|
+
"verbose": {
|
|
1306
|
+
"char": "v",
|
|
1307
|
+
"description": "Show detailed output including suggested fixes inline",
|
|
1308
|
+
"name": "verbose",
|
|
1309
|
+
"allowNo": false,
|
|
1310
|
+
"type": "boolean"
|
|
1311
|
+
},
|
|
1312
|
+
"report": {
|
|
1313
|
+
"char": "r",
|
|
1314
|
+
"description": "Generate a diagnostic report file (mj-diagnostic-report.md) for sharing with support",
|
|
1315
|
+
"name": "report",
|
|
1316
|
+
"allowNo": false,
|
|
1317
|
+
"type": "boolean"
|
|
1318
|
+
},
|
|
1319
|
+
"report_extended": {
|
|
1320
|
+
"description": "Generate an extended report with config file snapshots and service startup log capture (~60s longer)",
|
|
1321
|
+
"name": "report_extended",
|
|
1322
|
+
"allowNo": false,
|
|
1323
|
+
"type": "boolean"
|
|
1324
|
+
}
|
|
1325
|
+
},
|
|
1326
|
+
"hasDynamicHelp": false,
|
|
1327
|
+
"hiddenAliases": [],
|
|
1328
|
+
"id": "doctor",
|
|
1329
|
+
"pluginAlias": "@memberjunction/cli",
|
|
1330
|
+
"pluginName": "@memberjunction/cli",
|
|
1331
|
+
"pluginType": "core",
|
|
1332
|
+
"strict": true,
|
|
1333
|
+
"enableJsonFlag": false,
|
|
1334
|
+
"isESM": true,
|
|
1335
|
+
"relativePath": [
|
|
1336
|
+
"dist",
|
|
1337
|
+
"commands",
|
|
1338
|
+
"doctor",
|
|
1339
|
+
"index.js"
|
|
1340
|
+
]
|
|
1341
|
+
},
|
|
1257
1342
|
"install": {
|
|
1258
1343
|
"aliases": [],
|
|
1259
1344
|
"args": {},
|
|
@@ -1369,63 +1454,6 @@
|
|
|
1369
1454
|
"index.js"
|
|
1370
1455
|
]
|
|
1371
1456
|
},
|
|
1372
|
-
"doctor": {
|
|
1373
|
-
"aliases": [],
|
|
1374
|
-
"args": {},
|
|
1375
|
-
"description": "Diagnose a MemberJunction installation",
|
|
1376
|
-
"examples": [
|
|
1377
|
-
"<%= config.bin %> <%= command.id %>",
|
|
1378
|
-
"<%= config.bin %> <%= command.id %> --dir ./my-mj-project",
|
|
1379
|
-
"<%= config.bin %> <%= command.id %> --verbose",
|
|
1380
|
-
"<%= config.bin %> <%= command.id %> --report",
|
|
1381
|
-
"<%= config.bin %> <%= command.id %> --report_extended"
|
|
1382
|
-
],
|
|
1383
|
-
"flags": {
|
|
1384
|
-
"dir": {
|
|
1385
|
-
"description": "Target directory to diagnose",
|
|
1386
|
-
"name": "dir",
|
|
1387
|
-
"default": ".",
|
|
1388
|
-
"hasDynamicHelp": false,
|
|
1389
|
-
"multiple": false,
|
|
1390
|
-
"type": "option"
|
|
1391
|
-
},
|
|
1392
|
-
"verbose": {
|
|
1393
|
-
"char": "v",
|
|
1394
|
-
"description": "Show detailed output including suggested fixes inline",
|
|
1395
|
-
"name": "verbose",
|
|
1396
|
-
"allowNo": false,
|
|
1397
|
-
"type": "boolean"
|
|
1398
|
-
},
|
|
1399
|
-
"report": {
|
|
1400
|
-
"char": "r",
|
|
1401
|
-
"description": "Generate a diagnostic report file (mj-diagnostic-report.md) for sharing with support",
|
|
1402
|
-
"name": "report",
|
|
1403
|
-
"allowNo": false,
|
|
1404
|
-
"type": "boolean"
|
|
1405
|
-
},
|
|
1406
|
-
"report_extended": {
|
|
1407
|
-
"description": "Generate an extended report with config file snapshots and service startup log capture (~60s longer)",
|
|
1408
|
-
"name": "report_extended",
|
|
1409
|
-
"allowNo": false,
|
|
1410
|
-
"type": "boolean"
|
|
1411
|
-
}
|
|
1412
|
-
},
|
|
1413
|
-
"hasDynamicHelp": false,
|
|
1414
|
-
"hiddenAliases": [],
|
|
1415
|
-
"id": "doctor",
|
|
1416
|
-
"pluginAlias": "@memberjunction/cli",
|
|
1417
|
-
"pluginName": "@memberjunction/cli",
|
|
1418
|
-
"pluginType": "core",
|
|
1419
|
-
"strict": true,
|
|
1420
|
-
"enableJsonFlag": false,
|
|
1421
|
-
"isESM": true,
|
|
1422
|
-
"relativePath": [
|
|
1423
|
-
"dist",
|
|
1424
|
-
"commands",
|
|
1425
|
-
"doctor",
|
|
1426
|
-
"index.js"
|
|
1427
|
-
]
|
|
1428
|
-
},
|
|
1429
1457
|
"migrate": {
|
|
1430
1458
|
"aliases": [],
|
|
1431
1459
|
"args": {},
|
|
@@ -1765,91 +1793,6 @@
|
|
|
1765
1793
|
"index.js"
|
|
1766
1794
|
]
|
|
1767
1795
|
},
|
|
1768
|
-
"sql-convert": {
|
|
1769
|
-
"aliases": [],
|
|
1770
|
-
"args": {
|
|
1771
|
-
"source": {
|
|
1772
|
-
"description": "Source SQL file path",
|
|
1773
|
-
"name": "source",
|
|
1774
|
-
"required": true
|
|
1775
|
-
}
|
|
1776
|
-
},
|
|
1777
|
-
"description": "Convert SQL files between database dialects using rule-based BatchConverter engine",
|
|
1778
|
-
"examples": [
|
|
1779
|
-
"<%= config.bin %> sql-convert ./migration.sql --from tsql --to postgres",
|
|
1780
|
-
"<%= config.bin %> sql-convert ./migration.sql --from tsql --to postgres --output converted.sql",
|
|
1781
|
-
"<%= config.bin %> sql-convert ./migration.sql --from tsql --to postgres --schema my_schema",
|
|
1782
|
-
"<%= config.bin %> sql-convert ./migration.sql --from tsql --to postgres --no-header --verbose"
|
|
1783
|
-
],
|
|
1784
|
-
"flags": {
|
|
1785
|
-
"from": {
|
|
1786
|
-
"description": "Source SQL dialect",
|
|
1787
|
-
"name": "from",
|
|
1788
|
-
"required": true,
|
|
1789
|
-
"hasDynamicHelp": false,
|
|
1790
|
-
"multiple": false,
|
|
1791
|
-
"type": "option"
|
|
1792
|
-
},
|
|
1793
|
-
"to": {
|
|
1794
|
-
"description": "Target SQL dialect",
|
|
1795
|
-
"name": "to",
|
|
1796
|
-
"required": true,
|
|
1797
|
-
"hasDynamicHelp": false,
|
|
1798
|
-
"multiple": false,
|
|
1799
|
-
"type": "option"
|
|
1800
|
-
},
|
|
1801
|
-
"output": {
|
|
1802
|
-
"char": "o",
|
|
1803
|
-
"description": "Output file path (default: <source>.converted.<ext>)",
|
|
1804
|
-
"name": "output",
|
|
1805
|
-
"hasDynamicHelp": false,
|
|
1806
|
-
"multiple": false,
|
|
1807
|
-
"type": "option"
|
|
1808
|
-
},
|
|
1809
|
-
"schema": {
|
|
1810
|
-
"description": "Target schema name",
|
|
1811
|
-
"name": "schema",
|
|
1812
|
-
"default": "__mj",
|
|
1813
|
-
"hasDynamicHelp": false,
|
|
1814
|
-
"multiple": false,
|
|
1815
|
-
"type": "option"
|
|
1816
|
-
},
|
|
1817
|
-
"no-header": {
|
|
1818
|
-
"description": "Skip PG header (extensions, schema, implicit cast)",
|
|
1819
|
-
"name": "no-header",
|
|
1820
|
-
"allowNo": false,
|
|
1821
|
-
"type": "boolean"
|
|
1822
|
-
},
|
|
1823
|
-
"no-post-process": {
|
|
1824
|
-
"description": "Skip post-processing pass",
|
|
1825
|
-
"name": "no-post-process",
|
|
1826
|
-
"allowNo": false,
|
|
1827
|
-
"type": "boolean"
|
|
1828
|
-
},
|
|
1829
|
-
"verbose": {
|
|
1830
|
-
"char": "v",
|
|
1831
|
-
"description": "Show per-statement progress and detailed report",
|
|
1832
|
-
"name": "verbose",
|
|
1833
|
-
"allowNo": false,
|
|
1834
|
-
"type": "boolean"
|
|
1835
|
-
}
|
|
1836
|
-
},
|
|
1837
|
-
"hasDynamicHelp": false,
|
|
1838
|
-
"hiddenAliases": [],
|
|
1839
|
-
"id": "sql-convert",
|
|
1840
|
-
"pluginAlias": "@memberjunction/cli",
|
|
1841
|
-
"pluginName": "@memberjunction/cli",
|
|
1842
|
-
"pluginType": "core",
|
|
1843
|
-
"strict": true,
|
|
1844
|
-
"enableJsonFlag": false,
|
|
1845
|
-
"isESM": true,
|
|
1846
|
-
"relativePath": [
|
|
1847
|
-
"dist",
|
|
1848
|
-
"commands",
|
|
1849
|
-
"sql-convert",
|
|
1850
|
-
"index.js"
|
|
1851
|
-
]
|
|
1852
|
-
},
|
|
1853
1796
|
"sync:file-reset": {
|
|
1854
1797
|
"aliases": [],
|
|
1855
1798
|
"args": {},
|
|
@@ -2324,41 +2267,225 @@
|
|
|
2324
2267
|
"watch.js"
|
|
2325
2268
|
]
|
|
2326
2269
|
},
|
|
2327
|
-
"
|
|
2270
|
+
"sql-convert": {
|
|
2328
2271
|
"aliases": [],
|
|
2329
2272
|
"args": {
|
|
2330
|
-
"
|
|
2331
|
-
"description": "
|
|
2332
|
-
"name": "
|
|
2333
|
-
"required":
|
|
2334
|
-
},
|
|
2335
|
-
"runId2": {
|
|
2336
|
-
"description": "Second test run ID to compare",
|
|
2337
|
-
"name": "runId2",
|
|
2338
|
-
"required": false
|
|
2273
|
+
"source": {
|
|
2274
|
+
"description": "Source SQL file path",
|
|
2275
|
+
"name": "source",
|
|
2276
|
+
"required": true
|
|
2339
2277
|
}
|
|
2340
2278
|
},
|
|
2341
|
-
"description": "
|
|
2279
|
+
"description": "Convert SQL files between database dialects using rule-based BatchConverter engine",
|
|
2342
2280
|
"examples": [
|
|
2343
|
-
"<%= config.bin %>
|
|
2344
|
-
"<%= config.bin %>
|
|
2345
|
-
"<%= config.bin %>
|
|
2346
|
-
"<%= config.bin %>
|
|
2281
|
+
"<%= config.bin %> sql-convert ./migration.sql --from tsql --to postgres",
|
|
2282
|
+
"<%= config.bin %> sql-convert ./migration.sql --from tsql --to postgres --output converted.sql",
|
|
2283
|
+
"<%= config.bin %> sql-convert ./migration.sql --from tsql --to postgres --schema my_schema",
|
|
2284
|
+
"<%= config.bin %> sql-convert ./migration.sql --from tsql --to postgres --no-header --verbose"
|
|
2347
2285
|
],
|
|
2348
2286
|
"flags": {
|
|
2349
|
-
"
|
|
2350
|
-
"
|
|
2351
|
-
"
|
|
2352
|
-
"
|
|
2287
|
+
"from": {
|
|
2288
|
+
"description": "Source SQL dialect",
|
|
2289
|
+
"name": "from",
|
|
2290
|
+
"required": true,
|
|
2353
2291
|
"hasDynamicHelp": false,
|
|
2354
|
-
"multiple":
|
|
2292
|
+
"multiple": false,
|
|
2355
2293
|
"type": "option"
|
|
2356
2294
|
},
|
|
2357
|
-
"
|
|
2358
|
-
"
|
|
2359
|
-
"
|
|
2360
|
-
"
|
|
2361
|
-
"hasDynamicHelp": false,
|
|
2295
|
+
"to": {
|
|
2296
|
+
"description": "Target SQL dialect",
|
|
2297
|
+
"name": "to",
|
|
2298
|
+
"required": true,
|
|
2299
|
+
"hasDynamicHelp": false,
|
|
2300
|
+
"multiple": false,
|
|
2301
|
+
"type": "option"
|
|
2302
|
+
},
|
|
2303
|
+
"output": {
|
|
2304
|
+
"char": "o",
|
|
2305
|
+
"description": "Output file path (default: <source>.converted.<ext>)",
|
|
2306
|
+
"name": "output",
|
|
2307
|
+
"hasDynamicHelp": false,
|
|
2308
|
+
"multiple": false,
|
|
2309
|
+
"type": "option"
|
|
2310
|
+
},
|
|
2311
|
+
"schema": {
|
|
2312
|
+
"description": "Target schema name",
|
|
2313
|
+
"name": "schema",
|
|
2314
|
+
"default": "__mj",
|
|
2315
|
+
"hasDynamicHelp": false,
|
|
2316
|
+
"multiple": false,
|
|
2317
|
+
"type": "option"
|
|
2318
|
+
},
|
|
2319
|
+
"no-header": {
|
|
2320
|
+
"description": "Skip PG header (extensions, schema, implicit cast)",
|
|
2321
|
+
"name": "no-header",
|
|
2322
|
+
"allowNo": false,
|
|
2323
|
+
"type": "boolean"
|
|
2324
|
+
},
|
|
2325
|
+
"no-post-process": {
|
|
2326
|
+
"description": "Skip post-processing pass",
|
|
2327
|
+
"name": "no-post-process",
|
|
2328
|
+
"allowNo": false,
|
|
2329
|
+
"type": "boolean"
|
|
2330
|
+
},
|
|
2331
|
+
"verbose": {
|
|
2332
|
+
"char": "v",
|
|
2333
|
+
"description": "Show per-statement progress and detailed report",
|
|
2334
|
+
"name": "verbose",
|
|
2335
|
+
"allowNo": false,
|
|
2336
|
+
"type": "boolean"
|
|
2337
|
+
}
|
|
2338
|
+
},
|
|
2339
|
+
"hasDynamicHelp": false,
|
|
2340
|
+
"hiddenAliases": [],
|
|
2341
|
+
"id": "sql-convert",
|
|
2342
|
+
"pluginAlias": "@memberjunction/cli",
|
|
2343
|
+
"pluginName": "@memberjunction/cli",
|
|
2344
|
+
"pluginType": "core",
|
|
2345
|
+
"strict": true,
|
|
2346
|
+
"enableJsonFlag": false,
|
|
2347
|
+
"isESM": true,
|
|
2348
|
+
"relativePath": [
|
|
2349
|
+
"dist",
|
|
2350
|
+
"commands",
|
|
2351
|
+
"sql-convert",
|
|
2352
|
+
"index.js"
|
|
2353
|
+
]
|
|
2354
|
+
},
|
|
2355
|
+
"translate-sql": {
|
|
2356
|
+
"aliases": [],
|
|
2357
|
+
"args": {},
|
|
2358
|
+
"description": "Translate SQL fragments between database dialects (SQL Server ↔ PostgreSQL)",
|
|
2359
|
+
"examples": [
|
|
2360
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --dry-run",
|
|
2361
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope queries",
|
|
2362
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --sql \"SELECT TOP 10 [Name] FROM [Users]\"",
|
|
2363
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope all --output ./reports"
|
|
2364
|
+
],
|
|
2365
|
+
"flags": {
|
|
2366
|
+
"from": {
|
|
2367
|
+
"description": "Source SQL dialect",
|
|
2368
|
+
"name": "from",
|
|
2369
|
+
"required": true,
|
|
2370
|
+
"hasDynamicHelp": false,
|
|
2371
|
+
"multiple": false,
|
|
2372
|
+
"options": [
|
|
2373
|
+
"sqlserver",
|
|
2374
|
+
"postgresql"
|
|
2375
|
+
],
|
|
2376
|
+
"type": "option"
|
|
2377
|
+
},
|
|
2378
|
+
"to": {
|
|
2379
|
+
"description": "Target SQL dialect",
|
|
2380
|
+
"name": "to",
|
|
2381
|
+
"required": true,
|
|
2382
|
+
"hasDynamicHelp": false,
|
|
2383
|
+
"multiple": false,
|
|
2384
|
+
"options": [
|
|
2385
|
+
"sqlserver",
|
|
2386
|
+
"postgresql"
|
|
2387
|
+
],
|
|
2388
|
+
"type": "option"
|
|
2389
|
+
},
|
|
2390
|
+
"scope": {
|
|
2391
|
+
"description": "What to scan for translation",
|
|
2392
|
+
"name": "scope",
|
|
2393
|
+
"default": "all",
|
|
2394
|
+
"hasDynamicHelp": false,
|
|
2395
|
+
"multiple": false,
|
|
2396
|
+
"options": [
|
|
2397
|
+
"queries",
|
|
2398
|
+
"views",
|
|
2399
|
+
"filters",
|
|
2400
|
+
"all"
|
|
2401
|
+
],
|
|
2402
|
+
"type": "option"
|
|
2403
|
+
},
|
|
2404
|
+
"sql": {
|
|
2405
|
+
"description": "Translate a single SQL fragment (inline mode)",
|
|
2406
|
+
"name": "sql",
|
|
2407
|
+
"hasDynamicHelp": false,
|
|
2408
|
+
"multiple": false,
|
|
2409
|
+
"type": "option"
|
|
2410
|
+
},
|
|
2411
|
+
"dry-run": {
|
|
2412
|
+
"description": "Show what would be translated without making changes",
|
|
2413
|
+
"name": "dry-run",
|
|
2414
|
+
"allowNo": false,
|
|
2415
|
+
"type": "boolean"
|
|
2416
|
+
},
|
|
2417
|
+
"review": {
|
|
2418
|
+
"description": "Generate review report only (no writes to database)",
|
|
2419
|
+
"name": "review",
|
|
2420
|
+
"allowNo": false,
|
|
2421
|
+
"type": "boolean"
|
|
2422
|
+
},
|
|
2423
|
+
"output": {
|
|
2424
|
+
"char": "o",
|
|
2425
|
+
"description": "Output directory for the translation report",
|
|
2426
|
+
"name": "output",
|
|
2427
|
+
"hasDynamicHelp": false,
|
|
2428
|
+
"multiple": false,
|
|
2429
|
+
"type": "option"
|
|
2430
|
+
},
|
|
2431
|
+
"force": {
|
|
2432
|
+
"description": "Re-translate even if platform variants already exist",
|
|
2433
|
+
"name": "force",
|
|
2434
|
+
"allowNo": false,
|
|
2435
|
+
"type": "boolean"
|
|
2436
|
+
}
|
|
2437
|
+
},
|
|
2438
|
+
"hasDynamicHelp": false,
|
|
2439
|
+
"hiddenAliases": [],
|
|
2440
|
+
"id": "translate-sql",
|
|
2441
|
+
"pluginAlias": "@memberjunction/cli",
|
|
2442
|
+
"pluginName": "@memberjunction/cli",
|
|
2443
|
+
"pluginType": "core",
|
|
2444
|
+
"strict": true,
|
|
2445
|
+
"enableJsonFlag": false,
|
|
2446
|
+
"isESM": true,
|
|
2447
|
+
"relativePath": [
|
|
2448
|
+
"dist",
|
|
2449
|
+
"commands",
|
|
2450
|
+
"translate-sql",
|
|
2451
|
+
"index.js"
|
|
2452
|
+
]
|
|
2453
|
+
},
|
|
2454
|
+
"test:compare": {
|
|
2455
|
+
"aliases": [],
|
|
2456
|
+
"args": {
|
|
2457
|
+
"runId1": {
|
|
2458
|
+
"description": "First test run ID to compare",
|
|
2459
|
+
"name": "runId1",
|
|
2460
|
+
"required": false
|
|
2461
|
+
},
|
|
2462
|
+
"runId2": {
|
|
2463
|
+
"description": "Second test run ID to compare",
|
|
2464
|
+
"name": "runId2",
|
|
2465
|
+
"required": false
|
|
2466
|
+
}
|
|
2467
|
+
},
|
|
2468
|
+
"description": "Compare test runs for regression detection",
|
|
2469
|
+
"examples": [
|
|
2470
|
+
"<%= config.bin %> <%= command.id %> <run-id-1> <run-id-2>",
|
|
2471
|
+
"<%= config.bin %> <%= command.id %> --baseline=<run-id> --current=<run-id>",
|
|
2472
|
+
"<%= config.bin %> <%= command.id %> --suite=<suite-id> --since=\"2024-01-01\"",
|
|
2473
|
+
"<%= config.bin %> <%= command.id %> <run-id-1> <run-id-2> --format=json"
|
|
2474
|
+
],
|
|
2475
|
+
"flags": {
|
|
2476
|
+
"version": {
|
|
2477
|
+
"char": "v",
|
|
2478
|
+
"description": "Compare runs by version",
|
|
2479
|
+
"name": "version",
|
|
2480
|
+
"hasDynamicHelp": false,
|
|
2481
|
+
"multiple": true,
|
|
2482
|
+
"type": "option"
|
|
2483
|
+
},
|
|
2484
|
+
"commit": {
|
|
2485
|
+
"char": "c",
|
|
2486
|
+
"description": "Compare runs by git commit",
|
|
2487
|
+
"name": "commit",
|
|
2488
|
+
"hasDynamicHelp": false,
|
|
2362
2489
|
"multiple": true,
|
|
2363
2490
|
"type": "option"
|
|
2364
2491
|
},
|
|
@@ -2867,92 +2994,115 @@
|
|
|
2867
2994
|
"validate.js"
|
|
2868
2995
|
]
|
|
2869
2996
|
},
|
|
2870
|
-
"
|
|
2997
|
+
"ai:actions:list": {
|
|
2871
2998
|
"aliases": [],
|
|
2872
2999
|
"args": {},
|
|
2873
|
-
"description": "
|
|
3000
|
+
"description": "List available AI actions",
|
|
2874
3001
|
"examples": [
|
|
2875
|
-
"<%= config.bin %>
|
|
2876
|
-
"<%= config.bin %>
|
|
2877
|
-
"<%= config.bin %>
|
|
2878
|
-
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope all --output ./reports"
|
|
3002
|
+
"<%= config.bin %> <%= command.id %>",
|
|
3003
|
+
"<%= config.bin %> <%= command.id %> --output=table",
|
|
3004
|
+
"<%= config.bin %> <%= command.id %> --output=json"
|
|
2879
3005
|
],
|
|
2880
3006
|
"flags": {
|
|
2881
|
-
"
|
|
2882
|
-
"
|
|
2883
|
-
"
|
|
2884
|
-
"
|
|
3007
|
+
"output": {
|
|
3008
|
+
"char": "o",
|
|
3009
|
+
"description": "Output format",
|
|
3010
|
+
"name": "output",
|
|
3011
|
+
"default": "compact",
|
|
2885
3012
|
"hasDynamicHelp": false,
|
|
2886
3013
|
"multiple": false,
|
|
2887
3014
|
"options": [
|
|
2888
|
-
"
|
|
2889
|
-
"
|
|
3015
|
+
"compact",
|
|
3016
|
+
"json",
|
|
3017
|
+
"table"
|
|
2890
3018
|
],
|
|
2891
3019
|
"type": "option"
|
|
2892
|
-
}
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
3020
|
+
}
|
|
3021
|
+
},
|
|
3022
|
+
"hasDynamicHelp": false,
|
|
3023
|
+
"hiddenAliases": [],
|
|
3024
|
+
"id": "ai:actions:list",
|
|
3025
|
+
"pluginAlias": "@memberjunction/cli",
|
|
3026
|
+
"pluginName": "@memberjunction/cli",
|
|
3027
|
+
"pluginType": "core",
|
|
3028
|
+
"strict": true,
|
|
3029
|
+
"enableJsonFlag": false,
|
|
3030
|
+
"isESM": true,
|
|
3031
|
+
"relativePath": [
|
|
3032
|
+
"dist",
|
|
3033
|
+
"commands",
|
|
3034
|
+
"ai",
|
|
3035
|
+
"actions",
|
|
3036
|
+
"list.js"
|
|
3037
|
+
]
|
|
3038
|
+
},
|
|
3039
|
+
"ai:actions:run": {
|
|
3040
|
+
"aliases": [],
|
|
3041
|
+
"args": {},
|
|
3042
|
+
"description": "Execute an AI action with parameters",
|
|
3043
|
+
"examples": [
|
|
3044
|
+
"<%= config.bin %> <%= command.id %> -n \"Get Weather\" --param \"Location=Boston\"",
|
|
3045
|
+
"<%= config.bin %> <%= command.id %> -n \"Get Stock Price\" --param \"Ticker=AAPL\"",
|
|
3046
|
+
"<%= 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\"",
|
|
3047
|
+
"<%= config.bin %> <%= command.id %> -n \"Calculate Expression\" --param \"Expression=2+2*3\" --dry-run"
|
|
3048
|
+
],
|
|
3049
|
+
"flags": {
|
|
3050
|
+
"name": {
|
|
3051
|
+
"char": "n",
|
|
3052
|
+
"description": "Action name",
|
|
3053
|
+
"name": "name",
|
|
2896
3054
|
"required": true,
|
|
2897
3055
|
"hasDynamicHelp": false,
|
|
2898
3056
|
"multiple": false,
|
|
2899
|
-
"options": [
|
|
2900
|
-
"sqlserver",
|
|
2901
|
-
"postgresql"
|
|
2902
|
-
],
|
|
2903
|
-
"type": "option"
|
|
2904
|
-
},
|
|
2905
|
-
"scope": {
|
|
2906
|
-
"description": "What to scan for translation",
|
|
2907
|
-
"name": "scope",
|
|
2908
|
-
"default": "all",
|
|
2909
|
-
"hasDynamicHelp": false,
|
|
2910
|
-
"multiple": false,
|
|
2911
|
-
"options": [
|
|
2912
|
-
"queries",
|
|
2913
|
-
"views",
|
|
2914
|
-
"filters",
|
|
2915
|
-
"all"
|
|
2916
|
-
],
|
|
2917
3057
|
"type": "option"
|
|
2918
3058
|
},
|
|
2919
|
-
"
|
|
2920
|
-
"
|
|
2921
|
-
"
|
|
3059
|
+
"param": {
|
|
3060
|
+
"char": "p",
|
|
3061
|
+
"description": "Action parameters in key=value format",
|
|
3062
|
+
"name": "param",
|
|
2922
3063
|
"hasDynamicHelp": false,
|
|
2923
|
-
"multiple":
|
|
3064
|
+
"multiple": true,
|
|
2924
3065
|
"type": "option"
|
|
2925
3066
|
},
|
|
2926
3067
|
"dry-run": {
|
|
2927
|
-
"description": "
|
|
3068
|
+
"description": "Validate without executing",
|
|
2928
3069
|
"name": "dry-run",
|
|
2929
3070
|
"allowNo": false,
|
|
2930
3071
|
"type": "boolean"
|
|
2931
3072
|
},
|
|
2932
|
-
"review": {
|
|
2933
|
-
"description": "Generate review report only (no writes to database)",
|
|
2934
|
-
"name": "review",
|
|
2935
|
-
"allowNo": false,
|
|
2936
|
-
"type": "boolean"
|
|
2937
|
-
},
|
|
2938
3073
|
"output": {
|
|
2939
3074
|
"char": "o",
|
|
2940
|
-
"description": "Output
|
|
3075
|
+
"description": "Output format",
|
|
2941
3076
|
"name": "output",
|
|
3077
|
+
"default": "compact",
|
|
2942
3078
|
"hasDynamicHelp": false,
|
|
2943
3079
|
"multiple": false,
|
|
3080
|
+
"options": [
|
|
3081
|
+
"compact",
|
|
3082
|
+
"json",
|
|
3083
|
+
"table"
|
|
3084
|
+
],
|
|
2944
3085
|
"type": "option"
|
|
2945
3086
|
},
|
|
2946
|
-
"
|
|
2947
|
-
"
|
|
2948
|
-
"
|
|
3087
|
+
"verbose": {
|
|
3088
|
+
"char": "v",
|
|
3089
|
+
"description": "Show detailed execution information",
|
|
3090
|
+
"name": "verbose",
|
|
2949
3091
|
"allowNo": false,
|
|
2950
3092
|
"type": "boolean"
|
|
3093
|
+
},
|
|
3094
|
+
"timeout": {
|
|
3095
|
+
"description": "Execution timeout in milliseconds",
|
|
3096
|
+
"name": "timeout",
|
|
3097
|
+
"default": 300000,
|
|
3098
|
+
"hasDynamicHelp": false,
|
|
3099
|
+
"multiple": false,
|
|
3100
|
+
"type": "option"
|
|
2951
3101
|
}
|
|
2952
3102
|
},
|
|
2953
3103
|
"hasDynamicHelp": false,
|
|
2954
3104
|
"hiddenAliases": [],
|
|
2955
|
-
"id": "
|
|
3105
|
+
"id": "ai:actions:run",
|
|
2956
3106
|
"pluginAlias": "@memberjunction/cli",
|
|
2957
3107
|
"pluginName": "@memberjunction/cli",
|
|
2958
3108
|
"pluginType": "core",
|
|
@@ -2962,8 +3112,9 @@
|
|
|
2962
3112
|
"relativePath": [
|
|
2963
3113
|
"dist",
|
|
2964
3114
|
"commands",
|
|
2965
|
-
"
|
|
2966
|
-
"
|
|
3115
|
+
"ai",
|
|
3116
|
+
"actions",
|
|
3117
|
+
"run.js"
|
|
2967
3118
|
]
|
|
2968
3119
|
},
|
|
2969
3120
|
"ai:agents:list": {
|
|
@@ -3311,129 +3462,6 @@
|
|
|
3311
3462
|
"index.js"
|
|
3312
3463
|
]
|
|
3313
3464
|
},
|
|
3314
|
-
"ai:actions:list": {
|
|
3315
|
-
"aliases": [],
|
|
3316
|
-
"args": {},
|
|
3317
|
-
"description": "List available AI actions",
|
|
3318
|
-
"examples": [
|
|
3319
|
-
"<%= config.bin %> <%= command.id %>",
|
|
3320
|
-
"<%= config.bin %> <%= command.id %> --output=table",
|
|
3321
|
-
"<%= config.bin %> <%= command.id %> --output=json"
|
|
3322
|
-
],
|
|
3323
|
-
"flags": {
|
|
3324
|
-
"output": {
|
|
3325
|
-
"char": "o",
|
|
3326
|
-
"description": "Output format",
|
|
3327
|
-
"name": "output",
|
|
3328
|
-
"default": "compact",
|
|
3329
|
-
"hasDynamicHelp": false,
|
|
3330
|
-
"multiple": false,
|
|
3331
|
-
"options": [
|
|
3332
|
-
"compact",
|
|
3333
|
-
"json",
|
|
3334
|
-
"table"
|
|
3335
|
-
],
|
|
3336
|
-
"type": "option"
|
|
3337
|
-
}
|
|
3338
|
-
},
|
|
3339
|
-
"hasDynamicHelp": false,
|
|
3340
|
-
"hiddenAliases": [],
|
|
3341
|
-
"id": "ai:actions:list",
|
|
3342
|
-
"pluginAlias": "@memberjunction/cli",
|
|
3343
|
-
"pluginName": "@memberjunction/cli",
|
|
3344
|
-
"pluginType": "core",
|
|
3345
|
-
"strict": true,
|
|
3346
|
-
"enableJsonFlag": false,
|
|
3347
|
-
"isESM": true,
|
|
3348
|
-
"relativePath": [
|
|
3349
|
-
"dist",
|
|
3350
|
-
"commands",
|
|
3351
|
-
"ai",
|
|
3352
|
-
"actions",
|
|
3353
|
-
"list.js"
|
|
3354
|
-
]
|
|
3355
|
-
},
|
|
3356
|
-
"ai:actions:run": {
|
|
3357
|
-
"aliases": [],
|
|
3358
|
-
"args": {},
|
|
3359
|
-
"description": "Execute an AI action with parameters",
|
|
3360
|
-
"examples": [
|
|
3361
|
-
"<%= config.bin %> <%= command.id %> -n \"Get Weather\" --param \"Location=Boston\"",
|
|
3362
|
-
"<%= config.bin %> <%= command.id %> -n \"Get Stock Price\" --param \"Ticker=AAPL\"",
|
|
3363
|
-
"<%= 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\"",
|
|
3364
|
-
"<%= config.bin %> <%= command.id %> -n \"Calculate Expression\" --param \"Expression=2+2*3\" --dry-run"
|
|
3365
|
-
],
|
|
3366
|
-
"flags": {
|
|
3367
|
-
"name": {
|
|
3368
|
-
"char": "n",
|
|
3369
|
-
"description": "Action name",
|
|
3370
|
-
"name": "name",
|
|
3371
|
-
"required": true,
|
|
3372
|
-
"hasDynamicHelp": false,
|
|
3373
|
-
"multiple": false,
|
|
3374
|
-
"type": "option"
|
|
3375
|
-
},
|
|
3376
|
-
"param": {
|
|
3377
|
-
"char": "p",
|
|
3378
|
-
"description": "Action parameters in key=value format",
|
|
3379
|
-
"name": "param",
|
|
3380
|
-
"hasDynamicHelp": false,
|
|
3381
|
-
"multiple": true,
|
|
3382
|
-
"type": "option"
|
|
3383
|
-
},
|
|
3384
|
-
"dry-run": {
|
|
3385
|
-
"description": "Validate without executing",
|
|
3386
|
-
"name": "dry-run",
|
|
3387
|
-
"allowNo": false,
|
|
3388
|
-
"type": "boolean"
|
|
3389
|
-
},
|
|
3390
|
-
"output": {
|
|
3391
|
-
"char": "o",
|
|
3392
|
-
"description": "Output format",
|
|
3393
|
-
"name": "output",
|
|
3394
|
-
"default": "compact",
|
|
3395
|
-
"hasDynamicHelp": false,
|
|
3396
|
-
"multiple": false,
|
|
3397
|
-
"options": [
|
|
3398
|
-
"compact",
|
|
3399
|
-
"json",
|
|
3400
|
-
"table"
|
|
3401
|
-
],
|
|
3402
|
-
"type": "option"
|
|
3403
|
-
},
|
|
3404
|
-
"verbose": {
|
|
3405
|
-
"char": "v",
|
|
3406
|
-
"description": "Show detailed execution information",
|
|
3407
|
-
"name": "verbose",
|
|
3408
|
-
"allowNo": false,
|
|
3409
|
-
"type": "boolean"
|
|
3410
|
-
},
|
|
3411
|
-
"timeout": {
|
|
3412
|
-
"description": "Execution timeout in milliseconds",
|
|
3413
|
-
"name": "timeout",
|
|
3414
|
-
"default": 300000,
|
|
3415
|
-
"hasDynamicHelp": false,
|
|
3416
|
-
"multiple": false,
|
|
3417
|
-
"type": "option"
|
|
3418
|
-
}
|
|
3419
|
-
},
|
|
3420
|
-
"hasDynamicHelp": false,
|
|
3421
|
-
"hiddenAliases": [],
|
|
3422
|
-
"id": "ai:actions:run",
|
|
3423
|
-
"pluginAlias": "@memberjunction/cli",
|
|
3424
|
-
"pluginName": "@memberjunction/cli",
|
|
3425
|
-
"pluginType": "core",
|
|
3426
|
-
"strict": true,
|
|
3427
|
-
"enableJsonFlag": false,
|
|
3428
|
-
"isESM": true,
|
|
3429
|
-
"relativePath": [
|
|
3430
|
-
"dist",
|
|
3431
|
-
"commands",
|
|
3432
|
-
"ai",
|
|
3433
|
-
"actions",
|
|
3434
|
-
"run.js"
|
|
3435
|
-
]
|
|
3436
|
-
},
|
|
3437
3465
|
"ai:prompts:list": {
|
|
3438
3466
|
"aliases": [],
|
|
3439
3467
|
"args": {},
|
|
@@ -3574,5 +3602,5 @@
|
|
|
3574
3602
|
]
|
|
3575
3603
|
}
|
|
3576
3604
|
},
|
|
3577
|
-
"version": "5.
|
|
3605
|
+
"version": "5.30.1"
|
|
3578
3606
|
}
|