xfy
1e556aa125
feat(runner): add SSE task registry and streaming executor
progress.rs:
- EXEC_STREAMS DashMap: SSE handler pops rx by task_id (one-shot)
- StreamEntry wraps rx + created_at for TTL-based GC
- gc_old_tasks now cleans both EXEC_TASKS and EXEC_STREAMS
execute.rs:
- validate_exec_request: extracted shared whitelist + size check
- check_rate_limit_for_user: extracted shared admin-aware rate limit
- start_exec refactored to use both helpers (behavior unchanged)
- start_exec_stream: new server fn, same validation chain, spawns
run_in_container_stream(tx) + writes EXEC_TASKS for polling fallback
2026-07-10 11:45:20 +08:00
..
2026-07-10 11:45:20 +08:00
2026-06-16 16:45:08 +08:00
2026-06-29 13:47:40 +08:00
2026-07-10 00:21:08 +08:00
2026-07-04 21:54:54 +08:00
2026-07-08 14:18:08 +08:00
2026-07-10 11:41:37 +08:00
2026-07-08 16:40:32 +08:00
2026-07-09 17:33:19 +08:00
2026-06-29 13:47:40 +08:00
2026-07-02 17:15:18 +08:00
2026-07-09 11:50:39 +08:00
2026-07-08 16:40:32 +08:00
2026-07-08 14:37:52 +08:00
2026-06-12 19:02:37 +08:00
2026-06-29 13:47:40 +08:00
2026-07-10 11:39:24 +08:00
2026-07-09 17:36:38 +08:00
2026-06-29 15:42:40 +08:00
2026-06-30 17:42:52 +08:00
2026-07-03 13:42:17 +08:00
2026-07-07 18:34:17 +08:00
2026-06-24 13:54:36 +08:00
2026-07-10 11:39:24 +08:00