@wavyx/pdcli 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1424,7 +1424,7 @@
1424
1424
  "type": "option"
1425
1425
  },
1426
1426
  "type": {
1427
- "description": "Filter by activity type key",
1427
+ "description": "Filter by activity type key (applied client-side)",
1428
1428
  "name": "type",
1429
1429
  "hasDynamicHelp": false,
1430
1430
  "multiple": false,
@@ -1447,6 +1447,61 @@
1447
1447
  "name": "todo",
1448
1448
  "allowNo": false,
1449
1449
  "type": "boolean"
1450
+ },
1451
+ "filter": {
1452
+ "description": "Filter by saved filter ID",
1453
+ "name": "filter",
1454
+ "hasDynamicHelp": false,
1455
+ "multiple": false,
1456
+ "type": "option"
1457
+ },
1458
+ "ids": {
1459
+ "description": "Comma-separated IDs to fetch (max 100)",
1460
+ "exclusive": [
1461
+ "filter"
1462
+ ],
1463
+ "name": "ids",
1464
+ "hasDynamicHelp": false,
1465
+ "multiple": false,
1466
+ "type": "option"
1467
+ },
1468
+ "sort-by": {
1469
+ "description": "Sort field",
1470
+ "name": "sort-by",
1471
+ "hasDynamicHelp": false,
1472
+ "multiple": false,
1473
+ "options": [
1474
+ "id",
1475
+ "update_time",
1476
+ "add_time",
1477
+ "due_date"
1478
+ ],
1479
+ "type": "option"
1480
+ },
1481
+ "sort-direction": {
1482
+ "description": "Sort direction",
1483
+ "name": "sort-direction",
1484
+ "hasDynamicHelp": false,
1485
+ "multiple": false,
1486
+ "options": [
1487
+ "asc",
1488
+ "desc"
1489
+ ],
1490
+ "type": "option"
1491
+ },
1492
+ "updated-since": {
1493
+ "description": "Only items updated at/after this RFC3339 time (no fractional seconds)",
1494
+ "name": "updated-since",
1495
+ "hasDynamicHelp": false,
1496
+ "multiple": false,
1497
+ "type": "option"
1498
+ },
1499
+ "updated-until": {
1500
+ "description": "Only items updated before this RFC3339 time (no fractional seconds)",
1501
+ "name": "updated-until",
1502
+ "hasDynamicHelp": false,
1503
+ "multiple": false,
1504
+ "type": "option"
1450
1505
  }
1451
1506
  },
1452
1507
  "hasDynamicHelp": false,
@@ -2032,19 +2087,15 @@
2032
2087
  "unset.js"
2033
2088
  ]
2034
2089
  },
