sigit-code 1.6.5__tar.gz → 1.6.6__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.
Files changed (117) hide show
  1. {sigit_code-1.6.5 → sigit_code-1.6.6}/.agents/AGENTS.md +6 -0
  2. {sigit_code-1.6.5 → sigit_code-1.6.6}/AGENTS.md +6 -0
  3. {sigit_code-1.6.5 → sigit_code-1.6.6}/CHANGELOG.md +38 -1
  4. {sigit_code-1.6.5 → sigit_code-1.6.6}/CLAUDE.md +6 -0
  5. {sigit_code-1.6.5 → sigit_code-1.6.6}/Cargo.lock +154 -17
  6. {sigit_code-1.6.5 → sigit_code-1.6.6}/Cargo.toml +4 -1
  7. {sigit_code-1.6.5 → sigit_code-1.6.6}/PKG-INFO +1 -1
  8. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/backend.rs +185 -20
  9. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/main.rs +57 -6
  10. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/mcp.rs +140 -739
  11. sigit_code-1.6.6/src/repetition.rs +221 -0
  12. sigit_code-1.6.6/tests/acp_tool_call_name.rs +277 -0
  13. {sigit_code-1.6.5 → sigit_code-1.6.6}/.agents/skills/agent-client-protocol/SKILL.md +0 -0
  14. {sigit_code-1.6.5 → sigit_code-1.6.6}/.agents/skills/ai-assisted-coding/SKILL.md +0 -0
  15. {sigit_code-1.6.5 → sigit_code-1.6.6}/.agents/skills/branding/SKILL.md +0 -0
  16. {sigit_code-1.6.5 → sigit_code-1.6.6}/.agents/skills/run-sigit/SKILL.md +0 -0
  17. {sigit_code-1.6.5 → sigit_code-1.6.6}/.agents/skills/run-sigit/driver.mjs +0 -0
  18. {sigit_code-1.6.5 → sigit_code-1.6.6}/.agents/skills/run-sigit/tui-smoke.sh +0 -0
  19. {sigit_code-1.6.5 → sigit_code-1.6.6}/.agents/skills/sigit-code-release/SKILL.md +0 -0
  20. {sigit_code-1.6.5 → sigit_code-1.6.6}/.agents/skills/tool-calling/SKILL.md +0 -0
  21. {sigit_code-1.6.5 → sigit_code-1.6.6}/.cargo/config.toml +0 -0
  22. {sigit_code-1.6.5 → sigit_code-1.6.6}/.claude/skills/agent-client-protocol/SKILL.md +0 -0
  23. {sigit_code-1.6.5 → sigit_code-1.6.6}/.claude/skills/ai-assisted-coding/SKILL.md +0 -0
  24. {sigit_code-1.6.5 → sigit_code-1.6.6}/.claude/skills/branding/SKILL.md +0 -0
  25. {sigit_code-1.6.5 → sigit_code-1.6.6}/.claude/skills/run-sigit/SKILL.md +0 -0
  26. {sigit_code-1.6.5 → sigit_code-1.6.6}/.claude/skills/run-sigit/driver.mjs +0 -0
  27. {sigit_code-1.6.5 → sigit_code-1.6.6}/.claude/skills/run-sigit/tui-smoke.sh +0 -0
  28. {sigit_code-1.6.5 → sigit_code-1.6.6}/.claude/skills/sigit-code-release/SKILL.md +0 -0
  29. {sigit_code-1.6.5 → sigit_code-1.6.6}/.claude/skills/tool-calling/SKILL.md +0 -0
  30. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/ci.yml +0 -0
  31. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/release-aur.yml +0 -0
  32. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/release-crates.yml +0 -0
  33. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/release-github.yml +0 -0
  34. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/release-homebrew.yml +0 -0
  35. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/release-npm.yml +0 -0
  36. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/release-nuget.yml +0 -0
  37. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/release-pypi.yml +0 -0
  38. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/release-scoop.yml +0 -0
  39. {sigit_code-1.6.5 → sigit_code-1.6.6}/.github/workflows/release-winget.yml +0 -0
  40. {sigit_code-1.6.5 → sigit_code-1.6.6}/.gitignore +0 -0
  41. {sigit_code-1.6.5 → sigit_code-1.6.6}/.nvmrc +0 -0
  42. {sigit_code-1.6.5 → sigit_code-1.6.6}/.sigit/code-cloud-agent/config.toml +0 -0
  43. {sigit_code-1.6.5 → sigit_code-1.6.6}/.sigit/code-review/config.toml +0 -0
  44. {sigit_code-1.6.5 → sigit_code-1.6.6}/.sigit/factory/config.toml +0 -0
  45. {sigit_code-1.6.5 → sigit_code-1.6.6}/LICENSE +0 -0
  46. {sigit_code-1.6.5 → sigit_code-1.6.6}/README.md +0 -0
  47. {sigit_code-1.6.5 → sigit_code-1.6.6}/docs/headless.md +0 -0
  48. {sigit_code-1.6.5 → sigit_code-1.6.6}/docs/hooks.md +0 -0
  49. {sigit_code-1.6.5 → sigit_code-1.6.6}/docs/mcp.md +0 -0
  50. {sigit_code-1.6.5 → sigit_code-1.6.6}/examples/settings-with-hooks.toml +0 -0
  51. {sigit_code-1.6.5 → sigit_code-1.6.6}/examples/skills/README.md +0 -0
  52. {sigit_code-1.6.5 → sigit_code-1.6.6}/examples/skills/commit-message/SKILL.md +0 -0
  53. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/README.md.tmpl +0 -0
  54. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/package-compat.json.tmpl +0 -0
  55. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/package-main.json.tmpl +0 -0
  56. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/package.json.tmpl +0 -0
  57. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/scripts/render-main-package.cjs +0 -0
  58. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/scripts/render-platform-package.cjs +0 -0
  59. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/sigit/.gitignore +0 -0
  60. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/sigit/README.md +0 -0
  61. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/sigit/package.json +0 -0
  62. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/sigit/src/index.ts +0 -0
  63. {sigit_code-1.6.5 → sigit_code-1.6.6}/npm/sigit/tsconfig.json +0 -0
  64. {sigit_code-1.6.5 → sigit_code-1.6.6}/nuget/.gitignore +0 -0
  65. {sigit_code-1.6.5 → sigit_code-1.6.6}/nuget/sigit/Program.cs +0 -0
  66. {sigit_code-1.6.5 → sigit_code-1.6.6}/nuget/sigit/README.md +0 -0
  67. {sigit_code-1.6.5 → sigit_code-1.6.6}/nuget/sigit/SiGit.Code.csproj +0 -0
  68. {sigit_code-1.6.5 → sigit_code-1.6.6}/packaging/aur/PKGBUILD.in +0 -0
  69. {sigit_code-1.6.5 → sigit_code-1.6.6}/packaging/nfpm.yaml +0 -0
  70. {sigit_code-1.6.5 → sigit_code-1.6.6}/packaging/windows/check-static-crt.ps1 +0 -0
  71. {sigit_code-1.6.5 → sigit_code-1.6.6}/packaging/winget/getSigit.siGitCode.installer.yaml.in +0 -0
  72. {sigit_code-1.6.5 → sigit_code-1.6.6}/packaging/winget/getSigit.siGitCode.locale.en-US.yaml.in +0 -0
  73. {sigit_code-1.6.5 → sigit_code-1.6.6}/packaging/winget/getSigit.siGitCode.yaml.in +0 -0
  74. {sigit_code-1.6.5 → sigit_code-1.6.6}/pypi/README.md +0 -0
  75. {sigit_code-1.6.5 → sigit_code-1.6.6}/pypi/pyproject.toml +0 -0
  76. {sigit_code-1.6.5 → sigit_code-1.6.6}/pyproject.toml +0 -0
  77. {sigit_code-1.6.5 → sigit_code-1.6.6}/rust-toolchain.toml +0 -0
  78. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/account.rs +0 -0
  79. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/browser_auth.rs +0 -0
  80. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/chat.rs +0 -0
  81. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/client_fs.rs +0 -0
  82. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/client_terminal.rs +0 -0
  83. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/commands.rs +0 -0
  84. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/credentials.rs +0 -0
  85. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/frontmatter.rs +0 -0
  86. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/harness_markup.rs +0 -0
  87. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/headless.rs +0 -0
  88. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/hooks.rs +0 -0
  89. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/inline_tool_calls.rs +0 -0
  90. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/instructions.rs +0 -0
  91. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/models.rs +0 -0
  92. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/permissions.rs +0 -0
  93. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/provider.rs +0 -0
  94. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/session_store.rs +0 -0
  95. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/settings.rs +0 -0
  96. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/setup.rs +0 -0
  97. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/skills.rs +0 -0
  98. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/subagents.rs +0 -0
  99. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/tools.rs +0 -0
  100. {sigit_code-1.6.5 → sigit_code-1.6.6}/src/workspace.rs +0 -0
  101. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_audio.rs +0 -0
  102. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_client_fs.rs +0 -0
  103. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_client_terminal.rs +0 -0
  104. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_concurrent_sessions.rs +0 -0
  105. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_embedded_context.rs +0 -0
  106. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_endpoint_errors.rs +0 -0
  107. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_harness_markup.rs +0 -0
  108. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_images.rs +0 -0
  109. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_logout.rs +0 -0
  110. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_multi_root.rs +0 -0
  111. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_permissions.rs +0 -0
  112. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_session_list.rs +0 -0
  113. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_session_load.rs +0 -0
  114. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_stop_reasons.rs +0 -0
  115. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/acp_tool_stdin.rs +0 -0
  116. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/headless_mode.rs +0 -0
  117. {sigit_code-1.6.5 → sigit_code-1.6.6}/tests/version_flag.rs +0 -0
