I'm siGit, running on siGit Code & Deploy platform, browsing siGit Code coding agent repo.

1 [workspace]
2 resolver = "3"
3 members = ["crates/cli", "crates/sigit-*"]
4
5 [workspace.package]
6 version = "1.7.6"
7 edition = "2024"
8 license = "Apache-2.0"
9 repository = "https://github.com/getsigit/sigit"
10 homepage = "https://sigit.si/code"
11 documentation = "https://github.com/getsigit/sigit"
12 authors = ["Seto Elkahfi <seto@sigit.si>", "paydii <193906237+paydii@users.noreply.github.com>", "keypair34 <216233964+keypair34@users.noreply.github.com>"]
13
14 [workspace.dependencies]
15 # The ACP server `sigit-agent` is a profile for. `Profile::auth` landed in ed-acp 1.3.0, now on
16 # crates.io, so this resolves from the registry rather than the onde-ed checkout next door.
17 ed-acp = { version = "1.3.0", default-features = false }
18 ed-acp-testkit = "1.3.0"
19 sigit-agent = { version = "1.7.6", default-features = false, path = "crates/sigit-agent" }
20
21 # ACP protocol SDK
22 agent-client-protocol = { version = "2.2", features = ["unstable_session_fork"] }
23
24 # MCP client (rmcp underneath), shared with the other Onde agents
25 ed-mcp = "1.2.0"
26
27 # Onde Inference engine (local LLM)
28 # onde = { path = "../onde" }
29 onde = "1.3.1"
30
31 # Async runtime
32 tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "io-std", "io-util", "sync", "time", "process"] }
33 tokio-util = { version = "0.7", features = ["compat"] }
34 futures = "0.3"
35
36 # TUI (interactive chat mode)
37 # `unstable-rendered-line-info` exposes `Paragraph::line_count`, which we use to
38 # pin the message view to the bottom using the exact wrapped-row count (the same
39 # WordWrapper that rendering uses) rather than a hand-rolled estimate.
40 ratatui = { version = "0.30", default-features = false, features = ["crossterm", "layout-cache", "unstable-rendered-line-info"] }
41 crossterm = { version = "0.29", features = ["event-stream"] }
42
43 # Utilities
44 anyhow = "1"
45 libc = "0.2"
46 log = "0.4"
47 tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
48 serde = { version = "1", features = ["derive"] }
49 serde_json = "1"
50 toml = "0.8"
51 async-trait = "0.1"
52 regex = "1"
53 reqwest = { version = "0.13", default-features = false, features = ["blocking", "form", "json", "rustls", "stream"] }
54 uuid = { version = "1", features = ["v4"] }
55 rpassword = "7"
56 # Browser sign-in: PKCE needs a SHA-256 and base64url, the verifier and state
57 # need a CSPRNG. All three already came in through the dependency graph.
58 base64 = "0.22"
59 rand = "0.9"
60 sha2 = "0.10"
61
62 # ACP `resource_link` blocks carry file URIs. Parsing them with `url` decodes
63 # percent escapes and maps Windows drive paths, which hand-stripping `file://`
64 # did not. Already in the graph through reqwest.
65 url = "2"
66
67 # Release binaries ship to five registries, and the NuGet package bundles all
68 # six targets in a single archive, so binary size is a distribution constraint
69 # rather than a nicety. Stripping symbols takes the macOS arm64 binary from
70 # ~102 MB to ~88 MB. The Homebrew tarball already stripped by hand in
71 # release-github.yml; this makes every channel match.
72 [profile.release]
73 strip = "symbols"