feat: select rewind points directly from Console history

This commit is contained in:
2026-10-11 14:50:49 +09:00
parent 04bdf1da23
commit 5ac3b1e482
27 changed files with 694 additions and 545 deletions
+1 -2
View File
@@ -12,13 +12,12 @@ pub enum WorkerInputKind {
UserIfIdle,
Notify,
Compact,
ListRewindTargets,
RegisterPeer,
}
impl WorkerInputKind {
pub fn is_empty_content_allowed(&self) -> bool {
matches!(self, Self::Compact | Self::ListRewindTargets)
matches!(self, Self::Compact)
}
}
+10 -10
View File
@@ -6752,16 +6752,16 @@ fn input_protocol_event(input: &WorkerInput) -> Option<protocol::Event> {
// Submit is projected only after the Worker commits UserInput. Queued
// payloads must never become model- or client-visible history early.
WorkerInputKind::User | WorkerInputKind::UserIfIdle | WorkerInputKind::Notify => None,
WorkerInputKind::Compact
| WorkerInputKind::ListRewindTargets
| WorkerInputKind::RegisterPeer => Some(protocol::Event::SystemItem {
entry_id: None,
item: serde_json::json!({
"kind": "embedded_worker_command_input",
"command": input.kind,
"content": input.content.clone(),
}),
}),
WorkerInputKind::Compact | WorkerInputKind::RegisterPeer => {
Some(protocol::Event::SystemItem {
entry_id: None,
item: serde_json::json!({
"kind": "embedded_worker_command_input",
"command": input.kind,
"content": input.content.clone(),
}),
})
}
}
}
+1 -2
View File
@@ -4255,7 +4255,6 @@ where
unreachable!("Notify input is dispatched before ordinary input mapping")
}
WorkerInputKind::Compact => unreachable!("compact input is dispatched above"),
WorkerInputKind::ListRewindTargets => (Method::ListRewindTargets, None),
WorkerInputKind::RegisterPeer => (
Method::RegisterPeer {
name: input.content.trim().to_string(),
@@ -7884,7 +7883,7 @@ mod tests {
));
let old_send = backend.run_on_adapter_runtime(async move {
old_handle
.send(Method::ListRewindTargets)
.send(Method::ListWorkers)
.await
.map_err(|error| error.to_string())
});