@wavyx/pdcli 0.2.0 → 0.4.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 (48) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +30 -2
  3. package/oclif.manifest.json +5579 -686
  4. package/package.json +3 -1
  5. package/src/base-command.js +30 -2
  6. package/src/commands/api.js +6 -2
  7. package/src/commands/backup.js +53 -0
  8. package/src/commands/deal/bulk-update.js +131 -0
  9. package/src/commands/file/download.js +35 -0
  10. package/src/commands/file/get.js +26 -0
  11. package/src/commands/file/list.js +40 -0
  12. package/src/commands/file/upload.js +42 -0
  13. package/src/commands/filter/get.js +26 -0
  14. package/src/commands/filter/list.js +43 -0
  15. package/src/commands/goal/list.js +37 -0
  16. package/src/commands/lead/create.js +58 -0
  17. package/src/commands/lead/delete.js +39 -0
  18. package/src/commands/lead/get.js +26 -0
  19. package/src/commands/lead/list.js +50 -0
  20. package/src/commands/lead/update.js +71 -0
  21. package/src/commands/note/create.js +42 -0
  22. package/src/commands/note/delete.js +39 -0
  23. package/src/commands/note/get.js +26 -0
  24. package/src/commands/note/list.js +49 -0
  25. package/src/commands/note/update.js +45 -0
  26. package/src/commands/org/import.js +109 -0
  27. package/src/commands/person/import.js +118 -0
  28. package/src/commands/pipeline/get.js +26 -0
  29. package/src/commands/pipeline/list.js +37 -0
  30. package/src/commands/project/create.js +48 -0
  31. package/src/commands/project/delete.js +39 -0
  32. package/src/commands/project/get.js +26 -0
  33. package/src/commands/project/list.js +39 -0
  34. package/src/commands/project/update.js +63 -0
  35. package/src/commands/stage/get.js +26 -0
  36. package/src/commands/stage/list.js +41 -0
  37. package/src/commands/webhook/create.js +75 -0
  38. package/src/commands/webhook/delete.js +39 -0
  39. package/src/commands/webhook/list.js +33 -0
  40. package/src/lib/backup.js +122 -0
  41. package/src/lib/bulk.js +106 -0
  42. package/src/lib/client.js +67 -0
  43. package/src/lib/csv-parse.js +88 -0
  44. package/src/lib/entity-view.js +7 -2
  45. package/src/lib/import.js +49 -0
  46. package/src/lib/output/csv.js +26 -0
  47. package/src/lib/output/index.js +9 -1
  48. package/src/lib/output/yaml.js +9 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,38 @@ 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.4.0] - 2026-06-04
8
+
9
+ ### Added
10
+
11
+ - `deal bulk-update` — update many deals at once by `--ids`, a Pipedrive
12
+ saved `--filter`, or ids piped on stdin. Paced sequentially inside the
13
+ rate-limit burst window, confirms before writing (`--yes` to skip),
14
+ `--dry-run` previews targets, partial failures are listed per deal and
15
+ exit 1.
16
+ - `person import` / `org import` — bulk-create from CSV. Headers map to
17
+ fields, including custom fields by human name with option-label
18
+ resolution; `--dry-run` validates every row without writing.
19
+
20
+ ### Changed
21
+
22
+ - CI actions bumped to checkout/setup-node v5.
23
+
24
+ ## [0.3.0] - 2026-06-04
25
+
26
+ ### Added
27
+
28
+ - Full entity surface: `lead` (v1, UUID ids), `note`, `file`
29
+ (list/get/download/upload), `filter`, `webhook` (defaults to v2 payloads),
30
+ `goal`, `pipeline`/`stage`, and `project` (v2) topics.
31
+ - Output formats everywhere: `--output yaml|csv` join `table|json`; `--jq`
32
+ expression filtering (lazy-loaded native jq); `--fields` column selection.
33
+ - `pdcli backup` — full-account export to a JSON tree (18 resources), with a
34
+ manifest checkpoint after every resource and `--resume` to continue
35
+ interrupted runs.
36
+ - Client: binary downloads and multipart uploads (files API), host-locked
37
+ like every other request.
38
+
7
39
  ## [0.2.0] - 2026-06-04
