Ben Awad
ba586ed4b5
fix: let CodexAppServerSession resume a stored codex thread
...
Add ``resume_thread_id`` to CodexAppServerSession: when set, the first
ensure_started() issues ``thread/resume`` (with the same cwd / personality /
developerInstructions / model params thread/start sends) instead of starting
an empty thread, and verifies codex handed back the requested id. A refused
or mismatched resume raises the typed CodexThreadResumeError once; the next
ensure_started() falls through to ``thread/start`` on the same handshaken
client (initialize now runs once per client, not once per attempt).
Why: the thread id lived in memory only, so every new AIAgent for the same
Hermes session — a later API-server request or the first turn after a
restart — started a fresh codex thread and the model lost its own memory of
the conversation (#100531 ). The runtime decides the fail-closed policy; this
adapter only speaks the wire contract (verified against codex-cli 0.147.0:
thread/resume{threadId,...} -> result.thread.id; unknown id -> -32600 "no
rollout found"; killed writer -> -32600 "already has an active writer").
Salvaged from #103352 (thread/resume + id cross-fill + mismatch guard).
2026-09-19 12:27:01 -07:00
..
2026-09-19 01:55:38 -07:00
2026-09-13 05:07:50 -07:00
2026-09-18 10:22:14 -07:00
2026-09-13 05:07:11 -07:00
2026-09-19 16:20:29 +05:30
2026-09-19 12:27:01 -07:00
2026-09-15 04:56:01 -07:00
2026-09-06 20:50:02 +05:30
2026-09-19 09:40:23 -07:00
2026-09-13 09:18:02 -07:00
2026-09-19 10:52:11 -07:00
2026-09-19 11:12:08 -07:00
2026-09-17 08:59:50 -07:00
2026-09-19 09:57:21 -07:00
2026-09-19 11:25:23 +05:30
2026-09-06 05:37:03 -07:00
2026-09-19 09:56:12 -07:00
2026-09-14 20:01:19 +05:30
2026-09-17 08:53:15 -07:00
2026-09-19 11:14:31 -07:00
2026-09-17 08:45:46 -07:00
2026-09-17 09:07:51 -07:00
2026-09-19 02:37:36 -07:00
2026-09-17 09:11:38 -07:00
2026-09-19 10:25:30 -07:00
2026-09-19 09:28:45 -07:00
2026-09-13 05:19:48 -07:00
2026-09-07 07:06:58 -07:00
2026-09-19 16:21:40 +05:30
2026-09-18 15:15:02 -07:00
2026-09-16 11:06:06 -07:00
2026-09-15 03:39:07 -07:00
2026-09-19 11:14:31 -07:00
2026-09-19 09:53:48 -07:00
2026-09-19 09:53:48 -07:00
2026-09-19 09:53:48 -07:00
2026-09-18 10:10:40 -07:00
2026-09-19 09:28:13 -07:00
2026-09-19 10:52:11 -07:00
2026-09-19 11:23:47 -07:00
2026-09-06 22:45:31 +05:30
2026-09-15 03:47:15 -07:00
2026-09-18 10:36:11 -07:00
2026-09-13 05:09:43 -07:00
2026-09-18 10:36:11 -07:00
2026-09-19 10:35:44 -07:00
2026-09-11 02:07:48 -07:00
2026-09-16 17:17:47 -07:00
2026-09-19 10:28:34 -07:00
2026-09-16 16:59:03 -07:00
2026-09-13 05:20:26 -07:00
2026-09-19 10:35:44 -07:00
2026-09-19 09:52:18 -07:00
2026-09-19 10:44:26 -07:00
2026-09-19 09:40:56 -07:00
2026-09-19 09:37:23 -07:00
2026-09-19 10:33:08 -07:00
2026-09-18 20:55:24 -07:00
2026-09-11 03:45:33 +05:30
2026-09-19 09:20:54 -07:00
2026-09-19 09:39:50 -07:00
2026-09-07 08:19:32 -07:00
2026-09-16 17:48:48 -07:00
2026-09-18 10:03:04 -07:00
2026-09-19 11:09:15 -07:00
2026-09-19 10:54:43 -07:00
2026-09-19 09:37:23 -07:00
2026-09-18 10:08:58 -07:00
2026-09-18 09:28:39 -07:00
2026-09-14 06:44:54 -07:00
2026-09-11 15:26:46 -07:00
2026-09-17 13:52:36 +05:30
2026-09-19 09:41:31 -07:00
2026-09-12 01:35:05 -07:00
2026-09-15 03:58:05 -07:00
2026-09-12 08:23:13 -07:00
2026-09-18 13:01:12 -04:00
2026-09-16 17:48:17 -07:00
2026-09-07 08:28:43 -07:00
2026-09-18 09:21:42 -07:00
2026-09-11 11:54:49 -07:00
2026-09-15 19:03:33 -07:00
2026-09-13 05:19:48 -07:00
2026-09-15 03:47:15 -07:00
2026-09-19 10:13:20 -07:00
2026-09-19 21:12:46 +05:30
2026-09-18 20:56:35 -07:00
2026-09-18 20:56:35 -07:00
2026-09-19 11:22:29 -07:00
2026-09-19 00:05:47 -07:00
2026-09-19 00:53:26 -07:00
2026-09-18 01:43:35 +05:30
2026-09-17 12:28:25 +05:30
2026-09-06 09:11:04 -07:00
2026-09-13 05:09:06 -07:00
2026-09-19 09:21:18 -07:00
2026-09-19 10:56:19 -07:00
2026-09-11 15:26:46 -07:00
2026-09-16 11:06:06 -07:00
2026-09-17 09:03:29 -07:00
2026-09-18 09:56:28 -07:00
2026-09-19 10:44:26 -07:00
2026-09-14 06:55:54 -07:00
2026-09-18 10:22:14 -07:00
2026-09-15 06:16:38 -07:00
2026-09-11 03:45:33 +05:30
2026-09-19 10:20:55 -07:00
2026-09-14 20:35:28 +05:30
2026-09-13 21:27:35 -07:00
2026-09-19 09:57:53 -07:00
2026-09-18 09:58:12 -07:00
2026-09-18 09:52:36 -07:00
2026-09-15 03:44:36 -07:00
2026-09-16 17:10:13 -07:00
2026-09-13 19:23:09 +05:30
2026-09-19 09:49:39 -07:00
2026-09-08 04:38:47 -07:00
2026-09-18 10:22:47 -07:00
2026-09-15 19:23:53 -07:00
2026-09-17 20:56:27 +05:30
2026-09-19 10:38:30 -07:00
2026-09-06 05:35:12 -07:00
2026-09-19 10:08:14 -07:00
2026-09-13 05:07:11 -07:00
2026-09-18 12:51:22 -07:00
2026-09-07 07:10:28 -07:00
2026-09-18 10:22:47 -07:00
2026-09-18 01:43:35 +05:30
2026-09-18 01:43:35 +05:30
2026-09-15 18:19:26 -07:00
2026-09-09 10:31:26 +05:30
2026-09-18 01:43:35 +05:30
2026-09-16 06:27:23 -05:00
2026-09-13 05:20:26 -07:00
2026-09-15 04:12:13 -07:00
2026-09-18 10:56:00 -07:00
2026-09-10 02:21:16 +05:30
2026-09-19 09:47:00 -07:00
2026-09-18 10:03:04 -07:00
2026-09-18 10:03:04 -07:00
2026-09-06 22:56:51 +05:30
2026-09-12 08:25:14 -07:00
2026-09-18 01:43:35 +05:30
2026-09-19 09:44:25 -07:00
2026-09-14 20:35:28 +05:30
2026-09-10 10:45:57 -07:00
2026-09-06 13:21:17 -07:00
2026-09-19 10:51:40 -07:00
2026-09-18 01:43:35 +05:30
2026-09-18 10:38:08 -07:00
2026-09-16 17:48:17 -07:00
2026-09-15 04:18:34 -07:00
2026-09-19 10:54:43 -07:00
2026-09-19 12:12:04 +05:30
2026-09-19 10:38:30 -07:00
2026-09-18 09:21:42 -07:00
2026-09-09 12:17:57 +05:30
2026-09-18 01:43:35 +05:30
2026-09-19 00:59:27 -07:00
2026-09-18 01:43:35 +05:30
2026-09-18 09:49:14 -07:00
2026-09-19 11:15:09 -07:00
2026-09-19 00:04:42 -07:00
2026-09-19 10:47:48 -07:00
2026-09-19 00:04:42 -07:00
2026-09-15 20:44:42 +05:30
2026-09-18 09:21:42 -07:00
2026-09-18 01:43:35 +05:30
2026-09-18 01:43:35 +05:30
2026-09-19 10:51:40 -07:00
2026-09-17 18:36:10 -07:00
2026-09-06 13:21:17 -07:00
2026-09-10 02:44:26 -07:00
2026-09-10 11:48:01 -07:00
2026-09-15 04:56:01 -07:00
2026-09-13 05:08:29 -07:00
2026-09-19 09:51:12 -07:00
2026-09-15 04:48:20 -07:00