zoomcli 0.0.1__tar.gz → 0.2.1__tar.gz

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 (34) hide show
  1. zoomcli-0.2.1/.github/workflows/ci.yml +54 -0
  2. {zoomcli-0.0.1 → zoomcli-0.2.1}/.github/workflows/release.yml +4 -0
  3. zoomcli-0.2.1/.gitignore +2 -0
  4. zoomcli-0.2.1/CHANGELOG.md +37 -0
  5. {zoomcli-0.0.1 → zoomcli-0.2.1}/Cargo.lock +2 -1
  6. {zoomcli-0.0.1 → zoomcli-0.2.1}/Cargo.toml +3 -2
  7. zoomcli-0.2.1/Formula/zoom-cli.rb +32 -0
  8. {zoomcli-0.0.1 → zoomcli-0.2.1}/PKG-INFO +1 -2
  9. zoomcli-0.2.1/src/api/client.rs +1246 -0
  10. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/api/mod.rs +16 -0
  11. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/api/types.rs +358 -6
  12. zoomcli-0.2.1/src/commands/config.rs +314 -0
  13. zoomcli-0.2.1/src/commands/init.rs +803 -0
  14. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/meetings.rs +100 -5
  15. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/mod.rs +35 -1
  16. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/recordings.rs +212 -25
  17. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/reports.rs +91 -6
  18. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/users.rs +122 -4
  19. zoomcli-0.2.1/src/commands/webinars.rs +175 -0
  20. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/config.rs +230 -21
  21. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/main.rs +122 -2
  22. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/output.rs +63 -2
  23. zoomcli-0.0.1/.gitignore +0 -1
  24. zoomcli-0.0.1/docs/superpowers/plans/2026-04-02-zoom-cli.md +0 -2969
  25. zoomcli-0.0.1/docs/superpowers/specs/2026-04-02-zoom-cli-design.md +0 -135
  26. zoomcli-0.0.1/src/api/client.rs +0 -639
  27. zoomcli-0.0.1/src/commands/init.rs +0 -468
  28. {zoomcli-0.0.1 → zoomcli-0.2.1}/Makefile +0 -0
  29. {zoomcli-0.0.1 → zoomcli-0.2.1}/README.md +0 -0
  30. {zoomcli-0.0.1 → zoomcli-0.2.1}/pyproject.toml +0 -0
  31. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/lib.rs +0 -0
  32. {zoomcli-0.0.1 → zoomcli-0.2.1}/src/test_support.rs +0 -0
  33. {zoomcli-0.0.1 → zoomcli-0.2.1}/zoom_cli/__init__.py +0 -0
  34. {zoomcli-0.0.1 → zoomcli-0.2.1}/zoom_cli/__main__.py +0 -0
