ryco-cli 0.1.4 → 0.1.6

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 (182) hide show
  1. package/README.md +50 -2
  2. package/dist/{AzureDevOpsSourceControlProvider-BEDcpXP2.cjs → AzureDevOpsSourceControlProvider-6holYS_D.cjs} +2 -2
  3. package/dist/{AzureDevOpsSourceControlProvider-CajSnvPV.mjs → AzureDevOpsSourceControlProvider-CC2_COxP.mjs} +3 -3
  4. package/dist/{BitbucketSourceControlProvider-Ryxef3zA.mjs → BitbucketSourceControlProvider-CYR_BD1d.mjs} +10 -3
  5. package/dist/{BitbucketSourceControlProvider-Ca-sxPgI.cjs → BitbucketSourceControlProvider-a0IsNFyG.cjs} +9 -2
  6. package/dist/{BunPTY-B_vjRZN4.mjs → BunPTY-BWhtEA50.mjs} +1 -1
  7. package/dist/{ClaudeDriver-CxOmXtj3.cjs → ClaudeDriver-C6tQNEWO.cjs} +12 -6
  8. package/dist/{ClaudeDriver-oGrpXzWa.mjs → ClaudeDriver-D3nsxwH9.mjs} +13 -7
  9. package/dist/{CodexDriver-DbICyzcH.mjs → CodexDriver-BILrJG8o.mjs} +14 -7
  10. package/dist/{CodexDriver-C1I8AGHl.cjs → CodexDriver-ms_YgFD7.cjs} +13 -6
  11. package/dist/{CodexTextGeneration-DV3LOkTX.mjs → CodexTextGeneration-BIKHl7E3.mjs} +4 -4
  12. package/dist/{CodexTextGeneration-Cr97QFv_.cjs → CodexTextGeneration-CHEgoANm.cjs} +3 -3
  13. package/dist/{CopilotDriver-GUpzG61v.cjs → CopilotDriver-B0--ZwIK.cjs} +14 -7
  14. package/dist/{CopilotDriver-Dt6azZQI.mjs → CopilotDriver-CmD3Ffyl.mjs} +15 -8
  15. package/dist/{CursorDriver-C3gFClL-.mjs → CursorDriver-CbeaIbdb.mjs} +5 -5
  16. package/dist/{CursorDriver-lhvplGt8.cjs → CursorDriver-DTVPXZ-R.cjs} +4 -4
  17. package/dist/{ForgejoSourceControlProvider-DTVWs_CM.mjs → ForgejoSourceControlProvider-DX6d9gvz.mjs} +3 -3
  18. package/dist/{ForgejoSourceControlProvider-2PTEgbVl.cjs → ForgejoSourceControlProvider-DwAog76b.cjs} +2 -2
  19. package/dist/{GitHubSourceControlProvider-Beu-58zB.cjs → GitHubSourceControlProvider-9lJFzjsu.cjs} +2 -2
  20. package/dist/{GitHubSourceControlProvider-BJmqP2K1.mjs → GitHubSourceControlProvider-C-LGwho3.mjs} +3 -3
  21. package/dist/{GitLabSourceControlProvider-CWnF37fR.mjs → GitLabSourceControlProvider-CkeT2aEx.mjs} +3 -3
  22. package/dist/{GitLabSourceControlProvider-CCHBNnen.cjs → GitLabSourceControlProvider-CvKA74lg.cjs} +2 -2
  23. package/dist/{Metrics-BCOc3Ml2.mjs → Metrics-6Xj17Se3.mjs} +94 -2
  24. package/dist/{Metrics-DNOriWhP.cjs → Metrics-CIW1QH7M.cjs} +128 -0
  25. package/dist/{NodePTY-_u3kQLvd.mjs → NodePTY-C_cR3Ayy.mjs} +1 -1
  26. package/dist/{OpenCodeDriver-i2DXhUaw.cjs → OpenCodeDriver-CXUsnl5o.cjs} +13 -7
  27. package/dist/{OpenCodeDriver-Cja8fkzJ.mjs → OpenCodeDriver-ClWtCk0j.mjs} +14 -8
  28. package/dist/{SourceControlProviderDiscoveryCatalog-DyPSXqm_.cjs → SourceControlProviderDiscoveryCatalog-_rg0mc1o.cjs} +99 -99
  29. package/dist/{SourceControlProviderDiscoveryCatalog-DoDSpZoa.mjs → SourceControlProviderDiscoveryCatalog-yMDer_Yh.mjs} +100 -100
  30. package/dist/bin.cjs +33888 -31768
  31. package/dist/bin.mjs +33869 -31750
  32. package/dist/client/assets/{AnimatedHeight-DCd3-Wey.js → AnimatedHeight-DgItDSis.js} +1 -1
  33. package/dist/client/assets/AppearanceSettings-BlsMFBvJ.js +1 -0
  34. package/dist/client/assets/BranchToolbar.logic-C_xHEt9C.js +1 -0
  35. package/dist/client/assets/ChatRightPanel-CThudBb1.js +188 -0
  36. package/dist/client/assets/ChatThreadRouteView-CV6ETYG5.js +1 -0
  37. package/dist/client/assets/CommandPaletteDialog-C_H7R8S5.js +1 -0
  38. package/dist/client/assets/CompositeRoot-DjnzUIwC.js +1 -0
  39. package/dist/client/assets/ConnectionsSettings-hArR4Oe3.js +1 -0
  40. package/dist/client/assets/DiagnosticsSettings-B340S_mq.js +1 -0
  41. package/dist/client/assets/DialogHandle-BJY7cHCV.js +1 -0
  42. package/dist/client/assets/{DialogRoot-BCS_qKVO.js → DialogRoot-Ej1FVk-_.js} +1 -1
  43. package/dist/client/assets/DialogTitle-H1yIMmA9.js +1 -0
  44. package/dist/client/assets/DialogTrigger-BHMq_K2G.js +1 -0
  45. package/dist/client/assets/DialogViewport-DvjAl76K.js +1 -0
  46. package/dist/client/assets/DraftChatThreadRouteView-pOkyeKPS.js +1 -0
  47. package/dist/client/assets/JetBrainsIcons-DTTF47I0.js +1 -0
  48. package/dist/client/assets/KeybindingsSettings-CW3RRi-7.js +7 -0
  49. package/dist/client/assets/McpServersSettings-dQ3BzOWY.js +6 -0
  50. package/dist/client/assets/NoActiveThreadState-DVHwrkCp.js +1 -0
  51. package/dist/client/assets/OpinionatedPluginsSettings-Cjj23Fs4.js +1 -0
  52. package/dist/client/assets/ProjectFavicon-TDP7HRfn.js +1 -0
  53. package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-Dqh8LlGG.js → ProviderUpdateLaunchNotification.logic-6TpFsmiI.js} +1 -1
  54. package/dist/client/assets/ProvidersSettingsPanel-D15EeWAq.js +1 -0
  55. package/dist/client/assets/{RedactedSensitiveText-Ddxd4ZX9.js → RedactedSensitiveText-BfoVjPsE.js} +1 -1
  56. package/dist/client/assets/RootAppShell-CWBPSA2w.js +12 -0
  57. package/dist/client/assets/SettingsDialog-oJCE5foT.js +2 -0
  58. package/dist/client/assets/SourceControlSettings-CPnlMxNm.js +1 -0
  59. package/dist/client/assets/ThreadStatusIndicators-B0leIJGD.js +1 -0
  60. package/dist/client/assets/{ThreadTerminalDrawer-BxuSy2xD.js → ThreadTerminalDrawer-COq2Fk17.js} +3 -3
  61. package/dist/client/assets/ThreadWorkspacePanel-qF9y6QT9.js +166 -0
  62. package/dist/client/assets/{alert-dialog-BwCq7-J2.js → alert-dialog-lMfKpG2t.js} +1 -1
  63. package/dist/client/assets/{chatThreadActions-DHwgLZQX.js → chatThreadActions-PPyTj_x0.js} +1 -1
  64. package/dist/client/assets/{clamp-Bj3CMoU0.js → clamp-JiD4IZ0Z.js} +1 -1
  65. package/dist/client/assets/clipboard-copy-CYBLSG2q.js +1 -0
  66. package/dist/client/assets/commandPaletteStore-uVfCD7zE.js +1 -0
  67. package/dist/client/assets/composerDraftStore-D12lUSfh.js +21 -0
  68. package/dist/client/assets/desktopUpdateAtoms-X6uM5SoD.js +2 -0
  69. package/dist/client/assets/{download-DchCbuiJ.js → download-DLBlpp4h.js} +1 -1
  70. package/dist/client/assets/{draft-input-Byd_iP54.js → draft-input-dLlVMl5P.js} +1 -1
  71. package/dist/client/assets/editorPreferences-BLeEBSD_.js +1 -0
  72. package/dist/client/assets/empty-DlLY-Hhj.js +1 -0
  73. package/dist/client/assets/{folder-open-CuS_UI1W.js → folder-open-DMjz0lpx.js} +1 -1
  74. package/dist/client/assets/{group-BlyMND_M.js → group-zDBPF7rR.js} +1 -1
  75. package/dist/client/assets/{index-R0mA-hZk.js → index-Dq8sT2lF.js} +2 -2
  76. package/dist/client/assets/{input-BQQgfZzY.js → input-B9-RWT56.js} +1 -1
  77. package/dist/client/assets/kbd-aeSsjiPI.js +1 -0
  78. package/dist/client/assets/{keybindings-BIa18Wmf.js → keybindings-Dx4Nc1vY.js} +1 -1
  79. package/dist/client/assets/{keyboard-BQYTddoX.js → keyboard-DDTWQkr0.js} +1 -1
  80. package/dist/client/assets/keyedQuery-Ds4OGhX2.js +0 -0
  81. package/dist/client/assets/main-C57RhHZ_.css +2 -0
  82. package/dist/client/assets/main-DxfpmoKJ.js +9 -0
  83. package/dist/client/assets/palette-BQcz-ZYV.js +1 -0
  84. package/dist/client/assets/play-QloDGe4R.js +1 -0
  85. package/dist/client/assets/plus-4Oy56d-3.js +1 -0
  86. package/dist/client/assets/projectAtoms-DUEBb7Zz.js +1 -0
  87. package/dist/client/assets/providerDriverMeta-Dwi6Zqgd.js +1 -0
  88. package/dist/client/assets/providerIconUtils-uhWb4bdg.js +47 -0
  89. package/dist/client/assets/radio-group-DHyQlLeX.js +1 -0
  90. package/dist/client/assets/{refresh-cw-DFCVsvMH.js → refresh-cw-DkBMGllm.js} +1 -1
  91. package/dist/client/assets/{resolveAriaLabelledBy-CdSYKkwq.js → resolveAriaLabelledBy-DDfIbj05.js} +1 -1
  92. package/dist/client/assets/rightPanelRouteSearch-DfuWVvXN.js +1 -0
  93. package/dist/client/assets/scale-BActunFu.js +1 -0
  94. package/dist/client/assets/scroll-area-D-YOUG02.js +1 -0
  95. package/dist/client/assets/separator-TInKeIDo.js +1 -0
  96. package/dist/client/assets/{server-B7ETA5io.js → server-BtEG3NAw.js} +1 -1
  97. package/dist/client/assets/session-logic-DNf1aXq_.js +4 -0
  98. package/dist/client/assets/settingsDialogStore-BINi7pdD.js +1 -0
  99. package/dist/client/assets/settingsLayout-D22Mm0u3.js +1 -0
  100. package/dist/client/assets/shallow-Dmd-gez1.js +1 -0
  101. package/dist/client/assets/{sidebar-VWf4R998.js → sidebar-DHwNQmWp.js} +1 -1
  102. package/dist/client/assets/skeleton-DWaac_qp.js +1 -0
  103. package/dist/client/assets/storeSelectors-Cx1IYPA4.js +1 -0
  104. package/dist/client/assets/threadSelectionStore-C0ig4405.js +1 -0
  105. package/dist/client/assets/toast-DE7a4wkW.js +1 -0
  106. package/dist/client/assets/toggle-BIW4AyPY.js +1 -0
  107. package/dist/client/assets/{toggle-group-D7mEwQCR.js → toggle-group-CnLjaHSL.js} +1 -1
  108. package/dist/client/assets/tokenModePresentation-BSYdIvBm.js +1 -0
  109. package/dist/client/assets/{trash-2-D0zhbiNO.js → trash-2-BI5xcbsm.js} +1 -1
  110. package/dist/client/assets/triangle-alert-DJef_Uvh.js +1 -0
  111. package/dist/client/assets/undo-2-DeZ2cMGS.js +1 -0
  112. package/dist/client/assets/useHandleNewThread-XB82O6SA.js +1 -0
  113. package/dist/client/assets/useLabelableId-DBAgv9qQ.js +1 -0
  114. package/dist/client/assets/useNavigate-B2tgshhW.js +1 -0
  115. package/dist/client/assets/useTheme-Dv42Z8uy.js +1 -0
  116. package/dist/client/assets/{vscode-icons-C1r6bNpj.js → vscode-icons-DM9qFoEr.js} +1 -1
  117. package/dist/client/assets/{wrench-DzrU49ry.js → wrench-je4QOyG-.js} +1 -1
  118. package/dist/client/assets/x-fI9snvD3.js +1 -0
  119. package/dist/client/index.html +1 -1
  120. package/dist/{collectUint8StreamText-Cgz3T1YG.mjs → collectUint8StreamText-C2z5Y8tF.mjs} +509 -135
  121. package/dist/{collectUint8StreamText-CgTEDbi7.cjs → collectUint8StreamText-TCG6xW_P.cjs} +514 -134
  122. package/dist/{makeManagedServerProvider-D43I_B9P.mjs → makeManagedServerProvider-BXO8QvzC.mjs} +2 -2
  123. package/dist/{makeManagedServerProvider-DRMA8nAp.cjs → makeManagedServerProvider-DPFw9gV_.cjs} +1 -1
  124. package/package.json +1 -1
  125. package/dist/client/assets/AppearanceSettings-pPltzbuu.js +0 -1
  126. package/dist/client/assets/BranchToolbar.logic-BUrYeNec.js +0 -1
  127. package/dist/client/assets/ChatRightPanel-Cy2c02Dt.js +0 -188
  128. package/dist/client/assets/ChatThreadRouteView-C93RPP7s.js +0 -1
  129. package/dist/client/assets/CommandPaletteDialog-D6t0Mkkl.js +0 -1
  130. package/dist/client/assets/CompositeRoot-C5GNdZws.js +0 -1
  131. package/dist/client/assets/ConnectionsSettings-qYzLbX7_.js +0 -1
  132. package/dist/client/assets/DialogHandle-C1Oxda1b.js +0 -1
  133. package/dist/client/assets/DialogTitle-R_4ZQbHx.js +0 -1
  134. package/dist/client/assets/DialogTrigger-ChuIKLi7.js +0 -1
  135. package/dist/client/assets/DialogViewport-Dq_9hdYC.js +0 -1
  136. package/dist/client/assets/DraftChatThreadRouteView-BwDNEWLP.js +0 -1
  137. package/dist/client/assets/JetBrainsIcons-CZi1rQn9.js +0 -1
  138. package/dist/client/assets/KeybindingsSettings-CEqFMcaP.js +0 -7
  139. package/dist/client/assets/McpServersSettings-Co1o7_0g.js +0 -6
  140. package/dist/client/assets/NoActiveThreadState-5VSVCJBv.js +0 -1
  141. package/dist/client/assets/OpinionatedPluginsSettings-BnDPa2E2.js +0 -1
  142. package/dist/client/assets/ProjectFavicon-CtqYuFQF.js +0 -1
  143. package/dist/client/assets/ProvidersSettingsPanel-BwDIEOF4.js +0 -1
  144. package/dist/client/assets/QueryClientProvider-B5z3RyQ9.js +0 -1
  145. package/dist/client/assets/RootAppShell-CThrOBqP.js +0 -12
  146. package/dist/client/assets/SettingsDialog-C-vm2P1q.js +0 -2
  147. package/dist/client/assets/SourceControlSettings-oK-xLUFA.js +0 -1
  148. package/dist/client/assets/ThreadStatusIndicators-6ASnD4_d.js +0 -1
  149. package/dist/client/assets/ThreadWorkspacePanel-C3S7Fjib.js +0 -166
  150. package/dist/client/assets/arrow-up-DUD3DBES.js +0 -1
  151. package/dist/client/assets/codexUsageLimits-Mjd2rHmE.js +0 -1
  152. package/dist/client/assets/commandPaletteStore-oFMPKPmp.js +0 -1
  153. package/dist/client/assets/composerDraftStore-DTMZbmmF.js +0 -21
  154. package/dist/client/assets/desktopUpdateReactQuery-DdRc1zr8.js +0 -2
  155. package/dist/client/assets/empty-CFWSIvUd.js +0 -1
  156. package/dist/client/assets/environmentApi-4U60qRO5.js +0 -1
  157. package/dist/client/assets/kbd-Dgp27U1W.js +0 -1
  158. package/dist/client/assets/main-Da7Z4Ig1.css +0 -2
  159. package/dist/client/assets/main-YXLWCEbb.js +0 -9
  160. package/dist/client/assets/mutation-B8SILYi_.js +0 -1
  161. package/dist/client/assets/plus-F__wNuW-.js +0 -1
  162. package/dist/client/assets/providerDriverMeta-BIPPb2w0.js +0 -1
  163. package/dist/client/assets/providerIconUtils-C54pAs0t.js +0 -46
  164. package/dist/client/assets/rightPanelRouteSearch-DweDTgju.js +0 -1
  165. package/dist/client/assets/scroll-area-CZPNMSSG.js +0 -1
  166. package/dist/client/assets/separator-ZLn_GZKy.js +0 -1
  167. package/dist/client/assets/session-logic-DOD1qizY.js +0 -4
  168. package/dist/client/assets/settingsDialogStore-DJNXaaZ-.js +0 -1
  169. package/dist/client/assets/settingsLayout-BaSDLd6v.js +0 -1
  170. package/dist/client/assets/skeleton-IoKKnfW9.js +0 -1
  171. package/dist/client/assets/storeSelectors-BL-4Ncd3.js +0 -1
  172. package/dist/client/assets/threadRoutes-a4QytG8s.js +0 -1
  173. package/dist/client/assets/threadSelectionStore-CgsIp6vR.js +0 -1
  174. package/dist/client/assets/toast-L2eWWYjv.js +0 -1
  175. package/dist/client/assets/toggle-oOk0T_MY.js +0 -1
  176. package/dist/client/assets/useHandleNewThread-DVTiX8Lz.js +0 -1
  177. package/dist/client/assets/useLabelableId-yw8wMwvn.js +0 -1
  178. package/dist/client/assets/useNavigate-CvKQXZa7.js +0 -1
  179. package/dist/client/assets/useTheme-C7Ji7x06.js +0 -1
  180. package/dist/client/assets/x-BQzUKGMv.js +0 -1
  181. package/dist/{NodeSqliteClient-BXy61fAd.mjs → NodeSqliteClient-A1TEgwj_.mjs} +1 -1
  182. package/dist/{NodeSqliteClient-homCO8-6.cjs → NodeSqliteClient-B5aDHbNc.cjs} +2 -2
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ryco-cli
2
2
 