8
40
 
9
41
  ### Added
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # pdcli
2
2
 
3
+ [![CI](https://github.com/wavyx/pdcli/actions/workflows/ci.yml/badge.svg)](https://github.com/wavyx/pdcli/actions/workflows/ci.yml)
4
+ [![codecov](https://codecov.io/gh/wavyx/pdcli/branch/main/graph/badge.svg)](https://codecov.io/gh/wavyx/pdcli)
5
+ [![npm](https://img.shields.io/npm/v/%40wavyx%2Fpdcli)](https://www.npmjs.com/package/@wavyx/pdcli)
6
+
3
7
  Command-line interface for [Pipedrive](https://www.pipedrive.com/) — fast, scriptable, built for terminals, CI pipelines, and AI agents.
4
8
 
5
9
  > Not affiliated with or endorsed by Pipedrive.
@@ -27,12 +31,17 @@ access tokens refresh automatically. CI/scripts can use env vars instead:
27
31
  ```bash
28
32
  pdcli deal list --status open --limit 20
29
33
  pdcli deal get 42
30
- pdcli person list --org 7 --output json | jq '.[].id'
34
+ pdcli person list --org 7 --jq '.[].id'
31
35
  pdcli activity list --todo
36
+ pdcli lead list
37
+ pdcli note list --deal 42
38
+ pdcli pipeline list && pdcli stage list --pipeline 1
32
39
  pdcli search "acme"
33
40
  pdcli field list deal # custom fields with their hash keys
34
41
  ```
35
42
 
43
+ Output everywhere: `--output table|json|yaml|csv`, `--jq '<expr>'`, `--fields id,name`.
44
+
36
45
  ## Write
37
46
 
38
47
  ```bash
@@ -50,6 +59,25 @@ pdcli deal create --title "Sized" --field "Deal Size=Large" --field "Score=4.5"
50
59
  pdcli deal update 42 --body '{"probability":75}' # raw JSON escape hatch
51
60
  ```
52
61
 
62
+ ## Bulk
63
+
64
+ ```bash
65
+ pdcli deal bulk-update --filter 9 --stage 5 # saved filter → stage move
66
+ pdcli deal bulk-update --ids 1,2,3 --status won --yes
67
+ pdcli deal list --status open --jq '.[].id' | pdcli deal bulk-update --owner 42
68
+ pdcli person import people.csv --dry-run # CSV headers map to fields,
69
+ pdcli person import people.csv # custom fields by name
70
+ ```
71
+
72
+ ## Files, webhooks, backup
73
+
74
+ ```bash
75
+ pdcli file upload ./contract.pdf --deal 42
76
+ pdcli file download 15 --out ./contract.pdf
77
+ pdcli webhook create --url https://ci.example.com/hook --event-action create --event-object deal
78
+ pdcli backup --dir ./pipedrive-backup # full account → JSON tree, --resume to continue
79
+ ```
80
+
53
81
  ## Anything else
54
82
 
55
83
  ```bash
@@ -58,7 +86,7 @@ pdcli api POST /api/v2/deals --body '{"title":"Raw deal"}'
58
86
  pdcli doctor # diagnose auth/keychain/connectivity
59
87
  ```
60
88
 
61
- - `--output table|json` everywhere; table in a TTY, JSON when piped.
89
+ - `--output table|json|yaml|csv` everywhere; table in a TTY, JSON when piped.
62
90
  - Deterministic [sysexits](https://man.freebsd.org/cgi/man.cgi?query=sysexits) exit codes for scripting.
63
91
  - Full reference: [docs/commands.md](docs/commands.md) (generated from the CLI manifest).
64
92