@zakstam/codex-local-component 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/README.md +23 -4
  2. package/dist/app-server/client.d.ts +40 -1
  3. package/dist/app-server/client.d.ts.map +1 -1
  4. package/dist/app-server/client.js +56 -3
  5. package/dist/app-server/client.js.map +1 -1
  6. package/dist/app-server/index.d.ts +1 -1
  7. package/dist/app-server/index.d.ts.map +1 -1
  8. package/dist/app-server/index.js +1 -1
  9. package/dist/app-server/index.js.map +1 -1
  10. package/dist/client/index.d.ts +4 -2
  11. package/dist/client/index.d.ts.map +1 -1
  12. package/dist/client/index.js +3 -1
  13. package/dist/client/index.js.map +1 -1
  14. package/dist/client/reasoning.d.ts +10 -0
  15. package/dist/client/reasoning.d.ts.map +1 -0
  16. package/dist/client/reasoning.js +4 -0
  17. package/dist/client/reasoning.js.map +1 -0
  18. package/dist/client/serverRequests.d.ts +14 -0
  19. package/dist/client/serverRequests.d.ts.map +1 -0
  20. package/dist/client/serverRequests.js +10 -0
  21. package/dist/client/serverRequests.js.map +1 -0
  22. package/dist/client/threads.d.ts +39 -3
  23. package/dist/client/threads.d.ts.map +1 -1
  24. package/dist/client/threads.js +18 -0
  25. package/dist/client/threads.js.map +1 -1
  26. package/dist/client/types.d.ts +23 -1
  27. package/dist/client/types.d.ts.map +1 -1
  28. package/dist/component/approvals.d.ts +1 -1
  29. package/dist/component/index.d.ts +2 -0
  30. package/dist/component/index.d.ts.map +1 -1
  31. package/dist/component/index.js +2 -0
  32. package/dist/component/index.js.map +1 -1
  33. package/dist/component/ingest/applyApprovals.d.ts +5 -0
  34. package/dist/component/ingest/applyApprovals.d.ts.map +1 -0
  35. package/dist/component/ingest/applyApprovals.js +59 -0
  36. package/dist/component/ingest/applyApprovals.js.map +1 -0
  37. package/dist/component/ingest/applyMessages.d.ts +4 -0
  38. package/dist/component/ingest/applyMessages.d.ts.map +1 -0
  39. package/dist/component/ingest/applyMessages.js +149 -0
  40. package/dist/component/ingest/applyMessages.js.map +1 -0
  41. package/dist/component/ingest/applyStreams.d.ts +7 -0
  42. package/dist/component/ingest/applyStreams.d.ts.map +1 -0
  43. package/dist/component/ingest/applyStreams.js +189 -0
  44. package/dist/component/ingest/applyStreams.js.map +1 -0
  45. package/dist/component/ingest/applyTurns.d.ts +6 -0
  46. package/dist/component/ingest/applyTurns.d.ts.map +1 -0
  47. package/dist/component/ingest/applyTurns.js +94 -0
  48. package/dist/component/ingest/applyTurns.js.map +1 -0
  49. package/dist/component/ingest/checkpoints.d.ts +12 -0
  50. package/dist/component/ingest/checkpoints.d.ts.map +1 -0
  51. package/dist/component/ingest/checkpoints.js +63 -0
  52. package/dist/component/ingest/checkpoints.js.map +1 -0
  53. package/dist/component/ingest/index.d.ts +10 -0
  54. package/dist/component/ingest/index.d.ts.map +1 -0
  55. package/dist/component/ingest/index.js +76 -0
  56. package/dist/component/ingest/index.js.map +1 -0
  57. package/dist/component/ingest/normalize.d.ts +5 -0
  58. package/dist/component/ingest/normalize.d.ts.map +1 -0
  59. package/dist/component/ingest/normalize.js +35 -0
  60. package/dist/component/ingest/normalize.js.map +1 -0
  61. package/dist/component/ingest/postIngest.d.ts +4 -0
  62. package/dist/component/ingest/postIngest.d.ts.map +1 -0
  63. package/dist/component/ingest/postIngest.js +31 -0
  64. package/dist/component/ingest/postIngest.js.map +1 -0
  65. package/dist/component/ingest/sessionGuard.d.ts +9 -0
  66. package/dist/component/ingest/sessionGuard.d.ts.map +1 -0
  67. package/dist/component/ingest/sessionGuard.js +102 -0
  68. package/dist/component/ingest/sessionGuard.js.map +1 -0
  69. package/dist/component/ingest/stateCache.d.ts +19 -0
  70. package/dist/component/ingest/stateCache.d.ts.map +1 -0
  71. package/dist/component/ingest/stateCache.js +121 -0
  72. package/dist/component/ingest/stateCache.js.map +1 -0
  73. package/dist/component/ingest/types.d.ts +129 -0
  74. package/dist/component/ingest/types.d.ts.map +1 -0
  75. package/dist/component/ingest/types.js +2 -0
  76. package/dist/component/ingest/types.js.map +1 -0
  77. package/dist/component/reasoning.d.ts +37 -0
  78. package/dist/component/reasoning.d.ts.map +1 -0
  79. package/dist/component/reasoning.js +48 -0
  80. package/dist/component/reasoning.js.map +1 -0
  81. package/dist/component/schema.d.ts +87 -11
  82. package/dist/component/schema.d.ts.map +1 -1
  83. package/dist/component/schema.js +47 -0
  84. package/dist/component/schema.js.map +1 -1
  85. package/dist/component/serverRequests.d.ts +53 -0
  86. package/dist/component/serverRequests.d.ts.map +1 -0
  87. package/dist/component/serverRequests.js +187 -0
  88. package/dist/component/serverRequests.js.map +1 -0
  89. package/dist/component/streamStats.d.ts +10 -0
  90. package/dist/component/streamStats.d.ts.map +1 -1
  91. package/dist/component/streamStats.js +34 -0
  92. package/dist/component/streamStats.js.map +1 -1
  93. package/dist/component/sync.d.ts +4 -67
  94. package/dist/component/sync.d.ts.map +1 -1
  95. package/dist/component/syncHelpers.d.ts +12 -35
  96. package/dist/component/syncHelpers.d.ts.map +1 -1
  97. package/dist/component/syncHelpers.js +11 -228
  98. package/dist/component/syncHelpers.js.map +1 -1
  99. package/dist/component/syncIngest.d.ts +2 -72
  100. package/dist/component/syncIngest.d.ts.map +1 -1
  101. package/dist/component/syncIngest.js +9 -726
  102. package/dist/component/syncIngest.js.map +1 -1
  103. package/dist/component/syncRuntime.d.ts +7 -1
  104. package/dist/component/syncRuntime.d.ts.map +1 -1
  105. package/dist/component/syncRuntime.js +8 -2
  106. package/dist/component/syncRuntime.js.map +1 -1
  107. package/dist/component/types.d.ts +5 -1
  108. package/dist/component/types.d.ts.map +1 -1
  109. package/dist/component/types.js +2 -0
  110. package/dist/component/types.js.map +1 -1
  111. package/dist/host/convex-entry.d.ts +3 -0
  112. package/dist/host/convex-entry.d.ts.map +1 -0
  113. package/dist/host/convex-entry.js +3 -0
  114. package/dist/host/convex-entry.js.map +1 -0
  115. package/dist/host/convex.d.ts +17 -0
  116. package/dist/host/convex.d.ts.map +1 -1
  117. package/dist/host/convex.js +9 -0
  118. package/dist/host/convex.js.map +1 -1
  119. package/dist/host/convexSlice.d.ts +504 -0
  120. package/dist/host/convexSlice.d.ts.map +1 -0
  121. package/dist/host/convexSlice.js +315 -0
  122. package/dist/host/convexSlice.js.map +1 -0
  123. package/dist/host/index.d.ts +3 -2
  124. package/dist/host/index.d.ts.map +1 -1
  125. package/dist/host/index.js +2 -1
  126. package/dist/host/index.js.map +1 -1
  127. package/dist/host/runtime.d.ts +100 -2
  128. package/dist/host/runtime.d.ts.map +1 -1
  129. package/dist/host/runtime.js +329 -33
  130. package/dist/host/runtime.js.map +1 -1
  131. package/dist/local-adapter/bridge.d.ts +3 -2
  132. package/dist/local-adapter/bridge.d.ts.map +1 -1
  133. package/dist/local-adapter/bridge.js.map +1 -1
  134. package/dist/mapping.d.ts +29 -0
  135. package/dist/mapping.d.ts.map +1 -1
  136. package/dist/mapping.js +136 -46
  137. package/dist/mapping.js.map +1 -1
  138. package/dist/protocol/classifier.d.ts +2 -12
  139. package/dist/protocol/classifier.d.ts.map +1 -1
  140. package/dist/protocol/classifier.js +1 -104
  141. package/dist/protocol/classifier.js.map +1 -1
  142. package/dist/protocol/events.d.ts +72 -0
  143. package/dist/protocol/events.d.ts.map +1 -0
  144. package/dist/protocol/events.js +533 -0
  145. package/dist/protocol/events.js.map +1 -0
  146. package/dist/protocol/generated.d.ts +16 -2
  147. package/dist/protocol/generated.d.ts.map +1 -1
  148. package/dist/protocol/index.d.ts +3 -0
  149. package/dist/protocol/index.d.ts.map +1 -1
  150. package/dist/protocol/index.js +3 -0
  151. package/dist/protocol/index.js.map +1 -1
  152. package/dist/protocol/outbound.d.ts +13 -0
  153. package/dist/protocol/outbound.d.ts.map +1 -0
  154. package/dist/protocol/outbound.js +2 -0
  155. package/dist/protocol/outbound.js.map +1 -0
  156. package/dist/protocol/parser.d.ts +3 -2
  157. package/dist/protocol/parser.d.ts.map +1 -1
  158. package/dist/protocol/parser.js +99 -3
  159. package/dist/protocol/parser.js.map +1 -1
  160. package/dist/protocol/schemas/CommandExecutionRequestApprovalResponse.json +72 -0
  161. package/dist/protocol/schemas/DynamicToolCallResponse.json +66 -0
  162. package/dist/protocol/schemas/FileChangeRequestApprovalResponse.json +47 -0
  163. package/dist/protocol/schemas/ToolRequestUserInputResponse.json +34 -0
  164. package/dist/react/index.d.ts +3 -1
  165. package/dist/react/index.d.ts.map +1 -1
  166. package/dist/react/index.js +2 -0
  167. package/dist/react/index.js.map +1 -1
  168. package/dist/react/types.d.ts +13 -1
  169. package/dist/react/types.d.ts.map +1 -1
  170. package/dist/react/useCodexReasoning.d.ts +7 -0
  171. package/dist/react/useCodexReasoning.d.ts.map +1 -0
  172. package/dist/react/useCodexReasoning.js +16 -0
  173. package/dist/react/useCodexReasoning.js.map +1 -0
  174. package/dist/react/useCodexStreamOverlay.d.ts.map +1 -1
  175. package/dist/react/useCodexStreamOverlay.js +68 -23
  176. package/dist/react/useCodexStreamOverlay.js.map +1 -1
  177. package/dist/react/useCodexStreamingReasoning.d.ts +12 -0
  178. package/dist/react/useCodexStreamingReasoning.d.ts.map +1 -0
  179. package/dist/react/useCodexStreamingReasoning.js +21 -0
  180. package/dist/react/useCodexStreamingReasoning.js.map +1 -0
  181. package/package.json +5 -1
