@memberjunction/cli 5.51.2 → 5.51.3
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/oclif.manifest.json +1260 -1260
- package/package.json +17 -17
package/oclif.manifest.json
CHANGED
|
@@ -390,6 +390,67 @@
|
|
|
390
390
|
"upgrade.js"
|
|
391
391
|
]
|
|
392
392
|
},
|
|
393
|
+
"artifacts:reclassify": {
|
|
394
|
+
"aliases": [],
|
|
395
|
+
"args": {},
|
|
396
|
+
"description": "Upgrade-recovery utility for v5.35 artifact unification. Re-evaluates rows whose TypeID is the deleted JSON fallback but whose actual content does not parse as JSON. Normally a no-op: the v5.35 backfill migration handles this automatically. This command is only relevant when the migration ran BEFORE the artifact-type metadata (Generic Text / Generic Binary) was pushed via `mj sync push`, in which case the migration prints a notice telling you to run this. Reports \"no candidates\" once everything is reconciled. Dry-run by default; --apply writes through Record Changes.",
|
|
397
|
+
"examples": [
|
|
398
|
+
"<%= config.bin %> <%= command.id %>",
|
|
399
|
+
"<%= config.bin %> <%= command.id %> --apply --limit 50"
|
|
400
|
+
],
|
|
401
|
+
"flags": {
|
|
402
|
+
"conversation-id": {
|
|
403
|
+
"description": "Scope to artifacts attached to the given conversation.",
|
|
404
|
+
"name": "conversation-id",
|
|
405
|
+
"hasDynamicHelp": false,
|
|
406
|
+
"multiple": false,
|
|
407
|
+
"type": "option"
|
|
408
|
+
},
|
|
409
|
+
"since": {
|
|
410
|
+
"description": "Scope to artifacts created on/after this ISO date.",
|
|
411
|
+
"name": "since",
|
|
412
|
+
"hasDynamicHelp": false,
|
|
413
|
+
"multiple": false,
|
|
414
|
+
"type": "option"
|
|
415
|
+
},
|
|
416
|
+
"limit": {
|
|
417
|
+
"description": "Maximum number of rows to inspect.",
|
|
418
|
+
"name": "limit",
|
|
419
|
+
"default": 100,
|
|
420
|
+
"hasDynamicHelp": false,
|
|
421
|
+
"multiple": false,
|
|
422
|
+
"type": "option"
|
|
423
|
+
},
|
|
424
|
+
"apply": {
|
|
425
|
+
"description": "Write changes. Without this flag, this command only reports what it would do.",
|
|
426
|
+
"name": "apply",
|
|
427
|
+
"allowNo": false,
|
|
428
|
+
"type": "boolean"
|
|
429
|
+
},
|
|
430
|
+
"verbose": {
|
|
431
|
+
"char": "v",
|
|
432
|
+
"description": "Print every candidate row, not just the summary.",
|
|
433
|
+
"name": "verbose",
|
|
434
|
+
"allowNo": false,
|
|
435
|
+
"type": "boolean"
|
|
436
|
+
}
|
|
437
|
+
},
|
|
438
|
+
"hasDynamicHelp": false,
|
|
439
|
+
"hiddenAliases": [],
|
|
440
|
+
"id": "artifacts:reclassify",
|
|
441
|
+
"pluginAlias": "@memberjunction/cli",
|
|
442
|
+
"pluginName": "@memberjunction/cli",
|
|
443
|
+
"pluginType": "core",
|
|
444
|
+
"strict": true,
|
|
445
|
+
"enableJsonFlag": false,
|
|
446
|
+
"isESM": true,
|
|
447
|
+
"relativePath": [
|
|
448
|
+
"dist",
|
|
449
|
+
"commands",
|
|
450
|
+
"artifacts",
|
|
451
|
+
"reclassify.js"
|
|
452
|
+
]
|
|
453
|
+
},
|
|
393
454
|
"baseline:build": {
|
|
394
455
|
"aliases": [],
|
|
395
456
|
"args": {},
|
|
@@ -728,67 +789,6 @@
|
|
|
728
789
|
"roundtrip.js"
|
|
729
790
|
]
|
|
730
791
|
},
|
|
731
|
-
"artifacts:reclassify": {
|
|
732
|
-
"aliases": [],
|
|
733
|
-
"args": {},
|
|
734
|
-
"description": "Upgrade-recovery utility for v5.35 artifact unification. Re-evaluates rows whose TypeID is the deleted JSON fallback but whose actual content does not parse as JSON. Normally a no-op: the v5.35 backfill migration handles this automatically. This command is only relevant when the migration ran BEFORE the artifact-type metadata (Generic Text / Generic Binary) was pushed via `mj sync push`, in which case the migration prints a notice telling you to run this. Reports \"no candidates\" once everything is reconciled. Dry-run by default; --apply writes through Record Changes.",
|
|
735
|
-
"examples": [
|
|
736
|
-
"<%= config.bin %> <%= command.id %>",
|
|
737
|
-
"<%= config.bin %> <%= command.id %> --apply --limit 50"
|
|
738
|
-
],
|
|
739
|
-
"flags": {
|
|
740
|
-
"conversation-id": {
|
|
741
|
-
"description": "Scope to artifacts attached to the given conversation.",
|
|
742
|
-
"name": "conversation-id",
|
|
743
|
-
"hasDynamicHelp": false,
|
|
744
|
-
"multiple": false,
|
|
745
|
-
"type": "option"
|
|
746
|
-
},
|
|
747
|
-
"since": {
|
|
748
|
-
"description": "Scope to artifacts created on/after this ISO date.",
|
|
749
|
-
"name": "since",
|
|
750
|
-
"hasDynamicHelp": false,
|
|
751
|
-
"multiple": false,
|
|
752
|
-
"type": "option"
|
|
753
|
-
},
|
|
754
|
-
"limit": {
|
|
755
|
-
"description": "Maximum number of rows to inspect.",
|
|
756
|
-
"name": "limit",
|
|
757
|
-
"default": 100,
|
|
758
|
-
"hasDynamicHelp": false,
|
|
759
|
-
"multiple": false,
|
|
760
|
-
"type": "option"
|
|
761
|
-
},
|
|
762
|
-
"apply": {
|
|
763
|
-
"description": "Write changes. Without this flag, this command only reports what it would do.",
|
|
764
|
-
"name": "apply",
|
|
765
|
-
"allowNo": false,
|
|
766
|
-
"type": "boolean"
|
|
767
|
-
},
|
|
768
|
-
"verbose": {
|
|
769
|
-
"char": "v",
|
|
770
|
-
"description": "Print every candidate row, not just the summary.",
|
|
771
|
-
"name": "verbose",
|
|
772
|
-
"allowNo": false,
|
|
773
|
-
"type": "boolean"
|
|
774
|
-
}
|
|
775
|
-
},
|
|
776
|
-
"hasDynamicHelp": false,
|
|
777
|
-
"hiddenAliases": [],
|
|
778
|
-
"id": "artifacts:reclassify",
|
|
779
|
-
"pluginAlias": "@memberjunction/cli",
|
|
780
|
-
"pluginName": "@memberjunction/cli",
|
|
781
|
-
"pluginType": "core",
|
|
782
|
-
"strict": true,
|
|
783
|
-
"enableJsonFlag": false,
|
|
784
|
-
"isESM": true,
|
|
785
|
-
"relativePath": [
|
|
786
|
-
"dist",
|
|
787
|
-
"commands",
|
|
788
|
-
"artifacts",
|
|
789
|
-
"reclassify.js"
|
|
790
|
-
]
|
|
791
|
-
},
|
|
792
792
|
"bump": {
|
|
793
793
|
"aliases": [],
|
|
794
794
|
"args": {},
|
|
@@ -2500,6 +2500,50 @@
|
|
|
2500
2500
|
"rebake.js"
|
|
2501
2501
|
]
|
|
2502
2502
|
},
|
|
2503
|
+
"plugin:add": {
|
|
2504
|
+
"aliases": [],
|
|
2505
|
+
"args": {
|
|
2506
|
+
"package": {
|
|
2507
|
+
"description": "Plugin entry-point specifier (package name, subpath, or relative path)",
|
|
2508
|
+
"name": "package",
|
|
2509
|
+
"required": true
|
|
2510
|
+
}
|
|
2511
|
+
},
|
|
2512
|
+
"description": "Register a CLI plugin package in mj-cli-plugins.json so `mj` loads it at startup.",
|
|
2513
|
+
"examples": [
|
|
2514
|
+
"<%= config.bin %> <%= command.id %> @my-org/mj-plugin/plugins",
|
|
2515
|
+
"<%= config.bin %> <%= command.id %> ./local-plugins/my-tool"
|
|
2516
|
+
],
|
|
2517
|
+
"flags": {
|
|
2518
|
+
"format": {
|
|
2519
|
+
"description": "Output format",
|
|
2520
|
+
"name": "format",
|
|
2521
|
+
"default": "text",
|
|
2522
|
+
"hasDynamicHelp": false,
|
|
2523
|
+
"multiple": false,
|
|
2524
|
+
"options": [
|
|
2525
|
+
"text",
|
|
2526
|
+
"json"
|
|
2527
|
+
],
|
|
2528
|
+
"type": "option"
|
|
2529
|
+
}
|
|
2530
|
+
},
|
|
2531
|
+
"hasDynamicHelp": false,
|
|
2532
|
+
"hiddenAliases": [],
|
|
2533
|
+
"id": "plugin:add",
|
|
2534
|
+
"pluginAlias": "@memberjunction/cli",
|
|
2535
|
+
"pluginName": "@memberjunction/cli",
|
|
2536
|
+
"pluginType": "core",
|
|
2537
|
+
"strict": true,
|
|
2538
|
+
"enableJsonFlag": false,
|
|
2539
|
+
"isESM": true,
|
|
2540
|
+
"relativePath": [
|
|
2541
|
+
"dist",
|
|
2542
|
+
"commands",
|
|
2543
|
+
"plugin",
|
|
2544
|
+
"add.js"
|
|
2545
|
+
]
|
|
2546
|
+
},
|
|
2503
2547
|
"querygen:export": {
|
|
2504
2548
|
"aliases": [],
|
|
2505
2549
|
"args": {},
|
|
@@ -2867,96 +2911,187 @@
|
|
|
2867
2911
|
"index.js"
|
|
2868
2912
|
]
|
|
2869
2913
|
},
|
|
2870
|
-
"
|
|
2914
|
+
"test:compare": {
|
|
2871
2915
|
"aliases": [],
|
|
2872
2916
|
"args": {
|
|
2873
|
-
"
|
|
2874
|
-
"description": "
|
|
2875
|
-
"name": "
|
|
2876
|
-
"required":
|
|
2877
|
-
}
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
"<%= config.bin %> <%= command.id %> ./local-plugins/my-tool"
|
|
2883
|
-
],
|
|
2884
|
-
"flags": {
|
|
2885
|
-
"format": {
|
|
2886
|
-
"description": "Output format",
|
|
2887
|
-
"name": "format",
|
|
2888
|
-
"default": "text",
|
|
2889
|
-
"hasDynamicHelp": false,
|
|
2890
|
-
"multiple": false,
|
|
2891
|
-
"options": [
|
|
2892
|
-
"text",
|
|
2893
|
-
"json"
|
|
2894
|
-
],
|
|
2895
|
-
"type": "option"
|
|
2917
|
+
"runId1": {
|
|
2918
|
+
"description": "First test run ID to compare",
|
|
2919
|
+
"name": "runId1",
|
|
2920
|
+
"required": false
|
|
2921
|
+
},
|
|
2922
|
+
"runId2": {
|
|
2923
|
+
"description": "Second test run ID to compare",
|
|
2924
|
+
"name": "runId2",
|
|
2925
|
+
"required": false
|
|
2896
2926
|
}
|
|
2897
2927
|
},
|
|
2898
|
-
"
|
|
2899
|
-
"hiddenAliases": [],
|
|
2900
|
-
"id": "plugin:add",
|
|
2901
|
-
"pluginAlias": "@memberjunction/cli",
|
|
2902
|
-
"pluginName": "@memberjunction/cli",
|
|
2903
|
-
"pluginType": "core",
|
|
2904
|
-
"strict": true,
|
|
2905
|
-
"enableJsonFlag": false,
|
|
2906
|
-
"isESM": true,
|
|
2907
|
-
"relativePath": [
|
|
2908
|
-
"dist",
|
|
2909
|
-
"commands",
|
|
2910
|
-
"plugin",
|
|
2911
|
-
"add.js"
|
|
2912
|
-
]
|
|
2913
|
-
},
|
|
2914
|
-
"sync:file-reset": {
|
|
2915
|
-
"aliases": [],
|
|
2916
|
-
"args": {},
|
|
2917
|
-
"description": "Reset file metadata sections",
|
|
2928
|
+
"description": "Compare test runs for regression detection",
|
|
2918
2929
|
"examples": [
|
|
2919
2930
|
"<%= config.bin %> <%= command.id %>",
|
|
2920
|
-
"<%= config.bin %> <%= command.id %> --
|
|
2921
|
-
"<%= config.bin %> <%= command.id %>
|
|
2922
|
-
"<%= config.bin %> <%= command.id %>
|
|
2931
|
+
"<%= config.bin %> <%= command.id %> --latest",
|
|
2932
|
+
"<%= config.bin %> <%= command.id %> <run-id-1> <run-id-2>",
|
|
2933
|
+
"<%= config.bin %> <%= command.id %> -v 5.17.0 -v 5.18.0",
|
|
2934
|
+
"<%= config.bin %> <%= command.id %> -c abc1234 -c def5678",
|
|
2935
|
+
"<%= config.bin %> <%= command.id %> --from-json baseline.json latest.json",
|
|
2936
|
+
"<%= config.bin %> <%= command.id %> --latest --format=markdown --output=report.md"
|
|
2923
2937
|
],
|
|
2924
2938
|
"flags": {
|
|
2925
|
-
"
|
|
2926
|
-
"
|
|
2927
|
-
"
|
|
2939
|
+
"version": {
|
|
2940
|
+
"char": "v",
|
|
2941
|
+
"description": "Compare runs by version",
|
|
2942
|
+
"name": "version",
|
|
2928
2943
|
"hasDynamicHelp": false,
|
|
2929
|
-
"multiple":
|
|
2944
|
+
"multiple": true,
|
|
2930
2945
|
"type": "option"
|
|
2931
2946
|
},
|
|
2932
|
-
"
|
|
2933
|
-
"
|
|
2934
|
-
"
|
|
2947
|
+
"commit": {
|
|
2948
|
+
"char": "c",
|
|
2949
|
+
"description": "Compare runs by git commit",
|
|
2950
|
+
"name": "commit",
|
|
2935
2951
|
"hasDynamicHelp": false,
|
|
2936
|
-
"multiple":
|
|
2952
|
+
"multiple": true,
|
|
2937
2953
|
"type": "option"
|
|
2938
2954
|
},
|
|
2939
|
-
"
|
|
2940
|
-
"description": "
|
|
2941
|
-
"name": "
|
|
2955
|
+
"diff-only": {
|
|
2956
|
+
"description": "Show only differences",
|
|
2957
|
+
"name": "diff-only",
|
|
2942
2958
|
"allowNo": false,
|
|
2943
2959
|
"type": "boolean"
|
|
2944
2960
|
},
|
|
2945
|
-
"
|
|
2946
|
-
"
|
|
2947
|
-
"
|
|
2961
|
+
"latest": {
|
|
2962
|
+
"char": "l",
|
|
2963
|
+
"description": "Compare the two most recent completed suite runs",
|
|
2964
|
+
"name": "latest",
|
|
2948
2965
|
"allowNo": false,
|
|
2949
2966
|
"type": "boolean"
|
|
2950
2967
|
},
|
|
2951
|
-
"
|
|
2952
|
-
"description": "
|
|
2953
|
-
"name": "
|
|
2968
|
+
"from-json": {
|
|
2969
|
+
"description": "Compare two results.json files directly (no DB). Pass twice: --from-json PREV --from-json CURR",
|
|
2970
|
+
"name": "from-json",
|
|
2971
|
+
"hasDynamicHelp": false,
|
|
2972
|
+
"multiple": true,
|
|
2973
|
+
"type": "option"
|
|
2974
|
+
},
|
|
2975
|
+
"format": {
|
|
2976
|
+
"char": "f",
|
|
2977
|
+
"description": "Output format",
|
|
2978
|
+
"name": "format",
|
|
2979
|
+
"default": "console",
|
|
2980
|
+
"hasDynamicHelp": false,
|
|
2981
|
+
"multiple": false,
|
|
2982
|
+
"options": [
|
|
2983
|
+
"console",
|
|
2984
|
+
"json",
|
|
2985
|
+
"markdown"
|
|
2986
|
+
],
|
|
2987
|
+
"type": "option"
|
|
2988
|
+
},
|
|
2989
|
+
"output": {
|
|
2990
|
+
"char": "o",
|
|
2991
|
+
"description": "Output file path",
|
|
2992
|
+
"name": "output",
|
|
2993
|
+
"hasDynamicHelp": false,
|
|
2994
|
+
"multiple": false,
|
|
2995
|
+
"type": "option"
|
|
2996
|
+
},
|
|
2997
|
+
"verbose": {
|
|
2998
|
+
"description": "Show detailed information",
|
|
2999
|
+
"name": "verbose",
|
|
2954
3000
|
"allowNo": false,
|
|
2955
3001
|
"type": "boolean"
|
|
2956
3002
|
},
|
|
3003
|
+
"tag": {
|
|
3004
|
+
"description": "Filter suite runs by tag (matches against MJTestSuiteRunEntity.Tags). Useful for isolating runs from a specific source environment in an archive MJ. DB mode only — --from-json ignores this flag.",
|
|
3005
|
+
"name": "tag",
|
|
3006
|
+
"hasDynamicHelp": false,
|
|
3007
|
+
"multiple": false,
|
|
3008
|
+
"type": "option"
|
|
3009
|
+
}
|
|
3010
|
+
},
|
|
3011
|
+
"hasDynamicHelp": false,
|
|
3012
|
+
"hiddenAliases": [],
|
|
3013
|
+
"id": "test:compare",
|
|
3014
|
+
"pluginAlias": "@memberjunction/cli",
|
|
3015
|
+
"pluginName": "@memberjunction/cli",
|
|
3016
|
+
"pluginType": "core",
|
|
3017
|
+
"strict": true,
|
|
3018
|
+
"enableJsonFlag": false,
|
|
3019
|
+
"isESM": true,
|
|
3020
|
+
"relativePath": [
|
|
3021
|
+
"dist",
|
|
3022
|
+
"commands",
|
|
3023
|
+
"test",
|
|
3024
|
+
"compare.js"
|
|
3025
|
+
]
|
|
3026
|
+
},
|
|
3027
|
+
"test:history": {
|
|
3028
|
+
"aliases": [],
|
|
3029
|
+
"args": {},
|
|
3030
|
+
"description": "View test execution history",
|
|
3031
|
+
"examples": [
|
|
3032
|
+
"<%= config.bin %> <%= command.id %>",
|
|
3033
|
+
"<%= config.bin %> <%= command.id %> --test=<test-id>",
|
|
3034
|
+
"<%= config.bin %> <%= command.id %> --suite=<suite-id>",
|
|
3035
|
+
"<%= config.bin %> <%= command.id %> --since=\"2024-01-01\"",
|
|
3036
|
+
"<%= config.bin %> <%= command.id %> --limit=50"
|
|
3037
|
+
],
|
|
3038
|
+
"flags": {
|
|
3039
|
+
"test": {
|
|
3040
|
+
"char": "t",
|
|
3041
|
+
"description": "Filter by test ID",
|
|
3042
|
+
"name": "test",
|
|
3043
|
+
"hasDynamicHelp": false,
|
|
3044
|
+
"multiple": false,
|
|
3045
|
+
"type": "option"
|
|
3046
|
+
},
|
|
3047
|
+
"recent": {
|
|
3048
|
+
"char": "r",
|
|
3049
|
+
"description": "Number of recent runs to show",
|
|
3050
|
+
"name": "recent",
|
|
3051
|
+
"hasDynamicHelp": false,
|
|
3052
|
+
"multiple": false,
|
|
3053
|
+
"type": "option"
|
|
3054
|
+
},
|
|
3055
|
+
"from": {
|
|
3056
|
+
"description": "Show history from date (YYYY-MM-DD)",
|
|
3057
|
+
"name": "from",
|
|
3058
|
+
"hasDynamicHelp": false,
|
|
3059
|
+
"multiple": false,
|
|
3060
|
+
"type": "option"
|
|
3061
|
+
},
|
|
3062
|
+
"status": {
|
|
3063
|
+
"char": "s",
|
|
3064
|
+
"description": "Filter by status",
|
|
3065
|
+
"name": "status",
|
|
3066
|
+
"hasDynamicHelp": false,
|
|
3067
|
+
"multiple": false,
|
|
3068
|
+
"type": "option"
|
|
3069
|
+
},
|
|
3070
|
+
"format": {
|
|
3071
|
+
"char": "f",
|
|
3072
|
+
"description": "Output format",
|
|
3073
|
+
"name": "format",
|
|
3074
|
+
"default": "console",
|
|
3075
|
+
"hasDynamicHelp": false,
|
|
3076
|
+
"multiple": false,
|
|
3077
|
+
"options": [
|
|
3078
|
+
"console",
|
|
3079
|
+
"json",
|
|
3080
|
+
"markdown"
|
|
3081
|
+
],
|
|
3082
|
+
"type": "option"
|
|
3083
|
+
},
|
|
3084
|
+
"output": {
|
|
3085
|
+
"char": "o",
|
|
3086
|
+
"description": "Output file path",
|
|
3087
|
+
"name": "output",
|
|
3088
|
+
"hasDynamicHelp": false,
|
|
3089
|
+
"multiple": false,
|
|
3090
|
+
"type": "option"
|
|
3091
|
+
},
|
|
2957
3092
|
"verbose": {
|
|
2958
3093
|
"char": "v",
|
|
2959
|
-
"description": "Show detailed
|
|
3094
|
+
"description": "Show detailed information",
|
|
2960
3095
|
"name": "verbose",
|
|
2961
3096
|
"allowNo": false,
|
|
2962
3097
|
"type": "boolean"
|
|
@@ -2964,7 +3099,7 @@
|
|
|
2964
3099
|
},
|
|
2965
3100
|
"hasDynamicHelp": false,
|
|
2966
3101
|
"hiddenAliases": [],
|
|
2967
|
-
"id": "
|
|
3102
|
+
"id": "test:history",
|
|
2968
3103
|
"pluginAlias": "@memberjunction/cli",
|
|
2969
3104
|
"pluginName": "@memberjunction/cli",
|
|
2970
3105
|
"pluginType": "core",
|
|
@@ -2974,21 +3109,26 @@
|
|
|
2974
3109
|
"relativePath": [
|
|
2975
3110
|
"dist",
|
|
2976
3111
|
"commands",
|
|
2977
|
-
"
|
|
2978
|
-
"
|
|
3112
|
+
"test",
|
|
3113
|
+
"history.js"
|
|
2979
3114
|
]
|
|
2980
3115
|
},
|
|
2981
|
-
"
|
|
3116
|
+
"test": {
|
|
2982
3117
|
"aliases": [],
|
|
2983
3118
|
"args": {},
|
|
2984
|
-
"description": "
|
|
3119
|
+
"description": "MemberJunction Testing Framework - Execute and manage tests",
|
|
2985
3120
|
"examples": [
|
|
2986
|
-
"<%= config.bin %> <%= command.id %>"
|
|
3121
|
+
"<%= config.bin %> <%= command.id %> run <test-id>",
|
|
3122
|
+
"<%= config.bin %> <%= command.id %> run --name=\"Active Members Count\"",
|
|
3123
|
+
"<%= config.bin %> <%= command.id %> suite <suite-id>",
|
|
3124
|
+
"<%= config.bin %> <%= command.id %> list",
|
|
3125
|
+
"<%= config.bin %> <%= command.id %> list --suites",
|
|
3126
|
+
"<%= config.bin %> <%= command.id %> validate --all"
|
|
2987
3127
|
],
|
|
2988
3128
|
"flags": {},
|
|
2989
3129
|
"hasDynamicHelp": false,
|
|
2990
3130
|
"hiddenAliases": [],
|
|
2991
|
-
"id": "
|
|
3131
|
+
"id": "test",
|
|
2992
3132
|
"pluginAlias": "@memberjunction/cli",
|
|
2993
3133
|
"pluginName": "@memberjunction/cli",
|
|
2994
3134
|
"pluginType": "core",
|
|
@@ -2998,148 +3138,183 @@
|
|
|
2998
3138
|
"relativePath": [
|
|
2999
3139
|
"dist",
|
|
3000
3140
|
"commands",
|
|
3001
|
-
"
|
|
3002
|
-
"
|
|
3141
|
+
"test",
|
|
3142
|
+
"index.js"
|
|
3003
3143
|
]
|
|
3004
3144
|
},
|
|
3005
|
-
"
|
|
3145
|
+
"test:list": {
|
|
3006
3146
|
"aliases": [],
|
|
3007
3147
|
"args": {},
|
|
3008
|
-
"description": "
|
|
3148
|
+
"description": "List available tests, suites, and types",
|
|
3009
3149
|
"examples": [
|
|
3010
|
-
"<%= config.bin %> <%= command.id %>
|
|
3011
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3012
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3150
|
+
"<%= config.bin %> <%= command.id %>",
|
|
3151
|
+
"<%= config.bin %> <%= command.id %> --suites",
|
|
3152
|
+
"<%= config.bin %> <%= command.id %> --types",
|
|
3153
|
+
"<%= config.bin %> <%= command.id %> --type=agent-eval",
|
|
3154
|
+
"<%= config.bin %> <%= command.id %> --tag=smoke",
|
|
3155
|
+
"<%= config.bin %> <%= command.id %> --status=active --verbose"
|
|
3013
3156
|
],
|
|
3014
3157
|
"flags": {
|
|
3015
|
-
"
|
|
3016
|
-
"description": "
|
|
3017
|
-
"name": "
|
|
3018
|
-
"default": "text",
|
|
3019
|
-
"hasDynamicHelp": false,
|
|
3020
|
-
"multiple": false,
|
|
3021
|
-
"options": [
|
|
3022
|
-
"text",
|
|
3023
|
-
"json",
|
|
3024
|
-
"md"
|
|
3025
|
-
],
|
|
3026
|
-
"type": "option"
|
|
3027
|
-
},
|
|
3028
|
-
"verbose": {
|
|
3029
|
-
"char": "v",
|
|
3030
|
-
"description": "Show detailed output",
|
|
3031
|
-
"name": "verbose",
|
|
3158
|
+
"suites": {
|
|
3159
|
+
"description": "List test suites instead of tests",
|
|
3160
|
+
"name": "suites",
|
|
3032
3161
|
"allowNo": false,
|
|
3033
3162
|
"type": "boolean"
|
|
3034
3163
|
},
|
|
3035
|
-
"
|
|
3036
|
-
"description": "
|
|
3037
|
-
"name": "
|
|
3164
|
+
"types": {
|
|
3165
|
+
"description": "List test types",
|
|
3166
|
+
"name": "types",
|
|
3038
3167
|
"allowNo": false,
|
|
3039
3168
|
"type": "boolean"
|
|
3040
3169
|
},
|
|
3041
|
-
"
|
|
3042
|
-
"
|
|
3043
|
-
"
|
|
3044
|
-
"
|
|
3170
|
+
"type": {
|
|
3171
|
+
"char": "t",
|
|
3172
|
+
"description": "Filter by test type",
|
|
3173
|
+
"name": "type",
|
|
3045
3174
|
"hasDynamicHelp": false,
|
|
3046
3175
|
"multiple": false,
|
|
3047
3176
|
"type": "option"
|
|
3048
3177
|
},
|
|
3049
|
-
"
|
|
3050
|
-
"description": "
|
|
3051
|
-
"name": "
|
|
3178
|
+
"tag": {
|
|
3179
|
+
"description": "Filter by tag",
|
|
3180
|
+
"name": "tag",
|
|
3052
3181
|
"hasDynamicHelp": false,
|
|
3053
3182
|
"multiple": false,
|
|
3054
3183
|
"type": "option"
|
|
3055
3184
|
},
|
|
3056
|
-
"
|
|
3057
|
-
"
|
|
3058
|
-
"
|
|
3059
|
-
"
|
|
3060
|
-
"
|
|
3185
|
+
"status": {
|
|
3186
|
+
"char": "s",
|
|
3187
|
+
"description": "Filter by status",
|
|
3188
|
+
"name": "status",
|
|
3189
|
+
"hasDynamicHelp": false,
|
|
3190
|
+
"multiple": false,
|
|
3191
|
+
"type": "option"
|
|
3061
3192
|
},
|
|
3062
|
-
"
|
|
3063
|
-
"
|
|
3064
|
-
"
|
|
3193
|
+
"format": {
|
|
3194
|
+
"char": "f",
|
|
3195
|
+
"description": "Output format",
|
|
3196
|
+
"name": "format",
|
|
3197
|
+
"default": "console",
|
|
3065
3198
|
"hasDynamicHelp": false,
|
|
3066
3199
|
"multiple": false,
|
|
3200
|
+
"options": [
|
|
3201
|
+
"console",
|
|
3202
|
+
"json",
|
|
3203
|
+
"markdown"
|
|
3204
|
+
],
|
|
3067
3205
|
"type": "option"
|
|
3068
3206
|
},
|
|
3069
|
-
"
|
|
3070
|
-
"
|
|
3071
|
-
"
|
|
3072
|
-
"
|
|
3073
|
-
"
|
|
3207
|
+
"output": {
|
|
3208
|
+
"char": "o",
|
|
3209
|
+
"description": "Output file path",
|
|
3210
|
+
"name": "output",
|
|
3211
|
+
"hasDynamicHelp": false,
|
|
3212
|
+
"multiple": false,
|
|
3213
|
+
"type": "option"
|
|
3074
3214
|
},
|
|
3075
|
-
"
|
|
3076
|
-
"
|
|
3077
|
-
"
|
|
3215
|
+
"verbose": {
|
|
3216
|
+
"char": "v",
|
|
3217
|
+
"description": "Show detailed information",
|
|
3218
|
+
"name": "verbose",
|
|
3078
3219
|
"allowNo": false,
|
|
3079
3220
|
"type": "boolean"
|
|
3080
|
-
}
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
"
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3221
|
+
}
|
|
3222
|
+
},
|
|
3223
|
+
"hasDynamicHelp": false,
|
|
3224
|
+
"hiddenAliases": [],
|
|
3225
|
+
"id": "test:list",
|
|
3226
|
+
"pluginAlias": "@memberjunction/cli",
|
|
3227
|
+
"pluginName": "@memberjunction/cli",
|
|
3228
|
+
"pluginType": "core",
|
|
3229
|
+
"strict": true,
|
|
3230
|
+
"enableJsonFlag": false,
|
|
3231
|
+
"isESM": true,
|
|
3232
|
+
"relativePath": [
|
|
3233
|
+
"dist",
|
|
3234
|
+
"commands",
|
|
3235
|
+
"test",
|
|
3236
|
+
"list.js"
|
|
3237
|
+
]
|
|
3238
|
+
},
|
|
3239
|
+
"test:run": {
|
|
3240
|
+
"aliases": [],
|
|
3241
|
+
"args": {
|
|
3242
|
+
"testId": {
|
|
3243
|
+
"description": "Test ID to execute",
|
|
3244
|
+
"name": "testId",
|
|
3245
|
+
"required": false
|
|
3246
|
+
}
|
|
3247
|
+
},
|
|
3248
|
+
"description": "Execute a single test by ID or name",
|
|
3249
|
+
"examples": [
|
|
3250
|
+
"<%= config.bin %> <%= command.id %> <test-id>",
|
|
3251
|
+
"<%= config.bin %> <%= command.id %> --name=\"Active Members Count\"",
|
|
3252
|
+
"<%= config.bin %> <%= command.id %> <test-id> --environment=staging",
|
|
3253
|
+
"<%= config.bin %> <%= command.id %> <test-id> --format=json --output=results.json",
|
|
3254
|
+
"<%= config.bin %> <%= command.id %> <test-id> --dry-run"
|
|
3255
|
+
],
|
|
3256
|
+
"flags": {
|
|
3257
|
+
"name": {
|
|
3258
|
+
"char": "n",
|
|
3259
|
+
"description": "Test name to execute",
|
|
3260
|
+
"name": "name",
|
|
3097
3261
|
"hasDynamicHelp": false,
|
|
3098
3262
|
"multiple": false,
|
|
3099
|
-
"options": [
|
|
3100
|
-
"merge",
|
|
3101
|
-
"overwrite",
|
|
3102
|
-
"skip"
|
|
3103
|
-
],
|
|
3104
3263
|
"type": "option"
|
|
3105
3264
|
},
|
|
3106
|
-
"
|
|
3107
|
-
"
|
|
3108
|
-
"
|
|
3265
|
+
"environment": {
|
|
3266
|
+
"char": "e",
|
|
3267
|
+
"description": "Environment context (dev, staging, prod)",
|
|
3268
|
+
"name": "environment",
|
|
3109
3269
|
"hasDynamicHelp": false,
|
|
3110
3270
|
"multiple": false,
|
|
3111
3271
|
"type": "option"
|
|
3112
3272
|
},
|
|
3113
|
-
"
|
|
3114
|
-
"
|
|
3115
|
-
"
|
|
3116
|
-
"
|
|
3117
|
-
"
|
|
3118
|
-
"type": "option"
|
|
3119
|
-
},
|
|
3120
|
-
"exclude-fields": {
|
|
3121
|
-
"description": "Comma-separated list of fields to exclude from pull",
|
|
3122
|
-
"name": "exclude-fields",
|
|
3273
|
+
"format": {
|
|
3274
|
+
"char": "f",
|
|
3275
|
+
"description": "Output format",
|
|
3276
|
+
"name": "format",
|
|
3277
|
+
"default": "console",
|
|
3123
3278
|
"hasDynamicHelp": false,
|
|
3124
|
-
"multiple":
|
|
3279
|
+
"multiple": false,
|
|
3280
|
+
"options": [
|
|
3281
|
+
"console",
|
|
3282
|
+
"json",
|
|
3283
|
+
"markdown"
|
|
3284
|
+
],
|
|
3125
3285
|
"type": "option"
|
|
3126
3286
|
},
|
|
3127
|
-
"
|
|
3128
|
-
"
|
|
3129
|
-
"
|
|
3287
|
+
"output": {
|
|
3288
|
+
"char": "o",
|
|
3289
|
+
"description": "Output file path",
|
|
3290
|
+
"name": "output",
|
|
3130
3291
|
"hasDynamicHelp": false,
|
|
3131
3292
|
"multiple": false,
|
|
3132
3293
|
"type": "option"
|
|
3133
3294
|
},
|
|
3134
|
-
"
|
|
3135
|
-
"description": "
|
|
3136
|
-
"name": "
|
|
3295
|
+
"dry-run": {
|
|
3296
|
+
"description": "Validate without executing",
|
|
3297
|
+
"name": "dry-run",
|
|
3137
3298
|
"allowNo": false,
|
|
3138
3299
|
"type": "boolean"
|
|
3139
3300
|
},
|
|
3140
|
-
"
|
|
3141
|
-
"
|
|
3142
|
-
"
|
|
3301
|
+
"verbose": {
|
|
3302
|
+
"char": "v",
|
|
3303
|
+
"description": "Show detailed execution information",
|
|
3304
|
+
"name": "verbose",
|
|
3305
|
+
"allowNo": false,
|
|
3306
|
+
"type": "boolean"
|
|
3307
|
+
},
|
|
3308
|
+
"checks-module": {
|
|
3309
|
+
"description": "Module specifier (package name or path) side-effect-imported before the run so its integration check bundles register on the IntegrationCheckRegistry. Durable form: mj.config.cjs `testing.checkModules` (this repo loads '@memberjunction/integration-test-suite' that way).",
|
|
3310
|
+
"name": "checks-module",
|
|
3311
|
+
"hasDynamicHelp": false,
|
|
3312
|
+
"multiple": false,
|
|
3313
|
+
"type": "option"
|
|
3314
|
+
},
|
|
3315
|
+
"oracles-module": {
|
|
3316
|
+
"description": "Path to a JS/TS module that exports custom IOracle classes or instances. Each export is registered on the engine before the test runs — used by non-MJ adopters to plug app-specific oracle types without modifying TestingFramework.",
|
|
3317
|
+
"name": "oracles-module",
|
|
3143
3318
|
"hasDynamicHelp": false,
|
|
3144
3319
|
"multiple": false,
|
|
3145
3320
|
"type": "option"
|
|
@@ -3147,270 +3322,208 @@
|
|
|
3147
3322
|
},
|
|
3148
3323
|
"hasDynamicHelp": false,
|
|
3149
3324
|
"hiddenAliases": [],
|
|
3150
|
-
"id": "
|
|
3325
|
+
"id": "test:run",
|
|
3151
3326
|
"pluginAlias": "@memberjunction/cli",
|
|
3152
3327
|
"pluginName": "@memberjunction/cli",
|
|
3153
3328
|
"pluginType": "core",
|
|
3154
3329
|
"strict": true,
|
|
3155
3330
|
"enableJsonFlag": false,
|
|
3156
|
-
"Usage": {
|
|
3157
|
-
"domain": "sync",
|
|
3158
|
-
"command": "sync:pull",
|
|
3159
|
-
"summary": "Pull database records into local metadata files.",
|
|
3160
|
-
"description": "Writes records of --entity into the matching entity directory, creating or updating files per the merge strategy.",
|
|
3161
|
-
"flags": [
|
|
3162
|
-
{
|
|
3163
|
-
"name": "--entity",
|
|
3164
|
-
"type": "string",
|
|
3165
|
-
"description": "Entity name to pull (required)"
|
|
3166
|
-
},
|
|
3167
|
-
{
|
|
3168
|
-
"name": "--filter",
|
|
3169
|
-
"type": "string",
|
|
3170
|
-
"description": "Extra SQL filter for which records to pull"
|
|
3171
|
-
},
|
|
3172
|
-
{
|
|
3173
|
-
"name": "--merge-strategy",
|
|
3174
|
-
"type": "merge|overwrite|skip",
|
|
3175
|
-
"description": "How to reconcile existing files"
|
|
3176
|
-
},
|
|
3177
|
-
{
|
|
3178
|
-
"name": "--dry-run",
|
|
3179
|
-
"type": "boolean",
|
|
3180
|
-
"description": "Report what would be pulled without writing"
|
|
3181
|
-
},
|
|
3182
|
-
{
|
|
3183
|
-
"name": "--format",
|
|
3184
|
-
"type": "text|json|md",
|
|
3185
|
-
"description": "Output format (json for machine-readable result)"
|
|
3186
|
-
}
|
|
3187
|
-
],
|
|
3188
|
-
"examples": [
|
|
3189
|
-
"mj sync pull --entity=\"MJ: AI Prompts\"",
|
|
3190
|
-
"mj sync pull --entity=\"Actions\" --format=json"
|
|
3191
|
-
],
|
|
3192
|
-
"runtime": {
|
|
3193
|
-
"class": "variable",
|
|
3194
|
-
"typicalSeconds": 15,
|
|
3195
|
-
"note": "scales with number of records matched for --entity"
|
|
3196
|
-
}
|
|
3197
|
-
},
|
|
3198
3331
|
"isESM": true,
|
|
3199
3332
|
"relativePath": [
|
|
3200
3333
|
"dist",
|
|
3201
3334
|
"commands",
|
|
3202
|
-
"
|
|
3203
|
-
"
|
|
3335
|
+
"test",
|
|
3336
|
+
"run.js"
|
|
3204
3337
|
]
|
|
3205
3338
|
},
|
|
3206
|
-
"
|
|
3339
|
+
"test:suite": {
|
|
3207
3340
|
"aliases": [],
|
|
3208
|
-
"args": {
|
|
3209
|
-
|
|
3341
|
+
"args": {
|
|
3342
|
+
"suiteId": {
|
|
3343
|
+
"description": "Test suite ID to execute",
|
|
3344
|
+
"name": "suiteId",
|
|
3345
|
+
"required": false
|
|
3346
|
+
}
|
|
3347
|
+
},
|
|
3348
|
+
"description": "Execute a test suite",
|
|
3210
3349
|
"examples": [
|
|
3211
|
-
"<%= config.bin %> <%= command.id %>",
|
|
3212
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3213
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3214
|
-
"<%= config.bin %> <%= command.id %>
|
|
3350
|
+
"<%= config.bin %> <%= command.id %> <suite-id>",
|
|
3351
|
+
"<%= config.bin %> <%= command.id %> --name=\"Agent Quality Suite\"",
|
|
3352
|
+
"<%= config.bin %> <%= command.id %> <suite-id> --format=json",
|
|
3353
|
+
"<%= config.bin %> <%= command.id %> <suite-id> --output=suite-results.json"
|
|
3215
3354
|
],
|
|
3216
3355
|
"flags": {
|
|
3356
|
+
"name": {
|
|
3357
|
+
"char": "n",
|
|
3358
|
+
"description": "Test suite name to execute",
|
|
3359
|
+
"name": "name",
|
|
3360
|
+
"hasDynamicHelp": false,
|
|
3361
|
+
"multiple": false,
|
|
3362
|
+
"type": "option"
|
|
3363
|
+
},
|
|
3217
3364
|
"format": {
|
|
3218
|
-
"
|
|
3365
|
+
"char": "f",
|
|
3366
|
+
"description": "Output format",
|
|
3219
3367
|
"name": "format",
|
|
3220
|
-
"default": "
|
|
3368
|
+
"default": "console",
|
|
3221
3369
|
"hasDynamicHelp": false,
|
|
3222
3370
|
"multiple": false,
|
|
3223
3371
|
"options": [
|
|
3224
|
-
"
|
|
3372
|
+
"console",
|
|
3225
3373
|
"json",
|
|
3226
|
-
"
|
|
3374
|
+
"markdown"
|
|
3227
3375
|
],
|
|
3228
3376
|
"type": "option"
|
|
3229
3377
|
},
|
|
3378
|
+
"output": {
|
|
3379
|
+
"char": "o",
|
|
3380
|
+
"description": "Output file path",
|
|
3381
|
+
"name": "output",
|
|
3382
|
+
"hasDynamicHelp": false,
|
|
3383
|
+
"multiple": false,
|
|
3384
|
+
"type": "option"
|
|
3385
|
+
},
|
|
3230
3386
|
"verbose": {
|
|
3231
3387
|
"char": "v",
|
|
3232
|
-
"description": "Show detailed
|
|
3388
|
+
"description": "Show detailed execution information",
|
|
3233
3389
|
"name": "verbose",
|
|
3234
3390
|
"allowNo": false,
|
|
3235
3391
|
"type": "boolean"
|
|
3236
3392
|
},
|
|
3237
|
-
"
|
|
3238
|
-
"
|
|
3239
|
-
"
|
|
3240
|
-
"
|
|
3241
|
-
"
|
|
3242
|
-
},
|
|
3243
|
-
"dir": {
|
|
3244
|
-
"description": "Specific entity directory to push",
|
|
3245
|
-
"name": "dir",
|
|
3393
|
+
"delay": {
|
|
3394
|
+
"char": "d",
|
|
3395
|
+
"description": "Delay in milliseconds between test executions (avoids Auth0 rate limits)",
|
|
3396
|
+
"name": "delay",
|
|
3397
|
+
"default": 0,
|
|
3246
3398
|
"hasDynamicHelp": false,
|
|
3247
3399
|
"multiple": false,
|
|
3248
3400
|
"type": "option"
|
|
3249
3401
|
},
|
|
3250
|
-
"
|
|
3251
|
-
"
|
|
3252
|
-
"
|
|
3253
|
-
"
|
|
3254
|
-
"type": "boolean"
|
|
3255
|
-
},
|
|
3256
|
-
"ci": {
|
|
3257
|
-
"description": "CI mode - no prompts, fail on issues",
|
|
3258
|
-
"name": "ci",
|
|
3402
|
+
"parallel": {
|
|
3403
|
+
"char": "p",
|
|
3404
|
+
"description": "Run tests in parallel with shared browser sessions",
|
|
3405
|
+
"name": "parallel",
|
|
3259
3406
|
"allowNo": false,
|
|
3260
3407
|
"type": "boolean"
|
|
3261
3408
|
},
|
|
3262
|
-
"
|
|
3263
|
-
"description": "
|
|
3264
|
-
"name": "
|
|
3265
|
-
"
|
|
3266
|
-
"
|
|
3409
|
+
"max-parallel": {
|
|
3410
|
+
"description": "Maximum number of parallel workers (default 4)",
|
|
3411
|
+
"name": "max-parallel",
|
|
3412
|
+
"default": 4,
|
|
3413
|
+
"hasDynamicHelp": false,
|
|
3414
|
+
"multiple": false,
|
|
3415
|
+
"type": "option"
|
|
3267
3416
|
},
|
|
3268
|
-
"
|
|
3269
|
-
"description": "
|
|
3270
|
-
"name": "
|
|
3271
|
-
"allowNo": false,
|
|
3272
|
-
"type": "boolean"
|
|
3273
|
-
},
|
|
3274
|
-
"parallel-batch-size": {
|
|
3275
|
-
"description": "Number of records to process in parallel (default: 10)",
|
|
3276
|
-
"name": "parallel-batch-size",
|
|
3277
|
-
"default": 10,
|
|
3417
|
+
"flaky-check": {
|
|
3418
|
+
"description": "Run each test N times to detect flakiness (variance > 0.3 or mixed pass/fail = flaky). Recommended: 3 or 5",
|
|
3419
|
+
"name": "flaky-check",
|
|
3278
3420
|
"hasDynamicHelp": false,
|
|
3279
3421
|
"multiple": false,
|
|
3280
3422
|
"type": "option"
|
|
3281
3423
|
},
|
|
3282
|
-
"
|
|
3283
|
-
"description": "
|
|
3284
|
-
"name": "
|
|
3424
|
+
"checks-module": {
|
|
3425
|
+
"description": "Module specifier (package name or path) side-effect-imported before the run so its integration check bundles register on the IntegrationCheckRegistry. Durable form: mj.config.cjs `testing.checkModules` (this repo loads '@memberjunction/integration-test-suite' that way).",
|
|
3426
|
+
"name": "checks-module",
|
|
3285
3427
|
"hasDynamicHelp": false,
|
|
3286
3428
|
"multiple": false,
|
|
3287
3429
|
"type": "option"
|
|
3288
3430
|
},
|
|
3289
|
-
"
|
|
3290
|
-
"description": "
|
|
3291
|
-
"name": "
|
|
3431
|
+
"oracles-module": {
|
|
3432
|
+
"description": "Path to a JS/TS module that exports custom IOracle classes or instances. Each export is registered on the engine before the suite runs — used by non-MJ adopters to plug app-specific oracle types without modifying TestingFramework.",
|
|
3433
|
+
"name": "oracles-module",
|
|
3292
3434
|
"hasDynamicHelp": false,
|
|
3293
3435
|
"multiple": false,
|
|
3294
3436
|
"type": "option"
|
|
3295
|
-
},
|
|
3296
|
-
"incremental": {
|
|
3297
|
-
"description": "Skip unchanged files using stored checksums from last push",
|
|
3298
|
-
"name": "incremental",
|
|
3299
|
-
"allowNo": false,
|
|
3300
|
-
"type": "boolean"
|
|
3301
|
-
},
|
|
3302
|
-
"change-detail": {
|
|
3303
|
-
"description": "Write a detailed per-record change report (primary keys + field diffs) to a file",
|
|
3304
|
-
"name": "change-detail",
|
|
3305
|
-
"allowNo": false,
|
|
3306
|
-
"type": "boolean"
|
|
3307
3437
|
}
|
|
3308
3438
|
},
|
|
3309
3439
|
"hasDynamicHelp": false,
|
|
3310
3440
|
"hiddenAliases": [],
|
|
3311
|
-
"id": "
|
|
3441
|
+
"id": "test:suite",
|
|
3312
3442
|
"pluginAlias": "@memberjunction/cli",
|
|
3313
3443
|
"pluginName": "@memberjunction/cli",
|
|
3314
3444
|
"pluginType": "core",
|
|
3315
3445
|
"strict": true,
|
|
3316
3446
|
"enableJsonFlag": false,
|
|
3317
|
-
"Usage": {
|
|
3318
|
-
"domain": "sync",
|
|
3319
|
-
"command": "sync:push",
|
|
3320
|
-
"summary": "Push local metadata files to the database (upsert).",
|
|
3321
|
-
"description": "Reads entity directories under --dir and creates/updates matching records. Runs validation first unless --no-validate.",
|
|
3322
|
-
"flags": [
|
|
3323
|
-
{
|
|
3324
|
-
"name": "--dir",
|
|
3325
|
-
"type": "string",
|
|
3326
|
-
"description": "Entity directory to push"
|
|
3327
|
-
},
|
|
3328
|
-
{
|
|
3329
|
-
"name": "--dry-run",
|
|
3330
|
-
"type": "boolean",
|
|
3331
|
-
"description": "Report what would change without writing"
|
|
3332
|
-
},
|
|
3333
|
-
{
|
|
3334
|
-
"name": "--ci",
|
|
3335
|
-
"type": "boolean",
|
|
3336
|
-
"description": "No prompts; non-zero exit on error"
|
|
3337
|
-
},
|
|
3338
|
-
{
|
|
3339
|
-
"name": "--no-validate",
|
|
3340
|
-
"type": "boolean",
|
|
3341
|
-
"description": "Skip pre-push validation"
|
|
3342
|
-
},
|
|
3343
|
-
{
|
|
3344
|
-
"name": "--incremental",
|
|
3345
|
-
"type": "boolean",
|
|
3346
|
-
"description": "Skip unchanged files using stored checksums"
|
|
3347
|
-
},
|
|
3348
|
-
{
|
|
3349
|
-
"name": "--format",
|
|
3350
|
-
"type": "text|json|md",
|
|
3351
|
-
"description": "Output format (json for machine-readable result)"
|
|
3352
|
-
}
|
|
3353
|
-
],
|
|
3354
|
-
"examples": [
|
|
3355
|
-
"mj sync push --dir=ai-agents",
|
|
3356
|
-
"mj sync push --ci --format=json"
|
|
3357
|
-
],
|
|
3358
|
-
"runtime": {
|
|
3359
|
-
"class": "variable",
|
|
3360
|
-
"typicalSeconds": 20,
|
|
3361
|
-
"note": "scales with number of records in --dir"
|
|
3362
|
-
}
|
|
3363
|
-
},
|
|
3364
3447
|
"isESM": true,
|
|
3365
3448
|
"relativePath": [
|
|
3366
3449
|
"dist",
|
|
3367
3450
|
"commands",
|
|
3368
|
-
"
|
|
3369
|
-
"
|
|
3451
|
+
"test",
|
|
3452
|
+
"suite.js"
|
|
3370
3453
|
]
|
|
3371
3454
|
},
|
|
3372
|
-
"
|
|
3455
|
+
"test:validate": {
|
|
3373
3456
|
"aliases": [],
|
|
3374
|
-
"args": {
|
|
3375
|
-
|
|
3457
|
+
"args": {
|
|
3458
|
+
"testId": {
|
|
3459
|
+
"description": "Test ID to validate",
|
|
3460
|
+
"name": "testId",
|
|
3461
|
+
"required": false
|
|
3462
|
+
}
|
|
3463
|
+
},
|
|
3464
|
+
"description": "Validate test definitions without executing",
|
|
3376
3465
|
"examples": [
|
|
3377
|
-
"<%= config.bin %> <%= command.id %>",
|
|
3378
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3379
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3466
|
+
"<%= config.bin %> <%= command.id %> <test-id>",
|
|
3467
|
+
"<%= config.bin %> <%= command.id %> --all",
|
|
3468
|
+
"<%= config.bin %> <%= command.id %> --type=agent-eval",
|
|
3469
|
+
"<%= config.bin %> <%= command.id %> --all --save-report",
|
|
3470
|
+
"<%= config.bin %> <%= command.id %> --all --output=validation-report.md"
|
|
3380
3471
|
],
|
|
3381
3472
|
"flags": {
|
|
3382
|
-
"
|
|
3383
|
-
"
|
|
3384
|
-
"
|
|
3473
|
+
"all": {
|
|
3474
|
+
"char": "a",
|
|
3475
|
+
"description": "Validate all tests",
|
|
3476
|
+
"name": "all",
|
|
3477
|
+
"allowNo": false,
|
|
3478
|
+
"type": "boolean"
|
|
3479
|
+
},
|
|
3480
|
+
"type": {
|
|
3481
|
+
"char": "t",
|
|
3482
|
+
"description": "Validate tests by type",
|
|
3483
|
+
"name": "type",
|
|
3385
3484
|
"hasDynamicHelp": false,
|
|
3386
3485
|
"multiple": false,
|
|
3387
3486
|
"type": "option"
|
|
3388
3487
|
},
|
|
3389
|
-
"
|
|
3390
|
-
"
|
|
3391
|
-
"
|
|
3392
|
-
"name": "verbose",
|
|
3488
|
+
"save-report": {
|
|
3489
|
+
"description": "Save validation report to file",
|
|
3490
|
+
"name": "save-report",
|
|
3393
3491
|
"allowNo": false,
|
|
3394
3492
|
"type": "boolean"
|
|
3395
3493
|
},
|
|
3396
|
-
"
|
|
3397
|
-
"
|
|
3398
|
-
"
|
|
3494
|
+
"format": {
|
|
3495
|
+
"char": "f",
|
|
3496
|
+
"description": "Output format",
|
|
3497
|
+
"name": "format",
|
|
3498
|
+
"default": "console",
|
|
3399
3499
|
"hasDynamicHelp": false,
|
|
3400
3500
|
"multiple": false,
|
|
3501
|
+
"options": [
|
|
3502
|
+
"console",
|
|
3503
|
+
"json",
|
|
3504
|
+
"markdown"
|
|
3505
|
+
],
|
|
3401
3506
|
"type": "option"
|
|
3402
3507
|
},
|
|
3403
|
-
"
|
|
3404
|
-
"
|
|
3405
|
-
"
|
|
3508
|
+
"output": {
|
|
3509
|
+
"char": "o",
|
|
3510
|
+
"description": "Output file path",
|
|
3511
|
+
"name": "output",
|
|
3406
3512
|
"hasDynamicHelp": false,
|
|
3407
3513
|
"multiple": false,
|
|
3408
3514
|
"type": "option"
|
|
3515
|
+
},
|
|
3516
|
+
"verbose": {
|
|
3517
|
+
"char": "v",
|
|
3518
|
+
"description": "Show detailed information",
|
|
3519
|
+
"name": "verbose",
|
|
3520
|
+
"allowNo": false,
|
|
3521
|
+
"type": "boolean"
|
|
3409
3522
|
}
|
|
3410
3523
|
},
|
|
3411
3524
|
"hasDynamicHelp": false,
|
|
3412
3525
|
"hiddenAliases": [],
|
|
3413
|
-
"id": "
|
|
3526
|
+
"id": "test:validate",
|
|
3414
3527
|
"pluginAlias": "@memberjunction/cli",
|
|
3415
3528
|
"pluginName": "@memberjunction/cli",
|
|
3416
3529
|
"pluginType": "core",
|
|
@@ -3420,32 +3533,96 @@
|
|
|
3420
3533
|
"relativePath": [
|
|
3421
3534
|
"dist",
|
|
3422
3535
|
"commands",
|
|
3423
|
-
"
|
|
3424
|
-
"
|
|
3536
|
+
"test",
|
|
3537
|
+
"validate.js"
|
|
3425
3538
|
]
|
|
3426
3539
|
},
|
|
3427
|
-
"
|
|
3540
|
+
"translate-sql": {
|
|
3428
3541
|
"aliases": [],
|
|
3429
3542
|
"args": {},
|
|
3430
|
-
"description": "
|
|
3543
|
+
"description": "Translate SQL fragments between database dialects (SQL Server ↔ PostgreSQL)",
|
|
3544
|
+
"examples": [
|
|
3545
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --dry-run",
|
|
3546
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope queries",
|
|
3547
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --sql \"SELECT TOP 10 [Name] FROM [Users]\"",
|
|
3548
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope all --output ./reports"
|
|
3549
|
+
],
|
|
3431
3550
|
"flags": {
|
|
3432
|
-
"
|
|
3433
|
-
"description": "
|
|
3434
|
-
"name": "
|
|
3435
|
-
"
|
|
3551
|
+
"from": {
|
|
3552
|
+
"description": "Source SQL dialect",
|
|
3553
|
+
"name": "from",
|
|
3554
|
+
"required": true,
|
|
3436
3555
|
"hasDynamicHelp": false,
|
|
3437
3556
|
"multiple": false,
|
|
3438
3557
|
"options": [
|
|
3439
|
-
"
|
|
3440
|
-
"
|
|
3441
|
-
|
|
3558
|
+
"sqlserver",
|
|
3559
|
+
"postgresql"
|
|
3560
|
+
],
|
|
3561
|
+
"type": "option"
|
|
3562
|
+
},
|
|
3563
|
+
"to": {
|
|
3564
|
+
"description": "Target SQL dialect",
|
|
3565
|
+
"name": "to",
|
|
3566
|
+
"required": true,
|
|
3567
|
+
"hasDynamicHelp": false,
|
|
3568
|
+
"multiple": false,
|
|
3569
|
+
"options": [
|
|
3570
|
+
"sqlserver",
|
|
3571
|
+
"postgresql"
|
|
3572
|
+
],
|
|
3573
|
+
"type": "option"
|
|
3574
|
+
},
|
|
3575
|
+
"scope": {
|
|
3576
|
+
"description": "What to scan for translation",
|
|
3577
|
+
"name": "scope",
|
|
3578
|
+
"default": "all",
|
|
3579
|
+
"hasDynamicHelp": false,
|
|
3580
|
+
"multiple": false,
|
|
3581
|
+
"options": [
|
|
3582
|
+
"queries",
|
|
3583
|
+
"views",
|
|
3584
|
+
"filters",
|
|
3585
|
+
"all"
|
|
3442
3586
|
],
|
|
3443
3587
|
"type": "option"
|
|
3588
|
+
},
|
|
3589
|
+
"sql": {
|
|
3590
|
+
"description": "Translate a single SQL fragment (inline mode)",
|
|
3591
|
+
"name": "sql",
|
|
3592
|
+
"hasDynamicHelp": false,
|
|
3593
|
+
"multiple": false,
|
|
3594
|
+
"type": "option"
|
|
3595
|
+
},
|
|
3596
|
+
"dry-run": {
|
|
3597
|
+
"description": "Show what would be translated without making changes",
|
|
3598
|
+
"name": "dry-run",
|
|
3599
|
+
"allowNo": false,
|
|
3600
|
+
"type": "boolean"
|
|
3601
|
+
},
|
|
3602
|
+
"review": {
|
|
3603
|
+
"description": "Generate review report only (no writes to database)",
|
|
3604
|
+
"name": "review",
|
|
3605
|
+
"allowNo": false,
|
|
3606
|
+
"type": "boolean"
|
|
3607
|
+
},
|
|
3608
|
+
"output": {
|
|
3609
|
+
"char": "o",
|
|
3610
|
+
"description": "Output directory for the translation report",
|
|
3611
|
+
"name": "output",
|
|
3612
|
+
"hasDynamicHelp": false,
|
|
3613
|
+
"multiple": false,
|
|
3614
|
+
"type": "option"
|
|
3615
|
+
},
|
|
3616
|
+
"force": {
|
|
3617
|
+
"description": "Re-translate even if platform variants already exist",
|
|
3618
|
+
"name": "force",
|
|
3619
|
+
"allowNo": false,
|
|
3620
|
+
"type": "boolean"
|
|
3444
3621
|
}
|
|
3445
3622
|
},
|
|
3446
3623
|
"hasDynamicHelp": false,
|
|
3447
3624
|
"hiddenAliases": [],
|
|
3448
|
-
"id": "
|
|
3625
|
+
"id": "translate-sql",
|
|
3449
3626
|
"pluginAlias": "@memberjunction/cli",
|
|
3450
3627
|
"pluginName": "@memberjunction/cli",
|
|
3451
3628
|
"pluginType": "core",
|
|
@@ -3455,223 +3632,14 @@
|
|
|
3455
3632
|
"relativePath": [
|
|
3456
3633
|
"dist",
|
|
3457
3634
|
"commands",
|
|
3458
|
-
"
|
|
3459
|
-
"
|
|
3635
|
+
"translate-sql",
|
|
3636
|
+
"index.js"
|
|
3460
3637
|
]
|
|
3461
3638
|
},
|
|
3462
|
-
"
|
|
3639
|
+
"update:claude": {
|
|
3463
3640
|
"aliases": [],
|
|
3464
3641
|
"args": {},
|
|
3465
|
-
"description": "
|
|
3466
|
-
"examples": [
|
|
3467
|
-
"<%= config.bin %> <%= command.id %>",
|
|
3468
|
-
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
3469
|
-
"<%= config.bin %> <%= command.id %> --save-report",
|
|
3470
|
-
"<%= config.bin %> <%= command.id %> --verbose"
|
|
3471
|
-
],
|
|
3472
|
-
"flags": {
|
|
3473
|
-
"dir": {
|
|
3474
|
-
"description": "Specific entity directory to validate",
|
|
3475
|
-
"name": "dir",
|
|
3476
|
-
"hasDynamicHelp": false,
|
|
3477
|
-
"multiple": false,
|
|
3478
|
-
"type": "option"
|
|
3479
|
-
},
|
|
3480
|
-
"verbose": {
|
|
3481
|
-
"char": "v",
|
|
3482
|
-
"description": "Show detailed validation output",
|
|
3483
|
-
"name": "verbose",
|
|
3484
|
-
"allowNo": false,
|
|
3485
|
-
"type": "boolean"
|
|
3486
|
-
},
|
|
3487
|
-
"save-report": {
|
|
3488
|
-
"description": "Save validation report as markdown file",
|
|
3489
|
-
"name": "save-report",
|
|
3490
|
-
"allowNo": false,
|
|
3491
|
-
"type": "boolean"
|
|
3492
|
-
},
|
|
3493
|
-
"output": {
|
|
3494
|
-
"description": "Output file path for validation report (default: validation-report.md)",
|
|
3495
|
-
"name": "output",
|
|
3496
|
-
"hasDynamicHelp": false,
|
|
3497
|
-
"multiple": false,
|
|
3498
|
-
"type": "option"
|
|
3499
|
-
}
|
|
3500
|
-
},
|
|
3501
|
-
"hasDynamicHelp": false,
|
|
3502
|
-
"hiddenAliases": [],
|
|
3503
|
-
"id": "sync:validate",
|
|
3504
|
-
"pluginAlias": "@memberjunction/cli",
|
|
3505
|
-
"pluginName": "@memberjunction/cli",
|
|
3506
|
-
"pluginType": "core",
|
|
3507
|
-
"strict": true,
|
|
3508
|
-
"enableJsonFlag": false,
|
|
3509
|
-
"isESM": true,
|
|
3510
|
-
"relativePath": [
|
|
3511
|
-
"dist",
|
|
3512
|
-
"commands",
|
|
3513
|
-
"sync",
|
|
3514
|
-
"validate.js"
|
|
3515
|
-
]
|
|
3516
|
-
},
|
|
3517
|
-
"sync:watch": {
|
|
3518
|
-
"aliases": [],
|
|
3519
|
-
"args": {},
|
|
3520
|
-
"description": "Watch for file changes and sync automatically",
|
|
3521
|
-
"examples": [
|
|
3522
|
-
"<%= config.bin %> <%= command.id %>",
|
|
3523
|
-
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
3524
|
-
"<%= config.bin %> <%= command.id %> --debounce=1000",
|
|
3525
|
-
"<%= config.bin %> <%= command.id %> --no-validate"
|
|
3526
|
-
],
|
|
3527
|
-
"flags": {
|
|
3528
|
-
"dir": {
|
|
3529
|
-
"description": "Specific entity directory to watch",
|
|
3530
|
-
"name": "dir",
|
|
3531
|
-
"hasDynamicHelp": false,
|
|
3532
|
-
"multiple": false,
|
|
3533
|
-
"type": "option"
|
|
3534
|
-
},
|
|
3535
|
-
"debounce": {
|
|
3536
|
-
"description": "Debounce delay in milliseconds (default: 500)",
|
|
3537
|
-
"name": "debounce",
|
|
3538
|
-
"hasDynamicHelp": false,
|
|
3539
|
-
"multiple": false,
|
|
3540
|
-
"type": "option"
|
|
3541
|
-
},
|
|
3542
|
-
"no-validate": {
|
|
3543
|
-
"description": "Skip validation before sync",
|
|
3544
|
-
"name": "no-validate",
|
|
3545
|
-
"allowNo": false,
|
|
3546
|
-
"type": "boolean"
|
|
3547
|
-
},
|
|
3548
|
-
"verbose": {
|
|
3549
|
-
"char": "v",
|
|
3550
|
-
"description": "Show detailed output",
|
|
3551
|
-
"name": "verbose",
|
|
3552
|
-
"allowNo": false,
|
|
3553
|
-
"type": "boolean"
|
|
3554
|
-
}
|
|
3555
|
-
},
|
|
3556
|
-
"hasDynamicHelp": false,
|
|
3557
|
-
"hiddenAliases": [],
|
|
3558
|
-
"id": "sync:watch",
|
|
3559
|
-
"pluginAlias": "@memberjunction/cli",
|
|
3560
|
-
"pluginName": "@memberjunction/cli",
|
|
3561
|
-
"pluginType": "core",
|
|
3562
|
-
"strict": true,
|
|
3563
|
-
"enableJsonFlag": false,
|
|
3564
|
-
"isESM": true,
|
|
3565
|
-
"relativePath": [
|
|
3566
|
-
"dist",
|
|
3567
|
-
"commands",
|
|
3568
|
-
"sync",
|
|
3569
|
-
"watch.js"
|
|
3570
|
-
]
|
|
3571
|
-
},
|
|
3572
|
-
"translate-sql": {
|
|
3573
|
-
"aliases": [],
|
|
3574
|
-
"args": {},
|
|
3575
|
-
"description": "Translate SQL fragments between database dialects (SQL Server ↔ PostgreSQL)",
|
|
3576
|
-
"examples": [
|
|
3577
|
-
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --dry-run",
|
|
3578
|
-
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope queries",
|
|
3579
|
-
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --sql \"SELECT TOP 10 [Name] FROM [Users]\"",
|
|
3580
|
-
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope all --output ./reports"
|
|
3581
|
-
],
|
|
3582
|
-
"flags": {
|
|
3583
|
-
"from": {
|
|
3584
|
-
"description": "Source SQL dialect",
|
|
3585
|
-
"name": "from",
|
|
3586
|
-
"required": true,
|
|
3587
|
-
"hasDynamicHelp": false,
|
|
3588
|
-
"multiple": false,
|
|
3589
|
-
"options": [
|
|
3590
|
-
"sqlserver",
|
|
3591
|
-
"postgresql"
|
|
3592
|
-
],
|
|
3593
|
-
"type": "option"
|
|
3594
|
-
},
|
|
3595
|
-
"to": {
|
|
3596
|
-
"description": "Target SQL dialect",
|
|
3597
|
-
"name": "to",
|
|
3598
|
-
"required": true,
|
|
3599
|
-
"hasDynamicHelp": false,
|
|
3600
|
-
"multiple": false,
|
|
3601
|
-
"options": [
|
|
3602
|
-
"sqlserver",
|
|
3603
|
-
"postgresql"
|
|
3604
|
-
],
|
|
3605
|
-
"type": "option"
|
|
3606
|
-
},
|
|
3607
|
-
"scope": {
|
|
3608
|
-
"description": "What to scan for translation",
|
|
3609
|
-
"name": "scope",
|
|
3610
|
-
"default": "all",
|
|
3611
|
-
"hasDynamicHelp": false,
|
|
3612
|
-
"multiple": false,
|
|
3613
|
-
"options": [
|
|
3614
|
-
"queries",
|
|
3615
|
-
"views",
|
|
3616
|
-
"filters",
|
|
3617
|
-
"all"
|
|
3618
|
-
],
|
|
3619
|
-
"type": "option"
|
|
3620
|
-
},
|
|
3621
|
-
"sql": {
|
|
3622
|
-
"description": "Translate a single SQL fragment (inline mode)",
|
|
3623
|
-
"name": "sql",
|
|
3624
|
-
"hasDynamicHelp": false,
|
|
3625
|
-
"multiple": false,
|
|
3626
|
-
"type": "option"
|
|
3627
|
-
},
|
|
3628
|
-
"dry-run": {
|
|
3629
|
-
"description": "Show what would be translated without making changes",
|
|
3630
|
-
"name": "dry-run",
|
|
3631
|
-
"allowNo": false,
|
|
3632
|
-
"type": "boolean"
|
|
3633
|
-
},
|
|
3634
|
-
"review": {
|
|
3635
|
-
"description": "Generate review report only (no writes to database)",
|
|
3636
|
-
"name": "review",
|
|
3637
|
-
"allowNo": false,
|
|
3638
|
-
"type": "boolean"
|
|
3639
|
-
},
|
|
3640
|
-
"output": {
|
|
3641
|
-
"char": "o",
|
|
3642
|
-
"description": "Output directory for the translation report",
|
|
3643
|
-
"name": "output",
|
|
3644
|
-
"hasDynamicHelp": false,
|
|
3645
|
-
"multiple": false,
|
|
3646
|
-
"type": "option"
|
|
3647
|
-
},
|
|
3648
|
-
"force": {
|
|
3649
|
-
"description": "Re-translate even if platform variants already exist",
|
|
3650
|
-
"name": "force",
|
|
3651
|
-
"allowNo": false,
|
|
3652
|
-
"type": "boolean"
|
|
3653
|
-
}
|
|
3654
|
-
},
|
|
3655
|
-
"hasDynamicHelp": false,
|
|
3656
|
-
"hiddenAliases": [],
|
|
3657
|
-
"id": "translate-sql",
|
|
3658
|
-
"pluginAlias": "@memberjunction/cli",
|
|
3659
|
-
"pluginName": "@memberjunction/cli",
|
|
3660
|
-
"pluginType": "core",
|
|
3661
|
-
"strict": true,
|
|
3662
|
-
"enableJsonFlag": false,
|
|
3663
|
-
"isESM": true,
|
|
3664
|
-
"relativePath": [
|
|
3665
|
-
"dist",
|
|
3666
|
-
"commands",
|
|
3667
|
-
"translate-sql",
|
|
3668
|
-
"index.js"
|
|
3669
|
-
]
|
|
3670
|
-
},
|
|
3671
|
-
"update:claude": {
|
|
3672
|
-
"aliases": [],
|
|
3673
|
-
"args": {},
|
|
3674
|
-
"description": "Update the Claude Code pack in the current directory.",
|
|
3642
|
+
"description": "Update the Claude Code pack in the current directory.",
|
|
3675
3643
|
"examples": [
|
|
3676
3644
|
"<%= config.bin %> update:claude",
|
|
3677
3645
|
"<%= config.bin %> update:claude --check",
|
|
@@ -3806,106 +3774,60 @@
|
|
|
3806
3774
|
"claude.js"
|
|
3807
3775
|
]
|
|
3808
3776
|
},
|
|
3809
|
-
"
|
|
3777
|
+
"sync:file-reset": {
|
|
3810
3778
|
"aliases": [],
|
|
3811
|
-
"args": {
|
|
3812
|
-
|
|
3813
|
-
"description": "First test run ID to compare",
|
|
3814
|
-
"name": "runId1",
|
|
3815
|
-
"required": false
|
|
3816
|
-
},
|
|
3817
|
-
"runId2": {
|
|
3818
|
-
"description": "Second test run ID to compare",
|
|
3819
|
-
"name": "runId2",
|
|
3820
|
-
"required": false
|
|
3821
|
-
}
|
|
3822
|
-
},
|
|
3823
|
-
"description": "Compare test runs for regression detection",
|
|
3779
|
+
"args": {},
|
|
3780
|
+
"description": "Reset file metadata sections",
|
|
3824
3781
|
"examples": [
|
|
3825
3782
|
"<%= config.bin %> <%= command.id %>",
|
|
3826
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3827
|
-
"<%= config.bin %> <%= command.id %>
|
|
3828
|
-
"<%= config.bin %> <%= command.id %>
|
|
3829
|
-
"<%= config.bin %> <%= command.id %> -c abc1234 -c def5678",
|
|
3830
|
-
"<%= config.bin %> <%= command.id %> --from-json baseline.json latest.json",
|
|
3831
|
-
"<%= config.bin %> <%= command.id %> --latest --format=markdown --output=report.md"
|
|
3783
|
+
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
3784
|
+
"<%= config.bin %> <%= command.id %> --sections=\"dependencies,references\"",
|
|
3785
|
+
"<%= config.bin %> <%= command.id %> --all"
|
|
3832
3786
|
],
|
|
3833
3787
|
"flags": {
|
|
3834
|
-
"
|
|
3835
|
-
"
|
|
3836
|
-
"
|
|
3837
|
-
"name": "version",
|
|
3788
|
+
"dir": {
|
|
3789
|
+
"description": "Specific entity directory to reset",
|
|
3790
|
+
"name": "dir",
|
|
3838
3791
|
"hasDynamicHelp": false,
|
|
3839
|
-
"multiple":
|
|
3792
|
+
"multiple": false,
|
|
3840
3793
|
"type": "option"
|
|
3841
3794
|
},
|
|
3842
|
-
"
|
|
3843
|
-
"
|
|
3844
|
-
"
|
|
3845
|
-
"name": "commit",
|
|
3795
|
+
"sections": {
|
|
3796
|
+
"description": "Comma-separated list of sections to reset (dependencies,references,related,lookup)",
|
|
3797
|
+
"name": "sections",
|
|
3846
3798
|
"hasDynamicHelp": false,
|
|
3847
|
-
"multiple":
|
|
3799
|
+
"multiple": false,
|
|
3848
3800
|
"type": "option"
|
|
3849
3801
|
},
|
|
3850
|
-
"
|
|
3851
|
-
"description": "
|
|
3852
|
-
"name": "
|
|
3802
|
+
"all": {
|
|
3803
|
+
"description": "Reset all metadata sections",
|
|
3804
|
+
"name": "all",
|
|
3853
3805
|
"allowNo": false,
|
|
3854
3806
|
"type": "boolean"
|
|
3855
3807
|
},
|
|
3856
|
-
"
|
|
3857
|
-
"
|
|
3858
|
-
"
|
|
3859
|
-
"name": "latest",
|
|
3808
|
+
"dry-run": {
|
|
3809
|
+
"description": "Show what would be reset without actually resetting",
|
|
3810
|
+
"name": "dry-run",
|
|
3860
3811
|
"allowNo": false,
|
|
3861
3812
|
"type": "boolean"
|
|
3862
3813
|
},
|
|
3863
|
-
"
|
|
3864
|
-
"description": "
|
|
3865
|
-
"name": "
|
|
3866
|
-
"
|
|
3867
|
-
"
|
|
3868
|
-
"type": "option"
|
|
3869
|
-
},
|
|
3870
|
-
"format": {
|
|
3871
|
-
"char": "f",
|
|
3872
|
-
"description": "Output format",
|
|
3873
|
-
"name": "format",
|
|
3874
|
-
"default": "console",
|
|
3875
|
-
"hasDynamicHelp": false,
|
|
3876
|
-
"multiple": false,
|
|
3877
|
-
"options": [
|
|
3878
|
-
"console",
|
|
3879
|
-
"json",
|
|
3880
|
-
"markdown"
|
|
3881
|
-
],
|
|
3882
|
-
"type": "option"
|
|
3883
|
-
},
|
|
3884
|
-
"output": {
|
|
3885
|
-
"char": "o",
|
|
3886
|
-
"description": "Output file path",
|
|
3887
|
-
"name": "output",
|
|
3888
|
-
"hasDynamicHelp": false,
|
|
3889
|
-
"multiple": false,
|
|
3890
|
-
"type": "option"
|
|
3814
|
+
"force": {
|
|
3815
|
+
"description": "Skip confirmation prompts",
|
|
3816
|
+
"name": "force",
|
|
3817
|
+
"allowNo": false,
|
|
3818
|
+
"type": "boolean"
|
|
3891
3819
|
},
|
|
3892
3820
|
"verbose": {
|
|
3893
|
-
"
|
|
3821
|
+
"char": "v",
|
|
3822
|
+
"description": "Show detailed output",
|
|
3894
3823
|
"name": "verbose",
|
|
3895
3824
|
"allowNo": false,
|
|
3896
3825
|
"type": "boolean"
|
|
3897
|
-
},
|
|
3898
|
-
"tag": {
|
|
3899
|
-
"description": "Filter suite runs by tag (matches against MJTestSuiteRunEntity.Tags). Useful for isolating runs from a specific source environment in an archive MJ. DB mode only — --from-json ignores this flag.",
|
|
3900
|
-
"name": "tag",
|
|
3901
|
-
"hasDynamicHelp": false,
|
|
3902
|
-
"multiple": false,
|
|
3903
|
-
"type": "option"
|
|
3904
3826
|
}
|
|
3905
3827
|
},
|
|
3906
3828
|
"hasDynamicHelp": false,
|
|
3907
3829
|
"hiddenAliases": [],
|
|
3908
|
-
"id": "
|
|
3830
|
+
"id": "sync:file-reset",
|
|
3909
3831
|
"pluginAlias": "@memberjunction/cli",
|
|
3910
3832
|
"pluginName": "@memberjunction/cli",
|
|
3911
3833
|
"pluginType": "core",
|
|
@@ -3915,209 +3837,443 @@
|
|
|
3915
3837
|
"relativePath": [
|
|
3916
3838
|
"dist",
|
|
3917
3839
|
"commands",
|
|
3918
|
-
"
|
|
3919
|
-
"
|
|
3840
|
+
"sync",
|
|
3841
|
+
"file-reset.js"
|
|
3920
3842
|
]
|
|
3921
3843
|
},
|
|
3922
|
-
"
|
|
3844
|
+
"sync:init": {
|
|
3923
3845
|
"aliases": [],
|
|
3924
3846
|
"args": {},
|
|
3925
|
-
"description": "
|
|
3847
|
+
"description": "Initialize a directory for metadata synchronization",
|
|
3926
3848
|
"examples": [
|
|
3927
|
-
"<%= config.bin %> <%= command.id %>"
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3849
|
+
"<%= config.bin %> <%= command.id %>"
|
|
3850
|
+
],
|
|
3851
|
+
"flags": {},
|
|
3852
|
+
"hasDynamicHelp": false,
|
|
3853
|
+
"hiddenAliases": [],
|
|
3854
|
+
"id": "sync:init",
|
|
3855
|
+
"pluginAlias": "@memberjunction/cli",
|
|
3856
|
+
"pluginName": "@memberjunction/cli",
|
|
3857
|
+
"pluginType": "core",
|
|
3858
|
+
"strict": true,
|
|
3859
|
+
"enableJsonFlag": false,
|
|
3860
|
+
"isESM": true,
|
|
3861
|
+
"relativePath": [
|
|
3862
|
+
"dist",
|
|
3863
|
+
"commands",
|
|
3864
|
+
"sync",
|
|
3865
|
+
"init.js"
|
|
3866
|
+
]
|
|
3867
|
+
},
|
|
3868
|
+
"sync:pull": {
|
|
3869
|
+
"aliases": [],
|
|
3870
|
+
"args": {},
|
|
3871
|
+
"description": "Pull metadata from database to local files",
|
|
3872
|
+
"examples": [
|
|
3873
|
+
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Prompts\"",
|
|
3874
|
+
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Agents\" --merge-strategy=overwrite",
|
|
3875
|
+
"<%= config.bin %> <%= command.id %> --entity=\"Templates\" --dry-run --verbose"
|
|
3932
3876
|
],
|
|
3933
3877
|
"flags": {
|
|
3934
|
-
"
|
|
3935
|
-
"
|
|
3936
|
-
"
|
|
3937
|
-
"
|
|
3878
|
+
"format": {
|
|
3879
|
+
"description": "Output format: text (human), json (machine-readable), md (Markdown-fenced)",
|
|
3880
|
+
"name": "format",
|
|
3881
|
+
"default": "text",
|
|
3938
3882
|
"hasDynamicHelp": false,
|
|
3939
3883
|
"multiple": false,
|
|
3884
|
+
"options": [
|
|
3885
|
+
"text",
|
|
3886
|
+
"json",
|
|
3887
|
+
"md"
|
|
3888
|
+
],
|
|
3940
3889
|
"type": "option"
|
|
3941
3890
|
},
|
|
3942
|
-
"
|
|
3943
|
-
"char": "
|
|
3944
|
-
"description": "
|
|
3945
|
-
"name": "
|
|
3891
|
+
"verbose": {
|
|
3892
|
+
"char": "v",
|
|
3893
|
+
"description": "Show detailed output",
|
|
3894
|
+
"name": "verbose",
|
|
3895
|
+
"allowNo": false,
|
|
3896
|
+
"type": "boolean"
|
|
3897
|
+
},
|
|
3898
|
+
"no-banner": {
|
|
3899
|
+
"description": "Suppress the startup banner and runtime advisory",
|
|
3900
|
+
"name": "no-banner",
|
|
3901
|
+
"allowNo": false,
|
|
3902
|
+
"type": "boolean"
|
|
3903
|
+
},
|
|
3904
|
+
"entity": {
|
|
3905
|
+
"description": "Entity name to pull",
|
|
3906
|
+
"name": "entity",
|
|
3907
|
+
"required": true,
|
|
3946
3908
|
"hasDynamicHelp": false,
|
|
3947
3909
|
"multiple": false,
|
|
3948
3910
|
"type": "option"
|
|
3949
3911
|
},
|
|
3950
|
-
"
|
|
3951
|
-
"description": "
|
|
3952
|
-
"name": "
|
|
3912
|
+
"filter": {
|
|
3913
|
+
"description": "Additional filter for pulling specific records",
|
|
3914
|
+
"name": "filter",
|
|
3953
3915
|
"hasDynamicHelp": false,
|
|
3954
3916
|
"multiple": false,
|
|
3955
3917
|
"type": "option"
|
|
3956
3918
|
},
|
|
3957
|
-
"
|
|
3958
|
-
"
|
|
3959
|
-
"
|
|
3960
|
-
"
|
|
3919
|
+
"dry-run": {
|
|
3920
|
+
"description": "Show what would be pulled without actually pulling",
|
|
3921
|
+
"name": "dry-run",
|
|
3922
|
+
"allowNo": false,
|
|
3923
|
+
"type": "boolean"
|
|
3924
|
+
},
|
|
3925
|
+
"multi-file": {
|
|
3926
|
+
"description": "Create a single file with multiple records (provide filename)",
|
|
3927
|
+
"name": "multi-file",
|
|
3961
3928
|
"hasDynamicHelp": false,
|
|
3962
3929
|
"multiple": false,
|
|
3963
3930
|
"type": "option"
|
|
3964
3931
|
},
|
|
3965
|
-
"
|
|
3966
|
-
"
|
|
3967
|
-
"
|
|
3968
|
-
"
|
|
3969
|
-
"
|
|
3932
|
+
"no-validate": {
|
|
3933
|
+
"description": "Skip validation before pull",
|
|
3934
|
+
"name": "no-validate",
|
|
3935
|
+
"allowNo": false,
|
|
3936
|
+
"type": "boolean"
|
|
3937
|
+
},
|
|
3938
|
+
"update-existing": {
|
|
3939
|
+
"description": "Update existing records during pull",
|
|
3940
|
+
"name": "update-existing",
|
|
3941
|
+
"allowNo": false,
|
|
3942
|
+
"type": "boolean"
|
|
3943
|
+
},
|
|
3944
|
+
"create-new": {
|
|
3945
|
+
"description": "Create new files for records not found locally",
|
|
3946
|
+
"name": "create-new",
|
|
3947
|
+
"allowNo": false,
|
|
3948
|
+
"type": "boolean"
|
|
3949
|
+
},
|
|
3950
|
+
"backup-before-update": {
|
|
3951
|
+
"description": "Create backups before updating files",
|
|
3952
|
+
"name": "backup-before-update",
|
|
3953
|
+
"allowNo": false,
|
|
3954
|
+
"type": "boolean"
|
|
3955
|
+
},
|
|
3956
|
+
"merge-strategy": {
|
|
3957
|
+
"description": "Merge strategy for updates",
|
|
3958
|
+
"name": "merge-strategy",
|
|
3959
|
+
"default": "merge",
|
|
3970
3960
|
"hasDynamicHelp": false,
|
|
3971
3961
|
"multiple": false,
|
|
3972
3962
|
"options": [
|
|
3973
|
-
"
|
|
3974
|
-
"
|
|
3975
|
-
"
|
|
3963
|
+
"merge",
|
|
3964
|
+
"overwrite",
|
|
3965
|
+
"skip"
|
|
3976
3966
|
],
|
|
3977
3967
|
"type": "option"
|
|
3978
3968
|
},
|
|
3979
|
-
"
|
|
3980
|
-
"
|
|
3981
|
-
"
|
|
3982
|
-
"name": "output",
|
|
3969
|
+
"backup-directory": {
|
|
3970
|
+
"description": "Custom backup directory (default: .backups)",
|
|
3971
|
+
"name": "backup-directory",
|
|
3983
3972
|
"hasDynamicHelp": false,
|
|
3984
3973
|
"multiple": false,
|
|
3985
3974
|
"type": "option"
|
|
3986
3975
|
},
|
|
3987
|
-
"
|
|
3988
|
-
"
|
|
3989
|
-
"
|
|
3990
|
-
"
|
|
3976
|
+
"preserve-fields": {
|
|
3977
|
+
"description": "Comma-separated list of fields to preserve during updates",
|
|
3978
|
+
"name": "preserve-fields",
|
|
3979
|
+
"hasDynamicHelp": false,
|
|
3980
|
+
"multiple": true,
|
|
3981
|
+
"type": "option"
|
|
3982
|
+
},
|
|
3983
|
+
"exclude-fields": {
|
|
3984
|
+
"description": "Comma-separated list of fields to exclude from pull",
|
|
3985
|
+
"name": "exclude-fields",
|
|
3986
|
+
"hasDynamicHelp": false,
|
|
3987
|
+
"multiple": true,
|
|
3988
|
+
"type": "option"
|
|
3989
|
+
},
|
|
3990
|
+
"target-dir": {
|
|
3991
|
+
"description": "Specific target directory (overrides auto-discovery)",
|
|
3992
|
+
"name": "target-dir",
|
|
3993
|
+
"hasDynamicHelp": false,
|
|
3994
|
+
"multiple": false,
|
|
3995
|
+
"type": "option"
|
|
3996
|
+
},
|
|
3997
|
+
"incremental": {
|
|
3998
|
+
"description": "Only pull records updated since last successful pull",
|
|
3999
|
+
"name": "incremental",
|
|
3991
4000
|
"allowNo": false,
|
|
3992
4001
|
"type": "boolean"
|
|
4002
|
+
},
|
|
4003
|
+
"since": {
|
|
4004
|
+
"description": "Only pull records updated after this ISO 8601 timestamp",
|
|
4005
|
+
"name": "since",
|
|
4006
|
+
"hasDynamicHelp": false,
|
|
4007
|
+
"multiple": false,
|
|
4008
|
+
"type": "option"
|
|
3993
4009
|
}
|
|
3994
4010
|
},
|
|
3995
4011
|
"hasDynamicHelp": false,
|
|
3996
4012
|
"hiddenAliases": [],
|
|
3997
|
-
"id": "
|
|
4013
|
+
"id": "sync:pull",
|
|
3998
4014
|
"pluginAlias": "@memberjunction/cli",
|
|
3999
4015
|
"pluginName": "@memberjunction/cli",
|
|
4000
4016
|
"pluginType": "core",
|
|
4001
4017
|
"strict": true,
|
|
4002
4018
|
"enableJsonFlag": false,
|
|
4019
|
+
"Usage": {
|
|
4020
|
+
"domain": "sync",
|
|
4021
|
+
"command": "sync:pull",
|
|
4022
|
+
"summary": "Pull database records into local metadata files.",
|
|
4023
|
+
"description": "Writes records of --entity into the matching entity directory, creating or updating files per the merge strategy.",
|
|
4024
|
+
"flags": [
|
|
4025
|
+
{
|
|
4026
|
+
"name": "--entity",
|
|
4027
|
+
"type": "string",
|
|
4028
|
+
"description": "Entity name to pull (required)"
|
|
4029
|
+
},
|
|
4030
|
+
{
|
|
4031
|
+
"name": "--filter",
|
|
4032
|
+
"type": "string",
|
|
4033
|
+
"description": "Extra SQL filter for which records to pull"
|
|
4034
|
+
},
|
|
4035
|
+
{
|
|
4036
|
+
"name": "--merge-strategy",
|
|
4037
|
+
"type": "merge|overwrite|skip",
|
|
4038
|
+
"description": "How to reconcile existing files"
|
|
4039
|
+
},
|
|
4040
|
+
{
|
|
4041
|
+
"name": "--dry-run",
|
|
4042
|
+
"type": "boolean",
|
|
4043
|
+
"description": "Report what would be pulled without writing"
|
|
4044
|
+
},
|
|
4045
|
+
{
|
|
4046
|
+
"name": "--format",
|
|
4047
|
+
"type": "text|json|md",
|
|
4048
|
+
"description": "Output format (json for machine-readable result)"
|
|
4049
|
+
}
|
|
4050
|
+
],
|
|
4051
|
+
"examples": [
|
|
4052
|
+
"mj sync pull --entity=\"MJ: AI Prompts\"",
|
|
4053
|
+
"mj sync pull --entity=\"Actions\" --format=json"
|
|
4054
|
+
],
|
|
4055
|
+
"runtime": {
|
|
4056
|
+
"class": "variable",
|
|
4057
|
+
"typicalSeconds": 15,
|
|
4058
|
+
"note": "scales with number of records matched for --entity"
|
|
4059
|
+
}
|
|
4060
|
+
},
|
|
4003
4061
|
"isESM": true,
|
|
4004
4062
|
"relativePath": [
|
|
4005
4063
|
"dist",
|
|
4006
4064
|
"commands",
|
|
4007
|
-
"
|
|
4008
|
-
"
|
|
4065
|
+
"sync",
|
|
4066
|
+
"pull.js"
|
|
4009
4067
|
]
|
|
4010
4068
|
},
|
|
4011
|
-
"
|
|
4069
|
+
"sync:push": {
|
|
4012
4070
|
"aliases": [],
|
|
4013
4071
|
"args": {},
|
|
4014
|
-
"description": "
|
|
4072
|
+
"description": "Push local file changes to the database",
|
|
4015
4073
|
"examples": [
|
|
4016
|
-
"<%= config.bin %> <%= command.id %>
|
|
4017
|
-
"<%= config.bin %> <%= command.id %> run
|
|
4018
|
-
"<%= config.bin %> <%= command.id %>
|
|
4019
|
-
"<%= config.bin %> <%= command.id %>
|
|
4020
|
-
"<%= config.bin %> <%= command.id %> list --suites",
|
|
4021
|
-
"<%= config.bin %> <%= command.id %> validate --all"
|
|
4074
|
+
"<%= config.bin %> <%= command.id %>",
|
|
4075
|
+
"<%= config.bin %> <%= command.id %> --dry-run",
|
|
4076
|
+
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
4077
|
+
"<%= config.bin %> <%= command.id %> --ci --format=json"
|
|
4022
4078
|
],
|
|
4023
|
-
"flags": {
|
|
4079
|
+
"flags": {
|
|
4080
|
+
"format": {
|
|
4081
|
+
"description": "Output format: text (human), json (machine-readable), md (Markdown-fenced)",
|
|
4082
|
+
"name": "format",
|
|
4083
|
+
"default": "text",
|
|
4084
|
+
"hasDynamicHelp": false,
|
|
4085
|
+
"multiple": false,
|
|
4086
|
+
"options": [
|
|
4087
|
+
"text",
|
|
4088
|
+
"json",
|
|
4089
|
+
"md"
|
|
4090
|
+
],
|
|
4091
|
+
"type": "option"
|
|
4092
|
+
},
|
|
4093
|
+
"verbose": {
|
|
4094
|
+
"char": "v",
|
|
4095
|
+
"description": "Show detailed output",
|
|
4096
|
+
"name": "verbose",
|
|
4097
|
+
"allowNo": false,
|
|
4098
|
+
"type": "boolean"
|
|
4099
|
+
},
|
|
4100
|
+
"no-banner": {
|
|
4101
|
+
"description": "Suppress the startup banner and runtime advisory",
|
|
4102
|
+
"name": "no-banner",
|
|
4103
|
+
"allowNo": false,
|
|
4104
|
+
"type": "boolean"
|
|
4105
|
+
},
|
|
4106
|
+
"dir": {
|
|
4107
|
+
"description": "Specific entity directory to push",
|
|
4108
|
+
"name": "dir",
|
|
4109
|
+
"hasDynamicHelp": false,
|
|
4110
|
+
"multiple": false,
|
|
4111
|
+
"type": "option"
|
|
4112
|
+
},
|
|
4113
|
+
"dry-run": {
|
|
4114
|
+
"description": "Show what would be pushed without actually pushing",
|
|
4115
|
+
"name": "dry-run",
|
|
4116
|
+
"allowNo": false,
|
|
4117
|
+
"type": "boolean"
|
|
4118
|
+
},
|
|
4119
|
+
"ci": {
|
|
4120
|
+
"description": "CI mode - no prompts, fail on issues",
|
|
4121
|
+
"name": "ci",
|
|
4122
|
+
"allowNo": false,
|
|
4123
|
+
"type": "boolean"
|
|
4124
|
+
},
|
|
4125
|
+
"no-validate": {
|
|
4126
|
+
"description": "Skip validation before push",
|
|
4127
|
+
"name": "no-validate",
|
|
4128
|
+
"allowNo": false,
|
|
4129
|
+
"type": "boolean"
|
|
4130
|
+
},
|
|
4131
|
+
"delete-db-only": {
|
|
4132
|
+
"description": "Delete database-only records that reference records being deleted (prevents FK errors)",
|
|
4133
|
+
"name": "delete-db-only",
|
|
4134
|
+
"allowNo": false,
|
|
4135
|
+
"type": "boolean"
|
|
4136
|
+
},
|
|
4137
|
+
"parallel-batch-size": {
|
|
4138
|
+
"description": "Number of records to process in parallel (default: 10)",
|
|
4139
|
+
"name": "parallel-batch-size",
|
|
4140
|
+
"default": 10,
|
|
4141
|
+
"hasDynamicHelp": false,
|
|
4142
|
+
"multiple": false,
|
|
4143
|
+
"type": "option"
|
|
4144
|
+
},
|
|
4145
|
+
"include": {
|
|
4146
|
+
"description": "Only process these directories (comma-separated, supports patterns)",
|
|
4147
|
+
"name": "include",
|
|
4148
|
+
"hasDynamicHelp": false,
|
|
4149
|
+
"multiple": false,
|
|
4150
|
+
"type": "option"
|
|
4151
|
+
},
|
|
4152
|
+
"exclude": {
|
|
4153
|
+
"description": "Skip these directories (comma-separated, supports patterns)",
|
|
4154
|
+
"name": "exclude",
|
|
4155
|
+
"hasDynamicHelp": false,
|
|
4156
|
+
"multiple": false,
|
|
4157
|
+
"type": "option"
|
|
4158
|
+
},
|
|
4159
|
+
"incremental": {
|
|
4160
|
+
"description": "Skip unchanged files using stored checksums from last push",
|
|
4161
|
+
"name": "incremental",
|
|
4162
|
+
"allowNo": false,
|
|
4163
|
+
"type": "boolean"
|
|
4164
|
+
},
|
|
4165
|
+
"change-detail": {
|
|
4166
|
+
"description": "Write a detailed per-record change report (primary keys + field diffs) to a file",
|
|
4167
|
+
"name": "change-detail",
|
|
4168
|
+
"allowNo": false,
|
|
4169
|
+
"type": "boolean"
|
|
4170
|
+
}
|
|
4171
|
+
},
|
|
4024
4172
|
"hasDynamicHelp": false,
|
|
4025
4173
|
"hiddenAliases": [],
|
|
4026
|
-
"id": "
|
|
4174
|
+
"id": "sync:push",
|
|
4027
4175
|
"pluginAlias": "@memberjunction/cli",
|
|
4028
4176
|
"pluginName": "@memberjunction/cli",
|
|
4029
4177
|
"pluginType": "core",
|
|
4030
4178
|
"strict": true,
|
|
4031
4179
|
"enableJsonFlag": false,
|
|
4180
|
+
"Usage": {
|
|
4181
|
+
"domain": "sync",
|
|
4182
|
+
"command": "sync:push",
|
|
4183
|
+
"summary": "Push local metadata files to the database (upsert).",
|
|
4184
|
+
"description": "Reads entity directories under --dir and creates/updates matching records. Runs validation first unless --no-validate.",
|
|
4185
|
+
"flags": [
|
|
4186
|
+
{
|
|
4187
|
+
"name": "--dir",
|
|
4188
|
+
"type": "string",
|
|
4189
|
+
"description": "Entity directory to push"
|
|
4190
|
+
},
|
|
4191
|
+
{
|
|
4192
|
+
"name": "--dry-run",
|
|
4193
|
+
"type": "boolean",
|
|
4194
|
+
"description": "Report what would change without writing"
|
|
4195
|
+
},
|
|
4196
|
+
{
|
|
4197
|
+
"name": "--ci",
|
|
4198
|
+
"type": "boolean",
|
|
4199
|
+
"description": "No prompts; non-zero exit on error"
|
|
4200
|
+
},
|
|
4201
|
+
{
|
|
4202
|
+
"name": "--no-validate",
|
|
4203
|
+
"type": "boolean",
|
|
4204
|
+
"description": "Skip pre-push validation"
|
|
4205
|
+
},
|
|
4206
|
+
{
|
|
4207
|
+
"name": "--incremental",
|
|
4208
|
+
"type": "boolean",
|
|
4209
|
+
"description": "Skip unchanged files using stored checksums"
|
|
4210
|
+
},
|
|
4211
|
+
{
|
|
4212
|
+
"name": "--format",
|
|
4213
|
+
"type": "text|json|md",
|
|
4214
|
+
"description": "Output format (json for machine-readable result)"
|
|
4215
|
+
}
|
|
4216
|
+
],
|
|
4217
|
+
"examples": [
|
|
4218
|
+
"mj sync push --dir=ai-agents",
|
|
4219
|
+
"mj sync push --ci --format=json"
|
|
4220
|
+
],
|
|
4221
|
+
"runtime": {
|
|
4222
|
+
"class": "variable",
|
|
4223
|
+
"typicalSeconds": 20,
|
|
4224
|
+
"note": "scales with number of records in --dir"
|
|
4225
|
+
}
|
|
4226
|
+
},
|
|
4032
4227
|
"isESM": true,
|
|
4033
4228
|
"relativePath": [
|
|
4034
4229
|
"dist",
|
|
4035
4230
|
"commands",
|
|
4036
|
-
"
|
|
4037
|
-
"
|
|
4231
|
+
"sync",
|
|
4232
|
+
"push.js"
|
|
4038
4233
|
]
|
|
4039
4234
|
},
|
|
4040
|
-
"
|
|
4235
|
+
"sync:status": {
|
|
4041
4236
|
"aliases": [],
|
|
4042
4237
|
"args": {},
|
|
4043
|
-
"description": "
|
|
4238
|
+
"description": "Show status of local files vs database",
|
|
4044
4239
|
"examples": [
|
|
4045
4240
|
"<%= config.bin %> <%= command.id %>",
|
|
4046
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4047
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
"
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
"suites": {
|
|
4054
|
-
"description": "List test suites instead of tests",
|
|
4055
|
-
"name": "suites",
|
|
4056
|
-
"allowNo": false,
|
|
4057
|
-
"type": "boolean"
|
|
4058
|
-
},
|
|
4059
|
-
"types": {
|
|
4060
|
-
"description": "List test types",
|
|
4061
|
-
"name": "types",
|
|
4062
|
-
"allowNo": false,
|
|
4063
|
-
"type": "boolean"
|
|
4064
|
-
},
|
|
4065
|
-
"type": {
|
|
4066
|
-
"char": "t",
|
|
4067
|
-
"description": "Filter by test type",
|
|
4068
|
-
"name": "type",
|
|
4069
|
-
"hasDynamicHelp": false,
|
|
4070
|
-
"multiple": false,
|
|
4071
|
-
"type": "option"
|
|
4072
|
-
},
|
|
4073
|
-
"tag": {
|
|
4074
|
-
"description": "Filter by tag",
|
|
4075
|
-
"name": "tag",
|
|
4241
|
+
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
4242
|
+
"<%= config.bin %> <%= command.id %> --verbose"
|
|
4243
|
+
],
|
|
4244
|
+
"flags": {
|
|
4245
|
+
"dir": {
|
|
4246
|
+
"description": "Specific entity directory to check status",
|
|
4247
|
+
"name": "dir",
|
|
4076
4248
|
"hasDynamicHelp": false,
|
|
4077
4249
|
"multiple": false,
|
|
4078
4250
|
"type": "option"
|
|
4079
4251
|
},
|
|
4080
|
-
"
|
|
4081
|
-
"char": "
|
|
4082
|
-
"description": "
|
|
4083
|
-
"name": "
|
|
4084
|
-
"
|
|
4085
|
-
"
|
|
4086
|
-
"type": "option"
|
|
4252
|
+
"verbose": {
|
|
4253
|
+
"char": "v",
|
|
4254
|
+
"description": "Show detailed field-level differences",
|
|
4255
|
+
"name": "verbose",
|
|
4256
|
+
"allowNo": false,
|
|
4257
|
+
"type": "boolean"
|
|
4087
4258
|
},
|
|
4088
|
-
"
|
|
4089
|
-
"
|
|
4090
|
-
"
|
|
4091
|
-
"name": "format",
|
|
4092
|
-
"default": "console",
|
|
4259
|
+
"include": {
|
|
4260
|
+
"description": "Only process these directories (comma-separated, supports patterns)",
|
|
4261
|
+
"name": "include",
|
|
4093
4262
|
"hasDynamicHelp": false,
|
|
4094
4263
|
"multiple": false,
|
|
4095
|
-
"options": [
|
|
4096
|
-
"console",
|
|
4097
|
-
"json",
|
|
4098
|
-
"markdown"
|
|
4099
|
-
],
|
|
4100
4264
|
"type": "option"
|
|
4101
4265
|
},
|
|
4102
|
-
"
|
|
4103
|
-
"
|
|
4104
|
-
"
|
|
4105
|
-
"name": "output",
|
|
4266
|
+
"exclude": {
|
|
4267
|
+
"description": "Skip these directories (comma-separated, supports patterns)",
|
|
4268
|
+
"name": "exclude",
|
|
4106
4269
|
"hasDynamicHelp": false,
|
|
4107
4270
|
"multiple": false,
|
|
4108
4271
|
"type": "option"
|
|
4109
|
-
},
|
|
4110
|
-
"verbose": {
|
|
4111
|
-
"char": "v",
|
|
4112
|
-
"description": "Show detailed information",
|
|
4113
|
-
"name": "verbose",
|
|
4114
|
-
"allowNo": false,
|
|
4115
|
-
"type": "boolean"
|
|
4116
4272
|
}
|
|
4117
4273
|
},
|
|
4118
4274
|
"hasDynamicHelp": false,
|
|
4119
4275
|
"hiddenAliases": [],
|
|
4120
|
-
"id": "
|
|
4276
|
+
"id": "sync:status",
|
|
4121
4277
|
"pluginAlias": "@memberjunction/cli",
|
|
4122
4278
|
"pluginName": "@memberjunction/cli",
|
|
4123
4279
|
"pluginType": "core",
|
|
@@ -4127,97 +4283,32 @@
|
|
|
4127
4283
|
"relativePath": [
|
|
4128
4284
|
"dist",
|
|
4129
4285
|
"commands",
|
|
4130
|
-
"
|
|
4131
|
-
"
|
|
4286
|
+
"sync",
|
|
4287
|
+
"status.js"
|
|
4132
4288
|
]
|
|
4133
4289
|
},
|
|
4134
|
-
"
|
|
4290
|
+
"sync:usage": {
|
|
4135
4291
|
"aliases": [],
|
|
4136
|
-
"args": {
|
|
4137
|
-
|
|
4138
|
-
"description": "Test ID to execute",
|
|
4139
|
-
"name": "testId",
|
|
4140
|
-
"required": false
|
|
4141
|
-
}
|
|
4142
|
-
},
|
|
4143
|
-
"description": "Execute a single test by ID or name",
|
|
4144
|
-
"examples": [
|
|
4145
|
-
"<%= config.bin %> <%= command.id %> <test-id>",
|
|
4146
|
-
"<%= config.bin %> <%= command.id %> --name=\"Active Members Count\"",
|
|
4147
|
-
"<%= config.bin %> <%= command.id %> <test-id> --environment=staging",
|
|
4148
|
-
"<%= config.bin %> <%= command.id %> <test-id> --format=json --output=results.json",
|
|
4149
|
-
"<%= config.bin %> <%= command.id %> <test-id> --dry-run"
|
|
4150
|
-
],
|
|
4292
|
+
"args": {},
|
|
4293
|
+
"description": "Show usage, flags, examples, and runtime hints for every `mj sync` command.",
|
|
4151
4294
|
"flags": {
|
|
4152
|
-
"name": {
|
|
4153
|
-
"char": "n",
|
|
4154
|
-
"description": "Test name to execute",
|
|
4155
|
-
"name": "name",
|
|
4156
|
-
"hasDynamicHelp": false,
|
|
4157
|
-
"multiple": false,
|
|
4158
|
-
"type": "option"
|
|
4159
|
-
},
|
|
4160
|
-
"environment": {
|
|
4161
|
-
"char": "e",
|
|
4162
|
-
"description": "Environment context (dev, staging, prod)",
|
|
4163
|
-
"name": "environment",
|
|
4164
|
-
"hasDynamicHelp": false,
|
|
4165
|
-
"multiple": false,
|
|
4166
|
-
"type": "option"
|
|
4167
|
-
},
|
|
4168
4295
|
"format": {
|
|
4169
|
-
"char": "f",
|
|
4170
4296
|
"description": "Output format",
|
|
4171
4297
|
"name": "format",
|
|
4172
|
-
"default": "
|
|
4298
|
+
"default": "text",
|
|
4173
4299
|
"hasDynamicHelp": false,
|
|
4174
4300
|
"multiple": false,
|
|
4175
4301
|
"options": [
|
|
4176
|
-
"
|
|
4302
|
+
"text",
|
|
4177
4303
|
"json",
|
|
4178
|
-
"
|
|
4304
|
+
"md"
|
|
4179
4305
|
],
|
|
4180
4306
|
"type": "option"
|
|
4181
|
-
},
|
|
4182
|
-
"output": {
|
|
4183
|
-
"char": "o",
|
|
4184
|
-
"description": "Output file path",
|
|
4185
|
-
"name": "output",
|
|
4186
|
-
"hasDynamicHelp": false,
|
|
4187
|
-
"multiple": false,
|
|
4188
|
-
"type": "option"
|
|
4189
|
-
},
|
|
4190
|
-
"dry-run": {
|
|
4191
|
-
"description": "Validate without executing",
|
|
4192
|
-
"name": "dry-run",
|
|
4193
|
-
"allowNo": false,
|
|
4194
|
-
"type": "boolean"
|
|
4195
|
-
},
|
|
4196
|
-
"verbose": {
|
|
4197
|
-
"char": "v",
|
|
4198
|
-
"description": "Show detailed execution information",
|
|
4199
|
-
"name": "verbose",
|
|
4200
|
-
"allowNo": false,
|
|
4201
|
-
"type": "boolean"
|
|
4202
|
-
},
|
|
4203
|
-
"checks-module": {
|
|
4204
|
-
"description": "Module specifier (package name or path) side-effect-imported before the run so its integration check bundles register on the IntegrationCheckRegistry. Durable form: mj.config.cjs `testing.checkModules` (this repo loads '@memberjunction/integration-test-suite' that way).",
|
|
4205
|
-
"name": "checks-module",
|
|
4206
|
-
"hasDynamicHelp": false,
|
|
4207
|
-
"multiple": false,
|
|
4208
|
-
"type": "option"
|
|
4209
|
-
},
|
|
4210
|
-
"oracles-module": {
|
|
4211
|
-
"description": "Path to a JS/TS module that exports custom IOracle classes or instances. Each export is registered on the engine before the test runs — used by non-MJ adopters to plug app-specific oracle types without modifying TestingFramework.",
|
|
4212
|
-
"name": "oracles-module",
|
|
4213
|
-
"hasDynamicHelp": false,
|
|
4214
|
-
"multiple": false,
|
|
4215
|
-
"type": "option"
|
|
4216
4307
|
}
|
|
4217
4308
|
},
|
|
4218
4309
|
"hasDynamicHelp": false,
|
|
4219
4310
|
"hiddenAliases": [],
|
|
4220
|
-
"id": "
|
|
4311
|
+
"id": "sync:usage",
|
|
4221
4312
|
"pluginAlias": "@memberjunction/cli",
|
|
4222
4313
|
"pluginName": "@memberjunction/cli",
|
|
4223
4314
|
"pluginType": "core",
|
|
@@ -4227,105 +4318,44 @@
|
|
|
4227
4318
|
"relativePath": [
|
|
4228
4319
|
"dist",
|
|
4229
4320
|
"commands",
|
|
4230
|
-
"
|
|
4231
|
-
"
|
|
4321
|
+
"sync",
|
|
4322
|
+
"usage.js"
|
|
4232
4323
|
]
|
|
4233
4324
|
},
|
|
4234
|
-
"
|
|
4325
|
+
"sync:validate": {
|
|
4235
4326
|
"aliases": [],
|
|
4236
|
-
"args": {
|
|
4237
|
-
|
|
4238
|
-
"description": "Test suite ID to execute",
|
|
4239
|
-
"name": "suiteId",
|
|
4240
|
-
"required": false
|
|
4241
|
-
}
|
|
4242
|
-
},
|
|
4243
|
-
"description": "Execute a test suite",
|
|
4327
|
+
"args": {},
|
|
4328
|
+
"description": "Validate metadata files",
|
|
4244
4329
|
"examples": [
|
|
4245
|
-
"<%= config.bin %> <%= command.id %>
|
|
4246
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4247
|
-
"<%= config.bin %> <%= command.id %>
|
|
4248
|
-
"<%= config.bin %> <%= command.id %>
|
|
4330
|
+
"<%= config.bin %> <%= command.id %>",
|
|
4331
|
+
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
4332
|
+
"<%= config.bin %> <%= command.id %> --save-report",
|
|
4333
|
+
"<%= config.bin %> <%= command.id %> --verbose"
|
|
4249
4334
|
],
|
|
4250
4335
|
"flags": {
|
|
4251
|
-
"
|
|
4252
|
-
"
|
|
4253
|
-
"
|
|
4254
|
-
"name": "name",
|
|
4255
|
-
"hasDynamicHelp": false,
|
|
4256
|
-
"multiple": false,
|
|
4257
|
-
"type": "option"
|
|
4258
|
-
},
|
|
4259
|
-
"format": {
|
|
4260
|
-
"char": "f",
|
|
4261
|
-
"description": "Output format",
|
|
4262
|
-
"name": "format",
|
|
4263
|
-
"default": "console",
|
|
4264
|
-
"hasDynamicHelp": false,
|
|
4265
|
-
"multiple": false,
|
|
4266
|
-
"options": [
|
|
4267
|
-
"console",
|
|
4268
|
-
"json",
|
|
4269
|
-
"markdown"
|
|
4270
|
-
],
|
|
4271
|
-
"type": "option"
|
|
4272
|
-
},
|
|
4273
|
-
"output": {
|
|
4274
|
-
"char": "o",
|
|
4275
|
-
"description": "Output file path",
|
|
4276
|
-
"name": "output",
|
|
4336
|
+
"dir": {
|
|
4337
|
+
"description": "Specific entity directory to validate",
|
|
4338
|
+
"name": "dir",
|
|
4277
4339
|
"hasDynamicHelp": false,
|
|
4278
4340
|
"multiple": false,
|
|
4279
4341
|
"type": "option"
|
|
4280
4342
|
},
|
|
4281
4343
|
"verbose": {
|
|
4282
4344
|
"char": "v",
|
|
4283
|
-
"description": "Show detailed
|
|
4345
|
+
"description": "Show detailed validation output",
|
|
4284
4346
|
"name": "verbose",
|
|
4285
4347
|
"allowNo": false,
|
|
4286
4348
|
"type": "boolean"
|
|
4287
4349
|
},
|
|
4288
|
-
"
|
|
4289
|
-
"
|
|
4290
|
-
"
|
|
4291
|
-
"name": "delay",
|
|
4292
|
-
"default": 0,
|
|
4293
|
-
"hasDynamicHelp": false,
|
|
4294
|
-
"multiple": false,
|
|
4295
|
-
"type": "option"
|
|
4296
|
-
},
|
|
4297
|
-
"parallel": {
|
|
4298
|
-
"char": "p",
|
|
4299
|
-
"description": "Run tests in parallel with shared browser sessions",
|
|
4300
|
-
"name": "parallel",
|
|
4350
|
+
"save-report": {
|
|
4351
|
+
"description": "Save validation report as markdown file",
|
|
4352
|
+
"name": "save-report",
|
|
4301
4353
|
"allowNo": false,
|
|
4302
4354
|
"type": "boolean"
|
|
4303
4355
|
},
|
|
4304
|
-
"
|
|
4305
|
-
"description": "
|
|
4306
|
-
"name": "
|
|
4307
|
-
"default": 4,
|
|
4308
|
-
"hasDynamicHelp": false,
|
|
4309
|
-
"multiple": false,
|
|
4310
|
-
"type": "option"
|
|
4311
|
-
},
|
|
4312
|
-
"flaky-check": {
|
|
4313
|
-
"description": "Run each test N times to detect flakiness (variance > 0.3 or mixed pass/fail = flaky). Recommended: 3 or 5",
|
|
4314
|
-
"name": "flaky-check",
|
|
4315
|
-
"hasDynamicHelp": false,
|
|
4316
|
-
"multiple": false,
|
|
4317
|
-
"type": "option"
|
|
4318
|
-
},
|
|
4319
|
-
"checks-module": {
|
|
4320
|
-
"description": "Module specifier (package name or path) side-effect-imported before the run so its integration check bundles register on the IntegrationCheckRegistry. Durable form: mj.config.cjs `testing.checkModules` (this repo loads '@memberjunction/integration-test-suite' that way).",
|
|
4321
|
-
"name": "checks-module",
|
|
4322
|
-
"hasDynamicHelp": false,
|
|
4323
|
-
"multiple": false,
|
|
4324
|
-
"type": "option"
|
|
4325
|
-
},
|
|
4326
|
-
"oracles-module": {
|
|
4327
|
-
"description": "Path to a JS/TS module that exports custom IOracle classes or instances. Each export is registered on the engine before the suite runs — used by non-MJ adopters to plug app-specific oracle types without modifying TestingFramework.",
|
|
4328
|
-
"name": "oracles-module",
|
|
4356
|
+
"output": {
|
|
4357
|
+
"description": "Output file path for validation report (default: validation-report.md)",
|
|
4358
|
+
"name": "output",
|
|
4329
4359
|
"hasDynamicHelp": false,
|
|
4330
4360
|
"multiple": false,
|
|
4331
4361
|
"type": "option"
|
|
@@ -4333,7 +4363,7 @@
|
|
|
4333
4363
|
},
|
|
4334
4364
|
"hasDynamicHelp": false,
|
|
4335
4365
|
"hiddenAliases": [],
|
|
4336
|
-
"id": "
|
|
4366
|
+
"id": "sync:validate",
|
|
4337
4367
|
"pluginAlias": "@memberjunction/cli",
|
|
4338
4368
|
"pluginName": "@memberjunction/cli",
|
|
4339
4369
|
"pluginType": "core",
|
|
@@ -4343,74 +4373,44 @@
|
|
|
4343
4373
|
"relativePath": [
|
|
4344
4374
|
"dist",
|
|
4345
4375
|
"commands",
|
|
4346
|
-
"
|
|
4347
|
-
"
|
|
4376
|
+
"sync",
|
|
4377
|
+
"validate.js"
|
|
4348
4378
|
]
|
|
4349
4379
|
},
|
|
4350
|
-
"
|
|
4380
|
+
"sync:watch": {
|
|
4351
4381
|
"aliases": [],
|
|
4352
|
-
"args": {
|
|
4353
|
-
|
|
4354
|
-
"description": "Test ID to validate",
|
|
4355
|
-
"name": "testId",
|
|
4356
|
-
"required": false
|
|
4357
|
-
}
|
|
4358
|
-
},
|
|
4359
|
-
"description": "Validate test definitions without executing",
|
|
4382
|
+
"args": {},
|
|
4383
|
+
"description": "Watch for file changes and sync automatically",
|
|
4360
4384
|
"examples": [
|
|
4361
|
-
"<%= config.bin %> <%= command.id %>
|
|
4362
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4363
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4364
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4365
|
-
"<%= config.bin %> <%= command.id %> --all --output=validation-report.md"
|
|
4385
|
+
"<%= config.bin %> <%= command.id %>",
|
|
4386
|
+
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
4387
|
+
"<%= config.bin %> <%= command.id %> --debounce=1000",
|
|
4388
|
+
"<%= config.bin %> <%= command.id %> --no-validate"
|
|
4366
4389
|
],
|
|
4367
4390
|
"flags": {
|
|
4368
|
-
"
|
|
4369
|
-
"
|
|
4370
|
-
"
|
|
4371
|
-
"name": "all",
|
|
4372
|
-
"allowNo": false,
|
|
4373
|
-
"type": "boolean"
|
|
4374
|
-
},
|
|
4375
|
-
"type": {
|
|
4376
|
-
"char": "t",
|
|
4377
|
-
"description": "Validate tests by type",
|
|
4378
|
-
"name": "type",
|
|
4391
|
+
"dir": {
|
|
4392
|
+
"description": "Specific entity directory to watch",
|
|
4393
|
+
"name": "dir",
|
|
4379
4394
|
"hasDynamicHelp": false,
|
|
4380
4395
|
"multiple": false,
|
|
4381
4396
|
"type": "option"
|
|
4382
4397
|
},
|
|
4383
|
-
"
|
|
4384
|
-
"description": "
|
|
4385
|
-
"name": "
|
|
4386
|
-
"allowNo": false,
|
|
4387
|
-
"type": "boolean"
|
|
4388
|
-
},
|
|
4389
|
-
"format": {
|
|
4390
|
-
"char": "f",
|
|
4391
|
-
"description": "Output format",
|
|
4392
|
-
"name": "format",
|
|
4393
|
-
"default": "console",
|
|
4398
|
+
"debounce": {
|
|
4399
|
+
"description": "Debounce delay in milliseconds (default: 500)",
|
|
4400
|
+
"name": "debounce",
|
|
4394
4401
|
"hasDynamicHelp": false,
|
|
4395
4402
|
"multiple": false,
|
|
4396
|
-
"options": [
|
|
4397
|
-
"console",
|
|
4398
|
-
"json",
|
|
4399
|
-
"markdown"
|
|
4400
|
-
],
|
|
4401
4403
|
"type": "option"
|
|
4402
4404
|
},
|
|
4403
|
-
"
|
|
4404
|
-
"
|
|
4405
|
-
"
|
|
4406
|
-
"
|
|
4407
|
-
"
|
|
4408
|
-
"multiple": false,
|
|
4409
|
-
"type": "option"
|
|
4405
|
+
"no-validate": {
|
|
4406
|
+
"description": "Skip validation before sync",
|
|
4407
|
+
"name": "no-validate",
|
|
4408
|
+
"allowNo": false,
|
|
4409
|
+
"type": "boolean"
|
|
4410
4410
|
},
|
|
4411
4411
|
"verbose": {
|
|
4412
4412
|
"char": "v",
|
|
4413
|
-
"description": "Show detailed
|
|
4413
|
+
"description": "Show detailed output",
|
|
4414
4414
|
"name": "verbose",
|
|
4415
4415
|
"allowNo": false,
|
|
4416
4416
|
"type": "boolean"
|
|
@@ -4418,7 +4418,7 @@
|
|
|
4418
4418
|
},
|
|
4419
4419
|
"hasDynamicHelp": false,
|
|
4420
4420
|
"hiddenAliases": [],
|
|
4421
|
-
"id": "
|
|
4421
|
+
"id": "sync:watch",
|
|
4422
4422
|
"pluginAlias": "@memberjunction/cli",
|
|
4423
4423
|
"pluginName": "@memberjunction/cli",
|
|
4424
4424
|
"pluginType": "core",
|
|
@@ -4428,8 +4428,8 @@
|
|
|
4428
4428
|
"relativePath": [
|
|
4429
4429
|
"dist",
|
|
4430
4430
|
"commands",
|
|
4431
|
-
"
|
|
4432
|
-
"
|
|
4431
|
+
"sync",
|
|
4432
|
+
"watch.js"
|
|
4433
4433
|
]
|
|
4434
4434
|
},
|
|
4435
4435
|
"ai:actions:list": {
|
|
@@ -4519,244 +4519,28 @@
|
|
|
4519
4519
|
"compact",
|
|
4520
4520
|
"json",
|
|
4521
4521
|
"table"
|
|
4522
|
-
],
|
|
4523
|
-
"type": "option"
|
|
4524
|
-
},
|
|
4525
|
-
"verbose": {
|
|
4526
|
-
"char": "v",
|
|
4527
|
-
"description": "Show detailed execution information",
|
|
4528
|
-
"name": "verbose",
|
|
4529
|
-
"allowNo": false,
|
|
4530
|
-
"type": "boolean"
|
|
4531
|
-
},
|
|
4532
|
-
"timeout": {
|
|
4533
|
-
"description": "Execution timeout in milliseconds",
|
|
4534
|
-
"name": "timeout",
|
|
4535
|
-
"default": 300000,
|
|
4536
|
-
"hasDynamicHelp": false,
|
|
4537
|
-
"multiple": false,
|
|
4538
|
-
"type": "option"
|
|
4539
|
-
}
|
|
4540
|
-
},
|
|
4541
|
-
"hasDynamicHelp": false,
|
|
4542
|
-
"hiddenAliases": [],
|
|
4543
|
-
"id": "ai:actions:run",
|
|
4544
|
-
"pluginAlias": "@memberjunction/cli",
|
|
4545
|
-
"pluginName": "@memberjunction/cli",
|
|
4546
|
-
"pluginType": "core",
|
|
4547
|
-
"strict": true,
|
|
4548
|
-
"enableJsonFlag": false,
|
|
4549
|
-
"isESM": true,
|
|
4550
|
-
"relativePath": [
|
|
4551
|
-
"dist",
|
|
4552
|
-
"commands",
|
|
4553
|
-
"ai",
|
|
4554
|
-
"actions",
|
|
4555
|
-
"run.js"
|
|
4556
|
-
]
|
|
4557
|
-
},
|
|
4558
|
-
"ai:audit:agent-run": {
|
|
4559
|
-
"aliases": [],
|
|
4560
|
-
"args": {
|
|
4561
|
-
"runId": {
|
|
4562
|
-
"description": "AI Agent Run ID to audit (UUID)",
|
|
4563
|
-
"name": "runId",
|
|
4564
|
-
"required": false
|
|
4565
|
-
}
|
|
4566
|
-
},
|
|
4567
|
-
"description": "Audit and analyze AI agent execution runs for debugging and performance analysis",
|
|
4568
|
-
"examples": [
|
|
4569
|
-
"<%= config.bin %> <%= command.id %> abc-123-def-456",
|
|
4570
|
-
"<%= config.bin %> <%= command.id %> abc-123-def-456 --output=markdown",
|
|
4571
|
-
"<%= config.bin %> <%= command.id %> abc-123-def-456 --step 3",
|
|
4572
|
-
"<%= config.bin %> <%= command.id %> abc-123-def-456 --step 3 --detail full",
|
|
4573
|
-
"<%= config.bin %> <%= command.id %> abc-123-def-456 --errors",
|
|
4574
|
-
"<%= config.bin %> <%= command.id %> --list --agent \"Skip: Requirements Expert\"",
|
|
4575
|
-
"<%= config.bin %> <%= command.id %> --list --status failed --days 7",
|
|
4576
|
-
"<%= config.bin %> <%= command.id %> abc-123-def-456 --export full --file report.json"
|
|
4577
|
-
],
|
|
4578
|
-
"flags": {
|
|
4579
|
-
"output": {
|
|
4580
|
-
"char": "o",
|
|
4581
|
-
"description": "Output format",
|
|
4582
|
-
"name": "output",
|
|
4583
|
-
"default": "compact",
|
|
4584
|
-
"hasDynamicHelp": false,
|
|
4585
|
-
"multiple": false,
|
|
4586
|
-
"options": [
|
|
4587
|
-
"compact",
|
|
4588
|
-
"json",
|
|
4589
|
-
"table",
|
|
4590
|
-
"markdown"
|
|
4591
|
-
],
|
|
4592
|
-
"type": "option"
|
|
4593
|
-
},
|
|
4594
|
-
"step": {
|
|
4595
|
-
"char": "s",
|
|
4596
|
-
"description": "Show details for specific step number (1-based index)",
|
|
4597
|
-
"exclusive": [
|
|
4598
|
-
"list",
|
|
4599
|
-
"errors"
|
|
4600
|
-
],
|
|
4601
|
-
"name": "step",
|
|
4602
|
-
"hasDynamicHelp": false,
|
|
4603
|
-
"multiple": false,
|
|
4604
|
-
"type": "option"
|
|
4605
|
-
},
|
|
4606
|
-
"detail": {
|
|
4607
|
-
"char": "d",
|
|
4608
|
-
"dependsOn": [
|
|
4609
|
-
"step"
|
|
4610
|
-
],
|
|
4611
|
-
"description": "Detail level for step output (default: standard)",
|
|
4612
|
-
"name": "detail",
|
|
4613
|
-
"hasDynamicHelp": false,
|
|
4614
|
-
"multiple": false,
|
|
4615
|
-
"options": [
|
|
4616
|
-
"minimal",
|
|
4617
|
-
"standard",
|
|
4618
|
-
"detailed",
|
|
4619
|
-
"full"
|
|
4620
|
-
],
|
|
4621
|
-
"type": "option"
|
|
4622
|
-
},
|
|
4623
|
-
"errors": {
|
|
4624
|
-
"char": "e",
|
|
4625
|
-
"description": "Show only error details and context",
|
|
4626
|
-
"exclusive": [
|
|
4627
|
-
"step",
|
|
4628
|
-
"list"
|
|
4629
|
-
],
|
|
4630
|
-
"name": "errors",
|
|
4631
|
-
"allowNo": false,
|
|
4632
|
-
"type": "boolean"
|
|
4633
|
-
},
|
|
4634
|
-
"list": {
|
|
4635
|
-
"char": "l",
|
|
4636
|
-
"description": "List recent agent runs",
|
|
4637
|
-
"exclusive": [
|
|
4638
|
-
"step",
|
|
4639
|
-
"errors"
|
|
4640
|
-
],
|
|
4641
|
-
"name": "list",
|
|
4642
|
-
"allowNo": false,
|
|
4643
|
-
"type": "boolean"
|
|
4644
|
-
},
|
|
4645
|
-
"agent": {
|
|
4646
|
-
"char": "a",
|
|
4647
|
-
"dependsOn": [
|
|
4648
|
-
"list"
|
|
4649
|
-
],
|
|
4650
|
-
"description": "Filter by agent name",
|
|
4651
|
-
"name": "agent",
|
|
4652
|
-
"hasDynamicHelp": false,
|
|
4653
|
-
"multiple": false,
|
|
4654
|
-
"type": "option"
|
|
4655
|
-
},
|
|
4656
|
-
"status": {
|
|
4657
|
-
"dependsOn": [
|
|
4658
|
-
"list"
|
|
4659
|
-
],
|
|
4660
|
-
"description": "Filter by run status",
|
|
4661
|
-
"name": "status",
|
|
4662
|
-
"default": "all",
|
|
4663
|
-
"hasDynamicHelp": false,
|
|
4664
|
-
"multiple": false,
|
|
4665
|
-
"options": [
|
|
4666
|
-
"success",
|
|
4667
|
-
"failed",
|
|
4668
|
-
"running",
|
|
4669
|
-
"all"
|
|
4670
|
-
],
|
|
4671
|
-
"type": "option"
|
|
4672
|
-
},
|
|
4673
|
-
"days": {
|
|
4674
|
-
"dependsOn": [
|
|
4675
|
-
"list"
|
|
4676
|
-
],
|
|
4677
|
-
"description": "Number of days to look back",
|
|
4678
|
-
"name": "days",
|
|
4679
|
-
"default": 7,
|
|
4680
|
-
"hasDynamicHelp": false,
|
|
4681
|
-
"multiple": false,
|
|
4682
|
-
"type": "option"
|
|
4683
|
-
},
|
|
4684
|
-
"limit": {
|
|
4685
|
-
"dependsOn": [
|
|
4686
|
-
"list"
|
|
4687
|
-
],
|
|
4688
|
-
"description": "Maximum number of runs to return",
|
|
4689
|
-
"name": "limit",
|
|
4690
|
-
"default": 50,
|
|
4691
|
-
"hasDynamicHelp": false,
|
|
4692
|
-
"multiple": false,
|
|
4693
|
-
"type": "option"
|
|
4694
|
-
},
|
|
4695
|
-
"export": {
|
|
4696
|
-
"dependsOn": [
|
|
4697
|
-
"file"
|
|
4698
|
-
],
|
|
4699
|
-
"description": "Export full data to file",
|
|
4700
|
-
"name": "export",
|
|
4701
|
-
"hasDynamicHelp": false,
|
|
4702
|
-
"multiple": false,
|
|
4703
|
-
"options": [
|
|
4704
|
-
"full",
|
|
4705
|
-
"summary",
|
|
4706
|
-
"steps"
|
|
4707
|
-
],
|
|
4708
|
-
"type": "option"
|
|
4709
|
-
},
|
|
4710
|
-
"file": {
|
|
4711
|
-
"char": "f",
|
|
4712
|
-
"description": "Output file path for export",
|
|
4713
|
-
"name": "file",
|
|
4714
|
-
"hasDynamicHelp": false,
|
|
4715
|
-
"multiple": false,
|
|
4716
|
-
"type": "option"
|
|
4717
|
-
},
|
|
4718
|
-
"max-tokens": {
|
|
4719
|
-
"description": "Maximum tokens per field (0 = no limit)",
|
|
4720
|
-
"name": "max-tokens",
|
|
4721
|
-
"default": 5000,
|
|
4722
|
-
"hasDynamicHelp": false,
|
|
4723
|
-
"multiple": false,
|
|
4522
|
+
],
|
|
4724
4523
|
"type": "option"
|
|
4725
4524
|
},
|
|
4726
4525
|
"verbose": {
|
|
4727
4526
|
"char": "v",
|
|
4728
|
-
"description": "Show detailed
|
|
4527
|
+
"description": "Show detailed execution information",
|
|
4729
4528
|
"name": "verbose",
|
|
4730
4529
|
"allowNo": false,
|
|
4731
4530
|
"type": "boolean"
|
|
4531
|
+
},
|
|
4532
|
+
"timeout": {
|
|
4533
|
+
"description": "Execution timeout in milliseconds",
|
|
4534
|
+
"name": "timeout",
|
|
4535
|
+
"default": 300000,
|
|
4536
|
+
"hasDynamicHelp": false,
|
|
4537
|
+
"multiple": false,
|
|
4538
|
+
"type": "option"
|
|
4732
4539
|
}
|
|
4733
4540
|
},
|
|
4734
4541
|
"hasDynamicHelp": false,
|
|
4735
4542
|
"hiddenAliases": [],
|
|
4736
|
-
"id": "ai:
|
|
4737
|
-
"pluginAlias": "@memberjunction/cli",
|
|
4738
|
-
"pluginName": "@memberjunction/cli",
|
|
4739
|
-
"pluginType": "core",
|
|
4740
|
-
"strict": true,
|
|
4741
|
-
"enableJsonFlag": false,
|
|
4742
|
-
"isESM": true,
|
|
4743
|
-
"relativePath": [
|
|
4744
|
-
"dist",
|
|
4745
|
-
"commands",
|
|
4746
|
-
"ai",
|
|
4747
|
-
"audit",
|
|
4748
|
-
"agent-run.js"
|
|
4749
|
-
]
|
|
4750
|
-
},
|
|
4751
|
-
"ai:audit": {
|
|
4752
|
-
"aliases": [],
|
|
4753
|
-
"args": {},
|
|
4754
|
-
"description": "Analyze and audit AI agent runs, prompts, and actions for debugging and performance analysis",
|
|
4755
|
-
"flags": {},
|
|
4756
|
-
"hasDynamicHelp": false,
|
|
4757
|
-
"hidden": false,
|
|
4758
|
-
"hiddenAliases": [],
|
|
4759
|
-
"id": "ai:audit",
|
|
4543
|
+
"id": "ai:actions:run",
|
|
4760
4544
|
"pluginAlias": "@memberjunction/cli",
|
|
4761
4545
|
"pluginName": "@memberjunction/cli",
|
|
4762
4546
|
"pluginType": "core",
|
|
@@ -4767,8 +4551,8 @@
|
|
|
4767
4551
|
"dist",
|
|
4768
4552
|
"commands",
|
|
4769
4553
|
"ai",
|
|
4770
|
-
"
|
|
4771
|
-
"
|
|
4554
|
+
"actions",
|
|
4555
|
+
"run.js"
|
|
4772
4556
|
]
|
|
4773
4557
|
},
|
|
4774
4558
|
"ai:agents:list": {
|
|
@@ -5039,6 +4823,222 @@
|
|
|
5039
4823
|
"run.js"
|
|
5040
4824
|
]
|
|
5041
4825
|
},
|
|
4826
|
+
"ai:audit:agent-run": {
|
|
4827
|
+
"aliases": [],
|
|
4828
|
+
"args": {
|
|
4829
|
+
"runId": {
|
|
4830
|
+
"description": "AI Agent Run ID to audit (UUID)",
|
|
4831
|
+
"name": "runId",
|
|
4832
|
+
"required": false
|
|
4833
|
+
}
|
|
4834
|
+
},
|
|
4835
|
+
"description": "Audit and analyze AI agent execution runs for debugging and performance analysis",
|
|
4836
|
+
"examples": [
|
|
4837
|
+
"<%= config.bin %> <%= command.id %> abc-123-def-456",
|
|
4838
|
+
"<%= config.bin %> <%= command.id %> abc-123-def-456 --output=markdown",
|
|
4839
|
+
"<%= config.bin %> <%= command.id %> abc-123-def-456 --step 3",
|
|
4840
|
+
"<%= config.bin %> <%= command.id %> abc-123-def-456 --step 3 --detail full",
|
|
4841
|
+
"<%= config.bin %> <%= command.id %> abc-123-def-456 --errors",
|
|
4842
|
+
"<%= config.bin %> <%= command.id %> --list --agent \"Skip: Requirements Expert\"",
|
|
4843
|
+
"<%= config.bin %> <%= command.id %> --list --status failed --days 7",
|
|
4844
|
+
"<%= config.bin %> <%= command.id %> abc-123-def-456 --export full --file report.json"
|
|
4845
|
+
],
|
|
4846
|
+
"flags": {
|
|
4847
|
+
"output": {
|
|
4848
|
+
"char": "o",
|
|
4849
|
+
"description": "Output format",
|
|
4850
|
+
"name": "output",
|
|
4851
|
+
"default": "compact",
|
|
4852
|
+
"hasDynamicHelp": false,
|
|
4853
|
+
"multiple": false,
|
|
4854
|
+
"options": [
|
|
4855
|
+
"compact",
|
|
4856
|
+
"json",
|
|
4857
|
+
"table",
|
|
4858
|
+
"markdown"
|
|
4859
|
+
],
|
|
4860
|
+
"type": "option"
|
|
4861
|
+
},
|
|
4862
|
+
"step": {
|
|
4863
|
+
"char": "s",
|
|
4864
|
+
"description": "Show details for specific step number (1-based index)",
|
|
4865
|
+
"exclusive": [
|
|
4866
|
+
"list",
|
|
4867
|
+
"errors"
|
|
4868
|
+
],
|
|
4869
|
+
"name": "step",
|
|
4870
|
+
"hasDynamicHelp": false,
|
|
4871
|
+
"multiple": false,
|
|
4872
|
+
"type": "option"
|
|
4873
|
+
},
|
|
4874
|
+
"detail": {
|
|
4875
|
+
"char": "d",
|
|
4876
|
+
"dependsOn": [
|
|
4877
|
+
"step"
|
|
4878
|
+
],
|
|
4879
|
+
"description": "Detail level for step output (default: standard)",
|
|
4880
|
+
"name": "detail",
|
|
4881
|
+
"hasDynamicHelp": false,
|
|
4882
|
+
"multiple": false,
|
|
4883
|
+
"options": [
|
|
4884
|
+
"minimal",
|
|
4885
|
+
"standard",
|
|
4886
|
+
"detailed",
|
|
4887
|
+
"full"
|
|
4888
|
+
],
|
|
4889
|
+
"type": "option"
|
|
4890
|
+
},
|
|
4891
|
+
"errors": {
|
|
4892
|
+
"char": "e",
|
|
4893
|
+
"description": "Show only error details and context",
|
|
4894
|
+
"exclusive": [
|
|
4895
|
+
"step",
|
|
4896
|
+
"list"
|
|
4897
|
+
],
|
|
4898
|
+
"name": "errors",
|
|
4899
|
+
"allowNo": false,
|
|
4900
|
+
"type": "boolean"
|
|
4901
|
+
},
|
|
4902
|
+
"list": {
|
|
4903
|
+
"char": "l",
|
|
4904
|
+
"description": "List recent agent runs",
|
|
4905
|
+
"exclusive": [
|
|
4906
|
+
"step",
|
|
4907
|
+
"errors"
|
|
4908
|
+
],
|
|
4909
|
+
"name": "list",
|
|
4910
|
+
"allowNo": false,
|
|
4911
|
+
"type": "boolean"
|
|
4912
|
+
},
|
|
4913
|
+
"agent": {
|
|
4914
|
+
"char": "a",
|
|
4915
|
+
"dependsOn": [
|
|
4916
|
+
"list"
|
|
4917
|
+
],
|
|
4918
|
+
"description": "Filter by agent name",
|
|
4919
|
+
"name": "agent",
|
|
4920
|
+
"hasDynamicHelp": false,
|
|
4921
|
+
"multiple": false,
|
|
4922
|
+
"type": "option"
|
|
4923
|
+
},
|
|
4924
|
+
"status": {
|
|
4925
|
+
"dependsOn": [
|
|
4926
|
+
"list"
|
|
4927
|
+
],
|
|
4928
|
+
"description": "Filter by run status",
|
|
4929
|
+
"name": "status",
|
|
4930
|
+
"default": "all",
|
|
4931
|
+
"hasDynamicHelp": false,
|
|
4932
|
+
"multiple": false,
|
|
4933
|
+
"options": [
|
|
4934
|
+
"success",
|
|
4935
|
+
"failed",
|
|
4936
|
+
"running",
|
|
4937
|
+
"all"
|
|
4938
|
+
],
|
|
4939
|
+
"type": "option"
|
|
4940
|
+
},
|
|
4941
|
+
"days": {
|
|
4942
|
+
"dependsOn": [
|
|
4943
|
+
"list"
|
|
4944
|
+
],
|
|
4945
|
+
"description": "Number of days to look back",
|
|
4946
|
+
"name": "days",
|
|
4947
|
+
"default": 7,
|
|
4948
|
+
"hasDynamicHelp": false,
|
|
4949
|
+
"multiple": false,
|
|
4950
|
+
"type": "option"
|
|
4951
|
+
},
|
|
4952
|
+
"limit": {
|
|
4953
|
+
"dependsOn": [
|
|
4954
|
+
"list"
|
|
4955
|
+
],
|
|
4956
|
+
"description": "Maximum number of runs to return",
|
|
4957
|
+
"name": "limit",
|
|
4958
|
+
"default": 50,
|
|
4959
|
+
"hasDynamicHelp": false,
|
|
4960
|
+
"multiple": false,
|
|
4961
|
+
"type": "option"
|
|
4962
|
+
},
|
|
4963
|
+
"export": {
|
|
4964
|
+
"dependsOn": [
|
|
4965
|
+
"file"
|
|
4966
|
+
],
|
|
4967
|
+
"description": "Export full data to file",
|
|
4968
|
+
"name": "export",
|
|
4969
|
+
"hasDynamicHelp": false,
|
|
4970
|
+
"multiple": false,
|
|
4971
|
+
"options": [
|
|
4972
|
+
"full",
|
|
4973
|
+
"summary",
|
|
4974
|
+
"steps"
|
|
4975
|
+
],
|
|
4976
|
+
"type": "option"
|
|
4977
|
+
},
|
|
4978
|
+
"file": {
|
|
4979
|
+
"char": "f",
|
|
4980
|
+
"description": "Output file path for export",
|
|
4981
|
+
"name": "file",
|
|
4982
|
+
"hasDynamicHelp": false,
|
|
4983
|
+
"multiple": false,
|
|
4984
|
+
"type": "option"
|
|
4985
|
+
},
|
|
4986
|
+
"max-tokens": {
|
|
4987
|
+
"description": "Maximum tokens per field (0 = no limit)",
|
|
4988
|
+
"name": "max-tokens",
|
|
4989
|
+
"default": 5000,
|
|
4990
|
+
"hasDynamicHelp": false,
|
|
4991
|
+
"multiple": false,
|
|
4992
|
+
"type": "option"
|
|
4993
|
+
},
|
|
4994
|
+
"verbose": {
|
|
4995
|
+
"char": "v",
|
|
4996
|
+
"description": "Show detailed diagnostic information",
|
|
4997
|
+
"name": "verbose",
|
|
4998
|
+
"allowNo": false,
|
|
4999
|
+
"type": "boolean"
|
|
5000
|
+
}
|
|
5001
|
+
},
|
|
5002
|
+
"hasDynamicHelp": false,
|
|
5003
|
+
"hiddenAliases": [],
|
|
5004
|
+
"id": "ai:audit:agent-run",
|
|
5005
|
+
"pluginAlias": "@memberjunction/cli",
|
|
5006
|
+
"pluginName": "@memberjunction/cli",
|
|
5007
|
+
"pluginType": "core",
|
|
5008
|
+
"strict": true,
|
|
5009
|
+
"enableJsonFlag": false,
|
|
5010
|
+
"isESM": true,
|
|
5011
|
+
"relativePath": [
|
|
5012
|
+
"dist",
|
|
5013
|
+
"commands",
|
|
5014
|
+
"ai",
|
|
5015
|
+
"audit",
|
|
5016
|
+
"agent-run.js"
|
|
5017
|
+
]
|
|
5018
|
+
},
|
|
5019
|
+
"ai:audit": {
|
|
5020
|
+
"aliases": [],
|
|
5021
|
+
"args": {},
|
|
5022
|
+
"description": "Analyze and audit AI agent runs, prompts, and actions for debugging and performance analysis",
|
|
5023
|
+
"flags": {},
|
|
5024
|
+
"hasDynamicHelp": false,
|
|
5025
|
+
"hidden": false,
|
|
5026
|
+
"hiddenAliases": [],
|
|
5027
|
+
"id": "ai:audit",
|
|
5028
|
+
"pluginAlias": "@memberjunction/cli",
|
|
5029
|
+
"pluginName": "@memberjunction/cli",
|
|
5030
|
+
"pluginType": "core",
|
|
5031
|
+
"strict": true,
|
|
5032
|
+
"enableJsonFlag": false,
|
|
5033
|
+
"isESM": true,
|
|
5034
|
+
"relativePath": [
|
|
5035
|
+
"dist",
|
|
5036
|
+
"commands",
|
|
5037
|
+
"ai",
|
|
5038
|
+
"audit",
|
|
5039
|
+
"index.js"
|
|
5040
|
+
]
|
|
5041
|
+
},
|
|
5042
5042
|
"test:regression:build": {
|
|
5043
5043
|
"aliases": [],
|
|
5044
5044
|
"args": {
|
|
@@ -5480,5 +5480,5 @@
|
|
|
5480
5480
|
]
|
|
5481
5481
|
}
|
|
5482
5482
|
},
|
|
5483
|
-
"version": "5.51.
|
|
5483
|
+
"version": "5.51.3"
|
|
5484
5484
|
}
|