Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
9b0428a
Add declared native delivery selector
myobie Aug 10, 2026
c24997f
Add controlled Codex app-server binding
myobie Aug 10, 2026
7ffaf87
Track controlled Codex turn state
myobie Aug 10, 2026
d76cab3
Disambiguate Codex response IDs
myobie Aug 10, 2026
e76c02a
Deliver Codex DINGs through app server
myobie Aug 10, 2026
56739d3
Keep Codex delivery held through review completion
myobie Aug 10, 2026
43ed80e
Keep duplicate Codex hold events typed
myobie Aug 10, 2026
f271d91
Trust typed Codex review holds
myobie Aug 10, 2026
5985064
Keep Codex transport test payload-neutral
myobie Aug 11, 2026
7021a23
Persist typed Codex delivery receipts
myobie Aug 10, 2026
f20cb77
Subscribe new idle Codex threads
myobie Aug 10, 2026
d826963
Activate fresh Codex thread bindings
myobie Aug 10, 2026
93252d8
Accept verified Codex 0.146 protocol
myobie Aug 11, 2026
ef9e2e8
Explain Codex version admission gate
myobie Aug 11, 2026
65206bc
Forward Codex config to app server
myobie Aug 11, 2026
2eb5920
Persist Codex wrapper startup diagnostics
myobie Aug 11, 2026
5f8d601
Reap children when diagnostics fail
myobie Aug 11, 2026
d28005f
Bind Codex resume from control response
myobie Aug 11, 2026
9ed900f
Wait for Codex TUI before control resume
myobie Aug 11, 2026
6cd52a0
Trace TUI-loaded resume gate
myobie Aug 11, 2026
4c1451b
Separate Codex resume diagnostics deadline
myobie Aug 11, 2026
2b06652
Project hook trust for remote resume
myobie Aug 12, 2026
b97ea8f
Constrain transient hook trust authorization
myobie Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
166 changes: 162 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ serde_json = "1"
sha2 = "0.10"
tempfile = "3"
toml = "0.9"
tungstenite = "0.30"

[dev-dependencies]
libc = "0.2"
Expand Down
17 changes: 17 additions & 0 deletions crates/agent-spec/src/kdl_format.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,23 @@ fn agent_node_to_raw(node: &DeclaredNode) -> anyhow::Result<RawSpec> {
"command" => raw.command = arg_string(child),
"argv" => raw.argv = Some(argv(child)?),
"ding" => raw.ding = true,
"deliver" => {
anyhow::ensure!(
raw.deliver.is_none(),
"agent declares `deliver` more than once"
);
anyhow::ensure!(
child.type_name.is_none()
&& child.children.is_empty()
&& child.entries.len() == 1
&& child.entries[0].name.is_none(),
"agent `deliver` must contain exactly one positional string"
);
raw.deliver = Some(Some(
arg_string(child)
.ok_or_else(|| anyhow::anyhow!("agent `deliver` value must be a string"))?,
));
}
"env" => {}
"pty" => {
if let Some(name) = arg_string(child) {
Expand Down
4 changes: 2 additions & 2 deletions crates/agent-spec/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@ pub use discovery::{
path_defaults,
};
pub use spec::{
AgentDesiredState, AgentSpec, JobType, Resource, Restart, RestartMode, Task, TaskKind,
TaskLifecycle, parse_duration, validate_desired_state_reason,
AgentDesiredState, AgentSpec, DeliveryTransport, JobType, Resource, Restart, RestartMode, Task,
TaskKind, TaskLifecycle, parse_duration, validate_desired_state_reason,
};
Loading
Loading