diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 6aa25db9..e2977e43 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -35,7 +35,7 @@ jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install toolchain
uses: dtolnay/rust-toolchain@1.95
@@ -43,7 +43,7 @@ jobs:
components: rustfmt, clippy
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -114,7 +114,7 @@ jobs:
outputs:
version: ${{ steps.calc.outputs.version }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- id: calc
run: |
V=$(cat VERSION)
@@ -128,7 +128,7 @@ jobs:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@1.95
@@ -136,7 +136,7 @@ jobs:
components: llvm-tools-preview
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -146,7 +146,9 @@ jobs:
restore-keys: ${{ runner.os }}-cargo-coverage-
- name: Install cargo-llvm-cov
- uses: taiki-e/install-action@v2
+ uses: taiki-e/install-action@v2.85.4
+ with:
+ tool: cargo-llvm-cov
- name: Configure Git for tests
run: |
@@ -179,7 +181,7 @@ jobs:
done
- name: Upload to Codecov
- uses: codecov/codecov-action@v6
+ uses: codecov/codecov-action@v7
with:
files: codecov.json
flags: rust
@@ -189,7 +191,7 @@ jobs:
needs: lint-test
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install toolchain
uses: dtolnay/rust-toolchain@1.95
@@ -198,7 +200,7 @@ jobs:
run: sudo apt-get update && sudo apt-get install -y tmux
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -225,13 +227,13 @@ jobs:
needs: lint-test
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install toolchain
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -267,9 +269,12 @@ jobs:
- os: windows-latest
target: x86_64-pc-windows-msvc
artifact_name: operator-windows-x86_64.exe
+ - os: windows-11-arm
+ target: aarch64-pc-windows-msvc
+ artifact_name: operator-windows-arm64.exe
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install toolchain
uses: dtolnay/rust-toolchain@1.95
@@ -277,7 +282,7 @@ jobs:
targets: ${{ matrix.target }}
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -371,18 +376,21 @@ jobs:
- os: windows-latest
target: x86_64-pc-windows-msvc
artifact_name: opr8r-windows-x86_64.exe
+ - os: windows-11-arm
+ target: aarch64-pc-windows-msvc
+ artifact_name: opr8r-windows-arm64.exe
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: opr8r
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo registry
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -448,7 +456,9 @@ jobs:
matrix:
artifact:
- operator-windows-x86_64.exe
+ - operator-windows-arm64.exe
- opr8r-windows-x86_64.exe
+ - opr8r-windows-arm64.exe
uses: ./.github/workflows/sign-windows.yaml
with:
artifact-name: ${{ matrix.artifact }}
@@ -465,7 +475,7 @@ jobs:
outputs:
version: ${{ needs.version.outputs.version }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
with:
fetch-depth: 0
@@ -566,6 +576,7 @@ jobs:
OP_LINUX_ARM=$(sha256sum release-assets/operator-linux-arm64 | cut -d' ' -f1)
OP_LINUX_X86=$(sha256sum release-assets/operator-linux-x86_64 | cut -d' ' -f1)
OP_WIN=$(sha256sum release-assets/operator-windows-x86_64.exe | cut -d' ' -f1)
+ OP_WIN_ARM=$(sha256sum release-assets/operator-windows-arm64.exe | cut -d' ' -f1)
cat > docs/_data/checksums.yml << EOF
# SHA256 checksums - AUTO-GENERATED BY CI
@@ -576,6 +587,7 @@ jobs:
linux_arm64: "${OP_LINUX_ARM}"
linux_x86_64: "${OP_LINUX_X86}"
windows_x86_64: "${OP_WIN}"
+ windows_arm64: "${OP_WIN_ARM}"
EOF
- name: Commit checksums
@@ -588,7 +600,7 @@ jobs:
needs: [build, release]
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Download linux binaries
uses: actions/download-artifact@v8
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 6195f076..e04a6605 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -37,7 +37,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v6
+ uses: actions/checkout@v7
# Install Rust toolchain for docs generation
- name: Install Rust toolchain
@@ -45,7 +45,7 @@ jobs:
# Cache cargo for faster builds
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
diff --git a/.github/workflows/integration-tests-matrix.yml b/.github/workflows/integration-tests-matrix.yml
index 2e12e0b9..2d75172e 100644
--- a/.github/workflows/integration-tests-matrix.yml
+++ b/.github/workflows/integration-tests-matrix.yml
@@ -74,13 +74,13 @@ jobs:
extension: .exe
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -119,13 +119,13 @@ jobs:
run:
working-directory: opr8r
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -167,7 +167,7 @@ jobs:
opr8r_artifact: opr8r-macos-arm64
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install tmux (Linux)
if: runner.os == 'Linux'
@@ -181,7 +181,7 @@ jobs:
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -234,13 +234,13 @@ jobs:
opr8r_artifact: opr8r-linux-arm64
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -303,13 +303,13 @@ jobs:
opr8r_artifact: opr8r-macos-arm64
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -356,13 +356,13 @@ jobs:
artifact: operator-macos-arm64
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -408,13 +408,13 @@ jobs:
extension: .exe
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -465,7 +465,7 @@ jobs:
extension: .exe
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Download operator binary
uses: actions/download-artifact@v8
@@ -530,10 +530,10 @@ jobs:
run:
working-directory: vscode-extension
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Setup Node.js
- uses: actions/setup-node@v6
+ uses: actions/setup-node@v7
with:
node-version: '22'
cache: 'npm'
diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml
index 1ac8b1a3..62b7cd49 100644
--- a/.github/workflows/integration-tests.yml
+++ b/.github/workflows/integration-tests.yml
@@ -57,7 +57,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v6
+ uses: actions/checkout@v7
with:
fetch-depth: 0 # Full history needed for git operations
@@ -72,7 +72,7 @@ jobs:
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
diff --git a/.github/workflows/opr8r.yaml b/.github/workflows/opr8r.yaml
index c40fb2ae..8d68859a 100644
--- a/.github/workflows/opr8r.yaml
+++ b/.github/workflows/opr8r.yaml
@@ -28,7 +28,7 @@ jobs:
run:
working-directory: opr8r
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@1.95
@@ -36,7 +36,7 @@ jobs:
components: rustfmt, clippy
- name: Cache cargo registry
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -71,7 +71,7 @@ jobs:
run:
working-directory: opr8r
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@1.95
@@ -79,7 +79,7 @@ jobs:
components: llvm-tools-preview
- name: Cache cargo registry
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -90,13 +90,15 @@ jobs:
opr8r-${{ runner.os }}-cargo-coverage-
- name: Install cargo-llvm-cov
- uses: taiki-e/install-action@v2
+ uses: taiki-e/install-action@v2.85.4
+ with:
+ tool: cargo-llvm-cov
- name: Generate coverage
run: cargo llvm-cov --locked --all-features --codecov --output-path codecov.json
- name: Upload to Codecov
- uses: codecov/codecov-action@v6
+ uses: codecov/codecov-action@v7
with:
files: opr8r/codecov.json
flags: opr8r
@@ -123,18 +125,22 @@ jobs:
os: windows-latest
artifact: opr8r-windows-x86_64
extension: .exe
+ - target: aarch64-pc-windows-msvc
+ os: windows-11-arm
+ artifact: opr8r-windows-arm64
+ extension: .exe
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: opr8r
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo registry
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -179,9 +185,14 @@ jobs:
sign-windows:
needs: build
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
+ strategy:
+ matrix:
+ artifact:
+ - opr8r-windows-x86_64
+ - opr8r-windows-arm64
uses: ./.github/workflows/sign-windows.yaml
with:
- artifact-name: opr8r-windows-x86_64
+ artifact-name: ${{ matrix.artifact }}
secrets:
AZURE_STORAGE_CONNECTION_STRING: ${{ secrets.AZURE_STORAGE_CONNECTION_STRING }}
AZ_PIPELINES_PAT: ${{ secrets.AZ_PIPELINES_PAT }}
diff --git a/.github/workflows/vscode-extension.yaml b/.github/workflows/vscode-extension.yaml
index 75f63dbb..98c74bac 100644
--- a/.github/workflows/vscode-extension.yaml
+++ b/.github/workflows/vscode-extension.yaml
@@ -30,10 +30,10 @@ jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Setup Node.js
- uses: actions/setup-node@v6
+ uses: actions/setup-node@v7
with:
node-version: '22'
cache: 'npm'
@@ -64,7 +64,7 @@ jobs:
- name: Upload coverage to Codecov
if: always()
- uses: codecov/codecov-action@v6
+ uses: codecov/codecov-action@v7
with:
files: vscode-extension/coverage/lcov.info
flags: vscode-extension
@@ -91,18 +91,22 @@ jobs:
os: windows-latest
artifact: opr8r-windows-x86_64
extension: .exe
+ - target: aarch64-pc-windows-msvc
+ os: windows-11-arm
+ artifact: opr8r-windows-arm64
+ extension: .exe
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: opr8r
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@1.95
- name: Cache cargo registry
- uses: actions/cache@v5
+ uses: actions/cache@v6
with:
path: |
~/.cargo/registry
@@ -160,12 +164,15 @@ jobs:
- vscode_target: win32-x64
opr8r_artifact: opr8r-windows-x86_64
opr8r_extension: .exe
+ - vscode_target: win32-arm64
+ opr8r_artifact: opr8r-windows-arm64
+ opr8r_extension: .exe
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Setup Node.js
- uses: actions/setup-node@v6
+ uses: actions/setup-node@v7
with:
node-version: '22'
cache: 'npm'
@@ -209,10 +216,10 @@ jobs:
run:
working-directory: . # Override global default - publish job runs from repo root
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Setup Node.js
- uses: actions/setup-node@v6
+ uses: actions/setup-node@v7
with:
node-version: '22'
diff --git a/.github/workflows/zed-extension.yaml b/.github/workflows/zed-extension.yaml
index 1de6a222..74ec9cc2 100644
--- a/.github/workflows/zed-extension.yaml
+++ b/.github/workflows/zed-extension.yaml
@@ -24,7 +24,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@v6
+ uses: actions/checkout@v7
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@1.95
diff --git a/Cargo.lock b/Cargo.lock
index b6596325..351dbdaa 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -22,7 +22,7 @@ dependencies = [
"futures",
"futures-concurrency",
"rustc-hash",
- "rustix 1.1.4",
+ "rustix",
"schemars 1.2.2",
"serde",
"serde_json",
@@ -54,7 +54,7 @@ dependencies = [
"serde",
"serde_json",
"serde_with",
- "strum 0.28.0",
+ "strum",
"tracing",
]
@@ -118,7 +118,7 @@ version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
dependencies = [
- "windows-sys 0.61.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -129,7 +129,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
dependencies = [
"anstyle",
"once_cell_polyfill",
- "windows-sys 0.61.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -138,6 +138,15 @@ version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
+[[package]]
+name = "approx"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
+dependencies = [
+ "num-traits",
+]
+
[[package]]
name = "arbitrary"
version = "1.4.2"
@@ -204,7 +213,7 @@ dependencies = [
"futures-lite",
"parking",
"polling",
- "rustix 1.1.4",
+ "rustix",
"slab",
"windows-sys 0.61.2",
]
@@ -235,7 +244,7 @@ dependencies = [
"cfg-if",
"event-listener",
"futures-lite",
- "rustix 1.1.4",
+ "rustix",
]
[[package]]
@@ -261,7 +270,7 @@ dependencies = [
"cfg-if",
"futures-core",
"futures-io",
- "rustix 1.1.4",
+ "rustix",
"signal-hook-registry",
"slab",
"windows-sys 0.61.2",
@@ -284,6 +293,15 @@ dependencies = [
"syn 3.0.3",
]
+[[package]]
+name = "atomic"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a89cbf775b137e9b968e67227ef7f775587cde3fd31b0d8599dbd0f598a48340"
+dependencies = [
+ "bytemuck",
+]
+
[[package]]
name = "atomic-waker"
version = "1.1.2"
@@ -377,6 +395,21 @@ version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+[[package]]
+name = "bit-set"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
+dependencies = [
+ "bit-vec",
+]
+
+[[package]]
+name = "bit-vec"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+
[[package]]
name = "bitflags"
version = "1.3.2"
@@ -392,6 +425,15 @@ dependencies = [
"serde_core",
]
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
[[package]]
name = "block-buffer"
version = "0.12.1"
@@ -439,16 +481,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
[[package]]
-name = "bytes"
-version = "1.12.1"
+name = "by_address"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
+checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06"
[[package]]
-name = "cassowary"
-version = "0.3.0"
+name = "bytemuck"
+version = "1.25.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797"
+
+[[package]]
+name = "bytes"
+version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
+checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
[[package]]
name = "castaway"
@@ -488,8 +536,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81"
dependencies = [
"cfg-if",
- "cpufeatures",
- "rand_core",
+ "cpufeatures 0.3.0",
+ "rand_core 0.10.1",
]
[[package]]
@@ -554,9 +602,9 @@ checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
[[package]]
name = "compact_str"
-version = "0.8.2"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fd622ebbb56a5b2ccb651b32b911cdeb2a9b4b11776b2473bf26a26a286244e"
+checksum = "9dfdd1c2274d9aa354115b09dc9a901d6c5576818cdf70d14cae2bdb47df00ab"
dependencies = [
"castaway",
"cfg-if",
@@ -665,6 +713,15 @@ version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
+[[package]]
+name = "cpufeatures"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
+dependencies = [
+ "libc",
+]
+
[[package]]
name = "cpufeatures"
version = "0.3.0"
@@ -683,6 +740,12 @@ dependencies = [
"cfg-if",
]
+[[package]]
+name = "critical-section"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b"
+
[[package]]
name = "crossbeam-channel"
version = "0.5.16"
@@ -700,15 +763,17 @@ checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
[[package]]
name = "crossterm"
-version = "0.28.1"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"
+checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b"
dependencies = [
"bitflags 2.13.1",
"crossterm_winapi",
+ "derive_more",
+ "document-features",
"mio",
"parking_lot",
- "rustix 0.38.44",
+ "rustix",
"signal-hook",
"signal-hook-mio",
"winapi",
@@ -729,6 +794,16 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
+[[package]]
+name = "crypto-common"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
[[package]]
name = "crypto-common"
version = "0.2.2"
@@ -738,6 +813,16 @@ dependencies = [
"hybrid-array",
]
+[[package]]
+name = "csscolorparser"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf"
+dependencies = [
+ "lab",
+ "phf",
+]
+
[[package]]
name = "darling"
version = "0.20.11"
@@ -807,6 +892,12 @@ dependencies = [
"syn 2.0.119",
]
+[[package]]
+name = "deltae"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4"
+
[[package]]
name = "deranged"
version = "0.5.8"
@@ -881,15 +972,25 @@ dependencies = [
"unicode-xid",
]
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer 0.10.4",
+ "crypto-common 0.1.7",
+]
+
[[package]]
name = "digest"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
dependencies = [
- "block-buffer",
+ "block-buffer 0.12.1",
"const-oid",
- "crypto-common",
+ "crypto-common 0.2.2",
]
[[package]]
@@ -931,7 +1032,7 @@ dependencies = [
"libc",
"option-ext",
"redox_users 0.5.2",
- "windows-sys 0.61.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -964,6 +1065,15 @@ dependencies = [
"const-random",
]
+[[package]]
+name = "document-features"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61"
+dependencies = [
+ "litrs",
+]
+
[[package]]
name = "dyn-clone"
version = "1.0.20"
@@ -1036,7 +1146,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
- "windows-sys 0.61.2",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "euclid"
+version = "0.22.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06"
+dependencies = [
+ "num-traits",
]
[[package]]
@@ -1059,12 +1178,39 @@ dependencies = [
"pin-project-lite",
]
+[[package]]
+name = "fancy-regex"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
+dependencies = [
+ "bit-set",
+ "regex",
+]
+
+[[package]]
+name = "fast-srgb8"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1"
+
[[package]]
name = "fastrand"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
+[[package]]
+name = "filedescriptor"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d"
+dependencies = [
+ "libc",
+ "thiserror 1.0.69",
+ "winapi",
+]
+
[[package]]
name = "filetime"
version = "0.2.29"
@@ -1081,6 +1227,18 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
+[[package]]
+name = "finl_unicode"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9844ddc3a6e533d62bba727eb6c28b5d360921d5175e9ff0f1e621a5c590a4d5"
+
+[[package]]
+name = "fixedbitset"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+
[[package]]
name = "fixedbitset"
version = "0.5.7"
@@ -1104,12 +1262,6 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-[[package]]
-name = "foldhash"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
-
[[package]]
name = "foldhash"
version = "0.2.0"
@@ -1180,7 +1332,7 @@ version = "7.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "175cd8cca9e1d45b87f18ffa75088f2099e3c4fe5e2f83e42de112560bea8ea6"
dependencies = [
- "fixedbitset",
+ "fixedbitset 0.5.7",
"futures-core",
"futures-lite",
"pin-project",
@@ -1263,6 +1415,16 @@ dependencies = [
"slab",
]
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
[[package]]
name = "getrandom"
version = "0.2.17"
@@ -1276,6 +1438,18 @@ dependencies = [
"wasm-bindgen",
]
+[[package]]
+name = "getrandom"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "r-efi 5.3.0",
+ "wasip2",
+]
+
[[package]]
name = "getrandom"
version = "0.4.3"
@@ -1285,8 +1459,8 @@ dependencies = [
"cfg-if",
"js-sys",
"libc",
- "r-efi",
- "rand_core",
+ "r-efi 6.0.0",
+ "rand_core 0.10.1",
"wasm-bindgen",
]
@@ -1355,24 +1529,15 @@ version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
-[[package]]
-name = "hashbrown"
-version = "0.15.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
-dependencies = [
- "allocator-api2",
- "equivalent",
- "foldhash 0.1.5",
-]
-
[[package]]
name = "hashbrown"
version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
dependencies = [
- "foldhash 0.2.0",
+ "allocator-api2",
+ "equivalent",
+ "foldhash",
]
[[package]]
@@ -1380,6 +1545,11 @@ name = "hashbrown"
version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
+dependencies = [
+ "allocator-api2",
+ "equivalent",
+ "foldhash",
+]
[[package]]
name = "hashlink"
@@ -1773,9 +1943,9 @@ checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
[[package]]
name = "itertools"
-version = "0.13.0"
+version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
+checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
dependencies = [
"either",
]
@@ -1808,6 +1978,17 @@ dependencies = [
"serde",
]
+[[package]]
+name = "kasuari"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bde5057d6143cc94e861d90f591b9303d6716c6b9602309150bd068853c10899"
+dependencies = [
+ "hashbrown 0.16.1",
+ "portable-atomic",
+ "thiserror 2.0.19",
+]
+
[[package]]
name = "kqueue"
version = "1.2.0"
@@ -1828,6 +2009,12 @@ dependencies = [
"libc",
]
+[[package]]
+name = "lab"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f"
+
[[package]]
name = "lazy_static"
version = "1.5.0"
@@ -1840,6 +2027,12 @@ version = "0.2.189"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
+[[package]]
+name = "libm"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
+
[[package]]
name = "libredox"
version = "0.1.18"
@@ -1850,10 +2043,13 @@ dependencies = [
]
[[package]]
-name = "linux-raw-sys"
-version = "0.4.15"
+name = "line-clipping"
+version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
+checksum = "3f50e8f47623268b5407192d26876c4d7f89d686ca130fdc53bced4814cd29f8"
+dependencies = [
+ "bitflags 2.13.1",
+]
[[package]]
name = "linux-raw-sys"
@@ -1867,6 +2063,12 @@ version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
+[[package]]
+name = "litrs"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
+
[[package]]
name = "lock_api"
version = "0.4.14"
@@ -1884,11 +2086,11 @@ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
[[package]]
name = "lru"
-version = "0.12.5"
+version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
+checksum = "0b6180140927ee907000b0aa540091f6ea512ead4447c92b8fc35bc72788a5a6"
dependencies = [
- "hashbrown 0.15.5",
+ "hashbrown 0.17.1",
]
[[package]]
@@ -1911,6 +2113,16 @@ dependencies = [
"uuid",
]
+[[package]]
+name = "mac_address"
+version = "1.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0aeb26bf5e836cc1c341c8106051b573f1766dfa05aa87f0b98be5e51b02303"
+dependencies = [
+ "nix",
+ "winapi",
+]
+
[[package]]
name = "matchers"
version = "0.2.0"
@@ -1932,6 +2144,12 @@ version = "2.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
+[[package]]
+name = "memmem"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15"
+
[[package]]
name = "memoffset"
version = "0.9.1"
@@ -1957,6 +2175,12 @@ dependencies = [
"unicase",
]
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
[[package]]
name = "miniz_oxide"
version = "0.8.9"
@@ -1996,6 +2220,29 @@ dependencies = [
"tempfile",
]
+[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags 2.13.1",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+ "memoffset",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
[[package]]
name = "notify"
version = "7.0.0"
@@ -2080,7 +2327,7 @@ version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
dependencies = [
- "windows-sys 0.61.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -2089,6 +2336,17 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441"
+[[package]]
+name = "num-derive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.119",
+]
+
[[package]]
name = "num-modular"
version = "0.6.4"
@@ -2113,6 +2371,15 @@ dependencies = [
"autocfg",
]
+[[package]]
+name = "num_threads"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
+dependencies = [
+ "libc",
+]
+
[[package]]
name = "objc2"
version = "0.6.4"
@@ -2230,7 +2497,7 @@ dependencies = [
[[package]]
name = "operator"
-version = "0.2.3"
+version = "0.2.5"
dependencies = [
"agent-client-protocol",
"anyhow",
@@ -2255,6 +2522,7 @@ dependencies = [
"once_cell",
"operator-relay",
"ratatui",
+ "ratatui-textarea",
"regex",
"reqwest",
"rust-embed",
@@ -2262,7 +2530,7 @@ dependencies = [
"serde",
"serde_json",
"serde_yaml",
- "sha2",
+ "sha2 0.11.0",
"sysinfo",
"tempfile",
"thiserror 2.0.19",
@@ -2275,7 +2543,6 @@ dependencies = [
"tracing-appender",
"tracing-subscriber",
"ts-rs",
- "tui-textarea",
"utoipa",
"utoipa-axum",
"utoipa-swagger-ui",
@@ -2304,6 +2571,15 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+[[package]]
+name = "ordered-float"
+version = "4.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951"
+dependencies = [
+ "num-traits",
+]
+
[[package]]
name = "ordered-multimap"
version = "0.7.3"
@@ -2325,19 +2601,43 @@ dependencies = [
]
[[package]]
-name = "parking"
-version = "2.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
-
-[[package]]
-name = "parking_lot"
-version = "0.12.5"
+name = "palette"
+version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
+checksum = "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6"
dependencies = [
- "lock_api",
- "parking_lot_core",
+ "approx",
+ "fast-srgb8",
+ "libm",
+ "palette_derive",
+]
+
+[[package]]
+name = "palette_derive"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30"
+dependencies = [
+ "by_address",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.119",
+]
+
+[[package]]
+name = "parking"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
]
[[package]]
@@ -2413,6 +2713,58 @@ dependencies = [
"pest",
]
+[[package]]
+name = "phf"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
+dependencies = [
+ "phf_macros",
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_codegen"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
+dependencies = [
+ "phf_shared",
+ "rand 0.8.7",
+]
+
+[[package]]
+name = "phf_macros"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.119",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
+dependencies = [
+ "siphasher",
+]
+
[[package]]
name = "pin-project"
version = "1.1.13"
@@ -2466,10 +2818,16 @@ dependencies = [
"concurrent-queue",
"hermit-abi",
"pin-project-lite",
- "rustix 1.1.4",
+ "rustix",
"windows-sys 0.61.2",
]
+[[package]]
+name = "portable-atomic"
+version = "1.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3"
+
[[package]]
name = "potential_utf"
version = "0.1.5"
@@ -2532,7 +2890,7 @@ dependencies = [
"bytes",
"getrandom 0.4.3",
"lru-slab",
- "rand",
+ "rand 0.10.2",
"rand_pcg",
"ring",
"rustc-hash",
@@ -2556,7 +2914,7 @@ dependencies = [
"once_cell",
"socket2",
"tracing",
- "windows-sys 0.61.2",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -2568,12 +2926,27 @@ dependencies = [
"proc-macro2",
]
+[[package]]
+name = "r-efi"
+version = "5.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
+
[[package]]
name = "r-efi"
version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
+[[package]]
+name = "rand"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a"
+dependencies = [
+ "rand_core 0.6.4",
+]
+
[[package]]
name = "rand"
version = "0.10.2"
@@ -2582,9 +2955,15 @@ checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
dependencies = [
"chacha20",
"getrandom 0.4.3",
- "rand_core",
+ "rand_core 0.10.1",
]
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+
[[package]]
name = "rand_core"
version = "0.10.1"
@@ -2597,28 +2976,121 @@ version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "caa0f4137e1c0a72f4c651489402276c8e8e1cf081f3b0ba156d2cbeef09e86a"
dependencies = [
- "rand_core",
+ "rand_core 0.10.1",
]
[[package]]
name = "ratatui"
-version = "0.29.0"
+version = "0.30.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b"
+checksum = "3274ba0a2c5e1bcad2a2005d20f4dc59dad26b2eb0940fb094500dba4099d57d"
+dependencies = [
+ "instability",
+ "ratatui-core",
+ "ratatui-crossterm",
+ "ratatui-macros",
+ "ratatui-termina",
+ "ratatui-termwiz",
+ "ratatui-widgets",
+ "serde",
+]
+
+[[package]]
+name = "ratatui-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cbb175c433c8e28a809d1f5773a2ae96e68c0ce40db865cbab1020bf33ae479c"
dependencies = [
"bitflags 2.13.1",
- "cassowary",
"compact_str",
+ "critical-section",
+ "hashbrown 0.17.1",
+ "itertools",
+ "kasuari",
+ "lru",
+ "palette",
+ "serde",
+ "strum",
+ "thiserror 2.0.19",
+ "unicode-segmentation",
+ "unicode-truncate",
+ "unicode-width",
+]
+
+[[package]]
+name = "ratatui-crossterm"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567584a3b0e6a8203c23de40b4861497266725eb5363dbfd18a1edd603cca9f0"
+dependencies = [
+ "cfg-if",
"crossterm",
+ "instability",
+ "ratatui-core",
+]
+
+[[package]]
+name = "ratatui-macros"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed7dc68daa7498a43e4d68e0eb078427e10c38fbcfbb1e42d955f1fa2140d814"
+dependencies = [
+ "ratatui-core",
+ "ratatui-widgets",
+]
+
+[[package]]
+name = "ratatui-termina"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0bf912d9e66f057a759d92e386a280ea886b352ab757d6ac4d653c7ed2c43c2"
+dependencies = [
+ "instability",
+ "ratatui-core",
+ "termina",
+]
+
+[[package]]
+name = "ratatui-termwiz"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf03e0380b7744054d6cb74224fe3adf062a029754933f575ca1e3b4c2ce977"
+dependencies = [
+ "ratatui-core",
+ "termwiz",
+]
+
+[[package]]
+name = "ratatui-textarea"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c78d5ba0f26f97baed69a4c479f268a31c7b5b89d68ab939842152e383d6e73"
+dependencies = [
+ "ratatui-core",
+ "ratatui-crossterm",
+ "ratatui-widgets",
+ "unicode-segmentation",
+ "unicode-width",
+]
+
+[[package]]
+name = "ratatui-widgets"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "66e3d19bcc9130ca376277d93b60767ff121ace3be06f5f95f81dd68956407d1"
+dependencies = [
+ "bitflags 2.13.1",
+ "hashbrown 0.17.1",
"indoc",
"instability",
"itertools",
- "lru",
- "paste",
- "strum 0.26.3",
+ "line-clipping",
+ "ratatui-core",
+ "serde",
+ "strum",
+ "time",
"unicode-segmentation",
- "unicode-truncate",
- "unicode-width 0.2.0",
+ "unicode-width",
]
[[package]]
@@ -2806,7 +3278,7 @@ version = "8.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42ffa149f6aa81b58a5b3011d01a857c4ed12c7a732d2c51947a4c7c692185f0"
dependencies = [
- "sha2",
+ "sha2 0.11.0",
"walkdir",
]
@@ -2835,19 +3307,6 @@ dependencies = [
"semver",
]
-[[package]]
-name = "rustix"
-version = "0.38.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
-dependencies = [
- "bitflags 2.13.1",
- "errno",
- "libc",
- "linux-raw-sys 0.4.15",
- "windows-sys 0.59.0",
-]
-
[[package]]
name = "rustix"
version = "1.1.4"
@@ -2857,8 +3316,8 @@ dependencies = [
"bitflags 2.13.1",
"errno",
"libc",
- "linux-raw-sys 0.12.1",
- "windows-sys 0.61.2",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -3155,6 +3614,17 @@ dependencies = [
"unsafe-libyaml",
]
+[[package]]
+name = "sha2"
+version = "0.10.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
+dependencies = [
+ "cfg-if",
+ "cpufeatures 0.2.17",
+ "digest 0.10.7",
+]
+
[[package]]
name = "sha2"
version = "0.11.0"
@@ -3162,8 +3632,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4"
dependencies = [
"cfg-if",
- "cpufeatures",
- "digest",
+ "cpufeatures 0.3.0",
+ "digest 0.11.3",
]
[[package]]
@@ -3224,6 +3694,12 @@ version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
+[[package]]
+name = "siphasher"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649"
+
[[package]]
name = "slab"
version = "0.4.12"
@@ -3243,7 +3719,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
dependencies = [
"libc",
- "windows-sys 0.61.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -3264,35 +3740,13 @@ version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-[[package]]
-name = "strum"
-version = "0.26.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
-dependencies = [
- "strum_macros 0.26.4",
-]
-
[[package]]
name = "strum"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd"
dependencies = [
- "strum_macros 0.28.0",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.26.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 2.0.119",
+ "strum_macros",
]
[[package]]
@@ -3319,6 +3773,17 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a"
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
[[package]]
name = "syn"
version = "2.0.119"
@@ -3417,8 +3882,8 @@ dependencies = [
"fastrand",
"getrandom 0.4.3",
"once_cell",
- "rustix 1.1.4",
- "windows-sys 0.61.2",
+ "rustix",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -3430,6 +3895,82 @@ dependencies = [
"winapi-util",
]
+[[package]]
+name = "termina"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9048a889effe34a5cddee0af7f53285198b16dca3be510858d38dfdb3e62a04e"
+dependencies = [
+ "bitflags 2.13.1",
+ "parking_lot",
+ "rustix",
+ "signal-hook",
+ "windows-sys 0.60.2",
+]
+
+[[package]]
+name = "terminfo"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4ea810f0692f9f51b382fff5893887bb4580f5fa246fde546e0b13e7fcee662"
+dependencies = [
+ "fnv",
+ "nom",
+ "phf",
+ "phf_codegen",
+]
+
+[[package]]
+name = "termios"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "termwiz"
+version = "0.23.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4676b37242ccbd1aabf56edb093a4827dc49086c0ffd764a5705899e0f35f8f7"
+dependencies = [
+ "anyhow",
+ "base64",
+ "bitflags 2.13.1",
+ "fancy-regex",
+ "filedescriptor",
+ "finl_unicode",
+ "fixedbitset 0.4.2",
+ "hex",
+ "lazy_static",
+ "libc",
+ "log",
+ "memmem",
+ "nix",
+ "num-derive",
+ "num-traits",
+ "ordered-float",
+ "pest",
+ "pest_derive",
+ "phf",
+ "sha2 0.10.9",
+ "signal-hook",
+ "siphasher",
+ "terminfo",
+ "termios",
+ "thiserror 1.0.69",
+ "ucd-trie",
+ "unicode-segmentation",
+ "vtparse",
+ "wezterm-bidi",
+ "wezterm-blob-leases",
+ "wezterm-color-types",
+ "wezterm-dynamic",
+ "wezterm-input-types",
+ "winapi",
+]
+
[[package]]
name = "thiserror"
version = "1.0.69"
@@ -3486,7 +4027,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134"
dependencies = [
"deranged",
+ "libc",
"num-conv",
+ "num_threads",
"powerfmt",
"serde_core",
"time-core",
@@ -3836,17 +4379,6 @@ dependencies = [
"termcolor",
]
-[[package]]
-name = "tui-textarea"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a5318dd619ed73c52a9417ad19046724effc1287fb75cdcc4eca1d6ac1acbae"
-dependencies = [
- "crossterm",
- "ratatui",
- "unicode-width 0.2.0",
-]
-
[[package]]
name = "typeid"
version = "1.0.3"
@@ -3873,7 +4405,7 @@ checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e"
dependencies = [
"memoffset",
"tempfile",
- "windows-sys 0.61.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -3896,21 +4428,15 @@ checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
[[package]]
name = "unicode-truncate"
-version = "1.1.0"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf"
+checksum = "16b380a1238663e5f8a691f9039c73e1cdae598a30e9855f541d29b08b53e9a5"
dependencies = [
"itertools",
"unicode-segmentation",
- "unicode-width 0.1.14",
+ "unicode-width",
]
-[[package]]
-name = "unicode-width"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
-
[[package]]
name = "unicode-width"
version = "0.2.0"
@@ -4021,6 +4547,7 @@ version = "1.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239"
dependencies = [
+ "atomic",
"getrandom 0.4.3",
"js-sys",
"serde_core",
@@ -4039,6 +4566,21 @@ version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "vtparse"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d9b2acfb050df409c972a37d3b8e08cdea3bddb0c09db9d53137e504cfabed0"
+dependencies = [
+ "utf8parse",
+]
+
[[package]]
name = "walkdir"
version = "2.5.0"
@@ -4064,6 +4606,15 @@ version = "0.11.1+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
+[[package]]
+name = "wasip2"
+version = "1.0.4+wasi-0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487"
+dependencies = [
+ "wit-bindgen",
+]
+
[[package]]
name = "wasm-bindgen"
version = "0.2.126"
@@ -4148,6 +4699,78 @@ dependencies = [
"rustls-pki-types",
]
+[[package]]
+name = "wezterm-bidi"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c0a6e355560527dd2d1cf7890652f4f09bb3433b6aadade4c9b5ed76de5f3ec"
+dependencies = [
+ "log",
+ "wezterm-dynamic",
+]
+
+[[package]]
+name = "wezterm-blob-leases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "692daff6d93d94e29e4114544ef6d5c942a7ed998b37abdc19b17136ea428eb7"
+dependencies = [
+ "getrandom 0.3.4",
+ "mac_address",
+ "sha2 0.10.9",
+ "thiserror 1.0.69",
+ "uuid",
+]
+
+[[package]]
+name = "wezterm-color-types"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7de81ef35c9010270d63772bebef2f2d6d1f2d20a983d27505ac850b8c4b4296"
+dependencies = [
+ "csscolorparser",
+ "deltae",
+ "lazy_static",
+ "wezterm-dynamic",
+]
+
+[[package]]
+name = "wezterm-dynamic"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f2ab60e120fd6eaa68d9567f3226e876684639d22a4219b313ff69ec0ccd5ac"
+dependencies = [
+ "log",
+ "ordered-float",
+ "strsim",
+ "thiserror 1.0.69",
+ "wezterm-dynamic-derive",
+]
+
+[[package]]
+name = "wezterm-dynamic-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46c0cf2d539c645b448eaffec9ec494b8b19bd5077d9e58cb1ae7efece8d575b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "wezterm-input-types"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7012add459f951456ec9d6c7e6fc340b1ce15d6fc9629f8c42853412c029e57e"
+dependencies = [
+ "bitflags 1.3.2",
+ "euclid",
+ "lazy_static",
+ "serde",
+ "wezterm-dynamic",
+]
+
[[package]]
name = "which"
version = "8.0.5"
@@ -4179,7 +4802,7 @@ version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
- "windows-sys 0.61.2",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -4398,15 +5021,6 @@ dependencies = [
"windows-targets 0.52.6",
]
-[[package]]
-name = "windows-sys"
-version = "0.59.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
[[package]]
name = "windows-sys"
version = "0.60.2"
@@ -4647,6 +5261,12 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "wit-bindgen"
+version = "0.57.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
+
[[package]]
name = "writeable"
version = "0.6.3"
@@ -4709,7 +5329,7 @@ dependencies = [
"hex",
"libc",
"ordered-stream",
- "rustix 1.1.4",
+ "rustix",
"serde",
"serde_repr",
"tracing",
diff --git a/Cargo.toml b/Cargo.toml
index b82400c4..3ca923a2 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "operator"
-version = "0.2.3"
+version = "0.2.5"
edition = "2021"
rust-version = "1.95"
description = "Multi-agent orchestration dashboard for kanban shaped software development"
@@ -25,14 +25,9 @@ path = "src/bin/generate_types.rs"
operator-relay = { path = "crates/relay" }
# TUI
-# NOTE: ratatui is held at 0.29 and crossterm at 0.28 because the official
-# `tui-textarea` 0.7 depends on ratatui 0.29 / crossterm 0.28.
-# Bumping either here pulls a second ratatui/crossterm into the tree and the
-# `Style`/`KeyEvent` types stop unifying in `form_field.rs`. Revisit when
-# upstream `tui-textarea` supports ratatui 0.30.
-ratatui = "0.29"
-crossterm = "0.28"
-tui-textarea = "0.7"
+ratatui = "0.30"
+crossterm = "0.29"
+ratatui-textarea = "0.9"
# Templating
handlebars = "6"
diff --git a/README.md b/README.md
index bfc7178c..0eb66a40 100644
--- a/README.md
+++ b/README.md
@@ -95,6 +95,11 @@ chmod +x operator
sudo mv operator /usr/local/bin/
```
+```powershell
+# Windows (PowerShell) — use operator-windows-arm64.exe on ARM64
+Invoke-WebRequest -Uri "https://github.com/untra/operator/releases/latest/download/operator-windows-x86_64.exe" -OutFile "operator.exe"
+```
+
Or build from source:
```bash
diff --git a/VERSION b/VERSION
index 71790396..3a4036fb 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.2.3
+0.2.5
diff --git a/agnt-plugin/manifest.json b/agnt-plugin/manifest.json
index c3fd38d0..8a9b78fd 100644
--- a/agnt-plugin/manifest.json
+++ b/agnt-plugin/manifest.json
@@ -1,6 +1,6 @@
{
"name": "operator-plugin",
- "version": "0.2.3",
+ "version": "0.2.5",
"description": "Orchestrate Operator! ticket-driven coding agents from AGNT workflows",
"author": "untra",
"displayName": "Operator!",
diff --git a/agnt-plugin/package.json b/agnt-plugin/package.json
index d0a26082..80065d0f 100644
--- a/agnt-plugin/package.json
+++ b/agnt-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "operator-plugin",
- "version": "0.2.3",
+ "version": "0.2.5",
"description": "Orchestrate Operator! ticket-driven coding agents from AGNT workflows",
"author": "untra",
"license": "MIT",
diff --git a/deny.toml b/deny.toml
index 514785e7..401dd573 100644
--- a/deny.toml
+++ b/deny.toml
@@ -7,7 +7,7 @@ yanked = "deny"
ignore = [
# instant: unmaintained, pulled in by notify-types → notify; no upgrade path available
{ id = "RUSTSEC-2024-0384" },
- # paste: unmaintained, pulled in by ratatui; no upgrade path available
+ # paste: unmaintained, pulled in by utoipa-axum; no upgrade path available
{ id = "RUSTSEC-2024-0436" },
]
diff --git a/docs/_config.yml b/docs/_config.yml
index 2bad3e40..3ec6e181 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -47,7 +47,7 @@ collections_dir: .
# Permalink structure
permalink: pretty
-version: 0.2.3
+version: 0.2.5
# Google Analytics
ga_tag: G-5JZPJWWT7S # Replace with actual GA4 measurement ID from analytics.google.com
diff --git a/docs/downloads/index.md b/docs/downloads/index.md
index c28d8c7f..15767af5 100644
--- a/docs/downloads/index.md
+++ b/docs/downloads/index.md
@@ -34,6 +34,7 @@ For headless servers, CI/CD pipelines, or advanced workflows, download the CLI b
| Linux | ARM64 | [operator-linux-arm64]({{ site.github.repo }}/releases/download/v{{ site.version }}/operator-linux-arm64)
sha256:{{ site.data.checksums.operator.linux_arm64 }} |
| Linux | x86_64 | [operator-linux-x86_64]({{ site.github.repo }}/releases/download/v{{ site.version }}/operator-linux-x86_64)
sha256:{{ site.data.checksums.operator.linux_x86_64 }} |
| Windows | x86_64 | [operator-windows-x86_64.exe]({{ site.github.repo }}/releases/download/v{{ site.version }}/operator-windows-x86_64.exe)
sha256:{{ site.data.checksums.operator.windows_x86_64 }} |
+| Windows | ARM64 | [operator-windows-arm64.exe]({{ site.github.repo }}/releases/download/v{{ site.version }}/operator-windows-arm64.exe)
sha256:{{ site.data.checksums.operator.windows_arm64 }} |
## All Releases
diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md
index abe1c1e2..fcde458a 100644
--- a/docs/getting-started/installation.md
+++ b/docs/getting-started/installation.md
@@ -48,7 +48,12 @@ sudo mv operator /usr/local/bin/
### Windows (PowerShell)
```powershell
+# x86_64
Invoke-WebRequest -Uri "https://github.com/untra/operator/releases/latest/download/operator-windows-x86_64.exe" -OutFile "operator.exe"
+
+# ARM64
+Invoke-WebRequest -Uri "https://github.com/untra/operator/releases/latest/download/operator-windows-arm64.exe" -OutFile "operator.exe"
+
# Add to PATH or move to desired location
```
diff --git a/docs/getting-started/platform-support.md b/docs/getting-started/platform-support.md
index 4072d658..7f1b8502 100644
--- a/docs/getting-started/platform-support.md
+++ b/docs/getting-started/platform-support.md
@@ -35,7 +35,7 @@ This page is the authoritative reference for what Operator supports on each oper
## Windows
-Windows is a supported download target. The step-wrapper (`opr8r`), REST API, kanban sync, and VS Code extension all work. The following features are currently unavailable on Windows.
+Windows is a supported download target on both x86_64 and ARM64. The step-wrapper (`opr8r`), REST API, kanban sync, and VS Code extension all work. The following features are currently unavailable on Windows (both architectures).
| Feature | Status | Reason | Workaround |
|---------|--------|--------|------------|
diff --git a/docs/schemas/openapi.json b/docs/schemas/openapi.json
index dbc9fb35..c2ac166c 100644
--- a/docs/schemas/openapi.json
+++ b/docs/schemas/openapi.json
@@ -10,7 +10,7 @@
"license": {
"name": "MIT"
},
- "version": "0.2.3"
+ "version": "0.2.5"
},
"paths": {
"/api/v1/agents/active": {
diff --git a/opr8r/Cargo.lock b/opr8r/Cargo.lock
index f87a072e..f5d13784 100644
--- a/opr8r/Cargo.lock
+++ b/opr8r/Cargo.lock
@@ -38,7 +38,7 @@ version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
dependencies = [
- "windows-sys 0.61.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -49,7 +49,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
dependencies = [
"anstyle",
"once_cell_polyfill",
- "windows-sys 0.61.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -66,7 +66,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
]
[[package]]
@@ -129,9 +129,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
[[package]]
name = "clap"
-version = "4.6.1"
+version = "4.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51"
+checksum = "301b56658598e48f3648647ac6fc887be7e7108eddfa4e9b63fcf3ec58c0cadf"
dependencies = [
"clap_builder",
"clap_derive",
@@ -139,9 +139,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.6.0"
+version = "4.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
+checksum = "94a65403d1a1bd28f7dc68eb8506e8874808ee5eecb59298de588e2e1407a078"
dependencies = [
"anstream",
"anstyle",
@@ -151,14 +151,14 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.6.1"
+version = "4.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9"
+checksum = "d012d2b9d65aca7f18f4d9878a045bc17899bba951561ba5ec3c2ba1eed9a061"
dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
@@ -202,7 +202,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
]
[[package]]
@@ -218,7 +218,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
- "windows-sys 0.61.2",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -779,7 +779,7 @@ dependencies = [
[[package]]
name = "opr8r"
-version = "0.2.3"
+version = "0.2.5"
dependencies = [
"clap",
"operator-relay",
@@ -834,7 +834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
dependencies = [
"proc-macro2",
- "syn",
+ "syn 2.0.117",
]
[[package]]
@@ -1030,7 +1030,7 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys",
- "windows-sys 0.61.2",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -1097,9 +1097,9 @@ checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
[[package]]
name = "serde"
-version = "1.0.228"
+version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
+checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
dependencies = [
"serde_core",
"serde_derive",
@@ -1107,29 +1107,29 @@ dependencies = [
[[package]]
name = "serde_core"
-version = "1.0.228"
+version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
+checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.228"
+version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
+checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.3",
]
[[package]]
name = "serde_json"
-version = "1.0.150"
+version = "1.0.151"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
+checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
dependencies = [
"itoa",
"memchr",
@@ -1185,7 +1185,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
dependencies = [
"libc",
- "windows-sys 0.61.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -1217,6 +1217,17 @@ dependencies = [
"unicode-ident",
]
+[[package]]
+name = "syn"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
[[package]]
name = "sync_wrapper"
version = "1.0.2"
@@ -1234,7 +1245,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
]
[[package]]
@@ -1247,7 +1258,7 @@ dependencies = [
"getrandom 0.3.4",
"once_cell",
"rustix",
- "windows-sys 0.61.2",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -1276,7 +1287,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
]
[[package]]
@@ -1287,7 +1298,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
]
[[package]]
@@ -1317,9 +1328,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.52.3"
+version = "1.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe"
+checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed"
dependencies = [
"bytes",
"libc",
@@ -1339,7 +1350,7 @@ checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
]
[[package]]
@@ -1416,7 +1427,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
]
[[package]]
@@ -1478,9 +1489,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
-version = "1.23.3"
+version = "1.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "144d6b123cef80b301b8f72a9e2ca4370ddec21950d0a103dd22c437006d2db7"
+checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239"
dependencies = [
"getrandom 0.4.2",
"js-sys",
@@ -1572,7 +1583,7 @@ dependencies = [
"bumpalo",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
"wasm-bindgen-shared",
]
@@ -1654,7 +1665,7 @@ version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
- "windows-sys 0.61.2",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -1921,7 +1932,7 @@ dependencies = [
"heck",
"indexmap",
"prettyplease",
- "syn",
+ "syn 2.0.117",
"wasm-metadata",
"wit-bindgen-core",
"wit-component",
@@ -1937,7 +1948,7 @@ dependencies = [
"prettyplease",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
"wit-bindgen-core",
"wit-bindgen-rust",
]
@@ -2004,7 +2015,7 @@ checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
"synstructure",
]
@@ -2025,7 +2036,7 @@ checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
]
[[package]]
@@ -2045,7 +2056,7 @@ checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
"synstructure",
]
@@ -2085,7 +2096,7 @@ checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.117",
]
[[package]]
diff --git a/opr8r/Cargo.toml b/opr8r/Cargo.toml
index 02d31d93..11d7d033 100644
--- a/opr8r/Cargo.toml
+++ b/opr8r/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "opr8r"
-version = "0.2.3"
+version = "0.2.5"
edition = "2021"
description = "Minimal CLI wrapper for LLM commands in multi-step ticket workflows"
license = "MIT"
diff --git a/opr8r/README.md b/opr8r/README.md
index 64840c71..e897b180 100644
--- a/opr8r/README.md
+++ b/opr8r/README.md
@@ -108,8 +108,9 @@ cargo test # Run tests
opr8r is built for multiple platforms:
- Linux x86_64
- Linux ARM64
-- macOS Intel
- macOS Apple Silicon
+- Windows x86_64
+- Windows ARM64
Binaries are bundled with:
- Operator releases (as separate file)
diff --git a/src/ui/form_field.rs b/src/ui/form_field.rs
index df8b34ab..c57ede32 100644
--- a/src/ui/form_field.rs
+++ b/src/ui/form_field.rs
@@ -10,7 +10,7 @@ use ratatui::{
widgets::{Block, Borders, List, ListItem, ListState, Paragraph},
Frame,
};
-use tui_textarea::TextArea;
+use ratatui_textarea::TextArea;
use crate::templates::schema::{FieldSchema, FieldType};
@@ -23,7 +23,7 @@ pub enum FormField {
placeholder: String,
max_length: Option,
},
- /// Multi-line text input using tui-textarea
+ /// Multi-line text input using ratatui-textarea
TextArea {
textarea: Box