teknium1
ebe8cda8ea
feat(tui_gateway): real JSON-RPC server→client requests replace the *.request / *.respond notification pair
...
The backend never sent a JSON-RPC request; when it needed an answer from the
renderer it hand-correlated a `*.request` notification with a later `*.respond`
method through four module-level dicts, a timeout thread and 13 derived
`*.expire` names, plus a separate reconnect snapshot per prompt kind. That is a
second request/response layer built on a protocol that already has one.
`tui_gateway/server_requests.py` sends `{id: "srq-…", method, params}` and
blocks on the response frame with that id (string ids never collide with the
clients' integer ids). One `request.cancel {id, method, reason}` notification
withdraws a request on timeout / interrupt / session close. `open_requests` on
`session.resume` / `session.activate` / `session.events.since` re-delivers
unanswered requests after a reconnect; the shared TypeScript channel does that
itself before the caller sees the result. Batch clarify keeps its per-question
locks as a normal `clarify.lock` RPC (the last lock resolves the request).
Approvals stay queue-backed (`tools.approval` owns the timeout, `/approve all`,
coalescing): the request resolves the queue entry and the entry's own
resolution withdraws the request through `register_gateway_settle`.
Deleted: `_block`, `_respond`, `_pending`, `_answers`,
`_pending_prompt_payloads`, `_batch_clarify`, `_EXPIRING_REQUESTS`, the
`*.respond` methods, every `*.request` / `*.expire` event, `pending_clarify`.
Compute-host (turn isolation) mirrors the child's open request and relays the
response frame / lock to it. Desktop, TUI and shared clients register
`onRequest` handlers where they used to switch on `*.request` events; answers
are response frames over the socket the request arrived on, so #91684 's
owner-routing class cannot recur for prompts.
2026-09-14 06:02:05 -07:00
..
2026-09-13 14:41:26 -07:00
2026-09-13 05:09:43 -07:00
2026-09-11 15:45:43 +05:30
2026-09-07 12:50:29 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 13:49:57 -07:00
2026-09-12 21:12:18 -07:00
2026-09-11 19:39:12 -07:00
2026-09-14 06:02:05 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-14 06:02:05 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 05:08:29 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 05:07:11 -07:00
2026-09-13 05:09:06 -07:00
2026-09-13 05:09:06 -07:00
2026-09-13 05:07:11 -07:00
2026-09-03 17:13:22 -07:00
2026-09-12 01:35:05 -07:00
2026-09-10 10:35:07 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 14:16:54 -07:00
2026-09-10 10:35:07 -07:00
2026-09-03 14:16:54 -07:00
2026-09-11 19:39:12 -07:00
2026-09-03 14:16:54 -07:00
2026-09-13 12:35:36 -07:00
2026-09-12 08:43:28 -07:00
2026-09-03 14:16:54 -07:00
2026-09-03 14:16:54 -07:00
2026-09-06 23:31:05 +05:30
2026-09-03 14:16:54 -07:00
2026-09-10 10:35:07 -07:00
2026-09-03 14:16:54 -07:00
2026-09-11 15:44:00 -07:00
2026-09-13 14:41:26 -07:00
2026-09-13 12:35:36 -07:00
2026-09-13 05:09:43 -07:00
2026-09-11 15:44:00 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-04 00:15:16 -07:00
2026-09-11 15:44:00 -07:00
2026-09-13 05:09:43 -07:00
2026-09-05 18:46:53 +05:30
2026-09-10 10:35:07 -07:00
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-11 19:39:12 -07:00
2026-09-07 08:18:56 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 21:30:02 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 21:31:57 -07:00
2026-09-08 02:26:05 +05:30
2026-09-13 21:31:57 -07:00
2026-09-11 19:39:12 -07:00
2026-09-10 10:23:12 -07:00
2026-09-06 12:02:43 -07:00
2026-09-13 21:05:42 -07:00
2026-09-11 11:54:49 -07:00
2026-09-13 21:05:42 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-11 15:29:15 -07:00
2026-09-03 17:13:22 -07:00
2026-09-09 11:46:36 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 13:33:47 -07:00
2026-09-07 00:28:46 +05:30
2026-09-12 20:52:49 -07:00
2026-09-03 13:28:22 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 13:30:27 -07:00
2026-09-11 15:29:15 -07:00
2026-09-11 15:44:00 -07:00
2026-09-03 17:13:22 -07:00
2026-09-12 21:55:07 -07:00
2026-09-03 13:53:03 -07:00
2026-09-13 21:03:11 -07:00
2026-09-13 21:03:11 -07:00
2026-09-11 19:39:12 -07:00
2026-09-05 13:51:06 -07:00
2026-09-13 14:37:17 -07:00
2026-09-13 14:37:17 -07:00
2026-09-12 12:32:55 -07:00
2026-09-13 19:19:36 -07:00
2026-09-10 02:21:16 +05:30
2026-09-12 10:00:06 +05:30
2026-09-07 08:22:35 -07:00
2026-09-13 20:43:33 -07:00
2026-09-13 20:43:33 -07:00
2026-09-13 20:43:33 -07:00
2026-09-03 17:13:22 -07:00
2026-09-10 02:21:16 +05:30
2026-09-11 19:39:12 -07:00
2026-09-13 05:09:43 -07:00
2026-09-13 15:41:01 -07:00
2026-09-13 20:45:25 -07:00
2026-09-13 15:41:01 -07:00
2026-09-11 15:27:23 -07:00
2026-09-13 06:29:12 -07:00
2026-09-12 01:35:05 -07:00
2026-09-13 15:41:01 -07:00
2026-09-07 22:47:33 +05:30
2026-09-13 20:44:29 -07:00
2026-09-11 15:27:23 -07:00
2026-09-13 06:29:12 -07:00
2026-09-13 20:45:25 -07:00
2026-09-13 15:41:01 -07:00
2026-09-12 20:43:42 -07:00
2026-09-09 12:19:13 +05:30
2026-09-04 00:15:16 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 17:13:22 -07:00
2026-09-13 20:46:22 -07:00
2026-09-12 21:13:40 -07:00
2026-09-04 00:15:16 -07:00
2026-09-13 14:43:04 -07:00
2026-09-03 17:13:22 -07:00
2026-09-11 19:58:07 -07:00
2026-09-13 14:35:32 -07:00
2026-09-07 08:25:33 -07:00
2026-09-13 21:04:45 -07:00
2026-09-03 09:44:26 -07:00
2026-09-12 22:09:19 -07:00
2026-09-04 00:15:16 -07:00
2026-09-11 15:26:46 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 17:13:22 -07:00
2026-09-04 00:15:16 -07:00
2026-09-13 12:35:36 -07:00
2026-09-07 08:14:51 -07:00
2026-09-03 13:49:57 -07:00
2026-09-11 11:54:49 -07:00
2026-09-11 15:26:46 -07:00
2026-09-11 06:24:11 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 17:13:22 -07:00
2026-09-04 08:15:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 13:33:47 -07:00
2026-09-12 01:35:05 -07:00
2026-09-09 12:19:13 +05:30
2026-09-11 11:54:49 -07:00
2026-09-03 17:13:22 -07:00
2026-09-12 05:09:26 -07:00
2026-09-13 05:09:43 -07:00
2026-09-13 05:09:43 -07:00
2026-09-07 05:59:43 -07:00
2026-09-11 11:54:49 -07:00
2026-09-11 11:54:49 -07:00
2026-09-03 13:22:48 -07:00
2026-09-12 21:50:30 -07:00
2026-09-06 07:17:03 -07:00
2026-09-11 11:54:49 -07:00
2026-09-04 00:15:16 -07:00
2026-09-06 07:17:03 -07:00
2026-09-06 07:17:03 -07:00
2026-09-03 13:27:01 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 14:31:21 -07:00
2026-09-06 13:32:51 +05:30
2026-09-07 12:50:29 -07:00
2026-09-05 19:01:22 +05:30
2026-09-07 06:05:51 -07:00
2026-09-03 13:24:04 -07:00
2026-09-13 05:09:43 -07:00
2026-09-11 11:19:53 +05:30
2026-09-11 15:29:15 -07:00
2026-09-10 11:48:01 -07:00
2026-09-07 08:09:20 -07:00
2026-09-12 01:35:05 -07:00
2026-09-03 09:44:26 -07:00
2026-09-11 15:26:46 -07:00
2026-09-11 15:44:00 -07:00
2026-09-13 05:09:43 -07:00
2026-09-11 19:39:12 -07:00
2026-09-13 21:04:08 -07:00
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-12 10:00:08 +05:30
2026-09-03 13:17:25 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:09:43 -07:00
2026-09-03 13:30:31 -07:00
2026-09-03 13:17:25 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 13:20:22 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 05:32:38 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 13:20:22 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 17:13:22 -07:00
2026-09-13 12:35:36 -07:00
2026-09-13 09:18:54 -07:00
2026-09-13 14:46:38 -07:00
2026-09-13 05:07:50 -07:00
2026-09-11 19:14:24 -07:00
2026-09-03 13:30:31 -07:00
2026-09-13 14:39:29 -07:00
2026-09-03 13:24:36 -07:00
2026-09-03 13:24:36 -07:00
2026-09-13 05:07:11 -07:00
2026-09-12 21:30:38 -07:00
2026-09-03 13:08:53 -07:00
2026-09-05 18:46:16 +05:30
2026-09-04 07:17:00 -07:00
2026-09-03 17:13:22 -07:00
2026-09-13 05:07:11 -07:00
2026-09-13 12:35:36 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 17:13:22 -07:00