3
- Ryco is a minimal web GUI for coding agents. The CLI starts the Ryco server, serves the bundled web app, and connects it to local provider CLIs such as Codex, Claude, GitHub Copilot, OpenCode, and Cursor.
3
+ Ryco is a minimal web GUI for coding agents. The CLI starts the Ryco server, serves the bundled web app, and connects it to local provider runtimes such as Codex, Claude, GitHub Copilot, OpenCode, and Cursor.
4
4
 
5
5
  Ryco is early WIP. Expect bugs and breaking changes.
6
6
 
@@ -26,8 +26,9 @@ Install and authenticate at least one provider before using Ryco:
26
26
  - Codex: install the Codex CLI and run `codex login`
27
27
  - Claude: install Claude Code and run `claude auth login`
28
28
  - OpenCode: install OpenCode and run `opencode auth login`
29
+ - GitHub Copilot and Cursor: install/authenticate the provider CLI expected by the corresponding SDK/runtime, then verify live status in Settings
29
30
 
30
- Ryco discovers available providers from the machine running the CLI.
31
+ Ryco discovers available providers from the machine running the CLI. Provider binaries, custom homes, server URLs, per-instance environment variables, display names, and accent colors are configured in Settings.
31
32
 
32
33
  ## Usage
33
34
 