@@ -0,0 +1,54 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ workflow_dispatch:
8
+
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ lint:
15
+ name: Lint
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - uses: dtolnay/rust-toolchain@stable
21
+ with:
22
+ components: rustfmt, clippy
23
+
24
+ - name: Run linting
25
+ run: make lint
26
+
27
+ test:
28
+ name: Test
29
+ runs-on: ubuntu-latest
30
+ steps:
31
+ - uses: actions/checkout@v4
32
+
33
+ - uses: dtolnay/rust-toolchain@stable
34
+
35
+ - uses: taiki-e/install-action@v2
36
+ with:
37
+ tool: nextest
38
+
39
+ - name: Run tests
40
+ run: make test
41
+
42
+ all-checks-passed:
43
+ name: All checks passed
44
+ runs-on: ubuntu-latest
45
+ needs: [lint, test]
46
+ if: always()
47
+ steps:
48
+ - name: Verify all checks passed
49
+ run: |
50
+ if [ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" == "true" ]; then
51
+ echo "Some checks failed or were cancelled"
52
+ exit 1
53
+ fi
54
+ echo "All checks passed"
@@ -37,6 +37,10 @@ jobs:
37
37
 
38
38
  - uses: dtolnay/rust-toolchain@stable
39
39
 
40
+ - uses: taiki-e/install-action@v2
41
+ with:
42
+ tool: nextest
43
+
40
44
  - name: Verify Cargo.lock is up to date
41
45
  run: cargo check --locked
42
46
 
@@ -0,0 +1,2 @@
1
+ /target
2
+ /.worktrees
@@ -0,0 +1,37 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/).
6
+
7
+
8
+ ## [0.2.1](https://github.com/rvben/zoom-cli/compare/v0.2.0...v0.2.1) - 2026-04-02
9
+
10
+ ### Added
11
+
12
+ - show pagination progress when fetching multiple pages ([e5e3364](https://github.com/rvben/zoom-cli/commit/e5e336472b9cb153afed1d5020d0a758b2342359))
13
+ - **config**: add zoom config delete command ([5841781](https://github.com/rvben/zoom-cli/commit/5841781a42e68c0c3568e9f16b06030fa19ec9ed))
14
+ - **reports**: add zoom reports participants command ([fcf08dc](https://github.com/rvben/zoom-cli/commit/fcf08dcf19186a3613f84af701d67114abd27ce6))
15
+ - **recordings**: add transcript download command ([c7b8fff](https://github.com/rvben/zoom-cli/commit/c7b8fff658e57b296d27e2632cf98e9187925ef8))
16
+ - **users**: add create, deactivate, and activate commands ([eb4fc29](https://github.com/rvben/zoom-cli/commit/eb4fc2900837add72d7ecc75227c6e8ae68a5517))
17
+ - **meetings**: add zoom meetings invite command ([051e7e6](https://github.com/rvben/zoom-cli/commit/051e7e6e4471ae01d30e3102c78ca18fe602fe17))
18
+
19
+ ### Fixed
20
+
21
+ - add clickable link to missing-scope error message ([c71f3ba](https://github.com/rvben/zoom-cli/commit/c71f3bae31479e7fd3103dff05800a6b2afd1e4f))
22
+ - parse Zoom error JSON and give actionable guidance for scope errors ([9ffac38](https://github.com/rvben/zoom-cli/commit/9ffac3889c124684a354be1f05b3538a1837b7fe))
23
+ - hoist safe_topic out of per-file loop in recordings::download ([fa409c8](https://github.com/rvben/zoom-cli/commit/fa409c84f5363c1261a7c2f97b60ccb0873d3861))
24
+ - **config,recordings**: exit non-zero when config delete aborts non-interactively, output structured JSON from transcript ([ed6f9f7](https://github.com/rvben/zoom-cli/commit/ed6f9f73d1379d64394e1747d2c77fb04c3d6c1c))
25
+
26
+ ## [0.2.0](https://github.com/rvben/zoom-cli/compare/v0.1.0...v0.2.0) - 2026-04-02
27
+
28
+ ### Added
29
+
30
+ - **init**: redesign interactive setup with excellent UX ([2bc79df](https://github.com/rvben/zoom-cli/commit/2bc79dfc82e18f476e69ea7aaaa4416d3fce2c23))
31
+ - **config**: add zoom config show command ([dbe8490](https://github.com/rvben/zoom-cli/commit/dbe84901f3618e6c17542ae6fd8e5c52a741eb29))
32
+
33
+ ### Fixed
34
+
35
+ - double-encode recording UUIDs and write downloads atomically ([f346939](https://github.com/rvben/zoom-cli/commit/f346939569336d808e5c02f7c2029c55e7273169))
36
+ - unreachable!() in send_with_retry was reachable, causing panics ([ceb905d](https://github.com/rvben/zoom-cli/commit/ceb905d7b12dfbc25fa8a7150daf2a5f09158375))
37
+ - transparent token refresh on 401, --permanent flag for recordings delete ([fdae155](https://github.com/rvben/zoom-cli/commit/fdae155e096e953c4a6634a177abb9c7ce2ab6cf))
@@ -2219,7 +2219,7 @@ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
2219
2219
 
2220
2220
  [[package]]
2221
2221
  name = "zoom-cli"
2222
- version = "0.0.1"
2222
+ version = "0.2.1"
2223
2223
  dependencies = [
2224
2224
  "assert_cmd",
2225
2225
  "base64",
@@ -2235,5 +2235,6 @@ dependencies = [
2235
2235
  "tempfile",
2236
2236
  "tokio",
2237
2237
  "toml",
2238
+ "toml_edit",
2238
2239
  "wiremock",
2239
2240
  ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "zoom-cli"
3
- version = "0.0.1"
3
+ version = "0.2.1"
4
4
  edition = "2024"
5
5
  rust-version = "1.90"
6
6
  description = "Agent-friendly Zoom CLI with JSON output, structured exit codes, and schema introspection"
@@ -21,8 +21,9 @@ clap_complete = "4"
21
21
  reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json", "stream"] }
22
22
  serde = { version = "1", features = ["derive"] }
23
23
  serde_json = "1"
24
- tokio = { version = "1", features = ["macros", "rt-multi-thread", "fs", "io-util"] }
24
+ tokio = { version = "1", features = ["macros", "rt-multi-thread", "fs", "io-util", "time"] }
25
25
  toml = "0.8"
26
+ toml_edit = "0.22"
26
27
  owo-colors = "4"
27
28
  dirs = "6"
28
29
  base64 = "0.22"
@@ -0,0 +1,32 @@
1
+ class ZoomCli < Formula
2
+ desc "Agent-friendly Zoom CLI with JSON output, structured exit codes, and schema introspection"
3
+ homepage "https://github.com/rvben/zoom-cli"
4
+ version "0.2.0"
5
+ license "MIT"
6
+
7
+ on_macos do
8
+ on_arm do
9
+ url "https://github.com/rvben/zoom-cli/releases/download/v0.2.0/zoom-cli-v0.2.0-aarch64-apple-darwin.tar.gz"
10
+ sha256 "1646d509545baaf0dad29c136f6d63a02d8537c0b2cf42b29c64b2777cca267b"
11
+ end
12
+ on_intel do
13
+ url "https://github.com/rvben/zoom-cli/releases/download/v0.2.0/zoom-cli-v0.2.0-x86_64-apple-darwin.tar.gz"
14
+ sha256 "94f11f7a6cbb59e1fe5e1b55e8518c52ed2774a1fbbfd7ede824f84258786c18"
15
+ end
16
+ end
17
+
18
+ def install
19
+ bin.install "zoom"
20
+ end
21
+
22
+ def caveats
23
+ <<~EOS
24
+ Run `zoom init` to set up your Zoom Server-to-Server OAuth credentials.
25
+ Run `zoom config show` to verify your configuration.
26
+ EOS
27
+ end
28
+
29
+ test do
30
+ assert_match "zoom #{version}", shell_output("#{bin}/zoom --version")
31
+ end
32
+ end
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zoomcli
3
- Version: 0.0.1
3
+ Version: 0.2.1
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -11,7 +11,6 @@ Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Rust
12
12
  Classifier: Topic :: Communications :: Conferencing
13
13
  Summary: Agent-friendly CLI for the Zoom API
14
- Keywords: zoom,meetings,cli
15
14
  Home-Page: https://github.com/rvben/zoom-cli
16
15
  Author-email: "Ruben J. Jongejan" <ruben.jongejan@gmail.com>
17
16
  License: MIT