@gkorepanov/ccodex 0.4.8 → 0.4.10

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 (214) hide show
  1. package/README.md +1 -1
  2. package/config/compatibility.json +3 -3
  3. package/dist/claude/goalTools.js +1 -1
  4. package/dist/claude/goalTools.js.map +1 -1
  5. package/dist/claude/hookMapper.d.ts +1 -0
  6. package/dist/claude/hookMapper.js +1 -0
  7. package/dist/claude/hookMapper.js.map +1 -1
  8. package/dist/claude/inputMapper.js +4 -1
  9. package/dist/claude/inputMapper.js.map +1 -1
  10. package/dist/claude/modelCatalog.d.ts +1 -0
  11. package/dist/claude/modelCatalog.js +12 -9
  12. package/dist/claude/modelCatalog.js.map +1 -1
  13. package/dist/claude/rateLimits.d.ts +1 -0
  14. package/dist/claude/rateLimits.js +2 -1
  15. package/dist/claude/rateLimits.js.map +1 -1
  16. package/dist/claude/service.d.ts +13 -1
  17. package/dist/claude/service.js +152 -19
  18. package/dist/claude/service.js.map +1 -1
  19. package/dist/claude/session/commands.d.ts +3 -0
  20. package/dist/claude/session/goalState.js +9 -0
  21. package/dist/claude/session/goalState.js.map +1 -1
  22. package/dist/claude/session/repository.d.ts +1 -1
  23. package/dist/claude/session/repository.js +2 -2
  24. package/dist/claude/session/repository.js.map +1 -1
  25. package/dist/claude/session/scopeState.js +3 -1
  26. package/dist/claude/session/scopeState.js.map +1 -1
  27. package/dist/claude/session/session.js +13 -2
  28. package/dist/claude/session/session.js.map +1 -1
  29. package/dist/claude/session/usage.js +1 -0
  30. package/dist/claude/session/usage.js.map +1 -1
  31. package/dist/claude/toolMapper.js +2 -2
  32. package/dist/claude/toolMapper.js.map +1 -1
  33. package/dist/codex/generated/ClientRequest.d.ts +20 -0
  34. package/dist/codex/generated/CodexResponseHandoffMode.d.ts +1 -0
  35. package/dist/codex/generated/CodexResponseHandoffMode.js +3 -0
  36. package/dist/codex/generated/CodexResponseHandoffMode.js.map +1 -0
  37. package/dist/codex/generated/ContentItem.d.ts +3 -0
  38. package/dist/codex/generated/FunctionCallOutputContentItem.d.ts +3 -0
  39. package/dist/codex/generated/InputModality.d.ts +1 -1
  40. package/dist/codex/generated/LegacyAppPathString.d.ts +7 -6
  41. package/dist/codex/generated/RealtimeConversationVersion.d.ts +1 -1
  42. package/dist/codex/generated/ResponseItem.d.ts +15 -14
  43. package/dist/codex/generated/ResponseItemId.d.ts +5 -0
  44. package/dist/codex/generated/ResponseItemId.js +3 -0
  45. package/dist/codex/generated/ResponseItemId.js.map +1 -0
  46. package/dist/codex/generated/ResponseItemRuntimeSchema.js +2 -2
  47. package/dist/codex/generated/ResponseItemRuntimeSchema.js.map +1 -1
  48. package/dist/codex/generated/ReviewDecision.d.ts +5 -1
  49. package/dist/codex/generated/ServerNotification.d.ts +11 -0
  50. package/dist/codex/generated/ServerNotificationEnvelope.d.ts +302 -0
  51. package/dist/codex/generated/ServerNotificationEnvelope.js +3 -0
  52. package/dist/codex/generated/ServerNotificationEnvelope.js.map +1 -0
  53. package/dist/codex/generated/SleepItem.d.ts +7 -0
  54. package/dist/codex/generated/SleepItem.js +3 -0
  55. package/dist/codex/generated/SleepItem.js.map +1 -0
  56. package/dist/codex/generated/WebSearchItem.d.ts +8 -0
  57. package/dist/codex/generated/index.d.ts +4 -1
  58. package/dist/codex/generated/index.js.map +1 -1
  59. package/dist/codex/generated/v2/Account.d.ts +1 -2
  60. package/dist/codex/generated/v2/AppToolSummary.d.ts +8 -0
  61. package/dist/codex/generated/v2/AppToolSummary.js +3 -0
  62. package/dist/codex/generated/v2/AppToolSummary.js.map +1 -0
  63. package/dist/codex/generated/v2/AppsInstalledParams.d.ts +14 -0
  64. package/dist/codex/generated/v2/AppsInstalledParams.js +3 -0
  65. package/dist/codex/generated/v2/AppsInstalledParams.js.map +1 -0
  66. package/dist/codex/generated/v2/AppsInstalledResponse.d.ts +7 -0
  67. package/dist/codex/generated/v2/AppsInstalledResponse.js +3 -0
  68. package/dist/codex/generated/v2/AppsInstalledResponse.js.map +1 -0
  69. package/dist/codex/generated/v2/AppsReadParams.d.ts +14 -0
  70. package/dist/codex/generated/v2/AppsReadParams.js +3 -0
  71. package/dist/codex/generated/v2/AppsReadParams.js.map +1 -0
  72. package/dist/codex/generated/v2/AppsReadResponse.d.ts +8 -0
  73. package/dist/codex/generated/v2/AppsReadResponse.js +3 -0
  74. package/dist/codex/generated/v2/AppsReadResponse.js.map +1 -0
  75. package/dist/codex/generated/v2/ConfiguredHookHandler.d.ts +7 -0
  76. package/dist/codex/generated/v2/ConnectorMetadata.d.ts +15 -0
  77. package/dist/codex/generated/v2/ConnectorMetadata.js +3 -0
  78. package/dist/codex/generated/v2/ConnectorMetadata.js.map +1 -0
  79. package/dist/codex/generated/v2/DynamicToolCallOutputContentItem.d.ts +3 -0
  80. package/dist/codex/generated/v2/EnvironmentConnectionNotification.d.ts +4 -0
  81. package/dist/codex/generated/v2/EnvironmentConnectionNotification.js +3 -0
  82. package/dist/codex/generated/v2/EnvironmentConnectionNotification.js.map +1 -0
  83. package/dist/codex/generated/v2/EnvironmentStatusKind.d.ts +7 -0
  84. package/dist/codex/generated/v2/EnvironmentStatusKind.js +3 -0
  85. package/dist/codex/generated/v2/EnvironmentStatusKind.js.map +1 -0
  86. package/dist/codex/generated/v2/EnvironmentStatusParams.d.ts +9 -0
  87. package/dist/codex/generated/v2/EnvironmentStatusParams.js +3 -0
  88. package/dist/codex/generated/v2/EnvironmentStatusParams.js.map +1 -0
  89. package/dist/codex/generated/v2/EnvironmentStatusResponse.d.ts +14 -0
  90. package/dist/codex/generated/v2/EnvironmentStatusResponse.js +3 -0
  91. package/dist/codex/generated/v2/EnvironmentStatusResponse.js.map +1 -0
  92. package/dist/codex/generated/v2/ExternalAgentConfigDetectParams.d.ts +9 -0
  93. package/dist/codex/generated/v2/ExternalAgentConfigImportHistoriesReadResponse.d.ts +2 -0
  94. package/dist/codex/generated/v2/ExternalAgentConfigImportItemTypeFailure.d.ts +1 -0
  95. package/dist/codex/generated/v2/ExternalAgentConfigImportParams.d.ts +6 -1
  96. package/dist/codex/generated/v2/ExternalAgentConfigMigrationItemType.d.ts +1 -1
  97. package/dist/codex/generated/v2/ExternalAgentImportedConnectorCandidate.d.ts +6 -0
  98. package/dist/codex/generated/v2/ExternalAgentImportedConnectorCandidate.js +3 -0
  99. package/dist/codex/generated/v2/ExternalAgentImportedConnectorCandidate.js.map +1 -0
  100. package/dist/codex/generated/v2/ExternalAgentImportedConnectorSource.d.ts +1 -0
  101. package/dist/codex/generated/v2/ExternalAgentImportedConnectorSource.js +3 -0
  102. package/dist/codex/generated/v2/ExternalAgentImportedConnectorSource.js.map +1 -0
  103. package/dist/codex/generated/v2/FileSystemSpecialPath.d.ts +3 -2
  104. package/dist/codex/generated/v2/HookEventName.d.ts +1 -1
  105. package/dist/codex/generated/v2/HookMetadata.d.ts +5 -0
  106. package/dist/codex/generated/v2/InstalledApp.d.ts +21 -0
  107. package/dist/codex/generated/v2/InstalledApp.js +3 -0
  108. package/dist/codex/generated/v2/InstalledApp.js.map +1 -0
  109. package/dist/codex/generated/v2/LoginAccountParams.d.ts +4 -0
  110. package/dist/codex/generated/v2/LoginAccountResponse.d.ts +2 -0
  111. package/dist/codex/generated/v2/ManagedHooksRequirements.d.ts +1 -0
  112. package/dist/codex/generated/v2/McpToolCallAppContext.d.ts +0 -1
  113. package/dist/codex/generated/v2/MigrationDetails.d.ts +1 -0
  114. package/dist/codex/generated/v2/PluginDetail.d.ts +2 -0
  115. package/dist/codex/generated/v2/PluginShareUpdateDiscoverability.d.ts +1 -1
  116. package/dist/codex/generated/v2/PluginSummary.d.ts +1 -0
  117. package/dist/codex/generated/v2/RateLimitSnapshot.d.ts +4 -0
  118. package/dist/codex/generated/v2/RawResponseCompletedNotification.d.ts +11 -0
  119. package/dist/codex/generated/v2/RawResponseCompletedNotification.js +3 -0
  120. package/dist/codex/generated/v2/RawResponseCompletedNotification.js.map +1 -0
  121. package/dist/codex/generated/v2/ScheduledTaskSchedule.d.ts +16 -0
  122. package/dist/codex/generated/v2/ScheduledTaskSchedule.js +3 -0
  123. package/dist/codex/generated/v2/ScheduledTaskSchedule.js.map +1 -0
  124. package/dist/codex/generated/v2/ScheduledTaskSummary.d.ts +7 -0
  125. package/dist/codex/generated/v2/ScheduledTaskSummary.js +3 -0
  126. package/dist/codex/generated/v2/ScheduledTaskSummary.js.map +1 -0
  127. package/dist/codex/generated/v2/ScheduledTaskWeekday.d.ts +1 -0
  128. package/dist/codex/generated/v2/ScheduledTaskWeekday.js +3 -0
  129. package/dist/codex/generated/v2/ScheduledTaskWeekday.js.map +1 -0
  130. package/dist/codex/generated/v2/Thread.d.ts +5 -0
  131. package/dist/codex/generated/v2/ThreadForkParams.d.ts +11 -0
  132. package/dist/codex/generated/v2/ThreadItem.d.ts +2 -3
  133. package/dist/codex/generated/v2/ThreadItemEntry.d.ts +8 -0
  134. package/dist/codex/generated/v2/ThreadItemEntry.js +3 -0
  135. package/dist/codex/generated/v2/ThreadItemEntry.js.map +1 -0
  136. package/dist/codex/generated/v2/ThreadItemsListResponse.d.ts +2 -2
  137. package/dist/codex/generated/v2/ThreadRealtimeInitialItem.d.ts +8 -0
  138. package/dist/codex/generated/v2/ThreadRealtimeInitialItem.js +3 -0
  139. package/dist/codex/generated/v2/ThreadRealtimeInitialItem.js.map +1 -0
  140. package/dist/codex/generated/v2/ThreadRealtimeStartParams.d.ts +11 -4
  141. package/dist/codex/generated/v2/ThreadResumeResponse.d.ts +14 -0
  142. package/dist/codex/generated/v2/ThreadSearchOccurrence.d.ts +17 -0
  143. package/dist/codex/generated/v2/ThreadSearchOccurrence.js +3 -0
  144. package/dist/codex/generated/v2/ThreadSearchOccurrence.js.map +1 -0
  145. package/dist/codex/generated/v2/ThreadSearchOccurrencesParams.d.ts +19 -0
  146. package/dist/codex/generated/v2/ThreadSearchOccurrencesParams.js +3 -0
  147. package/dist/codex/generated/v2/ThreadSearchOccurrencesParams.js.map +1 -0
  148. package/dist/codex/generated/v2/ThreadSearchOccurrencesResponse.d.ts +11 -0
  149. package/dist/codex/generated/v2/ThreadSearchOccurrencesResponse.js +3 -0
  150. package/dist/codex/generated/v2/ThreadSearchOccurrencesResponse.js.map +1 -0
  151. package/dist/codex/generated/v2/ThreadSearchTextRange.d.ts +13 -0
  152. package/dist/codex/generated/v2/ThreadSearchTextRange.js +3 -0
  153. package/dist/codex/generated/v2/ThreadSearchTextRange.js.map +1 -0
  154. package/dist/codex/generated/v2/TokenUsageBreakdown.d.ts +1 -0
  155. package/dist/codex/generated/v2/TurnEnvironmentParams.d.ts +4 -0
  156. package/dist/codex/generated/v2/UserInput.d.ts +6 -0
  157. package/dist/codex/generated/v2/index.d.ts +23 -0
  158. package/dist/daemon/daemon.js +5 -20
  159. package/dist/daemon/daemon.js.map +1 -1
  160. package/dist/daemon/probe.js +1 -1
  161. package/dist/daemon/settings.d.ts +6 -0
  162. package/dist/daemon/settings.js +23 -0
  163. package/dist/daemon/settings.js.map +1 -0
  164. package/dist/gateway/clientConnection.d.ts +3 -2
  165. package/dist/gateway/clientConnection.js +41 -44
  166. package/dist/gateway/clientConnection.js.map +1 -1
  167. package/dist/gateway/logicalThreadProjection.d.ts +5 -0
  168. package/dist/gateway/logicalThreadProjection.js +58 -1
  169. package/dist/gateway/logicalThreadProjection.js.map +1 -1
  170. package/dist/gateway/remoteControlController.d.ts +29 -0
  171. package/dist/gateway/remoteControlController.js +78 -0
  172. package/dist/gateway/remoteControlController.js.map +1 -0
  173. package/dist/gateway/remoteControlHub.js +2 -1
  174. package/dist/gateway/remoteControlHub.js.map +1 -1
  175. package/dist/gateway/remoteControlMode.js +2 -12
  176. package/dist/gateway/remoteControlMode.js.map +1 -1
  177. package/dist/gateway/server.js +42 -15
  178. package/dist/gateway/server.js.map +1 -1
  179. package/dist/gateway/subscriptions.d.ts +9 -2
  180. package/dist/gateway/subscriptions.js +40 -9
  181. package/dist/gateway/subscriptions.js.map +1 -1
  182. package/dist/gateway/threadList.d.ts +25 -0
  183. package/dist/gateway/threadList.js +112 -26
  184. package/dist/gateway/threadList.js.map +1 -1
  185. package/dist/handoff/lineageStore.d.ts +101 -0
  186. package/dist/handoff/lineageStore.js +502 -0
  187. package/dist/handoff/lineageStore.js.map +1 -0
  188. package/dist/handoff/providerEpochs.d.ts +19 -5
  189. package/dist/handoff/providerEpochs.js +119 -41
  190. package/dist/handoff/providerEpochs.js.map +1 -1
  191. package/dist/handoff/service.d.ts +16 -2
  192. package/dist/handoff/service.js +595 -174
  193. package/dist/handoff/service.js.map +1 -1
  194. package/dist/handoff/startupMigration.d.ts +22 -0
  195. package/dist/handoff/startupMigration.js +52 -0
  196. package/dist/handoff/startupMigration.js.map +1 -0
  197. package/dist/handoff/store.d.ts +10 -0
  198. package/dist/handoff/store.js +141 -28
  199. package/dist/handoff/store.js.map +1 -1
  200. package/dist/runtime/dependencies.js +1 -1
  201. package/dist/store/HybridStore.d.ts +3 -1
  202. package/dist/store/HybridStore.js.map +1 -1
  203. package/dist/store/memoryStore.d.ts +3 -2
  204. package/dist/store/memoryStore.js +18 -4
  205. package/dist/store/memoryStore.js.map +1 -1
  206. package/dist/store/sqliteStore.d.ts +1 -2
  207. package/dist/store/sqliteStore.js +57 -24
  208. package/dist/store/sqliteStore.js.map +1 -1
  209. package/legal/LICENSES.md +1 -1
  210. package/legal/THIRD_PARTY_NOTICES.md +136 -124
  211. package/package.json +5 -5
  212. package/dist/codex/generated/AmazonBedrockCredentialSource.d.ts +0 -1
  213. package/dist/codex/generated/AmazonBedrockCredentialSource.js +0 -3
  214. package/dist/codex/generated/AmazonBedrockCredentialSource.js.map +0 -1