@@ -63,6 +64,8 @@ Common options:
63
64
  - `--mode web|desktop`: runtime mode
64
65
  - `--no-browser`: disable automatic browser opening
65
66
  - `--auto-bootstrap-project-from-cwd`: create a project for the current working directory on startup when missing
67
+ - `--tailscale-serve`: expose this backend over HTTPS on the Tailnet through Tailscale Serve
68
+ - `--log-websocket-events`: emit server-side WebSocket traffic logs for debugging
66
69
 
67
70
  Useful commands:
68
71
 
@@ -85,6 +88,51 @@ ryco auth session revoke <session-id>
85
88
 
86
89
  Run `ryco --help` or `ryco <command> --help` for the full command reference.
87
90
 
91
+ ## Testing
92
+
93
+ ### `WsTestClient` (websocket integration tests)
94
+
95
+ `src/test/WsTestClient.ts` is a small harness for server-side websocket RPC
96
+ integration tests. It replaces ad-hoc per-test socket wiring (`RpcClient.make` +
97
+ protocol layer + cookie/origin parsing) with a single scoped `connect()` plus a
98
+ few combinators. Connections are bound to the surrounding `Scope` (e.g.
99
+ `Effect.scoped`).
100
+
101
+ ```ts
102
+ import * as WsTestClient from "./test/WsTestClient.ts";
103
+
104
+ // `wsUrl` already carries auth (e.g. `?wsToken=...`), as produced by the test
105
+ // harness' `getWsServerUrl("/ws")`.
106
+ yield *
107
+ Effect.scoped(
108
+ Effect.gen(function* () {
109
+ const ws = yield* WsTestClient.connect(wsUrl);
110
+
111
+ // Request/response RPC:
112
+ const config = yield* ws.rpc(WS_METHODS.serverGetConfig, {});
113
+
114
+ // Wait for the lifecycle welcome event:
115
+ const welcome = yield* ws.awaitWelcome();
116
+
117
+ // Wait for the first push on a subscription matching a predicate:
118
+ const ready = yield* ws.awaitPush(
119
+ WS_METHODS.subscribeServerLifecycle,
120
+ (event) => event.type === "ready",
121
+ );
122
+
123
+ // Record an ordered push sequence and await N events:
124
+ const sequence = yield* ws.trackPushSequence(WS_METHODS.subscribeServerConfig);
125
+ const [snapshot, update] = yield* sequence.waitForCount(2);
126
+ }),
127
+ );
128
+ ```
129
+
130
+ `makeWsTestClientConnector(group)` builds the same surface for an arbitrary RPC
131
+ group, and `makeConnectedWsTestClient(client)` wraps an already-constructed RPC
132
+ client (used by `WsTestClient.test.ts` to unit-test the combinators without a
133
+ socket). See `src/test/WsTestClient.test.ts` and the migrated cases in
134
+ `src/server.test.ts` for examples.
135
+
88
136
  ## Links
89
137
 
90
138
  - Repository: https://github.com/sak0a/ryco
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-CgTEDbi7.cjs");
4
- const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DyPSXqm_.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-TCG6xW_P.cjs");
4
+ const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-_rg0mc1o.cjs");
5
5
  const require_bin = require("./bin.cjs");
6
6
  let effect = require("effect");
7
7
  //#region src/sourceControl/AzureDevOpsSourceControlProvider.ts
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Sn as SourceControlProviderError, wn as truncateSourceControlDetailContent } from "./collectUint8StreamText-Cgz3T1YG.mjs";
4
- import { p as sourceControlRefFromInput, t as azureDevOpsDiscovery, u as SourceControlProvider } from "./SourceControlProviderDiscoveryCatalog-DoDSpZoa.mjs";
5
- import { T as AzureDevOpsCli } from "./bin.mjs";
3
+ import { Cn as SourceControlProviderError, Tn as truncateSourceControlDetailContent } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
+ import { l as sourceControlRefFromInput, o as SourceControlProvider, t as azureDevOpsDiscovery } from "./SourceControlProviderDiscoveryCatalog-yMDer_Yh.mjs";
5
+ import { Yt as AzureDevOpsCli } from "./bin.mjs";
6
6
  import { DateTime, Effect, Layer, Option } from "effect";
7
7
  //#region src/sourceControl/AzureDevOpsSourceControlProvider.ts
8
8
  function providerError(operation, cause) {
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Sn as SourceControlProviderError, wn as truncateSourceControlDetailContent } from "./collectUint8StreamText-Cgz3T1YG.mjs";
4
- import { i as makeBitbucketDiscovery, p as sourceControlRefFromInput, u as SourceControlProvider } from "./SourceControlProviderDiscoveryCatalog-DoDSpZoa.mjs";
5
- import { w as BitbucketApi } from "./bin.mjs";
3
+ import { Cn as SourceControlProviderError, Tn as truncateSourceControlDetailContent } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
+ import { i as makeBitbucketDiscovery, l as sourceControlRefFromInput, o as SourceControlProvider } from "./SourceControlProviderDiscoveryCatalog-yMDer_Yh.mjs";
5
+ import { Jt as BitbucketApi } from "./bin.mjs";
6
6
  import { DateTime, Effect, Layer, Option } from "effect";
7
7
  //#region src/sourceControl/BitbucketSourceControlProvider.ts
8
8
  function providerError(operation, cause) {
@@ -116,6 +116,13 @@ const make = Effect.fn("makeBitbucketSourceControlProvider")(function* () {
116
116
  }).pipe(Effect.mapError((error) => providerError("createChangeRequest", error)));
117
117
  },
118
118
  getRepositoryCloneUrls: (input) => bitbucket.getRepositoryCloneUrls(input).pipe(Effect.mapError((error) => providerError("getRepositoryCloneUrls", error))),
119
+ searchRepositories: (input) => bitbucket.searchRepositories({
120
+ cwd: input.cwd,
121
+ ...input.context ? { context: input.context } : {},
122
+ ...input.query !== void 0 ? { query: input.query } : {},
123
+ ...input.limit !== void 0 ? { limit: input.limit } : {}
124
+ }).pipe(Effect.mapError((error) => providerError("searchRepositories", error))),
125
+ cloneAuthentication: (input) => bitbucket.cloneAuthentication(input).pipe(Effect.mapError((error) => providerError("cloneAuthentication", error))),
119
126
  createRepository: (input) => bitbucket.createRepository(input).pipe(Effect.mapError((error) => providerError("createRepository", error))),
120
127
  getDefaultBranch: (input) => bitbucket.getDefaultBranch({
121
128
  cwd: input.cwd,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-CgTEDbi7.cjs");
4
- const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DyPSXqm_.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-TCG6xW_P.cjs");
4
+ const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-_rg0mc1o.cjs");
5
5
  const require_bin = require("./bin.cjs");
6
6
  let effect = require("effect");
7
7
  //#region src/sourceControl/BitbucketSourceControlProvider.ts
@@ -116,6 +116,13 @@ const make = effect.Effect.fn("makeBitbucketSourceControlProvider")(function* ()
116
116
  }).pipe(effect.Effect.mapError((error) => providerError("createChangeRequest", error)));
117
117
  },
118
118
  getRepositoryCloneUrls: (input) => bitbucket.getRepositoryCloneUrls(input).pipe(effect.Effect.mapError((error) => providerError("getRepositoryCloneUrls", error))),
119
+ searchRepositories: (input) => bitbucket.searchRepositories({
120
+ cwd: input.cwd,
121
+ ...input.context ? { context: input.context } : {},
122
+ ...input.query !== void 0 ? { query: input.query } : {},
123
+ ...input.limit !== void 0 ? { limit: input.limit } : {}
124
+ }).pipe(effect.Effect.mapError((error) => providerError("searchRepositories", error))),
125
+ cloneAuthentication: (input) => bitbucket.cloneAuthentication(input).pipe(effect.Effect.mapError((error) => providerError("cloneAuthentication", error))),
119
126
  createRepository: (input) => bitbucket.createRepository(input).pipe(effect.Effect.mapError((error) => providerError("createRepository", error))),