2035
- "config:get": {
2090
+ "auth:login": {
2036
2091
  "aliases": [],
2037
- "args": {
2038
- "key": {
2039
- "description": "Config key to read",
2040
- "name": "key",
2041
- "required": true
2042
- }
2043
- },
2044
- "description": "Get a config value for the active profile",
2092
+ "args": {},
2093
+ "description": "Authenticate with Pipedrive (personal API token, or OAuth with --oauth)",
2045
2094
  "examples": [
2046
- "<%= config.bin %> config get company_domain",
2047
- "<%= config.bin %> config get default_output"
2095
+ "<%= config.bin %> auth login",
2096
+ "<%= config.bin %> auth login --company acme --api-token <token>",
2097
+ "<%= config.bin %> auth login --oauth",
2098
+ "<%= config.bin %> auth login --oauth --client-id <id> --client-secret <secret>"
2048
2099
  ],
2049
2100
  "flags": {
2050
2101
  "output": {
@@ -2130,11 +2181,62 @@
2130
2181
  "hasDynamicHelp": false,
2131
2182
  "multiple": false,
2132
2183
  "type": "option"
2184
+ },
2185
+ "company": {
2186
+ "description": "Company domain (\"acme\" from acme.pipedrive.com — full URL accepted)",
2187
+ "name": "company",
2188
+ "hasDynamicHelp": false,
2189
+ "multiple": false,
2190
+ "type": "option"
2191
+ },
2192
+ "api-token": {
2193
+ "description": "Personal API token (app.pipedrive.com/settings/api). Prefer the prompt or env so the token stays out of shell history",
2194
+ "name": "api-token",
2195
+ "hasDynamicHelp": false,
2196
+ "multiple": false,
2197
+ "type": "option"
2198
+ },
2199
+ "oauth": {
2200
+ "description": "Use OAuth 2.0 via your own Developer Hub app (browser flow)",
2201
+ "name": "oauth",
2202
+ "allowNo": false,
2203
+ "type": "boolean"
2204
+ },
2205
+ "client-id": {
2206
+ "dependsOn": [
2207
+ "oauth"
2208
+ ],
2209
+ "description": "OAuth app client ID (--oauth; env PDCLI_CLIENT_ID)",
2210
+ "name": "client-id",
2211
+ "hasDynamicHelp": false,
2212
+ "multiple": false,
2213
+ "type": "option"
2214
+ },
2215
+ "client-secret": {
2216
+ "dependsOn": [
2217
+ "oauth"
2218
+ ],
2219
+ "description": "OAuth app client secret (--oauth; env PDCLI_CLIENT_SECRET)",
2220
+ "name": "client-secret",
2221
+ "hasDynamicHelp": false,
2222
+ "multiple": false,
2223
+ "type": "option"
2224
+ },
2225
+ "port": {
2226
+ "dependsOn": [
2227
+ "oauth"
2228
+ ],
2229
+ "description": "OAuth callback port — must match the app's registered callback URL (--oauth)",
2230
+ "name": "port",
2231
+ "default": 9999,
2232
+ "hasDynamicHelp": false,
2233
+ "multiple": false,
2234
+ "type": "option"
2133
2235
  }
2134
2236
  },
2135
2237
  "hasDynamicHelp": false,
2136
2238
  "hiddenAliases": [],
2137
- "id": "config:get",
2239
+ "id": "auth:login",
2138
2240
  "pluginAlias": "@wavyx/pdcli",
2139
2241
  "pluginName": "@wavyx/pdcli",
2140
2242
  "pluginType": "core",
@@ -2145,16 +2247,16 @@
2145
2247
  "relativePath": [
2146
2248
  "src",
2147
2249
  "commands",
2148
- "config",
2149
- "get.js"
2250
+ "auth",
2251
+ "login.js"
2150
2252
  ]
2151
2253
  },
2152
- "config:list": {
2254
+ "auth:logout": {
2153
2255
  "aliases": [],
2154
2256
  "args": {},
2155
- "description": "List all config for the active profile",
2257
+ "description": "Log out and remove the stored API token",
2156
2258
  "examples": [
2157
- "<%= config.bin %> config list"
2259
+ "<%= config.bin %> auth logout"
2158
2260
  ],
2159
2261
  "flags": {
2160
2262
  "output": {
@@ -2244,7 +2346,7 @@
2244
2346
  },
2245
2347
  "hasDynamicHelp": false,
2246
2348
  "hiddenAliases": [],
2247
- "id": "config:list",
2349
+ "id": "auth:logout",
2248
2350
  "pluginAlias": "@wavyx/pdcli",
2249
2351
  "pluginName": "@wavyx/pdcli",
2250
2352
  "pluginType": "core",
@@ -2255,28 +2357,16 @@
2255
2357
  "relativePath": [
2256
2358
  "src",
2257
2359
  "commands",
2258
- "config",
2259
- "list.js"
2360
+ "auth",
2361
+ "logout.js"
2260
2362
  ]
2261
2363
  },
2262
- "config:set": {
2364
+ "auth:status": {
2263
2365
  "aliases": [],
2264
- "args": {
2265
- "key": {
2266
- "description": "Config key to set",
2267
- "name": "key",
2268
- "required": true
2269
- },
2270
- "value": {
2271
- "description": "Value to assign",
2272
- "name": "value",
2273
- "required": true
2274
- }
2275
- },
2276
- "description": "Set a config value for the active profile",
2366
+ "args": {},
2367
+ "description": "Show current authentication status",
2277
2368
  "examples": [
2278
- "<%= config.bin %> config set company_domain acme",
2279
- "<%= config.bin %> config set default_output json"
2369
+ "<%= config.bin %> auth status"
2280
2370
  ],
2281
2371
  "flags": {
2282
2372
  "output": {
@@ -2366,7 +2456,7 @@
2366
2456
  },
2367
2457
  "hasDynamicHelp": false,
2368
2458
  "hiddenAliases": [],
2369
- "id": "config:set",
2459
+ "id": "auth:status",
2370
2460
  "pluginAlias": "@wavyx/pdcli",
2371
2461
  "pluginName": "@wavyx/pdcli",
2372
2462
  "pluginType": "core",
@@ -2377,22 +2467,23 @@
2377
2467
  "relativePath": [
2378
2468
  "src",
2379
2469
  "commands",
2380
- "config",
2381
- "set.js"
2470
+ "auth",
2471
+ "status.js"
2382
2472
  ]
2383
2473
  },
2384
- "config:unset": {
2474
+ "config:get": {
2385
2475
  "aliases": [],
2386
2476
  "args": {
2387
2477
  "key": {
2388
- "description": "Config key to remove",
2478
+ "description": "Config key to read",
2389
2479
  "name": "key",
2390
2480
  "required": true
2391
2481
  }
2392
2482
  },
2393
- "description": "Remove a config key from the active profile",
2483
+ "description": "Get a config value for the active profile",
2394
2484
  "examples": [
2395
- "<%= config.bin %> config unset default_output"
2485
+ "<%= config.bin %> config get company_domain",
2486
+ "<%= config.bin %> config get default_output"
2396
2487
  ],
2397
2488
  "flags": {
2398
2489
  "output": {
@@ -2482,7 +2573,7 @@
2482
2573
  },
2483
2574
  "hasDynamicHelp": false,
2484
2575
  "hiddenAliases": [],
2485
- "id": "config:unset",
2576
+ "id": "config:get",
2486
2577
  "pluginAlias": "@wavyx/pdcli",
2487
2578
  "pluginName": "@wavyx/pdcli",
2488
2579
  "pluginType": "core",
@@ -2494,18 +2585,15 @@
2494
2585
  "src",
2495
2586
  "commands",
2496
2587
  "config",
2497
- "unset.js"
2588
+ "get.js"
2498
2589
  ]
2499
2590
  },
2500
- "auth:login": {
2591
+ "config:list": {
2501
2592
  "aliases": [],
2502
2593
  "args": {},
2503
- "description": "Authenticate with Pipedrive (personal API token, or OAuth with --oauth)",
2594
+ "description": "List all config for the active profile",
2504
2595
  "examples": [
2505
- "<%= config.bin %> auth login",
2506
- "<%= config.bin %> auth login --company acme --api-token <token>",
2507
- "<%= config.bin %> auth login --oauth",
2508
- "<%= config.bin %> auth login --oauth --client-id <id> --client-secret <secret>"
2596
+ "<%= config.bin %> config list"
2509
2597
  ],
2510
2598
  "flags": {
2511
2599
  "output": {
@@ -2591,62 +2679,11 @@
2591
2679
  "hasDynamicHelp": false,
2592
2680
  "multiple": false,
2593
2681
  "type": "option"
2594
- },
2595
- "company": {
2596
- "description": "Company domain (\"acme\" from acme.pipedrive.com — full URL accepted)",
2597
- "name": "company",
2598
- "hasDynamicHelp": false,
2599
- "multiple": false,
2600
- "type": "option"
2601
- },
2602
- "api-token": {
2603
- "description": "Personal API token (app.pipedrive.com/settings/api). Prefer the prompt or env so the token stays out of shell history",
2604
- "name": "api-token",
2605
- "hasDynamicHelp": false,
2606
- "multiple": false,
2607
- "type": "option"
2608
- },
2609
- "oauth": {
2610
- "description": "Use OAuth 2.0 via your own Developer Hub app (browser flow)",
2611
- "name": "oauth",
2612
- "allowNo": false,
2613
- "type": "boolean"
2614
- },
2615
- "client-id": {
2616
- "dependsOn": [
2617
- "oauth"
2618
- ],
2619
- "description": "OAuth app client ID (--oauth; env PDCLI_CLIENT_ID)",
2620
- "name": "client-id",
2621
- "hasDynamicHelp": false,
2622
- "multiple": false,
2623
- "type": "option"
2624
- },
2625
- "client-secret": {
2626
- "dependsOn": [
2627
- "oauth"
2628
- ],
2629
- "description": "OAuth app client secret (--oauth; env PDCLI_CLIENT_SECRET)",
2630
- "name": "client-secret",
2631
- "hasDynamicHelp": false,
2632
- "multiple": false,
2633
- "type": "option"
2634
- },
2635
- "port": {
2636
- "dependsOn": [
2637
- "oauth"
2638
- ],
2639
- "description": "OAuth callback port — must match the app's registered callback URL (--oauth)",
2640
- "name": "port",
2641
- "default": 9999,
2642
- "hasDynamicHelp": false,
2643
- "multiple": false,
2644
- "type": "option"
2645
2682
  }
2646
2683
  },
2647
2684
  "hasDynamicHelp": false,
2648
2685
  "hiddenAliases": [],
2649
- "id": "auth:login",
2686
+ "id": "config:list",
2650
2687
  "pluginAlias": "@wavyx/pdcli",
2651
2688
  "pluginName": "@wavyx/pdcli",
2652
2689
  "pluginType": "core",
@@ -2657,16 +2694,28 @@
2657
2694
  "relativePath": [
2658
2695
  "src",
2659
2696
  "commands",
2660
- "auth",
2661
- "login.js"
2697
+ "config",
2698
+ "list.js"
2662
2699
  ]
2663
2700
  },
2664
- "auth:logout": {
2701
+ "config:set": {
2665
2702
  "aliases": [],
2666
- "args": {},
2667
- "description": "Log out and remove the stored API token",
2703
+ "args": {
2704
+ "key": {
2705
+ "description": "Config key to set",
2706
+ "name": "key",
2707
+ "required": true
2708
+ },
2709
+ "value": {
2710
+ "description": "Value to assign",
2711
+ "name": "value",
2712
+ "required": true
2713
+ }
2714
+ },
2715
+ "description": "Set a config value for the active profile",
2668
2716
  "examples": [
2669
- "<%= config.bin %> auth logout"
2717
+ "<%= config.bin %> config set company_domain acme",
2718
+ "<%= config.bin %> config set default_output json"
2670
2719
  ],
2671
2720
  "flags": {
2672
2721
  "output": {
@@ -2756,7 +2805,7 @@
2756
2805
  },
2757
2806
  "hasDynamicHelp": false,
2758
2807
  "hiddenAliases": [],
2759
- "id": "auth:logout",
2808
+ "id": "config:set",
2760
2809
  "pluginAlias": "@wavyx/pdcli",
2761
2810
  "pluginName": "@wavyx/pdcli",
2762
2811
  "pluginType": "core",
@@ -2767,16 +2816,22 @@
2767
2816
  "relativePath": [
2768
2817
  "src",
2769
2818
  "commands",
2770
- "auth",
2771
- "logout.js"
2819
+ "config",
2820
+ "set.js"
2772
2821
  ]
2773
2822
  },
2774
- "auth:status": {
2823
+ "config:unset": {
2775
2824
  "aliases": [],
2776
- "args": {},
2777
- "description": "Show current authentication status",
2825
+ "args": {
2826
+ "key": {
2827
+ "description": "Config key to remove",
2828
+ "name": "key",
2829
+ "required": true
2830
+ }
2831
+ },
2832
+ "description": "Remove a config key from the active profile",
2778
2833
  "examples": [
2779
- "<%= config.bin %> auth status"
2834
+ "<%= config.bin %> config unset default_output"
2780
2835
  ],
2781
2836
  "flags": {
2782
2837
  "output": {
@@ -2866,7 +2921,7 @@
2866
2921
  },
2867
2922
  "hasDynamicHelp": false,
2868
2923
  "hiddenAliases": [],
2869
- "id": "auth:status",
2924
+ "id": "config:unset",
2870
2925
  "pluginAlias": "@wavyx/pdcli",
2871
2926
  "pluginName": "@wavyx/pdcli",
2872
2927
  "pluginType": "core",
@@ -2877,8 +2932,8 @@
2877
2932
  "relativePath": [
2878
2933
  "src",
2879
2934
  "commands",
2880
- "auth",
2881
- "status.js"
2935
+ "config",
2936
+ "unset.js"
2882
2937
  ]
2883
2938
  },
2884
2939
  "deal:bulk-update": {
@@ -3520,6 +3575,130 @@
3520
3575
  "get.js"
3521
3576
  ]
3522
3577
  },
3578
+ "deal:history": {
3579
+ "aliases": [],
3580
+ "args": {
3581
+ "id": {
3582
+ "description": "Deal ID",
3583
+ "name": "id",
3584
+ "required": true
3585
+ }
3586
+ },
3587
+ "description": "Field-change history for a deal, newest-first (the API’s native order)",
3588
+ "examples": [
3589
+ "<%= config.bin %> deal history 42",
3590
+ "<%= config.bin %> deal history 42 --field stage_id",
3591
+ "<%= config.bin %> deal history 42 --limit 20 --resolve-fields"
3592
+ ],
3593
+ "flags": {
3594
+ "output": {
3595
+ "char": "o",
3596
+ "description": "Output format",
3597
+ "helpGroup": "GLOBAL",
3598
+ "name": "output",
3599
+ "hasDynamicHelp": false,
3600
+ "multiple": false,
3601
+ "options": [
3602
+ "table",
3603
+ "json",
3604
+ "yaml",
3605
+ "csv"
3606
+ ],
3607
+ "type": "option"
3608
+ },
3609
+ "jq": {
3610
+ "description": "jq expression to filter JSON output",
3611
+ "helpGroup": "GLOBAL",
3612
+ "name": "jq",
3613
+ "hasDynamicHelp": false,
3614
+ "multiple": false,
3615
+ "type": "option"
3616
+ },
3617
+ "fields": {
3618
+ "description": "Comma-separated fields to display",
3619
+ "helpGroup": "GLOBAL",
3620
+ "name": "fields",
3621
+ "hasDynamicHelp": false,
3622
+ "multiple": false,
3623
+ "type": "option"
3624
+ },
3625
+ "resolve-fields": {
3626
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
3627
+ "helpGroup": "GLOBAL",
3628
+ "name": "resolve-fields",
3629
+ "allowNo": false,
3630
+ "type": "boolean"
3631
+ },
3632
+ "profile": {
3633
+ "description": "Named auth profile to use",
3634
+ "env": "PDCLI_PROFILE",
3635
+ "helpGroup": "GLOBAL",
3636
+ "name": "profile",
3637
+ "hasDynamicHelp": false,
3638
+ "multiple": false,
3639
+ "type": "option"
3640
+ },
3641
+ "no-color": {
3642
+ "description": "Disable color output",
3643
+ "helpGroup": "GLOBAL",
3644
+ "name": "no-color",
3645
+ "allowNo": false,
3646
+ "type": "boolean"
3647
+ },
3648
+ "verbose": {
3649
+ "description": "Show detailed API request/response on errors",
3650
+ "helpGroup": "GLOBAL",
3651
+ "name": "verbose",
3652
+ "allowNo": false,
3653
+ "type": "boolean"
3654
+ },
3655
+ "no-retry": {
3656
+ "description": "Disable automatic retry on rate limits and 5xx errors",
3657
+ "helpGroup": "GLOBAL",
3658
+ "name": "no-retry",
3659
+ "allowNo": false,
3660
+ "type": "boolean"
3661
+ },
3662
+ "timeout": {
3663
+ "description": "Request timeout in milliseconds",
3664
+ "helpGroup": "GLOBAL",
3665
+ "name": "timeout",
3666
+ "hasDynamicHelp": false,
3667
+ "multiple": false,
3668
+ "type": "option"
3669
+ },
3670
+ "limit": {
3671
+ "description": "Maximum number of items to return (lists)",
3672
+ "helpGroup": "GLOBAL",
3673
+ "name": "limit",
3674
+ "hasDynamicHelp": false,
3675
+ "multiple": false,
3676
+ "type": "option"
3677
+ },
3678
+ "field": {
3679
+ "description": "Show only changes to this field key (e.g. stage_id)",
3680
+ "name": "field",
3681
+ "hasDynamicHelp": false,
3682
+ "multiple": false,
3683
+ "type": "option"
3684
+ }
3685
+ },
3686
+ "hasDynamicHelp": false,
3687
+ "hiddenAliases": [],
3688
+ "id": "deal:history",
3689
+ "pluginAlias": "@wavyx/pdcli",
3690
+ "pluginName": "@wavyx/pdcli",
3691
+ "pluginType": "core",
3692
+ "strict": true,
3693
+ "enableJsonFlag": false,
3694
+ "isESM": true,
3695
+ "relativePath": [
3696
+ "src",
3697
+ "commands",
3698
+ "deal",
3699
+ "history.js"
3700
+ ]
3701
+ },
3523
3702
  "deal:list": {
3524
3703
  "aliases": [],
3525
3704
  "args": {},
@@ -3661,6 +3840,60 @@
3661
3840
  "hasDynamicHelp": false,
3662
3841
  "multiple": false,
3663
3842
  "type": "option"
3843
+ },
3844
+ "filter": {
3845
+ "description": "Filter by saved filter ID",
3846
+ "name": "filter",
3847
+ "hasDynamicHelp": false,
3848
+ "multiple": false,
3849
+ "type": "option"
3850
+ },
3851
+ "ids": {
3852
+ "description": "Comma-separated IDs to fetch (max 100)",
3853
+ "exclusive": [
3854
+ "filter"
3855
+ ],
3856
+ "name": "ids",
3857
+ "hasDynamicHelp": false,
3858
+ "multiple": false,
3859
+ "type": "option"
3860
+ },
3861
+ "sort-by": {
3862
+ "description": "Sort field",
3863
+ "name": "sort-by",
3864
+ "hasDynamicHelp": false,
3865
+ "multiple": false,
3866
+ "options": [
3867
+ "id",
3868
+ "update_time",
3869
+ "add_time"
3870
+ ],
3871
+ "type": "option"
3872
+ },
3873
+ "sort-direction": {
3874
+ "description": "Sort direction",
3875
+ "name": "sort-direction",
3876
+ "hasDynamicHelp": false,
3877
+ "multiple": false,
3878
+ "options": [
3879
+ "asc",
3880
+ "desc"
3881
+ ],
3882
+ "type": "option"
3883
+ },
3884
+ "updated-since": {
3885
+ "description": "Only items updated at/after this RFC3339 time (no fractional seconds)",
3886
+ "name": "updated-since",
3887
+ "hasDynamicHelp": false,
3888
+ "multiple": false,
3889
+ "type": "option"
3890
+ },
3891
+ "updated-until": {
3892
+ "description": "Only items updated before this RFC3339 time (no fractional seconds)",
3893
+ "name": "updated-until",
3894
+ "hasDynamicHelp": false,
3895
+ "multiple": false,
3896
+ "type": "option"
3664
3897
  }
3665
3898
  },
3666
3899
  "hasDynamicHelp": false,
@@ -7396,6 +7629,60 @@
7396
7629
  "hasDynamicHelp": false,
7397
7630
  "multiple": false,
7398
7631
  "type": "option"
7632
+ },
7633
+ "filter": {
7634
+ "description": "Filter by saved filter ID",
7635
+ "name": "filter",
7636
+ "hasDynamicHelp": false,
7637
+ "multiple": false,
7638
+ "type": "option"
7639
+ },
7640
+ "ids": {
7641
+ "description": "Comma-separated IDs to fetch (max 100)",
7642
+ "exclusive": [
7643
+ "filter"
7644
+ ],
7645
+ "name": "ids",
7646
+ "hasDynamicHelp": false,
7647
+ "multiple": false,
7648
+ "type": "option"
7649
+ },
7650
+ "sort-by": {
7651
+ "description": "Sort field",
7652
+ "name": "sort-by",
7653
+ "hasDynamicHelp": false,
7654
+ "multiple": false,
7655
+ "options": [
7656
+ "id",
7657
+ "update_time",
7658
+ "add_time"
7659
+ ],
7660
+ "type": "option"
7661
+ },
7662
+ "sort-direction": {
7663
+ "description": "Sort direction",
7664
+ "name": "sort-direction",
7665
+ "hasDynamicHelp": false,
7666
+ "multiple": false,
7667
+ "options": [
7668
+ "asc",
7669
+ "desc"
7670
+ ],
7671
+ "type": "option"
7672
+ },
7673
+ "updated-since": {
7674
+ "description": "Only items updated at/after this RFC3339 time (no fractional seconds)",
7675
+ "name": "updated-since",
7676
+ "hasDynamicHelp": false,
7677
+ "multiple": false,
7678
+ "type": "option"
7679
+ },
7680
+ "updated-until": {
7681
+ "description": "Only items updated before this RFC3339 time (no fractional seconds)",
7682
+ "name": "updated-until",
7683
+ "hasDynamicHelp": false,
7684
+ "multiple": false,
7685
+ "type": "option"
7399
7686
  }
7400
7687
  },
7401
7688
  "hasDynamicHelp": false,
@@ -7690,19 +7977,14 @@
7690
7977
  "update.js"
7691
7978
  ]
7692
7979
  },
7693
- "pipeline:get": {
7980
+ "person:create": {
7694
7981
  "aliases": [],
7695
- "args": {
7696
- "id": {
7697
- "description": "Pipeline ID",
7698
- "name": "id",
7699
- "required": true
7700
- }
7701
- },
7702
- "description": "Get a pipeline by ID",
7982
+ "args": {},
7983
+ "description": "Create a person",
7703
7984
  "examples": [
7704
- "<%= config.bin %> pipeline get 1",
7705
- "<%= config.bin %> pipeline get 1 --output json"
7985
+ "<%= config.bin %> person create --name \"Jane Doe\" --email jane@acme.com",
7986
+ "<%= config.bin %> person create --name \"Jane\" --field \"Segment=Enterprise\"",
7987
+ "<%= config.bin %> person create --name \"Raw\" --body '{\"visible_to\":\"3\"}'"
7706
7988
  ],
7707
7989
  "flags": {
7708
7990
  "output": {
@@ -7788,120 +8070,53 @@
7788
8070
  "hasDynamicHelp": false,
7789
8071
  "multiple": false,
7790
8072
  "type": "option"
7791
- }
7792
- },
7793
- "hasDynamicHelp": false,
7794
- "hiddenAliases": [],
7795
- "id": "pipeline:get",
7796
- "pluginAlias": "@wavyx/pdcli",
7797
- "pluginName": "@wavyx/pdcli",
7798
- "pluginType": "core",
7799
- "strict": true,
7800
- "enableJsonFlag": false,
7801
- "isESM": true,
7802
- "relativePath": [
7803
- "src",
7804
- "commands",
7805
- "pipeline",
7806
- "get.js"
7807
- ]
7808
- },
7809
- "pipeline:health": {
7810
- "aliases": [],
7811
- "args": {},
7812
- "description": "Per-stage pipeline health: value, weighted value, stale deals, missing next steps",
7813
- "examples": [
7814
- "<%= config.bin %> pipeline health",
7815
- "<%= config.bin %> pipeline health --pipeline 1"
7816
- ],
7817
- "flags": {
7818
- "output": {
7819
- "char": "o",
7820
- "description": "Output format",
7821
- "helpGroup": "GLOBAL",
7822
- "name": "output",
7823
- "hasDynamicHelp": false,
7824
- "multiple": false,
7825
- "options": [
7826
- "table",
7827
- "json",
7828
- "yaml",
7829
- "csv"
7830
- ],
7831
- "type": "option"
7832
8073
  },
7833
- "jq": {
7834
- "description": "jq expression to filter JSON output",
7835
- "helpGroup": "GLOBAL",
7836
- "name": "jq",
8074
+ "name": {
8075
+ "description": "Person name",
8076
+ "name": "name",
8077
+ "required": true,
7837
8078
  "hasDynamicHelp": false,
7838
8079
  "multiple": false,
7839
8080
  "type": "option"
7840
8081
  },
7841
- "fields": {
7842
- "description": "Comma-separated fields to display",
7843
- "helpGroup": "GLOBAL",
7844
- "name": "fields",
8082
+ "email": {
8083
+ "description": "Email address (repeatable; first is primary)",
8084
+ "name": "email",
7845
8085
  "hasDynamicHelp": false,
7846
- "multiple": false,
8086
+ "multiple": true,
7847
8087
  "type": "option"
7848
8088
  },
7849
- "resolve-fields": {
7850
- "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
7851
- "helpGroup": "GLOBAL",
7852
- "name": "resolve-fields",
7853
- "allowNo": false,
7854
- "type": "boolean"
8089
+ "phone": {
8090
+ "description": "Phone number (repeatable; first is primary)",
8091
+ "name": "phone",
8092
+ "hasDynamicHelp": false,
8093
+ "multiple": true,
8094
+ "type": "option"
7855
8095
  },
7856
- "profile": {
7857
- "description": "Named auth profile to use",
7858
- "env": "PDCLI_PROFILE",
7859
- "helpGroup": "GLOBAL",
7860
- "name": "profile",
8096
+ "org": {
8097
+ "description": "Linked organization ID",
8098
+ "name": "org",
7861
8099
  "hasDynamicHelp": false,
7862
8100
  "multiple": false,
7863
8101
  "type": "option"
7864
8102
  },
7865
- "no-color": {
7866
- "description": "Disable color output",
7867
- "helpGroup": "GLOBAL",
7868
- "name": "no-color",
7869
- "allowNo": false,
7870
- "type": "boolean"
7871
- },
7872
- "verbose": {
7873
- "description": "Show detailed API request/response on errors",
7874
- "helpGroup": "GLOBAL",
7875
- "name": "verbose",
7876
- "allowNo": false,
7877
- "type": "boolean"
7878
- },
7879
- "no-retry": {
7880
- "description": "Disable automatic retry on rate limits and 5xx errors",
7881
- "helpGroup": "GLOBAL",
7882
- "name": "no-retry",
7883
- "allowNo": false,
7884
- "type": "boolean"
7885
- },
7886
- "timeout": {
7887
- "description": "Request timeout in milliseconds",
7888
- "helpGroup": "GLOBAL",
7889
- "name": "timeout",
8103
+ "owner": {
8104
+ "description": "Owner (user) ID",
8105
+ "name": "owner",
7890
8106
  "hasDynamicHelp": false,
7891
8107
  "multiple": false,
7892
8108
  "type": "option"
7893
8109
  },
7894
- "limit": {
7895
- "description": "Maximum number of items to return (lists)",
7896
- "helpGroup": "GLOBAL",
7897
- "name": "limit",
8110
+ "field": {
8111
+ "description": "Custom/standard field as \"Name=Value\" (repeatable)",
8112
+ "name": "field",
7898
8113
  "hasDynamicHelp": false,
7899
- "multiple": false,
8114
+ "multiple": true,
7900
8115
  "type": "option"
7901
8116
  },
7902
- "pipeline": {
7903
- "description": "Pipeline ID (required when the account has several)",
7904
- "name": "pipeline",
8117
+ "body": {
8118
+ "description": "Raw JSON body to merge (flags win)",
8119
+ "name": "body",
7905
8120
  "hasDynamicHelp": false,
7906
8121
  "multiple": false,
7907
8122
  "type": "option"
@@ -7909,7 +8124,7 @@
7909
8124
  },
7910
8125
  "hasDynamicHelp": false,
7911
8126
  "hiddenAliases": [],
7912
- "id": "pipeline:health",
8127
+ "id": "person:create",
7913
8128
  "pluginAlias": "@wavyx/pdcli",
7914
8129
  "pluginName": "@wavyx/pdcli",
7915
8130
  "pluginType": "core",
@@ -7919,17 +8134,23 @@
7919
8134
  "relativePath": [
7920
8135
  "src",
7921
8136
  "commands",
7922
- "pipeline",
7923
- "health.js"
8137
+ "person",
8138
+ "create.js"
7924
8139
  ]
7925
8140
  },
7926
- "pipeline:list": {
8141
+ "person:delete": {
7927
8142
  "aliases": [],
7928
- "args": {},
7929
- "description": "List pipelines",
8143
+ "args": {
8144
+ "id": {
8145
+ "description": "Person ID",
8146
+ "name": "id",
8147
+ "required": true
8148
+ }
8149
+ },
8150
+ "description": "Delete a person",
7930
8151
  "examples": [
7931
- "<%= config.bin %> pipeline list",
7932
- "<%= config.bin %> pipeline list --output json"
8152
+ "<%= config.bin %> person delete 42",
8153
+ "<%= config.bin %> person delete 42 --yes"
7933
8154
  ],
7934
8155
  "flags": {
7935
8156
  "output": {
@@ -8015,11 +8236,18 @@
8015
8236
  "hasDynamicHelp": false,
8016
8237
  "multiple": false,
8017
8238
  "type": "option"
8239
+ },
8240
+ "yes": {
8241
+ "char": "y",
8242
+ "description": "Skip the confirmation prompt",
8243
+ "name": "yes",
8244
+ "allowNo": false,
8245
+ "type": "boolean"
8018
8246
  }
8019
8247
  },
8020
8248
  "hasDynamicHelp": false,
8021
8249
  "hiddenAliases": [],
8022
- "id": "pipeline:list",
8250
+ "id": "person:delete",
8023
8251
  "pluginAlias": "@wavyx/pdcli",
8024
8252
  "pluginName": "@wavyx/pdcli",
8025
8253
  "pluginType": "core",
@@ -8029,18 +8257,23 @@
8029
8257
  "relativePath": [
8030
8258
  "src",
8031
8259
  "commands",
8032
- "pipeline",
8033
- "list.js"
8260
+ "person",
8261
+ "delete.js"
8034
8262
  ]
8035
8263
  },
8036
- "person:create": {
8264
+ "person:get": {
8037
8265
  "aliases": [],
8038
- "args": {},
8039
- "description": "Create a person",
8266
+ "args": {
8267
+ "id": {
8268
+ "description": "Person ID",
8269
+ "name": "id",
8270
+ "required": true
8271
+ }
8272
+ },
8273
+ "description": "Get a person by ID",
8040
8274
  "examples": [
8041
- "<%= config.bin %> person create --name \"Jane Doe\" --email jane@acme.com",
8042
- "<%= config.bin %> person create --name \"Jane\" --field \"Segment=Enterprise\"",
8043
- "<%= config.bin %> person create --name \"Raw\" --body '{\"visible_to\":\"3\"}'"
8275
+ "<%= config.bin %> person get 5",
8276
+ "<%= config.bin %> person get 5 --output json"
8044
8277
  ],
8045
8278
  "flags": {
8046
8279
  "output": {
@@ -8126,61 +8359,11 @@
8126
8359
  "hasDynamicHelp": false,
8127
8360
  "multiple": false,
8128
8361
  "type": "option"
8129
- },
8130
- "name": {
8131
- "description": "Person name",
8132
- "name": "name",
8133
- "required": true,
8134
- "hasDynamicHelp": false,
8135
- "multiple": false,
8136
- "type": "option"
8137
- },
8138
- "email": {
8139
- "description": "Email address (repeatable; first is primary)",
8140
- "name": "email",
8141
- "hasDynamicHelp": false,
8142
- "multiple": true,
8143
- "type": "option"
8144
- },
8145
- "phone": {
8146
- "description": "Phone number (repeatable; first is primary)",
8147
- "name": "phone",
8148
- "hasDynamicHelp": false,
8149
- "multiple": true,
8150
- "type": "option"
8151
- },
8152
- "org": {
8153
- "description": "Linked organization ID",
8154
- "name": "org",
8155
- "hasDynamicHelp": false,
8156
- "multiple": false,
8157
- "type": "option"
8158
- },
8159
- "owner": {
8160
- "description": "Owner (user) ID",
8161
- "name": "owner",
8162
- "hasDynamicHelp": false,
8163
- "multiple": false,
8164
- "type": "option"
8165
- },
8166
- "field": {
8167
- "description": "Custom/standard field as \"Name=Value\" (repeatable)",
8168
- "name": "field",
8169
- "hasDynamicHelp": false,
8170
- "multiple": true,
8171
- "type": "option"
8172
- },
8173
- "body": {
8174
- "description": "Raw JSON body to merge (flags win)",
8175
- "name": "body",
8176
- "hasDynamicHelp": false,
8177
- "multiple": false,
8178
- "type": "option"
8179
8362
  }
8180
8363
  },
8181
8364
  "hasDynamicHelp": false,
8182
8365
  "hiddenAliases": [],
8183
- "id": "person:create",
8366
+ "id": "person:get",
8184
8367
  "pluginAlias": "@wavyx/pdcli",
8185
8368
  "pluginName": "@wavyx/pdcli",
8186
8369
  "pluginType": "core",
@@ -8191,22 +8374,22 @@
8191
8374
  "src",
8192
8375
  "commands",
8193
8376
  "person",
8194
- "create.js"
8377
+ "get.js"
8195
8378
  ]
8196
8379
  },
8197
- "person:delete": {
8380
+ "person:import": {
8198
8381
  "aliases": [],
8199
8382
  "args": {
8200
- "id": {
8201
- "description": "Person ID",
8202
- "name": "id",
8383
+ "file": {
8384
+ "description": "CSV file path",
8385
+ "name": "file",
8203
8386
  "required": true
8204
8387
  }
8205
8388
  },
8206
- "description": "Delete a person",
8389
+ "description": "Bulk-create persons from a CSV (headers map to fields, custom fields by name)",
8207
8390
  "examples": [
8208
- "<%= config.bin %> person delete 42",
8209
- "<%= config.bin %> person delete 42 --yes"
8391
+ "<%= config.bin %> person import people.csv",
8392
+ "<%= config.bin %> person import people.csv --dry-run"
8210
8393
  ],
8211
8394
  "flags": {
8212
8395
  "output": {
@@ -8293,6 +8476,12 @@
8293
8476
  "multiple": false,
8294
8477
  "type": "option"
8295
8478
  },
8479
+ "dry-run": {
8480
+ "description": "Validate every row without creating anything",
8481
+ "name": "dry-run",
8482
+ "allowNo": false,
8483
+ "type": "boolean"
8484
+ },
8296
8485
  "yes": {
8297
8486
  "char": "y",
8298
8487
  "description": "Skip the confirmation prompt",
@@ -8303,7 +8492,7 @@
8303
8492
  },
8304
8493
  "hasDynamicHelp": false,
8305
8494
  "hiddenAliases": [],
8306
- "id": "person:delete",
8495
+ "id": "person:import",
8307
8496
  "pluginAlias": "@wavyx/pdcli",
8308
8497
  "pluginName": "@wavyx/pdcli",
8309
8498
  "pluginType": "core",
@@ -8314,22 +8503,16 @@
8314
8503
  "src",
8315
8504
  "commands",
8316
8505
  "person",
8317
- "delete.js"
8506
+ "import.js"
8318
8507
  ]
8319
8508
  },
8320
- "person:get": {
8509
+ "person:list": {
8321
8510
  "aliases": [],
8322
- "args": {
8323
- "id": {
8324
- "description": "Person ID",
8325
- "name": "id",
8326
- "required": true
8327
- }
8328
- },
8329
- "description": "Get a person by ID",
8511
+ "args": {},
8512
+ "description": "List persons (contacts)",
8330
8513
  "examples": [
8331
- "<%= config.bin %> person get 5",
8332
- "<%= config.bin %> person get 5 --output json"
8514
+ "<%= config.bin %> person list",
8515
+ "<%= config.bin %> person list --org 7 --output json"
8333
8516
  ],
8334
8517
  "flags": {
8335
8518
  "output": {
@@ -8415,256 +8598,71 @@
8415
8598
  "hasDynamicHelp": false,
8416
8599
  "multiple": false,
8417
8600
  "type": "option"
8418
- }
8419
- },
8420
- "hasDynamicHelp": false,
8421
- "hiddenAliases": [],
8422
- "id": "person:get",
8423
- "pluginAlias": "@wavyx/pdcli",
8424
- "pluginName": "@wavyx/pdcli",
8425
- "pluginType": "core",
8426
- "strict": true,
8427
- "enableJsonFlag": false,
8428
- "isESM": true,
8429
- "relativePath": [
8430
- "src",
8431
- "commands",
8432
- "person",
8433
- "get.js"
8434
- ]
8435
- },
8436
- "person:import": {
8437
- "aliases": [],
8438
- "args": {
8439
- "file": {
8440
- "description": "CSV file path",
8441
- "name": "file",
8442
- "required": true
8443
- }
8444
- },
8445
- "description": "Bulk-create persons from a CSV (headers map to fields, custom fields by name)",
8446
- "examples": [
8447
- "<%= config.bin %> person import people.csv",
8448
- "<%= config.bin %> person import people.csv --dry-run"
8449
- ],
8450
- "flags": {
8451
- "output": {
8452
- "char": "o",
8453
- "description": "Output format",
8454
- "helpGroup": "GLOBAL",
8455
- "name": "output",
8456
- "hasDynamicHelp": false,
8457
- "multiple": false,
8458
- "options": [
8459
- "table",
8460
- "json",
8461
- "yaml",
8462
- "csv"
8463
- ],
8464
- "type": "option"
8465
- },
8466
- "jq": {
8467
- "description": "jq expression to filter JSON output",
8468
- "helpGroup": "GLOBAL",
8469
- "name": "jq",
8470
- "hasDynamicHelp": false,
8471
- "multiple": false,
8472
- "type": "option"
8473
8601
  },
8474
- "fields": {
8475
- "description": "Comma-separated fields to display",
8476
- "helpGroup": "GLOBAL",
8477
- "name": "fields",
8602
+ "owner": {
8603
+ "description": "Filter by owner (user) ID",
8604
+ "name": "owner",
8478
8605
  "hasDynamicHelp": false,
8479
8606
  "multiple": false,
8480
8607
  "type": "option"
8481
8608
  },
8482
- "resolve-fields": {
8483
- "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
8484
- "helpGroup": "GLOBAL",
8485
- "name": "resolve-fields",
8486
- "allowNo": false,
8487
- "type": "boolean"
8488
- },
8489
- "profile": {
8490
- "description": "Named auth profile to use",
8491
- "env": "PDCLI_PROFILE",
8492
- "helpGroup": "GLOBAL",
8493
- "name": "profile",
8609
+ "org": {
8610
+ "description": "Filter by organization ID",
8611
+ "name": "org",
8494
8612
  "hasDynamicHelp": false,
8495
8613
  "multiple": false,
8496
8614
  "type": "option"
8497
8615
  },
8498
- "no-color": {
8499
- "description": "Disable color output",
8500
- "helpGroup": "GLOBAL",
8501
- "name": "no-color",
8502
- "allowNo": false,
8503
- "type": "boolean"
8504
- },
8505
- "verbose": {
8506
- "description": "Show detailed API request/response on errors",
8507
- "helpGroup": "GLOBAL",
8508
- "name": "verbose",
8509
- "allowNo": false,
8510
- "type": "boolean"
8511
- },
8512
- "no-retry": {
8513
- "description": "Disable automatic retry on rate limits and 5xx errors",
8514
- "helpGroup": "GLOBAL",
8515
- "name": "no-retry",
8516
- "allowNo": false,
8517
- "type": "boolean"
8518
- },
8519
- "timeout": {
8520
- "description": "Request timeout in milliseconds",
8521
- "helpGroup": "GLOBAL",
8522
- "name": "timeout",
8616
+ "filter": {
8617
+ "description": "Filter by saved filter ID",
8618
+ "name": "filter",
8523
8619
  "hasDynamicHelp": false,
8524
8620
  "multiple": false,
8525
8621
  "type": "option"
8526
8622
  },
8527
- "limit": {
8528
- "description": "Maximum number of items to return (lists)",
8529
- "helpGroup": "GLOBAL",
8530
- "name": "limit",
8623
+ "ids": {
8624
+ "description": "Comma-separated IDs to fetch (max 100)",
8625
+ "exclusive": [
8626
+ "filter"
8627
+ ],
8628
+ "name": "ids",
8531
8629
  "hasDynamicHelp": false,
8532
8630
  "multiple": false,
8533
8631
  "type": "option"
8534
8632
  },
8535
- "dry-run": {
8536
- "description": "Validate every row without creating anything",
8537
- "name": "dry-run",
8538
- "allowNo": false,
8539
- "type": "boolean"
8540
- },
8541
- "yes": {
8542
- "char": "y",
8543
- "description": "Skip the confirmation prompt",
8544
- "name": "yes",
8545
- "allowNo": false,
8546
- "type": "boolean"
8547
- }
8548
- },
8549
- "hasDynamicHelp": false,
8550
- "hiddenAliases": [],
8551
- "id": "person:import",
8552
- "pluginAlias": "@wavyx/pdcli",
8553
- "pluginName": "@wavyx/pdcli",
8554
- "pluginType": "core",
8555
- "strict": true,
8556
- "enableJsonFlag": false,
8557
- "isESM": true,
8558
- "relativePath": [
8559
- "src",
8560
- "commands",
8561
- "person",
8562
- "import.js"
8563
- ]
8564
- },
8565
- "person:list": {
8566
- "aliases": [],
8567
- "args": {},
8568
- "description": "List persons (contacts)",
8569
- "examples": [
8570
- "<%= config.bin %> person list",
8571
- "<%= config.bin %> person list --org 7 --output json"
8572
- ],
8573
- "flags": {
8574
- "output": {
8575
- "char": "o",
8576
- "description": "Output format",
8577
- "helpGroup": "GLOBAL",
8578
- "name": "output",
8633
+ "sort-by": {
8634
+ "description": "Sort field",
8635
+ "name": "sort-by",
8579
8636
  "hasDynamicHelp": false,
8580
8637
  "multiple": false,
8581
8638
  "options": [
8582
- "table",
8583
- "json",
8584
- "yaml",
8585
- "csv"
8639
+ "id",
8640
+ "update_time",
8641
+ "add_time"
8586
8642
  ],
8587
8643
  "type": "option"
8588
8644
  },
8589
- "jq": {
8590
- "description": "jq expression to filter JSON output",
8591
- "helpGroup": "GLOBAL",
8592
- "name": "jq",
8593
- "hasDynamicHelp": false,
8594
- "multiple": false,
8595
- "type": "option"
8596
- },
8597
- "fields": {
8598
- "description": "Comma-separated fields to display",
8599
- "helpGroup": "GLOBAL",
8600
- "name": "fields",
8601
- "hasDynamicHelp": false,
8602
- "multiple": false,
8603
- "type": "option"
8604
- },
8605
- "resolve-fields": {
8606
- "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
8607
- "helpGroup": "GLOBAL",
8608
- "name": "resolve-fields",
8609
- "allowNo": false,
8610
- "type": "boolean"
8611
- },
8612
- "profile": {
8613
- "description": "Named auth profile to use",
8614
- "env": "PDCLI_PROFILE",
8615
- "helpGroup": "GLOBAL",
8616
- "name": "profile",
8617
- "hasDynamicHelp": false,
8618
- "multiple": false,
8619
- "type": "option"
8620
- },
8621
- "no-color": {
8622
- "description": "Disable color output",
8623
- "helpGroup": "GLOBAL",
8624
- "name": "no-color",
8625
- "allowNo": false,
8626
- "type": "boolean"
8627
- },
8628
- "verbose": {
8629
- "description": "Show detailed API request/response on errors",
8630
- "helpGroup": "GLOBAL",
8631
- "name": "verbose",
8632
- "allowNo": false,
8633
- "type": "boolean"
8634
- },
8635
- "no-retry": {
8636
- "description": "Disable automatic retry on rate limits and 5xx errors",
8637
- "helpGroup": "GLOBAL",
8638
- "name": "no-retry",
8639
- "allowNo": false,
8640
- "type": "boolean"
8641
- },
8642
- "timeout": {
8643
- "description": "Request timeout in milliseconds",
8644
- "helpGroup": "GLOBAL",
8645
- "name": "timeout",
8646
- "hasDynamicHelp": false,
8647
- "multiple": false,
8648
- "type": "option"
8649
- },
8650
- "limit": {
8651
- "description": "Maximum number of items to return (lists)",
8652
- "helpGroup": "GLOBAL",
8653
- "name": "limit",
8645
+ "sort-direction": {
8646
+ "description": "Sort direction",
8647
+ "name": "sort-direction",
8654
8648
  "hasDynamicHelp": false,
8655
8649
  "multiple": false,
8650
+ "options": [
8651
+ "asc",
8652
+ "desc"
8653
+ ],
8656
8654
  "type": "option"
8657
8655
  },
8658
- "owner": {
8659
- "description": "Filter by owner (user) ID",
8660
- "name": "owner",
8656
+ "updated-since": {
8657
+ "description": "Only items updated at/after this RFC3339 time (no fractional seconds)",
8658
+ "name": "updated-since",
8661
8659
  "hasDynamicHelp": false,
8662
8660
  "multiple": false,
8663
8661
  "type": "option"
8664
8662
  },
8665
- "org": {
8666
- "description": "Filter by organization ID",
8667
- "name": "org",
8663
+ "updated-until": {
8664
+ "description": "Only items updated before this RFC3339 time (no fractional seconds)",
8665
+ "name": "updated-until",
8668
8666
  "hasDynamicHelp": false,
8669
8667
  "multiple": false,
8670
8668
  "type": "option"
@@ -8983,14 +8981,19 @@
8983
8981
  "update.js"
8984
8982
  ]
8985
8983
  },
8986
- "product:create": {
8984
+ "pipeline:get": {
8987
8985
  "aliases": [],
8988
- "args": {},
8989
- "description": "Create a product",
8986
+ "args": {
8987
+ "id": {
8988
+ "description": "Pipeline ID",
8989
+ "name": "id",
8990
+ "required": true
8991
+ }
8992
+ },
8993
+ "description": "Get a pipeline by ID",
8990
8994
  "examples": [
8991
- "<%= config.bin %> product create --name \"Widget\" --code W-1 --price 9.99 --currency EUR",
8992
- "<%= config.bin %> product create --name \"Sized\" --field \"Material=Steel\"",
8993
- "<%= config.bin %> product create --name \"Raw\" --body '{\"tax\":19}'"
8995
+ "<%= config.bin %> pipeline get 1",
8996
+ "<%= config.bin %> pipeline get 1 --output json"
8994
8997
  ],
8995
8998
  "flags": {
8996
8999
  "output": {
@@ -9076,81 +9079,11 @@
9076
9079
  "hasDynamicHelp": false,
9077
9080
  "multiple": false,
9078
9081
  "type": "option"
9079
- },
9080
- "name": {
9081
- "description": "Product name",
9082
- "name": "name",
9083
- "required": true,
9084
- "hasDynamicHelp": false,
9085
- "multiple": false,
9086
- "type": "option"
9087
- },
9088
- "code": {
9089
- "description": "Product code (SKU)",
9090
- "name": "code",
9091
- "hasDynamicHelp": false,
9092
- "multiple": false,
9093
- "type": "option"
9094
- },
9095
- "unit": {
9096
- "description": "Unit of measure",
9097
- "name": "unit",
9098
- "hasDynamicHelp": false,
9099
- "multiple": false,
9100
- "type": "option"
9101
- },
9102
- "description": {
9103
- "description": "Product description",
9104
- "name": "description",
9105
- "hasDynamicHelp": false,
9106
- "multiple": false,
9107
- "type": "option"
9108
- },
9109
- "owner": {
9110
- "description": "Owner (user) ID",
9111
- "name": "owner",
9112
- "hasDynamicHelp": false,
9113
- "multiple": false,
9114
- "type": "option"
9115
- },
9116
- "price": {
9117
- "dependsOn": [
9118
- "currency"
9119
- ],
9120
- "description": "Unit price (requires --currency)",
9121
- "name": "price",
9122
- "hasDynamicHelp": false,
9123
- "multiple": false,
9124
- "type": "option"
9125
- },
9126
- "currency": {
9127
- "dependsOn": [
9128
- "price"
9129
- ],
9130
- "description": "Price currency (requires --price)",
9131
- "name": "currency",
9132
- "hasDynamicHelp": false,
9133
- "multiple": false,
9134
- "type": "option"
9135
- },
9136
- "field": {
9137
- "description": "Custom/standard field as \"Name=Value\" (repeatable)",
9138
- "name": "field",
9139
- "hasDynamicHelp": false,
9140
- "multiple": true,
9141
- "type": "option"
9142
- },
9143
- "body": {
9144
- "description": "Raw JSON body to merge (flags win)",
9145
- "name": "body",
9146
- "hasDynamicHelp": false,
9147
- "multiple": false,
9148
- "type": "option"
9149
9082
  }
9150
9083
  },
9151
9084
  "hasDynamicHelp": false,
9152
9085
  "hiddenAliases": [],
9153
- "id": "product:create",
9086
+ "id": "pipeline:get",
9154
9087
  "pluginAlias": "@wavyx/pdcli",
9155
9088
  "pluginName": "@wavyx/pdcli",
9156
9089
  "pluginType": "core",
@@ -9160,23 +9093,17 @@
9160
9093
  "relativePath": [
9161
9094
  "src",
9162
9095
  "commands",
9163
- "product",
9164
- "create.js"
9096
+ "pipeline",
9097
+ "get.js"
9165
9098
  ]
9166
9099
  },
9167
- "product:delete": {
9100
+ "pipeline:health": {
9168
9101
  "aliases": [],
9169
- "args": {
9170
- "id": {
9171
- "description": "Product ID",
9172
- "name": "id",
9173
- "required": true
9174
- }
9175
- },
9176
- "description": "Delete a product",
9102
+ "args": {},
9103
+ "description": "Per-stage pipeline health: value, weighted value, stale deals, missing next steps",
9177
9104
  "examples": [
9178
- "<%= config.bin %> product delete 7",
9179
- "<%= config.bin %> product delete 7 --yes"
9105
+ "<%= config.bin %> pipeline health",
9106
+ "<%= config.bin %> pipeline health --pipeline 1"
9180
9107
  ],
9181
9108
  "flags": {
9182
9109
  "output": {
@@ -9263,17 +9190,17 @@
9263
9190
  "multiple": false,
9264
9191
  "type": "option"
9265
9192
  },
9266
- "yes": {
9267
- "char": "y",
9268
- "description": "Skip the confirmation prompt",
9269
- "name": "yes",
9270
- "allowNo": false,
9271
- "type": "boolean"
9193
+ "pipeline": {
9194
+ "description": "Pipeline ID (required when the account has several)",
9195
+ "name": "pipeline",
9196
+ "hasDynamicHelp": false,
9197
+ "multiple": false,
9198
+ "type": "option"
9272
9199
  }
9273
9200
  },
9274
9201
  "hasDynamicHelp": false,
9275
9202
  "hiddenAliases": [],
9276
- "id": "product:delete",
9203
+ "id": "pipeline:health",
9277
9204
  "pluginAlias": "@wavyx/pdcli",
9278
9205
  "pluginName": "@wavyx/pdcli",
9279
9206
  "pluginType": "core",
@@ -9283,23 +9210,17 @@
9283
9210
  "relativePath": [
9284
9211
  "src",
9285
9212
  "commands",
9286
- "product",
9287
- "delete.js"
9213
+ "pipeline",
9214
+ "health.js"
9288
9215
  ]
9289
9216
  },
9290
- "product:get": {
9217
+ "pipeline:list": {
9291
9218
  "aliases": [],
9292
- "args": {
9293
- "id": {
9294
- "description": "Product ID",
9295
- "name": "id",
9296
- "required": true
9297
- }
9298
- },
9299
- "description": "Get a product by ID",
9219
+ "args": {},
9220
+ "description": "List pipelines",
9300
9221
  "examples": [
9301
- "<%= config.bin %> product get 7",
9302
- "<%= config.bin %> product get 7 --output json"
9222
+ "<%= config.bin %> pipeline list",
9223
+ "<%= config.bin %> pipeline list --output json"
9303
9224
  ],
9304
9225
  "flags": {
9305
9226
  "output": {
@@ -9389,7 +9310,7 @@
9389
9310
  },
9390
9311
  "hasDynamicHelp": false,
9391
9312
  "hiddenAliases": [],
9392
- "id": "product:get",
9313
+ "id": "pipeline:list",
9393
9314
  "pluginAlias": "@wavyx/pdcli",
9394
9315
  "pluginName": "@wavyx/pdcli",
9395
9316
  "pluginType": "core",
@@ -9399,17 +9320,16 @@
9399
9320
  "relativePath": [
9400
9321
  "src",
9401
9322
  "commands",
9402
- "product",
9403
- "get.js"
9323
+ "pipeline",
9324
+ "list.js"
9404
9325
  ]
9405
9326
  },
9406
- "product:list": {
9327
+ "profile:current": {
9407
9328
  "aliases": [],
9408
9329
  "args": {},
9409
- "description": "List products",
9330
+ "description": "Show the active profile",
9410
9331
  "examples": [
9411
- "<%= config.bin %> product list",
9412
- "<%= config.bin %> product list --owner 3 --output json"
9332
+ "<%= config.bin %> profile current"
9413
9333
  ],
9414
9334
  "flags": {
9415
9335
  "output": {
@@ -9495,45 +9415,31 @@
9495
9415
  "hasDynamicHelp": false,
9496
9416
  "multiple": false,
9497
9417
  "type": "option"
9498
- },
9499
- "owner": {
9500
- "description": "Filter by owner (user) ID",
9501
- "name": "owner",
9502
- "hasDynamicHelp": false,
9503
- "multiple": false,
9504
- "type": "option"
9505
9418
  }
9506
9419
  },
9507
9420
  "hasDynamicHelp": false,
9508
9421
  "hiddenAliases": [],
9509
- "id": "product:list",
9422
+ "id": "profile:current",
9510
9423
  "pluginAlias": "@wavyx/pdcli",
9511
9424
  "pluginName": "@wavyx/pdcli",
9512
9425
  "pluginType": "core",
9513
9426
  "strict": true,
9514
9427
  "enableJsonFlag": false,
9428
+ "skipAuth": true,
9515
9429
  "isESM": true,
9516
9430
  "relativePath": [
9517
9431
  "src",
9518
9432
  "commands",
9519
- "product",
9520
- "list.js"
9433
+ "profile",
9434
+ "current.js"
9521
9435
  ]
9522
9436
  },
9523
- "product:update": {
9437
+ "profile:list": {
9524
9438
  "aliases": [],
9525
- "args": {
9526
- "id": {
9527
- "description": "Product ID",
9528
- "name": "id",
9529
- "required": true
9530
- }
9531
- },
9532
- "description": "Update a product (v2 PATCH — only provided fields change)",
9439
+ "args": {},
9440
+ "description": "List all configured profiles",
9533
9441
  "examples": [
9534
- "<%= config.bin %> product update 7 --name \"New name\"",
9535
- "<%= config.bin %> product update 7 --price 12.50 --currency USD",
9536
- "<%= config.bin %> product update 7 --field \"Material=Steel\""
9442
+ "<%= config.bin %> profile list"
9537
9443
  ],
9538
9444
  "flags": {
9539
9445
  "output": {
@@ -9619,99 +9525,37 @@
9619
9525
  "hasDynamicHelp": false,
9620
9526
  "multiple": false,
9621
9527
  "type": "option"
9622
- },
9623
- "name": {
9624
- "description": "Product name",
9625
- "name": "name",
9626
- "hasDynamicHelp": false,
9627
- "multiple": false,
9628
- "type": "option"
9629
- },
9630
- "code": {
9631
- "description": "Product code (SKU)",
9632
- "name": "code",
9633
- "hasDynamicHelp": false,
9634
- "multiple": false,
9635
- "type": "option"
9636
- },
9637
- "unit": {
9638
- "description": "Unit of measure",
9639
- "name": "unit",
9640
- "hasDynamicHelp": false,
9641
- "multiple": false,
9642
- "type": "option"
9643
- },
9644
- "description": {
9645
- "description": "Product description",
9646
- "name": "description",
9647
- "hasDynamicHelp": false,
9648
- "multiple": false,
9649
- "type": "option"
9650
- },
9651
- "owner": {
9652
- "description": "Owner (user) ID",
9653
- "name": "owner",
9654
- "hasDynamicHelp": false,
9655
- "multiple": false,
9656
- "type": "option"
9657
- },
9658
- "price": {
9659
- "dependsOn": [
9660
- "currency"
9661
- ],
9662
- "description": "Unit price (requires --currency)",
9663
- "name": "price",
9664
- "hasDynamicHelp": false,
9665
- "multiple": false,
9666
- "type": "option"
9667
- },
9668
- "currency": {
9669
- "dependsOn": [
9670
- "price"
9671
- ],
9672
- "description": "Price currency (requires --price)",
9673
- "name": "currency",
9674
- "hasDynamicHelp": false,
9675
- "multiple": false,
9676
- "type": "option"
9677
- },
9678
- "field": {
9679
- "description": "Custom/standard field as \"Name=Value\" (repeatable)",
9680
- "name": "field",
9681
- "hasDynamicHelp": false,
9682
- "multiple": true,
9683
- "type": "option"
9684
- },
9685
- "body": {
9686
- "description": "Raw JSON body to merge (flags win)",
9687
- "name": "body",
9688
- "hasDynamicHelp": false,
9689
- "multiple": false,
9690
- "type": "option"
9691
9528
  }
9692
9529
  },
9693
9530
  "hasDynamicHelp": false,
9694
9531
  "hiddenAliases": [],
9695
- "id": "product:update",
9532
+ "id": "profile:list",
9696
9533
  "pluginAlias": "@wavyx/pdcli",
9697
9534
  "pluginName": "@wavyx/pdcli",
9698
9535
  "pluginType": "core",
9699
9536
  "strict": true,
9700
9537
  "enableJsonFlag": false,
9538
+ "skipAuth": true,
9701
9539
  "isESM": true,
9702
9540
  "relativePath": [
9703
9541
  "src",
9704
9542
  "commands",
9705
- "product",
9706
- "update.js"
9543
+ "profile",
9544
+ "list.js"
9707
9545
  ]
9708
9546
  },
9709
- "profile:current": {
9547
+ "profile:use": {
9710
9548
  "aliases": [],
9711
- "args": {},
9712
- "description": "Show the active profile",
9549
+ "args": {
9550
+ "name": {
9551
+ "description": "Profile name to activate",
9552
+ "name": "name",
9553
+ "required": true
9554
+ }
9555
+ },
9556
+ "description": "Switch the active profile",
9713
9557
  "examples": [
9714
- "<%= config.bin %> profile current"
9558
+ "<%= config.bin %> profile use work"
9715
9559
  ],
9716
9560
  "flags": {
9717
9561
  "output": {
@@ -9801,7 +9645,7 @@
9801
9645
  },
9802
9646
  "hasDynamicHelp": false,
9803
9647
  "hiddenAliases": [],
9804
- "id": "profile:current",
9648
+ "id": "profile:use",
9805
9649
  "pluginAlias": "@wavyx/pdcli",
9806
9650
  "pluginName": "@wavyx/pdcli",
9807
9651
  "pluginType": "core",
@@ -9813,15 +9657,17 @@
9813
9657
  "src",
9814
9658
  "commands",
9815
9659
  "profile",
9816
- "current.js"
9660
+ "use.js"
9817
9661
  ]
9818
9662
  },
9819
- "profile:list": {
9663
+ "project:create": {
9820
9664
  "aliases": [],
9821
9665
  "args": {},
9822
- "description": "List all configured profiles",
9666
+ "description": "Create a project",
9823
9667
  "examples": [
9824
- "<%= config.bin %> profile list"
9668
+ "<%= config.bin %> project create --title \"Launch\"",
9669
+ "<%= config.bin %> project create --title \"Launch\" --owner 3 --status open",
9670
+ "<%= config.bin %> project create --title \"Raw\" --body '{\"deal_ids\":[1,2]}'"
9825
9671
  ],
9826
9672
  "flags": {
9827
9673
  "output": {
@@ -9907,37 +9753,1398 @@
9907
9753
  "hasDynamicHelp": false,
9908
9754
  "multiple": false,
9909
9755
  "type": "option"
9910
- }
9911
- },
9912
- "hasDynamicHelp": false,
9913
- "hiddenAliases": [],
9914
- "id": "profile:list",
9915
- "pluginAlias": "@wavyx/pdcli",
9916
- "pluginName": "@wavyx/pdcli",
9917
- "pluginType": "core",
9918
- "strict": true,
9919
- "enableJsonFlag": false,
9920
- "skipAuth": true,
9921
- "isESM": true,
9922
- "relativePath": [
9923
- "src",
9924
- "commands",
9925
- "profile",
9756
+ },
9757
+ "title": {
9758
+ "description": "Project title",
9759
+ "name": "title",
9760
+ "required": true,
9761
+ "hasDynamicHelp": false,
9762
+ "multiple": false,
9763
+ "type": "option"
9764
+ },
9765
+ "description": {
9766
+ "description": "Project description",
9767
+ "name": "description",
9768
+ "hasDynamicHelp": false,
9769
+ "multiple": false,
9770
+ "type": "option"
9771
+ },
9772
+ "status": {
9773
+ "description": "Project status",
9774
+ "name": "status",
9775
+ "hasDynamicHelp": false,
9776
+ "multiple": false,
9777
+ "type": "option"
9778
+ },
9779
+ "start-date": {
9780
+ "description": "Start date (YYYY-MM-DD)",
9781
+ "name": "start-date",
9782
+ "hasDynamicHelp": false,
9783
+ "multiple": false,
9784
+ "type": "option"
9785
+ },
9786
+ "end-date": {
9787
+ "description": "End date (YYYY-MM-DD)",
9788
+ "name": "end-date",
9789
+ "hasDynamicHelp": false,
9790
+ "multiple": false,
9791
+ "type": "option"
9792
+ },
9793
+ "owner": {
9794
+ "description": "Owner (user) ID",
9795
+ "name": "owner",
9796
+ "hasDynamicHelp": false,
9797
+ "multiple": false,
9798
+ "type": "option"
9799
+ },
9800
+ "board": {
9801
+ "description": "Board ID",
9802
+ "name": "board",
9803
+ "hasDynamicHelp": false,
9804
+ "multiple": false,
9805
+ "type": "option"
9806
+ },
9807
+ "phase": {
9808
+ "description": "Phase ID",
9809
+ "name": "phase",
9810
+ "hasDynamicHelp": false,
9811
+ "multiple": false,
9812
+ "type": "option"
9813
+ },
9814
+ "body": {
9815
+ "description": "Raw JSON body to merge (flags win)",
9816
+ "name": "body",
9817
+ "hasDynamicHelp": false,
9818
+ "multiple": false,
9819
+ "type": "option"
9820
+ }
9821
+ },
9822
+ "hasDynamicHelp": false,
9823
+ "hiddenAliases": [],
9824
+ "id": "project:create",
9825
+ "pluginAlias": "@wavyx/pdcli",
9826
+ "pluginName": "@wavyx/pdcli",
9827
+ "pluginType": "core",
9828
+ "strict": true,
9829
+ "enableJsonFlag": false,
9830
+ "isESM": true,
9831
+ "relativePath": [
9832
+ "src",
9833
+ "commands",
9834
+ "project",
9835
+ "create.js"
9836
+ ]
9837
+ },
9838
+ "project:delete": {
9839
+ "aliases": [],
9840
+ "args": {
9841
+ "id": {
9842
+ "description": "Project ID",
9843
+ "name": "id",
9844
+ "required": true
9845
+ }
9846
+ },
9847
+ "description": "Delete a project",
9848
+ "examples": [
9849
+ "<%= config.bin %> project delete 7",
9850
+ "<%= config.bin %> project delete 7 --yes"
9851
+ ],
9852
+ "flags": {
9853
+ "output": {
9854
+ "char": "o",
9855
+ "description": "Output format",
9856
+ "helpGroup": "GLOBAL",
9857
+ "name": "output",
9858
+ "hasDynamicHelp": false,
9859
+ "multiple": false,
9860
+ "options": [
9861
+ "table",
9862
+ "json",
9863
+ "yaml",
9864
+ "csv"
9865
+ ],
9866
+ "type": "option"
9867
+ },
9868
+ "jq": {
9869
+ "description": "jq expression to filter JSON output",
9870
+ "helpGroup": "GLOBAL",
9871
+ "name": "jq",
9872
+ "hasDynamicHelp": false,
9873
+ "multiple": false,
9874
+ "type": "option"
9875
+ },
9876
+ "fields": {
9877
+ "description": "Comma-separated fields to display",
9878
+ "helpGroup": "GLOBAL",
9879
+ "name": "fields",
9880
+ "hasDynamicHelp": false,
9881
+ "multiple": false,
9882
+ "type": "option"
9883
+ },
9884
+ "resolve-fields": {
9885
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
9886
+ "helpGroup": "GLOBAL",
9887
+ "name": "resolve-fields",
9888
+ "allowNo": false,
9889
+ "type": "boolean"
9890
+ },
9891
+ "profile": {
9892
+ "description": "Named auth profile to use",
9893
+ "env": "PDCLI_PROFILE",
9894
+ "helpGroup": "GLOBAL",
9895
+ "name": "profile",
9896
+ "hasDynamicHelp": false,
9897
+ "multiple": false,
9898
+ "type": "option"
9899
+ },
9900
+ "no-color": {
9901
+ "description": "Disable color output",
9902
+ "helpGroup": "GLOBAL",
9903
+ "name": "no-color",
9904
+ "allowNo": false,
9905
+ "type": "boolean"
9906
+ },
9907
+ "verbose": {
9908
+ "description": "Show detailed API request/response on errors",
9909
+ "helpGroup": "GLOBAL",
9910
+ "name": "verbose",
9911
+ "allowNo": false,
9912
+ "type": "boolean"
9913
+ },
9914
+ "no-retry": {
9915
+ "description": "Disable automatic retry on rate limits and 5xx errors",
9916
+ "helpGroup": "GLOBAL",
9917
+ "name": "no-retry",
9918
+ "allowNo": false,
9919
+ "type": "boolean"
9920
+ },
9921
+ "timeout": {
9922
+ "description": "Request timeout in milliseconds",
9923
+ "helpGroup": "GLOBAL",
9924
+ "name": "timeout",
9925
+ "hasDynamicHelp": false,
9926
+ "multiple": false,
9927
+ "type": "option"
9928
+ },
9929
+ "limit": {
9930
+ "description": "Maximum number of items to return (lists)",
9931
+ "helpGroup": "GLOBAL",
9932
+ "name": "limit",
9933
+ "hasDynamicHelp": false,
9934
+ "multiple": false,
9935
+ "type": "option"
9936
+ },
9937
+ "yes": {
9938
+ "char": "y",
9939
+ "description": "Skip the confirmation prompt",
9940
+ "name": "yes",
9941
+ "allowNo": false,
9942
+ "type": "boolean"
9943
+ }
9944
+ },
9945
+ "hasDynamicHelp": false,
9946
+ "hiddenAliases": [],
9947
+ "id": "project:delete",
9948
+ "pluginAlias": "@wavyx/pdcli",
9949
+ "pluginName": "@wavyx/pdcli",
9950
+ "pluginType": "core",
9951
+ "strict": true,
9952
+ "enableJsonFlag": false,
9953
+ "isESM": true,
9954
+ "relativePath": [
9955
+ "src",
9956
+ "commands",
9957
+ "project",
9958
+ "delete.js"
9959
+ ]
9960
+ },
9961
+ "project:get": {
9962
+ "aliases": [],
9963
+ "args": {
9964
+ "id": {
9965
+ "description": "Project ID",
9966
+ "name": "id",
9967
+ "required": true
9968
+ }
9969
+ },
9970
+ "description": "Get a project by ID",
9971
+ "examples": [
9972
+ "<%= config.bin %> project get 3",
9973
+ "<%= config.bin %> project get 3 --output json"
9974
+ ],
9975
+ "flags": {
9976
+ "output": {
9977
+ "char": "o",
9978
+ "description": "Output format",
9979
+ "helpGroup": "GLOBAL",
9980
+ "name": "output",
9981
+ "hasDynamicHelp": false,
9982
+ "multiple": false,
9983
+ "options": [
9984
+ "table",
9985
+ "json",
9986
+ "yaml",
9987
+ "csv"
9988
+ ],
9989
+ "type": "option"
9990
+ },
9991
+ "jq": {
9992
+ "description": "jq expression to filter JSON output",
9993
+ "helpGroup": "GLOBAL",
9994
+ "name": "jq",
9995
+ "hasDynamicHelp": false,
9996
+ "multiple": false,
9997
+ "type": "option"
9998
+ },
9999
+ "fields": {
10000
+ "description": "Comma-separated fields to display",
10001
+ "helpGroup": "GLOBAL",
10002
+ "name": "fields",
10003
+ "hasDynamicHelp": false,
10004
+ "multiple": false,
10005
+ "type": "option"
10006
+ },
10007
+ "resolve-fields": {
10008
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10009
+ "helpGroup": "GLOBAL",
10010
+ "name": "resolve-fields",
10011
+ "allowNo": false,
10012
+ "type": "boolean"
10013
+ },
10014
+ "profile": {
10015
+ "description": "Named auth profile to use",
10016
+ "env": "PDCLI_PROFILE",
10017
+ "helpGroup": "GLOBAL",
10018
+ "name": "profile",
10019
+ "hasDynamicHelp": false,
10020
+ "multiple": false,
10021
+ "type": "option"
10022
+ },
10023
+ "no-color": {
10024
+ "description": "Disable color output",
10025
+ "helpGroup": "GLOBAL",
10026
+ "name": "no-color",
10027
+ "allowNo": false,
10028
+ "type": "boolean"
10029
+ },
10030
+ "verbose": {
10031
+ "description": "Show detailed API request/response on errors",
10032
+ "helpGroup": "GLOBAL",
10033
+ "name": "verbose",
10034
+ "allowNo": false,
10035
+ "type": "boolean"
10036
+ },
10037
+ "no-retry": {
10038
+ "description": "Disable automatic retry on rate limits and 5xx errors",
10039
+ "helpGroup": "GLOBAL",
10040
+ "name": "no-retry",
10041
+ "allowNo": false,
10042
+ "type": "boolean"
10043
+ },
10044
+ "timeout": {
10045
+ "description": "Request timeout in milliseconds",
10046
+ "helpGroup": "GLOBAL",
10047
+ "name": "timeout",
10048
+ "hasDynamicHelp": false,
10049
+ "multiple": false,
10050
+ "type": "option"
10051
+ },
10052
+ "limit": {
10053
+ "description": "Maximum number of items to return (lists)",
10054
+ "helpGroup": "GLOBAL",
10055
+ "name": "limit",
10056
+ "hasDynamicHelp": false,
10057
+ "multiple": false,
10058
+ "type": "option"
10059
+ }
10060
+ },
10061
+ "hasDynamicHelp": false,
10062
+ "hiddenAliases": [],
10063
+ "id": "project:get",
10064
+ "pluginAlias": "@wavyx/pdcli",
10065
+ "pluginName": "@wavyx/pdcli",
10066
+ "pluginType": "core",
10067
+ "strict": true,
10068
+ "enableJsonFlag": false,
10069
+ "isESM": true,
10070
+ "relativePath": [
10071
+ "src",
10072
+ "commands",
10073
+ "project",
10074
+ "get.js"
10075
+ ]
10076
+ },
10077
+ "project:list": {
10078
+ "aliases": [],
10079
+ "args": {},
10080
+ "description": "List projects",
10081
+ "examples": [
10082
+ "<%= config.bin %> project list",
10083
+ "<%= config.bin %> project list --output json"
10084
+ ],
10085
+ "flags": {
10086
+ "output": {
10087
+ "char": "o",
10088
+ "description": "Output format",
10089
+ "helpGroup": "GLOBAL",
10090
+ "name": "output",
10091
+ "hasDynamicHelp": false,
10092
+ "multiple": false,
10093
+ "options": [
10094
+ "table",
10095
+ "json",
10096
+ "yaml",
10097
+ "csv"
10098
+ ],
10099
+ "type": "option"
10100
+ },
10101
+ "jq": {
10102
+ "description": "jq expression to filter JSON output",
10103
+ "helpGroup": "GLOBAL",
10104
+ "name": "jq",
10105
+ "hasDynamicHelp": false,
10106
+ "multiple": false,
10107
+ "type": "option"
10108
+ },
10109
+ "fields": {
10110
+ "description": "Comma-separated fields to display",
10111
+ "helpGroup": "GLOBAL",
10112
+ "name": "fields",
10113
+ "hasDynamicHelp": false,
10114
+ "multiple": false,
10115
+ "type": "option"
10116
+ },
10117
+ "resolve-fields": {
10118
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10119
+ "helpGroup": "GLOBAL",
10120
+ "name": "resolve-fields",
10121
+ "allowNo": false,
10122
+ "type": "boolean"
10123
+ },
10124
+ "profile": {
10125
+ "description": "Named auth profile to use",
10126
+ "env": "PDCLI_PROFILE",
10127
+ "helpGroup": "GLOBAL",
10128
+ "name": "profile",
10129
+ "hasDynamicHelp": false,
10130
+ "multiple": false,
10131
+ "type": "option"
10132
+ },
10133
+ "no-color": {
10134
+ "description": "Disable color output",
10135
+ "helpGroup": "GLOBAL",
10136
+ "name": "no-color",
10137
+ "allowNo": false,
10138
+ "type": "boolean"
10139
+ },
10140
+ "verbose": {
10141
+ "description": "Show detailed API request/response on errors",
10142
+ "helpGroup": "GLOBAL",
10143
+ "name": "verbose",
10144
+ "allowNo": false,
10145
+ "type": "boolean"
10146
+ },
10147
+ "no-retry": {
10148
+ "description": "Disable automatic retry on rate limits and 5xx errors",
10149
+ "helpGroup": "GLOBAL",
10150
+ "name": "no-retry",
10151
+ "allowNo": false,
10152
+ "type": "boolean"
10153
+ },
10154
+ "timeout": {
10155
+ "description": "Request timeout in milliseconds",
10156
+ "helpGroup": "GLOBAL",
10157
+ "name": "timeout",
10158
+ "hasDynamicHelp": false,
10159
+ "multiple": false,
10160
+ "type": "option"
10161
+ },
10162
+ "limit": {
10163
+ "description": "Maximum number of items to return (lists)",
10164
+ "helpGroup": "GLOBAL",
10165
+ "name": "limit",
10166
+ "hasDynamicHelp": false,
10167
+ "multiple": false,
10168
+ "type": "option"
10169
+ }
10170
+ },
10171
+ "hasDynamicHelp": false,
10172
+ "hiddenAliases": [],
10173
+ "id": "project:list",
10174
+ "pluginAlias": "@wavyx/pdcli",
10175
+ "pluginName": "@wavyx/pdcli",
10176
+ "pluginType": "core",
10177
+ "strict": true,
10178
+ "enableJsonFlag": false,
10179
+ "isESM": true,
10180
+ "relativePath": [
10181
+ "src",
10182
+ "commands",
10183
+ "project",
10184
+ "list.js"
10185
+ ]
10186
+ },
10187
+ "project:update": {
10188
+ "aliases": [],
10189
+ "args": {
10190
+ "id": {
10191
+ "description": "Project ID",
10192
+ "name": "id",
10193
+ "required": true
10194
+ }
10195
+ },
10196
+ "description": "Update a project (v2 PATCH — only provided fields change)",
10197
+ "examples": [
10198
+ "<%= config.bin %> project update 7 --title \"Relaunch\"",
10199
+ "<%= config.bin %> project update 7 --status closed",
10200
+ "<%= config.bin %> project update 7 --owner 9"
10201
+ ],
10202
+ "flags": {
10203
+ "output": {
10204
+ "char": "o",
10205
+ "description": "Output format",
10206
+ "helpGroup": "GLOBAL",
10207
+ "name": "output",
10208
+ "hasDynamicHelp": false,
10209
+ "multiple": false,
10210
+ "options": [
10211
+ "table",
10212
+ "json",
10213
+ "yaml",
10214
+ "csv"
10215
+ ],
10216
+ "type": "option"
10217
+ },
10218
+ "jq": {
10219
+ "description": "jq expression to filter JSON output",
10220
+ "helpGroup": "GLOBAL",
10221
+ "name": "jq",
10222
+ "hasDynamicHelp": false,
10223
+ "multiple": false,
10224
+ "type": "option"
10225
+ },
10226
+ "fields": {
10227
+ "description": "Comma-separated fields to display",
10228
+ "helpGroup": "GLOBAL",
10229
+ "name": "fields",
10230
+ "hasDynamicHelp": false,
10231
+ "multiple": false,
10232
+ "type": "option"
10233
+ },
10234
+ "resolve-fields": {
10235
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10236
+ "helpGroup": "GLOBAL",
10237
+ "name": "resolve-fields",
10238
+ "allowNo": false,
10239
+ "type": "boolean"
10240
+ },
10241
+ "profile": {
10242
+ "description": "Named auth profile to use",
10243
+ "env": "PDCLI_PROFILE",
10244
+ "helpGroup": "GLOBAL",
10245
+ "name": "profile",
10246
+ "hasDynamicHelp": false,
10247
+ "multiple": false,
10248
+ "type": "option"
10249
+ },
10250
+ "no-color": {
10251
+ "description": "Disable color output",
10252
+ "helpGroup": "GLOBAL",
10253
+ "name": "no-color",
10254
+ "allowNo": false,
10255
+ "type": "boolean"
10256
+ },
10257
+ "verbose": {
10258
+ "description": "Show detailed API request/response on errors",
10259
+ "helpGroup": "GLOBAL",
10260
+ "name": "verbose",
10261
+ "allowNo": false,
10262
+ "type": "boolean"
10263
+ },
10264
+ "no-retry": {
10265
+ "description": "Disable automatic retry on rate limits and 5xx errors",
10266
+ "helpGroup": "GLOBAL",
10267
+ "name": "no-retry",
10268
+ "allowNo": false,
10269
+ "type": "boolean"
10270
+ },
10271
+ "timeout": {
10272
+ "description": "Request timeout in milliseconds",
10273
+ "helpGroup": "GLOBAL",
10274
+ "name": "timeout",
10275
+ "hasDynamicHelp": false,
10276
+ "multiple": false,
10277
+ "type": "option"
10278
+ },
10279
+ "limit": {
10280
+ "description": "Maximum number of items to return (lists)",
10281
+ "helpGroup": "GLOBAL",
10282
+ "name": "limit",
10283
+ "hasDynamicHelp": false,
10284
+ "multiple": false,
10285
+ "type": "option"
10286
+ },
10287
+ "title": {
10288
+ "description": "Project title",
10289
+ "name": "title",
10290
+ "hasDynamicHelp": false,
10291
+ "multiple": false,
10292
+ "type": "option"
10293
+ },
10294
+ "description": {
10295
+ "description": "Project description",
10296
+ "name": "description",
10297
+ "hasDynamicHelp": false,
10298
+ "multiple": false,
10299
+ "type": "option"
10300
+ },
10301
+ "status": {
10302
+ "description": "Project status",
10303
+ "name": "status",
10304
+ "hasDynamicHelp": false,
10305
+ "multiple": false,
10306
+ "type": "option"
10307
+ },
10308
+ "start-date": {
10309
+ "description": "Start date (YYYY-MM-DD)",
10310
+ "name": "start-date",
10311
+ "hasDynamicHelp": false,
10312
+ "multiple": false,
10313
+ "type": "option"
10314
+ },
10315
+ "end-date": {
10316
+ "description": "End date (YYYY-MM-DD)",
10317
+ "name": "end-date",
10318
+ "hasDynamicHelp": false,
10319
+ "multiple": false,
10320
+ "type": "option"
10321
+ },
10322
+ "owner": {
10323
+ "description": "Owner (user) ID",
10324
+ "name": "owner",
10325
+ "hasDynamicHelp": false,
10326
+ "multiple": false,
10327
+ "type": "option"
10328
+ },
10329
+ "board": {
10330
+ "description": "Board ID",
10331
+ "name": "board",
10332
+ "hasDynamicHelp": false,
10333
+ "multiple": false,
10334
+ "type": "option"
10335
+ },
10336
+ "phase": {
10337
+ "description": "Phase ID",
10338
+ "name": "phase",
10339
+ "hasDynamicHelp": false,
10340
+ "multiple": false,
10341
+ "type": "option"
10342
+ },
10343
+ "body": {
10344
+ "description": "Raw JSON body to merge (flags win)",
10345
+ "name": "body",
10346
+ "hasDynamicHelp": false,
10347
+ "multiple": false,
10348
+ "type": "option"
10349
+ }
10350
+ },
10351
+ "hasDynamicHelp": false,
10352
+ "hiddenAliases": [],
10353
+ "id": "project:update",
10354
+ "pluginAlias": "@wavyx/pdcli",
10355
+ "pluginName": "@wavyx/pdcli",
10356
+ "pluginType": "core",
10357
+ "strict": true,
10358
+ "enableJsonFlag": false,
10359
+ "isESM": true,
10360
+ "relativePath": [
10361
+ "src",
10362
+ "commands",
10363
+ "project",
10364
+ "update.js"
10365
+ ]
10366
+ },
10367
+ "stage:get": {
10368
+ "aliases": [],
10369
+ "args": {
10370
+ "id": {
10371
+ "description": "Stage ID",
10372
+ "name": "id",
10373
+ "required": true
10374
+ }
10375
+ },
10376
+ "description": "Get a stage by ID",
10377
+ "examples": [
10378
+ "<%= config.bin %> stage get 5",
10379
+ "<%= config.bin %> stage get 5 --output json"
10380
+ ],
10381
+ "flags": {
10382
+ "output": {
10383
+ "char": "o",
10384
+ "description": "Output format",
10385
+ "helpGroup": "GLOBAL",
10386
+ "name": "output",
10387
+ "hasDynamicHelp": false,
10388
+ "multiple": false,
10389
+ "options": [
10390
+ "table",
10391
+ "json",
10392
+ "yaml",
10393
+ "csv"
10394
+ ],
10395
+ "type": "option"
10396
+ },
10397
+ "jq": {
10398
+ "description": "jq expression to filter JSON output",
10399
+ "helpGroup": "GLOBAL",
10400
+ "name": "jq",
10401
+ "hasDynamicHelp": false,
10402
+ "multiple": false,
10403
+ "type": "option"
10404
+ },
10405
+ "fields": {
10406
+ "description": "Comma-separated fields to display",
10407
+ "helpGroup": "GLOBAL",
10408
+ "name": "fields",
10409
+ "hasDynamicHelp": false,
10410
+ "multiple": false,
10411
+ "type": "option"
10412
+ },
10413
+ "resolve-fields": {
10414
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10415
+ "helpGroup": "GLOBAL",
10416
+ "name": "resolve-fields",
10417
+ "allowNo": false,
10418
+ "type": "boolean"
10419
+ },
10420
+ "profile": {
10421
+ "description": "Named auth profile to use",
10422
+ "env": "PDCLI_PROFILE",
10423
+ "helpGroup": "GLOBAL",
10424
+ "name": "profile",
10425
+ "hasDynamicHelp": false,
10426
+ "multiple": false,
10427
+ "type": "option"
10428
+ },
10429
+ "no-color": {
10430
+ "description": "Disable color output",
10431
+ "helpGroup": "GLOBAL",
10432
+ "name": "no-color",
10433
+ "allowNo": false,
10434
+ "type": "boolean"
10435
+ },
10436
+ "verbose": {
10437
+ "description": "Show detailed API request/response on errors",
10438
+ "helpGroup": "GLOBAL",
10439
+ "name": "verbose",
10440
+ "allowNo": false,
10441
+ "type": "boolean"
10442
+ },
10443
+ "no-retry": {
10444
+ "description": "Disable automatic retry on rate limits and 5xx errors",
10445
+ "helpGroup": "GLOBAL",
10446
+ "name": "no-retry",
10447
+ "allowNo": false,
10448
+ "type": "boolean"
10449
+ },
10450
+ "timeout": {
10451
+ "description": "Request timeout in milliseconds",
10452
+ "helpGroup": "GLOBAL",
10453
+ "name": "timeout",
10454
+ "hasDynamicHelp": false,
10455
+ "multiple": false,
10456
+ "type": "option"
10457
+ },
10458
+ "limit": {
10459
+ "description": "Maximum number of items to return (lists)",
10460
+ "helpGroup": "GLOBAL",
10461
+ "name": "limit",
10462
+ "hasDynamicHelp": false,
10463
+ "multiple": false,
10464
+ "type": "option"
10465
+ }
10466
+ },
10467
+ "hasDynamicHelp": false,
10468
+ "hiddenAliases": [],
10469
+ "id": "stage:get",
10470
+ "pluginAlias": "@wavyx/pdcli",
10471
+ "pluginName": "@wavyx/pdcli",
10472
+ "pluginType": "core",
10473
+ "strict": true,
10474
+ "enableJsonFlag": false,
10475
+ "isESM": true,
10476
+ "relativePath": [
10477
+ "src",
10478
+ "commands",
10479
+ "stage",
10480
+ "get.js"
10481
+ ]
10482
+ },
10483
+ "stage:list": {
10484
+ "aliases": [],
10485
+ "args": {},
10486
+ "description": "List stages",
10487
+ "examples": [
10488
+ "<%= config.bin %> stage list",
10489
+ "<%= config.bin %> stage list --pipeline 1 --output json"
10490
+ ],
10491
+ "flags": {
10492
+ "output": {
10493
+ "char": "o",
10494
+ "description": "Output format",
10495
+ "helpGroup": "GLOBAL",
10496
+ "name": "output",
10497
+ "hasDynamicHelp": false,
10498
+ "multiple": false,
10499
+ "options": [
10500
+ "table",
10501
+ "json",
10502
+ "yaml",
10503
+ "csv"
10504
+ ],
10505
+ "type": "option"
10506
+ },
10507
+ "jq": {
10508
+ "description": "jq expression to filter JSON output",
10509
+ "helpGroup": "GLOBAL",
10510
+ "name": "jq",
10511
+ "hasDynamicHelp": false,
10512
+ "multiple": false,
10513
+ "type": "option"
10514
+ },
10515
+ "fields": {
10516
+ "description": "Comma-separated fields to display",
10517
+ "helpGroup": "GLOBAL",
10518
+ "name": "fields",
10519
+ "hasDynamicHelp": false,
10520
+ "multiple": false,
10521
+ "type": "option"
10522
+ },
10523
+ "resolve-fields": {
10524
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10525
+ "helpGroup": "GLOBAL",
10526
+ "name": "resolve-fields",
10527
+ "allowNo": false,
10528
+ "type": "boolean"
10529
+ },
10530
+ "profile": {
10531
+ "description": "Named auth profile to use",
10532
+ "env": "PDCLI_PROFILE",
10533
+ "helpGroup": "GLOBAL",
10534
+ "name": "profile",
10535
+ "hasDynamicHelp": false,
10536
+ "multiple": false,
10537
+ "type": "option"
10538
+ },
10539
+ "no-color": {
10540
+ "description": "Disable color output",
10541
+ "helpGroup": "GLOBAL",
10542
+ "name": "no-color",
10543
+ "allowNo": false,
10544
+ "type": "boolean"
10545
+ },
10546
+ "verbose": {
10547
+ "description": "Show detailed API request/response on errors",
10548
+ "helpGroup": "GLOBAL",
10549
+ "name": "verbose",
10550
+ "allowNo": false,
10551
+ "type": "boolean"
10552
+ },
10553
+ "no-retry": {
10554
+ "description": "Disable automatic retry on rate limits and 5xx errors",
10555
+ "helpGroup": "GLOBAL",
10556
+ "name": "no-retry",
10557
+ "allowNo": false,
10558
+ "type": "boolean"
10559
+ },
10560
+ "timeout": {
10561
+ "description": "Request timeout in milliseconds",
10562
+ "helpGroup": "GLOBAL",
10563
+ "name": "timeout",
10564
+ "hasDynamicHelp": false,
10565
+ "multiple": false,
10566
+ "type": "option"
10567
+ },
10568
+ "limit": {
10569
+ "description": "Maximum number of items to return (lists)",
10570
+ "helpGroup": "GLOBAL",
10571
+ "name": "limit",
10572
+ "hasDynamicHelp": false,
10573
+ "multiple": false,
10574
+ "type": "option"
10575
+ },
10576
+ "pipeline": {
10577
+ "description": "Filter by pipeline ID",
10578
+ "name": "pipeline",
10579
+ "hasDynamicHelp": false,
10580
+ "multiple": false,
10581
+ "type": "option"
10582
+ }
10583
+ },
10584
+ "hasDynamicHelp": false,
10585
+ "hiddenAliases": [],
10586
+ "id": "stage:list",
10587
+ "pluginAlias": "@wavyx/pdcli",
10588
+ "pluginName": "@wavyx/pdcli",
10589
+ "pluginType": "core",
10590
+ "strict": true,
10591
+ "enableJsonFlag": false,
10592
+ "isESM": true,
10593
+ "relativePath": [
10594
+ "src",
10595
+ "commands",
10596
+ "stage",
10597
+ "list.js"
10598
+ ]
10599
+ },
10600
+ "user:find": {
10601
+ "aliases": [],
10602
+ "args": {
10603
+ "term": {
10604
+ "description": "Search term",
10605
+ "name": "term",
10606
+ "required": true
10607
+ }
10608
+ },
10609
+ "description": "Find users by name",
10610
+ "examples": [
10611
+ "<%= config.bin %> user find \"jane\"",
10612
+ "<%= config.bin %> user find \"jane@acme.com\" --by-email --output json"
10613
+ ],
10614
+ "flags": {
10615
+ "output": {
10616
+ "char": "o",
10617
+ "description": "Output format",
10618
+ "helpGroup": "GLOBAL",
10619
+ "name": "output",
10620
+ "hasDynamicHelp": false,
10621
+ "multiple": false,
10622
+ "options": [
10623
+ "table",
10624
+ "json",
10625
+ "yaml",
10626
+ "csv"
10627
+ ],
10628
+ "type": "option"
10629
+ },
10630
+ "jq": {
10631
+ "description": "jq expression to filter JSON output",
10632
+ "helpGroup": "GLOBAL",
10633
+ "name": "jq",
10634
+ "hasDynamicHelp": false,
10635
+ "multiple": false,
10636
+ "type": "option"
10637
+ },
10638
+ "fields": {
10639
+ "description": "Comma-separated fields to display",
10640
+ "helpGroup": "GLOBAL",
10641
+ "name": "fields",
10642
+ "hasDynamicHelp": false,
10643
+ "multiple": false,
10644
+ "type": "option"
10645
+ },
10646
+ "resolve-fields": {
10647
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10648
+ "helpGroup": "GLOBAL",
10649
+ "name": "resolve-fields",
10650
+ "allowNo": false,
10651
+ "type": "boolean"
10652
+ },
10653
+ "profile": {
10654
+ "description": "Named auth profile to use",
10655
+ "env": "PDCLI_PROFILE",
10656
+ "helpGroup": "GLOBAL",
10657
+ "name": "profile",
10658
+ "hasDynamicHelp": false,
10659
+ "multiple": false,
10660
+ "type": "option"
10661
+ },
10662
+ "no-color": {
10663
+ "description": "Disable color output",
10664
+ "helpGroup": "GLOBAL",
10665
+ "name": "no-color",
10666
+ "allowNo": false,
10667
+ "type": "boolean"
10668
+ },
10669
+ "verbose": {
10670
+ "description": "Show detailed API request/response on errors",
10671
+ "helpGroup": "GLOBAL",
10672
+ "name": "verbose",
10673
+ "allowNo": false,
10674
+ "type": "boolean"
10675
+ },
10676
+ "no-retry": {
10677
+ "description": "Disable automatic retry on rate limits and 5xx errors",
10678
+ "helpGroup": "GLOBAL",
10679
+ "name": "no-retry",
10680
+ "allowNo": false,
10681
+ "type": "boolean"
10682
+ },
10683
+ "timeout": {
10684
+ "description": "Request timeout in milliseconds",
10685
+ "helpGroup": "GLOBAL",
10686
+ "name": "timeout",
10687
+ "hasDynamicHelp": false,
10688
+ "multiple": false,
10689
+ "type": "option"
10690
+ },
10691
+ "limit": {
10692
+ "description": "Maximum number of items to return (lists)",
10693
+ "helpGroup": "GLOBAL",
10694
+ "name": "limit",
10695
+ "hasDynamicHelp": false,
10696
+ "multiple": false,
10697
+ "type": "option"
10698
+ },
10699
+ "by-email": {
10700
+ "description": "Match the term against email addresses only",
10701
+ "name": "by-email",
10702
+ "allowNo": false,
10703
+ "type": "boolean"
10704
+ }
10705
+ },
10706
+ "hasDynamicHelp": false,
10707
+ "hiddenAliases": [],
10708
+ "id": "user:find",
10709
+ "pluginAlias": "@wavyx/pdcli",
10710
+ "pluginName": "@wavyx/pdcli",
10711
+ "pluginType": "core",
10712
+ "strict": true,
10713
+ "enableJsonFlag": false,
10714
+ "isESM": true,
10715
+ "relativePath": [
10716
+ "src",
10717
+ "commands",
10718
+ "user",
10719
+ "find.js"
10720
+ ]
10721
+ },
10722
+ "user:list": {
10723
+ "aliases": [],
10724
+ "args": {},
10725
+ "description": "List all users",
10726
+ "examples": [
10727
+ "<%= config.bin %> user list",
10728
+ "<%= config.bin %> user list --output json"
10729
+ ],
10730
+ "flags": {
10731
+ "output": {
10732
+ "char": "o",
10733
+ "description": "Output format",
10734
+ "helpGroup": "GLOBAL",
10735
+ "name": "output",
10736
+ "hasDynamicHelp": false,
10737
+ "multiple": false,
10738
+ "options": [
10739
+ "table",
10740
+ "json",
10741
+ "yaml",
10742
+ "csv"
10743
+ ],
10744
+ "type": "option"
10745
+ },
10746
+ "jq": {
10747
+ "description": "jq expression to filter JSON output",
10748
+ "helpGroup": "GLOBAL",
10749
+ "name": "jq",
10750
+ "hasDynamicHelp": false,
10751
+ "multiple": false,
10752
+ "type": "option"
10753
+ },
10754
+ "fields": {
10755
+ "description": "Comma-separated fields to display",
10756
+ "helpGroup": "GLOBAL",
10757
+ "name": "fields",
10758
+ "hasDynamicHelp": false,
10759
+ "multiple": false,
10760
+ "type": "option"
10761
+ },
10762
+ "resolve-fields": {
10763
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10764
+ "helpGroup": "GLOBAL",
10765
+ "name": "resolve-fields",
10766
+ "allowNo": false,
10767
+ "type": "boolean"
10768
+ },
10769
+ "profile": {
10770
+ "description": "Named auth profile to use",
10771
+ "env": "PDCLI_PROFILE",
10772
+ "helpGroup": "GLOBAL",
10773
+ "name": "profile",
10774
+ "hasDynamicHelp": false,
10775
+ "multiple": false,
10776
+ "type": "option"
10777
+ },
10778
+ "no-color": {
10779
+ "description": "Disable color output",
10780
+ "helpGroup": "GLOBAL",
10781
+ "name": "no-color",
10782
+ "allowNo": false,
10783
+ "type": "boolean"
10784
+ },
10785
+ "verbose": {
10786
+ "description": "Show detailed API request/response on errors",
10787
+ "helpGroup": "GLOBAL",
10788
+ "name": "verbose",
10789
+ "allowNo": false,
10790
+ "type": "boolean"
10791
+ },
10792
+ "no-retry": {
10793
+ "description": "Disable automatic retry on rate limits and 5xx errors",
10794
+ "helpGroup": "GLOBAL",
10795
+ "name": "no-retry",
10796
+ "allowNo": false,
10797
+ "type": "boolean"
10798
+ },
10799
+ "timeout": {
10800
+ "description": "Request timeout in milliseconds",
10801
+ "helpGroup": "GLOBAL",
10802
+ "name": "timeout",
10803
+ "hasDynamicHelp": false,
10804
+ "multiple": false,
10805
+ "type": "option"
10806
+ },
10807
+ "limit": {
10808
+ "description": "Maximum number of items to return (lists)",
10809
+ "helpGroup": "GLOBAL",
10810
+ "name": "limit",
10811
+ "hasDynamicHelp": false,
10812
+ "multiple": false,
10813
+ "type": "option"
10814
+ }
10815
+ },
10816
+ "hasDynamicHelp": false,
10817
+ "hiddenAliases": [],
10818
+ "id": "user:list",
10819
+ "pluginAlias": "@wavyx/pdcli",
10820
+ "pluginName": "@wavyx/pdcli",
10821
+ "pluginType": "core",
10822
+ "strict": true,
10823
+ "enableJsonFlag": false,
10824
+ "isESM": true,
10825
+ "relativePath": [
10826
+ "src",
10827
+ "commands",
10828
+ "user",
9926
10829
  "list.js"
9927
10830
  ]
9928
10831
  },
9929
- "profile:use": {
10832
+ "user:me": {
10833
+ "aliases": [],
10834
+ "args": {},
10835
+ "description": "Show the authenticated user",
10836
+ "examples": [
10837
+ "<%= config.bin %> user me"
10838
+ ],
10839
+ "flags": {
10840
+ "output": {
10841
+ "char": "o",
10842
+ "description": "Output format",
10843
+ "helpGroup": "GLOBAL",
10844
+ "name": "output",
10845
+ "hasDynamicHelp": false,
10846
+ "multiple": false,
10847
+ "options": [
10848
+ "table",
10849
+ "json",
10850
+ "yaml",
10851
+ "csv"
10852
+ ],
10853
+ "type": "option"
10854
+ },
10855
+ "jq": {
10856
+ "description": "jq expression to filter JSON output",
10857
+ "helpGroup": "GLOBAL",
10858
+ "name": "jq",
10859
+ "hasDynamicHelp": false,
10860
+ "multiple": false,
10861
+ "type": "option"
10862
+ },
10863
+ "fields": {
10864
+ "description": "Comma-separated fields to display",
10865
+ "helpGroup": "GLOBAL",
10866
+ "name": "fields",
10867
+ "hasDynamicHelp": false,
10868
+ "multiple": false,
10869
+ "type": "option"
10870
+ },
10871
+ "resolve-fields": {
10872
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10873
+ "helpGroup": "GLOBAL",
10874
+ "name": "resolve-fields",
10875
+ "allowNo": false,
10876
+ "type": "boolean"
10877
+ },
10878
+ "profile": {
10879
+ "description": "Named auth profile to use",
10880
+ "env": "PDCLI_PROFILE",
10881
+ "helpGroup": "GLOBAL",
10882
+ "name": "profile",
10883
+ "hasDynamicHelp": false,
10884
+ "multiple": false,
10885
+ "type": "option"
10886
+ },
10887
+ "no-color": {
10888
+ "description": "Disable color output",
10889
+ "helpGroup": "GLOBAL",
10890
+ "name": "no-color",
10891
+ "allowNo": false,
10892
+ "type": "boolean"
10893
+ },
10894
+ "verbose": {
10895
+ "description": "Show detailed API request/response on errors",
10896
+ "helpGroup": "GLOBAL",
10897
+ "name": "verbose",
10898
+ "allowNo": false,
10899
+ "type": "boolean"
10900
+ },
10901
+ "no-retry": {
10902
+ "description": "Disable automatic retry on rate limits and 5xx errors",
10903
+ "helpGroup": "GLOBAL",
10904
+ "name": "no-retry",
10905
+ "allowNo": false,
10906
+ "type": "boolean"
10907
+ },
10908
+ "timeout": {
10909
+ "description": "Request timeout in milliseconds",
10910
+ "helpGroup": "GLOBAL",
10911
+ "name": "timeout",
10912
+ "hasDynamicHelp": false,
10913
+ "multiple": false,
10914
+ "type": "option"
10915
+ },
10916
+ "limit": {
10917
+ "description": "Maximum number of items to return (lists)",
10918
+ "helpGroup": "GLOBAL",
10919
+ "name": "limit",
10920
+ "hasDynamicHelp": false,
10921
+ "multiple": false,
10922
+ "type": "option"
10923
+ }
10924
+ },
10925
+ "hasDynamicHelp": false,
10926
+ "hiddenAliases": [],
10927
+ "id": "user:me",
10928
+ "pluginAlias": "@wavyx/pdcli",
10929
+ "pluginName": "@wavyx/pdcli",
10930
+ "pluginType": "core",
10931
+ "strict": true,
10932
+ "enableJsonFlag": false,
10933
+ "isESM": true,
10934
+ "relativePath": [
10935
+ "src",
10936
+ "commands",
10937
+ "user",
10938
+ "me.js"
10939
+ ]
10940
+ },
10941
+ "webhook:create": {
10942
+ "aliases": [],
10943
+ "args": {},
10944
+ "description": "Create a webhook",
10945
+ "examples": [
10946
+ "<%= config.bin %> webhook create --url https://example.com/hook --event-action change --event-object deal",
10947
+ "<%= config.bin %> webhook create --url https://example.com/hook --event-action \"*\" --event-object \"*\""
10948
+ ],
10949
+ "flags": {
10950
+ "output": {
10951
+ "char": "o",
10952
+ "description": "Output format",
10953
+ "helpGroup": "GLOBAL",
10954
+ "name": "output",
10955
+ "hasDynamicHelp": false,
10956
+ "multiple": false,
10957
+ "options": [
10958
+ "table",
10959
+ "json",
10960
+ "yaml",
10961
+ "csv"
10962
+ ],
10963
+ "type": "option"
10964
+ },
10965
+ "jq": {
10966
+ "description": "jq expression to filter JSON output",
10967
+ "helpGroup": "GLOBAL",
10968
+ "name": "jq",
10969
+ "hasDynamicHelp": false,
10970
+ "multiple": false,
10971
+ "type": "option"
10972
+ },
10973
+ "fields": {
10974
+ "description": "Comma-separated fields to display",
10975
+ "helpGroup": "GLOBAL",
10976
+ "name": "fields",
10977
+ "hasDynamicHelp": false,
10978
+ "multiple": false,
10979
+ "type": "option"
10980
+ },
10981
+ "resolve-fields": {
10982
+ "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10983
+ "helpGroup": "GLOBAL",
10984
+ "name": "resolve-fields",
10985
+ "allowNo": false,
10986
+ "type": "boolean"
10987
+ },
10988
+ "profile": {
10989
+ "description": "Named auth profile to use",
10990
+ "env": "PDCLI_PROFILE",
10991
+ "helpGroup": "GLOBAL",
10992
+ "name": "profile",
10993
+ "hasDynamicHelp": false,
10994
+ "multiple": false,
10995
+ "type": "option"
10996
+ },
10997
+ "no-color": {
10998
+ "description": "Disable color output",
10999
+ "helpGroup": "GLOBAL",
11000
+ "name": "no-color",
11001
+ "allowNo": false,
11002
+ "type": "boolean"
11003
+ },
11004
+ "verbose": {
11005
+ "description": "Show detailed API request/response on errors",
11006
+ "helpGroup": "GLOBAL",
11007
+ "name": "verbose",
11008
+ "allowNo": false,
11009
+ "type": "boolean"
11010
+ },
11011
+ "no-retry": {
11012
+ "description": "Disable automatic retry on rate limits and 5xx errors",
11013
+ "helpGroup": "GLOBAL",
11014
+ "name": "no-retry",
11015
+ "allowNo": false,
11016
+ "type": "boolean"
11017
+ },
11018
+ "timeout": {
11019
+ "description": "Request timeout in milliseconds",
11020
+ "helpGroup": "GLOBAL",
11021
+ "name": "timeout",
11022
+ "hasDynamicHelp": false,
11023
+ "multiple": false,
11024
+ "type": "option"
11025
+ },
11026
+ "limit": {
11027
+ "description": "Maximum number of items to return (lists)",
11028
+ "helpGroup": "GLOBAL",
11029
+ "name": "limit",
11030
+ "hasDynamicHelp": false,
11031
+ "multiple": false,
11032
+ "type": "option"
11033
+ },
11034
+ "url": {
11035
+ "description": "Webhook subscription URL",
11036
+ "name": "url",
11037
+ "required": true,
11038
+ "hasDynamicHelp": false,
11039
+ "multiple": false,
11040
+ "type": "option"
11041
+ },
11042
+ "event-action": {
11043
+ "description": "Event action to subscribe to",
11044
+ "name": "event-action",
11045
+ "required": true,
11046
+ "hasDynamicHelp": false,
11047
+ "multiple": false,
11048
+ "options": [
11049
+ "create",
11050
+ "change",
11051
+ "delete",
11052
+ "*"
11053
+ ],
11054
+ "type": "option"
11055
+ },
11056
+ "event-object": {
11057
+ "description": "Event object to subscribe to",
11058
+ "name": "event-object",
11059
+ "required": true,
11060
+ "hasDynamicHelp": false,
11061
+ "multiple": false,
11062
+ "options": [
11063
+ "activity",
11064
+ "board",
11065
+ "deal",
11066
+ "deal_installment",
11067
+ "deal_product",
11068
+ "lead",
11069
+ "note",
11070
+ "organization",
11071
+ "person",
11072
+ "phase",
11073
+ "pipeline",
11074
+ "product",
11075
+ "project",
11076
+ "stage",
11077
+ "task",
11078
+ "user",
11079
+ "*"
11080
+ ],
11081
+ "type": "option"
11082
+ },
11083
+ "name": {
11084
+ "description": "Webhook name",
11085
+ "name": "name",
11086
+ "hasDynamicHelp": false,
11087
+ "multiple": false,
11088
+ "type": "option"
11089
+ },
11090
+ "version": {
11091
+ "description": "Webhook payload version",
11092
+ "name": "version",
11093
+ "default": "2.0",
11094
+ "hasDynamicHelp": false,
11095
+ "multiple": false,
11096
+ "type": "option"
11097
+ },
11098
+ "http-auth-user": {
11099
+ "dependsOn": [
11100
+ "http-auth-password"
11101
+ ],
11102
+ "description": "HTTP basic auth username for the endpoint",
11103
+ "name": "http-auth-user",
11104
+ "hasDynamicHelp": false,
11105
+ "multiple": false,
11106
+ "type": "option"
11107
+ },
11108
+ "http-auth-password": {
11109
+ "dependsOn": [
11110
+ "http-auth-user"
11111
+ ],
11112
+ "description": "HTTP basic auth password for the endpoint",
11113
+ "name": "http-auth-password",
11114
+ "hasDynamicHelp": false,
11115
+ "multiple": false,
11116
+ "type": "option"
11117
+ }
11118
+ },
11119
+ "hasDynamicHelp": false,
11120
+ "hiddenAliases": [],
11121
+ "id": "webhook:create",
11122
+ "pluginAlias": "@wavyx/pdcli",
11123
+ "pluginName": "@wavyx/pdcli",
11124
+ "pluginType": "core",
11125
+ "strict": true,
11126
+ "enableJsonFlag": false,
11127
+ "isESM": true,
11128
+ "relativePath": [
11129
+ "src",
11130
+ "commands",
11131
+ "webhook",
11132
+ "create.js"
11133
+ ]
11134
+ },
11135
+ "webhook:delete": {
9930
11136
  "aliases": [],
9931
11137
  "args": {
9932
- "name": {
9933
- "description": "Profile name to activate",
9934
- "name": "name",
11138
+ "id": {
11139
+ "description": "Webhook ID",
11140
+ "name": "id",
9935
11141
  "required": true
9936
11142
  }
9937
11143
  },
9938
- "description": "Switch the active profile",
11144
+ "description": "Delete a webhook",
9939
11145
  "examples": [
9940
- "<%= config.bin %> profile use work"
11146
+ "<%= config.bin %> webhook delete 3",
11147
+ "<%= config.bin %> webhook delete 3 --yes"
9941
11148
  ],
9942
11149
  "flags": {
9943
11150
  "output": {
@@ -10023,33 +11230,38 @@
10023
11230
  "hasDynamicHelp": false,
10024
11231
  "multiple": false,
10025
11232
  "type": "option"
11233
+ },
11234
+ "yes": {
11235
+ "char": "y",
11236
+ "description": "Skip the confirmation prompt",
11237
+ "name": "yes",
11238
+ "allowNo": false,
11239
+ "type": "boolean"
10026
11240
  }
10027
11241
  },
10028
11242
  "hasDynamicHelp": false,
10029
11243
  "hiddenAliases": [],
10030
- "id": "profile:use",
11244
+ "id": "webhook:delete",
10031
11245
  "pluginAlias": "@wavyx/pdcli",
10032
11246
  "pluginName": "@wavyx/pdcli",
10033
11247
  "pluginType": "core",
10034
11248
  "strict": true,
10035
11249
  "enableJsonFlag": false,
10036
- "skipAuth": true,
10037
11250
  "isESM": true,
10038
11251
  "relativePath": [
10039
11252
  "src",
10040
11253
  "commands",
10041
- "profile",
10042
- "use.js"
11254
+ "webhook",
11255
+ "delete.js"
10043
11256
  ]
10044
11257
  },
10045
- "project:create": {
11258
+ "webhook:list": {
10046
11259
  "aliases": [],
10047
11260
  "args": {},
10048
- "description": "Create a project",
11261
+ "description": "List webhooks",
10049
11262
  "examples": [
10050
- "<%= config.bin %> project create --title \"Launch\"",
10051
- "<%= config.bin %> project create --title \"Launch\" --owner 3 --status open",
10052
- "<%= config.bin %> project create --title \"Raw\" --body '{\"deal_ids\":[1,2]}'"
11263
+ "<%= config.bin %> webhook list",
11264
+ "<%= config.bin %> webhook list --output json"
10053
11265
  ],
10054
11266
  "flags": {
10055
11267
  "output": {
@@ -10135,75 +11347,11 @@
10135
11347
  "hasDynamicHelp": false,
10136
11348
  "multiple": false,
10137
11349
  "type": "option"
10138
- },
10139
- "title": {
10140
- "description": "Project title",
10141
- "name": "title",
10142
- "required": true,
10143
- "hasDynamicHelp": false,
10144
- "multiple": false,
10145
- "type": "option"
10146
- },
10147
- "description": {
10148
- "description": "Project description",
10149
- "name": "description",
10150
- "hasDynamicHelp": false,
10151
- "multiple": false,
10152
- "type": "option"
10153
- },
10154
- "status": {
10155
- "description": "Project status",
10156
- "name": "status",
10157
- "hasDynamicHelp": false,
10158
- "multiple": false,
10159
- "type": "option"
10160
- },
10161
- "start-date": {
10162
- "description": "Start date (YYYY-MM-DD)",
10163
- "name": "start-date",
10164
- "hasDynamicHelp": false,
10165
- "multiple": false,
10166
- "type": "option"
10167
- },
10168
- "end-date": {
10169
- "description": "End date (YYYY-MM-DD)",
10170
- "name": "end-date",
10171
- "hasDynamicHelp": false,
10172
- "multiple": false,
10173
- "type": "option"
10174
- },
10175
- "owner": {
10176
- "description": "Owner (user) ID",
10177
- "name": "owner",
10178
- "hasDynamicHelp": false,
10179
- "multiple": false,
10180
- "type": "option"
10181
- },
10182
- "board": {
10183
- "description": "Board ID",
10184
- "name": "board",
10185
- "hasDynamicHelp": false,
10186
- "multiple": false,
10187
- "type": "option"
10188
- },
10189
- "phase": {
10190
- "description": "Phase ID",
10191
- "name": "phase",
10192
- "hasDynamicHelp": false,
10193
- "multiple": false,
10194
- "type": "option"
10195
- },
10196
- "body": {
10197
- "description": "Raw JSON body to merge (flags win)",
10198
- "name": "body",
10199
- "hasDynamicHelp": false,
10200
- "multiple": false,
10201
- "type": "option"
10202
11350
  }
10203
11351
  },
10204
11352
  "hasDynamicHelp": false,
10205
11353
  "hiddenAliases": [],
10206
- "id": "project:create",
11354
+ "id": "webhook:list",
10207
11355
  "pluginAlias": "@wavyx/pdcli",
10208
11356
  "pluginName": "@wavyx/pdcli",
10209
11357
  "pluginType": "core",
@@ -10213,23 +11361,18 @@
10213
11361
  "relativePath": [
10214
11362
  "src",
10215
11363
  "commands",
10216
- "project",
10217
- "create.js"
11364
+ "webhook",
11365
+ "list.js"
10218
11366
  ]
10219
11367
  },
10220
- "project:delete": {
11368
+ "product:create": {
10221
11369
  "aliases": [],
10222
- "args": {
10223
- "id": {
10224
- "description": "Project ID",
10225
- "name": "id",
10226
- "required": true
10227
- }
10228
- },
10229
- "description": "Delete a project",
11370
+ "args": {},
11371
+ "description": "Create a product",
10230
11372
  "examples": [
10231
- "<%= config.bin %> project delete 7",
10232
- "<%= config.bin %> project delete 7 --yes"
11373
+ "<%= config.bin %> product create --name \"Widget\" --code W-1 --price 9.99 --currency EUR",
11374
+ "<%= config.bin %> product create --name \"Sized\" --field \"Material=Steel\"",
11375
+ "<%= config.bin %> product create --name \"Raw\" --body '{\"tax\":19}'"
10233
11376
  ],
10234
11377
  "flags": {
10235
11378
  "output": {
@@ -10305,28 +11448,91 @@
10305
11448
  "helpGroup": "GLOBAL",
10306
11449
  "name": "timeout",
10307
11450
  "hasDynamicHelp": false,
10308
- "multiple": false,
11451
+ "multiple": false,
11452
+ "type": "option"
11453
+ },
11454
+ "limit": {
11455
+ "description": "Maximum number of items to return (lists)",
11456
+ "helpGroup": "GLOBAL",
11457
+ "name": "limit",
11458
+ "hasDynamicHelp": false,
11459
+ "multiple": false,
11460
+ "type": "option"
11461
+ },
11462
+ "name": {
11463
+ "description": "Product name",
11464
+ "name": "name",
11465
+ "required": true,
11466
+ "hasDynamicHelp": false,
11467
+ "multiple": false,
11468
+ "type": "option"
11469
+ },
11470
+ "code": {
11471
+ "description": "Product code (SKU)",
11472
+ "name": "code",
11473
+ "hasDynamicHelp": false,
11474
+ "multiple": false,
11475
+ "type": "option"
11476
+ },
11477
+ "unit": {
11478
+ "description": "Unit of measure",
11479
+ "name": "unit",
11480
+ "hasDynamicHelp": false,
11481
+ "multiple": false,
11482
+ "type": "option"
11483
+ },
11484
+ "description": {
11485
+ "description": "Product description",
11486
+ "name": "description",
11487
+ "hasDynamicHelp": false,
11488
+ "multiple": false,
11489
+ "type": "option"
11490
+ },
11491
+ "owner": {
11492
+ "description": "Owner (user) ID",
11493
+ "name": "owner",
11494
+ "hasDynamicHelp": false,
11495
+ "multiple": false,
11496
+ "type": "option"
11497
+ },
11498
+ "price": {
11499
+ "dependsOn": [
11500
+ "currency"
11501
+ ],
11502
+ "description": "Unit price (requires --currency)",
11503
+ "name": "price",
11504
+ "hasDynamicHelp": false,
11505
+ "multiple": false,
11506
+ "type": "option"
11507
+ },
11508
+ "currency": {
11509
+ "dependsOn": [
11510
+ "price"
11511
+ ],
11512
+ "description": "Price currency (requires --price)",
11513
+ "name": "currency",
11514
+ "hasDynamicHelp": false,
11515
+ "multiple": false,
11516
+ "type": "option"
11517
+ },
11518
+ "field": {
11519
+ "description": "Custom/standard field as \"Name=Value\" (repeatable)",
11520
+ "name": "field",
11521
+ "hasDynamicHelp": false,
11522
+ "multiple": true,
10309
11523
  "type": "option"
10310
11524
  },
10311
- "limit": {
10312
- "description": "Maximum number of items to return (lists)",
10313
- "helpGroup": "GLOBAL",
10314
- "name": "limit",
11525
+ "body": {
11526
+ "description": "Raw JSON body to merge (flags win)",
11527
+ "name": "body",
10315
11528
  "hasDynamicHelp": false,
10316
11529
  "multiple": false,
10317
11530
  "type": "option"
10318
- },
10319
- "yes": {
10320
- "char": "y",
10321
- "description": "Skip the confirmation prompt",
10322
- "name": "yes",
10323
- "allowNo": false,
10324
- "type": "boolean"
10325
11531
  }
10326
11532
  },
10327
11533
  "hasDynamicHelp": false,
10328
11534
  "hiddenAliases": [],
10329
- "id": "project:delete",
11535
+ "id": "product:create",
10330
11536
  "pluginAlias": "@wavyx/pdcli",
10331
11537
  "pluginName": "@wavyx/pdcli",
10332
11538
  "pluginType": "core",
@@ -10336,23 +11542,23 @@
10336
11542
  "relativePath": [
10337
11543
  "src",
10338
11544
  "commands",
10339
- "project",
10340
- "delete.js"
11545
+ "product",
11546
+ "create.js"
10341
11547
  ]
10342
11548
  },
10343
- "project:get": {
11549
+ "product:delete": {
10344
11550
  "aliases": [],
10345
11551
  "args": {
10346
11552
  "id": {
10347
- "description": "Project ID",
11553
+ "description": "Product ID",
10348
11554
  "name": "id",
10349
11555
  "required": true
10350
11556
  }
10351
11557
  },
10352
- "description": "Get a project by ID",
11558
+ "description": "Delete a product",
10353
11559
  "examples": [
10354
- "<%= config.bin %> project get 3",
10355
- "<%= config.bin %> project get 3 --output json"
11560
+ "<%= config.bin %> product delete 7",
11561
+ "<%= config.bin %> product delete 7 --yes"
10356
11562
  ],
10357
11563
  "flags": {
10358
11564
  "output": {
@@ -10438,11 +11644,18 @@
10438
11644
  "hasDynamicHelp": false,
10439
11645
  "multiple": false,
10440
11646
  "type": "option"
11647
+ },
11648
+ "yes": {
11649
+ "char": "y",
11650
+ "description": "Skip the confirmation prompt",
11651
+ "name": "yes",
11652
+ "allowNo": false,
11653
+ "type": "boolean"
10441
11654
  }
10442
11655
  },
10443
11656
  "hasDynamicHelp": false,
10444
11657
  "hiddenAliases": [],
10445
- "id": "project:get",
11658
+ "id": "product:delete",
10446
11659
  "pluginAlias": "@wavyx/pdcli",
10447
11660
  "pluginName": "@wavyx/pdcli",
10448
11661
  "pluginType": "core",
@@ -10452,17 +11665,23 @@
10452
11665
  "relativePath": [
10453
11666
  "src",
10454
11667
  "commands",
10455
- "project",
10456
- "get.js"
11668
+ "product",
11669
+ "delete.js"
10457
11670
  ]
10458
11671
  },
10459
- "project:list": {
11672
+ "product:get": {
10460
11673
  "aliases": [],
10461
- "args": {},
10462
- "description": "List projects",
11674
+ "args": {
11675
+ "id": {
11676
+ "description": "Product ID",
11677
+ "name": "id",
11678
+ "required": true
11679
+ }
11680
+ },
11681
+ "description": "Get a product by ID",
10463
11682
  "examples": [
10464
- "<%= config.bin %> project list",
10465
- "<%= config.bin %> project list --output json"
11683
+ "<%= config.bin %> product get 7",
11684
+ "<%= config.bin %> product get 7 --output json"
10466
11685
  ],
10467
11686
  "flags": {
10468
11687
  "output": {
@@ -10552,7 +11771,7 @@
10552
11771
  },
10553
11772
  "hasDynamicHelp": false,
10554
11773
  "hiddenAliases": [],
10555
- "id": "project:list",
11774
+ "id": "product:get",
10556
11775
  "pluginAlias": "@wavyx/pdcli",
10557
11776
  "pluginName": "@wavyx/pdcli",
10558
11777
  "pluginType": "core",
@@ -10562,24 +11781,17 @@
10562
11781
  "relativePath": [
10563
11782
  "src",
10564
11783
  "commands",
10565
- "project",
10566
- "list.js"
11784
+ "product",
11785
+ "get.js"
10567
11786
  ]
10568
11787
  },
10569
- "project:update": {
11788
+ "product:list": {
10570
11789
  "aliases": [],
10571
- "args": {
10572
- "id": {
10573
- "description": "Project ID",
10574
- "name": "id",
10575
- "required": true
10576
- }
10577
- },
10578
- "description": "Update a project (v2 PATCH — only provided fields change)",
11790
+ "args": {},
11791
+ "description": "List products",
10579
11792
  "examples": [
10580
- "<%= config.bin %> project update 7 --title \"Relaunch\"",
10581
- "<%= config.bin %> project update 7 --status closed",
10582
- "<%= config.bin %> project update 7 --owner 9"
11793
+ "<%= config.bin %> product list",
11794
+ "<%= config.bin %> product list --owner 3 --output json"
10583
11795
  ],
10584
11796
  "flags": {
10585
11797
  "output": {
@@ -10666,65 +11878,57 @@
10666
11878
  "multiple": false,
10667
11879
  "type": "option"
10668
11880
  },
10669
- "title": {
10670
- "description": "Project title",
10671
- "name": "title",
10672
- "hasDynamicHelp": false,
10673
- "multiple": false,
10674
- "type": "option"
10675
- },
10676
- "description": {
10677
- "description": "Project description",
10678
- "name": "description",
10679
- "hasDynamicHelp": false,
10680
- "multiple": false,
10681
- "type": "option"
10682
- },
10683
- "status": {
10684
- "description": "Project status",
10685
- "name": "status",
10686
- "hasDynamicHelp": false,
10687
- "multiple": false,
10688
- "type": "option"
10689
- },
10690
- "start-date": {
10691
- "description": "Start date (YYYY-MM-DD)",
10692
- "name": "start-date",
11881
+ "owner": {
11882
+ "description": "Filter by owner (user) ID",
11883
+ "name": "owner",
10693
11884
  "hasDynamicHelp": false,
10694
11885
  "multiple": false,
10695
11886
  "type": "option"
10696
11887
  },
10697
- "end-date": {
10698
- "description": "End date (YYYY-MM-DD)",
10699
- "name": "end-date",
11888
+ "filter": {
11889
+ "description": "Filter by saved filter ID",
11890
+ "name": "filter",
10700
11891
  "hasDynamicHelp": false,
10701
11892
  "multiple": false,
10702
11893
  "type": "option"
10703
11894
  },
10704
- "owner": {
10705
- "description": "Owner (user) ID",
10706
- "name": "owner",
11895
+ "ids": {
11896
+ "description": "Comma-separated IDs to fetch (max 100)",
11897
+ "exclusive": [
11898
+ "filter"
11899
+ ],
11900
+ "name": "ids",
10707
11901
  "hasDynamicHelp": false,
10708
11902
  "multiple": false,
10709
11903
  "type": "option"
10710
11904
  },
10711
- "board": {
10712
- "description": "Board ID",
10713
- "name": "board",
11905
+ "sort-by": {
11906
+ "description": "Sort field",
11907
+ "name": "sort-by",
10714
11908
  "hasDynamicHelp": false,
10715
11909
  "multiple": false,
11910
+ "options": [
11911
+ "id",
11912
+ "name",
11913
+ "add_time",
11914
+ "update_time"
11915
+ ],
10716
11916
  "type": "option"
10717
11917
  },
10718
- "phase": {
10719
- "description": "Phase ID",
10720
- "name": "phase",
11918
+ "sort-direction": {
11919
+ "description": "Sort direction",
11920
+ "name": "sort-direction",
10721
11921
  "hasDynamicHelp": false,
10722
11922
  "multiple": false,
11923
+ "options": [
11924
+ "asc",
11925
+ "desc"
11926
+ ],
10723
11927
  "type": "option"
10724
11928
  },
10725
- "body": {
10726
- "description": "Raw JSON body to merge (flags win)",
10727
- "name": "body",
11929
+ "updated-since": {
11930
+ "description": "Only items updated at/after this RFC3339 time (no fractional seconds)",
11931
+ "name": "updated-since",
10728
11932
  "hasDynamicHelp": false,
10729
11933
  "multiple": false,
10730
11934
  "type": "option"
@@ -10732,7 +11936,7 @@
10732
11936
  },
10733
11937
  "hasDynamicHelp": false,
10734
11938
  "hiddenAliases": [],
10735
- "id": "project:update",
11939
+ "id": "product:list",
10736
11940
  "pluginAlias": "@wavyx/pdcli",
10737
11941
  "pluginName": "@wavyx/pdcli",
10738
11942
  "pluginType": "core",
@@ -10742,16 +11946,24 @@
10742
11946
  "relativePath": [
10743
11947
  "src",
10744
11948
  "commands",
10745
- "project",
10746
- "update.js"
11949
+ "product",
11950
+ "list.js"
10747
11951
  ]
10748
11952
  },
10749
- "user:me": {
11953
+ "product:update": {
10750
11954
  "aliases": [],
10751
- "args": {},
10752
- "description": "Show the authenticated user",
11955
+ "args": {
11956
+ "id": {
11957
+ "description": "Product ID",
11958
+ "name": "id",
11959
+ "required": true
11960
+ }
11961
+ },
11962
+ "description": "Update a product (v2 PATCH — only provided fields change)",
10753
11963
  "examples": [
10754
- "<%= config.bin %> user me"
11964
+ "<%= config.bin %> product update 7 --name \"New name\"",
11965
+ "<%= config.bin %> product update 7 --price 12.50 --currency USD",
11966
+ "<%= config.bin %> product update 7 --field \"Material=Steel\""
10755
11967
  ],
10756
11968
  "flags": {
10757
11969
  "output": {
@@ -10837,119 +12049,72 @@
10837
12049
  "hasDynamicHelp": false,
10838
12050
  "multiple": false,
10839
12051
  "type": "option"
10840
- }
10841
- },
10842
- "hasDynamicHelp": false,
10843
- "hiddenAliases": [],
10844
- "id": "user:me",
10845
- "pluginAlias": "@wavyx/pdcli",
10846
- "pluginName": "@wavyx/pdcli",
10847
- "pluginType": "core",
10848
- "strict": true,
10849
- "enableJsonFlag": false,
10850
- "isESM": true,
10851
- "relativePath": [
10852
- "src",
10853
- "commands",
10854
- "user",
10855
- "me.js"
10856
- ]
10857
- },
10858
- "stage:get": {
10859
- "aliases": [],
10860
- "args": {
10861
- "id": {
10862
- "description": "Stage ID",
10863
- "name": "id",
10864
- "required": true
10865
- }
10866
- },
10867
- "description": "Get a stage by ID",
10868
- "examples": [
10869
- "<%= config.bin %> stage get 5",
10870
- "<%= config.bin %> stage get 5 --output json"
10871
- ],
10872
- "flags": {
10873
- "output": {
10874
- "char": "o",
10875
- "description": "Output format",
10876
- "helpGroup": "GLOBAL",
10877
- "name": "output",
12052
+ },
12053
+ "name": {
12054
+ "description": "Product name",
12055
+ "name": "name",
10878
12056
  "hasDynamicHelp": false,
10879
12057
  "multiple": false,
10880
- "options": [
10881
- "table",
10882
- "json",
10883
- "yaml",
10884
- "csv"
10885
- ],
10886
12058
  "type": "option"
10887
12059
  },
10888
- "jq": {
10889
- "description": "jq expression to filter JSON output",
10890
- "helpGroup": "GLOBAL",
10891
- "name": "jq",
12060
+ "code": {
12061
+ "description": "Product code (SKU)",
12062
+ "name": "code",
10892
12063
  "hasDynamicHelp": false,
10893
12064
  "multiple": false,
10894
12065
  "type": "option"
10895
12066
  },
10896
- "fields": {
10897
- "description": "Comma-separated fields to display",
10898
- "helpGroup": "GLOBAL",
10899
- "name": "fields",
12067
+ "unit": {
12068
+ "description": "Unit of measure",
12069
+ "name": "unit",
10900
12070
  "hasDynamicHelp": false,
10901
12071
  "multiple": false,
10902
12072
  "type": "option"
10903
12073
  },
10904
- "resolve-fields": {
10905
- "description": "Resolve custom-field hash keys to names (and option ids to labels) in json/yaml/csv output of get and core list commands",
10906
- "helpGroup": "GLOBAL",
10907
- "name": "resolve-fields",
10908
- "allowNo": false,
10909
- "type": "boolean"
12074
+ "description": {
12075
+ "description": "Product description",
12076
+ "name": "description",
12077
+ "hasDynamicHelp": false,
12078
+ "multiple": false,
12079
+ "type": "option"
10910
12080
  },
10911
- "profile": {
10912
- "description": "Named auth profile to use",
10913
- "env": "PDCLI_PROFILE",
10914
- "helpGroup": "GLOBAL",
10915
- "name": "profile",
12081
+ "owner": {
12082
+ "description": "Owner (user) ID",
12083
+ "name": "owner",
12084
+ "hasDynamicHelp": false,
12085
+ "multiple": false,
12086
+ "type": "option"
12087
+ },
12088
+ "price": {
12089
+ "dependsOn": [
12090
+ "currency"
12091
+ ],
12092
+ "description": "Unit price (requires --currency)",
12093
+ "name": "price",
12094
+ "hasDynamicHelp": false,
12095
+ "multiple": false,
12096
+ "type": "option"
12097
+ },
12098
+ "currency": {
12099
+ "dependsOn": [
12100
+ "price"
12101
+ ],
12102
+ "description": "Price currency (requires --price)",
12103
+ "name": "currency",
10916
12104
  "hasDynamicHelp": false,
10917
12105
  "multiple": false,
10918
12106
  "type": "option"
10919
12107
  },
10920
- "no-color": {
10921
- "description": "Disable color output",
10922
- "helpGroup": "GLOBAL",
10923
- "name": "no-color",
10924
- "allowNo": false,
10925
- "type": "boolean"
10926
- },
10927
- "verbose": {
10928
- "description": "Show detailed API request/response on errors",
10929
- "helpGroup": "GLOBAL",
10930
- "name": "verbose",
10931
- "allowNo": false,
10932
- "type": "boolean"
10933
- },
10934
- "no-retry": {
10935
- "description": "Disable automatic retry on rate limits and 5xx errors",
10936
- "helpGroup": "GLOBAL",
10937
- "name": "no-retry",
10938
- "allowNo": false,
10939
- "type": "boolean"
10940
- },
10941
- "timeout": {
10942
- "description": "Request timeout in milliseconds",
10943
- "helpGroup": "GLOBAL",
10944
- "name": "timeout",
12108
+ "field": {
12109
+ "description": "Custom/standard field as \"Name=Value\" (repeatable)",
12110
+ "name": "field",
10945
12111
  "hasDynamicHelp": false,
10946
- "multiple": false,
12112
+ "multiple": true,
10947
12113
  "type": "option"
10948
12114
  },
10949
- "limit": {
10950
- "description": "Maximum number of items to return (lists)",
10951
- "helpGroup": "GLOBAL",
10952
- "name": "limit",
12115
+ "body": {
12116
+ "description": "Raw JSON body to merge (flags win)",
12117
+ "name": "body",
10953
12118
  "hasDynamicHelp": false,
10954
12119
  "multiple": false,
10955
12120
  "type": "option"
@@ -10957,7 +12122,7 @@
10957
12122
  },
10958
12123
  "hasDynamicHelp": false,
10959
12124
  "hiddenAliases": [],
10960
- "id": "stage:get",
12125
+ "id": "product:update",
10961
12126
  "pluginAlias": "@wavyx/pdcli",
10962
12127
  "pluginName": "@wavyx/pdcli",
10963
12128
  "pluginType": "core",
@@ -10967,17 +12132,24 @@
10967
12132
  "relativePath": [
10968
12133
  "src",
10969
12134
  "commands",
10970
- "stage",
10971
- "get.js"
12135
+ "product",
12136
+ "update.js"
10972
12137
  ]
10973
12138
  },
10974
- "stage:list": {
12139
+ "deal:product:add": {
10975
12140
  "aliases": [],
10976
- "args": {},
10977
- "description": "List stages",
12141
+ "args": {
12142
+ "id": {
12143
+ "description": "Deal ID",
12144
+ "name": "id",
12145
+ "required": true
12146
+ }
12147
+ },
12148
+ "description": "Attach a product to a deal",
10978
12149
  "examples": [
10979
- "<%= config.bin %> stage list",
10980
- "<%= config.bin %> stage list --pipeline 1 --output json"
12150
+ "<%= config.bin %> deal product add 42 --product 10 --price 90",
12151
+ "<%= config.bin %> deal product add 42 --product 10 --price 90 --quantity 3",
12152
+ "<%= config.bin %> deal product add 42 --product 10 --price 90 --discount 10 --discount-type percentage"
10981
12153
  ],
10982
12154
  "flags": {
10983
12155
  "output": {
@@ -11064,9 +12236,58 @@
11064
12236
  "multiple": false,
11065
12237
  "type": "option"
11066
12238
  },
11067
- "pipeline": {
11068
- "description": "Filter by pipeline ID",
11069
- "name": "pipeline",
12239
+ "product": {
12240
+ "description": "Product ID",
12241
+ "name": "product",
12242
+ "required": true,
12243
+ "hasDynamicHelp": false,
12244
+ "multiple": false,
12245
+ "type": "option"
12246
+ },
12247
+ "price": {
12248
+ "description": "Item price (per unit)",
12249
+ "name": "price",
12250
+ "required": true,
12251
+ "hasDynamicHelp": false,
12252
+ "multiple": false,
12253
+ "type": "option"
12254
+ },
12255
+ "quantity": {
12256
+ "description": "Quantity",
12257
+ "name": "quantity",
12258
+ "default": "1",
12259
+ "hasDynamicHelp": false,
12260
+ "multiple": false,
12261
+ "type": "option"
12262
+ },
12263
+ "discount": {
12264
+ "description": "Discount value",
12265
+ "name": "discount",
12266
+ "hasDynamicHelp": false,
12267
+ "multiple": false,
12268
+ "type": "option"
12269
+ },
12270
+ "discount-type": {
12271
+ "description": "Discount type",
12272
+ "name": "discount-type",
12273
+ "hasDynamicHelp": false,
12274
+ "multiple": false,
12275
+ "options": [
12276
+ "percentage",
12277
+ "amount"
12278
+ ],
12279
+ "type": "option"
12280
+ },
12281
+ "tax": {
12282
+ "description": "Product tax percentage",
12283
+ "name": "tax",
12284
+ "hasDynamicHelp": false,
12285
+ "multiple": false,
12286
+ "type": "option"
12287
+ },
12288
+ "comments": {
12289
+ "description": "Comments",
12290
+ "name": "comments",
11070
12291
  "hasDynamicHelp": false,
11071
12292
  "multiple": false,
11072
12293
  "type": "option"
@@ -11074,7 +12295,7 @@
11074
12295
  },
11075
12296
  "hasDynamicHelp": false,
11076
12297
  "hiddenAliases": [],
11077
- "id": "stage:list",
12298
+ "id": "deal:product:add",
11078
12299
  "pluginAlias": "@wavyx/pdcli",
11079
12300
  "pluginName": "@wavyx/pdcli",
11080
12301
  "pluginType": "core",
@@ -11084,17 +12305,25 @@
11084
12305
  "relativePath": [
11085
12306
  "src",
11086
12307
  "commands",
11087
- "stage",
11088
- "list.js"
12308
+ "deal",
12309
+ "product",
12310
+ "add.js"
11089
12311
  ]
11090
12312
  },
11091
- "webhook:create": {
12313
+ "deal:product:list": {
11092
12314
  "aliases": [],
11093
- "args": {},
11094
- "description": "Create a webhook",
12315
+ "args": {
12316
+ "id": {
12317
+ "description": "Deal ID",
12318
+ "name": "id",
12319
+ "required": true
12320
+ }
12321
+ },
12322
+ "description": "List products attached to a deal",
11095
12323
  "examples": [
11096
- "<%= config.bin %> webhook create --url https://example.com/hook --event-action change --event-object deal",
11097
- "<%= config.bin %> webhook create --url https://example.com/hook --event-action \"*\" --event-object \"*\""
12324
+ "<%= config.bin %> deal product list 42",
12325
+ "<%= config.bin %> deal product list 42 --sort-by add_time --sort-direction desc",
12326
+ "<%= config.bin %> deal product list 42 --output json"
11098
12327
  ],
11099
12328
  "flags": {
11100
12329
  "output": {
@@ -11181,88 +12410,34 @@
11181
12410
  "multiple": false,
11182
12411
  "type": "option"
11183
12412
  },
11184
- "url": {
11185
- "description": "Webhook subscription URL",
11186
- "name": "url",
11187
- "required": true,
11188
- "hasDynamicHelp": false,
11189
- "multiple": false,
11190
- "type": "option"
11191
- },
11192
- "event-action": {
11193
- "description": "Event action to subscribe to",
11194
- "name": "event-action",
11195
- "required": true,
12413
+ "sort-by": {
12414
+ "description": "Field to sort by",
12415
+ "name": "sort-by",
11196
12416
  "hasDynamicHelp": false,
11197
12417
  "multiple": false,
11198
12418
  "options": [
11199
- "create",
11200
- "change",
11201
- "delete",
11202
- "*"
12419
+ "id",
12420
+ "add_time",
12421
+ "update_time",
12422
+ "order_nr"
11203
12423
  ],
11204
12424
  "type": "option"
11205
12425
  },
11206
- "event-object": {
11207
- "description": "Event object to subscribe to",
11208
- "name": "event-object",
11209
- "required": true,
12426
+ "sort-direction": {
12427
+ "description": "Sort direction",
12428
+ "name": "sort-direction",
11210
12429
  "hasDynamicHelp": false,
11211
12430
  "multiple": false,
11212
12431
  "options": [
11213
- "activity",
11214
- "deal",
11215
- "lead",
11216
- "note",
11217
- "organization",
11218
- "person",
11219
- "product",
11220
- "user",
11221
- "pipeline",
11222
- "stage",
11223
- "*"
11224
- ],
11225
- "type": "option"
11226
- },
11227
- "name": {
11228
- "description": "Webhook name",
11229
- "name": "name",
11230
- "hasDynamicHelp": false,
11231
- "multiple": false,
11232
- "type": "option"
11233
- },
11234
- "version": {
11235
- "description": "Webhook payload version",
11236
- "name": "version",
11237
- "default": "2.0",
11238
- "hasDynamicHelp": false,
11239
- "multiple": false,
11240
- "type": "option"
11241
- },
11242
- "http-auth-user": {
11243
- "dependsOn": [
11244
- "http-auth-password"
11245
- ],
11246
- "description": "HTTP basic auth username for the endpoint",
11247
- "name": "http-auth-user",
11248
- "hasDynamicHelp": false,
11249
- "multiple": false,
11250
- "type": "option"
11251
- },
11252
- "http-auth-password": {
11253
- "dependsOn": [
11254
- "http-auth-user"
12432
+ "asc",
12433
+ "desc"
11255
12434
  ],
11256
- "description": "HTTP basic auth password for the endpoint",
11257
- "name": "http-auth-password",
11258
- "hasDynamicHelp": false,
11259
- "multiple": false,
11260
12435
  "type": "option"
11261
12436
  }
11262
12437
  },
11263
12438
  "hasDynamicHelp": false,
11264
12439
  "hiddenAliases": [],
11265
- "id": "webhook:create",
12440
+ "id": "deal:product:list",
11266
12441
  "pluginAlias": "@wavyx/pdcli",
11267
12442
  "pluginName": "@wavyx/pdcli",
11268
12443
  "pluginType": "core",
@@ -11272,23 +12447,24 @@
11272
12447
  "relativePath": [
11273
12448
  "src",
11274
12449
  "commands",
11275
- "webhook",
11276
- "create.js"
12450
+ "deal",
12451
+ "product",
12452
+ "list.js"
11277
12453
  ]
11278
12454
  },
11279
- "webhook:delete": {
12455
+ "deal:product:remove": {
11280
12456
  "aliases": [],
11281
12457
  "args": {
11282
12458
  "id": {
11283
- "description": "Webhook ID",
12459
+ "description": "Deal ID",
11284
12460
  "name": "id",
11285
12461
  "required": true
11286
12462
  }
11287
12463
  },
11288
- "description": "Delete a webhook",
12464
+ "description": "Remove a product attached to a deal",
11289
12465
  "examples": [
11290
- "<%= config.bin %> webhook delete 3",
11291
- "<%= config.bin %> webhook delete 3 --yes"
12466
+ "<%= config.bin %> deal product remove 42 --attachment 3",
12467
+ "<%= config.bin %> deal product remove 42 --attachment 3 --yes"
11292
12468
  ],
11293
12469
  "flags": {
11294
12470
  "output": {
@@ -11375,6 +12551,14 @@
11375
12551
  "multiple": false,
11376
12552
  "type": "option"
11377
12553
  },
12554
+ "attachment": {
12555
+ "description": "Deal-product (attachment) ID",
12556
+ "name": "attachment",
12557
+ "required": true,
12558
+ "hasDynamicHelp": false,
12559
+ "multiple": false,
12560
+ "type": "option"
12561
+ },
11378
12562
  "yes": {
11379
12563
  "char": "y",
11380
12564
  "description": "Skip the confirmation prompt",
@@ -11385,7 +12569,7 @@
11385
12569
  },
11386
12570
  "hasDynamicHelp": false,
11387
12571
  "hiddenAliases": [],
11388
- "id": "webhook:delete",
12572
+ "id": "deal:product:remove",
11389
12573
  "pluginAlias": "@wavyx/pdcli",
11390
12574
  "pluginName": "@wavyx/pdcli",
11391
12575
  "pluginType": "core",
@@ -11395,17 +12579,25 @@
11395
12579
  "relativePath": [
11396
12580
  "src",
11397
12581
  "commands",
11398
- "webhook",
11399
- "delete.js"
12582
+ "deal",
12583
+ "product",
12584
+ "remove.js"
11400
12585
  ]
11401
12586
  },
11402
- "webhook:list": {
12587
+ "deal:product:update": {
11403
12588
  "aliases": [],
11404
- "args": {},
11405
- "description": "List webhooks",
12589
+ "args": {
12590
+ "id": {
12591
+ "description": "Deal ID",
12592
+ "name": "id",
12593
+ "required": true
12594
+ }
12595
+ },
12596
+ "description": "Update a product attached to a deal (v2 PATCH — only provided fields change)",
11406
12597
  "examples": [
11407
- "<%= config.bin %> webhook list",
11408
- "<%= config.bin %> webhook list --output json"
12598
+ "<%= config.bin %> deal product update 42 --attachment 3 --quantity 5",
12599
+ "<%= config.bin %> deal product update 42 --attachment 3 --price 120",
12600
+ "<%= config.bin %> deal product update 42 --attachment 3 --discount 15 --discount-type amount"
11409
12601
  ],
11410
12602
  "flags": {
11411
12603
  "output": {
@@ -11491,11 +12683,72 @@
11491
12683
  "hasDynamicHelp": false,
11492
12684
  "multiple": false,
11493
12685
  "type": "option"
12686
+ },
12687
+ "attachment": {
12688
+ "description": "Deal-product (attachment) ID",
12689
+ "name": "attachment",
12690
+ "required": true,
12691
+ "hasDynamicHelp": false,
12692
+ "multiple": false,
12693
+ "type": "option"
12694
+ },
12695
+ "product": {
12696
+ "description": "Product ID",
12697
+ "name": "product",
12698
+ "hasDynamicHelp": false,
12699
+ "multiple": false,
12700
+ "type": "option"
12701
+ },
12702
+ "price": {
12703
+ "description": "Item price (per unit)",
12704
+ "name": "price",
12705
+ "hasDynamicHelp": false,
12706
+ "multiple": false,
12707
+ "type": "option"
12708
+ },
12709
+ "quantity": {
12710
+ "description": "Quantity",
12711
+ "name": "quantity",
12712
+ "hasDynamicHelp": false,
12713
+ "multiple": false,
12714
+ "type": "option"
12715
+ },
12716
+ "discount": {
12717
+ "description": "Discount value",
12718
+ "name": "discount",
12719
+ "hasDynamicHelp": false,
12720
+ "multiple": false,
12721
+ "type": "option"
12722
+ },
12723
+ "discount-type": {
12724
+ "description": "Discount type",
12725
+ "name": "discount-type",
12726
+ "hasDynamicHelp": false,
12727
+ "multiple": false,
12728
+ "options": [
12729
+ "percentage",
12730
+ "amount"
12731
+ ],
12732
+ "type": "option"
12733
+ },
12734
+ "tax": {
12735
+ "description": "Product tax percentage",
12736
+ "name": "tax",
12737
+ "hasDynamicHelp": false,
12738
+ "multiple": false,
12739
+ "type": "option"
12740
+ },
12741
+ "comments": {
12742
+ "description": "Comments",
12743
+ "name": "comments",
12744
+ "hasDynamicHelp": false,
12745
+ "multiple": false,
12746
+ "type": "option"
11494
12747
  }
11495
12748
  },
11496
12749
  "hasDynamicHelp": false,
11497
12750
  "hiddenAliases": [],
11498
- "id": "webhook:list",
12751
+ "id": "deal:product:update",
11499
12752
  "pluginAlias": "@wavyx/pdcli",
11500
12753
  "pluginName": "@wavyx/pdcli",
11501
12754
  "pluginType": "core",
@@ -11505,8 +12758,9 @@
11505
12758
  "relativePath": [
11506
12759
  "src",
11507
12760
  "commands",
11508
- "webhook",
11509
- "list.js"
12761
+ "deal",
12762
+ "product",
12763
+ "update.js"
11510
12764
  ]
11511
12765
  },
11512
12766
  "lead:label:list": {
@@ -11621,5 +12875,5 @@
11621
12875
  ]
11622
12876
  }
11623
12877
  },
11624
- "version": "0.9.0"
12878
+ "version": "0.10.0"
11625
12879
  }