@@ -24,12 +24,17 @@ export type { AppSummary } from "./AppSummary";
24
24
  export type { AppTemplateSummary } from "./AppTemplateSummary";
25
25
  export type { AppTemplateUnavailableReason } from "./AppTemplateUnavailableReason";
26
26
  export type { AppToolApproval } from "./AppToolApproval";
27
+ export type { AppToolSummary } from "./AppToolSummary";
27
28
  export type { AppToolsConfig } from "./AppToolsConfig";
28
29
  export type { ApprovalsReviewer } from "./ApprovalsReviewer";
29
30
  export type { AppsConfig } from "./AppsConfig";
30
31
  export type { AppsDefaultConfig } from "./AppsDefaultConfig";
32
+ export type { AppsInstalledParams } from "./AppsInstalledParams";
33
+ export type { AppsInstalledResponse } from "./AppsInstalledResponse";
31
34
  export type { AppsListParams } from "./AppsListParams";
32
35
  export type { AppsListResponse } from "./AppsListResponse";
36
+ export type { AppsReadParams } from "./AppsReadParams";
37
+ export type { AppsReadResponse } from "./AppsReadResponse";
33
38
  export type { AskForApproval } from "./AskForApproval";
34
39
  export type { AttestationGenerateParams } from "./AttestationGenerateParams";