120
127
  getDefaultBranch: (input) => bitbucket.getDefaultBranch({
121
128
  cwd: input.cwd,
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as PtyAdapter } from "./bin.mjs";
3
+ import { r as PtyAdapter } from "./bin.mjs";
4
4
  import { Effect, Layer } from "effect";
5
5
  //#region src/terminal/Layers/BunPTY.ts
6
6
  var BunPtyProcess = class {
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  const require_chunk = require("./chunk-jM1PLTSZ.cjs");
4
- const require_collectUint8StreamText = require("./collectUint8StreamText-CgTEDbi7.cjs");
5
- const require_Metrics = require("./Metrics-DNOriWhP.cjs");
4
+ const require_collectUint8StreamText = require("./collectUint8StreamText-TCG6xW_P.cjs");
5
+ const require_Metrics = require("./Metrics-CIW1QH7M.cjs");
6
6
  const require_bin = require("./bin.cjs");
7
- const require_makeManagedServerProvider = require("./makeManagedServerProvider-DRMA8nAp.cjs");
7
+ const require_makeManagedServerProvider = require("./makeManagedServerProvider-DPFw9gV_.cjs");
8
8
  const require_sourceControlContextFormatter = require("./sourceControlContextFormatter-BDZqn-4T.cjs");
9
9
  const require_ProjectCustomSystemPrompt = require("./ProjectCustomSystemPrompt-B8SUlNGa.cjs");
10
10
  const require_ProviderDriver = require("./ProviderDriver--rNeAi3B.cjs");
@@ -1235,13 +1235,19 @@ const makeClaudeAdapter = effect.Effect.fn("makeClaudeAdapter")(function* (claud
1235
1235
  }));
1236
1236
  const sessions = /* @__PURE__ */ new Map();
1237
1237
  const runtimeEventQueue = yield* effect.Queue.unbounded();
1238
+ const runtimeEventQueueMetrics = yield* require_bin.makeServerQueueMetrics({
1239
+ queue: "provider.adapter.runtimeEvents",
1240
+ component: "ClaudeAdapter",
1241
+ provider: PROVIDER,
1242
+ providerInstanceId: boundInstanceId
1243
+ });
1238
1244
  const nowIso = effect.Effect.map(effect.DateTime.now, effect.DateTime.formatIso);
1239
1245
  const nextEventId = effect.Effect.map(effect.Random.nextUUIDv4, (id) => require_collectUint8StreamText.EventId.make(id));
1240
1246
  const makeEventStamp = () => effect.Effect.all({
1241
1247
  eventId: nextEventId,
1242
1248
  createdAt: nowIso
1243
1249
  });
1244
- const offerRuntimeEvent = (event) => effect.Queue.offer(runtimeEventQueue, event).pipe(effect.Effect.asVoid);
1250
+ const offerRuntimeEvent = (event) => effect.Queue.offer(runtimeEventQueue, event).pipe(effect.Effect.andThen(runtimeEventQueueMetrics.recordEnqueued()), effect.Effect.asVoid);
1245
1251
  const logNativeSdkMessage = effect.Effect.fn("logNativeSdkMessage")(function* (context, message) {
1246
1252
  if (!nativeEventLogger) return;
1247
1253
  const observedAt = (/* @__PURE__ */ new Date()).toISOString();
@@ -2800,7 +2806,7 @@ const makeClaudeAdapter = effect.Effect.fn("makeClaudeAdapter")(function* (claud
2800
2806
  return context !== void 0 && !context.stopped;
2801
2807
  });
2802
2808
  const stopAll = () => effect.Effect.forEach(sessions, ([, context]) => stopSessionInternal(context, { emitExitEvent: true }), { discard: true });
2803
- yield* effect.Effect.addFinalizer(() => effect.Effect.forEach(sessions, ([, context]) => stopSessionInternal(context, { emitExitEvent: false }), { discard: true }).pipe(effect.Effect.tap(() => effect.Queue.shutdown(runtimeEventQueue))));
2809
+ yield* effect.Effect.addFinalizer(() => effect.Effect.forEach(sessions, ([, context]) => stopSessionInternal(context, { emitExitEvent: false }), { discard: true }).pipe(effect.Effect.tap(() => runtimeEventQueueMetrics.reset), effect.Effect.tap(() => effect.Queue.shutdown(runtimeEventQueue))));
2804
2810
  return {
2805
2811
  provider: PROVIDER,
2806
2812
  capabilities: { sessionModelSwitch: "in-session" },
@@ -2816,7 +2822,7 @@ const makeClaudeAdapter = effect.Effect.fn("makeClaudeAdapter")(function* (claud
2816
2822
  hasSession,
2817
2823
  stopAll,
2818
2824
  get streamEvents() {
2819
- return effect.Stream.fromQueue(runtimeEventQueue);
2825
+ return effect.Stream.fromQueue(runtimeEventQueue).pipe(effect.Stream.tap(() => runtimeEventQueueMetrics.recordDequeued()));
2820
2826
  }
2821
2827
  };
2822
2828
  });
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Fn as ProviderDriverKind, I as ClaudeSettings, In as ProviderInstanceId, Qn as ApprovalRequestId, _r as TurnId, ar as EventId, dr as ProviderItemId, fr as RuntimeItemId, hr as ThreadId, mr as RuntimeTaskId, pr as RuntimeRequestId, x as TextGenerationError } from "./collectUint8StreamText-Cgz3T1YG.mjs";
4
- import { L as sanitizeBranchFragment, R as sanitizeFeatureBranchName, U as ServerConfig } from "./Metrics-BCOc3Ml2.mjs";
5
- import { $ as ProviderAdapterSessionClosedError, B as DEFAULT_TIMEOUT_MS, E as enrichProviderSnapshotWithVersionAdvisory, F as checkRtkAvailability, G as detailFromResult, H as buildSelectOptionDescriptor, I as mergeProviderInstanceEnvironment, J as parseGenericCliVersion, K as isCommandMissingCause, M as resolveProviderMaintenanceCapabilitiesEffect, N as compareCliVersions, O as makePackageManagedProviderMaintenanceResolver, P as buildTokenReductionInstructions, Q as ProviderAdapterRequestError, U as buildServerProvider, V as buildBooleanOptionDescriptor, X as spawnAndCollect, Y as providerModelsFromSettings, Z as ProviderAdapterProcessError, an as applyClaudePromptEffortPrefix, cn as getModelSelectionStringOptionValue, dn as getProviderOptionDescriptors, et as ProviderAdapterSessionNotFoundError, h as makeEventNdjsonLogger, j as normalizeCommandPath, m as ProviderEventLoggers, mn as resolvePromptInjectedEffort, nt as ProviderDriverError, on as createModelCapabilities, ot as expandHomePath, rn as resolveAttachmentPath, sn as getModelSelectionBooleanOptionValue, tt as ProviderAdapterValidationError, un as getProviderOptionCurrentValue } from "./bin.mjs";
6
- import { a as buildIssueContentTitlePrompt, d as sanitizePrTitle, f as sanitizeThreadTitle, i as buildIssueContentPolishPrompt, l as normalizeCliError, n as buildBranchNamePrompt, o as buildPrContentPrompt, p as toJsonSchemaObject, r as buildCommitMessagePrompt, s as buildThreadTitlePrompt, t as makeManagedServerProvider, u as sanitizeCommitSubject } from "./makeManagedServerProvider-D43I_B9P.mjs";
3
+ import { $n as ApprovalRequestId, In as ProviderDriverKind, Ln as ProviderInstanceId, N as ClaudeSettings, fr as ProviderItemId, gr as ThreadId, hr as RuntimeTaskId, mr as RuntimeRequestId, or as EventId, pr as RuntimeItemId, v as TextGenerationError, vr as TurnId } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
+ import { U as sanitizeBranchFragment, W as sanitizeFeatureBranchName, Y as ServerConfig } from "./Metrics-6Xj17Se3.mjs";
5
+ import { C as DEFAULT_TIMEOUT_MS, E as buildServerProvider, F as ProviderAdapterRequestError, I as ProviderAdapterSessionClosedError, L as ProviderAdapterSessionNotFoundError, M as providerModelsFromSettings, N as spawnAndCollect, O as detailFromResult, P as ProviderAdapterProcessError, Qt as makePackageManagedProviderMaintenanceResolver, R as ProviderAdapterValidationError, T as buildSelectOptionDescriptor, U as expandHomePath, Xt as enrichProviderSnapshotWithVersionAdvisory, _ as buildTokenReductionInstructions, cn as getModelSelectionBooleanOptionValue, dn as getProviderOptionCurrentValue, fn as getProviderOptionDescriptors, g as makeEventNdjsonLogger, h as ProviderEventLoggers, hn as resolvePromptInjectedEffort, in as resolveAttachmentPath, j as parseGenericCliVersion, k as isCommandMissingCause, ln as getModelSelectionStringOptionValue, nn as resolveProviderMaintenanceCapabilitiesEffect, on as applyClaudePromptEffortPrefix, rn as compareCliVersions, sn as createModelCapabilities, t as makeServerQueueMetrics, tn as normalizeCommandPath, v as checkRtkAvailability, w as buildBooleanOptionDescriptor, y as mergeProviderInstanceEnvironment, z as ProviderDriverError } from "./bin.mjs";
6
+ import { a as buildIssueContentTitlePrompt, d as sanitizePrTitle, f as sanitizeThreadTitle, i as buildIssueContentPolishPrompt, l as normalizeCliError, n as buildBranchNamePrompt, o as buildPrContentPrompt, p as toJsonSchemaObject, r as buildCommitMessagePrompt, s as buildThreadTitlePrompt, t as makeManagedServerProvider, u as sanitizeCommitSubject } from "./makeManagedServerProvider-BXO8QvzC.mjs";
7
7
  import { t as formatSourceControlContextsForAgent } from "./sourceControlContextFormatter-DEwpnVAH.mjs";
8
8
  import { n as formatProjectCustomSystemPrompt } from "./ProjectCustomSystemPrompt-CS1nulhL.mjs";
9
9
  import { t as defaultProviderContinuationIdentity } from "./ProviderDriver-kCV60GKk.mjs";
@@ -1231,13 +1231,19 @@ const makeClaudeAdapter = Effect.fn("makeClaudeAdapter")(function* (claudeSettin
1231
1231
  }));
1232
1232
  const sessions = /* @__PURE__ */ new Map();
1233
1233
  const runtimeEventQueue = yield* Queue.unbounded();
1234
+ const runtimeEventQueueMetrics = yield* makeServerQueueMetrics({
1235
+ queue: "provider.adapter.runtimeEvents",
1236
+ component: "ClaudeAdapter",
1237
+ provider: PROVIDER,
1238
+ providerInstanceId: boundInstanceId
1239
+ });
1234
1240
  const nowIso = Effect.map(DateTime.now, DateTime.formatIso);
1235
1241
  const nextEventId = Effect.map(Random.nextUUIDv4, (id) => EventId.make(id));
1236
1242
  const makeEventStamp = () => Effect.all({
1237
1243
  eventId: nextEventId,
1238
1244
  createdAt: nowIso
1239
1245
  });
1240
- const offerRuntimeEvent = (event) => Queue.offer(runtimeEventQueue, event).pipe(Effect.asVoid);
1246
+ const offerRuntimeEvent = (event) => Queue.offer(runtimeEventQueue, event).pipe(Effect.andThen(runtimeEventQueueMetrics.recordEnqueued()), Effect.asVoid);
1241
1247
  const logNativeSdkMessage = Effect.fn("logNativeSdkMessage")(function* (context, message) {
1242
1248
  if (!nativeEventLogger) return;
1243
1249
  const observedAt = (/* @__PURE__ */ new Date()).toISOString();
@@ -2796,7 +2802,7 @@ const makeClaudeAdapter = Effect.fn("makeClaudeAdapter")(function* (claudeSettin
2796
2802
  return context !== void 0 && !context.stopped;
2797
2803
  });
2798
2804
  const stopAll = () => Effect.forEach(sessions, ([, context]) => stopSessionInternal(context, { emitExitEvent: true }), { discard: true });
2799
- yield* Effect.addFinalizer(() => Effect.forEach(sessions, ([, context]) => stopSessionInternal(context, { emitExitEvent: false }), { discard: true }).pipe(Effect.tap(() => Queue.shutdown(runtimeEventQueue))));
2805
+ yield* Effect.addFinalizer(() => Effect.forEach(sessions, ([, context]) => stopSessionInternal(context, { emitExitEvent: false }), { discard: true }).pipe(Effect.tap(() => runtimeEventQueueMetrics.reset), Effect.tap(() => Queue.shutdown(runtimeEventQueue))));
2800
2806
  return {
2801
2807
  provider: PROVIDER,
2802
2808
  capabilities: { sessionModelSwitch: "in-session" },
@@ -2812,7 +2818,7 @@ const makeClaudeAdapter = Effect.fn("makeClaudeAdapter")(function* (claudeSettin
2812
2818
  hasSession,
2813
2819
  stopAll,
2814
2820
  get streamEvents() {
2815
- return Stream.fromQueue(runtimeEventQueue);
2821
+ return Stream.fromQueue(runtimeEventQueue).pipe(Stream.tap(() => runtimeEventQueueMetrics.recordDequeued()));
2816
2822
  }
2817
2823
  };
2818
2824
  });
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Fn as ProviderDriverKind, Gt as ProviderApprovalDecision, In as ProviderInstanceId, It as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, L as CodexSettings, Qn as ApprovalRequestId, _r as TurnId, ar as EventId, dr as ProviderItemId, fr as RuntimeItemId, pr as RuntimeRequestId } from "./collectUint8StreamText-Cgz3T1YG.mjs";
4
- import { U as ServerConfig } from "./Metrics-BCOc3Ml2.mjs";
5
- import { $ as ProviderAdapterSessionClosedError, $t as V2TurnStartParams__CollaborationMode, At as V2FileChangeOutputDeltaNotification, Bt as V2ThreadNameUpdatedNotification, Ct as V2AccountRateLimitsUpdatedNotification, Dt as V2ConfigWarningNotification, E as enrichProviderSnapshotWithVersionAdvisory, Et as V2CommandExecutionOutputDeltaNotification, F as checkRtkAvailability, Ft as V2ModelReroutedNotification, Gt as V2ThreadRealtimeStartedNotification, Ht as V2ThreadRealtimeErrorNotification, I as mergeProviderInstanceEnvironment, It as V2PlanDeltaNotification, Jt as V2ThreadTokenUsageUpdatedNotification, Kt as V2ThreadStartedNotification, L as buildCodexInitializeParams, Lt as V2ReasoningSummaryTextDeltaNotification, M as resolveProviderMaintenanceCapabilitiesEffect, Mt as V2ItemStartedNotification, Nt as V2McpServerOauthLoginCompletedNotification, O as makePackageManagedProviderMaintenanceResolver, Ot as V2DeprecationNoticeNotification, P as buildTokenReductionInstructions, Pt as V2McpToolCallProgressNotification, Q as ProviderAdapterRequestError, Qt as V2TurnStartParams, R as checkCodexProviderStatus, Rt as V2ReasoningTextDeltaNotification, St as ToolRequestUserInputResponse, Tt as V2AgentMessageDeltaNotification, Ut as V2ThreadRealtimeItemAddedNotification, Vt as V2ThreadRealtimeClosedNotification, Wt as V2ThreadRealtimeOutputAudioDeltaNotification, Xt as V2TurnDiffUpdatedNotification, Yt as V2TurnCompletedNotification, Z as ProviderAdapterProcessError, Zt as V2TurnPlanUpdatedNotification, _t as ServerRequest__DynamicToolCallParams, at as resolveCodexHomeLayout, bt as ServerRequest__ToolRequestUserInputParams, cn as getModelSelectionStringOptionValue, ct as layerChildProcess, dt as CodexAppServerRequestError, en as V2TurnStartResponse, et as ProviderAdapterSessionNotFoundError, ft as CodexAppServerSpawnError, gt as ServerRequest__CommandExecutionRequestApprovalParams, h as makeEventNdjsonLogger, ht as ServerRequest__ApplyPatchApprovalParams, it as materializeCodexShadowHome, jt as V2ItemCompletedNotification, kt as V2ErrorNotification, lt as CodexAppServerProcessExitedError, m as ProviderEventLoggers, mt as SERVER_NOTIFICATION_METHODS, nn as V2WindowsWorldWritableWarningNotification, nt as ProviderDriverError, ot as expandHomePath, pn as normalizeModelSlug, pt as CodexAppServerTransportError, qt as V2ThreadStatusChangedNotification, rn as resolveAttachmentPath, rt as codexContinuationIdentity, sn as getModelSelectionBooleanOptionValue, st as CodexAppServerClient, tn as V2WindowsSandboxSetupCompletedNotification, tt as ProviderAdapterValidationError, ut as CodexAppServerProtocolParseError, vt as ServerRequest__ExecCommandApprovalParams, wt as V2AccountUpdatedNotification, xt as ToolRequestUserInputParams, yt as ServerRequest__FileChangeRequestApprovalParams, z as makePendingCodexProvider, zt as V2ServerRequestResolvedNotification } from "./bin.mjs";
6
- import { t as makeManagedServerProvider } from "./makeManagedServerProvider-D43I_B9P.mjs";
3
+ import { $n as ApprovalRequestId, Ht as ProviderApprovalDecision, In as ProviderDriverKind, Ln as ProviderInstanceId, Nt as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, P as CodexSettings, fr as ProviderItemId, mr as RuntimeRequestId, or as EventId, pr as RuntimeItemId, vr as TurnId } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
+ import { Y as ServerConfig } from "./Metrics-6Xj17Se3.mjs";
5
+ import { $ as ServerRequest__CommandExecutionRequestApprovalParams, At as V2ThreadStatusChangedNotification, B as codexContinuationIdentity, Ct as V2ThreadNameUpdatedNotification, Dt as V2ThreadRealtimeOutputAudioDeltaNotification, Et as V2ThreadRealtimeItemAddedNotification, F as ProviderAdapterRequestError, Ft as V2TurnStartParams, G as layerChildProcess, H as resolveCodexHomeLayout, I as ProviderAdapterSessionClosedError, It as V2TurnStartParams__CollaborationMode, J as CodexAppServerRequestError, K as CodexAppServerProcessExitedError, L as ProviderAdapterSessionNotFoundError, Lt as V2TurnStartResponse, Mt as V2TurnCompletedNotification, Nt as V2TurnDiffUpdatedNotification, Ot as V2ThreadRealtimeStartedNotification, P as ProviderAdapterProcessError, Pt as V2TurnPlanUpdatedNotification, Q as ServerRequest__ApplyPatchApprovalParams, Qt as makePackageManagedProviderMaintenanceResolver, R as ProviderAdapterValidationError, Rt as V2WindowsSandboxSetupCompletedNotification, S as makePendingCodexProvider, St as V2ServerRequestResolvedNotification, Tt as V2ThreadRealtimeErrorNotification, U as expandHomePath, V as materializeCodexShadowHome, W as CodexAppServerClient, X as CodexAppServerTransportError, Xt as enrichProviderSnapshotWithVersionAdvisory, Y as CodexAppServerSpawnError, Z as SERVER_NOTIFICATION_METHODS, _ as buildTokenReductionInstructions, _t as V2McpToolCallProgressNotification, at as ToolRequestUserInputResponse, b as buildCodexInitializeParams, bt as V2ReasoningSummaryTextDeltaNotification, cn as getModelSelectionBooleanOptionValue, ct as V2AgentMessageDeltaNotification, dt as V2DeprecationNoticeNotification, et as ServerRequest__DynamicToolCallParams, ft as V2ErrorNotification, g as makeEventNdjsonLogger, gt as V2McpServerOauthLoginCompletedNotification, h as ProviderEventLoggers, ht as V2ItemStartedNotification, in as resolveAttachmentPath, it as ToolRequestUserInputParams, jt as V2ThreadTokenUsageUpdatedNotification, kt as V2ThreadStartedNotification, ln as getModelSelectionStringOptionValue, lt as V2CommandExecutionOutputDeltaNotification, mn as normalizeModelSlug, mt as V2ItemCompletedNotification, nn as resolveProviderMaintenanceCapabilitiesEffect, nt as ServerRequest__FileChangeRequestApprovalParams, ot as V2AccountRateLimitsUpdatedNotification, pt as V2FileChangeOutputDeltaNotification, q as CodexAppServerProtocolParseError, rt as ServerRequest__ToolRequestUserInputParams, st as V2AccountUpdatedNotification, t as makeServerQueueMetrics, tt as ServerRequest__ExecCommandApprovalParams, ut as V2ConfigWarningNotification, v as checkRtkAvailability, vt as V2ModelReroutedNotification, wt as V2ThreadRealtimeClosedNotification, x as checkCodexProviderStatus, xt as V2ReasoningTextDeltaNotification, y as mergeProviderInstanceEnvironment, yt as V2PlanDeltaNotification, z as ProviderDriverError, zt as V2WindowsWorldWritableWarningNotification } from "./bin.mjs";
6
+ import { t as makeManagedServerProvider } from "./makeManagedServerProvider-BXO8QvzC.mjs";
7
7
  import { t as formatSourceControlContextsForAgent } from "./sourceControlContextFormatter-DEwpnVAH.mjs";
8
8
  import { t as appendProjectCustomSystemPrompt } from "./ProjectCustomSystemPrompt-CS1nulhL.mjs";
9
- import { t as makeCodexTextGeneration } from "./CodexTextGeneration-DV3LOkTX.mjs";
9
+ import { t as makeCodexTextGeneration } from "./CodexTextGeneration-BIKHl7E3.mjs";
10
10
  import { Deferred, Effect, Exit, Fiber, FileSystem, Layer, Queue, Random, Ref, Schema, Scope, Stream } from "effect";
11
11
  import { HttpClient } from "effect/unstable/http";
12
12
  import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
@@ -1662,6 +1662,12 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
1662
1662
  const nativeEventLogger = options?.nativeEventLogger ?? (options?.nativeEventLogPath !== void 0 ? yield* makeEventNdjsonLogger(options.nativeEventLogPath, { stream: "native" }) : void 0);
1663
1663
  const managedNativeEventLogger = options?.nativeEventLogger === void 0 ? nativeEventLogger : void 0;
1664
1664
  const runtimeEventQueue = yield* Queue.unbounded();
1665
+ const runtimeEventQueueMetrics = yield* makeServerQueueMetrics({
1666
+ queue: "provider.adapter.runtimeEvents",
1667
+ component: "CodexAdapter",
1668
+ provider: PROVIDER,
1669
+ providerInstanceId: boundInstanceId
1670
+ });
1665
1671
  const sessions = /* @__PURE__ */ new Map();
1666
1672
  const startSession = (input) => Effect.scoped(Effect.gen(function* () {
1667
1673
  if (input.provider !== void 0 && input.provider !== PROVIDER) return yield* new ProviderAdapterValidationError({
@@ -1709,6 +1715,7 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
1709
1715
  return;
1710
1716
  }
1711
1717
  yield* Queue.offerAll(runtimeEventQueue, runtimeEvents);
1718
+ yield* runtimeEventQueueMetrics.recordEnqueued(runtimeEvents.length);
1712
1719
  })).pipe(Effect.forkChild);
1713
1720
  const started = yield* runtime.start().pipe(Effect.mapError((cause) => new ProviderAdapterProcessError({
1714
1721
  provider: PROVIDER,
@@ -1875,7 +1882,7 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
1875
1882
  concurrency: 1,
1876
1883
  discard: true
1877
1884
  }).pipe(Effect.asVoid);
1878
- yield* Effect.acquireRelease(Effect.void, () => stopAll().pipe(Effect.andThen(Queue.shutdown(runtimeEventQueue)), Effect.andThen(managedNativeEventLogger?.close() ?? Effect.void), Effect.ignore));
1885
+ yield* Effect.acquireRelease(Effect.void, () => stopAll().pipe(Effect.andThen(runtimeEventQueueMetrics.reset), Effect.andThen(Queue.shutdown(runtimeEventQueue)), Effect.andThen(managedNativeEventLogger?.close() ?? Effect.void), Effect.ignore));
1879
1886
  return {
1880
1887
  provider: PROVIDER,
1881
1888
  capabilities: { sessionModelSwitch: "in-session" },
@@ -1891,7 +1898,7 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
1891
1898
  hasSession,
1892
1899
  stopAll,
1893
1900
  get streamEvents() {
1894
- return Stream.fromQueue(runtimeEventQueue);
1901
+ return Stream.fromQueue(runtimeEventQueue).pipe(Stream.tap(() => runtimeEventQueueMetrics.recordDequeued()));
1895
1902
  }
1896
1903
  };
1897
1904
  });
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  const require_chunk = require("./chunk-jM1PLTSZ.cjs");
4
- const require_collectUint8StreamText = require("./collectUint8StreamText-CgTEDbi7.cjs");
5
- const require_Metrics = require("./Metrics-DNOriWhP.cjs");
4
+ const require_collectUint8StreamText = require("./collectUint8StreamText-TCG6xW_P.cjs");
5
+ const require_Metrics = require("./Metrics-CIW1QH7M.cjs");
6
6
  const require_bin = require("./bin.cjs");
7
- const require_makeManagedServerProvider = require("./makeManagedServerProvider-DRMA8nAp.cjs");
7
+ const require_makeManagedServerProvider = require("./makeManagedServerProvider-DPFw9gV_.cjs");
8
8
  const require_sourceControlContextFormatter = require("./sourceControlContextFormatter-BDZqn-4T.cjs");
9
9
  const require_ProjectCustomSystemPrompt = require("./ProjectCustomSystemPrompt-B8SUlNGa.cjs");
10
- const require_CodexTextGeneration = require("./CodexTextGeneration-Cr97QFv_.cjs");
10
+ const require_CodexTextGeneration = require("./CodexTextGeneration-CHEgoANm.cjs");
11
11
  let effect = require("effect");
12
12
  let effect_unstable_http = require("effect/unstable/http");
13
13
  let effect_unstable_process = require("effect/unstable/process");
@@ -1664,6 +1664,12 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1664
1664
  const nativeEventLogger = options?.nativeEventLogger ?? (options?.nativeEventLogPath !== void 0 ? yield* require_bin.makeEventNdjsonLogger(options.nativeEventLogPath, { stream: "native" }) : void 0);
1665
1665
  const managedNativeEventLogger = options?.nativeEventLogger === void 0 ? nativeEventLogger : void 0;
1666
1666
  const runtimeEventQueue = yield* effect.Queue.unbounded();
1667
+ const runtimeEventQueueMetrics = yield* require_bin.makeServerQueueMetrics({
1668
+ queue: "provider.adapter.runtimeEvents",
1669
+ component: "CodexAdapter",
1670
+ provider: PROVIDER,
1671
+ providerInstanceId: boundInstanceId
1672
+ });
1667
1673
  const sessions = /* @__PURE__ */ new Map();
1668
1674
  const startSession = (input) => effect.Effect.scoped(effect.Effect.gen(function* () {
1669
1675
  if (input.provider !== void 0 && input.provider !== PROVIDER) return yield* new require_bin.ProviderAdapterValidationError({
@@ -1711,6 +1717,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1711
1717
  return;
1712
1718
  }
1713
1719
  yield* effect.Queue.offerAll(runtimeEventQueue, runtimeEvents);
1720
+ yield* runtimeEventQueueMetrics.recordEnqueued(runtimeEvents.length);
1714
1721
  })).pipe(effect.Effect.forkChild);
1715
1722
  const started = yield* runtime.start().pipe(effect.Effect.mapError((cause) => new require_bin.ProviderAdapterProcessError({
1716
1723
  provider: PROVIDER,
@@ -1877,7 +1884,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1877
1884
  concurrency: 1,
1878
1885
  discard: true
1879
1886
  }).pipe(effect.Effect.asVoid);
1880
- yield* effect.Effect.acquireRelease(effect.Effect.void, () => stopAll().pipe(effect.Effect.andThen(effect.Queue.shutdown(runtimeEventQueue)), effect.Effect.andThen(managedNativeEventLogger?.close() ?? effect.Effect.void), effect.Effect.ignore));
1887
+ yield* effect.Effect.acquireRelease(effect.Effect.void, () => stopAll().pipe(effect.Effect.andThen(runtimeEventQueueMetrics.reset), effect.Effect.andThen(effect.Queue.shutdown(runtimeEventQueue)), effect.Effect.andThen(managedNativeEventLogger?.close() ?? effect.Effect.void), effect.Effect.ignore));
1881
1888
  return {
1882
1889
  provider: PROVIDER,
1883
1890
  capabilities: { sessionModelSwitch: "in-session" },
@@ -1893,7 +1900,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1893
1900
  hasSession,
1894
1901
  stopAll,
1895
1902
  get streamEvents() {
1896
- return effect.Stream.fromQueue(runtimeEventQueue);
1903
+ return effect.Stream.fromQueue(runtimeEventQueue).pipe(effect.Stream.tap(() => runtimeEventQueueMetrics.recordDequeued()));
1897
1904
  }
1898
1905
  };
1899
1906
  });
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { x as TextGenerationError } from "./collectUint8StreamText-Cgz3T1YG.mjs";
4
- import { L as sanitizeBranchFragment, R as sanitizeFeatureBranchName, U as ServerConfig } from "./Metrics-BCOc3Ml2.mjs";
5
- import { cn as getModelSelectionStringOptionValue, ot as expandHomePath, rn as resolveAttachmentPath, sn as getModelSelectionBooleanOptionValue } from "./bin.mjs";
6
- import { a as buildIssueContentTitlePrompt, d as sanitizePrTitle, f as sanitizeThreadTitle, i as buildIssueContentPolishPrompt, l as normalizeCliError, n as buildBranchNamePrompt, o as buildPrContentPrompt, p as toJsonSchemaObject, r as buildCommitMessagePrompt, s as buildThreadTitlePrompt, u as sanitizeCommitSubject } from "./makeManagedServerProvider-D43I_B9P.mjs";
3
+ import { v as TextGenerationError } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
+ import { U as sanitizeBranchFragment, W as sanitizeFeatureBranchName, Y as ServerConfig } from "./Metrics-6Xj17Se3.mjs";
5
+ import { U as expandHomePath, cn as getModelSelectionBooleanOptionValue, in as resolveAttachmentPath, ln as getModelSelectionStringOptionValue } from "./bin.mjs";
6
+ import { a as buildIssueContentTitlePrompt, d as sanitizePrTitle, f as sanitizeThreadTitle, i as buildIssueContentPolishPrompt, l as normalizeCliError, n as buildBranchNamePrompt, o as buildPrContentPrompt, p as toJsonSchemaObject, r as buildCommitMessagePrompt, s as buildThreadTitlePrompt, u as sanitizeCommitSubject } from "./makeManagedServerProvider-BXO8QvzC.mjs";
7
7
  import { Effect, FileSystem, Option, Path, Random, Schema, Stream } from "effect";
8
8
  import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
9
9
  //#region src/textGeneration/CodexTextGeneration.ts
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-CgTEDbi7.cjs");
4
- const require_Metrics = require("./Metrics-DNOriWhP.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-TCG6xW_P.cjs");
4
+ const require_Metrics = require("./Metrics-CIW1QH7M.cjs");
5
5
  const require_bin = require("./bin.cjs");
6
- const require_makeManagedServerProvider = require("./makeManagedServerProvider-DRMA8nAp.cjs");
6
+ const require_makeManagedServerProvider = require("./makeManagedServerProvider-DPFw9gV_.cjs");
7
7
  let effect = require("effect");
8
8
  let effect_unstable_process = require("effect/unstable/process");
9
9
  //#region src/textGeneration/CodexTextGeneration.ts
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-CgTEDbi7.cjs");
4
- const require_Metrics = require("./Metrics-DNOriWhP.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-TCG6xW_P.cjs");
4
+ const require_Metrics = require("./Metrics-CIW1QH7M.cjs");
5
5
  const require_bin = require("./bin.cjs");
6
- const require_makeManagedServerProvider = require("./makeManagedServerProvider-DRMA8nAp.cjs");
6
+ const require_makeManagedServerProvider = require("./makeManagedServerProvider-DPFw9gV_.cjs");
7
7
  const require_ProviderDriver = require("./ProviderDriver--rNeAi3B.cjs");
8
- const require_CodexTextGeneration = require("./CodexTextGeneration-Cr97QFv_.cjs");
8
+ const require_CodexTextGeneration = require("./CodexTextGeneration-CHEgoANm.cjs");
9
9
  let effect = require("effect");
10
10
  let node_crypto = require("node:crypto");
11
11
  require("effect/unstable/process");
@@ -792,6 +792,12 @@ const makeCopilotAdapter = effect.Effect.fn("makeCopilotAdapter")(function* (cop
792
792
  const nativeEventLogger = options?.nativeEventLogger ?? (options?.nativeEventLogPath !== void 0 ? yield* require_bin.makeEventNdjsonLogger(options.nativeEventLogPath, { stream: "native" }) : void 0);
793
793
  const sessions = /* @__PURE__ */ new Map();
794
794
  const runtimeEventQueue = yield* effect.Queue.unbounded();
795
+ const runtimeEventQueueMetrics = yield* require_bin.makeServerQueueMetrics({
796
+ queue: "provider.adapter.runtimeEvents",
797
+ component: "CopilotAdapter",
798
+ provider: COPILOT_DRIVER_KIND,
799
+ providerInstanceId: instanceId
800
+ });
795
801
  const nextEventId = effect.Effect.map(effect.Random.nextUUIDv4, (id) => require_collectUint8StreamText.EventId.make(id));
796
802
  const makeEventStamp = () => effect.Effect.all({
797
803
  eventId: nextEventId,
@@ -804,7 +810,7 @@ const makeCopilotAdapter = effect.Effect.fn("makeCopilotAdapter")(function* (cop
804
810
  threadId
805
811
  }));
806
812
  };
807
- const emit = (events) => effect.Queue.offerAll(runtimeEventQueue, events).pipe(effect.Effect.asVoid);
813
+ const emit = (events) => effect.Queue.offerAll(runtimeEventQueue, events).pipe(effect.Effect.andThen(runtimeEventQueueMetrics.recordEnqueued(events.length)), effect.Effect.asVoid);
808
814
  const logNativeEvent = effect.Effect.fn("logCopilotNativeEvent")(function* (threadId, event) {
809
815
  if (!nativeEventLogger) return;
810
816
  yield* nativeEventLogger.write({
@@ -980,6 +986,7 @@ const makeCopilotAdapter = effect.Effect.fn("makeCopilotAdapter")(function* (cop
980
986
  requestId
981
987
  })]);
982
988
  });
989
+ const stopAll = makeStopAll(sessionDeps);
983
990
  return {
984
991
  provider: COPILOT_DRIVER_KIND,
985
992
  capabilities: { sessionModelSwitch: "in-session" },
@@ -993,9 +1000,9 @@ const makeCopilotAdapter = effect.Effect.fn("makeCopilotAdapter")(function* (cop
993
1000
  hasSession: makeHasSession(sessionDeps),
994
1001
  readThread: makeReadThread(sessionDeps),
995
1002
  rollbackThread: makeRollbackThread(),
996
- stopAll: makeStopAll(sessionDeps),
1003
+ stopAll: () => stopAll().pipe(effect.Effect.tap(() => runtimeEventQueueMetrics.reset)),
997
1004
  get streamEvents() {
998
- return effect.Stream.fromQueue(runtimeEventQueue);
1005
+ return effect.Stream.fromQueue(runtimeEventQueue).pipe(effect.Stream.tap(() => runtimeEventQueueMetrics.recordDequeued()));
999
1006
  }
1000
1007
  };
1001
1008
  });
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Fn as ProviderDriverKind, In as ProviderInstanceId, L as CodexSettings, Mn as DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER, R as CopilotSettings, _r as TurnId, ar as EventId, dr as ProviderItemId, fr as RuntimeItemId, pr as RuntimeRequestId, x as TextGenerationError } from "./collectUint8StreamText-Cgz3T1YG.mjs";
4
- import { U as ServerConfig } from "./Metrics-BCOc3Ml2.mjs";
5
- import { D as makeManualOnlyProviderMaintenanceCapabilities, H as buildSelectOptionDescriptor, I as mergeProviderInstanceEnvironment, K as isCommandMissingCause, Q as ProviderAdapterRequestError, U as buildServerProvider, Y as providerModelsFromSettings, Z as ProviderAdapterProcessError, cn as getModelSelectionStringOptionValue, et as ProviderAdapterSessionNotFoundError, fn as getProviderOptionStringSelectionValue, h as makeEventNdjsonLogger, in as resolveCommandPath, m as ProviderEventLoggers, nt as ProviderDriverError, on as createModelCapabilities, rn as resolveAttachmentPath, tt as ProviderAdapterValidationError } from "./bin.mjs";
6
- import { c as extractJsonObject, f as sanitizeThreadTitle, s as buildThreadTitlePrompt, t as makeManagedServerProvider } from "./makeManagedServerProvider-D43I_B9P.mjs";
3
+ import { F as CopilotSettings, In as ProviderDriverKind, Ln as ProviderInstanceId, Nn as DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER, P as CodexSettings, fr as ProviderItemId, mr as RuntimeRequestId, or as EventId, pr as RuntimeItemId, v as TextGenerationError, vr as TurnId } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
+ import { Y as ServerConfig } from "./Metrics-6Xj17Se3.mjs";
5
+ import { E as buildServerProvider, F as ProviderAdapterRequestError, L as ProviderAdapterSessionNotFoundError, M as providerModelsFromSettings, P as ProviderAdapterProcessError, R as ProviderAdapterValidationError, T as buildSelectOptionDescriptor, Zt as makeManualOnlyProviderMaintenanceCapabilities, an as resolveCommandPath, g as makeEventNdjsonLogger, h as ProviderEventLoggers, in as resolveAttachmentPath, k as isCommandMissingCause, ln as getModelSelectionStringOptionValue, pn as getProviderOptionStringSelectionValue, sn as createModelCapabilities, t as makeServerQueueMetrics, y as mergeProviderInstanceEnvironment, z as ProviderDriverError } from "./bin.mjs";
6
+ import { c as extractJsonObject, f as sanitizeThreadTitle, s as buildThreadTitlePrompt, t as makeManagedServerProvider } from "./makeManagedServerProvider-BXO8QvzC.mjs";
7
7
  import { t as defaultProviderContinuationIdentity } from "./ProviderDriver-kCV60GKk.mjs";
8
- import { t as makeCodexTextGeneration } from "./CodexTextGeneration-DV3LOkTX.mjs";
8
+ import { t as makeCodexTextGeneration } from "./CodexTextGeneration-BIKHl7E3.mjs";
9
9
  import { Effect, Queue, Random, Result, Schema, Stream } from "effect";
10
10
  import { randomUUID } from "node:crypto";
11
11
  import "effect/unstable/process";
@@ -792,6 +792,12 @@ const makeCopilotAdapter = Effect.fn("makeCopilotAdapter")(function* (copilotSet
792
792
  const nativeEventLogger = options?.nativeEventLogger ?? (options?.nativeEventLogPath !== void 0 ? yield* makeEventNdjsonLogger(options.nativeEventLogPath, { stream: "native" }) : void 0);
793
793
  const sessions = /* @__PURE__ */ new Map();
794
794
  const runtimeEventQueue = yield* Queue.unbounded();
795
+ const runtimeEventQueueMetrics = yield* makeServerQueueMetrics({
796
+ queue: "provider.adapter.runtimeEvents",
797
+ component: "CopilotAdapter",
798
+ provider: COPILOT_DRIVER_KIND,
799
+ providerInstanceId: instanceId
800
+ });
795
801
  const nextEventId = Effect.map(Random.nextUUIDv4, (id) => EventId.make(id));
796
802
  const makeEventStamp = () => Effect.all({
797
803
  eventId: nextEventId,
@@ -804,7 +810,7 @@ const makeCopilotAdapter = Effect.fn("makeCopilotAdapter")(function* (copilotSet
804
810
  threadId
805
811
  }));
806
812
  };
807
- const emit = (events) => Queue.offerAll(runtimeEventQueue, events).pipe(Effect.asVoid);
813
+ const emit = (events) => Queue.offerAll(runtimeEventQueue, events).pipe(Effect.andThen(runtimeEventQueueMetrics.recordEnqueued(events.length)), Effect.asVoid);
808
814
  const logNativeEvent = Effect.fn("logCopilotNativeEvent")(function* (threadId, event) {
809
815
  if (!nativeEventLogger) return;
810
816
  yield* nativeEventLogger.write({
@@ -980,6 +986,7 @@ const makeCopilotAdapter = Effect.fn("makeCopilotAdapter")(function* (copilotSet
980
986
  requestId
981
987
  })]);
982
988
  });
989
+ const stopAll = makeStopAll(sessionDeps);
983
990
  return {
984
991
  provider: COPILOT_DRIVER_KIND,
985
992
  capabilities: { sessionModelSwitch: "in-session" },
@@ -993,9 +1000,9 @@ const makeCopilotAdapter = Effect.fn("makeCopilotAdapter")(function* (copilotSet
993
1000
  hasSession: makeHasSession(sessionDeps),
994
1001
  readThread: makeReadThread(sessionDeps),
995
1002
  rollbackThread: makeRollbackThread(),
996
- stopAll: makeStopAll(sessionDeps),
1003
+ stopAll: () => stopAll().pipe(Effect.tap(() => runtimeEventQueueMetrics.reset)),
997
1004
  get streamEvents() {
998
- return Stream.fromQueue(runtimeEventQueue);
1005
+ return Stream.fromQueue(runtimeEventQueue).pipe(Stream.tap(() => runtimeEventQueueMetrics.recordDequeued()));
999
1006
  }
1000
1007
  };
1001
1008
  });
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Fn as ProviderDriverKind, In as ProviderInstanceId, Qn as ApprovalRequestId, _r as TurnId, ar as EventId, fr as RuntimeItemId, pr as RuntimeRequestId, x as TextGenerationError, z as CursorSettings } from "./collectUint8StreamText-Cgz3T1YG.mjs";
4
- import { L as sanitizeBranchFragment, R as sanitizeFeatureBranchName, U as ServerConfig } from "./Metrics-BCOc3Ml2.mjs";
5
- import { $ as ProviderAdapterSessionClosedError, A as makeStaticProviderMaintenanceResolver, E as enrichProviderSnapshotWithVersionAdvisory, H as buildSelectOptionDescriptor, I as mergeProviderInstanceEnvironment, K as isCommandMissingCause, M as resolveProviderMaintenanceCapabilitiesEffect, Q as ProviderAdapterRequestError, U as buildServerProvider, V as buildBooleanOptionDescriptor, W as collectStreamAsString, Y as providerModelsFromSettings, Z as ProviderAdapterProcessError, et as ProviderAdapterSessionNotFoundError, fn as getProviderOptionStringSelectionValue, h as makeEventNdjsonLogger, k as makeProviderMaintenanceCapabilities, ln as getProviderOptionBooleanSelectionValue, m as ProviderEventLoggers, nt as ProviderDriverError, on as createModelCapabilities, rn as resolveAttachmentPath, tt as ProviderAdapterValidationError } from "./bin.mjs";
6
- import { a as buildIssueContentTitlePrompt, c as extractJsonObject, d as sanitizePrTitle, f as sanitizeThreadTitle, i as buildIssueContentPolishPrompt, n as buildBranchNamePrompt, o as buildPrContentPrompt, r as buildCommitMessagePrompt, s as buildThreadTitlePrompt, t as makeManagedServerProvider, u as sanitizeCommitSubject } from "./makeManagedServerProvider-D43I_B9P.mjs";
3
+ import { $n as ApprovalRequestId, I as CursorSettings, In as ProviderDriverKind, Ln as ProviderInstanceId, mr as RuntimeRequestId, or as EventId, pr as RuntimeItemId, v as TextGenerationError, vr as TurnId } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
+ import { U as sanitizeBranchFragment, W as sanitizeFeatureBranchName, Y as ServerConfig } from "./Metrics-6Xj17Se3.mjs";
5
+ import { $t as makeProviderMaintenanceCapabilities, D as collectStreamAsString, E as buildServerProvider, F as ProviderAdapterRequestError, I as ProviderAdapterSessionClosedError, L as ProviderAdapterSessionNotFoundError, M as providerModelsFromSettings, P as ProviderAdapterProcessError, R as ProviderAdapterValidationError, T as buildSelectOptionDescriptor, Xt as enrichProviderSnapshotWithVersionAdvisory, en as makeStaticProviderMaintenanceResolver, g as makeEventNdjsonLogger, h as ProviderEventLoggers, in as resolveAttachmentPath, k as isCommandMissingCause, nn as resolveProviderMaintenanceCapabilitiesEffect, pn as getProviderOptionStringSelectionValue, sn as createModelCapabilities, un as getProviderOptionBooleanSelectionValue, w as buildBooleanOptionDescriptor, y as mergeProviderInstanceEnvironment, z as ProviderDriverError } from "./bin.mjs";
6
+ import { a as buildIssueContentTitlePrompt, c as extractJsonObject, d as sanitizePrTitle, f as sanitizeThreadTitle, i as buildIssueContentPolishPrompt, n as buildBranchNamePrompt, o as buildPrContentPrompt, r as buildCommitMessagePrompt, s as buildThreadTitlePrompt, t as makeManagedServerProvider, u as sanitizeCommitSubject } from "./makeManagedServerProvider-BXO8QvzC.mjs";
7
7
  import { t as defaultProviderContinuationIdentity } from "./ProviderDriver-kCV60GKk.mjs";
8
8
  import * as Effect$1 from "effect/Effect";
9
9
  import * as Layer$1 from "effect/Layer";
@@ -15,10 +15,10 @@ import { HttpClient } from "effect/unstable/http";
15
15
  import * as nodeOs from "node:os";
16
16
  import * as nodePath from "node:path";
17
17
  import "effect/unstable/rpc";
18
+ import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
18
19
  import * as Context$1 from "effect/Context";
19
20
  import "effect/Scope";
20
21
  import * as Stdio from "effect/Stdio";
21
- import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
22
22
  import "effect/Cause";
23
23
  import * as Deferred$1 from "effect/Deferred";
24
24
  import * as Queue$1 from "effect/Queue";