@wavyx/pdcli 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +15 -0
  3. package/oclif.manifest.json +7590 -1565
  4. package/package.json +32 -2
  5. package/src/commands/activity/list.js +47 -5
  6. package/src/commands/activity/type/list.js +36 -0
  7. package/src/commands/deal/convert.js +112 -0
  8. package/src/commands/deal/follower/add.js +31 -0
  9. package/src/commands/deal/follower/list.js +38 -0
  10. package/src/commands/deal/follower/remove.js +44 -0
  11. package/src/commands/deal/history.js +73 -0
  12. package/src/commands/deal/list.js +47 -6
  13. package/src/commands/deal/participant/add.js +31 -0
  14. package/src/commands/deal/participant/list.js +46 -0
  15. package/src/commands/deal/participant/remove.js +53 -0
  16. package/src/commands/deal/product/add.js +69 -0
  17. package/src/commands/deal/product/list.js +56 -0
  18. package/src/commands/deal/product/remove.js +52 -0
  19. package/src/commands/deal/product/update.js +78 -0
  20. package/src/commands/deal/summary.js +69 -0
  21. package/src/commands/field/create.js +72 -0
  22. package/src/commands/field/delete.js +56 -0
  23. package/src/commands/field/get.js +10 -1
  24. package/src/commands/field/list.js +10 -1
  25. package/src/commands/field/option/add.js +49 -0
  26. package/src/commands/field/option/remove.js +72 -0
  27. package/src/commands/field/update.js +53 -0
  28. package/src/commands/file/delete.js +41 -0
  29. package/src/commands/file/update.js +39 -0
  30. package/src/commands/filter/delete.js +41 -0
  31. package/src/commands/funnel.js +7 -49
  32. package/src/commands/lead/convert.js +103 -0
  33. package/src/commands/note/comment/add.js +31 -0
  34. package/src/commands/note/comment/delete.js +51 -0
  35. package/src/commands/note/comment/list.js +43 -0
  36. package/src/commands/note/comment/update.js +37 -0
  37. package/src/commands/org/follower/add.js +31 -0
  38. package/src/commands/org/follower/list.js +41 -0
  39. package/src/commands/org/follower/remove.js +50 -0
  40. package/src/commands/org/list.js +40 -2
  41. package/src/commands/org/relationship/add.js +44 -0
  42. package/src/commands/org/relationship/list.js +52 -0
  43. package/src/commands/org/relationship/remove.js +46 -0
  44. package/src/commands/person/follower/add.js +31 -0
  45. package/src/commands/person/follower/list.js +38 -0
  46. package/src/commands/person/follower/remove.js +48 -0
  47. package/src/commands/person/list.js +40 -2
  48. package/src/commands/product/list.js +35 -2
  49. package/src/commands/project/list.js +10 -4
  50. package/src/commands/search.js +66 -9
  51. package/src/commands/task/create.js +44 -0
  52. package/src/commands/task/delete.js +41 -0
  53. package/src/commands/task/get.js +26 -0
  54. package/src/commands/task/list.js +60 -0
  55. package/src/commands/task/update.js +72 -0
  56. package/src/commands/user/find.js +50 -0
  57. package/src/commands/user/list.js +36 -0
  58. package/src/commands/webhook/create.js +8 -2
  59. package/src/lib/changelog.js +85 -0
  60. package/src/lib/client.js +44 -0
  61. package/src/lib/fields.js +43 -12