35
40
  export type { AttestationGenerateResponse } from "./AttestationGenerateResponse";
@@ -85,6 +90,7 @@ export type { ConfigWarningNotification } from "./ConfigWarningNotification";
85
90
  export type { ConfigWriteResponse } from "./ConfigWriteResponse";
86
91
  export type { ConfiguredHookHandler } from "./ConfiguredHookHandler";
87
92
  export type { ConfiguredHookMatcherGroup } from "./ConfiguredHookMatcherGroup";
93
+ export type { ConnectorMetadata } from "./ConnectorMetadata";
88
94
  export type { ConsumeAccountRateLimitResetCreditOutcome } from "./ConsumeAccountRateLimitResetCreditOutcome";
89
95
  export type { ConsumeAccountRateLimitResetCreditParams } from "./ConsumeAccountRateLimitResetCreditParams";
90
96
  export type { ConsumeAccountRateLimitResetCreditResponse } from "./ConsumeAccountRateLimitResetCreditResponse";
@@ -103,9 +109,13 @@ export type { DynamicToolNamespaceTool } from "./DynamicToolNamespaceTool";
103
109
  export type { DynamicToolSpec } from "./DynamicToolSpec";
104
110
  export type { EnvironmentAddParams } from "./EnvironmentAddParams";
105
111
  export type { EnvironmentAddResponse } from "./EnvironmentAddResponse";
