Files
vibe-kanban/backend/Cargo.toml
Alex Netsch 2197dd064d Alex/refactor command runner (#323)
* feat: implement CommandRunner and integrate with executors

refactor: replace command_group::AsyncGroupChild with command_runner::CommandProcess in executor and process_service

Migrate traits and claude to commandrunner

Migrate gemini to command_runner

Migrate sst_opencode

Migrate ccr

Migrate amp

Migrate charm opencode

Migrate cleanup_script

Migrate executor (vibe-kanban 28b4ede6)

Ive added an abstract command runner to enable local and remote execution later. I already migrated the amp executor, please go ahead and replace migrate process handling with the new command runner @backend/src/command_runner.rs . If there are any missing functions ask me about them. Migrate backend/src/executors/echo.rs to be compatible.

Migrate executor (vibe-kanban 9dc48bc8)

Ive added an abstract command runner to enable local and remote execution later. I already migrated the amp executor, please go ahead and replace migrate process handling with the new command runner @backend/src/command_runner.rs . If there are any missing functions ask me about them. Migrate @backend/src/executors/dev_server.rs to be compatible.

Migrate executor (vibe-kanban d3ac2aa5)

Ive added an abstract command runner to enable local and remote execution later. I already migrated the amp executor, please go ahead and replace migrate process handling with the new command runner @backend/src/command_runner.rs . If there are any missing functions ask me about them. Migrate backend/src/executors/setup_script.rs to be compatible.

Fmt + lint

* Refactor CommandRunner initialization to use new() method for improved environment handling

* Add basic cloud runner and test scripts

Enhance cloud runner and command runner for true streaming support

- Refactor process management in cloud runner to use ProcessEntry struct for better handling of stdout and stderr streams.
- Implement true chunk-based streaming for command output via HTTP in command runner.
- Update test_remote to verify streaming functionality with real-time output capture.

Clippy and fmt

Refactor CommandStream and CommandProcess to remove dead code and improve stream handling

Refactor cloud runner and command runner to improve API response handling and streamline process status management

Change stream setup to be async

* Revert "Change stream setup to be async"

This reverts commit 79b5cde12aefafe9e669b93167036c8c6adf9145.

Revert "Refactor cloud runner and command runner to improve API response handling and streamline process status management"

This reverts commit 3cc03ff82424bd715a6f20f3124bd7bf80bc2d72.

Revert "Refactor CommandStream and CommandProcess to remove dead code and improve stream handling"

This reverts commit dcab0fcd9622416b7881af4add513b371894e408.

* refactor: remove unused imports and update command execution to use CommandProcess

* refactor: clean up CommandRunner and CommandProcess by removing dead code and updating initialization logic

* Fix improts

* refactor commandexecutors into local and remote

* refactor: update stream methods to be asynchronous across command execution components

* refactor: update command runner references; remove remote test binary; remove debug script

* Remove unused stdout alias

* Clippy

* refactor: consolidate CommandExitStatus implementations for local and remote processes

* refactor: replace CreateCommandRequest with CommandRunnerArgs in command execution

* refactor: optimize stream creation by using concurrent HTTP requests
2025-07-24 11:44:57 +01:00

74 lines
2.0 KiB
TOML

[package]
name = "vibe-kanban"
version = "0.0.55"
edition = "2021"
default-run = "vibe-kanban"
build = "build.rs"
[lib]
name = "vibe_kanban"
path = "src/lib.rs"
[[bin]]
name = "cloud-runner"
path = "src/bin/cloud_runner.rs"
[lints.clippy]
uninlined-format-args = "allow"
[dependencies]
tokio = { workspace = true }
tokio-util = { version = "0.7", features = ["io"] }
bytes = "1.0"
axum = { workspace = true }
tower-http = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "sqlite", "chrono", "uuid"] }
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.0", features = ["v4", "serde"] }
ts-rs = { version = "9.0", features = ["uuid-impl", "chrono-impl", "no-serde-warnings"] }
dirs = "5.0"
xdg = "3.0"
git2 = "0.18"
async-trait = "0.1"
libc = "0.2"
rust-embed = "8.2"
mime_guess = "2.0"
directories = "6.0.0"
open = "5.3.2"
pathdiff = "0.2.1"
ignore = "0.4"
command-group = { version = "5.0", features = ["with-tokio"] }
nix = { version = "0.29", features = ["signal", "process"] }
openssl-sys = { workspace = true }
rmcp = { version = "0.2.1", features = ["server", "transport-io"] }
schemars = "0.8"
regex = "1.11.1"
notify-rust = "4.11"
octocrab = "0.44"
os_info = "3.12.0"
sentry = { version = "0.41.0", features = ["anyhow", "backtrace", "panic", "debug-images"] }
sentry-tower = "0.41.0"
sentry-tracing = { version = "0.41.0", features = ["backtrace"] }
reqwest = { version = "0.11", features = ["json"] }
strip-ansi-escapes = "0.2.1"
urlencoding = "2.1.3"
lazy_static = "1.4"
futures-util = "0.3"
async-stream = "0.3"
json-patch = "2.0"
backon = "1.5.1"
[dev-dependencies]
tempfile = "3.8"
tower = { version = "0.4", features = ["util"] }
[build-dependencies]
dotenv = "0.15"
ts-rs = { version = "9.0", features = ["uuid-impl", "chrono-impl", "no-serde-warnings"] }