1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[]
= "cli-stream"
# Versioned independently of agent-harness (not the workspace lockstep): this
# foundational engine is stable + upstream, so it bumps only when it changes.
= "0.4.3"
= true
= true
= "Generic streaming subprocess engine: spawn a CLI, stream its stdout/stderr lines as they arrive, write to its stdin, and cancel it (SIGTERM→SIGKILL) or time it out."
= true
= "README.md"
= true
= ["subprocess", "process", "stream", "spawn", "cli"]
= ["command-line-utilities", "os"]
# Pure, standalone leaf utility — generic process streaming with no agent or
# domain knowledge, usable on its own by anything that drives a child CLI.
[]
[]
= true
# Typed errors (StreamError) with a real `std::io::Error` source — derive
# Display + the Error source chain without hand-writing the impls. Build-time
# proc-macro only; no runtime weight added to the leaf.
= true
# Tagged with its own prefix: agent-harness owns the bare `v{version}` scheme,
# and these crates version independently, so a shared scheme collides the first
# time cli-stream reaches a version agent-harness already released.
[]
= "cli-stream-v{{version}}"
[]
= true
# `ProcessHandle::cancel()` sends SIGTERM on unix (SIGKILL fallback);
# Windows uses `Child::kill()` (TerminateProcess).
[]
= "0.2"
# Job Objects, so cancelling ends a process *tree* rather than one process.
# Windows has no signals and no process groups to kill; a job is the only
# handle the OS gives you on "this program and everything it started".
[]
= { = "0.61", = [
"Win32_Foundation",
"Win32_System_JobObjects",
# `JOBOBJECT_EXTENDED_LIMIT_INFORMATION` — the limits struct carrying
# KILL_ON_JOB_CLOSE — lives behind this one.
"Win32_System_Threading",
# `CreateJobObjectW` takes a `SECURITY_ATTRIBUTES`, so the whole function is
# behind this feature — without it the import fails to resolve rather than
# failing to link, which is easy to misread as the symbol not existing.
"Win32_Security",
] }