@sonisoft/now-sdk-ext-cli 5.6.0 → 5.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2086,6 +2086,97 @@
2086
2086
  "list.js"
2087
2087
  ]
2088
2088
  },
2089
+ "auth:open": {
2090
+ "aliases": [],
2091
+ "args": {},
2092
+ "description": "Open a verified UI session in a dedicated desktop browser using a stored SDK alias.",
2093
+ "examples": [
2094
+ {
2095
+ "command": "<%= config.bin %> <%= command.id %> -a bcbsscdev --cred-store",
2096
+ "description": "Open the alias in Edge"
2097
+ },
2098
+ {
2099
+ "command": "<%= config.bin %> <%= command.id %> -a dev206299 --browser chrome",
2100
+ "description": "Open in Chrome"
2101
+ },
2102
+ {
2103
+ "command": "<%= config.bin %> <%= command.id %> -a dev206299 --cdp http://127.0.0.1:9222",
2104
+ "description": "Inject into an already-debuggable browser"
2105
+ }
2106
+ ],
2107
+ "flags": {
2108
+ "json": {
2109
+ "description": "Format output as json.",
2110
+ "helpGroup": "GLOBAL",
2111
+ "name": "json",
2112
+ "allowNo": false,
2113
+ "type": "boolean"
2114
+ },
2115
+ "auth": {
2116
+ "char": "a",
2117
+ "description": "Stored SDK credential alias.",
2118
+ "name": "auth",
2119
+ "required": true,
2120
+ "hasDynamicHelp": false,
2121
+ "multiple": false,
2122
+ "type": "option"
2123
+ },
2124
+ "browser": {
2125
+ "description": "Desktop browser to launch. Ignored when --cdp is set.",
2126
+ "name": "browser",
2127
+ "default": "edge",
2128
+ "hasDynamicHelp": false,
2129
+ "multiple": false,
2130
+ "options": [
2131
+ "edge",
2132
+ "chrome",
2133
+ "brave"
2134
+ ],
2135
+ "type": "option"
2136
+ },
2137
+ "cdp": {
2138
+ "description": "Existing DevTools URL. Skips launching a browser.",
2139
+ "name": "cdp",
2140
+ "hasDynamicHelp": false,
2141
+ "multiple": false,
2142
+ "type": "option"
2143
+ },
2144
+ "cred-store": {
2145
+ "description": "Use the headless credential store.",
2146
+ "name": "cred-store",
2147
+ "allowNo": false,
2148
+ "type": "boolean"
2149
+ },
2150
+ "force": {
2151
+ "description": "Replace an existing regular output file.",
2152
+ "name": "force",
2153
+ "allowNo": false,
2154
+ "type": "boolean"
2155
+ },
2156
+ "output": {
2157
+ "description": "Optional owner-only Playwright storage-state file.",
2158
+ "name": "output",
2159
+ "hasDynamicHelp": false,
2160
+ "multiple": false,
2161
+ "type": "option"
2162
+ }
2163
+ },
2164
+ "hasDynamicHelp": false,
2165
+ "hiddenAliases": [],
2166
+ "id": "auth:open",
2167
+ "pluginAlias": "@sonisoft/now-sdk-ext-cli",
2168
+ "pluginName": "@sonisoft/now-sdk-ext-cli",
2169
+ "pluginType": "core",
2170
+ "strict": true,
2171
+ "enableJsonFlag": true,
2172
+ "isESM": true,
2173
+ "relativePath": [
2174
+ "dist",
2175
+ "commands",
2176
+ "auth",
2177
+ "open.js"
2178
+ ]
2179
+ },
2089
2180
  "auth:use": {
2090
2181
  "aliases": [],
2091
2182
  "args": {
@@ -2128,16 +2219,24 @@
2128
2219
  "use.js"
2129
2220
  ]
2130
2221
  },