@@ -159,6 +159,12 @@ feeds results back. Neither the loop nor ACP/TUI surfaces depend on a concrete b
159
159
  never touched, and an opening tag only counts at the start of a line, since prose writes
160
160
  placeholders like `<repo_url>` the same way. It has to run after the inline-call scanner,
161
161
  because `<tool_call>` matches its underscore rule.
162
+ `src/repetition.rs` guards the same stream against a reply that degenerates into a loop over a
163
+ tiny vocabulary (issue #123): a window of 200 words with at most 40 distinct ones, fenced code
164
+ excepted, makes `consume_stream` stop reading, truncate the text to where the loop began (so
165
+ history never holds the junk), tell the user, and finish with `FinishReason::Repetition`
166
+ (`EndTurn` in ACP). `complete` then retries once with `REPETITION_RETRY`, like the malformed
167
+ tool call retry. Only the streaming path is guarded; `consume_json` and `LocalBackend` are not.
162
168
  Image attachments: ACP fixes `promptCapabilities.image` for the whole connection, while the
163
169
  model can change on any turn, so the capability is always advertised and the decision is made
164
170
  per prompt. `InferenceBackend::accepts_images` answers for the active model (on-device: no;
@@ -159,6 +159,12 @@ feeds results back. Neither the loop nor ACP/TUI surfaces depend on a concrete b
159
159
  never touched, and an opening tag only counts at the start of a line, since prose writes
160
160
  placeholders like `<repo_url>` the same way. It has to run after the inline-call scanner,
161
161
  because `<tool_call>` matches its underscore rule.
162
+ `src/repetition.rs` guards the same stream against a reply that degenerates into a loop over a
163
+ tiny vocabulary (issue #123): a window of 200 words with at most 40 distinct ones, fenced code
164
+ excepted, makes `consume_stream` stop reading, truncate the text to where the loop began (so
165
+ history never holds the junk), tell the user, and finish with `FinishReason::Repetition`
166
+ (`EndTurn` in ACP). `complete` then retries once with `REPETITION_RETRY`, like the malformed
167
+ tool call retry. Only the streaming path is guarded; `consume_json` and `LocalBackend` are not.
162
168
  Image attachments: ACP fixes `promptCapabilities.image` for the whole connection, while the
163
169
  model can change on any turn, so the capability is always advertised and the decision is made
164
170
  per prompt. `InferenceBackend::accepts_images` answers for the active model (on-device: no;
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## Unreleased
4
+
5
+ ## 1.6.6
6
+
7
+ ### Added
8
+
9
+ - **A tool call carries its programmatic tool name.** The `tool_call` an editor
10
+ gets for a running tool now includes `name` (`read_file`, `run_command`,
11
+ `mcp__…`) next to the human title, sent on the first report of the call only
12
+ as the protocol asks. A client can tell a command from a file edit without
13
+ parsing the title, and a replayed thread from `session/load` carries the same
14
+ name (#196).
15
+
16
+ ### Changed
17
+
18
+ - **MCP runs on `rmcp`, the official Rust SDK, through `ed-mcp`.** siGit Code's
19
+ own JSON-RPC client for stdio and Streamable HTTP servers (about 600 lines)
20
+ is gone; `ed-mcp` is the layer every Onde agent shares. `mcp.toml`, the
21
+ baked-in `sigit` and `smbcloud` servers, tool names and `/mcp` are unchanged.
22
+ An HTTP server that stops answering is now reconnected and the call retried
23
+ once for any failure but a timeout, not only on a 404.
24
+
25
+ ### Fixed
26
+
27
+ - **A reply that degenerates into a repetition loop is cut off.** After a tool
28
+ call, a model could fall into thousands of words from a tiny vocabulary
29
+ (`find: list: check: get: …`) with no tool call and no end, and the junk went
30
+ into history for the next turn. siGit Code now watches a streamed reply for a
31
+ window of 200 words with very few distinct ones (code blocks excepted), stops
32
+ reading, keeps only the text before the loop, tells you it stopped, and asks
33
+ the model once to make its call or answer briefly (#123).
34
+ - **A linked selection written as `L10-L20` or `L10` reads just those lines.**
35
+ siGit Code read the line range of a `resource_link` only as `L10:20` or
36
+ `L10-20`, so `L10-L20` (the GitHub style) and a single line `L10` sent the
37
+ whole file instead of the selection. It now reads the same forms Zed's own
38
+ mention parser does, and a range that starts at line 0 or runs backwards
39
+ counts as no range.
40
+
3
41
  ## 1.6.5
4
42
 
5
43
  ### Added
@@ -45,7 +83,6 @@
45
83
  text inside them stays. Code blocks are left alone. The system prompt also
46
84
  tells the model to write plain Markdown and to list choices as plain text
47
85
  (#122).
48
-
49
86
  - **Closing a thread that is waiting at a permission prompt no longer hangs.**
50
87
  `session/close` cancels the session's running turn and waits for it to end,
51
88
  but a turn stopped at a permission prompt only went on when the client
@@ -159,6 +159,12 @@ feeds results back. Neither the loop nor ACP/TUI surfaces depend on a concrete b
159
159
  never touched, and an opening tag only counts at the start of a line, since prose writes
160
160
  placeholders like `<repo_url>` the same way. It has to run after the inline-call scanner,
161
161
  because `<tool_call>` matches its underscore rule.
162
+ `src/repetition.rs` guards the same stream against a reply that degenerates into a loop over a
163
+ tiny vocabulary (issue #123): a window of 200 words with at most 40 distinct ones, fenced code
164
+ excepted, makes `consume_stream` stop reading, truncate the text to where the loop began (so
165
+ history never holds the junk), tell the user, and finish with `FinishReason::Repetition`
166
+ (`EndTurn` in ACP). `complete` then retries once with `REPETITION_RETRY`, like the malformed
167
+ tool call retry. Only the streaming path is guarded; `consume_json` and `LocalBackend` are not.
162
168
  Image attachments: ACP fixes `promptCapabilities.image` for the whole connection, while the
163
169
  model can change on any turn, so the capability is always advertised and the decision is made
164
170
  per prompt. `InferenceBackend::accepts_images` answers for the active model (on-device: no;
@@ -185,7 +185,7 @@ version = "1.1.5"
185
185
  source = "registry+https://github.com/rust-lang/crates.io-index"
186
186
  checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
187
187
  dependencies = [
188
- "windows-sys 0.60.2",
188
+ "windows-sys 0.61.2",
189
189
  ]
190
190
 
191
191
  [[package]]
@@ -196,7 +196,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
196
196
  dependencies = [
197
197
  "anstyle",
198
198
  "once_cell_polyfill",
199
- "windows-sys 0.60.2",
199
+ "windows-sys 0.61.2",
200
200
  ]
201
201
 
202
202
  [[package]]
@@ -514,6 +514,12 @@ version = "0.22.1"
514
514
  source = "registry+https://github.com/rust-lang/crates.io-index"
515
515
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
516
516
 
517
+ [[package]]
518
+ name = "base64"
519
+ version = "0.23.1"
520
+ source = "registry+https://github.com/rust-lang/crates.io-index"
521
+ checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5"
522
+
517
523
  [[package]]
518
524
  name = "basic-toml"
519
525
  version = "0.1.10"
@@ -1519,7 +1525,7 @@ dependencies = [
1519
1525
  "libc",
1520
1526
  "option-ext",
1521
1527
  "redox_users",
1522
- "windows-sys 0.59.0",
1528
+ "windows-sys 0.61.2",
1523
1529
  ]
1524
1530
 
1525
1531
  [[package]]
@@ -1608,6 +1614,22 @@ version = "0.1.3"
1608
1614
  source = "registry+https://github.com/rust-lang/crates.io-index"
1609
1615
  checksum = "e1d926b4d407d372f141f93bb444696142c29d32962ccbd3531117cf3aa0bfa9"
1610
1616
 
1617
+ [[package]]
1618
+ name = "ed-mcp"
1619
+ version = "1.2.0"
1620
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1621
+ checksum = "cf0c6ab7e27186954295ce7974b33d65860cd3b5073848e9d0a5b3eed90f68a2"
1622
+ dependencies = [
1623
+ "anyhow",
1624
+ "futures",
1625
+ "http",
1626
+ "rmcp",
1627
+ "serde_json",
1628
+ "tokio",
1629
+ "tokio-util",
1630
+ "tracing",
1631
+ ]
1632
+
1611
1633
  [[package]]
1612
1634
  name = "ego-tree"
1613
1635
  version = "0.10.0"
@@ -1718,7 +1740,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1718
1740
  checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
1719
1741
  dependencies = [
1720
1742
  "libc",
1721
- "windows-sys 0.52.0",
1743
+ "windows-sys 0.61.2",
1722
1744
  ]
1723
1745
 
1724
1746
  [[package]]
@@ -3622,7 +3644,7 @@ version = "0.50.3"
3622
3644
  source = "registry+https://github.com/rust-lang/crates.io-index"
3623
3645
  checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
3624
3646
  dependencies = [
3625
- "windows-sys 0.59.0",
3647
+ "windows-sys 0.61.2",
3626
3648
  ]
3627
3649
 
3628
3650
  [[package]]
@@ -4573,6 +4595,20 @@ dependencies = [
4573
4595
  "unicode-ident",
4574
4596
  ]
4575
4597
 
4598
+ [[package]]
4599
+ name = "process-wrap"
4600
+ version = "10.0.1"
4601
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4602
+ checksum = "1f21b97672d2dc848e7b25701ab4535618b92f4861c13cc3f7f7bed52ad3c8da"
4603
+ dependencies = [
4604
+ "futures",
4605
+ "indexmap 2.14.1",
4606
+ "nix",
4607
+ "tokio",
4608
+ "tracing",
4609
+ "windows 0.62.2",
4610
+ ]
4611
+
4576
4612
  [[package]]
4577
4613
  name = "profiling"
4578
4614
  version = "1.0.18"
@@ -4704,7 +4740,7 @@ dependencies = [
4704
4740
  "once_cell",
4705
4741
  "socket2",
4706
4742
  "tracing",
4707
- "windows-sys 0.52.0",
4743
+ "windows-sys 0.61.2",
4708
4744
  ]
4709
4745
 
4710
4746
  [[package]]
@@ -5217,6 +5253,31 @@ dependencies = [
5217
5253
  "windows-sys 0.52.0",
5218
5254
  ]
5219
5255
 
5256
+ [[package]]
5257
+ name = "rmcp"
5258
+ version = "3.5.1"
5259
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5260
+ checksum = "ab5023804cbe0304cbe06197ac16e645a0a0d0ffa2953bf735c15c2fa0213350"
5261
+ dependencies = [
5262
+ "base64 0.23.1",
5263
+ "bytes",
5264
+ "chrono",
5265
+ "futures",
5266
+ "http",
5267
+ "indexmap 2.14.1",
5268
+ "pin-project-lite",
5269
+ "process-wrap",
5270
+ "reqwest 0.13.4",
5271
+ "serde",
5272
+ "serde_json",
5273
+ "sse-stream",
5274
+ "thiserror 2.0.20",
5275
+ "tokio",
5276
+ "tokio-stream",
5277
+ "tokio-util",
5278
+ "tracing",
5279
+ ]
5280
+
5220
5281
  [[package]]
5221
5282
  name = "rpassword"
5222
5283
  version = "7.5.4"
@@ -5315,7 +5376,7 @@ dependencies = [
5315
5376
  "errno",
5316
5377
  "libc",
5317
5378
  "linux-raw-sys",
5318
- "windows-sys 0.52.0",
5379
+ "windows-sys 0.61.2",
5319
5380
  ]
5320
5381
 
5321
5382
  [[package]]
@@ -5374,7 +5435,7 @@ dependencies = [
5374
5435
  "security-framework",
5375
5436
  "security-framework-sys",
5376
5437
  "webpki-root-certs",
5377
- "windows-sys 0.52.0",
5438
+ "windows-sys 0.61.2",
5378
5439
  ]
5379
5440
 
5380
5441
  [[package]]
@@ -5840,13 +5901,14 @@ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
5840
5901
 
5841
5902
  [[package]]
5842
5903
  name = "sigit"
5843
- version = "1.6.5"
5904
+ version = "1.6.6"
5844
5905
  dependencies = [
5845
5906
  "agent-client-protocol",
5846
5907
  "anyhow",
5847
5908
  "async-trait",
5848
5909
  "base64 0.22.1",
5849
5910
  "crossterm",
5911
+ "ed-mcp",
5850
5912
  "futures",
5851
5913
  "libc",
5852
5914
  "log",
@@ -6028,7 +6090,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
6028
6090
  checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
6029
6091
  dependencies = [
6030
6092
  "libc",
6031
- "windows-sys 0.60.2",
6093
+ "windows-sys 0.61.2",
6032
6094
  ]
6033
6095
 
6034
6096
  [[package]]
@@ -6076,6 +6138,19 @@ dependencies = [
6076
6138
  "unicode-segmentation",
6077
6139
  ]
6078
6140
 
6141
+ [[package]]
6142
+ name = "sse-stream"
6143
+ version = "0.2.6"
6144
+ source = "registry+https://github.com/rust-lang/crates.io-index"
6145
+ checksum = "c25ac7aff0abd1dbc474536e40416e1102c7dd9bfba0b9861c6d357f835dcfb4"
6146
+ dependencies = [
6147
+ "bytes",
6148
+ "futures-util",
6149
+ "http-body",
6150
+ "http-body-util",
6151
+ "pin-project-lite",
6152
+ ]
6153
+
6079
6154
  [[package]]
6080
6155
  name = "stable_deref_trait"
6081
6156
  version = "1.2.1"
@@ -6507,7 +6582,7 @@ dependencies = [
6507
6582
  "getrandom 0.4.3",
6508
6583
  "once_cell",
6509
6584
  "rustix",
6510
- "windows-sys 0.52.0",
6585
+ "windows-sys 0.61.2",
6511
6586
  ]
6512
6587
 
6513
6588
  [[package]]
@@ -6537,7 +6612,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
6537
6612
  checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874"
6538
6613
  dependencies = [
6539
6614
  "rustix",
6540
- "windows-sys 0.59.0",
6615
+ "windows-sys 0.61.2",
6541
6616
  ]
6542
6617
 
6543
6618
  [[package]]
@@ -6792,6 +6867,17 @@ dependencies = [
6792
6867
  "tokio",
6793
6868
  ]
6794
6869
 
6870
+ [[package]]
6871
+ name = "tokio-stream"
6872
+ version = "0.1.19"
6873
+ source = "registry+https://github.com/rust-lang/crates.io-index"
6874
+ checksum = "a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b"
6875
+ dependencies = [
6876
+ "futures-core",
6877
+ "pin-project-lite",
6878
+ "tokio",
6879
+ ]
6880
+
6795
6881
  [[package]]
6796
6882
  name = "tokio-tungstenite"
6797
6883
  version = "0.28.0"
@@ -7724,7 +7810,7 @@ version = "0.1.11"
7724
7810
  source = "registry+https://github.com/rust-lang/crates.io-index"
7725
7811
  checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
7726
7812
  dependencies = [
7727
- "windows-sys 0.52.0",
7813
+ "windows-sys 0.61.2",
7728
7814
  ]
7729
7815
 
7730
7816
  [[package]]
@@ -7748,11 +7834,23 @@ version = "0.61.3"
7748
7834
  source = "registry+https://github.com/rust-lang/crates.io-index"
7749
7835
  checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
7750
7836
  dependencies = [
7751
- "windows-collections",
7837
+ "windows-collections 0.2.0",
7752
7838
  "windows-core 0.61.2",
7753
- "windows-future",
7839
+ "windows-future 0.2.1",
7754
7840
  "windows-link 0.1.3",
7755
- "windows-numerics",
7841
+ "windows-numerics 0.2.0",
7842
+ ]
7843
+
7844
+ [[package]]
7845
+ name = "windows"
7846
+ version = "0.62.2"
7847
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7848
+ checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580"
7849
+ dependencies = [
7850
+ "windows-collections 0.3.2",
7851
+ "windows-core 0.62.2",
7852
+ "windows-future 0.3.2",
7853
+ "windows-numerics 0.3.1",
7756
7854
  ]
7757
7855
 
7758
7856
  [[package]]
@@ -7764,6 +7862,15 @@ dependencies = [
7764
7862
  "windows-core 0.61.2",
7765
7863
  ]
7766
7864
 
7865
+ [[package]]
7866
+ name = "windows-collections"
7867
+ version = "0.3.2"
7868
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7869
+ checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610"
7870
+ dependencies = [
7871
+ "windows-core 0.62.2",
7872
+ ]
7873
+
7767
7874
  [[package]]
7768
7875
  name = "windows-core"
7769
7876
  version = "0.61.2"
@@ -7798,7 +7905,18 @@ checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
7798
7905
  dependencies = [
7799
7906
  "windows-core 0.61.2",
7800
7907
  "windows-link 0.1.3",
7801
- "windows-threading",
7908
+ "windows-threading 0.1.0",
7909
+ ]
7910
+
7911
+ [[package]]
7912
+ name = "windows-future"
7913
+ version = "0.3.2"
7914
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7915
+ checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb"
7916
+ dependencies = [
7917
+ "windows-core 0.62.2",
7918
+ "windows-link 0.2.1",
7919
+ "windows-threading 0.2.1",
7802
7920
  ]
7803
7921
 
7804
7922
  [[package]]
@@ -7845,6 +7963,16 @@ dependencies = [
7845
7963
  "windows-link 0.1.3",
7846
7964
  ]
7847
7965
 
7966
+ [[package]]
7967
+ name = "windows-numerics"
7968
+ version = "0.3.1"
7969
+ source = "registry+https://github.com/rust-lang/crates.io-index"
7970
+ checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26"
7971
+ dependencies = [
7972
+ "windows-core 0.62.2",
7973
+ "windows-link 0.2.1",
7974
+ ]
7975
+
7848
7976
  [[package]]
7849
7977
  name = "windows-registry"
7850
7978
  version = "0.6.1"
@@ -7985,6 +8113,15 @@ dependencies = [
7985
8113
  "windows-link 0.1.3",
7986
8114
  ]
7987
8115
 
8116
+ [[package]]
8117
+ name = "windows-threading"
8118
+ version = "0.2.1"
8119
+ source = "registry+https://github.com/rust-lang/crates.io-index"
8120
+ checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37"
8121
+ dependencies = [
8122
+ "windows-link 0.2.1",
8123
+ ]
8124
+
7988
8125
  [[package]]
7989
8126
  name = "windows_aarch64_gnullvm"
7990
8127
  version = "0.48.5"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sigit"
3
- version = "1.6.5"
3
+ version = "1.6.6"
4
4
  edition = "2024"
5
5
  description = "siGit Code — ACP-compatible AI coding agent. Sí, git."
6
6
  documentation = "https://github.com/getsigit/sigit"
@@ -25,6 +25,9 @@ path = "src/main.rs"
25
25
  # ACP protocol SDK
26
26
  agent-client-protocol = { version = "2.2", features = ["unstable_session_fork"] }
27
27
 
28
+ # MCP client (rmcp underneath), shared with the other Onde agents
29
+ ed-mcp = "1.2.0"
30
+
28
31
  # Onde Inference engine (local LLM)
29
32
  # onde = { path = "../onde" }
30
33
  onde = "1.3.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sigit-code
3
- Version: 1.6.5
3
+ Version: 1.6.6
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers