agent-desktop/Cargo.toml
Lahfir 29f8df0ba6 merge: resolve conflicts with origin/main
Integrate main-branch changes that landed in parallel with this PR:

- Cargo.toml: keep both [profile.ci] (fast CI builds, from main) and
  [profile.release-ffi] (panic=unwind for the cdylib, this branch).
  Workspace version tracks main at 0.1.12.
- .github/workflows/ci.yml: keep main's concurrency block, pinned
  action SHAs, permissions hardening, and the new ci profile used for
  binary size checks; re-add this branch's FFI cdylib build and header
  drift check as trailing steps.
- crates/ffi/src/tree/get.rs, observation/{find,is}.rs: TreeOptions
  gained a `skeleton: bool` field on main — pass `false` since the FFI
  snapshots are already full trees.
- crates/ffi/src/actions/resolve.rs, observation/find.rs: RefEntry
  gained a `root_ref: Option<String>` field (progressive skeleton
  traversal) — pass `None` from the FFI layer.
- crates/ffi/src/tree/flatten.rs test helper: AccessibilityNode gained
  a `children_count: Option<usize>` field — initialize to None.

Verified: 111 workspace lib tests pass, 62 FFI tests pass (52 lib + 10
integration), clippy --all-targets -D warnings clean.
2026-04-16 04:43:36 -07:00

44 lines
1.3 KiB
TOML

[workspace]
members = ["crates/core", "crates/macos", "crates/windows", "crates/linux", "crates/ffi", "src"]
resolver = "2"
[workspace.package]
edition = "2021"
rust-version = "1.78"
license = "Apache-2.0"
version = "0.1.12" # x-release-please-version
[workspace.dependencies]
clap = { version = "4.5", features = ["derive"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
base64 = "0.22"
rustc-hash = "2.1"
agent-desktop-core = { path = "crates/core" }
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
strip = true
panic = "abort"
# Fast build for CI: skip LTO and size optimisations, keep debug info for
# better test failure messages. Inherits release settings not listed here.
[profile.ci]
inherits = "release"
opt-level = 1
lto = false
codegen-units = 16
strip = false
debug = 1
# Dedicated profile for the FFI cdylib. Overrides panic = "abort" so
# catch_unwind actually catches at the extern "C" boundary — the CLI
# release profile stays abort for size reasons.
[profile.release-ffi]
inherits = "release"
panic = "unwind"