112
+ export type { EnvironmentConnectionNotification } from "./EnvironmentConnectionNotification";
106
113
  export type { EnvironmentInfoParams } from "./EnvironmentInfoParams";
107
114
  export type { EnvironmentInfoResponse } from "./EnvironmentInfoResponse";
108
115
  export type { EnvironmentShellInfo } from "./EnvironmentShellInfo";
116
+ export type { EnvironmentStatusKind } from "./EnvironmentStatusKind";
117
+ export type { EnvironmentStatusParams } from "./EnvironmentStatusParams";
118
+ export type { EnvironmentStatusResponse } from "./EnvironmentStatusResponse";
109
119
  export type { ErrorNotification } from "./ErrorNotification";
110
120
  export type { ExecPolicyAmendment } from "./ExecPolicyAmendment";
111
121
  export type { ExperimentalFeature } from "./ExperimentalFeature";
@@ -127,6 +137,8 @@ export type { ExternalAgentConfigImportResponse } from "./ExternalAgentConfigImp
127
137
  export type { ExternalAgentConfigImportTypeResult } from "./ExternalAgentConfigImportTypeResult";
128
138
  export type { ExternalAgentConfigMigrationItem } from "./ExternalAgentConfigMigrationItem";
129
139
  export type { ExternalAgentConfigMigrationItemType } from "./ExternalAgentConfigMigrationItemType";
140
+ export type { ExternalAgentImportedConnectorCandidate } from "./ExternalAgentImportedConnectorCandidate";
141
+ export type { ExternalAgentImportedConnectorSource } from "./ExternalAgentImportedConnectorSource";
130
142
  export type { FeedbackUploadParams } from "./FeedbackUploadParams";
131
143
  export type { FeedbackUploadResponse } from "./FeedbackUploadResponse";
132
144
  export type { FileChangeApprovalDecision } from "./FileChangeApprovalDecision";
@@ -193,6 +205,7 @@ export type { HookTrustStatus } from "./HookTrustStatus";
193
205
  export type { HooksListEntry } from "./HooksListEntry";
194
206
  export type { HooksListParams } from "./HooksListParams";
195
207
  export type { HooksListResponse } from "./HooksListResponse";
208
+ export type { InstalledApp } from "./InstalledApp";
196
209
  export type { ItemCompletedNotification } from "./ItemCompletedNotification";
197
210
  export type { ItemGuardianApprovalReviewCompletedNotification } from "./ItemGuardianApprovalReviewCompletedNotification";
198
211
  export type { ItemGuardianApprovalReviewStartedNotification } from "./ItemGuardianApprovalReviewStartedNotification";
@@ -361,6 +374,7 @@ export type { RateLimitResetCreditsSummary } from "./RateLimitResetCreditsSummar
361
374
  export type { RateLimitResetType } from "./RateLimitResetType";
362
375
  export type { RateLimitSnapshot } from "./RateLimitSnapshot";
363
376
  export type { RateLimitWindow } from "./RateLimitWindow";
377
+ export type { RawResponseCompletedNotification } from "./RawResponseCompletedNotification";
364
378
  export type { RawResponseItemCompletedNotification } from "./RawResponseItemCompletedNotification";
365
379
  export type { ReasoningEffortOption } from "./ReasoningEffortOption";
366
380
  export type { ReasoningSummaryPartAddedNotification } from "./ReasoningSummaryPartAddedNotification";
@@ -392,6 +406,9 @@ export type { ReviewTarget } from "./ReviewTarget";
392
406
  export type { SandboxMode } from "./SandboxMode";
393
407
  export type { SandboxPolicy } from "./SandboxPolicy";
394
408
  export type { SandboxWorkspaceWrite } from "./SandboxWorkspaceWrite";
409
+ export type { ScheduledTaskSchedule } from "./ScheduledTaskSchedule";
410
+ export type { ScheduledTaskSummary } from "./ScheduledTaskSummary";
411
+ export type { ScheduledTaskWeekday } from "./ScheduledTaskWeekday";
395
412
  export type { SelectedCapabilityRoot } from "./SelectedCapabilityRoot";