2131
- "behavior:details": {
2222
+ "batch:create": {
2132
2223
  "aliases": [],
2133
2224
  "args": {},
2134
- "description": "Retrieve known behavior artifacts without rediscovery. Repeat --reference kind:source_table:sys_id for up to 50 records. Add --details scripts, --details definitions or --details dependencies to include bodies immediately. Source references are returned by behavior discovery; flows also accept flows:sys_hub_flow:<sys_id>.",
2225
+ "description": "Batch create records on a ServiceNow instance from a JSON file.",
2135
2226
  "examples": [
2136
- "<%= config.bin %> <%= command.id %> --reference business_rules:sys_script:0123456789abcdef0123456789abcdef --details scripts --auth dev --json"
2227
+ {
2228
+ "command": "<%= config.bin %> <%= command.id %> --file ./records.json --auth dev",
2229
+ "description": "Create records from a JSON file"
2230
+ },
2231
+ {
2232
+ "command": "<%= config.bin %> <%= command.id %> --file ./records.json --no-transaction --auth dev",
2233
+ "description": "Create records without transactional mode"
2234
+ }
2137
2235
  ],
2138
2236
  "flags": {
2139
2237
  "json": {
2140
- "description": "Emit one JSON document",
2238
+ "description": "Format output as json.",
2239
+ "helpGroup": "GLOBAL",
2141
2240
  "name": "json",
2142
2241
  "allowNo": false,
2143
2242
  "type": "boolean"
@@ -2216,53 +2315,155 @@
2216
2315
  "allowNo": false,
2217
2316
  "type": "boolean"
2218
2317
  },
2219
- "dependency-depth": {
2220
- "description": "Expand one dependency level; requires --details dependencies",
2221
- "name": "dependency-depth",
2222
- "default": 0,
2318
+ "file": {
2319
+ "char": "f",
2320
+ "description": "Path to JSON file with create operations",
2321
+ "name": "file",
2322
+ "required": true,
2223
2323
  "hasDynamicHelp": false,
2224
2324
  "multiple": false,
2225
2325
  "type": "option"
2226
2326
  },
2227
- "details": {
2228
- "description": "Include selected detail now; repeat for multiple kinds",
2229
- "name": "details",
2327
+ "transaction": {
2328
+ "description": "Stop on first error (transactional)",
2329
+ "name": "transaction",
2330
+ "required": false,
2331
+ "allowNo": false,
2332
+ "type": "boolean"
2333
+ }
2334
+ },
2335
+ "hasDynamicHelp": false,
2336
+ "hiddenAliases": [],
2337
+ "id": "batch:create",
2338
+ "pluginAlias": "@sonisoft/now-sdk-ext-cli",
2339
+ "pluginName": "@sonisoft/now-sdk-ext-cli",
2340
+ "pluginType": "core",
2341
+ "strict": true,
2342
+ "enableJsonFlag": true,
2343
+ "isESM": true,
2344
+ "relativePath": [
2345
+ "dist",
2346
+ "commands",
2347
+ "batch",
2348
+ "create.js"
2349
+ ]
2350
+ },
2351
+ "batch:update": {
2352
+ "aliases": [],
2353
+ "args": {},
2354
+ "description": "Batch update records on a ServiceNow instance from a JSON file.",
2355
+ "examples": [
2356
+ {
2357
+ "command": "<%= config.bin %> <%= command.id %> --file ./updates.json --auth dev",
2358
+ "description": "Update records from a JSON file"
2359
+ },
2360
+ {
2361
+ "command": "<%= config.bin %> <%= command.id %> --file ./updates.json --stop-on-error --auth dev",
2362
+ "description": "Update records and stop on first error"
2363
+ }
2364
+ ],
2365
+ "flags": {
2366
+ "json": {
2367
+ "description": "Format output as json.",
2368
+ "helpGroup": "GLOBAL",
2369
+ "name": "json",
2370
+ "allowNo": false,
2371
+ "type": "boolean"
2372
+ },
2373
+ "auth": {
2374
+ "char": "a",
2375
+ "description": "Auth alias to use.",
2376
+ "name": "auth",
2377
+ "required": false,
2230
2378
  "hasDynamicHelp": false,
2231
- "multiple": true,
2232
- "options": [
2233
- "scripts",
2234
- "definitions",
2235
- "dependencies"
2236
- ],
2379
+ "multiple": false,
2237
2380
  "type": "option"
2238
2381
  },
2239
- "max-bytes": {
2240
- "description": "Maximum JSON response bytes; omissions include retrieval references",
2241
- "name": "max-bytes",
2242
- "default": 65536,
2382
+ "cred-store": {
2383
+ "description": "Read credentials from @sonisoft/sn-credstore instead of the OS keyring. Use this in headless sessions (SSH, systemd, CI, agents) where the keyring cannot be unlocked.",
2384
+ "helpGroup": "GLOBAL",
2385
+ "name": "cred-store",
2386
+ "required": false,
2387
+ "allowNo": false,
2388
+ "type": "boolean"
2389
+ },
2390
+ "deny-execute": {
2391
+ "description": "Refuse background scripts, flow runs and ATF runs for this invocation.",
2392
+ "helpGroup": "GLOBAL",
2393
+ "name": "deny-execute",
2394
+ "required": false,
2395
+ "allowNo": false,
2396
+ "type": "boolean"
2397
+ },
2398
+ "deny-write": {
2399
+ "description": "Refuse any change to instance data for this invocation.",
2400
+ "helpGroup": "GLOBAL",
2401
+ "name": "deny-write",
2402
+ "required": false,
2403
+ "allowNo": false,
2404
+ "type": "boolean"
2405
+ },
2406
+ "log-dir": {
2407
+ "description": "Directory to write log files to. Implies --log-file.",
2408
+ "helpGroup": "GLOBAL",
2409
+ "name": "log-dir",
2410
+ "required": false,
2243
2411
  "hasDynamicHelp": false,
2244
2412
  "multiple": false,
2245
2413
  "type": "option"
2246
2414
  },
2247
- "scope": {
2248
- "description": "Transaction scope for flow definition reads",
2249
- "name": "scope",
2415
+ "log-file": {
2416
+ "description": "Write logs to a file. Defaults to $XDG_STATE_HOME/now-sdk-ext/logs (~/.local/state/now-sdk-ext/logs). Off by default; without this, nex logs warnings and errors to stderr only.",
2417
+ "helpGroup": "GLOBAL",
2418
+ "name": "log-file",
2419
+ "required": false,
2420
+ "allowNo": false,
2421
+ "type": "boolean"
2422
+ },
2423
+ "log-level": {
2424
+ "helpGroup": "GLOBAL",
2425
+ "name": "log-level",
2426
+ "summary": "Specify level for logging.",
2427
+ "default": "info",
2250
2428
  "hasDynamicHelp": false,
2251
2429
  "multiple": false,
2430
+ "options": [
2431
+ "debug",
2432
+ "warn",
2433
+ "error",
2434
+ "info",
2435
+ "trace"
2436
+ ],
2252
2437
  "type": "option"
2253
2438
  },
2254
- "reference": {
2255
- "description": "kind:source_table:sys_id; repeat for a batch",
2256
- "name": "reference",
2439
+ "read-only": {
2440
+ "description": "Refuse every change to the instance — equivalent to --deny-write --deny-execute. Reads are unaffected.",
2441
+ "helpGroup": "GLOBAL",
2442
+ "name": "read-only",
2443
+ "required": false,
2444
+ "allowNo": false,
2445
+ "type": "boolean"
2446
+ },
2447
+ "file": {
2448
+ "char": "f",
2449
+ "description": "Path to JSON file with update operations",
2450
+ "name": "file",
2257
2451
  "required": true,
2258
2452
  "hasDynamicHelp": false,
2259
- "multiple": true,
2453
+ "multiple": false,
2260
2454
  "type": "option"
2455
+ },
2456
+ "stop-on-error": {
2457
+ "description": "Stop processing on first error",
2458
+ "name": "stop-on-error",
2459
+ "required": false,
2460
+ "allowNo": false,
2461
+ "type": "boolean"
2261
2462
  }
2262
2463
  },
2263
2464
  "hasDynamicHelp": false,
2264
2465
  "hiddenAliases": [],
2265
- "id": "behavior:details",
2466
+ "id": "batch:update",
2266
2467
  "pluginAlias": "@sonisoft/now-sdk-ext-cli",
2267
2468
  "pluginName": "@sonisoft/now-sdk-ext-cli",
2268
2469
  "pluginType": "core",
@@ -2272,17 +2473,16 @@
2272
2473
  "relativePath": [
2273
2474
  "dist",
2274
2475
  "commands",
2275
- "behavior",
2276
- "details.js"
2476
+ "batch",
2477
+ "update.js"
2277
2478
  ]
2278
2479
  },
2279
- "behavior": {
2480
+ "behavior:details": {
2280
2481
  "aliases": [],
2281
2482
  "args": {},
2282
- "description": "Discover table behavior: rules, UI actions/scripts, UI/data policies, workflows, flows and state models. Active and applicable inherited behavior is included by default. Conditions describe configuration, not a prediction of execution. Select categories and details to control output size.",
2483
+ "description": "Retrieve known behavior artifacts without rediscovery. Repeat --reference kind:source_table:sys_id for up to 50 records. Add --details scripts, --details definitions or --details dependencies to include bodies immediately. Source references are returned by behavior discovery; flows also accept flows:sys_hub_flow:<sys_id>.",
2283
2484
  "examples": [
2284
- "<%= config.bin %> <%= command.id %> --table incident --auth dev --json",
2285
- "<%= config.bin %> <%= command.id %> --table change_request --category business_rules --details scripts --auth dev --json"
2485
+ "<%= config.bin %> <%= command.id %> --reference business_rules:sys_script:0123456789abcdef0123456789abcdef --details scripts --auth dev --json"
2286
2486
  ],
2287
2487
  "flags": {
2288
2488
  "json": {
@@ -2400,77 +2600,18 @@
2400
2600
  "multiple": false,
2401
2601
  "type": "option"
2402
2602
  },
2403
- "category": {
2404
- "description": "Category to inspect; repeat to select several, default all",
2405
- "name": "category",
2406
- "hasDynamicHelp": false,
2407
- "multiple": true,
2408
- "options": [
2409
- "business_rules",
2410
- "ui_actions",
2411
- "client_scripts",
2412
- "ui_policies",
2413
- "data_policies",
2414
- "workflows",
2415
- "flows",
2416
- "state_models"
2417
- ],
2418
- "type": "option"
2419
- },
2420
- "cursor": {
2421
- "description": "Continuation token; requires exactly one --category and the same filters",
2422
- "name": "cursor",
2423
- "hasDynamicHelp": false,
2424
- "multiple": false,
2425
- "type": "option"
2426
- },
2427
- "include-inactive": {
2428
- "description": "Include inactive/published and draft candidates when discoverable",
2429
- "name": "include-inactive",
2430
- "allowNo": false,
2431
- "type": "boolean"
2432
- },
2433
- "include-inherited": {
2434
- "description": "Include applicable ancestor behavior",
2435
- "name": "include-inherited",
2436
- "allowNo": true,
2437
- "type": "boolean"
2438
- },
2439
- "limit": {
2440
- "description": "Maximum items per category",
2441
- "name": "limit",
2442
- "default": 50,
2443
- "hasDynamicHelp": false,
2444
- "multiple": false,
2445
- "type": "option"
2446
- },
2447
- "name": {
2448
- "description": "Metadata name contains this text",
2449
- "name": "name",
2450
- "hasDynamicHelp": false,
2451
- "multiple": false,
2452
- "type": "option"
2453
- },
2454
- "sys-id": {
2455
- "description": "Metadata source sys_id to include; repeat for multiple records",
2456
- "name": "sys-id",
2457
- "hasDynamicHelp": false,
2458
- "multiple": true,
2459
- "type": "option"
2460
- },
2461
- "table": {
2462
- "char": "t",
2463
- "description": "Target table name",
2464
- "name": "table",
2603
+ "reference": {
2604
+ "description": "kind:source_table:sys_id; repeat for a batch",
2605
+ "name": "reference",
2465
2606
  "required": true,
2466
2607
  "hasDynamicHelp": false,
2467
- "multiple": false,
2608
+ "multiple": true,
2468
2609
  "type": "option"
2469
2610
  }
2470
2611
  },
2471
2612
  "hasDynamicHelp": false,
2472
2613
  "hiddenAliases": [],
2473
- "id": "behavior",
2614
+ "id": "behavior:details",
2474
2615
  "pluginAlias": "@sonisoft/now-sdk-ext-cli",
2475
2616
  "pluginName": "@sonisoft/now-sdk-ext-cli",
2476
2617
  "pluginType": "core",
@@ -2481,27 +2622,20 @@
2481
2622
  "dist",
2482
2623
  "commands",
2483
2624
  "behavior",
2484
- "index.js"
2625
+ "details.js"
2485
2626
  ]
2486
2627
  },
2487
- "batch:create": {
2628
+ "behavior": {
2488
2629
  "aliases": [],
2489
2630
  "args": {},
2490
- "description": "Batch create records on a ServiceNow instance from a JSON file.",
2631
+ "description": "Discover table behavior: rules, UI actions/scripts, UI/data policies, workflows, flows and state models. Active and applicable inherited behavior is included by default. Conditions describe configuration, not a prediction of execution. Select categories and details to control output size.",
2491
2632
  "examples": [
2492
- {
2493
- "command": "<%= config.bin %> <%= command.id %> --file ./records.json --auth dev",
2494
- "description": "Create records from a JSON file"
2495
- },
2496
- {
2497
- "command": "<%= config.bin %> <%= command.id %> --file ./records.json --no-transaction --auth dev",
2498
- "description": "Create records without transactional mode"
2499
- }
2633
+ "<%= config.bin %> <%= command.id %> --table incident --auth dev --json",
2634
+ "<%= config.bin %> <%= command.id %> --table change_request --category business_rules --details scripts --auth dev --json"
2500
2635
  ],
2501
2636
  "flags": {
2502
2637
  "json": {
2503
- "description": "Format output as json.",
2504
- "helpGroup": "GLOBAL",
2638
+ "description": "Emit one JSON document",
2505
2639
  "name": "json",
2506
2640
  "allowNo": false,
2507
2641
  "type": "boolean"
@@ -2580,155 +2714,112 @@
2580
2714
  "allowNo": false,
2581
2715
  "type": "boolean"
2582
2716
  },
2583
- "file": {
2584
- "char": "f",
2585
- "description": "Path to JSON file with create operations",
2586
- "name": "file",
2587
- "required": true,
2717
+ "dependency-depth": {
2718
+ "description": "Expand one dependency level; requires --details dependencies",
2719
+ "name": "dependency-depth",
2720
+ "default": 0,
2588
2721
  "hasDynamicHelp": false,
2589
2722
  "multiple": false,
2590
2723
  "type": "option"
2591
2724
  },
2592
- "transaction": {
2593
- "description": "Stop on first error (transactional)",
2594
- "name": "transaction",
2595
- "required": false,
2596
- "allowNo": false,
2597
- "type": "boolean"
2598
- }
2599
- },
2600
- "hasDynamicHelp": false,
2601
- "hiddenAliases": [],
2602
- "id": "batch:create",
2603
- "pluginAlias": "@sonisoft/now-sdk-ext-cli",
2604
- "pluginName": "@sonisoft/now-sdk-ext-cli",
2605
- "pluginType": "core",
2606
- "strict": true,
2607
- "enableJsonFlag": true,
2608
- "isESM": true,
2609
- "relativePath": [
2610
- "dist",
2611
- "commands",
2612
- "batch",
2613
- "create.js"
2614
- ]
2615
- },
2616
- "batch:update": {
2617
- "aliases": [],
2618
- "args": {},
2619
- "description": "Batch update records on a ServiceNow instance from a JSON file.",
2620
- "examples": [
2621
- {
2622
- "command": "<%= config.bin %> <%= command.id %> --file ./updates.json --auth dev",
2623
- "description": "Update records from a JSON file"
2725
+ "details": {
2726
+ "description": "Include selected detail now; repeat for multiple kinds",
2727
+ "name": "details",
2728
+ "hasDynamicHelp": false,
2729
+ "multiple": true,
2730
+ "options": [
2731
+ "scripts",
2732
+ "definitions",
2733
+ "dependencies"
2734
+ ],
2735
+ "type": "option"
2624
2736
  },
2625
- {
2626
- "command": "<%= config.bin %> <%= command.id %> --file ./updates.json --stop-on-error --auth dev",
2627
- "description": "Update records and stop on first error"
2628
- }
2629
- ],
2630
- "flags": {
2631
- "json": {
2632
- "description": "Format output as json.",
2633
- "helpGroup": "GLOBAL",
2634
- "name": "json",
2635
- "allowNo": false,
2636
- "type": "boolean"
2737
+ "max-bytes": {
2738
+ "description": "Maximum JSON response bytes; omissions include retrieval references",
2739
+ "name": "max-bytes",
2740
+ "default": 65536,
2741
+ "hasDynamicHelp": false,
2742
+ "multiple": false,
2743
+ "type": "option"
2744
+ },
2745
+ "scope": {
2746
+ "description": "Transaction scope for flow definition reads",
2747
+ "name": "scope",
2748
+ "hasDynamicHelp": false,
2749
+ "multiple": false,
2750
+ "type": "option"
2751
+ },
2752
+ "category": {
2753
+ "description": "Category to inspect; repeat to select several, default all",
2754
+ "name": "category",
2755
+ "hasDynamicHelp": false,
2756
+ "multiple": true,
2757
+ "options": [
2758
+ "business_rules",
2759
+ "ui_actions",
2760
+ "client_scripts",
2761
+ "ui_policies",
2762
+ "data_policies",
2763
+ "workflows",
2764
+ "flows",
2765
+ "state_models"
2766
+ ],
2767
+ "type": "option"
2637
2768
  },
2638
- "auth": {
2639
- "char": "a",
2640
- "description": "Auth alias to use.",
2641
- "name": "auth",
2642
- "required": false,
2769
+ "cursor": {
2770
+ "description": "Continuation token; requires exactly one --category and the same filters",
2771
+ "name": "cursor",
2643
2772
  "hasDynamicHelp": false,
2644
2773
  "multiple": false,
2645
2774
  "type": "option"
2646
2775
  },
2647
- "cred-store": {
2648
- "description": "Read credentials from @sonisoft/sn-credstore instead of the OS keyring. Use this in headless sessions (SSH, systemd, CI, agents) where the keyring cannot be unlocked.",
2649
- "helpGroup": "GLOBAL",
2650
- "name": "cred-store",
2651
- "required": false,
2652
- "allowNo": false,
2653
- "type": "boolean"
2654
- },
2655
- "deny-execute": {
2656
- "description": "Refuse background scripts, flow runs and ATF runs for this invocation.",
2657
- "helpGroup": "GLOBAL",
2658
- "name": "deny-execute",
2659
- "required": false,
2776
+ "include-inactive": {
2777
+ "description": "Include inactive/published and draft candidates when discoverable",
2778
+ "name": "include-inactive",
2660
2779
  "allowNo": false,
2661
2780
  "type": "boolean"
2662
2781
  },
2663
- "deny-write": {
2664
- "description": "Refuse any change to instance data for this invocation.",
2665
- "helpGroup": "GLOBAL",
2666
- "name": "deny-write",
2667
- "required": false,
2668
- "allowNo": false,
2782
+ "include-inherited": {
2783
+ "description": "Include applicable ancestor behavior",
2784
+ "name": "include-inherited",
2785
+ "allowNo": true,
2669
2786
  "type": "boolean"
2670
2787
  },
2671
- "log-dir": {
2672
- "description": "Directory to write log files to. Implies --log-file.",
2673
- "helpGroup": "GLOBAL",
2674
- "name": "log-dir",
2675
- "required": false,
2788
+ "limit": {
2789
+ "description": "Maximum items per category",
2790
+ "name": "limit",
2791
+ "default": 50,
2676
2792
  "hasDynamicHelp": false,
2677
2793
  "multiple": false,
2678
2794
  "type": "option"
2679
2795
  },
2680
- "log-file": {
2681
- "description": "Write logs to a file. Defaults to $XDG_STATE_HOME/now-sdk-ext/logs (~/.local/state/now-sdk-ext/logs). Off by default; without this, nex logs warnings and errors to stderr only.",
2682
- "helpGroup": "GLOBAL",
2683
- "name": "log-file",
2684
- "required": false,
2685
- "allowNo": false,
2686
- "type": "boolean"
2687
- },
2688
- "log-level": {
2689
- "helpGroup": "GLOBAL",
2690
- "name": "log-level",
2691
- "summary": "Specify level for logging.",
2692
- "default": "info",
2796
+ "name": {
2797
+ "description": "Metadata name contains this text",
2798
+ "name": "name",
2693
2799
  "hasDynamicHelp": false,
2694
2800
  "multiple": false,
2695
- "options": [
2696
- "debug",
2697
- "warn",
2698
- "error",
2699
- "info",
2700
- "trace"
2701
- ],
2702
2801
  "type": "option"
2703
2802
  },
2704
- "read-only": {
2705
- "description": "Refuse every change to the instance — equivalent to --deny-write --deny-execute. Reads are unaffected.",
2706
- "helpGroup": "GLOBAL",
2707
- "name": "read-only",
2708
- "required": false,
2709
- "allowNo": false,
2710
- "type": "boolean"
2803
+ "sys-id": {
2804
+ "description": "Metadata source sys_id to include; repeat for multiple records",
2805
+ "name": "sys-id",
2806
+ "hasDynamicHelp": false,
2807
+ "multiple": true,
2808
+ "type": "option"
2711
2809
  },
2712
- "file": {
2713
- "char": "f",
2714
- "description": "Path to JSON file with update operations",
2715
- "name": "file",
2810
+ "table": {
2811
+ "char": "t",
2812
+ "description": "Target table name",
2813
+ "name": "table",
2716
2814
  "required": true,
2717
2815
  "hasDynamicHelp": false,
2718
2816
  "multiple": false,
2719
2817
  "type": "option"
2720
- },
2721
- "stop-on-error": {
2722
- "description": "Stop processing on first error",
2723
- "name": "stop-on-error",
2724
- "required": false,
2725
- "allowNo": false,
2726
- "type": "boolean"
2727
2818
  }
2728
2819
  },
2729
2820
  "hasDynamicHelp": false,
2730
2821
  "hiddenAliases": [],
2731
- "id": "batch:update",
2822
+ "id": "behavior",
2732
2823
  "pluginAlias": "@sonisoft/now-sdk-ext-cli",
2733
2824
  "pluginName": "@sonisoft/now-sdk-ext-cli",
2734
2825
  "pluginType": "core",
@@ -2738,8 +2829,8 @@
2738
2829
  "relativePath": [
2739
2830
  "dist",
2740
2831
  "commands",
2741
- "batch",
2742
- "update.js"
2832
+ "behavior",
2833
+ "index.js"
2743
2834
  ]
2744
2835
  },
2745
2836
  "bulk:delete": {
@@ -3069,7 +3160,7 @@
3069
3160
  "aliases": [],
3070
3161
  "args": {
3071
3162
  "scope": {
3072
- "description": "Scope to execute script in. Use \"global\" for global scope.",
3163
+ "description": "Scope to execute script in: \"global\", the scope of an application developed on the instance (sys_app), or a scope sys_id. Installed store apps cannot be used.",
3073
3164
  "name": "scope",
3074
3165
  "required": true
3075
3166
  },
@@ -3079,7 +3170,7 @@
3079
3170
  "required": false
3080
3171
  }
3081
3172
  },
3082
- "description": "Execute JavaScript on a ServiceNow instance remotely using Scripts - Background.\n\nThis command allows you to run JavaScript either from files or interactively via REPL mode. It mimics the functionality of the Scripts - Background interface in ServiceNow, providing a way to execute scripts programmatically without manual interaction. The output is returned in real-time and can be piped to other commands or saved to files.\n\nModes:\n • File Mode: Provide a file path to execute scripts from a file\n • REPL Mode: Omit the file path to start an interactive session\n\nFeatures:\n • Execute local JavaScript files remotely\n • Interactive REPL for ad-hoc script execution\n • Script parameterization with {placeholder} replacement\n • Multi-line script support in REPL\n • Scope-aware execution (global or custom scope)\n • Real-time console output capture\n • Pipe-able output for command chaining\n • Debug logging support\n • Useful for data migration, testing, and administrative tasks\n\nScript Parameterization:\n Use {paramName} placeholders in your script files, then provide values via --params:\n • Supports any JSON-serializable values (strings, numbers, booleans)\n • Multiple parameters supported\n • All occurrences of each placeholder are replaced\n • Example: {token}, {username}, {environment}\n\nREPL Controls:\n • Press Enter to add a new line\n • Type .exec or press Ctrl+D to execute the script\n • Type .clear to clear the current input\n • Type .exit or press Ctrl+C twice to exit REPL\n\n⚠️ IMPORTANT SECURITY WARNING:\nThis command executes scripts with the same permissions and risks as using Scripts - Background directly\nin ServiceNow. Always:\n • Review scripts before execution\n • Test in non-production environments first\n • Use appropriate scoping to limit access\n • Be aware of data modification risks\n • Follow your organization's security policies\n • Never execute untrusted scripts\n\nScript Capabilities:\n Scripts run with full GlideSystem API access and can:\n • Query and modify database records\n • Create, update, and delete data\n • Execute business rules and workflows\n • Access all APIs available in Scripts - Background\n • Use gs, GlideRecord, GlideAggregate, and other server-side APIs",
3173
+ "description": "Execute JavaScript on a ServiceNow instance remotely using Scripts - Background.\n\nThis command allows you to run JavaScript either from files or interactively via REPL mode. It mimics the functionality of the Scripts - Background interface in ServiceNow, providing a way to execute scripts programmatically without manual interaction. The output is returned in real-time and can be piped to other commands or saved to files.\n\nModes:\n • File Mode: Provide a file path to execute scripts from a file\n • REPL Mode: Omit the file path to start an interactive session\n\nFeatures:\n • Execute local JavaScript files remotely\n • Interactive REPL for ad-hoc script execution\n • Script parameterization with {placeholder} replacement\n • Multi-line script support in REPL\n • Scope-aware execution (global or custom scope)\n • Real-time console output capture\n • Pipe-able output for command chaining\n • Debug logging support\n • Useful for data migration, testing, and administrative tasks\n\nScript Parameterization:\n Use {paramName} placeholders in your script files, then provide values via --params:\n • Supports any JSON-serializable values (strings, numbers, booleans)\n • Multiple parameters supported\n • All occurrences of each placeholder are replaced\n • Example: {token}, {username}, {environment}\n\nScopes:\n Scripts - Background runs in \"global\" or in an application developed on the instance (sys_app).\n Installed store/repository apps (sys_store_app) cannot be used: run in global and call their\n APIs fully qualified (e.g. sn_app.Util). An unusable scope fails before the script is sent.\n\nREPL Controls:\n • Press Enter to add a new line\n • Type .exec or press Ctrl+D to execute the script\n • Type .clear to clear the current input\n • Type .exit or press Ctrl+C twice to exit REPL\n\n⚠️ IMPORTANT SECURITY WARNING:\nThis command executes scripts with the same permissions and risks as using Scripts - Background directly\nin ServiceNow. Always:\n • Review scripts before execution\n • Test in non-production environments first\n • Use appropriate scoping to limit access\n • Be aware of data modification risks\n • Follow your organization's security policies\n • Never execute untrusted scripts\n\nScript Capabilities:\n Scripts run with full GlideSystem API access and can:\n • Query and modify database records\n • Create, update, and delete data\n • Execute business rules and workflows\n • Access all APIs available in Scripts - Background\n • Use gs, GlideRecord, GlideAggregate, and other server-side APIs",
3083
3174
  "examples": [
3084
3175
  {
3085
3176
  "description": "Start REPL in global scope",
@@ -4991,24 +5082,194 @@
4991
5082
  "description": "Test a Flow Designer flow without requiring it to be published.\n\nInvokes the same API as the \"Test\" button in Flow Designer, running the flow in its current saved (draft) state. Unlike `flow run` which requires a published flow and uses sn_fd.FlowAPI, `flow test` works on unpublished drafts via the ProcessFlow REST API.\n\nFeatures:\n • Test flows by sys_id or scoped name\n • Pass trigger output values as JSON via --output-map\n • Auto-resolves scope from flow definition if not provided\n • Synchronous or asynchronous execution",
4992
5083
  "examples": [
4993
5084
  {
4994
- "description": "Test a flow by sys_id",
4995
- "command": "<%= config.bin %> <%= command.id %> --flow-id 887dda5583237210fdb8f7b6feaad32c --output-map '{\"current\":\"0ecd7552db252200a6a2b31be0b8f5e6\",\"table_name\":\"change_request\"}' --auth dev"
5085
+ "description": "Test a flow by sys_id",
5086
+ "command": "<%= config.bin %> <%= command.id %> --flow-id 887dda5583237210fdb8f7b6feaad32c --output-map '{\"current\":\"0ecd7552db252200a6a2b31be0b8f5e6\",\"table_name\":\"change_request\"}' --auth dev"
5087
+ },
5088
+ {
5089
+ "description": "Test a flow by scoped name with explicit scope",
5090
+ "command": "<%= config.bin %> <%= command.id %> -f x_myapp.my_flow -o '{\"current\":\"abc123\",\"table_name\":\"incident\"}' --scope x_myapp --auth dev"
5091
+ },
5092
+ {
5093
+ "description": "Test with JSON output",
5094
+ "command": "<%= config.bin %> <%= command.id %> -f 887dda5583237210fdb8f7b6feaad32c -o '{\"current\":\"abc123\"}' --json --auth dev"
5095
+ }
5096
+ ],
5097
+ "flags": {
5098
+ "json": {
5099
+ "char": "j",
5100
+ "description": "Output results as JSON",
5101
+ "name": "json",
5102
+ "required": false,
5103
+ "allowNo": false,
5104
+ "type": "boolean"
5105
+ },
5106
+ "auth": {
5107
+ "char": "a",
5108
+ "description": "Auth alias to use.",
5109
+ "name": "auth",
5110
+ "required": false,
5111
+ "hasDynamicHelp": false,
5112
+ "multiple": false,
5113
+ "type": "option"
5114
+ },
5115
+ "cred-store": {
5116
+ "description": "Read credentials from @sonisoft/sn-credstore instead of the OS keyring. Use this in headless sessions (SSH, systemd, CI, agents) where the keyring cannot be unlocked.",
5117
+ "helpGroup": "GLOBAL",
5118
+ "name": "cred-store",
5119
+ "required": false,
5120
+ "allowNo": false,
5121
+ "type": "boolean"
5122
+ },
5123
+ "deny-execute": {
5124
+ "description": "Refuse background scripts, flow runs and ATF runs for this invocation.",
5125
+ "helpGroup": "GLOBAL",
5126
+ "name": "deny-execute",
5127
+ "required": false,
5128
+ "allowNo": false,
5129
+ "type": "boolean"
5130
+ },
5131
+ "deny-write": {
5132
+ "description": "Refuse any change to instance data for this invocation.",
5133
+ "helpGroup": "GLOBAL",
5134
+ "name": "deny-write",
5135
+ "required": false,
5136
+ "allowNo": false,
5137
+ "type": "boolean"
5138
+ },
5139
+ "log-dir": {
5140
+ "description": "Directory to write log files to. Implies --log-file.",
5141
+ "helpGroup": "GLOBAL",
5142
+ "name": "log-dir",
5143
+ "required": false,
5144
+ "hasDynamicHelp": false,
5145
+ "multiple": false,
5146
+ "type": "option"
5147
+ },
5148
+ "log-file": {
5149
+ "description": "Write logs to a file. Defaults to $XDG_STATE_HOME/now-sdk-ext/logs (~/.local/state/now-sdk-ext/logs). Off by default; without this, nex logs warnings and errors to stderr only.",
5150
+ "helpGroup": "GLOBAL",
5151
+ "name": "log-file",
5152
+ "required": false,
5153
+ "allowNo": false,
5154
+ "type": "boolean"
5155
+ },
5156
+ "log-level": {
5157
+ "helpGroup": "GLOBAL",
5158
+ "name": "log-level",
5159
+ "summary": "Specify level for logging.",
5160
+ "default": "info",
5161
+ "hasDynamicHelp": false,
5162
+ "multiple": false,
5163
+ "options": [
5164
+ "debug",
5165
+ "warn",
5166
+ "error",
5167
+ "info",
5168
+ "trace"
5169
+ ],
5170
+ "type": "option"
5171
+ },
5172
+ "read-only": {
5173
+ "description": "Refuse every change to the instance — equivalent to --deny-write --deny-execute. Reads are unaffected.",
5174
+ "helpGroup": "GLOBAL",
5175
+ "name": "read-only",
5176
+ "required": false,
5177
+ "allowNo": false,
5178
+ "type": "boolean"
5179
+ },
5180
+ "flow-id": {
5181
+ "char": "f",
5182
+ "description": "Flow sys_id or scoped name (e.g. x_myapp.my_flow)",
5183
+ "name": "flow-id",
5184
+ "required": true,
5185
+ "hasDynamicHelp": false,
5186
+ "multiple": false,
5187
+ "type": "option"
5188
+ },
5189
+ "output-map": {
5190
+ "char": "o",
5191
+ "description": "JSON mapping of trigger output variable names to test values (e.g. '{\"current\":\"<sys_id>\",\"table_name\":\"change_request\"}')",
5192
+ "name": "output-map",
5193
+ "required": true,
5194
+ "hasDynamicHelp": false,
5195
+ "multiple": false,
5196
+ "type": "option"
5197
+ },
5198
+ "scope": {
5199
+ "description": "Scope sys_id for transaction scope (auto-resolved from flow definition if omitted)",
5200
+ "name": "scope",
5201
+ "required": false,
5202
+ "hasDynamicHelp": false,
5203
+ "multiple": false,
5204
+ "type": "option"
5205
+ },
5206
+ "synchronous": {
5207
+ "description": "Run test synchronously (default: true)",
5208
+ "name": "synchronous",
5209
+ "required": false,
5210
+ "allowNo": true,
5211
+ "type": "boolean"
5212
+ }
5213
+ },
5214
+ "hasDynamicHelp": false,
5215
+ "hiddenAliases": [],
5216
+ "id": "flow:test",
5217
+ "pluginAlias": "@sonisoft/now-sdk-ext-cli",
5218
+ "pluginName": "@sonisoft/now-sdk-ext-cli",
5219
+ "pluginType": "core",
5220
+ "strict": true,
5221
+ "enableJsonFlag": true,
5222
+ "isESM": true,
5223
+ "relativePath": [
5224
+ "dist",
5225
+ "commands",
5226
+ "flow",
5227
+ "test.js"
5228
+ ]
5229
+ },
5230
+ "log": {
5231
+ "aliases": [],
5232
+ "args": {},
5233
+ "description": "Tail and monitor ServiceNow system logs in real-time with beautiful formatting.\n\nThis command provides real-time log monitoring with enhanced visual formatting using color-coded output that makes logs easy to scan and understand at a glance. Automatically highlights errors, warnings, success messages, and important keywords.\n\nKey Features:\n • Real-time log tailing (like Unix tail -f)\n • Powerful filtering with multiple operators (CONTAINS, REGEX, EQUALS, etc.)\n • Smart keyword highlighting (errors in red, warnings in yellow, etc.)\n • Beautiful color-coded console output with chalk\n • Export logs to file with automatic appending\n • Fast 1-second default polling interval\n • Timestamps and sequence numbers for each log\n • Graceful shutdown with Ctrl+C\n • Clean output without colors (--no-color flag)\n\nSmart Highlighting:\n • Error terms (error, exception, failed) - highlighted in RED\n • Warning terms (warn, warning, deprecated) - highlighted in YELLOW\n • Success terms (success, completed, done) - highlighted in GREEN\n • System terms (system, user, transaction) - highlighted in BLUE\n\nFiltering:\n • Apply filters using --filter flag with syntax: \"field OPERATOR value\"\n • Supports case-sensitive and case-insensitive operations\n • Multiple filters are combined with AND logic\n • Operators: CONTAINS, CONTAINS_CI, EQUALS, EQUALS_CI, STARTS_WITH, STARTS_WITH_CI,\n ENDS_WITH, ENDS_WITH_CI, REGEX, NOT_CONTAINS, NOT_CONTAINS_CI, NOT_EQUALS, NOT_EQUALS_CI\n\nUse Cases:\n • Monitor logs during application development\n • Debug issues in real-time\n • Track system events during deployments\n • Filter logs for specific application or component\n • Quickly spot errors and warnings\n • Collect logs for analysis or audit trails\n\n⚠️ IMPORTANT NOTES:\n • Press Ctrl+C to stop tailing and exit gracefully\n • Log files are created/appended automatically\n • Uses ChannelAjax when available for better performance\n • Default poll interval is 1 second for real-time monitoring",
5234
+ "examples": [
5235
+ {
5236
+ "description": "Tail all logs in real-time",
5237
+ "command": "<%= config.bin %> <%= command.id %> --auth dev-instance"
5238
+ },
5239
+ {
5240
+ "description": "Tail logs and save to a file",
5241
+ "command": "<%= config.bin %> <%= command.id %> --output ./logs/instance-logs.txt --auth dev-instance"
4996
5242
  },
4997
5243
  {
4998
- "description": "Test a flow by scoped name with explicit scope",
4999
- "command": "<%= config.bin %> <%= command.id %> -f x_myapp.my_flow -o '{\"current\":\"abc123\",\"table_name\":\"incident\"}' --scope x_myapp --auth dev"
5244
+ "description": "Tail logs with custom polling interval (500ms for faster updates)",
5245
+ "command": "<%= config.bin %> <%= command.id %> --interval 500 --auth dev-instance"
5000
5246
  },
5001
5247
  {
5002
- "description": "Test with JSON output",
5003
- "command": "<%= config.bin %> <%= command.id %> -f 887dda5583237210fdb8f7b6feaad32c -o '{\"current\":\"abc123\"}' --json --auth dev"
5248
+ "description": "Filter logs containing specific text (case-insensitive)",
5249
+ "command": "<%= config.bin %> <%= command.id %> --filter \"message CONTAINS_CI error\" --auth dev-instance"
5250
+ },
5251
+ {
5252
+ "description": "Filter logs with multiple conditions (AND logic)",
5253
+ "command": "<%= config.bin %> <%= command.id %> --filter \"message CONTAINS x_acme_app\" --filter \"message CONTAINS error\" --auth dev-instance"
5254
+ },
5255
+ {
5256
+ "description": "Filter logs using regex pattern",
5257
+ "command": "<%= config.bin %> <%= command.id %> --filter \"message REGEX .*exception.*\" --auth dev-instance"
5258
+ },
5259
+ {
5260
+ "description": "Filter logs by message starting with a pattern",
5261
+ "command": "<%= config.bin %> <%= command.id %> --filter \"message STARTS_WITH [ERROR]\" --auth dev-instance"
5262
+ },
5263
+ {
5264
+ "description": "Tail logs without colored output",
5265
+ "command": "<%= config.bin %> <%= command.id %> --no-color --auth dev-instance"
5004
5266
  }
5005
5267
  ],
5006
5268
  "flags": {
5007
5269
  "json": {
5008
- "char": "j",
5009
- "description": "Output results as JSON",
5270
+ "description": "Format output as json.",
5271
+ "helpGroup": "GLOBAL",
5010
5272
  "name": "json",
5011
- "required": false,
5012
5273
  "allowNo": false,
5013
5274
  "type": "boolean"
5014
5275
  },
@@ -5086,43 +5347,45 @@
5086
5347
  "allowNo": false,
5087
5348
  "type": "boolean"
5088
5349
  },
5089
- "flow-id": {
5090
- "char": "f",
5091
- "description": "Flow sys_id or scoped name (e.g. x_myapp.my_flow)",
5092
- "name": "flow-id",
5093
- "required": true,
5094
- "hasDynamicHelp": false,
5095
- "multiple": false,
5096
- "type": "option"
5097
- },
5098
- "output-map": {
5350
+ "output": {
5099
5351
  "char": "o",
5100
- "description": "JSON mapping of trigger output variable names to test values (e.g. '{\"current\":\"<sys_id>\",\"table_name\":\"change_request\"}')",
5101
- "name": "output-map",
5102
- "required": true,
5352
+ "description": "Output file path to save logs. Creates parent directories if needed.",
5353
+ "name": "output",
5354
+ "required": false,
5103
5355
  "hasDynamicHelp": false,
5104
5356
  "multiple": false,
5105
5357
  "type": "option"
5106
5358
  },
5107
- "scope": {
5108
- "description": "Scope sys_id for transaction scope (auto-resolved from flow definition if omitted)",
5109
- "name": "scope",
5359
+ "interval": {
5360
+ "char": "i",
5361
+ "description": "Polling interval in milliseconds",
5362
+ "name": "interval",
5110
5363
  "required": false,
5364
+ "default": 1000,
5111
5365
  "hasDynamicHelp": false,
5112
5366
  "multiple": false,
5113
5367
  "type": "option"
5114
5368
  },
5115
- "synchronous": {
5116
- "description": "Run test synchronously (default: true)",
5117
- "name": "synchronous",
5369
+ "no-color": {
5370
+ "description": "Disable colored output",
5371
+ "name": "no-color",
5118
5372
  "required": false,
5119
- "allowNo": true,
5373
+ "allowNo": false,
5120
5374
  "type": "boolean"
5375
+ },
5376
+ "filter": {
5377
+ "char": "f",
5378
+ "description": "Filter logs by field and value. Syntax: field OPERATOR value. Operators: CONTAINS, CONTAINS_CI (case-insensitive), EQUALS, EQUALS_CI, STARTS_WITH, STARTS_WITH_CI, ENDS_WITH, ENDS_WITH_CI, REGEX, NOT_CONTAINS, NOT_EQUALS. Field defaults to \"message\" if omitted. Multiple filters are combined with AND logic.",
5379
+ "name": "filter",
5380
+ "required": false,
5381
+ "hasDynamicHelp": false,
5382
+ "multiple": true,
5383
+ "type": "option"
5121
5384
  }
5122
5385
  },
5123
5386
  "hasDynamicHelp": false,
5124
5387
  "hiddenAliases": [],
5125
- "id": "flow:test",
5388
+ "id": "log",
5126
5389
  "pluginAlias": "@sonisoft/now-sdk-ext-cli",
5127
5390
  "pluginName": "@sonisoft/now-sdk-ext-cli",
5128
5391
  "pluginType": "core",
@@ -5132,8 +5395,8 @@
5132
5395
  "relativePath": [
5133
5396
  "dist",
5134
5397
  "commands",
5135
- "flow",
5136
- "test.js"
5398
+ "log",
5399
+ "index.js"
5137
5400
  ]
5138
5401
  },
5139
5402
  "policy:status": {
@@ -10436,178 +10699,6 @@
10436
10699
  "import.js"
10437
10700
  ]
10438
10701
  },
10439
- "log": {
10440
- "aliases": [],
10441
- "args": {},
10442
- "description": "Tail and monitor ServiceNow system logs in real-time with beautiful formatting.\n\nThis command provides real-time log monitoring with enhanced visual formatting using color-coded output that makes logs easy to scan and understand at a glance. Automatically highlights errors, warnings, success messages, and important keywords.\n\nKey Features:\n • Real-time log tailing (like Unix tail -f)\n • Powerful filtering with multiple operators (CONTAINS, REGEX, EQUALS, etc.)\n • Smart keyword highlighting (errors in red, warnings in yellow, etc.)\n • Beautiful color-coded console output with chalk\n • Export logs to file with automatic appending\n • Fast 1-second default polling interval\n • Timestamps and sequence numbers for each log\n • Graceful shutdown with Ctrl+C\n • Clean output without colors (--no-color flag)\n\nSmart Highlighting:\n • Error terms (error, exception, failed) - highlighted in RED\n • Warning terms (warn, warning, deprecated) - highlighted in YELLOW\n • Success terms (success, completed, done) - highlighted in GREEN\n • System terms (system, user, transaction) - highlighted in BLUE\n\nFiltering:\n • Apply filters using --filter flag with syntax: \"field OPERATOR value\"\n • Supports case-sensitive and case-insensitive operations\n • Multiple filters are combined with AND logic\n • Operators: CONTAINS, CONTAINS_CI, EQUALS, EQUALS_CI, STARTS_WITH, STARTS_WITH_CI,\n ENDS_WITH, ENDS_WITH_CI, REGEX, NOT_CONTAINS, NOT_CONTAINS_CI, NOT_EQUALS, NOT_EQUALS_CI\n\nUse Cases:\n • Monitor logs during application development\n • Debug issues in real-time\n • Track system events during deployments\n • Filter logs for specific application or component\n • Quickly spot errors and warnings\n • Collect logs for analysis or audit trails\n\n⚠️ IMPORTANT NOTES:\n • Press Ctrl+C to stop tailing and exit gracefully\n • Log files are created/appended automatically\n • Uses ChannelAjax when available for better performance\n • Default poll interval is 1 second for real-time monitoring",
10443
- "examples": [
10444
- {
10445
- "description": "Tail all logs in real-time",
10446
- "command": "<%= config.bin %> <%= command.id %> --auth dev-instance"
10447
- },
10448
- {
10449
- "description": "Tail logs and save to a file",
10450
- "command": "<%= config.bin %> <%= command.id %> --output ./logs/instance-logs.txt --auth dev-instance"
10451
- },
10452
- {
10453
- "description": "Tail logs with custom polling interval (500ms for faster updates)",
10454
- "command": "<%= config.bin %> <%= command.id %> --interval 500 --auth dev-instance"
10455
- },
10456
- {
10457
- "description": "Filter logs containing specific text (case-insensitive)",
10458
- "command": "<%= config.bin %> <%= command.id %> --filter \"message CONTAINS_CI error\" --auth dev-instance"
10459
- },
10460
- {
10461
- "description": "Filter logs with multiple conditions (AND logic)",
10462
- "command": "<%= config.bin %> <%= command.id %> --filter \"message CONTAINS x_acme_app\" --filter \"message CONTAINS error\" --auth dev-instance"
10463
- },
10464
- {
10465
- "description": "Filter logs using regex pattern",
10466
- "command": "<%= config.bin %> <%= command.id %> --filter \"message REGEX .*exception.*\" --auth dev-instance"
10467
- },
10468
- {
10469
- "description": "Filter logs by message starting with a pattern",
10470
- "command": "<%= config.bin %> <%= command.id %> --filter \"message STARTS_WITH [ERROR]\" --auth dev-instance"
10471
- },
10472
- {
10473
- "description": "Tail logs without colored output",
10474
- "command": "<%= config.bin %> <%= command.id %> --no-color --auth dev-instance"
10475
- }
10476
- ],
10477
- "flags": {
10478
- "json": {
10479
- "description": "Format output as json.",
10480
- "helpGroup": "GLOBAL",
10481
- "name": "json",
10482
- "allowNo": false,
10483
- "type": "boolean"
10484
- },
10485
- "auth": {
10486
- "char": "a",
10487
- "description": "Auth alias to use.",
10488
- "name": "auth",
10489
- "required": false,
10490
- "hasDynamicHelp": false,
10491
- "multiple": false,
10492
- "type": "option"
10493
- },
10494
- "cred-store": {
10495
- "description": "Read credentials from @sonisoft/sn-credstore instead of the OS keyring. Use this in headless sessions (SSH, systemd, CI, agents) where the keyring cannot be unlocked.",
10496
- "helpGroup": "GLOBAL",
10497
- "name": "cred-store",
10498
- "required": false,
10499
- "allowNo": false,
10500
- "type": "boolean"
10501
- },
10502
- "deny-execute": {
10503
- "description": "Refuse background scripts, flow runs and ATF runs for this invocation.",
10504
- "helpGroup": "GLOBAL",
10505
- "name": "deny-execute",
10506
- "required": false,
10507
- "allowNo": false,
10508
- "type": "boolean"
10509
- },
10510
- "deny-write": {
10511
- "description": "Refuse any change to instance data for this invocation.",
10512
- "helpGroup": "GLOBAL",
10513
- "name": "deny-write",
10514
- "required": false,
10515
- "allowNo": false,
10516
- "type": "boolean"
10517
- },
10518
- "log-dir": {
10519
- "description": "Directory to write log files to. Implies --log-file.",
10520
- "helpGroup": "GLOBAL",
10521
- "name": "log-dir",
10522
- "required": false,
10523
- "hasDynamicHelp": false,
10524
- "multiple": false,
10525
- "type": "option"
10526
- },
10527
- "log-file": {
10528
- "description": "Write logs to a file. Defaults to $XDG_STATE_HOME/now-sdk-ext/logs (~/.local/state/now-sdk-ext/logs). Off by default; without this, nex logs warnings and errors to stderr only.",
10529
- "helpGroup": "GLOBAL",
10530
- "name": "log-file",
10531
- "required": false,
10532
- "allowNo": false,
10533
- "type": "boolean"
10534
- },
10535
- "log-level": {
10536
- "helpGroup": "GLOBAL",
10537
- "name": "log-level",
10538
- "summary": "Specify level for logging.",
10539
- "default": "info",
10540
- "hasDynamicHelp": false,
10541
- "multiple": false,
10542
- "options": [
10543
- "debug",
10544
- "warn",
10545
- "error",
10546
- "info",
10547
- "trace"
10548
- ],
10549
- "type": "option"
10550
- },
10551
- "read-only": {
10552
- "description": "Refuse every change to the instance — equivalent to --deny-write --deny-execute. Reads are unaffected.",
10553
- "helpGroup": "GLOBAL",
10554
- "name": "read-only",
10555
- "required": false,
10556
- "allowNo": false,
10557
- "type": "boolean"
10558
- },
10559
- "output": {
10560
- "char": "o",
10561
- "description": "Output file path to save logs. Creates parent directories if needed.",
10562
- "name": "output",
10563
- "required": false,
10564
- "hasDynamicHelp": false,
10565
- "multiple": false,
10566
- "type": "option"
10567
- },
10568
- "interval": {
10569
- "char": "i",
10570
- "description": "Polling interval in milliseconds",
10571
- "name": "interval",
10572
- "required": false,
10573
- "default": 1000,
10574
- "hasDynamicHelp": false,
10575
- "multiple": false,
10576
- "type": "option"
10577
- },
10578
- "no-color": {
10579
- "description": "Disable colored output",
10580
- "name": "no-color",
10581
- "required": false,
10582
- "allowNo": false,
10583
- "type": "boolean"
10584
- },
10585
- "filter": {
10586
- "char": "f",
10587
- "description": "Filter logs by field and value. Syntax: field OPERATOR value. Operators: CONTAINS, CONTAINS_CI (case-insensitive), EQUALS, EQUALS_CI, STARTS_WITH, STARTS_WITH_CI, ENDS_WITH, ENDS_WITH_CI, REGEX, NOT_CONTAINS, NOT_EQUALS. Field defaults to \"message\" if omitted. Multiple filters are combined with AND logic.",
10588
- "name": "filter",
10589
- "required": false,
10590
- "hasDynamicHelp": false,
10591
- "multiple": true,
10592
- "type": "option"
10593
- }
10594
- },
10595
- "hasDynamicHelp": false,
10596
- "hiddenAliases": [],
10597
- "id": "log",
10598
- "pluginAlias": "@sonisoft/now-sdk-ext-cli",
10599
- "pluginName": "@sonisoft/now-sdk-ext-cli",
10600
- "pluginType": "core",
10601
- "strict": true,
10602
- "enableJsonFlag": true,
10603
- "isESM": true,
10604
- "relativePath": [
10605
- "dist",
10606
- "commands",
10607
- "log",
10608
- "index.js"
10609
- ]
10610
- },
10611
10702
  "health:check": {
10612
10703
  "aliases": [],
10613
10704
  "args": {},
@@ -10775,5 +10866,5 @@
10775
10866
  ]
10776
10867
  }
10777
10868
  },
10778
- "version": "5.6.0"
10869
+ "version": "5.7.1"
10779
10870
  }