@@ -1,6 +1,72 @@
1
- import { buildInitializeRequest, buildInitializedNotification, buildThreadStartRequest, buildTurnInterruptRequest, buildTurnStartTextRequest, isUuidLikeThreadId, } from "../app-server/client.js";
1
+ import { buildCommandExecutionApprovalResponse, buildDynamicToolCallResponse, buildFileChangeApprovalResponse, buildThreadArchiveRequest, buildThreadForkRequest, buildThreadListRequest, buildThreadLoadedListRequest, buildThreadReadRequest, buildThreadResumeRequest, buildThreadRollbackRequest, buildInitializeRequestWithCapabilities, buildInitializedNotification, buildThreadStartRequest, buildThreadUnarchiveRequest, buildToolRequestUserInputResponse, buildTurnInterruptRequest, buildTurnStartTextRequest, isUuidLikeThreadId, } from "../app-server/client.js";
2
2
  import { CodexLocalBridge } from "../local-adapter/bridge.js";
3
3
  const MAX_BATCH_SIZE = 32;
4
+ const MANAGED_SERVER_REQUEST_METHODS = new Set([
5
+ "item/commandExecution/requestApproval",
6
+ "item/fileChange/requestApproval",
7
+ "item/tool/requestUserInput",
8
+ "item/tool/call",
9
+ ]);
10
+ function toRequestKey(requestId) {
11
+ return `${typeof requestId}:${String(requestId)}`;
12
+ }
13
+ function asObject(value) {
14
+ return typeof value === "object" && value !== null ? value : null;
15
+ }
16
+ function parseManagedServerRequestFromEvent(event) {
17
+ if (!MANAGED_SERVER_REQUEST_METHODS.has(event.kind)) {
18
+ return null;
19
+ }
20
+ let parsed;
21
+ try {
22
+ parsed = JSON.parse(event.payloadJson);
23
+ }
24
+ catch {
25
+ return null;
26
+ }
27
+ const message = asObject(parsed);
28
+ if (!message || typeof message.method !== "string") {
29
+ return null;
30
+ }
31
+ if (!MANAGED_SERVER_REQUEST_METHODS.has(message.method)) {
32
+ return null;
33
+ }
34
+ if (typeof message.id !== "number" && typeof message.id !== "string") {
35
+ return null;
36
+ }
37
+ const params = asObject(message.params);
38
+ if (!params) {
39
+ return null;
40
+ }
41
+ if (typeof params.threadId !== "string" || typeof params.turnId !== "string") {
42
+ return null;
43
+ }
44
+ const method = message.method;
45
+ const itemId = typeof params.itemId === "string"
46
+ ? params.itemId
47
+ : method === "item/tool/call" && typeof params.callId === "string"
48
+ ? params.callId
49
+ : null;
50
+ if (!itemId) {
51
+ return null;
52
+ }
53
+ const reason = typeof params.reason === "string" ? params.reason : undefined;
54
+ const questionsRaw = params.questions;
55
+ const questions = method === "item/tool/requestUserInput" && Array.isArray(questionsRaw)
56
+ ? questionsRaw
57
+ : undefined;
58
+ return {
59
+ requestId: message.id,
60
+ method,
61
+ threadId: params.threadId,
62
+ turnId: params.turnId,
63
+ itemId,
64
+ payloadJson: event.payloadJson,
65
+ createdAt: event.createdAt,
66
+ ...(reason ? { reason } : {}),
67
+ ...(questions ? { questions } : {}),
68
+ };
69
+ }
4
70
  function randomSessionId() {
5
71
  if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
6
72
  return crypto.randomUUID();
@@ -13,15 +79,6 @@ function isServerNotification(message) {
13
79
  function isResponse(message) {
14
80
  return "id" in message && !isServerNotification(message);
15
81
  }
16
- function normalizeIngestKind(kind) {
17
- if (kind === "codex/event/task_started") {
18
- return "turn/started";
19
- }
20
- if (kind === "codex/event/task_complete") {
21
- return "turn/completed";
22
- }
23
- return kind;
24
- }
25
82
  export function createCodexHostRuntime(args) {
26
83
  let bridge = null;
27
84
  let actor = null;
@@ -38,6 +95,7 @@ export function createCodexHostRuntime(args) {
38
95
  let flushTimer = null;
39
96
  let flushTail = Promise.resolve();
40
97
  let ingestFlushMs = 250;
98
+ const pendingServerRequests = new Map();
41
99
  const pendingRequests = new Map();
42
100
  const emitState = (lastError = null) => {
43
101
  args.handlers?.onState?.({
@@ -46,6 +104,7 @@ export function createCodexHostRuntime(args) {
46
104
  externalThreadId,
47
105
  turnId,
48
106
  turnInFlight,
107
+ pendingServerRequestCount: pendingServerRequests.size,
49
108
  lastError,
50
109
  });
51
110
  };
@@ -60,15 +119,110 @@ export function createCodexHostRuntime(args) {
60
119
  nextRequestId += 1;
61
120
  return id;
62
121
  };
63
- const sendMessage = (message, trackedMethod) => {
122
+ const assertRuntimeReady = () => {
64
123
  if (!bridge) {
65
124
  throw new Error("Bridge not started");
66
125
  }
67
- bridge.send(message);
126
+ return bridge;
127
+ };
128
+ const methodForRequest = (message) => message.method;
129
+ const sendMessage = (message, trackedMethod) => {
130
+ const runtimeBridge = assertRuntimeReady();
131
+ runtimeBridge.send(message);
68
132
  if ("id" in message && typeof message.id === "number" && trackedMethod) {
69
133
  pendingRequests.set(message.id, { method: trackedMethod });
70
134
  }
71
135
  };
136
+ const sendRequest = (message) => {
137
+ const runtimeBridge = assertRuntimeReady();
138
+ if (typeof message.id !== "number") {
139
+ throw new Error("Runtime requires numeric request ids.");
140
+ }
141
+ const messageId = message.id;
142
+ return new Promise((resolve, reject) => {
143
+ pendingRequests.set(messageId, { method: methodForRequest(message), resolve, reject });
144
+ runtimeBridge.send(message);
145
+ });
146
+ };
147
+ const registerPendingServerRequest = async (request) => {
148
+ pendingServerRequests.set(toRequestKey(request.requestId), request);
149
+ if (actor) {
150
+ await args.persistence.upsertPendingServerRequest({ actor, request });
151
+ }
152
+ emitState();
153
+ };
154
+ const resolvePendingServerRequest = async (argsForResolve) => {
155
+ const key = toRequestKey(argsForResolve.requestId);
156
+ const pending = pendingServerRequests.get(key);
157
+ if (!pending) {
158
+ return;
159
+ }
160
+ pendingServerRequests.delete(key);
161
+ if (actor) {
162
+ await args.persistence.resolvePendingServerRequest({
163
+ actor,
164
+ threadId: pending.threadId,
165
+ requestId: pending.requestId,
166
+ status: argsForResolve.status,
167
+ resolvedAt: Date.now(),
168
+ ...(argsForResolve.responseJson ? { responseJson: argsForResolve.responseJson } : {}),
169
+ });
170
+ }
171
+ emitState();
172
+ };
173
+ const expireTurnServerRequests = async (turn) => {
174
+ if (!turn.turnId) {
175
+ return;
176
+ }
177
+ const idsToExpire = [];
178
+ for (const request of pendingServerRequests.values()) {
179
+ if (request.threadId === turn.threadId && request.turnId === turn.turnId) {
180
+ idsToExpire.push(request.requestId);
181
+ }
182
+ }
183
+ for (const requestId of idsToExpire) {
184
+ await resolvePendingServerRequest({ requestId, status: "expired" });
185
+ }
186
+ };
187
+ const getPendingServerRequest = (requestId) => {
188
+ const pending = pendingServerRequests.get(toRequestKey(requestId));
189
+ if (!pending) {
190
+ throw new Error(`No pending server request found for id ${String(requestId)}`);
191
+ }
192
+ return pending;
193
+ };
194
+ const sendServerRequestResponse = async (requestId, responseMessage) => {
195
+ getPendingServerRequest(requestId);
196
+ sendMessage(responseMessage);
197
+ await resolvePendingServerRequest({
198
+ requestId,
199
+ status: "answered",
200
+ responseJson: JSON.stringify(responseMessage),
201
+ });
202
+ };
203
+ const throwIfTurnMutationLocked = () => {
204
+ if (turnInFlight && !turnSettled) {
205
+ throw new Error("Cannot change thread lifecycle while a turn is in flight.");
206
+ }
207
+ };
208
+ const setRuntimeThreadFromResponse = (message, method) => {
209
+ if (message.error || !message.result || typeof message.result !== "object") {
210
+ return;
211
+ }
212
+ if (!("thread" in message.result) || typeof message.result.thread !== "object" || message.result.thread === null) {
213
+ return;
214
+ }
215
+ if (!("id" in message.result.thread) || typeof message.result.thread.id !== "string") {
216
+ return;
217
+ }
218
+ if (method === "thread/start" || method === "thread/resume" || method === "thread/fork") {
219
+ runtimeThreadId = message.result.thread.id;
220
+ if (!externalThreadId) {
221
+ externalThreadId = message.result.thread.id;
222
+ }
223
+ emitState();
224
+ }
225
+ };
72
226
  const flushQueue = async () => {
73
227
  if (!actor || !sessionId || !threadId) {
74
228
  return;
@@ -124,7 +278,7 @@ export function createCodexHostRuntime(args) {
124
278
  if (resolvedCwd !== undefined) {
125
279
  bridgeConfig.cwd = resolvedCwd;
126
280
  }
127
- bridge = new CodexLocalBridge(bridgeConfig, {
281
+ const bridgeHandlers = {
128
282
  onEvent: async (event) => {
129
283
  if (!actor || !sessionId) {
130
284
  return;
@@ -167,11 +321,15 @@ export function createCodexHostRuntime(args) {
167
321
  interruptRequested = false;
168
322
  }
169
323
  }
170
- if (event.kind === "turn/completed" || event.kind === "codex/event/turn_aborted") {
324
+ if (event.kind === "turn/completed") {
171
325
  turnId = null;
172
326
  turnInFlight = false;
173
327
  turnSettled = true;
174
328
  emitState();
329
+ await expireTurnServerRequests({
330
+ threadId: threadId ?? event.threadId,
331
+ ...(event.turnId ? { turnId: event.turnId } : {}),
332
+ });
175
333
  }
176
334
  if (event.kind === "error") {
177
335
  turnInFlight = false;
@@ -180,6 +338,20 @@ export function createCodexHostRuntime(args) {
180
338
  turnId = null;
181
339
  }
182
340
  emitState();
341
+ await expireTurnServerRequests({
342
+ threadId: threadId ?? event.threadId,
343
+ ...(event.turnId ? { turnId: event.turnId } : {}),
344
+ });
345
+ }
346
+ const pendingServerRequest = parseManagedServerRequestFromEvent(event);
347
+ if (pendingServerRequest) {
348
+ const persistedThreadId = threadId;
349
+ if (persistedThreadId) {
350
+ await registerPendingServerRequest({
351
+ ...pendingServerRequest,
352
+ threadId: persistedThreadId,
353
+ });
354
+ }
183
355
  }
184
356
  args.handlers?.onEvent?.(event);
185
357
  const persistedThreadId = threadId;
@@ -190,7 +362,7 @@ export function createCodexHostRuntime(args) {
190
362
  ? {
191
363
  type: "stream_delta",
192
364
  eventId: event.eventId,
193
- kind: normalizeIngestKind(event.kind),
365
+ kind: event.kind,
194
366
  payloadJson: event.payloadJson,
195
367
  cursorStart: event.cursorStart,
196
368
  cursorEnd: event.cursorEnd,
@@ -202,14 +374,13 @@ export function createCodexHostRuntime(args) {
202
374
  : {
203
375
  type: "lifecycle_event",
204
376
  eventId: event.eventId,
205
- kind: normalizeIngestKind(event.kind),
377
+ kind: event.kind,
206
378
  payloadJson: event.payloadJson,
207
379
  createdAt: event.createdAt,
208
380
  threadId: persistedThreadId,
209
381
  ...(event.turnId ? { turnId: event.turnId } : {}),
210
382
  };
211
383
  const forceFlush = event.kind === "turn/completed" ||
212
- event.kind === "codex/event/turn_aborted" ||
213
384
  event.kind === "error";
214
385
  await enqueueIngestDelta(delta, forceFlush);
215
386
  },
@@ -217,16 +388,8 @@ export function createCodexHostRuntime(args) {
217
388
  if (isResponse(message) && typeof message.id === "number") {
218
389
  const pending = pendingRequests.get(message.id);
219
390
  pendingRequests.delete(message.id);
220
- if (pending?.method === "thread/start" &&
221
- !message.error &&
222
- message.result &&
223
- typeof message.result === "object" &&
224
- "thread" in message.result &&
225
- typeof message.result.thread === "object" &&
226
- message.result.thread !== null &&
227
- "id" in message.result.thread &&
228
- typeof message.result.thread.id === "string") {
229
- runtimeThreadId = message.result.thread.id;
391
+ if (pending) {
392
+ setRuntimeThreadFromResponse(message, pending.method);
230
393
  }
231
394
  if (message.error && pending?.method === "turn/start") {
232
395
  turnInFlight = false;
@@ -234,6 +397,15 @@ export function createCodexHostRuntime(args) {
234
397
  turnId = null;
235
398
  emitState();
236
399
  }
400
+ if (pending?.resolve) {
401
+ if (message.error) {
402
+ const code = typeof message.error.code === "number" ? String(message.error.code) : "UNKNOWN";
403
+ pending.reject?.(new Error(`[${code}] ${message.error.message}`));
404
+ }
405
+ else {
406
+ pending.resolve(message);
407
+ }
408
+ }
237
409
  }
238
410
  args.handlers?.onGlobalMessage?.(message);
239
411
  },
@@ -245,23 +417,53 @@ export function createCodexHostRuntime(args) {
245
417
  onProcessExit: (code) => {
246
418
  emitState(`codex exited with code ${String(code)}`);
247
419
  },
248
- });
420
+ };
421
+ bridge = args.bridgeFactory
422
+ ? args.bridgeFactory(bridgeConfig, bridgeHandlers)
423
+ : new CodexLocalBridge(bridgeConfig, bridgeHandlers);
249
424
  bridge.start();
250
- sendMessage(buildInitializeRequest(requestId(), {
425
+ sendMessage(buildInitializeRequestWithCapabilities(requestId(), {
251
426
  name: "codex_local_host_runtime",
252
427
  title: "Codex Local Host Runtime",
253
428
  version: "0.1.0",
429
+ }, {
430
+ experimentalApi: Array.isArray(startArgs.dynamicTools) && startArgs.dynamicTools.length > 0,
254
431
  }), "initialize");
255
432
  sendMessage(buildInitializedNotification());
256
- sendMessage(buildThreadStartRequest(requestId(), {
257
- ...(startArgs.model ? { model: startArgs.model } : {}),
258
- ...(startArgs.cwd ? { cwd: startArgs.cwd } : {}),
259
- }), "thread/start");
433
+ const strategy = startArgs.threadStrategy ?? "start";
434
+ if ((strategy === "resume" || strategy === "fork") && !startArgs.runtimeThreadId) {
435
+ throw new Error(`runtimeThreadId is required when threadStrategy=\"${strategy}\".`);
436
+ }
437
+ if (strategy === "start") {
438
+ sendMessage(buildThreadStartRequest(requestId(), {
439
+ ...(startArgs.model ? { model: startArgs.model } : {}),
440
+ ...(startArgs.cwd ? { cwd: startArgs.cwd } : {}),
441
+ ...(startArgs.dynamicTools ? { dynamicTools: startArgs.dynamicTools } : {}),
442
+ }), "thread/start");
443
+ }
444
+ else if (strategy === "resume") {
445
+ sendMessage(buildThreadResumeRequest(requestId(), {
446
+ threadId: startArgs.runtimeThreadId,
447
+ ...(startArgs.model ? { model: startArgs.model } : {}),
448
+ ...(startArgs.cwd ? { cwd: startArgs.cwd } : {}),
449
+ ...(startArgs.dynamicTools ? { dynamicTools: startArgs.dynamicTools } : {}),
450
+ }), "thread/resume");
451
+ }
452
+ else {
453
+ sendMessage(buildThreadForkRequest(requestId(), {
454
+ threadId: startArgs.runtimeThreadId,
455
+ ...(startArgs.model ? { model: startArgs.model } : {}),
456
+ ...(startArgs.cwd ? { cwd: startArgs.cwd } : {}),
457
+ }), "thread/fork");
458
+ }
260
459
  emitState();
261
460
  };
262
461
  const stop = async () => {
263
462
  clearFlushTimer();
264
463
  await flushQueue();
464
+ for (const [, pending] of pendingRequests) {
465
+ pending.reject?.(new Error("Bridge stopped before request completed."));
466
+ }
265
467
  bridge?.stop();
266
468
  bridge = null;
267
469
  actor = null;
@@ -274,6 +476,7 @@ export function createCodexHostRuntime(args) {
274
476
  turnSettled = false;
275
477
  interruptRequested = false;
276
478
  pendingRequests.clear();
479
+ pendingServerRequests.clear();
277
480
  emitState();
278
481
  };
279
482
  const sendTurn = (text) => {
@@ -301,12 +504,92 @@ export function createCodexHostRuntime(args) {
301
504
  }
302
505
  sendMessage(buildTurnInterruptRequest(requestId(), { threadId: runtimeThreadId, turnId }), "turn/interrupt");
303
506
  };
507
+ const resumeThread = async (nextRuntimeThreadId, params) => {
508
+ throwIfTurnMutationLocked();
509
+ return sendRequest(buildThreadResumeRequest(requestId(), {
510
+ threadId: nextRuntimeThreadId,
511
+ ...(params ?? {}),
512
+ }));
513
+ };
514
+ const forkThread = async (sourceRuntimeThreadId, params) => {
515
+ throwIfTurnMutationLocked();
516
+ return sendRequest(buildThreadForkRequest(requestId(), {
517
+ threadId: sourceRuntimeThreadId,
518
+ ...(params ?? {}),
519
+ }));
520
+ };
521
+ const archiveThread = async (targetRuntimeThreadId) => {
522
+ throwIfTurnMutationLocked();
523
+ return sendRequest(buildThreadArchiveRequest(requestId(), {
524
+ threadId: targetRuntimeThreadId,
525
+ }));
526
+ };
527
+ const unarchiveThread = async (targetRuntimeThreadId) => {
528
+ throwIfTurnMutationLocked();
529
+ return sendRequest(buildThreadUnarchiveRequest(requestId(), {
530
+ threadId: targetRuntimeThreadId,
531
+ }));
532
+ };
533
+ const rollbackThread = async (targetRuntimeThreadId, numTurns) => {
534
+ throwIfTurnMutationLocked();
535
+ return sendRequest(buildThreadRollbackRequest(requestId(), {
536
+ threadId: targetRuntimeThreadId,
537
+ numTurns,
538
+ }));
539
+ };
540
+ const readThread = async (targetRuntimeThreadId, includeTurns = false) => sendRequest(buildThreadReadRequest(requestId(), {
541
+ threadId: targetRuntimeThreadId,
542
+ includeTurns,
543
+ }));
544
+ const listThreads = async (params) => sendRequest(buildThreadListRequest(requestId(), params));
545
+ const listLoadedThreads = async (params) => sendRequest(buildThreadLoadedListRequest(requestId(), params));
546
+ const listPendingServerRequests = async (threadIdFilter) => {
547
+ if (actor) {
548
+ return args.persistence.listPendingServerRequests({
549
+ actor,
550
+ ...(threadIdFilter ? { threadId: threadIdFilter } : {}),
551
+ });
552
+ }
553
+ return [];
554
+ };
555
+ const respondCommandApproval = async (argsForDecision) => {
556
+ const pending = getPendingServerRequest(argsForDecision.requestId);
557
+ if (pending.method !== "item/commandExecution/requestApproval") {
558
+ throw new Error(`Server request ${String(argsForDecision.requestId)} is ${pending.method}, expected item/commandExecution/requestApproval`);
559
+ }
560
+ await sendServerRequestResponse(argsForDecision.requestId, buildCommandExecutionApprovalResponse(argsForDecision.requestId, argsForDecision.decision));
561
+ };
562
+ const respondFileChangeApproval = async (argsForDecision) => {
563
+ const pending = getPendingServerRequest(argsForDecision.requestId);
564
+ if (pending.method !== "item/fileChange/requestApproval") {
565
+ throw new Error(`Server request ${String(argsForDecision.requestId)} is ${pending.method}, expected item/fileChange/requestApproval`);
566
+ }
567
+ await sendServerRequestResponse(argsForDecision.requestId, buildFileChangeApprovalResponse(argsForDecision.requestId, argsForDecision.decision));
568
+ };
569
+ const respondToolUserInput = async (argsForAnswer) => {
570
+ const pending = getPendingServerRequest(argsForAnswer.requestId);
571
+ if (pending.method !== "item/tool/requestUserInput") {
572
+ throw new Error(`Server request ${String(argsForAnswer.requestId)} is ${pending.method}, expected item/tool/requestUserInput`);
573
+ }
574
+ await sendServerRequestResponse(argsForAnswer.requestId, buildToolRequestUserInputResponse(argsForAnswer.requestId, argsForAnswer.answers));
575
+ };
576
+ const respondDynamicToolCall = async (argsForResult) => {
577
+ const pending = getPendingServerRequest(argsForResult.requestId);
578
+ if (pending.method !== "item/tool/call") {
579
+ throw new Error(`Server request ${String(argsForResult.requestId)} is ${pending.method}, expected item/tool/call`);
580
+ }
581
+ await sendServerRequestResponse(argsForResult.requestId, buildDynamicToolCallResponse(argsForResult.requestId, {
582
+ success: argsForResult.success,
583
+ contentItems: argsForResult.contentItems,
584
+ }));
585
+ };
304
586
  const getState = () => ({
305
587
  running: !!bridge,
306
588
  threadId,
307
589
  externalThreadId,
308
590
  turnId,
309
591
  turnInFlight,
592
+ pendingServerRequestCount: pendingServerRequests.size,
310
593
  lastError: null,
311
594
  });
312
595
  return {
@@ -314,6 +597,19 @@ export function createCodexHostRuntime(args) {
314
597
  stop,
315
598
  sendTurn,
316
599
  interrupt,
600
+ resumeThread,
601
+ forkThread,
602
+ archiveThread,
603
+ unarchiveThread,
604
+ rollbackThread,
605
+ readThread,
606
+ listThreads,
607
+ listLoadedThreads,
608
+ listPendingServerRequests,
609
+ respondCommandApproval,
610
+ respondFileChangeApproval,
611
+ respondToolUserInput,
612
+ respondDynamicToolCall,
317
613
  getState,
318
614
  };
319
615
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/host/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/host/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type ClassifiedMessage } from "../protocol/classifier.js";
2
- import type { ClientOutboundMessage, NormalizedEvent, ServerInboundMessage } from "../protocol/generated.js";
2
+ import type { NormalizedEvent, ServerInboundMessage } from "../protocol/generated.js";
3
+ import type { ClientOutboundWireMessage } from "../protocol/outbound.js";
3
4
  export type BridgeConfig = {
4
5
  codexBin?: string;
5
6
  cwd?: string;
@@ -22,7 +23,7 @@ export declare class CodexLocalBridge {
22
23
  constructor(config: BridgeConfig, handlers: BridgeHandlers);
23
24
  start(): void;
24
25
  stop(): void;
25
- send(message: ClientOutboundMessage): void;
26
+ send(message: ClientOutboundWireMessage): void;
26
27
  private handleLine;
27
28
  private normalize;
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/local-adapter/bridge.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE7G,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,eAAe,EAAE,CACf,OAAO,EAAE,oBAAoB,EAC7B,cAAc,EAAE,iBAAiB,KAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,MAAM,CAAK;gBAGA,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc;IAG3C,KAAK,IAAI,IAAI;IAsBb,IAAI,IAAI,IAAI;IAKZ,IAAI,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;YAQ5B,UAAU;IAgBxB,OAAO,CAAC,SAAS;CAoBlB"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/local-adapter/bridge.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,eAAe,EAAE,CACf,OAAO,EAAE,oBAAoB,EAC7B,cAAc,EAAE,iBAAiB,KAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,MAAM,CAAK;gBAGA,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc;IAG3C,KAAK,IAAI,IAAI;IAsBb,IAAI,IAAI,IAAI;IAKZ,IAAI,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI;YAQhC,UAAU;IAgBxB,OAAO,CAAC,SAAS;CAoBlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/local-adapter/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/local-adapter/bridge.ts"],"names":[],"mappings":"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"}