396
413
  export type { SendAddCreditsNudgeEmailParams } from "./SendAddCreditsNudgeEmailParams";
397
414
  export type { SendAddCreditsNudgeEmailResponse } from "./SendAddCreditsNudgeEmailResponse";
@@ -463,6 +480,7 @@ export type { ThreadIncrementElicitationResponse } from "./ThreadIncrementElicit
463
480
  export type { ThreadInjectItemsParams } from "./ThreadInjectItemsParams";
464
481
  export type { ThreadInjectItemsResponse } from "./ThreadInjectItemsResponse";
465
482
  export type { ThreadItem } from "./ThreadItem";
483
+ export type { ThreadItemEntry } from "./ThreadItemEntry";
466
484
  export type { ThreadItemsListParams } from "./ThreadItemsListParams";
467
485
  export type { ThreadItemsListResponse } from "./ThreadItemsListResponse";
468
486
  export type { ThreadListParams } from "./ThreadListParams";
@@ -486,6 +504,7 @@ export type { ThreadRealtimeAppendTextResponse } from "./ThreadRealtimeAppendTex
486
504
  export type { ThreadRealtimeAudioChunk } from "./ThreadRealtimeAudioChunk";
487
505
  export type { ThreadRealtimeClosedNotification } from "./ThreadRealtimeClosedNotification";
488
506
  export type { ThreadRealtimeErrorNotification } from "./ThreadRealtimeErrorNotification";
507
+ export type { ThreadRealtimeInitialItem } from "./ThreadRealtimeInitialItem";
489
508
  export type { ThreadRealtimeItemAddedNotification } from "./ThreadRealtimeItemAddedNotification";
490
509
  export type { ThreadRealtimeListVoicesParams } from "./ThreadRealtimeListVoicesParams";
491
510
  export type { ThreadRealtimeListVoicesResponse } from "./ThreadRealtimeListVoicesResponse";
@@ -504,9 +523,13 @@ export type { ThreadResumeParams } from "./ThreadResumeParams";
504
523
  export type { ThreadResumeResponse } from "./ThreadResumeResponse";
505
524
  export type { ThreadRollbackParams } from "./ThreadRollbackParams";
506
525
  export type { ThreadRollbackResponse } from "./ThreadRollbackResponse";
526
+ export type { ThreadSearchOccurrence } from "./ThreadSearchOccurrence";
527
+ export type { ThreadSearchOccurrencesParams } from "./ThreadSearchOccurrencesParams";
528
+ export type { ThreadSearchOccurrencesResponse } from "./ThreadSearchOccurrencesResponse";
507
529
  export type { ThreadSearchParams } from "./ThreadSearchParams";
508
530
  export type { ThreadSearchResponse } from "./ThreadSearchResponse";
509
531
  export type { ThreadSearchResult } from "./ThreadSearchResult";
532
+ export type { ThreadSearchTextRange } from "./ThreadSearchTextRange";
510
533
  export type { ThreadSetNameParams } from "./ThreadSetNameParams";
511
534
  export type { ThreadSetNameResponse } from "./ThreadSetNameResponse";
512
535
  export type { ThreadSettings } from "./ThreadSettings";
@@ -1,10 +1,11 @@
1
1
  import { execFile } from "node:child_process";
2
2
  import { promisify } from "node:util";
3
- import { chmodSync, existsSync, mkdirSync, readFileSync, realpathSync, renameSync, writeFileSync, } from "node:fs";
4
- import { dirname, join, resolve } from "node:path";
3
+ import { realpathSync } from "node:fs";
4
+ import { join, resolve } from "node:path";
5
5
  import { probeAppServer } from "./probe.js";
6
6
  import { daemonStateDirectory, killManagedProcess, reconcileManagedProcess, spawnDetachedGateway, stopManagedProcess, withDaemonLock, } from "./supervisor.js";
7
7
  import { identifySocketOwner, reconcileOwnedGateway, socketOwnerPids, stopSocketOwner, } from "./ownership.js";
8
+ import { loadDaemonSettings as loadSettings, saveDaemonSettings as saveSettings, } from "./settings.js";
8
9
  const execFileAsync = promisify(execFile);
9
10
  const START_TIMEOUT_MS = 10_000;
10
11
  const POLL_MS = 50;
@@ -20,22 +21,6 @@ function paths(config, wrapperPath) {
20
21
  wrapperPath: realpathSync(resolve(wrapperPath)),
21
22
  };
22
23
  }
