Commit 64e2883
feat(runner-protocol): IPC protocol + Rust transport
Add three new crates that together define the runner-tool IPC:
- `vite_task_ipc_shared` — message types + wire format shared by both
ends. Spawned tools tell the runner what they read, wrote, or cared
about; the runner uses that to decide what to fingerprint in the
cache.
- `vite_task_server` — async server hosted in the runner. One server
instance per task execution.
- `vite_task_client` — synchronous blocking client used by spawned
tools. The sync API is deliberate: most tools are JS, called
one-method-at-a-time, and don't want a runtime imposed on them.
The two sides are wired together end-to-end in
`vite_task_server/tests/integration.rs`, so this PR is independently
reviewable as "does the wire format and transport work correctly?"
without depending on runner internals.
Design notes: `docs/runner-task-ipc/`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 5833b37 commit 64e2883
23 files changed
Lines changed: 1874 additions & 1 deletion
File tree
- crates
- native_str/src
- vite_task_client
- src
- vite_task_server
- src
- tests
- docs/runner-task-ipc
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
83 | 84 | | |
84 | 85 | | |
85 | 86 | | |
| |||
149 | 150 | | |
150 | 151 | | |
151 | 152 | | |
| 153 | + | |
152 | 154 | | |
| 155 | + | |
153 | 156 | | |
| 157 | + | |
154 | 158 | | |
155 | 159 | | |
156 | 160 | | |
| |||
168 | 172 | | |
169 | 173 | | |
170 | 174 | | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
171 | 179 | | |
172 | 180 | | |
173 | 181 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
0 commit comments