teams-cli 0.1.3__tar.gz → 0.1.4__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.
- {teams_cli-0.1.3 → teams_cli-0.1.4}/CHANGELOG.md +6 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/Cargo.lock +1 -1
- {teams_cli-0.1.3 → teams_cli-0.1.4}/Cargo.toml +5 -1
- {teams_cli-0.1.3 → teams_cli-0.1.4}/PKG-INFO +4 -2
- {teams_cli-0.1.3 → teams_cli-0.1.4}/README.md +3 -1
- teams_cli-0.1.4/src/teams_cli_alias.rs +30 -0
- teams_cli-0.1.4/tests/package_alias.rs +20 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/.github/dependabot.yml +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/.github/workflows/ci.yml +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/.github/workflows/release.yml +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/.gitignore +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/.mise.toml +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/DESIGN.md +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/LICENSE +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/Makefile +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/PRODUCT.md +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/docs/releases.md +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/examples/validate_schema.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/pyproject.toml +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/auth.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/cli.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/config.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/error.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/graph.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/lib.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/main.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/output.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/schema.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/src/tui.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/tests/cli.rs +0 -0
- {teams_cli-0.1.3 → teams_cli-0.1.4}/vership.toml +0 -0
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.4](https://github.com/rvben/teams-cli/compare/v0.1.3...v0.1.4) - 2026-08-26
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **packaging**: add package-named launcher ([35a14d3](https://github.com/rvben/teams-cli/commit/35a14d329c5ca5a24f0e47c81cf29f30bad8773c))
|
|
15
|
+
|
|
10
16
|
## [0.1.3](https://github.com/rvben/teams-cli/compare/v0.1.2...v0.1.3) - 2026-08-26
|
|
11
17
|
|
|
12
18
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "teams-cli"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.4"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
rust-version = "1.90"
|
|
6
6
|
description = "A Microsoft Teams CLI and TUI designed equally for humans and agents"
|
|
@@ -16,6 +16,10 @@ categories = ["command-line-utilities"]
|
|
|
16
16
|
name = "teams"
|
|
17
17
|
path = "src/main.rs"
|
|
18
18
|
|
|
19
|
+
[[bin]]
|
|
20
|
+
name = "teams-cli"
|
|
21
|
+
path = "src/teams_cli_alias.rs"
|
|
22
|
+
|
|
19
23
|
[dependencies]
|
|
20
24
|
base64 = "0.23"
|
|
21
25
|
clap = { version = "4", features = ["derive", "env"] }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: teams-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
License-File: LICENSE
|
|
@@ -28,9 +28,11 @@ For humans, no arguments open guided onboarding on first use and the TUI afterwa
|
|
|
28
28
|
pipx install teams-cli
|
|
29
29
|
# or
|
|
30
30
|
cargo install teams-cli --locked
|
|
31
|
+
# or run from PyPI without installing
|
|
32
|
+
uvx teams-cli --help
|
|
31
33
|
```
|
|
32
34
|
|
|
33
|
-
The PyPI distribution
|
|
35
|
+
The PyPI distribution provides both `teams` and `teams-cli` as executable names.
|
|
34
36
|
|
|
35
37
|
To work from source:
|
|
36
38
|
|
|
@@ -12,9 +12,11 @@ For humans, no arguments open guided onboarding on first use and the TUI afterwa
|
|
|
12
12
|
pipx install teams-cli
|
|
13
13
|
# or
|
|
14
14
|
cargo install teams-cli --locked
|
|
15
|
+
# or run from PyPI without installing
|
|
16
|
+
uvx teams-cli --help
|
|
15
17
|
```
|
|
16
18
|
|
|
17
|
-
The PyPI distribution
|
|
19
|
+
The PyPI distribution provides both `teams` and `teams-cli` as executable names.
|
|
18
20
|
|
|
19
21
|
To work from source:
|
|
20
22
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
use std::env;
|
|
2
|
+
use std::fmt::Display;
|
|
3
|
+
use std::process::{self, Command};
|
|
4
|
+
|
|
5
|
+
const COMMAND: &str = "teams";
|
|
6
|
+
|
|
7
|
+
fn fail(error: impl Display) -> ! {
|
|
8
|
+
eprintln!("teams-cli: failed to launch {COMMAND}: {error}");
|
|
9
|
+
process::exit(126);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
fn main() {
|
|
13
|
+
let mut executable = env::current_exe().unwrap_or_else(|error| fail(error));
|
|
14
|
+
executable.set_file_name(format!("{COMMAND}{}", env::consts::EXE_SUFFIX));
|
|
15
|
+
|
|
16
|
+
let mut command = Command::new(executable);
|
|
17
|
+
command.args(env::args_os().skip(1));
|
|
18
|
+
|
|
19
|
+
#[cfg(unix)]
|
|
20
|
+
{
|
|
21
|
+
use std::os::unix::process::CommandExt;
|
|
22
|
+
fail(command.exec());
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
#[cfg(not(unix))]
|
|
26
|
+
match command.status() {
|
|
27
|
+
Ok(status) => process::exit(status.code().unwrap_or(1)),
|
|
28
|
+
Err(error) => fail(error),
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
use std::process::{Command, Output};
|
|
2
|
+
|
|
3
|
+
fn run(executable: &str, argument: &str) -> Output {
|
|
4
|
+
Command::new(executable)
|
|
5
|
+
.arg(argument)
|
|
6
|
+
.output()
|
|
7
|
+
.expect("CLI should start")
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
#[test]
|
|
11
|
+
fn package_named_alias_forwards_arguments_output_and_status() {
|
|
12
|
+
for argument in ["--version", "--__alias-test-invalid"] {
|
|
13
|
+
let primary = run(env!("CARGO_BIN_EXE_teams"), argument);
|
|
14
|
+
let alias = run(env!("CARGO_BIN_EXE_teams-cli"), argument);
|
|
15
|
+
|
|
16
|
+
assert_eq!(alias.status.code(), primary.status.code());
|
|
17
|
+
assert_eq!(alias.stdout, primary.stdout);
|
|
18
|
+
assert_eq!(alias.stderr, primary.stderr);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|