23
- function loadSettings(path) {
24
- if (!existsSync(path))
25
- return { remoteControlEnabled: false };
26
- const value = JSON.parse(readFileSync(path, "utf8"));
27
- if (typeof value.remoteControlEnabled !== "boolean")
28
- throw new Error(`failed to parse daemon settings ${path}`);
29
- return { remoteControlEnabled: value.remoteControlEnabled };
30
- }
31
- function saveSettings(path, settings) {
32
- mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
33
- chmodSync(dirname(path), 0o700);
34
- const temporary = `${path}.${process.pid}.tmp`;
35
- writeFileSync(temporary, `${JSON.stringify(settings, null, 2)}\n`, { mode: 0o600 });
36
- renameSync(temporary, path);
37
- chmodSync(path, 0o600);
38
- }
39
24
  async function stockVersion(realCodex) {
40
25
  const { stdout } = await execFileAsync(realCodex, ["--version"], {
41
26
  env: { ...process.env, CODEX_CLI_PATH: undefined },
@@ -246,7 +231,7 @@ class HybridDaemon {
246
231
  }
247
232
  async bootstrap(remoteControlEnabled) {
248
233
  const settings = { remoteControlEnabled };
249
- saveSettings(this.paths.settingsFile, settings);
234
+ saveSettings(settings, this.paths.settingsFile);
250
235
  const { info: ready } = await this.replaceEndpoint(settings);
251
236
  const version = await this.getVersion();
252
237
  return {
@@ -273,7 +258,7 @@ class HybridDaemon {
273
258
  return this.remoteControlOutput(enabled ? "alreadyEnabled" : "alreadyDisabled", enabled, managedOwnsSocket || info ? "pid" : undefined, info?.appServerVersion);
274
259
  }
275
260
  const settings = { remoteControlEnabled: enabled };
276
- saveSettings(this.paths.settingsFile, settings);
261
+ saveSettings(settings, this.paths.settingsFile);
277
262
  let info;
278
263
  if (managed) {
279
264
  ({ info } = await this.replaceEndpoint(settings));
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export function probeAppServer(socketPath) {
30
30
  id: 1,
31
31
  method: "initialize",
32
32
  params: {
33
- clientInfo: { name: "codex_app_server_daemon", title: "Codex App Server Daemon", version: "0.144.6" },
33
+ clientInfo: { name: "codex_app_server_daemon", title: "Codex App Server Daemon", version: "0.145.0" },
34
34
  },
35
35
  }));
36
36
  });
@@ -0,0 +1,6 @@
1
+ export interface DaemonSettings {
2
+ readonly remoteControlEnabled: boolean;
3
+ }
4
+ export declare function daemonSettingsPath(): string;
5
+ export declare function loadDaemonSettings(path?: string): DaemonSettings;
6
+ export declare function saveDaemonSettings(settings: DaemonSettings, path?: string): void;
@@ -0,0 +1,23 @@
1
+ import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync, } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { daemonStateDirectory } from "./supervisor.js";
4
+ export function daemonSettingsPath() {
5
+ return join(daemonStateDirectory(), "settings.json");
6
+ }
7
+ export function loadDaemonSettings(path = daemonSettingsPath()) {
8
+ if (!existsSync(path))
9
+ return { remoteControlEnabled: false };
10
+ const value = JSON.parse(readFileSync(path, "utf8"));
11
+ if (typeof value.remoteControlEnabled !== "boolean")
12
+ throw new Error(`failed to parse daemon settings ${path}`);
13
+ return { remoteControlEnabled: value.remoteControlEnabled };
14
+ }
15
+ export function saveDaemonSettings(settings, path = daemonSettingsPath()) {
16
+ mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
17
+ chmodSync(dirname(path), 0o700);
18
+ const temporary = `${path}.${process.pid}.tmp`;
19
+ writeFileSync(temporary, `${JSON.stringify(settings, null, 2)}\n`, { mode: 0o600 });
20
+ renameSync(temporary, path);
21
+ chmodSync(path, 0o600);
22
+ }
23
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/daemon/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,GAC1E,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAMvD,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC,oBAAoB,EAAE,EAAE,eAAe,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAI,GAAG,kBAAkB,EAAE;IAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IAChF,IAAI,OAAO,KAAK,CAAC,oBAAoB,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;IAChH,OAAO,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAwB,EAAE,IAAI,GAAG,kBAAkB,EAAE;IACtF,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAC/C,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5B,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC"}
@@ -5,9 +5,10 @@ import type { ClaudeService } from "../claude/service.js";
5
5
  import type { Logger } from "../observability/logger.js";
6
6
  import type { SubscriptionHub } from "./subscriptions.js";
7
7
  import type { CursorCodec } from "../protocol/cursor.js";
8
+ import { ThreadCatalog } from "./threadList.js";
8
9
  import type { MetricsRegistry } from "../observability/metrics.js";
9
10
  import type { RpcRecorder } from "../observability/rpcRecorder.js";
10
- import type { RemoteControlHub } from "./remoteControlHub.js";
11
+ import type { RemoteControlController } from "./remoteControlController.js";
11
12
  import type { CrossProviderForks } from "../handoff/service.js";
12
13
  import { type FeatureConfig } from "../config/config.js";
13
14
  import type { ProviderAvailabilityService } from "../runtime/providerAvailability.js";
@@ -17,4 +18,4 @@ import type { OptimisticSideThreads } from "./optimisticSideThreads.js";
17
18
  export interface ClientConnectionHandle {
18
19
  readonly closed: Promise<void>;
19
20
  }
20
- export declare function attachClientConnection(client: WebSocket, stockSocket: string, claudeModels: ClaudeModelCatalog, claude: ClaudeService, handoffs: CrossProviderForks, subscriptions: SubscriptionHub, logger: Logger, cursors: CursorCodec, metrics: MetricsRegistry, recorder: RpcRecorder, remoteControl?: RemoteControlHub, features?: FeatureConfig, providerAvailability?: Pick<ProviderAvailabilityService, "read" | "refresh" | "refreshAll">, sharedStockState?: StockStateTracker, stockSideThreads?: StockSideThreads, optimisticSideThreads?: OptimisticSideThreads, claudeSkills?: Pick<ClaudeSkillCatalog, "list">): ClientConnectionHandle;
21
+ export declare function attachClientConnection(client: WebSocket, stockSocket: string, claudeModels: ClaudeModelCatalog, claude: ClaudeService, handoffs: CrossProviderForks, subscriptions: SubscriptionHub, logger: Logger, cursors: CursorCodec, metrics: MetricsRegistry, recorder: RpcRecorder, remoteControl?: RemoteControlController, features?: FeatureConfig, providerAvailability?: Pick<ProviderAvailabilityService, "read" | "refresh" | "refreshAll">, sharedStockState?: StockStateTracker, stockSideThreads?: StockSideThreads, optimisticSideThreads?: OptimisticSideThreads, claudeSkills?: Pick<ClaudeSkillCatalog, "list">, threadCatalog?: ThreadCatalog): ClientConnectionHandle;
@@ -6,7 +6,7 @@ import { RpcError, rpcCodexErrorInfo, rpcError } from "../protocol/errors.js";
6
6
  import { mergedModelList } from "./modelList.js";
7
7
  import { providerSkillsList } from "./skillList.js";
8
8
  import { StockRpc } from "./stockRpc.js";
9
- import { mergedLoadedList, mergedThreadList } from "./threadList.js";
9
+ import { ThreadCatalog } from "./threadList.js";
10
10
  import { ServerRequestIds } from "./serverRequestIds.js";
11
11
  import { providerMigrationCompleted, providerMigrationFailed, providerMigrationNotice, transientCommandNotice, transientSystemNotice, transientSystemItemNotice, } from "./transientNotice.js";
12
12
  import { rateLimitNotifications, } from "../claude/rateLimits.js";
@@ -38,7 +38,7 @@ function fastTransitionNotice(before, after, requestedTier) {
38
38
  }
39
39
  return undefined;
40
40
  }
