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.
- zoomcli-0.2.1/.github/workflows/ci.yml +54 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/.github/workflows/release.yml +4 -0
- zoomcli-0.2.1/.gitignore +2 -0
- zoomcli-0.2.1/CHANGELOG.md +37 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/Cargo.lock +2 -1
- {zoomcli-0.0.1 → zoomcli-0.2.1}/Cargo.toml +3 -2
- zoomcli-0.2.1/Formula/zoom-cli.rb +32 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/PKG-INFO +1 -2
- zoomcli-0.2.1/src/api/client.rs +1246 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/api/mod.rs +16 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/api/types.rs +358 -6
- zoomcli-0.2.1/src/commands/config.rs +314 -0
- zoomcli-0.2.1/src/commands/init.rs +803 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/meetings.rs +100 -5
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/mod.rs +35 -1
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/recordings.rs +212 -25
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/reports.rs +91 -6
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/commands/users.rs +122 -4
- zoomcli-0.2.1/src/commands/webinars.rs +175 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/config.rs +230 -21
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/main.rs +122 -2
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/output.rs +63 -2
- zoomcli-0.0.1/.gitignore +0 -1
- zoomcli-0.0.1/docs/superpowers/plans/2026-04-02-zoom-cli.md +0 -2969
- zoomcli-0.0.1/docs/superpowers/specs/2026-04-02-zoom-cli-design.md +0 -135
- zoomcli-0.0.1/src/api/client.rs +0 -639
- zoomcli-0.0.1/src/commands/init.rs +0 -468
- {zoomcli-0.0.1 → zoomcli-0.2.1}/Makefile +0 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/README.md +0 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/pyproject.toml +0 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/lib.rs +0 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/src/test_support.rs +0 -0
- {zoomcli-0.0.1 → zoomcli-0.2.1}/zoom_cli/__init__.py +0 -0
- {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"
|
zoomcli-0.2.1/.gitignore
ADDED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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
|