package/CHANGELOG.md CHANGED
@@ -4,6 +4,79 @@ All notable changes to `pdcli` are documented here. Format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/); versions follow
5
5
  [SemVer](https://semver.org/).
6
6
 
7
+ ## [0.11.0] - 2026-06-06
8
+
9
+ ### Added
10
+
11
+ - Custom-field lifecycle: `field create/update/delete` plus
12
+ `field option add/remove` for enum/set fields (v2 Fields write API).
13
+ Deleting a field or option confirms with a default of No — record
14
+ data stored in it is lost. `field list/get` now also cover `lead`
15
+ and `note` fields.
16
+ - Relations: `deal participant list/add/remove` (the buying
17
+ committee), `deal/person/org follower list/add/remove`, and
18
+ `org relationship list/add/remove` (parent/related hierarchies).
19
+ - `task list/get/create/update/delete` — v2-native project tasks
20
+ (requires the Projects add-on; accounts without it get a clean
21
+ configuration error).
22
+ - Conversions: `lead convert <id>` and `deal convert <id>` (async jobs
23
+ with `--wait` polling and `--timeout-secs`). Converting a deal
24
+ deletes the source deal on success and confirms with a default of
25
+ No.
26
+ - `deal summary` — server-side per-currency totals, weighted values,
27
+ and counts in a single call (`--status/--pipeline/--stage/--filter`).
28
+ - Scoped search: a single `--item-types` value routes `search` to the
29
+ per-entity v2 endpoints; the deal scope adds
30
+ `--status/--person/--org` filters.
31
+ - `deal list --archived` and `project list --archived`.
32
+ - `activity type list` (the `key_string` column feeds
33
+ `activity --type`), `file update/delete`, `filter delete`, and
34
+ `note comment list/add/update/delete`.
35
+
36
+ ### Changed
37
+
38
+ - Every destructive command added in this release confirms with a
39
+ default of No — pressing Enter aborts.
40
+
41
+ ## [0.10.0] - 2026-06-06
42
+
43
+ ### Added
44
+
45
+ - `deal product list/add/update/remove` — line items on deals at last.
46
+ Cursor-paginated listing with sort options; `add` takes `--product`,
47
+ `--price`, and `--quantity` (default 1) plus discount/tax/comments;
48
+ amounts are validated client-side (exit 64 on garbage). No
49
+ `--duration` flag: product durations were retired by Pipedrive in
50
+ 2024 in favor of billing frequencies.
51
+ - `user list` and `user find <term>` (`--by-email` for exact lookups) —
52
+ every `--owner <id>` flag in the CLI is finally usable without
53
+ copying ids out of the web app.
54
+ - List power-params on `deal`, `person`, `org`, `activity`, and
55
+ `product` lists: `--filter <saved-filter-id>`, `--ids` (max 100),
56
+ `--sort-by`/`--sort-direction`, `--updated-since`/`--updated-until`
57
+ where the endpoint supports them. `--ids` and `--filter` are mutually
58
+ exclusive — the API silently ignores ids when a filter is present.
59
+ - `deal history <id>` — field-change audit trail, newest-first, with
60
+ `--field` filtering and `--resolve-fields` rendering custom-field
61
+ names and option labels.
62
+ - `webhook create --event-object` accepts the six v2 object types added
63
+ for projects and line items (project, task, board, phase,
64
+ deal_product, deal_installment).
65
+ - Daily-budget awareness: a 429 with `x-daily-ratelimit-token-remaining: 0`
66
+ fails fast with a clear message instead of backing off blindly;
67
+ `--verbose` logs the remaining daily token budget on every request.
68
+
69
+ ### Changed
70
+
71
+ - List page size raised from 100 to 500 rows per request (the v2
72
+ maximum) — large pulls use 5x fewer requests and rate-limit tokens.
73
+
74
+ ### Fixed
75
+
76
+ - `activity list --type` never worked against the live API (the v2
77
+ endpoint rejects a `type` query parameter); the flag now filters
78
+ client-side.
79
+
7
80
  ## [0.9.0] - 2026-06-05
8
81
 
9
82
  ### Changed
package/README.md CHANGED
@@ -42,6 +42,8 @@ pdcli note list --deal 42
42
42
  pdcli pipeline list && pdcli stage list --pipeline 1
43
43
  pdcli search "acme"
44
44
  pdcli field list deal # custom fields with their hash keys
45
+ pdcli user list # resolve owner IDs to names
46
+ pdcli deal history 42 # field-change audit trail: who changed what, when
45
47
  ```
46
48
 
47
49
  Output everywhere: `--output table|json|yaml|csv`, `--jq '<expr>'`, `--fields id,name`.
@@ -53,6 +55,7 @@ pdcli deal create --title "Acme renewal" --value 5000 --currency EUR --stage 3
53
55
  pdcli deal update 42 --status won
54
56
  pdcli activity create --subject "Follow up" --type call --due-date 2026-06-10 --deal 42
55
57
  pdcli product create --name "Consulting" --price 150 --currency EUR
58
+ pdcli lead convert <id> --wait # promote a lead to a deal; --wait polls the async job
56
59
  pdcli deal delete 42 # asks first; --yes to skip
57
60
  ```
58
61
 
@@ -61,6 +64,17 @@ Custom fields by **human name** — labels and option IDs resolve automatically:
61
64
  ```bash
62
65
  pdcli deal create --title "Sized" --field "Deal Size=Large" --field "Score=4.5"
63
66
  pdcli deal update 42 --body '{"probability":75}' # raw JSON escape hatch
67
+ pdcli field create deal --name "Budget" --type double # manage the field schema itself
68
+ ```
69
+
70
+ ## Line items & relations
71
+
72
+ ```bash
73
+ pdcli deal product add 42 --product 10 --price 150 --quantity 4 # attach a product to a deal
74
+ pdcli deal product list 42 # lines, with server-computed sums
75
+ pdcli deal participant add 42 --person 10 # add to the buying committee
76
+ pdcli deal follower add 42 --user 5 # follow a deal/person/org
77
+ pdcli org relationship add --type parent --owner 1481 --linked 1480 # org hierarchy
64
78
  ```
65
79
 
66
80
  ## Bulk
@@ -76,6 +90,7 @@ pdcli person import people.csv # custom fields by name
76
90
  ## Analytics & housekeeping
77
91
 
78
92
  ```bash
93
+ pdcli deal summary --status open # server-side per-currency totals, weighted, count
79
94
  pdcli metrics velocity --period 90d # the Sales Velocity Equation, in your terminal
80
95
  pdcli funnel --pipeline 1 # stage-to-stage conversion
81
96
  pdcli funnel --exact # mine real stage transitions per deal (one call each)