41
- export function attachClientConnection(client, stockSocket, claudeModels, claude, handoffs, subscriptions, logger, cursors, metrics, recorder, remoteControl, features = DEFAULT_FEATURES, providerAvailability, sharedStockState, stockSideThreads, optimisticSideThreads, claudeSkills) {
41
+ export function attachClientConnection(client, stockSocket, claudeModels, claude, handoffs, subscriptions, logger, cursors, metrics, recorder, remoteControl, features = DEFAULT_FEATURES, providerAvailability, sharedStockState, stockSideThreads, optimisticSideThreads, claudeSkills, threadCatalog) {
42
42
  const connectionId = uuidv7();
43
43
  let resolveClosed;
44
44
  let rejectClosed;
@@ -50,12 +50,12 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
50
50
  let connectionAlive = true;
51
51
  const stock = connectStock(stockSocket);
52
52
  const stockRpc = new StockRpc(stock);
53
+ const catalog = threadCatalog ?? new ThreadCatalog(stockRpc, claude, cursors, handoffs, stockSideThreads);
53
54
  const stockState = sharedStockState ?? new StockStateTracker();
54
55
  const queued = [];
55
56
  const requestStarted = new Map();
56
57
  const forwardedRequests = new Map();
57
58
  const recentSystemErrors = new Map();
58
- const knownLogicalNames = new Map();
59
59
  const serverRequestIds = new ServerRequestIds();
60
60
  const requestKey = (id) => `${typeof id}:${id}`;
61
61
  const completeLatency = (id, provider) => {
@@ -89,6 +89,9 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
89
89
  ? { systemEphemeral: message.params }
90
90
  : {}),
91
91
  ...(foreground ? { foreground } : {}),
92
+ ...(message.method === "initialize" && params?.clientInfo?.name === "codex-backend"
93
+ ? { remoteCatalog: true }
94
+ : {}),
92
95
  ...(["thread/delete", "thread/unsubscribe"].includes(message.method) ? { clearForeground: true } : {}),
93
96
  });
94
97
  };
@@ -102,25 +105,6 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
102
105
  recorder.frame(connectionId, "gateway_to_client", data, false);
103
106
  client.send(data);
104
107
  };
105
- const syncLogicalName = (thread) => {
106
- if (!handoffs.logical?.(thread.id))
107
- return;
108
- if (knownLogicalNames.has(thread.id) && knownLogicalNames.get(thread.id) === thread.name)
109
- return;
110
- knownLogicalNames.set(thread.id, thread.name);
111
- sendJson({
112
- method: "thread/name/updated",
113
- params: { threadId: thread.id, ...(thread.name === null ? {} : { threadName: thread.name }) },
114
- });
115
- };
116
- const syncLogicalNameFromResult = (result) => {
117
- const thread = result && typeof result === "object"
118
- ? result.thread
119
- : undefined;
120
- if (thread && typeof thread === "object" && typeof thread.id === "string") {
121
- syncLogicalName(thread);
122
- }
123
- };
124
108
  const emitNotice = (notice) => {
125
109
  for (const notification of notice.notifications)
126
110
  sendJson(notification);
@@ -302,13 +286,6 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
302
286
  activeClaudeTurns.delete(value.threadId);
303
287
  }
304
288
  }
