@jingyi0605/codingns 0.9.5 → 0.9.7

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 (206) hide show
  1. package/bin/codingns.mjs +75 -0
  2. package/dist/public/assets/{AdaptiveButlerPage-kkJDsnCO.js → AdaptiveButlerPage-DclGPzEx.js} +2 -2
  3. package/dist/public/assets/{App-DrNI9lWA.js → App-BxX5mm9o.js} +6 -6
  4. package/dist/public/assets/{BootstrapPage-QgVH5Mps.js → BootstrapPage-Bl21SsuW.js} +1 -1
  5. package/dist/public/assets/{ConversationPage-DVk8VfIj.js → ConversationPage-CmiVCV0q.js} +7 -7
  6. package/dist/public/assets/{DesktopDetachPreviewPage-BhfP0TpH.js → DesktopDetachPreviewPage-uaOHVsjV.js} +1 -1
  7. package/dist/public/assets/{DesktopModal-DRmDrv0S.js → DesktopModal-BxsogpLf.js} +1 -1
  8. package/dist/public/assets/{DesktopWindowPage-DNbJXnSs.js → DesktopWindowPage-Bubfw1nC.js} +1 -1
  9. package/dist/public/assets/{FileContextPanel---fLO4ve.js → FileContextPanel-DrYWcTkp.js} +1 -1
  10. package/dist/public/assets/{GitSidebar-sXUE0TqT.js → GitSidebar-CQsfJqun.js} +1 -1
  11. package/dist/public/assets/{MobileCreateSessionSheet-BftZ5pvb.js → MobileCreateSessionSheet-CqtmfVNo.js} +1 -1
  12. package/dist/public/assets/{MobileSheet-nw5SCa3N.js → MobileSheet-C5IVmUsO.js} +1 -1
  13. package/dist/public/assets/{MobileTopHeaderFrame-DH_D02Wy.js → MobileTopHeaderFrame-EoBm3-X0.js} +1 -1
  14. package/dist/public/assets/{MobileWorkspaceSwitcherHeader-2K406G5p.js → MobileWorkspaceSwitcherHeader-BC8MMQs_.js} +1 -1
  15. package/dist/public/assets/{PluginAccessOverview-BVJihw3D.js → PluginAccessOverview-CrQiQxxZ.js} +1 -1
  16. package/dist/public/assets/{PluginContainerPage-CR4vStvr.js → PluginContainerPage-_2u-9thM.js} +1 -1
  17. package/dist/public/assets/{PluginDetailPage-CrMX0Mnm.js → PluginDetailPage-F9cKjSCp.js} +1 -1
  18. package/dist/public/assets/{PluginsListPage-FtIL71Yg.js → PluginsListPage-BOhcua_4.js} +1 -1
  19. package/dist/public/assets/{RelayConnectEntryPage-Bt1apX53.js → RelayConnectEntryPage-Ck_uZLzj.js} +1 -1
  20. package/dist/public/assets/{ServerSettingsModal-D-guzPrI.js → ServerSettingsModal-ICd82a_x.js} +1 -1
  21. package/dist/public/assets/SessionIndexPage-Cox6P6dw.js +1 -0
  22. package/dist/public/assets/SettingsPage-BI5cM3j5.js +2 -0
  23. package/dist/public/assets/{TerminalManagerPanel-B5MKGPy-.js → TerminalManagerPanel-DiVhBQhf.js} +1 -1
  24. package/dist/public/assets/{TerminalPage-C2dTNGHK.js → TerminalPage-DUMUO7Ng.js} +1 -1
  25. package/dist/public/assets/{TerminalRuntimeFallbackModal-DAqOxFD8.js → TerminalRuntimeFallbackModal-DGPR_CMh.js} +1 -1
  26. package/dist/public/assets/{ToolFilesPage-IsNwyE6T.js → ToolFilesPage-m88CAp-r.js} +1 -1
  27. package/dist/public/assets/{ToolGitPage-BK1JBERN.js → ToolGitPage-DCYpfTsb.js} +1 -1
  28. package/dist/public/assets/{ToolProcessesPage-DwTYUQCK.js → ToolProcessesPage-Bk5ulsyq.js} +1 -1
  29. package/dist/public/assets/{ToolsHomePage-BLOy7lPg.js → ToolsHomePage-BrTwfjI7.js} +1 -1
  30. package/dist/public/assets/{WorkbenchLandingPage-CqZKR6EA.js → WorkbenchLandingPage-q4AAmdMV.js} +1 -1
  31. package/dist/public/assets/WorkbenchLayout-DD8b-m2G.js +1027 -0
  32. package/dist/public/assets/{WorkbenchModal-BM-OeW-b.js → WorkbenchModal-CsZeLArg.js} +1 -1
  33. package/dist/public/assets/WorkbenchShellRoute-BaiW_vfb.js +1 -0
  34. package/dist/public/assets/WorkbenchShellRoute-CxKYZ6uF.css +1 -0
  35. package/dist/public/assets/{WorkspaceDebugDetailPage-BMsEN5iG.js → WorkspaceDebugDetailPage-BcUUDEyw.js} +1 -1
  36. package/dist/public/assets/WorkspaceDetailPage-zEZ1VARA.js +1 -0
  37. package/dist/public/assets/{WorkspaceHomePage-DQiXKgiP.js → WorkspaceHomePage-CR0rqS4e.js} +1 -1
  38. package/dist/public/assets/{client-runtime-manager-CgPJq21V.js → client-runtime-manager-BgGugw8T.js} +1 -1
  39. package/dist/public/assets/index-CFyk1rgJ.js +50 -0
  40. package/dist/public/assets/index-CrU73EIV.css +1 -0
  41. package/dist/public/assets/{login-direct-candidate-resolver-CGaxAXV8.js → login-direct-candidate-resolver-ty2uOY5y.js} +1 -1
  42. package/dist/public/assets/{plugin-permission-copy-BR9gWy8b.js → plugin-permission-copy-iK3faI3n.js} +1 -1
  43. package/dist/public/assets/{plugins-api-CdCsrG2e.js → plugins-api-CmV7aDGA.js} +1 -1
  44. package/dist/public/assets/{preferences-service-lOhnlxzP.js → preferences-service-BoSmT_ny.js} +1 -1
  45. package/dist/public/assets/{relay-entry-CQpxTS8y.js → relay-entry-C8k5qsl5.js} +1 -1
  46. package/dist/public/assets/styles-BhKoKfQ_.css +1 -0
  47. package/dist/public/assets/{terminal-runtime-meta-oteTx66X.js → terminal-runtime-meta-okQIDzfA.js} +1 -1
  48. package/dist/public/assets/{useRegisteredDebugTemplates-Bu2ykZ6s.js → useRegisteredDebugTemplates-B_vXUtSe.js} +1 -1
  49. package/dist/public/assets/{workbench-navigation-DlgXuFW2.js → workbench-navigation-DoDaQR4z.js} +1 -1
  50. package/dist/public/index.html +2 -2
  51. package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.d.ts +1 -0
  52. package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.js +31 -0
  53. package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.js.map +1 -1
  54. package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.d.ts +1 -0
  55. package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.js +1 -0
  56. package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.js.map +1 -1
  57. package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.js +4 -1
  58. package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.js.map +1 -1
  59. package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.js +140 -16
  60. package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.js.map +1 -1
  61. package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +1 -1
  62. package/dist/server/modules/assistant-capability/assistant-capability-controller.js +8 -7
  63. package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
  64. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +14 -13
  65. package/dist/server/modules/assistant-capability/assistant-capability-service.js +27 -24
  66. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
  67. package/dist/server/modules/auth/auth-controller.d.ts +27 -1
  68. package/dist/server/modules/auth/auth-controller.js +20 -0
  69. package/dist/server/modules/auth/auth-controller.js.map +1 -1
  70. package/dist/server/modules/auth/auth-service.d.ts +32 -1
  71. package/dist/server/modules/auth/auth-service.js +217 -2
  72. package/dist/server/modules/auth/auth-service.js.map +1 -1
  73. package/dist/server/modules/bootstrap/bootstrap-service.js +1 -0
  74. package/dist/server/modules/bootstrap/bootstrap-service.js.map +1 -1
  75. package/dist/server/modules/butler/assistant-automation-service.d.ts +1 -1
  76. package/dist/server/modules/butler/assistant-automation-service.js +9 -10
  77. package/dist/server/modules/butler/assistant-automation-service.js.map +1 -1
  78. package/dist/server/modules/butler/butler-action-context-service.js +2 -2
  79. package/dist/server/modules/butler/butler-action-context-service.js.map +1 -1
  80. package/dist/server/modules/butler/butler-control-action-service.d.ts +5 -5
  81. package/dist/server/modules/butler/butler-control-action-service.js +19 -19
  82. package/dist/server/modules/butler/butler-control-action-service.js.map +1 -1
  83. package/dist/server/modules/butler/butler-control-session-service.d.ts +1 -1
  84. package/dist/server/modules/butler/butler-control-session-service.js +27 -26
  85. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  86. package/dist/server/modules/butler/butler-control-timer-service.js +4 -5
  87. package/dist/server/modules/butler/butler-control-timer-service.js.map +1 -1
  88. package/dist/server/modules/butler/butler-controller.d.ts +2 -2
  89. package/dist/server/modules/butler/butler-controller.js +19 -17
  90. package/dist/server/modules/butler/butler-controller.js.map +1 -1
  91. package/dist/server/modules/butler/butler-profile-service.d.ts +5 -5
  92. package/dist/server/modules/butler/butler-profile-service.js +17 -16
  93. package/dist/server/modules/butler/butler-profile-service.js.map +1 -1
  94. package/dist/server/modules/butler/butler-project-service.d.ts +7 -6
  95. package/dist/server/modules/butler/butler-project-service.js +35 -21
  96. package/dist/server/modules/butler/butler-project-service.js.map +1 -1
  97. package/dist/server/modules/butler/butler-session-service.d.ts +2 -2
  98. package/dist/server/modules/butler/butler-session-service.js +33 -27
  99. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  100. package/dist/server/modules/butler/butler-session-summary-service.d.ts +2 -2
  101. package/dist/server/modules/butler/butler-session-summary-service.js +23 -9
  102. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
  103. package/dist/server/modules/butler/context-aggregator.js +9 -9
  104. package/dist/server/modules/butler/context-aggregator.js.map +1 -1
  105. package/dist/server/modules/butler/patrol-execution-service.d.ts +0 -1
  106. package/dist/server/modules/butler/patrol-execution-service.js +6 -12
  107. package/dist/server/modules/butler/patrol-execution-service.js.map +1 -1
  108. package/dist/server/modules/provider/provider-discovery-runtime.js +16 -1
  109. package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
  110. package/dist/server/modules/sessions/codex-app-server-helper-client.js +14 -0
  111. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
  112. package/dist/server/modules/sessions/codex-app-server-helper-process.js +59 -0
  113. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  114. package/dist/server/modules/sessions/codex-session-title-generator.d.ts +19 -0
  115. package/dist/server/modules/sessions/codex-session-title-generator.js +295 -0
  116. package/dist/server/modules/sessions/codex-session-title-generator.js.map +1 -0
  117. package/dist/server/modules/sessions/session-controller.js +3 -3
  118. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  119. package/dist/server/modules/sessions/session-history-service.d.ts +13 -3
  120. package/dist/server/modules/sessions/session-history-service.js +309 -11
  121. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  122. package/dist/server/modules/sessions/session-live-runtime-service.js +25 -15
  123. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  124. package/dist/server/modules/sessions/session-permission-request-service.js +28 -15
  125. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
  126. package/dist/server/modules/tasks/task-types.d.ts +1 -0
  127. package/dist/server/modules/tasks/task-types.js +1 -0
  128. package/dist/server/modules/tasks/task-types.js.map +1 -1
  129. package/dist/server/modules/workbench/workbench-service.js +9 -9
  130. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  131. package/dist/server/modules/workspace/affairs-library-service.d.ts +3 -1
  132. package/dist/server/modules/workspace/affairs-library-service.js +112 -54
  133. package/dist/server/modules/workspace/affairs-library-service.js.map +1 -1
  134. package/dist/server/modules/workspace/affairs-lightweight-session-service.js +13 -9
  135. package/dist/server/modules/workspace/affairs-lightweight-session-service.js.map +1 -1
  136. package/dist/server/modules/workspace/affairs-tag-service.d.ts +12 -0
  137. package/dist/server/modules/workspace/affairs-tag-service.js +527 -2
  138. package/dist/server/modules/workspace/affairs-tag-service.js.map +1 -1
  139. package/dist/server/modules/workspace/workspace-controller.d.ts +1 -1
  140. package/dist/server/modules/workspace/workspace-controller.js +7 -7
  141. package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
  142. package/dist/server/modules/workspace/workspace-service.d.ts +7 -0
  143. package/dist/server/modules/workspace/workspace-service.js +151 -10
  144. package/dist/server/modules/workspace/workspace-service.js.map +1 -1
  145. package/dist/server/routes/auth.js +6 -0
  146. package/dist/server/routes/auth.js.map +1 -1
  147. package/dist/server/server/create-server.d.ts +4 -0
  148. package/dist/server/server/create-server.js +26 -0
  149. package/dist/server/server/create-server.js.map +1 -1
  150. package/dist/server/server/start-host.js +20 -0
  151. package/dist/server/server/start-host.js.map +1 -1
  152. package/dist/server/shared/http/request-diagnostics.d.ts +56 -0
  153. package/dist/server/shared/http/request-diagnostics.js +256 -0
  154. package/dist/server/shared/http/request-diagnostics.js.map +1 -0
  155. package/dist/server/storage/repositories/auth-token-repository.d.ts +1 -0
  156. package/dist/server/storage/repositories/auth-token-repository.js +8 -0
  157. package/dist/server/storage/repositories/auth-token-repository.js.map +1 -1
  158. package/dist/server/storage/repositories/auth-user-repository.d.ts +50 -0
  159. package/dist/server/storage/repositories/auth-user-repository.js +198 -27
  160. package/dist/server/storage/repositories/auth-user-repository.js.map +1 -1
  161. package/dist/server/storage/repositories/butler-control-session-repository.d.ts +4 -1
  162. package/dist/server/storage/repositories/butler-control-session-repository.js +55 -8
  163. package/dist/server/storage/repositories/butler-control-session-repository.js.map +1 -1
  164. package/dist/server/storage/repositories/butler-profile-repository.d.ts +2 -1
  165. package/dist/server/storage/repositories/butler-profile-repository.js +35 -6
  166. package/dist/server/storage/repositories/butler-profile-repository.js.map +1 -1
  167. package/dist/server/storage/repositories/butler-project-repository.d.ts +2 -0
  168. package/dist/server/storage/repositories/butler-project-repository.js +38 -4
  169. package/dist/server/storage/repositories/butler-project-repository.js.map +1 -1
  170. package/dist/server/storage/repositories/butler-session-repository.d.ts +2 -1
  171. package/dist/server/storage/repositories/butler-session-repository.js +35 -6
  172. package/dist/server/storage/repositories/butler-session-repository.js.map +1 -1
  173. package/dist/server/storage/repositories/session-binding-repository.d.ts +3 -0
  174. package/dist/server/storage/repositories/session-binding-repository.js +70 -2
  175. package/dist/server/storage/repositories/session-binding-repository.js.map +1 -1
  176. package/dist/server/storage/repositories/session-index-repository.js +7 -5
  177. package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
  178. package/dist/server/storage/repositories/workspace-repository.d.ts +3 -1
  179. package/dist/server/storage/repositories/workspace-repository.js +24 -10
  180. package/dist/server/storage/repositories/workspace-repository.js.map +1 -1
  181. package/dist/server/storage/sqlite/client.js +288 -0
  182. package/dist/server/storage/sqlite/client.js.map +1 -1
  183. package/dist/server/storage/sqlite/schema.sql +33 -9
  184. package/dist/server/types/domain.d.ts +8 -1
  185. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js +34 -7
  186. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js.map +1 -1
  187. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +7 -0
  188. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +596 -6
  189. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  190. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +3 -7
  191. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
  192. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +1 -0
  193. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +249 -6
  194. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  195. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +11 -0
  196. package/package.json +1 -1
  197. package/dist/public/assets/SessionIndexPage-CX2FppcJ.js +0 -1
  198. package/dist/public/assets/SettingsPage-BI2Olcvr.js +0 -2
  199. package/dist/public/assets/WorkbenchLayout-CJHQtwuL.js +0 -1022
  200. package/dist/public/assets/WorkbenchShellRoute-2bKI6Q9k.js +0 -1
  201. package/dist/public/assets/WorkbenchShellRoute-BjuZD101.css +0 -1
  202. package/dist/public/assets/WorkspaceDetailPage-5H9Gosx2.js +0 -1
  203. package/dist/public/assets/index-BARqMVSw.css +0 -1
  204. package/dist/public/assets/index-BUoNjVrY.js +0 -50
  205. package/dist/public/assets/styles-DkbkRgWw.css +0 -1
  206. /package/dist/public/assets/{styles-JKFlsYFv.js → styles-DwSuZo1w.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"claude-runtime.js","sourceRoot":"","sources":["../../src/runtime/claude-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-runtime.js","sourceRoot":"","sources":["../../src/runtime/claude-runtime.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ export declare class CodexRuntimeAdapter implements ProviderRuntimeAdapter {
52
52
  continueSession(request: ProviderRuntimeRunRequest, sink: ProviderRuntimeEventSink): Promise<ProviderRuntimeLaunchResult>;
53
53
  private resolveContinueFallbackHistorySource;
54
54
  private runTurn;
55
+ private waitForSpawnedCodexAgentsIfNeeded;
55
56
  private handleEvent;
56
57
  private emitStableMessage;
57
58
  private refreshSessionBindingIfNeeded;
@@ -1,6 +1,6 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { spawn } from "node:child_process";
3
- import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
3
+ import { closeSync, existsSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
4
4
  import { homedir } from "node:os";
5
5
  import { performance } from "node:perf_hooks";
6
6
  import { basename, dirname, join, resolve } from "node:path";
@@ -13,6 +13,9 @@ import { loadDatabaseSync } from "../sqlite/node-sqlite.js";
13
13
  import { createCodexThreadPermissionOptions } from "./codex-permissions.js";
14
14
  const CODEX_RUNTIME_DEBUG_ENABLED = /^(1|true|yes)$/i.test(process.env.CODINGNS_PERF_DEBUG?.trim() ?? "");
15
15
  const CODEX_APP_SERVER_REQUEST_TIMEOUT_MS = 20_000;
16
+ const CODEX_APP_SERVER_SPAWN_AGENT_GRACE_MS = 6 * 60 * 60 * 1000;
17
+ const CODEX_SPAWN_AGENT_RAW_SCAN_BYTES = 2 * 1024 * 1024;
18
+ const CODEX_SPAWN_AGENT_POLL_INTERVAL_MS = 2_000;
16
19
  function logCodexRuntimeStep(scope, startedAtMs, detail = {}) {
17
20
  if (!CODEX_RUNTIME_DEBUG_ENABLED) {
18
21
  return;
@@ -21,6 +24,182 @@ function logCodexRuntimeStep(scope, startedAtMs, detail = {}) {
21
24
  const suffix = formatCodexRuntimeDebugDetail(detail);
22
25
  console.info(`[perf][codex-runtime] ${scope} ${durationMs}ms${suffix ? ` ${suffix}` : ""}`);
23
26
  }
27
+ function closeCodexTransportAfterTurn(transport, lifecycle, rawStoreRef) {
28
+ if (!shouldKeepCodexTransportAliveAfterTurn(lifecycle, rawStoreRef)) {
29
+ transport.close();
30
+ return;
31
+ }
32
+ // 子 Agent 依附在 Codex app-server 进程上。父 turn 完成后立即 close
33
+ // 会把刚 spawn 出来的子 Agent 一起 SIGTERM 掉。这里给一个足够长的
34
+ // 宽限期,让子 Agent 自己跑完;宽限期到了再兜底回收,避免进程永久泄漏。
35
+ const timer = setTimeout(() => {
36
+ transport.close();
37
+ }, CODEX_APP_SERVER_SPAWN_AGENT_GRACE_MS);
38
+ if (typeof timer.unref === "function") {
39
+ timer.unref();
40
+ }
41
+ }
42
+ function shouldKeepCodexTransportAliveAfterTurn(lifecycle, rawStoreRef) {
43
+ return lifecycle.keepTransportAliveAfterTurn || codexRawStoreContainsSpawnAgentCall(rawStoreRef);
44
+ }
45
+ function codexRawStoreContainsSpawnAgentCall(rawStoreRef) {
46
+ const text = readCodexRawStoreTail(rawStoreRef);
47
+ if (!text || !text.includes("spawn_agent")) {
48
+ return false;
49
+ }
50
+ for (const line of text.split("\n")) {
51
+ if (!line.includes("spawn_agent")) {
52
+ continue;
53
+ }
54
+ try {
55
+ const record = toRecord(JSON.parse(line));
56
+ const payload = toRecord(readProp(record, "payload"));
57
+ if (isCodexSpawnAgentItem(record)
58
+ || isCodexSpawnAgentItem(payload)
59
+ || isCodexSpawnAgentItem(toRecord(readProp(record, "item")))
60
+ || isCodexSpawnAgentItem(toRecord(readProp(payload, "item")))) {
61
+ return true;
62
+ }
63
+ }
64
+ catch {
65
+ // 单行坏掉不影响判断,继续看下一行。
66
+ }
67
+ }
68
+ return false;
69
+ }
70
+ function extractCodexSpawnedAgentIdsFromRawStore(rawStoreRef) {
71
+ const text = readCodexRawStoreTail(rawStoreRef);
72
+ if (!text || !text.includes("spawn_agent")) {
73
+ return [];
74
+ }
75
+ const spawnCallIds = new Set();
76
+ const agentIds = new Set();
77
+ for (const line of text.split("\n")) {
78
+ if (!line.trim()) {
79
+ continue;
80
+ }
81
+ try {
82
+ const record = toRecord(JSON.parse(line));
83
+ const payload = toRecord(readProp(record, "payload"));
84
+ if (!payload) {
85
+ continue;
86
+ }
87
+ if (isCodexSpawnAgentItem(payload)) {
88
+ const callId = ensureText(readProp(payload, "call_id")).trim();
89
+ if (callId) {
90
+ spawnCallIds.add(callId);
91
+ }
92
+ continue;
93
+ }
94
+ if (ensureText(readProp(payload, "type")).trim() !== "function_call_output") {
95
+ continue;
96
+ }
97
+ const callId = ensureText(readProp(payload, "call_id")).trim();
98
+ if (!callId || !spawnCallIds.has(callId)) {
99
+ continue;
100
+ }
101
+ const parsedOutput = parseStructuredJson(ensureText(readProp(payload, "output")));
102
+ const agentId = ensureText(readProp(parsedOutput, "agent_id")).trim();
103
+ if (looksLikeCodexThreadId(agentId)) {
104
+ agentIds.add(agentId);
105
+ }
106
+ }
107
+ catch {
108
+ // 单行坏掉不影响判断,继续看下一行。
109
+ }
110
+ }
111
+ return [...agentIds];
112
+ }
113
+ function isCodexRawStoreTerminal(rawStoreRef) {
114
+ const text = readCodexRawStoreTail(rawStoreRef);
115
+ if (!text) {
116
+ return false;
117
+ }
118
+ for (const line of text.split("\n")) {
119
+ if (!line.includes("task_complete")
120
+ && !line.includes("turn_aborted")
121
+ && !line.includes("turn_failed")) {
122
+ continue;
123
+ }
124
+ try {
125
+ const record = toRecord(JSON.parse(line));
126
+ const payload = toRecord(readProp(record, "payload"));
127
+ const recordType = ensureText(readProp(record, "type")).trim();
128
+ const payloadType = ensureText(readProp(payload, "type")).trim();
129
+ if ((recordType === "event_msg" && payloadType === "task_complete")
130
+ || (recordType === "event_msg" && payloadType === "turn_aborted")
131
+ || (recordType === "event_msg" && payloadType === "turn_failed")) {
132
+ return true;
133
+ }
134
+ }
135
+ catch {
136
+ // 单行坏掉不影响判断,继续看下一行。
137
+ }
138
+ }
139
+ return false;
140
+ }
141
+ function readCodexRawStoreTail(rawStoreRef) {
142
+ try {
143
+ if (!rawStoreRef.trim() || !existsSync(rawStoreRef)) {
144
+ return "";
145
+ }
146
+ const stat = statSync(rawStoreRef);
147
+ if (!stat.isFile()) {
148
+ return "";
149
+ }
150
+ if (stat.size <= CODEX_SPAWN_AGENT_RAW_SCAN_BYTES) {
151
+ return readFileSync(rawStoreRef, "utf8");
152
+ }
153
+ const fd = openSync(rawStoreRef, "r");
154
+ try {
155
+ const length = CODEX_SPAWN_AGENT_RAW_SCAN_BYTES;
156
+ const buffer = Buffer.allocUnsafe(length);
157
+ const bytesRead = readSync(fd, buffer, 0, length, stat.size - length);
158
+ return buffer.subarray(0, bytesRead).toString("utf8");
159
+ }
160
+ finally {
161
+ closeSync(fd);
162
+ }
163
+ }
164
+ catch {
165
+ return "";
166
+ }
167
+ }
168
+ function isCodexSpawnAgentEvent(event) {
169
+ const eventRecord = toRecord(event);
170
+ if (!eventRecord) {
171
+ return false;
172
+ }
173
+ // app-server 通常发的是 { type: "item.completed", item: {...} }。
174
+ // 但真实 3002 路径里,父 turn 的 transcript 也会出现已经展开的
175
+ // { type: "function_call", name: "spawn_agent" } 记录。两种都必须识别,
176
+ // 否则父 turn 完成后会 close app-server,把子 Agent 一起中断。
177
+ return isCodexSpawnAgentItem(toRecord(readProp(eventRecord, "item")) ?? eventRecord);
178
+ }
179
+ function markCodexSpawnAgentLifecycleFromEvents(lifecycle, events) {
180
+ if (lifecycle.keepTransportAliveAfterTurn) {
181
+ return;
182
+ }
183
+ if (events.some((event) => isCodexSpawnAgentEvent(event))) {
184
+ lifecycle.keepTransportAliveAfterTurn = true;
185
+ }
186
+ }
187
+ function isCodexSpawnAgentItem(item) {
188
+ if (!item) {
189
+ return false;
190
+ }
191
+ const itemType = ensureText(readProp(item, "type")).trim();
192
+ if (itemType === "function_call"
193
+ || itemType === "functionCall"
194
+ || itemType === "custom_tool_call") {
195
+ return (ensureText(readProp(item, "name")).trim() === "spawn_agent"
196
+ || ensureText(readProp(item, "tool")).trim() === "spawn_agent");
197
+ }
198
+ if (itemType === "dynamicToolCall" || itemType === "mcpToolCall") {
199
+ return ensureText(readProp(item, "tool")).trim() === "spawn_agent";
200
+ }
201
+ return false;
202
+ }
24
203
  function formatCodexRuntimeDebugDetail(detail) {
25
204
  const entries = Object.entries(detail).filter(([, value]) => value !== undefined);
26
205
  if (entries.length === 0) {
@@ -75,6 +254,9 @@ export class CodexRuntimeAdapter {
75
254
  });
76
255
  const abortController = new AbortController();
77
256
  const eventQueue = createAsyncEventQueue();
257
+ const lifecycle = {
258
+ keepTransportAliveAfterTurn: false
259
+ };
78
260
  const translateNotification = createCodexAppServerNotificationTranslator();
79
261
  const forwardTranslatedNotification = createCodexTranslatedNotificationForwarder(eventQueue);
80
262
  const resumedSyntheticSession = await this.resumeSyntheticThreadFromHistory(transport, request);
@@ -115,6 +297,7 @@ export class CodexRuntimeAdapter {
115
297
  });
116
298
  }
117
299
  const translated = translateNotification(notification);
300
+ markCodexSpawnAgentLifecycleFromEvents(lifecycle, translated.events);
118
301
  forwardTranslatedNotification(translated);
119
302
  });
120
303
  transport.setServerRequestHandler(async (serverRequest) => {
@@ -142,6 +325,7 @@ export class CodexRuntimeAdapter {
142
325
  const startTurnNotification = startTurnResult?.notification ?? null;
143
326
  if (startTurnNotification) {
144
327
  const translated = translateNotification(startTurnNotification);
328
+ markCodexSpawnAgentLifecycleFromEvents(lifecycle, translated.events);
145
329
  forwardTranslatedNotification(translated);
146
330
  }
147
331
  logCodexRuntimeStep("start_session.turn_start", startTurnStartedAtMs, {
@@ -166,8 +350,8 @@ export class CodexRuntimeAdapter {
166
350
  transport.close();
167
351
  },
168
352
  isAlive: () => transport.isClosed() === false,
169
- completed: this.runTurn(null, request, sink, providerSessionId, rawStoreRef, abortController, eventQueue.iterator, [], launchedAtMs, launchPerfStartedAtMs).finally(() => {
170
- transport.close();
353
+ completed: this.runTurn(null, request, sink, providerSessionId, rawStoreRef, abortController, eventQueue.iterator, [], launchedAtMs, launchPerfStartedAtMs, lifecycle).finally(() => {
354
+ closeCodexTransportAfterTurn(transport, lifecycle, rawStoreRef);
171
355
  })
172
356
  };
173
357
  }
@@ -261,6 +445,9 @@ export class CodexRuntimeAdapter {
261
445
  : pickedRawStoreRef;
262
446
  const abortController = new AbortController();
263
447
  const eventQueue = createAsyncEventQueue();
448
+ const lifecycle = {
449
+ keepTransportAliveAfterTurn: false
450
+ };
264
451
  const translateNotification = createCodexAppServerNotificationTranslator();
265
452
  const forwardTranslatedNotification = createCodexTranslatedNotificationForwarder(eventQueue);
266
453
  logCodexRuntimeStep("continue_session.raw_store_ref_ready", runtimeStartedAtMs, {
@@ -286,6 +473,7 @@ export class CodexRuntimeAdapter {
286
473
  });
287
474
  }
288
475
  const translated = translateNotification(notification);
476
+ markCodexSpawnAgentLifecycleFromEvents(lifecycle, translated.events);
289
477
  forwardTranslatedNotification(translated);
290
478
  });
291
479
  transport.setServerRequestHandler(async (serverRequest) => {
@@ -313,6 +501,7 @@ export class CodexRuntimeAdapter {
313
501
  const startTurnNotification = startTurnResult?.notification ?? null;
314
502
  if (startTurnNotification) {
315
503
  const translated = translateNotification(startTurnNotification);
504
+ markCodexSpawnAgentLifecycleFromEvents(lifecycle, translated.events);
316
505
  forwardTranslatedNotification(translated);
317
506
  }
318
507
  logCodexRuntimeStep("continue_session.turn_start", startTurnStartedAtMs, {
@@ -337,8 +526,8 @@ export class CodexRuntimeAdapter {
337
526
  transport.close();
338
527
  },
339
528
  isAlive: () => transport.isClosed() === false,
340
- completed: this.runTurn(null, request, sink, resolvedSessionId, rawStoreRef, abortController, eventQueue.iterator, [], Date.now()).finally(() => {
341
- transport.close();
529
+ completed: this.runTurn(null, request, sink, resolvedSessionId, rawStoreRef, abortController, eventQueue.iterator, [], Date.now(), performance.now(), lifecycle).finally(() => {
530
+ closeCodexTransportAfterTurn(transport, lifecycle, rawStoreRef);
342
531
  })
343
532
  };
344
533
  }
@@ -382,13 +571,16 @@ export class CodexRuntimeAdapter {
382
571
  }
383
572
  return fallbackMatch;
384
573
  }
385
- async runTurn(thread, request, sink, providerSessionId, rawStoreRef, abortController, preparedEvents, bufferedEvents = [], launchedAtMs = Date.now(), launchPerfStartedAtMs = performance.now()) {
574
+ async runTurn(thread, request, sink, providerSessionId, rawStoreRef, abortController, preparedEvents, bufferedEvents = [], launchedAtMs = Date.now(), launchPerfStartedAtMs = performance.now(), lifecycle = {
575
+ keepTransportAliveAfterTurn: false
576
+ }) {
386
577
  const context = {
387
578
  providerSessionId,
388
579
  rawStoreRef,
389
580
  // 运行时消息必须接在历史消息后面,不能每轮都从 1 重新编号,
390
581
  // 否则前端会把新 assistant/tool 消息排到旧消息前面,表现成用户消息一直挂在底部。
391
582
  sequence: Math.max(0, request.sequenceBase ?? 0),
583
+ lifecycle,
392
584
  toolNameByCallId: new Map(),
393
585
  stableMessageRefByIdentity: new Map(),
394
586
  lastSignatureByIdentity: new Map(),
@@ -418,6 +610,7 @@ export class CodexRuntimeAdapter {
418
610
  while (true) {
419
611
  const next = await events.next();
420
612
  if (next.done) {
613
+ await this.waitForSpawnedCodexAgentsIfNeeded(context, abortController.signal);
421
614
  return;
422
615
  }
423
616
  await this.refreshSessionBindingIfNeeded(context);
@@ -450,11 +643,37 @@ export class CodexRuntimeAdapter {
450
643
  });
451
644
  }
452
645
  }
646
+ async waitForSpawnedCodexAgentsIfNeeded(context, signal) {
647
+ if (!shouldKeepCodexTransportAliveAfterTurn(context.lifecycle, context.rawStoreRef)) {
648
+ return;
649
+ }
650
+ const agentIds = extractCodexSpawnedAgentIdsFromRawStore(context.rawStoreRef);
651
+ if (agentIds.length === 0) {
652
+ return;
653
+ }
654
+ const deadline = Date.now() + CODEX_APP_SERVER_SPAWN_AGENT_GRACE_MS;
655
+ const remainingAgentIds = new Set(agentIds);
656
+ while (remainingAgentIds.size > 0 && Date.now() < deadline && !signal.aborted) {
657
+ for (const agentId of [...remainingAgentIds]) {
658
+ const rawStoreRef = this.findRawStoreRefOnce(agentId, context.workspacePath, context.homeDir);
659
+ if (rawStoreRef && isCodexRawStoreTerminal(rawStoreRef)) {
660
+ remainingAgentIds.delete(agentId);
661
+ }
662
+ }
663
+ if (remainingAgentIds.size === 0 || Date.now() >= deadline || signal.aborted) {
664
+ break;
665
+ }
666
+ await sleep(CODEX_SPAWN_AGENT_POLL_INTERVAL_MS);
667
+ }
668
+ }
453
669
  async handleEvent(event, request, context, interrupted) {
454
670
  const eventType = ensureText(readProp(event, "type")).trim();
455
671
  if (eventType.length === 0) {
456
672
  return;
457
673
  }
674
+ if (isCodexSpawnAgentEvent(event)) {
675
+ context.lifecycle.keepTransportAliveAfterTurn = true;
676
+ }
458
677
  if (context.lastSignatureByIdentity.size === 0 && eventType.startsWith("item.")) {
459
678
  logCodexRuntimeStep("turn.first_item_event", context.launchPerfStartedAtMs, {
460
679
  sessionId: request.sessionId,
@@ -1686,6 +1905,17 @@ function translateCodexAppServerItem(item) {
1686
1905
  status: normalizeCodexItemStatus(item.status)
1687
1906
  };
1688
1907
  }
1908
+ if (itemType === "functionCall" || itemType === "function_call") {
1909
+ return {
1910
+ type: "function_call",
1911
+ id: item.id,
1912
+ name: item.name,
1913
+ arguments: readProp(item, "arguments") ?? readProp(item, "input"),
1914
+ output: item.output,
1915
+ error: item.error,
1916
+ status: normalizeCodexItemStatus(item.status)
1917
+ };
1918
+ }
1689
1919
  if (itemType === "dynamicToolCall") {
1690
1920
  const toolName = ensureText(item.tool).trim();
1691
1921
  const patchText = isCodexExecCommandToolName(toolName)
@@ -2118,6 +2348,19 @@ function normalizeText(value) {
2118
2348
  const normalized = ensureText(value).trim();
2119
2349
  return normalized.length > 0 ? normalized : null;
2120
2350
  }
2351
+ function parseStructuredJson(value) {
2352
+ const normalized = value.trim();
2353
+ if (!normalized) {
2354
+ return null;
2355
+ }
2356
+ try {
2357
+ const parsed = JSON.parse(normalized);
2358
+ return toRecord(parsed);
2359
+ }
2360
+ catch {
2361
+ return null;
2362
+ }
2363
+ }
2121
2364
  function readThreadIdFromRawStore(rawStoreRef) {
2122
2365
  const filePath = ensureText(rawStoreRef).trim();
2123
2366
  if (!filePath || !existsSync(filePath)) {