305
- if (method === "thread/name/updated" && params && typeof params === "object") {
306
- const update = params;
307
- if (typeof update.threadId === "string"
308
- && (typeof update.threadName === "string" || update.threadName === null)) {
309
- knownLogicalNames.set(update.threadId, update.threadName);
310
- }
311
- }
312
289
  if (method === "error" && params && typeof params === "object") {
313
290
  const failure = params;
314
291
  if (typeof failure.threadId === "string" && typeof failure.error?.message === "string") {
@@ -513,6 +490,13 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
513
490
  sendResult(request.id, projectSideResult(publicThreadId, target, result));
514
491
  return;
515
492
  }
493
+ if (request.method === "thread/searchOccurrences") {
494
+ const result = target.provider === "claude"
495
+ ? claude.searchOccurrences(params)
496
+ : await optimisticStockRequest(request.method, params);
497
+ sendResult(request.id, projectSideResult(publicThreadId, target, result));
498
+ return;
499
+ }
516
500
  if (request.method === "thread/goal/get") {
517
501
  sendResult(request.id, target.provider === "claude"
518
502
  ? await claude.getGoal(target.backendThreadId)
@@ -645,6 +629,16 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
645
629
  if (message && isRequest(message)) {
646
630
  requestStarted.set(requestKey(message.id), performance.now());
647
631
  try {
632
+ if (message.method === "remoteControl/enable" && remoteControl) {
633
+ const params = message.params;
634
+ sendResult(message.id, await remoteControl.enable(params?.ephemeral === true));
635
+ return;
636
+ }
637
+ if (message.method === "remoteControl/disable" && remoteControl) {
638
+ const params = message.params;
639
+ sendResult(message.id, await remoteControl.disable(params?.ephemeral === true));
640
+ return;
641
+ }
648
642
  if (message.method === "remoteControl/status/read" && remoteControl?.current()) {
649
643
  sendResult(message.id, remoteControl.current());
650
644
  return;
@@ -687,14 +681,12 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
687
681
  if (message.method === "account/rateLimits/read" && !foreground)
688
682
  diagnoseUnknownStatus("account/rateLimits/read");
689
683
  if (message.method === "thread/list") {
690
- const result = await mergedThreadList((message.params ?? {}), stockRpc, claude, cursors, handoffs, stockSideThreads);
684
+ const result = await catalog.list((message.params ?? {}));
691
685
  sendResult(message.id, result);
692
- for (const thread of result.data)
693
- syncLogicalName(thread);
694
686
  return;
695
687
  }
696
688
  if (message.method === "thread/loaded/list") {
697
- sendResult(message.id, await mergedLoadedList((message.params ?? {}), stockRpc, claude, cursors, handoffs, stockSideThreads));
689
+ sendResult(message.id, await catalog.loaded((message.params ?? {})));
698
690
  return;
699
691
  }
700
692
  if (message.method === "thread/start") {
@@ -890,7 +882,6 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
890
882
  subscriptions.subscribe(params.threadId, connectionId, notificationSink, serverRequestSink);
891
883
  const handled = await handoffs.requestLogical(message.method, (message.params ?? {}), stockRpc);
892
884
  sendResult(message.id, handled.result);
893
- syncLogicalNameFromResult(handled.result);
894
885
  selectForeground(handled.provider === "claude" ? "claude" : "codex", params.threadId);
895
886
  await handled.after?.();
896
887
  return;
@@ -913,7 +904,7 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
913
904
  const logicalSource = handoffs.logical?.(forkParams.threadId);
914
905
  if (logicalSource && isUserSideFork(forkParams)) {
915
906
  const targetThreadId = uuidv7();
916
- const snapshot = handoffs.sideSnapshot(forkParams, targetThreadId);
907
+ const snapshot = await handoffs.sideSnapshot(forkParams, targetThreadId);
917
908
  if (snapshot && optimisticSideThreads) {
918
909
  openOptimisticSide(message.id, snapshot, logicalSource.epoch.provider, async () => {
919
910
  if (logicalSource.epoch.provider === "claude") {
@@ -1111,13 +1102,15 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
1111
1102
  sendResult(message.id, claude.listItems((message.params ?? {})));
1112
1103
  return;
1113
1104
  }
1105
+ if (message.method === "thread/searchOccurrences") {
1106
+ sendResult(message.id, claude.searchOccurrences((message.params ?? {})));
1107
+ return;
1108
+ }
1114
1109
  if (message.method === "thread/unsubscribe") {
1115
1110
  subscriptions.unsubscribe(params.threadId, connectionId);
1116
1111
  subscribedClaudeThreads.delete(params.threadId);
1117
1112
  sendResult(message.id, { status: "unsubscribed" });
1118
1113
  clearForeground(params.threadId);
1119
- if (!subscriptions.hasSubscribers(params.threadId))
1120
- await claude.releaseEphemeralThread(params.threadId);
1121
1114
  return;
1122
1115
  }
1123
1116
  if (message.method === "thread/name/set") {
@@ -1355,6 +1348,7 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
1355
1348
  message = projection.message;
1356
1349
  }
1357
1350
  let foregroundAfterForward;
1351
+ let reconcileRemoteAfterForward = false;
1358
1352
  if (message && "method" in message && !("id" in message) && message.method === "remoteControl/status/changed" && remoteControl) {
1359
1353
  remoteControl.intercept(connectionId, notificationSink, message.params);
1360
1354
  return;
@@ -1371,10 +1365,12 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
1371
1365
  handoffs.registerForwardedEphemeralCandidate(connectionId, result.thread.id, forwarded.systemEphemeral);
1372
1366
  }
1373
1367
  }
1374
- if (forwarded?.threadId && isUuid(forwarded.threadId) && "error" in message) {
1368
+ if (forwarded?.threadId && isUuid(forwarded.threadId) && "error" in message
1369
+ && forwarded.method !== "thread/read") {
1375
1370
  emitSystemError(forwarded.threadId, message.error.message);
1376
1371
  }
1377
1372
  if (forwarded && "result" in message) {
1373
+ reconcileRemoteAfterForward = forwarded.remoteCatalog === true;
1378
1374
  const result = message.result && typeof message.result === "object"
1379
1375
  ? message.result
1380
1376
  : undefined;
@@ -1438,6 +1434,13 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
1438
1434
  client.send(outbound, { binary: isBinary && message === incoming });
1439
1435
  }
1440
1436
  foregroundAfterForward?.();
1437
+ if (reconcileRemoteAfterForward) {
1438
+ void catalog.reconcileRemote((method, params) => sendJson({ method, params }))
1439
+ .catch((error) => logger.error("remote.catalog.reconcile-failed", {
1440
+ connectionId,
1441
+ error: error instanceof Error ? error.message : String(error),
1442
+ }));
1443
+ }
1441
1444
  }
1442
1445
  catch (error) {
1443
1446
  logger.error("connection.stock.message-failed", {
@@ -1461,14 +1464,9 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
1461
1464
  connectionAlive = false;
1462
1465
  void (async () => {
1463
1466
  metrics.connectionClosed();
1464
- const releasedThreads = [...subscribedClaudeThreads];
1465
1467
  subscribedClaudeThreads.clear();
1466
1468
  subscriptions.detach(connectionId);
1467
1469
  claude.unsubscribeRateLimits(connectionId);
1468
- const releases = await Promise.allSettled(releasedThreads.map(async (threadId) => {
1469
- if (!subscriptions.hasSubscribers(threadId))
1470
- claude.scheduleEphemeralRelease(threadId);
1471
- }));
1472
1470
  remoteControl?.detach(connectionId);
1473
1471
  let detach;
1474
1472
  try {
@@ -1487,7 +1485,6 @@ export function attachClientConnection(client, stockSocket, claudeModels, claude
1487
1485
  logger.info("connection.closed", { connectionId });
1488
1486
  recorder.connection("closed", connectionId, { code, reason: reason.toString("utf8") });
1489
1487
  const errors = [
1490
- ...releases.flatMap((result) => result.status === "rejected" ? [result.reason] : []),
1491
1488
  ...(detach === undefined ? [] : [detach]),
1492
1489
  ];
1493
1490
  if (errors.length > 0)